3 lines
1.7 MiB
Plaintext
3 lines
1.7 MiB
Plaintext
/*! For license information please see main.be9bfbf6.js.LICENSE.txt */
|
|
(()=>{var e={8210(e,t,n){var r;!function(){"use strict";var i,o=1e9,l={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},s=!0,a="[DecimalError] ",c=a+"Invalid argument: ",d=a+"Exponent out of range: ",u=Math.floor,h=Math.pow,p=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,f=1e7,g=9007199254740991,m=u(1286742750677284.5),y={};function v(e,t){var n,r,i,o,l,a,c,d,u=e.constructor,h=u.precision;if(!e.s||!t.s)return t.s||(t=new u(e)),s?T(t,h):t;if(c=e.d,d=t.d,l=e.e,i=t.e,c=c.slice(),o=l-i){for(o<0?(r=c,o=-o,a=d.length):(r=d,i=l,a=c.length),o>(a=(l=Math.ceil(h/7))>a?l+1:a+1)&&(o=a,r.length=1),r.reverse();o--;)r.push(0);r.reverse()}for((a=c.length)-(o=d.length)<0&&(o=a,r=d,d=c,c=r),n=0;o;)n=(c[--o]=c[o]+d[o]+n)/f|0,c[o]%=f;for(n&&(c.unshift(n),++i),a=c.length;0==c[--a];)c.pop();return t.d=c,t.e=i,s?T(t,h):t}function x(e,t,n){if(e!==~~e||e<t||e>n)throw Error(c+e)}function b(e){var t,n,r,i=e.length-1,o="",l=e[0];if(i>0){for(o+=l,t=1;t<i;t++)(n=7-(r=e[t]+"").length)&&(o+=_(n)),o+=r;(n=7-(r=(l=e[t])+"").length)&&(o+=_(n))}else if(0===l)return"0";for(;l%10===0;)l/=10;return o+l}y.absoluteValue=y.abs=function(){var e=new this.constructor(this);return e.s&&(e.s=1),e},y.comparedTo=y.cmp=function(e){var t,n,r,i,o=this;if(e=new o.constructor(e),o.s!==e.s)return o.s||-e.s;if(o.e!==e.e)return o.e>e.e^o.s<0?1:-1;for(t=0,n=(r=o.d.length)<(i=e.d.length)?r:i;t<n;++t)if(o.d[t]!==e.d[t])return o.d[t]>e.d[t]^o.s<0?1:-1;return r===i?0:r>i^o.s<0?1:-1},y.decimalPlaces=y.dp=function(){var e=this,t=e.d.length-1,n=7*(t-e.e);if(t=e.d[t])for(;t%10==0;t/=10)n--;return n<0?0:n},y.dividedBy=y.div=function(e){return w(this,new this.constructor(e))},y.dividedToIntegerBy=y.idiv=function(e){var t=this.constructor;return T(w(this,new t(e),0,1),t.precision)},y.equals=y.eq=function(e){return!this.cmp(e)},y.exponent=function(){return j(this)},y.greaterThan=y.gt=function(e){return this.cmp(e)>0},y.greaterThanOrEqualTo=y.gte=function(e){return this.cmp(e)>=0},y.isInteger=y.isint=function(){return this.e>this.d.length-2},y.isNegative=y.isneg=function(){return this.s<0},y.isPositive=y.ispos=function(){return this.s>0},y.isZero=function(){return 0===this.s},y.lessThan=y.lt=function(e){return this.cmp(e)<0},y.lessThanOrEqualTo=y.lte=function(e){return this.cmp(e)<1},y.logarithm=y.log=function(e){var t,n=this,r=n.constructor,o=r.precision,l=o+5;if(void 0===e)e=new r(10);else if((e=new r(e)).s<1||e.eq(i))throw Error(a+"NaN");if(n.s<1)throw Error(a+(n.s?"NaN":"-Infinity"));return n.eq(i)?new r(0):(s=!1,t=w(E(n,l),E(e,l),l),s=!0,T(t,o))},y.minus=y.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?M(t,e):v(t,(e.s=-e.s,e))},y.modulo=y.mod=function(e){var t,n=this,r=n.constructor,i=r.precision;if(!(e=new r(e)).s)throw Error(a+"NaN");return n.s?(s=!1,t=w(n,e,0,1).times(e),s=!0,n.minus(t)):T(new r(n),i)},y.naturalExponential=y.exp=function(){return S(this)},y.naturalLogarithm=y.ln=function(){return E(this)},y.negated=y.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e},y.plus=y.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?v(t,e):M(t,(e.s=-e.s,e))},y.precision=y.sd=function(e){var t,n,r,i=this;if(void 0!==e&&e!==!!e&&1!==e&&0!==e)throw Error(c+e);if(t=j(i)+1,n=7*(r=i.d.length-1)+1,r=i.d[r]){for(;r%10==0;r/=10)n--;for(r=i.d[0];r>=10;r/=10)n++}return e&&t>n?t:n},y.squareRoot=y.sqrt=function(){var e,t,n,r,i,o,l,c=this,d=c.constructor;if(c.s<1){if(!c.s)return new d(0);throw Error(a+"NaN")}for(e=j(c),s=!1,0==(i=Math.sqrt(+c))||i==1/0?(((t=b(c.d)).length+e)%2==0&&(t+="0"),i=Math.sqrt(t),e=u((e+1)/2)-(e<0||e%2),r=new d(t=i==1/0?"5e"+e:(t=i.toExponential()).slice(0,t.indexOf("e")+1)+e)):r=new d(i.toString()),i=l=(n=d.precision)+3;;)if(r=(o=r).plus(w(c,o,l+2)).times(.5),b(o.d).slice(0,l)===(t=b(r.d)).slice(0,l)){if(t=t.slice(l-3,l+1),i==l&&"4999"==t){if(T(o,n+1,0),o.times(o).eq(c)){r=o;break}}else if("9999"!=t)break;l+=4}return s=!0,T(r,n)},y.times=y.mul=function(e){var t,n,r,i,o,l,a,c,d,u=this,h=u.constructor,p=u.d,g=(e=new h(e)).d;if(!u.s||!e.s)return new h(0);for(e.s*=u.s,n=u.e+e.e,(c=p.length)<(d=g.length)&&(o=p,p=g,g=o,l=c,c=d,d=l),o=[],r=l=c+d;r--;)o.push(0);for(r=d;--r>=0;){for(t=0,i=c+r;i>r;)a=o[i]+g[r]*p[i-r-1]+t,o[i--]=a%f|0,t=a/f|0;o[i]=(o[i]+t)%f|0}for(;!o[--l];)o.pop();return t?++n:o.shift(),e.d=o,e.e=n,s?T(e,h.precision):e},y.toDecimalPlaces=y.todp=function(e,t){var n=this,r=n.constructor;return n=new r(n),void 0===e?n:(x(e,0,o),void 0===t?t=r.rounding:x(t,0,8),T(n,e+j(n)+1,t))},y.toExponential=function(e,t){var n,r=this,i=r.constructor;return void 0===e?n=O(r,!0):(x(e,0,o),void 0===t?t=i.rounding:x(t,0,8),n=O(r=T(new i(r),e+1,t),!0,e+1)),n},y.toFixed=function(e,t){var n,r,i=this,l=i.constructor;return void 0===e?O(i):(x(e,0,o),void 0===t?t=l.rounding:x(t,0,8),n=O((r=T(new l(i),e+j(i)+1,t)).abs(),!1,e+j(r)+1),i.isneg()&&!i.isZero()?"-"+n:n)},y.toInteger=y.toint=function(){var e=this,t=e.constructor;return T(new t(e),j(e)+1,t.rounding)},y.toNumber=function(){return+this},y.toPower=y.pow=function(e){var t,n,r,o,l,c,d=this,h=d.constructor,p=+(e=new h(e));if(!e.s)return new h(i);if(!(d=new h(d)).s){if(e.s<1)throw Error(a+"Infinity");return d}if(d.eq(i))return d;if(r=h.precision,e.eq(i))return T(d,r);if(c=(t=e.e)>=(n=e.d.length-1),l=d.s,c){if((n=p<0?-p:p)<=g){for(o=new h(i),t=Math.ceil(r/7+4),s=!1;n%2&&A((o=o.times(d)).d,t),0!==(n=u(n/2));)A((d=d.times(d)).d,t);return s=!0,e.s<0?new h(i).div(o):T(o,r)}}else if(l<0)throw Error(a+"NaN");return l=l<0&&1&e.d[Math.max(t,n)]?-1:1,d.s=1,s=!1,o=e.times(E(d,r+12)),s=!0,(o=S(o)).s=l,o},y.toPrecision=function(e,t){var n,r,i=this,l=i.constructor;return void 0===e?r=O(i,(n=j(i))<=l.toExpNeg||n>=l.toExpPos):(x(e,1,o),void 0===t?t=l.rounding:x(t,0,8),r=O(i=T(new l(i),e,t),e<=(n=j(i))||n<=l.toExpNeg,e)),r},y.toSignificantDigits=y.tosd=function(e,t){var n=this.constructor;return void 0===e?(e=n.precision,t=n.rounding):(x(e,1,o),void 0===t?t=n.rounding:x(t,0,8)),T(new n(this),e,t)},y.toString=y.valueOf=y.val=y.toJSON=function(){var e=this,t=j(e),n=e.constructor;return O(e,t<=n.toExpNeg||t>=n.toExpPos)};var w=function(){function e(e,t){var n,r=0,i=e.length;for(e=e.slice();i--;)n=e[i]*t+r,e[i]=n%f|0,r=n/f|0;return r&&e.unshift(r),e}function t(e,t,n,r){var i,o;if(n!=r)o=n>r?1:-1;else for(i=o=0;i<n;i++)if(e[i]!=t[i]){o=e[i]>t[i]?1:-1;break}return o}function n(e,t,n){for(var r=0;n--;)e[n]-=r,r=e[n]<t[n]?1:0,e[n]=r*f+e[n]-t[n];for(;!e[0]&&e.length>1;)e.shift()}return function(r,i,o,l){var s,c,d,u,h,p,g,m,y,v,x,b,w,S,k,_,E,C,M=r.constructor,O=r.s==i.s?1:-1,A=r.d,P=i.d;if(!r.s)return new M(r);if(!i.s)throw Error(a+"Division by zero");for(c=r.e-i.e,E=P.length,k=A.length,m=(g=new M(O)).d=[],d=0;P[d]==(A[d]||0);)++d;if(P[d]>(A[d]||0)&&--c,(b=null==o?o=M.precision:l?o+(j(r)-j(i))+1:o)<0)return new M(0);if(b=b/7+2|0,d=0,1==E)for(u=0,P=P[0],b++;(d<k||u)&&b--;d++)w=u*f+(A[d]||0),m[d]=w/P|0,u=w%P|0;else{for((u=f/(P[0]+1)|0)>1&&(P=e(P,u),A=e(A,u),E=P.length,k=A.length),S=E,v=(y=A.slice(0,E)).length;v<E;)y[v++]=0;(C=P.slice()).unshift(0),_=P[0],P[1]>=f/2&&++_;do{u=0,(s=t(P,y,E,v))<0?(x=y[0],E!=v&&(x=x*f+(y[1]||0)),(u=x/_|0)>1?(u>=f&&(u=f-1),1==(s=t(h=e(P,u),y,p=h.length,v=y.length))&&(u--,n(h,E<p?C:P,p))):(0==u&&(s=u=1),h=P.slice()),(p=h.length)<v&&h.unshift(0),n(y,h,v),-1==s&&(s=t(P,y,E,v=y.length))<1&&(u++,n(y,E<v?C:P,v)),v=y.length):0===s&&(u++,y=[0]),m[d++]=u,s&&y[0]?y[v++]=A[S]||0:(y=[A[S]],v=1)}while((S++<k||void 0!==y[0])&&b--)}return m[0]||m.shift(),g.e=c,T(g,l?o+j(g)+1:o)}}();function S(e,t){var n,r,o,l,a,c=0,u=0,p=e.constructor,f=p.precision;if(j(e)>16)throw Error(d+j(e));if(!e.s)return new p(i);for(null==t?(s=!1,a=f):a=t,l=new p(.03125);e.abs().gte(.1);)e=e.times(l),u+=5;for(a+=Math.log(h(2,u))/Math.LN10*2+5|0,n=r=o=new p(i),p.precision=a;;){if(r=T(r.times(e),a),n=n.times(++c),b((l=o.plus(w(r,n,a))).d).slice(0,a)===b(o.d).slice(0,a)){for(;u--;)o=T(o.times(o),a);return p.precision=f,null==t?(s=!0,T(o,f)):o}o=l}}function j(e){for(var t=7*e.e,n=e.d[0];n>=10;n/=10)t++;return t}function k(e,t,n){if(t>e.LN10.sd())throw s=!0,n&&(e.precision=n),Error(a+"LN10 precision limit exceeded");return T(new e(e.LN10),t)}function _(e){for(var t="";e--;)t+="0";return t}function E(e,t){var n,r,o,l,c,d,u,h,p,f=1,g=e,m=g.d,y=g.constructor,v=y.precision;if(g.s<1)throw Error(a+(g.s?"NaN":"-Infinity"));if(g.eq(i))return new y(0);if(null==t?(s=!1,h=v):h=t,g.eq(10))return null==t&&(s=!0),k(y,h);if(h+=10,y.precision=h,r=(n=b(m)).charAt(0),l=j(g),!(Math.abs(l)<15e14))return u=k(y,h+2,v).times(l+""),g=E(new y(r+"."+n.slice(1)),h-10).plus(u),y.precision=v,null==t?(s=!0,T(g,v)):g;for(;r<7&&1!=r||1==r&&n.charAt(1)>3;)r=(n=b((g=g.times(e)).d)).charAt(0),f++;for(l=j(g),r>1?(g=new y("0."+n),l++):g=new y(r+"."+n.slice(1)),d=c=g=w(g.minus(i),g.plus(i),h),p=T(g.times(g),h),o=3;;){if(c=T(c.times(p),h),b((u=d.plus(w(c,new y(o),h))).d).slice(0,h)===b(d.d).slice(0,h))return d=d.times(2),0!==l&&(d=d.plus(k(y,h+2,v).times(l+""))),d=w(d,new y(f),h),y.precision=v,null==t?(s=!0,T(d,v)):d;d=u,o+=2}}function C(e,t){var n,r,i;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;48===t.charCodeAt(r);)++r;for(i=t.length;48===t.charCodeAt(i-1);)--i;if(t=t.slice(r,i)){if(i-=r,n=n-r-1,e.e=u(n/7),e.d=[],r=(n+1)%7,n<0&&(r+=7),r<i){for(r&&e.d.push(+t.slice(0,r)),i-=7;r<i;)e.d.push(+t.slice(r,r+=7));r=7-(t=t.slice(r)).length}else r-=i;for(;r--;)t+="0";if(e.d.push(+t),s&&(e.e>m||e.e<-m))throw Error(d+n)}else e.s=0,e.e=0,e.d=[0];return e}function T(e,t,n){var r,i,o,l,a,c,p,g,y=e.d;for(l=1,o=y[0];o>=10;o/=10)l++;if((r=t-l)<0)r+=7,i=t,p=y[g=0];else{if((g=Math.ceil((r+1)/7))>=(o=y.length))return e;for(p=o=y[g],l=1;o>=10;o/=10)l++;i=(r%=7)-7+l}if(void 0!==n&&(a=p/(o=h(10,l-i-1))%10|0,c=t<0||void 0!==y[g+1]||p%o,c=n<4?(a||c)&&(0==n||n==(e.s<0?3:2)):a>5||5==a&&(4==n||c||6==n&&(r>0?i>0?p/h(10,l-i):0:y[g-1])%10&1||n==(e.s<0?8:7))),t<1||!y[0])return c?(o=j(e),y.length=1,t=t-o-1,y[0]=h(10,(7-t%7)%7),e.e=u(-t/7)||0):(y.length=1,y[0]=e.e=e.s=0),e;if(0==r?(y.length=g,o=1,g--):(y.length=g+1,o=h(10,7-r),y[g]=i>0?(p/h(10,l-i)%h(10,i)|0)*o:0),c)for(;;){if(0==g){(y[0]+=o)==f&&(y[0]=1,++e.e);break}if(y[g]+=o,y[g]!=f)break;y[g--]=0,o=1}for(r=y.length;0===y[--r];)y.pop();if(s&&(e.e>m||e.e<-m))throw Error(d+j(e));return e}function M(e,t){var n,r,i,o,l,a,c,d,u,h,p=e.constructor,g=p.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new p(e),s?T(t,g):t;if(c=e.d,h=t.d,r=t.e,d=e.e,c=c.slice(),l=d-r){for((u=l<0)?(n=c,l=-l,a=h.length):(n=h,r=d,a=c.length),l>(i=Math.max(Math.ceil(g/7),a)+2)&&(l=i,n.length=1),n.reverse(),i=l;i--;)n.push(0);n.reverse()}else{for((u=(i=c.length)<(a=h.length))&&(a=i),i=0;i<a;i++)if(c[i]!=h[i]){u=c[i]<h[i];break}l=0}for(u&&(n=c,c=h,h=n,t.s=-t.s),a=c.length,i=h.length-a;i>0;--i)c[a++]=0;for(i=h.length;i>l;){if(c[--i]<h[i]){for(o=i;o&&0===c[--o];)c[o]=f-1;--c[o],c[i]+=f}c[i]-=h[i]}for(;0===c[--a];)c.pop();for(;0===c[0];c.shift())--r;return c[0]?(t.d=c,t.e=r,s?T(t,g):t):new p(0)}function O(e,t,n){var r,i=j(e),o=b(e.d),l=o.length;return t?(n&&(r=n-l)>0?o=o.charAt(0)+"."+o.slice(1)+_(r):l>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(i<0?"e":"e+")+i):i<0?(o="0."+_(-i-1)+o,n&&(r=n-l)>0&&(o+=_(r))):i>=l?(o+=_(i+1-l),n&&(r=n-i-1)>0&&(o=o+"."+_(r))):((r=i+1)<l&&(o=o.slice(0,r)+"."+o.slice(r)),n&&(r=n-l)>0&&(i+1===l&&(o+="."),o+=_(r))),e.s<0?"-"+o:o}function A(e,t){if(e.length>t)return e.length=t,!0}function P(e){if(!e||"object"!==typeof e)throw Error(a+"Object expected");var t,n,r,i=["precision",1,o,"rounding",0,8,"toExpNeg",-1/0,0,"toExpPos",0,1/0];for(t=0;t<i.length;t+=3)if(void 0!==(r=e[n=i[t]])){if(!(u(r)===r&&r>=i[t+1]&&r<=i[t+2]))throw Error(c+n+": "+r);this[n]=r}if(void 0!==(r=e[n="LN10"])){if(r!=Math.LN10)throw Error(c+n+": "+r);this[n]=new this(r)}return this}l=function e(t){var n,r,i;function o(e){var t=this;if(!(t instanceof o))return new o(e);if(t.constructor=o,e instanceof o)return t.s=e.s,t.e=e.e,void(t.d=(e=e.d)?e.slice():e);if("number"===typeof e){if(0*e!==0)throw Error(c+e);if(e>0)t.s=1;else{if(!(e<0))return t.s=0,t.e=0,void(t.d=[0]);e=-e,t.s=-1}return e===~~e&&e<1e7?(t.e=0,void(t.d=[e])):C(t,e.toString())}if("string"!==typeof e)throw Error(c+e);if(45===e.charCodeAt(0)?(e=e.slice(1),t.s=-1):t.s=1,!p.test(e))throw Error(c+e);C(t,e)}if(o.prototype=y,o.ROUND_UP=0,o.ROUND_DOWN=1,o.ROUND_CEIL=2,o.ROUND_FLOOR=3,o.ROUND_HALF_UP=4,o.ROUND_HALF_DOWN=5,o.ROUND_HALF_EVEN=6,o.ROUND_HALF_CEIL=7,o.ROUND_HALF_FLOOR=8,o.clone=e,o.config=o.set=P,void 0===t&&(t={}),t)for(i=["precision","rounding","toExpNeg","toExpPos","LN10"],n=0;n<i.length;)t.hasOwnProperty(r=i[n++])||(t[r]=this[r]);return o.config(t),o}(l),l.default=l.Decimal=l,i=new l(1),void 0===(r=function(){return l}.call(t,n,t,e))||(e.exports=r)}()},7770(e,t,n){e.exports=n(9323).get},9397(e,t,n){e.exports=n(2682).isPlainObject},9859(e,t,n){e.exports=n(7231).range},3821(e,t,n){e.exports=n(2204).sortBy},7820(e,t,n){e.exports=n(5414).throttle},4332(e,t,n){e.exports=n(5053).uniqBy},5093(e,t){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.isEqualsSameValueZero=function(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}},7260(e,t){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.isUnsafeProperty=function(e){return"__proto__"===e}},7312(e,t){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.flatten=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;const n=[],r=Math.floor(t),i=(e,t)=>{for(let o=0;o<e.length;o++){const l=e[o];Array.isArray(l)&&t<r?i(l,t+1):n.push(l)}};return i(e,0),n}},4208(e,t){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.uniqBy=function(e,t){const n=new Map;for(let r=0;r<e.length;r++){const i=e[r],o=t(i,r,e);n.has(o)||n.set(o,i)}return Array.from(n.values())}},9709(e,t){"use strict";function n(e){return"symbol"===typeof e?1:null===e?2:void 0===e?3:e!==e?4:0}Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});t.compareValues=(e,t,r)=>{if(e!==t){const i=n(e),o=n(t);if(i===o&&0===i){if(e<t)return"desc"===r?1:-1;if(e>t)return"desc"===r?-1:1}return"desc"===r?o-i:i-o}return 0}},6443(e,t){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.getSymbols=function(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}},5990(e,t){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.getTag=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}},2489(e,t){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.isDeepKey=function(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e.includes(".")||e.includes("[")||e.includes("]")}}},4704(e,t){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const n=/^(?:0|[1-9]\d*)$/;t.isIndex=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MAX_SAFE_INTEGER;switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e<t;case"symbol":return!1;case"string":return n.test(e)}}},3799(e,t,n){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const r=n(4704),i=n(1203),o=n(870),l=n(5093);t.isIterateeCall=function(e,t,n){return!!o.isObject(n)&&(!!("number"===typeof t&&i.isArrayLike(n)&&r.isIndex(t)&&t<n.length||"string"===typeof t&&t in n)&&l.isEqualsSameValueZero(n[t],e))}},7043(e,t,n){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const r=n(2777),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,o=/^\w*$/;t.isKey=function(e,t){return!Array.isArray(e)&&(!("number"!==typeof e&&"boolean"!==typeof e&&null!=e&&!r.isSymbol(e))||("string"===typeof e&&(o.test(e)||!i.test(e))||null!=t&&Object.hasOwn(t,e)))}},7599(e,t){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});t.argumentsTag="[object Arguments]",t.arrayBufferTag="[object ArrayBuffer]",t.arrayTag="[object Array]",t.bigInt64ArrayTag="[object BigInt64Array]",t.bigUint64ArrayTag="[object BigUint64Array]",t.booleanTag="[object Boolean]",t.dataViewTag="[object DataView]",t.dateTag="[object Date]",t.errorTag="[object Error]",t.float32ArrayTag="[object Float32Array]",t.float64ArrayTag="[object Float64Array]",t.functionTag="[object Function]",t.int16ArrayTag="[object Int16Array]",t.int32ArrayTag="[object Int32Array]",t.int8ArrayTag="[object Int8Array]",t.mapTag="[object Map]",t.numberTag="[object Number]",t.objectTag="[object Object]",t.regexpTag="[object RegExp]",t.setTag="[object Set]",t.stringTag="[object String]",t.symbolTag="[object Symbol]",t.uint16ArrayTag="[object Uint16Array]",t.uint32ArrayTag="[object Uint32Array]",t.uint8ArrayTag="[object Uint8Array]",t.uint8ClampedArrayTag="[object Uint8ClampedArray]"},3272(e,t){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.toKey=function(e){return"string"===typeof e||"symbol"===typeof e?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}},5316(e,t,n){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const r=n(9709),i=n(7043),o=n(1444);t.orderBy=function(e,t,n,l){if(null==e)return[];n=l?void 0:n,Array.isArray(e)||(e=Object.values(e)),Array.isArray(t)||(t=null==t?[null]:[t]),0===t.length&&(t=[null]),Array.isArray(n)||(n=null==n?[]:[n]),n=n.map(e=>String(e));const s=(e,t)=>{let n=e;for(let r=0;r<t.length&&null!=n;++r)n=n[t[r]];return n},a=t.map(e=>(Array.isArray(e)&&1===e.length&&(e=e[0]),null==e||"function"===typeof e||Array.isArray(e)||i.isKey(e)?e:{key:e,path:o.toPath(e)}));return e.map(e=>({original:e,criteria:a.map(t=>((e,t)=>null==t||null==e?t:"object"===typeof e&&"key"in e?Object.hasOwn(t,e.key)?t[e.key]:s(t,e.path):"function"===typeof e?e(t):Array.isArray(e)?s(t,e):"object"===typeof t?t[e]:t)(t,e))})).slice().sort((e,t)=>{for(let i=0;i<a.length;i++){const o=r.compareValues(e.criteria[i],t.criteria[i],n[i]);if(0!==o)return o}return 0}).map(e=>e.original)}},2204(e,t,n){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const r=n(5316),i=n(7312),o=n(3799);t.sortBy=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),l=1;l<t;l++)n[l-1]=arguments[l];const s=n.length;return s>1&&o.isIterateeCall(e,n[0],n[1])?n=[]:s>2&&o.isIterateeCall(n[0],n[1],n[2])&&(n=[n[0]]),r.orderBy(e,i.flatten(n),["asc"])}},5053(e,t,n){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const r=n(4208),i=n(9903),o=n(9599),l=n(2104),s=n(2715);t.uniqBy=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.identity;return l.isArrayLikeObject(e)?r.uniqBy(Array.from(e),i.ary(s.iteratee(t),1)):[]}},1293(e,t,n){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const r=n(4830);t.debounce=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};"object"!==typeof n&&(n={});const{leading:i=!1,trailing:o=!0,maxWait:l}=n,s=Array(2);let a;i&&(s[0]="leading"),o&&(s[1]="trailing");let c=null;const d=r.debounce(function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];a=e.apply(this,n),c=null},t,{edges:s}),u=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return null!=l&&(null===c&&(c=Date.now()),Date.now()-c>=l)?(a=e.apply(this,n),c=Date.now(),d.cancel(),d.schedule(),a):(d.apply(this,n),a)};return u.cancel=d.cancel,u.flush=()=>(d.flush(),a),u}},5414(e,t,n){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const r=n(1293);t.throttle=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{leading:i=!0,trailing:o=!0}=n;return r.debounce(e,t,{leading:i,maxWait:t,trailing:o})}},7231(e,t,n){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const r=n(3799),i=n(4879);t.range=function(e,t,n){n&&"number"!==typeof n&&r.isIterateeCall(e,t,n)&&(t=n=void 0),e=i.toFinite(e),void 0===t?(t=e,e=0):t=i.toFinite(t),n=void 0===n?e<t?1:-1:i.toFinite(n);const o=Math.max(Math.ceil((t-e)/(n||1)),0),l=new Array(o);for(let r=0;r<o;r++)l[r]=e,e+=n;return l}},8396(e,t,n){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const r=n(5508);t.cloneDeep=function(e){return r.cloneDeepWith(e)}},5508(e,t,n){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const r=n(6433),i=n(5990),o=n(7599);t.cloneDeepWith=function(e,t){return r.cloneDeepWith(e,(n,l,s,a)=>{const c=t?.(n,l,s,a);if(void 0!==c)return c;if("object"===typeof e){if(i.getTag(e)===o.objectTag&&"function"!==typeof e.constructor){const t={};return a.set(e,t),r.copyProperties(t,e,s,a),t}switch(Object.prototype.toString.call(e)){case o.numberTag:case o.stringTag:case o.booleanTag:{const t=new e.constructor(e?.valueOf());return r.copyProperties(t,e),t}case o.argumentsTag:{const t={};return r.copyProperties(t,e),t.length=e.length,t[Symbol.iterator]=e[Symbol.iterator],t}default:return}}})}},9323(e,t,n){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const r=n(7260),i=n(2489),o=n(3272),l=n(1444);t.get=function e(t,n,s){if(null==t)return s;switch(typeof n){case"string":{if(r.isUnsafeProperty(n))return s;const o=t[n];return void 0===o?i.isDeepKey(n)?e(t,l.toPath(n),s):s:o}case"number":case"symbol":{"number"===typeof n&&(n=o.toKey(n));const e=t[n];return void 0===e?s:e}default:{if(Array.isArray(n))return function(e,t,n){if(0===t.length)return n;let i=e;for(let o=0;o<t.length;o++){if(null==i)return n;if(r.isUnsafeProperty(t[o]))return n;i=i[t[o]]}if(void 0===i)return n;return i}(t,n,s);if(n=Object.is(n?.valueOf(),-0)?"-0":String(n),r.isUnsafeProperty(n))return s;const e=t[n];return void 0===e?s:e}}}},5303(e,t,n){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const r=n(2489),i=n(4704),o=n(6321),l=n(1444);t.has=function(e,t){let n;if(n=Array.isArray(t)?t:"string"===typeof t&&r.isDeepKey(t)&&null==e?.[t]?l.toPath(t):[t],0===n.length)return!1;let s=e;for(let r=0;r<n.length;r++){const e=n[r];if(null==s||!Object.hasOwn(s,e)){if(!((Array.isArray(s)||o.isArguments(s))&&i.isIndex(e)&&e<s.length))return!1}s=s[e]}return!0}},7330(e,t,n){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const r=n(9323);t.property=function(e){return function(t){return r.get(t,e)}}},6321(e,t,n){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const r=n(5990);t.isArguments=function(e){return null!==e&&"object"===typeof e&&"[object Arguments]"===r.getTag(e)}},1203(e,t,n){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const r=n(8420);t.isArrayLike=function(e){return null!=e&&"function"!==typeof e&&r.isLength(e.length)}},2104(e,t,n){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const r=n(1203),i=n(9921);t.isArrayLikeObject=function(e){return i.isObjectLike(e)&&r.isArrayLike(e)}},8268(e,t,n){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const r=n(2132);t.isMatch=function(e,t){return r.isMatchWith(e,t,()=>{})}},2132(e,t,n){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const r=n(870),i=n(4803),o=n(5093);function l(e,t,n,c){if(t===e)return!0;switch(typeof t){case"object":return function(e,t,n,r){if(null==t)return!0;if(Array.isArray(t))return s(e,t,n,r);if(t instanceof Map)return function(e,t,n,r){if(0===t.size)return!0;if(!(e instanceof Map))return!1;for(const[i,o]of t.entries()){if(!1===n(e.get(i),o,i,e,t,r))return!1}return!0}(e,t,n,r);if(t instanceof Set)return a(e,t,n,r);const o=Object.keys(t);if(null==e||i.isPrimitive(e))return 0===o.length;if(0===o.length)return!0;if(r?.has(t))return r.get(t)===e;r?.set(t,e);try{for(let l=0;l<o.length;l++){const s=o[l];if(!i.isPrimitive(e)&&!(s in e))return!1;if(void 0===t[s]&&void 0!==e[s])return!1;if(null===t[s]&&null!==e[s])return!1;if(!n(e[s],t[s],s,e,t,r))return!1}return!0}finally{r?.delete(t)}}(e,t,n,c);case"function":return Object.keys(t).length>0?l(e,{...t},n,c):o.isEqualsSameValueZero(e,t);default:return r.isObject(e)?"string"!==typeof t||""===t:o.isEqualsSameValueZero(e,t)}}function s(e,t,n,r){if(0===t.length)return!0;if(!Array.isArray(e))return!1;const i=new Set;for(let o=0;o<t.length;o++){const l=t[o];let s=!1;for(let a=0;a<e.length;a++){if(i.has(a))continue;let c=!1;if(n(e[a],l,o,e,t,r)&&(c=!0),c){i.add(a),s=!0;break}}if(!s)return!1}return!0}function a(e,t,n,r){return 0===t.size||e instanceof Set&&s([...e],[...t],n,r)}t.isMatchWith=function e(t,n,r){return"function"!==typeof r?e(t,n,()=>{}):l(t,n,function e(t,n,i,o,s,a){const c=r(t,n,i,o,s,a);return void 0!==c?Boolean(c):l(t,n,e,a)},new Map)},t.isSetMatch=a},870(e,t){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.isObject=function(e){return null!==e&&("object"===typeof e||"function"===typeof e)}},9921(e,t){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.isObjectLike=function(e){return"object"===typeof e&&null!==e}},2682(e,t){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.isPlainObject=function(e){if("object"!==typeof e)return!1;if(null==e)return!1;if(null===Object.getPrototypeOf(e))return!0;if("[object Object]"!==Object.prototype.toString.call(e)){const t=e[Symbol.toStringTag];if(null==t)return!1;return!!Object.getOwnPropertyDescriptor(e,Symbol.toStringTag)?.writable&&e.toString()===`[object ${t}]`}let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}},2777(e,t){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.isSymbol=function(e){return"symbol"===typeof e||e instanceof Symbol}},3808(e,t,n){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const r=n(8268),i=n(5261);t.matches=function(e){return e=i.cloneDeep(e),t=>r.isMatch(t,e)}},8845(e,t,n){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const r=n(8268),i=n(3272),o=n(8396),l=n(9323),s=n(5303);t.matchesProperty=function(e,t){switch(typeof e){case"object":Object.is(e?.valueOf(),-0)&&(e="-0");break;case"number":e=i.toKey(e)}return t=o.cloneDeep(t),function(n){const i=l.get(n,e);return void 0===i?s.has(n,e):void 0===t?void 0===i:r.isMatch(i,t)}}},2715(e,t,n){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const r=n(9599),i=n(7330),o=n(3808),l=n(8845);t.iteratee=function(e){if(null==e)return r.identity;switch(typeof e){case"function":return e;case"object":return Array.isArray(e)&&2===e.length?l.matchesProperty(e[0],e[1]):o.matches(e);case"string":case"symbol":case"number":return i.property(e)}}},4879(e,t,n){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const r=n(6770);t.toFinite=function(e){if(!e)return 0===e?e:0;if((e=r.toNumber(e))===1/0||e===-1/0){return(e<0?-1:1)*Number.MAX_VALUE}return e===e?e:0}},6770(e,t,n){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const r=n(2777);t.toNumber=function(e){return r.isSymbol(e)?NaN:Number(e)}},1444(e,t,n){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const r=n(418),i=n(3272);t.toPath=function(e){if(Array.isArray(e))return e.map(i.toKey);if("symbol"===typeof e)return[e];const t=[],n=(e=r.toString(e)).length;if(0===n)return t;let o=0,l="",s="",a=!1;for(46===e.charCodeAt(0)&&(t.push(""),o++);o<n;){const r=e[o];s?"\\"===r&&o+1<n?(o++,l+=e[o]):r===s?s="":l+=r:a?'"'===r||"'"===r?s=r:"]"===r?(a=!1,t.push(l),l=""):l+=r:"["===r?(a=!0,l&&(t.push(l),l="")):"."===r?l&&(t.push(l),l=""):l+=r,o++}return l&&t.push(l),t}},418(e,t){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.toString=function e(t){if(null==t)return"";if("string"===typeof t)return t;if(Array.isArray(t))return t.map(e).join(",");const n=String(t);return"0"===n&&Object.is(Number(t),-0)?"-0":n}},9903(e,t){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.ary=function(e,t){return function(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return e.apply(this,r.slice(0,t))}}},4830(e,t){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.debounce=function(e,t){let n,{signal:r,edges:i}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=null;const l=null!=i&&i.includes("leading"),s=null==i||i.includes("trailing"),a=()=>{null!==o&&(e.apply(n,o),n=void 0,o=null)};let c=null;const d=()=>{null!=c&&clearTimeout(c),c=setTimeout(()=>{c=null,s&&a(),u()},t)},u=()=>{null!==c&&(clearTimeout(c),c=null),n=void 0,o=null},h=function(){if(r?.aborted)return;n=this;for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];o=t;const s=null==c;d(),l&&s&&a()};return h.schedule=d,h.cancel=u,h.flush=()=>{a()},r?.addEventListener("abort",u,{once:!0}),h}},9599(e,t){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.identity=function(e){return e}},5261(e,t,n){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const r=n(6433);t.cloneDeep=function(e){return r.cloneDeepWithImpl(e,void 0,e,new Map,void 0)}},6433(e,t,n){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const r=n(6443),i=n(5990),o=n(7599),l=n(4803),s=n(3757);function a(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new Map,d=arguments.length>4&&void 0!==arguments[4]?arguments[4]:void 0;const u=d?.(e,t,n,r);if(void 0!==u)return u;if(l.isPrimitive(e))return e;if(r.has(e))return r.get(e);if(Array.isArray(e)){const t=new Array(e.length);r.set(e,t);for(let i=0;i<e.length;i++)t[i]=a(e[i],i,n,r,d);return Object.hasOwn(e,"index")&&(t.index=e.index),Object.hasOwn(e,"input")&&(t.input=e.input),t}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){const t=new RegExp(e.source,e.flags);return t.lastIndex=e.lastIndex,t}if(e instanceof Map){const t=new Map;r.set(e,t);for(const[i,o]of e)t.set(i,a(o,i,n,r,d));return t}if(e instanceof Set){const t=new Set;r.set(e,t);for(const i of e)t.add(a(i,void 0,n,r,d));return t}if("undefined"!==typeof Buffer&&Buffer.isBuffer(e))return e.subarray();if(s.isTypedArray(e)){const t=new(Object.getPrototypeOf(e).constructor)(e.length);r.set(e,t);for(let i=0;i<e.length;i++)t[i]=a(e[i],i,n,r,d);return t}if(e instanceof ArrayBuffer||"undefined"!==typeof SharedArrayBuffer&&e instanceof SharedArrayBuffer)return e.slice(0);if(e instanceof DataView){const t=new DataView(e.buffer.slice(0),e.byteOffset,e.byteLength);return r.set(e,t),c(t,e,n,r,d),t}if("undefined"!==typeof File&&e instanceof File){const t=new File([e],e.name,{type:e.type});return r.set(e,t),c(t,e,n,r,d),t}if("undefined"!==typeof Blob&&e instanceof Blob){const t=new Blob([e],{type:e.type});return r.set(e,t),c(t,e,n,r,d),t}if(e instanceof Error){const t=structuredClone(e);return r.set(e,t),t.message=e.message,t.name=e.name,t.stack=e.stack,t.cause=e.cause,t.constructor=e.constructor,c(t,e,n,r,d),t}if(e instanceof Boolean){const t=new Boolean(e.valueOf());return r.set(e,t),c(t,e,n,r,d),t}if(e instanceof Number){const t=new Number(e.valueOf());return r.set(e,t),c(t,e,n,r,d),t}if(e instanceof String){const t=new String(e.valueOf());return r.set(e,t),c(t,e,n,r,d),t}if("object"===typeof e&&function(e){switch(i.getTag(e)){case o.argumentsTag:case o.arrayTag:case o.arrayBufferTag:case o.dataViewTag:case o.booleanTag:case o.dateTag:case o.float32ArrayTag:case o.float64ArrayTag:case o.int8ArrayTag:case o.int16ArrayTag:case o.int32ArrayTag:case o.mapTag:case o.numberTag:case o.objectTag:case o.regexpTag:case o.setTag:case o.stringTag:case o.symbolTag:case o.uint8ArrayTag:case o.uint8ClampedArrayTag:case o.uint16ArrayTag:case o.uint32ArrayTag:return!0;default:return!1}}(e)){const t=Object.create(Object.getPrototypeOf(e));return r.set(e,t),c(t,e,n,r,d),t}return e}function c(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;const l=[...Object.keys(t),...r.getSymbols(t)];for(let r=0;r<l.length;r++){const s=l[r],c=Object.getOwnPropertyDescriptor(e,s);(null==c||c.writable)&&(e[s]=a(t[s],s,n,i,o))}}t.cloneDeepWith=function(e,t){return a(e,void 0,e,new Map,t)},t.cloneDeepWithImpl=a,t.copyProperties=c},8420(e,t){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.isLength=function(e){return Number.isSafeInteger(e)&&e>=0}},4803(e,t){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.isPrimitive=function(e){return null==e||"object"!==typeof e&&"function"!==typeof e}},3757(e,t){"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t.isTypedArray=function(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}},2730(e,t,n){"use strict";var r=n(5043),i=n(8853);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var l=new Set,s={};function a(e,t){c(e,t),c(e+"Capture",t)}function c(e,t){for(s[e]=t,e=0;e<t.length;e++)l.add(t[e])}var d=!("undefined"===typeof window||"undefined"===typeof window.document||"undefined"===typeof window.document.createElement),u=Object.prototype.hasOwnProperty,h=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,p={},f={};function g(e,t,n,r,i,o,l){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=l}var m={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){m[e]=new g(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];m[t]=new g(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){m[e]=new g(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){m[e]=new g(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){m[e]=new g(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){m[e]=new g(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){m[e]=new g(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){m[e]=new g(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){m[e]=new g(e,5,!1,e.toLowerCase(),null,!1,!1)});var y=/[\-:]([a-z])/g;function v(e){return e[1].toUpperCase()}function x(e,t,n,r){var i=m.hasOwnProperty(t)?m[t]:null;(null!==i?0!==i.type:r||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,r){if(null===t||"undefined"===typeof t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,i,r)&&(n=null),r||null===i?function(e){return!!u.call(f,e)||!u.call(p,e)&&(h.test(e)?f[e]=!0:(p[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):i.mustUseProperty?e[i.propertyName]=null===n?3!==i.type&&"":n:(t=i.attributeName,r=i.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(i=i.type)||4===i&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(y,v);m[t]=new g(t,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(y,v);m[t]=new g(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(y,v);m[t]=new g(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){m[e]=new g(e,1,!1,e.toLowerCase(),null,!1,!1)}),m.xlinkHref=new g("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){m[e]=new g(e,1,!1,e.toLowerCase(),null,!0,!0)});var b=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,w=Symbol.for("react.element"),S=Symbol.for("react.portal"),j=Symbol.for("react.fragment"),k=Symbol.for("react.strict_mode"),_=Symbol.for("react.profiler"),E=Symbol.for("react.provider"),C=Symbol.for("react.context"),T=Symbol.for("react.forward_ref"),M=Symbol.for("react.suspense"),O=Symbol.for("react.suspense_list"),A=Symbol.for("react.memo"),P=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var I=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var D=Symbol.iterator;function L(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=D&&e[D]||e["@@iterator"])?e:null}var R,z=Object.assign;function N(e){if(void 0===R)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);R=t&&t[1]||""}return"\n"+R+e}var F=!1;function $(e,t){if(!e||F)return"";F=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"===typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(c){var r=c}Reflect.construct(e,[],t)}else{try{t.call()}catch(c){r=c}e.call(t.prototype)}else{try{throw Error()}catch(c){r=c}e()}}catch(c){if(c&&r&&"string"===typeof c.stack){for(var i=c.stack.split("\n"),o=r.stack.split("\n"),l=i.length-1,s=o.length-1;1<=l&&0<=s&&i[l]!==o[s];)s--;for(;1<=l&&0<=s;l--,s--)if(i[l]!==o[s]){if(1!==l||1!==s)do{if(l--,0>--s||i[l]!==o[s]){var a="\n"+i[l].replace(" at new "," at ");return e.displayName&&a.includes("<anonymous>")&&(a=a.replace("<anonymous>",e.displayName)),a}}while(1<=l&&0<=s);break}}}finally{F=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?N(e):""}function W(e){switch(e.tag){case 5:return N(e.type);case 16:return N("Lazy");case 13:return N("Suspense");case 19:return N("SuspenseList");case 0:case 2:case 15:return e=$(e.type,!1);case 11:return e=$(e.type.render,!1);case 1:return e=$(e.type,!0);default:return""}}function B(e){if(null==e)return null;if("function"===typeof e)return e.displayName||e.name||null;if("string"===typeof e)return e;switch(e){case j:return"Fragment";case S:return"Portal";case _:return"Profiler";case k:return"StrictMode";case M:return"Suspense";case O:return"SuspenseList"}if("object"===typeof e)switch(e.$$typeof){case C:return(e.displayName||"Context")+".Consumer";case E:return(e._context.displayName||"Context")+".Provider";case T:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case A:return null!==(t=e.displayName||null)?t:B(e.type)||"Memo";case P:t=e._payload,e=e._init;try{return B(e(t))}catch(n){}}return null}function U(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return B(t);case 8:return t===k?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"===typeof t)return t.displayName||t.name||null;if("string"===typeof t)return t}return null}function H(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function V(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function Y(e){e._valueTracker||(e._valueTracker=function(e){var t=V(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&"undefined"!==typeof n&&"function"===typeof n.get&&"function"===typeof n.set){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){r=""+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function G(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=V(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function K(e){if("undefined"===typeof(e=e||("undefined"!==typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function q(e,t){var n=t.checked;return z({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function X(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=H(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function J(e,t){null!=(t=t.checked)&&x(e,"checked",t,!1)}function Q(e,t){J(e,t);var n=H(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,n):t.hasOwnProperty("defaultValue")&&ee(e,t.type,H(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function Z(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ee(e,t,n){"number"===t&&K(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var te=Array.isArray;function ne(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t["$"+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty("$"+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=""+H(n),t=null,i=0;i<e.length;i++){if(e[i].value===n)return e[i].selected=!0,void(r&&(e[i].defaultSelected=!0));null!==t||e[i].disabled||(t=e[i])}null!==t&&(t.selected=!0)}}function re(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(o(91));return z({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function ie(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(o(92));if(te(n)){if(1<n.length)throw Error(o(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:H(n)}}function oe(e,t){var n=H(t.value),r=H(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function le(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function se(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function ae(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?se(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var ce,de,ue=(de=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((ce=ce||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ce.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction(function(){return de(e,t)})}:de);function he(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var pe={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},fe=["Webkit","ms","Moz","O"];function ge(e,t,n){return null==t||"boolean"===typeof t||""===t?"":n||"number"!==typeof t||0===t||pe.hasOwnProperty(e)&&pe[e]?(""+t).trim():t+"px"}function me(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),i=ge(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}Object.keys(pe).forEach(function(e){fe.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),pe[t]=pe[e]})});var ye=z({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ve(e,t){if(t){if(ye[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(o(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(o(60));if("object"!==typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(o(61))}if(null!=t.style&&"object"!==typeof t.style)throw Error(o(62))}}function xe(e,t){if(-1===e.indexOf("-"))return"string"===typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var be=null;function we(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var Se=null,je=null,ke=null;function _e(e){if(e=xi(e)){if("function"!==typeof Se)throw Error(o(280));var t=e.stateNode;t&&(t=wi(t),Se(e.stateNode,e.type,t))}}function Ee(e){je?ke?ke.push(e):ke=[e]:je=e}function Ce(){if(je){var e=je,t=ke;if(ke=je=null,_e(e),t)for(e=0;e<t.length;e++)_e(t[e])}}function Te(e,t){return e(t)}function Me(){}var Oe=!1;function Ae(e,t,n){if(Oe)return e(t,n);Oe=!0;try{return Te(e,t,n)}finally{Oe=!1,(null!==je||null!==ke)&&(Me(),Ce())}}function Pe(e,t){var n=e.stateNode;if(null===n)return null;var r=wi(n);if(null===r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!==typeof n)throw Error(o(231,t,typeof n));return n}var Ie=!1;if(d)try{var De={};Object.defineProperty(De,"passive",{get:function(){Ie=!0}}),window.addEventListener("test",De,De),window.removeEventListener("test",De,De)}catch(de){Ie=!1}function Le(e,t,n,r,i,o,l,s,a){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(d){this.onError(d)}}var Re=!1,ze=null,Ne=!1,Fe=null,$e={onError:function(e){Re=!0,ze=e}};function We(e,t,n,r,i,o,l,s,a){Re=!1,ze=null,Le.apply($e,arguments)}function Be(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!==(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function Ue(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function He(e){if(Be(e)!==e)throw Error(o(188))}function Ve(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=Be(e)))throw Error(o(188));return t!==e?null:e}for(var n=e,r=t;;){var i=n.return;if(null===i)break;var l=i.alternate;if(null===l){if(null!==(r=i.return)){n=r;continue}break}if(i.child===l.child){for(l=i.child;l;){if(l===n)return He(i),e;if(l===r)return He(i),t;l=l.sibling}throw Error(o(188))}if(n.return!==r.return)n=i,r=l;else{for(var s=!1,a=i.child;a;){if(a===n){s=!0,n=i,r=l;break}if(a===r){s=!0,r=i,n=l;break}a=a.sibling}if(!s){for(a=l.child;a;){if(a===n){s=!0,n=l,r=i;break}if(a===r){s=!0,r=l,n=i;break}a=a.sibling}if(!s)throw Error(o(189))}}if(n.alternate!==r)throw Error(o(190))}if(3!==n.tag)throw Error(o(188));return n.stateNode.current===n?e:t}(e))?Ye(e):null}function Ye(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=Ye(e);if(null!==t)return t;e=e.sibling}return null}var Ge=i.unstable_scheduleCallback,Ke=i.unstable_cancelCallback,qe=i.unstable_shouldYield,Xe=i.unstable_requestPaint,Je=i.unstable_now,Qe=i.unstable_getCurrentPriorityLevel,Ze=i.unstable_ImmediatePriority,et=i.unstable_UserBlockingPriority,tt=i.unstable_NormalPriority,nt=i.unstable_LowPriority,rt=i.unstable_IdlePriority,it=null,ot=null;var lt=Math.clz32?Math.clz32:function(e){return e>>>=0,0===e?32:31-(st(e)/at|0)|0},st=Math.log,at=Math.LN2;var ct=64,dt=4194304;function ut(e){switch(e&-e){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: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 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function ht(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,i=e.suspendedLanes,o=e.pingedLanes,l=268435455&n;if(0!==l){var s=l&~i;0!==s?r=ut(s):0!==(o&=l)&&(r=ut(o))}else 0!==(l=n&~i)?r=ut(l):0!==o&&(r=ut(o));if(0===r)return 0;if(0!==t&&t!==r&&0===(t&i)&&((i=r&-r)>=(o=t&-t)||16===i&&0!==(4194240&o)))return t;if(0!==(4&r)&&(r|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)i=1<<(n=31-lt(t)),r|=e[n],t&=~i;return r}function pt(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64: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;default:return-1}}function ft(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function gt(){var e=ct;return 0===(4194240&(ct<<=1))&&(ct=64),e}function mt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function yt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-lt(t)]=n}function vt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-lt(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}var xt=0;function bt(e){return 1<(e&=-e)?4<e?0!==(268435455&e)?16:536870912:4:1}var wt,St,jt,kt,_t,Et=!1,Ct=[],Tt=null,Mt=null,Ot=null,At=new Map,Pt=new Map,It=[],Dt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Lt(e,t){switch(e){case"focusin":case"focusout":Tt=null;break;case"dragenter":case"dragleave":Mt=null;break;case"mouseover":case"mouseout":Ot=null;break;case"pointerover":case"pointerout":At.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Pt.delete(t.pointerId)}}function Rt(e,t,n,r,i,o){return null===e||e.nativeEvent!==o?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:o,targetContainers:[i]},null!==t&&(null!==(t=xi(t))&&St(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==i&&-1===t.indexOf(i)&&t.push(i),e)}function zt(e){var t=vi(e.target);if(null!==t){var n=Be(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=Ue(n)))return e.blockedOn=t,void _t(e.priority,function(){jt(n)})}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Nt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=qt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=xi(n))&&St(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n);be=r,n.target.dispatchEvent(r),be=null,t.shift()}return!0}function Ft(e,t,n){Nt(e)&&n.delete(t)}function $t(){Et=!1,null!==Tt&&Nt(Tt)&&(Tt=null),null!==Mt&&Nt(Mt)&&(Mt=null),null!==Ot&&Nt(Ot)&&(Ot=null),At.forEach(Ft),Pt.forEach(Ft)}function Wt(e,t){e.blockedOn===t&&(e.blockedOn=null,Et||(Et=!0,i.unstable_scheduleCallback(i.unstable_NormalPriority,$t)))}function Bt(e){function t(t){return Wt(t,e)}if(0<Ct.length){Wt(Ct[0],e);for(var n=1;n<Ct.length;n++){var r=Ct[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==Tt&&Wt(Tt,e),null!==Mt&&Wt(Mt,e),null!==Ot&&Wt(Ot,e),At.forEach(t),Pt.forEach(t),n=0;n<It.length;n++)(r=It[n]).blockedOn===e&&(r.blockedOn=null);for(;0<It.length&&null===(n=It[0]).blockedOn;)zt(n),null===n.blockedOn&&It.shift()}var Ut=b.ReactCurrentBatchConfig,Ht=!0;function Vt(e,t,n,r){var i=xt,o=Ut.transition;Ut.transition=null;try{xt=1,Gt(e,t,n,r)}finally{xt=i,Ut.transition=o}}function Yt(e,t,n,r){var i=xt,o=Ut.transition;Ut.transition=null;try{xt=4,Gt(e,t,n,r)}finally{xt=i,Ut.transition=o}}function Gt(e,t,n,r){if(Ht){var i=qt(e,t,n,r);if(null===i)Hr(e,t,r,Kt,n),Lt(e,r);else if(function(e,t,n,r,i){switch(t){case"focusin":return Tt=Rt(Tt,e,t,n,r,i),!0;case"dragenter":return Mt=Rt(Mt,e,t,n,r,i),!0;case"mouseover":return Ot=Rt(Ot,e,t,n,r,i),!0;case"pointerover":var o=i.pointerId;return At.set(o,Rt(At.get(o)||null,e,t,n,r,i)),!0;case"gotpointercapture":return o=i.pointerId,Pt.set(o,Rt(Pt.get(o)||null,e,t,n,r,i)),!0}return!1}(i,e,t,n,r))r.stopPropagation();else if(Lt(e,r),4&t&&-1<Dt.indexOf(e)){for(;null!==i;){var o=xi(i);if(null!==o&&wt(o),null===(o=qt(e,t,n,r))&&Hr(e,t,r,Kt,n),o===i)break;i=o}null!==i&&r.stopPropagation()}else Hr(e,t,r,null,n)}}var Kt=null;function qt(e,t,n,r){if(Kt=null,null!==(e=vi(e=we(r))))if(null===(t=Be(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=Ue(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Kt=e,null}function Xt(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Qe()){case Ze:return 1;case et:return 4;case tt:case nt:return 16;case rt:return 536870912;default:return 16}default:return 16}}var Jt=null,Qt=null,Zt=null;function en(){if(Zt)return Zt;var e,t,n=Qt,r=n.length,i="value"in Jt?Jt.value:Jt.textContent,o=i.length;for(e=0;e<r&&n[e]===i[e];e++);var l=r-e;for(t=1;t<=l&&n[r-t]===i[o-t];t++);return Zt=i.slice(e,1<t?1-t:void 0)}function tn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function nn(){return!0}function rn(){return!1}function on(e){function t(t,n,r,i,o){for(var l in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=i,this.target=o,this.currentTarget=null,e)e.hasOwnProperty(l)&&(t=e[l],this[l]=t?t(i):i[l]);return this.isDefaultPrevented=(null!=i.defaultPrevented?i.defaultPrevented:!1===i.returnValue)?nn:rn,this.isPropagationStopped=rn,this}return z(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!==typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=nn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!==typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=nn)},persist:function(){},isPersistent:nn}),t}var ln,sn,an,cn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},dn=on(cn),un=z({},cn,{view:0,detail:0}),hn=on(un),pn=z({},un,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:_n,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==an&&(an&&"mousemove"===e.type?(ln=e.screenX-an.screenX,sn=e.screenY-an.screenY):sn=ln=0,an=e),ln)},movementY:function(e){return"movementY"in e?e.movementY:sn}}),fn=on(pn),gn=on(z({},pn,{dataTransfer:0})),mn=on(z({},un,{relatedTarget:0})),yn=on(z({},cn,{animationName:0,elapsedTime:0,pseudoElement:0})),vn=z({},cn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),xn=on(vn),bn=on(z({},cn,{data:0})),wn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Sn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},jn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function kn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=jn[e])&&!!t[e]}function _n(){return kn}var En=z({},un,{key:function(e){if(e.key){var t=wn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?Sn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:_n,charCode:function(e){return"keypress"===e.type?tn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Cn=on(En),Tn=on(z({},pn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Mn=on(z({},un,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:_n})),On=on(z({},cn,{propertyName:0,elapsedTime:0,pseudoElement:0})),An=z({},pn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Pn=on(An),In=[9,13,27,32],Dn=d&&"CompositionEvent"in window,Ln=null;d&&"documentMode"in document&&(Ln=document.documentMode);var Rn=d&&"TextEvent"in window&&!Ln,zn=d&&(!Dn||Ln&&8<Ln&&11>=Ln),Nn=String.fromCharCode(32),Fn=!1;function $n(e,t){switch(e){case"keyup":return-1!==In.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Wn(e){return"object"===typeof(e=e.detail)&&"data"in e?e.data:null}var Bn=!1;var Un={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Hn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Un[e.type]:"textarea"===t}function Vn(e,t,n,r){Ee(r),0<(t=Yr(t,"onChange")).length&&(n=new dn("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Yn=null,Gn=null;function Kn(e){Nr(e,0)}function qn(e){if(G(bi(e)))return e}function Xn(e,t){if("change"===e)return t}var Jn=!1;if(d){var Qn;if(d){var Zn="oninput"in document;if(!Zn){var er=document.createElement("div");er.setAttribute("oninput","return;"),Zn="function"===typeof er.oninput}Qn=Zn}else Qn=!1;Jn=Qn&&(!document.documentMode||9<document.documentMode)}function tr(){Yn&&(Yn.detachEvent("onpropertychange",nr),Gn=Yn=null)}function nr(e){if("value"===e.propertyName&&qn(Gn)){var t=[];Vn(t,Gn,e,we(e)),Ae(Kn,t)}}function rr(e,t,n){"focusin"===e?(tr(),Gn=n,(Yn=t).attachEvent("onpropertychange",nr)):"focusout"===e&&tr()}function ir(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return qn(Gn)}function or(e,t){if("click"===e)return qn(t)}function lr(e,t){if("input"===e||"change"===e)return qn(t)}var sr="function"===typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e===1/t)||e!==e&&t!==t};function ar(e,t){if(sr(e,t))return!0;if("object"!==typeof e||null===e||"object"!==typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!u.call(t,i)||!sr(e[i],t[i]))return!1}return!0}function cr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function dr(e,t){var n,r=cr(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=cr(r)}}function ur(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?ur(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function hr(){for(var e=window,t=K();t instanceof e.HTMLIFrameElement;){try{var n="string"===typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=K((e=t.contentWindow).document)}return t}function pr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function fr(e){var t=hr(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&ur(n.ownerDocument.documentElement,n)){if(null!==r&&pr(n))if(t=r.start,void 0===(e=r.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var i=n.textContent.length,o=Math.min(r.start,i);r=void 0===r.end?o:Math.min(r.end,i),!e.extend&&o>r&&(i=r,r=o,o=i),i=dr(n,o);var l=dr(n,r);i&&l&&(1!==e.rangeCount||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==l.node||e.focusOffset!==l.offset)&&((t=t.createRange()).setStart(i.node,i.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(l.node,l.offset)):(t.setEnd(l.node,l.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"===typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var gr=d&&"documentMode"in document&&11>=document.documentMode,mr=null,yr=null,vr=null,xr=!1;function br(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;xr||null==mr||mr!==K(r)||("selectionStart"in(r=mr)&&pr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},vr&&ar(vr,r)||(vr=r,0<(r=Yr(yr,"onSelect")).length&&(t=new dn("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=mr)))}function wr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Sr={animationend:wr("Animation","AnimationEnd"),animationiteration:wr("Animation","AnimationIteration"),animationstart:wr("Animation","AnimationStart"),transitionend:wr("Transition","TransitionEnd")},jr={},kr={};function _r(e){if(jr[e])return jr[e];if(!Sr[e])return e;var t,n=Sr[e];for(t in n)if(n.hasOwnProperty(t)&&t in kr)return jr[e]=n[t];return e}d&&(kr=document.createElement("div").style,"AnimationEvent"in window||(delete Sr.animationend.animation,delete Sr.animationiteration.animation,delete Sr.animationstart.animation),"TransitionEvent"in window||delete Sr.transitionend.transition);var Er=_r("animationend"),Cr=_r("animationiteration"),Tr=_r("animationstart"),Mr=_r("transitionend"),Or=new Map,Ar="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Pr(e,t){Or.set(e,t),a(t,[e])}for(var Ir=0;Ir<Ar.length;Ir++){var Dr=Ar[Ir];Pr(Dr.toLowerCase(),"on"+(Dr[0].toUpperCase()+Dr.slice(1)))}Pr(Er,"onAnimationEnd"),Pr(Cr,"onAnimationIteration"),Pr(Tr,"onAnimationStart"),Pr("dblclick","onDoubleClick"),Pr("focusin","onFocus"),Pr("focusout","onBlur"),Pr(Mr,"onTransitionEnd"),c("onMouseEnter",["mouseout","mouseover"]),c("onMouseLeave",["mouseout","mouseover"]),c("onPointerEnter",["pointerout","pointerover"]),c("onPointerLeave",["pointerout","pointerover"]),a("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),a("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),a("onBeforeInput",["compositionend","keypress","textInput","paste"]),a("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),a("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),a("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Lr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Rr=new Set("cancel close invalid load scroll toggle".split(" ").concat(Lr));function zr(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,i,l,s,a,c){if(We.apply(this,arguments),Re){if(!Re)throw Error(o(198));var d=ze;Re=!1,ze=null,Ne||(Ne=!0,Fe=d)}}(r,t,void 0,e),e.currentTarget=null}function Nr(e,t){t=0!==(4&t);for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;e:{var o=void 0;if(t)for(var l=r.length-1;0<=l;l--){var s=r[l],a=s.instance,c=s.currentTarget;if(s=s.listener,a!==o&&i.isPropagationStopped())break e;zr(i,s,c),o=a}else for(l=0;l<r.length;l++){if(a=(s=r[l]).instance,c=s.currentTarget,s=s.listener,a!==o&&i.isPropagationStopped())break e;zr(i,s,c),o=a}}}if(Ne)throw e=Fe,Ne=!1,Fe=null,e}function Fr(e,t){var n=t[gi];void 0===n&&(n=t[gi]=new Set);var r=e+"__bubble";n.has(r)||(Ur(t,e,2,!1),n.add(r))}function $r(e,t,n){var r=0;t&&(r|=4),Ur(n,e,r,t)}var Wr="_reactListening"+Math.random().toString(36).slice(2);function Br(e){if(!e[Wr]){e[Wr]=!0,l.forEach(function(t){"selectionchange"!==t&&(Rr.has(t)||$r(t,!1,e),$r(t,!0,e))});var t=9===e.nodeType?e:e.ownerDocument;null===t||t[Wr]||(t[Wr]=!0,$r("selectionchange",!1,t))}}function Ur(e,t,n,r){switch(Xt(t)){case 1:var i=Vt;break;case 4:i=Yt;break;default:i=Gt}n=i.bind(null,t,n,e),i=void 0,!Ie||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(i=!0),r?void 0!==i?e.addEventListener(t,n,{capture:!0,passive:i}):e.addEventListener(t,n,!0):void 0!==i?e.addEventListener(t,n,{passive:i}):e.addEventListener(t,n,!1)}function Hr(e,t,n,r,i){var o=r;if(0===(1&t)&&0===(2&t)&&null!==r)e:for(;;){if(null===r)return;var l=r.tag;if(3===l||4===l){var s=r.stateNode.containerInfo;if(s===i||8===s.nodeType&&s.parentNode===i)break;if(4===l)for(l=r.return;null!==l;){var a=l.tag;if((3===a||4===a)&&((a=l.stateNode.containerInfo)===i||8===a.nodeType&&a.parentNode===i))return;l=l.return}for(;null!==s;){if(null===(l=vi(s)))return;if(5===(a=l.tag)||6===a){r=o=l;continue e}s=s.parentNode}}r=r.return}Ae(function(){var r=o,i=we(n),l=[];e:{var s=Or.get(e);if(void 0!==s){var a=dn,c=e;switch(e){case"keypress":if(0===tn(n))break e;case"keydown":case"keyup":a=Cn;break;case"focusin":c="focus",a=mn;break;case"focusout":c="blur",a=mn;break;case"beforeblur":case"afterblur":a=mn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":a=fn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":a=gn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":a=Mn;break;case Er:case Cr:case Tr:a=yn;break;case Mr:a=On;break;case"scroll":a=hn;break;case"wheel":a=Pn;break;case"copy":case"cut":case"paste":a=xn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":a=Tn}var d=0!==(4&t),u=!d&&"scroll"===e,h=d?null!==s?s+"Capture":null:s;d=[];for(var p,f=r;null!==f;){var g=(p=f).stateNode;if(5===p.tag&&null!==g&&(p=g,null!==h&&(null!=(g=Pe(f,h))&&d.push(Vr(f,g,p)))),u)break;f=f.return}0<d.length&&(s=new a(s,c,null,n,i),l.push({event:s,listeners:d}))}}if(0===(7&t)){if(a="mouseout"===e||"pointerout"===e,(!(s="mouseover"===e||"pointerover"===e)||n===be||!(c=n.relatedTarget||n.fromElement)||!vi(c)&&!c[fi])&&(a||s)&&(s=i.window===i?i:(s=i.ownerDocument)?s.defaultView||s.parentWindow:window,a?(a=r,null!==(c=(c=n.relatedTarget||n.toElement)?vi(c):null)&&(c!==(u=Be(c))||5!==c.tag&&6!==c.tag)&&(c=null)):(a=null,c=r),a!==c)){if(d=fn,g="onMouseLeave",h="onMouseEnter",f="mouse","pointerout"!==e&&"pointerover"!==e||(d=Tn,g="onPointerLeave",h="onPointerEnter",f="pointer"),u=null==a?s:bi(a),p=null==c?s:bi(c),(s=new d(g,f+"leave",a,n,i)).target=u,s.relatedTarget=p,g=null,vi(i)===r&&((d=new d(h,f+"enter",c,n,i)).target=p,d.relatedTarget=u,g=d),u=g,a&&c)e:{for(h=c,f=0,p=d=a;p;p=Gr(p))f++;for(p=0,g=h;g;g=Gr(g))p++;for(;0<f-p;)d=Gr(d),f--;for(;0<p-f;)h=Gr(h),p--;for(;f--;){if(d===h||null!==h&&d===h.alternate)break e;d=Gr(d),h=Gr(h)}d=null}else d=null;null!==a&&Kr(l,s,a,d,!1),null!==c&&null!==u&&Kr(l,u,c,d,!0)}if("select"===(a=(s=r?bi(r):window).nodeName&&s.nodeName.toLowerCase())||"input"===a&&"file"===s.type)var m=Xn;else if(Hn(s))if(Jn)m=lr;else{m=ir;var y=rr}else(a=s.nodeName)&&"input"===a.toLowerCase()&&("checkbox"===s.type||"radio"===s.type)&&(m=or);switch(m&&(m=m(e,r))?Vn(l,m,n,i):(y&&y(e,s,r),"focusout"===e&&(y=s._wrapperState)&&y.controlled&&"number"===s.type&&ee(s,"number",s.value)),y=r?bi(r):window,e){case"focusin":(Hn(y)||"true"===y.contentEditable)&&(mr=y,yr=r,vr=null);break;case"focusout":vr=yr=mr=null;break;case"mousedown":xr=!0;break;case"contextmenu":case"mouseup":case"dragend":xr=!1,br(l,n,i);break;case"selectionchange":if(gr)break;case"keydown":case"keyup":br(l,n,i)}var v;if(Dn)e:{switch(e){case"compositionstart":var x="onCompositionStart";break e;case"compositionend":x="onCompositionEnd";break e;case"compositionupdate":x="onCompositionUpdate";break e}x=void 0}else Bn?$n(e,n)&&(x="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(x="onCompositionStart");x&&(zn&&"ko"!==n.locale&&(Bn||"onCompositionStart"!==x?"onCompositionEnd"===x&&Bn&&(v=en()):(Qt="value"in(Jt=i)?Jt.value:Jt.textContent,Bn=!0)),0<(y=Yr(r,x)).length&&(x=new bn(x,e,null,n,i),l.push({event:x,listeners:y}),v?x.data=v:null!==(v=Wn(n))&&(x.data=v))),(v=Rn?function(e,t){switch(e){case"compositionend":return Wn(t);case"keypress":return 32!==t.which?null:(Fn=!0,Nn);case"textInput":return(e=t.data)===Nn&&Fn?null:e;default:return null}}(e,n):function(e,t){if(Bn)return"compositionend"===e||!Dn&&$n(e,t)?(e=en(),Zt=Qt=Jt=null,Bn=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return zn&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(r=Yr(r,"onBeforeInput")).length&&(i=new bn("onBeforeInput","beforeinput",null,n,i),l.push({event:i,listeners:r}),i.data=v))}Nr(l,t)})}function Vr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Yr(e,t){for(var n=t+"Capture",r=[];null!==e;){var i=e,o=i.stateNode;5===i.tag&&null!==o&&(i=o,null!=(o=Pe(e,n))&&r.unshift(Vr(e,o,i)),null!=(o=Pe(e,t))&&r.push(Vr(e,o,i))),e=e.return}return r}function Gr(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Kr(e,t,n,r,i){for(var o=t._reactName,l=[];null!==n&&n!==r;){var s=n,a=s.alternate,c=s.stateNode;if(null!==a&&a===r)break;5===s.tag&&null!==c&&(s=c,i?null!=(a=Pe(n,o))&&l.unshift(Vr(n,a,s)):i||null!=(a=Pe(n,o))&&l.push(Vr(n,a,s))),n=n.return}0!==l.length&&e.push({event:t,listeners:l})}var qr=/\r\n?/g,Xr=/\u0000|\uFFFD/g;function Jr(e){return("string"===typeof e?e:""+e).replace(qr,"\n").replace(Xr,"")}function Qr(e,t,n){if(t=Jr(t),Jr(e)!==t&&n)throw Error(o(425))}function Zr(){}var ei=null,ti=null;function ni(e,t){return"textarea"===e||"noscript"===e||"string"===typeof t.children||"number"===typeof t.children||"object"===typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ri="function"===typeof setTimeout?setTimeout:void 0,ii="function"===typeof clearTimeout?clearTimeout:void 0,oi="function"===typeof Promise?Promise:void 0,li="function"===typeof queueMicrotask?queueMicrotask:"undefined"!==typeof oi?function(e){return oi.resolve(null).then(e).catch(si)}:ri;function si(e){setTimeout(function(){throw e})}function ai(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&8===i.nodeType)if("/$"===(n=i.data)){if(0===r)return e.removeChild(i),void Bt(t);r--}else"$"!==n&&"$?"!==n&&"$!"!==n||r++;n=i}while(n);Bt(t)}function ci(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function di(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var ui=Math.random().toString(36).slice(2),hi="__reactFiber$"+ui,pi="__reactProps$"+ui,fi="__reactContainer$"+ui,gi="__reactEvents$"+ui,mi="__reactListeners$"+ui,yi="__reactHandles$"+ui;function vi(e){var t=e[hi];if(t)return t;for(var n=e.parentNode;n;){if(t=n[fi]||n[hi]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=di(e);null!==e;){if(n=e[hi])return n;e=di(e)}return t}n=(e=n).parentNode}return null}function xi(e){return!(e=e[hi]||e[fi])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function bi(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(o(33))}function wi(e){return e[pi]||null}var Si=[],ji=-1;function ki(e){return{current:e}}function _i(e){0>ji||(e.current=Si[ji],Si[ji]=null,ji--)}function Ei(e,t){ji++,Si[ji]=e.current,e.current=t}var Ci={},Ti=ki(Ci),Mi=ki(!1),Oi=Ci;function Ai(e,t){var n=e.type.contextTypes;if(!n)return Ci;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i,o={};for(i in n)o[i]=t[i];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function Pi(e){return null!==(e=e.childContextTypes)&&void 0!==e}function Ii(){_i(Mi),_i(Ti)}function Di(e,t,n){if(Ti.current!==Ci)throw Error(o(168));Ei(Ti,t),Ei(Mi,n)}function Li(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,"function"!==typeof r.getChildContext)return n;for(var i in r=r.getChildContext())if(!(i in t))throw Error(o(108,U(e)||"Unknown",i));return z({},n,r)}function Ri(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ci,Oi=Ti.current,Ei(Ti,e),Ei(Mi,Mi.current),!0}function zi(e,t,n){var r=e.stateNode;if(!r)throw Error(o(169));n?(e=Li(e,t,Oi),r.__reactInternalMemoizedMergedChildContext=e,_i(Mi),_i(Ti),Ei(Ti,e)):_i(Mi),Ei(Mi,n)}var Ni=null,Fi=!1,$i=!1;function Wi(e){null===Ni?Ni=[e]:Ni.push(e)}function Bi(){if(!$i&&null!==Ni){$i=!0;var e=0,t=xt;try{var n=Ni;for(xt=1;e<n.length;e++){var r=n[e];do{r=r(!0)}while(null!==r)}Ni=null,Fi=!1}catch(i){throw null!==Ni&&(Ni=Ni.slice(e+1)),Ge(Ze,Bi),i}finally{xt=t,$i=!1}}return null}var Ui=[],Hi=0,Vi=null,Yi=0,Gi=[],Ki=0,qi=null,Xi=1,Ji="";function Qi(e,t){Ui[Hi++]=Yi,Ui[Hi++]=Vi,Vi=e,Yi=t}function Zi(e,t,n){Gi[Ki++]=Xi,Gi[Ki++]=Ji,Gi[Ki++]=qi,qi=e;var r=Xi;e=Ji;var i=32-lt(r)-1;r&=~(1<<i),n+=1;var o=32-lt(t)+i;if(30<o){var l=i-i%5;o=(r&(1<<l)-1).toString(32),r>>=l,i-=l,Xi=1<<32-lt(t)+i|n<<i|r,Ji=o+e}else Xi=1<<o|n<<i|r,Ji=e}function eo(e){null!==e.return&&(Qi(e,1),Zi(e,1,0))}function to(e){for(;e===Vi;)Vi=Ui[--Hi],Ui[Hi]=null,Yi=Ui[--Hi],Ui[Hi]=null;for(;e===qi;)qi=Gi[--Ki],Gi[Ki]=null,Ji=Gi[--Ki],Gi[Ki]=null,Xi=Gi[--Ki],Gi[Ki]=null}var no=null,ro=null,io=!1,oo=null;function lo(e,t){var n=Oc(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function so(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,no=e,ro=ci(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,no=e,ro=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==qi?{id:Xi,overflow:Ji}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=Oc(18,null,null,0)).stateNode=t,n.return=e,e.child=n,no=e,ro=null,!0);default:return!1}}function ao(e){return 0!==(1&e.mode)&&0===(128&e.flags)}function co(e){if(io){var t=ro;if(t){var n=t;if(!so(e,t)){if(ao(e))throw Error(o(418));t=ci(n.nextSibling);var r=no;t&&so(e,t)?lo(r,n):(e.flags=-4097&e.flags|2,io=!1,no=e)}}else{if(ao(e))throw Error(o(418));e.flags=-4097&e.flags|2,io=!1,no=e}}}function uo(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;no=e}function ho(e){if(e!==no)return!1;if(!io)return uo(e),io=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!ni(e.type,e.memoizedProps)),t&&(t=ro)){if(ao(e))throw po(),Error(o(418));for(;t;)lo(e,t),t=ci(t.nextSibling)}if(uo(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(o(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){ro=ci(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}ro=null}}else ro=no?ci(e.stateNode.nextSibling):null;return!0}function po(){for(var e=ro;e;)e=ci(e.nextSibling)}function fo(){ro=no=null,io=!1}function go(e){null===oo?oo=[e]:oo.push(e)}var mo=b.ReactCurrentBatchConfig;function yo(e,t,n){if(null!==(e=n.ref)&&"function"!==typeof e&&"object"!==typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(o(309));var r=n.stateNode}if(!r)throw Error(o(147,e));var i=r,l=""+e;return null!==t&&null!==t.ref&&"function"===typeof t.ref&&t.ref._stringRef===l?t.ref:(t=function(e){var t=i.refs;null===e?delete t[l]:t[l]=e},t._stringRef=l,t)}if("string"!==typeof e)throw Error(o(284));if(!n._owner)throw Error(o(290,e))}return e}function vo(e,t){throw e=Object.prototype.toString.call(t),Error(o(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function xo(e){return(0,e._init)(e._payload)}function bo(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function i(e,t){return(e=Pc(e,t)).index=0,e.sibling=null,e}function l(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags|=2,n):r:(t.flags|=2,n):(t.flags|=1048576,n)}function s(t){return e&&null===t.alternate&&(t.flags|=2),t}function a(e,t,n,r){return null===t||6!==t.tag?((t=Rc(n,e.mode,r)).return=e,t):((t=i(t,n)).return=e,t)}function c(e,t,n,r){var o=n.type;return o===j?u(e,t,n.props.children,r,n.key):null!==t&&(t.elementType===o||"object"===typeof o&&null!==o&&o.$$typeof===P&&xo(o)===t.type)?((r=i(t,n.props)).ref=yo(e,t,n),r.return=e,r):((r=Ic(n.type,n.key,n.props,null,e.mode,r)).ref=yo(e,t,n),r.return=e,r)}function d(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=zc(n,e.mode,r)).return=e,t):((t=i(t,n.children||[])).return=e,t)}function u(e,t,n,r,o){return null===t||7!==t.tag?((t=Dc(n,e.mode,r,o)).return=e,t):((t=i(t,n)).return=e,t)}function h(e,t,n){if("string"===typeof t&&""!==t||"number"===typeof t)return(t=Rc(""+t,e.mode,n)).return=e,t;if("object"===typeof t&&null!==t){switch(t.$$typeof){case w:return(n=Ic(t.type,t.key,t.props,null,e.mode,n)).ref=yo(e,null,t),n.return=e,n;case S:return(t=zc(t,e.mode,n)).return=e,t;case P:return h(e,(0,t._init)(t._payload),n)}if(te(t)||L(t))return(t=Dc(t,e.mode,n,null)).return=e,t;vo(e,t)}return null}function p(e,t,n,r){var i=null!==t?t.key:null;if("string"===typeof n&&""!==n||"number"===typeof n)return null!==i?null:a(e,t,""+n,r);if("object"===typeof n&&null!==n){switch(n.$$typeof){case w:return n.key===i?c(e,t,n,r):null;case S:return n.key===i?d(e,t,n,r):null;case P:return p(e,t,(i=n._init)(n._payload),r)}if(te(n)||L(n))return null!==i?null:u(e,t,n,r,null);vo(e,n)}return null}function f(e,t,n,r,i){if("string"===typeof r&&""!==r||"number"===typeof r)return a(t,e=e.get(n)||null,""+r,i);if("object"===typeof r&&null!==r){switch(r.$$typeof){case w:return c(t,e=e.get(null===r.key?n:r.key)||null,r,i);case S:return d(t,e=e.get(null===r.key?n:r.key)||null,r,i);case P:return f(e,t,n,(0,r._init)(r._payload),i)}if(te(r)||L(r))return u(t,e=e.get(n)||null,r,i,null);vo(t,r)}return null}function g(i,o,s,a){for(var c=null,d=null,u=o,g=o=0,m=null;null!==u&&g<s.length;g++){u.index>g?(m=u,u=null):m=u.sibling;var y=p(i,u,s[g],a);if(null===y){null===u&&(u=m);break}e&&u&&null===y.alternate&&t(i,u),o=l(y,o,g),null===d?c=y:d.sibling=y,d=y,u=m}if(g===s.length)return n(i,u),io&&Qi(i,g),c;if(null===u){for(;g<s.length;g++)null!==(u=h(i,s[g],a))&&(o=l(u,o,g),null===d?c=u:d.sibling=u,d=u);return io&&Qi(i,g),c}for(u=r(i,u);g<s.length;g++)null!==(m=f(u,i,g,s[g],a))&&(e&&null!==m.alternate&&u.delete(null===m.key?g:m.key),o=l(m,o,g),null===d?c=m:d.sibling=m,d=m);return e&&u.forEach(function(e){return t(i,e)}),io&&Qi(i,g),c}function m(i,s,a,c){var d=L(a);if("function"!==typeof d)throw Error(o(150));if(null==(a=d.call(a)))throw Error(o(151));for(var u=d=null,g=s,m=s=0,y=null,v=a.next();null!==g&&!v.done;m++,v=a.next()){g.index>m?(y=g,g=null):y=g.sibling;var x=p(i,g,v.value,c);if(null===x){null===g&&(g=y);break}e&&g&&null===x.alternate&&t(i,g),s=l(x,s,m),null===u?d=x:u.sibling=x,u=x,g=y}if(v.done)return n(i,g),io&&Qi(i,m),d;if(null===g){for(;!v.done;m++,v=a.next())null!==(v=h(i,v.value,c))&&(s=l(v,s,m),null===u?d=v:u.sibling=v,u=v);return io&&Qi(i,m),d}for(g=r(i,g);!v.done;m++,v=a.next())null!==(v=f(g,i,m,v.value,c))&&(e&&null!==v.alternate&&g.delete(null===v.key?m:v.key),s=l(v,s,m),null===u?d=v:u.sibling=v,u=v);return e&&g.forEach(function(e){return t(i,e)}),io&&Qi(i,m),d}return function e(r,o,l,a){if("object"===typeof l&&null!==l&&l.type===j&&null===l.key&&(l=l.props.children),"object"===typeof l&&null!==l){switch(l.$$typeof){case w:e:{for(var c=l.key,d=o;null!==d;){if(d.key===c){if((c=l.type)===j){if(7===d.tag){n(r,d.sibling),(o=i(d,l.props.children)).return=r,r=o;break e}}else if(d.elementType===c||"object"===typeof c&&null!==c&&c.$$typeof===P&&xo(c)===d.type){n(r,d.sibling),(o=i(d,l.props)).ref=yo(r,d,l),o.return=r,r=o;break e}n(r,d);break}t(r,d),d=d.sibling}l.type===j?((o=Dc(l.props.children,r.mode,a,l.key)).return=r,r=o):((a=Ic(l.type,l.key,l.props,null,r.mode,a)).ref=yo(r,o,l),a.return=r,r=a)}return s(r);case S:e:{for(d=l.key;null!==o;){if(o.key===d){if(4===o.tag&&o.stateNode.containerInfo===l.containerInfo&&o.stateNode.implementation===l.implementation){n(r,o.sibling),(o=i(o,l.children||[])).return=r,r=o;break e}n(r,o);break}t(r,o),o=o.sibling}(o=zc(l,r.mode,a)).return=r,r=o}return s(r);case P:return e(r,o,(d=l._init)(l._payload),a)}if(te(l))return g(r,o,l,a);if(L(l))return m(r,o,l,a);vo(r,l)}return"string"===typeof l&&""!==l||"number"===typeof l?(l=""+l,null!==o&&6===o.tag?(n(r,o.sibling),(o=i(o,l)).return=r,r=o):(n(r,o),(o=Rc(l,r.mode,a)).return=r,r=o),s(r)):n(r,o)}}var wo=bo(!0),So=bo(!1),jo=ki(null),ko=null,_o=null,Eo=null;function Co(){Eo=_o=ko=null}function To(e){var t=jo.current;_i(jo),e._currentValue=t}function Mo(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Oo(e,t){ko=e,Eo=_o=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!==(e.lanes&t)&&(xs=!0),e.firstContext=null)}function Ao(e){var t=e._currentValue;if(Eo!==e)if(e={context:e,memoizedValue:t,next:null},null===_o){if(null===ko)throw Error(o(308));_o=e,ko.dependencies={lanes:0,firstContext:e}}else _o=_o.next=e;return t}var Po=null;function Io(e){null===Po?Po=[e]:Po.push(e)}function Do(e,t,n,r){var i=t.interleaved;return null===i?(n.next=n,Io(t)):(n.next=i.next,i.next=n),t.interleaved=n,Lo(e,r)}function Lo(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var Ro=!1;function zo(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function No(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Fo(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function $o(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,0!==(2&Ca)){var i=r.pending;return null===i?t.next=t:(t.next=i.next,i.next=t),r.pending=t,Lo(e,n)}return null===(i=r.interleaved)?(t.next=t,Io(r)):(t.next=i.next,i.next=t),r.interleaved=t,Lo(e,n)}function Wo(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,0!==(4194240&n))){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,vt(e,n)}}function Bo(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var i=null,o=null;if(null!==(n=n.firstBaseUpdate)){do{var l={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===o?i=o=l:o=o.next=l,n=n.next}while(null!==n);null===o?i=o=t:o=o.next=t}else i=o=t;return n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:o,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Uo(e,t,n,r){var i=e.updateQueue;Ro=!1;var o=i.firstBaseUpdate,l=i.lastBaseUpdate,s=i.shared.pending;if(null!==s){i.shared.pending=null;var a=s,c=a.next;a.next=null,null===l?o=c:l.next=c,l=a;var d=e.alternate;null!==d&&((s=(d=d.updateQueue).lastBaseUpdate)!==l&&(null===s?d.firstBaseUpdate=c:s.next=c,d.lastBaseUpdate=a))}if(null!==o){var u=i.baseState;for(l=0,d=c=a=null,s=o;;){var h=s.lane,p=s.eventTime;if((r&h)===h){null!==d&&(d=d.next={eventTime:p,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var f=e,g=s;switch(h=t,p=n,g.tag){case 1:if("function"===typeof(f=g.payload)){u=f.call(p,u,h);break e}u=f;break e;case 3:f.flags=-65537&f.flags|128;case 0:if(null===(h="function"===typeof(f=g.payload)?f.call(p,u,h):f)||void 0===h)break e;u=z({},u,h);break e;case 2:Ro=!0}}null!==s.callback&&0!==s.lane&&(e.flags|=64,null===(h=i.effects)?i.effects=[s]:h.push(s))}else p={eventTime:p,lane:h,tag:s.tag,payload:s.payload,callback:s.callback,next:null},null===d?(c=d=p,a=u):d=d.next=p,l|=h;if(null===(s=s.next)){if(null===(s=i.shared.pending))break;s=(h=s).next,h.next=null,i.lastBaseUpdate=h,i.shared.pending=null}}if(null===d&&(a=u),i.baseState=a,i.firstBaseUpdate=c,i.lastBaseUpdate=d,null!==(t=i.shared.interleaved)){i=t;do{l|=i.lane,i=i.next}while(i!==t)}else null===o&&(i.shared.lanes=0);La|=l,e.lanes=l,e.memoizedState=u}}function Ho(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],i=r.callback;if(null!==i){if(r.callback=null,r=n,"function"!==typeof i)throw Error(o(191,i));i.call(r)}}}var Vo={},Yo=ki(Vo),Go=ki(Vo),Ko=ki(Vo);function qo(e){if(e===Vo)throw Error(o(174));return e}function Xo(e,t){switch(Ei(Ko,t),Ei(Go,e),Ei(Yo,Vo),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:ae(null,"");break;default:t=ae(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}_i(Yo),Ei(Yo,t)}function Jo(){_i(Yo),_i(Go),_i(Ko)}function Qo(e){qo(Ko.current);var t=qo(Yo.current),n=ae(t,e.type);t!==n&&(Ei(Go,e),Ei(Yo,n))}function Zo(e){Go.current===e&&(_i(Yo),_i(Go))}var el=ki(0);function tl(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!==(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var nl=[];function rl(){for(var e=0;e<nl.length;e++)nl[e]._workInProgressVersionPrimary=null;nl.length=0}var il=b.ReactCurrentDispatcher,ol=b.ReactCurrentBatchConfig,ll=0,sl=null,al=null,cl=null,dl=!1,ul=!1,hl=0,pl=0;function fl(){throw Error(o(321))}function gl(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!sr(e[n],t[n]))return!1;return!0}function ml(e,t,n,r,i,l){if(ll=l,sl=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,il.current=null===e||null===e.memoizedState?Zl:es,e=n(r,i),ul){l=0;do{if(ul=!1,hl=0,25<=l)throw Error(o(301));l+=1,cl=al=null,t.updateQueue=null,il.current=ts,e=n(r,i)}while(ul)}if(il.current=Ql,t=null!==al&&null!==al.next,ll=0,cl=al=sl=null,dl=!1,t)throw Error(o(300));return e}function yl(){var e=0!==hl;return hl=0,e}function vl(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===cl?sl.memoizedState=cl=e:cl=cl.next=e,cl}function xl(){if(null===al){var e=sl.alternate;e=null!==e?e.memoizedState:null}else e=al.next;var t=null===cl?sl.memoizedState:cl.next;if(null!==t)cl=t,al=e;else{if(null===e)throw Error(o(310));e={memoizedState:(al=e).memoizedState,baseState:al.baseState,baseQueue:al.baseQueue,queue:al.queue,next:null},null===cl?sl.memoizedState=cl=e:cl=cl.next=e}return cl}function bl(e,t){return"function"===typeof t?t(e):t}function wl(e){var t=xl(),n=t.queue;if(null===n)throw Error(o(311));n.lastRenderedReducer=e;var r=al,i=r.baseQueue,l=n.pending;if(null!==l){if(null!==i){var s=i.next;i.next=l.next,l.next=s}r.baseQueue=i=l,n.pending=null}if(null!==i){l=i.next,r=r.baseState;var a=s=null,c=null,d=l;do{var u=d.lane;if((ll&u)===u)null!==c&&(c=c.next={lane:0,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null}),r=d.hasEagerState?d.eagerState:e(r,d.action);else{var h={lane:u,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null};null===c?(a=c=h,s=r):c=c.next=h,sl.lanes|=u,La|=u}d=d.next}while(null!==d&&d!==l);null===c?s=r:c.next=a,sr(r,t.memoizedState)||(xs=!0),t.memoizedState=r,t.baseState=s,t.baseQueue=c,n.lastRenderedState=r}if(null!==(e=n.interleaved)){i=e;do{l=i.lane,sl.lanes|=l,La|=l,i=i.next}while(i!==e)}else null===i&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function Sl(e){var t=xl(),n=t.queue;if(null===n)throw Error(o(311));n.lastRenderedReducer=e;var r=n.dispatch,i=n.pending,l=t.memoizedState;if(null!==i){n.pending=null;var s=i=i.next;do{l=e(l,s.action),s=s.next}while(s!==i);sr(l,t.memoizedState)||(xs=!0),t.memoizedState=l,null===t.baseQueue&&(t.baseState=l),n.lastRenderedState=l}return[l,r]}function jl(){}function kl(e,t){var n=sl,r=xl(),i=t(),l=!sr(r.memoizedState,i);if(l&&(r.memoizedState=i,xs=!0),r=r.queue,Rl(Cl.bind(null,n,r,e),[e]),r.getSnapshot!==t||l||null!==cl&&1&cl.memoizedState.tag){if(n.flags|=2048,Al(9,El.bind(null,n,r,i,t),void 0,null),null===Ta)throw Error(o(349));0!==(30&ll)||_l(n,t,i)}return i}function _l(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=sl.updateQueue)?(t={lastEffect:null,stores:null},sl.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function El(e,t,n,r){t.value=n,t.getSnapshot=r,Tl(t)&&Ml(e)}function Cl(e,t,n){return n(function(){Tl(t)&&Ml(e)})}function Tl(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!sr(e,n)}catch(r){return!0}}function Ml(e){var t=Lo(e,1);null!==t&&tc(t,e,1,-1)}function Ol(e){var t=vl();return"function"===typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:bl,lastRenderedState:e},t.queue=e,e=e.dispatch=Kl.bind(null,sl,e),[t.memoizedState,e]}function Al(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=sl.updateQueue)?(t={lastEffect:null,stores:null},sl.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function Pl(){return xl().memoizedState}function Il(e,t,n,r){var i=vl();sl.flags|=e,i.memoizedState=Al(1|t,n,void 0,void 0===r?null:r)}function Dl(e,t,n,r){var i=xl();r=void 0===r?null:r;var o=void 0;if(null!==al){var l=al.memoizedState;if(o=l.destroy,null!==r&&gl(r,l.deps))return void(i.memoizedState=Al(t,n,o,r))}sl.flags|=e,i.memoizedState=Al(1|t,n,o,r)}function Ll(e,t){return Il(8390656,8,e,t)}function Rl(e,t){return Dl(2048,8,e,t)}function zl(e,t){return Dl(4,2,e,t)}function Nl(e,t){return Dl(4,4,e,t)}function Fl(e,t){return"function"===typeof t?(e=e(),t(e),function(){t(null)}):null!==t&&void 0!==t?(e=e(),t.current=e,function(){t.current=null}):void 0}function $l(e,t,n){return n=null!==n&&void 0!==n?n.concat([e]):null,Dl(4,4,Fl.bind(null,t,e),n)}function Wl(){}function Bl(e,t){var n=xl();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&gl(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Ul(e,t){var n=xl();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&gl(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Hl(e,t,n){return 0===(21&ll)?(e.baseState&&(e.baseState=!1,xs=!0),e.memoizedState=n):(sr(n,t)||(n=gt(),sl.lanes|=n,La|=n,e.baseState=!0),t)}function Vl(e,t){var n=xt;xt=0!==n&&4>n?n:4,e(!0);var r=ol.transition;ol.transition={};try{e(!1),t()}finally{xt=n,ol.transition=r}}function Yl(){return xl().memoizedState}function Gl(e,t,n){var r=ec(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},ql(e))Xl(t,n);else if(null!==(n=Do(e,t,n,r))){tc(n,e,r,Za()),Jl(n,t,r)}}function Kl(e,t,n){var r=ec(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(ql(e))Xl(t,i);else{var o=e.alternate;if(0===e.lanes&&(null===o||0===o.lanes)&&null!==(o=t.lastRenderedReducer))try{var l=t.lastRenderedState,s=o(l,n);if(i.hasEagerState=!0,i.eagerState=s,sr(s,l)){var a=t.interleaved;return null===a?(i.next=i,Io(t)):(i.next=a.next,a.next=i),void(t.interleaved=i)}}catch(c){}null!==(n=Do(e,t,i,r))&&(tc(n,e,r,i=Za()),Jl(n,t,r))}}function ql(e){var t=e.alternate;return e===sl||null!==t&&t===sl}function Xl(e,t){ul=dl=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Jl(e,t,n){if(0!==(4194240&n)){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,vt(e,n)}}var Ql={readContext:Ao,useCallback:fl,useContext:fl,useEffect:fl,useImperativeHandle:fl,useInsertionEffect:fl,useLayoutEffect:fl,useMemo:fl,useReducer:fl,useRef:fl,useState:fl,useDebugValue:fl,useDeferredValue:fl,useTransition:fl,useMutableSource:fl,useSyncExternalStore:fl,useId:fl,unstable_isNewReconciler:!1},Zl={readContext:Ao,useCallback:function(e,t){return vl().memoizedState=[e,void 0===t?null:t],e},useContext:Ao,useEffect:Ll,useImperativeHandle:function(e,t,n){return n=null!==n&&void 0!==n?n.concat([e]):null,Il(4194308,4,Fl.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Il(4194308,4,e,t)},useInsertionEffect:function(e,t){return Il(4,2,e,t)},useMemo:function(e,t){var n=vl();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=vl();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=Gl.bind(null,sl,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},vl().memoizedState=e},useState:Ol,useDebugValue:Wl,useDeferredValue:function(e){return vl().memoizedState=e},useTransition:function(){var e=Ol(!1),t=e[0];return e=Vl.bind(null,e[1]),vl().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=sl,i=vl();if(io){if(void 0===n)throw Error(o(407));n=n()}else{if(n=t(),null===Ta)throw Error(o(349));0!==(30&ll)||_l(r,t,n)}i.memoizedState=n;var l={value:n,getSnapshot:t};return i.queue=l,Ll(Cl.bind(null,r,l,e),[e]),r.flags|=2048,Al(9,El.bind(null,r,l,n,t),void 0,null),n},useId:function(){var e=vl(),t=Ta.identifierPrefix;if(io){var n=Ji;t=":"+t+"R"+(n=(Xi&~(1<<32-lt(Xi)-1)).toString(32)+n),0<(n=hl++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=pl++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},es={readContext:Ao,useCallback:Bl,useContext:Ao,useEffect:Rl,useImperativeHandle:$l,useInsertionEffect:zl,useLayoutEffect:Nl,useMemo:Ul,useReducer:wl,useRef:Pl,useState:function(){return wl(bl)},useDebugValue:Wl,useDeferredValue:function(e){return Hl(xl(),al.memoizedState,e)},useTransition:function(){return[wl(bl)[0],xl().memoizedState]},useMutableSource:jl,useSyncExternalStore:kl,useId:Yl,unstable_isNewReconciler:!1},ts={readContext:Ao,useCallback:Bl,useContext:Ao,useEffect:Rl,useImperativeHandle:$l,useInsertionEffect:zl,useLayoutEffect:Nl,useMemo:Ul,useReducer:Sl,useRef:Pl,useState:function(){return Sl(bl)},useDebugValue:Wl,useDeferredValue:function(e){var t=xl();return null===al?t.memoizedState=e:Hl(t,al.memoizedState,e)},useTransition:function(){return[Sl(bl)[0],xl().memoizedState]},useMutableSource:jl,useSyncExternalStore:kl,useId:Yl,unstable_isNewReconciler:!1};function ns(e,t){if(e&&e.defaultProps){for(var n in t=z({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}function rs(e,t,n,r){n=null===(n=n(r,t=e.memoizedState))||void 0===n?t:z({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var is={isMounted:function(e){return!!(e=e._reactInternals)&&Be(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=Za(),i=ec(e),o=Fo(r,i);o.payload=t,void 0!==n&&null!==n&&(o.callback=n),null!==(t=$o(e,o,i))&&(tc(t,e,i,r),Wo(t,e,i))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=Za(),i=ec(e),o=Fo(r,i);o.tag=1,o.payload=t,void 0!==n&&null!==n&&(o.callback=n),null!==(t=$o(e,o,i))&&(tc(t,e,i,r),Wo(t,e,i))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Za(),r=ec(e),i=Fo(n,r);i.tag=2,void 0!==t&&null!==t&&(i.callback=t),null!==(t=$o(e,i,r))&&(tc(t,e,r,n),Wo(t,e,r))}};function os(e,t,n,r,i,o,l){return"function"===typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,o,l):!t.prototype||!t.prototype.isPureReactComponent||(!ar(n,r)||!ar(i,o))}function ls(e,t,n){var r=!1,i=Ci,o=t.contextType;return"object"===typeof o&&null!==o?o=Ao(o):(i=Pi(t)?Oi:Ti.current,o=(r=null!==(r=t.contextTypes)&&void 0!==r)?Ai(e,i):Ci),t=new t(n,o),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=is,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=o),t}function ss(e,t,n,r){e=t.state,"function"===typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"===typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&is.enqueueReplaceState(t,t.state,null)}function as(e,t,n,r){var i=e.stateNode;i.props=n,i.state=e.memoizedState,i.refs={},zo(e);var o=t.contextType;"object"===typeof o&&null!==o?i.context=Ao(o):(o=Pi(t)?Oi:Ti.current,i.context=Ai(e,o)),i.state=e.memoizedState,"function"===typeof(o=t.getDerivedStateFromProps)&&(rs(e,t,o,n),i.state=e.memoizedState),"function"===typeof t.getDerivedStateFromProps||"function"===typeof i.getSnapshotBeforeUpdate||"function"!==typeof i.UNSAFE_componentWillMount&&"function"!==typeof i.componentWillMount||(t=i.state,"function"===typeof i.componentWillMount&&i.componentWillMount(),"function"===typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),t!==i.state&&is.enqueueReplaceState(i,i.state,null),Uo(e,n,i,r),i.state=e.memoizedState),"function"===typeof i.componentDidMount&&(e.flags|=4194308)}function cs(e,t){try{var n="",r=t;do{n+=W(r),r=r.return}while(r);var i=n}catch(o){i="\nError generating stack: "+o.message+"\n"+o.stack}return{value:e,source:t,stack:i,digest:null}}function ds(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function us(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var hs="function"===typeof WeakMap?WeakMap:Map;function ps(e,t,n){(n=Fo(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Ua||(Ua=!0,Ha=r),us(0,t)},n}function fs(e,t,n){(n=Fo(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"===typeof r){var i=t.value;n.payload=function(){return r(i)},n.callback=function(){us(0,t)}}var o=e.stateNode;return null!==o&&"function"===typeof o.componentDidCatch&&(n.callback=function(){us(0,t),"function"!==typeof r&&(null===Va?Va=new Set([this]):Va.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function gs(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new hs;var i=new Set;r.set(t,i)}else void 0===(i=r.get(t))&&(i=new Set,r.set(t,i));i.has(n)||(i.add(n),e=kc.bind(null,e,t,n),t.then(e,e))}function ms(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function ys(e,t,n,r,i){return 0===(1&e.mode)?(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=Fo(-1,1)).tag=2,$o(n,t,1))),n.lanes|=1),e):(e.flags|=65536,e.lanes=i,e)}var vs=b.ReactCurrentOwner,xs=!1;function bs(e,t,n,r){t.child=null===e?So(t,null,n,r):wo(t,e.child,n,r)}function ws(e,t,n,r,i){n=n.render;var o=t.ref;return Oo(t,i),r=ml(e,t,n,r,o,i),n=yl(),null===e||xs?(io&&n&&eo(t),t.flags|=1,bs(e,t,r,i),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Us(e,t,i))}function Ss(e,t,n,r,i){if(null===e){var o=n.type;return"function"!==typeof o||Ac(o)||void 0!==o.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Ic(n.type,null,r,t,t.mode,i)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=o,js(e,t,o,r,i))}if(o=e.child,0===(e.lanes&i)){var l=o.memoizedProps;if((n=null!==(n=n.compare)?n:ar)(l,r)&&e.ref===t.ref)return Us(e,t,i)}return t.flags|=1,(e=Pc(o,r)).ref=t.ref,e.return=t,t.child=e}function js(e,t,n,r,i){if(null!==e){var o=e.memoizedProps;if(ar(o,r)&&e.ref===t.ref){if(xs=!1,t.pendingProps=r=o,0===(e.lanes&i))return t.lanes=e.lanes,Us(e,t,i);0!==(131072&e.flags)&&(xs=!0)}}return Es(e,t,n,r,i)}function ks(e,t,n){var r=t.pendingProps,i=r.children,o=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(0===(1&t.mode))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Ei(Pa,Aa),Aa|=n;else{if(0===(1073741824&n))return e=null!==o?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Ei(Pa,Aa),Aa|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=null!==o?o.baseLanes:n,Ei(Pa,Aa),Aa|=r}else null!==o?(r=o.baseLanes|n,t.memoizedState=null):r=n,Ei(Pa,Aa),Aa|=r;return bs(e,t,i,n),t.child}function _s(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Es(e,t,n,r,i){var o=Pi(n)?Oi:Ti.current;return o=Ai(t,o),Oo(t,i),n=ml(e,t,n,r,o,i),r=yl(),null===e||xs?(io&&r&&eo(t),t.flags|=1,bs(e,t,n,i),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Us(e,t,i))}function Cs(e,t,n,r,i){if(Pi(n)){var o=!0;Ri(t)}else o=!1;if(Oo(t,i),null===t.stateNode)Bs(e,t),ls(t,n,r),as(t,n,r,i),r=!0;else if(null===e){var l=t.stateNode,s=t.memoizedProps;l.props=s;var a=l.context,c=n.contextType;"object"===typeof c&&null!==c?c=Ao(c):c=Ai(t,c=Pi(n)?Oi:Ti.current);var d=n.getDerivedStateFromProps,u="function"===typeof d||"function"===typeof l.getSnapshotBeforeUpdate;u||"function"!==typeof l.UNSAFE_componentWillReceiveProps&&"function"!==typeof l.componentWillReceiveProps||(s!==r||a!==c)&&ss(t,l,r,c),Ro=!1;var h=t.memoizedState;l.state=h,Uo(t,r,l,i),a=t.memoizedState,s!==r||h!==a||Mi.current||Ro?("function"===typeof d&&(rs(t,n,d,r),a=t.memoizedState),(s=Ro||os(t,n,s,r,h,a,c))?(u||"function"!==typeof l.UNSAFE_componentWillMount&&"function"!==typeof l.componentWillMount||("function"===typeof l.componentWillMount&&l.componentWillMount(),"function"===typeof l.UNSAFE_componentWillMount&&l.UNSAFE_componentWillMount()),"function"===typeof l.componentDidMount&&(t.flags|=4194308)):("function"===typeof l.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=a),l.props=r,l.state=a,l.context=c,r=s):("function"===typeof l.componentDidMount&&(t.flags|=4194308),r=!1)}else{l=t.stateNode,No(e,t),s=t.memoizedProps,c=t.type===t.elementType?s:ns(t.type,s),l.props=c,u=t.pendingProps,h=l.context,"object"===typeof(a=n.contextType)&&null!==a?a=Ao(a):a=Ai(t,a=Pi(n)?Oi:Ti.current);var p=n.getDerivedStateFromProps;(d="function"===typeof p||"function"===typeof l.getSnapshotBeforeUpdate)||"function"!==typeof l.UNSAFE_componentWillReceiveProps&&"function"!==typeof l.componentWillReceiveProps||(s!==u||h!==a)&&ss(t,l,r,a),Ro=!1,h=t.memoizedState,l.state=h,Uo(t,r,l,i);var f=t.memoizedState;s!==u||h!==f||Mi.current||Ro?("function"===typeof p&&(rs(t,n,p,r),f=t.memoizedState),(c=Ro||os(t,n,c,r,h,f,a)||!1)?(d||"function"!==typeof l.UNSAFE_componentWillUpdate&&"function"!==typeof l.componentWillUpdate||("function"===typeof l.componentWillUpdate&&l.componentWillUpdate(r,f,a),"function"===typeof l.UNSAFE_componentWillUpdate&&l.UNSAFE_componentWillUpdate(r,f,a)),"function"===typeof l.componentDidUpdate&&(t.flags|=4),"function"===typeof l.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!==typeof l.componentDidUpdate||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),"function"!==typeof l.getSnapshotBeforeUpdate||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=f),l.props=r,l.state=f,l.context=a,r=c):("function"!==typeof l.componentDidUpdate||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),"function"!==typeof l.getSnapshotBeforeUpdate||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),r=!1)}return Ts(e,t,n,r,o,i)}function Ts(e,t,n,r,i,o){_s(e,t);var l=0!==(128&t.flags);if(!r&&!l)return i&&zi(t,n,!1),Us(e,t,o);r=t.stateNode,vs.current=t;var s=l&&"function"!==typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&l?(t.child=wo(t,e.child,null,o),t.child=wo(t,null,s,o)):bs(e,t,s,o),t.memoizedState=r.state,i&&zi(t,n,!0),t.child}function Ms(e){var t=e.stateNode;t.pendingContext?Di(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Di(0,t.context,!1),Xo(e,t.containerInfo)}function Os(e,t,n,r,i){return fo(),go(i),t.flags|=256,bs(e,t,n,r),t.child}var As,Ps,Is,Ds={dehydrated:null,treeContext:null,retryLane:0};function Ls(e){return{baseLanes:e,cachePool:null,transitions:null}}function Rs(e,t,n){var r,i=t.pendingProps,l=el.current,s=!1,a=0!==(128&t.flags);if((r=a)||(r=(null===e||null!==e.memoizedState)&&0!==(2&l)),r?(s=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(l|=1),Ei(el,1&l),null===e)return co(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(0===(1&t.mode)?t.lanes=1:"$!"===e.data?t.lanes=8:t.lanes=1073741824,null):(a=i.children,e=i.fallback,s?(i=t.mode,s=t.child,a={mode:"hidden",children:a},0===(1&i)&&null!==s?(s.childLanes=0,s.pendingProps=a):s=Lc(a,i,0,null),e=Dc(e,i,n,null),s.return=t,e.return=t,s.sibling=e,t.child=s,t.child.memoizedState=Ls(n),t.memoizedState=Ds,e):zs(t,a));if(null!==(l=e.memoizedState)&&null!==(r=l.dehydrated))return function(e,t,n,r,i,l,s){if(n)return 256&t.flags?(t.flags&=-257,Ns(e,t,s,r=ds(Error(o(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(l=r.fallback,i=t.mode,r=Lc({mode:"visible",children:r.children},i,0,null),(l=Dc(l,i,s,null)).flags|=2,r.return=t,l.return=t,r.sibling=l,t.child=r,0!==(1&t.mode)&&wo(t,e.child,null,s),t.child.memoizedState=Ls(s),t.memoizedState=Ds,l);if(0===(1&t.mode))return Ns(e,t,s,null);if("$!"===i.data){if(r=i.nextSibling&&i.nextSibling.dataset)var a=r.dgst;return r=a,Ns(e,t,s,r=ds(l=Error(o(419)),r,void 0))}if(a=0!==(s&e.childLanes),xs||a){if(null!==(r=Ta)){switch(s&-s){case 4:i=2;break;case 16:i=8;break;case 64: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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:i=32;break;case 536870912:i=268435456;break;default:i=0}0!==(i=0!==(i&(r.suspendedLanes|s))?0:i)&&i!==l.retryLane&&(l.retryLane=i,Lo(e,i),tc(r,e,i,-1))}return fc(),Ns(e,t,s,r=ds(Error(o(421))))}return"$?"===i.data?(t.flags|=128,t.child=e.child,t=Ec.bind(null,e),i._reactRetry=t,null):(e=l.treeContext,ro=ci(i.nextSibling),no=t,io=!0,oo=null,null!==e&&(Gi[Ki++]=Xi,Gi[Ki++]=Ji,Gi[Ki++]=qi,Xi=e.id,Ji=e.overflow,qi=t),t=zs(t,r.children),t.flags|=4096,t)}(e,t,a,i,r,l,n);if(s){s=i.fallback,a=t.mode,r=(l=e.child).sibling;var c={mode:"hidden",children:i.children};return 0===(1&a)&&t.child!==l?((i=t.child).childLanes=0,i.pendingProps=c,t.deletions=null):(i=Pc(l,c)).subtreeFlags=14680064&l.subtreeFlags,null!==r?s=Pc(r,s):(s=Dc(s,a,n,null)).flags|=2,s.return=t,i.return=t,i.sibling=s,t.child=i,i=s,s=t.child,a=null===(a=e.child.memoizedState)?Ls(n):{baseLanes:a.baseLanes|n,cachePool:null,transitions:a.transitions},s.memoizedState=a,s.childLanes=e.childLanes&~n,t.memoizedState=Ds,i}return e=(s=e.child).sibling,i=Pc(s,{mode:"visible",children:i.children}),0===(1&t.mode)&&(i.lanes=n),i.return=t,i.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=i,t.memoizedState=null,i}function zs(e,t){return(t=Lc({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function Ns(e,t,n,r){return null!==r&&go(r),wo(t,e.child,null,n),(e=zs(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Fs(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),Mo(e.return,t,n)}function $s(e,t,n,r,i){var o=e.memoizedState;null===o?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i)}function Ws(e,t,n){var r=t.pendingProps,i=r.revealOrder,o=r.tail;if(bs(e,t,r.children,n),0!==(2&(r=el.current)))r=1&r|2,t.flags|=128;else{if(null!==e&&0!==(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Fs(e,n,t);else if(19===e.tag)Fs(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(Ei(el,r),0===(1&t.mode))t.memoizedState=null;else switch(i){case"forwards":for(n=t.child,i=null;null!==n;)null!==(e=n.alternate)&&null===tl(e)&&(i=n),n=n.sibling;null===(n=i)?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),$s(t,!1,i,n,o);break;case"backwards":for(n=null,i=t.child,t.child=null;null!==i;){if(null!==(e=i.alternate)&&null===tl(e)){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}$s(t,!0,n,null,o);break;case"together":$s(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Bs(e,t){0===(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Us(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),La|=t.lanes,0===(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(o(153));if(null!==t.child){for(n=Pc(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Pc(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Hs(e,t){if(!io)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Vs(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;null!==i;)n|=i.lanes|i.childLanes,r|=14680064&i.subtreeFlags,r|=14680064&i.flags,i.return=e,i=i.sibling;else for(i=e.child;null!==i;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Ys(e,t,n){var r=t.pendingProps;switch(to(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Vs(t),null;case 1:case 17:return Pi(t.type)&&Ii(),Vs(t),null;case 3:return r=t.stateNode,Jo(),_i(Mi),_i(Ti),rl(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(ho(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&0===(256&t.flags)||(t.flags|=1024,null!==oo&&(oc(oo),oo=null))),Vs(t),null;case 5:Zo(t);var i=qo(Ko.current);if(n=t.type,null!==e&&null!=t.stateNode)Ps(e,t,n,r),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(null===t.stateNode)throw Error(o(166));return Vs(t),null}if(e=qo(Yo.current),ho(t)){r=t.stateNode,n=t.type;var l=t.memoizedProps;switch(r[hi]=t,r[pi]=l,e=0!==(1&t.mode),n){case"dialog":Fr("cancel",r),Fr("close",r);break;case"iframe":case"object":case"embed":Fr("load",r);break;case"video":case"audio":for(i=0;i<Lr.length;i++)Fr(Lr[i],r);break;case"source":Fr("error",r);break;case"img":case"image":case"link":Fr("error",r),Fr("load",r);break;case"details":Fr("toggle",r);break;case"input":X(r,l),Fr("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!l.multiple},Fr("invalid",r);break;case"textarea":ie(r,l),Fr("invalid",r)}for(var a in ve(n,l),i=null,l)if(l.hasOwnProperty(a)){var c=l[a];"children"===a?"string"===typeof c?r.textContent!==c&&(!0!==l.suppressHydrationWarning&&Qr(r.textContent,c,e),i=["children",c]):"number"===typeof c&&r.textContent!==""+c&&(!0!==l.suppressHydrationWarning&&Qr(r.textContent,c,e),i=["children",""+c]):s.hasOwnProperty(a)&&null!=c&&"onScroll"===a&&Fr("scroll",r)}switch(n){case"input":Y(r),Z(r,l,!0);break;case"textarea":Y(r),le(r);break;case"select":case"option":break;default:"function"===typeof l.onClick&&(r.onclick=Zr)}r=i,t.updateQueue=r,null!==r&&(t.flags|=4)}else{a=9===i.nodeType?i:i.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=se(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=a.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"===typeof r.is?e=a.createElement(n,{is:r.is}):(e=a.createElement(n),"select"===n&&(a=e,r.multiple?a.multiple=!0:r.size&&(a.size=r.size))):e=a.createElementNS(e,n),e[hi]=t,e[pi]=r,As(e,t),t.stateNode=e;e:{switch(a=xe(n,r),n){case"dialog":Fr("cancel",e),Fr("close",e),i=r;break;case"iframe":case"object":case"embed":Fr("load",e),i=r;break;case"video":case"audio":for(i=0;i<Lr.length;i++)Fr(Lr[i],e);i=r;break;case"source":Fr("error",e),i=r;break;case"img":case"image":case"link":Fr("error",e),Fr("load",e),i=r;break;case"details":Fr("toggle",e),i=r;break;case"input":X(e,r),i=q(e,r),Fr("invalid",e);break;case"option":default:i=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},i=z({},r,{value:void 0}),Fr("invalid",e);break;case"textarea":ie(e,r),i=re(e,r),Fr("invalid",e)}for(l in ve(n,i),c=i)if(c.hasOwnProperty(l)){var d=c[l];"style"===l?me(e,d):"dangerouslySetInnerHTML"===l?null!=(d=d?d.__html:void 0)&&ue(e,d):"children"===l?"string"===typeof d?("textarea"!==n||""!==d)&&he(e,d):"number"===typeof d&&he(e,""+d):"suppressContentEditableWarning"!==l&&"suppressHydrationWarning"!==l&&"autoFocus"!==l&&(s.hasOwnProperty(l)?null!=d&&"onScroll"===l&&Fr("scroll",e):null!=d&&x(e,l,d,a))}switch(n){case"input":Y(e),Z(e,r,!1);break;case"textarea":Y(e),le(e);break;case"option":null!=r.value&&e.setAttribute("value",""+H(r.value));break;case"select":e.multiple=!!r.multiple,null!=(l=r.value)?ne(e,!!r.multiple,l,!1):null!=r.defaultValue&&ne(e,!!r.multiple,r.defaultValue,!0);break;default:"function"===typeof i.onClick&&(e.onclick=Zr)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return Vs(t),null;case 6:if(e&&null!=t.stateNode)Is(0,t,e.memoizedProps,r);else{if("string"!==typeof r&&null===t.stateNode)throw Error(o(166));if(n=qo(Ko.current),qo(Yo.current),ho(t)){if(r=t.stateNode,n=t.memoizedProps,r[hi]=t,(l=r.nodeValue!==n)&&null!==(e=no))switch(e.tag){case 3:Qr(r.nodeValue,n,0!==(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Qr(r.nodeValue,n,0!==(1&e.mode))}l&&(t.flags|=4)}else(r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[hi]=t,t.stateNode=r}return Vs(t),null;case 13:if(_i(el),r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(io&&null!==ro&&0!==(1&t.mode)&&0===(128&t.flags))po(),fo(),t.flags|=98560,l=!1;else if(l=ho(t),null!==r&&null!==r.dehydrated){if(null===e){if(!l)throw Error(o(318));if(!(l=null!==(l=t.memoizedState)?l.dehydrated:null))throw Error(o(317));l[hi]=t}else fo(),0===(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Vs(t),l=!1}else null!==oo&&(oc(oo),oo=null),l=!0;if(!l)return 65536&t.flags?t:null}return 0!==(128&t.flags)?(t.lanes=n,t):((r=null!==r)!==(null!==e&&null!==e.memoizedState)&&r&&(t.child.flags|=8192,0!==(1&t.mode)&&(null===e||0!==(1&el.current)?0===Ia&&(Ia=3):fc())),null!==t.updateQueue&&(t.flags|=4),Vs(t),null);case 4:return Jo(),null===e&&Br(t.stateNode.containerInfo),Vs(t),null;case 10:return To(t.type._context),Vs(t),null;case 19:if(_i(el),null===(l=t.memoizedState))return Vs(t),null;if(r=0!==(128&t.flags),null===(a=l.rendering))if(r)Hs(l,!1);else{if(0!==Ia||null!==e&&0!==(128&e.flags))for(e=t.child;null!==e;){if(null!==(a=tl(e))){for(t.flags|=128,Hs(l,!1),null!==(r=a.updateQueue)&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;null!==n;)e=r,(l=n).flags&=14680066,null===(a=l.alternate)?(l.childLanes=0,l.lanes=e,l.child=null,l.subtreeFlags=0,l.memoizedProps=null,l.memoizedState=null,l.updateQueue=null,l.dependencies=null,l.stateNode=null):(l.childLanes=a.childLanes,l.lanes=a.lanes,l.child=a.child,l.subtreeFlags=0,l.deletions=null,l.memoizedProps=a.memoizedProps,l.memoizedState=a.memoizedState,l.updateQueue=a.updateQueue,l.type=a.type,e=a.dependencies,l.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return Ei(el,1&el.current|2),t.child}e=e.sibling}null!==l.tail&&Je()>Wa&&(t.flags|=128,r=!0,Hs(l,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=tl(a))){if(t.flags|=128,r=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),Hs(l,!0),null===l.tail&&"hidden"===l.tailMode&&!a.alternate&&!io)return Vs(t),null}else 2*Je()-l.renderingStartTime>Wa&&1073741824!==n&&(t.flags|=128,r=!0,Hs(l,!1),t.lanes=4194304);l.isBackwards?(a.sibling=t.child,t.child=a):(null!==(n=l.last)?n.sibling=a:t.child=a,l.last=a)}return null!==l.tail?(t=l.tail,l.rendering=t,l.tail=t.sibling,l.renderingStartTime=Je(),t.sibling=null,n=el.current,Ei(el,r?1&n|2:1&n),t):(Vs(t),null);case 22:case 23:return dc(),r=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==r&&(t.flags|=8192),r&&0!==(1&t.mode)?0!==(1073741824&Aa)&&(Vs(t),6&t.subtreeFlags&&(t.flags|=8192)):Vs(t),null;case 24:case 25:return null}throw Error(o(156,t.tag))}function Gs(e,t){switch(to(t),t.tag){case 1:return Pi(t.type)&&Ii(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return Jo(),_i(Mi),_i(Ti),rl(),0!==(65536&(e=t.flags))&&0===(128&e)?(t.flags=-65537&e|128,t):null;case 5:return Zo(t),null;case 13:if(_i(el),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(o(340));fo()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return _i(el),null;case 4:return Jo(),null;case 10:return To(t.type._context),null;case 22:case 23:return dc(),null;default:return null}}As=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Ps=function(e,t,n,r){var i=e.memoizedProps;if(i!==r){e=t.stateNode,qo(Yo.current);var o,l=null;switch(n){case"input":i=q(e,i),r=q(e,r),l=[];break;case"select":i=z({},i,{value:void 0}),r=z({},r,{value:void 0}),l=[];break;case"textarea":i=re(e,i),r=re(e,r),l=[];break;default:"function"!==typeof i.onClick&&"function"===typeof r.onClick&&(e.onclick=Zr)}for(d in ve(n,r),n=null,i)if(!r.hasOwnProperty(d)&&i.hasOwnProperty(d)&&null!=i[d])if("style"===d){var a=i[d];for(o in a)a.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else"dangerouslySetInnerHTML"!==d&&"children"!==d&&"suppressContentEditableWarning"!==d&&"suppressHydrationWarning"!==d&&"autoFocus"!==d&&(s.hasOwnProperty(d)?l||(l=[]):(l=l||[]).push(d,null));for(d in r){var c=r[d];if(a=null!=i?i[d]:void 0,r.hasOwnProperty(d)&&c!==a&&(null!=c||null!=a))if("style"===d)if(a){for(o in a)!a.hasOwnProperty(o)||c&&c.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in c)c.hasOwnProperty(o)&&a[o]!==c[o]&&(n||(n={}),n[o]=c[o])}else n||(l||(l=[]),l.push(d,n)),n=c;else"dangerouslySetInnerHTML"===d?(c=c?c.__html:void 0,a=a?a.__html:void 0,null!=c&&a!==c&&(l=l||[]).push(d,c)):"children"===d?"string"!==typeof c&&"number"!==typeof c||(l=l||[]).push(d,""+c):"suppressContentEditableWarning"!==d&&"suppressHydrationWarning"!==d&&(s.hasOwnProperty(d)?(null!=c&&"onScroll"===d&&Fr("scroll",e),l||a===c||(l=[])):(l=l||[]).push(d,c))}n&&(l=l||[]).push("style",n);var d=l;(t.updateQueue=d)&&(t.flags|=4)}},Is=function(e,t,n,r){n!==r&&(t.flags|=4)};var Ks=!1,qs=!1,Xs="function"===typeof WeakSet?WeakSet:Set,Js=null;function Qs(e,t){var n=e.ref;if(null!==n)if("function"===typeof n)try{n(null)}catch(r){jc(e,t,r)}else n.current=null}function Zs(e,t,n){try{n()}catch(r){jc(e,t,r)}}var ea=!1;function ta(e,t,n){var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var i=r=r.next;do{if((i.tag&e)===e){var o=i.destroy;i.destroy=void 0,void 0!==o&&Zs(t,n,o)}i=i.next}while(i!==r)}}function na(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function ra(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"===typeof t?t(e):t.current=e}}function ia(e){var t=e.alternate;null!==t&&(e.alternate=null,ia(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[hi],delete t[pi],delete t[gi],delete t[mi],delete t[yi])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function oa(e){return 5===e.tag||3===e.tag||4===e.tag}function la(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||oa(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function sa(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!==(n=n._reactRootContainer)&&void 0!==n||null!==t.onclick||(t.onclick=Zr));else if(4!==r&&null!==(e=e.child))for(sa(e,t,n),e=e.sibling;null!==e;)sa(e,t,n),e=e.sibling}function aa(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(aa(e,t,n),e=e.sibling;null!==e;)aa(e,t,n),e=e.sibling}var ca=null,da=!1;function ua(e,t,n){for(n=n.child;null!==n;)ha(e,t,n),n=n.sibling}function ha(e,t,n){if(ot&&"function"===typeof ot.onCommitFiberUnmount)try{ot.onCommitFiberUnmount(it,n)}catch(s){}switch(n.tag){case 5:qs||Qs(n,t);case 6:var r=ca,i=da;ca=null,ua(e,t,n),da=i,null!==(ca=r)&&(da?(e=ca,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):ca.removeChild(n.stateNode));break;case 18:null!==ca&&(da?(e=ca,n=n.stateNode,8===e.nodeType?ai(e.parentNode,n):1===e.nodeType&&ai(e,n),Bt(e)):ai(ca,n.stateNode));break;case 4:r=ca,i=da,ca=n.stateNode.containerInfo,da=!0,ua(e,t,n),ca=r,da=i;break;case 0:case 11:case 14:case 15:if(!qs&&(null!==(r=n.updateQueue)&&null!==(r=r.lastEffect))){i=r=r.next;do{var o=i,l=o.destroy;o=o.tag,void 0!==l&&(0!==(2&o)||0!==(4&o))&&Zs(n,t,l),i=i.next}while(i!==r)}ua(e,t,n);break;case 1:if(!qs&&(Qs(n,t),"function"===typeof(r=n.stateNode).componentWillUnmount))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){jc(n,t,s)}ua(e,t,n);break;case 21:ua(e,t,n);break;case 22:1&n.mode?(qs=(r=qs)||null!==n.memoizedState,ua(e,t,n),qs=r):ua(e,t,n);break;default:ua(e,t,n)}}function pa(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Xs),t.forEach(function(t){var r=Cc.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))})}}function fa(e,t){var n=t.deletions;if(null!==n)for(var r=0;r<n.length;r++){var i=n[r];try{var l=e,s=t,a=s;e:for(;null!==a;){switch(a.tag){case 5:ca=a.stateNode,da=!1;break e;case 3:case 4:ca=a.stateNode.containerInfo,da=!0;break e}a=a.return}if(null===ca)throw Error(o(160));ha(l,s,i),ca=null,da=!1;var c=i.alternate;null!==c&&(c.return=null),i.return=null}catch(d){jc(i,t,d)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)ga(t,e),t=t.sibling}function ga(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(fa(t,e),ma(e),4&r){try{ta(3,e,e.return),na(3,e)}catch(m){jc(e,e.return,m)}try{ta(5,e,e.return)}catch(m){jc(e,e.return,m)}}break;case 1:fa(t,e),ma(e),512&r&&null!==n&&Qs(n,n.return);break;case 5:if(fa(t,e),ma(e),512&r&&null!==n&&Qs(n,n.return),32&e.flags){var i=e.stateNode;try{he(i,"")}catch(m){jc(e,e.return,m)}}if(4&r&&null!=(i=e.stateNode)){var l=e.memoizedProps,s=null!==n?n.memoizedProps:l,a=e.type,c=e.updateQueue;if(e.updateQueue=null,null!==c)try{"input"===a&&"radio"===l.type&&null!=l.name&&J(i,l),xe(a,s);var d=xe(a,l);for(s=0;s<c.length;s+=2){var u=c[s],h=c[s+1];"style"===u?me(i,h):"dangerouslySetInnerHTML"===u?ue(i,h):"children"===u?he(i,h):x(i,u,h,d)}switch(a){case"input":Q(i,l);break;case"textarea":oe(i,l);break;case"select":var p=i._wrapperState.wasMultiple;i._wrapperState.wasMultiple=!!l.multiple;var f=l.value;null!=f?ne(i,!!l.multiple,f,!1):p!==!!l.multiple&&(null!=l.defaultValue?ne(i,!!l.multiple,l.defaultValue,!0):ne(i,!!l.multiple,l.multiple?[]:"",!1))}i[pi]=l}catch(m){jc(e,e.return,m)}}break;case 6:if(fa(t,e),ma(e),4&r){if(null===e.stateNode)throw Error(o(162));i=e.stateNode,l=e.memoizedProps;try{i.nodeValue=l}catch(m){jc(e,e.return,m)}}break;case 3:if(fa(t,e),ma(e),4&r&&null!==n&&n.memoizedState.isDehydrated)try{Bt(t.containerInfo)}catch(m){jc(e,e.return,m)}break;case 4:default:fa(t,e),ma(e);break;case 13:fa(t,e),ma(e),8192&(i=e.child).flags&&(l=null!==i.memoizedState,i.stateNode.isHidden=l,!l||null!==i.alternate&&null!==i.alternate.memoizedState||($a=Je())),4&r&&pa(e);break;case 22:if(u=null!==n&&null!==n.memoizedState,1&e.mode?(qs=(d=qs)||u,fa(t,e),qs=d):fa(t,e),ma(e),8192&r){if(d=null!==e.memoizedState,(e.stateNode.isHidden=d)&&!u&&0!==(1&e.mode))for(Js=e,u=e.child;null!==u;){for(h=Js=u;null!==Js;){switch(f=(p=Js).child,p.tag){case 0:case 11:case 14:case 15:ta(4,p,p.return);break;case 1:Qs(p,p.return);var g=p.stateNode;if("function"===typeof g.componentWillUnmount){r=p,n=p.return;try{t=r,g.props=t.memoizedProps,g.state=t.memoizedState,g.componentWillUnmount()}catch(m){jc(r,n,m)}}break;case 5:Qs(p,p.return);break;case 22:if(null!==p.memoizedState){ba(h);continue}}null!==f?(f.return=p,Js=f):ba(h)}u=u.sibling}e:for(u=null,h=e;;){if(5===h.tag){if(null===u){u=h;try{i=h.stateNode,d?"function"===typeof(l=i.style).setProperty?l.setProperty("display","none","important"):l.display="none":(a=h.stateNode,s=void 0!==(c=h.memoizedProps.style)&&null!==c&&c.hasOwnProperty("display")?c.display:null,a.style.display=ge("display",s))}catch(m){jc(e,e.return,m)}}}else if(6===h.tag){if(null===u)try{h.stateNode.nodeValue=d?"":h.memoizedProps}catch(m){jc(e,e.return,m)}}else if((22!==h.tag&&23!==h.tag||null===h.memoizedState||h===e)&&null!==h.child){h.child.return=h,h=h.child;continue}if(h===e)break e;for(;null===h.sibling;){if(null===h.return||h.return===e)break e;u===h&&(u=null),h=h.return}u===h&&(u=null),h.sibling.return=h.return,h=h.sibling}}break;case 19:fa(t,e),ma(e),4&r&&pa(e);case 21:}}function ma(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(oa(n)){var r=n;break e}n=n.return}throw Error(o(160))}switch(r.tag){case 5:var i=r.stateNode;32&r.flags&&(he(i,""),r.flags&=-33),aa(e,la(e),i);break;case 3:case 4:var l=r.stateNode.containerInfo;sa(e,la(e),l);break;default:throw Error(o(161))}}catch(s){jc(e,e.return,s)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function ya(e,t,n){Js=e,va(e,t,n)}function va(e,t,n){for(var r=0!==(1&e.mode);null!==Js;){var i=Js,o=i.child;if(22===i.tag&&r){var l=null!==i.memoizedState||Ks;if(!l){var s=i.alternate,a=null!==s&&null!==s.memoizedState||qs;s=Ks;var c=qs;if(Ks=l,(qs=a)&&!c)for(Js=i;null!==Js;)a=(l=Js).child,22===l.tag&&null!==l.memoizedState?wa(i):null!==a?(a.return=l,Js=a):wa(i);for(;null!==o;)Js=o,va(o,t,n),o=o.sibling;Js=i,Ks=s,qs=c}xa(e)}else 0!==(8772&i.subtreeFlags)&&null!==o?(o.return=i,Js=o):xa(e)}}function xa(e){for(;null!==Js;){var t=Js;if(0!==(8772&t.flags)){var n=t.alternate;try{if(0!==(8772&t.flags))switch(t.tag){case 0:case 11:case 15:qs||na(5,t);break;case 1:var r=t.stateNode;if(4&t.flags&&!qs)if(null===n)r.componentDidMount();else{var i=t.elementType===t.type?n.memoizedProps:ns(t.type,n.memoizedProps);r.componentDidUpdate(i,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var l=t.updateQueue;null!==l&&Ho(t,l,r);break;case 3:var s=t.updateQueue;if(null!==s){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}Ho(t,s,n)}break;case 5:var a=t.stateNode;if(null===n&&4&t.flags){n=a;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&n.focus();break;case"img":c.src&&(n.src=c.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var d=t.alternate;if(null!==d){var u=d.memoizedState;if(null!==u){var h=u.dehydrated;null!==h&&Bt(h)}}}break;default:throw Error(o(163))}qs||512&t.flags&&ra(t)}catch(p){jc(t,t.return,p)}}if(t===e){Js=null;break}if(null!==(n=t.sibling)){n.return=t.return,Js=n;break}Js=t.return}}function ba(e){for(;null!==Js;){var t=Js;if(t===e){Js=null;break}var n=t.sibling;if(null!==n){n.return=t.return,Js=n;break}Js=t.return}}function wa(e){for(;null!==Js;){var t=Js;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{na(4,t)}catch(a){jc(t,n,a)}break;case 1:var r=t.stateNode;if("function"===typeof r.componentDidMount){var i=t.return;try{r.componentDidMount()}catch(a){jc(t,i,a)}}var o=t.return;try{ra(t)}catch(a){jc(t,o,a)}break;case 5:var l=t.return;try{ra(t)}catch(a){jc(t,l,a)}}}catch(a){jc(t,t.return,a)}if(t===e){Js=null;break}var s=t.sibling;if(null!==s){s.return=t.return,Js=s;break}Js=t.return}}var Sa,ja=Math.ceil,ka=b.ReactCurrentDispatcher,_a=b.ReactCurrentOwner,Ea=b.ReactCurrentBatchConfig,Ca=0,Ta=null,Ma=null,Oa=0,Aa=0,Pa=ki(0),Ia=0,Da=null,La=0,Ra=0,za=0,Na=null,Fa=null,$a=0,Wa=1/0,Ba=null,Ua=!1,Ha=null,Va=null,Ya=!1,Ga=null,Ka=0,qa=0,Xa=null,Ja=-1,Qa=0;function Za(){return 0!==(6&Ca)?Je():-1!==Ja?Ja:Ja=Je()}function ec(e){return 0===(1&e.mode)?1:0!==(2&Ca)&&0!==Oa?Oa&-Oa:null!==mo.transition?(0===Qa&&(Qa=gt()),Qa):0!==(e=xt)?e:e=void 0===(e=window.event)?16:Xt(e.type)}function tc(e,t,n,r){if(50<qa)throw qa=0,Xa=null,Error(o(185));yt(e,n,r),0!==(2&Ca)&&e===Ta||(e===Ta&&(0===(2&Ca)&&(Ra|=n),4===Ia&&lc(e,Oa)),nc(e,r),1===n&&0===Ca&&0===(1&t.mode)&&(Wa=Je()+500,Fi&&Bi()))}function nc(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,o=e.pendingLanes;0<o;){var l=31-lt(o),s=1<<l,a=i[l];-1===a?0!==(s&n)&&0===(s&r)||(i[l]=pt(s,t)):a<=t&&(e.expiredLanes|=s),o&=~s}}(e,t);var r=ht(e,e===Ta?Oa:0);if(0===r)null!==n&&Ke(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(null!=n&&Ke(n),1===t)0===e.tag?function(e){Fi=!0,Wi(e)}(sc.bind(null,e)):Wi(sc.bind(null,e)),li(function(){0===(6&Ca)&&Bi()}),n=null;else{switch(bt(r)){case 1:n=Ze;break;case 4:n=et;break;case 16:default:n=tt;break;case 536870912:n=rt}n=Tc(n,rc.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function rc(e,t){if(Ja=-1,Qa=0,0!==(6&Ca))throw Error(o(327));var n=e.callbackNode;if(wc()&&e.callbackNode!==n)return null;var r=ht(e,e===Ta?Oa:0);if(0===r)return null;if(0!==(30&r)||0!==(r&e.expiredLanes)||t)t=gc(e,r);else{t=r;var i=Ca;Ca|=2;var l=pc();for(Ta===e&&Oa===t||(Ba=null,Wa=Je()+500,uc(e,t));;)try{yc();break}catch(a){hc(e,a)}Co(),ka.current=l,Ca=i,null!==Ma?t=0:(Ta=null,Oa=0,t=Ia)}if(0!==t){if(2===t&&(0!==(i=ft(e))&&(r=i,t=ic(e,i))),1===t)throw n=Da,uc(e,0),lc(e,r),nc(e,Je()),n;if(6===t)lc(e,r);else{if(i=e.current.alternate,0===(30&r)&&!function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var i=n[r],o=i.getSnapshot;i=i.value;try{if(!sr(o(),i))return!1}catch(s){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(i)&&(2===(t=gc(e,r))&&(0!==(l=ft(e))&&(r=l,t=ic(e,l))),1===t))throw n=Da,uc(e,0),lc(e,r),nc(e,Je()),n;switch(e.finishedWork=i,e.finishedLanes=r,t){case 0:case 1:throw Error(o(345));case 2:case 5:bc(e,Fa,Ba);break;case 3:if(lc(e,r),(130023424&r)===r&&10<(t=$a+500-Je())){if(0!==ht(e,0))break;if(((i=e.suspendedLanes)&r)!==r){Za(),e.pingedLanes|=e.suspendedLanes&i;break}e.timeoutHandle=ri(bc.bind(null,e,Fa,Ba),t);break}bc(e,Fa,Ba);break;case 4:if(lc(e,r),(4194240&r)===r)break;for(t=e.eventTimes,i=-1;0<r;){var s=31-lt(r);l=1<<s,(s=t[s])>i&&(i=s),r&=~l}if(r=i,10<(r=(120>(r=Je()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*ja(r/1960))-r)){e.timeoutHandle=ri(bc.bind(null,e,Fa,Ba),r);break}bc(e,Fa,Ba);break;default:throw Error(o(329))}}}return nc(e,Je()),e.callbackNode===n?rc.bind(null,e):null}function ic(e,t){var n=Na;return e.current.memoizedState.isDehydrated&&(uc(e,t).flags|=256),2!==(e=gc(e,t))&&(t=Fa,Fa=n,null!==t&&oc(t)),e}function oc(e){null===Fa?Fa=e:Fa.push.apply(Fa,e)}function lc(e,t){for(t&=~za,t&=~Ra,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-lt(t),r=1<<n;e[n]=-1,t&=~r}}function sc(e){if(0!==(6&Ca))throw Error(o(327));wc();var t=ht(e,0);if(0===(1&t))return nc(e,Je()),null;var n=gc(e,t);if(0!==e.tag&&2===n){var r=ft(e);0!==r&&(t=r,n=ic(e,r))}if(1===n)throw n=Da,uc(e,0),lc(e,t),nc(e,Je()),n;if(6===n)throw Error(o(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,bc(e,Fa,Ba),nc(e,Je()),null}function ac(e,t){var n=Ca;Ca|=1;try{return e(t)}finally{0===(Ca=n)&&(Wa=Je()+500,Fi&&Bi())}}function cc(e){null!==Ga&&0===Ga.tag&&0===(6&Ca)&&wc();var t=Ca;Ca|=1;var n=Ea.transition,r=xt;try{if(Ea.transition=null,xt=1,e)return e()}finally{xt=r,Ea.transition=n,0===(6&(Ca=t))&&Bi()}}function dc(){Aa=Pa.current,_i(Pa)}function uc(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,ii(n)),null!==Ma)for(n=Ma.return;null!==n;){var r=n;switch(to(r),r.tag){case 1:null!==(r=r.type.childContextTypes)&&void 0!==r&&Ii();break;case 3:Jo(),_i(Mi),_i(Ti),rl();break;case 5:Zo(r);break;case 4:Jo();break;case 13:case 19:_i(el);break;case 10:To(r.type._context);break;case 22:case 23:dc()}n=n.return}if(Ta=e,Ma=e=Pc(e.current,null),Oa=Aa=t,Ia=0,Da=null,za=Ra=La=0,Fa=Na=null,null!==Po){for(t=0;t<Po.length;t++)if(null!==(r=(n=Po[t]).interleaved)){n.interleaved=null;var i=r.next,o=n.pending;if(null!==o){var l=o.next;o.next=i,r.next=l}n.pending=r}Po=null}return e}function hc(e,t){for(;;){var n=Ma;try{if(Co(),il.current=Ql,dl){for(var r=sl.memoizedState;null!==r;){var i=r.queue;null!==i&&(i.pending=null),r=r.next}dl=!1}if(ll=0,cl=al=sl=null,ul=!1,hl=0,_a.current=null,null===n||null===n.return){Ia=1,Da=t,Ma=null;break}e:{var l=e,s=n.return,a=n,c=t;if(t=Oa,a.flags|=32768,null!==c&&"object"===typeof c&&"function"===typeof c.then){var d=c,u=a,h=u.tag;if(0===(1&u.mode)&&(0===h||11===h||15===h)){var p=u.alternate;p?(u.updateQueue=p.updateQueue,u.memoizedState=p.memoizedState,u.lanes=p.lanes):(u.updateQueue=null,u.memoizedState=null)}var f=ms(s);if(null!==f){f.flags&=-257,ys(f,s,a,0,t),1&f.mode&&gs(l,d,t),c=d;var g=(t=f).updateQueue;if(null===g){var m=new Set;m.add(c),t.updateQueue=m}else g.add(c);break e}if(0===(1&t)){gs(l,d,t),fc();break e}c=Error(o(426))}else if(io&&1&a.mode){var y=ms(s);if(null!==y){0===(65536&y.flags)&&(y.flags|=256),ys(y,s,a,0,t),go(cs(c,a));break e}}l=c=cs(c,a),4!==Ia&&(Ia=2),null===Na?Na=[l]:Na.push(l),l=s;do{switch(l.tag){case 3:l.flags|=65536,t&=-t,l.lanes|=t,Bo(l,ps(0,c,t));break e;case 1:a=c;var v=l.type,x=l.stateNode;if(0===(128&l.flags)&&("function"===typeof v.getDerivedStateFromError||null!==x&&"function"===typeof x.componentDidCatch&&(null===Va||!Va.has(x)))){l.flags|=65536,t&=-t,l.lanes|=t,Bo(l,fs(l,a,t));break e}}l=l.return}while(null!==l)}xc(n)}catch(b){t=b,Ma===n&&null!==n&&(Ma=n=n.return);continue}break}}function pc(){var e=ka.current;return ka.current=Ql,null===e?Ql:e}function fc(){0!==Ia&&3!==Ia&&2!==Ia||(Ia=4),null===Ta||0===(268435455&La)&&0===(268435455&Ra)||lc(Ta,Oa)}function gc(e,t){var n=Ca;Ca|=2;var r=pc();for(Ta===e&&Oa===t||(Ba=null,uc(e,t));;)try{mc();break}catch(i){hc(e,i)}if(Co(),Ca=n,ka.current=r,null!==Ma)throw Error(o(261));return Ta=null,Oa=0,Ia}function mc(){for(;null!==Ma;)vc(Ma)}function yc(){for(;null!==Ma&&!qe();)vc(Ma)}function vc(e){var t=Sa(e.alternate,e,Aa);e.memoizedProps=e.pendingProps,null===t?xc(e):Ma=t,_a.current=null}function xc(e){var t=e;do{var n=t.alternate;if(e=t.return,0===(32768&t.flags)){if(null!==(n=Ys(n,t,Aa)))return void(Ma=n)}else{if(null!==(n=Gs(n,t)))return n.flags&=32767,void(Ma=n);if(null===e)return Ia=6,void(Ma=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}if(null!==(t=t.sibling))return void(Ma=t);Ma=t=e}while(null!==t);0===Ia&&(Ia=5)}function bc(e,t,n){var r=xt,i=Ea.transition;try{Ea.transition=null,xt=1,function(e,t,n,r){do{wc()}while(null!==Ga);if(0!==(6&Ca))throw Error(o(327));n=e.finishedWork;var i=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(o(177));e.callbackNode=null,e.callbackPriority=0;var l=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var i=31-lt(n),o=1<<i;t[i]=0,r[i]=-1,e[i]=-1,n&=~o}}(e,l),e===Ta&&(Ma=Ta=null,Oa=0),0===(2064&n.subtreeFlags)&&0===(2064&n.flags)||Ya||(Ya=!0,Tc(tt,function(){return wc(),null})),l=0!==(15990&n.flags),0!==(15990&n.subtreeFlags)||l){l=Ea.transition,Ea.transition=null;var s=xt;xt=1;var a=Ca;Ca|=4,_a.current=null,function(e,t){if(ei=Ht,pr(e=hr())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var r=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(r&&0!==r.rangeCount){n=r.anchorNode;var i=r.anchorOffset,l=r.focusNode;r=r.focusOffset;try{n.nodeType,l.nodeType}catch(w){n=null;break e}var s=0,a=-1,c=-1,d=0,u=0,h=e,p=null;t:for(;;){for(var f;h!==n||0!==i&&3!==h.nodeType||(a=s+i),h!==l||0!==r&&3!==h.nodeType||(c=s+r),3===h.nodeType&&(s+=h.nodeValue.length),null!==(f=h.firstChild);)p=h,h=f;for(;;){if(h===e)break t;if(p===n&&++d===i&&(a=s),p===l&&++u===r&&(c=s),null!==(f=h.nextSibling))break;p=(h=p).parentNode}h=f}n=-1===a||-1===c?null:{start:a,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(ti={focusedElem:e,selectionRange:n},Ht=!1,Js=t;null!==Js;)if(e=(t=Js).child,0!==(1028&t.subtreeFlags)&&null!==e)e.return=t,Js=e;else for(;null!==Js;){t=Js;try{var g=t.alternate;if(0!==(1024&t.flags))switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==g){var m=g.memoizedProps,y=g.memoizedState,v=t.stateNode,x=v.getSnapshotBeforeUpdate(t.elementType===t.type?m:ns(t.type,m),y);v.__reactInternalSnapshotBeforeUpdate=x}break;case 3:var b=t.stateNode.containerInfo;1===b.nodeType?b.textContent="":9===b.nodeType&&b.documentElement&&b.removeChild(b.documentElement);break;default:throw Error(o(163))}}catch(w){jc(t,t.return,w)}if(null!==(e=t.sibling)){e.return=t.return,Js=e;break}Js=t.return}g=ea,ea=!1}(e,n),ga(n,e),fr(ti),Ht=!!ei,ti=ei=null,e.current=n,ya(n,e,i),Xe(),Ca=a,xt=s,Ea.transition=l}else e.current=n;if(Ya&&(Ya=!1,Ga=e,Ka=i),l=e.pendingLanes,0===l&&(Va=null),function(e){if(ot&&"function"===typeof ot.onCommitFiberRoot)try{ot.onCommitFiberRoot(it,e,void 0,128===(128&e.current.flags))}catch(t){}}(n.stateNode),nc(e,Je()),null!==t)for(r=e.onRecoverableError,n=0;n<t.length;n++)i=t[n],r(i.value,{componentStack:i.stack,digest:i.digest});if(Ua)throw Ua=!1,e=Ha,Ha=null,e;0!==(1&Ka)&&0!==e.tag&&wc(),l=e.pendingLanes,0!==(1&l)?e===Xa?qa++:(qa=0,Xa=e):qa=0,Bi()}(e,t,n,r)}finally{Ea.transition=i,xt=r}return null}function wc(){if(null!==Ga){var e=bt(Ka),t=Ea.transition,n=xt;try{if(Ea.transition=null,xt=16>e?16:e,null===Ga)var r=!1;else{if(e=Ga,Ga=null,Ka=0,0!==(6&Ca))throw Error(o(331));var i=Ca;for(Ca|=4,Js=e.current;null!==Js;){var l=Js,s=l.child;if(0!==(16&Js.flags)){var a=l.deletions;if(null!==a){for(var c=0;c<a.length;c++){var d=a[c];for(Js=d;null!==Js;){var u=Js;switch(u.tag){case 0:case 11:case 15:ta(8,u,l)}var h=u.child;if(null!==h)h.return=u,Js=h;else for(;null!==Js;){var p=(u=Js).sibling,f=u.return;if(ia(u),u===d){Js=null;break}if(null!==p){p.return=f,Js=p;break}Js=f}}}var g=l.alternate;if(null!==g){var m=g.child;if(null!==m){g.child=null;do{var y=m.sibling;m.sibling=null,m=y}while(null!==m)}}Js=l}}if(0!==(2064&l.subtreeFlags)&&null!==s)s.return=l,Js=s;else e:for(;null!==Js;){if(0!==(2048&(l=Js).flags))switch(l.tag){case 0:case 11:case 15:ta(9,l,l.return)}var v=l.sibling;if(null!==v){v.return=l.return,Js=v;break e}Js=l.return}}var x=e.current;for(Js=x;null!==Js;){var b=(s=Js).child;if(0!==(2064&s.subtreeFlags)&&null!==b)b.return=s,Js=b;else e:for(s=x;null!==Js;){if(0!==(2048&(a=Js).flags))try{switch(a.tag){case 0:case 11:case 15:na(9,a)}}catch(S){jc(a,a.return,S)}if(a===s){Js=null;break e}var w=a.sibling;if(null!==w){w.return=a.return,Js=w;break e}Js=a.return}}if(Ca=i,Bi(),ot&&"function"===typeof ot.onPostCommitFiberRoot)try{ot.onPostCommitFiberRoot(it,e)}catch(S){}r=!0}return r}finally{xt=n,Ea.transition=t}}return!1}function Sc(e,t,n){e=$o(e,t=ps(0,t=cs(n,t),1),1),t=Za(),null!==e&&(yt(e,1,t),nc(e,t))}function jc(e,t,n){if(3===e.tag)Sc(e,e,n);else for(;null!==t;){if(3===t.tag){Sc(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"===typeof t.type.getDerivedStateFromError||"function"===typeof r.componentDidCatch&&(null===Va||!Va.has(r))){t=$o(t,e=fs(t,e=cs(n,e),1),1),e=Za(),null!==t&&(yt(t,1,e),nc(t,e));break}}t=t.return}}function kc(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=Za(),e.pingedLanes|=e.suspendedLanes&n,Ta===e&&(Oa&n)===n&&(4===Ia||3===Ia&&(130023424&Oa)===Oa&&500>Je()-$a?uc(e,0):za|=n),nc(e,t)}function _c(e,t){0===t&&(0===(1&e.mode)?t=1:(t=dt,0===(130023424&(dt<<=1))&&(dt=4194304)));var n=Za();null!==(e=Lo(e,t))&&(yt(e,t,n),nc(e,n))}function Ec(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),_c(e,n)}function Cc(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;null!==i&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(o(314))}null!==r&&r.delete(t),_c(e,n)}function Tc(e,t){return Ge(e,t)}function Mc(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Oc(e,t,n,r){return new Mc(e,t,n,r)}function Ac(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Pc(e,t){var n=e.alternate;return null===n?((n=Oc(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Ic(e,t,n,r,i,l){var s=2;if(r=e,"function"===typeof e)Ac(e)&&(s=1);else if("string"===typeof e)s=5;else e:switch(e){case j:return Dc(n.children,i,l,t);case k:s=8,i|=8;break;case _:return(e=Oc(12,n,t,2|i)).elementType=_,e.lanes=l,e;case M:return(e=Oc(13,n,t,i)).elementType=M,e.lanes=l,e;case O:return(e=Oc(19,n,t,i)).elementType=O,e.lanes=l,e;case I:return Lc(n,i,l,t);default:if("object"===typeof e&&null!==e)switch(e.$$typeof){case E:s=10;break e;case C:s=9;break e;case T:s=11;break e;case A:s=14;break e;case P:s=16,r=null;break e}throw Error(o(130,null==e?e:typeof e,""))}return(t=Oc(s,n,t,i)).elementType=e,t.type=r,t.lanes=l,t}function Dc(e,t,n,r){return(e=Oc(7,e,r,t)).lanes=n,e}function Lc(e,t,n,r){return(e=Oc(22,e,r,t)).elementType=I,e.lanes=n,e.stateNode={isHidden:!1},e}function Rc(e,t,n){return(e=Oc(6,e,null,t)).lanes=n,e}function zc(e,t,n){return(t=Oc(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Nc(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=mt(0),this.expirationTimes=mt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=mt(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function Fc(e,t,n,r,i,o,l,s,a){return e=new Nc(e,t,n,s,a),1===t?(t=1,!0===o&&(t|=8)):t=0,o=Oc(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},zo(o),e}function $c(e){if(!e)return Ci;e:{if(Be(e=e._reactInternals)!==e||1!==e.tag)throw Error(o(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Pi(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(o(171))}if(1===e.tag){var n=e.type;if(Pi(n))return Li(e,n,t)}return t}function Wc(e,t,n,r,i,o,l,s,a){return(e=Fc(n,r,!0,e,0,o,0,s,a)).context=$c(null),n=e.current,(o=Fo(r=Za(),i=ec(n))).callback=void 0!==t&&null!==t?t:null,$o(n,o,i),e.current.lanes=i,yt(e,i,r),nc(e,r),e}function Bc(e,t,n,r){var i=t.current,o=Za(),l=ec(i);return n=$c(n),null===t.context?t.context=n:t.pendingContext=n,(t=Fo(o,l)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),null!==(e=$o(i,t,l))&&(tc(e,i,l,o),Wo(e,i,l)),l}function Uc(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Hc(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function Vc(e,t){Hc(e,t),(e=e.alternate)&&Hc(e,t)}Sa=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||Mi.current)xs=!0;else{if(0===(e.lanes&n)&&0===(128&t.flags))return xs=!1,function(e,t,n){switch(t.tag){case 3:Ms(t),fo();break;case 5:Qo(t);break;case 1:Pi(t.type)&&Ri(t);break;case 4:Xo(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,i=t.memoizedProps.value;Ei(jo,r._currentValue),r._currentValue=i;break;case 13:if(null!==(r=t.memoizedState))return null!==r.dehydrated?(Ei(el,1&el.current),t.flags|=128,null):0!==(n&t.child.childLanes)?Rs(e,t,n):(Ei(el,1&el.current),null!==(e=Us(e,t,n))?e.sibling:null);Ei(el,1&el.current);break;case 19:if(r=0!==(n&t.childLanes),0!==(128&e.flags)){if(r)return Ws(e,t,n);t.flags|=128}if(null!==(i=t.memoizedState)&&(i.rendering=null,i.tail=null,i.lastEffect=null),Ei(el,el.current),r)break;return null;case 22:case 23:return t.lanes=0,ks(e,t,n)}return Us(e,t,n)}(e,t,n);xs=0!==(131072&e.flags)}else xs=!1,io&&0!==(1048576&t.flags)&&Zi(t,Yi,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Bs(e,t),e=t.pendingProps;var i=Ai(t,Ti.current);Oo(t,n),i=ml(null,t,r,e,i,n);var l=yl();return t.flags|=1,"object"===typeof i&&null!==i&&"function"===typeof i.render&&void 0===i.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Pi(r)?(l=!0,Ri(t)):l=!1,t.memoizedState=null!==i.state&&void 0!==i.state?i.state:null,zo(t),i.updater=is,t.stateNode=i,i._reactInternals=t,as(t,r,e,n),t=Ts(null,t,r,!0,l,n)):(t.tag=0,io&&l&&eo(t),bs(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Bs(e,t),e=t.pendingProps,r=(i=r._init)(r._payload),t.type=r,i=t.tag=function(e){if("function"===typeof e)return Ac(e)?1:0;if(void 0!==e&&null!==e){if((e=e.$$typeof)===T)return 11;if(e===A)return 14}return 2}(r),e=ns(r,e),i){case 0:t=Es(null,t,r,e,n);break e;case 1:t=Cs(null,t,r,e,n);break e;case 11:t=ws(null,t,r,e,n);break e;case 14:t=Ss(null,t,r,ns(r.type,e),n);break e}throw Error(o(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,Es(e,t,r,i=t.elementType===r?i:ns(r,i),n);case 1:return r=t.type,i=t.pendingProps,Cs(e,t,r,i=t.elementType===r?i:ns(r,i),n);case 3:e:{if(Ms(t),null===e)throw Error(o(387));r=t.pendingProps,i=(l=t.memoizedState).element,No(e,t),Uo(t,r,null,n);var s=t.memoizedState;if(r=s.element,l.isDehydrated){if(l={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=l,t.memoizedState=l,256&t.flags){t=Os(e,t,r,n,i=cs(Error(o(423)),t));break e}if(r!==i){t=Os(e,t,r,n,i=cs(Error(o(424)),t));break e}for(ro=ci(t.stateNode.containerInfo.firstChild),no=t,io=!0,oo=null,n=So(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(fo(),r===i){t=Us(e,t,n);break e}bs(e,t,r,n)}t=t.child}return t;case 5:return Qo(t),null===e&&co(t),r=t.type,i=t.pendingProps,l=null!==e?e.memoizedProps:null,s=i.children,ni(r,i)?s=null:null!==l&&ni(r,l)&&(t.flags|=32),_s(e,t),bs(e,t,s,n),t.child;case 6:return null===e&&co(t),null;case 13:return Rs(e,t,n);case 4:return Xo(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=wo(t,null,r,n):bs(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,ws(e,t,r,i=t.elementType===r?i:ns(r,i),n);case 7:return bs(e,t,t.pendingProps,n),t.child;case 8:case 12:return bs(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,l=t.memoizedProps,s=i.value,Ei(jo,r._currentValue),r._currentValue=s,null!==l)if(sr(l.value,s)){if(l.children===i.children&&!Mi.current){t=Us(e,t,n);break e}}else for(null!==(l=t.child)&&(l.return=t);null!==l;){var a=l.dependencies;if(null!==a){s=l.child;for(var c=a.firstContext;null!==c;){if(c.context===r){if(1===l.tag){(c=Fo(-1,n&-n)).tag=2;var d=l.updateQueue;if(null!==d){var u=(d=d.shared).pending;null===u?c.next=c:(c.next=u.next,u.next=c),d.pending=c}}l.lanes|=n,null!==(c=l.alternate)&&(c.lanes|=n),Mo(l.return,n,t),a.lanes|=n;break}c=c.next}}else if(10===l.tag)s=l.type===t.type?null:l.child;else if(18===l.tag){if(null===(s=l.return))throw Error(o(341));s.lanes|=n,null!==(a=s.alternate)&&(a.lanes|=n),Mo(s,n,t),s=l.sibling}else s=l.child;if(null!==s)s.return=l;else for(s=l;null!==s;){if(s===t){s=null;break}if(null!==(l=s.sibling)){l.return=s.return,s=l;break}s=s.return}l=s}bs(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,Oo(t,n),r=r(i=Ao(i)),t.flags|=1,bs(e,t,r,n),t.child;case 14:return i=ns(r=t.type,t.pendingProps),Ss(e,t,r,i=ns(r.type,i),n);case 15:return js(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ns(r,i),Bs(e,t),t.tag=1,Pi(r)?(e=!0,Ri(t)):e=!1,Oo(t,n),ls(t,r,i),as(t,r,i,n),Ts(null,t,r,!0,e,n);case 19:return Ws(e,t,n);case 22:return ks(e,t,n)}throw Error(o(156,t.tag))};var Yc="function"===typeof reportError?reportError:function(e){console.error(e)};function Gc(e){this._internalRoot=e}function Kc(e){this._internalRoot=e}function qc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Xc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Jc(){}function Qc(e,t,n,r,i){var o=n._reactRootContainer;if(o){var l=o;if("function"===typeof i){var s=i;i=function(){var e=Uc(l);s.call(e)}}Bc(t,l,e,i)}else l=function(e,t,n,r,i){if(i){if("function"===typeof r){var o=r;r=function(){var e=Uc(l);o.call(e)}}var l=Wc(t,r,e,0,null,!1,0,"",Jc);return e._reactRootContainer=l,e[fi]=l.current,Br(8===e.nodeType?e.parentNode:e),cc(),l}for(;i=e.lastChild;)e.removeChild(i);if("function"===typeof r){var s=r;r=function(){var e=Uc(a);s.call(e)}}var a=Fc(e,0,!1,null,0,!1,0,"",Jc);return e._reactRootContainer=a,e[fi]=a.current,Br(8===e.nodeType?e.parentNode:e),cc(function(){Bc(t,a,n,r)}),a}(n,t,e,i,r);return Uc(l)}Kc.prototype.render=Gc.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(o(409));Bc(e,t,null,null)},Kc.prototype.unmount=Gc.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;cc(function(){Bc(null,e,null,null)}),t[fi]=null}},Kc.prototype.unstable_scheduleHydration=function(e){if(e){var t=kt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<It.length&&0!==t&&t<It[n].priority;n++);It.splice(n,0,e),0===n&&zt(e)}},wt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=ut(t.pendingLanes);0!==n&&(vt(t,1|n),nc(t,Je()),0===(6&Ca)&&(Wa=Je()+500,Bi()))}break;case 13:cc(function(){var t=Lo(e,1);if(null!==t){var n=Za();tc(t,e,1,n)}}),Vc(e,1)}},St=function(e){if(13===e.tag){var t=Lo(e,134217728);if(null!==t)tc(t,e,134217728,Za());Vc(e,134217728)}},jt=function(e){if(13===e.tag){var t=ec(e),n=Lo(e,t);if(null!==n)tc(n,e,t,Za());Vc(e,t)}},kt=function(){return xt},_t=function(e,t){var n=xt;try{return xt=e,t()}finally{xt=n}},Se=function(e,t,n){switch(t){case"input":if(Q(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var i=wi(r);if(!i)throw Error(o(90));G(r),Q(r,i)}}}break;case"textarea":oe(e,n);break;case"select":null!=(t=n.value)&&ne(e,!!n.multiple,t,!1)}},Te=ac,Me=cc;var Zc={usingClientEntryPoint:!1,Events:[xi,bi,wi,Ee,Ce,ac]},ed={findFiberByHostInstance:vi,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},td={bundleType:ed.bundleType,version:ed.version,rendererPackageName:ed.rendererPackageName,rendererConfig:ed.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:b.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ve(e))?null:e.stateNode},findFiberByHostInstance:ed.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var nd=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!nd.isDisabled&&nd.supportsFiber)try{it=nd.inject(td),ot=nd}catch(de){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Zc,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!qc(t))throw Error(o(200));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:S,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.createRoot=function(e,t){if(!qc(e))throw Error(o(299));var n=!1,r="",i=Yc;return null!==t&&void 0!==t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onRecoverableError&&(i=t.onRecoverableError)),t=Fc(e,1,!1,null,0,n,0,r,i),e[fi]=t.current,Br(8===e.nodeType?e.parentNode:e),new Gc(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"===typeof e.render)throw Error(o(188));throw e=Object.keys(e).join(","),Error(o(268,e))}return e=null===(e=Ve(t))?null:e.stateNode},t.flushSync=function(e){return cc(e)},t.hydrate=function(e,t,n){if(!Xc(t))throw Error(o(200));return Qc(null,e,t,!0,n)},t.hydrateRoot=function(e,t,n){if(!qc(e))throw Error(o(405));var r=null!=n&&n.hydratedSources||null,i=!1,l="",s=Yc;if(null!==n&&void 0!==n&&(!0===n.unstable_strictMode&&(i=!0),void 0!==n.identifierPrefix&&(l=n.identifierPrefix),void 0!==n.onRecoverableError&&(s=n.onRecoverableError)),t=Wc(t,null,e,1,null!=n?n:null,i,0,l,s),e[fi]=t.current,Br(e),r)for(e=0;e<r.length;e++)i=(i=(n=r[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,i]:t.mutableSourceEagerHydrationData.push(n,i);return new Kc(t)},t.render=function(e,t,n){if(!Xc(t))throw Error(o(200));return Qc(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Xc(e))throw Error(o(40));return!!e._reactRootContainer&&(cc(function(){Qc(null,null,e,!1,function(){e._reactRootContainer=null,e[fi]=null})}),!0)},t.unstable_batchedUpdates=ac,t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Xc(n))throw Error(o(200));if(null==e||void 0===e._reactInternals)throw Error(o(38));return Qc(e,t,n,!1,r)},t.version="18.3.1-next-f1338f8080-20240426"},4391(e,t,n){"use strict";var r=n(7950);t.createRoot=r.createRoot,t.hydrateRoot=r.hydrateRoot},7950(e,t,n){"use strict";!function e(){if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(2730)},5082(e,t){"use strict";var n=60103,r=60106,i=60107,o=60108,l=60114,s=60109,a=60110,c=60112,d=60113,u=60120,h=60115,p=60116,f=60121,g=60122,m=60117,y=60129,v=60131;if("function"===typeof Symbol&&Symbol.for){var x=Symbol.for;n=x("react.element"),r=x("react.portal"),i=x("react.fragment"),o=x("react.strict_mode"),l=x("react.profiler"),s=x("react.provider"),a=x("react.context"),c=x("react.forward_ref"),d=x("react.suspense"),u=x("react.suspense_list"),h=x("react.memo"),p=x("react.lazy"),f=x("react.block"),g=x("react.server.block"),m=x("react.fundamental"),y=x("react.debug_trace_mode"),v=x("react.legacy_hidden")}function b(e){if("object"===typeof e&&null!==e){var t=e.$$typeof;switch(t){case n:switch(e=e.type){case i:case l:case o:case d:case u:return e;default:switch(e=e&&e.$$typeof){case a:case c:case p:case h:case s:return e;default:return t}}case r:return t}}}t.isFragment=function(e){return b(e)===i}},2086(e,t,n){"use strict";e.exports=n(5082)},1153(e,t,n){"use strict";var r=n(5043),i=Symbol.for("react.element"),o=Symbol.for("react.fragment"),l=Object.prototype.hasOwnProperty,s=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,a={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var r,o={},c=null,d=null;for(r in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(d=t.ref),t)l.call(t,r)&&!a.hasOwnProperty(r)&&(o[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===o[r]&&(o[r]=t[r]);return{$$typeof:i,type:e,key:c,ref:d,props:o,_owner:s.current}}t.Fragment=o,t.jsx=c,t.jsxs=c},4202(e,t){"use strict";var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),a=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),u=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),p=Symbol.iterator;var f={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,m={};function y(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||f}function v(){}function x(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||f}y.prototype.isReactComponent={},y.prototype.setState=function(e,t){if("object"!==typeof e&&"function"!==typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},y.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},v.prototype=y.prototype;var b=x.prototype=new v;b.constructor=x,g(b,y.prototype),b.isPureReactComponent=!0;var w=Array.isArray,S=Object.prototype.hasOwnProperty,j={current:null},k={key:!0,ref:!0,__self:!0,__source:!0};function _(e,t,r){var i,o={},l=null,s=null;if(null!=t)for(i in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(l=""+t.key),t)S.call(t,i)&&!k.hasOwnProperty(i)&&(o[i]=t[i]);var a=arguments.length-2;if(1===a)o.children=r;else if(1<a){for(var c=Array(a),d=0;d<a;d++)c[d]=arguments[d+2];o.children=c}if(e&&e.defaultProps)for(i in a=e.defaultProps)void 0===o[i]&&(o[i]=a[i]);return{$$typeof:n,type:e,key:l,ref:s,props:o,_owner:j.current}}function E(e){return"object"===typeof e&&null!==e&&e.$$typeof===n}var C=/\/+/g;function T(e,t){return"object"===typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(e){return t[e]})}(""+e.key):t.toString(36)}function M(e,t,i,o,l){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var a=!1;if(null===e)a=!0;else switch(s){case"string":case"number":a=!0;break;case"object":switch(e.$$typeof){case n:case r:a=!0}}if(a)return l=l(a=e),e=""===o?"."+T(a,0):o,w(l)?(i="",null!=e&&(i=e.replace(C,"$&/")+"/"),M(l,t,i,"",function(e){return e})):null!=l&&(E(l)&&(l=function(e,t){return{$$typeof:n,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(l,i+(!l.key||a&&a.key===l.key?"":(""+l.key).replace(C,"$&/")+"/")+e)),t.push(l)),1;if(a=0,o=""===o?".":o+":",w(e))for(var c=0;c<e.length;c++){var d=o+T(s=e[c],c);a+=M(s,t,i,d,l)}else if(d=function(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=p&&e[p]||e["@@iterator"])?e:null}(e),"function"===typeof d)for(e=d.call(e),c=0;!(s=e.next()).done;)a+=M(s=s.value,t,i,d=o+T(s,c++),l);else if("object"===s)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return a}function O(e,t,n){if(null==e)return e;var r=[],i=0;return M(e,r,"","",function(e){return t.call(n,e,i++)}),r}function A(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)},function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var P={current:null},I={transition:null},D={ReactCurrentDispatcher:P,ReactCurrentBatchConfig:I,ReactCurrentOwner:j};function L(){throw Error("act(...) is not supported in production builds of React.")}t.Children={map:O,forEach:function(e,t,n){O(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return O(e,function(){t++}),t},toArray:function(e){return O(e,function(e){return e})||[]},only:function(e){if(!E(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=y,t.Fragment=i,t.Profiler=l,t.PureComponent=x,t.StrictMode=o,t.Suspense=d,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=D,t.act=L,t.cloneElement=function(e,t,r){if(null===e||void 0===e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var i=g({},e.props),o=e.key,l=e.ref,s=e._owner;if(null!=t){if(void 0!==t.ref&&(l=t.ref,s=j.current),void 0!==t.key&&(o=""+t.key),e.type&&e.type.defaultProps)var a=e.type.defaultProps;for(c in t)S.call(t,c)&&!k.hasOwnProperty(c)&&(i[c]=void 0===t[c]&&void 0!==a?a[c]:t[c])}var c=arguments.length-2;if(1===c)i.children=r;else if(1<c){a=Array(c);for(var d=0;d<c;d++)a[d]=arguments[d+2];i.children=a}return{$$typeof:n,type:e.type,key:o,ref:l,props:i,_owner:s}},t.createContext=function(e){return(e={$$typeof:a,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:s,_context:e},e.Consumer=e},t.createElement=_,t.createFactory=function(e){var t=_.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:c,render:e}},t.isValidElement=E,t.lazy=function(e){return{$$typeof:h,_payload:{_status:-1,_result:e},_init:A}},t.memo=function(e,t){return{$$typeof:u,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=I.transition;I.transition={};try{e()}finally{I.transition=t}},t.unstable_act=L,t.useCallback=function(e,t){return P.current.useCallback(e,t)},t.useContext=function(e){return P.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return P.current.useDeferredValue(e)},t.useEffect=function(e,t){return P.current.useEffect(e,t)},t.useId=function(){return P.current.useId()},t.useImperativeHandle=function(e,t,n){return P.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return P.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return P.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return P.current.useMemo(e,t)},t.useReducer=function(e,t,n){return P.current.useReducer(e,t,n)},t.useRef=function(e){return P.current.useRef(e)},t.useState=function(e){return P.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return P.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return P.current.useTransition()},t.version="18.3.1"},5043(e,t,n){"use strict";e.exports=n(4202)},579(e,t,n){"use strict";e.exports=n(1153)},8499(e){"use strict";var t=Object.prototype.hasOwnProperty,n="~";function r(){}function i(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,r,o,l){if("function"!==typeof r)throw new TypeError("The listener must be a function");var s=new i(r,o||e,l),a=n?n+t:t;return e._events[a]?e._events[a].fn?e._events[a]=[e._events[a],s]:e._events[a].push(s):(e._events[a]=s,e._eventsCount++),e}function l(e,t){0===--e._eventsCount?e._events=new r:delete e._events[t]}function s(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),s.prototype.eventNames=function(){var e,r,i=[];if(0===this._eventsCount)return i;for(r in e=this._events)t.call(e,r)&&i.push(n?r.slice(1):r);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(e)):i},s.prototype.listeners=function(e){var t=n?n+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var i=0,o=r.length,l=new Array(o);i<o;i++)l[i]=r[i].fn;return l},s.prototype.listenerCount=function(e){var t=n?n+e:e,r=this._events[t];return r?r.fn?1:r.length:0},s.prototype.emit=function(e,t,r,i,o,l){var s=n?n+e:e;if(!this._events[s])return!1;var a,c,d=this._events[s],u=arguments.length;if(d.fn){switch(d.once&&this.removeListener(e,d.fn,void 0,!0),u){case 1:return d.fn.call(d.context),!0;case 2:return d.fn.call(d.context,t),!0;case 3:return d.fn.call(d.context,t,r),!0;case 4:return d.fn.call(d.context,t,r,i),!0;case 5:return d.fn.call(d.context,t,r,i,o),!0;case 6:return d.fn.call(d.context,t,r,i,o,l),!0}for(c=1,a=new Array(u-1);c<u;c++)a[c-1]=arguments[c];d.fn.apply(d.context,a)}else{var h,p=d.length;for(c=0;c<p;c++)switch(d[c].once&&this.removeListener(e,d[c].fn,void 0,!0),u){case 1:d[c].fn.call(d[c].context);break;case 2:d[c].fn.call(d[c].context,t);break;case 3:d[c].fn.call(d[c].context,t,r);break;case 4:d[c].fn.call(d[c].context,t,r,i);break;default:if(!a)for(h=1,a=new Array(u-1);h<u;h++)a[h-1]=arguments[h];d[c].fn.apply(d[c].context,a)}}return!0},s.prototype.on=function(e,t,n){return o(this,e,t,n,!1)},s.prototype.once=function(e,t,n){return o(this,e,t,n,!0)},s.prototype.removeListener=function(e,t,r,i){var o=n?n+e:e;if(!this._events[o])return this;if(!t)return l(this,o),this;var s=this._events[o];if(s.fn)s.fn!==t||i&&!s.once||r&&s.context!==r||l(this,o);else{for(var a=0,c=[],d=s.length;a<d;a++)(s[a].fn!==t||i&&!s[a].once||r&&s[a].context!==r)&&c.push(s[a]);c.length?this._events[o]=1===c.length?c[0]:c:l(this,o)}return this},s.prototype.removeAllListeners=function(e){var t;return e?(t=n?n+e:e,this._events[t]&&l(this,t)):(this._events=new r,this._eventsCount=0),this},s.prototype.off=s.prototype.removeListener,s.prototype.addListener=s.prototype.on,s.prefixed=n,s.EventEmitter=s,e.exports=s},7234(e,t){"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,i=e[r];if(!(0<o(i,t)))break e;e[r]=t,e[n]=i,n=r}}function r(e){return 0===e.length?null:e[0]}function i(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,i=e.length,l=i>>>1;r<l;){var s=2*(r+1)-1,a=e[s],c=s+1,d=e[c];if(0>o(a,n))c<i&&0>o(d,a)?(e[r]=d,e[c]=n,r=c):(e[r]=a,e[s]=n,r=s);else{if(!(c<i&&0>o(d,n)))break e;e[r]=d,e[c]=n,r=c}}}return t}function o(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"===typeof performance&&"function"===typeof performance.now){var l=performance;t.unstable_now=function(){return l.now()}}else{var s=Date,a=s.now();t.unstable_now=function(){return s.now()-a}}var c=[],d=[],u=1,h=null,p=3,f=!1,g=!1,m=!1,y="function"===typeof setTimeout?setTimeout:null,v="function"===typeof clearTimeout?clearTimeout:null,x="undefined"!==typeof setImmediate?setImmediate:null;function b(e){for(var t=r(d);null!==t;){if(null===t.callback)i(d);else{if(!(t.startTime<=e))break;i(d),t.sortIndex=t.expirationTime,n(c,t)}t=r(d)}}function w(e){if(m=!1,b(e),!g)if(null!==r(c))g=!0,I(S);else{var t=r(d);null!==t&&D(w,t.startTime-e)}}function S(e,n){g=!1,m&&(m=!1,v(E),E=-1),f=!0;var o=p;try{for(b(n),h=r(c);null!==h&&(!(h.expirationTime>n)||e&&!M());){var l=h.callback;if("function"===typeof l){h.callback=null,p=h.priorityLevel;var s=l(h.expirationTime<=n);n=t.unstable_now(),"function"===typeof s?h.callback=s:h===r(c)&&i(c),b(n)}else i(c);h=r(c)}if(null!==h)var a=!0;else{var u=r(d);null!==u&&D(w,u.startTime-n),a=!1}return a}finally{h=null,p=o,f=!1}}"undefined"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var j,k=!1,_=null,E=-1,C=5,T=-1;function M(){return!(t.unstable_now()-T<C)}function O(){if(null!==_){var e=t.unstable_now();T=e;var n=!0;try{n=_(!0,e)}finally{n?j():(k=!1,_=null)}}else k=!1}if("function"===typeof x)j=function(){x(O)};else if("undefined"!==typeof MessageChannel){var A=new MessageChannel,P=A.port2;A.port1.onmessage=O,j=function(){P.postMessage(null)}}else j=function(){y(O,0)};function I(e){_=e,k||(k=!0,j())}function D(e,n){E=y(function(){e(t.unstable_now())},n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){g||f||(g=!0,I(S))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):C=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return p},t.unstable_getFirstCallbackNode=function(){return r(c)},t.unstable_next=function(e){switch(p){case 1:case 2:case 3:var t=3;break;default:t=p}var n=p;p=t;try{return e()}finally{p=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=p;p=e;try{return t()}finally{p=n}},t.unstable_scheduleCallback=function(e,i,o){var l=t.unstable_now();switch("object"===typeof o&&null!==o?o="number"===typeof(o=o.delay)&&0<o?l+o:l:o=l,e){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return e={id:u++,callback:i,priorityLevel:e,startTime:o,expirationTime:s=o+s,sortIndex:-1},o>l?(e.sortIndex=o,n(d,e),null===r(c)&&e===r(d)&&(m?(v(E),E=-1):m=!0,D(w,o-l))):(e.sortIndex=s,n(c,e),g||f||(g=!0,I(S))),e},t.unstable_shouldYield=M,t.unstable_wrapCallback=function(e){var t=p;return function(){var n=p;p=t;try{return e.apply(this,arguments)}finally{p=n}}}},8853(e,t,n){"use strict";e.exports=n(7234)},2330(e,t,n){"use strict";var r=n(5043);var i="function"===typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e===1/t)||e!==e&&t!==t},o=r.useState,l=r.useEffect,s=r.useLayoutEffect,a=r.useDebugValue;function c(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!i(e,n)}catch(r){return!0}}var d="undefined"===typeof window||"undefined"===typeof window.document||"undefined"===typeof window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),r=o({inst:{value:n,getSnapshot:t}}),i=r[0].inst,d=r[1];return s(function(){i.value=n,i.getSnapshot=t,c(i)&&d({inst:i})},[e,n,t]),l(function(){return c(i)&&d({inst:i}),e(function(){c(i)&&d({inst:i})})},[e]),a(n),n};t.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:d},9717(e,t,n){"use strict";var r=n(5043),i=n(9461);var o="function"===typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e===1/t)||e!==e&&t!==t},l=i.useSyncExternalStore,s=r.useRef,a=r.useEffect,c=r.useMemo,d=r.useDebugValue;t.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var u=s(null);if(null===u.current){var h={hasValue:!1,value:null};u.current=h}else h=u.current;u=c(function(){function e(e){if(!a){if(a=!0,l=e,e=r(e),void 0!==i&&h.hasValue){var t=h.value;if(i(t,e))return s=t}return s=e}if(t=s,o(l,e))return t;var n=r(e);return void 0!==i&&i(t,n)?(l=e,t):(l=e,s=n)}var l,s,a=!1,c=void 0===n?null:n;return[function(){return e(t())},null===c?void 0:function(){return e(c())}]},[t,n,r,i]);var p=l(e,u[0],u[1]);return a(function(){h.hasValue=!0,h.value=p},[p]),d(p),p}},8365(e,t,n){"use strict";var r=n(5043);var i="function"===typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e===1/t)||e!==e&&t!==t},o=r.useSyncExternalStore,l=r.useRef,s=r.useEffect,a=r.useMemo,c=r.useDebugValue},9461(e,t,n){"use strict";e.exports=n(2330)},8443(e,t,n){"use strict";e.exports=n(9717)},7237(e,t,n){"use strict";n(8365)}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var o=t[r]={exports:{}};return e[r].call(o.exports,o,o.exports,n),o.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;n.t=function(r,i){if(1&i&&(r=this(r)),8&i)return r;if("object"===typeof r&&r){if(4&i&&r.__esModule)return r;if(16&i&&"function"===typeof r.then)return r}var o=Object.create(null);n.r(o);var l={};e=e||[null,t({}),t([]),t(t)];for(var s=2&i&&r;("object"==typeof s||"function"==typeof s)&&!~e.indexOf(s);s=t(s))Object.getOwnPropertyNames(s).forEach(e=>l[e]=()=>r[e]);return l.default=()=>r,n.d(o,l),o}})(),n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{"use strict";var e={};n.r(e),n.d(e,{scaleBand:()=>go,scaleDiverging:()=>vc,scaleDivergingLog:()=>xc,scaleDivergingPow:()=>wc,scaleDivergingSqrt:()=>Sc,scaleDivergingSymlog:()=>bc,scaleIdentity:()=>hl,scaleImplicit:()=>po,scaleLinear:()=>ul,scaleLog:()=>wl,scaleOrdinal:()=>fo,scalePoint:()=>yo,scalePow:()=>Ol,scaleQuantile:()=>Bl,scaleQuantize:()=>Ul,scaleRadial:()=>Il,scaleSequential:()=>uc,scaleSequentialLog:()=>hc,scaleSequentialPow:()=>fc,scaleSequentialQuantile:()=>mc,scaleSequentialSqrt:()=>gc,scaleSequentialSymlog:()=>pc,scaleSqrt:()=>Al,scaleSymlog:()=>_l,scaleThreshold:()=>Hl,scaleTime:()=>sc,scaleUtc:()=>ac,tickFormat:()=>cl});var t=n(5043),r=n.t(t,2),i=n(4391);function o(e,t){let n,r;if(void 0===t)for(const i of e)null!=i&&(void 0===n?i>=i&&(n=r=i):(n>i&&(n=i),r<i&&(r=i)));else{let i=-1;for(let o of e)null!=(o=t(o,++i,e))&&(void 0===n?o>=o&&(n=r=o):(n>o&&(n=o),r<o&&(r=o)))}return[n,r]}function l(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=0|Math.max(0,Math.ceil((t-e)/n)),o=new Array(i);++r<i;)o[r]=e+r*n;return o}function s(){}function a(e){return null==e?s:function(){return this.querySelector(e)}}function c(){return[]}function d(e){return null==e?c:function(){return this.querySelectorAll(e)}}function u(e){return function(){return function(e){return null==e?[]:Array.isArray(e)?e:Array.from(e)}(e.apply(this,arguments))}}function h(e){return function(){return this.matches(e)}}function p(e){return function(t){return t.matches(e)}}var f=Array.prototype.find;function g(){return this.firstElementChild}var m=Array.prototype.filter;function y(){return Array.from(this.children)}function v(e){return new Array(e.length)}function x(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}function b(e,t,n,r,i,o){for(var l,s=0,a=t.length,c=o.length;s<c;++s)(l=t[s])?(l.__data__=o[s],r[s]=l):n[s]=new x(e,o[s]);for(;s<a;++s)(l=t[s])&&(i[s]=l)}function w(e,t,n,r,i,o,l){var s,a,c,d=new Map,u=t.length,h=o.length,p=new Array(u);for(s=0;s<u;++s)(a=t[s])&&(p[s]=c=l.call(a,a.__data__,s,t)+"",d.has(c)?i[s]=a:d.set(c,a));for(s=0;s<h;++s)c=l.call(e,o[s],s,o)+"",(a=d.get(c))?(r[s]=a,a.__data__=o[s],d.delete(c)):n[s]=new x(e,o[s]);for(s=0;s<u;++s)(a=t[s])&&d.get(p[s])===a&&(i[s]=a)}function S(e){return e.__data__}function j(e){return"object"===typeof e&&"length"in e?e:Array.from(e)}function k(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}x.prototype={constructor:x,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};var _="http://www.w3.org/1999/xhtml";const E={svg:"http://www.w3.org/2000/svg",xhtml:_,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function C(e){var t=e+="",n=t.indexOf(":");return n>=0&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),E.hasOwnProperty(t)?{space:E[t],local:e}:e}function T(e){return function(){this.removeAttribute(e)}}function M(e){return function(){this.removeAttributeNS(e.space,e.local)}}function O(e,t){return function(){this.setAttribute(e,t)}}function A(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function P(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}function I(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function D(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function L(e){return function(){this.style.removeProperty(e)}}function R(e,t,n){return function(){this.style.setProperty(e,t,n)}}function z(e,t,n){return function(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function N(e,t){return e.style.getPropertyValue(t)||D(e).getComputedStyle(e,null).getPropertyValue(t)}function F(e){return function(){delete this[e]}}function $(e,t){return function(){this[e]=t}}function W(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}function B(e){return e.trim().split(/^|\s+/)}function U(e){return e.classList||new H(e)}function H(e){this._node=e,this._names=B(e.getAttribute("class")||"")}function V(e,t){for(var n=U(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function Y(e,t){for(var n=U(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function G(e){return function(){V(this,e)}}function K(e){return function(){Y(this,e)}}function q(e,t){return function(){(t.apply(this,arguments)?V:Y)(this,e)}}function X(){this.textContent=""}function J(e){return function(){this.textContent=e}}function Q(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?"":t}}function Z(){this.innerHTML=""}function ee(e){return function(){this.innerHTML=e}}function te(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?"":t}}function ne(){this.nextSibling&&this.parentNode.appendChild(this)}function re(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function ie(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===_&&t.documentElement.namespaceURI===_?t.createElement(e):t.createElementNS(n,e)}}function oe(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function le(e){var t=C(e);return(t.local?oe:ie)(t)}function se(){return null}function ae(){var e=this.parentNode;e&&e.removeChild(this)}function ce(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function de(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function ue(e){return function(){var t=this.__on;if(t){for(var n,r=0,i=-1,o=t.length;r<o;++r)n=t[r],e.type&&n.type!==e.type||n.name!==e.name?t[++i]=n:this.removeEventListener(n.type,n.listener,n.options);++i?t.length=i:delete this.__on}}}function he(e,t,n){return function(){var r,i=this.__on,o=function(e){return function(t){e.call(this,t,this.__data__)}}(t);if(i)for(var l=0,s=i.length;l<s;++l)if((r=i[l]).type===e.type&&r.name===e.name)return this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=o,r.options=n),void(r.value=t);this.addEventListener(e.type,o,n),r={type:e.type,name:e.name,value:t,listener:o,options:n},i?i.push(r):this.__on=[r]}}function pe(e,t,n){var r=D(e),i=r.CustomEvent;"function"===typeof i?i=new i(t,n):(i=r.document.createEvent("Event"),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function fe(e,t){return function(){return pe(this,e,t)}}function ge(e,t){return function(){return pe(this,e,t.apply(this,arguments))}}H.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};var me=[null];function ye(e,t){this._groups=e,this._parents=t}function ve(){return new ye([[document.documentElement]],me)}ye.prototype=ve.prototype={constructor:ye,select:function(e){"function"!==typeof e&&(e=a(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o,l,s=t[i],c=s.length,d=r[i]=new Array(c),u=0;u<c;++u)(o=s[u])&&(l=e.call(o,o.__data__,u,s))&&("__data__"in o&&(l.__data__=o.__data__),d[u]=l);return new ye(r,this._parents)},selectAll:function(e){e="function"===typeof e?u(e):d(e);for(var t=this._groups,n=t.length,r=[],i=[],o=0;o<n;++o)for(var l,s=t[o],a=s.length,c=0;c<a;++c)(l=s[c])&&(r.push(e.call(l,l.__data__,c,s)),i.push(l));return new ye(r,i)},selectChild:function(e){return this.select(null==e?g:function(e){return function(){return f.call(this.children,e)}}("function"===typeof e?e:p(e)))},selectChildren:function(e){return this.selectAll(null==e?y:function(e){return function(){return m.call(this.children,e)}}("function"===typeof e?e:p(e)))},filter:function(e){"function"!==typeof e&&(e=h(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o,l=t[i],s=l.length,a=r[i]=[],c=0;c<s;++c)(o=l[c])&&e.call(o,o.__data__,c,l)&&a.push(o);return new ye(r,this._parents)},data:function(e,t){if(!arguments.length)return Array.from(this,S);var n=t?w:b,r=this._parents,i=this._groups;"function"!==typeof e&&(e=function(e){return function(){return e}}(e));for(var o=i.length,l=new Array(o),s=new Array(o),a=new Array(o),c=0;c<o;++c){var d=r[c],u=i[c],h=u.length,p=j(e.call(d,d&&d.__data__,c,r)),f=p.length,g=s[c]=new Array(f),m=l[c]=new Array(f);n(d,u,g,m,a[c]=new Array(h),p,t);for(var y,v,x=0,k=0;x<f;++x)if(y=g[x]){for(x>=k&&(k=x+1);!(v=m[k])&&++k<f;);y._next=v||null}}return(l=new ye(l,r))._enter=s,l._exit=a,l},enter:function(){return new ye(this._enter||this._groups.map(v),this._parents)},exit:function(){return new ye(this._exit||this._groups.map(v),this._parents)},join:function(e,t,n){var r=this.enter(),i=this,o=this.exit();return"function"===typeof e?(r=e(r))&&(r=r.selection()):r=r.append(e+""),null!=t&&(i=t(i))&&(i=i.selection()),null==n?o.remove():n(o),r&&i?r.merge(i).order():i},merge:function(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,o=r.length,l=Math.min(i,o),s=new Array(i),a=0;a<l;++a)for(var c,d=n[a],u=r[a],h=d.length,p=s[a]=new Array(h),f=0;f<h;++f)(c=d[f]||u[f])&&(p[f]=c);for(;a<i;++a)s[a]=n[a];return new ye(s,this._parents)},selection:function(){return this},order:function(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r,i=e[t],o=i.length-1,l=i[o];--o>=0;)(r=i[o])&&(l&&4^r.compareDocumentPosition(l)&&l.parentNode.insertBefore(r,l),l=r);return this},sort:function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=k);for(var n=this._groups,r=n.length,i=new Array(r),o=0;o<r;++o){for(var l,s=n[o],a=s.length,c=i[o]=new Array(a),d=0;d<a;++d)(l=s[d])&&(c[d]=l);c.sort(t)}return new ye(i,this._parents).order()},call:function(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,o=r.length;i<o;++i){var l=r[i];if(l)return l}return null},size:function(){let e=0;for(const t of this)++e;return e},empty:function(){return!this.node()},each:function(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i,o=t[n],l=0,s=o.length;l<s;++l)(i=o[l])&&e.call(i,i.__data__,l,o);return this},attr:function(e,t){var n=C(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==t?n.local?M:T:"function"===typeof t?n.local?I:P:n.local?A:O)(n,t))},style:function(e,t,n){return arguments.length>1?this.each((null==t?L:"function"===typeof t?z:R)(e,t,null==n?"":n)):N(this.node(),e)},property:function(e,t){return arguments.length>1?this.each((null==t?F:"function"===typeof t?W:$)(e,t)):this.node()[e]},classed:function(e,t){var n=B(e+"");if(arguments.length<2){for(var r=U(this.node()),i=-1,o=n.length;++i<o;)if(!r.contains(n[i]))return!1;return!0}return this.each(("function"===typeof t?q:t?G:K)(n,t))},text:function(e){return arguments.length?this.each(null==e?X:("function"===typeof e?Q:J)(e)):this.node().textContent},html:function(e){return arguments.length?this.each(null==e?Z:("function"===typeof e?te:ee)(e)):this.node().innerHTML},raise:function(){return this.each(ne)},lower:function(){return this.each(re)},append:function(e){var t="function"===typeof e?e:le(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})},insert:function(e,t){var n="function"===typeof e?e:le(e),r=null==t?se:"function"===typeof t?t:a(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})},remove:function(){return this.each(ae)},clone:function(e){return this.select(e?de:ce)},datum:function(e){return arguments.length?this.property("__data__",e):this.node().__data__},on:function(e,t,n){var r,i,o=function(e){return e.trim().split(/^|\s+/).map(function(e){var t="",n=e.indexOf(".");return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}(e+""),l=o.length;if(!(arguments.length<2)){for(s=t?he:ue,r=0;r<l;++r)this.each(s(o[r],t,n));return this}var s=this.node().__on;if(s)for(var a,c=0,d=s.length;c<d;++c)for(r=0,a=s[c];r<l;++r)if((i=o[r]).type===a.type&&i.name===a.name)return a.value},dispatch:function(e,t){return this.each(("function"===typeof t?ge:fe)(e,t))},[Symbol.iterator]:function*(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r,i=e[t],o=0,l=i.length;o<l;++o)(r=i[o])&&(yield r)}};const xe=ve;var be={value:()=>{}};function we(){for(var e,t=0,n=arguments.length,r={};t<n;++t){if(!(e=arguments[t]+"")||e in r||/[\s.]/.test(e))throw new Error("illegal type: "+e);r[e]=[]}return new Se(r)}function Se(e){this._=e}function je(e,t){for(var n,r=0,i=e.length;r<i;++r)if((n=e[r]).name===t)return n.value}function ke(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=be,e=e.slice(0,r).concat(e.slice(r+1));break}return null!=n&&e.push({name:t,value:n}),e}Se.prototype=we.prototype={constructor:Se,on:function(e,t){var n,r,i=this._,o=(r=i,(e+"").trim().split(/^|\s+/).map(function(e){var t="",n=e.indexOf(".");if(n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),e&&!r.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:t}})),l=-1,s=o.length;if(!(arguments.length<2)){if(null!=t&&"function"!==typeof t)throw new Error("invalid callback: "+t);for(;++l<s;)if(n=(e=o[l]).type)i[n]=ke(i[n],e.name,t);else if(null==t)for(n in i)i[n]=ke(i[n],e.name,null);return this}for(;++l<s;)if((n=(e=o[l]).type)&&(n=je(i[n],e.name)))return n},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new Se(e)},call:function(e,t){if((n=arguments.length-2)>0)for(var n,r,i=new Array(n),o=0;o<n;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(o=0,n=(r=this._[e]).length;o<n;++o)r[o].value.apply(t,i)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],i=0,o=r.length;i<o;++i)r[i].value.apply(t,n)}};const _e=we;var Ee,Ce,Te=0,Me=0,Oe=0,Ae=0,Pe=0,Ie=0,De="object"===typeof performance&&performance.now?performance:Date,Le="object"===typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Re(){return Pe||(Le(ze),Pe=De.now()+Ie)}function ze(){Pe=0}function Ne(){this._call=this._time=this._next=null}function Fe(e,t,n){var r=new Ne;return r.restart(e,t,n),r}function $e(){Pe=(Ae=De.now())+Ie,Te=Me=0;try{!function(){Re(),++Te;for(var e,t=Ee;t;)(e=Pe-t._time)>=0&&t._call.call(void 0,e),t=t._next;--Te}()}finally{Te=0,function(){var e,t,n=Ee,r=1/0;for(;n;)n._call?(r>n._time&&(r=n._time),e=n,n=n._next):(t=n._next,n._next=null,n=e?e._next=t:Ee=t);Ce=e,Be(r)}(),Pe=0}}function We(){var e=De.now(),t=e-Ae;t>1e3&&(Ie-=t,Ae=e)}function Be(e){Te||(Me&&(Me=clearTimeout(Me)),e-Pe>24?(e<1/0&&(Me=setTimeout($e,e-De.now()-Ie)),Oe&&(Oe=clearInterval(Oe))):(Oe||(Ae=De.now(),Oe=setInterval(We,1e3)),Te=1,Le($e)))}function Ue(e,t,n){var r=new Ne;return t=null==t?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}Ne.prototype=Fe.prototype={constructor:Ne,restart:function(e,t,n){if("function"!==typeof e)throw new TypeError("callback is not a function");n=(null==n?Re():+n)+(null==t?0:+t),this._next||Ce===this||(Ce?Ce._next=this:Ee=this,Ce=this),this._call=e,this._time=n,Be()},stop:function(){this._call&&(this._call=null,this._time=1/0,Be())}};var He=_e("start","end","cancel","interrupt"),Ve=[];function Ye(e,t,n,r,i,o){var l=e.__transition;if(l){if(n in l)return}else e.__transition={};!function(e,t,n){var r,i=e.__transition;function o(e){n.state=1,n.timer.restart(l,n.delay,n.time),n.delay<=e&&l(e-n.delay)}function l(o){var c,d,u,h;if(1!==n.state)return a();for(c in i)if((h=i[c]).name===n.name){if(3===h.state)return Ue(l);4===h.state?(h.state=6,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete i[c]):+c<t&&(h.state=6,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete i[c])}if(Ue(function(){3===n.state&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(o))}),n.state=2,n.on.call("start",e,e.__data__,n.index,n.group),2===n.state){for(n.state=3,r=new Array(u=n.tween.length),c=0,d=-1;c<u;++c)(h=n.tween[c].value.call(e,e.__data__,n.index,n.group))&&(r[++d]=h);r.length=d+1}}function s(t){for(var i=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(a),n.state=5,1),o=-1,l=r.length;++o<l;)r[o].call(e,i);5===n.state&&(n.on.call("end",e,e.__data__,n.index,n.group),a())}function a(){for(var r in n.state=6,n.timer.stop(),delete i[t],i)return;delete e.__transition}i[t]=n,n.timer=Fe(o,0,n.time)}(e,n,{name:t,index:r,group:i,on:He,tween:Ve,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:0})}function Ge(e,t){var n=qe(e,t);if(n.state>0)throw new Error("too late; already scheduled");return n}function Ke(e,t){var n=qe(e,t);if(n.state>3)throw new Error("too late; already running");return n}function qe(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function Xe(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var Je,Qe=180/Math.PI,Ze={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function et(e,t,n,r,i,o){var l,s,a;return(l=Math.sqrt(e*e+t*t))&&(e/=l,t/=l),(a=e*n+t*r)&&(n-=e*a,r-=t*a),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,a/=s),e*r<t*n&&(e=-e,t=-t,a=-a,l=-l),{translateX:i,translateY:o,rotate:Math.atan2(t,e)*Qe,skewX:Math.atan(a)*Qe,scaleX:l,scaleY:s}}function tt(e,t,n,r){function i(e){return e.length?e.pop()+" ":""}return function(o,l){var s=[],a=[];return o=e(o),l=e(l),function(e,r,i,o,l,s){if(e!==i||r!==o){var a=l.push("translate(",null,t,null,n);s.push({i:a-4,x:Xe(e,i)},{i:a-2,x:Xe(r,o)})}else(i||o)&&l.push("translate("+i+t+o+n)}(o.translateX,o.translateY,l.translateX,l.translateY,s,a),function(e,t,n,o){e!==t?(e-t>180?t+=360:t-e>180&&(e+=360),o.push({i:n.push(i(n)+"rotate(",null,r)-2,x:Xe(e,t)})):t&&n.push(i(n)+"rotate("+t+r)}(o.rotate,l.rotate,s,a),function(e,t,n,o){e!==t?o.push({i:n.push(i(n)+"skewX(",null,r)-2,x:Xe(e,t)}):t&&n.push(i(n)+"skewX("+t+r)}(o.skewX,l.skewX,s,a),function(e,t,n,r,o,l){if(e!==n||t!==r){var s=o.push(i(o)+"scale(",null,",",null,")");l.push({i:s-4,x:Xe(e,n)},{i:s-2,x:Xe(t,r)})}else 1===n&&1===r||o.push(i(o)+"scale("+n+","+r+")")}(o.scaleX,o.scaleY,l.scaleX,l.scaleY,s,a),o=l=null,function(e){for(var t,n=-1,r=a.length;++n<r;)s[(t=a[n]).i]=t.x(e);return s.join("")}}}var nt=tt(function(e){const t=new("function"===typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?Ze:et(t.a,t.b,t.c,t.d,t.e,t.f)},"px, ","px)","deg)"),rt=tt(function(e){return null==e?Ze:(Je||(Je=document.createElementNS("http://www.w3.org/2000/svg","g")),Je.setAttribute("transform",e),(e=Je.transform.baseVal.consolidate())?et((e=e.matrix).a,e.b,e.c,e.d,e.e,e.f):Ze)},", ",")",")");function it(e,t){var n,r;return function(){var i=Ke(this,e),o=i.tween;if(o!==n)for(var l=0,s=(r=n=o).length;l<s;++l)if(r[l].name===t){(r=r.slice()).splice(l,1);break}i.tween=r}}function ot(e,t,n){var r,i;if("function"!==typeof n)throw new Error;return function(){var o=Ke(this,e),l=o.tween;if(l!==r){i=(r=l).slice();for(var s={name:t,value:n},a=0,c=i.length;a<c;++a)if(i[a].name===t){i[a]=s;break}a===c&&i.push(s)}o.tween=i}}function lt(e,t,n){var r=e._id;return e.each(function(){var e=Ke(this,r);(e.value||(e.value={}))[t]=n.apply(this,arguments)}),function(e){return qe(e,r).value[t]}}function st(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function at(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function ct(){}var dt=.7,ut=1/dt,ht="\\s*([+-]?\\d+)\\s*",pt="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",ft="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",gt=/^#([0-9a-f]{3,8})$/,mt=new RegExp(`^rgb\\(${ht},${ht},${ht}\\)$`),yt=new RegExp(`^rgb\\(${ft},${ft},${ft}\\)$`),vt=new RegExp(`^rgba\\(${ht},${ht},${ht},${pt}\\)$`),xt=new RegExp(`^rgba\\(${ft},${ft},${ft},${pt}\\)$`),bt=new RegExp(`^hsl\\(${pt},${ft},${ft}\\)$`),wt=new RegExp(`^hsla\\(${pt},${ft},${ft},${pt}\\)$`),St={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function jt(){return this.rgb().formatHex()}function kt(){return this.rgb().formatRgb()}function _t(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=gt.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?Et(t):3===n?new Mt(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?Ct(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?Ct(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=mt.exec(e))?new Mt(t[1],t[2],t[3],1):(t=yt.exec(e))?new Mt(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=vt.exec(e))?Ct(t[1],t[2],t[3],t[4]):(t=xt.exec(e))?Ct(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=bt.exec(e))?Lt(t[1],t[2]/100,t[3]/100,1):(t=wt.exec(e))?Lt(t[1],t[2]/100,t[3]/100,t[4]):St.hasOwnProperty(e)?Et(St[e]):"transparent"===e?new Mt(NaN,NaN,NaN,0):null}function Et(e){return new Mt(e>>16&255,e>>8&255,255&e,1)}function Ct(e,t,n,r){return r<=0&&(e=t=n=NaN),new Mt(e,t,n,r)}function Tt(e,t,n,r){return 1===arguments.length?function(e){return e instanceof ct||(e=_t(e)),e?new Mt((e=e.rgb()).r,e.g,e.b,e.opacity):new Mt}(e):new Mt(e,t,n,null==r?1:r)}function Mt(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}function Ot(){return`#${Dt(this.r)}${Dt(this.g)}${Dt(this.b)}`}function At(){const e=Pt(this.opacity);return`${1===e?"rgb(":"rgba("}${It(this.r)}, ${It(this.g)}, ${It(this.b)}${1===e?")":`, ${e})`}`}function Pt(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function It(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Dt(e){return((e=It(e))<16?"0":"")+e.toString(16)}function Lt(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new zt(e,t,n,r)}function Rt(e){if(e instanceof zt)return new zt(e.h,e.s,e.l,e.opacity);if(e instanceof ct||(e=_t(e)),!e)return new zt;if(e instanceof zt)return e;var t=(e=e.rgb()).r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),l=NaN,s=o-i,a=(o+i)/2;return s?(l=t===o?(n-r)/s+6*(n<r):n===o?(r-t)/s+2:(t-n)/s+4,s/=a<.5?o+i:2-o-i,l*=60):s=a>0&&a<1?0:l,new zt(l,s,a,e.opacity)}function zt(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function Nt(e){return(e=(e||0)%360)<0?e+360:e}function Ft(e){return Math.max(0,Math.min(1,e||0))}function $t(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}function Wt(e,t,n,r,i){var o=e*e,l=o*e;return((1-3*e+3*o-l)*t+(4-6*o+3*l)*n+(1+3*e+3*o-3*l)*r+l*i)/6}st(ct,_t,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:jt,formatHex:jt,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return Rt(this).formatHsl()},formatRgb:kt,toString:kt}),st(Mt,Tt,at(ct,{brighter(e){return e=null==e?ut:Math.pow(ut,e),new Mt(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?dt:Math.pow(dt,e),new Mt(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Mt(It(this.r),It(this.g),It(this.b),Pt(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Ot,formatHex:Ot,formatHex8:function(){return`#${Dt(this.r)}${Dt(this.g)}${Dt(this.b)}${Dt(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:At,toString:At})),st(zt,function(e,t,n,r){return 1===arguments.length?Rt(e):new zt(e,t,n,null==r?1:r)},at(ct,{brighter(e){return e=null==e?ut:Math.pow(ut,e),new zt(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?dt:Math.pow(dt,e),new zt(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new Mt($t(e>=240?e-240:e+120,i,r),$t(e,i,r),$t(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new zt(Nt(this.h),Ft(this.s),Ft(this.l),Pt(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Pt(this.opacity);return`${1===e?"hsl(":"hsla("}${Nt(this.h)}, ${100*Ft(this.s)}%, ${100*Ft(this.l)}%${1===e?")":`, ${e})`}`}}));const Bt=e=>()=>e;function Ut(e,t){return function(n){return e+n*t}}function Ht(e){return 1===(e=+e)?Vt:function(t,n){return n-t?function(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}(t,n,e):Bt(isNaN(t)?n:t)}}function Vt(e,t){var n=t-e;return n?Ut(e,n):Bt(isNaN(e)?t:e)}const Yt=function e(t){var n=Ht(t);function r(e,t){var r=n((e=Tt(e)).r,(t=Tt(t)).r),i=n(e.g,t.g),o=n(e.b,t.b),l=Vt(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=o(t),e.opacity=l(t),e+""}}return r.gamma=e,r}(1);function Gt(e){return function(t){var n,r,i=t.length,o=new Array(i),l=new Array(i),s=new Array(i);for(n=0;n<i;++n)r=Tt(t[n]),o[n]=r.r||0,l[n]=r.g||0,s[n]=r.b||0;return o=e(o),l=e(l),s=e(s),r.opacity=1,function(e){return r.r=o(e),r.g=l(e),r.b=s(e),r+""}}}Gt(function(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),i=e[r],o=e[r+1],l=r>0?e[r-1]:2*i-o,s=r<t-1?e[r+2]:2*o-i;return Wt((n-r/t)*t,l,i,o,s)}}),Gt(function(e){var t=e.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*t),i=e[(r+t-1)%t],o=e[r%t],l=e[(r+1)%t],s=e[(r+2)%t];return Wt((n-r/t)*t,i,o,l,s)}});var Kt=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,qt=new RegExp(Kt.source,"g");function Xt(e,t){var n,r,i,o=Kt.lastIndex=qt.lastIndex=0,l=-1,s=[],a=[];for(e+="",t+="";(n=Kt.exec(e))&&(r=qt.exec(t));)(i=r.index)>o&&(i=t.slice(o,i),s[l]?s[l]+=i:s[++l]=i),(n=n[0])===(r=r[0])?s[l]?s[l]+=r:s[++l]=r:(s[++l]=null,a.push({i:l,x:Xe(n,r)})),o=qt.lastIndex;return o<t.length&&(i=t.slice(o),s[l]?s[l]+=i:s[++l]=i),s.length<2?a[0]?function(e){return function(t){return e(t)+""}}(a[0].x):function(e){return function(){return e}}(t):(t=a.length,function(e){for(var n,r=0;r<t;++r)s[(n=a[r]).i]=n.x(e);return s.join("")})}function Jt(e,t){var n;return("number"===typeof t?Xe:t instanceof _t?Yt:(n=_t(t))?(t=n,Yt):Xt)(e,t)}function Qt(e){return function(){this.removeAttribute(e)}}function Zt(e){return function(){this.removeAttributeNS(e.space,e.local)}}function en(e,t,n){var r,i,o=n+"";return function(){var l=this.getAttribute(e);return l===o?null:l===r?i:i=t(r=l,n)}}function tn(e,t,n){var r,i,o=n+"";return function(){var l=this.getAttributeNS(e.space,e.local);return l===o?null:l===r?i:i=t(r=l,n)}}function nn(e,t,n){var r,i,o;return function(){var l,s,a=n(this);if(null!=a)return(l=this.getAttribute(e))===(s=a+"")?null:l===r&&s===i?o:(i=s,o=t(r=l,a));this.removeAttribute(e)}}function rn(e,t,n){var r,i,o;return function(){var l,s,a=n(this);if(null!=a)return(l=this.getAttributeNS(e.space,e.local))===(s=a+"")?null:l===r&&s===i?o:(i=s,o=t(r=l,a));this.removeAttributeNS(e.space,e.local)}}function on(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&function(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}(e,i)),n}return i._value=t,i}function ln(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&function(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}(e,i)),n}return i._value=t,i}function sn(e,t){return function(){Ge(this,e).delay=+t.apply(this,arguments)}}function an(e,t){return t=+t,function(){Ge(this,e).delay=t}}function cn(e,t){return function(){Ke(this,e).duration=+t.apply(this,arguments)}}function dn(e,t){return t=+t,function(){Ke(this,e).duration=t}}var un=xe.prototype.constructor;function hn(e){return function(){this.style.removeProperty(e)}}var pn=0;function fn(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function gn(){return++pn}var mn=xe.prototype;fn.prototype=function(e){return xe().transition(e)}.prototype={constructor:fn,select:function(e){var t=this._name,n=this._id;"function"!==typeof e&&(e=a(e));for(var r=this._groups,i=r.length,o=new Array(i),l=0;l<i;++l)for(var s,c,d=r[l],u=d.length,h=o[l]=new Array(u),p=0;p<u;++p)(s=d[p])&&(c=e.call(s,s.__data__,p,d))&&("__data__"in s&&(c.__data__=s.__data__),h[p]=c,Ye(h[p],t,n,p,h,qe(s,n)));return new fn(o,this._parents,t,n)},selectAll:function(e){var t=this._name,n=this._id;"function"!==typeof e&&(e=d(e));for(var r=this._groups,i=r.length,o=[],l=[],s=0;s<i;++s)for(var a,c=r[s],u=c.length,h=0;h<u;++h)if(a=c[h]){for(var p,f=e.call(a,a.__data__,h,c),g=qe(a,n),m=0,y=f.length;m<y;++m)(p=f[m])&&Ye(p,t,n,m,f,g);o.push(f),l.push(a)}return new fn(o,l,t,n)},selectChild:mn.selectChild,selectChildren:mn.selectChildren,filter:function(e){"function"!==typeof e&&(e=h(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o,l=t[i],s=l.length,a=r[i]=[],c=0;c<s;++c)(o=l[c])&&e.call(o,o.__data__,c,l)&&a.push(o);return new fn(r,this._parents,this._name,this._id)},merge:function(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,r=t.length,i=n.length,o=Math.min(r,i),l=new Array(r),s=0;s<o;++s)for(var a,c=t[s],d=n[s],u=c.length,h=l[s]=new Array(u),p=0;p<u;++p)(a=c[p]||d[p])&&(h[p]=a);for(;s<r;++s)l[s]=t[s];return new fn(l,this._parents,this._name,this._id)},selection:function(){return new un(this._groups,this._parents)},transition:function(){for(var e=this._name,t=this._id,n=gn(),r=this._groups,i=r.length,o=0;o<i;++o)for(var l,s=r[o],a=s.length,c=0;c<a;++c)if(l=s[c]){var d=qe(l,t);Ye(l,e,n,c,s,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new fn(r,this._parents,e,n)},call:mn.call,nodes:mn.nodes,node:mn.node,size:mn.size,empty:mn.empty,each:mn.each,on:function(e,t){var n=this._id;return arguments.length<2?qe(this.node(),n).on.on(e):this.each(function(e,t,n){var r,i,o=function(e){return(e+"").trim().split(/^|\s+/).every(function(e){var t=e.indexOf(".");return t>=0&&(e=e.slice(0,t)),!e||"start"===e})}(t)?Ge:Ke;return function(){var l=o(this,e),s=l.on;s!==r&&(i=(r=s).copy()).on(t,n),l.on=i}}(n,e,t))},attr:function(e,t){var n=C(e),r="transform"===n?rt:Jt;return this.attrTween(e,"function"===typeof t?(n.local?rn:nn)(n,r,lt(this,"attr."+e,t)):null==t?(n.local?Zt:Qt)(n):(n.local?tn:en)(n,r,t))},attrTween:function(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!==typeof t)throw new Error;var r=C(e);return this.tween(n,(r.local?on:ln)(r,t))},style:function(e,t,n){var r="transform"===(e+="")?nt:Jt;return null==t?this.styleTween(e,function(e,t){var n,r,i;return function(){var o=N(this,e),l=(this.style.removeProperty(e),N(this,e));return o===l?null:o===n&&l===r?i:i=t(n=o,r=l)}}(e,r)).on("end.style."+e,hn(e)):"function"===typeof t?this.styleTween(e,function(e,t,n){var r,i,o;return function(){var l=N(this,e),s=n(this),a=s+"";return null==s&&(this.style.removeProperty(e),a=s=N(this,e)),l===a?null:l===r&&a===i?o:(i=a,o=t(r=l,s))}}(e,r,lt(this,"style."+e,t))).each(function(e,t){var n,r,i,o,l="style."+t,s="end."+l;return function(){var a=Ke(this,e),c=a.on,d=null==a.value[l]?o||(o=hn(t)):void 0;c===n&&i===d||(r=(n=c).copy()).on(s,i=d),a.on=r}}(this._id,e)):this.styleTween(e,function(e,t,n){var r,i,o=n+"";return function(){var l=N(this,e);return l===o?null:l===r?i:i=t(r=l,n)}}(e,r,t),n).on("end.style."+e,null)},styleTween:function(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==t)return this.tween(r,null);if("function"!==typeof t)throw new Error;return this.tween(r,function(e,t,n){var r,i;function o(){var o=t.apply(this,arguments);return o!==i&&(r=(i=o)&&function(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}(e,o,n)),r}return o._value=t,o}(e,t,null==n?"":n))},text:function(e){return this.tween("text","function"===typeof e?function(e){return function(){var t=e(this);this.textContent=null==t?"":t}}(lt(this,"text",e)):function(e){return function(){this.textContent=e}}(null==e?"":e+""))},textTween:function(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(null==e)return this.tween(t,null);if("function"!==typeof e)throw new Error;return this.tween(t,function(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&function(e){return function(t){this.textContent=e.call(this,t)}}(r)),t}return r._value=e,r}(e))},remove:function(){return this.on("end.remove",function(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}(this._id))},tween:function(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r,i=qe(this.node(),n).tween,o=0,l=i.length;o<l;++o)if((r=i[o]).name===e)return r.value;return null}return this.each((null==t?it:ot)(n,e,t))},delay:function(e){var t=this._id;return arguments.length?this.each(("function"===typeof e?sn:an)(t,e)):qe(this.node(),t).delay},duration:function(e){var t=this._id;return arguments.length?this.each(("function"===typeof e?cn:dn)(t,e)):qe(this.node(),t).duration},ease:function(e){var t=this._id;return arguments.length?this.each(function(e,t){if("function"!==typeof t)throw new Error;return function(){Ke(this,e).ease=t}}(t,e)):qe(this.node(),t).ease},easeVarying:function(e){if("function"!==typeof e)throw new Error;return this.each(function(e,t){return function(){var n=t.apply(this,arguments);if("function"!==typeof n)throw new Error;Ke(this,e).ease=n}}(this._id,e))},end:function(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(o,l){var s={value:l},a={value:function(){0===--i&&o()}};n.each(function(){var n=Ke(this,r),i=n.on;i!==e&&((t=(e=i).copy())._.cancel.push(s),t._.interrupt.push(s),t._.end.push(a)),n.on=t}),0===i&&o()})},[Symbol.iterator]:mn[Symbol.iterator]};var yn={time:null,delay:0,duration:250,ease:function(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}};function vn(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}xe.prototype.interrupt=function(e){return this.each(function(){!function(e,t){var n,r,i,o=e.__transition,l=!0;if(o){for(i in t=null==t?null:t+"",o)(n=o[i]).name===t?(r=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(r?"interrupt":"cancel",e,e.__data__,n.index,n.group),delete o[i]):l=!1;l&&delete e.__transition}}(this,e)})},xe.prototype.transition=function(e){var t,n;e instanceof fn?(t=e._id,e=e._name):(t=gn(),(n=yn).time=Re(),e=null==e?null:e+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var l,s=r[o],a=s.length,c=0;c<a;++c)(l=s[c])&&Ye(l,e,t,c,s,n||vn(l,t));return new fn(r,this._parents,e,t)};const{abs:xn,max:bn,min:wn}=Math;function Sn(e){return[+e[0],+e[1]]}function jn(e){return[Sn(e[0]),Sn(e[1])]}["w","e"].map(kn),["n","s"].map(kn),["n","w","e","s","nw","ne","sw","se"].map(kn);function kn(e){return{type:e}}var _n=1e-6,En=Math.PI,Cn=En/2,Tn=En/4,Mn=2*En,On=180/En,An=En/180,Pn=Math.abs,In=Math.atan,Dn=Math.atan2,Ln=Math.cos,Rn=Math.ceil,zn=(Math.exp,Math.floor,Math.hypot,Math.log,Math.pow,Math.sin),Nn=Math.sign||function(e){return e>0?1:e<0?-1:0},Fn=Math.sqrt;Math.tan;function $n(e){return e>1?Cn:e<-1?-Cn:Math.asin(e)}function Wn(e,t,n){var r=l(e,t-_n,n).concat(t);return function(e){return r.map(function(t){return[e,t]})}}function Bn(e,t,n){var r=l(e,t-_n,n).concat(t);return function(e){return r.map(function(t){return[t,e]})}}function Un(){return function(){var e,t,n,r,i,o,s,a,c,d,u,h,p=10,f=p,g=90,m=360,y=2.5;function v(){return{type:"MultiLineString",coordinates:x()}}function x(){return l(Rn(r/g)*g,n,g).map(u).concat(l(Rn(a/m)*m,s,m).map(h)).concat(l(Rn(t/p)*p,e,p).filter(function(e){return Pn(e%g)>_n}).map(c)).concat(l(Rn(o/f)*f,i,f).filter(function(e){return Pn(e%m)>_n}).map(d))}return v.lines=function(){return x().map(function(e){return{type:"LineString",coordinates:e}})},v.outline=function(){return{type:"Polygon",coordinates:[u(r).concat(h(s).slice(1),u(n).reverse().slice(1),h(a).reverse().slice(1))]}},v.extent=function(e){return arguments.length?v.extentMajor(e).extentMinor(e):v.extentMinor()},v.extentMajor=function(e){return arguments.length?(r=+e[0][0],n=+e[1][0],a=+e[0][1],s=+e[1][1],r>n&&(e=r,r=n,n=e),a>s&&(e=a,a=s,s=e),v.precision(y)):[[r,a],[n,s]]},v.extentMinor=function(n){return arguments.length?(t=+n[0][0],e=+n[1][0],o=+n[0][1],i=+n[1][1],t>e&&(n=t,t=e,e=n),o>i&&(n=o,o=i,i=n),v.precision(y)):[[t,o],[e,i]]},v.step=function(e){return arguments.length?v.stepMajor(e).stepMinor(e):v.stepMinor()},v.stepMajor=function(e){return arguments.length?(g=+e[0],m=+e[1],v):[g,m]},v.stepMinor=function(e){return arguments.length?(p=+e[0],f=+e[1],v):[p,f]},v.precision=function(l){return arguments.length?(y=+l,c=Wn(o,i,90),d=Bn(t,e,y),u=Wn(a,s,90),h=Bn(r,n,y),v):y},v.extentMajor([[-180,-89.999999],[180,89.999999]]).extentMinor([[-180,-80.000001],[180,80.000001]])}()()}const Hn=e=>e;function Vn(e,t){e&&Gn.hasOwnProperty(e.type)&&Gn[e.type](e,t)}var Yn={Feature:function(e,t){Vn(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,i=n.length;++r<i;)Vn(n[r].geometry,t)}},Gn={Sphere:function(e,t){t.sphere()},Point:function(e,t){e=e.coordinates,t.point(e[0],e[1],e[2])},MultiPoint:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)e=n[r],t.point(e[0],e[1],e[2])},LineString:function(e,t){Kn(e.coordinates,t,0)},MultiLineString:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)Kn(n[r],t,0)},Polygon:function(e,t){qn(e.coordinates,t)},MultiPolygon:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)qn(n[r],t)},GeometryCollection:function(e,t){for(var n=e.geometries,r=-1,i=n.length;++r<i;)Vn(n[r],t)}};function Kn(e,t,n){var r,i=-1,o=e.length-n;for(t.lineStart();++i<o;)r=e[i],t.point(r[0],r[1],r[2]);t.lineEnd()}function qn(e,t){var n=-1,r=e.length;for(t.polygonStart();++n<r;)Kn(e[n],t,1);t.polygonEnd()}function Xn(e,t){e&&Yn.hasOwnProperty(e.type)?Yn[e.type](e,t):Vn(e,t)}class Jn{constructor(){this._partials=new Float64Array(32),this._n=0}add(e){const t=this._partials;let n=0;for(let r=0;r<this._n&&r<32;r++){const i=t[r],o=e+i,l=Math.abs(e)<Math.abs(i)?e-(o-i):i-(o-e);l&&(t[n++]=l),e=o}return t[n]=e,this._n=n+1,this}valueOf(){const e=this._partials;let t,n,r,i=this._n,o=0;if(i>0){for(o=e[--i];i>0&&(t=o,n=e[--i],o=t+n,r=n-(o-t),!r););i>0&&(r<0&&e[i-1]<0||r>0&&e[i-1]>0)&&(n=2*r,t=o+n,n==t-o&&(o=t))}return o}}function Qn(){}var Zn,er,tr,nr,rr=new Jn,ir=new Jn,or={point:Qn,lineStart:Qn,lineEnd:Qn,polygonStart:function(){or.lineStart=lr,or.lineEnd=cr},polygonEnd:function(){or.lineStart=or.lineEnd=or.point=Qn,rr.add(Pn(ir)),ir=new Jn},result:function(){var e=rr/2;return rr=new Jn,e}};function lr(){or.point=sr}function sr(e,t){or.point=ar,Zn=tr=e,er=nr=t}function ar(e,t){ir.add(nr*e-tr*t),tr=e,nr=t}function cr(){ar(Zn,er)}const dr=or;var ur=1/0,hr=ur,pr=-ur,fr=pr,gr={point:function(e,t){e<ur&&(ur=e);e>pr&&(pr=e);t<hr&&(hr=t);t>fr&&(fr=t)},lineStart:Qn,lineEnd:Qn,polygonStart:Qn,polygonEnd:Qn,result:function(){var e=[[ur,hr],[pr,fr]];return pr=fr=-(hr=ur=1/0),e}};const mr=gr;var yr,vr,xr,br,wr=0,Sr=0,jr=0,kr=0,_r=0,Er=0,Cr=0,Tr=0,Mr=0,Or={point:Ar,lineStart:Pr,lineEnd:Lr,polygonStart:function(){Or.lineStart=Rr,Or.lineEnd=zr},polygonEnd:function(){Or.point=Ar,Or.lineStart=Pr,Or.lineEnd=Lr},result:function(){var e=Mr?[Cr/Mr,Tr/Mr]:Er?[kr/Er,_r/Er]:jr?[wr/jr,Sr/jr]:[NaN,NaN];return wr=Sr=jr=kr=_r=Er=Cr=Tr=Mr=0,e}};function Ar(e,t){wr+=e,Sr+=t,++jr}function Pr(){Or.point=Ir}function Ir(e,t){Or.point=Dr,Ar(xr=e,br=t)}function Dr(e,t){var n=e-xr,r=t-br,i=Fn(n*n+r*r);kr+=i*(xr+e)/2,_r+=i*(br+t)/2,Er+=i,Ar(xr=e,br=t)}function Lr(){Or.point=Ar}function Rr(){Or.point=Nr}function zr(){Fr(yr,vr)}function Nr(e,t){Or.point=Fr,Ar(yr=xr=e,vr=br=t)}function Fr(e,t){var n=e-xr,r=t-br,i=Fn(n*n+r*r);kr+=i*(xr+e)/2,_r+=i*(br+t)/2,Er+=i,Cr+=(i=br*e-xr*t)*(xr+e),Tr+=i*(br+t),Mr+=3*i,Ar(xr=e,br=t)}const $r=Or;function Wr(e){this._context=e}Wr.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._context.moveTo(e,t),this._point=1;break;case 1:this._context.lineTo(e,t);break;default:this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,Mn)}},result:Qn};var Br,Ur,Hr,Vr,Yr,Gr=new Jn,Kr={point:Qn,lineStart:function(){Kr.point=qr},lineEnd:function(){Br&&Xr(Ur,Hr),Kr.point=Qn},polygonStart:function(){Br=!0},polygonEnd:function(){Br=null},result:function(){var e=+Gr;return Gr=new Jn,e}};function qr(e,t){Kr.point=Xr,Ur=Vr=e,Hr=Yr=t}function Xr(e,t){Vr-=e,Yr-=t,Gr.add(Fn(Vr*Vr+Yr*Yr)),Vr=e,Yr=t}const Jr=Kr;let Qr,Zr,ei,ti;class ni{constructor(e){this._append=null==e?ri:function(e){const t=Math.floor(e);if(!(t>=0))throw new RangeError(`invalid digits: ${e}`);if(t>15)return ri;if(t!==Qr){const e=10**t;Qr=t,Zr=function(t){let n=1;this._+=t[0];for(const r=t.length;n<r;++n)this._+=Math.round(arguments[n]*e)/e+t[n]}}return Zr}(e),this._radius=4.5,this._=""}pointRadius(e){return this._radius=+e,this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){0===this._line&&(this._+="Z"),this._point=NaN}point(e,t){switch(this._point){case 0:this._append`M${e},${t}`,this._point=1;break;case 1:this._append`L${e},${t}`;break;default:if(this._append`M${e},${t}`,this._radius!==ei||this._append!==Zr){const e=this._radius,t=this._;this._="",this._append`m0,${e}a${e},${e} 0 1,1 0,${-2*e}a${e},${e} 0 1,1 0,${2*e}z`,ei=e,Zr=this._append,ti=this._,this._=t}this._+=ti}}result(){const e=this._;return this._="",e.length?e:null}}function ri(e){let t=1;this._+=e[0];for(const n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function ii(){var e,t=[];return{point:function(t,n,r){e.push([t,n,r])},lineStart:function(){t.push(e=[])},lineEnd:Qn,rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))},result:function(){var n=t;return t=[],e=null,n}}}function oi(e,t){return Pn(e[0]-t[0])<_n&&Pn(e[1]-t[1])<_n}function li(e,t,n,r){this.x=e,this.z=t,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function si(e,t,n,r,i){var o,l,s=[],a=[];if(e.forEach(function(e){if(!((t=e.length-1)<=0)){var t,n,r=e[0],l=e[t];if(oi(r,l)){if(!r[2]&&!l[2]){for(i.lineStart(),o=0;o<t;++o)i.point((r=e[o])[0],r[1]);return void i.lineEnd()}l[0]+=2e-6}s.push(n=new li(r,e,null,!0)),a.push(n.o=new li(r,null,n,!1)),s.push(n=new li(l,e,null,!1)),a.push(n.o=new li(l,null,n,!0))}}),s.length){for(a.sort(t),ai(s),ai(a),o=0,l=a.length;o<l;++o)a[o].e=n=!n;for(var c,d,u=s[0];;){for(var h=u,p=!0;h.v;)if((h=h.n)===u)return;c=h.z,i.lineStart();do{if(h.v=h.o.v=!0,h.e){if(p)for(o=0,l=c.length;o<l;++o)i.point((d=c[o])[0],d[1]);else r(h.x,h.n.x,1,i);h=h.n}else{if(p)for(c=h.p.z,o=c.length-1;o>=0;--o)i.point((d=c[o])[0],d[1]);else r(h.x,h.p.x,-1,i);h=h.p}c=(h=h.o).z,p=!p}while(!h.v);i.lineEnd()}}}function ai(e){if(t=e.length){for(var t,n,r=0,i=e[0];++r<t;)i.n=n=e[r],n.p=i,i=n;i.n=n=e[0],n.p=i}}function ci(e){return[Dn(e[1],e[0]),$n(e[2])]}function di(e){var t=e[0],n=e[1],r=Ln(n);return[r*Ln(t),r*zn(t),zn(n)]}function ui(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function hi(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function pi(e,t){e[0]+=t[0],e[1]+=t[1],e[2]+=t[2]}function fi(e,t){return[e[0]*t,e[1]*t,e[2]*t]}function gi(e){var t=Fn(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}function mi(e){return Pn(e[0])<=En?e[0]:Nn(e[0])*((Pn(e[0])+En)%Mn-En)}function yi(e){return Array.from(function*(e){for(const t of e)yield*t}(e))}function vi(e,t,n,r){return function(i){var o,l,s,a=t(i),c=ii(),d=t(c),u=!1,h={point:p,lineStart:g,lineEnd:m,polygonStart:function(){h.point=y,h.lineStart=v,h.lineEnd=x,l=[],o=[]},polygonEnd:function(){h.point=p,h.lineStart=g,h.lineEnd=m,l=yi(l);var e=function(e,t){var n=mi(t),r=t[1],i=zn(r),o=[zn(n),-Ln(n),0],l=0,s=0,a=new Jn;1===i?r=Cn+_n:-1===i&&(r=-Cn-_n);for(var c=0,d=e.length;c<d;++c)if(h=(u=e[c]).length)for(var u,h,p=u[h-1],f=mi(p),g=p[1]/2+Tn,m=zn(g),y=Ln(g),v=0;v<h;++v,f=b,m=S,y=j,p=x){var x=u[v],b=mi(x),w=x[1]/2+Tn,S=zn(w),j=Ln(w),k=b-f,_=k>=0?1:-1,E=_*k,C=E>En,T=m*S;if(a.add(Dn(T*_*zn(E),y*j+T*Ln(E))),l+=C?k+_*Mn:k,C^f>=n^b>=n){var M=hi(di(p),di(x));gi(M);var O=hi(o,M);gi(O);var A=(C^k>=0?-1:1)*$n(O[2]);(r>A||r===A&&(M[0]||M[1]))&&(s+=C^k>=0?1:-1)}}return(l<-_n||l<_n&&a<-1e-12)^1&s}(o,r);l.length?(u||(i.polygonStart(),u=!0),si(l,bi,e,n,i)):e&&(u||(i.polygonStart(),u=!0),i.lineStart(),n(null,null,1,i),i.lineEnd()),u&&(i.polygonEnd(),u=!1),l=o=null},sphere:function(){i.polygonStart(),i.lineStart(),n(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function p(t,n){e(t,n)&&i.point(t,n)}function f(e,t){a.point(e,t)}function g(){h.point=f,a.lineStart()}function m(){h.point=p,a.lineEnd()}function y(e,t){s.push([e,t]),d.point(e,t)}function v(){d.lineStart(),s=[]}function x(){y(s[0][0],s[0][1]),d.lineEnd();var e,t,n,r,a=d.clean(),h=c.result(),p=h.length;if(s.pop(),o.push(s),s=null,p)if(1&a){if((t=(n=h[0]).length-1)>0){for(u||(i.polygonStart(),u=!0),i.lineStart(),e=0;e<t;++e)i.point((r=n[e])[0],r[1]);i.lineEnd()}}else p>1&&2&a&&h.push(h.pop().concat(h.shift())),l.push(h.filter(xi))}return h}}function xi(e){return e.length>1}function bi(e,t){return((e=e.x)[0]<0?e[1]-Cn-_n:Cn-e[1])-((t=t.x)[0]<0?t[1]-Cn-_n:Cn-t[1])}const wi=vi(function(){return!0},function(e){var t,n=NaN,r=NaN,i=NaN;return{lineStart:function(){e.lineStart(),t=1},point:function(o,l){var s=o>0?En:-En,a=Pn(o-n);Pn(a-En)<_n?(e.point(n,r=(r+l)/2>0?Cn:-Cn),e.point(i,r),e.lineEnd(),e.lineStart(),e.point(s,r),e.point(o,r),t=0):i!==s&&a>=En&&(Pn(n-i)<_n&&(n-=i*_n),Pn(o-s)<_n&&(o-=s*_n),r=function(e,t,n,r){var i,o,l=zn(e-n);return Pn(l)>_n?In((zn(t)*(o=Ln(r))*zn(n)-zn(r)*(i=Ln(t))*zn(e))/(i*o*l)):(t+r)/2}(n,r,o,l),e.point(i,r),e.lineEnd(),e.lineStart(),e.point(s,r),t=0),e.point(n=o,r=l),i=s},lineEnd:function(){e.lineEnd(),n=r=NaN},clean:function(){return 2-t}}},function(e,t,n,r){var i;if(null==e)i=n*Cn,r.point(-En,i),r.point(0,i),r.point(En,i),r.point(En,0),r.point(En,-i),r.point(0,-i),r.point(-En,-i),r.point(-En,0),r.point(-En,i);else if(Pn(e[0]-t[0])>_n){var o=e[0]<t[0]?En:-En;i=n*o/2,r.point(-o,i),r.point(0,i),r.point(o,i)}else r.point(t[0],t[1])},[-En,-Cn]);function Si(e,t,n,r,i,o){if(n){var l=Ln(t),s=zn(t),a=r*n;null==i?(i=t+r*Mn,o=t-a/2):(i=ji(l,i),o=ji(l,o),(r>0?i<o:i>o)&&(i+=r*Mn));for(var c,d=i;r>0?d>o:d<o;d-=a)c=ci([l,-s*Ln(d),-s*zn(d)]),e.point(c[0],c[1])}}function ji(e,t){(t=di(t))[0]-=e,gi(t);var n=function(e){return e>1?0:e<-1?En:Math.acos(e)}(-t[1]);return((-t[2]<0?-n:n)+Mn-_n)%Mn}var ki=1e9,_i=-ki;function Ei(e,t,n,r){function i(i,o){return e<=i&&i<=n&&t<=o&&o<=r}function o(i,o,s,c){var d=0,u=0;if(null==i||(d=l(i,s))!==(u=l(o,s))||a(i,o)<0^s>0)do{c.point(0===d||3===d?e:n,d>1?r:t)}while((d=(d+s+4)%4)!==u);else c.point(o[0],o[1])}function l(r,i){return Pn(r[0]-e)<_n?i>0?0:3:Pn(r[0]-n)<_n?i>0?2:1:Pn(r[1]-t)<_n?i>0?1:0:i>0?3:2}function s(e,t){return a(e.x,t.x)}function a(e,t){var n=l(e,1),r=l(t,1);return n!==r?n-r:0===n?t[1]-e[1]:1===n?e[0]-t[0]:2===n?e[1]-t[1]:t[0]-e[0]}return function(l){var a,c,d,u,h,p,f,g,m,y,v,x=l,b=ii(),w={point:S,lineStart:function(){w.point=j,c&&c.push(d=[]);y=!0,m=!1,f=g=NaN},lineEnd:function(){a&&(j(u,h),p&&m&&b.rejoin(),a.push(b.result()));w.point=S,m&&x.lineEnd()},polygonStart:function(){x=b,a=[],c=[],v=!0},polygonEnd:function(){var t=function(){for(var t=0,n=0,i=c.length;n<i;++n)for(var o,l,s=c[n],a=1,d=s.length,u=s[0],h=u[0],p=u[1];a<d;++a)o=h,l=p,h=(u=s[a])[0],p=u[1],l<=r?p>r&&(h-o)*(r-l)>(p-l)*(e-o)&&++t:p<=r&&(h-o)*(r-l)<(p-l)*(e-o)&&--t;return t}(),n=v&&t,i=(a=yi(a)).length;(n||i)&&(l.polygonStart(),n&&(l.lineStart(),o(null,null,1,l),l.lineEnd()),i&&si(a,s,t,o,l),l.polygonEnd());x=l,a=c=d=null}};function S(e,t){i(e,t)&&x.point(e,t)}function j(o,l){var s=i(o,l);if(c&&d.push([o,l]),y)u=o,h=l,p=s,y=!1,s&&(x.lineStart(),x.point(o,l));else if(s&&m)x.point(o,l);else{var a=[f=Math.max(_i,Math.min(ki,f)),g=Math.max(_i,Math.min(ki,g))],b=[o=Math.max(_i,Math.min(ki,o)),l=Math.max(_i,Math.min(ki,l))];!function(e,t,n,r,i,o){var l,s=e[0],a=e[1],c=0,d=1,u=t[0]-s,h=t[1]-a;if(l=n-s,u||!(l>0)){if(l/=u,u<0){if(l<c)return;l<d&&(d=l)}else if(u>0){if(l>d)return;l>c&&(c=l)}if(l=i-s,u||!(l<0)){if(l/=u,u<0){if(l>d)return;l>c&&(c=l)}else if(u>0){if(l<c)return;l<d&&(d=l)}if(l=r-a,h||!(l>0)){if(l/=h,h<0){if(l<c)return;l<d&&(d=l)}else if(h>0){if(l>d)return;l>c&&(c=l)}if(l=o-a,h||!(l<0)){if(l/=h,h<0){if(l>d)return;l>c&&(c=l)}else if(h>0){if(l<c)return;l<d&&(d=l)}return c>0&&(e[0]=s+c*u,e[1]=a+c*h),d<1&&(t[0]=s+d*u,t[1]=a+d*h),!0}}}}}(a,b,e,t,n,r)?s&&(x.lineStart(),x.point(o,l),v=!1):(m||(x.lineStart(),x.point(a[0],a[1])),x.point(b[0],b[1]),s||x.lineEnd(),v=!1)}f=o,g=l,m=s}return w}}function Ci(e,t){function n(n,r){return n=e(n,r),t(n[0],n[1])}return e.invert&&t.invert&&(n.invert=function(n,r){return(n=t.invert(n,r))&&e.invert(n[0],n[1])}),n}function Ti(e,t){return Pn(e)>En&&(e-=Math.round(e/Mn)*Mn),[e,t]}function Mi(e,t,n){return(e%=Mn)?t||n?Ci(Ai(e),Pi(t,n)):Ai(e):t||n?Pi(t,n):Ti}function Oi(e){return function(t,n){return Pn(t+=e)>En&&(t-=Math.round(t/Mn)*Mn),[t,n]}}function Ai(e){var t=Oi(e);return t.invert=Oi(-e),t}function Pi(e,t){var n=Ln(e),r=zn(e),i=Ln(t),o=zn(t);function l(e,t){var l=Ln(t),s=Ln(e)*l,a=zn(e)*l,c=zn(t),d=c*n+s*r;return[Dn(a*i-d*o,s*n-c*r),$n(d*i+a*o)]}return l.invert=function(e,t){var l=Ln(t),s=Ln(e)*l,a=zn(e)*l,c=zn(t),d=c*i-a*o;return[Dn(a*i+c*o,s*n+d*r),$n(d*n-s*r)]},l}function Ii(e){return function(t){var n=new Di;for(var r in e)n[r]=e[r];return n.stream=t,n}}function Di(){}function Li(e,t,n){var r=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),null!=r&&e.clipExtent(null),Xn(n,e.stream(mr)),t(mr.result()),null!=r&&e.clipExtent(r),e}function Ri(e,t,n){return Li(e,function(n){var r=t[1][0]-t[0][0],i=t[1][1]-t[0][1],o=Math.min(r/(n[1][0]-n[0][0]),i/(n[1][1]-n[0][1])),l=+t[0][0]+(r-o*(n[1][0]+n[0][0]))/2,s=+t[0][1]+(i-o*(n[1][1]+n[0][1]))/2;e.scale(150*o).translate([l,s])},n)}Ti.invert=Ti,Di.prototype={constructor:Di,point:function(e,t){this.stream.point(e,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var zi=Ln(30*An);function Ni(e,t){return+t?function(e,t){function n(r,i,o,l,s,a,c,d,u,h,p,f,g,m){var y=c-r,v=d-i,x=y*y+v*v;if(x>4*t&&g--){var b=l+h,w=s+p,S=a+f,j=Fn(b*b+w*w+S*S),k=$n(S/=j),_=Pn(Pn(S)-1)<_n||Pn(o-u)<_n?(o+u)/2:Dn(w,b),E=e(_,k),C=E[0],T=E[1],M=C-r,O=T-i,A=v*M-y*O;(A*A/x>t||Pn((y*M+v*O)/x-.5)>.3||l*h+s*p+a*f<zi)&&(n(r,i,o,l,s,a,C,T,_,b/=j,w/=j,S,g,m),m.point(C,T),n(C,T,_,b,w,S,c,d,u,h,p,f,g,m))}}return function(t){var r,i,o,l,s,a,c,d,u,h,p,f,g={point:m,lineStart:y,lineEnd:x,polygonStart:function(){t.polygonStart(),g.lineStart=b},polygonEnd:function(){t.polygonEnd(),g.lineStart=y}};function m(n,r){n=e(n,r),t.point(n[0],n[1])}function y(){d=NaN,g.point=v,t.lineStart()}function v(r,i){var o=di([r,i]),l=e(r,i);n(d,u,c,h,p,f,d=l[0],u=l[1],c=r,h=o[0],p=o[1],f=o[2],16,t),t.point(d,u)}function x(){g.point=m,t.lineEnd()}function b(){y(),g.point=w,g.lineEnd=S}function w(e,t){v(r=e,t),i=d,o=u,l=h,s=p,a=f,g.point=v}function S(){n(d,u,c,h,p,f,i,o,r,l,s,a,16,t),g.lineEnd=x,x()}return g}}(e,t):function(e){return Ii({point:function(t,n){t=e(t,n),this.stream.point(t[0],t[1])}})}(e)}var Fi=Ii({point:function(e,t){this.stream.point(e*An,t*An)}});function $i(e,t,n,r,i,o){if(!o)return function(e,t,n,r,i){function o(o,l){return[t+e*(o*=r),n-e*(l*=i)]}return o.invert=function(o,l){return[(o-t)/e*r,(n-l)/e*i]},o}(e,t,n,r,i);var l=Ln(o),s=zn(o),a=l*e,c=s*e,d=l/e,u=s/e,h=(s*n-l*t)/e,p=(s*t+l*n)/e;function f(e,o){return[a*(e*=r)-c*(o*=i)+t,n-c*e-a*o]}return f.invert=function(e,t){return[r*(d*e-u*t+h),i*(p-u*e-d*t)]},f}function Wi(e){return function(e){var t,n,r,i,o,l,s,a,c,d,u=150,h=480,p=250,f=0,g=0,m=0,y=0,v=0,x=0,b=1,w=1,S=null,j=wi,k=null,_=Hn,E=.5;function C(e){return a(e[0]*An,e[1]*An)}function T(e){return(e=a.invert(e[0],e[1]))&&[e[0]*On,e[1]*On]}function M(){var e=$i(u,0,0,b,w,x).apply(null,t(f,g)),r=$i(u,h-e[0],p-e[1],b,w,x);return n=Mi(m,y,v),s=Ci(t,r),a=Ci(n,s),l=Ni(s,E),O()}function O(){return c=d=null,C}return C.stream=function(e){return c&&d===e?c:c=Fi(function(e){return Ii({point:function(t,n){var r=e(t,n);return this.stream.point(r[0],r[1])}})}(n)(j(l(_(d=e)))))},C.preclip=function(e){return arguments.length?(j=e,S=void 0,O()):j},C.postclip=function(e){return arguments.length?(_=e,k=r=i=o=null,O()):_},C.clipAngle=function(e){return arguments.length?(j=+e?function(e){var t=Ln(e),n=2*An,r=t>0,i=Pn(t)>_n;function o(e,n){return Ln(e)*Ln(n)>t}function l(e,n,r){var i=[1,0,0],o=hi(di(e),di(n)),l=ui(o,o),s=o[0],a=l-s*s;if(!a)return!r&&e;var c=t*l/a,d=-t*s/a,u=hi(i,o),h=fi(i,c);pi(h,fi(o,d));var p=u,f=ui(h,p),g=ui(p,p),m=f*f-g*(ui(h,h)-1);if(!(m<0)){var y=Fn(m),v=fi(p,(-f-y)/g);if(pi(v,h),v=ci(v),!r)return v;var x,b=e[0],w=n[0],S=e[1],j=n[1];w<b&&(x=b,b=w,w=x);var k=w-b,_=Pn(k-En)<_n;if(!_&&j<S&&(x=S,S=j,j=x),_||k<_n?_?S+j>0^v[1]<(Pn(v[0]-b)<_n?S:j):S<=v[1]&&v[1]<=j:k>En^(b<=v[0]&&v[0]<=w)){var E=fi(p,(-f+y)/g);return pi(E,h),[v,ci(E)]}}}function s(t,n){var i=r?e:En-e,o=0;return t<-i?o|=1:t>i&&(o|=2),n<-i?o|=4:n>i&&(o|=8),o}return vi(o,function(e){var t,n,a,c,d;return{lineStart:function(){c=a=!1,d=1},point:function(u,h){var p,f=[u,h],g=o(u,h),m=r?g?0:s(u,h):g?s(u+(u<0?En:-En),h):0;if(!t&&(c=a=g)&&e.lineStart(),g!==a&&(!(p=l(t,f))||oi(t,p)||oi(f,p))&&(f[2]=1),g!==a)d=0,g?(e.lineStart(),p=l(f,t),e.point(p[0],p[1])):(p=l(t,f),e.point(p[0],p[1],2),e.lineEnd()),t=p;else if(i&&t&&r^g){var y;m&n||!(y=l(f,t,!0))||(d=0,r?(e.lineStart(),e.point(y[0][0],y[0][1]),e.point(y[1][0],y[1][1]),e.lineEnd()):(e.point(y[1][0],y[1][1]),e.lineEnd(),e.lineStart(),e.point(y[0][0],y[0][1],3)))}!g||t&&oi(t,f)||e.point(f[0],f[1]),t=f,a=g,n=m},lineEnd:function(){a&&e.lineEnd(),t=null},clean:function(){return d|(c&&a)<<1}}},function(t,r,i,o){Si(o,e,n,i,t,r)},r?[0,-e]:[-En,e-En])}(S=e*An):(S=null,wi),O()):S*On},C.clipExtent=function(e){return arguments.length?(_=null==e?(k=r=i=o=null,Hn):Ei(k=+e[0][0],r=+e[0][1],i=+e[1][0],o=+e[1][1]),O()):null==k?null:[[k,r],[i,o]]},C.scale=function(e){return arguments.length?(u=+e,M()):u},C.translate=function(e){return arguments.length?(h=+e[0],p=+e[1],M()):[h,p]},C.center=function(e){return arguments.length?(f=e[0]%360*An,g=e[1]%360*An,M()):[f*On,g*On]},C.rotate=function(e){return arguments.length?(m=e[0]%360*An,y=e[1]%360*An,v=e.length>2?e[2]%360*An:0,M()):[m*On,y*On,v*On]},C.angle=function(e){return arguments.length?(x=e%360*An,M()):x*On},C.reflectX=function(e){return arguments.length?(b=e?-1:1,M()):b<0},C.reflectY=function(e){return arguments.length?(w=e?-1:1,M()):w<0},C.precision=function(e){return arguments.length?(l=Ni(s,E=e*e),O()):Fn(E)},C.fitExtent=function(e,t){return Ri(C,e,t)},C.fitSize=function(e,t){return function(e,t,n){return Ri(e,[[0,0],t],n)}(C,e,t)},C.fitWidth=function(e,t){return function(e,t,n){return Li(e,function(n){var r=+t,i=r/(n[1][0]-n[0][0]),o=(r-i*(n[1][0]+n[0][0]))/2,l=-i*n[0][1];e.scale(150*i).translate([o,l])},n)}(C,e,t)},C.fitHeight=function(e,t){return function(e,t,n){return Li(e,function(n){var r=+t,i=r/(n[1][1]-n[0][1]),o=-i*n[0][0],l=(r-i*(n[1][1]+n[0][1]))/2;e.scale(150*i).translate([o,l])},n)}(C,e,t)},function(){return t=e.apply(this,arguments),C.invert=t.invert&&T,M()}}(function(){return e})()}function Bi(e,t){var n=t*t,r=n*n;return[e*(.8707-.131979*n+r*(r*(.003971*n-.001529*r)-.013791)),t*(1.007226+n*(.015085+r*(.028874*n-.044475-.005916*r)))]}function Ui(){return Wi(Bi).scale(175.295)}Bi.invert=function(e,t){var n,r=t,i=25;do{var o=r*r,l=o*o;r-=n=(r*(1.007226+o*(.015085+l*(.028874*o-.044475-.005916*l)))-t)/(1.007226+o*(.045255+l*(.259866*o-.311325-.005916*11*l)))}while(Pn(n)>_n&&--i>0);return[e/(.8707+(o=r*r)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),r]};const Hi=4294967296;function Vi(e,t){for(var n,r,i=0,o=(e=function(e,t){let n,r,i=e.length;for(;i;)r=t()*i--|0,n=e[i],e[i]=e[r],e[r]=n;return e}(Array.from(e),t)).length,l=[];i<o;)n=e[i],r&&Ki(r,n)?++i:(r=Xi(l=Yi(l,n)),i=0);return r}function Yi(e,t){var n,r;if(qi(t,e))return[t];for(n=0;n<e.length;++n)if(Gi(t,e[n])&&qi(Ji(e[n],t),e))return[e[n],t];for(n=0;n<e.length-1;++n)for(r=n+1;r<e.length;++r)if(Gi(Ji(e[n],e[r]),t)&&Gi(Ji(e[n],t),e[r])&&Gi(Ji(e[r],t),e[n])&&qi(Qi(e[n],e[r],t),e))return[e[n],e[r],t];throw new Error}function Gi(e,t){var n=e.r-t.r,r=t.x-e.x,i=t.y-e.y;return n<0||n*n<r*r+i*i}function Ki(e,t){var n=e.r-t.r+1e-9*Math.max(e.r,t.r,1),r=t.x-e.x,i=t.y-e.y;return n>0&&n*n>r*r+i*i}function qi(e,t){for(var n=0;n<t.length;++n)if(!Ki(e,t[n]))return!1;return!0}function Xi(e){switch(e.length){case 1:return function(e){return{x:e.x,y:e.y,r:e.r}}(e[0]);case 2:return Ji(e[0],e[1]);case 3:return Qi(e[0],e[1],e[2])}}function Ji(e,t){var n=e.x,r=e.y,i=e.r,o=t.x,l=t.y,s=t.r,a=o-n,c=l-r,d=s-i,u=Math.sqrt(a*a+c*c);return{x:(n+o+a/u*d)/2,y:(r+l+c/u*d)/2,r:(u+i+s)/2}}function Qi(e,t,n){var r=e.x,i=e.y,o=e.r,l=t.x,s=t.y,a=t.r,c=n.x,d=n.y,u=n.r,h=r-l,p=r-c,f=i-s,g=i-d,m=a-o,y=u-o,v=r*r+i*i-o*o,x=v-l*l-s*s+a*a,b=v-c*c-d*d+u*u,w=p*f-h*g,S=(f*b-g*x)/(2*w)-r,j=(g*m-f*y)/w,k=(p*x-h*b)/(2*w)-i,_=(h*y-p*m)/w,E=j*j+_*_-1,C=2*(o+S*j+k*_),T=S*S+k*k-o*o,M=-(Math.abs(E)>1e-6?(C+Math.sqrt(C*C-4*E*T))/(2*E):T/C);return{x:r+S+j*M,y:i+k+_*M,r:M}}function Zi(e,t,n){var r,i,o,l,s=e.x-t.x,a=e.y-t.y,c=s*s+a*a;c?(i=t.r+n.r,i*=i,l=e.r+n.r,i>(l*=l)?(r=(c+l-i)/(2*c),o=Math.sqrt(Math.max(0,l/c-r*r)),n.x=e.x-r*s-o*a,n.y=e.y-r*a+o*s):(r=(c+i-l)/(2*c),o=Math.sqrt(Math.max(0,i/c-r*r)),n.x=t.x+r*s-o*a,n.y=t.y+r*a+o*s)):(n.x=t.x+n.r,n.y=t.y)}function eo(e,t){var n=e.r+t.r-1e-6,r=t.x-e.x,i=t.y-e.y;return n>0&&n*n>r*r+i*i}function to(e){var t=e._,n=e.next._,r=t.r+n.r,i=(t.x*n.r+n.x*t.r)/r,o=(t.y*n.r+n.y*t.r)/r;return i*i+o*o}function no(e){this._=e,this.next=null,this.previous=null}function ro(e,t){if(!(o=(e=function(e){return"object"===typeof e&&"length"in e?e:Array.from(e)}(e)).length))return 0;var n,r,i,o,l,s,a,c,d,u,h;if((n=e[0]).x=0,n.y=0,!(o>1))return n.r;if(r=e[1],n.x=-r.r,r.x=n.r,r.y=0,!(o>2))return n.r+r.r;Zi(r,n,i=e[2]),n=new no(n),r=new no(r),i=new no(i),n.next=i.previous=r,r.next=n.previous=i,i.next=r.previous=n;e:for(a=3;a<o;++a){Zi(n._,r._,i=e[a]),i=new no(i),c=r.next,d=n.previous,u=r._.r,h=n._.r;do{if(u<=h){if(eo(c._,i._)){r=c,n.next=r,r.previous=n,--a;continue e}u+=c._.r,c=c.next}else{if(eo(d._,i._)){(n=d).next=r,r.previous=n,--a;continue e}h+=d._.r,d=d.previous}}while(c!==d.next);for(i.previous=n,i.next=r,n.next=r.previous=r=i,l=to(n);(i=i.next)!==r;)(s=to(i))<l&&(n=i,l=s);r=n.next}for(n=[r._],i=r;(i=i.next)!==r;)n.push(i._);for(i=Vi(n,t),a=0;a<o;++a)(n=e[a]).x-=i.x,n.y-=i.y;return i.r}function io(e){return ro(e,function(){let e=1;return()=>(e=(1664525*e+1013904223)%Hi)/Hi}()),e}function oo(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}function lo(e,t){switch(arguments.length){case 0:break;case 1:"function"===typeof e?this.interpolator(e):this.range(e);break;default:this.domain(e),"function"===typeof t?this.interpolator(t):this.range(t)}return this}class so extends Map{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ho;if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),null!=e)for(const[n,r]of e)this.set(n,r)}get(e){return super.get(ao(this,e))}has(e){return super.has(ao(this,e))}set(e,t){return super.set(co(this,e),t)}delete(e){return super.delete(uo(this,e))}}Set;function ao(e,t){let{_intern:n,_key:r}=e;const i=r(t);return n.has(i)?n.get(i):t}function co(e,t){let{_intern:n,_key:r}=e;const i=r(t);return n.has(i)?n.get(i):(n.set(i,t),t)}function uo(e,t){let{_intern:n,_key:r}=e;const i=r(t);return n.has(i)&&(t=n.get(i),n.delete(i)),t}function ho(e){return null!==e&&"object"===typeof e?e.valueOf():e}const po=Symbol("implicit");function fo(){var e=new so,t=[],n=[],r=po;function i(i){let o=e.get(i);if(void 0===o){if(r!==po)return r;e.set(i,o=t.push(i)-1)}return n[o%n.length]}return i.domain=function(n){if(!arguments.length)return t.slice();t=[],e=new so;for(const r of n)e.has(r)||e.set(r,t.push(r)-1);return i},i.range=function(e){return arguments.length?(n=Array.from(e),i):n.slice()},i.unknown=function(e){return arguments.length?(r=e,i):r},i.copy=function(){return fo(t,n).unknown(r)},oo.apply(i,arguments),i}function go(){var e,t,n=fo().unknown(void 0),r=n.domain,i=n.range,o=0,s=1,a=!1,c=0,d=0,u=.5;function h(){var n=r().length,h=s<o,p=h?s:o,f=h?o:s;e=(f-p)/Math.max(1,n-c+2*d),a&&(e=Math.floor(e)),p+=(f-p-e*(n-c))*u,t=e*(1-c),a&&(p=Math.round(p),t=Math.round(t));var g=l(n).map(function(t){return p+e*t});return i(h?g.reverse():g)}return delete n.unknown,n.domain=function(e){return arguments.length?(r(e),h()):r()},n.range=function(e){return arguments.length?([o,s]=e,o=+o,s=+s,h()):[o,s]},n.rangeRound=function(e){return[o,s]=e,o=+o,s=+s,a=!0,h()},n.bandwidth=function(){return t},n.step=function(){return e},n.round=function(e){return arguments.length?(a=!!e,h()):a},n.padding=function(e){return arguments.length?(c=Math.min(1,d=+e),h()):c},n.paddingInner=function(e){return arguments.length?(c=Math.min(1,e),h()):c},n.paddingOuter=function(e){return arguments.length?(d=+e,h()):d},n.align=function(e){return arguments.length?(u=Math.max(0,Math.min(1,e)),h()):u},n.copy=function(){return go(r(),[o,s]).round(a).paddingInner(c).paddingOuter(d).align(u)},oo.apply(h(),arguments)}function mo(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return mo(t())},e}function yo(){return mo(go.apply(null,arguments).paddingInner(1))}const vo=Math.sqrt(50),xo=Math.sqrt(10),bo=Math.sqrt(2);function wo(e,t,n){const r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),o=r/Math.pow(10,i),l=o>=vo?10:o>=xo?5:o>=bo?2:1;let s,a,c;return i<0?(c=Math.pow(10,-i)/l,s=Math.round(e*c),a=Math.round(t*c),s/c<e&&++s,a/c>t&&--a,c=-c):(c=Math.pow(10,i)*l,s=Math.round(e/c),a=Math.round(t/c),s*c<e&&++s,a*c>t&&--a),a<s&&.5<=n&&n<2?wo(e,t,2*n):[s,a,c]}function So(e,t,n){if(!((n=+n)>0))return[];if((e=+e)===(t=+t))return[e];const r=t<e,[i,o,l]=r?wo(t,e,n):wo(e,t,n);if(!(o>=i))return[];const s=o-i+1,a=new Array(s);if(r)if(l<0)for(let c=0;c<s;++c)a[c]=(o-c)/-l;else for(let c=0;c<s;++c)a[c]=(o-c)*l;else if(l<0)for(let c=0;c<s;++c)a[c]=(i+c)/-l;else for(let c=0;c<s;++c)a[c]=(i+c)*l;return a}function jo(e,t,n){return wo(e=+e,t=+t,n=+n)[2]}function ko(e,t,n){n=+n;const r=(t=+t)<(e=+e),i=r?jo(t,e,n):jo(e,t,n);return(r?-1:1)*(i<0?1/-i:i)}function _o(e,t){return null==e||null==t?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Eo(e,t){return null==e||null==t?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function Co(e){let t,n,r;function i(e,r){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:e.length;if(i<o){if(0!==t(r,r))return o;do{const t=i+o>>>1;n(e[t],r)<0?i=t+1:o=t}while(i<o)}return i}return 2!==e.length?(t=_o,n=(t,n)=>_o(e(t),n),r=(t,n)=>e(t)-n):(t=e===_o||e===Eo?e:To,n=e,r=e),{left:i,center:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const o=i(e,t,n,(arguments.length>3&&void 0!==arguments[3]?arguments[3]:e.length)-1);return o>n&&r(e[o-1],t)>-r(e[o],t)?o-1:o},right:function(e,r){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:e.length;if(i<o){if(0!==t(r,r))return o;do{const t=i+o>>>1;n(e[t],r)<=0?i=t+1:o=t}while(i<o)}return i}}}function To(){return 0}function Mo(e){return null===e?NaN:+e}const Oo=Co(_o),Ao=Oo.right,Po=(Oo.left,Co(Mo).center,Ao);function Io(e,t){var n,r=t?t.length:0,i=e?Math.min(r,e.length):0,o=new Array(i),l=new Array(r);for(n=0;n<i;++n)o[n]=zo(e[n],t[n]);for(;n<r;++n)l[n]=t[n];return function(e){for(n=0;n<i;++n)l[n]=o[n](e);return l}}function Do(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function Lo(e,t){var n,r={},i={};for(n in null!==e&&"object"===typeof e||(e={}),null!==t&&"object"===typeof t||(t={}),t)n in e?r[n]=zo(e[n],t[n]):i[n]=t[n];return function(e){for(n in r)i[n]=r[n](e);return i}}function Ro(e,t){t||(t=[]);var n,r=e?Math.min(t.length,e.length):0,i=t.slice();return function(o){for(n=0;n<r;++n)i[n]=e[n]*(1-o)+t[n]*o;return i}}function zo(e,t){var n,r=typeof t;return null==t||"boolean"===r?Bt(t):("number"===r?Xe:"string"===r?(n=_t(t))?(t=n,Yt):Xt:t instanceof _t?Yt:t instanceof Date?Do:function(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}(t)?Ro:Array.isArray(t)?Io:"function"!==typeof t.valueOf&&"function"!==typeof t.toString||isNaN(t)?Lo:Xe)(e,t)}function No(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}function Fo(e){return+e}var $o=[0,1];function Wo(e){return e}function Bo(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:function(e){return function(){return e}}(isNaN(t)?NaN:.5)}function Uo(e,t,n){var r=e[0],i=e[1],o=t[0],l=t[1];return i<r?(r=Bo(i,r),o=n(l,o)):(r=Bo(r,i),o=n(o,l)),function(e){return o(r(e))}}function Ho(e,t,n){var r=Math.min(e.length,t.length)-1,i=new Array(r),o=new Array(r),l=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++l<r;)i[l]=Bo(e[l],e[l+1]),o[l]=n(t[l],t[l+1]);return function(t){var n=Po(e,t,1,r)-1;return o[n](i[n](t))}}function Vo(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function Yo(){var e,t,n,r,i,o,l=$o,s=$o,a=zo,c=Wo;function d(){var e=Math.min(l.length,s.length);return c!==Wo&&(c=function(e,t){var n;return e>t&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}(l[0],l[e-1])),r=e>2?Ho:Uo,i=o=null,u}function u(t){return null==t||isNaN(t=+t)?n:(i||(i=r(l.map(e),s,a)))(e(c(t)))}return u.invert=function(n){return c(t((o||(o=r(s,l.map(e),Xe)))(n)))},u.domain=function(e){return arguments.length?(l=Array.from(e,Fo),d()):l.slice()},u.range=function(e){return arguments.length?(s=Array.from(e),d()):s.slice()},u.rangeRound=function(e){return s=Array.from(e),a=No,d()},u.clamp=function(e){return arguments.length?(c=!!e||Wo,d()):c!==Wo},u.interpolate=function(e){return arguments.length?(a=e,d()):a},u.unknown=function(e){return arguments.length?(n=e,u):n},function(n,r){return e=n,t=r,d()}}function Go(){return Yo()(Wo,Wo)}var Ko,qo=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Xo(e){if(!(t=qo.exec(e)))throw new Error("invalid format: "+e);var t;return new Jo({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function Jo(e){this.fill=void 0===e.fill?" ":e.fill+"",this.align=void 0===e.align?">":e.align+"",this.sign=void 0===e.sign?"-":e.sign+"",this.symbol=void 0===e.symbol?"":e.symbol+"",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?"":e.type+""}function Qo(e,t){if(!isFinite(e)||0===e)return null;var n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"),r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function Zo(e){return(e=Qo(Math.abs(e)))?e[1]:NaN}function el(e,t){var n=Qo(e,t);if(!n)return e+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}Xo.prototype=Jo.prototype,Jo.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const tl={"%":(e,t)=>(100*e).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:function(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)},e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>el(100*e,t),r:el,s:function(e,t){var n=Qo(e,t);if(!n)return Ko=void 0,e.toPrecision(t);var r=n[0],i=n[1],o=i-(Ko=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,l=r.length;return o===l?r:o>l?r+new Array(o-l+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+Qo(e,Math.max(0,t+o-1))[0]},X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function nl(e){return e}var rl,il,ol,ll=Array.prototype.map,sl=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];function al(e){var t,n,r=void 0===e.grouping||void 0===e.thousands?nl:(t=ll.call(e.grouping,Number),n=e.thousands+"",function(e,r){for(var i=e.length,o=[],l=0,s=t[0],a=0;i>0&&s>0&&(a+s+1>r&&(s=Math.max(1,r-a)),o.push(e.substring(i-=s,i+s)),!((a+=s+1)>r));)s=t[l=(l+1)%t.length];return o.reverse().join(n)}),i=void 0===e.currency?"":e.currency[0]+"",o=void 0===e.currency?"":e.currency[1]+"",l=void 0===e.decimal?".":e.decimal+"",s=void 0===e.numerals?nl:function(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}(ll.call(e.numerals,String)),a=void 0===e.percent?"%":e.percent+"",c=void 0===e.minus?"\u2212":e.minus+"",d=void 0===e.nan?"NaN":e.nan+"";function u(e,t){var n=(e=Xo(e)).fill,u=e.align,h=e.sign,p=e.symbol,f=e.zero,g=e.width,m=e.comma,y=e.precision,v=e.trim,x=e.type;"n"===x?(m=!0,x="g"):tl[x]||(void 0===y&&(y=12),v=!0,x="g"),(f||"0"===n&&"="===u)&&(f=!0,n="0",u="=");var b=(t&&void 0!==t.prefix?t.prefix:"")+("$"===p?i:"#"===p&&/[boxX]/.test(x)?"0"+x.toLowerCase():""),w=("$"===p?o:/[%p]/.test(x)?a:"")+(t&&void 0!==t.suffix?t.suffix:""),S=tl[x],j=/[defgprs%]/.test(x);function k(e){var t,i,o,a=b,p=w;if("c"===x)p=S(e)+p,e="";else{var k=(e=+e)<0||1/e<0;if(e=isNaN(e)?d:S(Math.abs(e),y),v&&(e=function(e){e:for(var t,n=e.length,r=1,i=-1;r<n;++r)switch(e[r]){case".":i=t=r;break;case"0":0===i&&(i=r),t=r;break;default:if(!+e[r])break e;i>0&&(i=0)}return i>0?e.slice(0,i)+e.slice(t+1):e}(e)),k&&0===+e&&"+"!==h&&(k=!1),a=(k?"("===h?h:c:"-"===h||"("===h?"":h)+a,p=("s"!==x||isNaN(e)||void 0===Ko?"":sl[8+Ko/3])+p+(k&&"("===h?")":""),j)for(t=-1,i=e.length;++t<i;)if(48>(o=e.charCodeAt(t))||o>57){p=(46===o?l+e.slice(t+1):e.slice(t))+p,e=e.slice(0,t);break}}m&&!f&&(e=r(e,1/0));var _=a.length+e.length+p.length,E=_<g?new Array(g-_+1).join(n):"";switch(m&&f&&(e=r(E+e,E.length?g-p.length:1/0),E=""),u){case"<":e=a+e+p+E;break;case"=":e=a+E+e+p;break;case"^":e=E.slice(0,_=E.length>>1)+a+e+p+E.slice(_);break;default:e=E+a+e+p}return s(e)}return y=void 0===y?6:/[gprs]/.test(x)?Math.max(1,Math.min(21,y)):Math.max(0,Math.min(20,y)),k.toString=function(){return e+""},k}return{format:u,formatPrefix:function(e,t){var n=3*Math.max(-8,Math.min(8,Math.floor(Zo(t)/3))),r=Math.pow(10,-n),i=u(((e=Xo(e)).type="f",e),{suffix:sl[8+n/3]});return function(e){return i(r*e)}}}}function cl(e,t,n,r){var i,o=ko(e,t,n);switch((r=Xo(null==r?",f":r)).type){case"s":var l=Math.max(Math.abs(e),Math.abs(t));return null!=r.precision||isNaN(i=function(e,t){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Zo(t)/3)))-Zo(Math.abs(e)))}(o,l))||(r.precision=i),ol(r,l);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=function(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Zo(t)-Zo(e))+1}(o,Math.max(Math.abs(e),Math.abs(t))))||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=function(e){return Math.max(0,-Zo(Math.abs(e)))}(o))||(r.precision=i-2*("%"===r.type))}return il(r)}function dl(e){var t=e.domain;return e.ticks=function(e){var n=t();return So(n[0],n[n.length-1],null==e?10:e)},e.tickFormat=function(e,n){var r=t();return cl(r[0],r[r.length-1],null==e?10:e,n)},e.nice=function(n){null==n&&(n=10);var r,i,o=t(),l=0,s=o.length-1,a=o[l],c=o[s],d=10;for(c<a&&(i=a,a=c,c=i,i=l,l=s,s=i);d-- >0;){if((i=jo(a,c,n))===r)return o[l]=a,o[s]=c,t(o);if(i>0)a=Math.floor(a/i)*i,c=Math.ceil(c/i)*i;else{if(!(i<0))break;a=Math.ceil(a*i)/i,c=Math.floor(c*i)/i}r=i}return e},e}function ul(){var e=Go();return e.copy=function(){return Vo(e,ul())},oo.apply(e,arguments),dl(e)}function hl(e){var t;function n(e){return null==e||isNaN(e=+e)?t:e}return n.invert=n,n.domain=n.range=function(t){return arguments.length?(e=Array.from(t,Fo),n):e.slice()},n.unknown=function(e){return arguments.length?(t=e,n):t},n.copy=function(){return hl(e).unknown(t)},e=arguments.length?Array.from(e,Fo):[0,1],dl(n)}function pl(e,t){var n,r=0,i=(e=e.slice()).length-1,o=e[r],l=e[i];return l<o&&(n=r,r=i,i=n,n=o,o=l,l=n),e[r]=t.floor(o),e[i]=t.ceil(l),e}function fl(e){return Math.log(e)}function gl(e){return Math.exp(e)}function ml(e){return-Math.log(-e)}function yl(e){return-Math.exp(-e)}function vl(e){return isFinite(e)?+("1e"+e):e<0?0:e}function xl(e){return(t,n)=>-e(-t,n)}function bl(e){const t=e(fl,gl),n=t.domain;let r,i,o=10;function l(){return r=function(e){return e===Math.E?Math.log:10===e&&Math.log10||2===e&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}(o),i=function(e){return 10===e?vl:e===Math.E?Math.exp:t=>Math.pow(e,t)}(o),n()[0]<0?(r=xl(r),i=xl(i),e(ml,yl)):e(fl,gl),t}return t.base=function(e){return arguments.length?(o=+e,l()):o},t.domain=function(e){return arguments.length?(n(e),l()):n()},t.ticks=e=>{const t=n();let l=t[0],s=t[t.length-1];const a=s<l;a&&([l,s]=[s,l]);let c,d,u=r(l),h=r(s);const p=null==e?10:+e;let f=[];if(!(o%1)&&h-u<p){if(u=Math.floor(u),h=Math.ceil(h),l>0){for(;u<=h;++u)for(c=1;c<o;++c)if(d=u<0?c/i(-u):c*i(u),!(d<l)){if(d>s)break;f.push(d)}}else for(;u<=h;++u)for(c=o-1;c>=1;--c)if(d=u>0?c/i(-u):c*i(u),!(d<l)){if(d>s)break;f.push(d)}2*f.length<p&&(f=So(l,s,p))}else f=So(u,h,Math.min(h-u,p)).map(i);return a?f.reverse():f},t.tickFormat=(e,n)=>{if(null==e&&(e=10),null==n&&(n=10===o?"s":","),"function"!==typeof n&&(o%1||null!=(n=Xo(n)).precision||(n.trim=!0),n=il(n)),e===1/0)return n;const l=Math.max(1,o*e/t.ticks().length);return e=>{let t=e/i(Math.round(r(e)));return t*o<o-.5&&(t*=o),t<=l?n(e):""}},t.nice=()=>n(pl(n(),{floor:e=>i(Math.floor(r(e))),ceil:e=>i(Math.ceil(r(e)))})),t}function wl(){const e=bl(Yo()).domain([1,10]);return e.copy=()=>Vo(e,wl()).base(e.base()),oo.apply(e,arguments),e}function Sl(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function jl(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function kl(e){var t=1,n=e(Sl(t),jl(t));return n.constant=function(n){return arguments.length?e(Sl(t=+n),jl(t)):t},dl(n)}function _l(){var e=kl(Yo());return e.copy=function(){return Vo(e,_l()).constant(e.constant())},oo.apply(e,arguments)}function El(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function Cl(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function Tl(e){return e<0?-e*e:e*e}function Ml(e){var t=e(Wo,Wo),n=1;return t.exponent=function(t){return arguments.length?1===(n=+t)?e(Wo,Wo):.5===n?e(Cl,Tl):e(El(n),El(1/n)):n},dl(t)}function Ol(){var e=Ml(Yo());return e.copy=function(){return Vo(e,Ol()).exponent(e.exponent())},oo.apply(e,arguments),e}function Al(){return Ol.apply(null,arguments).exponent(.5)}function Pl(e){return Math.sign(e)*e*e}function Il(){var e,t=Go(),n=[0,1],r=!1;function i(n){var i=function(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}(t(n));return isNaN(i)?e:r?Math.round(i):i}return i.invert=function(e){return t.invert(Pl(e))},i.domain=function(e){return arguments.length?(t.domain(e),i):t.domain()},i.range=function(e){return arguments.length?(t.range((n=Array.from(e,Fo)).map(Pl)),i):n.slice()},i.rangeRound=function(e){return i.range(e).round(!0)},i.round=function(e){return arguments.length?(r=!!e,i):r},i.clamp=function(e){return arguments.length?(t.clamp(e),i):t.clamp()},i.unknown=function(t){return arguments.length?(e=t,i):e},i.copy=function(){return Il(t.domain(),n).round(r).clamp(t.clamp()).unknown(e)},oo.apply(i,arguments),dl(i)}function Dl(e,t){let n;if(void 0===t)for(const r of e)null!=r&&(n<r||void 0===n&&r>=r)&&(n=r);else{let r=-1;for(let i of e)null!=(i=t(i,++r,e))&&(n<i||void 0===n&&i>=i)&&(n=i)}return n}function Ll(e,t){let n;if(void 0===t)for(const r of e)null!=r&&(n>r||void 0===n&&r>=r)&&(n=r);else{let r=-1;for(let i of e)null!=(i=t(i,++r,e))&&(n>i||void 0===n&&i>=i)&&(n=i)}return n}function Rl(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_o;if(e===_o)return zl;if("function"!==typeof e)throw new TypeError("compare is not a function");return(t,n)=>{const r=e(t,n);return r||0===r?r:(0===e(n,n))-(0===e(t,t))}}function zl(e,t){return(null==e||!(e>=e))-(null==t||!(t>=t))||(e<t?-1:e>t?1:0)}function Nl(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1/0,i=arguments.length>4?arguments[4]:void 0;if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(e.length-1,r)),!(n<=t&&t<=r))return e;for(i=void 0===i?zl:Rl(i);r>n;){if(r-n>600){const o=r-n+1,l=t-n+1,s=Math.log(o),a=.5*Math.exp(2*s/3),c=.5*Math.sqrt(s*a*(o-a)/o)*(l-o/2<0?-1:1);Nl(e,t,Math.max(n,Math.floor(t-l*a/o+c)),Math.min(r,Math.floor(t+(o-l)*a/o+c)),i)}const o=e[t];let l=n,s=r;for(Fl(e,n,t),i(e[r],o)>0&&Fl(e,n,r);l<s;){for(Fl(e,l,s),++l,--s;i(e[l],o)<0;)++l;for(;i(e[s],o)>0;)--s}0===i(e[n],o)?Fl(e,n,s):(++s,Fl(e,s,r)),s<=t&&(n=s+1),t<=s&&(r=s-1)}return e}function Fl(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function $l(e,t,n){if(e=Float64Array.from(function*(e,t){if(void 0===t)for(let n of e)null!=n&&(n=+n)>=n&&(yield n);else{let n=-1;for(let r of e)null!=(r=t(r,++n,e))&&(r=+r)>=r&&(yield r)}}(e,n)),(r=e.length)&&!isNaN(t=+t)){if(t<=0||r<2)return Ll(e);if(t>=1)return Dl(e);var r,i=(r-1)*t,o=Math.floor(i),l=Dl(Nl(e,o).subarray(0,o+1));return l+(Ll(e.subarray(o+1))-l)*(i-o)}}function Wl(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Mo;if((r=e.length)&&!isNaN(t=+t)){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,i=(r-1)*t,o=Math.floor(i),l=+n(e[o],o,e);return l+(+n(e[o+1],o+1,e)-l)*(i-o)}}function Bl(){var e,t=[],n=[],r=[];function i(){var e=0,i=Math.max(1,n.length);for(r=new Array(i-1);++e<i;)r[e-1]=Wl(t,e/i);return o}function o(t){return null==t||isNaN(t=+t)?e:n[Po(r,t)]}return o.invertExtent=function(e){var i=n.indexOf(e);return i<0?[NaN,NaN]:[i>0?r[i-1]:t[0],i<r.length?r[i]:t[t.length-1]]},o.domain=function(e){if(!arguments.length)return t.slice();t=[];for(let n of e)null==n||isNaN(n=+n)||t.push(n);return t.sort(_o),i()},o.range=function(e){return arguments.length?(n=Array.from(e),i()):n.slice()},o.unknown=function(t){return arguments.length?(e=t,o):e},o.quantiles=function(){return r.slice()},o.copy=function(){return Bl().domain(t).range(n).unknown(e)},oo.apply(o,arguments)}function Ul(){var e,t=0,n=1,r=1,i=[.5],o=[0,1];function l(t){return null!=t&&t<=t?o[Po(i,t,0,r)]:e}function s(){var e=-1;for(i=new Array(r);++e<r;)i[e]=((e+1)*n-(e-r)*t)/(r+1);return l}return l.domain=function(e){return arguments.length?([t,n]=e,t=+t,n=+n,s()):[t,n]},l.range=function(e){return arguments.length?(r=(o=Array.from(e)).length-1,s()):o.slice()},l.invertExtent=function(e){var l=o.indexOf(e);return l<0?[NaN,NaN]:l<1?[t,i[0]]:l>=r?[i[r-1],n]:[i[l-1],i[l]]},l.unknown=function(t){return arguments.length?(e=t,l):l},l.thresholds=function(){return i.slice()},l.copy=function(){return Ul().domain([t,n]).range(o).unknown(e)},oo.apply(dl(l),arguments)}function Hl(){var e,t=[.5],n=[0,1],r=1;function i(i){return null!=i&&i<=i?n[Po(t,i,0,r)]:e}return i.domain=function(e){return arguments.length?(t=Array.from(e),r=Math.min(t.length,n.length-1),i):t.slice()},i.range=function(e){return arguments.length?(n=Array.from(e),r=Math.min(t.length,n.length-1),i):n.slice()},i.invertExtent=function(e){var r=n.indexOf(e);return[t[r-1],t[r]]},i.unknown=function(t){return arguments.length?(e=t,i):e},i.copy=function(){return Hl().domain(t).range(n).unknown(e)},oo.apply(i,arguments)}rl=al({thousands:",",grouping:[3],currency:["$",""]}),il=rl.format,ol=rl.formatPrefix;const Vl=1e3,Yl=6e4,Gl=36e5,Kl=864e5,ql=6048e5,Xl=2592e6,Jl=31536e6,Ql=new Date,Zl=new Date;function es(e,t,n,r){function i(t){return e(t=0===arguments.length?new Date:new Date(+t)),t}return i.floor=t=>(e(t=new Date(+t)),t),i.ceil=n=>(e(n=new Date(n-1)),t(n,1),e(n),n),i.round=e=>{const t=i(e),n=i.ceil(e);return e-t<n-e?t:n},i.offset=(e,n)=>(t(e=new Date(+e),null==n?1:Math.floor(n)),e),i.range=(n,r,o)=>{const l=[];if(n=i.ceil(n),o=null==o?1:Math.floor(o),!(n<r)||!(o>0))return l;let s;do{l.push(s=new Date(+n)),t(n,o),e(n)}while(s<n&&n<r);return l},i.filter=n=>es(t=>{if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)},(e,r)=>{if(e>=e)if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););}),n&&(i.count=(t,r)=>(Ql.setTime(+t),Zl.setTime(+r),e(Ql),e(Zl),Math.floor(n(Ql,Zl))),i.every=e=>(e=Math.floor(e),isFinite(e)&&e>0?e>1?i.filter(r?t=>r(t)%e===0:t=>i.count(0,t)%e===0):i:null)),i}const ts=es(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);ts.every=e=>(e=Math.floor(e),isFinite(e)&&e>0?e>1?es(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):ts:null);ts.range;const ns=es(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*Vl)},(e,t)=>(t-e)/Vl,e=>e.getUTCSeconds()),rs=(ns.range,es(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Vl)},(e,t)=>{e.setTime(+e+t*Yl)},(e,t)=>(t-e)/Yl,e=>e.getMinutes())),is=(rs.range,es(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Yl)},(e,t)=>(t-e)/Yl,e=>e.getUTCMinutes())),os=(is.range,es(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Vl-e.getMinutes()*Yl)},(e,t)=>{e.setTime(+e+t*Gl)},(e,t)=>(t-e)/Gl,e=>e.getHours())),ls=(os.range,es(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*Gl)},(e,t)=>(t-e)/Gl,e=>e.getUTCHours())),ss=(ls.range,es(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Yl)/Kl,e=>e.getDate()-1)),as=(ss.range,es(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Kl,e=>e.getUTCDate()-1)),cs=(as.range,es(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Kl,e=>Math.floor(e/Kl)));cs.range;function ds(e){return es(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(e,t)=>{e.setDate(e.getDate()+7*t)},(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Yl)/ql)}const us=ds(0),hs=ds(1),ps=ds(2),fs=ds(3),gs=ds(4),ms=ds(5),ys=ds(6);us.range,hs.range,ps.range,fs.range,gs.range,ms.range,ys.range;function vs(e){return es(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+7*t)},(e,t)=>(t-e)/ql)}const xs=vs(0),bs=vs(1),ws=vs(2),Ss=vs(3),js=vs(4),ks=vs(5),_s=vs(6),Es=(xs.range,bs.range,ws.range,Ss.range,js.range,ks.range,_s.range,es(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+12*(t.getFullYear()-e.getFullYear()),e=>e.getMonth())),Cs=(Es.range,es(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+12*(t.getUTCFullYear()-e.getUTCFullYear()),e=>e.getUTCMonth())),Ts=(Cs.range,es(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear()));Ts.every=e=>isFinite(e=Math.floor(e))&&e>0?es(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)}):null;Ts.range;const Ms=es(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());Ms.every=e=>isFinite(e=Math.floor(e))&&e>0?es(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)}):null;Ms.range;function Os(e,t,n,r,i,o){const l=[[ns,1,Vl],[ns,5,5e3],[ns,15,15e3],[ns,30,3e4],[o,1,Yl],[o,5,3e5],[o,15,9e5],[o,30,18e5],[i,1,Gl],[i,3,108e5],[i,6,216e5],[i,12,432e5],[r,1,Kl],[r,2,1728e5],[n,1,ql],[t,1,Xl],[t,3,7776e6],[e,1,Jl]];function s(t,n,r){const i=Math.abs(n-t)/r,o=Co(e=>{let[,,t]=e;return t}).right(l,i);if(o===l.length)return e.every(ko(t/Jl,n/Jl,r));if(0===o)return ts.every(Math.max(ko(t,n,r),1));const[s,a]=l[i/l[o-1][2]<l[o][2]/i?o-1:o];return s.every(a)}return[function(e,t,n){const r=t<e;r&&([e,t]=[t,e]);const i=n&&"function"===typeof n.range?n:s(e,t,n),o=i?i.range(e,+t+1):[];return r?o.reverse():o},s]}const[As,Ps]=Os(Ms,Cs,xs,cs,ls,is),[Is,Ds]=Os(Ts,Es,us,ss,os,rs);function Ls(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function Rs(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function zs(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}var Ns,Fs,$s,Ws={"-":"",_:" ",0:"0"},Bs=/^\s*\d+/,Us=/^%/,Hs=/[\\^$*+?|[\]().{}]/g;function Vs(e,t,n){var r=e<0?"-":"",i=(r?-e:e)+"",o=i.length;return r+(o<n?new Array(n-o+1).join(t)+i:i)}function Ys(e){return e.replace(Hs,"\\$&")}function Gs(e){return new RegExp("^(?:"+e.map(Ys).join("|")+")","i")}function Ks(e){return new Map(e.map((e,t)=>[e.toLowerCase(),t]))}function qs(e,t,n){var r=Bs.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function Xs(e,t,n){var r=Bs.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function Js(e,t,n){var r=Bs.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function Qs(e,t,n){var r=Bs.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function Zs(e,t,n){var r=Bs.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function ea(e,t,n){var r=Bs.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function ta(e,t,n){var r=Bs.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function na(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function ra(e,t,n){var r=Bs.exec(t.slice(n,n+1));return r?(e.q=3*r[0]-3,n+r[0].length):-1}function ia(e,t,n){var r=Bs.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function oa(e,t,n){var r=Bs.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function la(e,t,n){var r=Bs.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function sa(e,t,n){var r=Bs.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function aa(e,t,n){var r=Bs.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function ca(e,t,n){var r=Bs.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function da(e,t,n){var r=Bs.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function ua(e,t,n){var r=Bs.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function ha(e,t,n){var r=Us.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function pa(e,t,n){var r=Bs.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function fa(e,t,n){var r=Bs.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function ga(e,t){return Vs(e.getDate(),t,2)}function ma(e,t){return Vs(e.getHours(),t,2)}function ya(e,t){return Vs(e.getHours()%12||12,t,2)}function va(e,t){return Vs(1+ss.count(Ts(e),e),t,3)}function xa(e,t){return Vs(e.getMilliseconds(),t,3)}function ba(e,t){return xa(e,t)+"000"}function wa(e,t){return Vs(e.getMonth()+1,t,2)}function Sa(e,t){return Vs(e.getMinutes(),t,2)}function ja(e,t){return Vs(e.getSeconds(),t,2)}function ka(e){var t=e.getDay();return 0===t?7:t}function _a(e,t){return Vs(us.count(Ts(e)-1,e),t,2)}function Ea(e){var t=e.getDay();return t>=4||0===t?gs(e):gs.ceil(e)}function Ca(e,t){return e=Ea(e),Vs(gs.count(Ts(e),e)+(4===Ts(e).getDay()),t,2)}function Ta(e){return e.getDay()}function Ma(e,t){return Vs(hs.count(Ts(e)-1,e),t,2)}function Oa(e,t){return Vs(e.getFullYear()%100,t,2)}function Aa(e,t){return Vs((e=Ea(e)).getFullYear()%100,t,2)}function Pa(e,t){return Vs(e.getFullYear()%1e4,t,4)}function Ia(e,t){var n=e.getDay();return Vs((e=n>=4||0===n?gs(e):gs.ceil(e)).getFullYear()%1e4,t,4)}function Da(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+Vs(t/60|0,"0",2)+Vs(t%60,"0",2)}function La(e,t){return Vs(e.getUTCDate(),t,2)}function Ra(e,t){return Vs(e.getUTCHours(),t,2)}function za(e,t){return Vs(e.getUTCHours()%12||12,t,2)}function Na(e,t){return Vs(1+as.count(Ms(e),e),t,3)}function Fa(e,t){return Vs(e.getUTCMilliseconds(),t,3)}function $a(e,t){return Fa(e,t)+"000"}function Wa(e,t){return Vs(e.getUTCMonth()+1,t,2)}function Ba(e,t){return Vs(e.getUTCMinutes(),t,2)}function Ua(e,t){return Vs(e.getUTCSeconds(),t,2)}function Ha(e){var t=e.getUTCDay();return 0===t?7:t}function Va(e,t){return Vs(xs.count(Ms(e)-1,e),t,2)}function Ya(e){var t=e.getUTCDay();return t>=4||0===t?js(e):js.ceil(e)}function Ga(e,t){return e=Ya(e),Vs(js.count(Ms(e),e)+(4===Ms(e).getUTCDay()),t,2)}function Ka(e){return e.getUTCDay()}function qa(e,t){return Vs(bs.count(Ms(e)-1,e),t,2)}function Xa(e,t){return Vs(e.getUTCFullYear()%100,t,2)}function Ja(e,t){return Vs((e=Ya(e)).getUTCFullYear()%100,t,2)}function Qa(e,t){return Vs(e.getUTCFullYear()%1e4,t,4)}function Za(e,t){var n=e.getUTCDay();return Vs((e=n>=4||0===n?js(e):js.ceil(e)).getUTCFullYear()%1e4,t,4)}function ec(){return"+0000"}function tc(){return"%"}function nc(e){return+e}function rc(e){return Math.floor(+e/1e3)}function ic(e){return new Date(e)}function oc(e){return e instanceof Date?+e:+new Date(+e)}function lc(e,t,n,r,i,o,l,s,a,c){var d=Go(),u=d.invert,h=d.domain,p=c(".%L"),f=c(":%S"),g=c("%I:%M"),m=c("%I %p"),y=c("%a %d"),v=c("%b %d"),x=c("%B"),b=c("%Y");function w(e){return(a(e)<e?p:s(e)<e?f:l(e)<e?g:o(e)<e?m:r(e)<e?i(e)<e?y:v:n(e)<e?x:b)(e)}return d.invert=function(e){return new Date(u(e))},d.domain=function(e){return arguments.length?h(Array.from(e,oc)):h().map(ic)},d.ticks=function(t){var n=h();return e(n[0],n[n.length-1],null==t?10:t)},d.tickFormat=function(e,t){return null==t?w:c(t)},d.nice=function(e){var n=h();return e&&"function"===typeof e.range||(e=t(n[0],n[n.length-1],null==e?10:e)),e?h(pl(n,e)):d},d.copy=function(){return Vo(d,lc(e,t,n,r,i,o,l,s,a,c))},d}function sc(){return oo.apply(lc(Is,Ds,Ts,Es,us,ss,os,rs,ns,Fs).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function ac(){return oo.apply(lc(As,Ps,Ms,Cs,xs,as,ls,is,ns,$s).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function cc(){var e,t,n,r,i,o=0,l=1,s=Wo,a=!1;function c(t){return null==t||isNaN(t=+t)?i:s(0===n?.5:(t=(r(t)-e)*n,a?Math.max(0,Math.min(1,t)):t))}function d(e){return function(t){var n,r;return arguments.length?([n,r]=t,s=e(n,r),c):[s(0),s(1)]}}return c.domain=function(i){return arguments.length?([o,l]=i,e=r(o=+o),t=r(l=+l),n=e===t?0:1/(t-e),c):[o,l]},c.clamp=function(e){return arguments.length?(a=!!e,c):a},c.interpolator=function(e){return arguments.length?(s=e,c):s},c.range=d(zo),c.rangeRound=d(No),c.unknown=function(e){return arguments.length?(i=e,c):i},function(i){return r=i,e=i(o),t=i(l),n=e===t?0:1/(t-e),c}}function dc(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function uc(){var e=dl(cc()(Wo));return e.copy=function(){return dc(e,uc())},lo.apply(e,arguments)}function hc(){var e=bl(cc()).domain([1,10]);return e.copy=function(){return dc(e,hc()).base(e.base())},lo.apply(e,arguments)}function pc(){var e=kl(cc());return e.copy=function(){return dc(e,pc()).constant(e.constant())},lo.apply(e,arguments)}function fc(){var e=Ml(cc());return e.copy=function(){return dc(e,fc()).exponent(e.exponent())},lo.apply(e,arguments)}function gc(){return fc.apply(null,arguments).exponent(.5)}function mc(){var e=[],t=Wo;function n(n){if(null!=n&&!isNaN(n=+n))return t((Po(e,n,1)-1)/(e.length-1))}return n.domain=function(t){if(!arguments.length)return e.slice();e=[];for(let n of t)null==n||isNaN(n=+n)||e.push(n);return e.sort(_o),n},n.interpolator=function(e){return arguments.length?(t=e,n):t},n.range=function(){return e.map((n,r)=>t(r/(e.length-1)))},n.quantiles=function(t){return Array.from({length:t+1},(n,r)=>$l(e,r/t))},n.copy=function(){return mc(t).domain(e)},lo.apply(n,arguments)}function yc(){var e,t,n,r,i,o,l,s=0,a=.5,c=1,d=1,u=Wo,h=!1;function p(e){return isNaN(e=+e)?l:(e=.5+((e=+o(e))-t)*(d*e<d*t?r:i),u(h?Math.max(0,Math.min(1,e)):e))}function f(e){return function(t){var n,r,i;return arguments.length?([n,r,i]=t,u=function(e,t){void 0===t&&(t=e,e=zo);for(var n=0,r=t.length-1,i=t[0],o=new Array(r<0?0:r);n<r;)o[n]=e(i,i=t[++n]);return function(e){var t=Math.max(0,Math.min(r-1,Math.floor(e*=r)));return o[t](e-t)}}(e,[n,r,i]),p):[u(0),u(.5),u(1)]}}return p.domain=function(l){return arguments.length?([s,a,c]=l,e=o(s=+s),t=o(a=+a),n=o(c=+c),r=e===t?0:.5/(t-e),i=t===n?0:.5/(n-t),d=t<e?-1:1,p):[s,a,c]},p.clamp=function(e){return arguments.length?(h=!!e,p):h},p.interpolator=function(e){return arguments.length?(u=e,p):u},p.range=f(zo),p.rangeRound=f(No),p.unknown=function(e){return arguments.length?(l=e,p):l},function(l){return o=l,e=l(s),t=l(a),n=l(c),r=e===t?0:.5/(t-e),i=t===n?0:.5/(n-t),d=t<e?-1:1,p}}function vc(){var e=dl(yc()(Wo));return e.copy=function(){return dc(e,vc())},lo.apply(e,arguments)}function xc(){var e=bl(yc()).domain([.1,1,10]);return e.copy=function(){return dc(e,xc()).base(e.base())},lo.apply(e,arguments)}function bc(){var e=kl(yc());return e.copy=function(){return dc(e,bc()).constant(e.constant())},lo.apply(e,arguments)}function wc(){var e=Ml(yc());return e.copy=function(){return dc(e,wc()).exponent(e.exponent())},lo.apply(e,arguments)}function Sc(){return wc.apply(null,arguments).exponent(.5)}function jc(e){return"string"===typeof e?new ye([[document.querySelector(e)]],[document.documentElement]):new ye([[e]],me)}!function(e){Ns=function(e){var t=e.dateTime,n=e.date,r=e.time,i=e.periods,o=e.days,l=e.shortDays,s=e.months,a=e.shortMonths,c=Gs(i),d=Ks(i),u=Gs(o),h=Ks(o),p=Gs(l),f=Ks(l),g=Gs(s),m=Ks(s),y=Gs(a),v=Ks(a),x={a:function(e){return l[e.getDay()]},A:function(e){return o[e.getDay()]},b:function(e){return a[e.getMonth()]},B:function(e){return s[e.getMonth()]},c:null,d:ga,e:ga,f:ba,g:Aa,G:Ia,H:ma,I:ya,j:va,L:xa,m:wa,M:Sa,p:function(e){return i[+(e.getHours()>=12)]},q:function(e){return 1+~~(e.getMonth()/3)},Q:nc,s:rc,S:ja,u:ka,U:_a,V:Ca,w:Ta,W:Ma,x:null,X:null,y:Oa,Y:Pa,Z:Da,"%":tc},b={a:function(e){return l[e.getUTCDay()]},A:function(e){return o[e.getUTCDay()]},b:function(e){return a[e.getUTCMonth()]},B:function(e){return s[e.getUTCMonth()]},c:null,d:La,e:La,f:$a,g:Ja,G:Za,H:Ra,I:za,j:Na,L:Fa,m:Wa,M:Ba,p:function(e){return i[+(e.getUTCHours()>=12)]},q:function(e){return 1+~~(e.getUTCMonth()/3)},Q:nc,s:rc,S:Ua,u:Ha,U:Va,V:Ga,w:Ka,W:qa,x:null,X:null,y:Xa,Y:Qa,Z:ec,"%":tc},w={a:function(e,t,n){var r=p.exec(t.slice(n));return r?(e.w=f.get(r[0].toLowerCase()),n+r[0].length):-1},A:function(e,t,n){var r=u.exec(t.slice(n));return r?(e.w=h.get(r[0].toLowerCase()),n+r[0].length):-1},b:function(e,t,n){var r=y.exec(t.slice(n));return r?(e.m=v.get(r[0].toLowerCase()),n+r[0].length):-1},B:function(e,t,n){var r=g.exec(t.slice(n));return r?(e.m=m.get(r[0].toLowerCase()),n+r[0].length):-1},c:function(e,n,r){return k(e,t,n,r)},d:oa,e:oa,f:ua,g:ta,G:ea,H:sa,I:sa,j:la,L:da,m:ia,M:aa,p:function(e,t,n){var r=c.exec(t.slice(n));return r?(e.p=d.get(r[0].toLowerCase()),n+r[0].length):-1},q:ra,Q:pa,s:fa,S:ca,u:Xs,U:Js,V:Qs,w:qs,W:Zs,x:function(e,t,r){return k(e,n,t,r)},X:function(e,t,n){return k(e,r,t,n)},y:ta,Y:ea,Z:na,"%":ha};function S(e,t){return function(n){var r,i,o,l=[],s=-1,a=0,c=e.length;for(n instanceof Date||(n=new Date(+n));++s<c;)37===e.charCodeAt(s)&&(l.push(e.slice(a,s)),null!=(i=Ws[r=e.charAt(++s)])?r=e.charAt(++s):i="e"===r?" ":"0",(o=t[r])&&(r=o(n,i)),l.push(r),a=s+1);return l.push(e.slice(a,s)),l.join("")}}function j(e,t){return function(n){var r,i,o=zs(1900,void 0,1);if(k(o,e,n+="",0)!=n.length)return null;if("Q"in o)return new Date(o.Q);if("s"in o)return new Date(1e3*o.s+("L"in o?o.L:0));if(t&&!("Z"in o)&&(o.Z=0),"p"in o&&(o.H=o.H%12+12*o.p),void 0===o.m&&(o.m="q"in o?o.q:0),"V"in o){if(o.V<1||o.V>53)return null;"w"in o||(o.w=1),"Z"in o?(i=(r=Rs(zs(o.y,0,1))).getUTCDay(),r=i>4||0===i?bs.ceil(r):bs(r),r=as.offset(r,7*(o.V-1)),o.y=r.getUTCFullYear(),o.m=r.getUTCMonth(),o.d=r.getUTCDate()+(o.w+6)%7):(i=(r=Ls(zs(o.y,0,1))).getDay(),r=i>4||0===i?hs.ceil(r):hs(r),r=ss.offset(r,7*(o.V-1)),o.y=r.getFullYear(),o.m=r.getMonth(),o.d=r.getDate()+(o.w+6)%7)}else("W"in o||"U"in o)&&("w"in o||(o.w="u"in o?o.u%7:"W"in o?1:0),i="Z"in o?Rs(zs(o.y,0,1)).getUTCDay():Ls(zs(o.y,0,1)).getDay(),o.m=0,o.d="W"in o?(o.w+6)%7+7*o.W-(i+5)%7:o.w+7*o.U-(i+6)%7);return"Z"in o?(o.H+=o.Z/100|0,o.M+=o.Z%100,Rs(o)):Ls(o)}}function k(e,t,n,r){for(var i,o,l=0,s=t.length,a=n.length;l<s;){if(r>=a)return-1;if(37===(i=t.charCodeAt(l++))){if(i=t.charAt(l++),!(o=w[i in Ws?t.charAt(l++):i])||(r=o(e,n,r))<0)return-1}else if(i!=n.charCodeAt(r++))return-1}return r}return x.x=S(n,x),x.X=S(r,x),x.c=S(t,x),b.x=S(n,b),b.X=S(r,b),b.c=S(t,b),{format:function(e){var t=S(e+="",x);return t.toString=function(){return e},t},parse:function(e){var t=j(e+="",!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=S(e+="",b);return t.toString=function(){return e},t},utcParse:function(e){var t=j(e+="",!0);return t.toString=function(){return e},t}}}(e),Fs=Ns.format,Ns.parse,$s=Ns.utcFormat,Ns.utcParse}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});Array.prototype.slice;function kc(e){return"object"===typeof e&&"length"in e?e:Array.from(e)}function _c(e){return function(){return e}}function Ec(e){this._context=e}function Cc(e){return new Ec(e)}Ec.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};const Tc=Math.PI,Mc=2*Tc,Oc=1e-6,Ac=Mc-Oc;function Pc(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}class Ic{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=null==e?Pc:function(e){let t=Math.floor(e);if(!(t>=0))throw new Error(`invalid digits: ${e}`);if(t>15)return Pc;const n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;t<r;++t)this._+=Math.round(arguments[t]*n)/n+e[t]}}(e)}moveTo(e,t){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,t){this._append`L${this._x1=+e},${this._y1=+t}`}quadraticCurveTo(e,t,n,r){this._append`Q${+e},${+t},${this._x1=+n},${this._y1=+r}`}bezierCurveTo(e,t,n,r,i,o){this._append`C${+e},${+t},${+n},${+r},${this._x1=+i},${this._y1=+o}`}arcTo(e,t,n,r,i){if(e=+e,t=+t,n=+n,r=+r,(i=+i)<0)throw new Error(`negative radius: ${i}`);let o=this._x1,l=this._y1,s=n-e,a=r-t,c=o-e,d=l-t,u=c*c+d*d;if(null===this._x1)this._append`M${this._x1=e},${this._y1=t}`;else if(u>Oc)if(Math.abs(d*s-a*c)>Oc&&i){let h=n-o,p=r-l,f=s*s+a*a,g=h*h+p*p,m=Math.sqrt(f),y=Math.sqrt(u),v=i*Math.tan((Tc-Math.acos((f+u-g)/(2*m*y)))/2),x=v/y,b=v/m;Math.abs(x-1)>Oc&&this._append`L${e+x*c},${t+x*d}`,this._append`A${i},${i},0,0,${+(d*h>c*p)},${this._x1=e+b*s},${this._y1=t+b*a}`}else this._append`L${this._x1=e},${this._y1=t}`;else;}arc(e,t,n,r,i,o){if(e=+e,t=+t,o=!!o,(n=+n)<0)throw new Error(`negative radius: ${n}`);let l=n*Math.cos(r),s=n*Math.sin(r),a=e+l,c=t+s,d=1^o,u=o?r-i:i-r;null===this._x1?this._append`M${a},${c}`:(Math.abs(this._x1-a)>Oc||Math.abs(this._y1-c)>Oc)&&this._append`L${a},${c}`,n&&(u<0&&(u=u%Mc+Mc),u>Ac?this._append`A${n},${n},0,1,${d},${e-l},${t-s}A${n},${n},0,1,${d},${this._x1=a},${this._y1=c}`:u>Oc&&this._append`A${n},${n},0,${+(u>=Tc)},${d},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}}function Dc(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(null==n)t=null;else{const e=Math.floor(n);if(!(e>=0))throw new RangeError(`invalid digits: ${n}`);t=e}return e},()=>new Ic(t)}function Lc(e){return e[0]}function Rc(e){return e[1]}function zc(e,t){var n=_c(!0),r=null,i=Cc,o=null,l=Dc(s);function s(s){var a,c,d,u=(s=kc(s)).length,h=!1;for(null==r&&(o=i(d=l())),a=0;a<=u;++a)!(a<u&&n(c=s[a],a,s))===h&&((h=!h)?o.lineStart():o.lineEnd()),h&&o.point(+e(c,a,s),+t(c,a,s));if(d)return o=null,d+""||null}return e="function"===typeof e?e:void 0===e?Lc:_c(e),t="function"===typeof t?t:void 0===t?Rc:_c(t),s.x=function(t){return arguments.length?(e="function"===typeof t?t:_c(+t),s):e},s.y=function(e){return arguments.length?(t="function"===typeof e?e:_c(+e),s):t},s.defined=function(e){return arguments.length?(n="function"===typeof e?e:_c(!!e),s):n},s.curve=function(e){return arguments.length?(i=e,null!=r&&(o=i(r)),s):i},s.context=function(e){return arguments.length?(null==e?r=o=null:o=i(r=e),s):r},s}function Nc(e,t,n){var r=null,i=_c(!0),o=null,l=Cc,s=null,a=Dc(c);function c(c){var d,u,h,p,f,g=(c=kc(c)).length,m=!1,y=new Array(g),v=new Array(g);for(null==o&&(s=l(f=a())),d=0;d<=g;++d){if(!(d<g&&i(p=c[d],d,c))===m)if(m=!m)u=d,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),h=d-1;h>=u;--h)s.point(y[h],v[h]);s.lineEnd(),s.areaEnd()}m&&(y[d]=+e(p,d,c),v[d]=+t(p,d,c),s.point(r?+r(p,d,c):y[d],n?+n(p,d,c):v[d]))}if(f)return s=null,f+""||null}function d(){return zc().defined(i).curve(l).context(o)}return e="function"===typeof e?e:void 0===e?Lc:_c(+e),t="function"===typeof t?t:_c(void 0===t?0:+t),n="function"===typeof n?n:void 0===n?Rc:_c(+n),c.x=function(t){return arguments.length?(e="function"===typeof t?t:_c(+t),r=null,c):e},c.x0=function(t){return arguments.length?(e="function"===typeof t?t:_c(+t),c):e},c.x1=function(e){return arguments.length?(r=null==e?null:"function"===typeof e?e:_c(+e),c):r},c.y=function(e){return arguments.length?(t="function"===typeof e?e:_c(+e),n=null,c):t},c.y0=function(e){return arguments.length?(t="function"===typeof e?e:_c(+e),c):t},c.y1=function(e){return arguments.length?(n=null==e?null:"function"===typeof e?e:_c(+e),c):n},c.lineX0=c.lineY0=function(){return d().x(e).y(t)},c.lineY1=function(){return d().x(e).y(n)},c.lineX1=function(){return d().x(r).y(t)},c.defined=function(e){return arguments.length?(i="function"===typeof e?e:_c(!!e),c):i},c.curve=function(e){return arguments.length?(l=e,null!=o&&(s=l(o)),c):l},c.context=function(e){return arguments.length?(null==e?o=s=null:s=l(o=e),c):o},c}function Fc(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function $c(e){this._context=e}function Wc(e){return new $c(e)}function Bc(e,t,n){this.k=e,this.x=t,this.y=n}$c.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Fc(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Fc(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},Bc.prototype={constructor:Bc,scale:function(e){return 1===e?this:new Bc(this.k*e,this.x,this.y)},translate:function(e,t){return 0===e&0===t?this:new Bc(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};new Bc(1,0,0);Bc.prototype;function Uc(e){const[n,r]=(0,t.useState)(null),[i,o]=(0,t.useState)(!1),l=(0,t.useRef)(null),s=(0,t.useRef)(0),a=(0,t.useRef)(null),c=(0,t.useRef)(!0),d=(0,t.useCallback)(()=>{if(c.current)try{const t=new WebSocket(e);l.current=t,t.onopen=()=>{c.current&&(s.current=0,o(!0))},t.onmessage=e=>{if(c.current)try{const t=JSON.parse(e.data);if("ping"===t.type)return;r(t)}catch(sd){}},t.onclose=()=>{c.current&&(o(!1),l.current=null,u())},t.onerror=()=>{t.readyState!==WebSocket.CLOSED&&t.close()}}catch(sd){u()}},[e]),u=(0,t.useCallback)(()=>{if(!c.current)return;const e=Math.min(1e3*Math.pow(2,s.current),3e4);s.current+=1,a.current=setTimeout(()=>{c.current&&d()},e)},[d]),h=(0,t.useCallback)(e=>{l.current&&l.current.readyState===WebSocket.OPEN&&l.current.send("string"===typeof e?e:JSON.stringify(e))},[]);return(0,t.useEffect)(()=>(c.current=!0,d(),()=>{c.current=!1,a.current&&clearTimeout(a.current),l.current&&(l.current.onclose=null,l.current.close())}),[d]),{lastMessage:n,isConnected:i,send:h}}async function Hc(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{const n=await fetch(`${e}`,{headers:{"Content-Type":"application/json"},...t});return n.ok?await n.json():null}catch(sd){return console.error(`[useConfig] API error: ${e}`,sd),null}}function Vc(e){if(!e)return null;const t=e.universe||{},n=e.display||{},r=e.providers||{},i=t.active_tickers||[],o=new Set(t.hidden_tickers||[]),l=t.display_order||[];let s;if(l.length>0){const e=new Set(i.filter(e=>!o.has(e)));s=l.filter(t=>e.has(t)),i.forEach(e=>{o.has(e)||s.includes(e)||s.push(e)})}else s=i.filter(e=>!o.has(e));return{universe:s,allTickers:i,hiddenTickers:Array.from(o),assetMeta:e.asset_metadata||{},customTickers:t.custom_tickers||{},quantSupported:e.quant_supported_tickers||[],quantDataTypes:e.quant_data_types||{},display:{theme:n.theme||"dark",defaultTimeframe:n.default_timeframe||"M15",defaultLookbackBars:n.default_lookback_bars||200,chartHeight:n.chart_height||420,visiblePanels:n.visible_panels||{},chartLayers:n.chart_layers||{}},providers:{activeData:r.active_data||"mt5_default",activeExecution:r.active_execution||"mt5_default",accounts:r.accounts||{},status:e.provider_status||{}},modules:e.modules||{enabled:[]},profiles:e.profiles||{},timeframes:e.available_timeframes||["M1","M5","M15","M30","H1","H4","D1","W1"],providerTypes:e.available_provider_types||["mt5"],_raw:e}}const Yc="undefined"!==typeof window&&"https:"===window.location.protocol?"wss:":"ws:",Gc="undefined"!==typeof window?window.location.host:"127.0.0.1:8502",Kc=`${Yc}//${Gc}/ws/prices`,qc=`${Yc}//${Gc}/ws/events`;async function Xc(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];try{const n=t?{method:"POST"}:{},r=await fetch(`${e}`,n);return r.ok?await r.json():null}catch(sd){return null}}const Jc=[{source:"regime_label",target:"hmm.regime"},{source:"regime_confidence",target:"hmm.confidence"},{source:"regime_probs",target:"hmm.state_probabilities"},{source:"mcs_character",target:"ou.strategy",transform:e=>"mean_reverting"===e?"FADE":"trending"===e?"BREAKOUT":"NEUTRAL"},{source:"mcs_score",target:"ou.mcs_score"},{source:"hurst",target:"ou.hurst"},{source:"ou_half_life",target:"ou.half_life"},{source:"adf_pvalue",target:"ou.adf_pvalue"},{source:"cone_bias",target:"cone.bias",transform:e=>(e||"neutral").toUpperCase()},{source:"cone_upside_prob",target:"cone.upside_prob"},{source:"cone_sd1_low_terminal",target:"cone.sd1_low"},{source:"cone_sd1_high_terminal",target:"cone.sd1_high"},{source:"cone_current_price",target:"cone.median_target"},{source:"garch_forecast_vol",target:"garch.vol_forecast"},{source:"garch_vol_regime",target:"garch.vol_regime",transform:e=>(e||"NORMAL").toUpperCase()},{source:"wf_sd1_coverage",target:"wf.sd1_coverage"},{source:"wf_direction_hit",target:"wf.direction_hit"},{source:"wf_param_window",target:"wf.source"},{source:"cone_model",target:"wf.model"}];function Qc(e,t){if(!t)return e;const n={...e};for(const r of Jc){let e=t[r.source];if(void 0===e||null===e)continue;r.transform&&(e=r.transform(e));const i=r.target.split(".");if(1===i.length)n[i[0]]=e;else{const[t,r]=i;n[t]={...n[t]||{},[r]:e}}}return n._weeklyStateAt=t.computed_at||null,n}function Zc(){const e=function(){const[e,n]=(0,t.useState)(null),[r,i]=(0,t.useState)(!0),[o,l]=(0,t.useState)(null),s=(0,t.useRef)(null);(0,t.useEffect)(()=>{(async()=>{const e=await Hc("/api/config");if(e){const t=Vc(e);n(t),s.current=t,l(null)}else l("Failed to load config from server");i(!1)})()},[]);const a=(0,t.useCallback)(async()=>{const e=await Hc("/api/config");if(e){const t=Vc(e);return n(t),s.current=t,t}return null},[]),c=(0,t.useCallback)(async e=>{const t=await Hc("/api/config",{method:"PATCH",body:JSON.stringify(e)});if(t){const e=Vc(t);return n(e),s.current=e,e}return null},[]),d=(0,t.useCallback)(async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const n=await Hc("/api/config/tickers",{method:"POST",body:JSON.stringify({ticker:e,metadata:t})});return!(null===n||void 0===n||!n.success)&&(await a(),!0)},[a]),u=(0,t.useCallback)(async e=>{const t=await Hc(`/api/config/tickers/${e}`,{method:"DELETE"});return!(null===t||void 0===t||!t.success)&&(await a(),!0)},[a]),h=(0,t.useCallback)(async e=>{const t=await Hc(`/api/config/tickers/${e}/toggle`,{method:"POST"});return t?(await a(),t.visible):null},[a]),p=(0,t.useCallback)(async e=>{const t=await Hc("/api/config/tickers/order",{method:"PUT",body:JSON.stringify({order:e})});return!(null===t||void 0===t||!t.success)&&(await a(),!0)},[a]),f=(0,t.useCallback)(async e=>{const t=await Hc("/api/config/profiles",{method:"POST",body:JSON.stringify({name:e})});return!(null===t||void 0===t||!t.success)&&(await a(),!0)},[a]),g=(0,t.useCallback)(async e=>{const t=await Hc(`/api/config/profiles/${e}/load`,{method:"POST"});return!(null===t||void 0===t||!t.success)&&(await a(),!0)},[a]),m=(0,t.useCallback)(async e=>{const t=await Hc(`/api/config/profiles/${e}`,{method:"DELETE"});return!(null===t||void 0===t||!t.success)&&(await a(),!0)},[a]),y=(0,t.useCallback)(async t=>{var n;if(!e)return null;const r=null===(n=e.display.visiblePanels[t])||void 0===n||n;return c({display:{visible_panels:{[t]:!r}}})},[e,c]),v=(0,t.useCallback)(async t=>{var n;if(!e)return null;const r=null===(n=e.display.chartLayers[t])||void 0===n||n;return c({display:{chart_layers:{[t]:!r}}})},[e,c]),x=(0,t.useCallback)(async e=>c({display:{chart_height:e}}),[c]),b=(0,t.useCallback)(async e=>c({display:{default_timeframe:e}}),[c]);return{config:e,loading:r,error:o,configRef:s,updateConfig:c,refreshConfig:a,addTicker:d,removeTicker:u,toggleTicker:h,reorderTickers:p,saveProfile:f,loadProfile:g,deleteProfile:m,togglePanel:y,toggleChartLayer:v,setChartHeight:x,setDefaultTimeframe:b}}(),{config:n,refreshConfig:r}=e,[i,o]=(0,t.useState)(new Map),[l,s]=(0,t.useState)({}),[a,c]=(0,t.useState)(null),[d,u]=(0,t.useState)(null),[h,p]=(0,t.useState)(!1),[f,g]=(0,t.useState)(!1),[m,y]=(0,t.useState)(null),v=(0,t.useRef)(new Map),x=(0,t.useRef)(!1),b=Uc(Kc),w=Uc(qc);(0,t.useEffect)(()=>{n&&!x.current&&(x.current=!0,(async()=>{const e=await Xc("/api/health");if(e){p(e.mt5_connected);const r=new Map,i=e.universe||n.universe||[],l=n.assetMeta||{};for(const e of i){var t;const n=l[e]||{class:"OTHER",decimals:2};r.set(e,{ticker:e,asset_class:n.class||"OTHER",decimals:null!==(t=n.decimals)&&void 0!==t?t:2,price:0,bid:0,ask:0,spread:0,pct_change_1d:0,pct_change_1w:0,last_tick_time:null,candles:[],projections:{},ou:null,garch:null,hmm:null,cone:null,risk:null,wf:null,ou_wf:null,kelly:null})}o(r);const s=await Xc("/api/ticks");s&&s.ticks&&o(e=>{const t=new Map(e);for(const[n,r]of Object.entries(s.ticks)){const e=t.get(n);e&&r.last&&t.set(n,{...e,price:r.last,bid:r.bid,ask:r.ask,spread:r.spread,last_tick_time:r.time})}return t})}const r=await Xc("/api/payload");r&&r.assets&&o(e=>{const t=new Map(e);for(const[n,i]of Object.entries(r.assets)){const e=t.get(n);e&&t.set(n,{...e,...i})}return t});const i=await Xc("/api/signals");i&&"object"===typeof i&&s(i);const l=await Xc("/api/lifecycle");l&&"object"===typeof l&&c(l);const a=await Xc("/api/state");a&&u(a);const d=await Xc("/api/sync/status");d&&y(d),g(!0)})())},[n]),(0,t.useEffect)(()=>{null!==d&&void 0!==d&&d.assets&&o(e=>{const t=new Map(e);let n=!1;for(const[r,i]of Object.entries(d.assets)){const e=t.get(r);if(!e)continue;const o=Qc(e,i);o!==e&&(t.set(r,o),n=!0)}return n?t:e})},[d]),(0,t.useEffect)(()=>{if(!b.lastMessage)return;const e=b.lastMessage;"ticks_batch"===e.type&&e.ticks&&o(t=>{const n=new Map(t);let r=!1;for(const[i,o]of Object.entries(e.ticks)){const e=n.get(i);e&&(v.current.set(i,e.price),n.set(i,{...e,price:o.last,bid:o.bid,ask:o.ask,spread:o.spread,last_tick_time:o.time}),r=!0)}return r?n:t}),"tick"===e.type&&o(t=>{const n=new Map(t),r=n.get(e.ticker);return r?(v.current.set(e.ticker,r.price),n.set(e.ticker,{...r,price:e.last,bid:e.bid,ask:e.ask,spread:e.spread,last_tick_time:e.time}),n):t}),"bar"===e.type&&o(t=>{const n=new Map(t),r=n.get(e.ticker);if(!r)return t;const i=[...r.candles||[]],o={t:e.bar.time,o:e.bar.open,h:e.bar.high,l:e.bar.low,c:e.bar.close,v:e.bar.volume};return i.length>0&&i[i.length-1].t===o.t?i[i.length-1]=o:(i.push(o),i.length>300&&i.shift()),n.set(e.ticker,{...r,candles:i}),n})},[b.lastMessage]);const S=(0,t.useRef)({}),j=(0,t.useCallback)(function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1500;S.current[e]&&clearTimeout(S.current[e]),S.current[e]=setTimeout(t,n)},[]);(0,t.useEffect)(()=>{if(!w.lastMessage)return;const e=w.lastMessage;if("payload_update"===e.type&&e.tickers_updated&&e.tickers_updated.length>0&&e.tickers_updated.forEach(async e=>{const t=await Xc(`/api/payload/${e}`);t&&o(n=>{const r=new Map(n),i=r.get(e);return i?(r.set(e,{...i,...t}),r):n})}),"state_update"===e.type&&("daily_signals"!==e.source&&"signal_lifecycle"!==e.source||j("signals",()=>{Xc("/api/signals").then(e=>{e&&s(e)}),Xc("/api/lifecycle").then(e=>{e&&c(e)})}),"weekly_state"===e.source&&j("weekly",()=>{Xc("/api/state").then(e=>{e&&u(e)})})),"signal_transition"!==e.type&&"new_signals"!==e.type||j("signals",()=>{Xc("/api/signals").then(e=>{e&&s(e)}),Xc("/api/lifecycle").then(e=>{e&&c(e)})}),"data_sync_complete"===e.type){console.log(`[sync] data_sync_complete: ${e.synced||0} new files`),j("sync_all",()=>{Xc("/api/payload").then(e=>{e&&e.assets&&o(t=>{const n=new Map(t);for(const[r,i]of Object.entries(e.assets)){const e=n.get(r);e&&n.set(r,{...e,...i})}return n})}),Xc("/api/signals").then(e=>{e&&s(e)}),Xc("/api/lifecycle").then(e=>{e&&c(e)}),Xc("/api/state").then(e=>{e&&u(e)}),Xc("/api/sync/status").then(e=>{e&&y(e)})},500);try{"undefined"!==typeof window&&window.dispatchEvent(new CustomEvent("mk:data-sync-complete",{detail:e}))}catch{}}"config_update"===e.type&&r()},[w.lastMessage,j,r]),(0,t.useEffect)(()=>{let e=!1,t=null;const n=async()=>{if(e)return;const r=await Xc("/api/sync/status");if(e)return;r&&y(r);const i=!(null===r||void 0===r||!r.sync_in_progress);t=setTimeout(n,i?1500:6e4)};return n(),()=>{e=!0,t&&clearTimeout(t)}},[]);const k=(0,t.useCallback)(async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"M15",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:200;const r=await Xc(`/api/bars/${e}?timeframe=${t}&count=${n}`);if(r&&r.bars){const t=r.bars.map(e=>({t:e.time,o:e.open,h:e.high,l:e.low,c:e.close,v:e.volume}));return o(n=>{const r=new Map(n),i=r.get(e);if(!i)return n;const o=i.candles||[];if(o.length>0&&t.length>0){const e=o[o.length-1],r=t[t.length-1];if(e.t===r.t&&o.length===t.length&&Math.abs(e.c-r.c)<1e-8)return n}return r.set(e,{...i,candles:t}),r}),t}return[]},[]),_=(0,t.useCallback)(async()=>{const e=await Xc("/api/sync/refresh",!0);Xc("/api/payload").then(e=>{e&&e.assets&&o(t=>{const n=new Map(t);for(const[r,i]of Object.entries(e.assets)){const e=n.get(r);e&&n.set(r,{...e,...i})}return n})}),Xc("/api/signals").then(e=>{e&&s(e)}),Xc("/api/lifecycle").then(e=>{e&&c(e)}),Xc("/api/state").then(e=>{e&&u(e)});const t=await Xc("/api/sync/status");t&&y(t);try{"undefined"!==typeof window&&window.dispatchEvent(new CustomEvent("mk:data-sync-complete",{detail:{source:"refresh_button",synced:(null===e||void 0===e?void 0:e.synced)||0}}))}catch{}return e},[]),E={FX:0,INDEX:1,COMMODITY:2,OTHER:3},C=(0,t.useMemo)(()=>Array.from(i.values()).sort((e,t)=>{var n,r;const i=null!==(n=E[e.asset_class])&&void 0!==n?n:3,o=null!==(r=E[t.asset_class])&&void 0!==r?r:3;return i!==o?i-o:e.ticker.localeCompare(t.ticker)}),[i]),T=(0,t.useCallback)(e=>v.current.get(e)||0,[]),M=(0,t.useMemo)(()=>({connected:b.isConnected||w.isConnected,mt5Connected:h,wsPrice:b.isConnected,wsEvent:w.isConnected,dataReady:f}),[b.isConnected,w.isConnected,h,f]);return(0,t.useEffect)(()=>{if("undefined"===typeof window)return;const e=Array.isArray(l)?l.length:l&&"object"===typeof l?Object.keys(l).length:0;window.__mkDebugHandle={assets:i,barsLen:0,signalsLen:e}}),{config:n,configHook:e,assets:i,assetsArray:C,signals:l,lifecycle:a,weeklyState:d,syncStatus:m,serverStatus:M,fetchBars:k,getPrevPrice:T,refreshSync:_}}function ed(e){var t=e.width,n=e.height;if(t<0)throw new Error("Negative width is not allowed for Size");if(n<0)throw new Error("Negative height is not allowed for Size");return{width:t,height:n}}function td(e,t){return e.width===t.width&&e.height===t.height}var nd=function(){function e(e){var t=this;this._resolutionListener=function(){return t._onResolutionChanged()},this._resolutionMediaQueryList=null,this._observers=[],this._window=e,this._installResolutionListener()}return e.prototype.dispose=function(){this._uninstallResolutionListener(),this._window=null},Object.defineProperty(e.prototype,"value",{get:function(){return this._window.devicePixelRatio},enumerable:!1,configurable:!0}),e.prototype.subscribe=function(e){var t=this,n={next:e};return this._observers.push(n),{unsubscribe:function(){t._observers=t._observers.filter(function(e){return e!==n})}}},e.prototype._installResolutionListener=function(){if(null!==this._resolutionMediaQueryList)throw new Error("Resolution listener is already installed");var e=this._window.devicePixelRatio;this._resolutionMediaQueryList=this._window.matchMedia("all and (resolution: ".concat(e,"dppx)")),this._resolutionMediaQueryList.addListener(this._resolutionListener)},e.prototype._uninstallResolutionListener=function(){null!==this._resolutionMediaQueryList&&(this._resolutionMediaQueryList.removeListener(this._resolutionListener),this._resolutionMediaQueryList=null)},e.prototype._reinstallResolutionListener=function(){this._uninstallResolutionListener(),this._installResolutionListener()},e.prototype._onResolutionChanged=function(){var e=this;this._observers.forEach(function(t){return t.next(e._window.devicePixelRatio)}),this._reinstallResolutionListener()},e}();var rd=function(){function e(e,t,n){var r;this._canvasElement=null,this._bitmapSizeChangedListeners=[],this._suggestedBitmapSize=null,this._suggestedBitmapSizeChangedListeners=[],this._devicePixelRatioObservable=null,this._canvasElementResizeObserver=null,this._canvasElement=e,this._canvasElementClientSize=ed({width:this._canvasElement.clientWidth,height:this._canvasElement.clientHeight}),this._transformBitmapSize=null!==t&&void 0!==t?t:function(e){return e},this._allowResizeObserver=null===(r=null===n||void 0===n?void 0:n.allowResizeObserver)||void 0===r||r,this._chooseAndInitObserver()}return e.prototype.dispose=function(){var e,t;if(null===this._canvasElement)throw new Error("Object is disposed");null===(e=this._canvasElementResizeObserver)||void 0===e||e.disconnect(),this._canvasElementResizeObserver=null,null===(t=this._devicePixelRatioObservable)||void 0===t||t.dispose(),this._devicePixelRatioObservable=null,this._suggestedBitmapSizeChangedListeners.length=0,this._bitmapSizeChangedListeners.length=0,this._canvasElement=null},Object.defineProperty(e.prototype,"canvasElement",{get:function(){if(null===this._canvasElement)throw new Error("Object is disposed");return this._canvasElement},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"canvasElementClientSize",{get:function(){return this._canvasElementClientSize},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"bitmapSize",{get:function(){return ed({width:this.canvasElement.width,height:this.canvasElement.height})},enumerable:!1,configurable:!0}),e.prototype.resizeCanvasElement=function(e){this._canvasElementClientSize=ed(e),this.canvasElement.style.width="".concat(this._canvasElementClientSize.width,"px"),this.canvasElement.style.height="".concat(this._canvasElementClientSize.height,"px"),this._invalidateBitmapSize()},e.prototype.subscribeBitmapSizeChanged=function(e){this._bitmapSizeChangedListeners.push(e)},e.prototype.unsubscribeBitmapSizeChanged=function(e){this._bitmapSizeChangedListeners=this._bitmapSizeChangedListeners.filter(function(t){return t!==e})},Object.defineProperty(e.prototype,"suggestedBitmapSize",{get:function(){return this._suggestedBitmapSize},enumerable:!1,configurable:!0}),e.prototype.subscribeSuggestedBitmapSizeChanged=function(e){this._suggestedBitmapSizeChangedListeners.push(e)},e.prototype.unsubscribeSuggestedBitmapSizeChanged=function(e){this._suggestedBitmapSizeChangedListeners=this._suggestedBitmapSizeChangedListeners.filter(function(t){return t!==e})},e.prototype.applySuggestedBitmapSize=function(){if(null!==this._suggestedBitmapSize){var e=this._suggestedBitmapSize;this._suggestedBitmapSize=null,this._resizeBitmap(e),this._emitSuggestedBitmapSizeChanged(e,this._suggestedBitmapSize)}},e.prototype._resizeBitmap=function(e){var t=this.bitmapSize;td(t,e)||(this.canvasElement.width=e.width,this.canvasElement.height=e.height,this._emitBitmapSizeChanged(t,e))},e.prototype._emitBitmapSizeChanged=function(e,t){var n=this;this._bitmapSizeChangedListeners.forEach(function(r){return r.call(n,e,t)})},e.prototype._suggestNewBitmapSize=function(e){var t=this._suggestedBitmapSize,n=ed(this._transformBitmapSize(e,this._canvasElementClientSize)),r=td(this.bitmapSize,n)?null:n;null===t&&null===r||null!==t&&null!==r&&td(t,r)||(this._suggestedBitmapSize=r,this._emitSuggestedBitmapSizeChanged(t,r))},e.prototype._emitSuggestedBitmapSizeChanged=function(e,t){var n=this;this._suggestedBitmapSizeChangedListeners.forEach(function(r){return r.call(n,e,t)})},e.prototype._chooseAndInitObserver=function(){var e=this;this._allowResizeObserver?new Promise(function(e){var t=new ResizeObserver(function(n){e(n.every(function(e){return"devicePixelContentBoxSize"in e})),t.disconnect()});t.observe(document.body,{box:"device-pixel-content-box"})}).catch(function(){return!1}).then(function(t){return t?e._initResizeObserver():e._initDevicePixelRatioObservable()}):this._initDevicePixelRatioObservable()},e.prototype._initDevicePixelRatioObservable=function(){var e=this;if(null!==this._canvasElement){var t=id(this._canvasElement);if(null===t)throw new Error("No window is associated with the canvas");this._devicePixelRatioObservable=function(e){return new nd(e)}(t),this._devicePixelRatioObservable.subscribe(function(){return e._invalidateBitmapSize()}),this._invalidateBitmapSize()}},e.prototype._invalidateBitmapSize=function(){var e,t;if(null!==this._canvasElement){var n=id(this._canvasElement);if(null!==n){var r=null!==(t=null===(e=this._devicePixelRatioObservable)||void 0===e?void 0:e.value)&&void 0!==t?t:n.devicePixelRatio,i=this._canvasElement.getClientRects(),o=void 0!==i[0]?function(e,t){return ed({width:Math.round(e.left*t+e.width*t)-Math.round(e.left*t),height:Math.round(e.top*t+e.height*t)-Math.round(e.top*t)})}(i[0],r):ed({width:this._canvasElementClientSize.width*r,height:this._canvasElementClientSize.height*r});this._suggestNewBitmapSize(o)}}},e.prototype._initResizeObserver=function(){var e=this;null!==this._canvasElement&&(this._canvasElementResizeObserver=new ResizeObserver(function(t){var n=t.find(function(t){return t.target===e._canvasElement});if(n&&n.devicePixelContentBoxSize&&n.devicePixelContentBoxSize[0]){var r=n.devicePixelContentBoxSize[0],i=ed({width:r.inlineSize,height:r.blockSize});e._suggestNewBitmapSize(i)}}),this._canvasElementResizeObserver.observe(this._canvasElement,{box:"device-pixel-content-box"}))},e}();function id(e){return e.ownerDocument.defaultView}var od=function(){function e(e,t,n){if(0===t.width||0===t.height)throw new TypeError("Rendering target could only be created on a media with positive width and height");if(this._mediaSize=t,0===n.width||0===n.height)throw new TypeError("Rendering target could only be created using a bitmap with positive integer width and height");this._bitmapSize=n,this._context=e}return e.prototype.useMediaCoordinateSpace=function(e){try{return this._context.save(),this._context.setTransform(1,0,0,1,0,0),this._context.scale(this._horizontalPixelRatio,this._verticalPixelRatio),e({context:this._context,mediaSize:this._mediaSize})}finally{this._context.restore()}},e.prototype.useBitmapCoordinateSpace=function(e){try{return this._context.save(),this._context.setTransform(1,0,0,1,0,0),e({context:this._context,mediaSize:this._mediaSize,bitmapSize:this._bitmapSize,horizontalPixelRatio:this._horizontalPixelRatio,verticalPixelRatio:this._verticalPixelRatio})}finally{this._context.restore()}},Object.defineProperty(e.prototype,"_horizontalPixelRatio",{get:function(){return this._bitmapSize.width/this._mediaSize.width},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_verticalPixelRatio",{get:function(){return this._bitmapSize.height/this._mediaSize.height},enumerable:!1,configurable:!0}),e}();function ld(e,t){var n=e.canvasElementClientSize;if(0===n.width||0===n.height)return null;var r=e.bitmapSize;if(0===r.width||0===r.height)return null;var i=e.canvasElement.getContext("2d",t);return null===i?null:new od(i,n,r)}const sd={title:"",visible:!0,lastValueVisible:!0,priceLineVisible:!0,priceLineSource:0,priceLineWidth:1,priceLineColor:"",priceLineStyle:2,baseLineVisible:!0,baseLineWidth:1,baseLineColor:"#B2B5BE",baseLineStyle:0,priceFormat:{type:"price",precision:2,minMove:.01}};var ad,cd;function dd(e,t){const n={0:[],1:[e.lineWidth,e.lineWidth],2:[2*e.lineWidth,2*e.lineWidth],3:[6*e.lineWidth,6*e.lineWidth],4:[e.lineWidth,4*e.lineWidth]}[t];e.setLineDash(n)}function ud(e,t,n,r){e.beginPath();const i=e.lineWidth%2?.5:0;e.moveTo(n,t+i),e.lineTo(r,t+i),e.stroke()}function hd(e,t){if(!e)throw new Error("Assertion failed"+(t?": "+t:""))}function pd(e){if(void 0===e)throw new Error("Value is undefined");return e}function fd(e){if(null===e)throw new Error("Value is null");return e}function gd(e){return fd(pd(e))}!function(e){e[e.Simple=0]="Simple",e[e.WithSteps=1]="WithSteps",e[e.Curved=2]="Curved"}(ad||(ad={})),function(e){e[e.Solid=0]="Solid",e[e.Dotted=1]="Dotted",e[e.Dashed=2]="Dashed",e[e.LargeDashed=3]="LargeDashed",e[e.SparseDotted=4]="SparseDotted"}(cd||(cd={}));class md{constructor(){this.t=[]}i(e,t,n){const r={h:e,l:t,o:!0===n};this.t.push(r)}_(e){const t=this.t.findIndex(t=>e===t.h);t>-1&&this.t.splice(t,1)}u(e){this.t=this.t.filter(t=>t.l!==e)}p(e,t,n){const r=[...this.t];this.t=this.t.filter(e=>!e.o),r.forEach(r=>r.h(e,t,n))}v(){return this.t.length>0}m(){this.t=[]}}function yd(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];for(const i of n)for(const t in i)void 0!==i[t]&&Object.prototype.hasOwnProperty.call(i,t)&&!["__proto__","constructor","prototype"].includes(t)&&("object"!=typeof i[t]||void 0===e[t]||Array.isArray(i[t])?e[t]=i[t]:yd(e[t],i[t]));return e}function vd(e){return"number"==typeof e&&isFinite(e)}function xd(e){return"number"==typeof e&&e%1==0}function bd(e){return"string"==typeof e}function wd(e){return"boolean"==typeof e}function Sd(e){const t=e;if(!t||"object"!=typeof t)return t;let n,r,i;for(r in n=Array.isArray(t)?[]:{},t)t.hasOwnProperty(r)&&(i=t[r],n[r]=i&&"object"==typeof i?Sd(i):i);return n}function jd(e){return null!==e}function kd(e){return null===e?void 0:e}const _d="-apple-system, BlinkMacSystemFont, 'Trebuchet MS', Roboto, Ubuntu, sans-serif";function Ed(e,t,n){return void 0===t&&(t=_d),`${n=void 0!==n?`${n} `:""}${e}px ${t}`}class Cd{constructor(e){this.M={S:1,C:5,k:NaN,P:"",T:"",R:"",D:"",I:0,V:0,B:0,A:0,L:0},this.O=e}N(){const e=this.M,t=this.F(),n=this.W();return e.k===t&&e.T===n||(e.k=t,e.T=n,e.P=Ed(t,n),e.A=2.5/12*t,e.I=e.A,e.V=t/12*e.C,e.B=t/12*e.C,e.L=0),e.R=this.H(),e.D=this.U(),this.M}H(){return this.O.N().layout.textColor}U(){return this.O.$()}F(){return this.O.N().layout.fontSize}W(){return this.O.N().layout.fontFamily}}function Td(e){return e<0?0:e>255?255:Math.round(e)||0}function Md(e){return.199*e[0]+.687*e[1]+.114*e[2]}class Od{constructor(e,t){this.q=new Map,this.j=e,t&&(this.q=t)}Y(e,t){if("transparent"===e)return e;const n=this.K(e),r=n[3];return`rgba(${n[0]}, ${n[1]}, ${n[2]}, ${t*r})`}Z(e){const t=this.K(e);return{G:`rgb(${t[0]}, ${t[1]}, ${t[2]})`,X:Md(t)>160?"black":"white"}}J(e){return Md(this.K(e))}tt(e,t,n){const[r,i,o,l]=this.K(e),[s,a,c,d]=this.K(t),u=[Td(r+n*(s-r)),Td(i+n*(a-i)),Td(o+n*(c-o)),(h=l+n*(d-l),h<=0||h>1?Math.min(Math.max(h,0),1):Math.round(1e4*h)/1e4)];var h;return`rgba(${u[0]}, ${u[1]}, ${u[2]}, ${u[3]})`}K(e){const t=this.q.get(e);if(t)return t;const n=function(e){const t=document.createElement("div");t.style.display="none",document.body.appendChild(t),t.style.color=e;const n=window.getComputedStyle(t).color;return document.body.removeChild(t),n}(e),r=n.match(/^rgba?\s*\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d*\.?\d+))?\)$/);if(!r){if(this.j.length)for(const t of this.j){const n=t(e);if(n)return this.q.set(e,n),n}throw new Error(`Failed to parse color: ${e}`)}const i=[parseInt(r[1],10),parseInt(r[2],10),parseInt(r[3],10),r[4]?parseFloat(r[4]):1];return this.q.set(e,i),i}}class Ad{constructor(){this.it=[]}st(e){this.it=e}nt(e,t,n){this.it.forEach(r=>{r.nt(e,t,n)})}}class Pd{nt(e,t,n){e.useBitmapCoordinateSpace(e=>this.et(e,t,n))}}class Id extends Pd{constructor(){super(...arguments),this.rt=null}ht(e){this.rt=e}et(e){let{context:t,horizontalPixelRatio:n,verticalPixelRatio:r}=e;if(null===this.rt||null===this.rt.lt)return;const i=this.rt.lt,o=this.rt,l=Math.max(1,Math.floor(n))%2/2,s=e=>{t.beginPath();for(let s=i.to-1;s>=i.from;--s){const i=o.ot[s],a=Math.round(i._t*n)+l,c=i.ut*r,d=e*r+l;t.moveTo(a,c),t.arc(a,c,d,0,2*Math.PI)}t.fill()};o.ct>0&&(t.fillStyle=o.dt,s(o.ft+o.ct)),t.fillStyle=o.vt,s(o.ft)}}function Dd(){return{ot:[{_t:0,ut:0,wt:0,gt:0}],vt:"",dt:"",ft:0,ct:0,lt:null}}const Ld={from:0,to:1};class Rd{constructor(e,t,n){this.Mt=new Ad,this.bt=[],this.St=[],this.xt=!0,this.O=e,this.Ct=t,this.yt=n,this.Mt.st(this.bt)}kt(e){this.Pt(),this.xt=!0}Tt(){return this.xt&&(this.Rt(),this.xt=!1),this.Mt}Pt(){const e=this.yt.Dt();e.length!==this.bt.length&&(this.St=e.map(Dd),this.bt=this.St.map(e=>{const t=new Id;return t.ht(e),t}),this.Mt.st(this.bt))}Rt(){const e=2===this.Ct.N().mode||!this.Ct.It(),t=this.yt.Vt(),n=this.Ct.Bt(),r=this.O.Et();this.Pt(),t.forEach((t,i)=>{const o=this.St[i],l=t.At(n),s=t.Lt();!e&&null!==l&&t.It()&&null!==s?(o.vt=l.zt,o.ft=l.ft,o.ct=l.Ot,o.ot[0].gt=l.gt,o.ot[0].ut=t.Ft().Nt(l.gt,s.Wt),o.dt=l.Ht??this.O.Ut(o.ot[0].ut/t.Ft().$t()),o.ot[0].wt=n,o.ot[0]._t=r.qt(n),o.lt=Ld):o.lt=null})}}class zd extends Pd{constructor(e){super(),this.jt=e}et(e){let{context:t,bitmapSize:n,horizontalPixelRatio:r,verticalPixelRatio:i}=e;if(null===this.jt)return;const o=this.jt.Yt.It,l=this.jt.Kt.It;if(!o&&!l)return;const s=Math.round(this.jt._t*r),a=Math.round(this.jt.ut*i);t.lineCap="butt",o&&s>=0&&(t.lineWidth=Math.floor(this.jt.Yt.ct*r),t.strokeStyle=this.jt.Yt.R,t.fillStyle=this.jt.Yt.R,dd(t,this.jt.Yt.Zt),function(e,t,n,r){e.beginPath();const i=e.lineWidth%2?.5:0;e.moveTo(t+i,0),e.lineTo(t+i,r),e.stroke()}(t,s,0,n.height)),l&&a>=0&&(t.lineWidth=Math.floor(this.jt.Kt.ct*i),t.strokeStyle=this.jt.Kt.R,t.fillStyle=this.jt.Kt.R,dd(t,this.jt.Kt.Zt),ud(t,a,0,n.width))}}class Nd{constructor(e,t){this.xt=!0,this.Gt={Yt:{ct:1,Zt:0,R:"",It:!1},Kt:{ct:1,Zt:0,R:"",It:!1},_t:0,ut:0},this.Xt=new zd(this.Gt),this.Jt=e,this.yt=t}kt(){this.xt=!0}Tt(e){return this.xt&&(this.Rt(),this.xt=!1),this.Xt}Rt(){const e=this.Jt.It(),t=this.yt.Qt().N().crosshair,n=this.Gt;if(2===t.mode)return n.Kt.It=!1,void(n.Yt.It=!1);n.Kt.It=e&&this.Jt.ti(this.yt),n.Yt.It=e&&this.Jt.ii(),n.Kt.ct=t.horzLine.width,n.Kt.Zt=t.horzLine.style,n.Kt.R=t.horzLine.color,n.Yt.ct=t.vertLine.width,n.Yt.Zt=t.vertLine.style,n.Yt.R=t.vertLine.color,n._t=this.Jt.si(),n.ut=this.Jt.ni()}}function Fd(e,t,n,r,i,o){e.fillRect(t+o,n,r-2*o,o),e.fillRect(t+o,n+i-o,r-2*o,o),e.fillRect(t,n,o,i),e.fillRect(t+r-o,n,o,i)}function $d(e,t,n,r,i,o){e.save(),e.globalCompositeOperation="copy",e.fillStyle=o,e.fillRect(t,n,r,i),e.restore()}function Wd(e,t,n,r,i,o){e.beginPath(),e.roundRect?e.roundRect(t,n,r,i,o):(e.lineTo(t+r-o[1],n),0!==o[1]&&e.arcTo(t+r,n,t+r,n+o[1],o[1]),e.lineTo(t+r,n+i-o[2]),0!==o[2]&&e.arcTo(t+r,n+i,t+r-o[2],n+i,o[2]),e.lineTo(t+o[3],n+i),0!==o[3]&&e.arcTo(t,n+i,t,n+i-o[3],o[3]),e.lineTo(t,n+o[0]),0!==o[0]&&e.arcTo(t,n,t+o[0],n,o[0]))}function Bd(e,t,n,r,i,o){let l=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,s=arguments.length>7&&void 0!==arguments[7]?arguments[7]:[0,0,0,0],a=arguments.length>8&&void 0!==arguments[8]?arguments[8]:"";if(e.save(),!l||!a||a===o)return Wd(e,t,n,r,i,s),e.fillStyle=o,e.fill(),void e.restore();const c=l/2;var d;Wd(e,t+c,n+c,r-l,i-l,(d=-c,s.map(e=>0===e?e:e+d))),"transparent"!==o&&(e.fillStyle=o,e.fill()),"transparent"!==a&&(e.lineWidth=l,e.strokeStyle=a,e.closePath(),e.stroke()),e.restore()}function Ud(e,t,n,r,i,o,l){e.save(),e.globalCompositeOperation="copy";const s=e.createLinearGradient(0,0,0,i);s.addColorStop(0,o),s.addColorStop(1,l),e.fillStyle=s,e.fillRect(t,n,r,i),e.restore()}class Hd{constructor(e,t){this.ht(e,t)}ht(e,t){this.jt=e,this.ei=t}$t(e,t){return this.jt.It?e.k+e.A+e.I:0}nt(e,t,n,r){if(!this.jt.It||0===this.jt.ri.length)return;const i=this.jt.R,o=this.ei.G,l=e.useBitmapCoordinateSpace(e=>{const l=e.context;l.font=t.P;const s=this.hi(e,t,n,r),a=s.ai;return s.li?Bd(l,a.oi,a._i,a.ui,a.ci,o,a.di,[a.ft,0,0,a.ft],o):Bd(l,a.fi,a._i,a.ui,a.ci,o,a.di,[0,a.ft,a.ft,0],o),this.jt.pi&&(l.fillStyle=i,l.fillRect(a.fi,a.mi,a.wi-a.fi,a.gi)),this.jt.Mi&&(l.fillStyle=t.D,l.fillRect(s.li?a.bi-a.di:0,a._i,a.di,a.Si-a._i)),s});e.useMediaCoordinateSpace(e=>{let{context:n}=e;const r=l.xi;n.font=t.P,n.textAlign=l.li?"right":"left",n.textBaseline="middle",n.fillStyle=i,n.fillText(this.jt.ri,r.Ci,(r._i+r.Si)/2+r.yi)})}hi(e,t,n,r){const{context:i,bitmapSize:o,mediaSize:l,horizontalPixelRatio:s,verticalPixelRatio:a}=e,c=this.jt.pi||!this.jt.ki?t.C:0,d=this.jt.Pi?t.S:0,u=t.A+this.ei.Ti,h=t.I+this.ei.Ri,p=t.V,f=t.B,g=this.jt.ri,m=t.k,y=n.Di(i,g),v=Math.ceil(n.Ii(i,g)),x=m+u+h,b=t.S+p+f+v+c,w=Math.max(1,Math.floor(a));let S=Math.round(x*a);S%2!=w%2&&(S+=1);const j=d>0?Math.max(1,Math.floor(d*s)):0,k=Math.round(b*s),_=Math.round(c*s),E=this.ei.Vi??this.ei.Bi??this.ei.Ei,C=Math.round(E*a)-Math.floor(.5*a),T=Math.floor(C+w/2-S/2),M=T+S,O="right"===r,A=O?l.width-d:d,P=O?o.width-j:j;let I,D,L;return O?(I=P-k,D=P-_,L=A-c-p-d):(I=P+k,D=P+_,L=A+c+p),{li:O,ai:{_i:T,mi:C,Si:M,ui:k,ci:S,ft:2*s,di:j,oi:I,fi:P,wi:D,gi:w,bi:o.width},xi:{_i:T/a,Si:M/a,Ci:L,yi:y}}}}class Vd{constructor(e){this.Ai={Ei:0,G:"#000",Ri:0,Ti:0},this.Li={ri:"",It:!1,pi:!0,ki:!1,Ht:"",R:"#FFF",Mi:!1,Pi:!1},this.zi={ri:"",It:!1,pi:!1,ki:!0,Ht:"",R:"#FFF",Mi:!0,Pi:!0},this.xt=!0,this.Oi=new(e||Hd)(this.Li,this.Ai),this.Ni=new(e||Hd)(this.zi,this.Ai)}ri(){return this.Fi(),this.Li.ri}Ei(){return this.Fi(),this.Ai.Ei}kt(){this.xt=!0}$t(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return Math.max(this.Oi.$t(e,t),this.Ni.$t(e,t))}Wi(){return this.Ai.Vi??null}Hi(){return this.Ai.Vi??this.Ai.Bi??this.Ei()}Ui(e){this.Ai.Bi=e??void 0}$i(){return this.Fi(),this.Li.It||this.zi.It}qi(){return this.Fi(),this.Li.It}Tt(e){return this.Fi(),this.Li.pi=this.Li.pi&&e.N().ticksVisible,this.zi.pi=this.zi.pi&&e.N().ticksVisible,this.Oi.ht(this.Li,this.Ai),this.Ni.ht(this.zi,this.Ai),this.Oi}ji(){return this.Fi(),this.Oi.ht(this.Li,this.Ai),this.Ni.ht(this.zi,this.Ai),this.Ni}Fi(){this.xt&&(this.Li.pi=!0,this.zi.pi=!1,this.Yi(this.Li,this.zi,this.Ai))}}class Yd extends Vd{constructor(e,t,n){super(),this.Jt=e,this.Ki=t,this.Zi=n}Yi(e,t,n){if(e.It=!1,2===this.Jt.N().mode)return;const r=this.Jt.N().horzLine;if(!r.labelVisible)return;const i=this.Ki.Lt();if(!this.Jt.It()||this.Ki.Gi()||null===i)return;const o=this.Ki.Xi().Z(r.labelBackgroundColor);n.G=o.G,e.R=o.X;const l=2/12*this.Ki.k();n.Ti=l,n.Ri=l;const s=this.Zi(this.Ki);n.Ei=s.Ei,e.ri=this.Ki.Ji(s.gt,i),e.It=!0}}const Gd=/[1-9]/g;class Kd{constructor(){this.jt=null}ht(e){this.jt=e}nt(e,t){if(null===this.jt||!1===this.jt.It||0===this.jt.ri.length)return;const n=e.useMediaCoordinateSpace(e=>{let{context:n}=e;return n.font=t.P,Math.round(t.Qi.Ii(n,fd(this.jt).ri,Gd))});if(n<=0)return;const r=t.ts,i=n+2*r,o=i/2,l=this.jt.ss;let s=this.jt.Ei,a=Math.floor(s-o)+.5;a<0?(s+=Math.abs(0-a),a=Math.floor(s-o)+.5):a+i>l&&(s-=Math.abs(l-(a+i)),a=Math.floor(s-o)+.5);const c=a+i,d=Math.ceil(0+t.S+t.C+t.A+t.k+t.I);e.useBitmapCoordinateSpace(e=>{let{context:n,horizontalPixelRatio:r,verticalPixelRatio:i}=e;const o=fd(this.jt);n.fillStyle=o.G;const l=Math.round(a*r),s=Math.round(0*i),u=Math.round(c*r),h=Math.round(d*i),p=Math.round(2*r);if(n.beginPath(),n.moveTo(l,s),n.lineTo(l,h-p),n.arcTo(l,h,l+p,h,p),n.lineTo(u-p,h),n.arcTo(u,h,u,h-p,p),n.lineTo(u,s),n.fill(),o.pi){const e=Math.round(o.Ei*r),l=s,a=Math.round((l+t.C)*i);n.fillStyle=o.R;const c=Math.max(1,Math.floor(r)),d=Math.floor(.5*r);n.fillRect(e-d,l,c,a-l)}}),e.useMediaCoordinateSpace(e=>{let{context:n}=e;const i=fd(this.jt),o=0+t.S+t.C+t.A+t.k/2;n.font=t.P,n.textAlign="left",n.textBaseline="middle",n.fillStyle=i.R;const l=t.Qi.Di(n,"Apr0");n.translate(a+r,o+l),n.fillText(i.ri,0,0)})}}class qd{constructor(e,t,n){this.xt=!0,this.Xt=new Kd,this.Gt={It:!1,G:"#4c525e",R:"white",ri:"",ss:0,Ei:NaN,pi:!0},this.Ct=e,this.ns=t,this.Zi=n}kt(){this.xt=!0}Tt(){return this.xt&&(this.Rt(),this.xt=!1),this.Xt.ht(this.Gt),this.Xt}Rt(){const e=this.Gt;if(e.It=!1,2===this.Ct.N().mode)return;const t=this.Ct.N().vertLine;if(!t.labelVisible)return;const n=this.ns.Et();if(n.Gi())return;e.ss=n.ss();const r=this.Zi();if(null===r)return;e.Ei=r.Ei;const i=n.es(this.Ct.Bt());e.ri=n.rs(fd(i)),e.It=!0;const o=this.ns.Xi().Z(t.labelBackgroundColor);e.G=o.G,e.R=o.X,e.pi=n.N().ticksVisible}}class Xd{constructor(){this.hs=null,this.ls=0}_s(){return this.ls}us(e){this.ls=e}Ft(){return this.hs}cs(e){this.hs=e}ds(e){return[]}fs(){return[]}It(){return!0}}var Jd;!function(e){e[e.Normal=0]="Normal",e[e.Magnet=1]="Magnet",e[e.Hidden=2]="Hidden",e[e.MagnetOHLC=3]="MagnetOHLC"}(Jd||(Jd={}));class Qd extends Xd{constructor(e,t){super(),this.yt=null,this.ps=NaN,this.vs=0,this.ws=!1,this.gs=new Map,this.Ms=!1,this.bs=new WeakMap,this.Ss=new WeakMap,this.xs=NaN,this.Cs=NaN,this.ys=NaN,this.ks=NaN,this.ns=e,this.Ps=t,this.Ts=((e,t)=>n=>{const r=t(),i=e();if(n===fd(this.yt).Rs())return{gt:i,Ei:r};{const e=fd(n.Lt());return{gt:n.Ds(r,e),Ei:r}}})(()=>this.ps,()=>this.Cs);const n=((e,t)=>()=>{const n=this.ns.Et().Is(e()),r=t();return n&&Number.isFinite(r)?{wt:n,Ei:r}:null})(()=>this.vs,()=>this.si());this.Vs=new qd(this,e,n)}N(){return this.Ps}Bs(e,t){this.ys=e,this.ks=t}Es(){this.ys=NaN,this.ks=NaN}As(){return this.ys}Ls(){return this.ks}zs(e,t,n){this.Ms||(this.Ms=!0),this.ws=!0,this.Os(e,t,n)}Bt(){return this.vs}si(){return this.xs}ni(){return this.Cs}It(){return this.ws}Ns(){this.ws=!1,this.Fs(),this.ps=NaN,this.xs=NaN,this.Cs=NaN,this.yt=null,this.Es(),this.Ws()}Hs(e){if(!this.Ps.doNotSnapToHiddenSeriesIndices)return e;const t=this.ns,n=t.Et();let r=null,i=null;for(const a of t.Us()){const t=a.qs().$s(e,-1);if(t){if(t.js===e)return e;(null===r||t.js>r)&&(r=t.js)}const n=a.qs().$s(e,1);if(n){if(n.js===e)return e;(null===i||n.js<i)&&(i=n.js)}}const o=[r,i].filter(jd);if(0===o.length)return e;const l=n.qt(e),s=o.map(e=>Math.abs(l-n.qt(e)));return o[s.indexOf(Math.min(...s))]}Ys(e){let t=this.bs.get(e);t||(t=new Nd(this,e),this.bs.set(e,t));let n=this.Ss.get(e);return n||(n=new Rd(this.ns,this,e),this.Ss.set(e,n)),[t,n]}ti(e){return e===this.yt&&this.Ps.horzLine.visible}ii(){return this.Ps.vertLine.visible}Ks(e,t){this.ws&&this.yt===e||this.gs.clear();const n=[];return this.yt===e&&n.push(this.Zs(this.gs,t,this.Ts)),n}fs(){return this.ws?[this.Vs]:[]}Gs(){return this.yt}Ws(){this.ns.Xs().forEach(e=>{this.bs.get(e)?.kt(),this.Ss.get(e)?.kt()}),this.gs.forEach(e=>e.kt()),this.Vs.kt()}Js(e){return e&&!e.Rs().Gi()?e.Rs():null}Os(e,t,n){this.Qs(e,t,n)&&this.Ws()}Qs(e,t,n){const r=this.xs,i=this.Cs,o=this.ps,l=this.vs,s=this.yt,a=this.Js(n);this.vs=e,this.xs=isNaN(e)?NaN:this.ns.Et().qt(e),this.yt=n;const c=null!==a?a.Lt():null;return null!==a&&null!==c?(this.ps=t,this.Cs=a.Nt(t,c)):(this.ps=NaN,this.Cs=NaN),r!==this.xs||i!==this.Cs||l!==this.vs||o!==this.ps||s!==this.yt}Fs(){const e=this.ns.tn().map(e=>e.qs().sn()).filter(jd),t=0===e.length?null:Math.max(...e);this.vs=null!==t?t:NaN}Zs(e,t,n){let r=e.get(t);return void 0===r&&(r=new Yd(this,t,n),e.set(t,r)),r}}function Zd(e){return"left"===e||"right"===e}class eu{constructor(e){this.nn=new Map,this.en=[],this.rn=e}hn(e,t){const n=function(e,t){return void 0===e?t:{an:Math.max(e.an,t.an),ln:e.ln||t.ln}}(this.nn.get(e),t);this.nn.set(e,n)}_n(){return this.rn}un(e){const t=this.nn.get(e);return void 0===t?{an:this.rn}:{an:Math.max(this.rn,t.an),ln:t.ln}}cn(){this.dn(),this.en=[{fn:0}]}pn(e){this.dn(),this.en=[{fn:1,Wt:e}]}vn(e){this.mn(),this.en.push({fn:5,Wt:e})}dn(){this.mn(),this.en.push({fn:6})}wn(){this.dn(),this.en=[{fn:4}]}gn(e){this.dn(),this.en.push({fn:2,Wt:e})}Mn(e){this.dn(),this.en.push({fn:3,Wt:e})}bn(){return this.en}Sn(e){for(const t of e.en)this.xn(t);this.rn=Math.max(this.rn,e.rn),e.nn.forEach((e,t)=>{this.hn(t,e)})}static Cn(){return new eu(2)}static yn(){return new eu(3)}xn(e){switch(e.fn){case 0:this.cn();break;case 1:this.pn(e.Wt);break;case 2:this.gn(e.Wt);break;case 3:this.Mn(e.Wt);break;case 4:this.wn();break;case 5:this.vn(e.Wt);break;case 6:this.mn()}}mn(){const e=this.en.findIndex(e=>5===e.fn);-1!==e&&this.en.splice(e,1)}}class tu{formatTickmarks(e){return e.map(e=>this.format(e))}}function nu(e,t){if(!vd(e))return"n/a";if(!xd(t))throw new TypeError("invalid length");if(t<0||t>16)throw new TypeError("invalid length");return 0===t?e.toString():("0000000000000000"+e.toString()).slice(-t)}class ru extends tu{constructor(e,t){if(super(),t||(t=1),vd(e)&&xd(e)||(e=100),e<0)throw new TypeError("invalid base");this.Ki=e,this.kn=t,this.Pn()}format(e){const t=e<0?"\u2212":"";return e=Math.abs(e),t+this.Tn(e)}Pn(){if(this.Rn=0,this.Ki>0&&this.kn>0){let e=this.Ki;for(;e>1;)e/=10,this.Rn++}}Tn(e){const t=this.Ki/this.kn;let n=Math.floor(e),r="";const i=void 0!==this.Rn?this.Rn:NaN;if(t>1){let o=+(Math.round(e*t)-n*t).toFixed(this.Rn);o>=t&&(o-=t,n+=1),r="."+nu(+o.toFixed(this.Rn)*this.kn,i)}else n=Math.round(n*t)/t,i>0&&(r="."+nu(0,i));return n.toFixed(0)+r}}class iu extends ru{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:100)}format(e){return`${super.format(e)}%`}}class ou extends tu{constructor(e){super(),this.Dn=e}format(e){let t="";return e<0&&(t="-",e=-e),e<995?t+this.In(e):e<999995?t+this.In(e/1e3)+"K":e<999999995?(e=1e3*Math.round(e/1e3),t+this.In(e/1e6)+"M"):(e=1e6*Math.round(e/1e6),t+this.In(e/1e9)+"B")}In(e){let t;const n=Math.pow(10,this.Dn);return t=(e=Math.round(e*n)/n)>=1e-15&&e<1?e.toFixed(this.Dn).replace(/\.?0+$/,""):String(e),t.replace(/(\.[1-9]*)0+$/,(e,t)=>t)}}const lu=/[2-9]/g;class su{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;this.Vn=0,this.Bn=1,this.En=1,this.An={},this.Ln=new Map,this.zn=e}On(){this.Vn=0,this.Ln.clear(),this.Bn=1,this.En=1,this.An={}}Ii(e,t,n){return this.Nn(e,t,n).width}Di(e,t,n){const r=this.Nn(e,t,n);return((r.actualBoundingBoxAscent||0)-(r.actualBoundingBoxDescent||0))/2}Nn(e,t,n){const r=n||lu,i=String(t).replace(r,"0");if(this.Ln.has(i))return pd(this.Ln.get(i)).Fn;if(this.Vn===this.zn){const e=this.An[this.En];delete this.An[this.En],this.Ln.delete(e),this.En++,this.Vn--}e.save(),e.textBaseline="middle";const o=e.measureText(i);return e.restore(),0===o.width&&t.length||(this.Ln.set(i,{Fn:o,Wn:this.Bn}),this.An[this.Bn]=i,this.Vn++,this.Bn++),o}}class au{constructor(e){this.Hn=null,this.M=null,this.Un="right",this.$n=e}qn(e,t,n){this.Hn=e,this.M=t,this.Un=n}nt(e){null!==this.M&&null!==this.Hn&&this.Hn.nt(e,this.M,this.$n,this.Un)}}class cu{constructor(e,t,n){this.jn=e,this.$n=new su(50),this.Yn=t,this.O=n,this.F=-1,this.Xt=new au(this.$n)}Tt(){const e=this.O.Kn(this.Yn);if(null===e)return null;const t=e.Zn(this.Yn)?e.Gn():this.Yn.Ft();if(null===t)return null;const n=e.Xn(t);if("overlay"===n)return null;const r=this.O.Jn();return r.k!==this.F&&(this.F=r.k,this.$n.On()),this.Xt.qn(this.jn.ji(),r,n),this.Xt}}class du extends Pd{constructor(){super(...arguments),this.jt=null}ht(e){this.jt=e}Qn(e,t){if(!this.jt?.It)return null;const{ut:n,ct:r,te:i}=this.jt;return t>=n-r-7&&t<=n+r+7?{ie:this.jt,te:i}:null}et(e){let{context:t,bitmapSize:n,horizontalPixelRatio:r,verticalPixelRatio:i}=e;if(null===this.jt)return;if(!1===this.jt.It)return;const o=Math.round(this.jt.ut*i);o<0||o>n.height||(t.lineCap="butt",t.strokeStyle=this.jt.R,t.lineWidth=Math.floor(this.jt.ct*r),dd(t,this.jt.Zt),ud(t,o,0,n.width))}}class uu{constructor(e){this.se={ut:0,R:"rgba(0, 0, 0, 0)",ct:1,Zt:0,It:!1},this.ne=new du,this.xt=!0,this.ee=e,this.re=e.Qt(),this.ne.ht(this.se)}kt(){this.xt=!0}Tt(){return this.ee.It()?(this.xt&&(this.he(),this.xt=!1),this.ne):null}}class hu extends uu{constructor(e){super(e)}he(){this.se.It=!1;const e=this.ee.Ft(),t=e.ae().ae;if(2!==t&&3!==t)return;const n=this.ee.N();if(!n.baseLineVisible||!this.ee.It())return;const r=this.ee.Lt();null!==r&&(this.se.It=!0,this.se.ut=e.Nt(r.Wt,r.Wt),this.se.R=n.baseLineColor,this.se.ct=n.baseLineWidth,this.se.Zt=n.baseLineStyle)}}class pu extends Pd{constructor(){super(...arguments),this.jt=null}ht(e){this.jt=e}le(){return this.jt}et(e){let{context:t,horizontalPixelRatio:n,verticalPixelRatio:r}=e;const i=this.jt;if(null===i)return;const o=Math.max(1,Math.floor(n)),l=o%2/2,s=Math.round(i.oe.x*n)+l,a=i.oe.y*r;t.fillStyle=i._e,t.beginPath();const c=Math.max(2,1.5*i.ue)*n;t.arc(s,a,c,0,2*Math.PI,!1),t.fill(),t.fillStyle=i.ce,t.beginPath(),t.arc(s,a,i.ft*n,0,2*Math.PI,!1),t.fill(),t.lineWidth=o,t.strokeStyle=i.de,t.beginPath(),t.arc(s,a,i.ft*n+o/2,0,2*Math.PI,!1),t.stroke()}}const fu=[{fe:0,pe:.25,ve:4,me:10,we:.25,ge:0,Me:.4,be:.8},{fe:.25,pe:.525,ve:10,me:14,we:0,ge:0,Me:.8,be:0},{fe:.525,pe:1,ve:14,me:14,we:0,ge:0,Me:0,be:0}];class gu{constructor(e){this.Xt=new pu,this.xt=!0,this.Se=!0,this.xe=performance.now(),this.Ce=this.xe-1,this.ye=e}ke(){this.Ce=this.xe-1,this.kt()}Pe(){if(this.kt(),2===this.ye.N().lastPriceAnimation){const e=performance.now(),t=this.Ce-e;if(t>0)return void(t<650&&(this.Ce+=2600));this.xe=e,this.Ce=e+2600}}kt(){this.xt=!0}Te(){this.Se=!0}It(){return 0!==this.ye.N().lastPriceAnimation}Re(){switch(this.ye.N().lastPriceAnimation){case 0:return!1;case 1:return!0;case 2:return performance.now()<=this.Ce}}Tt(){return this.xt?(this.Rt(),this.xt=!1,this.Se=!1):this.Se&&(this.De(),this.Se=!1),this.Xt}Rt(){this.Xt.ht(null);const e=this.ye.Qt().Et(),t=e.Ie(),n=this.ye.Lt();if(null===t||null===n)return;const r=this.ye.Ve(!0);if(r.Be||!t.Ee(r.js))return;const i={x:e.qt(r.js),y:this.ye.Ft().Nt(r.gt,n.Wt)},o=r.R,l=this.ye.N().lineWidth,s=this.Ae(this.Le(),o);this.Xt.ht({_e:o,ue:l,ce:s.ce,de:s.de,ft:s.ft,oe:i})}De(){const e=this.Xt.le();if(null!==e){const t=this.Ae(this.Le(),e._e);e.ce=t.ce,e.de=t.de,e.ft=t.ft}}Le(){return this.Re()?performance.now()-this.xe:2599}ze(e,t,n,r){const i=n+(r-n)*t;return this.ye.Qt().Xi().Y(e,i)}Ae(e,t){const n=e%2600/2600;let r;for(const a of fu)if(n>=a.fe&&n<=a.pe){r=a;break}hd(void 0!==r,"Last price animation internal logic error");const i=(n-r.fe)/(r.pe-r.fe);return{ce:this.ze(t,i,r.we,r.ge),de:this.ze(t,i,r.Me,r.be),ft:(o=i,l=r.ve,s=r.me,l+(s-l)*o)};var o,l,s}}class mu extends uu{constructor(e){super(e)}he(){const e=this.se;e.It=!1;const t=this.ee.N();if(!t.priceLineVisible||!this.ee.It())return;const n=this.ee.Ve(0===t.priceLineSource);n.Be||(e.It=!0,e.ut=n.Ei,e.R=this.ee.Oe(n.R),e.ct=t.priceLineWidth,e.Zt=t.priceLineStyle)}}class yu extends Vd{constructor(e){super(),this.Jt=e}Yi(e,t,n){e.It=!1,t.It=!1;const r=this.Jt;if(!r.It())return;const i=r.N(),o=i.lastValueVisible,l=""!==r.Ne(),s=0===i.seriesLastValueMode,a=r.Ve(!1);if(a.Be)return;o&&(e.ri=this.Fe(a,o,s),e.It=0!==e.ri.length),(l||s)&&(t.ri=this.We(a,o,l,s),t.It=t.ri.length>0);const c=r.Oe(a.R),d=this.Jt.Qt().Xi().Z(c);n.G=d.G,n.Ei=a.Ei,t.Ht=r.Qt().Ut(a.Ei/r.Ft().$t()),e.Ht=c,e.R=d.X,t.R=d.X}We(e,t,n,r){let i="";const o=this.Jt.Ne();return n&&0!==o.length&&(i+=`${o} `),t&&r&&(i+=this.Jt.Ft().He()?e.Ue:e.$e),i.trim()}Fe(e,t,n){return t?n?this.Jt.Ft().He()?e.$e:e.Ue:e.ri:""}}function vu(e,t,n,r){const i=Number.isFinite(t),o=Number.isFinite(n);return i&&o?e(t,n):i||o?i?t:n:r}class xu{constructor(e,t){this.qe=e,this.je=t}Ye(e){return null!==e&&this.qe===e.qe&&this.je===e.je}Ke(){return new xu(this.qe,this.je)}Ze(){return this.qe}Ge(){return this.je}Xe(){return this.je-this.qe}Gi(){return this.je===this.qe||Number.isNaN(this.je)||Number.isNaN(this.qe)}Sn(e){return null===e?this:new xu(vu(Math.min,this.Ze(),e.Ze(),-1/0),vu(Math.max,this.Ge(),e.Ge(),1/0))}Je(e){if(!vd(e))return;if(0===this.je-this.qe)return;const t=.5*(this.je+this.qe);let n=this.je-t,r=this.qe-t;n*=e,r*=e,this.je=t+n,this.qe=t+r}Qe(e){vd(e)&&(this.je+=e,this.qe+=e)}tr(){return{minValue:this.qe,maxValue:this.je}}static ir(e){return null===e?null:new xu(e.minValue,e.maxValue)}}class bu{constructor(e,t){this.sr=e,this.nr=t||null}er(){return this.sr}rr(){return this.nr}tr(){return{priceRange:null===this.sr?null:this.sr.tr(),margins:this.nr||void 0}}static ir(e){return null===e?null:new bu(xu.ir(e.priceRange),e.margins)}}const wu=[2,4,8,16,32,64,128,256,512];class Su extends uu{constructor(e,t){super(e),this.hr=t}he(){const e=this.se;e.It=!1;const t=this.hr.N();if(!this.ee.It()||!t.lineVisible)return;const n=this.hr.ar();null!==n&&(e.It=!0,e.ut=n,e.R=t.color,e.ct=t.lineWidth,e.Zt=t.lineStyle,e.te=this.hr.N().id)}}class ju extends Vd{constructor(e,t){super(),this.ye=e,this.hr=t}Yi(e,t,n){e.It=!1,t.It=!1;const r=this.hr.N(),i=r.axisLabelVisible,o=""!==r.title,l=this.ye;if(!i||!l.It())return;const s=this.hr.ar();if(null===s)return;o&&(t.ri=r.title,t.It=!0),t.Ht=l.Qt().Ut(s/l.Ft().$t()),e.ri=this.lr(r.price),e.It=!0;const a=this.ye.Qt().Xi().Z(r.axisLabelColor||r.color);n.G=a.G;const c=r.axisLabelTextColor||a.X;e.R=c,t.R=c,n.Ei=s}lr(e){const t=this.ye.Lt();return null===t?"":this.ye.Ft().Ji(e,t.Wt)}}class ku{constructor(e,t){this.ye=e,this.Ps=t,this._r=new Su(e,this),this.jn=new ju(e,this),this.ur=new cu(this.jn,e,e.Qt())}cr(e){yd(this.Ps,e),this.kt(),this.ye.Qt().dr()}N(){return this.Ps}pr(){return this._r}vr(){return this.ur}mr(){return this.jn}kt(){this._r.kt(),this.jn.kt()}ar(){const e=this.ye,t=e.Ft();if(e.Qt().Et().Gi()||t.Gi())return null;const n=e.Lt();return null===n?null:t.Nt(this.Ps.price,n.Wt)}}class _u{constructor(){this.wr=new WeakMap}gr(e,t,n){const r=1/t*n;if(e>=r)return 1;const i=r/e,o=Math.pow(2,Math.floor(Math.log2(i)));return Math.min(o,512)}Mr(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4?arguments[4]:void 0;if(0===e.length||t<=1)return e;const o=this.br(t);if(o<=1)return e;const l=this.Sr(e);let s=l.Cr.get(o);return void 0!==s||(s=this.yr(e,o,n,r,i,l.Cr),l.Cr.set(o,s)),s}kr(e,t,n,r){let i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=arguments.length>5?arguments[5]:void 0;if(n<1||0===e.length)return e;const l=this.Sr(e),s=l.Cr.get(n);if(!s)return this.Mr(e,n,r,i,o);const a=this.Pr(e,t,n,s,i,r,o);return l.Cr.set(n,a),a}br(e){if(e<=2)return 2;for(const t of wu)if(e<=t)return t;return 512}Tr(e){if(0===e.length)return 0;const t=e[0],n=e[e.length-1];return 31*e.length+17*t.js+13*n.js}yr(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4?arguments[4]:void 0,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:new Map;if(2===t)return this.Rr(e,2,n,r,i);const l=t/2;let s=o.get(l);return s||(s=this.yr(e,l,n,r,i,o),o.set(l,s)),this.Dr(s,n,r,i)}Rr(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4?arguments[4]:void 0;const o=this.Ir(e,t,n,r,i);return this.Vr(o,r)}Dr(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0;const i=this.Ir(e,2,t,n,r);return this.Vr(i,n)}Ir(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4?arguments[4]:void 0;const o=[];for(let l=0;l<e.length;l+=t)if(e.length-l>=t){const t=this.Br(e[l],e[l+1],n,r,i);t.Er=!1,o.push(t)}else if(0===o.length)o.push(this.Ar(e[l],!0));else{const t=o[o.length-1];o[o.length-1]=this.Lr(t,e[l],n,r,i)}return o}zr(e,t){return(e??1)+(t??1)}Br(e,t,n){let r=arguments.length>4?arguments[4]:void 0;if(!(arguments.length>3&&void 0!==arguments[3]&&arguments[3])||!n||!r){const n=e.Wt[1]>t.Wt[1]?e.Wt[1]:t.Wt[1],r=e.Wt[2]<t.Wt[2]?e.Wt[2]:t.Wt[2];return{Or:e.js,Nr:t.js,Fr:e.wt,Wr:t.wt,Hr:e.Wt[0],Ur:n,$r:r,qr:t.Wt[3],jr:this.zr(e.jr,t.jr),Yr:void 0,Er:!1}}const i=n(this.Kr(e,r),this.Kr(t,r)),o=r(i),l=o.length?o[o.length-1]:0;return{Or:e.js,Nr:t.js,Fr:e.wt,Wr:t.wt,Hr:e.Wt[0],Ur:Math.max(e.Wt[1],l),$r:Math.min(e.Wt[2],l),qr:l,jr:this.zr(e.jr,t.jr),Yr:i,Er:!1}}Lr(e,t,n){let r=arguments.length>4?arguments[4]:void 0;if(!(arguments.length>3&&void 0!==arguments[3]&&arguments[3])||!n||!r)return{Or:e.Or,Nr:t.js,Fr:e.Fr,Wr:t.wt,Hr:e.Hr,Ur:e.Ur>t.Wt[1]?e.Ur:t.Wt[1],$r:e.$r<t.Wt[2]?e.$r:t.Wt[2],qr:t.Wt[3],jr:e.jr+(t.jr??1),Yr:e.Yr,Er:!1};const i=e.Yr,o=this.Kr(t,r),l=i?{data:i,index:e.Or,originalTime:e.Fr,time:e.Fr,priceValues:r(i)}:null,s=l?n(l,o):o.data,a=l?r(s):o.priceValues,c=a.length?a[a.length-1]:0;return{Or:e.Or,Nr:t.js,Fr:e.Fr,Wr:t.wt,Hr:e.Hr,Ur:Math.max(e.Ur,c),$r:Math.min(e.$r,c),qr:c,jr:e.jr+(t.jr??1),Yr:s,Er:!1}}Zr(e,t,n,r,i,o){let l=arguments.length>6&&void 0!==arguments[6]&&arguments[6],s=arguments.length>7?arguments[7]:void 0;const a=t===r?i:e[t];if(n-t==1)return this.Ar(a,!0);const c=t+1===r?i:e[t+1];let d=this.Br(a,c,o,l,s);for(let u=t+2;u<n;u++){const t=u===r?i:e[u];d=this.Lr(d,t,o,l,s)}return d}Kr(e,t){const n=e.le??{};return{data:e.le,index:e.js,originalTime:e.Gr,time:e.wt,priceValues:t(n)}}Xr(e){const t=!0===(arguments.length>1&&void 0!==arguments[1]&&arguments[1]),n=!!e.Yr;return{js:e.Or,wt:e.Fr,Gr:e.Fr,Wt:[t?e.qr:e.Hr,e.Ur,e.$r,e.qr],jr:e.jr,le:t?n?e.Yr:{wt:e.Fr}:void 0}}Vr(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e.map(e=>this.Xr(e,t))}Pr(e,t,n,r){let i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=arguments.length>5?arguments[5]:void 0,l=arguments.length>6?arguments[6]:void 0;if(0===r.length)return r;const s=e.length-1,a=Math.floor(s/n)*n;if(Math.min(a+n,e.length)-a<n&&e.length>n){const r=e.slice();return r[r.length-1]=t,this.Mr(r,n,o,i,l)}if(Math.floor((s-1)/n)===Math.floor(s/n)||1===r.length){const c=Math.min(a+n,e.length),d=c-a;if(d<=0)return r;const u=1===d?this.Ar(a===s?t:e[a],!0):this.Zr(e,a,c,s,t,o,i,l);return r[r.length-1]=this.Xr(u,i),r}{const r=e.slice();return r[r.length-1]=t,this.Mr(r,n,o,i,l)}}Ar(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{Or:e.js,Nr:e.js,Fr:e.wt,Wr:e.wt,Hr:e.Wt[0],Ur:e.Wt[1],$r:e.Wt[2],qr:e.Wt[3],jr:e.jr??1,Yr:e.le,Er:t}}Sr(e){const t=this.Jr(e),n=this.Tr(e);return t.Qr!==n&&(t.Cr.clear(),t.Qr=n),t}Jr(e){let t=this.wr.get(e);return void 0===t&&(t={Qr:this.Tr(e),Cr:new Map},this.wr.set(e,t)),t}}class Eu extends Xd{constructor(e){super(),this.ns=e}Qt(){return this.ns}}const Cu={Bar:(e,t,n,r)=>{const i=t.upColor,o=t.downColor,l=fd(e(n,r)),s=gd(l.Wt[0])<=gd(l.Wt[3]);return{th:l.R??(s?i:o)}},Candlestick:(e,t,n,r)=>{const i=t.upColor,o=t.downColor,l=t.borderUpColor,s=t.borderDownColor,a=t.wickUpColor,c=t.wickDownColor,d=fd(e(n,r)),u=gd(d.Wt[0])<=gd(d.Wt[3]);return{th:d.R??(u?i:o),ih:d.Ht??(u?l:s),sh:d.nh??(u?a:c)}},Custom:(e,t,n,r)=>({th:fd(e(n,r)).R??t.color}),Area:(e,t,n,r)=>{const i=fd(e(n,r));return{th:i.vt??t.lineColor,vt:i.vt??t.lineColor,eh:i.eh??t.topColor,rh:i.rh??t.bottomColor}},Baseline:(e,t,n,r)=>{const i=fd(e(n,r));return{th:i.Wt[3]>=t.baseValue.price?t.topLineColor:t.bottomLineColor,hh:i.hh??t.topLineColor,ah:i.ah??t.bottomLineColor,oh:i.oh??t.topFillColor1,_h:i._h??t.topFillColor2,uh:i.uh??t.bottomFillColor1,dh:i.dh??t.bottomFillColor2}},Line:(e,t,n,r)=>{const i=fd(e(n,r));return{th:i.R??t.color,vt:i.R??t.color}},Histogram:(e,t,n,r)=>({th:fd(e(n,r)).R??t.color})};class Tu{constructor(e){this.fh=(e,t)=>void 0!==t?t.Wt:this.ye.qs().ph(e),this.ye=e,this.mh=Cu[e.wh()]}gh(e,t){return this.mh(this.fh,this.ye.N(),e,t)}}function Mu(e,t,n,r){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,o=(arguments.length>5&&void 0!==arguments[5]?arguments[5]:t.length)-i;for(;0<o;){const l=o>>1,s=i+l;r(t[s],n)===e?(i=s+1,o-=l+1):o=l}return i}const Ou=Mu.bind(null,!0),Au=Mu.bind(null,!1);var Pu;!function(e){e[e.NearestLeft=-1]="NearestLeft",e[e.None=0]="None",e[e.NearestRight=1]="NearestRight"}(Pu||(Pu={}));const Iu=30;class Du{constructor(){this.Mh=[],this.bh=new Map,this.Sh=new Map,this.xh=[]}Ch(){return this.yh()>0?this.Mh[this.Mh.length-1]:null}kh(){return this.yh()>0?this.Ph(0):null}sn(){return this.yh()>0?this.Ph(this.Mh.length-1):null}yh(){return this.Mh.length}Gi(){return 0===this.yh()}Ee(e){return null!==this.Th(e,0)}ph(e){return this.$s(e)}$s(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const n=this.Th(e,t);return null===n?null:{...this.Rh(n),js:this.Ph(n)}}Dh(){return this.Mh}Ih(e,t,n){if(this.Gi())return null;let r=null;for(const i of n)r=Lu(r,this.Vh(e,t,i));return r}ht(e){this.Sh.clear(),this.bh.clear(),this.Mh=e,this.xh=e.map(e=>e.js)}Bh(){return this.xh}Ph(e){return this.Mh[e].js}Rh(e){return this.Mh[e]}Th(e,t){const n=this.Eh(e);if(null===n&&0!==t)switch(t){case-1:return this.Ah(e);case 1:return this.Lh(e);default:throw new TypeError("Unknown search mode")}return n}Ah(e){let t=this.zh(e);return t>0&&(t-=1),t!==this.Mh.length&&this.Ph(t)<e?t:null}Lh(e){const t=this.Oh(e);return t!==this.Mh.length&&e<this.Ph(t)?t:null}Eh(e){const t=this.zh(e);return t===this.Mh.length||e<this.Mh[t].js?null:t}zh(e){return Ou(this.Mh,e,(e,t)=>e.js<t)}Oh(e){return Au(this.Mh,e,(e,t)=>e.js>t)}Nh(e,t,n){let r=null;for(let i=e;i<t;i++){const e=this.Mh[i].Wt[n];Number.isNaN(e)||(null===r?r={Fh:e,Wh:e}:(e<r.Fh&&(r.Fh=e),e>r.Wh&&(r.Wh=e)))}return r}Vh(e,t,n){if(this.Gi())return null;let r=null;const i=fd(this.kh()),o=fd(this.sn()),l=Math.max(e,i),s=Math.min(t,o),a=Math.ceil(l/Iu)*Iu,c=Math.max(a,Math.floor(s/Iu)*Iu);{const e=this.zh(l),i=this.Oh(Math.min(s,a,t));r=Lu(r,this.Nh(e,i,n))}let d=this.bh.get(n);void 0===d&&(d=new Map,this.bh.set(n,d));for(let u=Math.max(a+1,l);u<c;u+=Iu){const e=Math.floor(u/Iu);let t=d.get(e);if(void 0===t){const r=this.zh(e*Iu),i=this.Oh((e+1)*Iu-1);t=this.Nh(r,i,n),d.set(e,t)}r=Lu(r,t)}{const e=this.zh(c),t=this.Oh(s);r=Lu(r,this.Nh(e,t,n))}return r}}function Lu(e,t){return null===e?t:null===t?e:{Fh:Math.min(e.Fh,t.Fh),Wh:Math.max(e.Wh,t.Wh)}}function Ru(){return new Du}const zu={setLineStyle:dd};class Nu{constructor(e){this.Hh=e}nt(e,t,n){this.Hh.draw(e,zu)}Uh(e,t,n){this.Hh.drawBackground?.(e,zu)}}class Fu{constructor(e){this.Ln=null,this.$h=e}Tt(){const e=this.$h.renderer();if(null===e)return null;if(this.Ln?.qh===e)return this.Ln.jh;const t=new Nu(e);return this.Ln={qh:e,jh:t},t}Yh(){return this.$h.zOrder?.()??"normal"}}class $u{constructor(e){this.Kh=null,this.Zh=e}Gh(){return this.Zh}Ws(){this.Zh.updateAllViews?.()}Ys(){const e=this.Zh.paneViews?.()??[];if(this.Kh?.qh===e)return this.Kh.jh;const t=e.map(e=>new Fu(e));return this.Kh={qh:e,jh:t},t}Qn(e,t){return this.Zh.hitTest?.(e,t)??null}}let Wu=class extends $u{ds(){return[]}};class Bu{constructor(e){this.Hh=e}nt(e,t,n){this.Hh.draw(e,zu)}Uh(e,t,n){this.Hh.drawBackground?.(e,zu)}}class Uu{constructor(e){this.Ln=null,this.$h=e}Tt(){const e=this.$h.renderer();if(null===e)return null;if(this.Ln?.qh===e)return this.Ln.jh;const t=new Bu(e);return this.Ln={qh:e,jh:t},t}Yh(){return this.$h.zOrder?.()??"normal"}}function Hu(e){return{ri:e.text(),Ei:e.coordinate(),Vi:e.fixedCoordinate?.(),R:e.textColor(),G:e.backColor(),It:e.visible?.()??!0,pi:e.tickVisible?.()??!0}}class Vu{constructor(e,t){this.Xt=new Kd,this.Xh=e,this.Jh=t}Tt(){return this.Xt.ht({ss:this.Jh.ss(),...Hu(this.Xh)}),this.Xt}}class Yu extends Vd{constructor(e,t){super(),this.Xh=e,this.Ki=t}Yi(e,t,n){const r=Hu(this.Xh);n.G=r.G,e.R=r.R;const i=2/12*this.Ki.k();n.Ti=i,n.Ri=i,n.Ei=r.Ei,n.Vi=r.Vi,e.ri=r.ri,e.It=r.It,e.pi=r.pi}}class Gu extends $u{constructor(e,t){super(e),this.Qh=null,this.ta=null,this.ia=null,this.sa=null,this.ye=t}fs(){const e=this.Zh.timeAxisViews?.()??[];if(this.Qh?.qh===e)return this.Qh.jh;const t=this.ye.Qt().Et(),n=e.map(e=>new Vu(e,t));return this.Qh={qh:e,jh:n},n}Ks(){const e=this.Zh.priceAxisViews?.()??[];if(this.ta?.qh===e)return this.ta.jh;const t=this.ye.Ft(),n=e.map(e=>new Yu(e,t));return this.ta={qh:e,jh:n},n}na(){const e=this.Zh.priceAxisPaneViews?.()??[];if(this.ia?.qh===e)return this.ia.jh;const t=e.map(e=>new Uu(e));return this.ia={qh:e,jh:t},t}ea(){const e=this.Zh.timeAxisPaneViews?.()??[];if(this.sa?.qh===e)return this.sa.jh;const t=e.map(e=>new Uu(e));return this.sa={qh:e,jh:t},t}ra(e,t){return this.Zh.autoscaleInfo?.(e,t)??null}}function Ku(e,t,n,r){e.forEach(e=>{t(e).forEach(e=>{e.Yh()===n&&r.push(e)})})}function qu(e){return e.Ys()}function Xu(e){return e.na()}function Ju(e){return e.ea()}const Qu=["Area","Line","Baseline"];class Zu extends Eu{constructor(e,t,n,r,i){super(e),this.jt=Ru(),this._r=new mu(this),this.ha=[],this.aa=new hu(this),this.la=null,this.oa=null,this._a=null,this.ua=[],this.ca=new _u,this.da=new Map,this.fa=null,this.Ps=n,this.pa=t;const o=new yu(this);if(this.gs=[o],this.ur=new cu(o,this,e),Qu.includes(this.pa)&&(this.la=new gu(this)),this.va(),this.$h=r(this,this.Qt(),i),"Custom"===this.pa){const e=this.$h;e.ma&&this.wa(e.ma)}}m(){null!==this._a&&clearTimeout(this._a)}Oe(e){return this.Ps.priceLineColor||e}Ve(e){const t={Be:!0},n=this.Ft();if(this.Qt().Et().Gi()||n.Gi()||this.jt.Gi())return t;const r=this.Qt().Et().Ie(),i=this.Lt();if(null===r||null===i)return t;let o,l;if(e){const e=this.jt.Ch();if(null===e)return t;o=e,l=e.js}else{const e=this.jt.$s(r.bi(),-1);if(null===e)return t;if(o=this.jt.ph(e.js),null===o)return t;l=e.js}const s=o.Wt[3],a=this.ga().gh(l,{Wt:o}),c=n.Nt(s,i.Wt);return{Be:!1,gt:s,ri:n.Ji(s,i.Wt),Ue:n.Ma(s),$e:n.ba(s,i.Wt),R:a.th,Ei:c,js:l}}ga(){return null!==this.oa||(this.oa=new Tu(this)),this.oa}N(){return this.Ps}cr(e){const t=this.Qt(),{priceScaleId:n,visible:r,priceFormat:i}=e;void 0!==n&&n!==this.Ps.priceScaleId&&t.Sa(this,n),void 0!==r&&r!==this.Ps.visible&&t.xa();const o=void 0!==e.conflationThresholdFactor;yd(this.Ps,e),o&&(this.da.clear(),this.Qt().dr()),void 0!==i&&(this.va(),t.Ca()),t.ya(this),t.ka(),this.$h.kt("options")}ht(e,t){this.jt.ht(e),this.da.clear();const n=this.Qt().Et().N();n.enableConflation&&n.precomputeConflationOnInit&&this.Pa(n.precomputeConflationPriority),this.$h.kt("data"),null!==this.la&&(t&&t.Ta?this.la.Pe():0===e.length&&this.la.ke());const r=this.Qt().Kn(this);this.Qt().Ra(r),this.Qt().ya(this),this.Qt().ka(),this.Qt().dr()}Da(e){const t=new ku(this,e);return this.ha.push(t),this.Qt().ya(this),t}Ia(e){const t=this.ha.indexOf(e);-1!==t&&this.ha.splice(t,1),this.Qt().ya(this)}Va(){return this.ha}wh(){return this.pa}Lt(){const e=this.Ba();return null===e?null:{Wt:e.Wt[3],Ea:e.wt}}Ba(){const e=this.Qt().Et().Ie();if(null===e)return null;const t=e.Aa();return this.jt.$s(t,1)}qs(){return this.jt}wa(e){this.fa=e,this.da.clear()}La(){return!!this.Qt().Et().N().enableConflation&&this.za()>1}kr(e){if(!this.La())return;const t=this.za();if(!this.da.has(t))return;const n="Custom"===this.pa,r=n&&this.fa||void 0,i=n&&this.$h.Oa?e=>{const t=e,n=this.$h.Oa(t);return Array.isArray(n)?n:["number"==typeof n?n:0]}:void 0,o=this.ca.kr(this.jt.Dh(),e,t,r,n,i),l=Ru();l.ht(o),this.da.set(t,l)}Na(){const e=this.Qt().Et().N().enableConflation;if("Custom"===this.pa&&null===this.fa)return this.jt;if(!e)return this.jt;const t=this.za(),n=this.da.get(t);return n||(this.Fa(t),this.da.get(t)??this.jt)}Wa(e){const t=this.jt.ph(e);return null===t?null:"Bar"===this.pa||"Candlestick"===this.pa||"Custom"===this.pa?{Hr:t.Wt[0],Ur:t.Wt[1],$r:t.Wt[2],qr:t.Wt[3]}:t.Wt[3]}Ha(e){const t=[];Ku(this.ua,qu,"top",t);const n=this.la;return null!==n&&n.It()?(null===this._a&&n.Re()&&(this._a=setTimeout(()=>{this._a=null,this.Qt().Ua()},0)),n.Te(),t.unshift(n),t):t}Ys(){const e=[];this.$a()||e.push(this.aa),e.push(this.$h,this._r);const t=this.ha.map(e=>e.pr());return e.push(...t),Ku(this.ua,qu,"normal",e),e}qa(){return this.ja(qu,"bottom")}Ya(e){return this.ja(Xu,e)}Ka(e){return this.ja(Ju,e)}Za(e,t){return this.ua.map(n=>n.Qn(e,t)).filter(e=>null!==e)}ds(){return[this.ur,...this.ha.map(e=>e.vr())]}Ks(e,t){if(t!==this.hs&&!this.$a())return[];const n=[...this.gs];for(const r of this.ha)n.push(r.mr());return this.ua.forEach(e=>{n.push(...e.Ks())}),n}fs(){const e=[];return this.ua.forEach(t=>{e.push(...t.fs())}),e}ra(e,t){if(void 0!==this.Ps.autoscaleInfoProvider){const n=this.Ps.autoscaleInfoProvider(()=>{const n=this.Ga(e,t);return null===n?null:n.tr()});return bu.ir(n)}return this.Ga(e,t)}qh(){const e=this.Ps.priceFormat;return e.base??1/e.minMove}Xa(){return this.Ja}Ws(){this.$h.kt();for(const e of this.gs)e.kt();for(const e of this.ha)e.kt();this._r.kt(),this.aa.kt(),this.la?.kt(),this.ua.forEach(e=>e.Ws())}Ft(){return fd(super.Ft())}At(e){if("Line"!==this.pa&&"Area"!==this.pa&&"Baseline"!==this.pa||!this.Ps.crosshairMarkerVisible)return null;const t=this.jt.ph(e);return null===t?null:{gt:t.Wt[3],ft:this.Qa(),Ht:this.tl(),Ot:this.il(),zt:this.sl(e)}}Ne(){return this.Ps.title}It(){return this.Ps.visible}nl(e){this.ua.push(new Gu(e,this))}el(e){this.ua=this.ua.filter(t=>t.Gh()!==e)}rl(){if("Custom"===this.pa)return e=>this.$h.Oa(e)}hl(){if("Custom"===this.pa)return e=>this.$h.al(e)}ll(){return this.jt.Bh()}$a(){return!Zd(this.Ft().ol())}Ga(e,t){if(!xd(e)||!xd(t)||this.jt.Gi())return null;const n="Line"===this.pa||"Area"===this.pa||"Baseline"===this.pa||"Histogram"===this.pa?[3]:[2,1],r=this.jt.Ih(e,t,n);let i=null!==r?new xu(r.Fh,r.Wh):null,o=null;if("Histogram"===this.wh()){const e=this.Ps.base,t=new xu(e,e);i=null!==i?i.Sn(t):t}return this.ua.forEach(n=>{const r=n.ra(e,t);if(r?.priceRange){const e=new xu(r.priceRange.minValue,r.priceRange.maxValue);i=null!==i?i.Sn(e):e}r?.margins&&(o=r.margins)}),new bu(i,o)}Qa(){switch(this.pa){case"Line":case"Area":case"Baseline":return this.Ps.crosshairMarkerRadius}return 0}tl(){switch(this.pa){case"Line":case"Area":case"Baseline":{const e=this.Ps.crosshairMarkerBorderColor;if(0!==e.length)return e}}return null}il(){switch(this.pa){case"Line":case"Area":case"Baseline":return this.Ps.crosshairMarkerBorderWidth}return 0}sl(e){switch(this.pa){case"Line":case"Area":case"Baseline":{const e=this.Ps.crosshairMarkerBackgroundColor;if(0!==e.length)return e}}return this.ga().gh(e).th}va(){switch(this.Ps.priceFormat.type){case"custom":{const e=this.Ps.priceFormat.formatter;this.Ja={format:e,formatTickmarks:this.Ps.priceFormat.tickmarksFormatter??(t=>t.map(e))};break}case"volume":this.Ja=new ou(this.Ps.priceFormat.precision);break;case"percent":this.Ja=new iu(this.Ps.priceFormat.precision);break;default:{const e=Math.pow(10,this.Ps.priceFormat.precision);this.Ja=new ru(e,this.Ps.priceFormat.minMove*e)}}null!==this.hs&&this.hs._l()}ja(e,t){const n=[];return Ku(this.ua,e,t,n),n}za(){const{ul:e,cl:t,dl:n}=this.fl();return this.ca.gr(e,t,n)}fl(){const e=this.Qt().Et(),t=e.ul(),n=window.devicePixelRatio||1,r=e.N().conflationThresholdFactor;return{ul:t,cl:n,dl:this.Ps.conflationThresholdFactor??r??1}}pl(e){const t=this.jt.Dh();let n;if("Custom"===this.pa&&null!==this.fa){const r=this.rl();if(!r)throw new Error("Custom series with conflation reducer must have a priceValueBuilder method");n=this.ca.Mr(t,e,this.fa,!0,e=>r(e))}else n=this.ca.Mr(t,e);const r=Ru();return r.ht(n),r}Fa(e){const t=this.pl(e);this.da.set(e,t)}Pa(e){if("Custom"===this.pa&&(null===this.fa||!this.rl()))return;this.da.clear();const t=this.Qt().Et().vl();for(const n of t){const t=()=>{this.ml(n)},r="object"==typeof window&&window||"object"==typeof self&&self;r?.gl?.wl?r.gl.wl(()=>{t()},{Ml:e}):Promise.resolve().then(()=>t())}}ml(e){if(this.da.has(e))return;if(0===this.jt.Dh().length)return;const t=this.pl(e);this.da.set(e,t)}}const eh=[3],th=[0,1,2,3];class nh{constructor(e){this.Ps=e}bl(e,t,n){let r=e;if(0===this.Ps.mode)return r;const i=n.Rs(),o=i.Lt();if(null===o)return r;const l=i.Nt(e,o),s=n.Sl().filter(e=>e instanceof Zu).reduce((e,r)=>{if(n.Zn(r)||!r.It())return e;const i=r.Ft(),o=r.qs();if(i.Gi()||!o.Ee(t))return e;const l=o.ph(t);if(null===l)return e;const s=gd(r.Lt()),a=3===this.Ps.mode?th:eh;return e.concat(a.map(e=>i.Nt(l.Wt[e],s.Wt)))},[]);if(0===s.length)return r;s.sort((e,t)=>Math.abs(e-l)-Math.abs(t-l));const a=s[0];return r=i.Ds(a,o),r}}function rh(e,t,n){return Math.min(Math.max(e,t),n)}function ih(e,t,n){return t-e<=n}class oh extends Pd{constructor(){super(...arguments),this.jt=null}ht(e){this.jt=e}et(e){let{context:t,bitmapSize:n,horizontalPixelRatio:r,verticalPixelRatio:i}=e;if(null===this.jt)return;const o=Math.max(1,Math.floor(r));t.lineWidth=o,function(e,t){e.save(),e.lineWidth%2&&e.translate(.5,.5),t(),e.restore()}(t,()=>{const e=fd(this.jt);if(e.xl){t.strokeStyle=e.Cl,dd(t,e.yl),t.beginPath();for(const i of e.kl){const e=Math.round(i.Pl*r);t.moveTo(e,-o),t.lineTo(e,n.height+o)}t.stroke()}if(e.Tl){t.strokeStyle=e.Rl,dd(t,e.Dl),t.beginPath();for(const r of e.Il){const e=Math.round(r.Pl*i);t.moveTo(-o,e),t.lineTo(n.width+o,e)}t.stroke()}})}}class lh{constructor(e){this.Xt=new oh,this.xt=!0,this.yt=e}kt(){this.xt=!0}Tt(){if(this.xt){const e=this.yt.Qt().N().grid,t={Tl:e.horzLines.visible,xl:e.vertLines.visible,Rl:e.horzLines.color,Cl:e.vertLines.color,Dl:e.horzLines.style,yl:e.vertLines.style,Il:this.yt.Rs().Vl(),kl:(this.yt.Qt().Et().Vl()||[]).map(e=>({Pl:e.coord}))};this.Xt.ht(t),this.xt=!1}return this.Xt}}class sh{constructor(e){this.$h=new lh(e)}pr(){return this.$h}}const ah={Bl:4,El:1e-4};function ch(e,t){const n=100*(e-t)/t;return t<0?-n:n}function dh(e,t){const n=ch(e.Ze(),t),r=ch(e.Ge(),t);return new xu(n,r)}function uh(e,t){const n=100*(e-t)/t+100;return t<0?-n:n}function hh(e,t){const n=uh(e.Ze(),t),r=uh(e.Ge(),t);return new xu(n,r)}function ph(e,t){const n=Math.abs(e);if(n<1e-15)return 0;const r=Math.log10(n+t.El)+t.Bl;return e<0?-r:r}function fh(e,t){const n=Math.abs(e);if(n<1e-15)return 0;const r=Math.pow(10,n-t.Bl)-t.El;return e<0?-r:r}function gh(e,t){if(null===e)return null;const n=ph(e.Ze(),t),r=ph(e.Ge(),t);return new xu(n,r)}function mh(e,t){if(null===e)return null;const n=fh(e.Ze(),t),r=fh(e.Ge(),t);return new xu(n,r)}function yh(e){if(null===e)return ah;const t=Math.abs(e.Ge()-e.Ze());if(t>=1||t<1e-15)return ah;const n=Math.ceil(Math.abs(Math.log10(t))),r=ah.Bl+n;return{Bl:r,El:1/Math.pow(10,r)}}class vh{constructor(e,t){if(this.Al=e,this.Ll=t,function(e){if(e<0)return!1;if(e>1e18)return!0;for(let t=e;t>1;t/=10)if(t%10!=0)return!1;return!0}(this.Al))this.zl=[2,2.5,2];else{this.zl=[];for(let e=this.Al;1!==e;){if(e%2==0)this.zl.push(2),e/=2;else{if(e%5!=0)throw new Error("unexpected base");this.zl.push(2,2.5),e/=5}if(this.zl.length>100)throw new Error("something wrong with base")}}}Ol(e,t,n){const r=0===this.Al?0:1/this.Al;let i=Math.pow(10,Math.max(0,Math.ceil(Math.log10(e-t)))),o=0,l=this.Ll[0];for(;;){const e=ih(i,r,1e-14)&&i>r+1e-14,t=ih(i,n*l,1e-14),s=ih(i,1,1e-14);if(!(e&&t&&s))break;i/=l,l=this.Ll[++o%this.Ll.length]}if(i<=r+1e-14&&(i=r),i=Math.max(1,i),this.zl.length>0&&(s=i,Math.abs(s-1)<1e-14))for(o=0,l=this.zl[0];ih(i,n*l,1e-14)&&i>r+1e-14;)i/=l,l=this.zl[++o%this.zl.length];var s;return i}}class xh{constructor(e,t,n,r){this.Nl=[],this.Ki=e,this.Al=t,this.Fl=n,this.Wl=r}Ol(e,t){if(e<t)throw new Error("high < low");const n=this.Ki.$t(),r=(e-t)*this.Hl()/n,i=new vh(this.Al,[2,2.5,2]),o=new vh(this.Al,[2,2,2.5]),l=new vh(this.Al,[2.5,2,2]),s=[];return s.push(i.Ol(e,t,r),o.Ol(e,t,r),l.Ol(e,t,r)),function(e){if(e.length<1)throw Error("array is empty");let t=e[0];for(let n=1;n<e.length;++n)e[n]<t&&(t=e[n]);return t}(s)}Ul(){const e=this.Ki,t=e.Lt();if(null===t)return void(this.Nl=[]);const n=e.$t(),r=this.Fl(n-1,t),i=this.Fl(0,t),o=this.Ki.N().entireTextOnly?this.$l()/2:0,l=o,s=n-1-o,a=Math.max(r,i),c=Math.min(r,i);if(a===c)return void(this.Nl=[]);const d=this.Ol(a,c);if(this.ql(t,d,a,c,l,s),e.jl()&&this.Yl(d,c,a)){const e=this.Ki.Kl();this.Zl(t,d,l,s,e,2*e)}const u=this.Nl.map(e=>e.Gl),h=this.Ki.Xl(u);for(let p=0;p<this.Nl.length;p++)this.Nl[p].Jl=h[p]}Vl(){return this.Nl}$l(){return this.Ki.k()}Hl(){return Math.ceil(2.5*this.$l())}ql(e,t,n,r,i,o){const l=this.Nl,s=this.Ki;let a=n%t;a+=a<0?t:0;const c=n>=r?1:-1;let d=null,u=0;for(let h=n-a;h>r;h-=t){const n=this.Wl(h,e,!0);null!==d&&Math.abs(n-d)<this.Hl()||n<i||n>o||(u<l.length?(l[u].Pl=n,l[u].Jl=s.Ql(h),l[u].Gl=h):l.push({Pl:n,Jl:s.Ql(h),Gl:h}),u++,d=n,s.io()&&(t=this.Ol(h*c,r)))}l.length=u}Zl(e,t,n,r,i,o){const l=this.Nl,s=this.so(e,n,i,o),a=this.so(e,r,-o,-i),c=this.Wl(0,e,!0)-this.Wl(t,e,!0);l.length>0&&l[0].Pl-s.Pl<c/2&&l.shift(),l.length>0&&a.Pl-l[l.length-1].Pl<c/2&&l.pop(),l.unshift(s),l.push(a)}so(e,t,n,r){const i=(n+r)/2,o=this.Fl(t+n,e),l=this.Fl(t+r,e),s=Math.min(o,l),a=Math.max(o,l),c=Math.max(.1,this.Ol(a,s)),d=this.Fl(t+i,e),u=d-d%c,h=this.Wl(u,e,!0);return{Jl:this.Ki.Ql(u),Pl:h,Gl:u}}Yl(e,t,n){let r=gd(this.Ki.er());return this.Ki.io()&&(r=mh(r,this.Ki.no())),r.Ze()-t<e&&n-r.Ge()<e}}function bh(e){return e.slice().sort((e,t)=>fd(e._s())-fd(t._s()))}var wh;!function(e){e[e.Normal=0]="Normal",e[e.Logarithmic=1]="Logarithmic",e[e.Percentage=2]="Percentage",e[e.IndexedTo100=3]="IndexedTo100"}(wh||(wh={}));const Sh=new iu,jh=new ru(100,1);class kh{constructor(e,t,n,r,i){this.eo=0,this.ro=null,this.sr=null,this.ho=null,this.ao={lo:!1,oo:null},this._o=!1,this.uo=0,this.co=0,this.do=new md,this.fo=new md,this.po=[],this.vo=null,this.mo=null,this.wo=null,this.Mo=null,this.bo=null,this.Ja=jh,this.So=yh(null),this.xo=e,this.Ps=t,this.Co=n,this.yo=r,this.ko=i,this.Po=new xh(this,100,this.To.bind(this),this.Ro.bind(this))}ol(){return this.xo}N(){return this.Ps}cr(e){if(yd(this.Ps,e),this._l(),void 0!==e.mode&&this.Do({ae:e.mode}),void 0!==e.scaleMargins){const t=pd(e.scaleMargins.top),n=pd(e.scaleMargins.bottom);if(t<0||t>1)throw new Error(`Invalid top margin - expect value between 0 and 1, given=${t}`);if(n<0||n>1)throw new Error(`Invalid bottom margin - expect value between 0 and 1, given=${n}`);if(t+n>1)throw new Error(`Invalid margins - sum of margins must be less than 1, given=${t+n}`);this.Io(),this.wo=null}}Vo(){return this.Ps.autoScale}Bo(){return this._o}io(){return 1===this.Ps.mode}He(){return 2===this.Ps.mode}Eo(){return 3===this.Ps.mode}no(){return this.So}ae(){return{ln:this.Ps.autoScale,Ao:this.Ps.invertScale,ae:this.Ps.mode}}Do(e){const t=this.ae();let n=null;void 0!==e.ln&&(this.Ps.autoScale=e.ln),void 0!==e.ae&&(this.Ps.mode=e.ae,2!==e.ae&&3!==e.ae||(this.Ps.autoScale=!0),this.ao.lo=!1),1===t.ae&&e.ae!==t.ae&&(function(e,t){if(null===e)return!1;const n=fh(e.Ze(),t),r=fh(e.Ge(),t);return isFinite(n)&&isFinite(r)}(this.sr,this.So)?(n=mh(this.sr,this.So),null!==n&&this.Lo(n)):this.Ps.autoScale=!0),1===e.ae&&e.ae!==t.ae&&(n=gh(this.sr,this.So),null!==n&&this.Lo(n));const r=t.ae!==this.Ps.mode;r&&(2===t.ae||this.He())&&this._l(),r&&(3===t.ae||this.Eo())&&this._l(),void 0!==e.Ao&&t.Ao!==e.Ao&&(this.Ps.invertScale=e.Ao,this.zo()),this.fo.p(t,this.ae())}Oo(){return this.fo}k(){return this.Co.fontSize}$t(){return this.eo}No(e){this.eo!==e&&(this.eo=e,this.Io(),this.wo=null)}Fo(){if(this.ro)return this.ro;const e=this.$t()-this.Wo()-this.Ho();return this.ro=e,e}er(){return this.Uo(),this.sr}Lo(e,t){const n=this.sr;(t||null===n&&null!==e||null!==n&&!n.Ye(e))&&(this.wo=null,this.sr=e)}$o(e){this.Lo(e),this.qo(null!==e)}Gi(){return this.Uo(),0===this.eo||!this.sr||this.sr.Gi()}jo(e){return this.Ao()?e:this.$t()-1-e}Nt(e,t){return this.He()?e=ch(e,t):this.Eo()&&(e=uh(e,t)),this.Ro(e,t)}Yo(e,t,n){this.Uo();const r=this.Ho(),i=fd(this.er()),o=i.Ze(),l=i.Ge(),s=this.Fo()-1,a=this.Ao(),c=s/(l-o),d=void 0===n?0:n.from,u=void 0===n?e.length:n.to,h=this.Ko();for(let p=d;p<u;p++){const n=e[p],i=n.gt;if(isNaN(i))continue;let l=i;null!==h&&(l=h(n.gt,t));const s=r+c*(l-o),d=a?s:this.eo-1-s;n.ut=d}}Zo(e,t,n){this.Uo();const r=this.Ho(),i=fd(this.er()),o=i.Ze(),l=i.Ge(),s=this.Fo()-1,a=this.Ao(),c=s/(l-o),d=void 0===n?0:n.from,u=void 0===n?e.length:n.to,h=this.Ko();for(let p=d;p<u;p++){const n=e[p];let i=n.Hr,l=n.Ur,s=n.$r,d=n.qr;null!==h&&(i=h(n.Hr,t),l=h(n.Ur,t),s=h(n.$r,t),d=h(n.qr,t));let u=r+c*(i-o),f=a?u:this.eo-1-u;n.Go=f,u=r+c*(l-o),f=a?u:this.eo-1-u,n.Xo=f,u=r+c*(s-o),f=a?u:this.eo-1-u,n.Jo=f,u=r+c*(d-o),f=a?u:this.eo-1-u,n.Qo=f}}Ds(e,t){const n=this.To(e,t);return this.t_(n,t)}t_(e,t){let n=e;return this.He()?n=function(e,t){return t<0&&(e=-e),e/100*t+t}(n,t):this.Eo()&&(n=function(e,t){return e-=100,t<0&&(e=-e),e/100*t+t}(n,t)),n}Sl(){return this.po}Dt(){return this.mo||(this.mo=bh(this.po)),this.mo}i_(e){-1===this.po.indexOf(e)&&(this.po.push(e),this._l(),this.s_())}n_(e){const t=this.po.indexOf(e);if(-1===t)throw new Error("source is not attached to scale");this.po.splice(t,1),0===this.po.length&&(this.Do({ln:!0}),this.Lo(null)),this._l(),this.s_()}Lt(){let e=null;for(const t of this.po){const n=t.Lt();null!==n&&(null===e||n.Ea<e.Ea)&&(e=n)}return null===e?null:e.Wt}Ao(){return this.Ps.invertScale}Vl(){const e=null===this.Lt();if(null!==this.wo&&(e||this.wo.e_===e))return this.wo.Vl;this.Po.Ul();const t=this.Po.Vl();return this.wo={Vl:t,e_:e},this.do.p(),t}r_(){return this.do}h_(e){this.He()||this.Eo()||null===this.Mo&&null===this.ho&&(this.Gi()||(this.Mo=this.eo-e,this.ho=fd(this.er()).Ke()))}a_(e){if(this.He()||this.Eo())return;if(null===this.Mo)return;this.Do({ln:!1}),(e=this.eo-e)<0&&(e=0);let t=(this.Mo+.2*(this.eo-1))/(e+.2*(this.eo-1));const n=fd(this.ho).Ke();t=Math.max(t,.1),n.Je(t),this.Lo(n)}l_(){this.He()||this.Eo()||(this.Mo=null,this.ho=null)}o_(e){this.Vo()||null===this.bo&&null===this.ho&&(this.Gi()||(this.bo=e,this.ho=fd(this.er()).Ke()))}__(e){if(this.Vo())return;if(null===this.bo)return;const t=fd(this.er()).Xe()/(this.Fo()-1);let n=e-this.bo;this.Ao()&&(n*=-1);const r=n*t,i=fd(this.ho).Ke();i.Qe(r),this.Lo(i,!0),this.wo=null}u_(){this.Vo()||null!==this.bo&&(this.bo=null,this.ho=null)}Xa(){return this.Ja||this._l(),this.Ja}Ji(e,t){switch(this.Ps.mode){case 2:return this.c_(ch(e,t));case 3:return this.Xa().format(uh(e,t));default:return this.lr(e)}}Ql(e){switch(this.Ps.mode){case 2:return this.c_(e);case 3:return this.Xa().format(e);default:return this.lr(e)}}Xl(e){switch(this.Ps.mode){case 2:return this.d_(e);case 3:return this.Xa().formatTickmarks(e);default:return this.f_(e)}}Ma(e){return this.lr(e,fd(this.vo).Xa())}ba(e,t){return e=ch(e,t),this.c_(e,Sh)}p_(){return this.po}v_(e){this.ao={oo:e,lo:!1}}Ws(){this.po.forEach(e=>e.Ws())}jl(){return this.Ps.ensureEdgeTickMarksVisible&&this.Vo()}Kl(){return this.k()/2}_l(){this.wo=null;let e=1/0;this.vo=null;for(const n of this.po)n._s()<e&&(e=n._s(),this.vo=n);let t=100;null!==this.vo&&(t=Math.round(this.vo.qh())),this.Ja=jh,this.He()?(this.Ja=Sh,t=100):this.Eo()?(this.Ja=new ru(100,1),t=100):null!==this.vo&&(this.Ja=this.vo.Xa()),this.Po=new xh(this,t,this.To.bind(this),this.Ro.bind(this)),this.Po.Ul()}s_(){this.mo=null}m_(){return null===this.vo||this.He()||this.Eo()?1:1/this.vo.qh()}Xi(){return this.ko}qo(e){this._o=e}Wo(){return this.Ao()?this.Ps.scaleMargins.bottom*this.$t()+this.co:this.Ps.scaleMargins.top*this.$t()+this.uo}Ho(){return this.Ao()?this.Ps.scaleMargins.top*this.$t()+this.uo:this.Ps.scaleMargins.bottom*this.$t()+this.co}Uo(){this.ao.lo||(this.ao.lo=!0,this.w_())}Io(){this.ro=null}Ro(e,t){if(this.Uo(),this.Gi())return 0;e=this.io()&&e?ph(e,this.So):e;const n=fd(this.er()),r=this.Ho()+(this.Fo()-1)*(e-n.Ze())/n.Xe();return this.jo(r)}To(e,t){if(this.Uo(),this.Gi())return 0;const n=this.jo(e),r=fd(this.er()),i=r.Ze()+r.Xe()*((n-this.Ho())/(this.Fo()-1));return this.io()?fh(i,this.So):i}zo(){this.wo=null,this.Po.Ul()}w_(){if(this.Bo()&&!this.Vo())return;const e=this.ao.oo;if(null===e)return;let t=null;const n=this.p_();let r=0,i=0;for(const s of n){if(!s.It())continue;const n=s.Lt();if(null===n)continue;const o=s.ra(e.Aa(),e.bi());let l=o&&o.er();if(null!==l){switch(this.Ps.mode){case 1:l=gh(l,this.So);break;case 2:l=dh(l,n.Wt);break;case 3:l=hh(l,n.Wt)}if(t=null===t?l:t.Sn(fd(l)),null!==o){const e=o.rr();null!==e&&(r=Math.max(r,e.above),i=Math.max(i,e.below))}}}if(this.jl()&&(r=Math.max(r,this.Kl()),i=Math.max(i,this.Kl())),r===this.uo&&i===this.co||(this.uo=r,this.co=i,this.wo=null,this.Io()),null!==t){if(t.Ze()===t.Ge()){const e=5*this.m_();this.io()&&(t=mh(t,this.So)),t=new xu(t.Ze()-e,t.Ge()+e),this.io()&&(t=gh(t,this.So))}if(this.io()){const e=mh(t,this.So),n=yh(e);if(o=n,l=this.So,o.Bl!==l.Bl||o.El!==l.El){const r=null!==this.ho?mh(this.ho,this.So):null;this.So=n,t=gh(e,n),null!==r&&(this.ho=gh(r,n))}}this.Lo(t)}else null===this.sr&&(this.Lo(new xu(-.5,.5)),this.So=yh(null));var o,l}Ko(){return this.He()?ch:this.Eo()?uh:this.io()?e=>ph(e,this.So):null}g_(e,t,n){return void 0===t?(void 0===n&&(n=this.Xa()),n.format(e)):t(e)}M_(e,t,n){return void 0===t?(void 0===n&&(n=this.Xa()),n.formatTickmarks(e)):t(e)}lr(e,t){return this.g_(e,this.yo.priceFormatter,t)}f_(e,t){const n=this.yo.priceFormatter;return this.M_(e,this.yo.tickmarksPriceFormatter??(n?e=>e.map(n):void 0),t)}c_(e,t){return this.g_(e,this.yo.percentageFormatter,t)}d_(e,t){const n=this.yo.percentageFormatter;return this.M_(e,this.yo.tickmarksPercentageFormatter??(n?e=>e.map(n):void 0),t)}}function _h(e){return e instanceof Zu}class Eh{constructor(e,t){this.po=[],this.b_=new Map,this.eo=0,this.S_=0,this.x_=1,this.mo=null,this.C_=!1,this.y_=new md,this.ua=[],this.Jh=e,this.ns=t,this.k_=new sh(this);const n=t.N();this.P_=this.T_("left",n.leftPriceScale),this.R_=this.T_("right",n.rightPriceScale),this.P_.Oo().i(this.D_.bind(this,this.P_),this),this.R_.Oo().i(this.D_.bind(this,this.R_),this),this.I_(n)}I_(e){if(e.leftPriceScale&&this.P_.cr(e.leftPriceScale),e.rightPriceScale&&this.R_.cr(e.rightPriceScale),e.localization&&(this.P_._l(),this.R_._l()),e.overlayPriceScales){const t=Array.from(this.b_.values());for(const n of t){const t=fd(n[0].Ft());t.cr(e.overlayPriceScales),e.localization&&t._l()}}}V_(e){switch(e){case"left":return this.P_;case"right":return this.R_}return this.b_.has(e)?pd(this.b_.get(e))[0].Ft():null}m(){this.Qt().B_().u(this),this.P_.Oo().u(this),this.R_.Oo().u(this),this.po.forEach(e=>{e.m&&e.m()}),this.ua=this.ua.filter(e=>{const t=e.Gh();return t.detached&&t.detached(),!1}),this.y_.p()}E_(){return this.x_}A_(e){this.x_=e}Qt(){return this.ns}ss(){return this.S_}$t(){return this.eo}L_(e){this.S_=e,this.z_()}No(e){this.eo=e,this.P_.No(e),this.R_.No(e),this.po.forEach(t=>{if(this.Zn(t)){const n=t.Ft();null!==n&&n.No(e)}}),this.z_()}O_(e){this.C_=e}N_(){return this.C_}F_(){return this.po.filter(_h)}Sl(){return this.po}Zn(e){const t=e.Ft();return null===t||this.P_!==t&&this.R_!==t}i_(e,t,n){this.W_(e,t,n?e._s():this.po.length)}n_(e,t){const n=this.po.indexOf(e);hd(-1!==n,"removeDataSource: invalid data source"),this.po.splice(n,1),t||this.po.forEach((e,t)=>e.us(t));const r=fd(e.Ft()).ol();if(this.b_.has(r)){const t=pd(this.b_.get(r)),n=t.indexOf(e);-1!==n&&(t.splice(n,1),0===t.length&&this.b_.delete(r))}const i=e.Ft();i&&i.Sl().indexOf(e)>=0&&(i.n_(e),this.H_(i)),this.mo=null}Xn(e){return e===this.P_?"left":e===this.R_?"right":"overlay"}U_(){return this.P_}q_(){return this.R_}j_(e,t){e.h_(t)}Y_(e,t){e.a_(t),this.z_()}K_(e){e.l_()}Z_(e,t){e.o_(t)}G_(e,t){e.__(t),this.z_()}X_(e){e.u_()}z_(){this.po.forEach(e=>{e.Ws()})}Rs(){let e=null;return this.ns.N().rightPriceScale.visible&&0!==this.R_.Sl().length?e=this.R_:this.ns.N().leftPriceScale.visible&&0!==this.P_.Sl().length?e=this.P_:0!==this.po.length&&(e=this.po[0].Ft()),null===e&&(e=this.R_),e}Gn(){let e=null;return this.ns.N().rightPriceScale.visible?e=this.R_:this.ns.N().leftPriceScale.visible&&(e=this.P_),e}H_(e){null!==e&&e.Vo()&&this.J_(e)}Q_(e){const t=this.Jh.Ie();e.Do({ln:!0}),null!==t&&e.v_(t),this.z_()}tu(){this.J_(this.P_),this.J_(this.R_)}iu(){this.H_(this.P_),this.H_(this.R_),this.po.forEach(e=>{this.Zn(e)&&this.H_(e.Ft())}),this.z_(),this.ns.dr()}Dt(){return null===this.mo&&(this.mo=bh(this.po)),this.mo}su(e,t){t=rh(t,0,this.po.length-1);const n=this.po.indexOf(e);hd(-1!==n,"setSeriesOrder: invalid data source"),this.po.splice(n,1),this.po.splice(t,0,e),this.po.forEach((e,t)=>e.us(t)),this.mo=null;for(const r of[this.P_,this.R_])r.s_(),r._l();this.ns.dr()}Vt(){return this.Dt().filter(_h)}nu(){return this.y_}eu(){return this.k_}nl(e){this.ua.push(new Wu(e))}el(e){this.ua=this.ua.filter(t=>t.Gh()!==e),e.detached&&e.detached(),this.ns.dr()}ru(){return this.ua}Za(e,t){return this.ua.map(n=>n.Qn(e,t)).filter(e=>null!==e)}J_(e){const t=e.p_();if(t&&t.length>0&&!this.Jh.Gi()){const t=this.Jh.Ie();null!==t&&e.v_(t)}e.Ws()}W_(e,t,n){let r=this.V_(t);if(null===r&&(r=this.T_(t,this.ns.N().overlayPriceScales)),this.po.splice(n,0,e),!Zd(t)){const n=this.b_.get(t)||[];n.push(e),this.b_.set(t,n)}e.us(n),r.i_(e),e.cs(r),this.H_(r),this.mo=null}D_(e,t,n){t.ae!==n.ae&&this.J_(e)}T_(e,t){const n={visible:!0,autoScale:!0,...Sd(t)},r=new kh(e,n,this.ns.N().layout,this.ns.N().localization,this.ns.Xi());return r.No(this.$t()),r}}function Ch(e){return{hu:e.hu,au:{te:e.lu.externalId},ou:e.lu.cursorStyle}}function Th(e,t,n,r){for(const i of e){const e=i.Tt(r);if(null!==e&&e.Qn){const r=e.Qn(t,n);if(null!==r)return{_u:i,au:r}}}return null}function Mh(e){return void 0!==e.Ys}function Oh(e,t,n){const r=[e,...e.Dt()],i=function(e,t,n){let r,i;for(const s of e){const e=s.Za?.(t,n)??[];for(const t of e)o=t.zOrder,l=r?.zOrder,(!l||"top"===o&&"top"!==l||"normal"===o&&"bottom"===l)&&(r=t,i=s)}var o,l;return r&&i?{lu:r,hu:i}:null}(r,t,n);if("top"===i?.lu.zOrder)return Ch(i);for(const o of r){if(i&&i.hu===o&&"bottom"!==i.lu.zOrder&&!i.lu.isBackground)return Ch(i);if(Mh(o)){const r=Th(o.Ys(e),t,n,e);if(null!==r)return{hu:o,_u:r._u,au:r.au}}if(i&&i.hu===o&&"bottom"!==i.lu.zOrder&&i.lu.isBackground)return Ch(i)}return i?.lu?Ch(i):null}class Ah{constructor(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:50;this.Vn=0,this.Bn=1,this.En=1,this.Ln=new Map,this.An=new Map,this.uu=e,this.cu=t,this.zn=n}du(e){const t=e.time,n=this.cu.cacheKey(t),r=this.Ln.get(n);if(void 0!==r)return r.fu;if(this.Vn===this.zn){const e=this.An.get(this.En);this.An.delete(this.En),this.Ln.delete(pd(e)),this.En++,this.Vn--}const i=this.uu(e);return this.Ln.set(n,{fu:i,Wn:this.Bn}),this.An.set(this.Bn,n),this.Vn++,this.Bn++,i}}class Ph{constructor(e,t){hd(e<=t,"right should be >= left"),this.pu=e,this.vu=t}Aa(){return this.pu}bi(){return this.vu}mu(){return this.vu-this.pu+1}Ee(e){return this.pu<=e&&e<=this.vu}Ye(e){return this.pu===e.Aa()&&this.vu===e.bi()}}function Ih(e,t){return null===e||null===t?e===t:e.Ye(t)}class Dh{constructor(){this.wu=new Map,this.Ln=null,this.gu=!1}Mu(e){this.gu=e,this.Ln=null}bu(e,t){this.Su(t),this.Ln=null;for(let n=t;n<e.length;++n){const t=e[n];let r=this.wu.get(t.timeWeight);void 0===r&&(r=[],this.wu.set(t.timeWeight,r)),r.push({index:n,time:t.time,weight:t.timeWeight,originalTime:t.originalTime})}}xu(e,t,n,r,i){const o=Math.ceil(t/e);return null!==this.Ln&&this.Ln.Cu===o&&i===this.Ln.yu&&n===this.Ln.ku||(this.Ln={yu:i,ku:n,Vl:this.Pu(o,n,r),Cu:o}),this.Ln.Vl}Su(e){if(0===e)return void this.wu.clear();const t=[];this.wu.forEach((n,r)=>{e<=n[0].index?t.push(r):n.splice(Ou(n,e,t=>t.index<e),1/0)});for(const n of t)this.wu.delete(n)}Pu(e,t,n){let r=[];const i=e=>!t||n.has(e.index);for(const o of Array.from(this.wu.keys()).sort((e,t)=>t-e)){if(!this.wu.get(o))continue;const t=r;r=[];const n=t.length;let l=0;const s=pd(this.wu.get(o)),a=s.length;let c=1/0,d=-1/0;for(let o=0;o<a;o++){const a=s[o],u=a.index;for(;l<n;){const e=t[l],n=e.index;if(!(n<u&&i(e))){c=n;break}l++,r.push(e),d=n,c=1/0}if(c-u>=e&&u-d>=e&&i(a))r.push(a),d=u;else if(this.gu)return t}for(;l<n;l++)i(t[l])&&r.push(t[l])}return r}}class Lh{constructor(e){this.Tu=e}Ru(){return null===this.Tu?null:new Ph(Math.floor(this.Tu.Aa()),Math.ceil(this.Tu.bi()))}Du(){return this.Tu}static Iu(){return new Lh(null)}}function Rh(e,t){return e.weight>t.weight?e:t}class zh{constructor(e,t,n,r){this.S_=0,this.Vu=null,this.Bu=[],this.bo=null,this.Mo=null,this.Eu=new Dh,this.Au=new Map,this.Lu=Lh.Iu(),this.zu=!0,this.Ou=new md,this.Nu=new md,this.Fu=new md,this.Wu=null,this.Hu=null,this.Uu=new Map,this.$u=-1,this.qu=[],this.ju=1,this.Ps=t,this.yo=n,this.Yu=t.rightOffset,this.Ku=t.barSpacing,this.ns=e,this.Zu(t),this.cu=r,this.Gu(),this.Eu.Mu(t.uniformDistribution),this.Xu(),this.Ju()}N(){return this.Ps}Qu(e){yd(this.yo,e),this.tc(),this.Gu()}cr(e,t){yd(this.Ps,e),this.Ps.fixLeftEdge&&this.sc(),this.Ps.fixRightEdge&&this.nc(),void 0!==e.barSpacing&&this.ns.gn(e.barSpacing),void 0!==e.rightOffset&&this.ns.Mn(e.rightOffset),this.Zu(e),void 0===e.minBarSpacing&&void 0===e.maxBarSpacing||this.ns.gn(e.barSpacing??this.Ku),void 0!==e.ignoreWhitespaceIndices&&e.ignoreWhitespaceIndices!==this.Ps.ignoreWhitespaceIndices&&this.Ju(),this.tc(),this.Gu(),void 0===e.enableConflation&&void 0===e.conflationThresholdFactor||this.Xu(),this.Fu.p()}Is(e){return this.Bu[e]?.time??null}es(e){return this.Bu[e]??null}ec(e,t){if(this.Bu.length<1)return null;if(this.cu.key(e)>this.cu.key(this.Bu[this.Bu.length-1].time))return t?this.Bu.length-1:null;const n=Ou(this.Bu,this.cu.key(e),(e,t)=>this.cu.key(e.time)<t);return this.cu.key(e)<this.cu.key(this.Bu[n].time)?t?n:null:n}Gi(){return 0===this.S_||0===this.Bu.length||null===this.Vu}rc(){return this.Bu.length>0}Ie(){return this.hc(),this.Lu.Ru()}ac(){return this.hc(),this.Lu.Du()}lc(){const e=this.Ie();if(null===e)return null;const t={from:e.Aa(),to:e.bi()};return this.oc(t)}oc(e){const t=Math.round(e.from),n=Math.round(e.to),r=fd(this._c()),i=fd(this.uc());return{from:fd(this.es(Math.max(r,t))),to:fd(this.es(Math.min(i,n)))}}cc(e){return{from:fd(this.ec(e.from,!0)),to:fd(this.ec(e.to,!0))}}ss(){return this.S_}L_(e){if(!isFinite(e)||e<=0)return;if(this.S_===e)return;const t=this.ac(),n=this.S_;if(this.S_=e,this.zu=!0,this.Ps.lockVisibleTimeRangeOnResize&&0!==n){const t=this.Ku*e/n;this.Ku=t}if(this.Ps.fixLeftEdge&&null!==t&&t.Aa()<=0){const t=n-e;this.Yu-=Math.round(t/this.Ku)+1,this.zu=!0}this.dc(),this.fc()}qt(e){if(this.Gi()||!xd(e))return 0;const t=this.vc()+this.Yu-e;return this.S_-(t+.5)*this.Ku-1}mc(e,t){const n=this.vc(),r=void 0===t?0:t.from,i=void 0===t?e.length:t.to;for(let o=r;o<i;o++){const t=e[o].wt,r=n+this.Yu-t,i=this.S_-(r+.5)*this.Ku-1;e[o]._t=i}}wc(e,t){const n=Math.ceil(this.gc(e));return t&&this.Ps.ignoreWhitespaceIndices&&!this.Mc(n)?this.bc(n):n}Mn(e){this.zu=!0,this.Yu=e,this.fc(),this.ns.Sc(),this.ns.dr()}ul(){return this.Ku}gn(e){const t=this.Ku;if(this.xc(e),void 0!==this.Ps.rightOffsetPixels&&0!==t){const e=this.Yu*t/this.Ku;this.Yu=e}this.fc(),this.ns.Sc(),this.ns.dr()}Cc(){return this.Yu}Vl(){if(this.Gi())return null;if(null!==this.Hu)return this.Hu;const e=this.Ku,t=5*(this.ns.N().layout.fontSize+4)/8*(this.Ps.tickMarkMaxCharacterLength||8),n=Math.round(t/e),r=fd(this.Ie()),i=Math.max(r.Aa(),r.Aa()-n),o=Math.max(r.bi(),r.bi()-n),l=this.Eu.xu(e,t,this.Ps.ignoreWhitespaceIndices,this.Uu,this.$u),s=this._c()+n,a=this.uc()-n,c=this.yc(),d=this.Ps.fixLeftEdge||c,u=this.Ps.fixRightEdge||c;let h=0;for(const p of l){if(!(i<=p.index&&p.index<=o))continue;let e;h<this.qu.length?(e=this.qu[h],e.coord=this.qt(p.index),e.label=this.kc(p),e.weight=p.weight):(e={needAlignCoordinate:!1,coord:this.qt(p.index),label:this.kc(p),weight:p.weight},this.qu.push(e)),this.Ku>t/2&&!c?e.needAlignCoordinate=!1:e.needAlignCoordinate=d&&p.index<=s||u&&p.index>=a,h++}return this.qu.length=h,this.Hu=this.qu,this.qu}Pc(){let e;this.zu=!0,this.gn(this.Ps.barSpacing),e=void 0!==this.Ps.rightOffsetPixels?this.Ps.rightOffsetPixels/this.ul():this.Ps.rightOffset,this.Mn(e)}Tc(e){this.zu=!0,this.Vu=e,this.fc(),this.sc()}Rc(e,t){const n=this.gc(e),r=this.ul(),i=r+t*(r/10);this.gn(i),this.Ps.rightBarStaysOnScroll||this.Mn(this.Cc()+(n-this.gc(e)))}h_(e){this.bo&&this.u_(),null===this.Mo&&null===this.Wu&&(this.Gi()||(this.Mo=e,this.Dc()))}a_(e){if(null===this.Wu)return;const t=rh(this.S_-e,0,this.S_),n=rh(this.S_-fd(this.Mo),0,this.S_);0!==t&&0!==n&&this.gn(this.Wu.ul*t/n)}l_(){null!==this.Mo&&(this.Mo=null,this.Ic())}o_(e){null===this.bo&&null===this.Wu&&(this.Gi()||(this.bo=e,this.Dc()))}__(e){if(null===this.bo)return;const t=(this.bo-e)/this.ul();this.Yu=fd(this.Wu).Cc+t,this.zu=!0,this.fc()}u_(){null!==this.bo&&(this.bo=null,this.Ic())}Vc(){this.Bc(this.Ps.rightOffset)}Bc(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:400;if(!isFinite(e))throw new RangeError("offset is required and must be finite number");if(!isFinite(t)||t<=0)throw new RangeError("animationDuration (optional) must be finite positive number");const n=this.Yu,r=performance.now();this.ns.vn({Ec:e=>(e-r)/t>=1,Ac:i=>{const o=(i-r)/t;return o>=1?e:n+(e-n)*o}})}kt(e,t){this.zu=!0,this.Bu=e,this.Eu.bu(e,t),this.fc()}Lc(){return this.Ou}zc(){return this.Nu}Oc(){return this.Fu}vc(){return this.Vu||0}Nc(e,t){const n=e.mu(),r=t&&this.Ps.rightOffsetPixels||0;this.xc((this.S_-r)/n),this.Yu=e.bi()-this.vc(),t&&(this.Yu=r?r/this.ul():this.Ps.rightOffset),this.fc(),this.zu=!0,this.ns.Sc(),this.ns.dr()}Fc(){const e=this._c(),t=this.uc();if(null===e||null===t)return;const n=!this.Ps.rightOffsetPixels&&this.Ps.rightOffset||0;this.Nc(new Ph(e,t+n),!0)}Wc(e){const t=new Ph(e.from,e.to);this.Nc(t)}rs(e){return void 0!==this.yo.timeFormatter?this.yo.timeFormatter(e.originalTime):this.cu.formatHorzItem(e.time)}Ju(){if(!this.Ps.ignoreWhitespaceIndices)return;this.Uu.clear();const e=this.ns.tn();for(const t of e)for(const e of t.ll())this.Uu.set(e,!0);this.$u++}Hc(){return this.ju}vl(){const e=1/(window.devicePixelRatio||1),t=this.Ps.minBarSpacing;if(t>=e)return[1];const n=[1];let r=2;for(;r<=512;)t<e/r&&n.push(r),r*=2;return n}yc(){const e=this.ns.N().handleScroll,t=this.ns.N().handleScale;return!(e.horzTouchDrag||e.mouseWheel||e.pressedMouseMove||e.vertTouchDrag||t.axisDoubleClickReset.time||t.axisPressedMouseMove.time||t.mouseWheel||t.pinch)}_c(){return 0===this.Bu.length?null:0}uc(){return 0===this.Bu.length?null:this.Bu.length-1}Uc(e){return(this.S_-1-e)/this.Ku}gc(e){const t=this.Uc(e),n=this.vc()+this.Yu-t;return Math.round(1e6*n)/1e6}xc(e){const t=this.Ku;this.Ku=e,this.dc(),t!==this.Ku&&(this.zu=!0,this.$c(),this.Xu())}hc(){if(!this.zu)return;if(this.zu=!1,this.Gi())return void this.qc(Lh.Iu());const e=this.vc(),t=this.S_/this.Ku,n=this.Yu+e,r=new Ph(n-t+1,n);this.qc(new Lh(r))}dc(){const e=rh(this.Ku,this.jc(),this.Yc());this.Ku!==e&&(this.Ku=e,this.zu=!0)}Yc(){return this.Ps.maxBarSpacing>0?this.Ps.maxBarSpacing:.5*this.S_}jc(){return this.Ps.fixLeftEdge&&this.Ps.fixRightEdge&&0!==this.Bu.length?this.S_/this.Bu.length:this.Ps.minBarSpacing}Xu(){if(!this.Ps.enableConflation)return void(this.ju=1);const e=1/(window.devicePixelRatio||1)*(this.Ps.conflationThresholdFactor??1);if(this.Ku>=e)return void(this.ju=1);const t=e/this.Ku,n=Math.pow(2,Math.floor(Math.log2(t)));this.ju=Math.min(n,512)}fc(){const e=this.Kc();null!==e&&this.Yu<e&&(this.Yu=e,this.zu=!0);const t=this.Zc();this.Yu>t&&(this.Yu=t,this.zu=!0)}Kc(){const e=this._c(),t=this.Vu;return null===e||null===t?null:e-t-1+(this.Ps.fixLeftEdge?this.S_/this.Ku:Math.min(2,this.Bu.length))}Zc(){return this.Ps.fixRightEdge?0:this.S_/this.Ku-Math.min(2,this.Bu.length)}Dc(){this.Wu={ul:this.ul(),Cc:this.Cc()}}Ic(){this.Wu=null}kc(e){let t=this.Au.get(e.weight);return void 0===t&&(t=new Ah(e=>this.Gc(e),this.cu),this.Au.set(e.weight,t)),t.du(e)}Gc(e){return this.cu.formatTickmark(e,this.yo)}qc(e){const t=this.Lu;this.Lu=e,Ih(t.Ru(),this.Lu.Ru())||this.Ou.p(),Ih(t.Du(),this.Lu.Du())||this.Nu.p(),this.$c()}$c(){this.Hu=null}tc(){this.$c(),this.Au.clear()}Gu(){this.cu.updateFormatter(this.yo)}sc(){if(!this.Ps.fixLeftEdge)return;const e=this._c();if(null===e)return;const t=this.Ie();if(null===t)return;const n=t.Aa()-e;if(n<0){const e=this.Yu-n-1;this.Mn(e)}this.dc()}nc(){this.fc(),this.dc()}Mc(e){return!this.Ps.ignoreWhitespaceIndices||this.Uu.get(e)||!1}bc(e){const t=function*(e){const t=Math.round(e),n=t<e;let r=1;for(;;)n?(yield t+r,yield t-r):(yield t-r,yield t+r),r++}(e),n=this.uc();for(;n;){const e=t.next().value;if(this.Uu.get(e))return e;if(e<0||e>n)break}return e}Zu(e){if(void 0!==e.rightOffsetPixels){const t=e.rightOffsetPixels/(e.barSpacing||this.Ku);this.ns.Mn(t)}}}var Nh,Fh,$h,Wh,Bh;!function(e){e[e.OnTouchEnd=0]="OnTouchEnd",e[e.OnNextTap=1]="OnNextTap"}(Nh||(Nh={}));class Uh{constructor(e,t,n){this.Xc=[],this.Jc=[],this.Qc=null,this.S_=0,this.td=null,this.sd=new md,this.nd=new md,this.ed=null,this.rd=e,this.Ps=t,this.cu=n,this.ko=new Od(this.Ps.layout.colorParsers),this.hd=new Cd(this),this.Jh=new zh(this,t.timeScale,this.Ps.localization,n),this.Ct=new Qd(this,t.crosshair),this.ad=new nh(t.crosshair),t.addDefaultPane&&(this.ld(0),this.Xc[0].A_(2)),this.od=this._d(0),this.ud=this._d(1)}Ca(){this.dd(eu.yn())}dr(){this.dd(eu.Cn())}Ua(){this.dd(new eu(1))}ya(e){const t=this.fd(e);this.dd(t)}pd(){return this.td}vd(e){if(this.td?.hu===e?.hu&&this.td?.au?.te===e?.au?.te)return;const t=this.td;this.td=e,null!==t&&this.ya(t.hu),null!==e&&e.hu!==t?.hu&&this.ya(e.hu)}N(){return this.Ps}cr(e){yd(this.Ps,e),this.Xc.forEach(t=>t.I_(e)),void 0!==e.timeScale&&this.Jh.cr(e.timeScale),void 0!==e.localization&&this.Jh.Qu(e.localization),(e.leftPriceScale||e.rightPriceScale)&&this.sd.p(),this.od=this._d(0),this.ud=this._d(1),this.Ca()}md(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const r=this.Xc[n];if(void 0===r)return;if("left"===e)return yd(this.Ps,{leftPriceScale:t}),r.I_({leftPriceScale:t}),this.sd.p(),void this.Ca();if("right"===e)return yd(this.Ps,{rightPriceScale:t}),r.I_({rightPriceScale:t}),this.sd.p(),void this.Ca();const i=this.wd(e,n);null!==i&&(i.Ft.cr(t),this.sd.p())}wd(e,t){const n=this.Xc[t];if(void 0===n)return null;const r=n.V_(e);return null!==r?{Gs:n,Ft:r}:null}Et(){return this.Jh}Xs(){return this.Xc}gd(){return this.Ct}Md(){return this.nd}bd(e,t){e.No(t),this.Sc()}L_(e){this.S_=e,this.Jh.L_(this.S_),this.Xc.forEach(t=>t.L_(e)),this.Sc()}Sd(e){1!==this.Xc.length&&(hd(e>=0&&e<this.Xc.length,"Invalid pane index"),this.Xc.splice(e,1),this.Ca())}xd(e,t){if(this.Xc.length<2)return;hd(e>=0&&e<this.Xc.length,"Invalid pane index");const n=this.Xc[e],r=this.Xc.reduce((e,t)=>e+t.E_(),0),i=this.Xc.reduce((e,t)=>e+t.$t(),0),o=i-30*(this.Xc.length-1);t=Math.min(o,Math.max(30,t));const l=r/i,s=n.$t();n.A_(t*l);let a=t-s,c=this.Xc.length-1;for(const d of this.Xc)if(d!==n){const e=Math.min(o,Math.max(30,d.$t()-a/c));a-=d.$t()-e,c-=1;const t=e*l;d.A_(t)}this.Ca()}Cd(e,t){hd(e>=0&&e<this.Xc.length&&t>=0&&t<this.Xc.length,"Invalid pane index");const n=this.Xc[e],r=this.Xc[t];this.Xc[e]=r,this.Xc[t]=n,this.Ca()}yd(e,t){if(hd(e>=0&&e<this.Xc.length&&t>=0&&t<this.Xc.length,"Invalid pane index"),e===t)return;const[n]=this.Xc.splice(e,1);this.Xc.splice(t,0,n),this.Ca()}j_(e,t,n){e.j_(t,n)}Y_(e,t,n){e.Y_(t,n),this.ka(),this.dd(this.kd(e,2))}K_(e,t){e.K_(t),this.dd(this.kd(e,2))}Z_(e,t,n){t.Vo()||e.Z_(t,n)}G_(e,t,n){t.Vo()||(e.G_(t,n),this.ka(),this.dd(this.kd(e,2)))}X_(e,t){t.Vo()||(e.X_(t),this.dd(this.kd(e,2)))}Q_(e,t){e.Q_(t),this.dd(this.kd(e,2))}Pd(e){this.Jh.h_(e)}Td(e,t){const n=this.Et();if(n.Gi()||0===t)return;const r=n.ss();e=Math.max(1,Math.min(e,r)),n.Rc(e,t),this.Sc()}Rd(e){this.Dd(0),this.Id(e),this.Vd()}Bd(e){this.Jh.a_(e),this.Sc()}Ed(){this.Jh.l_(),this.dr()}Dd(e){this.Jh.o_(e)}Id(e){this.Jh.__(e),this.Sc()}Vd(){this.Jh.u_(),this.dr()}tn(){return this.Jc}Us(){return null===this.Qc&&(this.Qc=this.Jc.filter(e=>e.It())),this.Qc}xa(){this.Qc=null}Ad(e,t,n,r,i){this.Ct.Bs(e,t);let o=NaN,l=this.Jh.wc(e,!0);const s=this.Jh.Ie();null!==s&&(l=Math.min(Math.max(s.Aa(),l),s.bi())),l=this.Ct.Hs(l);const a=r.Rs(),c=a.Lt();if(null!==c&&(o=a.Ds(t,c)),o=this.ad.bl(o,l,r),this.Ct.zs(l,o,r),this.Ua(),!i){const i=Oh(r,e,t);this.vd(i&&{hu:i.hu,au:i.au,ou:i.ou||null}),this.nd.p(this.Ct.Bt(),{x:e,y:t},n)}}Ld(e,t,n){const r=n.Rs(),i=r.Lt(),o=r.Nt(e,fd(i)),l=this.Jh.ec(t,!0),s=this.Jh.qt(fd(l));this.Ad(s,o,null,n,!0)}zd(e){this.gd().Ns(),this.Ua(),e||this.nd.p(null,null,null)}ka(){const e=this.Ct.Gs();if(null!==e){const t=this.Ct.As(),n=this.Ct.Ls();this.Ad(t,n,null,e)}this.Ct.Ws()}Od(e,t,n){const r=this.Jh.Is(0);void 0!==t&&void 0!==n&&this.Jh.kt(t,n);const i=this.Jh.Is(0),o=this.Jh.vc(),l=this.Jh.Ie();if(null!==l&&null!==r&&null!==i){const t=l.Ee(o),s=this.cu.key(r)>this.cu.key(i),a=null!==e&&e>o&&!s,c=this.Jh.N().allowShiftVisibleRangeOnWhitespaceReplacement,d=t&&(!(void 0===n)||c)&&this.Jh.N().shiftVisibleRangeOnNewBar;if(a&&!d){const t=e-o;this.Jh.Mn(this.Jh.Cc()-t)}}this.Jh.Tc(e)}Ra(e){null!==e&&e.iu()}Kn(e){if(function(e){return e instanceof Eh}(e))return e;const t=this.Xc.find(t=>t.Dt().includes(e));return void 0===t?null:t}Sc(){this.Xc.forEach(e=>e.iu()),this.ka()}m(){this.Xc.forEach(e=>e.m()),this.Xc.length=0,this.Ps.localization.priceFormatter=void 0,this.Ps.localization.percentageFormatter=void 0,this.Ps.localization.timeFormatter=void 0}Nd(){return this.hd}Jn(){return this.hd.N()}B_(){return this.sd}Fd(e,t){const n=this.ld(t);this.Wd(e,n),this.Jc.push(e),this.xa(),1===this.Jc.length?this.Ca():this.dr()}Hd(e){const t=this.Kn(e),n=this.Jc.indexOf(e);hd(-1!==n,"Series not found");const r=fd(t);this.Jc.splice(n,1),r.n_(e),e.m&&e.m(),this.xa(),this.Jh.Ju(),this.Ud(r)}Sa(e,t){const n=fd(this.Kn(e));n.n_(e,!0),n.i_(e,t,!0)}Fc(){const e=eu.Cn();e.cn(),this.dd(e)}$d(e){const t=eu.Cn();t.pn(e),this.dd(t)}wn(){const e=eu.Cn();e.wn(),this.dd(e)}gn(e){const t=eu.Cn();t.gn(e),this.dd(t)}Mn(e){const t=eu.Cn();t.Mn(e),this.dd(t)}vn(e){const t=eu.Cn();t.vn(e),this.dd(t)}dn(){const e=eu.Cn();e.dn(),this.dd(e)}qd(){return this.Ps.rightPriceScale.visible?"right":"left"}jd(e,t){if(hd(t>=0,"Index should be greater or equal to 0"),t===this.Yd(e))return;const n=fd(this.Kn(e));n.n_(e);const r=this.ld(t);this.Wd(e,r),0===n.Sl().length&&this.Ud(n),this.Ca()}Kd(){return this.ud}$(){return this.od}Ut(e){const t=this.ud,n=this.od;if(t===n)return t;if(e=Math.max(0,Math.min(100,Math.round(100*e))),null===this.ed||this.ed.eh!==n||this.ed.rh!==t)this.ed={eh:n,rh:t,Zd:new Map};else{const t=this.ed.Zd.get(e);if(void 0!==t)return t}const r=this.ko.tt(n,t,e/100);return this.ed.Zd.set(e,r),r}Gd(e){return this.Xc.indexOf(e)}Xi(){return this.ko}Xd(){return this.Jd()}Jd(e){const t=new Eh(this.Jh,this);this.Xc.push(t);const n=e??this.Xc.length-1,r=eu.yn();return r.hn(n,{an:0,ln:!0}),this.dd(r),t}ld(e){return hd(e>=0,"Index should be greater or equal to 0"),(e=Math.min(this.Xc.length,e))<this.Xc.length?this.Xc[e]:this.Jd(e)}Yd(e){return this.Xc.findIndex(t=>t.F_().includes(e))}kd(e,t){const n=new eu(t);if(null!==e){const r=this.Xc.indexOf(e);n.hn(r,{an:t})}return n}fd(e,t){return void 0===t&&(t=2),this.kd(this.Kn(e),t)}dd(e){this.rd&&this.rd(e),this.Xc.forEach(e=>e.eu().pr().kt())}Wd(e,t){const n=e.N().priceScaleId,r=void 0!==n?n:this.qd();t.i_(e,r),Zd(r)||e.cr(e.N())}_d(e){const t=this.Ps.layout;return"gradient"===t.background.type?0===e?t.background.topColor:t.background.bottomColor:t.background.color}Ud(e){!e.N_()&&0===e.Sl().length&&this.Xc.length>1&&this.Xc.splice(this.Gd(e),1)}}function Hh(e){if(e>=1)return 0;let t=0;for(;t<8;t++){const n=Math.round(e);if(Math.abs(n-e)<1e-8)return t;e*=10}return t}function Vh(e){return!vd(e)&&!bd(e)}function Yh(e){return vd(e)}!function(e){e[e.Disabled=0]="Disabled",e[e.Continuous=1]="Continuous",e[e.OnDataUpdate=2]="OnDataUpdate"}(Fh||(Fh={})),function(e){e[e.LastBar=0]="LastBar",e[e.LastVisible=1]="LastVisible"}($h||($h={})),function(e){e.Solid="solid",e.VerticalGradient="gradient"}(Wh||(Wh={})),function(e){e[e.Year=0]="Year",e[e.Month=1]="Month",e[e.DayOfMonth=2]="DayOfMonth",e[e.Time=3]="Time",e[e.TimeWithSeconds=4]="TimeWithSeconds"}(Bh||(Bh={}));const Gh=e=>e.getUTCFullYear();class Kh{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"yyyy-MM-dd",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"default";this.Qd=e,this.tf=t}du(e){return function(e,t,n){return t.replace(/yyyy/g,(e=>nu(Gh(e),4))(e)).replace(/yy/g,(e=>nu(Gh(e)%100,2))(e)).replace(/MMMM/g,((e,t)=>new Date(e.getUTCFullYear(),e.getUTCMonth(),1).toLocaleString(t,{month:"long"}))(e,n)).replace(/MMM/g,((e,t)=>new Date(e.getUTCFullYear(),e.getUTCMonth(),1).toLocaleString(t,{month:"short"}))(e,n)).replace(/MM/g,(e=>nu((e=>e.getUTCMonth()+1)(e),2))(e)).replace(/dd/g,(e=>nu((e=>e.getUTCDate())(e),2))(e))}(e,this.Qd,this.tf)}}class qh{constructor(e){this.if=e||"%h:%m:%s"}du(e){return this.if.replace("%h",nu(e.getUTCHours(),2)).replace("%m",nu(e.getUTCMinutes(),2)).replace("%s",nu(e.getUTCSeconds(),2))}}const Xh={sf:"yyyy-MM-dd",nf:"%h:%m:%s",ef:" ",rf:"default"};class Jh{constructor(){const e={...Xh,...arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}};this.hf=new Kh(e.sf,e.rf),this.af=new qh(e.nf),this.lf=e.ef}du(e){return`${this.hf.du(e)}${this.lf}${this.af.du(e)}`}}function Qh(e){return 60*e*60*1e3}function Zh(e){return 60*e*1e3}const ep=[{_f:1e3,uf:10},{_f:Zh(1),uf:20},{_f:Zh(5),uf:21},{_f:Zh(30),uf:22},{_f:Qh(1),uf:30},{_f:Qh(3),uf:31},{_f:Qh(6),uf:32},{_f:Qh(12),uf:33}];function tp(e,t){if(e.getUTCFullYear()!==t.getUTCFullYear())return 70;if(e.getUTCMonth()!==t.getUTCMonth())return 60;if(e.getUTCDate()!==t.getUTCDate())return 50;for(let n=ep.length-1;n>=0;--n)if(Math.floor(t.getTime()/ep[n]._f)!==Math.floor(e.getTime()/ep[n]._f))return ep[n].uf;return 0}function np(e){let t=e;if(bd(e)&&(t=ip(e)),!Vh(t))throw new Error("time must be of type BusinessDay");const n=new Date(Date.UTC(t.year,t.month-1,t.day,0,0,0,0));return{cf:Math.round(n.getTime()/1e3),df:t}}function rp(e){if(!Yh(e))throw new Error("time must be of type isUTCTimestamp");return{cf:e}}function ip(e){const t=new Date(e);if(isNaN(t.getTime()))throw new Error(`Invalid date string=${e}, expected format=yyyy-mm-dd`);return{day:t.getUTCDate(),month:t.getUTCMonth()+1,year:t.getUTCFullYear()}}function op(e){bd(e.time)&&(e.time=ip(e.time))}class lp{options(){return this.Ps}setOptions(e){this.Ps=e,this.updateFormatter(e.localization)}preprocessData(e){Array.isArray(e)?function(e){e.forEach(op)}(e):op(e)}createConverterToInternalObj(e){return fd(function(e){return 0===e.length?null:Vh(e[0].time)||bd(e[0].time)?np:rp}(e))}key(e){return"object"==typeof e&&"cf"in e?e.cf:this.key(this.convertHorzItemToInternal(e))}cacheKey(e){const t=e;return void 0===t.df?new Date(1e3*t.cf).getTime():new Date(Date.UTC(t.df.year,t.df.month-1,t.df.day)).getTime()}convertHorzItemToInternal(e){return Yh(t=e)?rp(t):Vh(t)?np(t):np(ip(t));var t}updateFormatter(e){if(!this.Ps)return;const t=e.dateFormat;this.Ps.timeScale.timeVisible?this.ff=new Jh({sf:t,nf:this.Ps.timeScale.secondsVisible?"%h:%m:%s":"%h:%m",ef:" ",rf:e.locale}):this.ff=new Kh(t,e.locale)}formatHorzItem(e){const t=e;return this.ff.du(new Date(1e3*t.cf))}formatTickmark(e,t){const n=function(e,t,n){switch(e){case 0:case 10:return t?n?4:3:2;case 20:case 21:case 22:case 30:case 31:case 32:case 33:return t?3:2;case 50:return 2;case 60:return 1;case 70:return 0}}(e.weight,this.Ps.timeScale.timeVisible,this.Ps.timeScale.secondsVisible),r=this.Ps.timeScale;if(void 0!==r.tickMarkFormatter){const i=r.tickMarkFormatter(e.originalTime,n,t.locale);if(null!==i)return i}return function(e,t,n){const r={};switch(t){case 0:r.year="numeric";break;case 1:r.month="short";break;case 2:r.day="numeric";break;case 3:r.hour12=!1,r.hour="2-digit",r.minute="2-digit";break;case 4:r.hour12=!1,r.hour="2-digit",r.minute="2-digit",r.second="2-digit"}const i=void 0===e.df?new Date(1e3*e.cf):new Date(Date.UTC(e.df.year,e.df.month-1,e.df.day));return new Date(i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate(),i.getUTCHours(),i.getUTCMinutes(),i.getUTCSeconds(),i.getUTCMilliseconds()).toLocaleString(n,r)}(e.time,n,t.locale)}maxTickMarkWeight(e){let t=e.reduce(Rh,e[0]).weight;return t>30&&t<50&&(t=30),t}fillWeightsForPoints(e,t){!function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(0===e.length)return;let n=0===t?null:e[t-1].time.cf,r=null!==n?new Date(1e3*n):null,i=0;for(let o=t;o<e.length;++o){const t=e[o],l=new Date(1e3*t.time.cf);null!==r&&(t.timeWeight=tp(l,r)),i+=t.time.cf-(n||t.time.cf),n=t.time.cf,r=l}if(0===t&&e.length>1){const t=Math.ceil(i/(e.length-1)),n=new Date(1e3*(e[0].time.cf-t));e[0].timeWeight=tp(new Date(1e3*e[0].time.cf),n)}}(e,t)}static pf(e){return yd({localization:{dateFormat:"dd MMM 'yy"}},e??{})}}const sp="undefined"!=typeof window;function ap(){return!!sp&&window.navigator.userAgent.toLowerCase().indexOf("firefox")>-1}function cp(){return!!sp&&/iPhone|iPad|iPod/.test(window.navigator.platform)}function dp(e){return e+e%2}class up{constructor(e,t,n){this.vf=0,this.mf=null,this.wf={_t:Number.NEGATIVE_INFINITY,ut:Number.POSITIVE_INFINITY},this.gf=0,this.Mf=null,this.bf={_t:Number.NEGATIVE_INFINITY,ut:Number.POSITIVE_INFINITY},this.Sf=null,this.xf=!1,this.Cf=null,this.yf=null,this.kf=!1,this.Pf=!1,this.Tf=!1,this.Rf=null,this.Df=null,this.If=null,this.Vf=null,this.Bf=null,this.Ef=null,this.Af=null,this.Lf=0,this.zf=!1,this.Of=!1,this.Nf=!1,this.Ff=0,this.Wf=null,this.Hf=!cp(),this.Uf=e=>{this.$f(e)},this.qf=e=>{if(this.jf(e)){const t=this.Yf(e);if(++this.gf,this.Mf&&this.gf>1){const{Kf:n}=this.Zf(fp(e),this.bf);n<30&&!this.Tf&&this.Gf(t,this.Jf.Xf),this.Qf()}}else{const t=this.Yf(e);if(++this.vf,this.mf&&this.vf>1){const{Kf:n}=this.Zf(fp(e),this.wf);n<5&&!this.Pf&&this.tp(t,this.Jf.ip),this.sp()}}},this.np=e,this.Jf=t,this.Ps=n,this.ep()}m(){null!==this.Rf&&(this.Rf(),this.Rf=null),null!==this.Df&&(this.Df(),this.Df=null),null!==this.Vf&&(this.Vf(),this.Vf=null),null!==this.Bf&&(this.Bf(),this.Bf=null),null!==this.Ef&&(this.Ef(),this.Ef=null),null!==this.If&&(this.If(),this.If=null),this.rp(),this.sp()}hp(e){this.Vf&&this.Vf();const t=this.ap.bind(this);if(this.Vf=()=>{this.np.removeEventListener("mousemove",t)},this.np.addEventListener("mousemove",t),this.jf(e))return;const n=this.Yf(e);this.tp(n,this.Jf.lp),this.Hf=!0}sp(){null!==this.mf&&clearTimeout(this.mf),this.vf=0,this.mf=null,this.wf={_t:Number.NEGATIVE_INFINITY,ut:Number.POSITIVE_INFINITY}}Qf(){null!==this.Mf&&clearTimeout(this.Mf),this.gf=0,this.Mf=null,this.bf={_t:Number.NEGATIVE_INFINITY,ut:Number.POSITIVE_INFINITY}}ap(e){if(this.Nf||null!==this.yf)return;if(this.jf(e))return;const t=this.Yf(e);this.tp(t,this.Jf.op),this.Hf=!0}_p(e){const t=mp(e.changedTouches,fd(this.Wf));if(null===t)return;if(this.Ff=gp(e),null!==this.Af)return;if(this.Of)return;this.zf=!0;const n=this.Zf(fp(t),fd(this.yf)),{up:r,cp:i,Kf:o}=n;if(this.kf||!(o<5)){if(!this.kf){const e=.5*r,t=i>=e&&!this.Ps.dp(),n=e>i&&!this.Ps.fp();t||n||(this.Of=!0),this.kf=!0,this.Tf=!0,this.rp(),this.Qf()}if(!this.Of){const n=this.Yf(e,t);this.Gf(n,this.Jf.pp),pp(e)}}}vp(e){if(0!==e.button)return;const t=this.Zf(fp(e),fd(this.Cf)),{Kf:n}=t;if(n>=5&&(this.Pf=!0,this.sp()),this.Pf){const t=this.Yf(e);this.tp(t,this.Jf.mp)}}Zf(e,t){const n=Math.abs(t._t-e._t),r=Math.abs(t.ut-e.ut);return{up:n,cp:r,Kf:n+r}}wp(e){let t=mp(e.changedTouches,fd(this.Wf));if(null===t&&0===e.touches.length&&(t=e.changedTouches[0]),null===t)return;this.Wf=null,this.Ff=gp(e),this.rp(),this.yf=null,this.Ef&&(this.Ef(),this.Ef=null);const n=this.Yf(e,t);if(this.Gf(n,this.Jf.gp),++this.gf,this.Mf&&this.gf>1){const{Kf:e}=this.Zf(fp(t),this.bf);e<30&&!this.Tf&&this.Gf(n,this.Jf.Xf),this.Qf()}else this.Tf||(this.Gf(n,this.Jf.Mp),this.Jf.Mp&&pp(e));0===this.gf&&pp(e),0===e.touches.length&&this.xf&&(this.xf=!1,pp(e))}$f(e){if(0!==e.button)return;const t=this.Yf(e);if(this.Cf=null,this.Nf=!1,this.Bf&&(this.Bf(),this.Bf=null),ap()&&this.np.ownerDocument.documentElement.removeEventListener("mouseleave",this.Uf),!this.jf(e))if(this.tp(t,this.Jf.bp),++this.vf,this.mf&&this.vf>1){const{Kf:n}=this.Zf(fp(e),this.wf);n<5&&!this.Pf&&this.tp(t,this.Jf.ip),this.sp()}else this.Pf||this.tp(t,this.Jf.Sp)}rp(){null!==this.Sf&&(clearTimeout(this.Sf),this.Sf=null)}xp(e){if(null!==this.Wf)return;const t=e.changedTouches[0];this.Wf=t.identifier,this.Ff=gp(e);const n=this.np.ownerDocument.documentElement;this.Tf=!1,this.kf=!1,this.Of=!1,this.yf=fp(t),this.Ef&&(this.Ef(),this.Ef=null);{const t=this._p.bind(this),r=this.wp.bind(this);this.Ef=()=>{n.removeEventListener("touchmove",t),n.removeEventListener("touchend",r)},n.addEventListener("touchmove",t,{passive:!1}),n.addEventListener("touchend",r,{passive:!1}),this.rp(),this.Sf=setTimeout(this.Cp.bind(this,e),240)}const r=this.Yf(e,t);this.Gf(r,this.Jf.yp),this.Mf||(this.gf=0,this.Mf=setTimeout(this.Qf.bind(this),500),this.bf=fp(t))}kp(e){if(0!==e.button)return;const t=this.np.ownerDocument.documentElement;ap()&&t.addEventListener("mouseleave",this.Uf),this.Pf=!1,this.Cf=fp(e),this.Bf&&(this.Bf(),this.Bf=null);{const e=this.vp.bind(this),n=this.$f.bind(this);this.Bf=()=>{t.removeEventListener("mousemove",e),t.removeEventListener("mouseup",n)},t.addEventListener("mousemove",e),t.addEventListener("mouseup",n)}if(this.Nf=!0,this.jf(e))return;const n=this.Yf(e);this.tp(n,this.Jf.Pp),this.mf||(this.vf=0,this.mf=setTimeout(this.sp.bind(this),500),this.wf=fp(e))}ep(){this.np.addEventListener("mouseenter",this.hp.bind(this)),this.np.addEventListener("touchcancel",this.rp.bind(this));{const e=this.np.ownerDocument,t=e=>{this.Jf.Tp&&(e.composed&&this.np.contains(e.composedPath()[0])||e.target&&this.np.contains(e.target)||this.Jf.Tp())};this.Df=()=>{e.removeEventListener("touchstart",t)},this.Rf=()=>{e.removeEventListener("mousedown",t)},e.addEventListener("mousedown",t),e.addEventListener("touchstart",t,{passive:!0})}cp()&&(this.If=()=>{this.np.removeEventListener("dblclick",this.qf)},this.np.addEventListener("dblclick",this.qf)),this.np.addEventListener("mouseleave",this.Rp.bind(this)),this.np.addEventListener("touchstart",this.xp.bind(this),{passive:!0}),function(e){sp&&void 0!==window.chrome&&e.addEventListener("mousedown",e=>{if(1===e.button)return e.preventDefault(),!1})}(this.np),this.np.addEventListener("mousedown",this.kp.bind(this)),this.Dp(),this.np.addEventListener("touchmove",()=>{},{passive:!1})}Dp(){void 0===this.Jf.Ip&&void 0===this.Jf.Vp&&void 0===this.Jf.Bp||(this.np.addEventListener("touchstart",e=>this.Ep(e.touches),{passive:!0}),this.np.addEventListener("touchmove",e=>{if(2===e.touches.length&&null!==this.Af&&void 0!==this.Jf.Vp){const t=hp(e.touches[0],e.touches[1])/this.Lf;this.Jf.Vp(this.Af,t),pp(e)}},{passive:!1}),this.np.addEventListener("touchend",e=>{this.Ep(e.touches)}))}Ep(e){1===e.length&&(this.zf=!1),2!==e.length||this.zf||this.xf?this.Ap():this.Lp(e)}Lp(e){const t=this.np.getBoundingClientRect()||{left:0,top:0};this.Af={_t:(e[0].clientX-t.left+(e[1].clientX-t.left))/2,ut:(e[0].clientY-t.top+(e[1].clientY-t.top))/2},this.Lf=hp(e[0],e[1]),void 0!==this.Jf.Ip&&this.Jf.Ip(),this.rp()}Ap(){null!==this.Af&&(this.Af=null,void 0!==this.Jf.Bp&&this.Jf.Bp())}Rp(e){if(this.Vf&&this.Vf(),this.jf(e))return;if(!this.Hf)return;const t=this.Yf(e);this.tp(t,this.Jf.zp),this.Hf=!cp()}Cp(e){const t=mp(e.touches,fd(this.Wf));if(null===t)return;const n=this.Yf(e,t);this.Gf(n,this.Jf.Op),this.Tf=!0,this.xf=!0}jf(e){return e.sourceCapabilities&&void 0!==e.sourceCapabilities.firesTouchEvents?e.sourceCapabilities.firesTouchEvents:gp(e)<this.Ff+500}Gf(e,t){t&&t.call(this.Jf,e)}tp(e,t){t&&t.call(this.Jf,e)}Yf(e,t){const n=t||e,r=this.np.getBoundingClientRect()||{left:0,top:0};return{clientX:n.clientX,clientY:n.clientY,pageX:n.pageX,pageY:n.pageY,screenX:n.screenX,screenY:n.screenY,localX:n.clientX-r.left,localY:n.clientY-r.top,ctrlKey:e.ctrlKey,altKey:e.altKey,shiftKey:e.shiftKey,metaKey:e.metaKey,Np:!e.type.startsWith("mouse")&&"contextmenu"!==e.type&&"click"!==e.type,Fp:e.type,Wp:n.target,_u:e.view,Hp:()=>{"touchstart"!==e.type&&pp(e)}}}}function hp(e,t){const n=e.clientX-t.clientX,r=e.clientY-t.clientY;return Math.sqrt(n*n+r*r)}function pp(e){e.cancelable&&e.preventDefault()}function fp(e){return{_t:e.pageX,ut:e.pageY}}function gp(e){return e.timeStamp||performance.now()}function mp(e,t){for(let n=0;n<e.length;++n)if(e[n].identifier===t)return e[n];return null}class yp{constructor(e,t,n){this.Up=null,this.$p=null,this.qp=!0,this.jp=null,this.Yp=e,this.Kp=e.Zp()[t],this.Gp=e.Zp()[n],this.Xp=document.createElement("tr"),this.Xp.style.height="1px",this.Jp=document.createElement("td"),this.Jp.style.position="relative",this.Jp.style.padding="0",this.Jp.style.margin="0",this.Jp.setAttribute("colspan","3"),this.Qp(),this.Xp.appendChild(this.Jp),this.qp=this.Yp.N().layout.panes.enableResize,this.qp?this.tv():(this.Up=null,this.$p=null)}m(){null!==this.$p&&this.$p.m()}iv(){return this.Xp}sv(){return ed({width:this.Kp.sv().width,height:1})}nv(){return ed({width:this.Kp.nv().width,height:1*window.devicePixelRatio})}ev(e,t,n){const r=this.nv();e.fillStyle=this.Yp.N().layout.panes.separatorColor,e.fillRect(t,n,r.width,r.height)}kt(){this.Qp(),this.Yp.N().layout.panes.enableResize!==this.qp&&(this.qp=this.Yp.N().layout.panes.enableResize,this.qp?this.tv():(null!==this.Up&&(this.Jp.removeChild(this.Up.rv),this.Jp.removeChild(this.Up.hv),this.Up=null),null!==this.$p&&(this.$p.m(),this.$p=null)))}tv(){const e=document.createElement("div"),t=e.style;t.position="fixed",t.display="none",t.zIndex="49",t.top="0",t.left="0",t.width="100%",t.height="100%",t.cursor="row-resize",this.Jp.appendChild(e);const n=document.createElement("div"),r=n.style;r.position="absolute",r.zIndex="50",r.top="-4px",r.height="9px",r.width="100%",r.backgroundColor="",r.cursor="row-resize",this.Jp.appendChild(n);const i={lp:this.av.bind(this),zp:this.lv.bind(this),Pp:this.ov.bind(this),yp:this.ov.bind(this),mp:this._v.bind(this),pp:this._v.bind(this),bp:this.uv.bind(this),gp:this.uv.bind(this)};this.$p=new up(n,i,{dp:()=>!1,fp:()=>!0}),this.Up={hv:n,rv:e}}Qp(){this.Jp.style.background=this.Yp.N().layout.panes.separatorColor}av(e){null!==this.Up&&(this.Up.hv.style.backgroundColor=this.Yp.N().layout.panes.separatorHoverColor)}lv(e){null!==this.Up&&null===this.jp&&(this.Up.hv.style.backgroundColor="")}ov(e){if(null===this.Up)return;const t=this.Kp.cv().E_()+this.Gp.cv().E_(),n=t/(this.Kp.sv().height+this.Gp.sv().height),r=30*n;t<=2*r||(this.jp={dv:e.pageY,fv:this.Kp.cv().E_(),pv:t-r,vv:t,mv:n,wv:r},this.Up.rv.style.display="block")}_v(e){const t=this.jp;if(null===t)return;const n=(e.pageY-t.dv)*t.mv,r=rh(t.fv+n,t.wv,t.pv);this.Kp.cv().A_(r),this.Gp.cv().A_(t.vv-r),this.Yp.Qt().Ca()}uv(e){null!==this.jp&&null!==this.Up&&(this.jp=null,this.Up.rv.style.display="none")}}function vp(e,t){return e.gv-t.gv}function xp(e,t,n){const r=(e.gv-t.gv)/(e.wt-t.wt);return Math.sign(r)*Math.min(Math.abs(r),n)}class bp{constructor(e,t,n,r){this.Mv=null,this.bv=null,this.Sv=null,this.xv=null,this.Cv=null,this.yv=0,this.kv=0,this.Pv=e,this.Tv=t,this.Rv=n,this.kn=r}Dv(e,t){if(null!==this.Mv){if(this.Mv.wt===t)return void(this.Mv.gv=e);if(Math.abs(this.Mv.gv-e)<this.kn)return}this.xv=this.Sv,this.Sv=this.bv,this.bv=this.Mv,this.Mv={wt:t,gv:e}}fe(e,t){if(null===this.Mv||null===this.bv)return;if(t-this.Mv.wt>50)return;let n=0;const r=xp(this.Mv,this.bv,this.Tv),i=vp(this.Mv,this.bv),o=[r],l=[i];if(n+=i,null!==this.Sv){const e=xp(this.bv,this.Sv,this.Tv);if(Math.sign(e)===Math.sign(r)){const t=vp(this.bv,this.Sv);if(o.push(e),l.push(t),n+=t,null!==this.xv){const e=xp(this.Sv,this.xv,this.Tv);if(Math.sign(e)===Math.sign(r)){const t=vp(this.Sv,this.xv);o.push(e),l.push(t),n+=t}}}}let s=0;for(let a=0;a<o.length;++a)s+=l[a]/n*o[a];Math.abs(s)<this.Pv||(this.Cv={gv:e,wt:t},this.kv=s,this.yv=function(e,t){const n=Math.log(t);return Math.log(1*n/-e)/n}(Math.abs(s),this.Rv))}Ac(e){const t=fd(this.Cv),n=e-t.wt;return t.gv+this.kv*(Math.pow(this.Rv,n)-1)/Math.log(this.Rv)}Ec(e){return null===this.Cv||this.Iv(e)===this.yv}Iv(e){const t=e-fd(this.Cv).wt;return Math.min(t,this.yv)}}class wp{constructor(e,t){this.Vv=void 0,this.Bv=void 0,this.Ev=void 0,this.ws=!1,this.Av=e,this.Lv=t,this.zv()}kt(){this.zv()}Ov(){this.Vv&&this.Av.removeChild(this.Vv),this.Bv&&this.Av.removeChild(this.Bv),this.Vv=void 0,this.Bv=void 0}Nv(){return this.ws!==this.Fv()||this.Ev!==this.Wv()}Wv(){return this.Lv.Qt().Xi().J(this.Lv.N().layout.textColor)>160?"dark":"light"}Fv(){return this.Lv.N().layout.attributionLogo}Hv(){const e=new URL(location.href);return e.hostname?"&utm_source="+e.hostname+e.pathname:""}zv(){this.Nv()&&(this.Ov(),this.ws=this.Fv(),this.ws&&(this.Ev=this.Wv(),this.Bv=document.createElement("style"),this.Bv.innerText="a#tv-attr-logo{--fill:#131722;--stroke:#fff;position:absolute;left:10px;bottom:10px;height:19px;width:35px;margin:0;padding:0;border:0;z-index:3;}a#tv-attr-logo[data-dark]{--fill:#D1D4DC;--stroke:#131722;}",this.Vv=document.createElement("a"),this.Vv.href=`https://www.tradingview.com/?utm_medium=lwc-link&utm_campaign=lwc-chart${this.Hv()}`,this.Vv.title="Charting by TradingView",this.Vv.id="tv-attr-logo",this.Vv.target="_blank",this.Vv.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" width="35" height="19" fill="none"><g fill-rule="evenodd" clip-path="url(#a)" clip-rule="evenodd"><path fill="var(--stroke)" d="M2 0H0v10h6v9h21.4l.5-1.3 6-15 1-2.7H23.7l-.5 1.3-.2.6a5 5 0 0 0-7-.9V0H2Zm20 17h4l5.2-13 .8-2h-7l-1 2.5-.2.5-1.5 3.8-.3.7V17Zm-.8-10a3 3 0 0 0 .7-2.7A3 3 0 1 0 16.8 7h4.4ZM14 7V2H2v6h6v9h4V7h2Z"/><path fill="var(--fill)" d="M14 2H2v6h6v9h6V2Zm12 15h-7l6-15h7l-6 15Zm-7-9a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z"/></g><defs><clipPath id="a"><path fill="var(--stroke)" d="M0 0h35v19H0z"/></clipPath></defs></svg>',this.Vv.toggleAttribute("data-dark","dark"===this.Ev),this.Av.appendChild(this.Bv),this.Av.appendChild(this.Vv)))}}function Sp(e,t){const n=fd(e.ownerDocument).createElement("canvas");e.appendChild(n);const r=function(e,t){if("device-pixel-content-box"===t.type)return new rd(e,t.transform,t.options);throw new Error("Unsupported binding target")}(n,{type:"device-pixel-content-box",options:{allowResizeObserver:!0},transform:(e,t)=>({width:Math.max(e.width,t.width),height:Math.max(e.height,t.height)})});return r.resizeCanvasElement(t),r}function jp(e){e.width=1,e.height=1,e.getContext("2d")?.clearRect(0,0,1,1)}function kp(e,t,n,r){e.Uh&&e.Uh(t,n,r)}function _p(e,t,n,r){e.nt(t,n,r)}function Ep(e,t,n,r){const i=e(n,r);for(const o of i){const e=o.Tt(r);null!==e&&t(e)}}function Cp(e,t){return n=>function(e){return void 0!==e.Ft}(n)?(n.Ft()?.ol()??"")!==t?[]:n.Ya?.(e)??[]:[]}function Tp(e,t,n,r){if(!e.length)return;let i=0;const o=e[0].$t(r,!0);let l=1===t?n/2-(e[0].Hi()-o/2):e[0].Hi()-o/2-n/2;l=Math.max(0,l);for(let s=1;s<e.length;s++){const o=e[s],a=e[s-1],c=a.$t(r,!1),d=o.Hi(),u=a.Hi();if(1===t?d>u-c:d<u+c){const r=u-c*t;o.Ui(r);const s=r-t*c/2;if((1===t?s<0:s>n)&&l>0){const r=1===t?-1-s:s-n,o=Math.min(r,l);for(let n=i;n<e.length;n++)e[n].Ui(e[n].Hi()+t*o);l-=o}}else i=s,l=1===t?u-c-d:d-(u+c)}}class Mp{constructor(e,t,n,r){this.Ki=null,this.Uv=null,this.$v=!1,this.qv=new su(200),this.jv=null,this.Yv=0,this.Kv=!1,this.Zv=()=>{this.Kv||this.yt.Gv().Qt().dr()},this.Xv=()=>{this.Kv||this.yt.Gv().Qt().dr()},this.yt=e,this.Ps=t,this.Co=t.layout,this.hd=n,this.Jv="left"===r,this.Qv=Cp("normal",r),this.tm=Cp("top",r),this.im=Cp("bottom",r),this.Jp=document.createElement("div"),this.Jp.style.height="100%",this.Jp.style.overflow="hidden",this.Jp.style.width="25px",this.Jp.style.left="0",this.Jp.style.position="relative",this.sm=Sp(this.Jp,ed({width:16,height:16})),this.sm.subscribeSuggestedBitmapSizeChanged(this.Zv);const i=this.sm.canvasElement;i.style.position="absolute",i.style.zIndex="1",i.style.left="0",i.style.top="0",this.nm=Sp(this.Jp,ed({width:16,height:16})),this.nm.subscribeSuggestedBitmapSizeChanged(this.Xv);const o=this.nm.canvasElement;o.style.position="absolute",o.style.zIndex="2",o.style.left="0",o.style.top="0";const l={Pp:this.ov.bind(this),yp:this.ov.bind(this),mp:this._v.bind(this),pp:this._v.bind(this),Tp:this.rm.bind(this),bp:this.uv.bind(this),gp:this.uv.bind(this),ip:this.hm.bind(this),Xf:this.hm.bind(this),lp:this.am.bind(this),zp:this.lv.bind(this)};this.$p=new up(this.nm.canvasElement,l,{dp:()=>!this.Ps.handleScroll.vertTouchDrag,fp:()=>!0})}m(){this.$p.m(),this.nm.unsubscribeSuggestedBitmapSizeChanged(this.Xv),jp(this.nm.canvasElement),this.nm.dispose(),this.sm.unsubscribeSuggestedBitmapSizeChanged(this.Zv),jp(this.sm.canvasElement),this.sm.dispose(),null!==this.Ki&&this.Ki.r_().u(this),this.Ki=null}iv(){return this.Jp}k(){return this.Co.fontSize}lm(){const e=this.hd.N();return this.jv!==e.P&&(this.qv.On(),this.jv=e.P),e}om(){if(null===this.Ki)return 0;let e=0;const t=this.lm(),n=fd(this.sm.canvasElement.getContext("2d",{colorSpace:this.yt.Gv().N().layout.colorSpace}));n.save();const r=this.Ki.Vl();n.font=this._m(),r.length>0&&(e=Math.max(this.qv.Ii(n,r[0].Jl),this.qv.Ii(n,r[r.length-1].Jl)));const i=this.um();for(let a=i.length;a--;){const t=this.qv.Ii(n,i[a].ri());t>e&&(e=t)}const o=this.Ki.Lt();if(null!==o&&null!==this.Uv&&2!==(l=this.Ps.crosshair).mode&&l.horzLine.visible&&l.horzLine.labelVisible){const t=this.Ki.Ds(1,o),r=this.Ki.Ds(this.Uv.height-2,o);e=Math.max(e,this.qv.Ii(n,this.Ki.Ji(Math.floor(Math.min(t,r))+.11111111111111,o)),this.qv.Ii(n,this.Ki.Ji(Math.ceil(Math.max(t,r))-.11111111111111,o)))}var l;n.restore();const s=e||34;return dp(Math.ceil(t.S+t.C+t.V+t.B+5+s))}dm(e){null!==this.Uv&&td(this.Uv,e)||(this.Uv=e,this.Kv=!0,this.sm.resizeCanvasElement(e),this.nm.resizeCanvasElement(e),this.Kv=!1,this.Jp.style.width=`${e.width}px`,this.Jp.style.height=`${e.height}px`)}fm(){return fd(this.Uv).width}cs(e){this.Ki!==e&&(null!==this.Ki&&this.Ki.r_().u(this),this.Ki=e,e.r_().i(this.do.bind(this),this))}Ft(){return this.Ki}On(){const e=this.yt.cv();this.yt.Gv().Qt().Q_(e,fd(this.Ft()))}pm(e){if(null===this.Uv)return;const t={colorSpace:this.yt.Gv().N().layout.colorSpace};if(1!==e){this.vm(),this.sm.applySuggestedBitmapSize();const e=ld(this.sm,t);null!==e&&(e.useBitmapCoordinateSpace(e=>{this.wm(e),this.gm(e)}),this.yt.Mm(e,this.im),this.bm(e),this.yt.Mm(e,this.Qv),this.Sm(e))}this.nm.applySuggestedBitmapSize();const n=ld(this.nm,t);null!==n&&(n.useBitmapCoordinateSpace(e=>{let{context:t,bitmapSize:n}=e;t.clearRect(0,0,n.width,n.height)}),this.xm(n),this.yt.Mm(n,this.tm))}nv(){return this.sm.bitmapSize}ev(e,t,n,r){const i=this.nv();if(i.width>0&&i.height>0&&(e.drawImage(this.sm.canvasElement,t,n),r)){const r=this.nm.canvasElement;e.drawImage(r,t,n)}}kt(){this.Ki?.Vl()}ov(e){if(null===this.Ki||this.Ki.Gi()||!this.Ps.handleScale.axisPressedMouseMove.price)return;const t=this.yt.Gv().Qt(),n=this.yt.cv();this.$v=!0,t.j_(n,this.Ki,e.localY)}_v(e){if(null===this.Ki||!this.Ps.handleScale.axisPressedMouseMove.price)return;const t=this.yt.Gv().Qt(),n=this.yt.cv(),r=this.Ki;t.Y_(n,r,e.localY)}rm(){if(null===this.Ki||!this.Ps.handleScale.axisPressedMouseMove.price)return;const e=this.yt.Gv().Qt(),t=this.yt.cv(),n=this.Ki;this.$v&&(this.$v=!1,e.K_(t,n))}uv(e){if(null===this.Ki||!this.Ps.handleScale.axisPressedMouseMove.price)return;const t=this.yt.Gv().Qt(),n=this.yt.cv();this.$v=!1,t.K_(n,this.Ki)}hm(e){this.Ps.handleScale.axisDoubleClickReset.price&&this.On()}am(e){null!==this.Ki&&(!this.yt.Gv().Qt().N().handleScale.axisPressedMouseMove.price||this.Ki.He()||this.Ki.Eo()||this.Cm(1))}lv(e){this.Cm(0)}um(){const e=[],t=null===this.Ki?void 0:this.Ki;return(n=>{for(let r=0;r<n.length;++r){const i=n[r].Ks(this.yt.cv(),t);for(let t=0;t<i.length;t++)e.push(i[t])}})(this.yt.cv().Dt()),e}wm(e){let{context:t,bitmapSize:n}=e;const{width:r,height:i}=n,o=this.yt.cv().Qt(),l=o.$(),s=o.Kd();l===s?$d(t,0,0,r,i,l):Ud(t,0,0,r,i,l,s)}gm(e){let{context:t,bitmapSize:n,horizontalPixelRatio:r}=e;if(null===this.Uv||null===this.Ki||!this.Ki.N().borderVisible)return;t.fillStyle=this.Ki.N().borderColor;const i=Math.max(1,Math.floor(this.lm().S*r));let o;o=this.Jv?n.width-i:0,t.fillRect(o,0,i,n.height)}bm(e){if(null===this.Uv||null===this.Ki)return;const t=this.Ki.Vl(),n=this.Ki.N(),r=this.lm(),i=this.Jv?this.Uv.width-r.C:0;n.borderVisible&&n.ticksVisible&&e.useBitmapCoordinateSpace(e=>{let{context:o,horizontalPixelRatio:l,verticalPixelRatio:s}=e;o.fillStyle=n.borderColor;const a=Math.max(1,Math.floor(s)),c=Math.floor(.5*s),d=Math.round(r.C*l);o.beginPath();for(const n of t)o.rect(Math.floor(i*l),Math.round(n.Pl*s)-c,d,a);o.fill()}),e.useMediaCoordinateSpace(e=>{let{context:o}=e;o.font=this._m(),o.fillStyle=n.textColor??this.Co.textColor,o.textAlign=this.Jv?"right":"left",o.textBaseline="middle";const l=this.Jv?Math.round(i-r.V):Math.round(i+r.C+r.V),s=t.map(e=>this.qv.Di(o,e.Jl));for(let n=t.length;n--;){const e=t[n];o.fillText(e.Jl,l,e.Pl+s[n])}})}vm(){if(null===this.Uv||null===this.Ki)return;let e=this.Uv.height/2;const t=[],n=this.Ki.Dt().slice(),r=this.yt.cv(),i=this.lm();this.Ki===r.Gn()&&this.yt.cv().Dt().forEach(e=>{r.Zn(e)&&n.push(e)});const o=this.Ki.Sl()[0],l=this.Ki;n.forEach(n=>{const i=n.Ks(r,l);i.forEach(e=>{e.$i()&&null===e.Wi()&&(e.Ui(null),t.push(e))}),o===n&&i.length>0&&(e=i[0].Ei())}),this.Ki.N().alignLabels&&this.ym(t,i,e)}ym(e,t,n){if(null===this.Uv)return;const r=e.filter(e=>e.Ei()<=n),i=e.filter(e=>e.Ei()>n);r.sort((e,t)=>t.Ei()-e.Ei()),r.length&&i.length&&i.push(r[0]),i.sort((e,t)=>e.Ei()-t.Ei());for(const o of e){const e=Math.floor(o.$t(t)/2),n=o.Ei();n>-e&&n<e&&o.Ui(e),n>this.Uv.height-e&&n<this.Uv.height+e&&o.Ui(this.Uv.height-e)}Tp(r,1,this.Uv.height,t),Tp(i,-1,this.Uv.height,t)}Sm(e){if(null===this.Uv)return;const t=this.um(),n=this.lm(),r=this.Jv?"right":"left";t.forEach(t=>{t.qi()&&t.Tt(fd(this.Ki)).nt(e,n,this.qv,r)})}xm(e){if(null===this.Uv||null===this.Ki)return;const t=this.yt.Gv().Qt(),n=[],r=this.yt.cv(),i=t.gd().Ks(r,this.Ki);i.length&&n.push(i);const o=this.lm(),l=this.Jv?"right":"left";n.forEach(t=>{t.forEach(t=>{t.Tt(fd(this.Ki)).nt(e,o,this.qv,l)})})}Cm(e){this.Jp.style.cursor=1===e?"ns-resize":"default"}do(){const e=this.om();this.Yv<e&&this.yt.Gv().Qt().Ca(),this.Yv=e}_m(){return Ed(this.Co.fontSize,this.Co.fontFamily)}}function Op(e,t){return e.qa?.(t)??[]}function Ap(e,t){return e.Ys?.(t)??[]}function Pp(e,t){return e.ds?.(t)??[]}function Ip(e,t){return e.Ha?.(t)??[]}class Dp{constructor(e,t){this.Uv=ed({width:0,height:0}),this.km=null,this.Pm=null,this.Tm=null,this.Rm=null,this.Dm=!1,this.Im=new md,this.Vm=new md,this.Bm=0,this.Em=!1,this.Am=null,this.Lm=!1,this.zm=null,this.Om=null,this.Kv=!1,this.Zv=()=>{this.Kv||null===this.Nm||this.ns().dr()},this.Xv=()=>{this.Kv||null===this.Nm||this.ns().dr()},this.Lv=e,this.Nm=t,this.Nm.nu().i(this.Fm.bind(this),this,!0),this.Wm=document.createElement("td"),this.Wm.style.padding="0",this.Wm.style.position="relative";const n=document.createElement("div");n.style.width="100%",n.style.height="100%",n.style.position="relative",n.style.overflow="hidden",this.Hm=document.createElement("td"),this.Hm.style.padding="0",this.Um=document.createElement("td"),this.Um.style.padding="0",this.Wm.appendChild(n),this.sm=Sp(n,ed({width:16,height:16})),this.sm.subscribeSuggestedBitmapSizeChanged(this.Zv);const r=this.sm.canvasElement;r.style.position="absolute",r.style.zIndex="1",r.style.left="0",r.style.top="0",this.nm=Sp(n,ed({width:16,height:16})),this.nm.subscribeSuggestedBitmapSizeChanged(this.Xv);const i=this.nm.canvasElement;i.style.position="absolute",i.style.zIndex="2",i.style.left="0",i.style.top="0",this.Xp=document.createElement("tr"),this.Xp.appendChild(this.Hm),this.Xp.appendChild(this.Wm),this.Xp.appendChild(this.Um),this.$m(),this.$p=new up(this.nm.canvasElement,this,{dp:()=>null===this.Am&&!this.Lv.N().handleScroll.vertTouchDrag,fp:()=>null===this.Am&&!this.Lv.N().handleScroll.horzTouchDrag})}m(){null!==this.km&&this.km.m(),null!==this.Pm&&this.Pm.m(),this.Tm=null,this.nm.unsubscribeSuggestedBitmapSizeChanged(this.Xv),jp(this.nm.canvasElement),this.nm.dispose(),this.sm.unsubscribeSuggestedBitmapSizeChanged(this.Zv),jp(this.sm.canvasElement),this.sm.dispose(),null!==this.Nm&&(this.Nm.nu().u(this),this.Nm.m()),this.$p.m()}cv(){return fd(this.Nm)}qm(e){null!==this.Nm&&this.Nm.nu().u(this),this.Nm=e,null!==this.Nm&&this.Nm.nu().i(Dp.prototype.Fm.bind(this),this,!0),this.$m(),this.Lv.Zp().indexOf(this)===this.Lv.Zp().length-1?(this.Tm=this.Tm??new wp(this.Wm,this.Lv),this.Tm.kt()):(this.Tm?.Ov(),this.Tm=null)}Gv(){return this.Lv}iv(){return this.Xp}$m(){if(null!==this.Nm&&(this.jm(),0!==this.ns().tn().length)){if(null!==this.km){const e=this.Nm.U_();this.km.cs(fd(e))}if(null!==this.Pm){const e=this.Nm.q_();this.Pm.cs(fd(e))}}}Ym(){null!==this.km&&this.km.kt(),null!==this.Pm&&this.Pm.kt()}E_(){return null!==this.Nm?this.Nm.E_():0}A_(e){this.Nm&&this.Nm.A_(e)}lp(e){if(!this.Nm)return;this.Km();const t=e.localX,n=e.localY;this.Zm(t,n,e)}Pp(e){this.Km(),this.Gm(),this.Zm(e.localX,e.localY,e)}op(e){if(!this.Nm)return;this.Km();const t=e.localX,n=e.localY;this.Zm(t,n,e)}Sp(e){null!==this.Nm&&(this.Km(),this.Xm(e))}ip(e){null!==this.Nm&&this.Jm(this.Vm,e)}Xf(e){this.ip(e)}mp(e){this.Km(),this.Qm(e),this.Zm(e.localX,e.localY,e)}bp(e){null!==this.Nm&&(this.Km(),this.Em=!1,this.tw(e))}Mp(e){null!==this.Nm&&this.Xm(e)}Op(e){if(this.Em=!0,null===this.Am){const t={x:e.localX,y:e.localY};this.iw(t,t,e)}}zp(e){null!==this.Nm&&(this.Km(),this.Nm.Qt().vd(null),this.sw())}nw(){return this.Im}ew(){return this.Vm}Ip(){this.Bm=1,this.ns().dn()}Vp(e,t){if(!this.Lv.N().handleScale.pinch)return;const n=5*(t-this.Bm);this.Bm=t,this.ns().Td(e._t,n)}yp(e){this.Em=!1,this.Lm=null!==this.Am,this.Gm();const t=this.ns().gd();null!==this.Am&&t.It()&&(this.zm={x:t.si(),y:t.ni()},this.Am={x:e.localX,y:e.localY})}pp(e){if(null===this.Nm)return;const t=e.localX,n=e.localY;if(null===this.Am)this.Qm(e);else{this.Lm=!1;const r=fd(this.zm),i=r.x+(t-this.Am.x),o=r.y+(n-this.Am.y);this.Zm(i,o,e)}}gp(e){0===this.Gv().N().trackingMode.exitMode&&(this.Lm=!0),this.rw(),this.tw(e)}Qn(e,t){const n=this.Nm;return null===n?null:Oh(n,e,t)}hw(e,t){fd("left"===t?this.km:this.Pm).dm(ed({width:e,height:this.Uv.height}))}sv(){return this.Uv}dm(e){td(this.Uv,e)||(this.Uv=e,this.Kv=!0,this.sm.resizeCanvasElement(e),this.nm.resizeCanvasElement(e),this.Kv=!1,this.Wm.style.width=e.width+"px",this.Wm.style.height=e.height+"px")}aw(){const e=fd(this.Nm);e.H_(e.U_()),e.H_(e.q_());for(const t of e.Sl())if(e.Zn(t)){const n=t.Ft();null!==n&&e.H_(n),t.Ws()}for(const t of e.ru())t.Ws()}nv(){return this.sm.bitmapSize}ev(e,t,n,r){const i=this.nv();if(i.width>0&&i.height>0&&(e.drawImage(this.sm.canvasElement,t,n),r)){const r=this.nm.canvasElement;null!==e&&e.drawImage(r,t,n)}}pm(e){if(0===e)return;if(null===this.Nm)return;e>1&&this.aw(),null!==this.km&&this.km.pm(e),null!==this.Pm&&this.Pm.pm(e);const t={colorSpace:this.Lv.N().layout.colorSpace};if(1!==e){this.sm.applySuggestedBitmapSize();const e=ld(this.sm,t);null!==e&&(e.useBitmapCoordinateSpace(e=>{this.wm(e)}),this.Nm&&(this.lw(e,Op),this.ow(e),this.lw(e,Ap),this.lw(e,Pp)))}this.nm.applySuggestedBitmapSize();const n=ld(this.nm,t);null!==n&&(n.useBitmapCoordinateSpace(e=>{let{context:t,bitmapSize:n}=e;t.clearRect(0,0,n.width,n.height)}),this._w(n),this.lw(n,Ip),this.lw(n,Pp))}uw(){return this.km}cw(){return this.Pm}Mm(e,t){this.lw(e,t)}Fm(){null!==this.Nm&&this.Nm.nu().u(this),this.Nm=null}Xm(e){this.Jm(this.Im,e)}Jm(e,t){const n=t.localX,r=t.localY;e.v()&&e.p(this.ns().Et().wc(n),{x:n,y:r},t)}wm(e){let{context:t,bitmapSize:n}=e;const{width:r,height:i}=n,o=this.ns(),l=o.$(),s=o.Kd();l===s?$d(t,0,0,r,i,s):Ud(t,0,0,r,i,l,s)}ow(e){const t=fd(this.Nm),n=t.eu().pr().Tt(t);null!==n&&n.nt(e,!1)}_w(e){this.dw(e,Ap,_p,this.ns().gd())}lw(e,t){const n=fd(this.Nm),r=n.Dt(),i=n.ru();for(const o of i)this.dw(e,t,kp,o);for(const o of r)this.dw(e,t,kp,o);for(const o of i)this.dw(e,t,_p,o);for(const o of r)this.dw(e,t,_p,o)}dw(e,t,n,r){const i=fd(this.Nm),o=i.Qt().pd(),l=null!==o&&o.hu===r,s=null!==o&&l&&void 0!==o.au?o.au.ie:void 0;Ep(t,t=>n(t,e,l,s),r,i)}jm(){if(null===this.Nm)return;const e=this.Lv,t=this.Nm.U_().N().visible,n=this.Nm.q_().N().visible;t||null===this.km||(this.Hm.removeChild(this.km.iv()),this.km.m(),this.km=null),n||null===this.Pm||(this.Um.removeChild(this.Pm.iv()),this.Pm.m(),this.Pm=null);const r=e.Qt().Nd();t&&null===this.km&&(this.km=new Mp(this,e.N(),r,"left"),this.Hm.appendChild(this.km.iv())),n&&null===this.Pm&&(this.Pm=new Mp(this,e.N(),r,"right"),this.Um.appendChild(this.Pm.iv()))}fw(e){return e.Np&&this.Em||null!==this.Am}Zm(e,t,n){e=Math.max(0,Math.min(e,this.Uv.width-1)),t=Math.max(0,Math.min(t,this.Uv.height-1)),this.ns().Ad(e,t,n,fd(this.Nm))}sw(){this.ns().zd()}rw(){this.Lm&&(this.Am=null,this.sw())}iw(e,t,n){this.Am=e,this.Lm=!1,this.Zm(t.x,t.y,n);const r=this.ns().gd();this.zm={x:r.si(),y:r.ni()}}ns(){return this.Lv.Qt()}tw(e){if(!this.Dm)return;const t=this.ns(),n=this.cv();if(t.X_(n,n.Rs()),this.Rm=null,this.Dm=!1,t.Vd(),null!==this.Om){const e=performance.now(),n=t.Et();this.Om.fe(n.Cc(),e),this.Om.Ec(e)||t.vn(this.Om)}}Km(){this.Am=null}Gm(){if(this.Nm){if(this.ns().dn(),document.activeElement!==document.body&&document.activeElement!==document.documentElement)fd(document.activeElement).blur();else{const e=document.getSelection();null!==e&&e.removeAllRanges()}!this.Nm.Rs().Gi()&&this.ns().Et().Gi()}}Qm(e){if(null===this.Nm)return;const t=this.ns(),n=t.Et();if(n.Gi())return;const r=this.Lv.N(),i=r.handleScroll,o=r.kineticScroll;if((!i.pressedMouseMove||e.Np)&&(!i.horzTouchDrag&&!i.vertTouchDrag||!e.Np))return;const l=this.Nm.Rs(),s=performance.now();if(null!==this.Rm||this.fw(e)||(this.Rm={x:e.clientX,y:e.clientY,cf:s,pw:e.localX,mw:e.localY}),null!==this.Rm&&!this.Dm&&(this.Rm.x!==e.clientX||this.Rm.y!==e.clientY)){if(e.Np&&o.touch||!e.Np&&o.mouse){const e=n.ul();this.Om=new bp(.2/e,7/e,.997,15/e),this.Om.Dv(n.Cc(),this.Rm.cf)}else this.Om=null;l.Gi()||t.Z_(this.Nm,l,e.localY),t.Dd(e.localX),this.Dm=!0}this.Dm&&(l.Gi()||t.G_(this.Nm,l,e.localY),t.Id(e.localX),null!==this.Om&&this.Om.Dv(n.Cc(),s))}}class Lp{constructor(e,t,n,r,i){this.xt=!0,this.Uv=ed({width:0,height:0}),this.Zv=()=>this.pm(3),this.Jv="left"===e,this.hd=n.Nd,this.Ps=t,this.ww=r,this.gw=i,this.Jp=document.createElement("div"),this.Jp.style.width="25px",this.Jp.style.height="100%",this.Jp.style.overflow="hidden",this.sm=Sp(this.Jp,ed({width:16,height:16})),this.sm.subscribeSuggestedBitmapSizeChanged(this.Zv)}m(){this.sm.unsubscribeSuggestedBitmapSizeChanged(this.Zv),jp(this.sm.canvasElement),this.sm.dispose()}iv(){return this.Jp}sv(){return this.Uv}dm(e){td(this.Uv,e)||(this.Uv=e,this.sm.resizeCanvasElement(e),this.Jp.style.width=`${e.width}px`,this.Jp.style.height=`${e.height}px`,this.xt=!0)}pm(e){if(e<3&&!this.xt)return;if(0===this.Uv.width||0===this.Uv.height)return;this.xt=!1,this.sm.applySuggestedBitmapSize();const t=ld(this.sm,{colorSpace:this.Ps.layout.colorSpace});null!==t&&t.useBitmapCoordinateSpace(e=>{this.wm(e),this.gm(e)})}nv(){return this.sm.bitmapSize}ev(e,t,n){const r=this.nv();r.width>0&&r.height>0&&e.drawImage(this.sm.canvasElement,t,n)}gm(e){let{context:t,bitmapSize:n,horizontalPixelRatio:r,verticalPixelRatio:i}=e;if(!this.ww())return;t.fillStyle=this.Ps.timeScale.borderColor;const o=Math.floor(this.hd.N().S*r),l=Math.floor(this.hd.N().S*i),s=this.Jv?n.width-o:0;t.fillRect(s,0,o,l)}wm(e){let{context:t,bitmapSize:n}=e;$d(t,0,0,n.width,n.height,this.gw())}}function Rp(e){return t=>t.Ka?.(e)??[]}const zp=Rp("normal"),Np=Rp("top"),Fp=Rp("bottom");class $p{constructor(e,t){this.Mw=null,this.bw=null,this.M=null,this.Sw=!1,this.Uv=ed({width:0,height:0}),this.xw=new md,this.qv=new su(5),this.Kv=!1,this.Zv=()=>{this.Kv||this.Lv.Qt().dr()},this.Xv=()=>{this.Kv||this.Lv.Qt().dr()},this.Lv=e,this.cu=t,this.Ps=e.N().layout,this.Vv=document.createElement("tr"),this.Cw=document.createElement("td"),this.Cw.style.padding="0",this.yw=document.createElement("td"),this.yw.style.padding="0",this.Jp=document.createElement("td"),this.Jp.style.height="25px",this.Jp.style.padding="0",this.kw=document.createElement("div"),this.kw.style.width="100%",this.kw.style.height="100%",this.kw.style.position="relative",this.kw.style.overflow="hidden",this.Jp.appendChild(this.kw),this.sm=Sp(this.kw,ed({width:16,height:16})),this.sm.subscribeSuggestedBitmapSizeChanged(this.Zv);const n=this.sm.canvasElement;n.style.position="absolute",n.style.zIndex="1",n.style.left="0",n.style.top="0",this.nm=Sp(this.kw,ed({width:16,height:16})),this.nm.subscribeSuggestedBitmapSizeChanged(this.Xv);const r=this.nm.canvasElement;r.style.position="absolute",r.style.zIndex="2",r.style.left="0",r.style.top="0",this.Vv.appendChild(this.Cw),this.Vv.appendChild(this.Jp),this.Vv.appendChild(this.yw),this.Pw(),this.Lv.Qt().B_().i(this.Pw.bind(this),this),this.$p=new up(this.nm.canvasElement,this,{dp:()=>!0,fp:()=>!this.Lv.N().handleScroll.horzTouchDrag})}m(){this.$p.m(),null!==this.Mw&&this.Mw.m(),null!==this.bw&&this.bw.m(),this.nm.unsubscribeSuggestedBitmapSizeChanged(this.Xv),jp(this.nm.canvasElement),this.nm.dispose(),this.sm.unsubscribeSuggestedBitmapSizeChanged(this.Zv),jp(this.sm.canvasElement),this.sm.dispose()}iv(){return this.Vv}Tw(){return this.Mw}Rw(){return this.bw}Pp(e){if(this.Sw)return;this.Sw=!0;const t=this.Lv.Qt();!t.Et().Gi()&&this.Lv.N().handleScale.axisPressedMouseMove.time&&t.Pd(e.localX)}yp(e){this.Pp(e)}Tp(){const e=this.Lv.Qt();!e.Et().Gi()&&this.Sw&&(this.Sw=!1,this.Lv.N().handleScale.axisPressedMouseMove.time&&e.Ed())}mp(e){const t=this.Lv.Qt();!t.Et().Gi()&&this.Lv.N().handleScale.axisPressedMouseMove.time&&t.Bd(e.localX)}pp(e){this.mp(e)}bp(){this.Sw=!1;const e=this.Lv.Qt();e.Et().Gi()&&!this.Lv.N().handleScale.axisPressedMouseMove.time||e.Ed()}gp(){this.bp()}ip(){this.Lv.N().handleScale.axisDoubleClickReset.time&&this.Lv.Qt().wn()}Xf(){this.ip()}lp(){this.Lv.Qt().N().handleScale.axisPressedMouseMove.time&&this.Cm(1)}zp(){this.Cm(0)}sv(){return this.Uv}Dw(){return this.xw}Iw(e,t,n){td(this.Uv,e)||(this.Uv=e,this.Kv=!0,this.sm.resizeCanvasElement(e),this.nm.resizeCanvasElement(e),this.Kv=!1,this.Jp.style.width=`${e.width}px`,this.Jp.style.height=`${e.height}px`,this.xw.p(e)),null!==this.Mw&&this.Mw.dm(ed({width:t,height:e.height})),null!==this.bw&&this.bw.dm(ed({width:n,height:e.height}))}Vw(){const e=this.Bw();return Math.ceil(e.S+e.C+e.k+e.A+e.I+e.Ew)}kt(){this.Lv.Qt().Et().Vl()}nv(){return this.sm.bitmapSize}ev(e,t,n,r){const i=this.nv();if(i.width>0&&i.height>0&&(e.drawImage(this.sm.canvasElement,t,n),r)){const r=this.nm.canvasElement;e.drawImage(r,t,n)}}pm(e){if(0===e)return;const t={colorSpace:this.Ps.colorSpace};if(1!==e){this.sm.applySuggestedBitmapSize();const n=ld(this.sm,t);null!==n&&(n.useBitmapCoordinateSpace(e=>{this.wm(e),this.gm(e),this.Aw(n,Fp)}),this.bm(n),this.Aw(n,zp)),null!==this.Mw&&this.Mw.pm(e),null!==this.bw&&this.bw.pm(e)}this.nm.applySuggestedBitmapSize();const n=ld(this.nm,t);null!==n&&(n.useBitmapCoordinateSpace(e=>{let{context:t,bitmapSize:n}=e;t.clearRect(0,0,n.width,n.height)}),this.Lw([...this.Lv.Qt().tn(),this.Lv.Qt().gd()],n),this.Aw(n,Np))}Aw(e,t){const n=this.Lv.Qt().tn();for(const r of n)Ep(t,t=>kp(t,e,!1,void 0),r,void 0);for(const r of n)Ep(t,t=>_p(t,e,!1,void 0),r,void 0)}wm(e){let{context:t,bitmapSize:n}=e;$d(t,0,0,n.width,n.height,this.Lv.Qt().Kd())}gm(e){let{context:t,bitmapSize:n,verticalPixelRatio:r}=e;if(this.Lv.N().timeScale.borderVisible){t.fillStyle=this.zw();const e=Math.max(1,Math.floor(this.Bw().S*r));t.fillRect(0,0,n.width,e)}}bm(e){const t=this.Lv.Qt().Et(),n=t.Vl();if(!n||0===n.length)return;const r=this.cu.maxTickMarkWeight(n),i=this.Bw(),o=t.N();o.borderVisible&&o.ticksVisible&&e.useBitmapCoordinateSpace(e=>{let{context:t,horizontalPixelRatio:r,verticalPixelRatio:o}=e;t.strokeStyle=this.zw(),t.fillStyle=this.zw();const l=Math.max(1,Math.floor(r)),s=Math.floor(.5*r);t.beginPath();const a=Math.round(i.C*o);for(let i=n.length;i--;){const e=Math.round(n[i].coord*r);t.rect(e-s,0,l,a)}t.fill()}),e.useMediaCoordinateSpace(e=>{let{context:t}=e;const o=i.S+i.C+i.A+i.k/2;t.textAlign="center",t.textBaseline="middle",t.fillStyle=this.H(),t.font=this._m();for(const i of n)if(i.weight<r){const e=i.needAlignCoordinate?this.Ow(t,i.coord,i.label):i.coord;t.fillText(i.label,e,o)}this.Lv.N().timeScale.allowBoldLabels&&(t.font=this.Nw());for(const i of n)if(i.weight>=r){const e=i.needAlignCoordinate?this.Ow(t,i.coord,i.label):i.coord;t.fillText(i.label,e,o)}})}Ow(e,t,n){const r=this.qv.Ii(e,n),i=r/2,o=Math.floor(t-i)+.5;return o<0?t+=Math.abs(0-o):o+r>this.Uv.width&&(t-=Math.abs(this.Uv.width-(o+r))),t}Lw(e,t){const n=this.Bw();for(const r of e)for(const e of r.fs())e.Tt().nt(t,n)}zw(){return this.Lv.N().timeScale.borderColor}H(){return this.Ps.textColor}F(){return this.Ps.fontSize}_m(){return Ed(this.F(),this.Ps.fontFamily)}Nw(){return Ed(this.F(),this.Ps.fontFamily,"bold")}Bw(){null===this.M&&(this.M={S:1,L:NaN,A:NaN,I:NaN,ts:NaN,C:5,k:NaN,P:"",Qi:new su,Ew:0});const e=this.M,t=this._m();if(e.P!==t){const n=this.F();e.k=n,e.P=t,e.A=3*n/12,e.I=3*n/12,e.ts=9*n/12,e.L=0,e.Ew=4*n/12,e.Qi.On()}return this.M}Cm(e){this.Jp.style.cursor=1===e?"ew-resize":"default"}Pw(){const e=this.Lv.Qt(),t=e.N();t.leftPriceScale.visible||null===this.Mw||(this.Cw.removeChild(this.Mw.iv()),this.Mw.m(),this.Mw=null),t.rightPriceScale.visible||null===this.bw||(this.yw.removeChild(this.bw.iv()),this.bw.m(),this.bw=null);const n={Nd:this.Lv.Qt().Nd()},r=()=>t.leftPriceScale.borderVisible&&e.Et().N().borderVisible,i=()=>e.Kd();t.leftPriceScale.visible&&null===this.Mw&&(this.Mw=new Lp("left",t,n,r,i),this.Cw.appendChild(this.Mw.iv())),t.rightPriceScale.visible&&null===this.bw&&(this.bw=new Lp("right",t,n,r,i),this.yw.appendChild(this.bw.iv()))}}const Wp=!!sp&&!!navigator.userAgentData&&navigator.userAgentData.brands.some(e=>e.brand.includes("Chromium"))&&!!sp&&(navigator?.userAgentData?.platform?"Windows"===navigator.userAgentData.platform:navigator.userAgent.toLowerCase().indexOf("win")>=0);class Bp{constructor(e,t,n){var r;this.Fw=[],this.Ww=[],this.Hw=0,this.eo=0,this.S_=0,this.Uw=0,this.$w=0,this.qw=null,this.jw=!1,this.Im=new md,this.Vm=new md,this.nd=new md,this.Yw=null,this.Kw=null,this.Av=e,this.Ps=t,this.cu=n,this.Vv=document.createElement("div"),this.Vv.classList.add("tv-lightweight-charts"),this.Vv.style.overflow="hidden",this.Vv.style.direction="ltr",this.Vv.style.width="100%",this.Vv.style.height="100%",(r=this.Vv).style.userSelect="none",r.style.webkitUserSelect="none",r.style.msUserSelect="none",r.style.MozUserSelect="none",r.style.webkitTapHighlightColor="transparent",this.Zw=document.createElement("table"),this.Zw.setAttribute("cellspacing","0"),this.Vv.appendChild(this.Zw),this.Gw=this.Xw.bind(this),Up(this.Ps)&&this.Jw(!0),this.ns=new Uh(this.rd.bind(this),this.Ps,n),this.Qt().Md().i(this.Qw.bind(this),this),this.tg=new $p(this,this.cu),this.Zw.appendChild(this.tg.iv());const i=t.autoSize&&this.ig();let o=this.Ps.width,l=this.Ps.height;if(i||0===o||0===l){const t=e.getBoundingClientRect();o=o||t.width,l=l||t.height}this.sg(o,l),this.ng(),e.appendChild(this.Vv),this.eg(),this.ns.Et().Oc().i(this.ns.Ca.bind(this.ns),this),this.ns.B_().i(this.ns.Ca.bind(this.ns),this)}Qt(){return this.ns}N(){return this.Ps}Zp(){return this.Fw}rg(){return this.tg}m(){this.Jw(!1),0!==this.Hw&&window.cancelAnimationFrame(this.Hw),this.ns.Md().u(this),this.ns.Et().Oc().u(this),this.ns.B_().u(this),this.ns.m();for(const e of this.Fw)this.Zw.removeChild(e.iv()),e.nw().u(this),e.ew().u(this),e.m();this.Fw=[];for(const e of this.Ww)this.hg(e);this.Ww=[],fd(this.tg).m(),null!==this.Vv.parentElement&&this.Vv.parentElement.removeChild(this.Vv),this.nd.m(),this.Im.m(),this.Vm.m(),this.ag()}sg(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.eo===t&&this.S_===e)return;const r=function(e){const t=Math.floor(e.width),n=Math.floor(e.height);return ed({width:t-t%2,height:n-n%2})}(ed({width:e,height:t}));this.eo=r.height,this.S_=r.width;const i=this.eo+"px",o=this.S_+"px";fd(this.Vv).style.height=i,fd(this.Vv).style.width=o,this.Zw.style.height=i,this.Zw.style.width=o,n?this.lg(eu.yn(),performance.now()):this.ns.Ca()}pm(e){void 0===e&&(e=eu.yn());for(let t=0;t<this.Fw.length;t++)this.Fw[t].pm(e.un(t).an);this.Ps.timeScale.visible&&this.tg.pm(e._n())}cr(e){const t=Up(this.Ps);this.ns.cr(e);const n=Up(this.Ps);n!==t&&this.Jw(n),e.layout?.panes&&this.og(),this.eg(),this._g(e)}nw(){return this.Im}ew(){return this.Vm}Md(){return this.nd}ug(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];null!==this.qw&&(this.lg(this.qw,performance.now()),this.qw=null);const t=this.cg(null),n=document.createElement("canvas");n.width=t.width,n.height=t.height;const r=fd(n.getContext("2d"));return this.cg(r,e),n}dg(e){return("left"!==e||this.fg())&&("right"!==e||this.pg())?0===this.Fw.length?0:fd("left"===e?this.Fw[0].uw():this.Fw[0].cw()).fm():0}vg(){return this.Ps.autoSize&&null!==this.Yw}hv(){return this.Vv}mg(e){this.Kw=e,this.Kw?this.hv().style.setProperty("cursor",e):this.hv().style.removeProperty("cursor")}wg(){return this.Kw}gg(e){return pd(this.Fw[e]).sv()}og(){this.Ww.forEach(e=>{e.kt()})}_g(e){(void 0!==e.autoSize||!this.Yw||void 0===e.width&&void 0===e.height)&&(e.autoSize&&!this.Yw&&this.ig(),!1===e.autoSize&&null!==this.Yw&&this.ag(),e.autoSize||void 0===e.width&&void 0===e.height||this.sg(e.width||this.S_,e.height||this.eo))}cg(e,t){let n=0,r=0;const i=this.Fw[0],o=(n,r)=>{let i=0;for(let o=0;o<this.Fw.length;o++){const l=this.Fw[o],s=fd("left"===n?l.uw():l.cw()),a=s.nv();if(null!==e&&s.ev(e,r,i,t),i+=a.height,o<this.Fw.length-1){const t=this.Ww[o],n=t.nv();null!==e&&t.ev(e,r,i),i+=n.height}}};this.fg()&&(o("left",0),n+=fd(i.uw()).nv().width);for(let s=0;s<this.Fw.length;s++){const i=this.Fw[s],o=i.nv();if(null!==e&&i.ev(e,n,r,t),r+=o.height,s<this.Fw.length-1){const t=this.Ww[s],i=t.nv();null!==e&&t.ev(e,n,r),r+=i.height}}n+=i.nv().width,this.pg()&&(o("right",n),n+=fd(i.cw()).nv().width);const l=(t,n,r)=>{fd("left"===t?this.tg.Tw():this.tg.Rw()).ev(fd(e),n,r)};if(this.Ps.timeScale.visible){const n=this.tg.nv();if(null!==e){let o=0;this.fg()&&(l("left",o,r),o=fd(i.uw()).nv().width),this.tg.ev(e,o,r,t),o+=n.width,this.pg()&&l("right",o,r)}r+=n.height}return ed({width:n,height:r})}Mg(){let e=0,t=0,n=0;for(const g of this.Fw)this.fg()&&(t=Math.max(t,fd(g.uw()).om(),this.Ps.leftPriceScale.minimumWidth)),this.pg()&&(n=Math.max(n,fd(g.cw()).om(),this.Ps.rightPriceScale.minimumWidth)),e+=g.E_();t=dp(t),n=dp(n);const r=this.S_,i=this.eo,o=Math.max(r-t-n,0),l=1*this.Ww.length,s=this.Ps.timeScale.visible;let a=s?Math.max(this.tg.Vw(),this.Ps.timeScale.minimumHeight):0;var c;a=(c=a)+c%2;const d=l+a,u=i<d?0:i-d,h=u/e;let p=0;const f=window.devicePixelRatio||1;for(let g=0;g<this.Fw.length;++g){const e=this.Fw[g];e.qm(this.ns.Xs()[g]);let r=0,i=0;i=g===this.Fw.length-1?Math.ceil((u-p)*f)/f:Math.round(e.E_()*h*f)/f,r=Math.max(i,2),p+=r,e.dm(ed({width:o,height:r})),this.fg()&&e.hw(t,"left"),this.pg()&&e.hw(n,"right"),e.cv()&&this.ns.bd(e.cv(),r)}this.tg.Iw(ed({width:s?o:0,height:a}),s?t:0,s?n:0),this.ns.L_(o),this.Uw!==t&&(this.Uw=t),this.$w!==n&&(this.$w=n)}Jw(e){e?this.Vv.addEventListener("wheel",this.Gw,{passive:!1}):this.Vv.removeEventListener("wheel",this.Gw)}bg(e){switch(e.deltaMode){case e.DOM_DELTA_PAGE:return 120;case e.DOM_DELTA_LINE:return 32}return Wp?1/window.devicePixelRatio:1}Xw(e){if(!(0!==e.deltaX&&this.Ps.handleScroll.mouseWheel||0!==e.deltaY&&this.Ps.handleScale.mouseWheel))return;const t=this.bg(e),n=t*e.deltaX/100,r=-t*e.deltaY/100;if(e.cancelable&&e.preventDefault(),0!==r&&this.Ps.handleScale.mouseWheel){const t=Math.sign(r)*Math.min(1,Math.abs(r)),n=e.clientX-this.Vv.getBoundingClientRect().left;this.Qt().Td(n,t)}0!==n&&this.Ps.handleScroll.mouseWheel&&this.Qt().Rd(-80*n)}lg(e,t){const n=e._n();3===n&&this.Sg(),3!==n&&2!==n||(this.xg(e),this.Cg(e,t),this.tg.kt(),this.Fw.forEach(e=>{e.Ym()}),3===this.qw?._n()&&(this.qw.Sn(e),this.Sg(),this.xg(this.qw),this.Cg(this.qw,t),e=this.qw,this.qw=null)),this.pm(e)}Cg(e,t){for(const n of e.bn())this.xn(n,t)}xg(e){const t=this.ns.Xs();for(let n=0;n<t.length;n++)e.un(n).ln&&t[n].tu()}xn(e,t){const n=this.ns.Et();switch(e.fn){case 0:n.Fc();break;case 1:n.Wc(e.Wt);break;case 2:n.gn(e.Wt);break;case 3:n.Mn(e.Wt);break;case 4:n.Pc();break;case 5:e.Wt.Ec(t)||n.Mn(e.Wt.Ac(t))}}rd(e){null!==this.qw?this.qw.Sn(e):this.qw=e,this.jw||(this.jw=!0,this.Hw=window.requestAnimationFrame(e=>{if(this.jw=!1,this.Hw=0,null!==this.qw){const t=this.qw;this.qw=null,this.lg(t,e);for(const n of t.bn())if(5===n.fn&&!n.Wt.Ec(e)){this.Qt().vn(n.Wt);break}}}))}Sg(){this.ng()}hg(e){this.Zw.removeChild(e.iv()),e.m()}ng(){const e=this.ns.Xs(),t=e.length,n=this.Fw.length;for(let r=t;r<n;r++){const e=pd(this.Fw.pop());this.Zw.removeChild(e.iv()),e.nw().u(this),e.ew().u(this),e.m();const t=this.Ww.pop();void 0!==t&&this.hg(t)}for(let r=n;r<t;r++){const t=new Dp(this,e[r]);if(t.nw().i(this.yg.bind(this,t),this),t.ew().i(this.kg.bind(this,t),this),this.Fw.push(t),r>0){const e=new yp(this,r-1,r);this.Ww.push(e),this.Zw.insertBefore(e.iv(),this.tg.iv())}this.Zw.insertBefore(t.iv(),this.tg.iv())}for(let r=0;r<t;r++){const t=e[r],n=this.Fw[r];n.cv()!==t?n.qm(t):n.$m()}this.eg(),this.Mg()}Pg(e,t,n,r){const i=new Map;let o;if(null!==e&&this.ns.tn().forEach(t=>{const n=t.qs().$s(e);null!==n&&i.set(t,n)}),null!==e){const t=this.ns.Et().es(e)?.originalTime;void 0!==t&&(o=t)}const l=this.Qt().pd(),s=null!==l&&l.hu instanceof Zu?l.hu:void 0,a=null!==l&&void 0!==l.au?l.au.te:void 0,c=this.Tg(r);return{Gr:o,js:e??void 0,Rg:t??void 0,Dg:-1!==c?c:void 0,Ig:s,Vg:i,Bg:a,Eg:n??void 0}}Tg(e){let t=-1;if(e)t=this.Fw.indexOf(e);else{const e=this.Qt().gd().Gs();null!==e&&(t=this.Qt().Xs().indexOf(e))}return t}yg(e,t,n,r){this.Im.p(()=>this.Pg(t,n,r,e))}kg(e,t,n,r){this.Vm.p(()=>this.Pg(t,n,r,e))}Qw(e,t,n){this.mg(this.Qt().pd()?.ou??null),this.nd.p(()=>this.Pg(e,t,n))}eg(){const e=this.Ps.timeScale.visible?"":"none";this.tg.iv().style.display=e}fg(){return this.Fw[0].cv().U_().N().visible}pg(){return this.Fw[0].cv().q_().N().visible}ig(){return"ResizeObserver"in window&&(this.Yw=new ResizeObserver(e=>{const t=e[e.length-1];t&&this.sg(t.contentRect.width,t.contentRect.height)}),this.Yw.observe(this.Av,{box:"border-box"}),!0)}ag(){null!==this.Yw&&this.Yw.disconnect(),this.Yw=null}}function Up(e){return Boolean(e.handleScroll.mouseWheel||e.handleScale.mouseWheel)}function Hp(e){return void 0===e.open&&void 0===e.value}function Vp(e){return function(e){return void 0!==e.open}(e)||function(e){return void 0!==e.value}(e)}function Yp(e,t,n,r){const i=n.value,o={js:t,wt:e,Wt:[i,i,i,i],Gr:r};return void 0!==n.color&&(o.R=n.color),o}function Gp(e,t,n,r){const i=n.value,o={js:t,wt:e,Wt:[i,i,i,i],Gr:r};return void 0!==n.lineColor&&(o.vt=n.lineColor),void 0!==n.topColor&&(o.eh=n.topColor),void 0!==n.bottomColor&&(o.rh=n.bottomColor),o}function Kp(e,t,n,r){const i=n.value,o={js:t,wt:e,Wt:[i,i,i,i],Gr:r};return void 0!==n.topLineColor&&(o.hh=n.topLineColor),void 0!==n.bottomLineColor&&(o.ah=n.bottomLineColor),void 0!==n.topFillColor1&&(o.oh=n.topFillColor1),void 0!==n.topFillColor2&&(o._h=n.topFillColor2),void 0!==n.bottomFillColor1&&(o.uh=n.bottomFillColor1),void 0!==n.bottomFillColor2&&(o.dh=n.bottomFillColor2),o}function qp(e,t,n,r){const i={js:t,wt:e,Wt:[n.open,n.high,n.low,n.close],Gr:r};return void 0!==n.color&&(i.R=n.color),i}function Xp(e,t,n,r){const i={js:t,wt:e,Wt:[n.open,n.high,n.low,n.close],Gr:r};return void 0!==n.color&&(i.R=n.color),void 0!==n.borderColor&&(i.Ht=n.borderColor),void 0!==n.wickColor&&(i.nh=n.wickColor),i}function Jp(e,t,n,r,i){const o=pd(i)(n),l=Math.max(...o),s=Math.min(...o),a=o[o.length-1],c=[a,l,s,a],{time:d,color:u,...h}=n;return{js:t,wt:e,Wt:c,Gr:r,le:h,R:u}}function Qp(e){return void 0!==e.Wt}function Zp(e,t){return void 0!==t.customValues&&(e.Ag=t.customValues),e}function ef(e){return(t,n,r,i,o,l)=>function(e,t){return t?t(e):Hp(e)}(r,l)?Zp({wt:t,js:n,Gr:i},r):Zp(e(t,n,r,i,o),r)}function tf(e){return{Candlestick:ef(Xp),Bar:ef(qp),Area:ef(Gp),Baseline:ef(Kp),Histogram:ef(Yp),Line:ef(Yp),Custom:ef(Jp)}[e]}function nf(e){return{js:0,Lg:new Map,Ea:e}}function rf(e,t){if(void 0!==e&&0!==e.length)return{zg:t.key(e[0].wt),Og:t.key(e[e.length-1].wt)}}function of(e){let t;return e.forEach(e=>{void 0===t&&(t=e.Gr)}),pd(t)}class lf{constructor(e){this.Ng=new Map,this.Fg=new Map,this.Wg=new Map,this.Hg=[],this.cu=e}m(){this.Ng.clear(),this.Fg.clear(),this.Wg.clear(),this.Hg=[]}Ug(e,t){let n=0!==this.Ng.size,r=!1;const i=this.Fg.get(e);if(void 0!==i)if(1===this.Fg.size)n=!1,r=!0,this.Ng.clear();else for(const s of this.Hg)s.pointData.Lg.delete(e)&&(r=!0);let o=[];if(0!==t.length){const n=t.map(e=>e.time),i=this.cu.createConverterToInternalObj(t),l=tf(e.wh()),s=e.rl(),a=e.hl();o=t.map((t,o)=>{const c=i(t.time),d=this.cu.key(c);let u=this.Ng.get(d);void 0===u&&(u=nf(c),this.Ng.set(d,u),r=!0);const h=l(c,u.js,t,n[o],s,a);return u.Lg.set(e,h),h})}n&&this.$g(),this.qg(e,o);let l=-1;if(r){const e=[];this.Ng.forEach(t=>{e.push({timeWeight:0,time:t.Ea,pointData:t,originalTime:of(t.Lg)})}),e.sort((e,t)=>this.cu.key(e.time)-this.cu.key(t.time)),l=this.jg(e)}return this.Yg(e,l,function(e,t,n){const r=rf(e,n),i=rf(t,n);if(void 0!==r&&void 0!==i)return{Kg:!1,Ta:r.Og>=i.Og&&r.zg>=i.zg}}(this.Fg.get(e),i,this.cu))}Hd(e){return this.Ug(e,[])}Zg(e,t,n){if(n&&e.La())throw new Error("Historical updates are not supported when conflation is enabled. Conflation requires data to be processed in order.");const r=t;!function(e){void 0===e.Gr&&(e.Gr=e.time)}(r),this.cu.preprocessData(t);const i=this.cu.createConverterToInternalObj([t])(t.time),o=this.Wg.get(e);if(!n&&void 0!==o&&this.cu.key(i)<this.cu.key(o))throw new Error(`Cannot update oldest data, last time=${o}, new time=${i}`);let l=this.Ng.get(this.cu.key(i));if(n&&void 0===l)throw new Error("Cannot update non-existing data point when historicalUpdate is true");const s=void 0===l;void 0===l&&(l=nf(i),this.Ng.set(this.cu.key(i),l));const a=tf(e.wh()),c=e.rl(),d=e.hl(),u=a(i,l.js,t,r.Gr,c,d),h=!n&&!s&&void 0!==o&&this.cu.key(i)===this.cu.key(o);l.Lg.set(e,u),n?this.Gg(e,u,l.js):h&&e.La()&&Qp(u)?(e.kr(u),this.Xg(e,u)):this.Xg(e,u);const p={Ta:Qp(u),Kg:n};if(!s)return this.Yg(e,-1,p);const f={timeWeight:0,time:l.Ea,pointData:l,originalTime:of(l.Lg)},g=Ou(this.Hg,this.cu.key(f.time),(e,t)=>this.cu.key(e.time)<t);this.Hg.splice(g,0,f);for(let m=g;m<this.Hg.length;++m)sf(this.Hg[m].pointData,m);return this.cu.fillWeightsForPoints(this.Hg,g),this.Yg(e,g,p)}Jg(e,t){const n=this.Fg.get(e);if(void 0===n||t<=0)return[[],this.Qg()];t=Math.min(t,n.length);const r=n.splice(-t).reverse();0===n.length?this.Wg.delete(e):this.Wg.set(e,n[n.length-1].wt);for(const i of r){const t=this.Ng.get(this.cu.key(i.wt));if(t&&(t.Lg.delete(e),0===t.Lg.size)){this.Ng.delete(this.cu.key(t.Ea)),this.Hg.splice(t.js,1);for(let e=t.js;e<this.Hg.length;++e)sf(this.Hg[e].pointData,e)}}return[r,this.Yg(e,this.Hg.length-1,{Kg:!1,Ta:!1})]}Xg(e,t){let n=this.Fg.get(e);void 0===n&&(n=[],this.Fg.set(e,n));const r=0!==n.length?n[n.length-1]:null;null===r||this.cu.key(t.wt)>this.cu.key(r.wt)?Qp(t)&&n.push(t):Qp(t)?n[n.length-1]=t:n.splice(-1,1),this.Wg.set(e,t.wt)}Gg(e,t,n){const r=this.Fg.get(e);if(void 0===r)return;const i=Ou(r,n,(e,t)=>e.js<t);Qp(t)?r[i]=t:r.splice(i,1)}qg(e,t){0!==t.length?(this.Fg.set(e,t.filter(Qp)),this.Wg.set(e,t[t.length-1].wt)):(this.Fg.delete(e),this.Wg.delete(e))}$g(){for(const e of this.Hg)0===e.pointData.Lg.size&&this.Ng.delete(this.cu.key(e.time))}jg(e){let t=-1;for(let n=0;n<this.Hg.length&&n<e.length;++n){const r=this.Hg[n],i=e[n];if(this.cu.key(r.time)!==this.cu.key(i.time)){t=n;break}i.timeWeight=r.timeWeight,sf(i.pointData,n)}if(-1===t&&this.Hg.length!==e.length&&(t=Math.min(this.Hg.length,e.length)),-1===t)return-1;for(let n=t;n<e.length;++n)sf(e[n].pointData,n);return this.cu.fillWeightsForPoints(e,t),this.Hg=e,t}tM(){if(0===this.Fg.size)return null;let e=0;return this.Fg.forEach(t=>{0!==t.length&&(e=Math.max(e,t[t.length-1].js))}),e}Yg(e,t,n){const r=this.Qg();if(-1!==t)this.Fg.forEach((t,i)=>{r.F_.set(i,{le:t,iM:i===e?n:void 0})}),this.Fg.has(e)||r.F_.set(e,{le:[],iM:n}),r.Et.sM=this.Hg,r.Et.nM=t;else{const t=this.Fg.get(e);r.F_.set(e,{le:t||[],iM:n})}return r}Qg(){return{F_:new Map,Et:{vc:this.tM()}}}}function sf(e,t){e.js=t,e.Lg.forEach(e=>{e.js=t})}function af(e,t){return e.wt<t}function cf(e,t){return t<e.wt}function df(e,t,n){const r=t.Aa(),i=t.bi(),o=Ou(e,r,af),l=Au(e,i,cf);if(!n)return{from:o,to:l};let s=o,a=l;return o>0&&o<e.length&&e[o].wt>=r&&(s=o-1),l>0&&l<e.length&&e[l-1].wt<=i&&(a=l+1),{from:s,to:a}}class uf{constructor(e,t,n){this.eM=!0,this.rM=!0,this.hM=!0,this.aM=[],this.lM=null,this.oM=-1,this.ee=e,this.re=t,this._M=n}kt(e){this.eM=!0,"data"===e&&(this.rM=!0),"options"===e&&(this.hM=!0)}Tt(){return this.ee.It()?(this.uM(),null===this.lM?null:this.cM):null}dM(){this.aM=this.aM.map(e=>({...e,...this.ee.ga().gh(e.wt)}))}fM(){this.lM=null}uM(){const e=this.re.Et(),t=e.N().enableConflation?e.Hc():0;t!==this.oM&&(this.rM=!0,this.oM=t),this.rM&&(this.pM(),this.rM=!1),this.hM&&(this.dM(),this.hM=!1),this.eM&&(this.vM(),this.eM=!1)}vM(){const e=this.ee.Ft(),t=this.re.Et();if(this.fM(),t.Gi()||e.Gi())return;const n=t.Ie();if(null===n)return;if(0===this.ee.qs().yh())return;const r=this.ee.Lt();null!==r&&(this.lM=df(this.aM,n,this._M),this.mM(e,t,r.Wt),this.wM())}}class hf{constructor(e,t){this.gM=e,this.Ki=t}nt(e,t,n){this.gM.draw(e,this.Ki,t,n)}}class pf extends uf{constructor(e,t,n){super(e,t,!1),this.$h=n,this.cM=new hf(this.$h.renderer(),t=>{const n=e.Lt();return null===n?null:e.Ft().Nt(t,n.Wt)})}get ma(){return this.$h.conflationReducer}Oa(e){return this.$h.priceValueBuilder(e)}al(e){return this.$h.isWhitespace(e)}pM(){const e=this.ee.ga();this.aM=this.ee.Na().Dh().map(t=>({wt:t.js,_t:NaN,...e.gh(t.js),MM:t.le}))}mM(e,t){t.mc(this.aM,kd(this.lM))}wM(){this.$h.update({bars:this.aM.map(ff),barSpacing:this.re.Et().ul(),visibleRange:this.lM,conflationFactor:this.re.Et().Hc()},this.ee.N())}}function ff(e){return{x:e._t,time:e.wt,originalData:e.MM,barColor:e.th}}const gf={color:"#2196f3"},mf=(e,t,n)=>{const r=gd(n);return new pf(e,t,r)};function yf(e){const t={value:e.Wt[3],time:e.Gr};return void 0!==e.Ag&&(t.customValues=e.Ag),t}function vf(e){const t=yf(e);return void 0!==e.R&&(t.color=e.R),t}function xf(e){const t=yf(e);return void 0!==e.vt&&(t.lineColor=e.vt),void 0!==e.eh&&(t.topColor=e.eh),void 0!==e.rh&&(t.bottomColor=e.rh),t}function bf(e){const t=yf(e);return void 0!==e.hh&&(t.topLineColor=e.hh),void 0!==e.ah&&(t.bottomLineColor=e.ah),void 0!==e.oh&&(t.topFillColor1=e.oh),void 0!==e._h&&(t.topFillColor2=e._h),void 0!==e.uh&&(t.bottomFillColor1=e.uh),void 0!==e.dh&&(t.bottomFillColor2=e.dh),t}function wf(e){const t={open:e.Wt[0],high:e.Wt[1],low:e.Wt[2],close:e.Wt[3],time:e.Gr};return void 0!==e.Ag&&(t.customValues=e.Ag),t}function Sf(e){const t=wf(e);return void 0!==e.R&&(t.color=e.R),t}function jf(e){const t=wf(e),{R:n,Ht:r,nh:i}=e;return void 0!==n&&(t.color=n),void 0!==r&&(t.borderColor=r),void 0!==i&&(t.wickColor=i),t}function kf(e){return{Area:xf,Line:vf,Baseline:bf,Histogram:vf,Bar:Sf,Candlestick:jf,Custom:_f}[e]}function _f(e){const t=e.Gr;return{...e.le,time:t}}const Ef={vertLine:{color:"#9598A1",width:1,style:3,visible:!0,labelVisible:!0,labelBackgroundColor:"#131722"},horzLine:{color:"#9598A1",width:1,style:3,visible:!0,labelVisible:!0,labelBackgroundColor:"#131722"},mode:1,doNotSnapToHiddenSeriesIndices:!1},Cf={vertLines:{color:"#D6DCDE",style:0,visible:!0},horzLines:{color:"#D6DCDE",style:0,visible:!0}},Tf={background:{type:"solid",color:"#FFFFFF"},textColor:"#191919",fontSize:12,fontFamily:_d,panes:{enableResize:!0,separatorColor:"#E0E3EB",separatorHoverColor:"rgba(178, 181, 189, 0.2)"},attributionLogo:!0,colorSpace:"srgb",colorParsers:[]},Mf={autoScale:!0,mode:0,invertScale:!1,alignLabels:!0,borderVisible:!0,borderColor:"#2B2B43",entireTextOnly:!1,visible:!1,ticksVisible:!1,scaleMargins:{bottom:.1,top:.2},minimumWidth:0,ensureEdgeTickMarksVisible:!1},Of={rightOffset:0,barSpacing:6,minBarSpacing:.5,maxBarSpacing:0,fixLeftEdge:!1,fixRightEdge:!1,lockVisibleTimeRangeOnResize:!1,rightBarStaysOnScroll:!1,borderVisible:!0,borderColor:"#2B2B43",visible:!0,timeVisible:!1,secondsVisible:!0,shiftVisibleRangeOnNewBar:!0,allowShiftVisibleRangeOnWhitespaceReplacement:!1,ticksVisible:!1,uniformDistribution:!1,minimumHeight:0,allowBoldLabels:!0,ignoreWhitespaceIndices:!1,enableConflation:!1,conflationThresholdFactor:1,precomputeConflationOnInit:!1,precomputeConflationPriority:"background"};function Af(){return{addDefaultPane:!0,width:0,height:0,autoSize:!1,layout:Tf,crosshair:Ef,grid:Cf,overlayPriceScales:{...Mf},leftPriceScale:{...Mf,visible:!1},rightPriceScale:{...Mf,visible:!0},timeScale:Of,localization:{locale:sp?navigator.language:"",dateFormat:"dd MMM 'yy"},handleScroll:{mouseWheel:!0,pressedMouseMove:!0,horzTouchDrag:!0,vertTouchDrag:!0},handleScale:{axisPressedMouseMove:{time:!0,price:!0},axisDoubleClickReset:{time:!0,price:!0},mouseWheel:!0,pinch:!0},kineticScroll:{mouse:!1,touch:!0},trackingMode:{exitMode:1}}}class Pf{constructor(e,t,n){this.Yp=e,this.bM=t,this.SM=n??0}applyOptions(e){this.Yp.Qt().md(this.bM,e,this.SM)}options(){return this.Ki().N()}width(){return Zd(this.bM)?this.Yp.dg(this.bM):0}setVisibleRange(e){this.setAutoScale(!1),this.Ki().$o(new xu(e.from,e.to))}getVisibleRange(){let e,t,n=this.Ki().er();if(null===n)return null;if(this.Ki().io()){const r=this.Ki().m_(),i=Hh(r);n=mh(n,this.Ki().no()),e=Number((Math.round(n.Ze()/r)*r).toFixed(i)),t=Number((Math.round(n.Ge()/r)*r).toFixed(i))}else e=n.Ze(),t=n.Ge();return{from:e,to:t}}setAutoScale(e){this.applyOptions({autoScale:e})}Ki(){return fd(this.Yp.Qt().wd(this.bM,this.SM)).Ft}}class If{constructor(e,t,n,r){this.Yp=e,this.yt=n,this.xM=t,this.CM=r}getHeight(){return this.yt.$t()}setHeight(e){const t=this.Yp.Qt(),n=t.Gd(this.yt);t.xd(n,e)}getStretchFactor(){return this.yt.E_()}setStretchFactor(e){this.yt.A_(e),this.Yp.Qt().Ca()}paneIndex(){return this.Yp.Qt().Gd(this.yt)}moveTo(e){const t=this.paneIndex();t!==e&&(hd(e>=0&&e<this.Yp.Zp().length,"Invalid pane index"),this.Yp.Qt().yd(t,e))}getSeries(){return this.yt.F_().map(e=>this.xM(e))??[]}getHTMLElement(){const e=this.Yp.Zp();return e&&0!==e.length&&e[this.paneIndex()]?e[this.paneIndex()].iv():null}attachPrimitive(e){this.yt.nl(e),e.attached&&e.attached({chart:this.CM,requestUpdate:()=>this.yt.Qt().Ca()})}detachPrimitive(e){this.yt.el(e)}priceScale(e){if(null===this.yt.V_(e))throw new Error(`Cannot find price scale with id: ${e}`);return new Pf(this.Yp,e,this.paneIndex())}setPreserveEmptyPane(e){this.yt.O_(e)}preserveEmptyPane(){return this.yt.N_()}addCustomSeries(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return this.CM.addCustomSeries(e,t,n)}addSeries(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.CM.addSeries(e,t,this.paneIndex())}}const Df={color:"#FF0000",price:0,lineStyle:2,lineWidth:1,lineVisible:!0,axisLabelVisible:!0,title:"",axisLabelColor:"",axisLabelTextColor:""};class Lf{constructor(e){this.hr=e}applyOptions(e){this.hr.cr(e)}options(){return this.hr.N()}yM(){return this.hr}}class Rf{constructor(e,t,n,r,i,o){this.kM=new md,this.ee=e,this.PM=t,this.TM=n,this.cu=i,this.CM=r,this.RM=o}m(){this.kM.m()}priceFormatter(){return this.ee.Xa()}priceToCoordinate(e){const t=this.ee.Lt();return null===t?null:this.ee.Ft().Nt(e,t.Wt)}coordinateToPrice(e){const t=this.ee.Lt();return null===t?null:this.ee.Ft().Ds(e,t.Wt)}barsInLogicalRange(e){if(null===e)return null;const t=new Lh(new Ph(e.from,e.to)).Ru(),n=this.ee.qs();if(n.Gi())return null;const r=n.$s(t.Aa(),1),i=n.$s(t.bi(),-1),o=fd(n.kh()),l=fd(n.sn());if(null!==r&&null!==i&&r.js>i.js)return{barsBefore:e.from-o,barsAfter:l-e.to};const s={barsBefore:null===r||r.js===o?e.from-o:r.js-o,barsAfter:null===i||i.js===l?l-e.to:l-i.js};return null!==r&&null!==i&&(s.from=r.Gr,s.to=i.Gr),s}setData(e){this.cu,this.ee.wh(),this.PM.DM(this.ee,e),this.IM("full")}update(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.ee.wh(),this.PM.VM(this.ee,e,t),this.IM("update")}pop(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;const t=this.PM.BM(this.ee,e);0!==t.length&&this.IM("update");const n=kf(this.seriesType());return t.map(e=>n(e))}dataByIndex(e,t){const n=this.ee.qs().$s(e,t);return null===n?null:kf(this.seriesType())(n)}data(){const e=kf(this.seriesType());return this.ee.qs().Dh().map(t=>e(t))}subscribeDataChanged(e){this.kM.i(e)}unsubscribeDataChanged(e){this.kM._(e)}applyOptions(e){this.ee.cr(e)}options(){return Sd(this.ee.N())}priceScale(){return this.TM.priceScale(this.ee.Ft().ol(),this.getPane().paneIndex())}createPriceLine(e){const t=yd(Sd(Df),e),n=this.ee.Da(t);return new Lf(n)}removePriceLine(e){this.ee.Ia(e.yM())}priceLines(){return this.ee.Va().map(e=>new Lf(e))}seriesType(){return this.ee.wh()}lastValueData(e){const t=this.ee.Ve(e);return t.Be?{noData:!0}:{noData:!1,price:t.gt,color:t.R}}attachPrimitive(e){this.ee.nl(e),e.attached&&e.attached({chart:this.CM,series:this,requestUpdate:()=>this.ee.Qt().Ca(),horzScaleBehavior:this.cu})}detachPrimitive(e){this.ee.el(e),e.detached&&e.detached(),this.ee.Qt().Ca()}getPane(){const e=this.ee,t=fd(this.ee.Qt().Kn(e));return this.RM(t)}moveToPane(e){this.ee.Qt().jd(this.ee,e)}seriesOrder(){const e=this.ee.Qt().Kn(this.ee);return null===e?-1:e.F_().indexOf(this.ee)}setSeriesOrder(e){const t=this.ee.Qt().Kn(this.ee);null!==t&&t.su(this.ee,e)}IM(e){this.kM.v()&&this.kM.p(e)}}class zf{constructor(e,t,n){this.EM=new md,this.Nu=new md,this.xw=new md,this.ns=e,this.Jh=e.Et(),this.tg=t,this.Jh.Lc().i(this.AM.bind(this)),this.Jh.zc().i(this.LM.bind(this)),this.tg.Dw().i(this.zM.bind(this)),this.cu=n}m(){this.Jh.Lc().u(this),this.Jh.zc().u(this),this.tg.Dw().u(this),this.EM.m(),this.Nu.m(),this.xw.m()}scrollPosition(){return this.Jh.Cc()}scrollToPosition(e,t){t?this.Jh.Bc(e,1e3):this.ns.Mn(e)}scrollToRealTime(){this.Jh.Vc()}getVisibleRange(){const e=this.Jh.lc();return null===e?null:{from:e.from.originalTime,to:e.to.originalTime}}setVisibleRange(e){const t={from:this.cu.convertHorzItemToInternal(e.from),to:this.cu.convertHorzItemToInternal(e.to)},n=this.Jh.cc(t);this.ns.$d(n)}getVisibleLogicalRange(){const e=this.Jh.ac();return null===e?null:{from:e.Aa(),to:e.bi()}}setVisibleLogicalRange(e){hd(e.from<=e.to,"The from index cannot be after the to index."),this.ns.$d(e)}resetTimeScale(){this.ns.wn()}fitContent(){this.ns.Fc()}logicalToCoordinate(e){const t=this.ns.Et();return t.Gi()?null:t.qt(e)}coordinateToLogical(e){return this.Jh.Gi()?null:this.Jh.wc(e)}timeToIndex(e,t){const n=this.cu.convertHorzItemToInternal(e);return this.Jh.ec(n,t)}timeToCoordinate(e){const t=this.timeToIndex(e,!1);return null===t?null:this.Jh.qt(t)}coordinateToTime(e){const t=this.ns.Et(),n=t.wc(e),r=t.es(n);return null===r?null:r.originalTime}width(){return this.tg.sv().width}height(){return this.tg.sv().height}subscribeVisibleTimeRangeChange(e){this.EM.i(e)}unsubscribeVisibleTimeRangeChange(e){this.EM._(e)}subscribeVisibleLogicalRangeChange(e){this.Nu.i(e)}unsubscribeVisibleLogicalRangeChange(e){this.Nu._(e)}subscribeSizeChange(e){this.xw.i(e)}unsubscribeSizeChange(e){this.xw._(e)}applyOptions(e){this.Jh.cr(e)}options(){return{...Sd(this.Jh.N()),barSpacing:this.Jh.ul()}}AM(){this.EM.v()&&this.EM.p(this.getVisibleRange())}LM(){this.Nu.v()&&this.Nu.p(this.getVisibleLogicalRange())}zM(e){this.xw.p(e.width,e.height)}}function Nf(e){return function(e){if(wd(e.handleScale)){const t=e.handleScale;e.handleScale={axisDoubleClickReset:{time:t,price:t},axisPressedMouseMove:{time:t,price:t},mouseWheel:t,pinch:t}}else if(void 0!==e.handleScale){const{axisPressedMouseMove:t,axisDoubleClickReset:n}=e.handleScale;wd(t)&&(e.handleScale.axisPressedMouseMove={time:t,price:t}),wd(n)&&(e.handleScale.axisDoubleClickReset={time:n,price:n})}const t=e.handleScroll;wd(t)&&(e.handleScroll={horzTouchDrag:t,vertTouchDrag:t,mouseWheel:t,pressedMouseMove:t})}(e),e}class Ff{constructor(e,t,n){this.OM=new Map,this.NM=new Map,this.FM=new md,this.WM=new md,this.HM=new md,this.Xc=new WeakMap,this.UM=new lf(t);const r=void 0===n?Sd(Af()):yd(Sd(Af()),Nf(n));this.$M=t,this.Yp=new Bp(e,r,t),this.Yp.nw().i(e=>{this.FM.v()&&this.FM.p(this.qM(e()))},this),this.Yp.ew().i(e=>{this.WM.v()&&this.WM.p(this.qM(e()))},this),this.Yp.Md().i(e=>{this.HM.v()&&this.HM.p(this.qM(e()))},this);const i=this.Yp.Qt();this.jM=new zf(i,this.Yp.rg(),this.$M)}remove(){this.Yp.nw().u(this),this.Yp.ew().u(this),this.Yp.Md().u(this),this.jM.m(),this.Yp.m(),this.OM.clear(),this.NM.clear(),this.FM.m(),this.WM.m(),this.HM.m(),this.UM.m()}resize(e,t,n){this.autoSizeActive()||this.Yp.sg(e,t,n)}addCustomSeries(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const r=(e=>({type:"Custom",isBuiltIn:!1,defaultOptions:{...gf,...e.defaultOptions()},YM:mf,KM:e}))(gd(e));return this.ZM(r,t,n)}addSeries(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return this.ZM(e,t,n)}removeSeries(e){const t=pd(this.OM.get(e)),n=this.UM.Hd(t);this.Yp.Qt().Hd(t),this.GM(n),this.OM.delete(e),this.NM.delete(t)}DM(e,t){this.GM(this.UM.Ug(e,t))}VM(e,t,n){this.GM(this.UM.Zg(e,t,n))}BM(e,t){const[n,r]=this.UM.Jg(e,t);return 0!==n.length&&this.GM(r),n}subscribeClick(e){this.FM.i(e)}unsubscribeClick(e){this.FM._(e)}subscribeCrosshairMove(e){this.HM.i(e)}unsubscribeCrosshairMove(e){this.HM._(e)}subscribeDblClick(e){this.WM.i(e)}unsubscribeDblClick(e){this.WM._(e)}priceScale(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return new Pf(this.Yp,e,t)}timeScale(){return this.jM}applyOptions(e){this.Yp.cr(Nf(e))}options(){return this.Yp.N()}takeScreenshot(){let e,t,n=arguments.length>0&&void 0!==arguments[0]&&arguments[0],r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];try{r||(e=this.Yp.Qt().N().crosshair.mode,this.Yp.cr({crosshair:{mode:2}})),t=this.Yp.ug(n)}finally{r||void 0===e||this.Yp.Qt().cr({crosshair:{mode:e}})}return t}addPane(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=this.Yp.Qt().Xd();return t.O_(e),this.XM(t)}removePane(e){this.Yp.Qt().Sd(e)}swapPanes(e,t){this.Yp.Qt().Cd(e,t)}autoSizeActive(){return this.Yp.vg()}chartElement(){return this.Yp.hv()}panes(){return this.Yp.Qt().Xs().map(e=>this.XM(e))}paneSize(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;const t=this.Yp.gg(e);return{height:t.height,width:t.width}}setCrosshairPosition(e,t,n){const r=this.OM.get(n);if(void 0===r)return;const i=this.Yp.Qt().Kn(r);null!==i&&this.Yp.Qt().Ld(e,t,i)}clearCrosshairPosition(){this.Yp.Qt().zd(!0)}horzBehaviour(){return this.$M}ZM(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;hd(void 0!==e.YM),function(e){if(void 0===e||"custom"===e.type)return;const t=e;void 0!==t.minMove&&void 0===t.precision&&(t.precision=Hh(t.minMove))}(t.priceFormat),"Candlestick"===e.type&&function(e){void 0!==e.borderColor&&(e.borderUpColor=e.borderColor,e.borderDownColor=e.borderColor),void 0!==e.wickColor&&(e.wickUpColor=e.wickColor,e.wickDownColor=e.wickColor)}(t);const r=yd(Sd(sd),Sd(e.defaultOptions),t),i=e.YM,o=new Zu(this.Yp.Qt(),e.type,r,i,e.KM);this.Yp.Qt().Fd(o,n);const l=new Rf(o,this,this,this,this.$M,e=>this.XM(e));return this.OM.set(l,o),this.NM.set(o,l),l}GM(e){const t=this.Yp.Qt();t.Od(e.Et.vc,e.Et.sM,e.Et.nM),e.F_.forEach((e,t)=>t.ht(e.le,e.iM)),t.Et().Ju(),t.Sc()}JM(e){return pd(this.NM.get(e))}qM(e){const t=new Map;e.Vg.forEach((e,n)=>{const r=n.wh(),i=kf(r)(e);if("Custom"!==r)hd(Vp(i));else{const e=n.hl();hd(!e||!1===e(i))}t.set(this.JM(n),i)});const n=void 0!==e.Ig&&this.NM.has(e.Ig)?this.JM(e.Ig):void 0;return{time:e.Gr,logical:e.js,point:e.Rg,paneIndex:e.Dg,hoveredSeries:n,hoveredObjectId:e.Bg,seriesData:t,sourceEvent:e.Eg}}XM(e){let t=this.Xc.get(e);return t||(t=new If(this.Yp,e=>this.JM(e),e,this),this.Xc.set(e,t)),t}}function $f(e){if(bd(e)){const t=document.getElementById(e);return hd(null!==t,`Cannot find element in DOM with id=${e}`),t}return e}function Wf(e,t,n){const r=$f(e),i=new Ff(r,t,n);return t.setOptions(i.options()),i}function Bf(e,t){return Wf(e,new lp,lp.pf(t))}class Uf extends uf{constructor(e,t){super(e,t,!0)}mM(e,t,n){t.mc(this.aM,kd(this.lM)),e.Yo(this.aM,n,kd(this.lM))}QM(e,t){return{wt:e,gt:t,_t:NaN,ut:NaN}}pM(){const e=this.ee.ga();this.aM=this.ee.Na().Dh().map(t=>{let n;if((t.jr??1)>1){const e=t.Wt[1],r=t.Wt[2],i=t.Wt[3];n=Math.abs(e-i)>Math.abs(r-i)?e:r}else n=t.Wt[3];return this.tb(t.js,n,e)})}}function Hf(e,t,n,r,i,o,l){if(0===t.length||r.from>=t.length||r.to<=0)return;const{context:s,horizontalPixelRatio:a,verticalPixelRatio:c}=e,d=t[r.from];let u=o(e,d),h=d;if(r.to-r.from<2){const t=i/2;s.beginPath();const n={_t:d._t-t,ut:d.ut},r={_t:d._t+t,ut:d.ut};s.moveTo(n._t*a,n.ut*c),s.lineTo(r._t*a,r.ut*c),l(e,u,n,r)}else{const i=(t,n)=>{l(e,u,h,n),s.beginPath(),u=t,h=n};let p=h;s.beginPath(),s.moveTo(d._t*a,d.ut*c);for(let l=r.from+1;l<r.to;++l){p=t[l];const r=o(e,p);switch(n){case 0:s.lineTo(p._t*a,p.ut*c);break;case 1:s.lineTo(p._t*a,t[l-1].ut*c),r!==u&&(i(r,p),s.lineTo(p._t*a,t[l-1].ut*c)),s.lineTo(p._t*a,p.ut*c);break;case 2:{const[e,n]=Kf(t,l-1,l);s.bezierCurveTo(e._t*a,e.ut*c,n._t*a,n.ut*c,p._t*a,p.ut*c);break}}1!==n&&r!==u&&(i(r,p),s.moveTo(p._t*a,p.ut*c))}(h!==p||h===p&&1===n)&&l(e,u,h,p)}}const Vf=6;function Yf(e,t){return{_t:e._t-t._t,ut:e.ut-t.ut}}function Gf(e,t){return{_t:e._t/t,ut:e.ut/t}}function Kf(e,t,n){const r=Math.max(0,t-1),i=Math.min(e.length-1,n+1);var o,l;return[(o=e[t],l=Gf(Yf(e[n],e[r]),Vf),{_t:o._t+l._t,ut:o.ut+l.ut}),Yf(e[n],Gf(Yf(e[i],e[t]),Vf))]}function qf(e,t){const n=e.context;n.strokeStyle=t,n.stroke()}class Xf extends Pd{constructor(){super(...arguments),this.rt=null}ht(e){this.rt=e}et(e){if(null===this.rt)return;const{ot:t,lt:n,ib:r,sb:i,ct:o,Zt:l,nb:s}=this.rt;if(null===n)return;const a=e.context;a.lineCap="butt",a.lineWidth=o*e.verticalPixelRatio,dd(a,l),a.lineJoin="round";const c=this.eb.bind(this);void 0!==i&&Hf(e,t,i,n,r,c,qf),s&&function(e,t,n,r,i){if(r.to-r.from<=0)return;const{horizontalPixelRatio:o,verticalPixelRatio:l,context:s}=e;let a=null;const c=Math.max(1,Math.floor(o))%2/2,d=n*l+c;for(let u=r.to-1;u>=r.from;--u){const n=t[u];if(n){const t=i(e,n);t!==a&&(s.beginPath(),null!==a&&s.fill(),s.fillStyle=t,a=t);const r=Math.round(n._t*o)+c,u=n.ut*l;s.moveTo(r,u),s.arc(r,u,d,0,2*Math.PI)}}s.fill()}(e,t,s,n,c)}}class Jf extends Xf{eb(e,t){return t.vt}}class Qf extends Uf{constructor(){super(...arguments),this.cM=new Jf}tb(e,t,n){return{...this.QM(e,t),...n.gh(e)}}wM(){const e=this.ee.N(),t={ot:this.aM,Zt:e.lineStyle,sb:e.lineVisible?e.lineType:void 0,ct:e.lineWidth,nb:e.pointMarkersVisible?e.pointMarkersRadius||e.lineWidth/2+2:void 0,lt:this.lM,ib:this.re.Et().ul()};this.cM.ht(t)}}const Zf={type:"Line",isBuiltIn:!0,defaultOptions:{color:"#2196f3",lineStyle:0,lineWidth:3,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:"",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:"",lastPriceAnimation:0,pointMarkersVisible:!1},YM:(e,t)=>new Qf(e,t)};class eg extends uf{constructor(e,t){super(e,t,!1)}mM(e,t,n){t.mc(this.aM,kd(this.lM)),e.Zo(this.aM,n,kd(this.lM))}Lb(e,t,n){return{wt:e,Hr:t.Wt[0],Ur:t.Wt[1],$r:t.Wt[2],qr:t.Wt[3],_t:NaN,Go:NaN,Xo:NaN,Jo:NaN,Qo:NaN}}pM(){const e=this.ee.ga();this.aM=this.ee.Na().Dh().map(t=>this.tb(t.js,t,e))}}class tg extends Pd{constructor(){super(...arguments),this.jt=null,this.Ib=0}ht(e){this.jt=e}et(e){if(null===this.jt||0===this.jt.qs.length||null===this.jt.lt)return;const{horizontalPixelRatio:t}=e;this.Ib=function(e,t){if(e>=2.5&&e<=4)return Math.floor(3*t);const n=1-.2*Math.atan(Math.max(4,e)-4)/(.5*Math.PI),r=Math.floor(e*n*t),i=Math.floor(e*t),o=Math.min(r,i);return Math.max(Math.floor(t),o)}(this.jt.ul,t),this.Ib>=2&&Math.floor(t)%2!=this.Ib%2&&this.Ib--;const n=this.jt.qs;this.jt.zb&&this.Ob(e,n,this.jt.lt),this.jt.Mi&&this.gm(e,n,this.jt.lt);const r=this.Nb(t);(!this.jt.Mi||this.Ib>2*r)&&this.Fb(e,n,this.jt.lt)}Ob(e,t,n){if(null===this.jt)return;const{context:r,horizontalPixelRatio:i,verticalPixelRatio:o}=e;let l="",s=Math.min(Math.floor(i),Math.floor(this.jt.ul*i));s=Math.max(Math.floor(i),Math.min(s,this.Ib));const a=Math.floor(.5*s);let c=null;for(let d=n.from;d<n.to;d++){const e=t[d];e.sh!==l&&(r.fillStyle=e.sh,l=e.sh);const n=Math.round(Math.min(e.Go,e.Qo)*o),u=Math.round(Math.max(e.Go,e.Qo)*o),h=Math.round(e.Xo*o),p=Math.round(e.Jo*o);let f=Math.round(i*e._t)-a;const g=f+s-1;null!==c&&(f=Math.max(c+1,f),f=Math.min(f,g));const m=g-f+1;r.fillRect(f,h,m,n-h),r.fillRect(f,u+1,m,p-u),c=g}}Nb(e){let t=Math.floor(1*e);this.Ib<=2*t&&(t=Math.floor(.5*(this.Ib-1)));const n=Math.max(Math.floor(e),t);return this.Ib<=2*n?Math.max(Math.floor(e),Math.floor(1*e)):n}gm(e,t,n){if(null===this.jt)return;const{context:r,horizontalPixelRatio:i,verticalPixelRatio:o}=e;let l="";const s=this.Nb(i);let a=null;for(let c=n.from;c<n.to;c++){const e=t[c];e.ih!==l&&(r.fillStyle=e.ih,l=e.ih);let n=Math.round(e._t*i)-Math.floor(.5*this.Ib);const d=n+this.Ib-1,u=Math.round(Math.min(e.Go,e.Qo)*o),h=Math.round(Math.max(e.Go,e.Qo)*o);if(null!==a&&(n=Math.max(a+1,n),n=Math.min(n,d)),this.jt.ul*i>2*s)Fd(r,n,u,d-n+1,h-u+1,s);else{const e=d-n+1;r.fillRect(n,u,e,h-u+1)}a=d}}Fb(e,t,n){if(null===this.jt)return;const{context:r,horizontalPixelRatio:i,verticalPixelRatio:o}=e;let l="";const s=this.Nb(i);for(let a=n.from;a<n.to;a++){const e=t[a];let n=Math.round(Math.min(e.Go,e.Qo)*o),c=Math.round(Math.max(e.Go,e.Qo)*o),d=Math.round(e._t*i)-Math.floor(.5*this.Ib),u=d+this.Ib-1;if(e.th!==l){const t=e.th;r.fillStyle=t,l=t}this.jt.Mi&&(d+=s,n+=s,u-=s,c-=s),n>c||r.fillRect(d,n,u-d+1,c-n+1)}}}class ng extends eg{constructor(){super(...arguments),this.cM=new tg}tb(e,t,n){return{...this.Lb(e,t,n),...n.gh(e)}}wM(){const e=this.ee.N();this.cM.ht({qs:this.aM,ul:this.re.Et().ul(),zb:e.wickVisible,Mi:e.borderVisible,lt:this.lM})}}const rg={type:"Candlestick",isBuiltIn:!0,defaultOptions:{upColor:"#26a69a",downColor:"#ef5350",wickVisible:!0,borderVisible:!0,borderColor:"#378658",borderUpColor:"#26a69a",borderDownColor:"#ef5350",wickColor:"#737375",wickUpColor:"#26a69a",wickDownColor:"#ef5350"},YM:(e,t)=>new ng(e,t)};class ig extends Pd{constructor(){super(...arguments),this.jt=null,this.Wb=[]}ht(e){this.jt=e,this.Wb=[]}et(e){let{context:t,horizontalPixelRatio:n,verticalPixelRatio:r}=e;if(null===this.jt||0===this.jt.ot.length||null===this.jt.lt)return;this.Wb.length||this.Hb(n);const i=Math.max(1,Math.floor(r)),o=Math.round(this.jt.Ub*r)-Math.floor(i/2),l=o+i;for(let s=this.jt.lt.from;s<this.jt.lt.to;s++){const e=this.jt.ot[s],n=this.Wb[s-this.jt.lt.from],a=Math.round(e.ut*r);let c,d;t.fillStyle=e.th,a<=o?(c=a,d=l):(c=o,d=a-Math.floor(i/2)+i),t.fillRect(n.Aa,c,n.bi-n.Aa+1,d-c)}}Hb(e){if(null===this.jt||0===this.jt.ot.length||null===this.jt.lt)return void(this.Wb=[]);const t=Math.ceil(this.jt.ul*e)<=1?0:Math.max(1,Math.floor(e)),n=Math.round(this.jt.ul*e)-t;this.Wb=new Array(this.jt.lt.to-this.jt.lt.from);for(let i=this.jt.lt.from;i<this.jt.lt.to;i++){const t=this.jt.ot[i],r=Math.round(t._t*e);let o,l;if(n%2){const e=(n-1)/2;o=r-e,l=r+e}else{const e=n/2;o=r-e,l=r+e-1}this.Wb[i-this.jt.lt.from]={Aa:o,bi:l,$b:r,oe:t._t*e,wt:t.wt}}for(let i=this.jt.lt.from+1;i<this.jt.lt.to;i++){const e=this.Wb[i-this.jt.lt.from],n=this.Wb[i-this.jt.lt.from-1];e.wt===n.wt+1&&e.Aa-n.bi!==t+1&&(n.$b>n.oe?n.bi=e.Aa-t-1:e.Aa=n.bi+t+1)}let r=Math.ceil(this.jt.ul*e);for(let i=this.jt.lt.from;i<this.jt.lt.to;i++){const e=this.Wb[i-this.jt.lt.from];e.bi<e.Aa&&(e.bi=e.Aa);const t=e.bi-e.Aa+1;r=Math.min(t,r)}if(t>0&&r<4)for(let i=this.jt.lt.from;i<this.jt.lt.to;i++){const e=this.Wb[i-this.jt.lt.from];e.bi-e.Aa+1>r&&(e.$b>e.oe?e.bi-=1:e.Aa+=1)}}}class og extends Uf{constructor(){super(...arguments),this.cM=new ig}tb(e,t,n){return{...this.QM(e,t),...n.gh(e)}}wM(){const e={ot:this.aM,ul:this.re.Et().ul(),lt:this.lM,Ub:this.ee.Ft().Nt(this.ee.N().base,fd(this.ee.Lt()).Wt)};this.cM.ht(e)}}const lg={type:"Histogram",isBuiltIn:!0,defaultOptions:{color:"#26a69a",base:0},YM:(e,t)=>new og(e,t)};const sg="#000",ag="#0a0a0a",cg="#111",dg="#1a1a1a",ug="#222",hg="#333",pg="#fff",fg="#999",gg="#444",mg="#ff6d00",yg="#2ebd59",vg="#e8383b",xg="#3796ff",bg="#00d2d3",wg="#9b59b6",Sg="'Courier New', Consolas, monospace",jg=["M1","M5","M15","M30","H1","H4","D1"],kg={M1:1e3,M5:1e3,M15:1e3,M30:1e3,H1:1e3,H4:1e3,D1:1e3},_g={M1:60,M5:300,M15:900,M30:1800,H1:3600,H4:14400,D1:86400},Eg=[{label:"minutes",keys:["M1","M5","M15","M30"]},{label:"hours",keys:["H1","H4"]},{label:"daily",keys:["D1"]}],Cg={daily:{label:"DAILY",keys:["gbm_daily_curr","mjd_daily_curr","gbm_daily_prev","mjd_daily_prev","gbm_daily_prev_2","mjd_daily_prev_2"],color:yg},weekly:{label:"WEEKLY",keys:["gbm_prev","mjd_prev","gbm_curr","mjd_curr"],color:xg},monthly:{label:"MONTHLY",keys:["gbm_month_curr","mjd_month_curr","gbm_month_prev","mjd_month_prev","gbm_month_prev_2","mjd_month_prev_2"],color:wg},ext_high:{label:"EXT HIGH",keys:["gbm_extreme_high","mjd_extreme_high"],color:vg},ext_low:{label:"EXT LOW",keys:["gbm_extreme_low","mjd_extreme_low"],color:bg},manual:{label:"QUARTERLY",keys:["gbm_manual","mjd_manual","gbm_manual_p1","mjd_manual_p1","gbm_manual_p2","mjd_manual_p2","gbm_manual_p3","mjd_manual_p3"],color:"#ff00ff"}},Tg={daily:{label:"DAILY",keys:["bates_daily_curr","bates_daily_prev","bates_daily_prev_2"],color:"#e056fd"},weekly:{label:"WEEKLY",keys:["bates_prev","bates_curr"],color:"#e056fd"},monthly:{label:"MONTHLY",keys:["bates_month_curr","bates_month_prev","bates_month_prev_2"],color:"#e056fd"},ext_high:{label:"EXT HIGH",keys:["bates_extreme_high"],color:"#e056fd"},ext_low:{label:"EXT LOW",keys:["bates_extreme_low"],color:"#e056fd"}},Mg={flip:{label:"FLIP",keys:["gex_flip_0dte","gex_flip_swing"],color:"#ff6d00",kind:"level",source:"flip"},expected_move:{label:"EXP MOVE",keys:["gex_em_0dte","gex_em_swing"],color:"#39ff14",kind:"level",source:"expected_move"},magnets:{label:"MAGNETS",keys:["gex_magnets_0dte","gex_magnets_swing"],color:"#00d4ff",kind:"level",source:"volatility_gravity",filter:"magnet"},springs:{label:"SPRINGS",keys:["gex_springs_0dte","gex_springs_swing"],color:"#ff3d3d",kind:"level",source:"volatility_gravity",filter:"spring"},reinforced:{label:"REINFORCED",keys:["gex_reinforced_0dte","gex_reinforced_swing"],color:"#2ebd59",kind:"level",source:"structural_integrity",filter:"reinforced"},thin_ice:{label:"THIN ICE",keys:["gex_thin_ice_0dte","gex_thin_ice_swing"],color:"#e8383b",kind:"level",source:"structural_integrity",filter:"thin_ice"}},Og=(()=>{const e=cd||{};return{gbm_prev:{med:"rgba(128,128,128,0.8)",sd1:"rgba(128,128,128,0.45)",sd2:"rgba(128,128,128,0.25)",d:e.Dashed,w:2},mjd_prev:{med:"rgba(255,193,7,0.55)",sd1:"rgba(255,193,7,0.35)",sd2:"rgba(255,193,7,0.20)",d:e.LargeDashed,w:2},gbm_curr:{med:"rgba(52,152,219,0.9)",sd1:"rgba(52,152,219,0.50)",sd2:"rgba(52,152,219,0.25)",d:e.Solid,w:2},mjd_curr:{med:"rgba(255,193,7,0.65)",sd1:"rgba(255,193,7,0.40)",sd2:"rgba(255,193,7,0.22)",d:e.LargeDashed,w:2},gbm_now:{med:"rgba(39,174,96,1.0)",sd1:"rgba(39,174,96,0.55)",sd2:"rgba(39,174,96,0.30)",d:e.Solid,w:2},mjd_now:{med:"rgba(255,165,0,0.9)",sd1:"rgba(255,165,0,0.50)",sd2:"rgba(255,165,0,0.28)",d:e.LargeDashed,w:2},gbm_extreme_high:{med:"rgba(231,76,60,0.9)",sd1:"rgba(231,76,60,0.50)",sd2:"rgba(231,76,60,0.25)",d:e.Solid,w:2},mjd_extreme_high:{med:"rgba(255,193,7,0.7)",sd1:"rgba(255,193,7,0.40)",sd2:"rgba(255,193,7,0.22)",d:e.LargeDashed,w:2},gbm_extreme_low:{med:"rgba(46,204,113,0.9)",sd1:"rgba(46,204,113,0.50)",sd2:"rgba(46,204,113,0.25)",d:e.Solid,w:2},mjd_extreme_low:{med:"rgba(255,193,7,0.7)",sd1:"rgba(255,193,7,0.40)",sd2:"rgba(255,193,7,0.22)",d:e.LargeDashed,w:2},gbm_month_prev:{med:"rgba(155,89,182,0.7)",sd1:"rgba(155,89,182,0.40)",sd2:"rgba(155,89,182,0.20)",sd3:"rgba(155,89,182,0.12)",d:e.Dashed,w:2},mjd_month_prev:{med:"rgba(255,193,7,0.5)",sd1:"rgba(255,193,7,0.30)",sd2:"rgba(255,193,7,0.15)",sd3:"rgba(255,193,7,0.08)",d:e.LargeDashed,w:2},gbm_month_curr:{med:"rgba(155,89,182,0.9)",sd1:"rgba(155,89,182,0.50)",sd2:"rgba(155,89,182,0.25)",sd3:"rgba(155,89,182,0.15)",d:e.Solid,w:2},mjd_month_curr:{med:"rgba(255,193,7,0.65)",sd1:"rgba(255,193,7,0.40)",sd2:"rgba(255,193,7,0.22)",sd3:"rgba(255,193,7,0.12)",d:e.LargeDashed,w:2},gbm_month_prev_2:{med:"rgba(155,89,182,0.45)",sd1:"rgba(155,89,182,0.25)",sd2:"rgba(155,89,182,0.13)",sd3:"rgba(155,89,182,0.07)",d:e.SparseDotted,w:2},mjd_month_prev_2:{med:"rgba(255,193,7,0.35)",sd1:"rgba(255,193,7,0.20)",sd2:"rgba(255,193,7,0.10)",sd3:"rgba(255,193,7,0.05)",d:e.SparseDotted,w:2},gbm_daily_curr:{med:"rgba(39,174,96,1.0)",sd1:"rgba(39,174,96,0.55)",sd2:"rgba(39,174,96,0.30)",sd3:"rgba(39,174,96,0.18)",d:e.Solid,w:2},gbm_daily_prev:{med:"rgba(39,174,96,0.7)",sd1:"rgba(39,174,96,0.40)",sd2:"rgba(39,174,96,0.20)",sd3:"rgba(39,174,96,0.12)",d:e.Dashed,w:2},gbm_daily_prev_2:{med:"rgba(39,174,96,0.45)",sd1:"rgba(39,174,96,0.25)",sd2:"rgba(39,174,96,0.13)",sd3:"rgba(39,174,96,0.07)",d:e.SparseDotted,w:2},mjd_daily_curr:{med:"rgba(255,165,0,0.9)",sd1:"rgba(255,165,0,0.50)",sd2:"rgba(255,165,0,0.28)",sd3:"rgba(255,165,0,0.16)",d:e.LargeDashed,w:2},mjd_daily_prev:{med:"rgba(255,165,0,0.65)",sd1:"rgba(255,165,0,0.35)",sd2:"rgba(255,165,0,0.18)",sd3:"rgba(255,165,0,0.10)",d:e.LargeDashed,w:2},mjd_daily_prev_2:{med:"rgba(255,165,0,0.40)",sd1:"rgba(255,165,0,0.22)",sd2:"rgba(255,165,0,0.12)",sd3:"rgba(255,165,0,0.06)",d:e.SparseDotted,w:2},bates_now:{med:"rgba(224,86,253,0.9)",sd1:"rgba(224,86,253,0.50)",sd2:"rgba(224,86,253,0.25)",d:e.Solid,w:2},bates_prev:{med:"rgba(224,86,253,0.6)",sd1:"rgba(224,86,253,0.35)",sd2:"rgba(224,86,253,0.18)",d:e.Dashed,w:2},bates_curr:{med:"rgba(224,86,253,0.8)",sd1:"rgba(224,86,253,0.45)",sd2:"rgba(224,86,253,0.22)",d:e.Solid,w:2},bates_month_prev:{med:"rgba(224,86,253,0.5)",sd1:"rgba(224,86,253,0.30)",sd2:"rgba(224,86,253,0.15)",sd3:"rgba(224,86,253,0.08)",d:e.Dashed,w:2},bates_month_curr:{med:"rgba(224,86,253,0.7)",sd1:"rgba(224,86,253,0.40)",sd2:"rgba(224,86,253,0.20)",sd3:"rgba(224,86,253,0.12)",d:e.Solid,w:2},bates_month_prev_2:{med:"rgba(224,86,253,0.32)",sd1:"rgba(224,86,253,0.18)",sd2:"rgba(224,86,253,0.10)",sd3:"rgba(224,86,253,0.05)",d:e.SparseDotted,w:2},bates_daily_curr:{med:"rgba(224,86,253,0.85)",sd1:"rgba(224,86,253,0.48)",sd2:"rgba(224,86,253,0.24)",sd3:"rgba(224,86,253,0.13)",d:e.Solid,w:2},bates_daily_prev:{med:"rgba(224,86,253,0.55)",sd1:"rgba(224,86,253,0.32)",sd2:"rgba(224,86,253,0.16)",sd3:"rgba(224,86,253,0.09)",d:e.Dashed,w:2},bates_daily_prev_2:{med:"rgba(224,86,253,0.36)",sd1:"rgba(224,86,253,0.20)",sd2:"rgba(224,86,253,0.10)",sd3:"rgba(224,86,253,0.05)",d:e.SparseDotted,w:2},bates_extreme_high:{med:"rgba(224,86,253,0.8)",sd1:"rgba(224,86,253,0.45)",sd2:"rgba(224,86,253,0.22)",d:e.Solid,w:2},bates_extreme_low:{med:"rgba(224,86,253,0.8)",sd1:"rgba(224,86,253,0.45)",sd2:"rgba(224,86,253,0.22)",d:e.Solid,w:2},gbm_manual:{med:"rgba(255,0,255,1.0)",sd1:"rgba(255,0,255,0.55)",sd2:"rgba(255,0,255,0.35)",sd3:"rgba(255,0,255,0.20)",d:e.Solid,w:2},mjd_manual:{med:"rgba(255,140,0,0.9)",sd1:"rgba(255,140,0,0.50)",sd2:"rgba(255,140,0,0.35)",sd3:"rgba(255,140,0,0.20)",d:e.LargeDashed,w:2},gbm_manual_p1:{med:"rgba(255,0,255,0.70)",sd1:"rgba(255,0,255,0.38)",sd2:"rgba(255,0,255,0.22)",sd3:"rgba(255,0,255,0.12)",d:e.Dashed,w:2},mjd_manual_p1:{med:"rgba(255,140,0,0.60)",sd1:"rgba(255,140,0,0.34)",sd2:"rgba(255,140,0,0.22)",sd3:"rgba(255,140,0,0.12)",d:e.LargeDashed,w:2},gbm_manual_p2:{med:"rgba(255,0,255,0.45)",sd1:"rgba(255,0,255,0.24)",sd2:"rgba(255,0,255,0.14)",sd3:"rgba(255,0,255,0.08)",d:e.SparseDotted,w:2},mjd_manual_p2:{med:"rgba(255,140,0,0.40)",sd1:"rgba(255,140,0,0.22)",sd2:"rgba(255,140,0,0.14)",sd3:"rgba(255,140,0,0.08)",d:e.SparseDotted,w:2},gbm_manual_p3:{med:"rgba(255,0,255,0.28)",sd1:"rgba(255,0,255,0.15)",sd2:"rgba(255,0,255,0.09)",sd3:"rgba(255,0,255,0.05)",d:e.Dotted,w:2},mjd_manual_p3:{med:"rgba(255,140,0,0.26)",sd1:"rgba(255,140,0,0.14)",sd2:"rgba(255,140,0,0.09)",sd3:"rgba(255,140,0,0.05)",d:e.Dotted,w:2},gex_now:{med:"rgba(57,255,20,0.95)",sd1:"rgba(57,255,20,0.50)",sd2:"rgba(57,255,20,0.25)",sd3:"rgba(57,255,20,0.12)",d:e.Solid,w:2},gex_weekly_1:{med:"rgba(57,255,20,0.65)",sd1:"rgba(57,255,20,0.38)",sd2:"rgba(57,255,20,0.18)",sd3:"rgba(57,255,20,0.08)",d:e.LargeDashed,w:2},gex_weekly_2:{med:"rgba(57,255,20,0.45)",sd1:"rgba(57,255,20,0.28)",sd2:"rgba(57,255,20,0.12)",sd3:"rgba(57,255,20,0.06)",d:e.Dashed,w:1}}})();const Ag={cone_boundary_fade:{color:"#2ebd59",abbr:"FADE"},cone_breakout:{color:"#e8383b",abbr:"BKOUT"},cone_convergence:{color:"#00d2d3",abbr:"CONV"},drift_momentum:{color:"#ff6d00",abbr:"DRIFT"},institutional_anchor:{color:"#9b59b6",abbr:"ANCHR"},regime_transition:{color:"#f1c40f",abbr:"REGM"}},Pg={pending:.5,active:1,hit_target:.3,hit_stop:.3,expired:.2,regime_shift:.25,cancelled:.15},Ig=new Set(["hit_target","hit_stop","expired","regime_shift","cancelled"]),Dg={volume_bar:!1,daily_vp:!1,rsi:!1,atr:!1,ema_bands:!1,vwap:!1,show_positions:!0,show_trade_history:!1},Lg={gbm:{color:"#ff6d00",width:1,op1:.75,op2:.4,op3:.18,visible:!0},mjd:{color:"#ffc107",width:1,op1:.65,op2:.32,op3:.15,visible:!0},bates:{color:"#e056fd",width:1,op1:.65,op2:.32,op3:.15,visible:!0},mean:{color:"#ff0000"}},Rg={now:!0,manual:!0,manual_p1:!0,manual_p2:!0,manual_p3:!0,extreme_high:!0,extreme_low:!0,curr:!0,prev:!0,prev_2:!0,prev_3:!0,prev_4:!0,prev_5:!0,daily_curr:!0,daily_prev:!0,daily_prev_2:!0,month_curr:!0,month_prev:!0,month_prev_2:!0,month_prev_3:!0,month_prev_4:!0,month_prev_5:!0,weekly_1:!0,weekly_2:!0,weekly_3:!0,flip_0dte:!0,flip_swing:!0,em_0dte:!0,em_swing:!0,magnets_0dte:!0,magnets_swing:!0,springs_0dte:!0,springs_swing:!0,reinforced_0dte:!0,reinforced_swing:!0,thin_ice_0dte:!0,thin_ice_swing:!0};async function zg(e,t){try{const n=await fetch(`${e}`,"POST"===t?{method:"POST"}:{});return n.ok?n.json():null}catch{return null}}function Ng(e){if(!e)return 0;try{return e.endsWith("Z")||/[+-]\d{2}:\d{2}$/.test(e)?Math.floor(new Date(e).getTime()/1e3):Math.floor(new Date(e.replace(" ","T")+"Z").getTime()/1e3)}catch{return 0}}function Fg(e,t,n,r){return e.addSeries(Zf,{color:t,lineWidth:n,lineStyle:r||(cd||{}).Solid,crosshairMarkerVisible:!1,lastValueVisible:!1,priceLineVisible:!1,autoscaleInfoProvider:()=>null})}function $g(e){return e.replace(/^(gbm|mjd|bates|gex)_/,"")}function Wg(e){if("manual"===e)return"Q-CURR";if("manual_p1"===e)return"Q-1";if("manual_p2"===e)return"Q-2";if("manual_p3"===e)return"Q-3";if("flip_0dte"===e||"em_0dte"===e)return"0DTE";if("flip_swing"===e||"em_swing"===e)return"SWING";if("magnets_0dte"===e||"springs_0dte"===e||"reinforced_0dte"===e||"thin_ice_0dte"===e)return"0DTE";if("magnets_swing"===e||"springs_swing"===e||"reinforced_swing"===e||"thin_ice_swing"===e)return"SWING";let t=e;return t.startsWith("month_")&&(t=t.slice(6)),t.startsWith("daily_")&&(t=t.slice(6)),t.startsWith("weekly_")?"W"+t.slice(7):(t.startsWith("extreme_")&&(t=t.slice(8)),t.replace(/_/g,"-").toUpperCase())}function Bg(e,t){if(!e||e.length<2||!t||0===t.length)return e||[];const n=[];let r=0;for(const s of t){for(;r<e.length-2&&e[r+1].time<=s;)r++;const t=e[r],i=e[r+1]||e[r];if(!(s<e[0].time||s>e[e.length-1].time))if(t.time===i.time)n.push({time:s,value:t.value});else{const e=(s-t.time)/(i.time-t.time);n.push({time:s,value:t.value+(i.value-t.value)*Math.max(0,Math.min(1,e))})}}const i=t[t.length-1]||0,o=e.filter(e=>e.time>i);if(o.length>=2){const e=t.length>=2?Math.max(60,t[t.length-1]-t[t.length-2]):3600,r=o[0].time,i=o[o.length-1].time,l=r+800*e,s=Math.min(i,l);let a=r,c=0;for(;a<=s;){for(;c<o.length-2&&o[c+1].time<=a;)c++;const t=o[c],r=o[c+1]||o[c];if(t.time===r.time)n.push({time:a,value:t.value});else{const e=Math.max(0,Math.min(1,(a-t.time)/(r.time-t.time)));n.push({time:a,value:t.value+(r.value-t.value)*e})}a+=e}}else 1===o.length&&n.push(o[0]);const l=new Set;return n.filter(e=>!l.has(e.time)&&(l.add(e.time),!0)).sort((e,t)=>e.time-t.time)}function Ug(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:7;if(!e||e.length<3)return e||[];const n=Math.floor(t/2),r=n/2||1,i=[];for(let l=-n;l<=n;l++)i.push(Math.exp(-l*l/(2*r*r)));const o=i.reduce((e,t)=>e+t,0);return e.map((t,r)=>{let l=0;for(let o=-n;o<=n;o++){const t=Math.max(0,Math.min(e.length-1,r+o));l+=e[t].value*i[o+n]}return{time:t.time,value:l/o}})}var Hg=n(579);function Vg(e){let{label:n,anyOn:r,groups:i,state:o,onToggle:l,onAll:s,onGear:a,slotVis:c,onToggleSlot:d,disabled:u=!1,disabledTitle:h=""}=e;const[p,f]=(0,t.useState)(!1),g=(0,t.useRef)(null);(0,t.useEffect)(()=>{if(!p)return;const e=e=>{g.current&&!g.current.contains(e.target)&&f(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[p]);const m=c||{};return u?(0,Hg.jsx)("div",{ref:g,title:h,style:{position:"relative",display:"inline-block"},children:(0,Hg.jsxs)("div",{style:{display:"flex"},children:[(0,Hg.jsx)("button",{disabled:!0,style:{background:"transparent",color:gg,border:`1px solid ${ug}`,borderRight:"none",padding:"2px 9px",cursor:"not-allowed",fontSize:"11px",fontWeight:700,fontFamily:Sg,borderRadius:"2px 0 0 2px",opacity:.45},children:n}),(0,Hg.jsx)("button",{disabled:!0,style:{background:"transparent",color:gg,border:`1px solid ${ug}`,padding:"2px 5px",cursor:"not-allowed",fontSize:"11px",fontWeight:700,fontFamily:Sg,borderRadius:"0 2px 2px 0",opacity:.45},children:"\u25be"})]})}):(0,Hg.jsxs)("div",{ref:g,style:{position:"relative",display:"inline-block"},children:[(0,Hg.jsxs)("div",{style:{display:"flex"},children:[(0,Hg.jsx)("button",{onClick:s,style:{background:r?`${mg}20`:"transparent",color:r?mg:pg,border:`1px solid ${r?mg+"50":hg}`,borderRight:"none",padding:"2px 9px",cursor:"pointer",fontSize:"11px",fontWeight:700,fontFamily:Sg,borderRadius:"2px 0 0 2px"},children:n}),(0,Hg.jsx)("button",{onClick:()=>f(!p),style:{background:p?`${mg}30`:r?`${mg}20`:"transparent",color:r?mg:pg,border:`1px solid ${r?mg+"50":hg}`,padding:"2px 5px",cursor:"pointer",fontSize:"11px",fontWeight:700,fontFamily:Sg,borderRadius:"0 2px 2px 0"},children:p?"\u25b4":"\u25be"})]}),p&&(0,Hg.jsx)("div",{style:{position:"absolute",top:"100%",left:0,zIndex:100,background:cg,border:`1px solid ${hg}`,padding:"4px 0",minWidth:160,marginTop:2,boxShadow:"0 4px 12px rgba(0,0,0,0.6)"},children:Object.entries(i).map(e=>{let[t,n]=e;const r=d?function(e){if(!e||!Array.isArray(e.keys))return[];const t=new Set,n=[];for(const r of e.keys){const e=$g(r);t.has(e)||(t.add(e),n.push(e))}return n}(n):[],i=r.length>1,s=!!o[t];return(0,Hg.jsxs)("div",{style:{width:"100%"},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",width:"100%",padding:"0 4px 0 0"},children:[(0,Hg.jsxs)("button",{onClick:()=>l(t),style:{display:"flex",alignItems:"center",gap:6,flex:1,background:"transparent",border:"none",padding:"4px 10px",cursor:"pointer",color:s?n.color:gg,fontSize:"9px",fontFamily:Sg,fontWeight:600},children:[(0,Hg.jsx)("span",{style:{display:"inline-block",width:8,height:8,borderRadius:2,background:s?n.color:"transparent",border:`1px solid ${s?n.color:gg}`}}),n.label]}),a&&(0,Hg.jsx)("button",{onClick:e=>{e.stopPropagation(),a(t)},style:{background:"transparent",border:"none",cursor:"pointer",color:gg,fontSize:"9px",padding:"2px 4px"},title:"Style settings",children:"\u2699"})]}),i&&(0,Hg.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:2,padding:"2px 8px 4px 22px",opacity:s?1:.35,pointerEvents:s?"auto":"none"},children:r.map(e=>{const t=(e=>!1!==m[e])(e);return(0,Hg.jsxs)("button",{onClick:t=>{t.stopPropagation(),d(e)},style:{display:"flex",alignItems:"center",gap:4,background:t?`${n.color}18`:"transparent",border:`1px solid ${t?n.color+"60":ug}`,color:t?n.color:gg,padding:"1px 5px",cursor:"pointer",fontSize:"7px",fontFamily:Sg,fontWeight:700,borderRadius:2},children:[(0,Hg.jsx)("span",{style:{display:"inline-block",width:6,height:6,borderRadius:1,background:t?n.color:"transparent",border:`1px solid ${t?n.color:gg}`}}),Wg(e)]},e)})})]},t)})})]})}function Yg(e){var n,r;let{group:i,groupData:o,coneStyles:l,onUpdate:s,onClose:a}=e;const c=(0,t.useRef)(null);(0,t.useEffect)(()=>{const e=e=>{c.current&&!c.current.contains(e.target)&&a()};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[a]);const d=l[i]||{},u=o.color,h=d.color_gbm||d.color||u,p=d.color_mjd||o.color_mjd||u,f=null!==(n=d.width)&&void 0!==n?n:2,g=null!==(r=d.opacity)&&void 0!==r?r:1,m=!0===d.colorFill,y=(e,t)=>{s(i,{...d,[e]:t})};return(0,Hg.jsxs)("div",{ref:c,style:{position:"absolute",top:"100%",left:0,zIndex:200,background:cg,border:`1px solid ${hg}`,padding:"8px 10px",minWidth:200,marginTop:2,boxShadow:"0 4px 16px rgba(0,0,0,0.8)"},children:[(0,Hg.jsxs)("div",{style:{fontSize:"8px",fontWeight:700,color:mg,letterSpacing:"1.5px",marginBottom:6,fontFamily:Sg},children:[o.label," STYLE"]}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:4},children:[(0,Hg.jsx)("span",{style:{fontSize:"8px",color:gg,fontFamily:Sg},children:"GBM COLOR"}),(0,Hg.jsx)("input",{type:"color",value:h,onChange:e=>y("color_gbm",e.target.value),style:{width:24,height:16,border:`1px solid ${ug}`,background:"transparent",cursor:"pointer",padding:0}})]}),(0,Hg.jsxs)("label",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:4,cursor:"pointer",userSelect:"none",padding:"3px 0"},children:[(0,Hg.jsx)("span",{style:{fontSize:"8px",color:d.hide_gbm?mg:gg,fontFamily:Sg,fontWeight:d.hide_gbm?800:400,letterSpacing:"0.5px"},children:"HIDE GBM"}),(0,Hg.jsx)("input",{type:"checkbox",checked:!!d.hide_gbm,onChange:e=>y("hide_gbm",e.target.checked),style:{accentColor:mg,cursor:"pointer",margin:0}})]}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:4},children:[(0,Hg.jsx)("span",{style:{fontSize:"8px",color:gg,fontFamily:Sg},children:"MJD COLOR"}),(0,Hg.jsx)("input",{type:"color",value:p,onChange:e=>y("color_mjd",e.target.value),style:{width:24,height:16,border:`1px solid ${ug}`,background:"transparent",cursor:"pointer",padding:0}})]}),(0,Hg.jsxs)("label",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:4,cursor:"pointer",userSelect:"none",padding:"3px 0"},children:[(0,Hg.jsx)("span",{style:{fontSize:"8px",color:d.hide_mjd?mg:gg,fontFamily:Sg,fontWeight:d.hide_mjd?800:400,letterSpacing:"0.5px"},children:"HIDE MJD"}),(0,Hg.jsx)("input",{type:"checkbox",checked:!!d.hide_mjd,onChange:e=>y("hide_mjd",e.target.checked),style:{accentColor:mg,cursor:"pointer",margin:0}})]}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:4},children:[(0,Hg.jsx)("span",{style:{fontSize:"8px",color:gg,fontFamily:Sg},children:"WIDTH"}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,Hg.jsx)("input",{type:"range",min:1,max:5,step:1,value:f,onChange:e=>y("width",parseInt(e.target.value)),style:{width:60,accentColor:mg}}),(0,Hg.jsx)("span",{style:{fontSize:"8px",color:pg,fontFamily:Sg,width:12,textAlign:"right"},children:f})]})]}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:4},children:[(0,Hg.jsx)("span",{style:{fontSize:"8px",color:gg,fontFamily:Sg},children:"OPACITY"}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,Hg.jsx)("input",{type:"range",min:.1,max:1,step:.1,value:g,onChange:e=>y("opacity",parseFloat(e.target.value)),style:{width:60,accentColor:mg}}),(0,Hg.jsxs)("span",{style:{fontSize:"8px",color:pg,fontFamily:Sg,width:24,textAlign:"right"},children:[(100*g).toFixed(0),"%"]})]})]}),(0,Hg.jsxs)("label",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginTop:6,marginBottom:4,cursor:"pointer",userSelect:"none",padding:"3px 0"},children:[(0,Hg.jsx)("span",{style:{fontSize:"8px",color:m?mg:gg,fontFamily:Sg,fontWeight:m?800:400,letterSpacing:"0.5px"},children:"COLOR FILL"}),(0,Hg.jsx)("input",{type:"checkbox",checked:m,onChange:e=>y("colorFill",e.target.checked),style:{accentColor:mg,cursor:"pointer",margin:0}})]}),(0,Hg.jsx)("button",{onClick:()=>{s(i,{}),a()},style:{background:"transparent",border:`1px solid ${ug}`,color:gg,fontSize:"7px",fontFamily:Sg,padding:"2px 6px",cursor:"pointer",marginTop:4,width:"100%"},children:"RESET TO DEFAULT"})]})}const Gg=[{type:"submenu",label:"VOLUME",items:[{key:"volume_bar",label:"Volume Bar",settings:[{id:"color_up",label:"Up Color",type:"color",default:"#2ebd59"},{id:"color_down",label:"Down Color",type:"color",default:"#e8383b"},{id:"opacity",label:"Opacity",type:"range",min:.02,max:.3,step:.02,default:.08}]},{key:"daily_vp",label:"Daily VP",settings:[{id:"color",label:"Color",type:"color",default:"#3796ff"},{id:"opacity",label:"Opacity",type:"range",min:.1,max:1,step:.1,default:.3},{id:"bins",label:"Bins",type:"number",min:10,max:100,step:5,default:30}]}]},{type:"submenu",label:"STOCHASTICS",items:[{key:"rsi",label:"RSI (14)",settings:[{id:"period",label:"Period",type:"number",min:2,max:50,step:1,default:14},{id:"color",label:"Color",type:"color",default:"#ff6d00"},{id:"width",label:"Width",type:"range",min:1,max:4,step:1,default:1},{id:"overbought",label:"OB Level",type:"number",min:60,max:90,step:5,default:70},{id:"oversold",label:"OS Level",type:"number",min:10,max:40,step:5,default:30}]},{key:"atr",label:"ATR (14)",settings:[{id:"period",label:"Period",type:"number",min:2,max:50,step:1,default:14},{id:"color",label:"Color",type:"color",default:"#00d2d3"},{id:"width",label:"Width",type:"range",min:1,max:4,step:1,default:1}]}]},{type:"submenu",label:"AVERAGES",items:[{key:"ema_bands",label:"EMA Bands",settings:[{id:"period_fast",label:"Fast EMA",type:"number",min:5,max:100,step:1,default:9},{id:"period_slow",label:"Slow EMA",type:"number",min:10,max:200,step:1,default:21},{id:"color",label:"Color",type:"color",default:"#3796ff"},{id:"opacity",label:"Opacity",type:"range",min:.1,max:1,step:.1,default:.6}]},{key:"vwap",label:"VWAP",settings:[{id:"color",label:"Color",type:"color",default:"#9b59b6"},{id:"width",label:"Width",type:"range",min:1,max:5,step:1,default:2},{id:"opacity",label:"Opacity",type:"range",min:.1,max:1,step:.1,default:.8}]}]},{type:"separator"},{type:"submenu",label:"ORDERS",items:[{key:"show_positions",label:"Current Positions"},{key:"show_trade_history",label:"Trade History",settings:[{id:"buy_color",label:"Buy Color",type:"color",default:"#2ebd59"},{id:"sell_color",label:"Sell Color",type:"color",default:"#e8383b"},{id:"opacity",label:"Opacity",type:"range",min:.1,max:1,step:.1,default:.7}]}]},{type:"separator"},{type:"action",label:"IMPORT...",action:"import"}],Kg={};function qg(e){let{indicatorKey:n,settingsDef:r,currentValues:i,onUpdate:o,onClose:l}=e;const s=(0,t.useRef)(null);(0,t.useEffect)(()=>{const e=e=>{s.current&&!s.current.contains(e.target)&&l()};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[l]);const a=i||{},c=(e,t)=>{o(n,{...a,[e]:t})};return(0,Hg.jsxs)("div",{ref:s,style:{position:"absolute",top:0,right:"100%",zIndex:202,background:cg,border:`1px solid ${hg}`,padding:"8px 10px",minWidth:170,boxShadow:"0 4px 16px rgba(0,0,0,0.8)",marginRight:2},children:[(0,Hg.jsx)("div",{style:{fontSize:"8px",fontWeight:700,color:mg,letterSpacing:"1.5px",marginBottom:6,fontFamily:Sg},children:n.replace(/_/g," ").toUpperCase()}),r.map(e=>{var t,n,r,i;return(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:4},children:[(0,Hg.jsx)("span",{style:{fontSize:"8px",color:gg,fontFamily:Sg},children:e.label.toUpperCase()}),"color"===e.type&&(0,Hg.jsx)("input",{type:"color",value:a[e.id]||e.default,onChange:t=>c(e.id,t.target.value),style:{width:24,height:16,border:`1px solid ${ug}`,background:"transparent",cursor:"pointer",padding:0}}),"number"===e.type&&(0,Hg.jsx)("input",{type:"number",min:e.min,max:e.max,step:e.step,value:null!==(t=a[e.id])&&void 0!==t?t:e.default,onChange:t=>c(e.id,parseFloat(t.target.value)||e.default),style:{width:44,background:ag,border:`1px solid ${ug}`,color:pg,fontSize:"9px",fontFamily:Sg,textAlign:"right",padding:"1px 4px"}}),"range"===e.type&&(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,Hg.jsx)("input",{type:"range",min:e.min,max:e.max,step:e.step,value:null!==(n=a[e.id])&&void 0!==n?n:e.default,onChange:t=>c(e.id,parseFloat(t.target.value)),style:{width:50,accentColor:mg}}),(0,Hg.jsx)("span",{style:{fontSize:"8px",color:pg,fontFamily:Sg,width:22,textAlign:"right"},children:e.max<=1?`${(100*(null!==(r=a[e.id])&&void 0!==r?r:e.default)).toFixed(0)}%`:null!==(i=a[e.id])&&void 0!==i?i:e.default})]})]},e.id)}),(0,Hg.jsx)("button",{onClick:()=>{o(n,null),l()},style:{background:"transparent",border:`1px solid ${ug}`,color:gg,fontSize:"7px",fontFamily:Sg,padding:"2px 6px",cursor:"pointer",marginTop:4,width:"100%"},children:"RESET TO DEFAULT"})]})}function Xg(e){let{indicators:n,onToggle:r,onImport:i,indicatorStyles:o,onUpdateStyle:l}=e;const[s,a]=(0,t.useState)(!1),[c,d]=(0,t.useState)(null),[u,h]=(0,t.useState)(null),p=(0,t.useRef)(null);(0,t.useEffect)(()=>{if(!s)return;const e=e=>{p.current&&!p.current.contains(e.target)&&(a(!1),d(null),h(null))};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[s]);const f=Object.values(n).some(e=>e);return(0,Hg.jsxs)("div",{ref:p,style:{position:"relative",display:"inline-block"},children:[(0,Hg.jsx)("div",{style:{display:"flex"},children:(0,Hg.jsxs)("button",{onClick:()=>{a(!s),d(null),h(null)},style:{background:f?`${mg}20`:"transparent",color:f?mg:gg,border:`1px solid ${f?mg+"50":ug}`,padding:"1px 6px",cursor:"pointer",fontSize:"7px",fontWeight:700,fontFamily:Sg,borderRadius:2},children:["INDICATORS ",s?"\u25b4":"\u25be"]})}),s&&(0,Hg.jsx)("div",{style:{position:"absolute",top:"100%",right:0,zIndex:100,background:cg,border:`1px solid ${hg}`,padding:"4px 0",minWidth:130,marginTop:2,boxShadow:"0 4px 12px rgba(0,0,0,0.6)"},children:Gg.map((e,t)=>{if("separator"===e.type)return(0,Hg.jsx)("div",{style:{height:1,background:ug,margin:"4px 8px"}},t);if("action"===e.type)return(0,Hg.jsx)("button",{onClick:()=>{i(),a(!1)},style:{display:"flex",alignItems:"center",gap:6,width:"100%",background:"transparent",border:"none",padding:"4px 10px",cursor:"pointer",color:gg,fontSize:"9px",fontFamily:Sg,fontWeight:600},children:e.label},t);const s=c===t,p=e.items.some(e=>n[e.key]);return(0,Hg.jsxs)("div",{style:{position:"relative"},onMouseEnter:()=>d(t),onMouseLeave:()=>{u||d(null)},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"4px 10px",cursor:"default",color:p?mg:gg,fontSize:"9px",fontFamily:Sg,fontWeight:600,background:s?dg:"transparent"},children:[(0,Hg.jsx)("span",{children:e.label}),(0,Hg.jsx)("span",{style:{fontSize:"7px"},children:"\u25c2"})]}),s&&(0,Hg.jsx)("div",{style:{position:"absolute",top:0,right:"100%",zIndex:101,background:cg,border:`1px solid ${hg}`,padding:"4px 0",minWidth:140,boxShadow:"0 4px 12px rgba(0,0,0,0.6)"},children:e.items.map(e=>{const t=!!e.settings;return(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",width:"100%",padding:"0 4px 0 0",position:"relative"},children:[(0,Hg.jsxs)("button",{onClick:()=>r(e.key),style:{display:"flex",alignItems:"center",gap:6,flex:1,background:"transparent",border:"none",padding:"4px 10px",cursor:"pointer",color:n[e.key]?yg:gg,fontSize:"9px",fontFamily:Sg,fontWeight:600},children:[(0,Hg.jsx)("span",{style:{display:"inline-block",width:8,height:8,borderRadius:2,background:n[e.key]?yg:"transparent",border:`1px solid ${n[e.key]?yg:gg}`}}),e.label]}),t&&(0,Hg.jsx)("button",{onClick:t=>{t.stopPropagation(),h(u===e.key?null:e.key)},style:{background:"transparent",border:"none",cursor:"pointer",color:gg,fontSize:"9px",padding:"2px 4px"},title:"Settings",children:"\u2699"}),u===e.key&&e.settings&&(0,Hg.jsx)(qg,{indicatorKey:e.key,settingsDef:e.settings,currentValues:null===o||void 0===o?void 0:o[e.key],onUpdate:l,onClose:()=>h(null)})]},e.key)})})]},t)})})]})}Gg.forEach(e=>{"submenu"===e.type&&e.items.forEach(e=>{if(e.settings){const t={};e.settings.forEach(e=>{t[e.id]=e.default}),Kg[e.key]=t}})});const Jg=[{key:"gbm",label:"GBM",defaultColor:"#ff6d00"},{key:"mjd",label:"MJD",defaultColor:"#ffc107"},{key:"bates",label:"BATES",defaultColor:"#e056fd"}],Qg={gbm:{color:"#ff6d00",width:1,op1:.75,op2:.4,op3:.18,visible:!0},mjd:{color:"#ffc107",width:1,op1:.65,op2:.32,op3:.15,visible:!0},bates:{color:"#e056fd",width:1,op1:.65,op2:.32,op3:.15,visible:!0}};function Zg(e){var t,n,r,i,o;let{modelKey:l,style:s,onUpdate:a,onClose:c}=e;const d=Qg[l]||Qg.gbm,u=null!==(t=s.color)&&void 0!==t?t:d.color,h=null!==(n=s.width)&&void 0!==n?n:d.width,p=null!==(r=s.op1)&&void 0!==r?r:d.op1,f=null!==(i=s.op2)&&void 0!==i?i:d.op2,g=null!==(o=s.op3)&&void 0!==o?o:d.op3,m=(e,t)=>a({...s,[e]:t}),y=e=>{let{label:t,children:n}=e;return(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:4},children:[(0,Hg.jsx)("span",{style:{fontSize:"8px",color:gg,fontFamily:Sg},children:t}),n]})},v=e=>{let{k:t,val:n,min:r,max:i,step:o,fmt:l}=e;return(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,Hg.jsx)("input",{type:"range",min:r,max:i,step:o||.05,value:n,onChange:e=>m(t,parseFloat(e.target.value)),style:{width:60,accentColor:mg}}),(0,Hg.jsx)("span",{style:{fontSize:"8px",color:pg,fontFamily:Sg,width:28,textAlign:"right"},children:l?l(n):n})]})};return(0,Hg.jsxs)("div",{style:{borderTop:`1px solid ${ug}`,padding:"8px 10px"},children:[(0,Hg.jsxs)("div",{style:{fontSize:"8px",fontWeight:700,color:mg,letterSpacing:"1.5px",marginBottom:6,fontFamily:Sg},children:[l.toUpperCase()," STYLE"]}),(0,Hg.jsx)(y,{label:"COLOR",children:(0,Hg.jsx)("input",{type:"color",value:u,onChange:e=>m("color",e.target.value),style:{width:24,height:16,border:`1px solid ${ug}`,background:"transparent",cursor:"pointer",padding:0}})}),(0,Hg.jsx)(y,{label:"WIDTH",children:(0,Hg.jsx)(v,{k:"width",val:h,min:1,max:4,step:1,fmt:e=>e})}),(0,Hg.jsx)("div",{style:{fontSize:"7px",color:gg,fontFamily:Sg,marginBottom:3,marginTop:2},children:"OPACITY"}),(0,Hg.jsx)(y,{label:"1SD",children:(0,Hg.jsx)(v,{k:"op1",val:p,min:.05,max:1,fmt:e=>`${Math.round(100*e)}%`})}),(0,Hg.jsx)(y,{label:"2SD",children:(0,Hg.jsx)(v,{k:"op2",val:f,min:.02,max:.8,fmt:e=>`${Math.round(100*e)}%`})}),(0,Hg.jsx)(y,{label:"3SD",children:(0,Hg.jsx)(v,{k:"op3",val:g,min:.01,max:.6,fmt:e=>`${Math.round(100*e)}%`})}),(0,Hg.jsx)("button",{onClick:()=>{a({}),c()},style:{background:"transparent",border:`1px solid ${ug}`,color:gg,fontSize:"7px",fontFamily:Sg,padding:"2px 6px",cursor:"pointer",marginTop:4,width:"100%"},children:"RESET TO DEFAULT"})]})}function em(e){let{bandStyles:n,layerOn:r,onToggleAll:i,onToggleModel:o,onUpdateStyle:l,meanStyle:s,onUpdateMeanColor:a,stale:c=!1}=e;const[d,u]=(0,t.useState)(!1),[h,p]=(0,t.useState)(null),f=(0,t.useRef)(null);(0,t.useEffect)(()=>{if(!d&&!h)return;const e=e=>{f.current&&!f.current.contains(e.target)&&(u(!1),p(null))};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[d,h]);const g=r&&Jg.some(e=>{var t,r;return null===(t=null===(r=n[e.key])||void 0===r?void 0:r.visible)||void 0===t||t}),m=c?"#e8383b":mg,y={background:g?`${m}20`:"transparent",color:g||c?m:pg,border:`1px solid ${g?m+"50":c?m+"60":hg}`,cursor:"pointer",fontSize:"11px",fontWeight:700,fontFamily:Sg};return(0,Hg.jsxs)("div",{ref:f,style:{position:"relative",display:"inline-block"},children:[(0,Hg.jsxs)("div",{style:{display:"flex"},children:[(0,Hg.jsx)("button",{onClick:i,style:{...y,padding:"2px 9px",borderRight:"none",borderRadius:"2px 0 0 2px"},children:"BANDS"}),(0,Hg.jsx)("button",{onClick:()=>{u(e=>!e),p(null)},style:{...y,padding:"2px 5px",borderRadius:"0 2px 2px 0"},children:d?"\u25b4":"\u25be"})]}),d&&(0,Hg.jsxs)("div",{style:{position:"absolute",top:"100%",left:0,zIndex:100,background:cg,border:`1px solid ${hg}`,padding:"4px 0 0 0",minWidth:160,marginTop:2,boxShadow:"0 4px 12px rgba(0,0,0,0.6)"},children:[Jg.map(e=>{const t=n[e.key]||{},r=!1!==t.visible,i=t.color||e.defaultColor,s=h===e.key;return(0,Hg.jsxs)("div",{children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",padding:"0 4px 0 0"},children:[(0,Hg.jsxs)("button",{onClick:()=>o(e.key),style:{display:"flex",alignItems:"center",gap:6,flex:1,background:"transparent",border:"none",padding:"5px 10px",cursor:"pointer",color:r?i:gg,fontSize:"9px",fontFamily:Sg,fontWeight:600},children:[(0,Hg.jsx)("span",{style:{display:"inline-block",width:8,height:8,borderRadius:2,background:r?i:"transparent",border:`1px solid ${r?i:gg}`}}),e.label]}),(0,Hg.jsx)("button",{onClick:t=>{t.stopPropagation(),p(s?null:e.key)},style:{background:"transparent",border:"none",cursor:"pointer",color:s?mg:gg,fontSize:"10px",padding:"2px 6px"},title:"Style settings",children:"\u2699"})]}),s&&(0,Hg.jsx)(Zg,{modelKey:e.key,style:t,onUpdate:t=>l(e.key,t),onClose:()=>p(null)})]},e.key)}),(0,Hg.jsxs)("div",{style:{borderTop:`1px solid ${ug}`,marginTop:2,padding:"5px 10px",display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,Hg.jsx)("span",{style:{fontSize:"9px",color:(null===s||void 0===s?void 0:s.color)||"#ff0000",fontFamily:Sg,fontWeight:700,letterSpacing:"1px"},children:"MEAN"}),(0,Hg.jsx)("input",{type:"color",value:(null===s||void 0===s?void 0:s.color)||"#ff0000",onChange:e=>a&&a(e.target.value),style:{width:24,height:16,border:`1px solid ${ug}`,background:"transparent",cursor:"pointer",padding:0}})]}),(0,Hg.jsx)("div",{style:{height:4}})]})]})}const tm=Object.freeze({M1:1440,M5:288,M15:96,M30:48,H1:24,H4:6,D1:1}),nm=Object.freeze({M1:"sessions",M5:"sessions",M15:"sessions",M30:"sessions",H1:"sessions",H4:"sessions",D1:"days"});function rm(e,t){const n=Number(e);if(!Number.isFinite(n)||n<=0)return 0;const r=tm[t];return r?Math.round(n*r):0}const im="#ffc107";function om(e){var n,r,i;let{tf:o,daysPerTf:l,historicalOn:s,historicalFrom:a,historicalTo:c,barTimer:d,loading:u,onLoad:h}=e;const[p,f]=(0,t.useState)(!1),[g,m]=(0,t.useState)(o),[y,v]=(0,t.useState)(l||{M1:2,M5:5,M15:7,M30:10,H1:30,H4:60,D1:200}),[x,b]=(0,t.useState)(s||!1),[w,S]=(0,t.useState)(a||""),[j,k]=(0,t.useState)(c||""),_=(0,t.useRef)(!1);(0,t.useEffect)(()=>{p&&!_.current&&(m(o),v(l||{M1:2,M5:5,M15:7,M30:10,H1:30,H4:60,D1:200}),b(s||!1),S(a||""),k(c||"")),_.current=p},[p,o,l,s,a,c]);const E=null!==(n=null!==(r=y[g])&&void 0!==r?r:{M1:2,M5:5,M15:7,M30:10,H1:30,H4:60,D1:200}[g])&&void 0!==n?n:1,C=(0,t.useMemo)(()=>rm(E,g),[E,g]),T=C>2e3,M=function(e){return nm[e]||"sessions"}(g),O=(0,t.useRef)(null);(0,t.useEffect)(()=>{if(!p)return;const e=e=>{O.current&&!O.current.contains(e.target)&&f(!1)},t=e=>{"Escape"===e.key&&f(!1)};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[p]);return(0,Hg.jsxs)("div",{ref:O,style:{position:"relative",display:"inline-flex",alignItems:"center",gap:6},children:[(0,Hg.jsxs)("button",{onClick:()=>f(e=>!e),title:p?"Close timeframe panel":"Open timeframe panel",style:{background:p?`${mg}25`:"transparent",color:p?mg:pg,border:`1px solid ${p?mg+"70":hg}`,padding:"3px 12px",cursor:"pointer",fontSize:"13px",fontWeight:700,fontFamily:Sg,borderRadius:2,display:"inline-flex",alignItems:"center",gap:6,minWidth:64,justifyContent:"center"},children:[(0,Hg.jsx)("span",{children:o}),(0,Hg.jsx)("span",{style:{fontSize:"9px",opacity:.7,transform:p?"rotate(180deg)":"none",transition:"transform 0.12s"},children:"\u25be"})]}),!u&&d&&(0,Hg.jsx)("span",{style:{color:mg,fontSize:"13px",fontFamily:Sg,fontVariantNumeric:"tabular-nums",minWidth:50,textAlign:"center",padding:"3px 6px",background:`${mg}15`,border:`1px solid ${mg}40`,borderRadius:2,fontWeight:700},children:d}),p&&(0,Hg.jsxs)("div",{onClick:e=>e.stopPropagation(),style:{position:"absolute",top:"calc(100% + 4px)",left:0,zIndex:1e3,minWidth:280,padding:"10px 12px",background:ag,border:`1px solid ${ug}`,borderRadius:3,boxShadow:"0 6px 18px rgba(0,0,0,0.4)",fontFamily:Sg,color:pg},children:[(0,Hg.jsx)("div",{style:{fontSize:"9px",color:gg,letterSpacing:"0.6px",marginBottom:4},children:"TIMEFRAME"}),Eg.map((e,t)=>(0,Hg.jsx)("div",{style:{display:"flex",gap:4,marginBottom:t===Eg.length-1?8:4},children:e.keys.map(e=>{const t=e===g;return(0,Hg.jsx)("button",{onClick:()=>m(e),style:{background:t?mg:"transparent",color:t?sg:pg,border:t?"none":`1px solid ${hg}`,padding:"3px 12px",cursor:"pointer",fontSize:"12px",fontWeight:700,fontFamily:Sg,borderRadius:2,minWidth:38},children:e},e)})},e.label)),(0,Hg.jsx)("div",{style:{height:1,background:ug,margin:"8px 0"}}),!x&&(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("div",{style:{fontSize:"9px",color:gg,letterSpacing:"0.6px",marginBottom:4},children:"DAYS TO LOAD"}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,Hg.jsx)("input",{type:"text",value:null!==(i=y[g])&&void 0!==i?i:"",onChange:e=>{const t=e.target.value;if(""===t)return void v(e=>({...e,[g]:""}));const n=parseInt(t,10);Number.isFinite(n)&&v(e=>({...e,[g]:Math.max(1,n)}))},onBlur:()=>{v(e=>{const t=e[g];return""===t||null==t||t<1?{...e,[g]:1}:e})},style:{width:80,textAlign:"center",background:sg,color:pg,border:`1px solid ${hg}`,padding:"3px 4px",fontSize:"12px",fontWeight:700,fontFamily:Sg,outline:"none",borderRadius:2}}),(0,Hg.jsx)("span",{style:{fontSize:"10px",color:gg},children:M}),T&&(0,Hg.jsx)("span",{title:`\u2248 ${C.toLocaleString()} bars \u2014 heavy load`,style:{color:im,fontSize:"13px",cursor:"help"},children:"\u26a0"})]})]}),(0,Hg.jsxs)("div",{onClick:()=>b(e=>!e),title:"Load a specific historical date range instead of the most-recent N bars (pending backend support)",style:{display:"flex",alignItems:"center",gap:6,margin:"10px 0 6px 0",cursor:"pointer",userSelect:"none"},children:[(0,Hg.jsx)("span",{style:{width:12,height:12,display:"inline-block",border:`1px solid ${hg}`,background:x?mg:"transparent",borderRadius:2}}),(0,Hg.jsx)("span",{style:{fontSize:"11px",color:pg},children:"Load historical period"})]}),x&&(0,Hg.jsxs)("div",{style:{paddingLeft:18,marginBottom:6},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:4},children:[(0,Hg.jsx)("span",{style:{fontSize:"10px",color:gg,width:36},children:"FROM"}),(0,Hg.jsx)("input",{type:"date",value:w,onChange:e=>S(e.target.value),disabled:!0,title:"Disabled \u2014 backend doesn't yet support date-anchored fetches",style:{background:sg,color:gg,border:`1px solid ${ug}`,padding:"2px 4px",fontSize:"11px",fontFamily:Sg,borderRadius:2,opacity:.5,cursor:"not-allowed"}})]}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,Hg.jsx)("span",{style:{fontSize:"10px",color:gg,width:36},children:"TO"}),(0,Hg.jsx)("input",{type:"date",value:j,onChange:e=>k(e.target.value),disabled:!0,title:"Disabled \u2014 backend doesn't yet support date-anchored fetches",style:{background:sg,color:gg,border:`1px solid ${ug}`,padding:"2px 4px",fontSize:"11px",fontFamily:Sg,borderRadius:2,opacity:.5,cursor:"not-allowed"}})]}),(0,Hg.jsx)("div",{style:{fontSize:"9px",color:im,marginTop:6},children:"\u24d8 Pending backend support \u2014 toggle stays remembered for when it ships"})]}),(0,Hg.jsx)("div",{style:{height:1,background:ug,margin:"8px 0"}}),(0,Hg.jsx)("div",{style:{display:"flex",justifyContent:"center"},children:(0,Hg.jsx)("button",{onClick:()=>{if(x)return;const e=y[g],t="number"===typeof e&&e>=1?e:1;null===h||void 0===h||h({tf:g,days:t,daysPerTf:{...y,[g]:t},historicalOn:x,historicalFrom:w||null,historicalTo:j||null}),f(!1)},disabled:x,title:x?"Historical date-range fetch pending backend support":"Load with these settings",style:{background:x?"transparent":mg,color:x?gg:sg,border:x?`1px solid ${ug}`:"none",padding:"5px 24px",cursor:x?"not-allowed":"pointer",fontSize:"12px",fontWeight:800,fontFamily:Sg,borderRadius:2,letterSpacing:"0.5px",opacity:x?.45:1},children:"LOAD"})})]})]})}const lm="/api/chart-templates";async function sm(e,t,n){const r={sourceTicker:n||null,config:t||{},savedAt:(new Date).toISOString()},i=await fetch(`${lm}/${encodeURIComponent(e)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!i.ok){let e=`${i.status}`;try{e=(await i.json()).detail||e}catch{}throw new Error(`Save failed: ${e}`)}return i.json()}function am(e){let{currentTicker:n,getCurrentConfig:r,onLoadTemplate:i,loadedTemplateName:o}=e;const[l,s]=(0,t.useState)(!1),[a,c]=(0,t.useState)({}),[d,u]=(0,t.useState)(""),[h,p]=(0,t.useState)(!1),[f,g]=(0,t.useState)(null),[m,y]=(0,t.useState)(null),v=(0,t.useRef)(null),x=(0,t.useCallback)(async()=>{const e=await async function(){try{const e=await fetch(lm);if(!e.ok)return{};const t=await e.json();return t&&"object"===typeof t?t:{}}catch{return{}}}();c(e||{})},[]);(0,t.useEffect)(()=>{l&&(g(null),y(null),u(o||""),x())},[l,x,o]),(0,t.useEffect)(()=>{if(!l)return;const e=e=>{v.current&&!v.current.contains(e.target)&&s(!1)},t=e=>{"Escape"===e.key&&s(!1)};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[l]),(0,t.useEffect)(()=>{if(!m)return;const e=setTimeout(()=>y(null),4e3);return()=>clearTimeout(e)},[m]);const b=async()=>{const e=d.trim();if(e){if(!a[e]||window.confirm(`Overwrite template "${e}"?`)){p(!0),g(null);try{const t="function"===typeof r?r():{},i=await sm(e,t,n||null);c(i||{}),u(""),y(`Saved "${e}"`)}catch(sd){g(sd&&sd.message?sd.message:"Save failed")}finally{p(!1)}}}else g("Name cannot be empty")},w=async e=>{if(window.confirm(`Delete template "${e}"?`)){p(!0),g(null);try{const t=await async function(e){const t=await fetch(`${lm}/${encodeURIComponent(e)}`,{method:"DELETE"});if(!t.ok){let e=`${t.status}`;try{e=(await t.json()).detail||e}catch{}throw new Error(`Delete failed: ${e}`)}return t.json()}(e);c(t||{})}catch(sd){g(sd&&sd.message?sd.message:"Delete failed")}finally{p(!1)}}},S=Object.keys(a).sort((e,t)=>e.localeCompare(t));return(0,Hg.jsxs)("div",{ref:v,style:{position:"relative",display:"inline-flex",alignItems:"center"},children:[(0,Hg.jsxs)("button",{onClick:()=>s(e=>!e),title:l?"Close templates":"Chart templates \u2014 save / load / delete",style:{background:l?`${mg}25`:"transparent",color:l?mg:pg,border:`1px solid ${l?mg+"70":hg}`,padding:"3px 10px",cursor:"pointer",fontSize:"13px",fontWeight:700,fontFamily:Sg,borderRadius:2,display:"inline-flex",alignItems:"center",gap:5},children:[(0,Hg.jsx)("span",{style:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:140},children:o?`TPL \xb7 ${o}`:"TPL"}),(0,Hg.jsx)("span",{style:{fontSize:"9px",opacity:.7,transform:l?"rotate(180deg)":"none",transition:"transform 0.12s"},children:"\u25be"})]}),l&&(0,Hg.jsxs)("div",{onClick:e=>e.stopPropagation(),style:{position:"absolute",top:"calc(100% + 4px)",left:0,zIndex:1e3,minWidth:280,padding:"10px 12px",background:ag,border:`1px solid ${ug}`,borderRadius:3,boxShadow:"0 6px 18px rgba(0,0,0,0.4)",fontFamily:Sg,color:pg},children:[(0,Hg.jsx)("div",{style:{fontSize:"9px",color:gg,letterSpacing:"0.6px",marginBottom:6},children:"CHART TEMPLATES"}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:6,marginBottom:8},children:[(0,Hg.jsx)("input",{type:"text",value:d,onChange:e=>u(e.target.value),onKeyDown:e=>{"Enter"===e.key&&b()},placeholder:"name"+(n?" (e.g. "+n+" swing)":""),disabled:h,style:{flex:1,background:sg,color:pg,border:`1px solid ${hg}`,padding:"3px 6px",fontSize:"11px",fontFamily:Sg,outline:"none",borderRadius:2}}),(0,Hg.jsx)("button",{onClick:b,disabled:h||!d.trim(),style:{background:h||!d.trim()?"transparent":mg,color:h||!d.trim()?gg:sg,border:h||!d.trim()?`1px solid ${ug}`:"none",padding:"3px 12px",cursor:h||!d.trim()?"not-allowed":"pointer",fontSize:"11px",fontWeight:800,fontFamily:Sg,borderRadius:2},children:"SAVE"})]}),(0,Hg.jsx)("div",{style:{height:1,background:ug,margin:"6px 0"}}),0===S.length?(0,Hg.jsx)("div",{style:{fontSize:"10px",color:gg,padding:"6px 2px"},children:"no templates yet"}):(0,Hg.jsx)("div",{style:{maxHeight:220,overflowY:"auto"},children:S.map(e=>{const t=(a[e]||{}).sourceTicker||"",r=t&&n&&t===n;return(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"3px 0"},children:[(0,Hg.jsx)("span",{style:{flex:1,fontSize:"11px",color:pg,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:e}),t&&(0,Hg.jsx)("span",{style:{fontSize:"8px",color:r?yg:gg,border:`1px solid ${r?yg+"60":hg}`,borderRadius:2,padding:"0 4px",flexShrink:0},children:t}),(0,Hg.jsx)("button",{onClick:()=>(e=>{const t=a[e];t&&(null===i||void 0===i||i(t,e),t.sourceTicker&&n&&t.sourceTicker!==n?y(`Loaded "${e}" \u2014 drawings skipped (made on ${t.sourceTicker})`):y(`Loaded "${e}"`),s(!1))})(e),disabled:h,style:{background:"transparent",color:bg,border:`1px solid ${bg}50`,borderRadius:2,padding:"1px 7px",cursor:h?"not-allowed":"pointer",fontSize:"9px",fontWeight:700,fontFamily:Sg,flexShrink:0},children:"load"}),(0,Hg.jsx)("button",{onClick:()=>w(e),disabled:h,title:"Delete",style:{background:"transparent",color:vg,border:`1px solid ${vg}40`,borderRadius:2,padding:"1px 6px",cursor:h?"not-allowed":"pointer",fontSize:"10px",fontWeight:800,fontFamily:Sg,flexShrink:0},children:"\xd7"})]},e)})}),f&&(0,Hg.jsx)("div",{style:{fontSize:"9px",color:vg,marginTop:6},children:f}),m&&(0,Hg.jsx)("div",{style:{fontSize:"9px",color:"#ffc107",marginTop:6},children:m}),(0,Hg.jsx)("div",{style:{fontSize:"8px",color:gg,marginTop:8,lineHeight:1.4},children:"SAVE captures this chart's full config + ticker. Loading a template made on a different ticker applies everything except the drawings."})]})]})}const cm={trial:"TRIAL",standard:"STANDARD",pro:"PRO",expired:"EXPIRED"};function dm(){const[e,n]=(0,t.useState)({tier:"",userEmail:"",subscriptionStatus:"",loading:!0,error:null}),r=(0,t.useCallback)(async()=>{try{const e=await fetch("/api/auth/status",{credentials:"include"});if(!e.ok)return void n({tier:"",userEmail:"",subscriptionStatus:"",loading:!1,error:`HTTP ${e.status}`});const t=await e.json(),r=String(t.subscription_type||"").toLowerCase();n({tier:r,userEmail:String(t.user_email||"").trim(),subscriptionStatus:t.subscription_status||"",loading:!1,error:null})}catch(sd){n(t=>({...t,loading:!1,error:String(sd)}))}},[]);(0,t.useEffect)(()=>{r();const e=()=>r();return window.addEventListener("mk:data-sync-complete",e),window.addEventListener("mk:auth-changed",e),()=>{window.removeEventListener("mk:data-sync-complete",e),window.removeEventListener("mk:auth-changed",e)}},[r]);const{tier:i,userEmail:o,subscriptionStatus:l,loading:s,error:a}=e;return{tier:i,tierLabel:cm[i]||(i?i.toUpperCase():""),userEmail:o,subscriptionStatus:l,isPro:"pro"===i,isStandard:"standard"===i,isTrial:"trial"===i,isExpired:"expired"===l||"expired"===i,loading:s,error:a,refetch:r}}const um=dm;let hm=1;const pm={hline:{label:"Horizontal Line",points:1,icon:"\u2500"},trendline:{label:"Trend Line",points:2,icon:"\u2572"},ray:{label:"Ray",points:2,icon:"\u2197"},path:{label:"Path",points:-1,icon:"\u219d"},text:{label:"Text",points:1,icon:"T"},price_point:{label:"Price Point",points:2,icon:"\u2299"},rectangle:{label:"Rectangle",points:2,icon:"\u25ad"},circle:{label:"Circle",points:2,icon:"\u25cb"},fib:{label:"Fib Retracement",points:2,icon:"\u229f"},fib_ext:{label:"Fib Extension",points:4,icon:"\u229e"},pen:{label:"Freehand Pen",points:-1,icon:"\u270e"},position_long:{label:"Long Position",points:2,icon:"\u25b2"},position_short:{label:"Short Position",points:2,icon:"\u25bc"}},fm=[{level:0,color:"#ffffff",enabled:!0},{level:.236,color:"#ffc107",enabled:!0},{level:.382,color:"#2ebd59",enabled:!0},{level:.5,color:"#3796ff",enabled:!0},{level:.618,color:"#9b59b6",enabled:!0},{level:.786,color:"#ff6d00",enabled:!0},{level:1,color:"#ffffff",enabled:!0}],gm=[{level:0,color:"#ffffff",enabled:!0},{level:1.618,color:"#2ebd59",enabled:!0},{level:1.809,color:"#9b59b6",enabled:!0},{level:2,color:"#3796ff",enabled:!0},{level:2.38,color:"#ffc107",enabled:!0},{level:2.68,color:"#ff6d00",enabled:!0}],mm=[0,.236,.382,.5,.618,.786,1],ym={color:"#ff6d00",lineWidth:1,opacity:.8,fibFill:!1};class vm{constructor(){this._drawings=[],this._selectedId=null,this._onChange=null}onChange(e){this._onChange=e}_notify(){var e;null===(e=this._onChange)||void 0===e||e.call(this)}add(e){const t={id:`draw_${hm++}_${Date.now()}`,type:e.type,points:e.points,style:{...ym,...e.style||{}},ticker:e.ticker||"",timeframe:e.timeframe||"",created:Date.now()};return this._drawings.push(t),this._notify(),t}remove(e){this._drawings=this._drawings.filter(t=>t.id!==e),this._selectedId===e&&(this._selectedId=null),this._notify()}updatePoints(e,t){const n=this.getById(e);n&&(n.points=t,this._notify())}updateStyle(e,t){const n=this.getById(e);n&&t&&(n.style={...n.style,...t},this._notify())}moveBy(e,t,n){const r=this.getById(e);r&&(r.points=r.points.map(e=>({time:e.time+t,price:e.price+n})),this._notify())}movePoint(e,t,n,r){var i;const o=this.getById(e);o&&o.points[t]&&("position_long"===o.type||"position_short"===o.type?o.points[t]={time:o.points[t].time,price:r}:o.points[t]={time:n,price:r},"hline"===o.type&&null!=(null===(i=o.style)||void 0===i?void 0:i._priceLabel)&&(o.style._priceLabel=r),this._notify())}resizePositionWidth(e,t){const n=this.getById(e);if(!n||n.points.length<3)return;const r=n.points[0].time+60,i=Math.max(t,r);n.points[1]={...n.points[1],time:i},n.points[2]={...n.points[2],time:i},this._notify()}clearForChart(e,t){this._drawings=this._drawings.filter(n=>!(n.ticker===e&&n.timeframe===t)),this._selectedId=null,this._notify()}clearAll(){this._drawings=[],this._selectedId=null,this._notify()}select(e){this._selectedId=e,this._notify()}deselect(){this._selectedId&&(this._selectedId=null,this._notify())}get selectedId(){return this._selectedId}getForChart(e,t){return this._drawings.filter(n=>n.ticker===e&&n.timeframe===t)}getAll(){return this._drawings}getById(e){return this._drawings.find(t=>t.id===e)||null}hitTest(e,t,n,r,i,o){const l=this.getForChart(i,o);let s=1/0,a=null;for(const c of l){const i=this._distanceTo(c,e,t,n,r);i<s&&i<=1&&(s=i,a=c)}return a}_distanceTo(e,t,n,r,i){const o=e.points;switch(e.type){case"hline":return Math.abs(n-o[0].price)/r;case"trendline":return this._pointToSegmentDist(t,n,o[0].time,o[0].price,o[1].time,o[1].price,i,r);case"ray":return this._pointToRayDist(t,n,o[0].time,o[0].price,o[1].time,o[1].price,i,r);case"path":{if(!o||o.length<2)return 2;let e=1/0;for(let l=1;l<o.length;l++){const s=this._pointToSegmentDist(t,n,o[l-1].time,o[l-1].price,o[l].time,o[l].price,i,r);s<e&&(e=s)}return e}case"text":{if(!o[0])return 2;const e=Math.abs(t-o[0].time)/(i||1),l=Math.abs(n-o[0].price)/(r||1);return Math.max(e,l)}case"price_point":{if(!o[0])return 2;const e=Math.max(Math.abs(t-o[0].time)/(i||1),Math.abs(n-o[0].price)/(r||1));if(!o[1])return e;const l=Math.max(Math.abs(t-o[1].time)/(i||1),Math.abs(n-o[1].price)/(r||1));return Math.min(e,l)}case"rectangle":{const e=Math.min(o[0].time,o[1].time),l=Math.max(o[0].time,o[1].time),s=Math.min(o[0].price,o[1].price),a=Math.max(o[0].price,o[1].price),c=t>=e-i&&t<=l+i,d=n>=s-r&&n<=a+r;if(!c&&!d)return 2;const u=Math.abs(n-a)/r,h=Math.abs(n-s)/r,p=Math.abs(t-e)/i,f=Math.abs(t-l)/i,g=[];return c&&g.push(u,h),d&&g.push(p,f),g.length>0?Math.min(...g):2}case"circle":{const e=o[0].time,l=o[0].price,s=Math.abs(o[1].time-e),a=Math.abs(o[1].price-l);if(0===s&&0===a)return 2;const c=(t-e)/(s||1),d=(n-l)/(a||1),u=Math.sqrt(c*c+d*d),h=Math.abs(u-1)*Math.min(s/i,a/r);return Math.min(h,2)}case"fib":{var l;if(o.length<2)return 2;const s=Math.min(o[0].time,o[1].time),a=Math.max(o[0].time,o[1].time);if(t<s-i||t>a+i)return 2;const c=Math.max(o[0].price,o[1].price),d=c-Math.min(o[0].price,o[1].price);if(0===d)return 2;const u=(null===(l=e.style)||void 0===l?void 0:l._levels)||mm.map(e=>({level:e,enabled:!0}));let h=2;for(const e of u){const t="number"===typeof e?e:e.level;if("object"===typeof e&&!1===e.enabled)continue;const i=c-t*d,o=Math.abs(n-i)/r;o<h&&(h=o)}return h}case"fib_ext":{var s;if(o.length<3)return 2;const l=o[1].price-o[0].price;if(0===l)return 2;const a=o[2].time,c=o.length>=4?o[3].time:a+(Math.abs(o[1].time-o[0].time)||10*i),d=Math.min(a,c),u=Math.max(a,c);if(t<d-i||t>u+i)return 2;const h=(null===(s=e.style)||void 0===s?void 0:s._levels)||mm.map(e=>({level:e,enabled:!0}));let p=2;for(const e of h){const t="number"===typeof e?e:e.level;if("object"===typeof e&&!1===e.enabled)continue;const i=o[2].price+t*l,s=Math.abs(n-i)/r;s<p&&(p=s)}return p}case"pen":{if(o.length<2)return 2;let e=2;for(let l=0;l<o.length-1;l++){const s=this._pointToSegmentDist(t,n,o[l].time,o[l].price,o[l+1].time,o[l+1].price,i,r);s<e&&(e=s)}return e}case"position_long":case"position_short":{if(o.length<3)return 2;const e=Math.min(o[0].time,o[1].time),l=Math.max(o[0].time,o[1].time);if(t<e-i||t>l+i)return 2;const s=Math.abs(n-o[0].price)/r,a=Math.abs(n-o[1].price)/r,c=Math.abs(n-o[2].price)/r;return Math.min(s,a,c)}default:return 2}}_pointToSegmentDist(e,t,n,r,i,o,l,s){const a=(e-n)/(l||1),c=(t-r)/(s||1),d=(i-n)/(l||1),u=(o-r)/(s||1),h=d*d+u*u;if(0===h)return Math.sqrt(a*a+c*c);let p=(a*d+c*u)/h;p=Math.max(0,Math.min(1,p));const f=d*p,g=u*p;return Math.sqrt((a-f)**2+(c-g)**2)}_pointToRayDist(e,t,n,r,i,o,l,s){const a=(e-n)/(l||1),c=(t-r)/(s||1),d=(i-n)/(l||1),u=(o-r)/(s||1),h=d*d+u*u;if(0===h)return Math.sqrt(a*a+c*c);let p=(a*d+c*u)/h;p=Math.max(0,p);const f=d*p,g=u*p;return Math.sqrt((a-f)**2+(c-g)**2)}serialize(){return JSON.parse(JSON.stringify(this._drawings))}deserialize(e){if(Array.isArray(e)){this._drawings=e.map(e=>({...e,style:{...ym,...e.style||{}}})),this._selectedId=null;for(const e of this._drawings){var t;const n=null===(t=e.id)||void 0===t?void 0:t.match(/draw_(\d+)/);n&&(hm=Math.max(hm,parseInt(n[1])+1))}this._notify()}}}const xm=[{key:"hline",icon:"\u2500",label:"HORIZONTAL LINE"},{key:"trendline",icon:"\u2572",label:"TREND LINE"},{key:"ray",icon:"\u2197",label:"RAY"},{key:"path",icon:"\u219d",label:"PATH (CLICK TO ADD, DBL-CLICK TO END)"},{key:"rectangle",icon:"\u25ad",label:"RECTANGLE"},{key:"text",icon:"T",label:"TEXT"},{key:"price_point",icon:"\u2299",label:"PRICE POINT"},{key:"circle",icon:"\u25cb",label:"CIRCLE"},{key:"fib",icon:"\u229f",label:"FIB RETRACEMENT",hasGear:!0},{key:"fib_ext",icon:"\u229e",label:"FIB EXTENSION",hasGear:!0},{key:"pen",icon:"\u270e",label:"FREEHAND PEN"},{key:"_sep"},{key:"position_long",icon:"\u25b2",label:"LONG POSITION",color:"#2ebd59"},{key:"position_short",icon:"\u25bc",label:"SHORT POSITION",color:"#e8383b"}],bm=(()=>{const e={};let t=1;for(const n of xm)if("_sep"!==n.key&&!n.key.startsWith("position_")){if(t>11)break;e[n.key]=`F${t}`,t++}return e})(),wm=["#ff6d00","#e8383b","#2ebd59","#3796ff","#9b59b6","#00d2d3","#f1c40f","#ffffff","#888888"];function Sm(e){let{type:n,levels:r,defaults:i,onChange:o,onClose:l}=e;const s=(0,t.useRef)(null),[a,c]=(0,t.useState)("");(0,t.useEffect)(()=>{const e=e=>{s.current&&!s.current.contains(e.target)&&l()};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[l]);const d="fib"===n?"FIB RETRACEMENT LEVELS":"FIB EXTENSION LEVELS",u=()=>{const e=parseFloat(a);if(isNaN(e)||e<-10||e>50)return;if(r.some(t=>Math.abs(t.level-e)<1e-4))return;const t=[...r,{level:e,color:"#ff6d00",enabled:!0}].sort((e,t)=>e.level-t.level);o(t),c("")};return(0,Hg.jsxs)("div",{ref:s,style:{position:"absolute",top:0,right:"100%",zIndex:300,background:cg,border:`1px solid ${hg}`,padding:"10px 12px",minWidth:240,marginRight:4,boxShadow:"0 6px 20px rgba(0,0,0,0.8)",maxHeight:"60vh",overflowY:"auto"},children:[(0,Hg.jsx)("div",{style:{fontSize:"8px",fontWeight:700,color:mg,letterSpacing:"1.5px",marginBottom:8,fontFamily:Sg},children:d}),r.map((e,t)=>(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:5,marginBottom:3,opacity:e.enabled?1:.4},children:[(0,Hg.jsx)("button",{onClick:()=>(e=>{const t=r.map((t,n)=>n===e?{...t,enabled:!t.enabled}:t);o(t)})(t),style:{width:14,height:14,borderRadius:2,border:`1px solid ${ug}`,background:e.enabled?e.color:"transparent",cursor:"pointer",padding:0,flexShrink:0}}),(0,Hg.jsxs)("span",{style:{fontSize:"9px",fontFamily:Sg,fontWeight:600,width:42,textAlign:"right",color:e.enabled?pg:gg},children:[(100*e.level).toFixed(1),"%"]}),(0,Hg.jsx)("input",{type:"color",value:e.color,onChange:e=>((e,t)=>{const n=r.map((n,r)=>r===e?{...n,color:t}:n);o(n)})(t,e.target.value),style:{width:20,height:14,border:`1px solid ${ug}`,background:"transparent",cursor:"pointer",padding:0}}),(0,Hg.jsx)("button",{onClick:()=>(e=>{o(r.filter((t,n)=>n!==e))})(t),style:{background:"transparent",border:"none",color:gg,cursor:"pointer",fontSize:"9px",fontFamily:Sg,padding:"0 2px",marginLeft:"auto"},title:"Remove level",children:"\u2715"})]},t)),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,marginTop:8},children:[(0,Hg.jsx)("input",{type:"number",step:"0.001",placeholder:"e.g. 0.786",value:a,onChange:e=>c(e.target.value),onKeyDown:e=>{"Enter"===e.key&&u()},style:{flex:1,background:ag,border:`1px solid ${ug}`,color:pg,fontSize:"8px",fontFamily:Sg,padding:"3px 5px"}}),(0,Hg.jsx)("button",{onClick:u,style:{background:mg,color:sg,border:"none",fontSize:"7px",fontFamily:Sg,fontWeight:800,padding:"3px 8px",cursor:"pointer"},children:"ADD"})]}),(0,Hg.jsx)("div",{style:{fontSize:"6.5px",color:gg,fontFamily:Sg,marginTop:2},children:"Enter as decimal (0.786) not percentage"}),(0,Hg.jsx)("button",{onClick:()=>{window.confirm(`Restore ${"fib"===n?"retracement":"extension"} levels to defaults?\n\nThis will overwrite your custom levels.`)&&o(JSON.parse(JSON.stringify(i)))},style:{width:"100%",marginTop:10,background:"transparent",border:`1px solid ${vg}40`,color:vg,fontSize:"7px",fontFamily:Sg,fontWeight:700,padding:"4px 6px",cursor:"pointer"},children:"RESTORE DEFAULTS"})]})}function jm(e){var n,r;let{activeTool:i,onSelectTool:o,drawStyle:l,onStyleChange:s,drawingCount:a,onClearAll:c,onDeleteSelected:d,hasSelected:u}=e;const[h,p]=(0,t.useState)(!1),[f,g]=(0,t.useState)(null),m=(0,t.useRef)(null),y=!!i,v=l||ym;(0,t.useEffect)(()=>{if(!h)return;const e=e=>{m.current&&!m.current.contains(e.target)&&(p(!1),g(null))};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[h]),(0,t.useEffect)(()=>{const e={};for(const n of Object.keys(bm))e[bm[n]]=n;const t=t=>{var n,r,l;if(!e[t.key])return;const s=null===(n=document.activeElement)||void 0===n||null===(r=n.tagName)||void 0===r?void 0:r.toLowerCase();if("input"===s||"textarea"===s||"select"===s)return;if(null!==(l=document.activeElement)&&void 0!==l&&l.isContentEditable)return;t.preventDefault();const a=e[t.key];o(i===a?null:a)};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[i,o]);const x=(0,t.useCallback)(e=>"fib"===e?v.fibLevels||JSON.parse(JSON.stringify(fm)):v.fibExtLevels||JSON.parse(JSON.stringify(gm)),[v]),b=(0,t.useCallback)((e,t)=>{s("fib"===e?{fibLevels:t}:{fibExtLevels:t})},[s]);return(0,Hg.jsxs)("div",{ref:m,style:{position:"relative",display:"inline-block"},children:[(0,Hg.jsxs)("button",{onClick:()=>p(!h),style:{background:y?`${mg}20`:"transparent",color:y?mg:pg,border:`1px solid ${y?mg+"50":hg}`,padding:"2px 9px",cursor:"pointer",fontSize:"11px",fontWeight:700,fontFamily:Sg,borderRadius:2},children:["DRAW ",h?"\u25b4":"\u25be"]}),h&&(0,Hg.jsxs)("div",{style:{position:"absolute",top:"100%",left:0,zIndex:200,background:cg,border:`1px solid ${hg}`,padding:"8px 0",minWidth:200,marginTop:2,boxShadow:"0 4px 16px rgba(0,0,0,0.8)"},children:[(0,Hg.jsx)("div",{style:{padding:"0 10px 4px",fontSize:"7px",fontWeight:700,color:mg,letterSpacing:"1.5px",fontFamily:Sg},children:"TOOLS"}),xm.map(e=>{if("_sep"===e.key)return(0,Hg.jsx)("div",{style:{height:1,background:ug,margin:"4px 10px"}},"_sep");const t=i===e.key,n=f===e.key,r=e.color||(t?mg:gg);return(0,Hg.jsxs)("div",{style:{position:"relative"},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",background:t?`${mg}18`:"transparent"},children:[(0,Hg.jsxs)("button",{onClick:()=>{o(t?null:e.key),t||p(!1)},style:{display:"flex",alignItems:"center",gap:8,flex:1,background:"transparent",border:"none",padding:"5px 10px",cursor:"pointer",color:t?mg:r,fontSize:"9px",fontFamily:Sg,fontWeight:600},children:[(0,Hg.jsx)("span",{style:{fontSize:"12px",width:16,textAlign:"center",color:e.color||void 0},children:e.icon}),(0,Hg.jsx)("span",{children:e.label}),(0,Hg.jsxs)("span",{style:{marginLeft:"auto",display:"inline-flex",alignItems:"center",gap:6},children:[bm[e.key]&&(0,Hg.jsx)("span",{style:{fontSize:"7px",fontWeight:700,letterSpacing:"0.5px",color:t?mg:gg,padding:"1px 5px",border:`1px solid ${t?`${mg}80`:hg}`,borderRadius:2,fontFamily:Sg},children:bm[e.key]}),t&&(0,Hg.jsx)("span",{style:{fontSize:"7px",color:yg},children:"ACTIVE"})]})]}),e.hasGear&&(0,Hg.jsx)("button",{onClick:t=>{t.stopPropagation(),g(n?null:e.key)},style:{background:"transparent",border:"none",cursor:"pointer",color:n?mg:gg,fontSize:"10px",padding:"4px 8px"},title:"Configure levels",children:"\u2699"})]}),n&&(0,Hg.jsx)(Sm,{type:e.key,levels:x(e.key),defaults:"fib"===e.key?fm:gm,onChange:t=>b(e.key,t),onClose:()=>g(null)})]},e.key)}),(0,Hg.jsx)("div",{style:{height:1,background:ug,margin:"6px 10px"}}),(0,Hg.jsx)("div",{style:{padding:"0 10px 4px",fontSize:"7px",fontWeight:700,color:mg,letterSpacing:"1.5px",fontFamily:Sg},children:"COLOR"}),(0,Hg.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:3,padding:"0 10px 6px"},children:wm.map(e=>(0,Hg.jsx)("button",{onClick:()=>s({color:e}),style:{width:16,height:16,borderRadius:2,background:e,border:v.color===e?`2px solid ${pg}`:`1px solid ${ug}`,cursor:"pointer",padding:0}},e))}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"2px 10px"},children:[(0,Hg.jsx)("span",{style:{fontSize:"7px",color:gg,fontFamily:Sg,fontWeight:700},children:"WIDTH"}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,Hg.jsx)("input",{type:"range",min:1,max:4,step:1,value:v.lineWidth||1,onChange:e=>s({lineWidth:parseInt(e.target.value)}),style:{width:50,accentColor:mg}}),(0,Hg.jsx)("span",{style:{fontSize:"8px",color:pg,fontFamily:Sg,width:10,textAlign:"right"},children:v.lineWidth||1})]})]}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"2px 10px"},children:[(0,Hg.jsx)("span",{style:{fontSize:"7px",color:gg,fontFamily:Sg,fontWeight:700},children:"OPACITY"}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,Hg.jsx)("input",{type:"range",min:.1,max:1,step:.1,value:null!==(n=v.opacity)&&void 0!==n?n:.8,onChange:e=>s({opacity:parseFloat(e.target.value)}),style:{width:50,accentColor:mg}}),(0,Hg.jsxs)("span",{style:{fontSize:"8px",color:pg,fontFamily:Sg,width:20,textAlign:"right"},children:[(100*(null!==(r=v.opacity)&&void 0!==r?r:.8)).toFixed(0),"%"]})]})]}),(0,Hg.jsx)("div",{style:{height:1,background:ug,margin:"6px 10px"}}),(0,Hg.jsxs)("div",{style:{padding:"0 10px",display:"flex",flexDirection:"column",gap:3},children:[u&&(0,Hg.jsx)("button",{onClick:()=>d(),style:{background:"transparent",border:`1px solid ${vg}40`,color:vg,fontSize:"7px",fontFamily:Sg,fontWeight:700,padding:"3px 6px",cursor:"pointer",width:"100%"},children:"DELETE SELECTED"}),a>0&&(0,Hg.jsxs)("button",{onClick:()=>{window.confirm(`Clear all ${a} drawing(s) on this chart?`)&&c()},style:{background:"transparent",border:`1px solid ${ug}`,color:gg,fontSize:"7px",fontFamily:Sg,fontWeight:600,padding:"3px 6px",cursor:"pointer",width:"100%"},children:["CLEAR ALL (",a,")"]})]}),i&&(0,Hg.jsxs)("div",{style:{padding:"6px 10px 0",fontSize:"7px",color:gg,fontFamily:Sg,lineHeight:1.5},children:["pen"===i?"Press and drag to draw.":"Click chart to place."," ESC to cancel."]})]})]})}const km="#0a0a0a",_m="#171717",Em="#222222",Cm="#333333",Tm="#ffffff",Mm="#999999",Om="#666666",Am="#444444",Pm="#ff6d00",Im="#2ebd59",Dm="'Courier New', Consolas, 'Liberation Mono', monospace";function Lm(e){let{icon:t,label:n,hint:r,hasSubmenu:i,disabled:o,isHover:l,onClick:s,onMouseEnter:a}=e;const c=o?Am:l?Pm:Tm;return(0,Hg.jsxs)("div",{onMouseEnter:a,onClick:o?void 0:s,style:{display:"flex",alignItems:"center",gap:10,padding:"8px 12px",background:l&&!o?_m:"transparent",cursor:o?"not-allowed":"pointer",userSelect:"none"},children:[(0,Hg.jsx)("span",{style:{width:16,textAlign:"center",color:o?Am:l?Pm:Mm,fontSize:13},children:t}),(0,Hg.jsx)("span",{style:{flex:1,color:c,fontSize:11,fontWeight:700,letterSpacing:"1px",fontFamily:Dm,textTransform:"uppercase"},children:n}),r&&(0,Hg.jsx)("span",{style:{fontSize:8,color:Om,fontFamily:Dm,letterSpacing:"0.5px"},children:r}),i&&(0,Hg.jsx)("span",{style:{color:l?Pm:Om,fontSize:10,lineHeight:1},children:"\u25b6"})]})}function Rm(e){let{x:t,y:n,currentTool:r,onSelect:i}=e;return(0,Hg.jsxs)("div",{"data-mk-ctx-submenu":"draw",onMouseDown:e=>{e.stopPropagation(),e.nativeEvent.stopImmediatePropagation()},style:{position:"fixed",left:t,top:n,background:km,border:`1px solid ${Cm}`,boxShadow:"0 6px 20px rgba(0,0,0,0.7)",padding:4,minWidth:250,zIndex:1001,fontFamily:Dm},children:[(0,Hg.jsx)("div",{style:{padding:"6px 12px 8px",color:Pm,fontSize:8,letterSpacing:"1.5px",fontWeight:800,borderBottom:`1px solid ${Em}`,marginBottom:4},children:"DRAWING TOOLS"}),xm.map(e=>{if("_sep"===e.key)return(0,Hg.jsx)("div",{style:{height:1,background:Em,margin:"4px 8px"}},"_sep");const t=r===e.key,n=bm[e.key],o=e.color||(t?Pm:Tm);return(0,Hg.jsxs)("div",{onClick:()=>i(t?null:e.key),style:{display:"flex",alignItems:"center",gap:10,padding:"5px 12px",background:t?`${Pm}18`:"transparent",cursor:"pointer"},onMouseEnter:e=>{t||(e.currentTarget.style.background=_m)},onMouseLeave:e=>{e.currentTarget.style.background=t?`${Pm}18`:"transparent"},children:[(0,Hg.jsx)("span",{style:{width:16,textAlign:"center",color:e.color||(t?Pm:Mm),fontSize:13},children:e.icon}),(0,Hg.jsx)("span",{style:{flex:1,color:t?Pm:o,fontSize:9,fontWeight:600,letterSpacing:"0.8px",fontFamily:Dm},children:e.label}),n&&(0,Hg.jsx)("span",{style:{fontSize:7,fontWeight:700,letterSpacing:"0.5px",color:t?Pm:Om,padding:"1px 5px",border:`1px solid ${t?`${Pm}80`:Cm}`,borderRadius:2},children:n})]},e.key)})]})}function zm(e){let{x:n,y:r,assets:i,currentTicker:o,onSelect:l}=e;const[s,a]=(0,t.useState)(""),c=(0,t.useRef)(null);(0,t.useEffect)(()=>{const e=setTimeout(()=>{var e;return null===(e=c.current)||void 0===e?void 0:e.focus()},30);return()=>clearTimeout(e)},[]);const d=(0,t.useMemo)(()=>i?i instanceof Map?Array.from(i.keys()).sort():Array.isArray(i)?i.map(e=>e.ticker||e).filter(Boolean).sort():Object.keys(i).sort():[],[i]),u=(0,t.useMemo)(()=>{if(!s)return d;const e=s.toLowerCase();return d.filter(t=>t.toLowerCase().includes(e))},[d,s]);return(0,Hg.jsxs)("div",{"data-mk-ctx-submenu":"ticker",onMouseDown:e=>{e.stopPropagation(),e.nativeEvent.stopImmediatePropagation()},style:{position:"fixed",left:n,top:r,background:km,border:`1px solid ${Cm}`,boxShadow:"0 6px 20px rgba(0,0,0,0.7)",padding:4,minWidth:220,zIndex:1001,fontFamily:Dm,display:"flex",flexDirection:"column",maxHeight:360},children:[(0,Hg.jsxs)("div",{style:{padding:"6px 12px 4px",color:Pm,fontSize:8,letterSpacing:"1.5px",fontWeight:800},children:["CHANGE TICKER \xb7 ",d.length]}),(0,Hg.jsx)("input",{ref:c,value:s,onChange:e=>a(e.target.value),placeholder:"search\u2026",onKeyDown:e=>{"Enter"===e.key&&u.length>0&&l(u[0])},style:{margin:"4px 8px 6px",padding:"5px 8px",background:"#000",color:Tm,border:`1px solid ${Em}`,fontFamily:Dm,fontSize:10,letterSpacing:"1px",outline:"none"}}),(0,Hg.jsx)("div",{style:{overflowY:"auto",flex:1},children:0===u.length?(0,Hg.jsx)("div",{style:{padding:"12px 14px",color:Om,fontSize:9,textAlign:"center",letterSpacing:"0.5px"},children:"no match"}):u.map(e=>{const t=e===o;return(0,Hg.jsxs)("div",{onClick:()=>l(e),style:{display:"flex",alignItems:"center",gap:8,padding:"5px 12px",background:t?`${Pm}18`:"transparent",cursor:"pointer"},onMouseEnter:e=>{t||(e.currentTarget.style.background=_m)},onMouseLeave:e=>{e.currentTarget.style.background=t?`${Pm}18`:"transparent"},children:[(0,Hg.jsx)("span",{style:{width:14,color:t?Pm:Am,fontSize:9,textAlign:"center"},children:t?"\u25cf":"\u25cb"}),(0,Hg.jsx)("span",{style:{flex:1,color:t?Pm:Tm,fontSize:10,fontWeight:700,letterSpacing:"1px",fontFamily:Dm},children:e}),t&&(0,Hg.jsx)("span",{style:{fontSize:7,color:Im,letterSpacing:"1px"},children:"CURRENT"})]},e)})})]})}function Nm(e){let{x:n,y:r,currentTicker:i,currentTool:o,assets:l,onSelectDrawTool:s,onChangeTicker:a,onRefresh:c,onReset:d,onSettings:u,onSaveState:h,onClose:p}=e;const f=(0,t.useRef)(null),[g,m]=(0,t.useState)(null),[y,v]=(0,t.useState)(null),[x,b]=(0,t.useState)(!1),[w,S]=(0,t.useState)(null);(0,t.useEffect)(()=>{const e=e=>{var t;if(!e)return!1;if(null!==(t=f.current)&&void 0!==t&&t.contains(e))return!0;try{if("function"===typeof e.closest&&e.closest("[data-mk-ctx-submenu]"))return!0}catch{}return!1},t=t=>{e(t.target)||p()},n=e=>{"Escape"===e.key&&p()},r=t=>{e(t.target)||p()};return document.addEventListener("mousedown",t),document.addEventListener("keydown",n),window.addEventListener("scroll",r,!0),()=>{document.removeEventListener("mousedown",t),document.removeEventListener("keydown",n),window.removeEventListener("scroll",r,!0)}},[p]);const j=Math.min(n,("undefined"!==typeof window?window.innerWidth:1920)-220-6),k=Math.min(r,("undefined"!==typeof window?window.innerHeight:1080)-260-6),_="ticker"===g?220:250;let E=j+220+4;E+_>("undefined"!==typeof window?window.innerWidth:1920)&&(E=j-_-4);const C=k+4,T="draw"===g?C+36:"ticker"===g?C+72:C;return(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsxs)("div",{ref:f,style:{position:"fixed",left:j,top:k,background:km,border:`1px solid ${Cm}`,boxShadow:"0 6px 20px rgba(0,0,0,0.7)",padding:4,minWidth:220,zIndex:1e3,fontFamily:Dm},children:[(0,Hg.jsxs)("div",{style:x?{opacity:.5,pointerEvents:"none"}:void 0,children:[(0,Hg.jsx)(Lm,{icon:"\u26f6",label:"Reset Chart",hint:"fit \xb7 F",isHover:"reset"===y,onMouseEnter:()=>{v("reset"),m(null)},onClick:()=>{d&&d(),p()}}),(0,Hg.jsx)(Lm,{icon:"\u270e",label:"Draw",hasSubmenu:!0,isHover:"draw"===y,onMouseEnter:()=>{v("draw"),m("draw")}}),(0,Hg.jsx)(Lm,{icon:"\u25ce",label:"Change Ticker",hasSubmenu:!0,isHover:"ticker"===y,onMouseEnter:()=>{v("ticker"),m("ticker")}}),(0,Hg.jsx)(Lm,{icon:"\u21bb",label:"Refresh",hint:"reload bars",isHover:"refresh"===y,onMouseEnter:()=>{v("refresh"),m(null)},onClick:()=>{c&&c(),p()}}),(0,Hg.jsx)(Lm,{icon:"\u2699",label:"Settings",isHover:"settings"===y,onMouseEnter:()=>{v("settings"),m(null)},onClick:()=>{u&&u(),p()}})]}),(0,Hg.jsxs)("div",{onMouseEnter:()=>{v("save_state"),m(null)},onClick:()=>{if(x)return;const e=h&&h()||null;S(e),b(!0),setTimeout(()=>{b(!1),S(null),p()},800)},style:{display:"flex",alignItems:"center",gap:10,padding:"8px 12px",background:x?`${Im}25`:"save_state"===y?_m:"transparent",cursor:x?"default":"pointer",userSelect:"none",transition:"background 0.12s"},children:[(0,Hg.jsx)("span",{style:{width:16,textAlign:"center",color:x?Im:"save_state"===y?Pm:Mm,fontSize:13},children:x?"\u2713":"\ud83d\udcbe"}),(0,Hg.jsx)("span",{style:{flex:1,color:x?Im:"save_state"===y?Pm:Tm,fontSize:11,fontWeight:700,letterSpacing:"1px",fontFamily:Dm,textTransform:"uppercase"},children:x?w?`Saved \u2713 \xb7 ${w}`:"Saved \u2713":"Save State"}),!x&&(0,Hg.jsx)("span",{style:{fontSize:8,color:Om,fontFamily:Dm,letterSpacing:"0.5px"},children:"force write"})]})]}),"draw"===g&&(0,Hg.jsx)(Rm,{x:E,y:T,currentTool:o,onSelect:e=>{s&&s(e),p()}}),"ticker"===g&&(0,Hg.jsx)(zm,{x:E,y:T,assets:l,currentTicker:i,onSelect:e=>{a&&a(e),p()}})]})}const Fm="mk_sound_enabled",$m={connected:"/sounds/connected.wav",disconnected:"/sounds/disconnected.wav",order_filled:"/sounds/order_filled.wav",order_placed:"/sounds/order_placed.wav",target_hit:"/sounds/target_hit.wav",stoploss_hit:"/sounds/stoploss_hit.wav",regime_change:"/sounds/regime_change.wav",band_extreme:"/sounds/band_extreem.wav",user_message:"/sounds/you_have_a_msg.wav"},Wm={};function Bm(e){if(Wm[e])return Wm[e];const t=$m[e];if(!t)return console.warn(`[sounds] unknown event: ${e}`),null;try{const n=new Audio(t);return n.preload="auto",n.volume=.6,n.addEventListener("error",()=>{console.warn(`[sounds] failed to load: ${t}`)}),Wm[e]=n,n}catch(sd){return console.warn(`[sounds] new Audio threw for ${e}:`,sd),null}}function Um(){try{return"false"!==localStorage.getItem(Fm)}catch{return!0}}function Hm(e){if(!Um())return void console.debug(`[sounds] muted (master off): ${e}`);const t=Bm(e);if(t)try{const n=t.cloneNode(!0);n.volume=t.volume;const r=n.play();r&&"function"===typeof r.catch&&r.catch(t=>{console.warn(`[sounds] play() rejected for ${e}:`,(null===t||void 0===t?void 0:t.name)||t)})}catch(sd){console.warn(`[sounds] play threw for ${e}:`,sd)}}try{for(const e of Object.keys($m))Bm(e)}catch{}function Vm(e,t){if(null==e||!Number.isFinite(e))return e;const n=Math.pow(10,t);return Math.round(e*n)/n}function Ym(e){if(!e||0===e.length)return-1;let t=0,n=e[0];for(let r=1;r<e.length;r++)e[r]<n&&(n=e[r],t=r);return t}const Gm=[{min:.6,max:1/0,label:"Reinforced Concrete",icon:"\ud83c\udfd7\ufe0f",friction:"Maximum"},{min:.3,max:.6,label:"Steel Beam",icon:"\ud83d\udd29",friction:"Strong"},{min:.1,max:.3,label:"Reinforced",icon:"\ud83e\uddf1",friction:"Moderate"},{min:0,max:.1,label:"Plywood",icon:"\ud83e\udeb5",friction:"Light"},{min:-.15,max:0,label:"Thin Ice",icon:"\ud83e\uddca",friction:"None"},{min:-.5,max:-.15,label:"Glass Floor",icon:"\ud83d\udc8e",friction:"Amplified"},{min:-1/0,max:-.5,label:"Free Fall",icon:"\ud83d\udd73\ufe0f",friction:"Extreme \u2193"}];function Km(e,t){var n,r;let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:21;const l=null===e||void 0===e?void 0:e.aggregate;if(null===l||void 0===l||null===(n=l.strikes)||void 0===n||!n.length||null===l||void 0===l||null===(r=l.net_gex)||void 0===r||!r.length||l.strikes.length!==l.net_gex.length)return{spot:t,levels:[]};const s="number"===typeof i&&Number.isFinite(i)&&i>0?i:1,a=l.strikes.map(e=>e*s),c=l.net_gex,d=a.slice(1).map((e,t)=>e-a[t]),u=d.length?function(e){if(!e||0===e.length)return 0;const t=[...e].sort((e,t)=>e-t),n=Math.floor(t.length/2);return t.length%2===0?(t[n-1]+t[n])/2:t[n]}(d):1,h=Ym(a.map(e=>Math.abs(e-t))),p=Math.floor(o/2);let f=Math.max(0,h-p),g=Math.min(a.length,f+o);f=Math.max(0,g-o);const m=a.slice(f,g),y=c.slice(f,g),v=Math.max(1e-6,...y.map(Math.abs));return{spot:Vm(t,2),levels:m.map((e,n)=>{const r=y[n],i=r/v,o=function(e){for(const t of Gm)if(e>=t.min&&e<t.max)return t;return Gm[Gm.length-1]}(i);return{strike:Vm(e,2),gex:Vm(r,2),gex_norm:Vm(i,3),hardness:o.label,icon:o.icon,friction:o.friction,is_spot:Math.abs(e-t)<.6*u,color:i>.1?"#00c853":i>-.15?"#ffab00":"#f44336"}})}}function qm(e,t,n){var r,i,o,l;let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:18;const c=null===e||void 0===e?void 0:e.aggregate;if(null===c||void 0===c||null===(r=c.strikes)||void 0===r||!r.length||c.strikes.length<3||null===c||void 0===c||null===(i=c.net_gex)||void 0===i||!i.length)return{spot:n,levels:[]};const d="number"===typeof s&&Number.isFinite(s)&&s>0?s:1,u=c.strikes.map(e=>e*d),h=c.net_gex;if(u.length!==h.length)return{spot:n,levels:[]};const p=Ym(u.map(e=>Math.abs(e-n))),f=Math.floor(a/2);let g=Math.max(0,p-f),m=Math.min(u.length,g+a);g=Math.max(0,m-a);const y=u.slice(g,m),v=h.slice(g,m),x=Math.max(1e-6,...v.map(Math.abs)),b=null!==(o=null===t||void 0===t?void 0:t.strikes)&&void 0!==o?o:[],w=null!==(l=null===t||void 0===t?void 0:t.dealer_delta)&&void 0!==l?l:[],S=b.length>1&&w.length===b.length?y.map(e=>function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;const o=t.length;if(0===o)return r;if(e<=t[0])return o===n.length&&e===t[0]?n[0]:r;if(e>=t[o-1])return e===t[o-1]?n[o-1]:i;let l=0;for(;l<o-1&&t[l+1]<e;)l++;const s=t[l],a=t[l+1],c=n[l],d=n[l+1];return a===s?c:c+(e-s)/(a-s)*(d-c)}(e,b,w,0,0)):new Array(y.length).fill(0),j=function(e){const t=e.length;if(0===t)return[];if(1===t)return[0];const n=new Array(t);n[0]=e[1]-e[0],n[t-1]=e[t-1]-e[t-2];for(let r=1;r<t-1;r++)n[r]=(e[r+1]-e[r-1])/2;return n}(S);return{spot:Vm(n,2),levels:y.map((e,t)=>{const n=v[t]/x,r=S[t],i=j[t];let o,l,s,a,c;return n>.15&&Math.abs(r)>.1*x?(o="magnet",l="MAGNET",s="\ud83e\uddf2",a="#00d4ff",c="Dealers absorb moves here \u2014 expect chop and mean-reversion"):n<-.15?(o="spring",l="SPRING",s="\ud83d\ude80",a=r<0?"#00c853":"#f44336",c=r<0?"Dealers amplify moves \u2014 expect violent bounce up":"Dealers amplify moves \u2014 expect breakdown"):Math.abs(i)>.3*x?(o="spring",l="SPRING",s="\ud83d\ude80",a="#f44336",c="Dealer-delta sign flip \u2014 expect violent move"):(o="magnet",l="MAGNET",s="\ud83e\uddf2",a="#00d4ff",c="Mild absorption \u2014 minor pinning"),{strike:Vm(e,2),gex:Vm(v[t],2),gex_norm:Vm(n,3),dealer_delta:Vm(r,2),type:o,label:l,icon:s,color:a,desc:c,strength:Math.min(100,Math.floor(100*Math.abs(n)))}})}}class Xm{constructor(){this._markers=[],this._chart=null,this._series=null,this._requestUpdate=null}attached(e){let{chart:t,series:n,requestUpdate:r}=e;this._chart=t,this._series=n,this._requestUpdate=r}detached(){this._chart=null,this._series=null,this._requestUpdate=null}setMarkers(e){this._markers=e||[],this._requestUpdate&&this._requestUpdate()}paneViews(){return[new Jm(this)]}}class Jm{constructor(e){this._source=e}zOrder(){return"top"}renderer(){const e=this._source;return{draw(t){t.useMediaCoordinateSpace(t=>{let{context:n,mediaSize:r}=t;const i=e._chart,o=e._series;if(!i||!o||!e._markers.length)return;const l=i.timeScale();for(const a of e._markers){var s;const e=l.timeToCoordinate(a.time);if(null===e||e<-20||e>r.width+20)continue;const t="long"===a.direction?a.low:a.high,i=o.priceToCoordinate(t);if(null===i)continue;const c="long"===a.direction,d=7,u=5,h=null!==(s=a.opacity)&&void 0!==s?s:1;if(n.save(),n.globalAlpha=h,n.fillStyle=a.color,n.beginPath(),c){const t=i+u;n.moveTo(e,t),n.lineTo(e-.6*d,t+d),n.lineTo(e+.6*d,t+d)}else{const t=i-u;n.moveTo(e,t),n.lineTo(e-.6*d,t-d),n.lineTo(e+.6*d,t-d)}if(n.closePath(),n.fill(),a.label){n.font="bold 7px 'Courier New', monospace",n.textAlign="center",n.fillStyle=a.color;const t=c?i+u+d+9:i-u-d-3;n.fillText(a.label,e,t)}if(null!=a.confidence&&a.confidence>0){const t=c?i+u+d+14:i-u-d-10,r=1.5+2*a.confidence;n.beginPath(),n.arc(e,t,r,0,2*Math.PI),n.fill()}n.restore()}})}}}}const Qm={buy_color:"#2ebd59",sell_color:"#e8383b",opacity:.7};class Zm{constructor(){this._trades=[],this._styles={...Qm},this._chart=null,this._series=null,this._requestUpdate=null}attached(e){let{chart:t,series:n,requestUpdate:r}=e;this._chart=t,this._series=n,this._requestUpdate=r}detached(){this._chart=null,this._series=null,this._requestUpdate=null}setTrades(e){this._trades=e||[],this._requestUpdate&&this._requestUpdate()}setStyles(e){this._styles={...Qm,...e},this._requestUpdate&&this._requestUpdate()}paneViews(){return[new ey(this)]}}class ey{constructor(e){this._source=e}zOrder(){return"top"}renderer(){const e=this._source;return{draw(t){t.useMediaCoordinateSpace(t=>{let{context:n,mediaSize:r}=t;const i=e._chart,o=e._series;if(!i||!o||!e._trades.length)return;const l=i.timeScale(),s=e._styles;for(const a of e._trades){const e=l.timeToCoordinate(a.openTime),t=l.timeToCoordinate(a.closeTime),i=o.priceToCoordinate(a.openPrice),c=o.priceToCoordinate(a.closePrice);if((null===e||e<-40||e>r.width+40)&&(null===t||t<-40||t>r.width+40))continue;const d="BUY"===a.direction,u=d?s.buy_color:s.sell_color;if(n.save(),n.globalAlpha=s.opacity,null!==e&&null!==t&&null!==i&&null!==c&&(n.strokeStyle=u,n.lineWidth=1,n.setLineDash([3,3]),n.beginPath(),n.moveTo(e,i),n.lineTo(t,c),n.stroke(),n.setLineDash([])),null!==e&&null!==i){const t=6;n.fillStyle=u,n.beginPath(),d?(n.moveTo(e,i+4),n.lineTo(e-.6*t,i+4+t),n.lineTo(e+.6*t,i+4+t)):(n.moveTo(e,i-4),n.lineTo(e-.6*t,i-4-t),n.lineTo(e+.6*t,i-4-t)),n.closePath(),n.fill(),n.font="bold 7px 'Courier New', monospace",n.textAlign="center",n.fillStyle=u;const r=d?i+4+t+9:i-4-t-3;n.fillText(d?"BUY":"SELL",e,r)}if(null!==t&&null!==c){const e=4;n.strokeStyle=u,n.lineWidth=2,n.beginPath(),n.moveTo(t-e,c-e),n.lineTo(t+e,c+e),n.moveTo(t+e,c-e),n.lineTo(t-e,c+e),n.stroke(),n.font="bold 7px 'Courier New', monospace",n.textAlign="center",n.fillStyle=u;const r=(a.profit>=0?"+":"")+a.profit.toFixed(2);n.fillText(r,t,c-e-4)}n.restore()}})}}}}class ty{constructor(){this._drawings=[],this._preview=null,this._selectedId=null,this._paneView=new ny(this),this._chart=null,this._series=null,this._requestUpdate=null}attached(e){let{chart:t,series:n,requestUpdate:r}=e;this._chart=t,this._series=n,this._requestUpdate=r}detached(){this._chart=null,this._series=null,this._requestUpdate=null}paneViews(){return[this._paneView]}updateAllViews(){this._paneView.update()}setDrawings(e){var t;this._drawings=e||[],null===(t=this._requestUpdate)||void 0===t||t.call(this)}setPreview(e){var t;this._preview=e,null===(t=this._requestUpdate)||void 0===t||t.call(this)}setSelectedId(e){var t;this._selectedId=e,null===(t=this._requestUpdate)||void 0===t||t.call(this)}}class ny{constructor(e){this._source=e,this._renderData=[],this._previewData=null}update(){const{_chart:e,_series:t,_drawings:n,_preview:r,_selectedId:i}=this._source;if(!e||!t)return this._renderData=[],void(this._previewData=null);const o=e.timeScale();this._renderData=n.map(e=>this._convertDrawing(e,t,o,e.id===i)).filter(Boolean),this._previewData=r?this._convertDrawing(r,t,o,!1,!0):null}_convertDrawing(e,t,n,r){let i=arguments.length>4&&void 0!==arguments[4]&&arguments[4];const o=[],l="position_long"===e.type||"position_short"===e.type;if(l&&e.points.length>=3){let r=null,i=null;try{r=n.timeToCoordinate(e.points[0].time)}catch{}try{i=n.timeToCoordinate(e.points[1].time)}catch{}if(null==r)return null;null==i&&(i=r+200);const l=Math.max(i-r,80);for(let n=0;n<e.points.length;n++){let i=null;try{i=t.priceToCoordinate(e.points[n].price)}catch{}if(null==i)return null;o.push({x:0===n?r:r+l,y:i})}}else for(const p of e.points){let r=null;if("hline"===e.type)r=0;else try{r=n.timeToCoordinate(p.time)}catch{r=null}let i=null;try{i=t.priceToCoordinate(p.price)}catch{i=null}"hline"===e.type&&null!=i?o.push({x:0,y:i}):null!=r&&null!=i&&o.push({x:r,y:i})}const s="hline"===e.type||"text"===e.type?1:l?3:2;if(o.length<s)return null;let a=null;const c="fib"===e.type&&e.points.length>=2,d="fib_ext"===e.type&&e.points.length>=3;if(c||d){var u;const n=[0,.236,.382,.5,.618,.786,1],r=[0,.618,1,1.272,1.618,2,2.618];let i=null===(u=e.style)||void 0===u?void 0:u._levels;if(!i){i=("fib_ext"===e.type?r:n).map(e=>({level:e,color:null,enabled:!0}))}a=i.filter(e=>!1!==e.enabled).map(n=>{const r="number"===typeof n?n:n.level,i="object"===typeof n&&n.color?n.color:null;let o;if(d)o=e.points[2].price+r*(e.points[1].price-e.points[0].price);else{const t=Math.max(e.points[0].price,e.points[1].price);o=t-r*(t-Math.min(e.points[0].price,e.points[1].price))}let l=null;try{l=t.priceToCoordinate(o)}catch{}return{level:r,price:o,y:l,color:i}}).filter(e=>null!=e.y)}let h=!0;if("fib_ext"===e.type&&e.points.length>=3){const t=e.points[0],n=e.points[1],r=e.points[2];h=!!(t.time<n.time&&n.time<r.time)&&(t.price<n.price?t.price<r.price&&r.price<n.price:t.price>n.price&&(n.price<r.price&&r.price<t.price))}return{type:e.type,points:o,style:e.style||{},selected:r,isPreview:i,id:e.id,fibLevels:a,validAbc:h,pricePoints:"position_long"===e.type||"position_short"===e.type?e.points:null}}renderer(){return new ry(this._renderData,this._previewData)}zOrder(){return"top"}}class ry{constructor(e,t){this._data=e,this._preview=t}draw(e){e.useBitmapCoordinateSpace(e=>{const t=e.context,n=e.horizontalPixelRatio,r=e.verticalPixelRatio,i=e.bitmapSize.width,o=e.bitmapSize.height;for(const l of this._data)this._drawShape(t,l,n,r,i,o);this._preview&&this._drawShape(t,this._preview,n,r,i,o)})}_drawShape(e,t,n,r,i,o){var l;const s=t.style,a=t.isPreview?.5:null!==(l=s.opacity)&&void 0!==l?l:.8,c=s.color||"#ff6d00",d=(s.lineWidth||1)*n,u=t.selected;switch(e.save(),e.globalAlpha=a,e.strokeStyle=c,e.lineWidth=d,e.fillStyle=c,t.isPreview?e.setLineDash([6*n,4*n]):e.setLineDash([]),t.type){case"hline":this._drawHLine(e,t,n,r,i,u);break;case"trendline":this._drawTrendLine(e,t,n,r,u);break;case"ray":this._drawRay(e,t,n,r,i,u);break;case"path":this._drawPath(e,t,n,r,u);break;case"text":this._drawText(e,t,n,r,u);break;case"price_point":this._drawPricePoint(e,t,n,r,u);break;case"rectangle":this._drawRectangle(e,t,n,r,u);break;case"circle":this._drawCircle(e,t,n,r,u);break;case"fib":case"fib_ext":this._drawFib(e,t,n,r,i,u);break;case"pen":this._drawPen(e,t,n,r,u);break;case"position_long":case"position_short":this._drawPosition(e,t,n,r,i,u)}e.restore()}_drawHLine(e,t,n,r,i,o){const l=Math.round(t.points[0].y*r);e.beginPath(),e.moveTo(0,l),e.lineTo(i,l),e.stroke(),o&&(e.save(),e.globalAlpha=.3,e.lineWidth=(t.style.lineWidth||1)*n+4*n,e.beginPath(),e.moveTo(0,l),e.lineTo(i,l),e.stroke(),e.restore());const s=t.style._priceLabel;if(null!=s){e.globalAlpha=.9;const o="number"===typeof s?s.toFixed(2):String(s);e.font=`${Math.round(9*r)}px 'Courier New', monospace`;const a=e.measureText(o).width,c=3*n,d=i-a-3*c;e.fillStyle="#111",e.fillRect(d-c,l-7*r,a+2*c,14*r),e.fillStyle=t.style.color||"#ff6d00",e.fillText(o,d,l+3*r)}}_drawTrendLine(e,t,n,r,i){const[o,l]=t.points,s=Math.round(o.x*n),a=Math.round(o.y*r),c=Math.round(l.x*n),d=Math.round(l.y*r);e.beginPath(),e.moveTo(s,a),e.lineTo(c,d),e.stroke();const u=3*n;for(const[h,p]of[[s,a],[c,d]])e.beginPath(),e.arc(h,p,u,0,2*Math.PI),e.fill();i&&(e.save(),e.globalAlpha=.3,e.lineWidth=(t.style.lineWidth||1)*n+4*n,e.setLineDash([]),e.beginPath(),e.moveTo(s,a),e.lineTo(c,d),e.stroke(),e.restore())}_drawText(e,t,n,r,i){var o,l,s,a;const c=null===(o=t.points)||void 0===o?void 0:o[0];if(!c)return;const d=Math.round(c.x*n),u=Math.round(c.y*r),h=(null===(l=t.style)||void 0===l?void 0:l._text)||"Text",p=Math.round(((null===(s=t.style)||void 0===s?void 0:s.fontSize)||11)*n);e.save(),e.font=`${p}px 'Courier New', 'Monaco', 'Consolas', monospace`,e.textBaseline="middle",e.textAlign="left";const f=e.measureText(h);var g;i&&(e.save(),e.globalAlpha=.18,e.fillStyle=(null===(g=t.style)||void 0===g?void 0:g.color)||"#ff6d00",e.fillRect(d-3,u-.7*p,f.width+6,1.4*p),e.restore());e.fillStyle=(null===(a=t.style)||void 0===a?void 0:a.color)||"#ff6d00",e.fillText(h,d,u),e.restore()}_drawPricePoint(e,t,n,r,i){var o,l,s,a,c,d;const u=null===(o=t.points)||void 0===o?void 0:o[0],h=(null===(l=t.points)||void 0===l?void 0:l[1])||(null===(s=t.points)||void 0===s?void 0:s[0]);if(!u)return;const p=Math.round(u.x*n),f=Math.round(u.y*r),g=Math.round(h.x*n),m=Math.round(h.y*r),y=4*n,v=(null===(a=t.style)||void 0===a?void 0:a.color)||"#ff6d00",x=null!==(c=null===(d=t.style)||void 0===d?void 0:d._priceLabel)&&void 0!==c?c:u.price;var b;(e.beginPath(),e.arc(p,f,y,0,2*Math.PI),e.fill(),h===u||p===g&&f===m)||(e.save(),e.strokeStyle=v,e.lineWidth=Math.max(1,((null===(b=t.style)||void 0===b?void 0:b.lineWidth)||1)*n),e.beginPath(),e.moveTo(p,f),e.lineTo(g,m),e.stroke(),e.restore());if(null!=x&&isFinite(x)){var w,S;const r=Math.round(((null===(w=t.style)||void 0===w?void 0:w.fontSize)||11)*n);e.save(),e.font=`bold ${r}px 'Courier New', 'Monaco', 'Consolas', monospace`,e.textBaseline="middle",e.textAlign="center";const o=Number(x).toFixed(Math.abs(x)<10?4:2),l=6*n,s=4*n,a=e.measureText(o).width+2*l,c=r+2*s,d=g-a/2,u=m-c/2;return e.save(),e.globalAlpha=.85,e.fillStyle="#000",e.fillRect(d,u,a,c),e.restore(),e.strokeStyle=v,e.lineWidth=Math.max(1,((null===(S=t.style)||void 0===S?void 0:S.lineWidth)||1)*n),e.strokeRect(d+.5,u+.5,a-1,c-1),e.fillStyle=v,e.fillText(o,g,m),e.restore(),void(i&&(e.save(),e.globalAlpha=.35,e.lineWidth=2*n,e.strokeStyle=v,e.beginPath(),e.arc(p,f,y+3*n,0,2*Math.PI),e.stroke(),e.strokeRect(d-2,u-2,a+4,c+4),e.restore()))}i&&(e.save(),e.globalAlpha=.35,e.lineWidth=2*n,e.strokeStyle=v,e.beginPath(),e.arc(p,f,y+3*n,0,2*Math.PI),e.stroke(),e.restore())}_drawPath(e,t,n,r,i){const o=t.points;if(!o||o.length<2){if(1===(null===o||void 0===o?void 0:o.length)){const t=Math.round(o[0].x*n),i=Math.round(o[0].y*r);e.beginPath(),e.arc(t,i,3*n,0,2*Math.PI),e.fill()}return}e.beginPath(),e.moveTo(Math.round(o[0].x*n),Math.round(o[0].y*r));for(let d=1;d<o.length;d++)e.lineTo(Math.round(o[d].x*n),Math.round(o[d].y*r));e.stroke();const l=Math.round(o[o.length-2].x*n),s=Math.round(o[o.length-2].y*r),a=Math.round(o[o.length-1].x*n),c=Math.round(o[o.length-1].y*r);if(this._drawArrowhead(e,l,s,a,c,n),i){e.save(),e.globalAlpha=.3,e.lineWidth=(t.style.lineWidth||1)*n+4*n,e.setLineDash([]),e.beginPath(),e.moveTo(Math.round(o[0].x*n),Math.round(o[0].y*r));for(let t=1;t<o.length;t++)e.lineTo(Math.round(o[t].x*n),Math.round(o[t].y*r));e.stroke(),e.restore()}}_drawArrowhead(e,t,n,r,i,o){const l=r-t,s=i-n;if(0===l&&0===s)return;const a=Math.atan2(s,l),c=10*o,d=Math.PI/7;e.save(),e.beginPath(),e.moveTo(r,i),e.lineTo(r-c*Math.cos(a-d),i-c*Math.sin(a-d)),e.lineTo(r-c*Math.cos(a+d),i-c*Math.sin(a+d)),e.closePath(),e.fill(),e.restore()}_drawRay(e,t,n,r,i,o){var l;const[s,a]=t.points;if(!s||!a)return;const c=Math.round(s.x*n),d=Math.round(s.y*r),u=Math.round(a.x*n),h=Math.round(a.y*r),p=u-c,f=h-d,g=(null===(l=e.canvas)||void 0===l?void 0:l.height)||1e4;let m,y;if(0===p&&0===f)m=u,y=h;else if(0===p)m=u,y=f>0?g:0;else{const e=f/p;m=p>0?i:0,y=Math.round(d+e*(m-c))}if(e.beginPath(),e.moveTo(c,d),e.lineTo(m,y),e.stroke(),o){e.save(),e.globalAlpha=.3,e.lineWidth=(t.style.lineWidth||1)*n+4*n,e.setLineDash([]),e.beginPath(),e.moveTo(c,d),e.lineTo(m,y),e.stroke(),e.restore();const r=3*n;for(const[t,n]of[[c,d],[u,h]])e.beginPath(),e.arc(t,n,r,0,2*Math.PI),e.fill()}}_drawRectangle(e,t,n,r,i){var o;const[l,s]=t.points,a=Math.round(l.x*n),c=Math.round(l.y*r),d=Math.round(s.x*n),u=Math.round(s.y*r),h=Math.min(a,d),p=Math.min(c,u),f=Math.abs(d-a),g=Math.abs(u-c);if(e.save(),e.globalAlpha=(null!==(o=t.style.opacity)&&void 0!==o?o:.8)*(t.isPreview?.15:.08),e.fillRect(h,p,f,g),e.restore(),e.strokeRect(h,p,f,g),i&&(e.save(),e.globalAlpha=.3,e.lineWidth=(t.style.lineWidth||1)*n+4*n,e.setLineDash([]),e.strokeRect(h,p,f,g),e.restore()),i){e.save(),e.globalAlpha=.9;const t=3*n;for(const[n,r]of[[h,p],[h+f,p],[h,p+g],[h+f,p+g]])e.fillRect(n-t,r-t,2*t,2*t);e.restore()}}_drawCircle(e,t,n,r,i){var o;const[l,s]=t.points,a=Math.round(l.x*n),c=Math.round(l.y*r),d=Math.abs(Math.round((s.x-l.x)*n)),u=Math.abs(Math.round((s.y-l.y)*r));if(!(d<1&&u<1)&&(e.save(),e.globalAlpha=(null!==(o=t.style.opacity)&&void 0!==o?o:.8)*(t.isPreview?.12:.06),e.beginPath(),e.ellipse(a,c,d,u,0,0,2*Math.PI),e.fill(),e.restore(),e.beginPath(),e.ellipse(a,c,d,u,0,0,2*Math.PI),e.stroke(),i)){e.save(),e.globalAlpha=.3,e.lineWidth=(t.style.lineWidth||1)*n+4*n,e.setLineDash([]),e.beginPath(),e.ellipse(a,c,d,u,0,0,2*Math.PI),e.stroke(),e.restore(),e.save(),e.globalAlpha=.9;const i=3*n;e.fillRect(a-i,c-i,2*i,2*i);const o=Math.round(s.x*n),l=Math.round(s.y*r);e.fillRect(o-i,l-i,2*i,2*i),e.restore()}}_drawFib(e,t,n,r,i,o){const l=t.points;if("fib_ext"===t.type&&2===l.length){var s,a;const i=Math.round(l[0].x*n),o=Math.round(l[0].y*r),c=Math.round(l[1].x*n),d=Math.round(l[1].y*r);return e.save(),e.strokeStyle=(null===(s=t.style)||void 0===s?void 0:s.color)||"#ff6d00",e.lineWidth=Math.max(1,((null===(a=t.style)||void 0===a?void 0:a.lineWidth)||1)*n),e.setLineDash([6*n,4*n]),e.beginPath(),e.moveTo(i,o),e.lineTo(c,d),e.stroke(),void e.restore()}if(!t.fibLevels||0===t.fibLevels.length)return;let c,d,u,h,p;if("fib_ext"===t.type&&l.length>=3){const e=Math.round(l[0].x*n),t=Math.round(l[1].x*n),r=Math.round(l[2].x*n);if(u=r,l.length>=4){const e=Math.round(l[3].x*n);h=Math.max(e,r+20*n),p=h-u}else{const i=Math.abs(t-e);p=Math.max(i,150*n),h=r+p}c=e,d=t}else{c=Math.round(l[0].x*n),d=Math.round(l[1].x*n);const e=Math.min(c,d),t=Math.max(c,d);p=Math.max(t-e,100*n),u=e,h=e+p}if("fib_ext"===t.type&&l.length>=3){var f,g;const i=Math.round(l[0].y*r),o=Math.round(l[1].y*r),s=Math.round(l[2].x*n),a=Math.round(l[2].y*r);e.save(),e.strokeStyle=(null===(f=t.style)||void 0===f?void 0:f.color)||"#ff6d00",e.lineWidth=Math.max(1,((null===(g=t.style)||void 0===g?void 0:g.lineWidth)||1)*n),e.globalAlpha=t.isPreview?.5:.8,e.setLineDash([]),e.beginPath(),e.moveTo(c,i),e.lineTo(d,o),e.stroke(),e.beginPath(),e.moveTo(d,o),e.lineTo(s,a),e.stroke(),e.restore()}const m=["#ffffff","#ffc107","#2ebd59","#3796ff","#9b59b6","#ff6d00","#e8383b","#00d2d3"],y="fib_ext"===t.type&&!1===t.validAbc,v="#888888",x=Math.round(8*r);e.font=`${x}px 'Courier New', monospace`;for(let w=0;w<t.fibLevels.length;w++){var b;const i=t.fibLevels[w],o=Math.round(i.y*r),l=y?v:i.color||t.style.color||m[w%m.length];if(!0===(null===(b=t.style)||void 0===b?void 0:b.fibFill)&&w<t.fibLevels.length-1){const n=Math.round(t.fibLevels[w+1].y*r);e.save(),e.globalAlpha=y?.02:t.isPreview?.04:.03,e.fillStyle=l,e.fillRect(u,Math.min(o,n),p,Math.abs(n-o)),e.restore()}e.save(),e.strokeStyle=l,e.globalAlpha=y?.5:t.isPreview?.4:.7,e.setLineDash([4*n,3*n]),e.beginPath(),e.moveTo(u,o),e.lineTo(h,o),e.stroke(),e.restore(),e.save(),e.globalAlpha=.85;const s=`${(100*i.level).toFixed(1)}% ${i.price.toFixed(2)}`;e.fillStyle="#111";const a=e.measureText(s).width,c=2*n;e.fillRect(h+c,o-.6*x,a+2*c,1.3*x),e.fillStyle=l,e.fillText(s,h+2*c,o+.35*x),e.restore()}if(y&&l.length>=3){const t=Math.round(l[2].x*n),i=Math.round(l[2].y*r),o="\u26a0 invalid ABC",s=Math.round(9*r);e.save(),e.font=`${s}px 'Courier New', monospace`,e.textBaseline="middle",e.textAlign="left";const a=e.measureText(o).width,c=3*n,d=t+8*n,u=i-s-6*r;e.globalAlpha=.8,e.fillStyle="#000",e.fillRect(d-c,u-.7*s,a+2*c,1.4*s),e.globalAlpha=1,e.fillStyle=v,e.fillText(o,d,u),e.restore()}if(o){const i=Math.round(t.fibLevels[0].y*r),o=Math.round(t.fibLevels[t.fibLevels.length-1].y*r);e.save(),e.globalAlpha=.25,e.lineWidth=2*n,e.setLineDash([]),e.strokeRect(u,Math.min(i,o),p,Math.abs(o-i)),e.restore(),e.save(),e.globalAlpha=.9;const s=3*n;for(const t of l){const i=Math.round(t.x*n),o=Math.round(t.y*r);e.fillRect(i-s,o-s,2*s,2*s)}e.restore()}}_drawPen(e,t,n,r,i){const o=t.points;if(!(o.length<2)){e.beginPath(),e.moveTo(Math.round(o[0].x*n),Math.round(o[0].y*r));for(let t=1;t<o.length;t++)e.lineTo(Math.round(o[t].x*n),Math.round(o[t].y*r));if(e.stroke(),i){e.save(),e.globalAlpha=.3,e.lineWidth=(t.style.lineWidth||1)*n+4*n,e.setLineDash([]),e.beginPath(),e.moveTo(Math.round(o[0].x*n),Math.round(o[0].y*r));for(let t=1;t<o.length;t++)e.lineTo(Math.round(o[t].x*n),Math.round(o[t].y*r));e.stroke(),e.restore()}}}_drawPosition(e,t,n,r,i,o){var l,s,a,c;const[d,u,h]=t.points,p="position_long"===t.type,f=t.isPreview?.4:null!==(l=t.style.opacity)&&void 0!==l?l:.8,g=(t.style.lineWidth||1)*n,m=Math.round(d.y*r),y=Math.round(u.y*r),v=Math.round(h.y*r),x=Math.round(Math.min(d.x,u.x)*n),b=Math.round(Math.max(d.x,u.x)*n),w=Math.max(b-x,60*n),S="#2ebd59",j="#e8383b",k="#ff6d00";e.save(),e.globalAlpha=f*(t.isPreview?.12:.15),e.fillStyle=j;const _=Math.min(m,y),E=Math.abs(y-m);e.fillRect(x,_,w,E),e.restore(),e.save(),e.globalAlpha=f*(t.isPreview?.12:.15),e.fillStyle=S;const C=Math.min(m,v),T=Math.abs(v-m);e.fillRect(x,C,w,T),e.restore(),e.save(),e.globalAlpha=.3*f,e.strokeStyle=p?S:j,e.lineWidth=n,e.setLineDash([]);const M=Math.min(y,v),O=Math.abs(v-y);e.strokeRect(x,M,w,O),e.restore(),e.save(),e.globalAlpha=f,e.lineWidth=g,e.setLineDash([]),e.strokeStyle=k,e.beginPath(),e.moveTo(x,m),e.lineTo(x+w,m),e.stroke(),e.strokeStyle=j,e.setLineDash([4*n,3*n]),e.beginPath(),e.moveTo(x,y),e.lineTo(x+w,y),e.stroke(),e.strokeStyle=S,e.beginPath(),e.moveTo(x,v),e.lineTo(x+w,v),e.stroke(),e.restore();const A=Math.round(9*r);e.font=`bold ${A}px 'Courier New', monospace`;const P=3*n,I=x+w+P,D=t.pricePoints,L=null===D||void 0===D||null===(s=D[0])||void 0===s?void 0:s.price,R=null===D||void 0===D||null===(a=D[1])||void 0===a?void 0:a.price,z=null===D||void 0===D||null===(c=D[2])||void 0===c?void 0:c.price;e.save(),e.globalAlpha=.9;const N=`ENTRY ${null!=L?L.toFixed(2):""}`,F=e.measureText(N).width;e.fillStyle="#111",e.fillRect(I,m-.6*A,F+2*P,1.3*A),e.fillStyle=k,e.fillText(N,I+P,m+.35*A),e.restore(),e.save(),e.globalAlpha=.9;const $=`SL ${null!=R?R.toFixed(2):""}`,W=e.measureText($).width;e.fillStyle="#111",e.fillRect(I,y-.6*A,W+2*P,1.3*A),e.fillStyle=j,e.fillText($,I+P,y+.35*A),e.restore(),e.save(),e.globalAlpha=.9;const B=`TP ${null!=z?z.toFixed(2):""}`,U=e.measureText(B).width;if(e.fillStyle="#111",e.fillRect(I,v-.6*A,U+2*P,1.3*A),e.fillStyle=S,e.fillText(B,I+P,v+.35*A),e.restore(),null!=L&&null!=R&&null!=z){const t=Math.abs(L-R),n=Math.abs(z-L),i=`${t>0?(n/t).toFixed(1):"\u221e"}:1 R:R`;e.save(),e.font=`bold ${Math.round(11*r)}px 'Courier New', monospace`,e.globalAlpha=.9*f,e.fillStyle=p?S:j;const o=e.measureText(i).width,l=x+(w-o)/2,s=(m+v)/2+.35*A;e.fillStyle="#111",e.globalAlpha=.7,e.fillRect(l-P,s-1*A,o+2*P,1.4*A),e.globalAlpha=.95*f,e.fillStyle=p?S:j,e.fillText(i,l,s),e.restore()}if(o){e.save(),e.globalAlpha=.35,e.lineWidth=2*n,e.strokeStyle=p?S:j,e.setLineDash([]),e.strokeRect(x-2*n,M-2*r,w+4*n,O+4*r),e.restore(),e.save(),e.globalAlpha=.9;const t=4*n,i=x+w/2;e.fillStyle=k,e.fillRect(i-t,m-t,2*t,2*t),e.fillStyle=j,e.fillRect(i-t,y-t,2*t,2*t),e.fillStyle=S,e.fillRect(i-t,v-t,2*t,2*t);const o=x+w,l=(M+M+O)/2;e.fillStyle=p?S:j,e.globalAlpha=.6,e.fillRect(o-2*n,l-12*r,4*n,24*r),e.globalAlpha=.9,e.font=`${Math.round(8*r)}px 'Courier New', monospace`,e.fillText("\u25c0\u25b6",o-6*n,l+3*r),e.restore()}}}const iy=["#ff6d00","#e8383b","#2ebd59","#3796ff","#9b59b6","#00d2d3","#f1c40f","#ffffff","#888888"];function oy(e){var t,n,r;let{drawing:i,onChange:o,onDelete:l,onDeselect:s}=e;if(!i)return null;const a=i.style||{},c=a.color||"#ff6d00",d=null!==(t=a.lineWidth)&&void 0!==t?t:1,u=null!==(n=a.opacity)&&void 0!==n?n:.8,h="text"===i.type||"price_point"===i.type,p=null!==(r=a.fontSize)&&void 0!==r?r:11,f="fib"===i.type||"fib_ext"===i.type,g=!0===a.fibFill,m=e=>null===o||void 0===o?void 0:o(e);return(0,Hg.jsxs)("div",{onClick:e=>e.stopPropagation(),style:{position:"absolute",top:10,right:10,zIndex:70,background:cg,border:`1px solid ${hg}`,borderRadius:4,padding:"8px 10px",fontFamily:Sg,boxShadow:"0 4px 16px rgba(0,0,0,0.6)",minWidth:220},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:8,paddingBottom:6,borderBottom:`1px solid ${ug}`},children:[(0,Hg.jsxs)("span",{style:{fontSize:8,color:mg,letterSpacing:"1.5px",textTransform:"uppercase",fontWeight:700},children:["Edit \xb7 ",i.type]}),(0,Hg.jsx)("button",{onClick:s,title:"Close (deselect)",style:{background:"transparent",border:"none",color:gg,cursor:"pointer",fontSize:11,padding:"0 2px",lineHeight:1},children:"\u2715"})]}),(0,Hg.jsxs)("div",{style:{marginBottom:8},children:[(0,Hg.jsx)("div",{style:{fontSize:7,color:gg,letterSpacing:"1px",textTransform:"uppercase",marginBottom:4,fontWeight:700},children:"COLOR"}),(0,Hg.jsx)("div",{style:{display:"flex",gap:3,flexWrap:"wrap"},children:iy.map(e=>(0,Hg.jsx)("button",{onClick:()=>m({color:e}),title:e,style:{width:16,height:16,background:e,border:e===c?`2px solid ${mg}`:`1px solid ${hg}`,borderRadius:2,cursor:"pointer",padding:0,boxShadow:e===c?`0 0 0 1px ${cg}`:"none"}},e))})]}),h?(0,Hg.jsxs)("div",{style:{marginBottom:8},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:3},children:[(0,Hg.jsx)("span",{style:{fontSize:7,color:gg,letterSpacing:"1px",textTransform:"uppercase",fontWeight:700},children:"FONT SIZE"}),(0,Hg.jsxs)("span",{style:{fontSize:9,color:pg,fontFamily:Sg},children:[p,"px"]})]}),(0,Hg.jsx)("div",{style:{display:"flex",gap:3},children:[10,12,16,20,28].map(e=>(0,Hg.jsx)("button",{onClick:()=>m({fontSize:e}),title:`${e}px`,style:{flex:1,height:18,background:e===p?`${mg}20`:"transparent",border:`1px solid ${e===p?mg:hg}`,color:e===p?mg:gg,cursor:"pointer",borderRadius:2,fontSize:9,fontFamily:Sg,fontWeight:700,display:"flex",alignItems:"center",justifyContent:"center"},children:e},e))})]}):(0,Hg.jsxs)("div",{style:{marginBottom:8},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:3},children:[(0,Hg.jsx)("span",{style:{fontSize:7,color:gg,letterSpacing:"1px",textTransform:"uppercase",fontWeight:700},children:"WIDTH"}),(0,Hg.jsxs)("span",{style:{fontSize:9,color:pg,fontFamily:Sg},children:[d,"px"]})]}),(0,Hg.jsx)("div",{style:{display:"flex",gap:3},children:[1,2,3,4].map(e=>(0,Hg.jsx)("button",{onClick:()=>m({lineWidth:e}),title:`${e}px`,style:{flex:1,height:18,background:e===d?`${mg}20`:"transparent",border:`1px solid ${e===d?mg:hg}`,color:e===d?mg:gg,cursor:"pointer",borderRadius:2,fontSize:9,fontFamily:Sg,display:"flex",alignItems:"center",justifyContent:"center"},children:(0,Hg.jsx)("div",{style:{width:"70%",height:e,background:"currentColor",borderRadius:1}})},e))})]}),(0,Hg.jsxs)("div",{style:{marginBottom:8},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:3},children:[(0,Hg.jsx)("span",{style:{fontSize:7,color:gg,letterSpacing:"1px",textTransform:"uppercase",fontWeight:700},children:"OPACITY"}),(0,Hg.jsxs)("span",{style:{fontSize:9,color:pg,fontFamily:Sg},children:[Math.round(100*u),"%"]})]}),(0,Hg.jsx)("input",{type:"range",min:.1,max:1,step:.05,value:u,onChange:e=>m({opacity:parseFloat(e.target.value)}),style:{width:"100%",accentColor:mg}})]}),f&&(0,Hg.jsx)("div",{style:{marginBottom:8},children:(0,Hg.jsxs)("button",{onClick:()=>m({fibFill:!g}),style:{width:"100%",padding:"4px 8px",background:g?`${mg}20`:"transparent",border:`1px solid ${g?mg:hg}`,color:g?mg:gg,fontSize:8,fontWeight:700,letterSpacing:"1.2px",fontFamily:Sg,cursor:"pointer",borderRadius:2,display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,Hg.jsx)("span",{children:"INTERNAL FILL"}),(0,Hg.jsx)("span",{children:g?"ON":"OFF"})]})}),(0,Hg.jsx)("button",{onClick:l,style:{width:"100%",marginTop:4,padding:"5px 8px",borderRadius:2,background:`${vg}15`,color:vg,border:`1px solid ${vg}60`,fontSize:9,fontWeight:800,letterSpacing:"1px",fontFamily:Sg,cursor:"pointer"},children:"DELETE DRAWING"})]})}const ly=Object.freeze({chartType:"candles",background:"#0a0a0a",bullishColor:"#2ebd59",bearishColor:"#e8383b",gridLines:!1,marketCloseSeparator:Object.freeze({show:!0,color:"#444444",style:"dashed",width:1}),rthSeparator:Object.freeze({show:!0,color:"#666666",style:"dashed",width:1})}),sy=[{name:"Default Dark",color:"#0a0a0a"},{name:"Pure Black",color:"#000000"},{name:"Midnight Blue",color:"#0a1628"},{name:"Charcoal",color:"#1a1a1a"},{name:"Forest",color:"#0a1a14"},{name:"Burgundy",color:"#1a0a0e"}],ay=[{id:"candles",label:"Candles"},{id:"line",label:"Line"},{id:"area",label:"Area"},{id:"bars",label:"Bars"}],cy=[{id:"solid",label:"Solid"},{id:"dashed",label:"Dashed"},{id:"dotted",label:"Dotted"}],dy=[1,2,3,4];function uy(e){var t,n,r,i,o;if(!e||"object"!==typeof e)return JSON.parse(JSON.stringify(ly));const l=ly;return{chartType:null!==(t=e.chartType)&&void 0!==t?t:l.chartType,background:null!==(n=e.background)&&void 0!==n?n:l.background,bullishColor:null!==(r=e.bullishColor)&&void 0!==r?r:l.bullishColor,bearishColor:null!==(i=e.bearishColor)&&void 0!==i?i:l.bearishColor,gridLines:null!==(o=e.gridLines)&&void 0!==o?o:l.gridLines,marketCloseSeparator:{...l.marketCloseSeparator,...e.marketCloseSeparator||{}},rthSeparator:{...l.rthSeparator,...e.rthSeparator||{}}}}function hy(e){if("string"!==typeof e)return null;const t=e.trim().replace(/^#/,"");return/^[0-9a-fA-F]{3}$/.test(t)?"#"+t.split("").map(e=>e+e).join("").toLowerCase():/^[0-9a-fA-F]{6}$/.test(t)?"#"+t.toLowerCase():null}const py={forex_metals_oil:{rthOpen:null,marketClose:"17:00"},us_indices_equities:{rthOpen:"09:30",marketClose:"16:00"},eu_indices:{rthOpen:"03:00",marketClose:"11:30"},crypto:{rthOpen:null,marketClose:null}};const fy=new Intl.DateTimeFormat("en-US",{timeZone:"America/New_York",hour:"2-digit",minute:"2-digit",hour12:!1});function gy(e){const t=fy.formatToParts(new Date(1e3*e));let n="00",r="00";for(const i of t)"hour"===i.type&&(n="24"===i.value?"00":i.value.padStart(2,"0")),"minute"===i.type&&(r=i.value.padStart(2,"0"));return`${n}:${r}`}function my(e,t,n,r){null!=t&&isFinite(t)&&(e.save(),e.beginPath(),e.strokeStyle=(null===r||void 0===r?void 0:r.color)||"#666",e.lineWidth=Math.min(4,Math.max(1,(null===r||void 0===r?void 0:r.width)||1)),e.setLineDash(function(e){switch(e){case"dashed":return[6,4];case"dotted":return[2,3];default:return[]}}(null===r||void 0===r?void 0:r.style)),e.moveTo(t,0),e.lineTo(t,n),e.stroke(),e.restore())}const yy="/api/chart-presets";async function vy(e){const t=e.headers.get("content-type")||"";if(!t.includes("application/json"))throw new Error(`Chart-presets API: expected JSON, got ${e.status} ${t}`);return e.json()}const xy="#0a0a0a",by="#111114",wy="#222222",Sy="#333333",jy="#ffffff",ky="#999999",_y="#666666",Ey="#444444",Cy="#ff6d00",Ty="#e8383b",My="'Courier New', Consolas, 'Liberation Mono', monospace",Oy=new Set(["defaults","default"]);function Ay(e){let{children:t}=e;return(0,Hg.jsx)("div",{style:{color:Cy,fontSize:9,letterSpacing:"2px",fontWeight:800,textTransform:"uppercase",marginTop:18,marginBottom:8,fontFamily:My},children:t})}function Py(e){let{active:t,onClick:n,children:r,disabled:i,danger:o}=e;return(0,Hg.jsx)("button",{onClick:i?void 0:n,disabled:i,style:{padding:"5px 10px",fontFamily:My,fontSize:10,letterSpacing:1,textTransform:"uppercase",background:t?Cy:"transparent",color:t?"#000":o?Ty:jy,border:`1px solid ${t?Cy:o?Ty:Sy}`,cursor:i?"not-allowed":"pointer",opacity:i?.4:1},children:r})}function Iy(e){let{color:t,active:n,onClick:r,title:i}=e;return(0,Hg.jsx)("button",{onClick:r,title:i,style:{width:22,height:22,padding:0,background:t,border:`1px solid ${n?Cy:Sy}`,outline:n?`2px solid ${Cy}40`:"none",cursor:"pointer"}})}function Dy(e){let{label:t,children:n}=e;return(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,marginBottom:6},children:[(0,Hg.jsx)("span",{style:{width:110,color:ky,fontSize:9,fontFamily:My,letterSpacing:1,textTransform:"uppercase"},children:t}),(0,Hg.jsx)("div",{style:{flex:1,display:"flex",alignItems:"center",gap:6},children:n})]})}function Ly(e){let{title:t,value:n,onChange:r}=e;return(0,Hg.jsxs)("div",{style:{border:`1px solid ${wy}`,padding:"10px 12px",marginTop:8,background:by},children:[(0,Hg.jsx)("div",{style:{color:jy,fontSize:9,letterSpacing:1.5,fontWeight:700,textTransform:"uppercase",fontFamily:My,marginBottom:8},children:t}),(0,Hg.jsx)(Dy,{label:"Show",children:(0,Hg.jsx)("input",{type:"checkbox",checked:!!n.show,onChange:e=>r({...n,show:e.target.checked})})}),(0,Hg.jsxs)(Dy,{label:"Color",children:[(0,Hg.jsx)("input",{type:"color",value:n.color,onChange:e=>r({...n,color:e.target.value}),style:{width:36,height:22,border:`1px solid ${Sy}`,padding:0,background:"transparent"}}),(0,Hg.jsx)("input",{type:"text",value:n.color,onChange:e=>{const t=hy(e.target.value);t&&r({...n,color:t})},style:{background:"#000",color:jy,border:`1px solid ${wy}`,padding:"3px 6px",fontFamily:My,fontSize:10,width:90}})]}),(0,Hg.jsx)(Dy,{label:"Style",children:(0,Hg.jsx)("div",{style:{display:"flex",gap:4},children:cy.map(e=>(0,Hg.jsx)(Py,{active:n.style===e.id,onClick:()=>r({...n,style:e.id}),children:e.label},e.id))})}),(0,Hg.jsx)(Dy,{label:"Width",children:(0,Hg.jsx)("div",{style:{display:"flex",gap:4},children:dy.map(e=>(0,Hg.jsxs)(Py,{active:n.width===e,onClick:()=>r({...n,width:e}),children:[e,"px"]},e))})})]})}function Ry(e){let{open:n,initialStyle:r,onChange:i,onClose:o}=e;const[l,s]=(0,t.useState)(()=>uy(r)),[a,c]=(0,t.useState)({}),[d,u]=(0,t.useState)(null),[h,p]=(0,t.useState)(""),[f,g]=(0,t.useState)(!1);if((0,t.useEffect)(()=>{n&&async function(){const e=await fetch(yy,{credentials:"include"});if(!e.ok)throw new Error(`GET /api/chart-presets failed: ${e.status}`);return vy(e)}().then(e=>c(e||{})).catch(e=>u(String(e.message||e)))},[n]),(0,t.useEffect)(()=>{s(uy(r))},[r]),(0,t.useEffect)(()=>{if(!n)return;const e=e=>{"Escape"===e.key&&(null===o||void 0===o||o())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[n,o]),!n)return null;const m=e=>{s(e),null===i||void 0===i||i(e)},y=h.trim(),v=f||!y||y.length>60||Oy.has(y.toLowerCase()),x=async e=>{if(window.confirm(`Delete preset "${e}"?`)){g(!0),u(null);try{const t=await async function(e){const t=`${yy}/${encodeURIComponent(e)}`,n=await fetch(t,{method:"DELETE",credentials:"include"});if(!n.ok){const e=await vy(n).catch(()=>({}));throw new Error(e.detail||`Delete failed: ${n.status}`)}return vy(n)}(e);c(t)}catch(sd){u(String(sd.message||sd))}finally{g(!1)}}};return(0,Hg.jsx)("div",{onMouseDown:e=>{e.target===e.currentTarget&&(null===o||void 0===o||o())},style:{position:"fixed",inset:0,background:"rgba(0,0,0,0.55)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1500},children:(0,Hg.jsxs)("div",{style:{width:480,maxHeight:"92vh",overflowY:"auto",background:xy,border:`1px solid ${Sy}`,boxShadow:"0 10px 40px rgba(0,0,0,0.7)",padding:18,fontFamily:My},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:4},children:[(0,Hg.jsx)("div",{style:{color:Cy,fontSize:12,fontWeight:800,letterSpacing:3,textTransform:"uppercase"},children:"Chart Settings"}),(0,Hg.jsx)("button",{onClick:()=>null===o||void 0===o?void 0:o(),style:{background:"transparent",color:ky,border:"none",fontSize:16,cursor:"pointer",lineHeight:1},children:"\xd7"})]}),(0,Hg.jsx)(Ay,{children:"Chart Type"}),(0,Hg.jsx)("div",{style:{display:"flex",gap:4},children:ay.map(e=>(0,Hg.jsx)(Py,{active:l.chartType===e.id,onClick:()=>m({...l,chartType:e.id}),children:e.label},e.id))}),(0,Hg.jsx)(Ay,{children:"Background"}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:6,alignItems:"center",flexWrap:"wrap"},children:[sy.map(e=>(0,Hg.jsx)(Iy,{color:e.color,active:l.background===e.color,onClick:()=>m({...l,background:e.color}),title:e.name},e.color)),(0,Hg.jsx)("span",{style:{color:Ey,fontSize:9,marginLeft:10},children:"Custom:"}),(0,Hg.jsx)("input",{type:"color",value:l.background,onChange:e=>m({...l,background:e.target.value}),style:{width:36,height:22,border:`1px solid ${Sy}`,padding:0,background:"transparent"}}),(0,Hg.jsx)("input",{type:"text",value:l.background,onChange:e=>{const t=hy(e.target.value);t&&m({...l,background:t})},style:{background:"#000",color:jy,border:`1px solid ${wy}`,padding:"3px 6px",fontFamily:My,fontSize:10,width:90}})]}),(0,Hg.jsx)(Ay,{children:"Candle Colors"}),(0,Hg.jsxs)(Dy,{label:"Bullish",children:[(0,Hg.jsx)("input",{type:"color",value:l.bullishColor,onChange:e=>m({...l,bullishColor:e.target.value}),style:{width:36,height:22,border:`1px solid ${Sy}`,padding:0,background:"transparent"}}),(0,Hg.jsx)("input",{type:"text",value:l.bullishColor,onChange:e=>{const t=hy(e.target.value);t&&m({...l,bullishColor:t})},style:{background:"#000",color:jy,border:`1px solid ${wy}`,padding:"3px 6px",fontFamily:My,fontSize:10,width:90}})]}),(0,Hg.jsxs)(Dy,{label:"Bearish",children:[(0,Hg.jsx)("input",{type:"color",value:l.bearishColor,onChange:e=>m({...l,bearishColor:e.target.value}),style:{width:36,height:22,border:`1px solid ${Sy}`,padding:0,background:"transparent"}}),(0,Hg.jsx)("input",{type:"text",value:l.bearishColor,onChange:e=>{const t=hy(e.target.value);t&&m({...l,bearishColor:t})},style:{background:"#000",color:jy,border:`1px solid ${wy}`,padding:"3px 6px",fontFamily:My,fontSize:10,width:90}})]}),(0,Hg.jsx)(Ay,{children:"Display"}),(0,Hg.jsx)(Dy,{label:"Grid lines",children:(0,Hg.jsx)("input",{type:"checkbox",checked:!!l.gridLines,onChange:e=>m({...l,gridLines:e.target.checked})})}),(0,Hg.jsx)(Ly,{title:"Market Close Separator",value:l.marketCloseSeparator,onChange:e=>m({...l,marketCloseSeparator:e})}),(0,Hg.jsx)(Ly,{title:"RTH Separator",value:l.rthSeparator,onChange:e=>m({...l,rthSeparator:e})}),(0,Hg.jsx)("div",{style:{height:1,background:wy,margin:"18px 0 10px"}}),(0,Hg.jsx)(Ay,{children:"Presets"}),d&&(0,Hg.jsx)("div",{style:{color:Ty,fontSize:9,marginBottom:6},children:d}),(0,Hg.jsx)(Dy,{label:"Load",children:(0,Hg.jsxs)("select",{onChange:e=>{e.target.value&&(e=>{const t=a[e];t&&m(uy(t))})(e.target.value),e.target.value=""},disabled:0===Object.keys(a).length,style:{flex:1,background:"#000",color:jy,border:`1px solid ${wy}`,fontFamily:My,fontSize:10,padding:"4px 6px"},children:[(0,Hg.jsx)("option",{value:"",children:0===Object.keys(a).length?"(no presets saved yet)":"Pick a preset\u2026"}),Object.keys(a).sort().map(e=>(0,Hg.jsx)("option",{value:e,children:e},e))]})}),Object.keys(a).length>0&&(0,Hg.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:4,marginBottom:8,fontSize:9},children:Object.keys(a).sort().map(e=>(0,Hg.jsxs)("span",{style:{padding:"2px 6px",border:`1px solid ${wy}`,color:ky,display:"flex",gap:4,alignItems:"center"},children:[e,(0,Hg.jsx)("button",{onClick:()=>x(e),style:{background:"transparent",color:Ty,border:"none",cursor:"pointer",fontSize:9,padding:0},children:"\xd7"})]},e))}),(0,Hg.jsxs)(Dy,{label:"Save as",children:[(0,Hg.jsx)("input",{type:"text",value:h,onChange:e=>p(e.target.value),placeholder:"preset name\u2026",maxLength:60,style:{flex:1,background:"#000",color:jy,border:`1px solid ${wy}`,fontFamily:My,fontSize:10,padding:"4px 6px"}}),(0,Hg.jsx)(Py,{onClick:async()=>{if(!v){if(void 0!==a[y]){if(!window.confirm(`Overwrite preset "${y}"?`))return}g(!0),u(null);try{const e=await async function(e,t){const n=`${yy}/${encodeURIComponent(e)}`,r=await fetch(n,{method:"PUT",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(400===r.status){const e=await vy(r).catch(()=>({}));throw new Error(e.detail||"Save rejected (validation)")}if(!r.ok){const e=await vy(r).catch(()=>({}));throw new Error(e.detail||`Save failed: ${r.status}`)}return vy(r)}(y,l);c(e),p("")}catch(sd){u(String(sd.message||sd))}finally{g(!1)}}},disabled:v,children:"Save"})]}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginTop:18,paddingTop:12,borderTop:`1px solid ${wy}`},children:[(0,Hg.jsx)("button",{onClick:()=>{m(JSON.parse(JSON.stringify(ly)))},style:{background:"transparent",color:_y,border:"none",fontFamily:My,fontSize:9,letterSpacing:1,textTransform:"uppercase",cursor:"pointer"},children:"\u21ba Reset to defaults"}),(0,Hg.jsx)(Py,{onClick:o,children:"Done"})]})]})})}const zy=Bf,Ny={fire:{label:"FIRE",stops:[[0,[6,8,12]],[.18,[30,27,75]],[.42,[76,29,149]],[.68,[175,28,110]],[.85,[228,90,38]],[1,[255,200,30]]]},depth:{label:"DEPTH",stops:[[0,[4,8,60]],[.25,[0,120,200]],[.5,[0,200,100]],[.75,[255,230,0]],[1,[255,50,20]]]},plasma:{label:"PLASMA",stops:[[0,[13,8,135]],[.25,[126,3,168]],[.5,[204,71,120]],[.75,[248,149,64]],[1,[240,249,33]]]},viridis:{label:"VIRIDIS",stops:[[0,[68,1,84]],[.25,[59,82,139]],[.5,[33,144,141]],[.75,[94,201,98]],[1,[253,231,37]]]},thermal:{label:"THERMAL",stops:[[0,[0,0,0]],[.3,[180,0,0]],[.6,[255,130,0]],[.85,[255,230,100]],[1,[255,255,255]]]},mono:{label:"MONO",stops:[[0,[10,10,10]],[.5,[128,128,128]],[1,[255,255,255]]]}};function Fy(e){const t=e.stops.map(e=>{let[t,[n,r,i]]=e;return`rgb(${n},${r},${i}) ${(100*t).toFixed(1)}%`});return`linear-gradient(to right, ${t.join(", ")})`}const $y=(0,t.forwardRef)(function(e,n){var r,i,o,l,s,a,c;let{selectedTicker:d,tabId:u,assets:h,fetchBars:p,signals:f,lifecycle:g,weeklyState:m,regimeHistory:y,onLog:v,onTimeframeChange:x,compact:b,onOrderClick:w,executionStatus:S,isActive:j=!0,onChangeTicker:k}=e;const _=(0,t.useRef)(null),E=(0,t.useRef)(null),C=(0,t.useRef)(null),T=(0,t.useRef)(null),M=(0,t.useRef)(null),O=(0,t.useRef)(null),A=(0,t.useRef)({}),P=(0,t.useRef)(null),I=(0,t.useRef)([]),D=(0,t.useRef)(null),L=(0,t.useRef)(null),R=(0,t.useRef)(!1),z=(0,t.useRef)({}),N=(0,t.useRef)({}),F=(0,t.useRef)(null),$=(0,t.useRef)(!1),W=(0,t.useRef)(0),B=(0,t.useRef)(null),U=(0,t.useRef)(!1),H=(0,t.useRef)(1/0),V=(0,t.useRef)(0),Y=(0,t.useRef)(null),G=(0,t.useRef)([]),[K,q]=(0,t.useState)(null),[X,J]=(0,t.useState)(!1),[Q,Z]=(0,t.useState)(!1),[ee,te]=(0,t.useState)(0),[ne,re]=(0,t.useState)(!1),[ie,oe]=(0,t.useState)(.38),[le,se]=(0,t.useState)(.75),[ae,ce]=(0,t.useState)(.05),[de,ue]=(0,t.useState)(()=>{try{const e=localStorage.getItem("mk_heat_palette")||"fire";return"bookmap"===e?"depth":e}catch{return"fire"}}),he=(0,t.useCallback)(e=>{ue(e);try{localStorage.setItem("mk_heat_palette",e)}catch{}},[]),{tier:pe}=dm(),fe="pro"===pe,[ge,me]=(0,t.useState)(null),[ye,ve]=(0,t.useState)(!1),[xe,be]=(0,t.useState)(!1),[we,Se]=(0,t.useState)(()=>{try{return"1"===localStorage.getItem("mk_forest_regime_filter")}catch{return!1}}),je=(0,t.useCallback)(e=>{Se(e);try{localStorage.setItem("mk_forest_regime_filter",e?"1":"0")}catch{}},[]),[ke,_e]=(0,t.useState)(!0),[Ee,Ce]=(0,t.useState)(!0),[Te,Me]=(0,t.useState)(!0),[Oe,Ae]=(0,t.useState)(!0),[Pe,Ie]=(0,t.useState)(!1),[De,Le]=(0,t.useState)(null),[Re,ze]=(0,t.useState)(!1),[Ne,Fe]=(0,t.useState)(null),$e=(0,t.useRef)(null);$e.current=v;const We=(e,t)=>{var n;null===(n=$e.current)||void 0===n||n.call($e,e,"CHART",t)},[Be,Ue]=(0,t.useState)(!1),[He,Ve]=(0,t.useState)(!1),[Ye,Ge]=(0,t.useState)(null),[Ke,qe]=(0,t.useState)(null),[Xe,Je]=(0,t.useState)(null),[Qe,Ze]=(0,t.useState)(null),[et,tt]=(0,t.useState)(!1),[nt,rt]=(0,t.useState)(!1),[it,ot]=(0,t.useState)(null),[lt,st]=(0,t.useState)({...ym}),[at,ct]=(0,t.useState)(0),[dt,ut]=(0,t.useState)(""),ht=(0,t.useRef)([]),[pt,ft]=(0,t.useState)([]),gt=(0,t.useRef)(null),mt=(0,t.useRef)(new vm),yt=(0,t.useRef)(null),vt=(0,t.useRef)(null),xt=(0,t.useRef)(null),bt=(0,t.useRef)(null),wt=(0,t.useRef)(null);(0,t.useEffect)(()=>{var e;"fib_ext"!==it&&wt.current&&(wt.current=null,null===(e=yt.current)||void 0===e||e.setPreview(null))},[it]);const[St,jt]=(0,t.useState)(null),kt=(0,t.useRef)({time:null,price:null}),[_t,Et]=(0,t.useState)(!0),[Ct,Tt]=(0,t.useState)(!1),[Mt,Ot]=(0,t.useState)(null),[At,Pt]=(0,t.useState)(!1),[It,Dt]=(0,t.useState)(""),[Lt,Rt]=(0,t.useState)(null),zt=(0,t.useCallback)(async(e,t,n)=>p?p(e,t,n):[],[p]),[Nt,Ft]=(0,t.useState)(null),[$t,Wt]=(0,t.useState)(null),[Bt,Ut]=(0,t.useState)(!1),[Ht,Vt]=(0,t.useState)([]),[Yt,Gt]=(0,t.useState)(null),Kt=(0,t.useRef)(null),qt=(0,t.useRef)([]),Xt=(0,t.useRef)(2),Jt=(0,t.useRef)(0),Qt=(0,t.useRef)(new Map),[Zt,en]=(0,t.useState)(0),[tn,nn]=(0,t.useState)(null),[rn,on]=(0,t.useState)(null),[ln,sn]=(0,t.useState)([]),[an,cn]=(0,t.useState)([]),dn=(0,t.useRef)([]),un=(0,t.useRef)(null),[hn,pn]=(0,t.useState)(null);(0,t.useEffect)(()=>{b&&tt(!0)},[b]);const fn=(0,t.useRef)(u);(0,t.useEffect)(()=>{fn.current=u},[u]),(0,t.useEffect)(()=>{mt.current.onChange(()=>{ct(e=>e+1);try{const e=fn.current;if(e){const t=mt.current.serialize();localStorage.setItem(`mk_chart_drawings_${e}`,JSON.stringify(t))}}catch{}})},[]),(0,t.useEffect)(()=>{if(u)try{const e=localStorage.getItem(`mk_chart_drawings_${u}`);mt.current.deserialize(e?JSON.parse(e):[])}catch{mt.current.deserialize([])}},[u]);const gn=(0,t.useRef)(d);(0,t.useEffect)(()=>{if(gn.current&&gn.current!==d){try{"function"===typeof mt.current.clearAll?mt.current.clearAll():"function"===typeof mt.current.clear?mt.current.clear():"function"===typeof mt.current.reset?mt.current.reset():mt.current.deserialize([])}catch{}try{localStorage.removeItem(`mk_chart_drawings_${u}`)}catch{}ct(e=>e+1),Ot(null)}gn.current=d},[d,u]),(0,t.useEffect)(()=>{Pt(!1),Wt(null)},[d]),(0,t.useEffect)(()=>{if(!At||!d)return;let e=!1;return(async()=>{try{const t=await fetch(`/api/symbol-info/${d}`);if(e)return;if(t.ok){const n=await t.json();if(e)return;const r=Number(n.min_lot)>0?Number(n.min_lot):.01,i=Number(n.lot_step)>0?Number(n.lot_step):.01;Rt(r),Ft(i),Dt(String(r))}else Rt(.01),Ft(.01),Dt("0.01")}catch{e||(Rt(.01),Ft(.01),Dt("0.01"))}})(),()=>{e=!0}},[At,d]),(0,t.useEffect)(()=>{if(!$t)return;const e=setTimeout(()=>Wt(null),2e3);return()=>clearTimeout(e)},[$t]);const mn=(0,t.useRef)();if(void 0===mn.current)try{const e=localStorage.getItem("mk_chart_tab_settings_v1");mn.current=e?JSON.parse(e):{}}catch{mn.current={}}const yn=(0,t.useRef)(null),[vn,xn]=(0,t.useState)("M15"),[bn,wn]=(0,t.useState)(()=>({M1:2,M5:5,M15:7,M30:10,H1:30,H4:60,D1:200})),[Sn,jn]=(0,t.useState)(!1),[kn,_n]=(0,t.useState)(null),[En,Cn]=(0,t.useState)(null),[Tn,Mn]=(0,t.useState)({bands:!1,signals:!0}),[On,An]=(0,t.useState)({daily:!1,weekly:!1,monthly:!1,ext_high:!1,ext_low:!1,manual:!1}),[Pn,In]=(0,t.useState)({weekly:!1,monthly:!1,extremes:!1}),[Dn,Ln]=(0,t.useState)({daily:!1,weekly:!1,monthly:!1,ext_high:!1,ext_low:!1}),[Rn,zn]=(0,t.useState)({flip:!1,expected_move:!1,magnets:!1,springs:!1,reinforced:!1,thin_ice:!1}),[Nn,Fn]=(0,t.useState)({...Rg}),[$n,Wn]=(0,t.useState)({...Dg}),[Bn,Un]=(0,t.useState)({}),[Hn,Vn]=(0,t.useState)({}),[Yn,Gn]=(0,t.useState)({}),[Kn,qn]=(0,t.useState)(()=>{try{if(u){const e=localStorage.getItem(`mk_chart_style_${u}`);if(e)return uy(JSON.parse(e))}}catch{}return uy(null)}),Xn=(0,t.useCallback)(e=>{qn(t=>{const n="function"===typeof e?e(t):e;try{u&&localStorage.setItem(`mk_chart_style_${u}`,JSON.stringify(n))}catch{}return n})},[u]);(0,t.useEffect)(()=>{if(u)try{const e=localStorage.getItem(`mk_chart_style_${u}`);qn(uy(e?JSON.parse(e):null))}catch{qn(uy(null))}},[u]),(0,t.useEffect)(()=>{const e=e=>{if(u&&e.key===`mk_chart_style_${u}`&&null!=e.newValue)try{qn(uy(JSON.parse(e.newValue)))}catch{}};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[u]);const[Jn,Qn]=(0,t.useState)(null),Zn=!0,er=(0,t.useRef)(!1),tr=(0,t.useRef)(null),nr=((0,t.useCallback)(()=>{},[]),Ye||kg[vn]||200);(0,t.useEffect)(()=>{const e=_g[vn]||900,t=()=>{const t=Math.floor(Date.now()/1e3),n=e-t%e;if(n<=0||n>e)return void ut("");const r=Math.floor(n/3600),i=Math.floor(n%3600/60),o=n%60;ut(r>0?`${r}:${String(i).padStart(2,"0")}:${String(o).padStart(2,"0")}`:`${String(i).padStart(2,"0")}:${String(o).padStart(2,"0")}`)};t();const n=setInterval(t,1e3);return()=>clearInterval(n)},[vn]),(0,t.useEffect)(()=>{if(!$n.show_positions||!C.current||!d)return ht.current.forEach(e=>{try{var t;null===(t=C.current)||void 0===t||t.removePriceLine(e)}catch{}}),ht.current=[],void ft([]);let e=!1;const t=async()=>{try{const t=await fetch("/api/positions");if(!t.ok||e)return;const n=((await t.json()).positions||[]).filter(e=>e.ticker===d);if(e)return;ft(n),ht.current.forEach(e=>{try{var t;null===(t=C.current)||void 0===t||t.removePriceLine(e)}catch{}}),ht.current=[];const r=C.current;if(!r)return;n.forEach(e=>{const t="BUY"===e.direction,n=(e.profit||0)>=0?"#2ebd59":"#e8383b";ht.current.push(r.createPriceLine({price:e.open_price,color:n,lineWidth:1,lineStyle:2,axisLabelVisible:!0,title:`${(e.profit||0)>=0?"+":""}${(e.profit||0).toFixed(2)} ${t?"\u25b2":"\u25bc"} ${e.lots}`})),e.stop_loss&&ht.current.push(r.createPriceLine({price:e.stop_loss,color:"#e8383b",lineWidth:1,lineStyle:3,axisLabelVisible:!0,title:"SL"})),e.take_profit&&ht.current.push(r.createPriceLine({price:e.take_profit,color:"#2ebd59",lineWidth:1,lineStyle:3,axisLabelVisible:!0,title:"TP"}))})}catch(sd){We("error",`Position overlay: ${sd.message}`)}};t();const n=setInterval(t,1e3);return()=>{e=!0,clearInterval(n),ht.current.forEach(e=>{try{var t;null===(t=C.current)||void 0===t||t.removePriceLine(e)}catch{}}),ht.current=[]}},[$n.show_positions,d,Be]),(0,t.useEffect)(()=>{if(!pt.length||!C.current)return void(qt.current.length&&(qt.current=[],Vt([])));let e=!0;const t=()=>{if(!e)return;const n=C.current;if(n){const e=pt.map(e=>({ticket:e.ticket,direction:e.direction,open_price:e.open_price,stop_loss:e.stop_loss,take_profit:e.take_profit,entry_y:n.priceToCoordinate(e.open_price),sl_y:e.stop_loss?n.priceToCoordinate(e.stop_loss):null,tp_y:e.take_profit?n.priceToCoordinate(e.take_profit):null})),t=qt.current;let r=t.length!==e.length;if(!r)for(let n=0;n<e.length;n++){const i=e[n],o=t[n];if(!o||i.ticket!==o.ticket||i.entry_y!==o.entry_y||i.sl_y!==o.sl_y||i.tp_y!==o.tp_y){r=!0;break}}r&&(qt.current=e,Vt(e))}requestAnimationFrame(t)};return requestAnimationFrame(t),()=>{e=!1}},[pt]),(0,t.useEffect)(()=>{if(!pt.length)return;const e=Array.from(new Set(pt.map(e=>e.ticker).filter(Boolean)));let t=!1;return(async()=>{for(const n of e)if(!Qt.current.has(n))try{const e=await fetch(`/api/symbol-info/${n}`);if(t||!e.ok)continue;const r=await e.json();if(t)return;Qt.current.set(n,{tick_size:Number(r.tick_size)||0,tick_value:Number(r.tick_value)||0,contract_size:Number(r.contract_size)||0,currency_profit:r.currency_profit||"USD"}),en(e=>e+1)}catch{}})(),()=>{t=!0}},[pt]),(0,t.useEffect)(()=>{if(!d||!Be)return void sn([]);let e=!1;const t=async()=>{try{const t=await fetch("/api/orders/pending");if(!t.ok||e)return;const n=await t.json();if(e)return;sn((n.orders||[]).filter(e=>e.ticker===d))}catch{}};t();const n=setInterval(t,1e3);return()=>{e=!0,clearInterval(n)}},[d,Be]),(0,t.useEffect)(()=>{if(!ln.length||!C.current)return void(dn.current.length&&(dn.current=[],cn([])));let e=!0;const t=()=>{if(!e)return;const n=C.current;if(n){const e=ln.map(e=>({ticket:e.ticket,direction:e.direction,order_type:e.order_type,price:e.price,stop_loss:e.stop_loss||0,take_profit:e.take_profit||0,lots:e.lots,price_y:n.priceToCoordinate(e.price),sl_y:e.stop_loss?n.priceToCoordinate(e.stop_loss):null,tp_y:e.take_profit?n.priceToCoordinate(e.take_profit):null})),t=dn.current;let r=t.length!==e.length;if(!r)for(let n=0;n<e.length;n++){const i=e[n],o=t[n];if(!o||i.ticket!==o.ticket||i.price_y!==o.price_y||i.sl_y!==o.sl_y||i.tp_y!==o.tp_y){r=!0;break}}r&&(dn.current=e,cn(e))}requestAnimationFrame(t)};return requestAnimationFrame(t),()=>{e=!1}},[ln]),(0,t.useEffect)(()=>{nn(null),on(null)},[d]);const rr=(0,t.useCallback)(async e=>{const t=Jt.current;if(!d||!Number.isFinite(e)||t<=0)return;const n="buy_armed"===tn?"BUY":"sell_armed"===tn?"SELL":null;if(!n)return;const r="BUY"===n?e<t?"LIMIT":"STOP":e>t?"LIMIT":"STOP",i=parseFloat(It);if(!Number.isFinite(i)||i<=0)Wt({kind:"err",msg:"Invalid lot size"});else try{const t=await fetch("/api/orders",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({ticker:d.toUpperCase(),direction:n,order_type:r,lots:i,price:e,comment:"MK.TRADES PENDING"})}),s=await t.json().catch(()=>({}));if(t.ok&&s.success){Wt({kind:"ok",msg:`${n} ${r} ${i} @ ${Number(e).toFixed(Xt.current)}`});try{Hm("order_placed")}catch{}window.__mk_execution_refresh&&window.__mk_execution_refresh()}else{var o,l;const e=s.error||("string"===typeof s.detail?s.detail:(null===(o=s.detail)||void 0===o?void 0:o.error)||(null===(l=s.detail)||void 0===l?void 0:l.message))||`HTTP ${t.status}`;Wt({kind:"err",msg:`${n} ${r} failed: ${e}`})}}catch(sd){Wt({kind:"err",msg:`Pending order failed: ${sd.message}`})}},[d,tn,It]),ir=(0,t.useCallback)(async e=>{try{const r=await fetch(`/api/orders/${e}`,{method:"DELETE"}),i=await r.json().catch(()=>({}));if(r.ok&&i.success)Wt({kind:"ok",msg:`Cancelled #${e}`}),window.__mk_execution_refresh&&window.__mk_execution_refresh();else{var t,n;const e=i.error||("string"===typeof i.detail?i.detail:(null===(t=i.detail)||void 0===t?void 0:t.error)||(null===(n=i.detail)||void 0===n?void 0:n.message))||`HTTP ${r.status}`;Wt({kind:"err",msg:`Cancel failed: ${e}`})}}catch(sd){Wt({kind:"err",msg:`Cancel failed: ${sd.message}`})}},[]),or=(0,t.useCallback)((e,t,n,r)=>{var i;if(null===S||void 0===S||!S.live_trading||null===S||void 0===S||!S.provider_connected)return void Wt({kind:"err",msg:"Enable live trading in Settings"});e.preventDefault(),e.stopPropagation();const o=null===(i=_.current)||void 0===i?void 0:i.getBoundingClientRect(),l=o?e.clientY-o.top:e.clientY,s="sl"===n?r.stop_loss||r.price:"tp"===n&&r.take_profit||r.price,a=!!e.shiftKey&&"price"===n,c={ticket:t,kind:n,order:r,direction:r.direction,startY:l,currentY:l,currentPrice:s,shift:a};un.current=c,pn(c);let d=e.clientY,u=!1;const h=e=>{d=e.clientY,u||(u=!0,requestAnimationFrame(()=>{var e;u=!1;const t=un.current;if(!t)return;const n=null===(e=_.current)||void 0===e?void 0:e.getBoundingClientRect(),r=C.current;if(!n||!r)return;let i=d-n.top;i=Math.max(0,Math.min(i,n.height));const o=r.coordinateToPrice(i);if(null==o)return;const l={...t,currentY:i,currentPrice:o};un.current=l,pn(l)}))},p=async()=>{window.removeEventListener("pointermove",h),window.removeEventListener("pointerup",p);const e=un.current;if(un.current=null,pn(null),!e)return;const{ticket:t,kind:n,order:r,direction:i,startY:o,currentY:l,currentPrice:s,shift:a}=e;if(Math.abs(l-o)<4)return;let c=n,d={};if("price"===n&&a){const e=l>o;c=("BUY"===i?e:!e)?"sl":"tp","sl"===c?d.stop_loss=Number(s):d.take_profit=Number(s)}else if("price"===n)d.price=Number(s);else if("sl"===n)d.stop_loss=Number(s);else{if("tp"!==n)return;d.take_profit=Number(s)}try{const e=await fetch(`/api/orders/${t}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(d)}),n=await e.json().catch(()=>({}));if(e.ok&&n.success){Wt({kind:"ok",msg:`#${t} ${"sl"===c?"SL":"tp"===c?"TP":"PRICE"} \u2192 ${Number(s).toFixed(Xt.current)}`});try{Hm("order_placed")}catch{}window.__mk_execution_refresh&&window.__mk_execution_refresh()}else{var u,f;const r=n.error||("string"===typeof n.detail?n.detail:(null===(u=n.detail)||void 0===u?void 0:u.error)||(null===(f=n.detail)||void 0===f?void 0:f.message))||`HTTP ${e.status}`;Wt({kind:"err",msg:`#${t} modify failed: ${r}`})}}catch(bo){Wt({kind:"err",msg:`#${t} modify failed: ${bo.message}`})}};window.addEventListener("pointermove",h),window.addEventListener("pointerup",p)},[S]),lr=(0,t.useCallback)((e,t,n,r)=>{var i;if(null===S||void 0===S||!S.live_trading||null===S||void 0===S||!S.provider_connected)return void Wt({kind:"err",msg:"Enable live trading in Settings"});e.preventDefault(),e.stopPropagation();const o=null===(i=_.current)||void 0===i?void 0:i.getBoundingClientRect(),l=o?e.clientY-o.top:e.clientY,s="sl"===n?r.stop_loss:"tp"===n?r.take_profit:r.open_price,a={ticket:t,kind:n,pos:r,direction:r.direction,startY:l,currentY:l,currentPrice:s};Kt.current=a,Gt(a);let c=e.clientY,d=!1;const u=e=>{c=e.clientY,d||(d=!0,requestAnimationFrame(()=>{var e;d=!1;const t=Kt.current;if(!t)return;const n=null===(e=_.current)||void 0===e?void 0:e.getBoundingClientRect(),r=C.current;if(!n||!r)return;let i=c-n.top;i=Math.max(0,Math.min(i,n.height));const o=r.coordinateToPrice(i);if(null==o)return;const l={...t,currentY:i,currentPrice:o};Kt.current=l,Gt(l)}))},h=async()=>{window.removeEventListener("pointermove",u),window.removeEventListener("pointerup",h);const e=Kt.current;if(Kt.current=null,Gt(null),!e)return;const{ticket:t,kind:n,pos:r,direction:i,startY:o,currentY:l,currentPrice:s}=e;let a=n;if("entry"===n){const e=l>o;if(a=("BUY"===i?e:!e)?"sl":"tp","sl"===a&&r.stop_loss||"tp"===a&&r.take_profit)return void Wt({kind:"err",msg:`${a.toUpperCase()} already set \u2014 drag its line`});if(Math.abs(l-o)<10)return}else if(Math.abs(l-o)<4)return;const c={};if("sl"===a)c.stop_loss=Number(s);else{if("tp"!==a)return;c.take_profit=Number(s)}try{const e=await fetch(`/api/positions/${t}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)}),n=await e.json().catch(()=>({}));if(e.ok&&n.success){Wt({kind:"ok",msg:`${a.toUpperCase()} \u2192 ${Number(s).toFixed(Xt.current)}`});try{Hm("order_placed")}catch{}window.__mk_execution_refresh&&window.__mk_execution_refresh()}else{var d,p;const t=n.error||("string"===typeof n.detail?n.detail:(null===(d=n.detail)||void 0===d?void 0:d.error)||(null===(p=n.detail)||void 0===p?void 0:p.message))||`HTTP ${e.status}`;Wt({kind:"err",msg:`${a.toUpperCase()} failed: ${t}`})}}catch(bo){Wt({kind:"err",msg:`${a.toUpperCase()} failed: ${bo.message}`})}};window.addEventListener("pointermove",u),window.addEventListener("pointerup",h)},[S]);(0,t.useEffect)(()=>{const e=C.current;if(!Be||!e)return;if(!gt.current){const t=new Zm;e.attachPrimitive(t),gt.current=t}const t=Bn.show_trade_history||{};if(gt.current.setStyles(t),!$n.show_trade_history||!d)return void gt.current.setTrades([]);const n=_g[vn]||900,r=e=>Math.floor(e/n)*n;let i=!1;const o=async()=>{try{var e;const n=await fetch("/api/positions/history?days=30");if(!n.ok||i)return;const o=await n.json();var t;if(i||!o.enabled)return void(null===(t=gt.current)||void 0===t||t.setTrades([]));const l=(o.trades||[]).filter(e=>e.ticker===d).map(e=>({openTime:r(Ng(e.open_time)),closeTime:r(Ng(e.close_time)),openPrice:e.open_price,closePrice:e.close_price,direction:e.direction,profit:e.profit,lots:e.lots}));i||null===(e=gt.current)||void 0===e||e.setTrades(l)}catch(sd){We("error",`Trade history overlay: ${sd.message}`)}};o();const l=setInterval(o,3e4);return()=>{var e;i=!0,clearInterval(l),null===(e=gt.current)||void 0===e||e.setTrades([])}},[$n.show_trade_history,d,Be,Bn,vn]);const sr=(0,t.useCallback)(()=>{const e=yn.current;if(!e)return;let t=null;try{var n,r;t=null===(n=E.current)||void 0===n||null===(r=n.timeScale())||void 0===r?void 0:r.scrollPosition()}catch{}mn.current[e]={ticker:d,layers:{...Tn},cg:{...On},ag:{...Pn},bg:{...Dn},gg:{...Rn},slotVis:{...Nn},indicators:{...$n},indicatorStyles:{...Bn},coneStyles:{...Hn},bandStyles:{...Yn},tf:vn,bc:Ye,scrollPos:t,toolbarCollapsed:et,chartStyle:Kn?JSON.parse(JSON.stringify(Kn)):null,drawings:mt.current.serialize(),daysPerTf:{...bn},historicalOn:!!Sn,historicalFrom:kn||null,historicalTo:En||null,heat:{show:!!X,proHeat:!!Q,opacity:ie,contrast:le,threshold:ae,palette:de},forest:{show:!!ye,paths:!!ke,cone:!!Ee,histogram:!!Te,historical:!!Oe,connections:!!Pe,regimeFilter:!!we},microOn:!!Ct,solidDev:!!_t,loadedTemplate:Mt?{name:Mt.name,sourceTicker:Mt.sourceTicker}:null};try{localStorage.setItem("mk_chart_tab_settings_v1",JSON.stringify(mn.current))}catch{}},[u,d,Tn,On,Pn,Dn,Rn,Nn,$n,Bn,Hn,Yn,vn,Ye,et,Kn,bn,Sn,kn,En,X,Q,ie,le,ae,de,ye,ke,Ee,Te,Oe,Pe,we,Ct,_t,Mt]);(0,t.useEffect)(()=>{sr()},[u,d,Tn,On,Pn,Dn,Rn,Nn,$n,Bn,Hn,Yn,vn,Ye,et,Kn,bn,Sn,kn,En,X,Q,ie,le,ae,de,ye,ke,Ee,Te,Oe,Pe,we,Ct,_t,Mt,sr]);const ar=(0,t.useCallback)(()=>{try{sr()}catch{}const e=yn.current;if(!e)return{};const t=mn.current[e];if(!t||"object"!==typeof t)return{};const n=JSON.parse(JSON.stringify(t));return delete n.scrollPos,delete n.toolbarCollapsed,delete n.loadedTemplate,n},[sr]),cr=(0,t.useCallback)((e,t)=>{if(!e||"object"!==typeof e||!e.config||"object"!==typeof e.config)return;const n=e.config;if(Mn({bands:!1,signals:!0,...n.layers||{}}),An({daily:!1,weekly:!1,monthly:!1,ext_high:!1,ext_low:!1,manual:!1,...n.cg||{}}),In({weekly:!1,monthly:!1,extremes:!1,...n.ag||{}}),Ln({daily:!1,weekly:!1,monthly:!1,ext_high:!1,ext_low:!1,...n.bg||{}}),zn({flip:!1,expected_move:!1,magnets:!1,springs:!1,reinforced:!1,thin_ice:!1,...n.gg||{}}),Fn({...Rg,...n.slotVis||{}}),Wn({...Dg,...n.indicators||{}}),Un(n.indicatorStyles||{}),Vn(n.coneStyles||{}),Gn(n.bandStyles||{}),n.tf&&(xn(n.tf),null===x||void 0===x||x(n.tf)),n.bc&&Ge(n.bc),n.daysPerTf&&"object"===typeof n.daysPerTf&&wn({M1:2,M5:5,M15:7,M30:10,H1:30,H4:60,D1:200,...n.daysPerTf}),void 0!==n.historicalOn&&jn(!!n.historicalOn),void 0!==n.historicalFrom&&_n(n.historicalFrom||null),void 0!==n.historicalTo&&Cn(n.historicalTo||null),n.heat&&"object"===typeof n.heat){const e=n.heat;void 0!==e.show&&J(!!e.show),void 0!==e.proHeat&&Z(!!e.proHeat),void 0!==e.opacity&&oe(e.opacity),void 0!==e.contrast&&se(e.contrast),void 0!==e.threshold&&ce(e.threshold),e.palette&&he(e.palette)}if(n.forest&&"object"===typeof n.forest){const e=n.forest;void 0!==e.show&&ve(!!e.show),void 0!==e.paths&&_e(!!e.paths),void 0!==e.cone&&Ce(!!e.cone),void 0!==e.histogram&&Me(!!e.histogram),void 0!==e.historical&&Ae(!!e.historical),void 0!==e.connections&&Ie(!!e.connections),void 0!==e.regimeFilter&&je(!!e.regimeFilter)}if(void 0!==n.microOn&&Tt(!!n.microOn),void 0!==n.solidDev&&Et(!!n.solidDev),Xn(uy(n.chartStyle)),e.sourceTicker&&e.sourceTicker===d){try{mt.current.deserialize(Array.isArray(n.drawings)?n.drawings:[])}catch{}try{ct(e=>e+1)}catch{}}e.sourceTicker&&e.sourceTicker===d&&t&&Ot({name:t,sourceTicker:d})},[d,x]),dr=(0,t.useRef)(sr);(0,t.useEffect)(()=>{dr.current=sr}),(0,t.useEffect)(()=>()=>{try{dr.current()}catch{}},[]),(0,t.useEffect)(()=>{const e=()=>{try{dr.current()}catch{}};return window.addEventListener("beforeunload",e),()=>window.removeEventListener("beforeunload",e)},[]),(0,t.useImperativeHandle)(n,()=>({getSettings:()=>(sr(),JSON.parse(JSON.stringify(mn.current))),applySettings(e){if(!e||"object"!==typeof e)return;mn.current=JSON.parse(JSON.stringify(e));const t=mn.current[u];if(t){if(Mn({bands:!1,signals:!0,...t.layers||{}}),An({daily:!1,weekly:!1,monthly:!1,ext_high:!1,ext_low:!1,manual:!1,...t.cg||{}}),In({weekly:!1,monthly:!1,extremes:!1,...t.ag||{}}),Ln({daily:!1,weekly:!1,monthly:!1,ext_high:!1,ext_low:!1,...t.bg||{}}),zn({flip:!1,expected_move:!1,magnets:!1,springs:!1,reinforced:!1,thin_ice:!1,...t.gg||{}}),Fn({...Rg,...t.slotVis||{}}),Wn({...Dg,...t.indicators||{}}),Un(t.indicatorStyles||{}),Vn(t.coneStyles||{}),Gn(t.bandStyles||{}),t.tf&&xn(t.tf),t.bc&&Ge(t.bc),void 0!==t.toolbarCollapsed&&tt(t.toolbarCollapsed),t.daysPerTf&&"object"===typeof t.daysPerTf?wn({M1:2,M5:5,M15:7,M30:10,H1:30,H4:60,D1:200,...t.daysPerTf}):wn({M1:2,M5:5,M15:7,M30:10,H1:30,H4:60,D1:200}),void 0!==t.historicalOn&&jn(!!t.historicalOn),void 0!==t.historicalFrom&&_n(t.historicalFrom||null),void 0!==t.historicalTo&&Cn(t.historicalTo||null),t.heat&&"object"===typeof t.heat){const e=t.heat;void 0!==e.show&&J(!!e.show),void 0!==e.proHeat&&Z(!!e.proHeat),void 0!==e.opacity&&oe(e.opacity),void 0!==e.contrast&&se(e.contrast),void 0!==e.threshold&&ce(e.threshold),e.palette&&he(e.palette)}if(t.forest&&"object"===typeof t.forest){const e=t.forest;void 0!==e.show&&ve(!!e.show),void 0!==e.paths&&_e(!!e.paths),void 0!==e.cone&&Ce(!!e.cone),void 0!==e.histogram&&Me(!!e.histogram),void 0!==e.historical&&Ae(!!e.historical),void 0!==e.connections&&Ie(!!e.connections),void 0!==e.regimeFilter&&je(!!e.regimeFilter)}void 0!==t.microOn&&Tt(!!t.microOn),void 0!==t.solidDev&&Et(!!t.solidDev),Xn(uy(t.chartStyle)),t.drawings&&mt.current.deserialize(t.drawings),null!=t.scrollPos&&(R.current=!0,setTimeout(()=>{try{var e,n;null===(e=E.current)||void 0===e||null===(n=e.timeScale())||void 0===n||n.scrollToPosition(t.scrollPos,!1)}catch{}R.current=!1,$.current=!1},600))}},getTimeframe:()=>vn,setTimeframe(e){jg.includes(e)&&(xn(e),null===x||void 0===x||x(e))},toggleBands(){Mn(e=>({...e,bands:!e.bands}))},toggleSignals(){Mn(e=>({...e,signals:!e.signals}))},toggleAllCones(){An(e=>{const t=Object.values(e).some(e=>e),n={};for(const r of Object.keys(e))n[r]=!t;return n})},toggleAllAnchors(){In(e=>{const t=Object.values(e).some(e=>e),n={};for(const r of Object.keys(e))n[r]=!t;return n})},takeScreenshot(){try{var e;const t=null===(e=E.current)||void 0===e?void 0:e.takeScreenshot();return(null===t||void 0===t?void 0:t.toDataURL("image/png"))||null}catch{return null}},fitChart(){try{var e;null===(e=di.current)||void 0===e||e.call(di)}catch{}},setActiveTool(e){ot(e)},cancelDrawing(){var e;ot(null),vt.current=null,bt.current=null,wt.current=null,null===(e=yt.current)||void 0===e||e.setPreview(null),mt.current.deselect()},openChartSettings(){ze(!0)},closeChartSettings(){ze(!1)}}),[sr,d,u,vn,x]),(0,t.useEffect)(()=>{if(yn.current&&yn.current!==u&&sr(),yn.current=u,!u)return;ot(null),vt.current=null,wt.current=null;const e=mn.current[u];if(e){if(Mn({bands:!1,signals:!0,...e.layers||{}}),An({daily:!1,weekly:!1,monthly:!1,ext_high:!1,ext_low:!1,manual:!1,...e.cg||{}}),In({weekly:!1,monthly:!1,extremes:!1,...e.ag||{}}),Ln({daily:!1,weekly:!1,monthly:!1,ext_high:!1,ext_low:!1,...e.bg||{}}),zn({flip:!1,expected_move:!1,magnets:!1,springs:!1,reinforced:!1,thin_ice:!1,...e.gg||{}}),Fn({...Rg,...e.slotVis||{}}),Wn({...Dg,...e.indicators||{}}),Un(e.indicatorStyles||{}),Vn(e.coneStyles||{}),Gn(e.bandStyles||{}),xn(e.tf),e.bc&&Ge(e.bc),void 0!==e.toolbarCollapsed&&tt(e.toolbarCollapsed),e.daysPerTf&&"object"===typeof e.daysPerTf?wn({M1:2,M5:5,M15:7,M30:10,H1:30,H4:60,D1:200,...e.daysPerTf}):wn({M1:2,M5:5,M15:7,M30:10,H1:30,H4:60,D1:200}),void 0!==e.historicalOn&&jn(!!e.historicalOn),void 0!==e.historicalFrom&&_n(e.historicalFrom||null),void 0!==e.historicalTo&&Cn(e.historicalTo||null),e.heat&&"object"===typeof e.heat){const t=e.heat;void 0!==t.show&&J(!!t.show),void 0!==t.proHeat&&Z(!!t.proHeat),void 0!==t.opacity&&oe(t.opacity),void 0!==t.contrast&&se(t.contrast),void 0!==t.threshold&&ce(t.threshold),t.palette&&he(t.palette)}if(e.forest&&"object"===typeof e.forest){const t=e.forest;void 0!==t.show&&ve(!!t.show),void 0!==t.paths&&_e(!!t.paths),void 0!==t.cone&&Ce(!!t.cone),void 0!==t.histogram&&Me(!!t.histogram),void 0!==t.historical&&Ae(!!t.historical),void 0!==t.connections&&Ie(!!t.connections),void 0!==t.regimeFilter&&je(!!t.regimeFilter)}void 0!==e.microOn&&Tt(!!e.microOn),void 0!==e.solidDev&&Et(!!e.solidDev),Ot(e.loadedTemplate&&"object"===typeof e.loadedTemplate?e.loadedTemplate:null),Xn(uy(e.chartStyle)),null!=e.scrollPos&&(R.current=!0,setTimeout(()=>{try{var t,n;null===(t=E.current)||void 0===t||null===(n=t.timeScale())||void 0===n||n.scrollToPosition(e.scrollPos,!1)}catch{}R.current=!1},600))}else{const e={layers:{bands:!1,signals:!0},cg:{daily:!1,weekly:!1,monthly:!1,ext_high:!1,ext_low:!1,manual:!1},gg:{now:!1,weekly:!1,magnets:!1,springs:!1,reinforced:!1,thin_ice:!1},ag:{weekly:!1,monthly:!1,extremes:!1},slotVis:{...Rg},indicators:{...Dg},coneStyles:{},bandStyles:{},tf:"M15"};Mn(e.layers),An(e.cg),In(e.ag),Ln({daily:!1,weekly:!1,monthly:!1,ext_high:!1,ext_low:!1}),Fn({...Rg}),Wn(e.indicators),Un({}),Vn(e.coneStyles),Gn(e.bandStyles||{}),xn(e.tf),wn({M1:2,M5:5,M15:7,M30:10,H1:30,H4:60,D1:200}),jn(!1),_n(null),Cn(null),J(!1),Z(!1),oe(.38),se(.75),ce(.05),he("fire"),ve(!1),_e(!0),Ce(!0),Me(!0),Ae(!0),Ie(!1),je(!1),Tt(!1),Et(!0),Ot(null),Xn(uy(null))}},[u]);(0,t.useCallback)(e=>Mn(t=>({...t,[e]:!t[e]})),[]);const ur=(0,t.useRef)("weekly"),hr=(0,t.useCallback)(e=>An(t=>{const n={...t,[e]:!t[e]};return n[e]&&"manual"!==e&&(ur.current=e),n}),[]),pr=(0,t.useCallback)(()=>An(e=>{const t=Object.values(e).some(e=>e),n={};for(const o of Object.keys(e))n[o]=!1;if(t)return n;const r=ur.current,i=r&&"manual"!==r&&r in e?r:"weekly"in e?"weekly":Object.keys(e).find(e=>"manual"!==e);return i&&(n[i]=!0),n}),[]);(0,t.useEffect)(()=>{const e=Object.entries(On).filter(e=>{let[t,n]=e;return n&&"manual"!==t}).map(e=>{let[t]=e;return t});e.length>0&&(ur.current=e[e.length-1])},[On]);(0,t.useCallback)(e=>In(t=>({...t,[e]:!t[e]})),[]),(0,t.useCallback)(()=>In(e=>{const t=Object.values(e).some(e=>e),n={};for(const r of Object.keys(e))n[r]=!t;return n}),[]);const fr=(0,t.useCallback)(e=>Ln(t=>({...t,[e]:!t[e]})),[]),gr=(0,t.useCallback)(()=>Ln(e=>{const t=Object.values(e).some(e=>e),n={};for(const r of Object.keys(e))n[r]=!t;return n}),[]),mr=(0,t.useCallback)(e=>zn(t=>({...t,[e]:!t[e]})),[]),yr=(0,t.useCallback)(()=>zn(e=>{const t=Object.values(e).some(e=>e),n={};for(const r of Object.keys(e))n[r]=!t;return n}),[]),vr=(0,t.useCallback)(e=>Fn(t=>({...t,[e]:!1===t[e]})),[]),xr=(0,t.useCallback)(e=>Wn(t=>({...t,[e]:!t[e]})),[]),br=(0,t.useCallback)((e,t)=>{Un(n=>{const r={...n};return null===t?delete r[e]:r[e]=t,r})},[]),wr=(0,t.useCallback)((e,t)=>{Vn(n=>{const r={...n};return 0===Object.keys(t).length?delete r[e]:r[e]=t,r})},[]),Sr=(0,t.useCallback)((e,t)=>{Gn(n=>{const r={...n};return t&&0!==Object.keys(t).length?r[e]=t:delete r[e],r})},[]),jr=(0,t.useCallback)(e=>{Gn(t=>{var n;const r=t[e]||{};return{...t,[e]:{...r,visible:!(null===(n=r.visible)||void 0===n||n)}}})},[]),kr=(0,t.useCallback)(()=>{Mn(e=>({...e,bands:!e.bands}))},[]),_r=(0,t.useCallback)(()=>{alert("Indicator import is coming in a future update.\n\nYou will be able to load custom .js indicator files here.")},[]),[Er,Cr]=(0,t.useState)(null),[Tr,Mr]=(0,t.useState)(null),[Or,Ar]=(0,t.useState)(null),Pr=(0,t.useMemo)(()=>{const e=Er&&"number"===typeof Er._last_modified?Er._last_modified:null;if(null==e)return!1;const t=new Date,n=new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),22,0,0));return n.getTime()>t.getTime()&&n.setUTCDate(n.getUTCDate()-1),1e3*e<n.getTime()},[Er]),Ir=(0,t.useRef)(vn);(0,t.useEffect)(()=>{if(Ir.current===vn)return;if(Ir.current=vn,!Tn.bands)return;Mn(e=>({...e,bands:!1}));const e=setTimeout(()=>{Mn(e=>({...e,bands:!0}))},350);return()=>clearTimeout(e)},[vn]);const[Dr,Lr]=(0,t.useState)(null),Rr=(0,t.useRef)([]);(0,t.useEffect)(()=>{d&&zt&&(Ve(!0),zt(d,vn,nr).finally(()=>Ve(!1)))},[d,vn,zt,nr]),(0,t.useEffect)(()=>{if(!d||!zt)return;const e=setInterval(()=>{zt(d,vn,nr)},15e3);return()=>clearInterval(e)},[d,vn,zt,nr]),(0,t.useEffect)(()=>{Ge(null)},[vn]);const zr=(0,t.useRef)({}),[Nr,Fr]=(0,t.useState)(0);(0,t.useEffect)(()=>{if(!d)return;0===Nr&&(Cr(null),Mr(null),Ar(null),zr.current={},z.current={});const e=(e,t)=>{e(e=>{try{if(JSON.stringify(e)===JSON.stringify(t))return e}catch{}return t})};zg(`/api/bands/${d}`).then(t=>{e(Cr,t||null),t||We("debug",`${d} \u2014 no bands data`)}),zg(`/api/anchors/${d}`).then(t=>{e(Mr,t||null),t||We("debug",`${d} \u2014 no anchors data`)}),zg(`/api/cones/${d}`).then(t=>{e(Ar,t||null),t||We("debug",`${d} \u2014 no cones data`)}),zg(`/api/scalp_bands/${d}`).then(t=>{e(Lr,t||null)}),zg(`/api/quarterly_cones/${d}`).then(t=>{if(!t||"object"!==typeof t)return void e(Qn,null);const n={};t.gbm_quarter_curr&&(n.gbm_manual=t.gbm_quarter_curr),t.mjd_quarter_curr&&(n.mjd_manual=t.mjd_quarter_curr),t.gbm_quarter_prev1&&(n.gbm_manual_p1=t.gbm_quarter_prev1),t.mjd_quarter_prev1&&(n.mjd_manual_p1=t.mjd_quarter_prev1),t.gbm_quarter_prev2&&(n.gbm_manual_p2=t.gbm_quarter_prev2),t.mjd_quarter_prev2&&(n.mjd_manual_p2=t.mjd_quarter_prev2),t.gbm_quarter_prev3&&(n.gbm_manual_p3=t.gbm_quarter_prev3),t.mjd_quarter_prev3&&(n.mjd_manual_p3=t.mjd_quarter_prev3),e(Qn,Object.keys(n).length?n:null)}).catch(()=>e(Qn,null))},[d,Nr]),(0,t.useEffect)(()=>{Fr(0)},[d]),(0,t.useEffect)(()=>{if(!j||!d)return;const e=`/api/focus/${encodeURIComponent(d)}`;return fetch(e,{method:"POST"}).catch(()=>{}),()=>{fetch("/api/focus",{method:"DELETE",keepalive:!0}).catch(()=>{})}},[j,d]),(0,t.useEffect)(()=>{if("undefined"===typeof window)return;const e=()=>Fr(e=>e+1);return window.addEventListener("mk:data-sync-complete",e),()=>window.removeEventListener("mk:data-sync-complete",e)},[]);const[$r,Wr]=(0,t.useState)(null),Br=(0,t.useRef)({}),[Ur,Hr]=(0,t.useState)(null);(0,t.useEffect)(()=>{if(!d)return Wr(null),void Hr(null);const e=Br.current[d];void 0!==e&&Hr(e);let t=!1;return zg(`/api/options/${d}/full?n=8`).then(e=>{if(t)return;const n=!!e;Br.current[d]=n,Hr(n),Wr(e||null),e||We("debug",`${d} \u2014 no options/sauce data`)}),()=>{t=!0}},[d,Nr]),(0,t.useEffect)(()=>()=>{},[d]);const Vr=d?null===h||void 0===h?void 0:h.get(d):null,Yr=(null===Vr||void 0===Vr?void 0:Vr.candles)||[],Gr=(()=>{const e=null===Vr||void 0===Vr?void 0:Vr.decimals;let t=Number.isFinite(e)&&e>=0&&e<=8?e:2;const n=null!==Vr&&void 0!==Vr&&Vr.price&&Vr.price>0?Vr.price:Yr.length>0?Number(Yr[Yr.length-1].c):0;return n>0&&n<10&&t<4&&(t=5),t})();Xt.current=Gr;const Kr=(null===Vr||void 0===Vr?void 0:Vr.price)||0;Jt.current=Kr;const qr=(0,t.useMemo)(()=>{const e=Or&&Object.keys(Or).length>0?Or:(null===Vr||void 0===Vr?void 0:Vr.projections)||{};if(Jn){const t={...e};return["gbm_manual","mjd_manual","gbm_manual_p1","mjd_manual_p1","gbm_manual_p2","mjd_manual_p2","gbm_manual_p3","mjd_manual_p3"].forEach(e=>{Jn[e]&&(t[e]=Jn[e])}),t}return e},[Or,Vr,Jn,Zn]),Xr=(0,t.useMemo)(()=>{const e=new Set;return Yr.map(e=>({time:Ng(e.t),open:e.o,high:e.h,low:e.l,close:e.c})).filter(t=>t.time>0&&!e.has(t.time)&&e.add(t.time)).sort((e,t)=>e.time-t.time)},[Yr]),Jr=(0,t.useMemo)(()=>{var e;const t=new Set,n=(null===Bn||void 0===Bn?void 0:Bn.volume_bar)||{},r=n.color_up||"#2ebd59",i=n.color_down||"#e8383b",o=null!==(e=n.opacity)&&void 0!==e?e:.08,l=(e,t)=>`rgba(${parseInt(e.slice(1,3),16)},${parseInt(e.slice(3,5),16)},${parseInt(e.slice(5,7),16)},${t})`;return Yr.map(e=>({time:Ng(e.t),value:e.v||0,color:e.c>=e.o?l(r,o):l(i,o)})).filter(e=>e.time>0&&!t.has(e.time)&&t.add(e.time)).sort((e,t)=>e.time-t.time)},[Yr,Bn]),Qr=(0,t.useMemo)(()=>{const e=new Set,t=Nn||{},n=e=>!1!==t[$g(e)];return Object.entries(On).forEach(t=>{let[r,i]=t;if(!i||!Cg[r])return;const o=Hn[r]||{};Cg[r].keys.forEach(t=>{o.hide_gbm&&t.startsWith("gbm_")||o.hide_mjd&&t.startsWith("mjd_")||n(t)&&e.add(t)})}),Object.entries(Dn).forEach(t=>{let[r,i]=t;i&&Tg[r]&&Tg[r].keys.forEach(t=>{n(t)&&e.add(t)})}),Object.entries(Rn).forEach(t=>{let[r,i]=t;i&&Mg[r]&&Mg[r].keys.forEach(t=>{n(t)&&e.add(t)})}),e},[On,Dn,Rn,Nn,Hn]);(0,t.useEffect)(()=>{const e=E.current;if(!Be||!e||!Xr||0===Xr.length)return;if(zr.current[d])return;const t=setTimeout(()=>{try{const t=Xr.length;if(t<2)return;const n=Math.min(nr,t),r=Math.max(0,t-n),i=t-1+Math.max(24,Math.round(86400/(_g[vn]||900)));R.current=!0;try{e.timeScale().setVisibleLogicalRange({from:r,to:i})}catch{}requestAnimationFrame(()=>{R.current=!1}),zr.current[d]=!0}catch{}},100);return()=>clearTimeout(t)},[Be,d,Xr,nr]);const Zr=(0,t.useMemo)(()=>{var e,t;const n=[],r=null===Tr||void 0===Tr?void 0:Tr.anchors;if(!r)return n;const i={vwap_weekly:r.vwap_weekly,vwap_monthly:r.vwap_monthly,high_weekly:r.prev_week_high,low_weekly:r.prev_week_low,high_monthly:r.prev_month_high,low_monthly:r.prev_month_low};for(const[s,a]of Object.entries(i))"number"===typeof a&&a>0&&n.push({key:s,price:a,group:s.includes("monthly")?"monthly":"weekly"});const o=null===Tr||void 0===Tr||null===(e=Tr.extremes)||void 0===e?void 0:e["7d"],l=null===Tr||void 0===Tr||null===(t=Tr.extremes)||void 0===t?void 0:t["30d"];return(null===o||void 0===o?void 0:o.high_extreme)>0&&n.push({key:"ext_high_7d",price:o.high_extreme,group:"extremes"}),(null===o||void 0===o?void 0:o.low_extreme)>0&&n.push({key:"ext_low_7d",price:o.low_extreme,group:"extremes"}),(null===l||void 0===l?void 0:l.high_extreme)>0&&n.push({key:"ext_high_30d",price:l.high_extreme,group:"extremes"}),(null===l||void 0===l?void 0:l.low_extreme)>0&&n.push({key:"ext_low_30d",price:l.low_extreme,group:"extremes"}),n},[Tr]),ei=(0,t.useMemo)(()=>{const e=new Set(Object.entries(Pn).filter(e=>{let[,t]=e;return t}).map(e=>{let[t]=e;return t}));return Zr.filter(t=>e.has(t.group))},[Zr,Pn]),ti=(0,t.useMemo)(()=>{const e=[],t=new Set;if(null!==g&&void 0!==g&&g.active)for(const[f,k]of Object.entries(g.active)){var n,r,i,o,l,s,a,c,u,h;if(k.ticker!==d)continue;t.add(f);const p=k.signal_type||"",g=Ag[p]||{color:fg,abbr:p.slice(0,5).toUpperCase()},m=(k.state||"active").toLowerCase(),y=(null===(n=k.history)||void 0===n||null===(r=n[0])||void 0===r?void 0:r.time)||k.generated_at||"";e.push({time:Ng(y),direction:(k.direction||"long").toLowerCase(),signal_type:p,label:g.abbr,color:g.color,opacity:null!==(i=Pg[m])&&void 0!==i?i:.5,state:m,confidence:null!==(o=k.confidence)&&void 0!==o?o:0,entry_price:null!==(l=null!==(s=k.entry)&&void 0!==s?s:k.entry_price)&&void 0!==l?l:0,stop_loss:null!==(a=null!==(c=k.stop)&&void 0!==c?c:k.stop_loss)&&void 0!==a?a:0,target_price:null!==(u=null!==(h=k.target)&&void 0!==h?h:k.target_price)&&void 0!==u?u:0,high:0,low:0})}if(f&&d){var p;const n=f[d]||(null===f||void 0===f||null===(p=f.signals)||void 0===p?void 0:p[d]);if(Array.isArray(n))for(const r of n){var m,y,v,x,b,w,S,j;const n=r.signal||r;if(t.has(n.signal_id))continue;const i=n.signal_type||n.type||"",o=Ag[i]||{color:fg,abbr:i.slice(0,5).toUpperCase()},l=(n.state||"pending").toLowerCase();e.push({time:Ng(n.generated_at||n.time||n.timestamp||n.entry_time),direction:(n.direction||n.side||"long").toLowerCase(),signal_type:i,label:o.abbr,color:o.color,opacity:null!==(m=Pg[l])&&void 0!==m?m:.5,state:l,confidence:null!==(y=n.confidence)&&void 0!==y?y:0,entry_price:null!==(v=null!==(x=n.entry_price)&&void 0!==x?x:n.entry)&&void 0!==v?v:0,stop_loss:null!==(b=null!==(w=n.stop_loss)&&void 0!==w?w:n.stop)&&void 0!==b?b:0,target_price:null!==(S=null!==(j=n.target_price)&&void 0!==j?j:n.target)&&void 0!==S?S:0,high:0,low:0})}}return e.filter(e=>e.time>0)},[f,g,d]);(0,t.useEffect)(()=>{const e=_.current;if(!e||!zy)return;let t=null;const n=()=>{const r=e.clientWidth,i=e.clientHeight;if(r<50||i<30)t=setTimeout(n,200);else try{if(E.current)try{E.current.remove()}catch{}const t=cd||{},n=zy(e,{width:r,height:i,layout:{background:{color:sg},textColor:fg,fontSize:10,fontFamily:Sg,attributionLogo:!1},grid:{vertLines:{visible:!1},horzLines:{visible:!1}},crosshair:{mode:(Jd||{}).Normal,vertLine:{color:"#555",width:1,style:t.Dashed,labelBackgroundColor:cg},horzLine:{color:"#555",width:1,style:t.Dashed,labelBackgroundColor:mg}},rightPriceScale:{borderColor:hg,scaleMargins:{top:.1,bottom:.15}},timeScale:{borderColor:hg,timeVisible:!0,secondsVisible:!1,rightOffset:Math.max(24,Math.round(86400/(_g[vn]||900))),autoScrollToRealTime:!1,shiftVisibleRangeOnNewBar:!1,lockVisibleTimeRangeOnResize:!0},handleScroll:{mouseWheel:!0,pressedMouseMove:!0,horzTouchDrag:!0,vertTouchDrag:!0},handleScale:{mouseWheel:!0,pinch:!0,axisPressedMouseMove:{time:!0,price:!0}}});E.current=n,C.current=n.addSeries(rg,{upColor:yg,downColor:vg,borderUpColor:yg,borderDownColor:vg,wickUpColor:yg,wickDownColor:vg,priceLineVisible:!0,lastValueVisible:!0,priceFormat:{type:"price",precision:5,minMove:1e-5}}),M.current=n.addSeries(lg,{priceFormat:{type:"volume"},priceScaleId:"vol",priceLineVisible:!1,lastValueVisible:!1}),O.current=n.addSeries(Zf,{color:"rgba(0,0,0,0)",lineWidth:1,priceLineVisible:!1,lastValueVisible:!1,crosshairMarkerVisible:!1,autoscaleInfoProvider:()=>null}),n.priceScale("vol").applyOptions({scaleMargins:{top:.88,bottom:0}});let o=null,l=!1,s=0;const a=new ResizeObserver(e=>{if(l)return;const{width:t,height:r}=e[0].contentRect;if(t>50&&r>30){const e=s<=50;s=t,o&&cancelAnimationFrame(o),o=requestAnimationFrame(()=>{if(!l){try{n.resize(t,r)}catch{}if(e&&F.current){const e=F.current;R.current=!0;try{n.timeScale().setVisibleRange(e)}catch{}requestAnimationFrame(()=>{try{n.timeScale().setVisibleRange(e)}catch{}R.current=!1})}}})}else s=t});a.observe(e),e._cleanup=()=>{l=!0,a.disconnect(),o&&cancelAnimationFrame(o),setTimeout(()=>{try{n.remove()}catch{}},50)};const c=new ty;C.current.attachPrimitive(c),yt.current=c,n.timeScale().subscribeVisibleLogicalRangeChange(()=>{R.current||($.current=!0)}),n.timeScale().subscribeVisibleTimeRangeChange(e=>{R.current||e&&e.from&&e.to&&(F.current=e)}),Ue(!0)}catch(sd){console.error("[MC] init crash:",sd),We("error",`Chart init crash: ${sd.message}`)}};return n(),()=>{t&&clearTimeout(t),null!==e&&void 0!==e&&e._cleanup&&e._cleanup();try{var n,r;if(Y.current)null===(n=C.current)||void 0===n||null===(r=n.detachPrimitive)||void 0===r||r.call(n,Y.current),Y.current=null}catch{}try{var i,o;if(yt.current)null===(i=C.current)||void 0===i||null===(o=i.detachPrimitive)||void 0===o||o.call(i,yt.current),yt.current=null}catch{}try{var l,s;if(gt.current)null===(l=C.current)||void 0===l||null===(s=l.detachPrimitive)||void 0===s||s.call(l,gt.current),gt.current=null}catch{}G.current=[],E.current=null,C.current=null,M.current=null,D.current=null,L.current=null;try{ii.current&&(ii.current.remove(),ii.current=null)}catch{}Ue(!1)}},[]),(0,t.useEffect)(()=>{if(!Be||!C.current||Xr.length<2)return;const e=E.current,t=`${d}:${vn}`,n=!z.current[t],r=N.current[t]||[];let i=!1,o=!1,l=[];const s=Xr.length-r.length;if(!n&&r.length>=10&&s>=0&&s<=2){const e=[0,Math.floor(r.length/2),r.length-2,r.length-1];let t=!0;for(const n of e){if(n<0||n>=r.length||n>=Xr.length){t=!1;break}if(r[n].time!==Xr[n].time){t=!1;break}}if(t){const e=r[r.length-1],t=Xr[r.length-1],n=Xr.slice(r.length);let s=!0,a=e.time;for(const r of n){if(!(r.time>a)){s=!1;break}a=r.time}s&&(i=!0,l=n,t.open===e.open&&t.close===e.close&&t.high===e.high&&t.low===e.low||(o=!0))}}if(i&&(l.length>0||o))try{o&&(C.current.update(Xr[r.length-1]),M.current&&Jr[r.length-1]&&M.current.update(Jr[r.length-1]));for(let e=0;e<l.length;e++){C.current.update(l[e]);const t=r.length+e;M.current&&Jr[t]&&M.current.update(Jr[t])}}catch(sd){console.warn("[MC] update() path failed, falling back to setData:",sd);try{C.current.setData(Xr),M.current&&M.current.setData(Jr)}catch{}}else{let t=null;if(!n)try{t=null===e||void 0===e?void 0:e.timeScale().getVisibleRange()}catch{}R.current=!0;try{C.current.setData(Xr),M.current&&M.current.setData(Jr)}catch(sd){return console.error("[MC] setData:",sd),We("error",`setData failed: ${sd.message}`),void(R.current=!1)}if(t){const n=t;try{null===e||void 0===e||e.timeScale().setVisibleRange(n)}catch{}requestAnimationFrame(()=>{try{null===e||void 0===e||e.timeScale().setVisibleRange(n)}catch{}R.current=!1})}else R.current=!1}N.current[t]=Xr,z.current[t]=!0},[Be,Xr,Jr,d,vn]),(0,t.useEffect)(()=>{if(!Be||!C.current)return;if(!Vr)return;const e=Number.isFinite(null===Vr||void 0===Vr?void 0:Vr.decimals)&&Vr.decimals>=0,t=Number.isFinite(null===Vr||void 0===Vr?void 0:Vr.price)&&Vr.price>0;if(!e&&!t)return;const n=Math.pow(10,-Gr);console.log(`[priceFormat] ticker=${d} ad.decimals=${null===Vr||void 0===Vr?void 0:Vr.decimals} ad.price=${null===Vr||void 0===Vr?void 0:Vr.price} dec=${Gr} minMove=${n}`);try{C.current.applyOptions({priceFormat:{type:"price",precision:Gr,minMove:n}})}catch(sd){console.warn("[priceFormat] applyOptions threw:",sd)}},[Be,Gr,d,Vr,null===Vr||void 0===Vr?void 0:Vr.decimals,null===Vr||void 0===Vr?void 0:Vr.price]),(0,t.useEffect)(()=>{if(Be&&E.current&&Number.isFinite(Gr)&&!(Gr<0))try{E.current.applyOptions({localization:{priceFormatter:e=>Number.isFinite(e)?e.toFixed(Gr):""}})}catch(sd){console.warn("[priceFormatter] applyOptions threw:",sd)}},[Be,Gr,d]),(0,t.useEffect)(()=>{if(!Be)return;const e=E.current,t=C.current;if(e&&Kn){try{e.applyOptions({layout:{background:{type:"solid",color:Kn.background}},grid:{vertLines:{visible:!!Kn.gridLines,color:hg},horzLines:{visible:!!Kn.gridLines,color:hg}}})}catch(sd){console.warn("[chartStyle] chart applyOptions threw:",sd)}if(t)try{t.applyOptions({upColor:Kn.bullishColor,downColor:Kn.bearishColor,borderUpColor:Kn.bullishColor,borderDownColor:Kn.bearishColor,wickUpColor:Kn.bullishColor,wickDownColor:Kn.bearishColor})}catch(sd){console.warn("[chartStyle] candle applyOptions threw:",sd)}}},[Be,Kn]),(0,t.useEffect)(()=>{if(!Be||!E.current)return;const e=Math.max(24,Math.round(86400/(_g[vn]||900)));try{E.current.timeScale().applyOptions({rightOffset:e})}catch{}},[Be,vn]);const ni=(0,t.useRef)(()=>{});(0,t.useEffect)(()=>{if(!Be)return;const e=T.current,t=E.current;if(!e||!t)return;const n=py[function(e){const t=(e||"").toUpperCase();return/^(BTC|ETH|SOL|XRP|LTC|ADA|DOGE)/.test(t)?"crypto":/^(US500|USTEC|US30|SPY|QQQ|DIA|IWM|AAPL|MSFT|NVDA|TSLA|AMZN|META|GOOG|GOOGL|PLTR)/.test(t)?"us_indices_equities":/^(UK100|GER40|FRA40|EUSTX|JP225)/.test(t)?"eu_indices":"forex_metals_oil"}(d)]||py.forex_metals_oil;const r=null===Kn||void 0===Kn?void 0:Kn.marketCloseSeparator,i=null===Kn||void 0===Kn?void 0:Kn.rthSeparator,o=!(null===r||void 0===r||!r.show||null===n||void 0===n||!n.marketClose),l=!(null===i||void 0===i||!i.show||null===n||void 0===n||!n.rthOpen);ni.current=()=>{const s=e.parentElement;if(!s)return;const a=s.getBoundingClientRect();if(a.width<=0||a.height<=0)return;const c=window.devicePixelRatio||1;e.width=Math.floor(a.width*c),e.height=Math.floor(a.height*c),e.style.width=a.width+"px",e.style.height=a.height+"px";const d=e.getContext("2d");if(!d)return;if(d.setTransform(c,0,0,c,0,0),d.clearRect(0,0,a.width,a.height),!o&&!l)return;if(!Array.isArray(Xr)||0===Xr.length)return;let u;try{u=function(e,t){const n={close:[],rth:[]};if(!Array.isArray(e)||0===e.length)return n;const r=(null===t||void 0===t?void 0:t.marketClose)||null,i=(null===t||void 0===t?void 0:t.rthOpen)||null;if(!r&&!i)return n;for(const o of e){if("number"!==typeof(null===o||void 0===o?void 0:o.time))continue;const e=gy(o.time);r&&e===r&&n.close.push(o.time),i&&e===i&&n.rth.push(o.time)}return n}(Xr,n)}catch(sd){return void console.warn("[separators] findBoundaryBars threw:",sd)}const h=t.timeScale();if(o)for(const e of u.close){let t;try{t=h.timeToCoordinate(e)}catch{t=null}null!=t&&my(d,t,a.height,r)}if(l)for(const e of u.rth){let t;try{t=h.timeToCoordinate(e)}catch{t=null}null!=t&&my(d,t,a.height,i)}},ni.current()},[Be,Kn,d,Xr]),(0,t.useEffect)(()=>{if(!Be)return;const e=T.current,t=E.current;if(!e||!t)return;const n=t.timeScale(),r=()=>{try{ni.current()}catch{}};try{n.subscribeVisibleTimeRangeChange(r)}catch{}let i=null;try{i=new ResizeObserver(()=>{try{ni.current()}catch{}}),e.parentElement&&i.observe(e.parentElement)}catch{}return()=>{try{n.unsubscribeVisibleTimeRangeChange(r)}catch{}try{var e;null===(e=i)||void 0===e||e.disconnect()}catch{}}},[Be]),(0,t.useEffect)(()=>{if(!Be||!O.current||0===Xr.length)return;const e=Xr[Xr.length-1].time,t=_g[vn]||900,n=Math.min(4e3,Math.ceil(2592e3/t)),r=new Array(n);for(let i=0;i<n;i++)r[i]={time:e+(i+1)*t};R.current=!0;try{O.current.setData(r)}catch{}requestAnimationFrame(()=>{R.current=!1})},[Be,Xr,vn]),(0,t.useEffect)(()=>{V.current=0,W.current=-1/0,H.current=1/0,B.current=null},[d]),(0,t.useEffect)(()=>{if(!Be||!C.current||0===Xr.length||Kr<=0)return;if(U.current)return;const e=Xr[Xr.length-1],t=e.close||e.open;if(!(t>0&&(Kr<.85*t||Kr>1.15*t))&&(e.time!==V.current&&(V.current=e.time,W.current=e.high,H.current=e.low,B.current=null),B.current!==Kr)){W.current=Math.max(W.current,Kr),H.current=Math.min(H.current,Kr);try{C.current.update({time:e.time,open:e.open,high:W.current,low:H.current,close:Kr}),B.current=Kr}catch{}}},[Be,Kr,Xr]),(0,t.useEffect)(()=>{const e=_.current;if(!e)return;const t=()=>{U.current=!0;try{var e;null===(e=E.current)||void 0===e||e.priceScale("right").applyOptions({autoScale:!1})}catch{}},n=()=>{U.current&&(U.current=!1)};return e.addEventListener("pointerdown",t),window.addEventListener("pointerup",n),window.addEventListener("pointercancel",n),()=>{e.removeEventListener("pointerdown",t),window.removeEventListener("pointerup",n),window.removeEventListener("pointercancel",n)}},[]),(0,t.useEffect)(()=>{const e=E.current;if(!Be||!e||0===Xr.length)return;const t=(()=>{try{return e.timeScale().getVisibleRange()}catch{return null}})();R.current=!0,Object.values(A.current).forEach(t=>Object.values(t).forEach(t=>{try{e.removeSeries(t)}catch{}})),A.current={};const n=cd||{},r=[...Object.keys(Cg).flatMap(e=>Cg[e].keys),...Object.keys(Tg).flatMap(e=>Tg[e].keys),...Object.keys(Mg).flatMap(e=>Mg[e].keys)];if(r.forEach(t=>{var r;if(!Qr.has(t))return;const i=qr[t];if(null===i||void 0===i||!i.median||i.median.length<2)return;let o=null,l=!1;for(const[e,n]of Object.entries(Cg))if(n.keys.includes(t)){o=e;break}let s=!1;if(!o)for(const[e,n]of Object.entries(Tg))if(n.keys.includes(t)){o=e,l=!0;break}if(!o)for(const[e,n]of Object.entries(Mg))if(n.keys.includes(t)){o=e,s=!0;break}const a=l&&o?"bates_"+o:s&&o?"gex_"+o:o,c=a?Hn[a]:null,d=function(e,t){const n=Og[e]||Og.gbm_now;return t?{...n,...t}:n}(t,null);let u=d.med,h=d.sd1,p=d.sd2,f=d.sd3||"",g=d.w||2;if(c){const e="string"===typeof t&&t.toLowerCase().startsWith("mjd_")?c.color_mjd||c.color:c.color_gbm||c.color;if(e){var m;const t=e,n=null!==(m=c.opacity)&&void 0!==m?m:1,r=Math.round(255*n).toString(16).padStart(2,"0");u=t+r,h=t+r,p=t+r,f=t+r}c.width&&(g=c.width)}f||(f=p.replace(/[\d.]+\)$/,e=>(.6*parseFloat(e)).toFixed(2)+")"));const y=new Set,v=i.dates?i.dates.map(e=>Ng(e)):[];if(v.length<2)return;const x=e=>{const t=[];y.clear();for(let l=0;l<Math.min(e.length,v.length);l++)v[l]>0&&!y.has(v[l])&&(y.add(v[l]),t.push({time:v[l],value:e[l]}));const n=t.sort((e,t)=>e.time-t.time),r=Xr.map(e=>e.time);if(n.length<2)return n;const i=Bg(n,r),o=r.length>=2?Math.max(60,r[r.length-1]-r[r.length-2]):900;return Ug(i,Math.max(5,Math.min(41,Math.round(25200/o))))},b=null!==(r=n.Solid)&&void 0!==r?r:0,w=_t?b:n.Dashed,S=_t?b:n.Dotted,j=_t?b:n.SparseDotted||n.Dotted,k={};k.med=Fg(e,u,g,d.d),k.med.setData(x(i.median)),i.sd1_high&&(k.s1h=Fg(e,h,Math.max(1,g-1),w),k.s1h.setData(x(i.sd1_high))),i.sd1_low&&(k.s1l=Fg(e,h,Math.max(1,g-1),w),k.s1l.setData(x(i.sd1_low))),i.sd2_high&&(k.s2h=Fg(e,p,Math.max(1,g-1),S),k.s2h.setData(x(i.sd2_high))),i.sd2_low&&(k.s2l=Fg(e,p,Math.max(1,g-1),S),k.s2l.setData(x(i.sd2_low))),i.sd3_high&&(k.s3h=Fg(e,f,Math.max(1,g-1),j),k.s3h.setData(x(i.sd3_high))),i.sd3_low&&(k.s3l=Fg(e,f,Math.max(1,g-1),j),k.s3l.setData(x(i.sd3_low))),A.current[t]=k}),t){try{e.timeScale().setVisibleRange(t)}catch{}requestAnimationFrame(()=>{try{e.timeScale().setVisibleRange(t)}catch{}R.current=!1})}else R.current=!1},[Be,qr,Qr,vn,Hn,_t]);const ri=(0,t.useRef)([]);(0,t.useEffect)(()=>{const e=C.current;if(!Be||!e)return;if(ri.current.forEach(t=>{try{e.removePriceLine(t)}catch{}}),ri.current=[],!$r)return;const t=$r.sauce,n=$r.sauce_0dte;let r=n;if($r.gex_0dte&&null!=$r.spot){var i;const e=null!==(i=$r.cfd_ratio_used)&&void 0!==i?i:1;r={...n||{},structural_integrity:Km($r.gex_0dte,$r.spot,e),volatility_gravity:qm($r.gex_0dte,$r.dealer_heatmap_0dte,$r.spot,e)}}if(!t&&!r)return;const o=cd||{},l=e=>Number(e).toFixed(Math.abs(e)>=100?2:4),s=e=>Math.max(0,Math.min(1,(Number(e)||0)/5)),a=(e,t)=>Math.max(0,Math.min(1,Math.abs(Number(e)||0)/t)),c=e=>{const t=Math.round(5*Math.max(0,Math.min(1,e)));return"\u2587".repeat(t)+"\u2500".repeat(5-t)},d=e=>{const t=(e||"").replace("#","");if(6!==t.length)return e;return`rgba(${parseInt(t.slice(0,2),16)},${parseInt(t.slice(2,4),16)},${parseInt(t.slice(4,6),16)},0.28)`},u=function(t,n,r){let{lineWidth:i=1,halo:l=!1,lineStyle:s=o.Dashed}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(null!=t&&isFinite(t))try{if(l){const r=e.createPriceLine({price:t,color:d(n),lineWidth:Math.min(4,i+2),lineStyle:o.Solid,axisLabelVisible:!1,title:""});ri.current.push(r)}const a=e.createPriceLine({price:t,color:n,lineWidth:i,lineStyle:s,axisLabelVisible:!0,title:r});ri.current.push(a)}catch{}},h=(()=>{const e=null===$r||void 0===$r?void 0:$r.swing_expiry;if(!e)return"SWING";const[,t,n]=e.split("-");return`${n}${["JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"][parseInt(t,10)-1]||t}`})(),p={horizonTag:h,slotSuffix:"swing",lineStyle:o.Dashed,widthBump:0,haloThresh:.7},f={horizonTag:"0DTE",slotSuffix:"0dte",lineStyle:o.Solid,widthBump:1,haloThresh:.5},g=(e,t)=>{var n,r;if(!e)return;const i=t.horizonTag,o=t.slotSuffix,d=` \xb7 ${i}`,h=e=>(e=>1+Math.round(2*Math.max(0,Math.min(1,e))))(e)+t.widthBump,p=(null===(n=e.volatility_gravity)||void 0===n?void 0:n.levels)||[];Rn.magnets&&!1!==Nn[`magnets_${o}`]&&p.filter(e=>"magnet"===e.type).forEach(e=>{const n=null!=e.strength?s(e.strength):a(e.gex_norm,.5);u(e.strike,Mg.magnets.color,`\ud83e\uddf2 ${l(e.strike)}${d} ${c(n)}`,{lineWidth:h(n),halo:n>=t.haloThresh,lineStyle:t.lineStyle})}),Rn.springs&&!1!==Nn[`springs_${o}`]&&p.filter(e=>"spring"===e.type).forEach(e=>{const n=null!=e.strength?s(e.strength):a(e.gex_norm,.5);u(e.strike,Mg.springs.color,`\ud83d\ude80 ${l(e.strike)}${d} ${c(n)}`,{lineWidth:h(n),halo:n>=t.haloThresh,lineStyle:t.lineStyle})});const f=(null===(r=e.structural_integrity)||void 0===r?void 0:r.levels)||[];Rn.reinforced&&!1!==Nn[`reinforced_${o}`]&&f.filter(e=>{var t;return(null!==(t=e.gex_norm)&&void 0!==t?t:0)>.1}).forEach(e=>{const n=a(e.gex_norm,.5),r=e.hardness?` ${String(e.hardness).toUpperCase()}`:"";u(e.strike,Mg.reinforced.color,`\u25a0 ${l(e.strike)}${d}${r} ${c(n)}`,{lineWidth:h(n),halo:n>=t.haloThresh,lineStyle:t.lineStyle})}),Rn.thin_ice&&!1!==Nn[`thin_ice_${o}`]&&f.filter(e=>{var t;return(null!==(t=e.gex_norm)&&void 0!==t?t:0)<-.15}).forEach(e=>{const n=a(e.gex_norm,.5),r=e.hardness?` ${String(e.hardness).toUpperCase()}`:"";u(e.strike,Mg.thin_ice.color,`\u2591 ${l(e.strike)}${d}${r} ${c(n)}`,{lineWidth:h(n),halo:n>=t.haloThresh,lineStyle:t.lineStyle})})};g(t,p),g(r,f);const m=Rn.flip&&!1!==Nn.flip_swing,y=Rn.flip&&!1!==Nn.flip_0dte,v=Rn.expected_move&&!1!==Nn.em_swing,x=Rn.expected_move&&!1!==Nn.em_0dte,b=(()=>{const e=null===$r||void 0===$r?void 0:$r.swing_expiry;if(!e)return"SWING";const[,t,n]=e.split("-");return`${n}${["JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"][parseInt(t,10)-1]||t}`})();if(m){const e=Number(null===$r||void 0===$r?void 0:$r.gex_flip);Number.isFinite(e)&&e>0&&u(e,Mg.flip.color,`\u2691 FLIP ${l(e)} \xb7 ${b}`,{lineWidth:2,halo:!0})}if(y){var w,S,j,k,_;const e=null!==(w=null!==(S=null===$r||void 0===$r?void 0:$r.gex_flip_0dte)&&void 0!==S?S:null===$r||void 0===$r||null===(j=$r.gex_0dte)||void 0===j?void 0:j.flip)&&void 0!==w?w:null===$r||void 0===$r||null===(k=$r.gex_0dte)||void 0===k||null===(_=k.aggregate)||void 0===_?void 0:_.flip,t=Number(e);Number.isFinite(t)&&t>0&&u(t,Mg.flip.color,`\u2691 FLIP ${l(t)} \xb7 0DTE`,{lineWidth:2,halo:!0})}if(v){const e=null===$r||void 0===$r?void 0:$r.expected_move;e&&(Number.isFinite(e.move_up)&&u(e.move_up,Mg.expected_move.color,`\u25c6 EM+ ${l(e.move_up)} \xb7 ${b}`,{lineWidth:1}),Number.isFinite(e.move_down)&&u(e.move_down,Mg.expected_move.color,`\u25c6 EM\u2212 ${l(e.move_down)} \xb7 ${b}`,{lineWidth:1}))}if(x){var E,T;const e=null!==(E=null===$r||void 0===$r?void 0:$r.expected_move_0dte)&&void 0!==E?E:null===$r||void 0===$r||null===(T=$r.gex_0dte)||void 0===T?void 0:T.expected_move;e&&(Number.isFinite(e.move_up)&&u(e.move_up,Mg.expected_move.color,`\u25c6 EM+ ${l(e.move_up)} \xb7 0DTE`,{lineWidth:1}),Number.isFinite(e.move_down)&&u(e.move_down,Mg.expected_move.color,`\u25c6 EM\u2212 ${l(e.move_down)} \xb7 0DTE`,{lineWidth:1}))}},[Be,$r,Rn.flip,Rn.expected_move,Rn.magnets,Rn.springs,Rn.reinforced,Rn.thin_ice,Nn.flip_0dte,Nn.flip_swing,Nn.em_0dte,Nn.em_swing,Nn.magnets_0dte,Nn.magnets_swing,Nn.springs_0dte,Nn.springs_swing,Nn.reinforced_0dte,Nn.reinforced_swing,Nn.thin_ice_0dte,Nn.thin_ice_swing]),(0,t.useEffect)(()=>{const e=E.current;if(!Be||!e)return;const t=(()=>{try{return e.timeScale().getVisibleRange()}catch{return null}})();if(R.current=!0,P.current&&(Object.values(P.current).forEach(t=>{try{e.removeSeries(t)}catch{}}),P.current=null),!Tn.bands||!Er){if(t){try{e.timeScale().setVisibleRange(t)}catch{}requestAnimationFrame(()=>{try{e.timeScale().setVisibleRange(t)}catch{}R.current=!1})}else R.current=!1;return}const n=Er.timestamps||Er.dates||[];if(0===n.length)return;const r={},i=Xr.map(e=>e.time),o=(e,t)=>`rgba(${parseInt(e.slice(1,3),16)},${parseInt(e.slice(3,5),16)},${parseInt(e.slice(5,7),16)},${t})`,l=e=>({...Lg[e],...Yn[e]||{}}),s=(t,o,l)=>{const s=(e=>{const t=Er[e];if(null===t||void 0===t||!t.length)return null;const r=t.map((e,t)=>({time:Ng(n[t]),value:e})).filter(e=>e.time>0&&null!=e.value&&isFinite(e.value)).sort((e,t)=>e.time-t.time);if(r.length<2)return null;const o=Bg(r,i);if(null===o||void 0===o||!o.length)return null;const l=i.length>=2?Math.max(60,i[i.length-1]-i[i.length-2]):900;return Ug(o,Math.max(5,Math.min(41,Math.round(25200/l))))})(t);if(s)try{const n=Fg(e,o,l||1);n.setData(s),r[t]=n}catch(sd){console.warn("[bands] setData failed for "+t+":",sd)}},a=l("gbm");if(!1!==a.visible){const e=a.width||1;s("gbm_3sd_high",o(a.color,a.op3),e),s("gbm_3sd_low",o(a.color,a.op3),e),s("gbm_2sd_high",o(a.color,a.op2),e),s("gbm_2sd_low",o(a.color,a.op2),e),s("gbm_1sd_high",o(a.color,a.op1),e+1),s("gbm_1sd_low",o(a.color,a.op1),e+1)}const c=l("mjd");if(!1!==c.visible){const e=c.width||1;s("mjd_3sd_high",o(c.color,c.op3),e),s("mjd_3sd_low",o(c.color,c.op3),e),s("mjd_2sd_high",o(c.color,c.op2),e),s("mjd_2sd_low",o(c.color,c.op2),e),s("mjd_1sd_high",o(c.color,c.op1),e+1),s("mjd_1sd_low",o(c.color,c.op1),e+1)}const d=l("bates");if(!1!==d.visible){const e=d.width||1;s("bat_3sd_high",o(d.color,d.op3),e),s("bat_3sd_low",o(d.color,d.op3),e),s("bat_2sd_high",o(d.color,d.op2),e),s("bat_2sd_low",o(d.color,d.op2),e),s("bat_1sd_high",o(d.color,d.op1),e+1),s("bat_1sd_low",o(d.color,d.op1),e+1)}if(s("mean",o(l("mean").color,.8),1),P.current=r,t){try{e.timeScale().setVisibleRange(t)}catch{}requestAnimationFrame(()=>{try{e.timeScale().setVisibleRange(t)}catch{}R.current=!1})}else R.current=!1},[Be,Er,Tn.bands,Yn]),(0,t.useEffect)(()=>{const e=E.current;if(!Be||!e)return;let t=null;try{t=e.timeScale().getVisibleRange()}catch{}R.current=!0;for(const c of Rr.current)try{e.removeSeries(c)}catch{}if(Rr.current=[],!Ct||!Dr){if(t){try{e.timeScale().setVisibleRange(t)}catch{}requestAnimationFrame(()=>{try{e.timeScale().setVisibleRange(t)}catch{}R.current=!1})}else R.current=!1;return}const n=Dr.timestamps||Dr.dates||[];if(!n.length)return void(R.current=!1);const r=Xr.map(e=>e.time),i=(e,t)=>`rgba(${parseInt(e.slice(1,3),16)},${parseInt(e.slice(3,5),16)},${parseInt(e.slice(5,7),16)},${t})`,o=(t,i,o)=>{const l=(e=>{const t=Dr[e];if(null===t||void 0===t||!t.length)return null;const i=t.map((e,t)=>({time:Ng(n[t]),value:e})).filter(e=>e.time>0&&null!=e.value&&isFinite(e.value)).sort((e,t)=>e.time-t.time);if(i.length<2)return null;const o=Bg(i,r);if(null===o||void 0===o||!o.length)return null;const l=r.length>=2?Math.max(60,r[r.length-1]-r[r.length-2]):900;return Ug(o,Math.max(5,Math.min(41,Math.round(25200/l))))})(t);if(l)try{const t=Fg(e,i,o||1);t.setData(l),Rr.current.push(t)}catch{}},l=Lg.gbm;o("gbm_3sd_high",i(l.color,l.op3),l.width),o("gbm_3sd_low",i(l.color,l.op3),l.width),o("gbm_2sd_high",i(l.color,l.op2),l.width),o("gbm_2sd_low",i(l.color,l.op2),l.width),o("gbm_1sd_high",i(l.color,l.op1),l.width+1),o("gbm_1sd_low",i(l.color,l.op1),l.width+1);const s=Lg.mjd;o("mjd_3sd_high",i(s.color,s.op3),s.width),o("mjd_3sd_low",i(s.color,s.op3),s.width),o("mjd_2sd_high",i(s.color,s.op2),s.width),o("mjd_2sd_low",i(s.color,s.op2),s.width),o("mjd_1sd_high",i(s.color,s.op1),s.width+1),o("mjd_1sd_low",i(s.color,s.op1),s.width+1);const a=Lg.bates;if(o("bat_3sd_high",i(a.color,a.op3),a.width),o("bat_3sd_low",i(a.color,a.op3),a.width),o("bat_2sd_high",i(a.color,a.op2),a.width),o("bat_2sd_low",i(a.color,a.op2),a.width),o("bat_1sd_high",i(a.color,a.op1),a.width+1),o("bat_1sd_low",i(a.color,a.op1),a.width+1),o("mean","rgba(153,153,153,0.6)",1),t){const n=t;try{e.timeScale().setVisibleRange(n)}catch{}requestAnimationFrame(()=>{try{e.timeScale().setVisibleRange(n)}catch{}R.current=!1})}else R.current=!1},[Be,Ct,Dr]),(0,t.useEffect)(()=>{const e=C.current;Be&&e&&(I.current.forEach(t=>{try{e.removePriceLine(t)}catch{}}),I.current=[],ei.forEach(t=>{const n=function(e){const t=cd||{};return{vwap_weekly:{color:yg,style:t.LargeDashed,title:"VWAP W"},vwap_monthly:{color:wg,style:t.LargeDashed,title:"VWAP M"},high_weekly:{color:vg,style:t.Dashed,title:"HIGH W"},low_weekly:{color:bg,style:t.Dashed,title:"LOW W"},high_monthly:{color:vg,style:t.Dotted,title:"HIGH M"},low_monthly:{color:bg,style:t.Dotted,title:"LOW M"},ext_high_7d:{color:vg,style:t.SparseDotted,title:"EXT HI 7D"},ext_low_7d:{color:bg,style:t.SparseDotted,title:"EXT LO 7D"},ext_high_30d:{color:vg,style:t.SparseDotted,title:"EXT HI 30D"},ext_low_30d:{color:bg,style:t.SparseDotted,title:"EXT LO 30D"}}[e]||{color:fg,style:t.Dashed,title:e}}(t.key);I.current.push(e.createPriceLine({price:t.price,color:n.color,lineWidth:1,lineStyle:n.style,axisLabelVisible:!0,title:n.title}))}))},[Be,ei]),(0,t.useEffect)(()=>{if(M.current)try{M.current.applyOptions({visible:!1!==$n.volume_bar})}catch{}},[$n.volume_bar,Be]),(0,t.useEffect)(()=>{const e=E.current,t=C.current;if(!Be||!e||!t)return;if(!Y.current){const e=new Xm;t.attachPrimitive(e),Y.current=e}if(!Tn.signals||0===ti.length)return void Y.current.setMarkers([]);const n=new Map;for(const o of Xr)n.set(o.time,{high:o.high,low:o.low});const r=_g[vn]||900,i=ti.map(e=>{let t=n.get(e.time);if(!t)for(let i=1;i<=2;i++){for(const o of[-r*i,r*i]){const r=n.get(e.time+o);if(r){t=r;break}}if(t)break}if(!t){if(Xr.length>0){const n=Xr[Xr.length-1];return t={high:n.high,low:n.low},{...e,time:n.time,high:t.high,low:t.low}}return null}return{...e,high:t.high,low:t.low}}).filter(Boolean);Y.current.setMarkers(i)},[Be,Tn.signals,ti,Xr,vn]),(0,t.useEffect)(()=>{const e=C.current;if(!e)return;if(G.current.forEach(t=>{try{e.removePriceLine(t)}catch{}}),G.current=[],!Be||!Tn.signals||0===ti.length)return;const t=cd||{},n=ti.filter(e=>!Ig.has(e.state));for(const r of n)r.entry_price>0&&G.current.push(e.createPriceLine({price:r.entry_price,color:mg,lineWidth:1,lineStyle:t.Dashed,axisLabelVisible:!0,title:`\u25b8 ENTRY ${r.label}`})),r.stop_loss>0&&G.current.push(e.createPriceLine({price:r.stop_loss,color:vg,lineWidth:1,lineStyle:t.SparseDotted,axisLabelVisible:!0,title:`\u2717 SL ${r.label}`})),r.target_price>0&&G.current.push(e.createPriceLine({price:r.target_price,color:yg,lineWidth:1,lineStyle:t.SparseDotted,axisLabelVisible:!0,title:`\u2713 TP ${r.label}`}))},[Be,Tn.signals,ti]);const ii=(0,t.useRef)(null),oi=(0,t.useRef)(new Map),li=(0,t.useRef)(!1);(0,t.useEffect)(()=>{var e,t;const n=E.current;if(!Be||!n)return;if(D.current){try{n.removeSeries(D.current)}catch{}D.current=null}if(L.current){try{n.removeSeries(L.current)}catch{}L.current=null}oi.current.clear();const r=y;if(!r||0===Xr.length){if(li.current&&Xr.length>0){try{var i;null===(i=C.current)||void 0===i||i.setData(Xr)}catch{}li.current=!1}return}const o=e=>{var t,n,r,i,o;if(!e||!e.enabled||!e.data)return null;const l=(null===(t=e.data)||void 0===t||null===(n=t.history)||void 0===n?void 0:n.slow_d1)||[],s=(null===(r=e.data)||void 0===r||null===(i=r.slow)||void 0===i?void 0:i.regime)||null;if(!l.length&&!s)return null;const a=new Map;let c=0;for(const g of l){if(null===g||void 0===g||!g.date||null===g||void 0===g||!g.regime)continue;const e=Math.floor(new Date(g.date+"T00:00:00Z").getTime()/1e3);!Number.isFinite(e)||e<=0||(a.set(e,g.regime),e>c&&(c=e))}const d=null!==(o=e.opacity)&&void 0!==o?o:.08,u=e.hidden||new Set,h=e.colors||{},p=[],f=new Map;for(const g of Xr){const e=86400*Math.floor(g.time/86400);let t=a.get(e);if(!t&&e>=c&&s&&(t=s),!t)continue;if(f.set(g.time,t),u.has(t))continue;const n=h[t];if(!n||"#"!==n[0])continue;const r=parseInt(n.slice(1,3),16),i=parseInt(n.slice(3,5),16),o=parseInt(n.slice(5,7),16);p.push({time:g.time,value:1e10,color:`rgba(${r},${i},${o},${d})`})}return{data:p,labelByTime:f,colors:h}},l=o(r.macro),s=o(r.micro),a=new Map,c=(e,t)=>{if(e)for(const[n,r]of e.labelByTime){const i=a.get(n)||{};i[t]={regime:r,color:e.colors[r]||"#888"},a.set(n,i)}};c(l,"macro"),c(s,"micro"),oi.current=a;const d=!(null===(e=r.micro)||void 0===e||!e.paintCandles)&&s&&s.labelByTime.size>0,u=!(null===(t=r.macro)||void 0===t||!t.paintCandles)&&l&&l.labelByTime.size>0;if(d||u){const e=new Map;if(u)for(const[t,n]of l.labelByTime)l.colors[n]&&e.set(t,l.colors[n]);if(d)for(const[t,n]of s.labelByTime)s.colors[n]&&e.set(t,s.colors[n]);try{var h;const t=Xr.map(t=>{const n=e.get(t.time);return n?{...t,color:n,borderColor:n,wickColor:n}:t});null===(h=C.current)||void 0===h||h.setData(t),li.current=!0}catch(sd){console.warn("[MC] regime paint-candles setData failed:",sd)}}else if(li.current){try{var p;null===(p=C.current)||void 0===p||p.setData(Xr)}catch{}li.current=!1}if(l&&l.data.length>0&&!u)try{const e=n.addSeries(lg,{priceScaleId:"regime_macro_bg",priceFormat:{type:"volume"},lastValueVisible:!1,priceLineVisible:!1});n.priceScale("regime_macro_bg").applyOptions({scaleMargins:{top:0,bottom:0},visible:!1}),e.setData(l.data),D.current=e}catch(sd){console.error("[MC] Regime macro bg:",sd),We("error",`Regime macro bg: ${sd.message}`)}if(s&&s.data.length>0&&!d)try{const e=n.addSeries(lg,{priceScaleId:"regime_micro_bg",priceFormat:{type:"volume"},lastValueVisible:!1,priceLineVisible:!1});n.priceScale("regime_micro_bg").applyOptions({scaleMargins:{top:0,bottom:0},visible:!1}),e.setData(s.data),L.current=e}catch(sd){console.error("[MC] Regime micro bg:",sd),We("error",`Regime micro bg: ${sd.message}`)}},[Be,y,Xr]),(0,t.useEffect)(()=>{const e=E.current,t=_.current;if(!Be||!e||!t)return;let n=ii.current;n||(n=document.createElement("div"),n.style.cssText=`position:absolute;display:none;padding:3px 8px;background:#111;border:1px solid #333;color:#fff;font-size:9px;font-family:${Sg};pointer-events:none;z-index:50;white-space:nowrap;border-radius:2px;line-height:1.45;`,t.appendChild(n),ii.current=n);const r=e=>{if(!e.time||0===oi.current.size)return void(n.style.display="none");const t=oi.current.get(e.time);if(!t||!t.macro&&!t.micro)return void(n.style.display="none");const r=[];t.macro&&r.push(`<span style="color:${t.macro.color}">M\xb7 ${t.macro.regime}</span>`),t.micro&&r.push(`<span style="color:${t.micro.color}">\u03bc\xb7 ${t.micro.regime}</span>`),n.innerHTML=r.join("<br/>"),n.style.borderColor="#333",n.style.display="block",n.style.left="10px",n.style.bottom="24px"};return e.subscribeCrosshairMove(r),()=>{try{e.unsubscribeCrosshairMove(r)}catch{}}},[Be]),(0,t.useEffect)(()=>{if("undefined"===typeof document)return;if(document.getElementById("mk-heat-keyframes"))return;const e=document.createElement("style");e.id="mk-heat-keyframes",e.textContent="\n@keyframes mkHeatPulse {\n 0%, 100% {\n box-shadow: 0 0 6px rgba(255,109,0,0.45), 0 0 14px rgba(232,56,59,0.25), inset 0 0 6px rgba(255,109,0,0.25);\n filter: brightness(1.0);\n }\n 50% {\n box-shadow: 0 0 14px rgba(255,109,0,0.95), 0 0 28px rgba(255,69,0,0.55), inset 0 0 12px rgba(255,109,0,0.55);\n filter: brightness(1.15);\n }\n}",document.head.appendChild(e)},[]),(0,t.useEffect)(()=>{if(!d)return void q(null);if(!X&&!Q)return;let e=!1;const t=new AbortController;return(async()=>{try{const n=await fetch(`/api/probability-field/${d}`,{signal:t.signal});if(!n.ok||e)return void(e||q(null));const r=await n.json();e||q(r)}catch{}})(),()=>{e=!0;try{t.abort()}catch{}}},[d,X,Q]),(0,t.useEffect)(()=>{if(!d||!ye)return void me(null);let e=!1;const t=new AbortController,n=async()=>{try{const n=await fetch(`/api/forest/${d}`,{signal:t.signal});if(!n.ok||e)return void(e||me(null));const r=await n.json();e||me(r)}catch{}};n();const r=setInterval(n,6e4);return()=>{e=!0,clearInterval(r);try{t.abort()}catch{}}},[d,ye,Nr]),(0,t.useEffect)(()=>{const e=E.current,t=_.current;if(!Be||!e||!t)return;const n=()=>te(e=>e+1);let r=null;try{r=e.timeScale(),r.subscribeVisibleTimeRangeChange(n)}catch{}let i=null;return"undefined"!==typeof ResizeObserver&&(i=new ResizeObserver(n),i.observe(t)),()=>{try{var e;null===(e=r)||void 0===e||e.unsubscribeVisibleTimeRangeChange(n)}catch{}i&&i.disconnect()}},[Be]);const si=(0,t.useMemo)(()=>{var e,t,n,r;const i=Q&&fe;if(!K||!X&&!i)return null;const o=E.current,l=_.current;if(!o||!l||!Be)return null;const s=e=>{for(const i of["month_curr","month_prev"]){var t,n,r;const o=null===K||void 0===K||null===(t=K.modes)||void 0===t?void 0:t[i],l=null===o||void 0===o||null===(n=o.axes)||void 0===n||null===(r=n.days)||void 0===r?void 0:r.indexOf(e);if(null!=l&&l>=0)return{modeData:o,idx:l}}return null},a=null===K||void 0===K||null===(e=K.modes)||void 0===e?void 0:e.month_curr,c=null===a||void 0===a||null===(t=a.axes)||void 0===t?void 0:t.days,d=null===a||void 0===a||null===(n=a.axes)||void 0===n?void 0:n.today_index,u=null===a||void 0===a||null===(r=a.axes)||void 0===r?void 0:r.prices;if(null===c||void 0===c||!c.length||null==d||d<0||null===u||void 0===u||!u.length)return null;const h=C.current;if(!h||"function"!==typeof h.priceToCoordinate)return null;let p,f=0;for(const S of["month_curr","month_prev"]){var g,m;const e=null===K||void 0===K||null===(g=K.modes)||void 0===g||null===(m=g[S])||void 0===m?void 0:m.options_weight;if(e)for(const t of e)for(const e of t)e>f&&(f=e)}if(f<=0)return null;if(i){const e=new Map;for(const t of["month_prev","month_curr"]){var y,v;const n=null===K||void 0===K||null===(y=K.modes)||void 0===y?void 0:y[t],r=(null===n||void 0===n||null===(v=n.axes)||void 0===v?void 0:v.days)||[];for(const t of r){if(!t||e.has(t))continue;const n=Math.floor(new Date(t+"T00:00:00Z").getTime()/1e3);!Number.isFinite(n)||n<=0||e.set(t,{dStr:t,epoch:n})}}p=Array.from(e.values()).sort((e,t)=>e.epoch-t.epoch)}else{const e=new Date,t=`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`,n=Math.floor(new Date(t+"T00:00:00Z").getTime()/1e3),r=new Date(t+"T00:00:00Z").getUTCDay(),i=n-86400*(0===r?6:r-1);p=[];for(let o=0;o<5;o++){const e=i+86400*o,t=new Date(1e3*e).toISOString().slice(0,10);p.push({dStr:t,epoch:e})}}const x=Ny[de]||Ny.fire,b=e=>{const t=Math.min(1,e/f),n=Math.pow(t,le);if(n<ae)return null;const[r,i,o]=function(e,t){const n=e.stops;if(t<=n[0][0])return n[0][1];for(let r=1;r<n.length;r++){const[e,i]=n[r-1],[o,l]=n[r];if(t<=o){const n=(t-e)/Math.max(1e-9,o-e);return[i[0]+n*(l[0]-i[0]),i[1]+n*(l[1]-i[1]),i[2]+n*(l[2]-i[2])]}}return n[n.length-1][1]}(x,n);return`rgba(${Math.round(r)},${Math.round(i)},${Math.round(o)},${ie})`},w=l.getBoundingClientRect(),j=o.timeScale(),k=Xr.length>0?Xr[Xr.length-1]:null,T=Xr.length>1?Xr[Xr.length-2]:null,M=k?j.timeToCoordinate(k.time):null,O=T?j.timeToCoordinate(T.time):null;let A=null;null!=M&&null!=O&&k.time!==T.time&&(A=(M-O)/(k.time-T.time));const P=e=>{const t=j.timeToCoordinate(e);return null!=t?t:null!=M&&null!=A?M+(e-k.time)*A:null};let I=0;if(Xr.length>0&&null!==S&&void 0!==S&&S.provider_connected){const e=Math.floor(Date.now()/1e3),t=Xr[Xr.length-1].time-e,n=Math.round(t/3600),r=_g[vn]||900,i=t-3600*n;Math.abs(n)<=14&&Math.abs(i)<=2*r&&(I=3600*n)}const D=(e,t)=>{const n=e+I,r=n+86400,i=Xr.find(e=>e.time>=n&&e.time<r);let o,l;if(o=i?j.timeToCoordinate(i.time):P(n),null==o)return null;if(null!=t){const e=t+I,n=Xr.find(t=>t.time>=e&&t.time<e+86400);l=n?j.timeToCoordinate(n.time):P(e)}else l=P(r);return null==l||l<=o?null:{xStart:o,width:l-o}},L=[];for(let S=0;S<p.length;S++){var R;const{dStr:e,epoch:t}=p[S],n=S+1<p.length?p[S+1].epoch:null,r=s(e);if(!r)continue;const{modeData:i,idx:o}=r,l=null===i||void 0===i?void 0:i.options_weight,a=null===i||void 0===i||null===(R=i.axes)||void 0===R?void 0:R.prices;if(!l||!a||!l[o])continue;const c=D(t,n);if(!c)continue;const d=l[o];for(let s=0;s<a.length-1;s++){const t=a[s],n=a[s+1],r=b(d[s]||0);if(!r)continue;const i=h.priceToCoordinate(t),o=h.priceToCoordinate(n);if(null==i||null==o)continue;const l=Math.min(i,o),u=Math.max(i,o);u<0||l>w.height||L.push((0,Hg.jsx)("rect",{x:c.xStart,y:l,width:c.width,height:Math.max(1,u-l),fill:r},`${e}-${s}`))}}return 0===L.length?null:(0,Hg.jsx)("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",pointerEvents:"none",zIndex:1,overflow:"hidden"},children:L})},[K,X,Q,fe,ee,Be,Xr,vn,ie,le,ae,de,S]),ai=(0,t.useMemo)(()=>{if(!Be)return null;const e=E.current,t=_.current,n=C.current;if(!e||!t||!n)return null;if("function"!==typeof n.priceToCoordinate)return null;const r={daily:{gbm:"gbm_daily_curr",mjd:"mjd_daily_curr"}},i=e.timeScale(),o=[];for(const[l,s]of Object.entries(r)){const e=Hn[l]||{};if(e.hide_gbm||e.hide_mjd)continue;if(!On[l])continue;const t=Hn[l];if(null===t||void 0===t||!t.colorFill)continue;const r=qr[s.gbm],a=qr[s.mjd];if(!r||!a)continue;if(!Array.isArray(r.dates)||!Array.isArray(a.dates))continue;const c=Cg[l],d=t.color_gbm||t.color||(null===c||void 0===c?void 0:c.color)||"#ffffff",u=(e,t)=>{if(!Array.isArray(e))return[];const r=[],o=Math.min(e.length,t.length);for(let l=0;l<o;l++){const o=Ng(t[l]),s=e[l];if(!Number.isFinite(o)||o<=0||!Number.isFinite(s))continue;const a=i.timeToCoordinate(o),c=n.priceToCoordinate(s);null!=a&&null!=c&&r.push({x:a,y:c})}return r},h=(e,t,n,i)=>{if(!e||!t)return;const l=u(e,r.dates),s=u(t,a.dates);if(l.length<2||s.length<2)return;const c=l.map(e=>`${e.x.toFixed(1)},${e.y.toFixed(1)}`).join(" "),h=s.slice().reverse().map(e=>`${e.x.toFixed(1)},${e.y.toFixed(1)}`).join(" ");o.push((0,Hg.jsx)("polygon",{points:`${c} ${h}`,fill:d,fillOpacity:n,stroke:"none"},i))};h(r.sd1_high,a.sd1_high,.2,`${l}-sd1h`),h(r.sd1_low,a.sd1_low,.2,`${l}-sd1l`),h(r.sd2_high,a.sd2_high,.13,`${l}-sd2h`),h(r.sd2_low,a.sd2_low,.13,`${l}-sd2l`),h(r.sd3_high,a.sd3_high,.08,`${l}-sd3h`),h(r.sd3_low,a.sd3_low,.08,`${l}-sd3l`)}return 0===o.length?null:(0,Hg.jsx)("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",pointerEvents:"none",zIndex:1,overflow:"hidden"},children:o})},[qr,On,Hn,Be,Xr,ee]),ci=(0,t.useMemo)(()=>{var e,t,n,r,i,o;if(!ge||!ye)return null;const l=E.current,s=_.current;if(!l||!s||!Be)return null;const a=C.current;if(!a||"function"!==typeof a.priceToCoordinate)return null;const c=s.getBoundingClientRect(),d=l.timeScale();let u=Math.floor(new Date((null===(e=ge.meta)||void 0===e?void 0:e.anchor_ts)||0).getTime()/1e3);if(!Number.isFinite(u)||u<=0)return null;const h=Xr.length>0?Xr[Xr.length-1]:null;if(h&&null!==S&&void 0!==S&&S.provider_connected){const e=Math.floor(Date.now()/1e3),t=_g[vn]||900,n=h.time-e,r=Math.round(n/3600),i=n-3600*r;Math.abs(r)<=14&&Math.abs(i)<=2*t&&0!==r&&(u+=3600*r)}let p=d.timeToCoordinate(u);if(null==p){const e=Xr.length>0?Xr[Xr.length-1]:null;if(!e)return null;if(p=d.timeToCoordinate(e.time),null==p)return null}const f=Xr.length>0?Xr[Xr.length-1]:null,g=Xr.length>1?Xr[Xr.length-2]:null;let m=null;if(f&&g){const e=d.timeToCoordinate(f.time),t=d.timeToCoordinate(g.time);null!=e&&null!=t&&f.time!==g.time&&(m=(e-t)/(f.time-g.time))}const v=(null===(t=ge.meta)||void 0===t?void 0:t.horizon_bars)||16,x=60*((null===(n=ge.meta)||void 0===n?void 0:n.horizon_minutes)||240),b=x/v,w=d.timeToCoordinate(u+x),j=null!=w?w:m?p+x*m:c.width-120;if(j<=p)return null;const k=e=>{const t=u+e*b,n=d.timeToCoordinate(t);return null!=n?n:null!=m?p+e*b*m:p+e/v*(j-p)},T={0:"#10b981",1:"#fbbf24",2:"#f43f5e"},M=[],O=["trend","range","stress"],A=(null===y||void 0===y?void 0:y.liveMicroRegime)||null,P=we&&null!==(r={calm:0,normal_low:0,normal:1,normal_high:1,stressed:2}[A])&&void 0!==r?r:null,I=Array.isArray(ge.paths)?ge.paths:[],D=(Array.isArray(ge.clusters)?ge.clusters:[]).reduce((e,t)=>{var n,r;return(null!==(n=null===t||void 0===t?void 0:t.probability)&&void 0!==n?n:0)>(null!==(r=null===e||void 0===e?void 0:e.probability)&&void 0!==r?r:-1)?t:e},null),L=null===D||void 0===D?void 0:D.id;if(ke&&null!=L){const e=I.filter(e=>(e=>null==P||(null===e||void 0===e?void 0:e.dominant_regime)===P)(e)&&(null===e||void 0===e?void 0:e.cluster_id)===L);for(const t of e){if(!t||!Array.isArray(t.prices)||t.prices.length<2)continue;const e=[];for(let r=0;r<t.prices.length;r++){const n=k(r),i=a.priceToCoordinate(t.prices[r]);null!=n&&null!=i&&e.push(`${n.toFixed(1)},${i.toFixed(1)}`)}if(e.length<2)continue;const n=(null===D||void 0===D?void 0:D.color)||T[t.dominant_regime]||"#94a3b8";M.push((0,Hg.jsx)("polyline",{points:e.join(" "),fill:"none",stroke:n,strokeOpacity:.55,strokeWidth:.9,strokeLinecap:"round",strokeLinejoin:"round"},`forest-path-${t.id}`))}}if(Te){let e=(ge.clusters||[]).filter(e=>e&&Number.isFinite(e.probability));if(we&&null!=P){const t=O[P],n=e.map(e=>{var n;return(e.path_count||0)*((null===(n=e.regime_mix)||void 0===n?void 0:n[t])||0)}),r=n.reduce((e,t)=>e+t,0);e=r>0?e.map((e,t)=>({...e,probability:n[t]/r})):[]}const t=e.reduce((e,t)=>Math.max(e,t.probability),0),n=70,r=12,i=4,o="#d946ef";for(const c of e){if(c.probability<.005)continue;const e=a.priceToCoordinate(c.price_median);if(null==e)continue;const l=t>0?c.probability/t*n:0;l<1||(M.push((0,Hg.jsx)("rect",{x:j+i,y:e-r/2,width:l,height:r,fill:o,fillOpacity:.78,stroke:o,strokeOpacity:1,strokeWidth:.8},`forest-bar-${c.id}`)),M.push((0,Hg.jsxs)("text",{x:j+i+l+4,y:e+3,fill:"#cbd5e1",fontSize:9,fontWeight:700,fontFamily:Sg,stroke:"#000",strokeWidth:2.4,paintOrder:"stroke",children:[(100*c.probability).toFixed(0),"%"]},`forest-bar-pct-${c.id}`)))}const l="#cbd5e1",s=[{id:4,text:"UP",yShift:-10},{id:2,text:"FLAT",yShift:4},{id:0,text:"DN",yShift:14}];for(const c of s){const t=e.find(e=>e.id===c.id);if(!t)continue;const r=a.priceToCoordinate(t.price_median);null!=r&&M.push((0,Hg.jsx)("text",{x:j+i+n+36,y:r+c.yShift,fill:l,fontSize:11,fontWeight:800,fontFamily:Sg,letterSpacing:"2px",stroke:"#000",strokeWidth:2.5,paintOrder:"stroke",children:c.text},`forest-dirlab-${c.id}`))}}if(Ee&&ge.cone){const e=ge.cone,t="#06b6d4",n=[{key:"p50",opacity:.95,width:1.4},{key:"p16",opacity:.55,width:1},{key:"p84",opacity:.55,width:1},{key:"p05",opacity:.32,width:.8},{key:"p95",opacity:.32,width:.8},{key:"p015",opacity:.18,width:.7},{key:"p985",opacity:.18,width:.7}];for(const r of n){var R,z;const n=e[r.key];if(!Array.isArray(n)||0===n.length)continue;const i=[],o=k(0),l=a.priceToCoordinate(null!==(R=null===(z=ge.anchor)||void 0===z?void 0:z.price)&&void 0!==R?R:0);null!=o&&null!=l&&i.push(`${o.toFixed(1)},${l.toFixed(1)}`);for(let e=0;e<n.length;e++){const t=k(e+1),r=a.priceToCoordinate(n[e]);null!=t&&null!=r&&i.push(`${t.toFixed(1)},${r.toFixed(1)}`)}i.length<2||M.push((0,Hg.jsx)("polyline",{points:i.join(" "),fill:"none",stroke:t,strokeOpacity:r.opacity,strokeWidth:r.width,strokeLinecap:"round",strokeLinejoin:"round"},`forest-cone-${r.key}`))}}if(Oe&&Array.isArray(ge.cone_history)&&ge.cone_history.length>0){const e="#ffffff";for(let t=0;t<ge.cone_history.length;t++){var N,F;const n=ge.cone_history[t];if(!n||!Array.isArray(n.p50))continue;let r=Math.floor(new Date(n.computed_at).getTime()/1e3);if(!Number.isFinite(r)||r<=0)continue;const i=u-Math.floor(new Date((null===(N=ge.meta)||void 0===N?void 0:N.anchor_ts)||0).getTime()/1e3);Number.isFinite(i)&&(r+=i);let o=d.timeToCoordinate(r);if(null==o&&null!=m&&f){const e=d.timeToCoordinate(f.time);null!=e&&(o=e+(r-f.time)*m)}if(null==o)continue;const l=a.priceToCoordinate(null!==(F=n.anchor_price)&&void 0!==F?F:0);if(null==l)continue;const s=e=>{const t=r+e*b,n=d.timeToCoordinate(t);return null!=n?n:null!=m?o+e*b*m:null},c=[{key:"p50",opacity:.95,width:1.4},{key:"p16",opacity:.65,width:1},{key:"p84",opacity:.65,width:1},{key:"p05",opacity:.4,width:.8},{key:"p95",opacity:.4,width:.8},{key:"p015",opacity:.25,width:.7},{key:"p985",opacity:.25,width:.7}];for(const d of c){const r=n[d.key];if(!Array.isArray(r)||0===r.length)continue;const i=[`${o.toFixed(1)},${l.toFixed(1)}`];for(let e=0;e<r.length;e++){const t=s(e+1),n=a.priceToCoordinate(r[e]);null!=t&&null!=n&&i.push(`${t.toFixed(1)},${n.toFixed(1)}`)}i.length<2||M.push((0,Hg.jsx)("polyline",{points:i.join(" "),fill:"none",stroke:e,strokeOpacity:d.opacity,strokeWidth:d.width,strokeLinecap:"round",strokeLinejoin:"round"},`forest-hist-${t}-${d.key}`))}}}if(Pe){const e=[],t=["p015","p05","p16","p50","p84","p95","p985"];if(ge.cone){var $,W;const n=k(0),r=a.priceToCoordinate(null!==($=null===(W=ge.anchor)||void 0===W?void 0:W.price)&&void 0!==$?$:0);if(null!=n&&null!=r)for(const i of t){const t=ge.cone[i];if(!Array.isArray(t)||0===t.length)continue;const o=[{x:n,y:r}];for(let e=0;e<t.length;e++){const n=k(e+1),r=a.priceToCoordinate(t[e]);null!=n&&null!=r&&o.push({x:n,y:r})}o.length>=2&&e.push({id:"live",points:o})}}if(Array.isArray(ge.cone_history))for(let o=0;o<ge.cone_history.length;o++){var B,U;const n=ge.cone_history[o];if(!n)continue;let r=Math.floor(new Date(n.computed_at).getTime()/1e3);if(!Number.isFinite(r)||r<=0)continue;const i=u-Math.floor(new Date((null===(B=ge.meta)||void 0===B?void 0:B.anchor_ts)||0).getTime()/1e3);Number.isFinite(i)&&(r+=i);let l=d.timeToCoordinate(r);if(null==l&&null!=m&&f){const e=d.timeToCoordinate(f.time);null!=e&&(l=e+(r-f.time)*m)}if(null==l)continue;const s=a.priceToCoordinate(null!==(U=n.anchor_price)&&void 0!==U?U:0);if(null==s)continue;const c=e=>{const t=r+e*b,n=d.timeToCoordinate(t);return null!=n?n:null!=m?l+e*b*m:null};for(const d of t){const t=n[d];if(!Array.isArray(t)||0===t.length)continue;const r=[{x:l,y:s}];for(let e=0;e<t.length;e++){const n=c(e+1),i=a.priceToCoordinate(t[e]);null!=n&&null!=i&&r.push({x:n,y:i})}r.length>=2&&e.push({id:`hist-${o}`,points:r})}}const n=(e,t,n,r)=>{const i=(e.x-t.x)*(n.y-r.y)-(e.y-t.y)*(n.x-r.x);if(0===i)return null;const o=((e.x-n.x)*(n.y-r.y)-(e.y-n.y)*(n.x-r.x))/i,l=-((e.x-t.x)*(e.y-n.y)-(e.y-t.y)*(e.x-n.x))/i;return o<0||o>1||l<0||l>1?null:{x:e.x+o*(t.x-e.x),y:e.y+o*(t.y-e.y)}},r="#fde047";let i=0;for(let o=0;o<e.length;o++)for(let t=o+1;t<e.length;t++){if(e[o].id===e[t].id)continue;const l=e[o].points,s=e[t].points;for(let e=0;e<l.length-1;e++)for(let t=0;t<s.length-1;t++){const o=n(l[e],l[e+1],s[t],s[t+1]);o&&M.push((0,Hg.jsx)("circle",{cx:o.x,cy:o.y,r:2,fill:r,fillOpacity:.85},"forest-conn-"+i++))}}}const H=a.priceToCoordinate(null!==(i=null===(o=ge.anchor)||void 0===o?void 0:o.price)&&void 0!==i?i:0);return null!=H&&(M.push((0,Hg.jsx)("circle",{cx:p,cy:H,r:9,fill:"#fde68a",fillOpacity:.18},"forest-anchor-glow")),M.push((0,Hg.jsx)("circle",{cx:p,cy:H,r:4.5,fill:"#fde68a",stroke:"#fef3c7",strokeWidth:1.2},"forest-anchor-dot"))),M.push((0,Hg.jsx)("line",{x1:p,y1:0,x2:p,y2:c.height,stroke:"#fde68a",strokeOpacity:.2,strokeWidth:.6,strokeDasharray:"2,5"},"forest-anchor-line")),0===M.length?null:(0,Hg.jsx)("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",pointerEvents:"none",zIndex:2,overflow:"visible"},children:M})},[ge,ye,ke,Ee,Te,Oe,Pe,ee,Be,Xr,vn,we,y,S]);(0,t.useEffect)(()=>{if(!yt.current)return;const e=mt.current.getForChart(d,vn);yt.current.setDrawings(e),yt.current.setSelectedId(mt.current.selectedId)},[Be,at,d,vn]),(0,t.useEffect)(()=>{const e=E.current,t=_.current;if(!Be||!e||!t)return;const n=e=>{if(!e.time||!e.point)return void(kt.current={time:null,price:null});const t=C.current;if(t)try{var n;const r=t.coordinateToPrice(e.point.y);if(kt.current={time:e.time,price:r},it)St&&jt(null);else{const t=_g[vn]||900,n=Xr.length>1?.5*Math.abs(Xr[Xr.length-1].high-Xr[Xr.length-1].low):.002*Math.abs(r),i=3*t,o=mt.current.hitTest(e.time,r,n,i,d,vn),l=(null===o||void 0===o?void 0:o.id)||null;l!==St&&jt(l)}if("path"===it&&(null===(n=bt.current)||void 0===n?void 0:n.length)>=1&&yt.current&&yt.current.setPreview({type:"path",points:[...bt.current,{time:e.time,price:r}],style:{...lt}}),"fib_ext"===it&&wt.current&&yt.current){const t=wt.current,n={...lt};n._levels=(lt.fibExtLevels||gm).filter(e=>!1!==e.enabled),yt.current.setPreview({type:"fib_ext",points:[...t,{time:e.time,price:r}],style:n})}if(vt.current&&yt.current){const t={...lt},n=vt.current.type;if("fib"===n?t._levels=lt.fibLevels||fm:"fib_ext"===n&&(t._levels=lt.fibExtLevels||gm),"position_long"===n||"position_short"===n){let e=vt.current.price,i=r;("position_long"===n&&i>e||"position_short"===n&&i<e)&&([e,i]=[i,e]);const o=Math.abs(e-i),l="position_long"===n?e+2*o:e-2*o,s=_g[vn]||3600,a=vt.current.time,c=a+15*s;yt.current.setPreview({type:n,points:[{time:a,price:e},{time:c,price:i},{time:c,price:l}],style:t})}else yt.current.setPreview({type:n,points:[vt.current,{time:e.time,price:r}],style:t})}}catch{kt.current={time:null,price:null}}};return e.subscribeCrosshairMove(n),()=>{try{e.unsubscribeCrosshairMove(n)}catch{}}},[Be,lt,vn,it,d,Xr,St]),(0,t.useEffect)(()=>{const e=E.current,t=_.current;if(!Be||!e||!t)return;const n=e=>{var t;if(null!==(t=ui.current)&&void 0!==t&&t.justDragged)return void(ui.current=null);if(!e.time||!e.point)return;const n=C.current;if(!n)return;let r;try{r=n.coordinateToPrice(e.point.y)}catch{return}if(er.current)return void tr.current(e.time,r);if(!it){const t=_g[vn]||900,n=Xr.length>1?.5*Math.abs(Xr[Xr.length-1].high-Xr[Xr.length-1].low):.002*r,i=3*t,o=mt.current.hitTest(e.time,r,n,i,d,vn);return void mt.current.select((null===o||void 0===o?void 0:o.id)||null)}const i=pm[it];if(i){if("path"===it)return bt.current||(bt.current=[]),bt.current.push({time:e.time,price:r}),void(yt.current&&yt.current.setPreview({type:"path",points:[...bt.current],style:{...lt}}));if(-1!==i.points){if("fib_ext"===it){const t=wt.current;if(t)if(t.length<3)wt.current=[...t,{time:e.time,price:r}];else{var o;const n={...lt};n._levels=(lt.fibExtLevels||gm).filter(e=>!1!==e.enabled),mt.current.add({type:"fib_ext",points:[...t,{time:e.time,price:r}],style:n,ticker:d,timeframe:vn}),wt.current=null,null===(o=yt.current)||void 0===o||o.setPreview(null),ot(null)}else wt.current=[{time:e.time,price:r}];return}if(1===i.points){if("text"===it)return void Fe({x:e.point.x,y:e.point.y,time:e.time,price:r});mt.current.add({type:it,points:[{time:e.time,price:r}],style:{...lt,_priceLabel:r},ticker:d,timeframe:vn}),ot(null)}else if(2===i.points)if(vt.current){var l;const t={...lt};if("fib"===it?t._levels=(lt.fibLevels||fm).filter(e=>!1!==e.enabled):"fib_ext"===it?t._levels=(lt.fibExtLevels||gm).filter(e=>!1!==e.enabled):"price_point"===it&&(t._priceLabel=vt.current.price),"position_long"===it||"position_short"===it){let e=vt.current.price,n=r;("position_long"===it&&n>e||"position_short"===it&&n<e)&&([e,n]=[n,e]);const i=Math.abs(e-n),o="position_long"===it?e+2*i:e-2*i,l=vt.current.time+15*(_g[vn]||3600);mt.current.add({type:it,points:[{time:vt.current.time,price:e},{time:l,price:n},{time:l,price:o}],style:t,ticker:d,timeframe:vn})}else mt.current.add({type:it,points:[{time:vt.current.time,price:vt.current.price},{time:e.time,price:r}],style:t,ticker:d,timeframe:vn});vt.current=null,null===(l=yt.current)||void 0===l||l.setPreview(null),ot(null)}else vt.current={type:it,time:e.time,price:r}}}};return e.subscribeClick(n),()=>{try{e.unsubscribeClick(n)}catch{}}},[Be,it,lt,d,vn,Xr]);const di=(0,t.useRef)(null);di.current=()=>{try{const e=E.current;if(!e)return;const t=(null===Xr||void 0===Xr?void 0:Xr.length)||0;if(!t)return;const n=Xr[t-1].time,r=n-599*(_g[vn]||900);R.current=!0,e.timeScale().setVisibleRange({from:r,to:n}),e.priceScale("right").applyOptions({autoScale:!0}),requestAnimationFrame(()=>{R.current=!1})}catch(sd){console.error("[MC] FIT:",sd)}},(0,t.useEffect)(()=>{const e=_.current,t=E.current;if(!Be||!e||!t)return;const n=n=>{const r=t.priceScale("right");let i=70;try{"function"===typeof r.width&&(i=r.width()||70)}catch{}const o=e.getBoundingClientRect();if(n.clientX-o.left<o.width-i)return;n.preventDefault(),n.stopPropagation();const l=r.options().scaleMargins||{top:.1,bottom:.15},s=n.deltaY>0?1.12:.89,a=Math.max(0,Math.min(.45,l.top*s)),c=Math.max(0,Math.min(.45,l.bottom*s));r.applyOptions({scaleMargins:{top:a,bottom:c}})};return e.addEventListener("wheel",n,{passive:!1,capture:!0}),()=>e.removeEventListener("wheel",n,{capture:!0})},[Be]),(0,t.useEffect)(()=>{const e=_.current;if(!e||"path"!==it)return;const t=()=>{var e;const t=bt.current||[];var n;if(t.length<2)return bt.current=null,null===(n=yt.current)||void 0===n||n.setPreview(null),void ot(null);const r=t[t.length-1],i=t[t.length-2],o=r.time===i.time&&r.price===i.price?t.slice(0,-1):t;var l;if(o.length<2)return bt.current=null,null===(l=yt.current)||void 0===l||l.setPreview(null),void ot(null);mt.current.add({type:"path",points:o,style:{...lt},ticker:d,timeframe:vn}),bt.current=null,null===(e=yt.current)||void 0===e||e.setPreview(null),ot(null)};return e.addEventListener("dblclick",t),()=>{e.removeEventListener("dblclick",t)}},[it,lt,d,vn]),(0,t.useEffect)(()=>{const e=_.current,t=E.current,n=C.current;if(!Be||!e||!t||!n)return;if("pen"!==it)return;const r=r=>{const i=e.getBoundingClientRect(),o=r.clientX-i.left,l=r.clientY-i.top;if(o<0||o>i.width||l<0||l>i.height)return{time:null,price:null};const s=t.timeScale();let a=null,c=null;try{a=s.coordinateToTime(o)}catch{}try{c=n.coordinateToPrice(l)}catch{}if(null!=a){let e=null;try{e=s.timeToCoordinate(a)}catch{}(null==e||Math.abs(e-o)>60)&&(a=null)}return{time:a,price:c}},i=e=>{if(0!==e.button)return;const{time:t,price:n}=r(e);null!=t&&null!=n&&(xt.current=[{time:t,price:n}],e.preventDefault(),e.stopPropagation())},o=e=>{if(!xt.current)return;const{time:t,price:n}=r(e);null!=t&&null!=n&&(xt.current.push({time:t,price:n}),yt.current&&xt.current.length>=2&&yt.current.setPreview({type:"pen",points:xt.current,style:{...lt}}),e.preventDefault())},l=e=>{var t;if(!xt.current)return;const n=xt.current;if(xt.current=null,null===(t=yt.current)||void 0===t||t.setPreview(null),n.length>=3){const e=[n[0]],t=Math.max(1,Math.floor(n.length/80));for(let r=t;r<n.length-1;r+=t)e.push(n[r]);e.push(n[n.length-1]),mt.current.add({type:"pen",points:e,style:{...lt},ticker:d,timeframe:vn})}ot(null)};return e.addEventListener("mousedown",i,!0),window.addEventListener("mousemove",o,!0),window.addEventListener("mouseup",l,!0),()=>{e.removeEventListener("mousedown",i,!0),window.removeEventListener("mousemove",o,!0),window.removeEventListener("mouseup",l,!0)}},[Be,it,lt,d,vn]);const ui=(0,t.useRef)(null);(0,t.useEffect)(()=>{const e=_.current,t=E.current,n=C.current;if(!Be||!e||!t||!n)return;const r=r=>{const i=e.getBoundingClientRect(),o=r.clientX-i.left,l=r.clientY-i.top;let s=null,a=null;try{s=t.timeScale().coordinateToTime(o)}catch{}try{a=n.coordinateToPrice(l)}catch{}return{time:s,price:a,x:o,y:l}},i=e=>{if(it)return;if(0!==e.button)return;const n=mt.current.selectedId;if(!n)return;const i=mt.current.getById(n);if(!i)return;const{time:o,price:l,x:s}=r(e);if(null==l)return;const a=_g[vn]||900,c=Xr.length>1?.5*Math.abs(Xr[Xr.length-1].high-Xr[Xr.length-1].low):.002*l,u=3*a,h="position_long"===i.type||"position_short"===i.type;let p=!1;if(null!=o){const e=mt.current.hitTest(o,l,c,u,d,vn);p=e&&e.id===n}if(!p&&h){const e=i.points.map(e=>e.price),n=Math.min(...e)-c,r=Math.max(...e)+c;let o=null,a=null;try{o=t.timeScale().timeToCoordinate(i.points[0].time)}catch{}try{a=t.timeScale().timeToCoordinate(i.points[1].time)}catch{}null==a&&null!=o&&(a=o+200),null!=o&&null!=a&&l>=n&&l<=r&&s>=o-20&&s<=a+20&&(p=!0)}if(!p)return;let f="move",g=-1;if("position_long"===i.type||"position_short"===i.type){let e=null;try{e=t.timeScale().timeToCoordinate(i.points[1].time)}catch{}let n=null;try{n=t.timeScale().timeToCoordinate(i.points[0].time)}catch{}if(null==e&&null!=n&&(e=n+200),null!=e&&Math.abs(s-e)<15)f="position_width",g=-1;else{f="endpoint";let e=1/0;for(let t=0;t<i.points.length;t++){const n=Math.abs(l-i.points[t].price)/c;n<e&&(e=n,g=t)}}}else if("fib"===i.type||"fib_ext"===i.type){for(let e=0;e<i.points.length;e++){const t=i.points[e],n=Math.abs(o-t.time)/u,r=Math.abs(l-t.price)/c;if(n<.5&&r<.5){f="endpoint",g=e;break}}if("endpoint"!==f)return}else if(2===i.points.length)for(let t=0;t<i.points.length;t++){const e=i.points[t],n=Math.abs(o-e.time)/u,r=Math.abs(l-e.price)/c;if(n<.5&&r<.5){f="endpoint",g=t;break}}"hline"===i.type&&(f="endpoint"),ui.current={id:n,mode:f,pointIndex:g,startTime:o,startPrice:l,startX:s,origPoints:i.points.map(e=>({...e})),moved:!1,justDragged:!1};try{t.applyOptions({handleScroll:!1,handleScale:!1})}catch{}e.preventDefault(),e.stopPropagation()},o=n=>{const i=ui.current;if(!i||i.justDragged||!i.origPoints)return;const{time:o,price:l}=r(n);if(null==o||null==l)return;const s=o-i.startTime,a=l-i.startPrice;if(!(!i.moved&&Math.abs(a)<1e-4&&Math.abs(s)<1)){if(i.moved=!0,"endpoint"===i.mode){if(i.id){const e=mt.current.getById(i.id);if("hline"===(null===e||void 0===e?void 0:e.type))mt.current.movePoint(i.id,0,i.origPoints[0].time,i.origPoints[0].price+a);else if(i.pointIndex>=0){const e=i.origPoints[i.pointIndex];mt.current.movePoint(i.id,i.pointIndex,e.time+s,e.price+a)}}}else if("position_width"===i.mode){const{x:o}=r(n),l=o-i.startX,s=t.timeScale();let a=0;try{const t=i.origPoints[1].time;let n=s.timeToCoordinate(t);if(null==n){const e=s.timeToCoordinate(i.origPoints[0].time);n=null!=e?e+200:null}if(null!=n){const r=n+l,i=s.coordinateToTime(r);if(null!=i)a=i-t;else{const t=s.getVisibleLogicalRange();if(t){const n=t.to-t.from,r=e.clientWidth;a=l*(n*(_g[vn]||3600)/r)}}}}catch{}const c=i.origPoints[1].time;mt.current.resizePositionWidth(i.id,c+a)}else{const e=i.origPoints.map(e=>({time:e.time+s,price:e.price+a}));mt.current.updatePoints(i.id,e)}n.preventDefault(),n.stopPropagation()}},l=e=>{const n=ui.current;if(n){try{t.applyOptions({handleScroll:!0,handleScale:!0})}catch{}n.moved?(ui.current={justDragged:!0},setTimeout(()=>{var e;null!==(e=ui.current)&&void 0!==e&&e.justDragged&&(ui.current=null)},300)):ui.current=null}};return e.addEventListener("mousedown",i,!0),window.addEventListener("mousemove",o,!0),window.addEventListener("mouseup",l,!0),()=>{e.removeEventListener("mousedown",i,!0),window.removeEventListener("mousemove",o,!0),window.removeEventListener("mouseup",l,!0)}},[Be,it,d,vn,Xr]),(0,t.useEffect)(()=>{const e=e=>{if("INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName){var t;if("Escape"===e.key&&(it||mt.current.selectedId))e.stopPropagation(),ot(null),vt.current=null,bt.current=null,wt.current=null,null===(t=yt.current)||void 0===t||t.setPreview(null),mt.current.deselect();else"Escape"===e.key&&nt&&rt(!1);"Delete"!==e.key&&"Backspace"!==e.key||!mt.current.selectedId||(e.preventDefault(),mt.current.remove(mt.current.selectedId))}};return window.addEventListener("keydown",e,!0),()=>window.removeEventListener("keydown",e,!0)},[it,nt]);const hi=(0,t.useMemo)(()=>mt.current.getForChart(d,vn).length,[d,vn,at]),pi=null!=mt.current.selectedId,fi=(0,t.useMemo)(()=>mt.current.getById(mt.current.selectedId),[at,pi]),gi=(0,t.useCallback)(e=>st(t=>({...t,...e})),[]),mi=(0,t.useCallback)(()=>{mt.current.selectedId&&mt.current.remove(mt.current.selectedId)},[]),yi=(0,t.useCallback)(e=>{const t=mt.current.selectedId;t&&mt.current.updateStyle(t,e)},[]),vi=(0,t.useCallback)(()=>{mt.current.deselect()},[]),xi=(0,t.useCallback)(()=>{mt.current.clearForChart(d,vn)},[d,vn]),bi=(0,t.useCallback)(async e=>{if(Bt||!d)return;const t=parseFloat(It);if(!Number.isFinite(t)||t<=0)Wt({kind:"err",msg:"Invalid lot size"});else{Ut(!0);try{const r={ticker:d.toUpperCase(),direction:e,order_type:"MARKET",lots:t,comment:"MK.TRADES QUICK"};Kr>0&&(r.price=Kr);const i=await fetch("/api/orders",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)}),o=await i.json().catch(()=>({}));if(i.ok&&o.success){var n;const r=null!==(n=o.price)&&void 0!==n?n:Kr;Wt({kind:"ok",msg:`${e} ${t} ${d} @ ${Number(r).toFixed(Gr)}`});try{Hm("order_filled")}catch{}window.__mk_execution_refresh&&window.__mk_execution_refresh()}else{const t=o.error||o.detail||`HTTP ${i.status}`;Wt({kind:"err",msg:`${e} failed: ${t}`})}}catch(sd){Wt({kind:"err",msg:`${e} failed: ${sd.message}`})}finally{Ut(!1)}}},[d,It,Bt,Kr,Gr]),wi={cones:Object.keys(qr).length>0,bands:!!Er,signals:ti.length>0,anchors:Zr.length>0,drawings:hi>0};return(0,Hg.jsxs)("div",{style:{display:"flex",flexDirection:"column",background:sg,border:`1px solid ${ug}`,height:"100%",minHeight:0,...nt?{position:"fixed",inset:0,zIndex:9999,border:"none",height:"100vh",width:"100vw"}:{}},children:[d&&(0,Hg.jsx)(Hg.Fragment,{children:et?(0,Hg.jsxs)("div",{onClick:e=>e.stopPropagation(),style:{display:"flex",alignItems:"center",padding:"1px 8px",borderBottom:`1px solid ${ug}`,background:ag,flexShrink:0,gap:6},children:[(0,Hg.jsx)("button",{onClick:()=>tt(!1),title:"Show toolbar",style:{background:"transparent",color:mg,border:"none",padding:"0 4px",cursor:"pointer",fontSize:"9px",fontFamily:Sg},children:"\u25bc"}),(0,Hg.jsx)("span",{style:{color:mg,fontWeight:800,fontSize:"11px",fontFamily:Sg},children:d}),(0,Hg.jsx)("span",{style:{color:gg,fontSize:"7px",fontFamily:Sg},children:vn}),Kr>0&&(0,Hg.jsx)("span",{style:{color:pg,fontWeight:700,fontSize:"10px",fontFamily:Sg},children:Kr.toFixed(Gr)}),(0,Hg.jsx)("div",{style:{flex:1}}),["cones","bands"].map(e=>(0,Hg.jsx)("span",{style:{color:wi[e]?yg:gg,fontSize:"6px",fontFamily:Sg},children:wi[e]?"\u25cf":"\u25cb"},e))]}):(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsxs)("div",{onClick:e=>e.stopPropagation(),style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"3px 10px",borderBottom:`1px solid ${ug}`,background:ag,flexShrink:0,flexWrap:"wrap",gap:4},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,Hg.jsx)("span",{style:{color:mg,fontWeight:800,fontSize:"13px",fontFamily:Sg},children:d}),(0,Hg.jsx)("button",{onClick:()=>Pt(e=>!e),title:At?"Hide quick BUY/SELL":"Show quick BUY/SELL",style:{background:At?`${mg}25`:"transparent",color:At?mg:gg,border:`1px solid ${At?mg+"70":ug}`,padding:"1px 7px",cursor:"pointer",borderRadius:2,fontSize:"9px",fontWeight:800,fontFamily:Sg,letterSpacing:"0.5px"},children:"TRADE"}),(0,Hg.jsx)("span",{style:{color:gg,fontSize:"8px",fontFamily:Sg},children:(null===Vr||void 0===Vr?void 0:Vr.asset_class)||""}),Kr>0&&(0,Hg.jsx)("span",{style:{color:pg,fontWeight:700,fontSize:"12px",fontFamily:Sg},children:Kr.toFixed(Gr)}),He&&(0,Hg.jsx)("span",{style:{color:mg,fontSize:"8px",fontFamily:Sg},children:"LOADING..."}),At&&(()=>{const e=(null===S||void 0===S?void 0:S.live_trading)&&(null===S||void 0===S?void 0:S.provider_connected),t=e?Bt?"Submitting...":"":"Enable live trading in Settings",n={padding:"2px 10px",cursor:e&&!Bt?"pointer":"not-allowed",fontSize:"11px",fontWeight:800,fontFamily:Sg,borderRadius:2,letterSpacing:"0.5px",opacity:e?1:.4},r=!!tn,i="buy_armed"===tn,o="sell_armed"===tn,l=r?xg:yg,s=r?xg:vg,a=r?i?`${xg}50`:`${xg}15`:e?`${yg}20`:"transparent",c=r?o?`${xg}50`:`${xg}15`:e?`${vg}20`:"transparent",d=r?`1px solid ${xg}${i?"A0":"50"}`:`1px solid ${yg}70`,u=r?`1px solid ${xg}${o?"A0":"50"}`:`1px solid ${vg}70`,h=r?i?"BUY PENDING armed \u2014 click on chart to place":"Arm BUY direction for pending order":t||"Market BUY \u2014 1 click, no confirm",p=r?o?"SELL PENDING armed \u2014 click on chart to place":"Arm SELL direction for pending order":t||"Market SELL \u2014 1 click, no confirm";return(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,marginLeft:4},children:[(0,Hg.jsx)("button",{disabled:!e||Bt,onClick:()=>r?nn("buy_armed"):bi("BUY"),title:h,style:{...n,background:a,color:l,border:d},children:"BUY"}),(0,Hg.jsx)("input",{type:"text",value:It,onChange:e=>Dt(e.target.value),placeholder:null!=Lt?String(Lt):"lots",title:null!=Lt?`Min ${Lt} \xb7 step ${Nt}`:"lot size",style:{width:54,textAlign:"center",background:sg,color:pg,border:`1px solid ${hg}`,padding:"2px 4px",fontSize:"11px",fontWeight:700,fontFamily:Sg,outline:"none",borderRadius:2}}),(0,Hg.jsx)("button",{disabled:!e||Bt,onClick:()=>r?nn("sell_armed"):bi("SELL"),title:p,style:{...n,background:c,color:s,border:u},children:"SELL"}),(0,Hg.jsx)("div",{style:{width:1,height:14,background:ug,margin:"0 2px"}}),(0,Hg.jsx)("button",{disabled:!e,onClick:()=>nn("armed"),title:r?"PENDING mode active \u2014 pick BUY or SELL, then click on chart":"Arm PENDING order placement",style:{padding:"2px 10px",cursor:e?"pointer":"not-allowed",fontSize:"11px",fontWeight:800,fontFamily:Sg,borderRadius:2,letterSpacing:"0.5px",opacity:e?1:.4,background:r?`${xg}40`:`${xg}10`,color:xg,border:`1px solid ${xg}${r?"A0":"40"}`},children:"PENDING"}),r&&(0,Hg.jsx)("button",{onClick:()=>{nn(null),on(null)},title:"Exit pending mode (already-placed orders stay)",style:{padding:"2px 8px",cursor:"pointer",fontSize:"11px",fontWeight:800,fontFamily:Sg,borderRadius:2,letterSpacing:"0.5px",background:`${vg}15`,color:vg,border:`1px solid ${vg}70`},children:"CANCEL"})]})})()]}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:2,alignItems:"center"},children:[(0,Hg.jsx)(om,{tf:vn,daysPerTf:bn,historicalOn:Sn,historicalFrom:kn,historicalTo:En,barTimer:dt,loading:He,onLoad:e=>{let{tf:t,days:n,daysPerTf:r,historicalOn:i,historicalFrom:o,historicalTo:l}=e;wn(r),jn(i),_n(o),Cn(l),t!==vn&&(xn(t),null===x||void 0===x||x(t));const s=rm(n,t),a=s>0?s:200;Ge(a),Ve(!0),zt(d,t,a).finally(()=>Ve(!1))}}),(0,Hg.jsx)(am,{currentTicker:d,getCurrentConfig:ar,onLoadTemplate:cr,loadedTemplateName:Mt?Mt.name:null})]}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,position:"relative"},children:[(0,Hg.jsx)(Vg,{label:"CONES",anyOn:Object.values(On).some(e=>e),groups:Cg,state:On,onToggle:hr,onAll:pr,slotVis:Nn,onToggleSlot:vr,onGear:e=>qe(Ke===e?null:e)}),Ke&&Cg[Ke]&&(0,Hg.jsx)(Yg,{group:Ke,groupData:Cg[Ke],coneStyles:Hn,onUpdate:wr,onClose:()=>qe(null)}),(0,Hg.jsx)(em,{bandStyles:Yn,layerOn:Tn.bands,onToggleAll:kr,onToggleModel:jr,onUpdateStyle:Sr,meanStyle:{...Lg.mean,...Yn.mean||{}},onUpdateMeanColor:e=>Sr("mean",{color:e}),stale:Pr}),!1,!1,(0,Hg.jsx)("button",{onClick:()=>Et(e=>!e),title:_t?"Deviations: SOLID (click for dashed)":"Deviations: DASHED (click for solid)",style:{background:_t?`${mg}20`:"transparent",color:_t?mg:pg,border:`1px solid ${_t?mg+"50":hg}`,padding:"2px 9px",cursor:"pointer",fontSize:"11px",fontWeight:700,fontFamily:Sg},children:"SOLID DEV"}),!1!==Ur&&(0,Hg.jsxs)("div",{style:{position:"relative",display:"inline-flex",gap:2},children:[(0,Hg.jsx)("button",{onClick:()=>J(e=>{const t=!e;return t||Z(!1),t}),title:"Paint this week's option-weight heatmap (Mon\u2013Fri, incl. future days) behind the chart",style:{background:X?"linear-gradient(135deg, #ff6d00 0%, #ff4500 48%, #e8383b 100%)":"transparent",color:X?"#fff":pg,border:`1px solid ${X?"#ff6d00":hg}`,padding:"2px 12px",cursor:"pointer",fontSize:"11px",fontWeight:800,fontFamily:Sg,letterSpacing:"1.5px",textShadow:X?"0 0 4px rgba(255,200,120,0.8)":"none",animation:X?"mkHeatPulse 1.6s ease-in-out infinite":"none"},children:"HEAT"}),(0,Hg.jsx)("button",{onClick:()=>re(e=>!e),title:"Heat level settings",style:{background:ne?`${mg}20`:"transparent",color:ne?mg:pg,border:`1px solid ${ne?mg+"50":hg}`,padding:"2px 6px",cursor:"pointer",fontSize:"11px",fontWeight:700,fontFamily:Sg},children:"\u25be"}),ne&&(0,Hg.jsxs)("div",{onClick:e=>e.stopPropagation(),style:{position:"absolute",top:"calc(100% + 4px)",right:0,zIndex:200,background:"#0a0a0a",border:"1px solid #333",padding:10,boxShadow:"0 4px 16px rgba(0,0,0,0.7)",minWidth:220,fontFamily:Sg},children:[(0,Hg.jsx)("div",{style:{fontSize:9,color:"#ff6d00",fontWeight:800,letterSpacing:"1.5px",marginBottom:8},children:"HEAT LEVELS"}),(0,Hg.jsxs)("button",{onClick:()=>{fe&&Z(e=>!e)},disabled:!fe,title:fe?Q?"Click to disable 2-month view":"Show both previous and current month on chart":"PRO subscription required",style:{width:"100%",marginBottom:8,cursor:fe?"pointer":"not-allowed",background:Q?"linear-gradient(135deg, #ff6d00 0%, #e8383b 100%)":fe?"transparent":"#0a0a0a",color:Q?"#fff":fe?"#ff6d00":"#444",border:"1px solid "+(Q?"#ff6d00":fe?"#ff6d0066":"#333"),padding:"5px 10px",fontSize:9,fontWeight:800,fontFamily:Sg,letterSpacing:"1.5px",display:"flex",alignItems:"center",justifyContent:"center",gap:6},children:[(0,Hg.jsx)("span",{children:"PRO HEAT"}),(0,Hg.jsx)("span",{style:{fontSize:7,fontWeight:900,letterSpacing:"0.5px",padding:"1px 5px",borderRadius:2,background:fe?"#ffd60050":"#33333350",color:fe?"#ffd600":"#666",border:"1px solid "+(fe?"#ffd600":"#444")},children:fe?Q?"ON \xb7 2 MONTHS":"PRO":"PRO ONLY"})]}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:6},children:[(0,Hg.jsx)("span",{style:{fontSize:8,color:"#888",letterSpacing:"1px",minWidth:56},children:"PALETTE"}),(0,Hg.jsx)("select",{value:de,onChange:e=>he(e.target.value),style:{flex:1,background:"#0a0a0a",color:"#fff",border:"1px solid #333",padding:"2px 4px",fontSize:9,fontFamily:Sg,letterSpacing:"0.5px",cursor:"pointer"},children:Object.entries(Ny).map(e=>{let[t,n]=e;return(0,Hg.jsx)("option",{value:t,children:n.label},t)})})]}),(0,Hg.jsxs)("div",{style:{marginBottom:8},children:[(0,Hg.jsx)("div",{style:{height:12,width:"100%",background:Fy(Ny[de]||Ny.fire),border:"1px solid #222"}}),(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",fontSize:7,color:"#666",letterSpacing:"1px",marginTop:2},children:[(0,Hg.jsx)("span",{children:"LO"}),(0,Hg.jsx)("span",{children:"HI"})]})]}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:6},children:[(0,Hg.jsx)("span",{style:{fontSize:8,color:"#888",letterSpacing:"1px",minWidth:56},children:"OPACITY"}),(0,Hg.jsx)("input",{type:"range",min:.1,max:1,step:.02,value:ie,onChange:e=>oe(Number(e.target.value)),style:{flex:1,accentColor:"#ff6d00"}}),(0,Hg.jsxs)("span",{style:{fontSize:9,color:"#fff",minWidth:32,textAlign:"right"},children:[(100*ie).toFixed(0),"%"]})]}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:6},children:[(0,Hg.jsx)("span",{style:{fontSize:8,color:"#888",letterSpacing:"1px",minWidth:56},children:"CONTRAST"}),(0,Hg.jsx)("input",{type:"range",min:.3,max:1.5,step:.05,value:le,onChange:e=>se(Number(e.target.value)),style:{flex:1,accentColor:"#ff6d00"}}),(0,Hg.jsx)("span",{style:{fontSize:9,color:"#fff",minWidth:32,textAlign:"right"},children:le.toFixed(2)})]}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:6},children:[(0,Hg.jsx)("span",{style:{fontSize:8,color:"#888",letterSpacing:"1px",minWidth:56},children:"THRESHOLD"}),(0,Hg.jsx)("input",{type:"range",min:0,max:.95,step:.01,value:ae,onChange:e=>ce(Number(e.target.value)),style:{flex:1,accentColor:"#ff6d00"}}),(0,Hg.jsxs)("span",{style:{fontSize:9,color:"#fff",minWidth:32,textAlign:"right"},children:[(100*ae).toFixed(0),"%"]})]}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:6,marginTop:8},children:[(0,Hg.jsx)("button",{onClick:()=>{oe(.38),se(.75),ce(.05)},style:{flex:1,background:"transparent",border:"1px solid #333",color:"#888",padding:"3px 8px",cursor:"pointer",fontSize:8,fontWeight:700,fontFamily:Sg,letterSpacing:"1px"},children:"RESET"}),(0,Hg.jsx)("button",{onClick:()=>re(!1),style:{flex:1,background:"transparent",border:"1px solid #333",color:"#888",padding:"3px 8px",cursor:"pointer",fontSize:8,fontWeight:700,fontFamily:Sg,letterSpacing:"1px"},children:"CLOSE"})]})]})]}),!1,(0,Hg.jsx)(Vg,{label:"BATES",anyOn:Object.values(Dn).some(e=>e),groups:Tg,state:Dn,onToggle:fr,onAll:gr,slotVis:Nn,onToggleSlot:vr,onGear:e=>Je(Xe===e?null:e)}),Xe&&Tg[Xe]&&(0,Hg.jsx)(Yg,{group:"bates_"+Xe,groupData:Tg[Xe],coneStyles:Hn,onUpdate:wr,onClose:()=>Je(null)}),(0,Hg.jsx)(Vg,{label:"GEX",anyOn:Object.values(Rn).some(e=>e),groups:Mg,state:Rn,onToggle:mr,onAll:yr,slotVis:Nn,onToggleSlot:vr,onGear:e=>Ze(Qe===e?null:e),disabled:!1===Ur,disabledTitle:"no data"}),Qe&&Mg[Qe]&&(0,Hg.jsx)(Yg,{group:"gex_"+Qe,groupData:Mg[Qe],coneStyles:Hn,onUpdate:wr,onClose:()=>Ze(null)}),(0,Hg.jsx)("div",{style:{width:1,height:14,background:ug,margin:"0 2px"}}),(0,Hg.jsx)(Xg,{indicators:$n,onToggle:xr,onImport:_r,indicatorStyles:Bn,onUpdateStyle:br}),(0,Hg.jsx)(jm,{activeTool:it,onSelectTool:ot,drawStyle:lt,onStyleChange:gi,drawingCount:hi,onClearAll:xi,onDeleteSelected:mi,hasSelected:pi}),(0,Hg.jsx)("div",{style:{width:1,height:14,background:ug,margin:"0 2px"}}),(()=>{const e=(null===S||void 0===S?void 0:S.live_trading)&&(null===S||void 0===S?void 0:S.provider_connected),t=e?yg:vg;return(0,Hg.jsx)("button",{onClick:w,title:e?"New Order \u2014 Live Trading ON":"New Order \u2014 Trading OFF",style:{background:`${t}15`,border:`1px solid ${t}50`,color:t,padding:"1px 6px",cursor:"pointer",fontSize:"7px",fontWeight:800,fontFamily:Sg,borderRadius:2,letterSpacing:"0.5px"},children:"ORDER"})})(),(0,Hg.jsx)("div",{style:{width:1,height:14,background:ug,margin:"0 2px"}}),(0,Hg.jsx)("button",{onClick:()=>{var e;return null===(e=di.current)||void 0===e?void 0:e.call(di)},title:"Fit last 600 candles + resume live updates",style:{background:"transparent",color:pg,border:`1px solid ${pg}`,padding:"1px 7px",cursor:"pointer",borderRadius:2,fontSize:"9px",fontWeight:800,fontFamily:Sg,letterSpacing:"1px"},children:"F"}),(0,Hg.jsx)("div",{style:{width:1,height:14,background:ug,margin:"0 2px"}}),(0,Hg.jsx)("button",{title:"Export chart as PNG",style:{background:"transparent",color:gg,border:`1px solid ${ug}`,padding:"1px 4px",cursor:"pointer",borderRadius:2,display:"flex",alignItems:"center"},onClick:()=>{requestAnimationFrame(()=>{try{if(!_.current)return;const e=_.current,t=e.getBoundingClientRect(),n=Array.from(e.querySelectorAll("canvas")).filter(e=>e.width>0&&e.height>0);if(!n.length)return;const r=Math.max(...n.map(e=>e.width)),i=Math.max(...n.map(e=>e.height)),o=r/t.width,l=i/t.height,s=document.createElement("canvas");s.width=r,s.height=i;const a=s.getContext("2d");a.fillStyle="#000000",a.fillRect(0,0,r,i);for(const d of n)try{a.drawImage(d,0,0)}catch{}const c=Array.from(e.querySelectorAll("svg")).filter(e=>e.getBoundingClientRect().width>0&&e.getBoundingClientRect().height>0),u=e=>new Promise(n=>{try{const r=e.getBoundingClientRect(),i=(r.left-t.left)*o,s=(r.top-t.top)*l,c=r.width*o,d=r.height*l,u=e.cloneNode(!0);u.setAttribute("xmlns","http://www.w3.org/2000/svg"),u.setAttribute("width",String(r.width)),u.setAttribute("height",String(r.height));const h=(new XMLSerializer).serializeToString(u),p="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(h),f=new Image;f.onload=()=>{try{a.drawImage(f,i,s,c,d)}catch{}n()},f.onerror=()=>n(),f.src=p}catch{n()}});Promise.all(c.map(u)).then(()=>{const e=`${d}_${vn}_${(new Date).toISOString().slice(0,10)}.png`;"undefined"!==typeof window&&window.mkElectron&&window.mkElectron.saveScreenshot?s.toBlob(async t=>{if(t)try{const n=await t.arrayBuffer(),r=await window.mkElectron.saveScreenshot(e,new Uint8Array(n));null!==r&&void 0!==r&&r.saved||null===r||void 0===r||!r.error||We("error",`Screenshot save failed: ${r.error}`)}catch(sd){console.error("[MC] IPC screenshot save:",sd),We("error",`Screenshot save failed: ${sd.message}`)}else We("error","Screenshot: toBlob returned null")},"image/png"):s.toBlob(t=>{if(t)try{const n=URL.createObjectURL(t),r=document.createElement("a");r.download=e,r.href=n,r.click(),setTimeout(()=>URL.revokeObjectURL(n),1500)}catch(sd){console.error("[MC] Screenshot save:",sd),We("error",`Screenshot save failed: ${sd.message}`)}},"image/png")})}catch(sd){console.error("[MC] Screenshot:",sd),We("error",`Screenshot failed: ${sd.message}`)}})},children:(0,Hg.jsxs)("svg",{width:"14",height:"12",viewBox:"0 0 24 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,Hg.jsx)("path",{d:"M8.5 2L6.5 5H3C1.9 5 1 5.9 1 7V17C1 18.1 1.9 19 3 19H21C22.1 19 23 18.1 23 17V7C23 5.9 22.1 5 21 5H17.5L15.5 2H8.5Z",stroke:"#ff6d00",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,Hg.jsx)("circle",{cx:"12",cy:"12",r:"4",stroke:"#ff6d00",strokeWidth:"2"})]})}),(0,Hg.jsx)("button",{onClick:()=>rt(e=>!e),title:nt?"Exit fullscreen (Esc)":"Fullscreen",style:{background:"transparent",color:gg,border:`1px solid ${ug}`,padding:"1px 4px",cursor:"pointer",borderRadius:2,display:"flex",alignItems:"center"},children:nt?(0,Hg.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,Hg.jsx)("path",{d:"M9 3H3v6M15 3h6v6M9 21H3v-6M15 21h6v-6",stroke:"#ff6d00",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,Hg.jsx)("path",{d:"M3 3l5 5M21 3l-5 5M3 21l5-5M21 21l-5-5",stroke:"#ff6d00",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}):(0,Hg.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,Hg.jsx)("path",{d:"M3 9V3h6M21 9V3h-6M3 15v6h6M21 15v6h-6",stroke:"#999",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,Hg.jsx)("button",{onClick:()=>tt(!0),title:"Hide toolbar",style:{background:"transparent",color:mg,border:`1px solid ${ug}`,padding:"1px 5px",cursor:"pointer",fontSize:"9px",fontFamily:Sg,borderRadius:2},children:"\u25b2"})]})]}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,padding:"2px 10px",borderBottom:`1px solid ${ug}`,background:sg,flexShrink:0,fontSize:"7px",fontFamily:Sg},children:[["cones","bands"].map(e=>(0,Hg.jsxs)("span",{style:{color:wi[e]?yg:gg},children:[wi[e]?"\u25cf":"\u25cb"," ",e.toUpperCase()]},e)),pt.length>0&&(0,Hg.jsxs)("span",{style:{color:yg},children:["\u25cf"," POSITIONS (",pt.length,")"]}),$n.show_trade_history&&(0,Hg.jsxs)("span",{style:{color:gg},children:["\u25cf"," HISTORY"]})]})]})}),(0,Hg.jsxs)("div",{ref:_,onContextMenu:e=>{e.preventDefault(),Le({x:e.clientX,y:e.clientY})},style:{flex:1,minHeight:0,position:"relative",cursor:it?"crosshair":pi?"grab":St?"pointer":void 0},children:[!d&&(0,Hg.jsx)("div",{style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center"},children:(0,Hg.jsx)("span",{style:{color:gg,fontSize:"11px",fontFamily:Sg},children:"SELECT AN ASSET"})}),(0,Hg.jsx)("canvas",{ref:T,style:{position:"absolute",left:0,top:0,width:"100%",height:"100%",pointerEvents:"none",zIndex:2}}),ai,si,ci,Ne&&(0,Hg.jsxs)("div",{onClick:e=>e.stopPropagation(),style:{position:"absolute",left:Math.max(4,Math.min(Ne.x,((null===(r=_.current)||void 0===r?void 0:r.clientWidth)||800)-220)),top:Math.max(4,Math.min(Ne.y,((null===(i=_.current)||void 0===i?void 0:i.clientHeight)||600)-40)),zIndex:300,background:"#0a0a0a",border:`1px solid ${mg}`,boxShadow:"0 4px 16px rgba(0,0,0,0.7)",padding:4,display:"flex",gap:4,alignItems:"center",fontFamily:Sg},children:[(0,Hg.jsx)("input",{autoFocus:!0,type:"text",placeholder:"Type text, Enter to place",onKeyDown:e=>{if("Enter"===e.key){const t=e.currentTarget.value.trim();t&&mt.current.add({type:"text",points:[{time:Ne.time,price:Ne.price}],style:{...lt,_text:t,fontSize:11},ticker:d,timeframe:vn}),Fe(null),ot(null)}else"Escape"===e.key&&(Fe(null),ot(null))},style:{background:"#000",color:pg,border:`1px solid ${hg}`,padding:"3px 6px",fontFamily:Sg,fontSize:11,outline:"none",width:180}}),(0,Hg.jsx)("button",{onClick:()=>{Fe(null),ot(null)},title:"Cancel (Esc)",style:{background:"transparent",color:gg,border:"none",padding:"0 4px",cursor:"pointer",fontSize:11,fontFamily:Sg},children:"\xd7"})]}),De&&(0,Hg.jsx)(Nm,{x:De.x,y:De.y,currentTicker:d,currentTool:it,assets:h,onSelectDrawTool:e=>ot(e),onChangeTicker:e=>{k&&k(e)},onRefresh:()=>{d&&zt&&zt(d,vn,nr).catch(()=>{})},onReset:()=>{var e;return null===(e=di.current)||void 0===e?void 0:e.call(di)},onSettings:()=>{ze(!0)},onSaveState:()=>{if(sr(),Mt&&Mt.name){try{sm(Mt.name,ar(),d)}catch{}return Mt.name}return null},onClose:()=>Le(null)}),(0,Hg.jsx)(Ry,{open:Re,initialStyle:Kn,onChange:Xn,onClose:()=>ze(!1)}),fi&&(0,Hg.jsx)(oy,{drawing:fi,onChange:yi,onDelete:mi,onDeselect:vi}),it&&(0,Hg.jsxs)("div",{style:{position:"absolute",top:4,left:"50%",transform:"translateX(-50%)",zIndex:50,background:`${mg}20`,border:`1px solid ${mg}50`,padding:"2px 10px",fontSize:"8px",fontFamily:Sg,color:mg,fontWeight:700,pointerEvents:"none",borderRadius:2},children:[null===(o=pm[it])||void 0===o||null===(l=o.label)||void 0===l?void 0:l.toUpperCase()," \u2014 ","pen"===it?"PRESS AND DRAG TO DRAW":"path"===it?"CLICK TO ADD POINT \xb7 DBL-CLICK TO FINISH":"fib_ext"===it?3===(null===(s=wt.current)||void 0===s?void 0:s.length)?"CLICK WIDTH EDGE (D)":2===(null===(a=wt.current)||void 0===a?void 0:a.length)?"CLICK PULLBACK (C)":1===(null===(c=wt.current)||void 0===c?void 0:c.length)?"CLICK POINT B":"CLICK POINT A":"position_long"===it||"position_short"===it?vt.current?"CLICK SL LEVEL":"CLICK ENTRY LEVEL":"price_point"===it?vt.current?"CLICK LABEL POSITION":"CLICK PRICE TO CAPTURE":vt.current?"CLICK 2ND POINT":"CLICK TO PLACE"," \xb7 ESC TO CANCEL"]}),!it&&Ht.length>0&&(0,Hg.jsxs)("div",{style:{position:"absolute",inset:0,pointerEvents:"none",zIndex:55},children:[Ht.map(e=>{if(null==e.entry_y)return null;const n="BUY"===e.direction,r=null!=e.stop_loss&&null!=e.sl_y,i=null!=e.take_profit&&null!=e.tp_y,o=pt.find(t=>t.ticket===e.ticket);if(!o)return null;const l=e=>({position:"absolute",left:0,right:0,top:e-5,height:10,pointerEvents:"auto",cursor:"ns-resize"});return(0,Hg.jsxs)(t.Fragment,{children:[(!r||!i)&&(0,Hg.jsx)("div",{onPointerDown:t=>lr(t,e.ticket,"entry",o),title:r||i?r?`Drag ${n?"up":"down"} from entry to set TP`:`Drag ${n?"down":"up"} from entry to set SL`:"Drag from entry: "+(n?"down=SL, up=TP":"up=SL, down=TP"),style:l(e.entry_y)}),r&&(0,Hg.jsx)("div",{onPointerDown:t=>lr(t,e.ticket,"sl",o),title:`Drag to modify SL \xb7 ${Number(e.stop_loss).toFixed(Gr)}`,style:l(e.sl_y)}),i&&(0,Hg.jsx)("div",{onPointerDown:t=>lr(t,e.ticket,"tp",o),title:`Drag to modify TP \xb7 ${Number(e.take_profit).toFixed(Gr)}`,style:l(e.tp_y)})]},e.ticket)}),Yt&&null!=Yt.currentY&&(()=>{const{kind:e,direction:t,startY:n,currentY:r,currentPrice:i,pos:o}=Yt;let l=e;if("entry"===e){const e=r>n;l=("BUY"===t?e:!e)?"sl":"tp"}const s="sl"===l?vg:yg;let a="";const c=Qt.current.get(null===o||void 0===o?void 0:o.ticker);if(c&&c.tick_size>0&&c.tick_value>0&&(null===o||void 0===o?void 0:o.lots)>0){const e=Math.abs(i-o.open_price)/c.tick_size*c.tick_value*o.lots;if(Number.isFinite(e)&&e>0){a=` ${"sl"===l?"\u2212":"+"}$${e.toFixed(2)}`}}return(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("div",{style:{position:"absolute",left:0,right:0,top:r,height:0,borderTop:`1px dashed ${s}`,pointerEvents:"none"}}),(0,Hg.jsxs)("div",{style:{position:"absolute",right:48,top:r-9,padding:"1px 6px",background:`${s}25`,border:`1px solid ${s}80`,color:s,fontSize:"10px",fontFamily:Sg,fontWeight:800,borderRadius:2,pointerEvents:"none",letterSpacing:"0.3px",whiteSpace:"nowrap"},children:[l.toUpperCase()," ",Number(i).toFixed(Gr),a]})]})})()]}),!it&&an.length>0&&(0,Hg.jsxs)("div",{style:{position:"absolute",inset:0,pointerEvents:"none",zIndex:55},children:[an.map(e=>{if(null==e.price_y)return null;const n=ln.find(t=>t.ticket===e.ticket);if(!n)return null;const r=e=>({position:"absolute",left:0,right:48,top:e-5,height:10,pointerEvents:"auto",cursor:"ns-resize"}),i=e.stop_loss&&null!=e.sl_y,o=e.take_profit&&null!=e.tp_y;return(0,Hg.jsxs)(t.Fragment,{children:[(0,Hg.jsx)("div",{style:{position:"absolute",left:0,right:48,top:e.price_y,height:0,borderTop:`1px dashed ${xg}`,pointerEvents:"none"}}),(0,Hg.jsxs)("div",{style:{position:"absolute",right:56,top:e.price_y-9,padding:"1px 6px",background:`${xg}25`,border:`1px solid ${xg}80`,color:xg,fontSize:"9px",fontFamily:Sg,fontWeight:800,borderRadius:2,pointerEvents:"none",letterSpacing:"0.3px",whiteSpace:"nowrap"},children:[e.direction," ",e.order_type," ",e.lots," @ ",Number(e.price).toFixed(Gr)]}),(0,Hg.jsx)("div",{onPointerDown:t=>or(t,e.ticket,"price",n),title:"Drag to modify price \xb7 Shift+drag to set SL/TP (direction decides)",style:r(e.price_y)}),(0,Hg.jsx)("button",{onClick:t=>{t.stopPropagation(),ir(e.ticket)},title:`Cancel order #${e.ticket}`,style:{position:"absolute",right:6,top:e.price_y-8,width:16,height:16,pointerEvents:"auto",cursor:"pointer",background:`${vg}25`,color:vg,border:`1px solid ${vg}80`,borderRadius:2,fontSize:10,fontWeight:900,fontFamily:Sg,padding:0,lineHeight:"14px",display:"flex",alignItems:"center",justifyContent:"center"},children:"\u2715"}),i&&(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("div",{style:{position:"absolute",left:0,right:48,top:e.sl_y,height:0,borderTop:`1px dotted ${vg}`,pointerEvents:"none",opacity:.8}}),(0,Hg.jsx)("div",{onPointerDown:t=>or(t,e.ticket,"sl",n),title:`Drag to modify SL \xb7 ${Number(e.stop_loss).toFixed(Gr)}`,style:r(e.sl_y)})]}),o&&(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("div",{style:{position:"absolute",left:0,right:48,top:e.tp_y,height:0,borderTop:`1px dotted ${yg}`,pointerEvents:"none",opacity:.8}}),(0,Hg.jsx)("div",{onPointerDown:t=>or(t,e.ticket,"tp",n),title:`Drag to modify TP \xb7 ${Number(e.take_profit).toFixed(Gr)}`,style:r(e.tp_y)})]})]},`pend-${e.ticket}`)}),hn&&null!=hn.currentY&&(()=>{const{kind:e,direction:t,startY:n,currentY:r,currentPrice:i,shift:o,order:l}=hn;let s=e;if("price"===e&&o){const e=r>n;s=("BUY"===t?e:!e)?"sl":"tp"}const a="sl"===s?vg:"tp"===s?yg:xg;let c="";if("sl"===s||"tp"===s){const e=Qt.current.get(null===l||void 0===l?void 0:l.ticker);if(e&&e.tick_size>0&&e.tick_value>0&&(null===l||void 0===l?void 0:l.lots)>0){const t=Math.abs(i-l.price)/e.tick_size*e.tick_value*l.lots;if(Number.isFinite(t)&&t>0){c=` ${"sl"===s?"\u2212":"+"}$${t.toFixed(2)}`}}}return(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("div",{style:{position:"absolute",left:0,right:0,top:r,height:0,borderTop:`1px dashed ${a}`,pointerEvents:"none"}}),(0,Hg.jsxs)("div",{style:{position:"absolute",right:48,top:r-9,padding:"1px 6px",background:`${a}25`,border:`1px solid ${a}80`,color:a,fontSize:"10px",fontFamily:Sg,fontWeight:800,borderRadius:2,pointerEvents:"none",letterSpacing:"0.3px",whiteSpace:"nowrap"},children:[s.toUpperCase()," ",Number(i).toFixed(Gr),c]})]})})()]}),("buy_armed"===tn||"sell_armed"===tn)&&Kr>0&&(0,Hg.jsx)("div",{onMouseMove:e=>{var t;const n=null===(t=_.current)||void 0===t?void 0:t.getBoundingClientRect(),r=C.current;if(!n||!r)return;const i=e.clientY-n.top,o=r.coordinateToPrice(i);if(null==o)return void on(null);on({y:i,price:o,kind:"BUY"===("buy_armed"===tn?"BUY":"SELL")?o<Kr?"LIMIT":"STOP":o>Kr?"LIMIT":"STOP"})},onMouseLeave:()=>on(null),onClick:e=>{var t;const n=null===(t=_.current)||void 0===t?void 0:t.getBoundingClientRect(),r=C.current;if(!n||!r)return;const i=e.clientY-n.top,o=r.coordinateToPrice(i);null!=o&&rr(o)},style:{position:"absolute",inset:0,zIndex:54,cursor:"crosshair",background:`${xg}08`},children:rn&&(()=>{const e="buy_armed"===tn?"BUY":"SELL";return(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("div",{style:{position:"absolute",left:0,right:0,top:rn.y,height:0,borderTop:`1px dashed ${xg}`,pointerEvents:"none"}}),(0,Hg.jsxs)("div",{style:{position:"absolute",right:48,top:rn.y-9,padding:"1px 6px",background:`${xg}30`,border:`1px solid ${xg}A0`,color:xg,fontSize:"10px",fontFamily:Sg,fontWeight:800,borderRadius:2,pointerEvents:"none",letterSpacing:"0.3px",whiteSpace:"nowrap"},children:[e," ",rn.kind," ",Number(rn.price).toFixed(Gr)]})]})})()}),$t&&(0,Hg.jsxs)("div",{style:{position:"absolute",top:8,right:12,zIndex:60,background:"ok"===$t.kind?`${yg}20`:`${vg}20`,border:`1px solid ${"ok"===$t.kind?yg:vg}80`,color:"ok"===$t.kind?yg:vg,padding:"4px 10px",fontSize:"10px",fontFamily:Sg,fontWeight:700,borderRadius:2,pointerEvents:"none",letterSpacing:"0.3px",maxWidth:320,boxShadow:"0 2px 8px rgba(0,0,0,0.6)"},children:["ok"===$t.kind?"\u2713 ":"\u2717 ",$t.msg]})]})]})}),Wy=$y;const By="#0a0a0a",Uy="#111",Hy="#222",Vy="#333",Yy="#fff",Gy="#999",Ky="#444",qy="#ff6d00",Xy="#2ebd59",Jy="#e8383b",Qy="#3796ff",Zy="#00d2d3",ev="'Courier New', Consolas, monospace",tv=["GOLDILOCKS","REFLATION","STAGFLATION","DEFLATION"],nv={GOLDILOCKS:Xy,REFLATION:Qy,STAGFLATION:qy,DEFLATION:Jy},rv={2:["calm","stressed"],3:["calm","normal","stressed"],4:["calm","normal_low","normal_high","stressed"],5:["calm","normal_low","normal","normal_high","stressed"]},iv={calm:Xy,normal_low:"#14b8a6",normal:Qy,normal_high:qy,stressed:Jy},ov={calm:"calm",normal_low:"normal-low",normal:"normal",normal_high:"normal-high",stressed:"stressed"};function lv(e){let{title:n,titleColor:r,states:i,stateColors:o,stateLabels:l,opacity:s,onOpacityChange:a,hidden:c,onToggleState:d,paintCandles:u,onTogglePaintCandles:h,onClose:p}=e;const f=(0,t.useRef)(null);return(0,t.useEffect)(()=>{const e=e=>{f.current&&!f.current.contains(e.target)&&p()};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[p]),(0,Hg.jsxs)("div",{ref:f,onClick:e=>e.stopPropagation(),style:{position:"absolute",top:"calc(100% + 4px)",right:0,zIndex:200,background:Uy,border:`1px solid ${Vy}`,padding:8,boxShadow:"0 4px 16px rgba(0,0,0,0.7)",minWidth:180,fontFamily:ev},children:[(0,Hg.jsx)("div",{style:{fontSize:9,color:r,fontWeight:800,letterSpacing:"1.5px",marginBottom:8},children:n}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:8,opacity:u?.4:1},children:[(0,Hg.jsx)("span",{style:{fontSize:8,color:Gy,letterSpacing:"1px",minWidth:48},children:"OPACITY"}),(0,Hg.jsx)("input",{type:"range",min:.02,max:.25,step:.01,value:s,disabled:u,onChange:e=>a(Number(e.target.value)),style:{flex:1,accentColor:r}}),(0,Hg.jsxs)("span",{style:{fontSize:9,color:Yy,minWidth:28,textAlign:"right"},children:[(100*s).toFixed(0),"%"]})]}),(0,Hg.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:10,cursor:"pointer",userSelect:"none",padding:"4px 6px",background:u?`${r}15`:"transparent",border:`1px solid ${u?r+"60":Hy}`},children:[(0,Hg.jsx)("input",{type:"checkbox",checked:!!u,onChange:()=>h&&h(!u),style:{accentColor:r,margin:0}}),(0,Hg.jsx)("span",{style:{fontSize:8,color:u?r:Gy,letterSpacing:"1px",fontWeight:800},children:"SHOW ON CANDLES"})]}),(0,Hg.jsx)("div",{style:{fontSize:8,color:Ky,letterSpacing:"1px",marginBottom:4},children:"STATES"}),i.map(e=>{const t=!c.has(e),n=o[e]||Gy;return(0,Hg.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:3,cursor:"pointer",userSelect:"none"},children:[(0,Hg.jsx)("input",{type:"checkbox",checked:t,onChange:()=>d(e),style:{accentColor:n,margin:0}}),(0,Hg.jsx)("span",{style:{width:8,height:8,background:n,borderRadius:1,display:"inline-block",opacity:t?1:.25}}),(0,Hg.jsx)("span",{style:{fontSize:9,color:t?Yy:Ky,letterSpacing:"1px",fontWeight:700},children:(l[e]||e).toUpperCase()})]},e)}),(0,Hg.jsx)("button",{onClick:p,style:{width:"100%",marginTop:6,background:"transparent",border:`1px solid ${Hy}`,color:Gy,padding:"4px 8px",cursor:"pointer",fontSize:8,fontWeight:700,fontFamily:ev,letterSpacing:"1px"},children:"CLOSE"})]})}function sv(e){let{color:t,children:n}=e;return(0,Hg.jsx)("span",{style:{fontSize:8,fontWeight:800,letterSpacing:"1px",color:t,background:`${t}18`,border:`1px solid ${t}50`,padding:"2px 7px",borderRadius:2,whiteSpace:"nowrap",flexShrink:0},children:n})}function av(e){var n,r,i;let{selectedTicker:o,onRegimeHistory:l,playTime:s=null,forceMacroOn:a=!1,forceMicroOn:c=!1}=e;const[d,u]=(0,t.useState)(null),[h,p]=(0,t.useState)(null),[f,g]=(0,t.useState)(!1),[m,y]=(0,t.useState)(!1),[v,x]=(0,t.useState)(!1),[b,w]=(0,t.useState)(.08),[S,j]=(0,t.useState)(.08),[k,_]=(0,t.useState)(()=>new Set),[E,C]=(0,t.useState)(()=>new Set),[T,M]=(0,t.useState)(!1),[O,A]=(0,t.useState)(!1),[P,I]=(0,t.useState)(()=>{try{return"1"===localStorage.getItem("mk_regime_paint_macro_candles")}catch{return!1}}),[D,L]=(0,t.useState)(()=>{try{return"1"===localStorage.getItem("mk_regime_paint_micro_candles")}catch{return!1}}),R=(0,t.useCallback)(e=>{I(e);try{localStorage.setItem("mk_regime_paint_macro_candles",e?"1":"0")}catch{}},[]),z=(0,t.useCallback)(e=>{L(e);try{localStorage.setItem("mk_regime_paint_micro_candles",e?"1":"0")}catch{}},[]),[N,F]=(0,t.useState)(0);(0,t.useEffect)(()=>{if("undefined"===typeof window)return;const e=()=>F(e=>e+1);return window.addEventListener("mk:data-sync-complete",e),()=>window.removeEventListener("mk:data-sync-complete",e)},[]),(0,t.useEffect)(()=>{let e=!1;const t=async()=>{try{const t=await fetch("/api/regime/macro");if(!t.ok)return void(e||u(null));const n=await t.json();e||u(n)}catch{e||u(null)}};t();const n=setInterval(t,3e5);return()=>{e=!0,clearInterval(n)}},[N]),(0,t.useEffect)(()=>{if(!o)return p(null),void g(!1);let e=!1;const t=async()=>{try{const t=await fetch(`/api/regime/${o}`);if(404===t.status)return void(e||(p(null),g(!0)));if(!t.ok)return void(e||p(null));const n=await t.json();e||(p(n),g(!1))}catch{e||p(null)}};t();const n=setInterval(t,6e4);return()=>{e=!0,clearInterval(n)}},[o,N]),(0,t.useEffect)(()=>{var e,t;if(!l)return;const n=m||a,r=v||c;l(n&&d||r&&h||(!!d||!!h)?{macro:n&&d?{data:d,enabled:!0,opacity:b,hidden:k,colors:nv,paintCandles:P}:null,micro:r&&h?{data:h,enabled:!0,opacity:S,hidden:E,colors:iv,paintCandles:D}:null,liveMacroRegime:(null===d||void 0===d||null===(e=d.slow)||void 0===e?void 0:e.regime)||null,liveMicroRegime:(null===h||void 0===h||null===(t=h.slow)||void 0===t?void 0:t.regime)||null}:null)},[m,v,a,c,d,h,b,S,k,E,P,D,l]);const $=(e,t)=>{var n,r,i;if(!e)return{regime:null,confidence:0,outOfRange:!1};if(null==t)return{regime:(null===(r=e.slow)||void 0===r?void 0:r.regime)||null,confidence:(null===(i=e.slow)||void 0===i?void 0:i.confidence)||0,outOfRange:!1};const o=(null===(n=e.history)||void 0===n?void 0:n.slow_d1)||[];if(!o.length)return{regime:null,confidence:0,outOfRange:!0};const l=86400*Math.floor(t/86400);let s=null;for(const a of o){if(null===a||void 0===a||!a.date||null===a||void 0===a||!a.regime)continue;const e=Math.floor(new Date(a.date+"T00:00:00Z").getTime()/1e3);!Number.isFinite(e)||e<=0||e<=l&&(!s||e>s.ts)&&(s={ts:e,...a})}return s?{regime:s.regime,confidence:s.confidence||0,outOfRange:!1}:{regime:null,confidence:0,outOfRange:!0}},W=$(d,s),B=W.regime,U=W.confidence,H=W.outOfRange,V=$(h,s),Y=V.regime,G=V.confidence,K=V.outOfRange,q=(null===h||void 0===h||null===(n=h.slow)||void 0===n?void 0:n.n_states_selected)||0,X=null==s,J=X&&!(null===h||void 0===h||null===(r=h.fast)||void 0===r||!r.imminent),Q=X?null===h||void 0===h||null===(i=h.fast)||void 0===i?void 0:i.minutes_since_alarm:null,Z=q&&rv[q]?rv[q]:[],ee=((0,t.useCallback)(e=>{_(t=>{const n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),(0,t.useCallback)(e=>{C(t=>{const n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),(e,t)=>({background:e?`${t}20`:"transparent",color:e?t:Ky,border:`1px solid ${e?t+"60":Hy}`,padding:"2px 7px",cursor:"pointer",fontSize:8,fontWeight:700,fontFamily:ev,letterSpacing:"1px",flexShrink:0})),te=(e,t)=>({...ee(e,t),padding:"2px 5px"});return o?(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,height:24,background:By,borderBottom:`1px solid ${Hy}`,padding:"0 10px",fontFamily:ev,flexShrink:0},children:[(0,Hg.jsx)("span",{style:{fontSize:8,color:Ky,letterSpacing:"2px",fontWeight:800,flexShrink:0},children:"REGIMES"}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexShrink:0},children:[(0,Hg.jsx)("span",{style:{fontSize:7.5,color:Gy,letterSpacing:"1.5px",fontWeight:700},children:X?"CURRENT MACRO":"MACRO @ PLAYHEAD"}),B?(0,Hg.jsxs)(sv,{color:nv[B]||Gy,children:[B," \xb7 ",(100*U).toFixed(0),"%"]}):H?(0,Hg.jsx)("span",{style:{fontSize:8,color:Ky,fontStyle:"italic"},children:"before history"}):(0,Hg.jsx)("span",{style:{fontSize:8,color:Ky,fontStyle:"italic"},children:"loading\u2026"})]}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexShrink:0},children:[(0,Hg.jsxs)("span",{style:{fontSize:7.5,color:Gy,letterSpacing:"1.5px",fontWeight:700},children:[o," MICRO",X?"":" @ PLAYHEAD"]}),f?(0,Hg.jsx)("span",{style:{fontSize:8,color:Ky,fontStyle:"italic"},children:"\u2014 not enabled"}):Y?(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsxs)(sv,{color:iv[Y]||Gy,children:[(ov[Y]||Y).toUpperCase()," \xb7 ",(100*G).toFixed(0),"%"]}),X&&(J?(0,Hg.jsx)("span",{title:"regime shift imminent",style:{fontSize:7.5,color:Jy,background:`${Jy}18`,border:`1px solid ${Jy}60`,padding:"2px 6px",borderRadius:2,fontWeight:800,letterSpacing:"1px"},children:"\u26a0 IMMINENT"}):(0,Hg.jsxs)("span",{title:null!=Q?`${Q} min since last alarm`:"",style:{fontSize:7.5,color:Gy,background:"transparent",border:`1px solid ${Hy}`,padding:"2px 6px",borderRadius:2,fontWeight:700,letterSpacing:"1px"},children:["QUIET",null!=Q?` \xb7 ${Q}m`:""]}))]}):K?(0,Hg.jsx)("span",{style:{fontSize:8,color:Ky,fontStyle:"italic"},children:"before history"}):(0,Hg.jsx)("span",{style:{fontSize:8,color:Ky,fontStyle:"italic"},children:"loading\u2026"})]}),(0,Hg.jsx)("div",{style:{flex:1}}),(0,Hg.jsxs)("div",{style:{position:"relative",display:"inline-flex",gap:2,flexShrink:0},children:[(0,Hg.jsx)("button",{onClick:()=>y(e=>!e),title:"Toggle macro regime background shading",style:ee(m,Zy),children:"\u25c9 MACRO"}),(0,Hg.jsx)("button",{onClick:()=>M(e=>!e),title:"Macro opacity + state visibility",style:te(T,Zy),children:"\u25be"}),T&&(0,Hg.jsx)(lv,{title:"MACRO REGIME",titleColor:Zy,states:tv,stateColors:nv,stateLabels:{},opacity:b,onOpacityChange:w,hidden:k,onToggleState:e=>{_(t=>{const n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},paintCandles:P,onTogglePaintCandles:R,onClose:()=>M(!1)})]}),(0,Hg.jsxs)("div",{style:{position:"relative",display:"inline-flex",gap:2,flexShrink:0},children:[(0,Hg.jsx)("button",{onClick:()=>x(e=>!e),disabled:f,title:f?"Micro regime not enabled for this ticker":"Toggle micro regime background shading + hazard",style:{...ee(v,Zy),opacity:f?.35:1,cursor:f?"not-allowed":"pointer"},children:"\u25c9 MICRO"}),(0,Hg.jsx)("button",{onClick:()=>A(e=>!e),disabled:f,title:"Micro opacity + state visibility",style:{...te(O,Zy),opacity:f?.35:1,cursor:f?"not-allowed":"pointer"},children:"\u25be"}),O&&!f&&(0,Hg.jsx)(lv,{title:`MICRO \xb7 ${Z.length}-STATE`,titleColor:Zy,states:Z,stateColors:iv,stateLabels:ov,opacity:S,onOpacityChange:j,hidden:E,onToggleState:e=>{C(t=>{const n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},paintCandles:D,onTogglePaintCandles:z,onClose:()=>A(!1)})]})]}):null}const cv={local:{label:"LOCAL",offset:null},ny:{label:"NY",iana:"America/New_York"},london:{label:"LONDON",iana:"Europe/London"},tokyo:{label:"TOKYO",iana:"Asia/Tokyo"},sydney:{label:"SYDNEY",iana:"Australia/Sydney"},dubai:{label:"DUBAI",iana:"Asia/Dubai"},hk:{label:"HONG KONG",iana:"Asia/Hong_Kong"},manual:{label:"MANUAL",offset:0}},dv=Object.entries(cv).map(e=>{let[t,n]=e;return{key:t,label:n.label}});function uv(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const n=new Date,r=cv[e];if(!r)return hv(n);if("local"===e||null===r.offset)return hv(n);if("manual"===e){const e=n.getTime()+6e4*n.getTimezoneOffset();return hv(new Date(e+36e5*t))}if(r.iana)try{const e=new Intl.DateTimeFormat("en-GB",{timeZone:r.iana,hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}).formatToParts(n),t=t=>{var n;return parseInt((null===(n=e.find(e=>e.type===t))||void 0===n?void 0:n.value)||"0")},i=t("hour"),o=t("minute"),l=t("second"),s=new Intl.DateTimeFormat("en-GB",{timeZone:r.iana,day:"2-digit",month:"short",year:"numeric"}).format(n).toUpperCase();return{hours:i,minutes:o,seconds:l,timeStr:`${String(i).padStart(2,"0")}:${String(o).padStart(2,"0")}:${String(l).padStart(2,"0")}`,dateStr:s}}catch{return hv(n)}return hv(n)}function hv(e){return{hours:e.getHours(),minutes:e.getMinutes(),seconds:e.getSeconds(),timeStr:e.toLocaleTimeString("en-GB",{hour12:!1}),dateStr:e.toLocaleDateString("en-GB",{day:"2-digit",month:"short",year:"numeric"}).toUpperCase()}}const pv={ny:[{name:"PRE-MARKET",start:4,end:9.5,color:"#ffa500"},{name:"AM SESSION",start:9.5,end:12,color:"#2ebd59"},{name:"LUNCH",start:12,end:13,color:"#888888"},{name:"PM SESSION",start:13,end:16,color:"#2ebd59"},{name:"AFTER HOURS",start:16,end:20,color:"#ffa500"},{name:"NIGHT",start:20,end:4,color:"#444444"}],london:[{name:"PRE-MARKET",start:7,end:8,color:"#ffa500"},{name:"AM SESSION",start:8,end:12,color:"#2ebd59"},{name:"LUNCH",start:12,end:13.5,color:"#888888"},{name:"PM SESSION",start:13.5,end:16.5,color:"#2ebd59"},{name:"AFTER HOURS",start:16.5,end:19,color:"#ffa500"},{name:"NIGHT",start:19,end:7,color:"#444444"}],tokyo:[{name:"PRE-MARKET",start:8,end:9,color:"#ffa500"},{name:"AM SESSION",start:9,end:11.5,color:"#2ebd59"},{name:"LUNCH",start:11.5,end:12.5,color:"#888888"},{name:"PM SESSION",start:12.5,end:15,color:"#2ebd59"},{name:"AFTER HOURS",start:15,end:17,color:"#ffa500"},{name:"NIGHT",start:17,end:8,color:"#444444"}],sydney:[{name:"PRE-MARKET",start:7,end:10,color:"#ffa500"},{name:"AM SESSION",start:10,end:12,color:"#2ebd59"},{name:"LUNCH",start:12,end:14,color:"#888888"},{name:"PM SESSION",start:14,end:16,color:"#2ebd59"},{name:"NIGHT",start:16,end:7,color:"#444444"}]};const fv={mainTime:"local",mainTimeOffset:0,worldClocks:[{city:"ny",enabled:!0},{city:"london",enabled:!0},{city:"tokyo",enabled:!0},{city:"sydney",enabled:!1}],showWorldClock:!0};const gv=function(){const[e,n]=(0,t.useState)({current:"",latest:"",updateAvailable:!1,downloadUrl:"https://mkterminal.xyz/download/latest",releasedAt:"",bannerMessage:"",telegramUrl:"https://t.me/+B4xSYrAZvf5lYzBk",loading:!0,error:null}),r=(0,t.useCallback)(async function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];try{const t=e?"/api/version?refresh=true":"/api/version",r=await fetch(t);if(!r.ok)return void n(e=>({...e,loading:!1,error:`HTTP ${r.status}`}));const i=await r.json();n({current:i.current||"",latest:i.latest||"",updateAvailable:!!i.update_available,downloadUrl:i.download_url||"https://mkterminal.xyz/download/latest",releasedAt:i.released_at||"",bannerMessage:i.banner_message||"",telegramUrl:i.telegram_url||"https://t.me/+B4xSYrAZvf5lYzBk",loading:!1,error:null})}catch(sd){n(t=>({...t,loading:!1,error:String(sd)}))}},[]);return(0,t.useEffect)(()=>{r(!1)},[r]),{...e,refetch:()=>r(!0)}},mv="#000000",yv="#0a0a0a",vv="#111111",xv="#1a1a1a",bv="#222222",wv="#333333",Sv="#ffffff",jv="#999999",kv="#444444",_v="#ff6d00",Ev="#2ebd59",Cv="#e8383b",Tv="#00d2d3",Mv="#ffa500",Ov="'Courier New', Consolas, 'Liberation Mono', monospace";function Av(e){var n,r,i,o,l,s,a,c,d;let{open:u,onClose:h,configHook:p,config:f}=e;const[g,m]=(0,t.useState)({universe:!0,display:!1,sounds:!1,trading:!1,providers:!1,profiles:!1,time:!1,maintenance:!1,about:!1}),[y,v]=(0,t.useState)(Um()),x=gv(),[b,w]=(0,t.useState)(""),[S,j]=(0,t.useState)("FX"),[k,_]=(0,t.useState)(""),[E,C]=(0,t.useState)(null),[T,M]=(0,t.useState)({}),O=(0,t.useCallback)(async e=>{const t=(T[e]||"").trim();C(`broker_${e}`),await p.updateConfig({universe:{custom_tickers:{[e]:{broker_symbol:t||null}}}}),M(t=>{const n={...t};return delete n[e],n}),C(null)},[T,p]),[A,P]=(0,t.useState)(null),I=(0,t.useCallback)(async()=>{try{const e=await fetch("/api/account/settings");e.ok&&P(await e.json())}catch{}},[]),D=(0,t.useCallback)(async(e,t)=>{try{const n={};n[e]=t;const r=await fetch("/api/account/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(r.ok){const e=await r.json();P(e.settings)}}catch{}},[]);(0,t.useEffect)(()=>{g.trading&&!A&&I()},[g.trading,A,I]);const[L,R]=(0,t.useState)(null),[z,N]=(0,t.useState)(null),[F,$]=(0,t.useState)(null),W=(0,t.useCallback)(async()=>{try{const e=await fetch("/api/sync/status");e.ok&&R(await e.json())}catch{}},[]),B=(0,t.useCallback)(async()=>{try{const e=await fetch("/api/sync/poll-config");e.ok&&N(await e.json())}catch{}},[]),U=(0,t.useCallback)(async()=>{try{const e=await fetch("/api/auth/status");e.ok&&$(await e.json())}catch{}},[]);(0,t.useEffect)(()=>{g.maintenance&&(W(),U(),z||B())},[g.maintenance,W,U,B,z]);const H=(0,t.useCallback)(async()=>{C("refresh");try{const e=await fetch("/api/sync/refresh",{method:"POST"});if(e.ok){const t=await e.json();await W(),window.alert(`Sync complete:\n${t.synced||0} files updated\n${t.skipped||0} unchanged\nOffline: `+(t.offline_mode?"yes":"no"))}else window.alert("Sync failed \u2014 check server logs")}catch(sd){window.alert(`Sync error: ${sd.message}`)}C(null)},[W]),V=(0,t.useCallback)(async()=>{if(window.confirm("Move all cached data to _trash and re-download from server?\n\nFiles are preserved in the app's _trash folder for recovery.")){C("clearCache");try{const n=await fetch("/api/sync/clear-cache",{method:"POST"});if(n.ok){var e,t;const r=await n.json();await W(),window.alert(`Cleared ${(null===(e=r.cleared)||void 0===e?void 0:e.moved)||0} files to _trash.\nRe-synced ${(null===(t=r.resync)||void 0===t?void 0:t.synced)||0} files from server.`)}else window.alert("Clear failed \u2014 check server logs")}catch(sd){window.alert(`Clear error: ${sd.message}`)}C(null)}},[W]),Y=(0,t.useCallback)(()=>{try{window.caches&&window.caches.keys().then(e=>e.forEach(e=>window.caches.delete(e))),sessionStorage.clear()}catch{}window.location.reload(!0)},[]),G=(0,t.useCallback)(async()=>{if(window.confirm("Restart the terminal backend?\n\nThe window will briefly disconnect and auto-reload.")){C("restart");try{await fetch("/api/consumer/restart",{method:"POST"})}catch{}setTimeout(()=>window.location.reload(),4e3)}},[]),K=(0,t.useCallback)(async()=>{if(window.confirm("Sign out of MK.TRADES?\n\nYour session will end and you will return to the login screen.\nThis frees up a device slot on the server.")){C("signout");try{await fetch("/api/auth/logout",{method:"POST"})}catch{}setTimeout(()=>window.location.reload(),300)}},[]),[q,X]=(0,t.useState)({connection_method:"path",terminal_path:"",server:"",login:"",password:"",use_tick_data:!1}),[J,Q]=(0,t.useState)(null),[Z,ee]=(0,t.useState)(!1),[te,ne]=(0,t.useState)(null),re=(0,t.useCallback)(async()=>{try{const e=await fetch("/api/mt5/config");if(e.ok){const t=await e.json();X(e=>({...e,...t}))}}catch{}},[]),ie=(0,t.useCallback)(async()=>{try{const e=await fetch("/api/mt5/status");if(e.ok){const t=await e.json();return void Q({connected:t.connected,account:t.account||null})}}catch{}try{const e=await fetch("/api/health");if(e.ok){const t=await e.json();Q({connected:t.mt5_connected,account:null})}}catch{}},[]),oe=(0,t.useCallback)(async e=>{X(t=>({...t,...e}));try{const t=await fetch("/api/mt5/config",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(t.ok){const e=await t.json();e.config&&X(t=>({...t,...e.config}))}}catch{}},[]),le=(0,t.useCallback)(async()=>{ee(!0),ne(null);try{const e=await fetch("/api/mt5/connect",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(q)});if(e.ok){const t=await e.json();t.connected?(Q({connected:!0,account:t.account||null}),ne(null)):ne(t.error||"Connection failed")}else{const t=await e.json().catch(()=>({}));ne(t.error||t.detail||`HTTP ${e.status}`)}}catch(sd){ne("MT5 connection API not available yet \u2014 coming in next update")}ee(!1)},[q]),se=(0,t.useCallback)(async()=>{ee(!0);try{await fetch("/api/mt5/disconnect",{method:"POST"})}catch{}Q({connected:!1,account:null}),ee(!1)},[]),ae=(0,t.useRef)(!1);(0,t.useEffect)(()=>{g.providers&&!ae.current&&(ae.current=!0,re(),ie())},[g.providers,re,ie]);const ce=(0,t.useCallback)(e=>{m(t=>({...t,[e]:!t[e]}))},[]);if(!u)return null;if(!f||!p)return(0,Hg.jsx)("div",{style:Dv,children:(0,Hg.jsxs)("div",{style:Lv,children:[(0,Hg.jsxs)("div",{style:Rv,children:[(0,Hg.jsx)("span",{children:"SETTINGS"}),(0,Hg.jsx)("button",{onClick:h,style:zv,children:"\u2715"})]}),(0,Hg.jsx)("div",{style:{padding:20,color:kv,fontSize:11},children:"Loading config..."})]})});const{addTicker:de,removeTicker:ue,toggleTicker:he,reorderTickers:pe,updateConfig:fe,saveProfile:ge,loadProfile:me,deleteProfile:ye,togglePanel:ve,toggleChartLayer:xe,setDefaultTimeframe:be,setChartHeight:we}=p,Se=async()=>{const e=b.trim().toUpperCase();e&&(C("addTicker"),await de(e,{class:S,decimals:"FX"===S?5:2}),w(""),C(null))},je=async()=>{const e=k.trim();e&&(C("saveProfile"),await ge(e),_(""),C(null))},ke=f.allTickers||[],_e=new Set(f.hiddenTickers||[]),Ee=new Set(f.quantSupported||[]),Ce=f.quantDataTypes||{},Te=f.assetMeta||{},Me=f.display||{},Oe=Me.visiblePanels||{},Ae=Me.chartLayers||{},Pe=f.profiles||{},Ie=(null===(n=f._raw)||void 0===n?void 0:n.execution)||{},De=f.timeframes||["M1","M5","M15","M30","H1","H4","D1","W1"];return(0,Hg.jsx)("div",{style:Dv,onClick:h,children:(0,Hg.jsxs)("div",{style:Lv,onClick:e=>e.stopPropagation(),children:[(0,Hg.jsxs)("div",{style:Rv,children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,Hg.jsx)("div",{style:{width:4,height:14,background:_v}}),(0,Hg.jsx)("span",{style:{fontWeight:800,fontSize:12,letterSpacing:"2px",color:_v},children:"SETTINGS"})]}),(0,Hg.jsx)("button",{onClick:h,style:zv,children:"\u2715"})]}),(0,Hg.jsxs)("div",{style:{flex:1,overflowY:"auto",overflowX:"hidden"},children:[(0,Hg.jsx)(Pv,{title:"UNIVERSE",count:ke.length,expanded:g.universe,onToggle:()=>ce("universe")}),g.universe&&(0,Hg.jsxs)("div",{style:Nv,children:[(0,Hg.jsxs)("div",{style:{display:"flex",gap:4,marginBottom:8},children:[(0,Hg.jsx)("input",{value:b,onChange:e=>w(e.target.value.toUpperCase()),onKeyDown:e=>"Enter"===e.key&&Se(),placeholder:"BTCUSD",style:Wv}),(0,Hg.jsxs)("select",{value:S,onChange:e=>j(e.target.value),style:{...Wv,width:70,cursor:"pointer"},children:[(0,Hg.jsx)("option",{value:"FX",children:"FX"}),(0,Hg.jsx)("option",{value:"INDEX",children:"INDEX"}),(0,Hg.jsx)("option",{value:"COMMODITY",children:"CMDTY"}),(0,Hg.jsx)("option",{value:"CRYPTO",children:"CRYPTO"}),(0,Hg.jsx)("option",{value:"STOCK",children:"STOCK"})]}),(0,Hg.jsx)("button",{onClick:Se,disabled:"addTicker"===E,style:Bv,children:"addTicker"===E?"...":"+ ADD"})]}),ke.map(e=>{var t;const n=Te[e]||{},r=_e.has(e),i="FX"===n.class?Tv:"INDEX"===n.class?Mv:"COMMODITY"===n.class?_v:jv,o=Ee.has(e),l=Ce[e]||[],s=1===l.length&&"quarterly_cones"===l[0],a=s?"#9b59b6":o?Ev:kv,c=s?"0 0 6px #9b59b6, 0 0 2px #9b59b6":o?`0 0 6px ${Ev}, 0 0 2px ${Ev}`:"none",d=s?"Quarterly cones only \u2014 long-horizon data":o?"Quant data available":"No quant data \u2014 display only",u=n.broker_symbol||"",h=e in T;return(0,Hg.jsxs)("div",{style:{display:"flex",flexDirection:"column",padding:"4px 6px",marginBottom:1,background:r?"transparent":`${xv}80`,borderLeft:`2px solid ${r?kv:i}`,opacity:r?.4:1},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,Hg.jsx)("span",{title:d,style:{width:8,height:8,borderRadius:"50%",flexShrink:0,background:a,boxShadow:c,border:o||s?"none":`1px solid ${wv}`}}),(0,Hg.jsx)("span",{style:{flex:1,fontSize:10,fontWeight:700,color:r?kv:Sv,fontFamily:Ov},children:e}),(0,Hg.jsx)("span",{style:{fontSize:7,color:i,fontWeight:700,letterSpacing:"1px",width:42},children:n.class||"OTHER"}),(0,Hg.jsxs)("span",{style:{fontSize:8,color:kv,width:18,textAlign:"center"},children:[".",null!==(t=n.decimals)&&void 0!==t?t:"?"]}),u&&!h&&(0,Hg.jsxs)("span",{title:"Saved broker symbol (MT5 wiring pending \u2014 restart not yet effective)",style:{fontSize:8,fontWeight:700,color:Tv,fontFamily:Ov,letterSpacing:"0.5px",padding:"1px 4px",border:`1px solid ${Tv}40`,background:`${Tv}10`},children:["\u2192 ",u]}),(0,Hg.jsx)("button",{onClick:()=>M(t=>h?(()=>{const n={...t};return delete n[e],n})():{...t,[e]:u}),title:u?`Broker symbol saved: ${u} (click to edit)`:"Map to broker symbol",style:{...Uv,color:u?Tv:kv},children:"\ud83d\udd17"}),(0,Hg.jsx)("button",{onClick:()=>(async e=>{C(`toggle_${e}`),await he(e),C(null)})(e),title:r?"Show":"Hide",style:{...Uv,color:r?kv:Ev},children:r?"\u25cb":"\u25cf"}),(0,Hg.jsx)("button",{onClick:()=>(async e=>{window.confirm(`Remove ${e} from universe?`)&&(C(`remove_${e}`),await ue(e),C(null))})(e),title:"Remove from universe",style:{...Uv,color:Cv},children:"\u2715"})]}),h&&(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,marginTop:4,paddingLeft:14},children:[(0,Hg.jsx)("span",{style:{fontSize:7,color:kv,letterSpacing:"1px"},children:"BROKER"}),(0,Hg.jsx)("input",{autoFocus:!0,value:T[e],onChange:t=>M(n=>({...n,[e]:t.target.value})),onKeyDown:t=>{"Enter"===t.key&&O(e)},placeholder:"e.g. "+("XAUUSD"===e?"GOLD.v":e.toLowerCase()+"_s"),style:{...Wv,flex:1,fontSize:9}}),(0,Hg.jsx)("button",{onClick:()=>O(e),disabled:E===`broker_${e}`,style:{...Uv,color:Ev},title:"Save (restart terminal to apply)",children:"\u2713"})]})]},e)}),(0,Hg.jsxs)("div",{style:{fontSize:8,color:kv,marginTop:6,padding:"0 4px"},children:[ke.length," tickers \u2022 ",_e.size," hidden"]})]}),(0,Hg.jsx)(Pv,{title:"DISPLAY",expanded:g.display,onToggle:()=>ce("display")}),g.display&&(0,Hg.jsxs)("div",{style:Nv,children:[(0,Hg.jsxs)("div",{style:Fv,children:[(0,Hg.jsx)("span",{style:$v,children:"THEME"}),(0,Hg.jsx)("div",{style:{display:"flex",gap:3},children:["dark","light"].map(e=>{var t,n;const r=((null===(t=f._raw)||void 0===t||null===(n=t.display)||void 0===n?void 0:n.theme)||"dark")===e;return(0,Hg.jsx)("button",{onClick:()=>fe({display:{theme:e}}),style:{...Uv,background:r?`${_v}30`:"transparent",border:`1px solid ${r?_v:bv}`,color:r?_v:kv,padding:"2px 8px",fontSize:8,fontWeight:700},children:"dark"===e?"\ud83c\udf19 DARK":"\u2600 LIGHT"},e)})})]}),(0,Hg.jsxs)("div",{style:Fv,children:[(0,Hg.jsx)("span",{style:$v,children:"DEFAULT TIMEFRAME"}),(0,Hg.jsx)("div",{style:{display:"flex",gap:2},children:De.map(e=>(0,Hg.jsx)("button",{onClick:()=>be(e),style:{...Uv,background:Me.defaultTimeframe===e?`${_v}30`:"transparent",border:`1px solid ${Me.defaultTimeframe===e?_v:bv}`,color:Me.defaultTimeframe===e?_v:kv,padding:"2px 4px",fontSize:7},children:e},e))})]}),(0,Hg.jsxs)("div",{style:Fv,children:[(0,Hg.jsx)("span",{style:$v,children:"CHART HEIGHT"}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,Hg.jsx)("input",{type:"range",min:150,max:800,step:10,value:Me.chartHeight||420,onChange:e=>we(parseInt(e.target.value)),style:{width:100,accentColor:_v}}),(0,Hg.jsxs)("span",{style:{fontSize:9,color:Sv,width:35,textAlign:"right",fontFamily:Ov},children:[Me.chartHeight||420,"px"]})]})]}),(0,Hg.jsxs)("div",{style:{marginTop:8,marginBottom:4},children:[(0,Hg.jsx)("span",{style:{...$v,display:"block",marginBottom:4},children:"CHART LAYERS"}),Object.entries(Ae).map(e=>{let[t,n]=e;return(0,Hg.jsx)(Iv,{label:t.replace(/_/g," ").toUpperCase(),enabled:n,onToggle:()=>xe(t)},t)})]}),(0,Hg.jsxs)("div",{style:{marginTop:8,marginBottom:4},children:[(0,Hg.jsx)("span",{style:{...$v,display:"block",marginBottom:4},children:"PANELS"}),Object.entries(Oe).map(e=>{let[t,n]=e;return(0,Hg.jsx)(Iv,{label:t.replace(/_/g," ").toUpperCase(),enabled:n,onToggle:()=>ve(t)},t)})]})]}),(0,Hg.jsx)(Pv,{title:"SOUNDS",expanded:g.sounds,onToggle:()=>ce("sounds")}),g.sounds&&(0,Hg.jsxs)("div",{style:Nv,children:[(0,Hg.jsxs)("div",{style:{padding:"8px 10px",marginBottom:10,background:y?`${Ev}12`:`${kv}10`,border:`1px solid ${y?Ev:kv}40`,display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,Hg.jsxs)("div",{children:[(0,Hg.jsx)("div",{style:{fontSize:11,fontWeight:800,letterSpacing:"1.5px",color:y?Ev:kv},children:y?"\u25cf SOUND ON":"\u25cb SOUND OFF"}),(0,Hg.jsx)("div",{style:{fontSize:8,color:kv,marginTop:2},children:"Master switch. Off mutes every event below."})]}),(0,Hg.jsx)("button",{onClick:()=>{const e=!y;!function(e){try{localStorage.setItem(Fm,e?"true":"false")}catch{}}(e),v(e),e&&Hm("connected")},style:{background:y?Ev:"transparent",border:`1px solid ${y?Ev:kv}80`,color:y?mv:kv,padding:"5px 14px",fontSize:10,fontWeight:800,fontFamily:Ov,letterSpacing:"1.5px",cursor:"pointer",minWidth:56},children:y?"ON":"OFF"})]}),(0,Hg.jsxs)("div",{style:{padding:"6px 8px",background:vv,border:`1px solid ${bv}`,fontSize:9,color:jv,lineHeight:1.6},children:[(0,Hg.jsx)("div",{style:{fontSize:8,color:kv,letterSpacing:"1.5px",fontWeight:700,marginBottom:6,textTransform:"uppercase"},children:"Wired Events"}),[["MT5 connected","connected.wav"],["MT5 disconnected","disconnected.wav"],["Market order executed","order_filled.wav"],["Limit order placed","order_placed.wav"],["Limit order triggered","order_filled.wav"],["TP / SL placed or adjusted","order_placed.wav"],["TP hit","target_hit.wav"],["SL hit","stoploss_hit.wav"]].map((e,t)=>{let[n,r]=e;const i=Object.values($m).some(e=>e.endsWith("/"+r));return(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"3px 0",borderBottom:t<7?`1px solid ${bv}40`:"none"},children:[(0,Hg.jsx)("span",{style:{flex:1},children:n}),(0,Hg.jsx)("span",{style:{color:i?Tv:Cv,fontFamily:Ov,fontSize:8},children:r}),(0,Hg.jsx)("button",{onClick:()=>{Hm({"MT5 connected":"connected","MT5 disconnected":"disconnected","Market order executed":"order_filled","Limit order placed":"order_placed","Limit order triggered":"order_filled","TP / SL placed or adjusted":"order_placed","TP hit":"target_hit","SL hit":"stoploss_hit"}[n])},title:"Preview",style:{background:"transparent",border:`1px solid ${bv}`,color:jv,padding:"1px 6px",fontSize:7,fontFamily:Ov,cursor:"pointer",fontWeight:700,letterSpacing:"0.5px"},children:"\u25b6 TEST"})]},t)})]}),(0,Hg.jsx)("div",{style:{marginTop:8,fontSize:8,color:kv,lineHeight:1.5},children:'Note: limit-trigger / TP / SL hit events fire from the broker side; these will sound once the position-event watcher (planned next) detects them in the position diff. Today, "TP hit" / "SL hit" / "Limit triggered" are not yet triggered automatically \u2014 only the placement / adjustment sounds play immediately on submit.'})]}),(0,Hg.jsx)(Pv,{title:"TRADING",expanded:g.trading,onToggle:()=>ce("trading")}),g.trading&&(0,Hg.jsxs)("div",{style:Nv,children:[(0,Hg.jsx)("div",{style:{padding:"6px 8px",marginBottom:8,background:Ie.live_trading?`${Cv}15`:`${kv}08`,border:`1px solid ${Ie.live_trading?Cv:kv}40`},children:(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,Hg.jsxs)("div",{children:[(0,Hg.jsx)("span",{style:{fontSize:10,fontWeight:800,color:Ie.live_trading?Cv:kv,fontFamily:Ov},children:"LIVE TRADING"}),(0,Hg.jsx)("div",{style:{fontSize:7,color:kv,marginTop:2},children:Ie.live_trading?"\u26a0 ORDERS WILL BE SENT TO BROKER":"Orders are blocked \u2014 safe mode"})]}),(0,Hg.jsx)("button",{onClick:()=>{(Ie.live_trading||window.confirm("Enable LIVE TRADING?\n\nThis allows the terminal to send real orders to your broker. Make sure you understand the risks."))&&fe({execution:{live_trading:!Ie.live_trading}})},style:{width:38,height:18,borderRadius:9,border:"none",cursor:"pointer",background:Ie.live_trading?Cv:kv,position:"relative",transition:"background 0.2s"},children:(0,Hg.jsx)("div",{style:{width:14,height:14,borderRadius:7,background:Sv,position:"absolute",top:2,left:Ie.live_trading?22:2,transition:"left 0.2s"}})})]})}),(0,Hg.jsx)(Iv,{label:"SHOW CURRENT POSITIONS",enabled:Ie.show_positions||!1,onToggle:()=>fe({execution:{show_positions:!Ie.show_positions}})}),(0,Hg.jsx)("div",{style:{fontSize:7,color:kv,padding:"0 4px 4px",marginTop:-2},children:"Display open positions from broker (even if placed on another platform)"}),(0,Hg.jsx)(Iv,{label:"SHOW TRADE HISTORY",enabled:Ie.show_trade_history||!1,onToggle:()=>fe({execution:{show_trade_history:!Ie.show_trade_history}})}),(0,Hg.jsx)("div",{style:{fontSize:7,color:kv,padding:"0 4px 4px",marginTop:-2},children:"Show previous closed trades on chart"}),(0,Hg.jsx)(Iv,{label:"CONFIRM BEFORE SENDING",enabled:!1!==Ie.confirm_orders,onToggle:()=>fe({execution:{confirm_orders:!Ie.confirm_orders}})}),(0,Hg.jsxs)("div",{style:{marginTop:8},children:[(0,Hg.jsxs)("div",{style:Fv,children:[(0,Hg.jsx)("span",{style:$v,children:"DEFAULT RISK %"}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,Hg.jsx)("input",{type:"number",min:.1,max:5,step:.1,value:Ie.default_risk_pct||1,onChange:e=>fe({execution:{default_risk_pct:parseFloat(e.target.value)||1}}),style:{...Wv,width:50,textAlign:"right"}}),(0,Hg.jsx)("span",{style:{fontSize:8,color:kv},children:"%"})]})]}),(0,Hg.jsxs)("div",{style:Fv,children:[(0,Hg.jsx)("span",{style:$v,children:"MAX LOT SIZE"}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,Hg.jsx)("input",{type:"number",min:.01,max:100,step:.1,value:Ie.max_lots||10,onChange:e=>fe({execution:{max_lots:parseFloat(e.target.value)||10}}),style:{...Wv,width:50,textAlign:"right"}}),(0,Hg.jsx)("span",{style:{fontSize:8,color:kv},children:"lots"})]})]})]}),A?(0,Hg.jsxs)("div",{style:{marginTop:8},children:[(0,Hg.jsx)("div",{style:{fontSize:8,fontWeight:700,color:_v,letterSpacing:"1.5px",padding:"6px 4px 4px",borderTop:`1px solid ${bv}`},children:"ACCOUNT"}),(0,Hg.jsxs)("div",{style:Fv,children:[(0,Hg.jsx)("span",{style:$v,children:"ACCOUNT SIZE"}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,Hg.jsx)("span",{style:{fontSize:8,color:kv},children:"$"}),(0,Hg.jsx)("input",{type:"number",min:100,step:100,value:A.account_size||1e5,onBlur:e=>D("account_size",parseFloat(e.target.value)||1e5),onChange:e=>P(t=>({...t,account_size:parseFloat(e.target.value)})),style:{...Wv,width:80,textAlign:"right"}})]})]}),(0,Hg.jsx)("div",{style:{fontSize:7,color:kv,padding:"0 4px 4px",marginTop:-2},children:"Initial funded balance \u2014 used for drawdown % calculations"}),(0,Hg.jsx)("div",{style:{fontSize:8,fontWeight:700,color:_v,letterSpacing:"1.5px",padding:"8px 4px 4px",borderTop:`1px solid ${bv}`},children:"CIRCUIT BREAKERS"}),(0,Hg.jsxs)("div",{style:Fv,children:[(0,Hg.jsx)("span",{style:$v,children:"MAX DAILY LOSS"}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,Hg.jsx)("input",{type:"number",min:0,max:50,step:.5,value:null!==(r=A.max_daily_loss_pct)&&void 0!==r?r:2,onBlur:e=>D("max_daily_loss_pct",parseFloat(e.target.value)||0),onChange:e=>P(t=>({...t,max_daily_loss_pct:parseFloat(e.target.value)})),style:{...Wv,width:50,textAlign:"right"}}),(0,Hg.jsx)("span",{style:{fontSize:8,color:kv},children:"%"})]})]}),(0,Hg.jsxs)("div",{style:Fv,children:[(0,Hg.jsx)("span",{style:$v,children:"MAX TOTAL DRAWDOWN"}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,Hg.jsx)("input",{type:"number",min:0,max:50,step:1,value:null!==(i=A.max_total_drawdown_pct)&&void 0!==i?i:10,onBlur:e=>D("max_total_drawdown_pct",parseFloat(e.target.value)||0),onChange:e=>P(t=>({...t,max_total_drawdown_pct:parseFloat(e.target.value)})),style:{...Wv,width:50,textAlign:"right"}}),(0,Hg.jsx)("span",{style:{fontSize:8,color:kv},children:"%"})]})]}),(0,Hg.jsxs)("div",{style:Fv,children:[(0,Hg.jsx)("span",{style:$v,children:"MAX TRAILING DRAWDOWN"}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,Hg.jsx)("input",{type:"number",min:0,max:50,step:1,value:null!==(o=A.max_trailing_drawdown_pct)&&void 0!==o?o:0,onBlur:e=>D("max_trailing_drawdown_pct",parseFloat(e.target.value)||0),onChange:e=>P(t=>({...t,max_trailing_drawdown_pct:parseFloat(e.target.value)})),style:{...Wv,width:50,textAlign:"right"}}),(0,Hg.jsx)("span",{style:{fontSize:8,color:kv},children:"%"})]})]}),(0,Hg.jsx)("div",{style:{fontSize:7,color:kv,padding:"0 4px 2px",marginTop:-2},children:"0 = disabled. Halts if equity drops this % from peak."}),(0,Hg.jsx)("div",{style:{fontSize:8,fontWeight:700,color:_v,letterSpacing:"1.5px",padding:"8px 4px 4px",borderTop:`1px solid ${bv}`},children:"POSITION LIMITS"}),(0,Hg.jsxs)("div",{style:Fv,children:[(0,Hg.jsx)("span",{style:$v,children:"MAX OPEN POSITIONS"}),(0,Hg.jsx)("input",{type:"number",min:1,max:20,step:1,value:null!==(l=A.max_open_positions)&&void 0!==l?l:4,onBlur:e=>D("max_open_positions",parseInt(e.target.value)||4),onChange:e=>P(t=>({...t,max_open_positions:parseInt(e.target.value)})),style:{...Wv,width:40,textAlign:"right"}})]}),(0,Hg.jsxs)("div",{style:Fv,children:[(0,Hg.jsx)("span",{style:$v,children:"MAX CORRELATED"}),(0,Hg.jsx)("input",{type:"number",min:1,max:10,step:1,value:null!==(s=A.max_correlated_positions)&&void 0!==s?s:2,onBlur:e=>D("max_correlated_positions",parseInt(e.target.value)||2),onChange:e=>P(t=>({...t,max_correlated_positions:parseInt(e.target.value)})),style:{...Wv,width:40,textAlign:"right"}})]}),(0,Hg.jsx)("div",{style:{fontSize:7,color:kv,padding:"0 4px 2px",marginTop:-2},children:"Same-direction limit for correlated assets (e.g. gold+silver)"}),(0,Hg.jsxs)("div",{style:Fv,children:[(0,Hg.jsx)("span",{style:$v,children:"RISK PER TRADE"}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,Hg.jsx)("input",{type:"number",min:.1,max:5,step:.1,value:null!==(a=A.risk_per_trade_pct)&&void 0!==a?a:.5,onBlur:e=>D("risk_per_trade_pct",parseFloat(e.target.value)||.5),onChange:e=>P(t=>({...t,risk_per_trade_pct:parseFloat(e.target.value)})),style:{...Wv,width:50,textAlign:"right"}}),(0,Hg.jsx)("span",{style:{fontSize:8,color:kv},children:"%"})]})]}),(0,Hg.jsxs)("div",{style:{marginTop:8,paddingTop:6,borderTop:`1px solid ${bv}`},children:[(0,Hg.jsx)("button",{onClick:async()=>{try{(await fetch("/api/account/sync",{method:"POST"})).ok&&I()}catch{}},style:{background:`${Tv}15`,border:`1px solid ${Tv}40`,color:Tv,padding:"4px 10px",cursor:"pointer",fontFamily:Ov,fontSize:8,fontWeight:700,letterSpacing:"0.5px",width:"100%"},children:"\u21bb SYNC FROM MT5"}),(0,Hg.jsx)("div",{style:{fontSize:7,color:kv,padding:"2px 4px",textAlign:"center"},children:"Pull live equity from broker"}),(0,Hg.jsx)("button",{onClick:async()=>{if(window.confirm(`RESET BASELINE?\n\nThis will:\n\u2022 Set initial balance to $${(A.account_size||0).toLocaleString()}\n\u2022 Clear ALL circuit breaker halts\n\u2022 Reset daily/weekly P&L tracking\n\nUse this after changing account size or starting fresh.`))try{(await fetch("/api/account/reset-baseline",{method:"POST"})).ok&&I()}catch{}},style:{background:`${_v}15`,border:`1px solid ${_v}40`,color:_v,padding:"4px 10px",cursor:"pointer",fontFamily:Ov,fontSize:8,fontWeight:700,letterSpacing:"0.5px",width:"100%",marginTop:4},children:"\u27f2 RESET BASELINE"}),(0,Hg.jsx)("div",{style:{fontSize:7,color:kv,padding:"2px 4px",textAlign:"center"},children:"Reset initial balance + clear circuit breakers"})]})]}):g.trading&&(0,Hg.jsx)("div",{style:{padding:"8px 4px",fontSize:8,color:kv},children:"Loading account settings..."})]}),(0,Hg.jsx)(Pv,{title:"PROVIDERS",expanded:g.providers,onToggle:()=>ce("providers")}),g.providers&&(0,Hg.jsxs)("div",{style:Nv,children:[(0,Hg.jsxs)("div",{style:{padding:"8px 10px",marginBottom:10,background:null!==J&&void 0!==J&&J.connected?`${Ev}12`:`${Cv}08`,border:`1px solid ${null!==J&&void 0!==J&&J.connected?Ev:Cv}40`,display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,Hg.jsxs)("div",{children:[(0,Hg.jsxs)("div",{style:{fontSize:10,fontWeight:800,color:null!==J&&void 0!==J&&J.connected?Ev:Cv,fontFamily:Ov},children:["MT5 ",null!==J&&void 0!==J&&J.connected?"\u25cf CONNECTED":"\u25cb NOT CONNECTED"]}),(null===J||void 0===J?void 0:J.connected)&&(null===J||void 0===J?void 0:J.account)&&(0,Hg.jsxs)("div",{style:{fontSize:8,color:kv,marginTop:2,fontFamily:Ov},children:["Account: ",J.account.login||"\u2014"," \xb7 ",J.account.server||"\u2014",null!=J.account.balance&&` \xb7 $${J.account.balance.toLocaleString()}`]})]}),(0,Hg.jsx)("button",{onClick:null!==J&&void 0!==J&&J.connected?se:le,disabled:Z,style:{background:null!==J&&void 0!==J&&J.connected?`${Cv}20`:`${Ev}20`,border:`1px solid ${null!==J&&void 0!==J&&J.connected?Cv:Ev}50`,color:null!==J&&void 0!==J&&J.connected?Cv:Ev,padding:"3px 10px",cursor:Z?"default":"pointer",fontFamily:Ov,fontSize:8,fontWeight:800,letterSpacing:"0.5px",opacity:Z?.5:1},children:Z?"...":null!==J&&void 0!==J&&J.connected?"DISCONNECT":"CONNECT"})]}),te&&(0,Hg.jsx)("div",{style:{padding:"5px 8px",marginBottom:8,background:`${Cv}12`,border:`1px solid ${Cv}40`,fontSize:8,color:Cv,fontFamily:Ov},children:te}),(0,Hg.jsx)("div",{style:{fontSize:8,fontWeight:700,color:_v,letterSpacing:"1.5px",padding:"4px 4px 6px"},children:"CONNECTION METHOD"}),(0,Hg.jsx)("div",{style:{display:"flex",gap:3,marginBottom:8},children:["path","credentials"].map(e=>{const t=((null===q||void 0===q?void 0:q.connection_method)||"path")===e;return(0,Hg.jsx)("button",{onClick:()=>oe({connection_method:e}),style:{flex:1,padding:"4px 8px",cursor:"pointer",background:t?`${_v}25`:"transparent",border:`1px solid ${t?_v:bv}`,color:t?_v:kv,fontSize:8,fontWeight:700,fontFamily:Ov,letterSpacing:"0.5px"},children:"path"===e?"TERMINAL PATH":"LOGIN CREDENTIALS"},e)})}),"path"===((null===q||void 0===q?void 0:q.connection_method)||"path")&&(0,Hg.jsxs)("div",{style:{marginBottom:8},children:[(0,Hg.jsx)("div",{style:Fv,children:(0,Hg.jsx)("span",{style:$v,children:"MT5 TERMINAL PATH"})}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:4},children:[(0,Hg.jsx)("input",{type:"text",value:(null===q||void 0===q?void 0:q.terminal_path)||"",onChange:e=>X(t=>({...t,terminal_path:e.target.value})),onBlur:e=>oe({terminal_path:e.target.value}),placeholder:"C:\\Program Files\\MetaTrader 5\\terminal64.exe",style:{...Wv,flex:1,fontSize:9,padding:"5px 8px"}}),(0,Hg.jsx)("button",{onClick:async()=>{try{const e=await fetch("/api/mt5/browse-terminal",{method:"POST"});if(!e.ok)return void ne(`Browse failed: HTTP ${e.status}`);const t=await e.json();if(t.cancelled)return;t.path&&(X(e=>({...e,terminal_path:t.path})),oe({terminal_path:t.path}),ne(null))}catch(sd){ne(`Browse error: ${sd.message}`)}},title:"Open file picker to select terminal64.exe",style:{background:`${_v}15`,border:`1px solid ${_v}50`,color:_v,fontFamily:Ov,fontSize:9,fontWeight:800,letterSpacing:"1px",padding:"5px 10px",cursor:"pointer",whiteSpace:"nowrap"},children:"\ud83d\udcc1 BROWSE"})]}),(0,Hg.jsx)("div",{style:{fontSize:7,color:kv,padding:"3px 4px"},children:"Click BROWSE to pick terminal64.exe. Leave blank to auto-detect the default install."})]}),"credentials"===(null===q||void 0===q?void 0:q.connection_method)&&(0,Hg.jsxs)("div",{style:{marginBottom:8},children:[(0,Hg.jsx)("div",{style:Fv,children:(0,Hg.jsx)("span",{style:$v,children:"SERVER"})}),(0,Hg.jsx)("input",{type:"text",value:(null===q||void 0===q?void 0:q.server)||"",onChange:e=>X(t=>({...t,server:e.target.value})),onBlur:e=>oe({server:e.target.value}),placeholder:"Tickmill-Live",style:{...Wv,width:"100%",fontSize:9,padding:"5px 8px",marginBottom:6}}),(0,Hg.jsx)("div",{style:Fv,children:(0,Hg.jsx)("span",{style:$v,children:"LOGIN"})}),(0,Hg.jsx)("input",{type:"text",value:(null===q||void 0===q?void 0:q.login)||"",onChange:e=>X(t=>({...t,login:e.target.value})),onBlur:e=>oe({login:e.target.value}),placeholder:"12345678",style:{...Wv,width:"100%",fontSize:9,padding:"5px 8px",marginBottom:6}}),(0,Hg.jsx)("div",{style:Fv,children:(0,Hg.jsx)("span",{style:$v,children:"PASSWORD"})}),(0,Hg.jsx)("input",{type:"password",value:(null===q||void 0===q?void 0:q.password)||"",onChange:e=>X(t=>({...t,password:e.target.value})),onBlur:e=>oe({password:e.target.value}),placeholder:"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022",style:{...Wv,width:"100%",fontSize:9,padding:"5px 8px"}}),(0,Hg.jsx)("div",{style:{fontSize:7,color:kv,padding:"3px 4px"},children:"Credentials are stored locally in consumer_config \u2014 never sent to our server"})]}),(0,Hg.jsx)("button",{onClick:le,disabled:Z,style:{background:`${Ev}15`,border:`1px solid ${Ev}40`,color:Ev,padding:"5px 10px",cursor:Z?"default":"pointer",fontFamily:Ov,fontSize:9,fontWeight:800,letterSpacing:"0.5px",width:"100%",marginBottom:4,opacity:Z?.5:1},children:Z?"CONNECTING...":null!==J&&void 0!==J&&J.connected?"\u21bb RECONNECT":"CONNECT TO MT5"}),(0,Hg.jsx)("div",{style:{borderTop:`1px solid ${bv}`,margin:"10px 0"}}),(0,Hg.jsx)("div",{style:{fontSize:8,fontWeight:700,color:_v,letterSpacing:"1.5px",padding:"0 4px 6px"},children:"LIVE FEED"}),(0,Hg.jsx)(Iv,{label:"USE TICK DATA",enabled:!!q.use_tick_data,onToggle:()=>oe({use_tick_data:!q.use_tick_data})}),(0,Hg.jsx)("div",{style:{fontSize:7,color:kv,padding:"2px 4px 8px"},children:"Polls MT5 5\xd7/sec instead of 1\xd7/sec \u2014 MT5-style live tick movement on the chart's last candle. Turn off if you experience CPU/network load."}),(0,Hg.jsx)("div",{style:{borderTop:`1px solid ${bv}`,margin:"10px 0"}}),(0,Hg.jsx)("div",{style:{fontSize:8,fontWeight:700,color:_v,letterSpacing:"1.5px",padding:"0 4px 6px"},children:"NO BROKER ACCOUNT?"}),(0,Hg.jsx)("button",{onClick:()=>{window.open("https://secure.tickmill.com?utm_campaign=ib_link&utm_content=IB25337543&utm_medium=Open+Account&utm_source=link&lp=https%3a%2f%2fsecure.tickmill.com%2fen%2fsign-up","_blank")},style:{background:`${Tv}15`,border:`1px solid ${Tv}50`,color:Tv,padding:"8px 10px",cursor:"pointer",fontFamily:Ov,fontSize:9,fontWeight:800,letterSpacing:"0.5px",width:"100%",textAlign:"center"},children:"OPEN FREE DEMO ACCOUNT"}),(0,Hg.jsx)("div",{style:{fontSize:7,color:kv,padding:"3px 4px",textAlign:"center"},children:"Opens Tickmill \u2014 create a free demo account to connect MT5"})]}),(0,Hg.jsx)(Pv,{title:"PROFILES",expanded:g.profiles,onToggle:()=>ce("profiles")}),g.profiles&&(0,Hg.jsxs)("div",{style:Nv,children:[(0,Hg.jsxs)("div",{style:{display:"flex",gap:4,marginBottom:8},children:[(0,Hg.jsx)("input",{value:k,onChange:e=>_(e.target.value),onKeyDown:e=>"Enter"===e.key&&je(),placeholder:"Profile name",style:{...Wv,flex:1}}),(0,Hg.jsx)("button",{onClick:je,disabled:"saveProfile"===E,style:Bv,children:"saveProfile"===E?"...":"SAVE"})]}),0===Object.keys(Pe).length?(0,Hg.jsx)("div",{style:{fontSize:9,color:kv,padding:"4px 0"},children:"No saved profiles yet"}):Object.entries(Pe).map(e=>{let[t,n]=e;return(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"5px 8px",marginBottom:2,background:yv,border:`1px solid ${bv}`},children:[(0,Hg.jsx)("span",{style:{flex:1,fontSize:10,fontWeight:700,color:Sv,fontFamily:Ov},children:t}),n.saved_at&&(0,Hg.jsx)("span",{style:{fontSize:7,color:kv},children:new Date(n.saved_at).toLocaleDateString()}),(0,Hg.jsx)("button",{onClick:()=>(async e=>{window.confirm(`Overwrite profile "${e}" with the current workspace state?`)&&(C(`save_${e}`),await ge(e),C(null))})(t),disabled:E===`save_${t}`,title:"Overwrite this profile with current workspace",style:{...Uv,color:Tv},children:E===`save_${t}`?"...":"SAVE"}),(0,Hg.jsx)("button",{onClick:()=>(async e=>{window.confirm(`Load profile "${e}"? This will replace your current settings.`)&&(C(`load_${e}`),await me(e),C(null))})(t),style:{...Uv,color:Ev},children:"LOAD"}),(0,Hg.jsx)("button",{onClick:()=>(async e=>{window.confirm(`Delete profile "${e}"?`)&&(C(`del_${e}`),await ye(e),C(null))})(t),style:{...Uv,color:Cv},children:"DEL"})]},t)})]}),(0,Hg.jsx)(Pv,{title:"TIME",expanded:g.time,onToggle:()=>ce("time")}),g.time&&(e=>{const t=(null===(e=f._raw)||void 0===e?void 0:e.time)||{...fv},n=t.mainTime||"local",r=t.mainTimeOffset||0,i=!1!==t.showWorldClock,o=t.worldClocks||fv.worldClocks,l=e=>fe({time:{...t,...e}}),s=(e,t)=>{const n=o.map((n,r)=>r===e?{...n,...t}:n);l({worldClocks:n})};return(0,Hg.jsxs)("div",{style:Nv,children:[(0,Hg.jsxs)("div",{style:{marginBottom:12},children:[(0,Hg.jsx)("div",{style:{fontSize:9,fontWeight:700,color:_v,fontFamily:Ov,letterSpacing:"1px",marginBottom:6},children:"MAIN CLOCK (HEADER)"}),(0,Hg.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:3},children:[dv.filter(e=>"manual"!==e.key).map(e=>(0,Hg.jsx)("button",{onClick:()=>l({mainTime:e.key}),style:{background:n===e.key?`${_v}20`:"transparent",color:n===e.key?_v:kv,border:`1px solid ${n===e.key?_v+"50":bv}`,padding:"2px 6px",cursor:"pointer",fontSize:"7px",fontWeight:700,fontFamily:Ov},children:e.label},e.key)),(0,Hg.jsx)("button",{onClick:()=>l({mainTime:"manual"}),style:{background:"manual"===n?`${_v}20`:"transparent",color:"manual"===n?_v:kv,border:`1px solid ${"manual"===n?_v+"50":bv}`,padding:"2px 6px",cursor:"pointer",fontSize:"7px",fontWeight:700,fontFamily:Ov},children:"MANUAL"})]}),"manual"===n&&(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginTop:6},children:[(0,Hg.jsx)("span",{style:{fontSize:8,color:kv,fontFamily:Ov},children:"GMT OFFSET"}),(0,Hg.jsx)("input",{type:"number",min:-12,max:14,step:.5,value:r,onChange:e=>l({mainTimeOffset:parseFloat(e.target.value)||0}),style:{width:50,background:yv,border:`1px solid ${bv}`,color:Sv,fontSize:9,fontFamily:Ov,textAlign:"center",padding:"2px 4px"}}),(0,Hg.jsx)("span",{style:{fontSize:7,color:kv,fontFamily:Ov},children:"hours"})]})]}),(0,Hg.jsx)("div",{style:{height:1,background:bv,margin:"8px 0"}}),(0,Hg.jsxs)("div",{style:{marginBottom:8},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:6},children:[(0,Hg.jsx)("span",{style:{fontSize:9,fontWeight:700,color:_v,fontFamily:Ov,letterSpacing:"1px"},children:"WORLD CLOCK"}),(0,Hg.jsx)(Iv,{label:"",enabled:i,onToggle:()=>l({showWorldClock:!i})})]}),(0,Hg.jsx)("div",{style:{fontSize:7,color:kv,fontFamily:Ov,marginBottom:8},children:"4 slots \xb7 orange = in session \xb7 gray = out of session"}),o.map((e,t)=>(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:5,opacity:e.enabled?1:.4},children:[(0,Hg.jsx)("button",{onClick:()=>s(t,{enabled:!e.enabled}),style:{width:14,height:14,borderRadius:2,border:`1px solid ${e.enabled?_v:bv}`,background:e.enabled?`${_v}30`:"transparent",cursor:"pointer",padding:0,flexShrink:0,color:e.enabled?_v:kv,fontSize:8,display:"flex",alignItems:"center",justifyContent:"center"},children:e.enabled?"\u2713":""}),(0,Hg.jsx)("span",{style:{fontSize:8,color:kv,fontFamily:Ov,width:16,textAlign:"center"},children:t+1}),(0,Hg.jsx)("select",{value:e.city,onChange:e=>s(t,{city:e.target.value}),style:{flex:1,background:yv,border:`1px solid ${bv}`,color:Sv,fontSize:8,fontFamily:Ov,padding:"2px 4px",cursor:"pointer"},children:dv.filter(e=>"local"!==e.key&&"manual"!==e.key).map(e=>(0,Hg.jsx)("option",{value:e.key,children:e.label},e.key))})]},t))]})]})})(),(0,Hg.jsx)(Pv,{title:"MAINTENANCE",expanded:g.maintenance,onToggle:()=>ce("maintenance")}),g.maintenance&&(0,Hg.jsxs)("div",{style:Nv,children:[(0,Hg.jsxs)("div",{style:{padding:"8px 10px",marginBottom:10,background:vv,border:`1px solid ${bv}`,fontSize:8,color:kv,fontFamily:Ov,lineHeight:1.7},children:[(0,Hg.jsxs)("div",{children:["LAST SYNC: ",(0,Hg.jsx)("span",{style:{color:Sv},children:(null===L||void 0===L?void 0:L.last_synced_at)||"\u2014"})]}),(0,Hg.jsxs)("div",{children:["ANALYSIS DATE: ",(0,Hg.jsx)("span",{style:{color:Sv},children:(null===L||void 0===L?void 0:L.analysis_date)||"\u2014"})]}),(0,Hg.jsxs)("div",{children:["OFFLINE MODE: ",(0,Hg.jsx)("span",{style:{color:null!==L&&void 0!==L&&L.offline_mode?Cv:Ev},children:null!==L&&void 0!==L&&L.offline_mode?"YES":"NO"})]}),(0,Hg.jsxs)("div",{children:["AUTO-POLL: ",(0,Hg.jsxs)("span",{style:{color:Sv},children:["EVERY ",null!==z&&void 0!==z&&z.interval_seconds?Math.round(z.interval_seconds/60):5," MIN"]})]}),(0,Hg.jsxs)("div",{children:["SYNCED TICKERS: ",(0,Hg.jsx)("span",{style:{color:Sv},children:(null===L||void 0===L||null===(c=L.synced_tickers)||void 0===c?void 0:c.length)||0})]}),(null===L||void 0===L||null===(d=L.sync_errors)||void 0===d?void 0:d.length)>0&&(0,Hg.jsxs)("div",{style:{color:Cv,marginTop:4},children:["ERRORS: ",L.sync_errors.length]})]}),(0,Hg.jsx)("button",{onClick:H,disabled:"refresh"===E,style:{background:`${_v}20`,border:`1px solid ${_v}60`,color:_v,padding:"6px 10px",fontSize:9,fontWeight:700,fontFamily:Ov,letterSpacing:"1px",cursor:"pointer",width:"100%",marginBottom:2},children:"refresh"===E?"REFRESHING\u2026":"\u21bb FORCE REFRESH NOW"}),(0,Hg.jsx)("div",{style:{fontSize:7,color:kv,padding:"0 4px 8px",textAlign:"center"},children:"Re-download all data from server immediately"}),(0,Hg.jsx)("button",{onClick:V,disabled:"clearCache"===E,style:{background:`${Mv}15`,border:`1px solid ${Mv}40`,color:Mv,padding:"6px 10px",fontSize:9,fontWeight:700,fontFamily:Ov,letterSpacing:"1px",cursor:"pointer",width:"100%",marginBottom:2},children:"clearCache"===E?"CLEARING\u2026":"\ud83d\uddd1 CLEAR DATA CACHE"}),(0,Hg.jsx)("div",{style:{fontSize:7,color:kv,padding:"0 4px 8px",textAlign:"center"},children:"Move cache \u2192 _trash, then re-sync (recoverable)"}),(0,Hg.jsx)("button",{onClick:Y,style:{background:`${Tv}15`,border:`1px solid ${Tv}40`,color:Tv,padding:"6px 10px",fontSize:9,fontWeight:700,fontFamily:Ov,letterSpacing:"1px",cursor:"pointer",width:"100%",marginBottom:2},children:"\u27f3 RELOAD BROWSER"}),(0,Hg.jsx)("div",{style:{fontSize:7,color:kv,padding:"0 4px 8px",textAlign:"center"},children:"Hard-reload UI + clear browser cache"}),(0,Hg.jsx)("button",{onClick:G,disabled:"restart"===E,style:{background:`${Cv}15`,border:`1px solid ${Cv}40`,color:Cv,padding:"6px 10px",fontSize:9,fontWeight:700,fontFamily:Ov,letterSpacing:"1px",cursor:"pointer",width:"100%",marginBottom:2},children:"restart"===E?"RESTARTING\u2026":"\u23fb RESTART TERMINAL"}),(0,Hg.jsx)("div",{style:{fontSize:7,color:kv,padding:"0 4px 8px",textAlign:"center"},children:"Restart backend process (auto-reloads UI)"}),(0,Hg.jsx)("div",{style:{height:1,background:bv,margin:"12px 0 10px"}}),(0,Hg.jsx)("div",{style:{fontSize:7,color:kv,fontWeight:700,letterSpacing:"1.5px",padding:"0 4px 6px",textTransform:"uppercase"},children:"ACCOUNT"}),(0,Hg.jsxs)("div",{style:{padding:"8px 10px",marginBottom:10,background:vv,border:`1px solid ${bv}`,fontSize:8,color:kv,fontFamily:Ov,lineHeight:1.7},children:[(0,Hg.jsxs)("div",{children:["EMAIL: ",(0,Hg.jsx)("span",{style:{color:Sv},children:(null===F||void 0===F?void 0:F.user_email)||"\u2014"})]}),(0,Hg.jsxs)("div",{children:["STATUS: ",(0,Hg.jsx)("span",{style:{color:Sv},children:((null===F||void 0===F?void 0:F.subscription_status)||"\u2014").toUpperCase()})]}),(0,Hg.jsxs)("div",{children:["DEVICE: ",(0,Hg.jsx)("span",{style:{color:Sv,fontSize:7},children:null!==F&&void 0!==F&&F.device_fingerprint?`${F.device_fingerprint.slice(0,8)}\u2026${F.device_fingerprint.slice(-4)}`:"\u2014"})]})]}),(0,Hg.jsx)("button",{onClick:K,disabled:"signout"===E,style:{background:`${Cv}20`,border:`1px solid ${Cv}60`,color:Cv,padding:"6px 10px",fontSize:9,fontWeight:700,fontFamily:Ov,letterSpacing:"1px",cursor:"pointer",width:"100%",marginBottom:2},children:"signout"===E?"SIGNING OUT\u2026":"\u2192 SIGN OUT"}),(0,Hg.jsx)("div",{style:{fontSize:7,color:kv,padding:"0 4px 8px",textAlign:"center"},children:"Clear JWT, free device slot, return to login"})]}),(0,Hg.jsx)(Pv,{title:"ABOUT",expanded:g.about,onToggle:()=>ce("about")}),g.about&&(0,Hg.jsxs)("div",{style:Nv,children:[(0,Hg.jsxs)("div",{style:{padding:"8px 10px",marginBottom:10,background:vv,border:`1px solid ${bv}`,fontSize:8,color:kv,fontFamily:Ov,lineHeight:1.7},children:[(0,Hg.jsxs)("div",{children:["INSTALLED: ",(0,Hg.jsxs)("span",{style:{color:Sv},children:["v",x.current||"\u2014"]})]}),(0,Hg.jsxs)("div",{children:["LATEST: ",(0,Hg.jsxs)("span",{style:{color:x.updateAvailable?_v:Ev},children:["v",x.latest||"\u2014",x.releasedAt?` \xb7 ${x.releasedAt}`:""]})]}),x.updateAvailable&&x.bannerMessage&&(0,Hg.jsx)("div",{style:{marginTop:4,color:kv,fontSize:7,lineHeight:1.5},children:x.bannerMessage})]}),x.updateAvailable&&(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("button",{onClick:()=>{try{window.dispatchEvent(new CustomEvent("mk:open-updater"))}catch{}},style:{background:`${_v}20`,border:`1px solid ${_v}60`,color:_v,padding:"6px 10px",fontSize:9,fontWeight:700,fontFamily:Ov,letterSpacing:"1px",cursor:"pointer",width:"100%",marginBottom:2},children:"\u21e9 DOWNLOAD LATEST VERSION"}),(0,Hg.jsx)("div",{style:{fontSize:7,color:kv,padding:"0 4px 8px",textAlign:"center"},children:"Downloads + installs in-app, terminal restarts"})]}),(0,Hg.jsx)("button",{onClick:()=>x.refetch(),style:{background:"transparent",border:`1px solid ${bv}`,color:kv,padding:"6px 10px",fontSize:9,fontWeight:700,fontFamily:Ov,letterSpacing:"1px",cursor:"pointer",width:"100%",marginBottom:2},children:x.loading?"CHECKING\u2026":"\u21bb CHECK FOR UPDATES"}),(0,Hg.jsx)("div",{style:{fontSize:7,color:kv,padding:"0 4px 8px",textAlign:"center"},children:"Re-query mkterminal.xyz/version.json"}),(0,Hg.jsx)("button",{onClick:()=>{try{window.open(x.telegramUrl||"https://t.me/+B4xSYrAZvf5lYzBk","_blank","noopener,noreferrer")}catch{}},style:{background:`${Tv}15`,border:`1px solid ${Tv}40`,color:Tv,padding:"6px 10px",fontSize:9,fontWeight:700,fontFamily:Ov,letterSpacing:"1px",cursor:"pointer",width:"100%",marginBottom:2},children:"\u2708 TELEGRAM SUPPORT"}),(0,Hg.jsx)("div",{style:{fontSize:7,color:kv,padding:"0 4px 8px",textAlign:"center"},children:"Opens the MK.TRADES support group"})]}),(0,Hg.jsx)("div",{style:{height:40}})]})]})})}function Pv(e){let{title:t,count:n,expanded:r,onToggle:i}=e;return(0,Hg.jsxs)("button",{onClick:i,style:{display:"flex",alignItems:"center",width:"100%",padding:"8px 12px",background:yv,border:"none",borderBottom:`1px solid ${bv}`,cursor:"pointer"},children:[(0,Hg.jsx)("span",{style:{fontSize:8,color:kv,marginRight:6,fontFamily:Ov},children:r?"\u25bc":"\u25b6"}),(0,Hg.jsx)("span",{style:{fontSize:9,fontWeight:800,letterSpacing:"2px",color:_v,fontFamily:Ov},children:t}),void 0!==n&&(0,Hg.jsxs)("span",{style:{fontSize:8,color:kv,marginLeft:6,fontFamily:Ov},children:["(",n,")"]}),(0,Hg.jsx)("div",{style:{flex:1}})]})}function Iv(e){let{label:t,enabled:n,onToggle:r}=e;return(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"3px 4px"},children:[(0,Hg.jsx)("span",{style:{fontSize:9,color:n?Sv:kv,fontFamily:Ov},children:t}),(0,Hg.jsx)("button",{onClick:r,style:{width:30,height:14,borderRadius:7,border:"none",cursor:"pointer",background:n?_v:bv,position:"relative",transition:"background 0.2s"},children:(0,Hg.jsx)("div",{style:{width:10,height:10,borderRadius:5,background:Sv,position:"absolute",top:2,left:n?18:2,transition:"left 0.2s"}})})]})}const Dv={position:"fixed",top:0,left:0,right:0,bottom:0,background:"rgba(0,0,0,0.5)",zIndex:9999,display:"flex",justifyContent:"flex-end"},Lv={width:340,maxWidth:"90vw",height:"100vh",background:mv,borderLeft:`1px solid ${bv}`,display:"flex",flexDirection:"column",fontFamily:Ov,fontSize:11,animation:"slideIn 0.15s ease-out"},Rv={display:"flex",alignItems:"center",justifyContent:"space-between",padding:"10px 12px",borderBottom:`1px solid ${bv}`,flexShrink:0},zv={background:"transparent",border:`1px solid ${bv}`,color:kv,cursor:"pointer",padding:"2px 8px",fontSize:12,fontFamily:Ov},Nv={padding:"8px 12px",borderBottom:`1px solid ${bv}`},Fv={display:"flex",alignItems:"center",justifyContent:"space-between",padding:"4px 0"},$v={fontSize:8,color:kv,fontWeight:700,letterSpacing:"1.5px",fontFamily:Ov},Wv={background:yv,border:`1px solid ${bv}`,color:Sv,padding:"4px 8px",fontSize:10,fontFamily:Ov,outline:"none",width:90},Bv={background:`${_v}20`,border:`1px solid ${_v}60`,color:_v,padding:"4px 10px",fontSize:8,fontWeight:700,fontFamily:Ov,letterSpacing:"1px",cursor:"pointer"},Uv={background:"transparent",border:"none",cursor:"pointer",fontSize:9,fontWeight:700,fontFamily:Ov,padding:"1px 4px"},Hv="#000",Vv="#0a0a0a",Yv="#222",Gv="#999",Kv="#444",qv="#ff6d00",Xv="#2ebd59",Jv="#e8383b",Qv="'Courier New', Consolas, monospace",Zv={info:Gv,success:Xv,warn:qv,error:Jv,debug:Kv},ex={info:"\u2139",success:"\u2713",warn:"\u26a0",error:"\u2717",debug:"\u22a1"};function tx(e){let{open:n,onClose:r,logs:i=[]}=e;const o=(0,t.useRef)(null),[l,s]=(0,t.useState)(!0),[a,c]=(0,t.useState)("all");(0,t.useEffect)(()=>{l&&o.current&&(o.current.scrollTop=o.current.scrollHeight)},[i.length,l]);const d=(0,t.useMemo)(()=>"all"===a?i:i.filter(e=>e.level===a),[i,a]);return n?(0,Hg.jsxs)("div",{style:{position:"fixed",top:0,right:0,bottom:0,width:420,zIndex:1e3,background:Hv,borderLeft:`1px solid ${Yv}`,display:"flex",flexDirection:"column",boxShadow:"-4px 0 20px rgba(0,0,0,0.8)"},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"8px 12px",borderBottom:`1px solid ${Yv}`,background:Vv,flexShrink:0},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,Hg.jsx)("span",{style:{fontSize:"10px",fontWeight:800,color:qv,fontFamily:Qv,letterSpacing:"1.5px"},children:"DEBUG LOG"}),(0,Hg.jsxs)("span",{style:{fontSize:"8px",color:Kv,fontFamily:Qv},children:[i.length," entries"]})]}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,Hg.jsx)("button",{onClick:()=>s(!l),style:{background:l?`${Xv}20`:"transparent",border:`1px solid ${l?Xv+"50":Yv}`,color:l?Xv:Kv,padding:"1px 5px",cursor:"pointer",fontSize:"7px",fontWeight:700,fontFamily:Qv},children:l?"AUTO \u2193":"SCROLL"}),(0,Hg.jsx)("button",{onClick:r,style:{background:"transparent",border:`1px solid ${Yv}`,color:Kv,cursor:"pointer",padding:"1px 8px",fontSize:"12px",fontFamily:Qv},children:"\u2715"})]})]}),(0,Hg.jsx)("div",{style:{display:"flex",gap:2,padding:"4px 12px",borderBottom:`1px solid ${Yv}`,background:Hv,flexShrink:0},children:["all","error","warn","info","success","debug"].map(e=>{const t="all"===e?i.length:i.filter(t=>t.level===e).length,n=a===e,r="all"===e?qv:Zv[e]||Kv;return(0,Hg.jsxs)("button",{onClick:()=>c(e),style:{background:n?`${r}20`:"transparent",border:`1px solid ${n?r+"50":Yv}`,color:n?r:Kv,padding:"1px 5px",cursor:"pointer",fontSize:"7px",fontWeight:700,fontFamily:Qv},children:[e.toUpperCase()," ",t>0?`(${t})`:""]},e)})}),(0,Hg.jsx)("div",{ref:o,style:{flex:1,overflowY:"auto",overflowX:"hidden",padding:"4px 0",minHeight:0},onScroll:e=>{const t=e.target,n=t.scrollHeight-t.scrollTop-t.clientHeight<30;l&&!n&&s(!1)},children:0===d.length?(0,Hg.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",color:Kv,fontSize:"9px",fontFamily:Qv},children:"all"===a?"No log entries yet":`No ${a} entries`}):d.map((e,t)=>(0,Hg.jsxs)("div",{style:{display:"flex",gap:6,padding:"3px 12px",borderBottom:`1px solid ${Yv}08`,background:t%2===0?"transparent":Vv+"40",fontSize:"8px",fontFamily:Qv,lineHeight:1.4},children:[(0,Hg.jsx)("span",{style:{color:Kv,flexShrink:0,width:55},children:e.time||""}),(0,Hg.jsx)("span",{style:{color:Zv[e.level]||Kv,flexShrink:0,width:10,textAlign:"center"},children:ex[e.level]||"\xb7"}),e.source&&(0,Hg.jsx)("span",{style:{color:Hv,background:Zv[e.level]||Kv,padding:"0 3px",fontSize:"6.5px",fontWeight:700,flexShrink:0,lineHeight:"14px",letterSpacing:"0.5px"},children:e.source}),(0,Hg.jsx)("span",{style:{color:"error"===e.level?Jv:"warn"===e.level?qv:Gv,wordBreak:"break-word",flex:1},children:e.message})]},e.id||t))}),(0,Hg.jsxs)("div",{style:{padding:"4px 12px",borderTop:`1px solid ${Yv}`,background:Vv,flexShrink:0,display:"flex",alignItems:"center",justifyContent:"space-between",fontSize:"7px",color:Kv,fontFamily:Qv},children:[(0,Hg.jsx)("span",{children:d.length===i.length?`${i.length} total`:`${d.length} of ${i.length} shown`}),(0,Hg.jsx)("span",{style:{letterSpacing:"1px"},children:"ESC TO CLOSE"})]})]}):null}let nx=0;const rx="ck-shake-style";const ix="#333333",ox="#ffffff",lx="#e8383b",sx="#000000";function ax(e){let{unreadCount:n,justArrived:r,onClick:i}=e;const o=(0,t.useRef)(null);(0,t.useEffect)(()=>{!function(){if(document.getElementById(rx))return;const e=document.createElement("style");e.id=rx,e.textContent="\n@keyframes ck-shake {\n 0% { transform: translate(0, 0); }\n 15% { transform: translate(-2px, -1px); }\n 30% { transform: translate(2px, 1px); }\n 45% { transform: translate(-2px, 1px); }\n 60% { transform: translate(2px, -1px); }\n 75% { transform: translate(-1px, 2px); }\n 90% { transform: translate(1px, -1px); }\n 100% { transform: translate(0, 0); }\n}\n",document.head.appendChild(e)}()},[]),(0,t.useEffect)(()=>{o.current&&r&&(o.current.style.animation="ck-shake 0.6s ease")},[r]);const l=n>0;return(0,Hg.jsxs)("div",{style:{position:"relative",display:"inline-flex"},children:[(0,Hg.jsx)("button",{ref:o,onClick:i,title:"Messages","aria-label":`Messages \u2014 ${n} unread`,onAnimationEnd:()=>{o.current&&(o.current.style.animation="")},style:{background:"transparent",border:`1px solid ${ix}`,color:ox,cursor:"pointer",padding:"2px 8px",fontSize:"13px",fontFamily:"monospace",fontWeight:700,position:"relative"},children:"\u2709"}),l&&(0,Hg.jsx)("span",{style:{position:"absolute",top:"2px",right:"2px",width:"7px",height:"7px",borderRadius:"50%",background:lx,border:`1.5px solid ${sx}`,pointerEvents:"none"}})]})}const cx={bg:"#000",bgPanel:"#0a0a0a",bgCard:"#111",bgRaised:"#141b24",border:"#222",borderLt:"#333",white:"#fff",text:"#e8ecf1",textSoft:"#c5cdd9",muted:"#6b7785",dim:"#4d5866",orange:"#ff6d00",green:"#27c49a",greenDeep:"#1d5c42",red:"#ff5e5e",redDeep:"#5c1d1d",amber:"#f5a623",amberDeep:"#5c4a1d",blue:"#3796ff",cyan:"#2aa3d9",grey:"#7a8a99",greyDeep:"#293847",proGold:"#ffd89e",proGoldDeep:"#b8823d",proBgStart:"#5d3a1f",proBgEnd:"#8b5a2b"},dx="'Courier New', 'SF Mono', 'Monaco', 'Consolas', monospace";function ux(e){if(!e)return"";const t=Date.parse(e);if(!Number.isFinite(t))return"";const n=Math.max(0,Math.round((Date.now()-t)/1e3));return n<45?"just now":n<90?"1 min ago":n<3600?`${Math.round(n/60)} min ago`:n<7200?"1 hr ago":n<86400?`${Math.round(n/3600)} hr ago`:new Date(t).toLocaleDateString()}const hx="#0a0a0a",px="#222222",fx="#333333",gx="#ffffff",mx="#999999",yx="#444444",vx="#e8383b";function xx(e){let{open:n,onClose:r,messages:i,loading:o,error:l,onMarkRead:s,onMarkAllRead:a}=e;const c=(0,t.useCallback)(e=>{"Escape"===e.key&&r()},[r]);if((0,t.useEffect)(()=>{if(n)return document.addEventListener("keydown",c),()=>document.removeEventListener("keydown",c)},[n,c]),!n)return null;const d=Array.isArray(i)?i.filter(e=>!e.read).length:0;return(0,Hg.jsx)("div",{onClick:r,style:{position:"fixed",inset:0,background:"rgba(0,0,0,0.75)",zIndex:9999,display:"flex",alignItems:"center",justifyContent:"center"},children:(0,Hg.jsxs)("div",{onClick:e=>e.stopPropagation(),style:{background:hx,border:`1px solid ${fx}`,borderRadius:"4px",width:"100%",maxWidth:"600px",maxHeight:"80vh",display:"flex",flexDirection:"column",fontFamily:"'Courier New', Courier, monospace",fontSize:"12px",color:gx,overflow:"hidden"},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"10px 14px",borderBottom:`1px solid ${px}`,flexShrink:0},children:[(0,Hg.jsxs)("div",{children:[(0,Hg.jsx)("span",{style:{fontWeight:700,fontSize:"13px"},children:"Messages"}),(0,Hg.jsx)("span",{style:{color:mx,marginLeft:"8px",fontSize:"11px"},children:d>0?`${d} unread`:"all read"})]}),(0,Hg.jsx)("button",{onClick:r,title:"Close",style:{background:"transparent",border:"none",color:mx,cursor:"pointer",fontSize:"16px",lineHeight:1,padding:"0 4px"},children:"\xd7"})]}),(0,Hg.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:"8px 0"},children:[o&&(0,Hg.jsx)("div",{style:{padding:"24px",textAlign:"center",color:mx},children:"Loading\u2026"}),!o&&l&&(0,Hg.jsx)("div",{style:{padding:"24px",textAlign:"center"},children:(0,Hg.jsx)("div",{style:{color:vx,marginBottom:"10px"},children:"Could not load messages."})}),!o&&!l&&Array.isArray(i)&&0===i.length&&(0,Hg.jsxs)("div",{style:{padding:"32px 24px",textAlign:"center"},children:[(0,Hg.jsx)("div",{style:{color:mx,marginBottom:"6px"},children:"No messages."}),(0,Hg.jsx)("div",{style:{color:yx,fontSize:"11px"},children:"You'll see new announcements here."})]}),!o&&!l&&Array.isArray(i)&&i.map(e=>(0,Hg.jsxs)("div",{onClick:()=>{e.read||s(e.id)},style:{display:"flex",flexDirection:"column",padding:"10px 14px",margin:"0 8px 4px 8px",borderRadius:"3px",background:e.read?"transparent":`${vx}08`,borderLeft:e.read?`2px solid ${px}`:`2px solid ${vx}`,cursor:e.read?"default":"pointer",transition:"background 0.15s"},children:[(0,Hg.jsx)("div",{style:{color:e.read?mx:gx,whiteSpace:"pre-wrap",wordBreak:"break-word",lineHeight:"1.5",marginBottom:"6px"},children:e.body}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",fontSize:"10px",color:yx},children:[(0,Hg.jsx)("span",{children:ux(e.created_at)}),!e.read&&(0,Hg.jsx)("span",{style:{color:vx,fontWeight:700},children:"UNREAD"})]})]},e.id))]})]})})}const bx={1:"M1",2:"M5",3:"M15",4:"H1",5:"H4",6:"D1"};const wx="#000000",Sx="#0a0a0a",jx="#1a1a1a",kx="#222222",_x="#ffffff",Ex="#999999",Cx="#444444",Tx="#ff6d00";function Mx(e){let{openCharts:n,activeChartId:r,viewMode:i,maxCharts:o,onSelectTab:l,onCloseTab:s,onViewModeChange:a}=e;const c=(null===n||void 0===n?void 0:n.length)||0,d=o||8,u=(0,t.useCallback)((e,t)=>{e.target.closest("[data-close-btn]")||null===l||void 0===l||l(t)},[l]),h=(0,t.useCallback)((e,t)=>{e.stopPropagation(),null===s||void 0===s||s(t)},[s]);return n&&0!==c?(0,Hg.jsxs)("div",{style:{background:Sx,borderTop:`1px solid ${kx}`,borderBottom:`1px solid ${kx}`,display:"flex",alignItems:"stretch",height:30,fontFamily:"'Courier New', Consolas, 'Liberation Mono', monospace",fontSize:"9px",flexShrink:0,overflow:"hidden"},children:[(0,Hg.jsx)("div",{style:{display:"flex",alignItems:"stretch",overflow:"hidden",flex:1,minWidth:0},children:n.map(e=>{const t=e.tabId===r;return(0,Hg.jsxs)("div",{onClick:t=>u(t,e.tabId),style:{display:"flex",alignItems:"center",gap:6,padding:"0 12px",background:t?wx:Sx,borderRight:`1px solid ${kx}`,borderTop:t?`2px solid ${Tx}`:"2px solid transparent",cursor:"pointer",flexShrink:0,maxWidth:160,minWidth:80,transition:"background 0.1s"},onMouseEnter:e=>{t||(e.currentTarget.style.background=jx)},onMouseLeave:e=>{t||(e.currentTarget.style.background=t?wx:Sx)},children:[(0,Hg.jsx)("span",{style:{fontWeight:700,color:t?Tx:Ex,letterSpacing:"1px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:e.ticker}),(0,Hg.jsx)("span",{style:{fontSize:"7px",color:Cx,flexShrink:0},children:e.timeframe||"M15"}),c>1&&(0,Hg.jsx)("span",{"data-close-btn":"true",onClick:t=>h(t,e.tabId),title:"Close chart",style:{fontSize:"12px",color:Cx,marginLeft:2,cursor:"pointer",lineHeight:1,flexShrink:0,padding:"0 2px",borderRadius:2},onMouseEnter:e=>{e.currentTarget.style.color=_x,e.currentTarget.style.background=`${kx}`},onMouseLeave:e=>{e.currentTarget.style.color=Cx,e.currentTarget.style.background="transparent"},children:"\xd7"})]},e.tabId)})}),(0,Hg.jsx)("div",{style:{display:"flex",alignItems:"center",flexShrink:0},children:(0,Hg.jsx)("div",{style:{display:"flex",alignItems:"center",padding:"0 10px",borderLeft:`1px solid ${kx}`,height:"100%"},children:(0,Hg.jsxs)("span",{style:{fontSize:"8px",color:c>=d?Tx:Cx,fontWeight:c>=d?700:400},children:[c,"/",d]})})})]}):null}const Ox="#111111",Ax="#222222",Px="#ffffff",Ix="#444444",Dx="#ff6d00",Lx="#e8383b",Rx="'Courier New', Consolas, 'Liberation Mono', monospace";function zx(e){let{chart:n,onConfirm:r,onCancel:i}=e;const o=(0,t.useCallback)(e=>{"Escape"===e.key&&(null===i||void 0===i||i()),"Enter"===e.key&&(null===r||void 0===r||r())},[i,r]);return(0,t.useEffect)(()=>(window.addEventListener("keydown",o),()=>window.removeEventListener("keydown",o)),[o]),n?(0,Hg.jsx)("div",{onClick:i,style:{position:"fixed",inset:0,background:"rgba(0,0,0,0.6)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:9999,fontFamily:Rx},children:(0,Hg.jsxs)("div",{onClick:e=>e.stopPropagation(),style:{background:Ox,border:`1px solid ${Ax}`,padding:"20px 28px",minWidth:280,maxWidth:360,textAlign:"center"},children:[(0,Hg.jsx)("div",{style:{fontSize:"11px",fontWeight:700,color:Px,letterSpacing:"1px",marginBottom:6},children:"CLOSE CHART"}),(0,Hg.jsxs)("div",{style:{fontSize:"10px",color:Ix,marginBottom:18,lineHeight:1.6},children:["Remove"," ",(0,Hg.jsxs)("span",{style:{color:Dx,fontWeight:700},children:[n.ticker," ",n.timeframe||"M15"]})," ","from workspace?"]}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:8,justifyContent:"center"},children:[(0,Hg.jsx)("button",{onClick:i,style:{padding:"6px 20px",background:"transparent",border:`1px solid ${Ax}`,color:Ix,fontSize:"9px",fontWeight:700,fontFamily:Rx,letterSpacing:"1px",cursor:"pointer"},children:"CANCEL"}),(0,Hg.jsx)("button",{onClick:r,style:{padding:"6px 20px",background:`${Lx}22`,border:`1px solid ${Lx}55`,color:Lx,fontSize:"9px",fontWeight:700,fontFamily:Rx,letterSpacing:"1px",cursor:"pointer"},children:"CLOSE"})]})]})}):null}const Nx="#222",Fx="#fff",$x="#999",Wx="#444",Bx="#ff6d00";function Ux(e){let{config:n}=e;const[,r]=(0,t.useState)(0);if((0,t.useEffect)(()=>{const e=setInterval(()=>r(e=>e+1),1e3);return()=>clearInterval(e)},[]),null===n||void 0===n||!n.showWorldClock)return null;const i=(n.worldClocks||[]).filter(e=>e.enabled);return 0===i.length?null:(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,fontFamily:"'Courier New', Consolas, monospace"},children:[(0,Hg.jsx)("span",{style:{color:Nx},children:"|"}),i.map((e,t)=>{const n=cv[e.city];if(!n)return null;const r=uv(e.city),i=function(e){const t=pv[e];if(!t)return{name:"CLOSED",color:"#444444",inSession:!1};const n=uv(e),r=n.hours+n.minutes/60;for(const i of t)if(i.start<i.end){if(r>=i.start&&r<i.end){const e="NIGHT"!==i.name&&"LUNCH"!==i.name;return{name:i.name,color:i.color,inSession:e}}}else if(r>=i.start||r<i.end)return{name:i.name,color:i.color,inSession:!1};return{name:"CLOSED",color:"#444444",inSession:!1}}(e.city),o=i.inSession;return(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,Hg.jsx)("span",{style:{display:"inline-block",width:5,height:5,borderRadius:"50%",background:o?Bx:Wx,boxShadow:o?`0 0 4px ${Bx}`:"none"}}),(0,Hg.jsx)("span",{style:{fontSize:"7px",color:o?Bx:Wx,fontWeight:700,letterSpacing:"0.5px"},children:n.label.slice(0,3)}),(0,Hg.jsx)("span",{style:{fontSize:"9px",color:o?Fx:$x,fontVariantNumeric:"tabular-nums"},children:r.timeStr.slice(0,5)}),(0,Hg.jsx)("span",{style:{fontSize:"6px",color:i.color,fontWeight:600,letterSpacing:"0.3px",maxWidth:55,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:i.name})]},t)})]})}const Hx={bg:"#000000",bgPanel:"#0a0a0a",bgCard:"#111111",bgHover:"#1a1a1a",border:"#222222",borderLt:"#333333",white:"#ffffff",gray:"#999999",muted:"#444444",orange:"#ff6d00",orangeDim:"#cc5500",orangeBg:"#ff6d0012",green:"#2ebd59",red:"#e8383b",blue:"#3796ff",amber:"#ffa500",cyan:"#00d2d3",purple:"#9b59b6",yellow:"#f1c40f",textPrimary:"#ffffff",textSecondary:"#999999",textMuted:"#444444",scrollThumb:"#333333",scrollTrack:"#0a0a0a"},Vx={dark:Hx,light:{bg:"#f5f5f5",bgPanel:"#eaeaea",bgCard:"#ffffff",bgHover:"#e0e0e0",border:"#d0d0d0",borderLt:"#c0c0c0",white:"#111111",gray:"#666666",muted:"#aaaaaa",orange:"#e06000",orangeDim:"#cc5500",orangeBg:"#ff6d0012",green:"#1a9e45",red:"#d42d2d",blue:"#2070cc",amber:"#d48a00",cyan:"#008b8b",purple:"#7b3fa0",yellow:"#c9a000",textPrimary:"#111111",textSecondary:"#555555",textMuted:"#999999",scrollThumb:"#cccccc",scrollTrack:"#eaeaea"}},Yx="'Courier New', Consolas, 'Liberation Mono', monospace",Gx=(0,t.createContext)({C:Hx,mono:Yx,mode:"dark"});function Kx(e){let{mode:n="dark",children:r}=e;const i=Vx[n]||Hx;(0,t.useEffect)(()=>{const e=document.documentElement;for(const[n,o]of Object.entries(i))e.style.setProperty(`--mk-${n}`,o);e.style.setProperty("--mk-mono",Yx),e.setAttribute("data-theme",n);const t="mk-theme-scrollbar";let r=document.getElementById(t);r||(r=document.createElement("style"),r.id=t,document.head.appendChild(r)),r.textContent=`\n ::-webkit-scrollbar { width: 6px; height: 6px; }\n ::-webkit-scrollbar-track { background: ${i.scrollTrack}; }\n ::-webkit-scrollbar-thumb { background: ${i.scrollThumb}; border-radius: 3px; }\n ::-webkit-scrollbar-thumb:hover { background: ${i.orange}80; }\n body { background: ${i.bg}; color: ${i.textPrimary}; transition: background 0.3s, color 0.3s; }\n ::selection { background: ${i.orange}40; color: ${i.white}; }\n `},[n,i]);const o=(0,t.useMemo)(()=>({C:i,mono:Yx,mode:n}),[i,n]);return(0,Hg.jsx)(Gx.Provider,{value:o,children:r})}const qx="'JetBrains Mono', 'Fira Code', 'Cascadia Code', 'Consolas', monospace",Xx=()=>({bg:getComputedStyle(document.documentElement).getPropertyValue("--mk-bg").trim()||"#0a0a0f",bgPanel:getComputedStyle(document.documentElement).getPropertyValue("--mk-bgPanel").trim()||"#12121a",border:getComputedStyle(document.documentElement).getPropertyValue("--mk-border").trim()||"#1e1e2e",white:getComputedStyle(document.documentElement).getPropertyValue("--mk-white").trim()||"#e8e8f0",muted:getComputedStyle(document.documentElement).getPropertyValue("--mk-muted").trim()||"#4a4a5e",orange:getComputedStyle(document.documentElement).getPropertyValue("--mk-orange").trim()||"#e67e22",green:getComputedStyle(document.documentElement).getPropertyValue("--mk-green").trim()||"#27ae60",red:getComputedStyle(document.documentElement).getPropertyValue("--mk-red").trim()||"#e74c3c",cyan:getComputedStyle(document.documentElement).getPropertyValue("--mk-cyan").trim()||"#00bcd4"}),Jx={EURUSD:5,GBPUSD:5,USDJPY:3,AUDUSD:5,USDCHF:5,USDCAD:5,US500:2,USTEC:2,US30:2,GER40:2,UK100:2,XAUUSD:2,XAGUSD:3,XTIUSD:2,ETHUSD:2,BTCUSD:2};function Qx(e,t){if(!e||isNaN(e))return"";const n=Jx[null===t||void 0===t?void 0:t.toUpperCase()]||5;return parseFloat(e).toFixed(n)}function Zx(e){let{isOpen:n,onClose:r,config:i,selectedTicker:o,currentPrice:l,universe:s=[],onLog:a,signalData:c=null,priceMap:d=null}=e;const[u,h]=(0,t.useState)(o||""),[p,f]=(0,t.useState)("BUY"),[g,m]=(0,t.useState)("MARKET"),[y,v]=(0,t.useState)("0.01"),[x,b]=(0,t.useState)(""),[w,S]=(0,t.useState)(""),[j,k]=(0,t.useState)(""),[_,E]=(0,t.useState)(""),[C,T]=(0,t.useState)(!1),[M,O]=(0,t.useState)(null),A=(0,t.useRef)(null),[P,I]=(0,t.useState)(!1),[D,L]=(0,t.useState)(0),[R,z]=(0,t.useState)(null),N=(0,t.useRef)(Xx());(0,t.useEffect)(()=>{const e=new MutationObserver(()=>{N.current=Xx()});return e.observe(document.documentElement,{attributes:!0,attributeFilter:["style"]}),()=>e.disconnect()},[]),(0,t.useEffect)(()=>{if(console.log("[order-sound] effect fired \u2014 result:",M,"submittedType:",A.current),!M||!M.success)return;const e=A.current;console.log("[order-sound] success branch \u2014 type:",e),"MARKET"===e?(console.log("[order-sound] -> playSound('order_filled')"),Hm("order_filled")):e?(console.log("[order-sound] -> playSound('order_placed')"),Hm("order_placed")):console.warn("[order-sound] result.success but submittedType is falsy \u2014 sound skipped")},[M]),(0,t.useEffect)(()=>{n&&(async()=>{try{const e=await fetch("/api/account/status");if(e.ok){const t=await e.json();L(t.current_equity||t.initial_balance||0)}}catch{}})()},[n]),(0,t.useEffect)(()=>{if(!n||!u)return void z(null);let e=!1;return(async()=>{try{const t=await fetch(`/api/symbol-info/${u}`);if(t.ok&&!e){const e=await t.json();z(e);const n=(null===c||void 0===c?void 0:c.lots)>0?c.lots:parseFloat(y)||0,r=e.lot_step||.01,i=e.min_lot||r;let o=n;r>0&&(o=Math.round(o/r)*r),o<i&&(o=i),e.max_lot&&o>e.max_lot&&(o=e.max_lot);const l=r<1?Math.max(0,-Math.floor(Math.log10(r))):0;o=parseFloat(o.toFixed(l)),o!==n&&v(String(o))}}catch{}})(),()=>{e=!0}},[n,u,c]),(0,t.useEffect)(()=>{o&&n&&h(o)},[o,n]),(0,t.useEffect)(()=>{if(n)if(O(null),I(!1),T(!1),c){h(c.ticker||o||"");const e=(c.direction||"long").toUpperCase();f("LONG"===e||"BUY"===e?"BUY":"SELL"),m("MARKET"),v(c.lots>0?String(c.lots):"0.01"),b(""),S(c.stop_loss?Qx(c.stop_loss,c.ticker):""),k(c.target_price?Qx(c.target_price,c.ticker):""),E("")}else h(o||""),f("BUY"),m("MARKET"),v("0.01"),b(""),S(""),k(""),E("")},[n,o,c]),(0,t.useEffect)(()=>{if(!n)return;const e=e=>{"Escape"===e.key&&(P?I(!1):r())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[n,P,r]);const F=(0,t.useCallback)((e,t)=>{a&&a({level:e,message:t,source:"ORDER"})},[a]),$=(null===i||void 0===i?void 0:i.execution)||{},W=!0===$.live_trading,B=$.max_lots||10,U=(0,t.useCallback)(()=>{const e=parseFloat(y);return u?isNaN(e)||e<=0?O({success:!1,message:"Invalid lot size"}):e>B?O({success:!1,message:`Exceeds max lots (${B})`}):null!==R&&void 0!==R&&R.min_lot&&e<R.min_lot?O({success:!1,message:`Below broker minimum (${R.min_lot} lots for ${u})`}):null!==R&&void 0!==R&&R.max_lot&&e>R.max_lot?O({success:!1,message:`Exceeds broker maximum (${R.max_lot} lots for ${u})`}):"MARKET"===g||x?void(!1===$.confirm_orders||P?H():I(!0)):O({success:!1,message:"Price required for limit/stop orders"}):O({success:!1,message:"Select a ticker"})},[u,y,g,x,B,$,P,R]),H=(0,t.useCallback)(async()=>{I(!1),T(!0),O(null);const e={ticker:u.toUpperCase(),direction:p,order_type:g,lots:parseFloat(y),comment:_||"MK.TRADES"};if("MARKET"===g){var t;const n=(null===d||void 0===d||null===(t=d.get(u.toUpperCase()))||void 0===t?void 0:t.price)||(u.toUpperCase()===(null===o||void 0===o?void 0:o.toUpperCase())?l:0);n>0&&(e.price=n)}else x&&(e.price=parseFloat(x));w&&(e.stop_loss=parseFloat(w)),j&&(e.take_profit=parseFloat(j)),null!==c&&void 0!==c&&c.signal_id&&(e.signal_id=c.signal_id,e.signal_type=c.signal_type||"",e.signal_confidence=c.confidence||0);try{const t=await fetch("/api/orders",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),n=await t.json();if(t.ok&&n.success)A.current=g,console.log("[order-sound] submit success \u2014 captured orderType:",g,"data:",n),O({success:!0,message:`${p} ${y} ${u} filled @ ${n.price}`}),F("success",`Order filled: ${p} ${y} ${u} @ ${n.price} (ID: ${n.order_id})`),window.__mk_execution_refresh&&window.__mk_execution_refresh();else{const e=n.error||n.detail||`HTTP ${t.status}`;console.warn("[order-sound] order rejected \u2014 res.ok:",t.ok,"data.success:",null===n||void 0===n?void 0:n.success,"data:",n),O({success:!1,message:e}),F("error",`Order rejected: ${e}`)}}catch(sd){console.warn("[order-sound] fetch threw:",sd),O({success:!1,message:sd.message}),F("error",`Order error: ${sd.message}`)}finally{T(!1)}},[u,p,g,y,x,w,j,_,F,c,d,o,l]);if(!n)return null;const V=N.current,Y="BUY"===p?V.green:V.red,G={background:V.bg,border:`1px solid ${V.border}`,color:V.white,padding:"5px 8px",fontSize:10,fontFamily:qx,width:"100%",boxSizing:"border-box",outline:"none"},K={color:V.muted,fontSize:8,fontWeight:700,letterSpacing:"1px",marginBottom:3,display:"block"};return(0,Hg.jsx)("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,background:"rgba(0,0,0,0.65)",zIndex:9998,display:"flex",alignItems:"center",justifyContent:"center"},onClick:r,children:(0,Hg.jsxs)("div",{style:{background:V.bgPanel,border:`1px solid ${V.border}`,padding:0,width:340,maxHeight:"80vh",overflow:"auto",fontFamily:qx},onClick:e=>e.stopPropagation(),children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"8px 12px",borderBottom:`1px solid ${V.border}`},children:[(0,Hg.jsx)("span",{style:{color:V.orange,fontWeight:800,fontSize:11,letterSpacing:"1.5px"},children:c?"SIGNAL ORDER":"NEW ORDER"}),(0,Hg.jsx)("button",{onClick:r,style:{background:"transparent",border:"none",color:V.muted,cursor:"pointer",fontSize:14,fontFamily:qx,padding:"0 4px"},children:"\xd7"})]}),c&&(0,Hg.jsxs)("div",{style:{padding:"5px 12px",display:"flex",alignItems:"center",gap:6,background:`${V.orange}10`,borderBottom:`1px solid ${V.orange}25`,fontSize:8,fontFamily:qx,color:V.orange},children:[(0,Hg.jsx)("span",{style:{fontSize:10},children:"\u26a1"}),(0,Hg.jsxs)("span",{style:{fontWeight:700,letterSpacing:"0.5px"},children:["SIGNAL ORDER \u2014 ",(c.signal_type||"").replace(/_/g," ").toUpperCase()]}),c.confidence>0&&(0,Hg.jsxs)("span",{style:{color:V.muted,marginLeft:"auto"},children:["CONF ",(100*c.confidence).toFixed(0),"%"]})]}),!W&&(0,Hg.jsx)("div",{style:{padding:"6px 12px",background:`${V.red}10`,borderBottom:`1px solid ${V.red}30`,color:V.red,fontSize:8,fontWeight:700,letterSpacing:"0.5px"},children:"\u26a0 LIVE TRADING IS OFF \u2014 Enable in Settings \u2192 Trading"}),(0,Hg.jsxs)("div",{style:{padding:"12px"},children:[(0,Hg.jsxs)("div",{style:{marginBottom:10},children:[(0,Hg.jsx)("label",{style:K,children:"SYMBOL"}),(0,Hg.jsxs)("select",{value:u,onChange:e=>h(e.target.value),style:{...G,cursor:"pointer"},children:[(0,Hg.jsx)("option",{value:"",children:"\u2014 Select \u2014"}),s.map(e=>(0,Hg.jsx)("option",{value:e,children:e},e))]})]}),(0,Hg.jsxs)("div",{style:{marginBottom:10},children:[(0,Hg.jsx)("label",{style:K,children:"DIRECTION"}),(0,Hg.jsx)("div",{style:{display:"flex",gap:4},children:["BUY","SELL"].map(e=>(0,Hg.jsx)("button",{onClick:()=>f(e),style:{flex:1,background:p===e?"BUY"===e?`${V.green}20`:`${V.red}20`:"transparent",border:`1px solid ${p===e?"BUY"===e?V.green:V.red:V.border}`,color:p===e?"BUY"===e?V.green:V.red:V.muted,padding:"6px 0",cursor:"pointer",fontFamily:qx,fontSize:10,fontWeight:800,letterSpacing:"1px"},children:"BUY"===e?"\u25b2 BUY":"\u25bc SELL"},e))})]}),(0,Hg.jsxs)("div",{style:{marginBottom:10},children:[(0,Hg.jsx)("label",{style:K,children:"ORDER TYPE"}),(0,Hg.jsx)("div",{style:{display:"flex",gap:4},children:["MARKET","LIMIT","STOP"].map(e=>(0,Hg.jsx)("button",{onClick:()=>m(e),style:{flex:1,background:g===e?`${V.orange}20`:"transparent",border:`1px solid ${g===e?V.orange:V.border}`,color:g===e?V.orange:V.muted,padding:"4px 0",cursor:"pointer",fontFamily:qx,fontSize:8,fontWeight:700},children:e},e))})]}),(0,Hg.jsxs)("div",{style:{marginBottom:10},children:[(0,Hg.jsx)("label",{style:K,children:"LOTS"}),(()=>{const e=(null===R||void 0===R?void 0:R.min_lot)||.01,t=(null===R||void 0===R?void 0:R.max_lot)||B,n=(null===R||void 0===R?void 0:R.lot_step)||.01,r=e>=1?[1,2,5,10,20].filter(n=>n>=e&&n<=t):[.01,.05,.1,.5,1].filter(n=>n>=e&&n<=t);return(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsxs)("div",{style:{display:"flex",gap:4,alignItems:"center"},children:[(0,Hg.jsx)("input",{type:"number",step:n,min:e,max:Math.min(t,B),value:y,onChange:e=>v(e.target.value),style:{...G,flex:1}}),r.map(e=>(0,Hg.jsx)("button",{onClick:()=>v(String(e)),style:{background:parseFloat(y)===e?`${V.cyan}20`:"transparent",border:`1px solid ${parseFloat(y)===e?V.cyan:V.border}`,color:parseFloat(y)===e?V.cyan:V.muted,padding:"3px 4px",fontSize:7,cursor:"pointer",fontFamily:qx,minWidth:28},children:e},e))]}),(0,Hg.jsxs)("div",{style:{fontSize:7,color:V.muted,marginTop:2},children:["Min: ",e," | Max: ",Math.min(t,B)," | Step: ",n,R&&(0,Hg.jsxs)("span",{style:{marginLeft:6,color:V.orange},children:["(",R.broker_symbol||u,")"]})]})]})})()]}),"MARKET"!==g&&(0,Hg.jsxs)("div",{style:{marginBottom:10},children:[(0,Hg.jsx)("label",{style:K,children:"PRICE"}),(0,Hg.jsx)("input",{type:"number",step:"0.00001",value:x,onChange:e=>b(e.target.value),placeholder:l?String(l):"Enter price",style:G})]}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:8,marginBottom:10},children:[(0,Hg.jsxs)("div",{style:{flex:1},children:[(0,Hg.jsx)("label",{style:K,children:"STOP LOSS"}),(0,Hg.jsx)("input",{type:"number",step:"0.00001",value:w,onChange:e=>S(e.target.value),placeholder:"Optional",style:G})]}),(0,Hg.jsxs)("div",{style:{flex:1},children:[(0,Hg.jsx)("label",{style:K,children:"TAKE PROFIT"}),(0,Hg.jsx)("input",{type:"number",step:"0.00001",value:j,onChange:e=>k(e.target.value),placeholder:"Optional",style:G})]})]}),(0,Hg.jsxs)("div",{style:{marginBottom:12},children:[(0,Hg.jsx)("label",{style:K,children:"COMMENT"}),(0,Hg.jsx)("input",{type:"text",maxLength:63,value:_,onChange:e=>E(e.target.value),placeholder:"MK.TRADES",style:G})]}),(e=>{const t=(null===d||void 0===d||null===(e=d.get(u))||void 0===e?void 0:e.price)||(u===o?l:null),n=Jx[null===u||void 0===u?void 0:u.toUpperCase()]||2,r=parseFloat(y)||0,i=parseFloat(w)||0,s=parseFloat(j)||0,a=t||parseFloat(x)||0,c="BUY"===p;let h=0;(null===R||void 0===R?void 0:R.tick_value)>0&&(null===R||void 0===R?void 0:R.tick_size)>0&&(h=R.tick_value/R.tick_size);let f=0,g=0;if(a>0&&i>0&&h>0){f=(c?a-i:i-a)*h*r}if(a>0&&s>0&&h>0){g=(c?s-a:a-s)*h*r}const m=D>0?Math.abs(f)/D*100:0,v=D>0?Math.abs(g)/D*100:0,b=f>0&&g>0?g/f:0;return(0,Hg.jsxs)(Hg.Fragment,{children:[t&&u&&(0,Hg.jsxs)("div",{style:{padding:"4px 8px",marginBottom:4,background:`${Y}08`,border:`1px solid ${Y}20`,display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,Hg.jsxs)("span",{style:{color:V.muted,fontSize:8},children:[u," MARKET"]}),(0,Hg.jsx)("span",{style:{color:V.white,fontWeight:700,fontSize:11,fontVariantNumeric:"tabular-nums"},children:t.toFixed(n)})]}),(0!==f||0!==g)&&(0,Hg.jsxs)("div",{style:{marginBottom:10,padding:"5px 8px",background:`${V.muted}08`,border:`1px solid ${V.border}`,fontSize:9,fontFamily:qx},children:[0!==f&&(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:2},children:[(0,Hg.jsxs)("span",{style:{color:V.red,fontWeight:700},children:["RISK: -$",Math.abs(f).toFixed(2)]}),D>0&&(0,Hg.jsxs)("span",{style:{color:V.red,fontSize:8},children:[m.toFixed(2),"% of balance"]})]}),0!==g&&(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:2},children:[(0,Hg.jsxs)("span",{style:{color:V.green,fontWeight:700},children:["REWARD: +$",Math.abs(g).toFixed(2)]}),D>0&&(0,Hg.jsxs)("span",{style:{color:V.green,fontSize:8},children:[v.toFixed(2),"% of balance"]})]}),b>0&&(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",borderTop:`1px solid ${V.border}`,paddingTop:2,marginTop:2},children:[(0,Hg.jsxs)("span",{style:{color:V.white,fontWeight:700},children:["R:R ",b.toFixed(1),":1"]}),D>0&&(0,Hg.jsxs)("span",{style:{color:V.muted,fontSize:7},children:["Balance: $",D.toLocaleString(void 0,{minimumFractionDigits:0,maximumFractionDigits:0})]})]})]})]})})(),(0,Hg.jsx)("button",{onClick:U,disabled:C||!W,style:{width:"100%",padding:"8px 0",background:W?`${Y}25`:`${V.muted}10`,border:`1px solid ${W?Y:V.muted}`,color:W?Y:V.muted,cursor:W&&!C?"pointer":"not-allowed",fontFamily:qx,fontSize:11,fontWeight:800,letterSpacing:"1.5px"},children:C?"SENDING...":W?`${p} ${y} ${u||"..."}`:"TRADING DISABLED"}),M&&(0,Hg.jsxs)("div",{style:{marginTop:8,padding:"6px 8px",background:M.success?`${V.green}10`:`${V.red}10`,border:`1px solid ${M.success?V.green:V.red}30`,color:M.success?V.green:V.red,fontSize:9},children:[M.success?"\u2713 ":"\u2717 ",M.message]})]}),P&&(0,Hg.jsx)("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,background:"rgba(0,0,0,0.7)",display:"flex",alignItems:"center",justifyContent:"center"},children:(0,Hg.jsxs)("div",{style:{background:V.bgPanel,border:`1px solid ${Y}40`,padding:16,width:260},children:[(0,Hg.jsx)("div",{style:{color:V.white,fontWeight:800,fontSize:10,marginBottom:10},children:"CONFIRM ORDER"}),(0,Hg.jsxs)("div",{style:{color:V.muted,fontSize:9,marginBottom:4},children:[p," ",y," lots ",(0,Hg.jsx)("span",{style:{color:V.white},children:u})]}),(0,Hg.jsxs)("div",{style:{color:V.muted,fontSize:9,marginBottom:4},children:["Type: ",g,"MARKET"!==g&&x?` @ ${x}`:""]}),w&&(0,Hg.jsxs)("div",{style:{color:V.muted,fontSize:9},children:["SL: ",w]}),j&&(0,Hg.jsxs)("div",{style:{color:V.muted,fontSize:9},children:["TP: ",j]}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:8,marginTop:12},children:[(0,Hg.jsx)("button",{onClick:()=>I(!1),style:{flex:1,background:"transparent",border:`1px solid ${V.border}`,color:V.muted,padding:"6px 0",cursor:"pointer",fontFamily:qx,fontSize:9,fontWeight:700},children:"CANCEL"}),(0,Hg.jsxs)("button",{onClick:H,style:{flex:1,background:`${Y}20`,border:`1px solid ${Y}`,color:Y,padding:"6px 0",cursor:"pointer",fontFamily:qx,fontSize:9,fontWeight:800},children:["CONFIRM ",p]})]})]})})]})})}const eb=new Map,tb=new Map;function nb(e,t,n,r,i){const o=n.length>r?n.slice(-r):n;return{ticker:e,timeframe:t,count:o.length,bars:o,cached:i}}async function rb(e,t,n){var r;if(!e||!t)return null;const i=`${e}:${t}`,o=eb.get(i);if(o&&o.bars.length>=n)return nb(e,t,o.bars,n,!0);if(tb.has(i)){var l;const r=await tb.get(i);if((null===r||void 0===r||null===(l=r.bars)||void 0===l?void 0:l.length)>=n)return nb(e,t,r.bars,n,!0)}const s=Math.max(n,(null===o||void 0===o||null===(r=o.bars)||void 0===r?void 0:r.length)||0),a=`/api/bars/${encodeURIComponent(e)}?timeframe=${encodeURIComponent(t)}&count=${s}`,c=(async()=>{try{const e=await fetch(a);if(!e.ok)return null;const t=await e.json();return null!==t&&void 0!==t&&t.bars?(eb.set(i,{bars:t.bars,ts:Date.now()}),t):null}catch{return null}finally{tb.delete(i)}})();tb.set(i,c);const d=await c;return d?nb(e,t,d.bars,n,!1):null}const ib={A:{greenMin:5,amberMin:10},B:{greenMin:15,amberMin:25},C:{greenMin:30,amberMin:45},D:{greenMin:720,amberMin:1440}},ob={A:"5 min",B:"15 min",C:"30 min",D:"daily"};function lb(e){return null==e?"\u2014":e<1?`${Math.max(1,Math.round(60*e))}s`:e<60?`${Math.round(e)}m`:e<1440?`${Math.round(e/60)}h`:e<2880?"yest":`${Math.round(e/1440)}d`}function sb(e){let{computedAt:t,tier:n="B",title:r,showCadence:i=!1}=e;const o=function(e){if(!e||"string"!==typeof e)return null;const t=Date.parse(e);return isFinite(t)?(Date.now()-t)/6e4:null}(t),l=i?ob[n]:null;if(null==o&&!l)return null;const s=null!=o?function(e,t){const n=ib[e]||ib.B;return t<n.greenMin?{fg:"#00c853",bg:"rgba(0,200,83,0.10)",border:"rgba(0,200,83,0.30)"}:t<n.amberMin?{fg:"#ffab00",bg:"rgba(255,171,0,0.10)",border:"rgba(255,171,0,0.30)"}:{fg:"#f44336",bg:"rgba(244,67,54,0.10)",border:"rgba(244,67,54,0.30)"}}(n,o):null;return(0,Hg.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:6,fontFamily:"ui-monospace, monospace"},children:[null!=o&&(0,Hg.jsxs)("span",{title:r||(t?`Computed ${t} (tier ${n})`:null),style:{display:"inline-flex",alignItems:"center",gap:4,padding:"1px 6px",borderRadius:3,fontSize:10,fontWeight:600,letterSpacing:"0.4px",lineHeight:1.3,background:s.bg,color:s.fg,border:`1px solid ${s.border}`},children:[(0,Hg.jsx)("span",{style:{width:5,height:5,borderRadius:"50%",background:s.fg,display:"inline-block"}}),lb(o)]}),l&&(0,Hg.jsxs)("span",{style:{color:"#aaa",fontSize:10,letterSpacing:"0.3px",whiteSpace:"nowrap"},children:["updates every ",l]})]})}function ab(){let e=null,t=null;for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];for(const o of r){if(!o||"string"!==typeof o)continue;const n=Date.parse(o);isFinite(n)&&((null==e||n<e)&&(e=n,t=o))}return t}function cb(e){let{tooltip:t="Calibrating \u2014 don't trust this signal yet. Producer-side cutoffs / formula are provisional.",label:n="\u26a0 CALIBRATING"}=e;return(0,Hg.jsx)("span",{title:t,style:{display:"inline-flex",alignItems:"center",gap:4,padding:"1px 6px",borderRadius:3,fontSize:10,fontWeight:700,letterSpacing:"0.5px",lineHeight:1.3,background:"rgba(255,171,0,0.10)",color:"#ffab00",border:"1px solid rgba(255,171,0,0.30)",cursor:"help",fontFamily:"ui-monospace, monospace",whiteSpace:"nowrap"},children:n})}const db={bg:"#000",bgPanel:"#0a0a0a",bgCard:"#0d0d0d",border:"#1e1e1e",borderLt:"#2a2a2a",white:"#fff",gray:"#777",muted:"#444",orange:"#ff6d00",green:"#00c853",red:"#f44336",cyan:"#00d4ff",yellow:"#ffd600",amber:"#ffab00",purple:"#b47aff"},ub="'Courier New',Consolas,monospace",hb=["US500","USTEC","XAUUSD","XAGUSD","XTIUSD"],pb={US500:"S&P 500",USTEC:"NASDAQ 100",XAUUSD:"GOLD",XAGUSD:"SILVER",XTIUSD:"WTI CRUDE"},fb={US500:"SPY",USTEC:"QQQ",XAUUSD:"GLD",XAGUSD:"SLV",XTIUSD:"USO"},gb=["#00d4ff","#ff6d00","#00c853","#ffd600","#b47aff","#f44336","#00bcd4","#ff9800"],mb=9e5,yb=e=>{if(null==e)return"\u2014";const t=e>=0?"+":"";return Math.abs(e)<5e8?`${t}${(e/1e6).toFixed(1)}M`:`${t}${(e/1e9).toFixed(2)}B`};function vb(e){let{label:t,value:n,color:r,sub:i,explain:o}=e;return(0,Hg.jsxs)("div",{style:{padding:"7px 12px",background:db.bgCard,border:`1px solid ${db.border}`,flex:1,minWidth:110,flexShrink:0},children:[(0,Hg.jsx)("div",{style:{fontSize:9,color:db.gray,fontFamily:ub,letterSpacing:"1px",marginBottom:3,fontWeight:700},children:t}),(0,Hg.jsx)("div",{style:{fontSize:14,fontWeight:800,color:r||db.white,fontFamily:ub,lineHeight:1.1},children:n}),i&&(0,Hg.jsx)("div",{style:{fontSize:9,color:db.gray,marginTop:3,fontFamily:ub},children:i}),o&&(0,Hg.jsx)("div",{style:{fontSize:8,color:"#777",marginTop:3,fontStyle:"italic",lineHeight:1.35},children:o})]})}function xb(e){let{label:t,active:n,onClick:r,color:i}=e;return(0,Hg.jsx)("button",{onClick:r,style:{background:n?`${i||db.cyan}18`:"transparent",border:`1px solid ${n?i||db.cyan:db.border}`,color:n?i||db.cyan:db.muted,padding:"2px 7px",fontSize:7,fontFamily:ub,cursor:"pointer",fontWeight:n?700:400},children:t})}function bb(e){var n,r,i,o,l,s,a,c,d,u,h,p,f,g,m,y;let{fieldData:v,spot:x,cfdRatio:b,cfdMode:w,refLines:S=[],blendMode:j=!1,monthMode:k="curr",contrast:_=.5,liveBars:E=[],conesData:C=null,coneWeight:T=.5,showContour:M=!1,contourWidth:O=.6}=e;const A=(0,t.useRef)(null),P=(0,t.useRef)(null),[I,D]=(0,t.useState)(null),[L,R]=(0,t.useState)(800),[z,N]=(0,t.useState)(500),F=(0,t.useRef)({w:800,h:500}),[$,W]=(0,t.useState)(null),B=(0,t.useRef)(null);(0,t.useEffect)(()=>{W(null)},[v,k]),(0,t.useEffect)(()=>{const e=P.current;if(!e)return;const t=new ResizeObserver(e=>{const{width:t,height:n}=e[0].contentRect,r=Math.floor(t),i=Math.floor(n);r>100&&i>100&&(Math.abs(r-F.current.w)>3||Math.abs(i-F.current.h)>3)&&(F.current={w:r,h:i},R(r),N(i))});return t.observe(e),()=>t.disconnect()},[]);const U=220,H={top:44,right:70,bottom:52,left:60},V=Math.max(1,L-H.left-H.right-U),Y=Math.max(1,z-H.top-H.bottom),G=H.left+V+H.right,K="prev"===k?"month_prev":"month_curr",q=null!==v&&void 0!==v&&v.modes?Object.keys(v.modes):[],X=q.includes(K)?K:q[0]||K,J=X!==K&&q.length>0,Q=(null===v||void 0===v||null===(n=v.modes)||void 0===n?void 0:n[X])||null,Z=!!(null!==Q&&void 0!==Q&&null!==(r=Q.axes)&&void 0!==r&&null!==(i=r.days)&&void 0!==i&&i.length&&null!==Q&&void 0!==Q&&null!==(o=Q.axes)&&void 0!==o&&null!==(l=o.prices)&&void 0!==l&&l.length&&null!==Q&&void 0!==Q&&null!==(s=Q.options_weight)&&void 0!==s&&s.length),ee=(null===Q||void 0===Q||null===(a=Q.axes)||void 0===a?void 0:a.days)||[],te=(null===Q||void 0===Q||null===(c=Q.axes)||void 0===c?void 0:c.prices)||[],ne=null!==(d=null===Q||void 0===Q||null===(u=Q.axes)||void 0===u?void 0:u.today_index)&&void 0!==d?d:-1,re=ee.length,ie=te.length,oe=(null===Q||void 0===Q?void 0:Q.options_weight)||[],le=(null===Q||void 0===Q?void 0:Q.band_density)||[],se=(null===Q||void 0===Q?void 0:Q.bands)||{},ae=le.length>0&&(null===(h=le[0])||void 0===h?void 0:h.length)>0,ce=Object.keys(se).length>0,de=(null===Q||void 0===Q?void 0:Q.realized_ohlc)||[],ue=(null===Q||void 0===Q?void 0:Q.realized_intraday)||[],he=(null===Q||void 0===Q?void 0:Q.metadata)||{},pe=he.snapshot_provenance||null,fe=null!==(p=null!==(f=null===v||void 0===v?void 0:v.spot)&&void 0!==f?f:x)&&void 0!==p?p:null,ge=he.price_range||(ie>0?[te[0],te[ie-1]]:[0,1]),[me,ye]=$||ge,ve=ye-me||1,xe=(0,t.useMemo)(()=>{var e;if(!C||!re)return null;const t=C.cones||C,n="prev"===k?["gbm_month_prev","gbm_prev","month_prev"]:["gbm_month_curr","gbm_curr","month_curr","gbm_now"];let r=null,i=null;for(const d of n){var o,l;if(null!==(o=t[d])&&void 0!==o&&null!==(l=o.median)&&void 0!==l&&l.length){r=t[d],i=d;break}}if(!r)return console.warn(`[cone] no matching key in cones data. Looked for: ${n.join(",")}. Available: ${Object.keys(t).slice(0,10).join(",")}`),null;let s=6;if((null===(e=r.dates)||void 0===e?void 0:e.length)>=2){const e=String(r.dates[0]).slice(0,10);let t=0;for(const n of r.dates){if(String(n).slice(0,10)!==e)break;t++}t>=1&&t<=24&&(s=t)}const a=Math.floor(s/2),c=e=>{if(!e)return null;const t=new Array(re).fill(null);for(let n=0;n<re;n++){const r=n*s+a;r<e.length&&(t[n]=e[r])}return t};return console.log(`[cone] using key=${i}, entriesPerDay=${s}, raw n=${r.median.length}, covers ${Math.min(re,Math.floor(r.median.length/s))} of ${re} chart days`),{median:c(r.median),sd1_high:c(r.sd1_high),sd1_low:c(r.sd1_low),sd2_high:c(r.sd2_high),sd2_low:c(r.sd2_low),sd3_high:c(r.sd3_high),sd3_low:c(r.sd3_low),_entriesPerDay:s,_usedKey:i}},[C,k,re]),be=(0,t.useMemo)(()=>{if(!j||!xe||!xe.median)return null;const e=new Array(re);let t=0;for(let h=0;h<re;h++){var n,r,i,o,l,s,a,c,d,u;const p=new Float32Array(ie),f=xe.median[h];if(null==f){e[h]=p;continue}const g=[f],m=e=>{null!=e&&isFinite(e)&&g.push(e)};m(null===(n=xe.sd1_high)||void 0===n?void 0:n[h]),m(null===(r=xe.sd1_low)||void 0===r?void 0:r[h]),m(null===(i=xe.sd2_high)||void 0===i?void 0:i[h]),m(null===(o=xe.sd2_low)||void 0===o?void 0:o[h]),m(null===(l=xe.sd3_high)||void 0===l?void 0:l[h]),m(null===(s=xe.sd3_low)||void 0===s?void 0:s[h]);const y=null===(a=xe.sd1_high)||void 0===a?void 0:a[h],v=null===(c=xe.sd1_low)||void 0===c?void 0:c[h],x=null===(d=xe.sd2_high)||void 0===d?void 0:d[h],b=null===(u=xe.sd2_low)||void 0===u?void 0:u[h];let w=null;w=null!=y&&isFinite(y)?Math.abs(y-f):null!=v&&isFinite(v)?Math.abs(f-v):null!=x&&isFinite(x)?Math.abs(x-f)/2:null!=b&&isFinite(b)?Math.abs(f-b)/2:.01*Math.abs(f);const S=Math.max(.3*w,.0015*Math.abs(f)),j=1/(2*S*S),k=(null!=x&&isFinite(x)?x:f+3*w)+2*S,_=(null!=b&&isFinite(b)?b:f-3*w)-2*S;for(let e=0;e<ie;e++){const n=te[e];if(n>k||n<_)continue;let r=0;for(let e=0;e<g.length;e++){const t=n-g[e];t*t*j>8||(r+=Math.exp(-t*t*j))}r>0&&(p[e]=r),r>t&&(t=r)}e[h]=p}if(t>0&&1!==t){const n=1/t;for(let t=0;t<re;t++){const r=e[t];for(let e=0;e<ie;e++)r[e]*=n}}return e},[j,xe,re,ie,te]),we=(0,t.useMemo)(()=>{if(!Z)return 1;const e=Math.max(0,Math.min(1,T)),t=1-e,n=j&&be,r=[];for(let o=0;o<re;o++){const i=oe[o]||[],l=ae?le[o]||[]:null,s=n?be[o]:null;for(let o=0;o<ie;o++){const a=i[o]||0;let c;if(n){c=a*t+(s?s[o]:0)*e}else if(ae){const e=l&&l[o]||0;c=Math.max(a,.85*e)}else c=a;c>.001&&r.push(c)}}if(0===r.length)return 1;r.sort((e,t)=>e-t);const i=r[Math.floor(.99*r.length)];return i>0?i:1},[Z,j,be,oe,le,ae,re,ie,T]),Se=we,je=((0,t.useCallback)(e=>{const t=$||ge,n=t[1]-t[0]||1,r=1-(e-H.top)/Y;return t[0]+r*n},[$,ge,Y,H.top]),(0,t.useCallback)(e=>{const t=A.current;if(!t)return;const n=t.getBoundingClientRect(),r=(e.clientX-n.left)/(n.width||L)*L,i=(e.clientY-n.top)/(n.height||z)*z;if(r<H.left||r>H.left+V||i<H.top||i>H.top+Y)return;const o=$||ge;B.current={startY:e.clientY,startLo:o[0],startHi:o[1]},e.preventDefault()},[L,z,V,Y,H.left,H.top,$,ge])),ke=(0,t.useCallback)(e=>{const t=A.current;if(!t)return;const n=t.getBoundingClientRect(),r=(e.clientX-n.left)/(n.width||L)*L,i=(e.clientY-n.top)/(n.height||z)*z;if(B.current){const t=e.clientY-B.current.startY,r=B.current.startHi-B.current.startLo,i=t/(n.height||z)*r*(z/Math.max(Y,1));return W([B.current.startLo+i,B.current.startHi+i]),void D(null)}D(r>=H.left&&r<=H.left+V&&i>=H.top&&i<=H.top+Y?{x:r,y:i}:null)},[L,z,V,Y,H.left,H.top]),_e=(0,t.useCallback)(()=>{B.current=null},[]),Ee=(0,t.useCallback)(()=>{B.current=null,D(null)},[]);(0,t.useEffect)(()=>{const e=A.current;if(!e)return;const t=t=>{const n=e.getBoundingClientRect(),r=(t.clientX-n.left)/(n.width||L)*L,i=(t.clientY-n.top)/(n.height||z)*z;if(r<H.left||r>H.left+V||i<H.top||i>H.top+Y)return;t.preventDefault();const o=t.deltaY>0?1.12:.89,l=$||ge,s=l[1]-l[0],a=l[0]+(1-(i-H.top)/Y)*s,c=Math.max(s*o,1);if(c>=ge[1]-ge[0])return void W(null);const d=a+(i-H.top)/Y*c;W([d-c,d])};return e.addEventListener("wheel",t,{passive:!1}),()=>e.removeEventListener("wheel",t)},[L,z,V,Y,H.left,H.top,$,ge]);const Ce=(0,t.useCallback)(()=>{W(null)},[]),Te=null===v||void 0===v?void 0:v.format_version,Me=Te&&!String(Te).startsWith("2")&&!String(Te).startsWith("3");if(!Z){var Oe,Ae;let e="Loading probability field\u2026";return v?Me?e=`Probability field format ${Te} not supported \u2014 update required`:v.modes?0===q.length?e="Payload has no modes computed yet \u2014 waiting for producer":Q?null!==(Oe=Q.axes)&&void 0!==Oe&&null!==(Ae=Oe.days)&&void 0!==Ae&&Ae.length||(e=`Mode '${X}' has no axes.days \u2014 producer output incomplete`):e=`Mode '${K}' not available. Present: ${q.join(", ")}`:e="Payload has no 'modes' key \u2014 producer output malformed":e="Fetching probability field\u2026",(0,Hg.jsx)("div",{ref:P,style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",color:"#9ca3af",fontSize:12,fontFamily:ub,background:"#06080c",width:"100%",height:"100%",padding:"0 40px",textAlign:"center",lineHeight:1.6},children:e})}const Pe=e=>{if(null==e)return"\u2014";const t=Number(e);return t>1e3?Math.round(t).toString():t.toFixed(2)},Ie=V/Math.max(re,1),De=e=>H.left+(e+.5)*Ie,Le=e=>H.top+Y-(e-me)/ve*Y,Re=e=>Le(te[e]),ze=(e,t)=>{if(e<=.02*t)return null;const n=Math.min(1,e/t),r=Math.pow(n,.75);let i,o,l;if(r<.18){const e=r/.18;i=Math.round(6+24*e),o=Math.round(8+19*e),l=Math.round(12+63*e)}else if(r<.42){const e=(r-.18)/.24;i=Math.round(30+46*e),o=Math.round(27+2*e),l=Math.round(75+74*e)}else if(r<.65){const e=(r-.42)/.23;i=Math.round(76+118*e),o=Math.round(29+36*e),l=Math.round(149+-137*e)}else if(r<.85){const e=(r-.65)/.2;i=Math.round(194+56*e),o=Math.round(65+139*e),l=Math.round(12+9*e)}else{const e=(r-.85)/.15;i=Math.round(250+5*e),o=Math.round(204+51*e),l=Math.round(21+234*e)}return`rgb(${i},${o},${l})`},Ne=(()=>{const e=Math.max(0,Math.min(1,_));return e<.5?1.8+e/.5*-.8:1+(e-.5)/.5*-.6})(),Fe=(e,t,n)=>{let r;return r=j&&null!=n?e*(1-T)+n*T:ae?j?e+.9*t:Math.max(e,.85*t):e,Math.pow(r,Ne)},$e=Ie+3,We=Y/Math.max(ie-1,1)+3,Be=[],Ue=M?Array.from({length:re},()=>new Float32Array(ie)):null;for(let t=0;t<re;t++){const e=De(t)-$e/2,n=oe[t]||[],r=ae?le[t]||[]:null,i=j&&be?be[t]:null;for(let o=0;o<ie;o++){const l=Fe(n[o]||0,r&&r[o]||0,i?i[o]:null);if(Ue){const e=Math.min(1,l/Se);Ue[t][o]=Math.pow(e,.75)}const s=ze(l,Se);if(!s)continue;const a=Re(o)-We/2;Be.push((0,Hg.jsx)("rect",{x:e,y:a,width:$e,height:We,fill:s,shapeRendering:"geometricPrecision"},`${t}-${o}`))}}const He=(()=>{if(!Ue||re<2||ie<2)return null;const e=Array.from({length:re},()=>new Float32Array(ie));for(let i=0;i<re;i++){const t=Math.max(0,i-1),n=Math.min(re-1,i+1),r=e[i];for(let e=0;e<ie;e++){const i=Math.max(0,e-1),o=Math.min(ie-1,e+1);let l=0;for(let e=t;e<=n;e++){const t=Ue[e];for(let e=i;e<=o;e++)l+=t[e]}r[e]=l/((n-t+1)*(o-i+1))}}const t=[.3,.55,.8],n=[],r=[];for(const i of t)for(let t=0;t<re-1;t++){const o=e[t],l=e[t+1];for(let e=0;e<ie-1;e++){const s=o[e],a=l[e],c=l[e+1],d=o[e+1],u=(s>i?8:0)|(a>i?4:0)|(c>i?2:0)|(d>i?1:0);if(0===u||15===u)continue;const h=De(t),p=De(t+1),f=Re(e),g=Re(e+1),m=(e,t)=>(i-e)/(t-e||1e-9),y=h+m(s,a)*(p-h),v=f+m(a,c)*(g-f),x=h+m(d,c)*(p-h),b=f+m(s,d)*(g-f);let w;switch(u){case 1:case 14:w=[[h,b,x,g]];break;case 2:case 13:w=[[x,g,p,v]];break;case 3:case 12:w=[[h,b,p,v]];break;case 4:case 11:w=[[y,f,p,v]];break;case 5:w=.25*(s+a+c+d)>i?[[h,b,y,f],[x,g,p,v]]:[[h,b,x,g],[y,f,p,v]];break;case 6:case 9:w=[[y,f,x,g]];break;case 7:case 8:w=[[h,b,y,f]];break;case 10:w=.25*(s+a+c+d)>i?[[y,f,p,v],[h,b,x,g]]:[[h,b,y,f],[x,g,p,v]];break;default:w=[]}const S=.25*(s+a+c+d)>.5?n:r;for(const e of w)S.push(`M${e[0].toFixed(2)} ${e[1].toFixed(2)}L${e[2].toFixed(2)} ${e[3].toFixed(2)}`)}}return 0===n.length&&0===r.length?null:(0,Hg.jsxs)("g",{pointerEvents:"none",children:[r.length>0&&(0,Hg.jsx)("path",{d:r.join(""),fill:"none",stroke:"rgba(255,255,255,0.38)",strokeWidth:O,strokeLinecap:"round",strokeLinejoin:"round",shapeRendering:"geometricPrecision"}),n.length>0&&(0,Hg.jsx)("path",{d:n.join(""),fill:"none",stroke:"rgba(0,0,0,0.45)",strokeWidth:O,strokeLinecap:"round",strokeLinejoin:"round",shapeRendering:"geometricPrecision"})]})})(),Ve={sd3_high:{color:"#22d3ee",width:1,dash:"3 3",opacity:.55},sd2_high:{color:"#22d3ee",width:1.2,dash:"4 3",opacity:.7},sd1_high:{color:"#22d3ee",width:1.7,dash:"5 3",opacity:.9},median:{color:"#f59e0b",width:1.8,dash:"6 2",opacity:.95},sd1_low:{color:"#22d3ee",width:1.7,dash:"5 3",opacity:.9},sd2_low:{color:"#22d3ee",width:1.2,dash:"4 3",opacity:.7},sd3_low:{color:"#22d3ee",width:1,dash:"3 3",opacity:.55}},Ye=[];!j&&ce&&Object.entries(Ve).forEach(e=>{var t;let[n,r]=e;const i=se[n];if(null===i||void 0===i||null===(t=i.prices)||void 0===t||!t.length)return;const o=[];for(let l=0;l<i.prices.length;l++){const e=i.prices[l];if(null==e)continue;if(e<me||e>ye)continue;let t=l;if(i.days&&i.days[l]){const e=ee.indexOf(i.days[l]);e>=0&&(t=e)}o.push(`${De(t)},${Le(e)}`)}o.length<2||Ye.push((0,Hg.jsx)("polyline",{points:o.join(" "),fill:"none",stroke:r.color,strokeWidth:r.width,strokeDasharray:r.dash,opacity:r.opacity},n))});const Ge=[];!j&&xe&&Object.entries(Ve).forEach(e=>{let[t,n]=e;const r=xe[t];if(!r)return;const i=[];for(let o=0;o<re;o++){const e=r[o];null!=e&&(e<me||e>ye||i.push(`${De(o)},${Le(e)}`))}i.length<2||Ge.push((0,Hg.jsx)("polyline",{points:i.join(" "),fill:"none",stroke:n.color,strokeWidth:n.width,strokeDasharray:n.dash,opacity:n.opacity},`cone-${t}`))});const Ke=13.5,qe="prev"===k?E&&E.length>0?E:de||[]:E||[],Xe=qe[0],Je=!(!Xe||!(Xe.time||Xe.t||Xe.datetime)),Qe=Je?qe.filter(e=>{const t=e.time||e.t||e.datetime;if(!t)return!1;const n=String(t).slice(0,10);return ee.indexOf(n)>=0}):qe.filter(e=>{const t=e.date||e.Date||e.time&&String(e.time).slice(0,10);return!!t&&ee.indexOf(t)>=0});let Ze=Qe;if(Je&&Qe.length>0){const e=Qe.filter(e=>{const t=e.time||e.t||e.datetime;if(!t)return!1;const n=new Date(t),r=n.getUTCHours()+n.getUTCMinutes()/60;return r>=Ke&&r<20});e.length>=.2*Qe.length&&(Ze=e)}const et=Je&&Ze.length>0&&Ze===Qe,tt=(e,t)=>{if(Je){const n=e.time||e.t||e.timestamp||e.datetime;if(!n)return De(t);const r=new Date(n),i=String(n).slice(0,10),o=ee.indexOf(i);if(o<0)return De(t);const l=r.getUTCHours()+r.getUTCMinutes()/60,s=et?Math.max(0,Math.min(1,l/24)):Math.max(0,Math.min(1,(l-Ke)/6.5));return H.left+o*Ie+.06*Ie+s*Ie*.88}let n=e.date||e.Date;if(!n){const t=e.time||e.t||e.timestamp||e.datetime;t&&(n=String(t).slice(0,10))}if(!n)return De(t);const r=ee.indexOf(n);return De(r<0?t:r)},nt=(()=>{if(!Je)return Math.max(2,Math.min(.7*Ie,14));if(Ze.length<2)return 4;let e=1/0;const t=Math.min(30,Ze.length-1);for(let n=0;n<t;n++){const t=Math.abs(tt(Ze[n+1],n+1)-tt(Ze[n],n));t>0&&t<e&&(e=t)}return isFinite(e)||(e=Ie/14),Math.max(2,Math.min(.78*e,7))})(),rt=nt/2,it=[];Ze.forEach((e,t)=>{var n,r,i,o,l,s,a,c,d,u,h,p;const f=null!==(n=null!==(r=null!==(i=e.o)&&void 0!==i?i:e.open)&&void 0!==r?r:e.Open)&&void 0!==n?n:0,g=null!==(o=null!==(l=null!==(s=e.h)&&void 0!==s?s:e.high)&&void 0!==l?l:e.High)&&void 0!==o?o:0,m=null!==(a=null!==(c=null!==(d=e.l)&&void 0!==d?d:e.low)&&void 0!==c?c:e.Low)&&void 0!==a?a:0,y=null!==(u=null!==(h=null!==(p=e.c)&&void 0!==p?p:e.close)&&void 0!==h?h:e.Close)&&void 0!==u?u:0;if(!f||!y)return;if(Math.max(f,y)<me||Math.min(f,y)>ye)return;const v=tt(e,t);if(v<H.left-2||v>H.left+V+2)return;const x=Le(f),b=Le(y),w=Le(g),S=Le(m),j=y>=f,k=Math.min(x,b),_=Math.max(Math.abs(b-x),1),E=j?"#22c55e":"#ef4444",C=j?"#064e1f":"#5c0a0a";it.push((0,Hg.jsxs)("g",{children:[(0,Hg.jsx)("line",{x1:v,y1:w,x2:v,y2:S,stroke:"#000",strokeWidth:2.2,opacity:.65}),(0,Hg.jsx)("line",{x1:v,y1:w,x2:v,y2:S,stroke:E,strokeWidth:1.3,opacity:1}),(0,Hg.jsx)("rect",{x:v-rt,y:k,width:nt,height:_,fill:E,stroke:C,strokeWidth:.8,opacity:1})]},`c${t}`))});const ot="prev"===k;let lt=null;!ot&&ne>=0&&ne<re&&(lt=De(ne));const st=(()=>{if(0===re)return[];const e=[],t=Math.min(7,re);for(let n=0;n<t;n++){const r=Math.round(n/Math.max(t-1,1)*(re-1)),i=ee[r];if(!i)continue;const o=new Date(i+"T12:00:00Z"),l=`${String(o.getUTCDate()).padStart(2,"0")}/${String(o.getUTCMonth()+1).padStart(2,"0")}`;e.push({x:De(r),label:l,dIdx:r,isAnchor:0===r,isToday:r===ne})}return e})(),at=(()=>{const e=ve/10,t=Math.pow(10,Math.floor(Math.log10(Math.max(e,1)))),n=Math.ceil(e/t)*t,r=[];for(let i=Math.ceil(me/n)*n;i<=ye;i+=n)r.push(Math.round(100*i)/100);return r})(),ct=re-1,dt=new Array(ie).fill(0);let ut=0;if(ct>=0){const e=oe[ct]||[],t=ae?le[ct]||[]:null;for(let n=0;n<ie;n++){const r=Fe(e[n]||0,t&&t[n]||0);dt[n]=r,r>ut&&(ut=r)}}0===ut&&(ut=1);let ht=0,pt=-1;for(let t=0;t<ie;t++)dt[t]>pt&&(pt=dt[t],ht=t);const ft=te[ht],gt=(()=>{if(0===ee.length)return"";return new Date(ee[0]+"T12:00:00Z").toLocaleString("en-US",{month:"short",year:"numeric",timeZone:"UTC"}).toUpperCase()})(),mt=((e,t,n)=>{const r=Je?ue:de;if(!r.length)return null;const i=r[r.length-1];return null!==(e=null!==(t=null!==(n=i.c)&&void 0!==n?n:i.close)&&void 0!==t?t:i.Close)&&void 0!==e?e:null})(),yt=null===(g=se.median)||void 0===g?void 0:g.prices,vt=null!==yt&&void 0!==yt&&yt.length?yt[0]:null!==(m=null!==(y=he.price_center)&&void 0!==y?y:fe)&&void 0!==m?m:0;let xt=null;if(I){const e=(I.x-H.left)/V,t=1-(I.y-H.top)/Y,n=Math.max(0,Math.min(re-1,Math.floor(e*re))),r=Math.max(0,Math.min(ie-1,Math.round(t*(ie-1)))),i=me+t*ve,o=(oe[n]||[])[r]||0,l=ae&&(le[n]||[])[r]||0,s=Fe(o,l)/Se*100,a=ee[n]||"";let c="\u2014";var bt,wt,St;if(pe)null!==(bt=pe.archived)&&void 0!==bt&&bt.includes(n)?c="ARCHIVE":null!==(wt=pe.carried_forward)&&void 0!==wt&&wt.includes(n)?c="CARRIED":null!==(St=pe.forward_projection)&&void 0!==St&&St.includes(n)&&(c="PROJECTED");xt={hPrice:i,hPct:s,ow:o,bd:l,hDateStr:a,dIdx:n,provSource:c}}return(0,Hg.jsx)("div",{ref:P,style:{flex:1,position:"relative",overflow:"hidden",width:"100%",height:"100%",background:"#06080c"},children:(0,Hg.jsxs)("svg",{ref:A,width:"100%",height:"100%",viewBox:`0 0 ${L} ${z}`,preserveAspectRatio:"none",style:{display:"block",cursor:B.current?"grabbing":"crosshair",userSelect:"none"},onMouseDown:je,onMouseMove:ke,onMouseUp:_e,onMouseLeave:Ee,onDoubleClick:Ce,children:[(0,Hg.jsx)("rect",{x:0,y:0,width:L,height:z,fill:"#06080c"}),(0,Hg.jsx)("rect",{x:0,y:0,width:L,height:36,fill:"#0b0f17"}),(0,Hg.jsx)("line",{x1:0,y1:36,x2:L,y2:36,stroke:"#1f2937",strokeWidth:1}),(0,Hg.jsx)("rect",{x:14,y:12,width:6,height:6,fill:"#f59e0b"}),(0,Hg.jsx)("text",{x:26,y:18,fill:"#ffffff",fontSize:10,fontWeight:800,letterSpacing:"2.5",fontFamily:ub,children:"PROBABILITY MATRIX"}),(0,Hg.jsxs)("text",{x:26,y:29,fill:"#6b7280",fontSize:8,letterSpacing:"1.2",fontFamily:ub,children:["OPTIONS WEIGHT + BAND DENSITY \xb7 v",Te||"2.0"]}),(()=>{let e=270;const t=(t,n)=>{const r=5.4*t.length+12,i=(0,Hg.jsxs)("g",{children:[(0,Hg.jsx)("rect",{x:e,y:9,width:r,height:16,rx:2,fill:`${n}1a`,stroke:`${n}55`,strokeWidth:.8}),(0,Hg.jsx)("text",{x:e+r/2,y:20,textAnchor:"middle",fill:n,fontSize:9,fontWeight:700,fontFamily:ub,children:t})]},`b${e}`);return e+=r+6,i},n=[];if(n.push(t(`${gt} \xb7 ${re}D`,"#f59e0b")),J?n.push(t(`\u26a0 SHOWING ${X.toUpperCase()}`,"#facc15")):n.push(t("MODE "+("prev"===k?"PREVIOUS":"CURRENT"),"prev"===k?"#a78bfa":"#22d3ee")),n.push(t(j?"GBM CONE FUSED":"CONES OVERLAY",j?"#22c55e":"#a78bfa")),Je&&n.push(t(`INTRADAY ${Ze.length}`,"#22c55e")),mt&&n.push(t(`LAST ${Pe(mt)}`,"#22d3ee")),!ot&&fe&&n.push(t(`SPOT ${Pe(fe)}`,"#22d3ee")),$){const e=ge[1]-ge[0],r=$[1]-$[0],i=Math.round(e/Math.max(r,1)*100);n.push(t(`ZOOM ${i}% \xb7 DBL-CLICK RESET`,"#facc15"))}return n})(),(()=>{const e=L-200;return(0,Hg.jsxs)("g",{children:[(0,Hg.jsx)("text",{x:e-4,y:21,textAnchor:"end",fill:"#6b7280",fontSize:8,fontFamily:ub,children:"PROB"}),(0,Hg.jsx)("defs",{children:(0,Hg.jsxs)("linearGradient",{id:"probLegend",x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:[(0,Hg.jsx)("stop",{offset:"0%",stopColor:"#06080c"}),(0,Hg.jsx)("stop",{offset:"20%",stopColor:"#1e1b4b"}),(0,Hg.jsx)("stop",{offset:"42%",stopColor:"#4c1d95"}),(0,Hg.jsx)("stop",{offset:"65%",stopColor:"#c2410c"}),(0,Hg.jsx)("stop",{offset:"85%",stopColor:"#facc15"}),(0,Hg.jsx)("stop",{offset:"100%",stopColor:"#ffffff"})]})}),(0,Hg.jsx)("rect",{x:e,y:14,width:140,height:8,fill:"url(#probLegend)",stroke:"#1f2937",strokeWidth:.5}),(0,Hg.jsx)("text",{x:e,y:33,fill:"#6b7280",fontSize:7,fontFamily:ub,children:"LOW"}),(0,Hg.jsx)("text",{x:e+140,y:33,textAnchor:"end",fill:"#6b7280",fontSize:7,fontFamily:ub,children:"HIGH"})]})})(),(0,Hg.jsx)("rect",{x:H.left,y:H.top,width:V,height:Y,fill:"#0a0b1c",stroke:"#1f2937",strokeWidth:1}),(0,Hg.jsxs)("defs",{children:[(0,Hg.jsxs)("filter",{id:"heatSmooth",x:"-5%",y:"-5%",width:"110%",height:"110%",children:[(0,Hg.jsx)("feGaussianBlur",{stdDeviation:"14 3.5",result:"b1"}),(0,Hg.jsx)("feGaussianBlur",{in:"b1",stdDeviation:"4 1.5",result:"b2"}),(0,Hg.jsx)("feColorMatrix",{in:"b2",type:"matrix",values:" 1.45 0 0 0 0 0 1.45 0 0 0 0 0 1.45 0 0 0 0 0 1 0"})]}),(0,Hg.jsxs)("linearGradient",{id:"heatFadeY",x1:"0%",y1:"0%",x2:"0%",y2:"100%",children:[(0,Hg.jsx)("stop",{offset:"0%",stopColor:"#fff",stopOpacity:"0"}),(0,Hg.jsx)("stop",{offset:"10%",stopColor:"#fff",stopOpacity:"0.55"}),(0,Hg.jsx)("stop",{offset:"22%",stopColor:"#fff",stopOpacity:"1"}),(0,Hg.jsx)("stop",{offset:"78%",stopColor:"#fff",stopOpacity:"1"}),(0,Hg.jsx)("stop",{offset:"90%",stopColor:"#fff",stopOpacity:"0.55"}),(0,Hg.jsx)("stop",{offset:"100%",stopColor:"#fff",stopOpacity:"0"})]}),(0,Hg.jsx)("mask",{id:"heatFadeMask",children:(0,Hg.jsx)("rect",{x:H.left,y:H.top,width:V,height:Y,fill:"url(#heatFadeY)"})})]}),(0,Hg.jsx)("g",{filter:"url(#heatSmooth)",mask:"url(#heatFadeMask)",children:Be}),He,at.map(e=>(0,Hg.jsx)("line",{x1:H.left,y1:Le(e),x2:H.left+V,y2:Le(e),stroke:"#ffffff",strokeWidth:.4,opacity:.05},`g${e}`)),Ye,Ge,!j&&ce&&Object.entries(se).map(e=>{var t;let[n,r]=e;if(null===r||void 0===r||null===(t=r.prices)||void 0===t||!t.length)return null;const i=Ve[n];if(!i)return null;const o=r.prices[r.prices.length-1];if(null==o||o<me||o>ye)return null;const l=Le(o),s={sd3_high:"+3\u03c3",sd2_high:"+2\u03c3",sd1_high:"+1\u03c3",median:"MED",sd1_low:"-1\u03c3",sd2_low:"-2\u03c3",sd3_low:"-3\u03c3"}[n];return(0,Hg.jsx)("text",{x:H.left+V-4,y:l-2,textAnchor:"end",fill:i.color,opacity:i.opacity,fontSize:8,fontWeight:700,fontFamily:ub,children:s},`bl${n}`)}),(0,Hg.jsx)("g",{children:it}),null!=lt&&(0,Hg.jsxs)("g",{children:[(0,Hg.jsx)("line",{x1:lt,y1:H.top,x2:lt,y2:H.top+Y,stroke:"#22d3ee",strokeWidth:1.2,strokeDasharray:"3 3",opacity:.95}),(0,Hg.jsx)("rect",{x:lt+4,y:H.top+4,width:86,height:16,fill:"#22d3ee",rx:2}),(0,Hg.jsxs)("text",{x:lt+47,y:H.top+15,textAnchor:"middle",fill:"#000",fontSize:9,fontWeight:800,fontFamily:ub,children:["TODAY \xb7 IDX ",ne]})]}),(()=>{if(!pe)return null;const e=pe.archived||[],t=pe.forward_projection||[];if(!e.length||!t.length)return null;const n=Math.max(...e),r=Math.min(...t);if(r!==n+1&&r!==n+2)return null;const i=H.left+((n+r)/2+.5)/re*V;return(0,Hg.jsxs)("g",{opacity:.55,children:[(0,Hg.jsx)("line",{x1:i,y1:H.top+26,x2:i,y2:H.top+Y,stroke:"#a78bfa",strokeWidth:.8,strokeDasharray:"2 4"}),(0,Hg.jsx)("rect",{x:i-38,y:H.top+Y-16,width:76,height:14,fill:"#0b0f17",stroke:"#a78bfa",strokeWidth:.8,rx:2}),(0,Hg.jsx)("text",{x:i,y:H.top+Y-6,textAnchor:"middle",fill:"#a78bfa",fontSize:8,fontWeight:700,fontFamily:ub,children:"PROJECTION \u2192"})]})})(),!ot&&S.map((e,t)=>{const n=Le(e.value);if(n<H.top-2||n>H.top+Y+2)return null;const r=e.label||"",i=8+5.4*r.length;return(0,Hg.jsxs)("g",{children:[(0,Hg.jsx)("line",{x1:H.left,y1:n,x2:H.left+V,y2:n,stroke:e.color,strokeWidth:1,strokeDasharray:e.dash||"5 4",opacity:.75}),r&&(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("rect",{x:H.left+2,y:n-7,width:i,height:13,fill:"#000",fillOpacity:.72,stroke:e.color,strokeOpacity:.55,strokeWidth:.6,rx:2}),(0,Hg.jsx)("text",{x:H.left+6,y:n+2.5,fill:e.color,fontSize:9,fontFamily:ub,fontWeight:800,letterSpacing:.3,children:r})]})]},`rf${t}`)}),!ot&&null!=fe&&(()=>{const e=Le(fe);return e<H.top||e>H.top+Y?null:(0,Hg.jsxs)("g",{children:[(0,Hg.jsx)("line",{x1:H.left,y1:e,x2:H.left+V,y2:e,stroke:"#22d3ee",strokeWidth:1.2,opacity:.9}),(0,Hg.jsx)("rect",{x:2,y:e-9,width:H.left-4,height:18,fill:"#22d3ee",rx:2}),(0,Hg.jsx)("text",{x:H.left/2,y:e+4,textAnchor:"middle",fill:"#000",fontSize:9,fontWeight:800,fontFamily:ub,children:Pe(fe)})]})})(),at.map(e=>{const t=Le(e);return!ot&&fe&&Math.abs(e-fe)<.025*ve?null:(0,Hg.jsx)("text",{x:H.left-6,y:t+3,textAnchor:"end",fill:"#6b7280",fontSize:9,fontFamily:ub,children:Pe(e)},`yl${e}`)}),(0,Hg.jsx)("line",{x1:H.left,y1:H.top+Y,x2:H.left+V,y2:H.top+Y,stroke:"#1f2937",strokeWidth:1}),st.map((e,t)=>(0,Hg.jsxs)("g",{children:[(0,Hg.jsx)("line",{x1:e.x,y1:H.top+Y,x2:e.x,y2:H.top+Y+7,stroke:e.isToday?"#22d3ee":e.isAnchor?"#f59e0b":"#6b7280",strokeWidth:e.isToday||e.isAnchor?1.6:1}),(0,Hg.jsx)("text",{x:e.x,y:H.top+Y+19,textAnchor:"middle",fill:e.isToday?"#22d3ee":e.isAnchor?"#f59e0b":"#d1d5db",fontSize:11,fontWeight:e.isToday||e.isAnchor?800:600,fontFamily:ub,children:e.label})]},`xt${t}`)),(0,Hg.jsxs)("text",{x:H.left+V/2,y:z-4,textAnchor:"middle",fill:"#9ca3af",fontSize:9,fontWeight:600,letterSpacing:"1.8",fontFamily:ub,children:[gt," \xb7 ",ot?"PREVIOUS MONTH":"CURRENT MONTH"," \xb7 ",re," TRADING DAYS"]}),(0,Hg.jsx)("rect",{x:G-H.right+8,y:H.top,width:U,height:Y,fill:"#0b0f17",stroke:"#1f2937",strokeWidth:1}),(0,Hg.jsx)("text",{x:G-H.right+18,y:H.top+16,fill:"#ffffff",fontSize:9,fontWeight:800,letterSpacing:"1.8",fontFamily:ub,children:"TERMINAL DISTRIBUTION"}),(0,Hg.jsxs)("text",{x:G-H.right+U-8,y:H.top+16,textAnchor:"end",fill:"#6b7280",fontSize:8,fontFamily:ub,children:[gt," END"]}),(0,Hg.jsx)("line",{x1:G-H.right+14,y1:H.top+22,x2:G-H.right+U-8,y2:H.top+22,stroke:"#1f2937",strokeWidth:.8}),(()=>{const e=[],t=G-H.right+14;if(ut<=0)return null;for(let n=0;n<ie;n++){const r=dt[n];if(r<=.02*ut)continue;const i=te[n];if(i<me||i>ye)continue;const o=r/ut*150,l=Le(i)-We/2,s=ze(r,.7*ut);s&&e.push((0,Hg.jsx)("rect",{x:t,y:l,width:o,height:We,fill:s,shapeRendering:"optimizeSpeed"},`pb${n}`))}return e})(),null!=ft&&(()=>{const e=Le(ft);if(e<H.top||e>H.top+Y)return null;const t=G-H.right+14,n=G-H.right+U-8;return(0,Hg.jsxs)("g",{children:[(0,Hg.jsx)("line",{x1:t,y1:e,x2:n,y2:e,stroke:"#f59e0b",strokeWidth:1.3,strokeDasharray:"3 2",opacity:.95}),(0,Hg.jsx)("text",{x:n,y:e-14,textAnchor:"end",fill:"#f59e0b",fontSize:8,fontWeight:800,fontFamily:ub,children:"PEAK"}),(0,Hg.jsx)("text",{x:n,y:e-4,textAnchor:"end",fill:"#f59e0b",fontSize:8,fontWeight:800,fontFamily:ub,children:"DENSITY"}),(0,Hg.jsxs)("text",{x:n,y:e+12,textAnchor:"end",fill:"#ffffff",fontSize:9,fontWeight:800,fontFamily:ub,children:["$",Pe(ft)]})]})})(),!ot&&null!=fe&&(()=>{const e=Le(fe);if(e<H.top||e>H.top+Y)return null;const t=G-H.right+14;return(0,Hg.jsxs)("g",{children:[(0,Hg.jsx)("line",{x1:t,y1:e,x2:t+14,y2:e,stroke:"#22d3ee",strokeWidth:1.5}),(0,Hg.jsx)("text",{x:G-H.right+U-8,y:e+3,textAnchor:"end",fill:"#22d3ee",fontSize:8,fontWeight:700,fontFamily:ub,children:"LAST"})]})})(),(0,Hg.jsx)("text",{x:G-H.right+14,y:H.top+Y-22,fill:"#6b7280",fontSize:7,fontFamily:ub,children:"Aggregate density at horizon"}),(0,Hg.jsx)("text",{x:G-H.right+14,y:H.top+Y-11,fill:"#6b7280",fontSize:7,fontFamily:ub,children:"Warm = high probability"}),I&&xt&&(()=>{const e=I.x+16,t=I.y+14,n=184,r=e+n>H.left+V?I.x-n-12:e,i=t+116>H.top+Y?I.y-116-12:t;return(0,Hg.jsxs)("g",{pointerEvents:"none",children:[(0,Hg.jsx)("line",{x1:H.left,y1:I.y,x2:H.left+V,y2:I.y,stroke:"#ffffff",strokeWidth:.7,strokeDasharray:"3 3",opacity:.45}),(0,Hg.jsx)("line",{x1:I.x,y1:H.top,x2:I.x,y2:H.top+Y,stroke:"#ffffff",strokeWidth:.7,strokeDasharray:"3 3",opacity:.4}),(0,Hg.jsx)("rect",{x:2,y:I.y-9,width:H.left-4,height:18,fill:"#1f2937",stroke:"#374151",strokeWidth:.6,rx:2}),(0,Hg.jsx)("text",{x:H.left/2,y:I.y+4,textAnchor:"middle",fill:"#ffffff",fontSize:9,fontWeight:700,fontFamily:ub,children:Pe(xt.hPrice)}),(0,Hg.jsx)("rect",{x:I.x-32,y:H.top+Y+1,width:64,height:14,fill:"#1f2937",stroke:"#374151",strokeWidth:.6,rx:2}),(0,Hg.jsx)("text",{x:I.x,y:H.top+Y+11,textAnchor:"middle",fill:"#ffffff",fontSize:8,fontWeight:700,fontFamily:ub,children:xt.hDateStr?xt.hDateStr.slice(5):`D${xt.dIdx}`}),(0,Hg.jsx)("rect",{x:r,y:i,width:n,height:116,fill:"#0b0f17",stroke:"#374151",strokeWidth:1,rx:3,opacity:.97}),(0,Hg.jsx)("text",{x:r+10,y:i+16,fill:"#22d3ee",fontSize:8,fontWeight:700,fontFamily:ub,children:"DATE"}),(0,Hg.jsx)("text",{x:r+n-10,y:i+16,textAnchor:"end",fill:"#ffffff",fontSize:9,fontWeight:700,fontFamily:ub,children:xt.hDateStr||"\u2014"}),(0,Hg.jsx)("line",{x1:r+8,y1:i+22,x2:r+n-8,y2:i+22,stroke:"#374151",strokeWidth:.5}),(0,Hg.jsx)("text",{x:r+10,y:i+36,fill:"#6b7280",fontSize:8,fontFamily:ub,children:"PRICE"}),(0,Hg.jsxs)("text",{x:r+n-10,y:i+36,textAnchor:"end",fill:"#ffffff",fontSize:9,fontWeight:700,fontFamily:ub,children:["$",Pe(xt.hPrice)]}),(0,Hg.jsx)("text",{x:r+10,y:i+50,fill:"#6b7280",fontSize:8,fontFamily:ub,children:"COMBINED"}),(0,Hg.jsxs)("text",{x:r+n-10,y:i+50,textAnchor:"end",fill:"#ffffff",fontSize:9,fontWeight:700,fontFamily:ub,children:[xt.hPct.toFixed(1),"%"]}),(0,Hg.jsx)("line",{x1:r+8,y1:i+58,x2:r+n-8,y2:i+58,stroke:"#374151",strokeWidth:.5}),(0,Hg.jsx)("text",{x:r+10,y:i+72,fill:"#6b7280",fontSize:8,fontFamily:ub,children:"OPTIONS WEIGHT"}),(0,Hg.jsx)("text",{x:r+n-10,y:i+72,textAnchor:"end",fill:"#facc15",fontSize:9,fontWeight:700,fontFamily:ub,children:xt.ow.toFixed(3)}),ae?(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("text",{x:r+10,y:i+86,fill:"#6b7280",fontSize:8,fontFamily:ub,children:"BAND DENSITY"}),(0,Hg.jsx)("text",{x:r+n-10,y:i+86,textAnchor:"end",fill:"#22d3ee",fontSize:9,fontWeight:700,fontFamily:ub,children:xt.bd.toFixed(3)})]}):(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("text",{x:r+10,y:i+86,fill:"#6b7280",fontSize:8,fontFamily:ub,children:"SOURCE"}),(0,Hg.jsx)("text",{x:r+n-10,y:i+86,textAnchor:"end",fill:"ARCHIVE"===xt.provSource?"#22c55e":"CARRIED"===xt.provSource?"#facc15":"PROJECTED"===xt.provSource?"#a78bfa":"#6b7280",fontSize:9,fontWeight:700,fontFamily:ub,children:xt.provSource})]}),(0,Hg.jsx)("line",{x1:r+8,y1:i+94,x2:r+n-8,y2:i+94,stroke:"#374151",strokeWidth:.5}),(0,Hg.jsxs)("text",{x:r+10,y:i+108,fill:"#6b7280",fontSize:8,fontFamily:ub,children:["FROM ",ce?"MEDIAN":"CENTER"]}),(0,Hg.jsx)("text",{x:r+n-10,y:i+108,textAnchor:"end",fill:"#f59e0b",fontSize:9,fontWeight:700,fontFamily:ub,children:vt>0?`${xt.hPrice>vt?"+":""}${Pe(xt.hPrice-vt)}`:"\u2014"})]})})()]})})}function wb(e){let{num:t,title:n,sub:r,badges:i,explain:o,children:l,headline:s,prefix:a="THE SAUCE",freshnessBadge:c,calibratingBadge:d}=e;return(0,Hg.jsxs)("div",{style:{background:db.bgPanel,border:`1px solid ${db.border}`,position:"relative",overflow:"hidden",flexShrink:0},children:[(0,Hg.jsx)("div",{style:{position:"absolute",top:0,left:0,right:0,height:1,background:`linear-gradient(90deg,transparent,${db.orange},transparent)`,opacity:.35}}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",padding:"12px 14px 0",gap:12},children:[(0,Hg.jsxs)("div",{children:[(0,Hg.jsxs)("div",{style:{fontSize:7,color:"#999",letterSpacing:"2px",marginBottom:4,display:"flex",alignItems:"center",gap:5,fontWeight:600},children:[(0,Hg.jsx)("span",{style:{display:"inline-block",width:14,height:1,background:db.orange}}),a," \xb7 ",t]}),(0,Hg.jsx)("div",{style:{fontSize:17,fontWeight:800,color:db.orange,letterSpacing:"2px",fontFamily:"'Bebas Neue',sans-serif",lineHeight:1},children:n}),r&&(0,Hg.jsx)("div",{style:{fontSize:8,color:"#888",letterSpacing:"0.5px",marginTop:3,fontFamily:"'DM Sans',sans-serif"},children:r})]}),(0,Hg.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-end",gap:6,flexShrink:0},children:[i&&(0,Hg.jsx)("div",{style:{display:"flex",gap:4,flexWrap:"wrap",justifyContent:"flex-end"},children:i.map((e,t)=>(0,Hg.jsx)("span",{style:{fontSize:8,padding:"3px 7px",border:`1px solid ${e.color}50`,color:e.color,background:`${e.color}15`,fontWeight:700,letterSpacing:"0.5px",whiteSpace:"nowrap",fontFamily:"'DM Sans',sans-serif"},children:e.label},t))}),(c||d)&&(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap",justifyContent:"flex-end"},children:[d,c]})]})]}),s&&(0,Hg.jsx)("div",{style:{margin:"10px 14px 0",padding:"10px 13px",background:"#101010",borderLeft:`3px solid ${db.orange}`,border:`1px solid ${db.border}`,borderLeftColor:db.orange,fontSize:12,color:"#ececec",lineHeight:1.5,fontWeight:500,fontFamily:"'DM Sans',sans-serif"},children:s}),o&&(0,Hg.jsx)("div",{style:{margin:"10px 14px 0",display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gap:1,background:db.border,border:`1px solid ${db.border}`},children:o.map((e,t)=>(0,Hg.jsxs)("div",{style:{background:db.bgCard,padding:"10px 11px",display:"flex",flexDirection:"column",gap:5},children:[(0,Hg.jsxs)("div",{style:{fontSize:8,color:db.orange,letterSpacing:"1.8px",fontWeight:700,display:"flex",alignItems:"center",gap:5},children:[(0,Hg.jsx)("span",{style:{fontSize:11},children:e.icon})," ",e.title]}),(0,Hg.jsx)("div",{style:{fontSize:11,color:"#c8c8c8",lineHeight:1.55,fontFamily:"'DM Sans',sans-serif"},children:e.body}),e.pills&&(0,Hg.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:4,marginTop:4},children:e.pills.map((e,t)=>(0,Hg.jsx)("span",{style:{fontSize:8,padding:"2px 7px",border:`1px solid ${e.ok?db.green:db.red}40`,color:e.ok?db.green:db.red,fontWeight:600,background:e.ok?`${db.green}12`:`${db.red}12`,fontFamily:"'DM Sans',sans-serif"},children:e.label},t))})]},t))}),(0,Hg.jsx)("div",{style:{padding:"10px 14px 14px"},children:l})]})}function Sb(e){var t;let{data:n,dp:r=e=>null!=e?Number(e).toFixed(2):"\u2014"}=e;if(null===n||void 0===n||null===(t=n.levels)||void 0===t||!t.length)return(0,Hg.jsx)("div",{style:{fontSize:11,color:db.muted},children:"No data"});const i=[...n.levels].reverse(),o={fontSize:10,color:db.gray,letterSpacing:"1.5px",padding:"6px 8px",textAlign:"center",fontWeight:700,fontFamily:ub},l=n.levels,s=l.findIndex(e=>e.is_spot),a=s>=0?l.slice(0,s):[],c=s>=0?l.slice(s+1):[],d=a.filter(e=>e.gex_norm>.1).length,u=c.filter(e=>e.gex_norm>.1).length,h=d>u?`Support reads structurally stronger than resistance (${d} reinforced floor${1===d?"":"s"} below spot vs ${u} above). Bias longs near floors, fade rallies into thin overhead.`:u>d?`Resistance reads structurally stronger than support (${u} reinforced ceiling${1===u?"":"s"} above spot vs ${d} below). Bias shorts near ceilings, fade dips into thin support.`:`Support and resistance roughly balanced (${d} reinforced below vs ${u} above). Trade the cleaner level pairs, not directional bias.`,p=d>u?db.green:u>d?db.red:db.gray;return(0,Hg.jsxs)("div",{children:[(0,Hg.jsxs)("div",{style:{marginBottom:10,padding:"8px 12px",background:"#0a0a0a",borderLeft:`3px solid ${p}`,fontSize:11,color:"#ddd",lineHeight:1.5,fontFamily:"'DM Sans',sans-serif"},children:[(0,Hg.jsx)("span",{style:{color:p,fontFamily:ub,letterSpacing:"2px",fontSize:10,fontWeight:800,marginRight:8},children:"\u25b6 READ"}),h]}),(0,Hg.jsxs)("div",{style:{border:`1px solid ${db.border}`},children:[(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"95px 110px 1fr 80px 80px",borderBottom:`1px solid ${db.border}`},children:[(0,Hg.jsx)("div",{style:o,children:"LEVEL"}),(0,Hg.jsx)("div",{style:o,children:"HARDNESS"}),(0,Hg.jsx)("div",{style:o,children:"GAMMA DENSITY"}),(0,Hg.jsx)("div",{style:o,children:"GEX"}),(0,Hg.jsx)("div",{style:o,children:"FRICTION"})]}),i.map((e,t)=>(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"95px 110px 1fr 80px 80px",alignItems:"center",borderBottom:t<i.length-1?`1px solid ${db.border}`:"none",background:e.is_spot?`${db.orange}08`:"transparent",borderTop:e.is_spot?`1px solid ${db.orange}30`:"none",transition:"background .15s"},children:[(0,Hg.jsxs)("div",{style:{fontSize:11,padding:"7px 8px",textAlign:"center",color:e.is_spot?db.orange:e.color,fontWeight:e.is_spot?700:400,fontFamily:ub,display:"flex",flexDirection:"column",alignItems:"center",gap:2},children:[(0,Hg.jsx)("span",{children:r(e.strike)}),e.is_spot&&(0,Hg.jsx)("span",{style:{fontSize:9,color:db.orange,letterSpacing:"1px",fontWeight:700,fontFamily:ub},children:"\u2190 SPOT"})]}),(0,Hg.jsxs)("div",{style:{padding:"5px 6px",textAlign:"center"},children:[(0,Hg.jsx)("div",{style:{fontSize:13},children:e.icon}),(0,Hg.jsx)("div",{style:{fontSize:9,fontWeight:700,letterSpacing:"0.5px",color:e.color,textTransform:"uppercase",marginTop:2},children:e.hardness})]}),(0,Hg.jsx)("div",{style:{padding:"4px 8px"},children:(0,Hg.jsxs)("div",{style:{height:16,background:"#080808",border:`1px solid ${db.border}`,position:"relative",overflow:"hidden"},children:[(0,Hg.jsx)("div",{style:{position:"absolute",top:0,bottom:0,left:"50%",width:1,background:db.borderLt,zIndex:1}}),(0,Hg.jsx)("div",{style:{position:"absolute",top:0,bottom:0,...e.gex_norm>=0?{left:"50%",width:50*Math.abs(e.gex_norm)+"%"}:{right:"50%",width:50*Math.abs(e.gex_norm)+"%"},background:`linear-gradient(${e.gex_norm>=0?"90deg":"270deg"},${e.color}10,${e.color}60)`}})]})}),(0,Hg.jsxs)("div",{style:{fontSize:11,textAlign:"center",color:e.color,fontWeight:700,fontFamily:ub},children:[e.gex>0?"+":"",yb(e.gex)]}),(0,Hg.jsx)("div",{style:{fontSize:10,textAlign:"center",color:e.color,fontFamily:"'DM Sans',sans-serif"},children:e.friction})]},t))]})]})}function jb(e){let{series:n,width:r=320,height:i=50,refLines:o=[],color:l="#888",currentColor:s,zones:a=null,bands:c=!1,thresholdLines:d=!0,rightMargin:u=110}=e;const h=(0,t.useRef)(null),[p,f]=(0,t.useState)(r);if((0,t.useLayoutEffect)(()=>{const e=h.current;if(!e)return;const t=()=>{const t=e.getBoundingClientRect().width;t>0&&Math.round(t)!==p&&f(Math.round(t))};t();let n=null;return"undefined"!==typeof ResizeObserver?(n=new ResizeObserver(t),n.observe(e)):window.addEventListener("resize",t),()=>{n?n.disconnect():window.removeEventListener("resize",t)}},[]),!Array.isArray(n)||n.length<2)return(0,Hg.jsx)("div",{ref:h,style:{width:"100%",height:`${i}px`}});const g=p,m=a?Math.max(40,g-u):g,y=a?a.map(e=>e.upTo).filter(e=>isFinite(e)):[],v=[...n,...o||[],...y],x=Math.min(...v),b=Math.max(...v),w=.1*(b-x)||.1,S=x-w,j=b+w,k=j-S||1,_=m/(n.length-1),E=e=>i-(e-S)/k*i,C=e=>{if(!a)return null;for(const t of a)if(e<=t.upTo)return t;return a[a.length-1]},T=[];if(a){let e=-1/0;for(const t of a){const n=Math.max(e,S),r=Math.min(t.upTo,j);if(r>n){const e=E(r),i=E(n);T.push({y:e,h:i-e,ymid:(e+i)/2,color:t.color,label:t.label,upTo:t.upTo})}e=t.upTo}}const M=[];if(a)for(let t=1;t<n.length;t++){const e=C(n[t]),r=(t-1)*_,i=E(n[t-1]),o=t*_,s=E(n[t]);M.push({x1:r,y1:i,x2:o,y2:s,color:(null===e||void 0===e?void 0:e.color)||l})}const O=n.length-1,A=O*_,P=E(n[O]),I=C(n[O]),D=s||(null===I||void 0===I?void 0:I.color)||l;return(0,Hg.jsx)("div",{ref:h,style:{width:"100%",height:`${i}px`,lineHeight:0},children:(0,Hg.jsxs)("svg",{width:g,height:i,viewBox:`0 0 ${g} ${i}`,style:{display:"block"},children:[c&&T.map((e,t)=>(0,Hg.jsx)("rect",{x:0,y:e.y,width:m,height:e.h,fill:e.color,opacity:.06},`band-${t}`)),d&&a&&a.slice(0,-1).map((e,t)=>{const n=E(e.upTo);return n<0||n>i?null:(0,Hg.jsx)("line",{x1:0,y1:n,x2:m,y2:n,stroke:"#2a2a2a",strokeDasharray:"2,3",strokeWidth:1},`th-${t}`)}),o.map((e,t)=>{const n=E(e);return(0,Hg.jsx)("line",{x1:0,y1:n,x2:m,y2:n,stroke:"#3a3a3a",strokeDasharray:"3,3",strokeWidth:1},`ref-${t}`)}),a&&M.length>0?M.map((e,t)=>(0,Hg.jsx)("line",{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,stroke:e.color,strokeWidth:2,strokeLinecap:"round"},`seg-${t}`)):(0,Hg.jsx)("polyline",{points:n.map((e,t)=>`${t*_},${E(e)}`).join(" "),fill:"none",stroke:l,strokeWidth:1.6}),(0,Hg.jsx)("circle",{cx:A,cy:P,r:7,fill:D,opacity:.22}),(0,Hg.jsx)("circle",{cx:A,cy:P,r:3.5,fill:D,stroke:"#000",strokeWidth:1.2}),a&&T.map((e,t)=>{const n=Math.max(10,Math.min(i-4,e.ymid));return e.label?(0,Hg.jsx)("text",{x:m+8,y:n+3,fontSize:9,fill:e.color,opacity:.9,fontFamily:"ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif",fontWeight:600,letterSpacing:.3,children:e.label},`rlbl-${t}`):null})]})})}function kb(e){var t;let{data:n,dp:r=e=>null!=e?Number(e).toFixed(2):"\u2014"}=e;if(null===n||void 0===n||null===(t=n.scenarios)||void 0===t||!t.length)return(0,Hg.jsx)("div",{style:{fontSize:7,color:db.muted},children:"No data"});const i=n.scenarios.find(e=>1===e.move_pct),o=n.scenarios.find(e=>-1===e.move_pct),l=n.scenarios.find(e=>.5===e.move_pct),s=n.scenarios.find(e=>-.5===e.move_pct),a=(()=>{if(!i||!o)return null;const e="BUY"===i.direction,t="SELL"===o.direction;let r;r=e&&t?"Dealers AMPLIFY moves in both directions":e||t?e?"Dealers AMPLIFY rallies, SUPPORT dips":"Dealers FADE rallies, AMPLIFY breakdowns":"Dealers DAMPEN moves \u2014 buy dips, sell rips";let l="";return"DOWNSIDE"===n.spring_direction?l=" \u2014 downside mechanically amplified, size shorts larger than longs":"UPSIDE"===n.spring_direction?l=" \u2014 upside has structural backing, breakouts have mechanical support":"NEUTRAL"===n.spring_direction&&(l=" \u2014 roughly symmetric in both directions"),r+l+"."})(),c=i?Math.abs(i.forced_flow):0,d=o?Math.abs(o.forced_flow):0,u=Math.max(c,d,1),h=c/u*100,p=d/u*100,f="BUY"===(null===i||void 0===i?void 0:i.direction)?db.green:db.red,g="BUY"===(null===o||void 0===o?void 0:o.direction)?db.green:db.red,m=e=>{let{scenario:t,isUp:n}=e;if(!t)return null;const i=n?db.green:db.red,o=n?"#00140a":"#140004",l=n?"\u25b2":"\u25bc";return(0,Hg.jsxs)("div",{style:{background:db.bgCard,border:`1px solid ${db.border}`,padding:"12px 14px",position:"relative",overflow:"hidden"},children:[(0,Hg.jsx)("div",{style:{position:"absolute",top:0,left:0,width:3,height:"100%",background:i}}),(0,Hg.jsx)("div",{style:{fontSize:9,color:"#bbb",letterSpacing:"2px",marginBottom:5,fontWeight:600},children:"IF PRICE MOVES"}),(0,Hg.jsxs)("div",{style:{fontSize:18,fontWeight:800,color:i,letterSpacing:"2px",fontFamily:"'Bebas Neue',sans-serif",lineHeight:1,marginBottom:10},children:[l," ",t.move_pct>0?"+":"",t.move_pct,"% \u2192 ",r(t.target_price)]}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"6px 0",borderTop:`1px solid ${db.border}`},children:[(0,Hg.jsx)("span",{style:{fontSize:10,color:"#bbb",fontWeight:500},children:"Net Forced Flow"}),(0,Hg.jsxs)("span",{style:{fontSize:13,fontWeight:800,color:i,fontFamily:"'Bebas Neue',sans-serif",letterSpacing:"0.5px"},children:[t.direction," ",(Math.abs(t.forced_flow)/1e6).toFixed(0),"M"]})]}),(0,Hg.jsx)("div",{style:{background:o,borderLeft:`3px solid ${i}`,padding:"7px 9px",marginTop:6,fontSize:10,color:"#ccc",lineHeight:1.5,fontFamily:"'DM Sans',sans-serif"},children:n?`Dealers become ${"BUY"===t.direction?"buyers \u2014 mechanical tailwind":"sellers \u2014 headwind"}.`:`Dealers become ${"SELL"===t.direction?"aggressive sellers \u2014 amplified move":"buyers \u2014 structural support"}.`})]})};return(0,Hg.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[a&&(0,Hg.jsxs)("div",{style:{background:"#0d0500",border:`1px solid ${db.orange}25`,borderLeft:`3px solid ${db.orange}`,padding:"10px 12px",fontSize:12,color:"#e0a050",lineHeight:1.5,fontFamily:"'DM Sans',sans-serif"},children:[(0,Hg.jsx)("div",{style:{color:db.orange,fontSize:10,letterSpacing:"1.5px",fontWeight:700,marginBottom:5},children:"WHAT THIS MEANS RIGHT NOW"}),a,"number"===typeof n.asymmetry_ratio&&(0,Hg.jsxs)("div",{style:{marginTop:6,fontSize:11,color:db.white,fontFamily:ub,letterSpacing:"0.5px",fontWeight:600},children:["asymmetry ",Number(n.asymmetry_ratio).toFixed(2),"\xd7 \xb7 spring ",n.spring_direction||"NEUTRAL"]})]}),i&&o&&(0,Hg.jsxs)("div",{children:[(0,Hg.jsx)("div",{style:{fontSize:9,color:"#bbb",letterSpacing:"1.5px",marginBottom:5,textAlign:"center",fontWeight:600},children:"FORCED FLOW @ \xb11% \u2014 RELATIVE MAGNITUDE"}),(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",height:18},children:[(0,Hg.jsx)("div",{style:{position:"relative",borderRight:`1px solid ${db.borderLt}`},children:(0,Hg.jsx)("div",{style:{position:"absolute",right:0,top:0,bottom:0,width:`${p}%`,background:`linear-gradient(270deg, ${g}, ${g}30)`}})}),(0,Hg.jsx)("div",{style:{position:"relative"},children:(0,Hg.jsx)("div",{style:{position:"absolute",left:0,top:0,bottom:0,width:`${h}%`,background:`linear-gradient(90deg, ${f}, ${f}30)`}})})]}),(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",marginTop:4,fontSize:11,fontFamily:ub},children:[(0,Hg.jsxs)("div",{style:{paddingLeft:2},children:[(0,Hg.jsx)("span",{style:{color:"#bbb"},children:"\u22121%: "}),(0,Hg.jsxs)("span",{style:{color:g,fontWeight:700},children:[o.direction," ",(d/1e6).toFixed(0),"M"]})]}),(0,Hg.jsxs)("div",{style:{paddingRight:2,textAlign:"right"},children:[(0,Hg.jsxs)("span",{style:{color:f,fontWeight:700},children:[i.direction," ",(c/1e6).toFixed(0),"M"]}),(0,Hg.jsx)("span",{style:{color:"#bbb"},children:" :+1%"})]})]})]}),(()=>{const e=null===n||void 0===n?void 0:n.asymmetry_ratio_history,t=void 0===e,r=(e||[]).map(e=>null===e||void 0===e?void 0:e.v).filter(e=>null!=e&&isFinite(e)),i=t?{txt:"DATA MISSING \u2014 DC field not in this payload",col:db.amber}:0===r.length?{txt:"0 pts \xb7 pre-session (resets 09:30 ET)",col:"#666"}:1===r.length?{txt:"1 pt \xb7 building (need 2+)",col:"#666"}:{txt:`${r.length} pts \xb7 5m`,col:"#666"};if(r.length<2)return(0,Hg.jsx)("div",{style:{padding:"4px 0"},children:(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,Hg.jsx)("span",{style:{fontSize:9,color:"#bbb",letterSpacing:"1.5px",fontWeight:600},children:"SESSION TRAJECTORY \u2014 ASYMMETRY RATIO"}),(0,Hg.jsx)("span",{style:{fontSize:8,color:i.col,letterSpacing:"0.4px",fontFamily:ub,fontWeight:t?700:400},children:i.txt})]})});const o=r[r.length-1],l=o>1.3?{label:"DOWNSIDE-SPRING",color:db.red,meaning:"downside is mechanically amplified \u2014 dealers must buy heavily on a drop."}:o<.7?{label:"UPSIDE-SPRING",color:db.green,meaning:"upside has structural backing \u2014 breakouts get mechanical support."}:{label:"NEUTRAL",color:"#aaa",meaning:"symmetric dealer response in both directions."};return(0,Hg.jsxs)("div",{style:{padding:"4px 0"},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:5},children:[(0,Hg.jsx)("span",{style:{fontSize:9,color:"#bbb",letterSpacing:"1.5px",fontWeight:600},children:"SESSION TRAJECTORY \u2014 ASYMMETRY RATIO"}),(0,Hg.jsxs)("span",{style:{fontSize:8,color:"#666",letterSpacing:"0.4px",fontFamily:ub},children:[r.length," pts \xb7 5m"]})]}),(0,Hg.jsx)(jb,{series:r,height:80,zones:[{upTo:.7,color:db.green,label:"UPSIDE-SPRING (bullish)"},{upTo:1.3,color:"#888",label:"NEUTRAL"},{upTo:1/0,color:db.red,label:"DOWNSIDE-SPRING (bearish)"}]}),(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",marginTop:3,fontSize:8,color:"#999",fontFamily:ub},children:[(0,Hg.jsx)("span",{children:"open"}),(0,Hg.jsx)("span",{children:"now"})]}),(0,Hg.jsxs)("div",{style:{marginTop:6,fontSize:10,color:"#ddd",lineHeight:1.5,fontFamily:"'DM Sans',sans-serif"},children:["Currently ",(0,Hg.jsx)("strong",{style:{color:l.color,letterSpacing:"0.5px"},children:l.label})," \u2014 ",l.meaning]})]})})(),(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8},children:[(0,Hg.jsx)(m,{scenario:i,isUp:!0}),(0,Hg.jsx)(m,{scenario:o,isUp:!1})]}),(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8},children:[l&&(0,Hg.jsxs)("div",{style:{background:db.bgCard,border:`1px solid ${db.border}`,padding:"9px 13px",borderLeft:`3px solid ${db.green}`},children:[(0,Hg.jsx)("div",{style:{fontSize:9,color:"#bbb",letterSpacing:"2px",fontWeight:600,marginBottom:2},children:"IF +0.5%"}),(0,Hg.jsxs)("div",{style:{fontSize:14,fontWeight:800,color:db.green,fontFamily:"'Bebas Neue',sans-serif"},children:[l.direction," ",(Math.abs(l.forced_flow)/1e6).toFixed(0),"M"]})]}),s&&(0,Hg.jsxs)("div",{style:{background:db.bgCard,border:`1px solid ${db.border}`,padding:"9px 13px",borderLeft:`3px solid ${db.red}`},children:[(0,Hg.jsx)("div",{style:{fontSize:9,color:"#bbb",letterSpacing:"2px",fontWeight:600,marginBottom:2},children:"IF \u22120.5%"}),(0,Hg.jsxs)("div",{style:{fontSize:14,fontWeight:800,color:db.red,fontFamily:"'Bebas Neue',sans-serif"},children:[s.direction," ",(Math.abs(s.forced_flow)/1e6).toFixed(0),"M"]})]})]}),(0,Hg.jsx)("div",{style:{fontSize:9,color:"#999",fontStyle:"italic",textAlign:"right",paddingRight:4,lineHeight:1.4},children:"Forced-flow values are share-equivalent dealer-delta exposure (\xd7100 contract multiplier applied), not $-notional."})]})}function _b(e){var t;let{data:n,dp:r=e=>null!=e?Number(e).toFixed(2):"\u2014"}=e;if(null===n||void 0===n||null===(t=n.levels)||void 0===t||!t.length)return(0,Hg.jsx)("div",{style:{fontSize:7,color:db.muted},children:"No data"});const i=[...n.levels].reverse(),o={fontSize:6,color:db.muted,letterSpacing:"1.5px",padding:"5px 4px",textAlign:"center"};return(0,Hg.jsxs)("div",{style:{border:`1px solid ${db.border}`},children:[(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"36px 65px 1fr 50px 1fr",borderBottom:`1px solid ${db.border}`},children:[(0,Hg.jsx)("div",{style:o,children:"TYPE"}),(0,Hg.jsx)("div",{style:o,children:"STRIKE"}),(0,Hg.jsx)("div",{style:o,children:"FORCE"}),(0,Hg.jsx)("div",{style:o,children:"CLASS"}),(0,Hg.jsx)("div",{style:{...o,textAlign:"left",paddingLeft:8},children:"BEHAVIOR"})]}),i.map((e,t)=>(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"36px 65px 1fr 50px 1fr",alignItems:"center",borderBottom:t<i.length-1?`1px solid ${db.border}`:"none",transition:"background .15s"},onMouseEnter:e=>e.currentTarget.style.background=db.bgCard,onMouseLeave:e=>e.currentTarget.style.background="transparent",children:[(0,Hg.jsx)("div",{style:{fontSize:14,textAlign:"center",padding:"6px 2px"},children:e.icon}),(0,Hg.jsx)("div",{style:{fontSize:8,textAlign:"center",color:db.white,fontFamily:ub},children:r(e.strike)}),(0,Hg.jsx)("div",{style:{padding:"4px 10px"},children:(0,Hg.jsx)("div",{style:{height:5,background:"#080808",border:`1px solid ${db.border}`,overflow:"hidden"},children:(0,Hg.jsx)("div",{style:{height:"100%",width:`${e.strength}%`,background:e.color,transition:"width .6s ease"}})})}),(0,Hg.jsx)("div",{style:{fontSize:6,fontWeight:700,letterSpacing:"1.5px",textAlign:"center",color:e.color},children:e.label}),(0,Hg.jsx)("div",{style:{fontSize:7,color:db.gray,fontFamily:"'DM Sans',sans-serif",padding:"6px 8px",lineHeight:1.4},children:e.desc})]},t))]})}function Eb(e){var t,n,r,i;let{data:o,cachedAt:l}=e;if(!o)return(0,Hg.jsx)("div",{style:{fontSize:7,color:db.muted,padding:14},children:"No data"});const s="TRAP_ACTIVE"===o.status,a=s?db.red:db.green,c=s?"rgba(232,56,59,0.06)":"rgba(46,189,89,0.05)",d=s?"rgba(232,56,59,0.45)":"rgba(46,189,89,0.30)",u=o.retail_positioning||"\u2014",h="CROWDED_LONG"===u?db.red:"CROWDED_SHORT"===u?db.green:db.gray,p="CROWDED_LONG"===u?"RETAIL LONG":"CROWDED_SHORT"===u?"RETAIL SHORT":"NEUTRAL"===u?"BALANCED":"\u2014",f="number"===typeof o.retail_crowding_score?o.retail_crowding_score:null,g=null!=f?Math.round(100*f):null,m=null==f?db.muted:f>=.75?db.red:f>=.55?db.amber:db.green,y=(o.retail_confidence||"").toLowerCase(),v="high"===y?db.green:"medium"===y?db.amber:"low"===y?db.red:db.muted,x=o.gex_regime||"\u2014",b="NEGATIVE"===x?db.red:"POSITIVE"===x?db.green:db.gray,w=(o.iv_signal||"").replace(/_/g," "),S=null!==(t=o.iv_signal)&&void 0!==t&&t.includes("FADE")?db.red:null!==(n=o.iv_signal)&&void 0!==n&&n.includes("BREAKOUT")?db.green:null!==(r=o.iv_signal)&&void 0!==r&&r.includes("CHEAP")?db.amber:db.gray,j=o.retail_inputs||{},k=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return null!=e&&isFinite(e)?Number(e).toFixed(t)+n:"\u2014"},_=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return null!=e&&isFinite(e)?(100*Number(e)).toFixed(t)+"%":"\u2014"},E=e=>{let{label:t,value:n,sub:r,color:i=db.white}=e;return(0,Hg.jsxs)("div",{style:{background:db.bgCard,padding:"7px 9px",border:`1px solid ${db.border}`,borderRadius:2},children:[(0,Hg.jsx)("div",{style:{fontSize:9,color:db.gray,letterSpacing:"1px",marginBottom:3,fontWeight:600},children:t}),(0,Hg.jsx)("div",{style:{fontSize:13,fontWeight:800,color:i,fontFamily:ub,lineHeight:1.1},children:n}),r&&(0,Hg.jsx)("div",{style:{fontSize:9,color:db.gray,marginTop:3,fontFamily:ub},children:r})]})},C=e=>{let{pct:t,color:n}=e;const r=2*Math.PI*22,i=Math.max(0,Math.min(100,null!==t&&void 0!==t?t:0))/100*r,o=144*Math.PI/180,l=28+18*Math.cos(o),s=28+18*Math.sin(o),a=28+26*Math.cos(o),c=28+26*Math.sin(o);return(0,Hg.jsxs)("svg",{width:56,height:56,viewBox:"0 0 56 56",style:{display:"block"},children:[(0,Hg.jsx)("circle",{cx:28,cy:28,r:22,stroke:"#1a1a1a",strokeWidth:5,fill:"none"}),(0,Hg.jsx)("circle",{cx:28,cy:28,r:22,stroke:n,strokeWidth:5,fill:"none",strokeDasharray:`${i} ${r}`,strokeLinecap:"round",transform:"rotate(-90 28 28)"}),(0,Hg.jsx)("line",{x1:l,y1:s,x2:a,y2:c,stroke:db.amber,strokeWidth:1.5,opacity:.85,children:(0,Hg.jsx)("title",{children:"Trap threshold (CROWDED_* fires at 0.65)"})}),(0,Hg.jsx)("text",{x:28,y:32,textAnchor:"middle",fill:n,fontSize:13,fontWeight:800,fontFamily:ub,children:null!=t?t:"\u2014"})]})},T=s?"CROWDED_LONG"===u&&"NEGATIVE"===x?"Bias short on bounces \u2014 crowded long meets negative dealer \u03b3 (downside fuel).":"CROWDED_LONG"===u&&"POSITIVE"===x?"Caution short \u2014 crowded long, but positive \u03b3 cushions selloffs. Size down, wait for failure.":"CROWDED_SHORT"===u&&"POSITIVE"===x?"Bias long on dips \u2014 crowded short meets positive dealer \u03b3 (squeeze fuel).":"CROWDED_SHORT"===u&&"NEGATIVE"===x?"Caution long \u2014 crowded short, but negative \u03b3 adds downside. Wait for failure of the low.":"Trap active but cross-confirmation mixed \u2014 wait for GEX regime to align with positioning.":"No active retail/institutional divergence \u2014 read the GEX regime and skew on their own merit.",M=s?/Bias /.test(T)?db.white:db.amber:"#9aa";return(0,Hg.jsxs)("div",{style:{display:"flex",flexDirection:"column",border:`1px solid ${d}`,background:c,borderRadius:3,overflow:"hidden"},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"stretch",borderBottom:`1px solid ${db.border}`},children:[(0,Hg.jsxs)("div",{style:{width:120,flexShrink:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:6,padding:"10px 6px",borderRight:`1px solid ${db.border}`,background:s?"rgba(232,56,59,0.10)":"rgba(46,189,89,0.05)",position:"relative",overflow:"hidden"},children:[s&&(0,Hg.jsx)("div",{style:{position:"absolute",inset:0,background:a,opacity:.06,animation:"trapPulse 2s ease-in-out infinite"}}),(0,Hg.jsx)("div",{style:{fontSize:32,lineHeight:1},children:s?"\u26a0":"\u2713"}),(0,Hg.jsxs)("div",{style:{fontSize:11,fontWeight:800,letterSpacing:"3px",color:a,textAlign:"center",lineHeight:1.3,fontFamily:ub},children:[s?"TRAP":"ALL",(0,Hg.jsx)("br",{}),s?"ACTIVE":"CLEAR"]})]}),(0,Hg.jsxs)("div",{style:{flex:1,padding:"10px 14px",display:"flex",flexDirection:"column",gap:6,minWidth:0},children:[(0,Hg.jsx)("div",{style:{fontSize:13,fontWeight:700,color:s?db.red:db.white,fontFamily:"'DM Sans',sans-serif",lineHeight:1.35},children:o.headline||"\u2014"}),(0,Hg.jsxs)("div",{style:{fontSize:11,color:M,fontFamily:"'DM Sans',sans-serif",lineHeight:1.4,fontStyle:"italic",marginTop:-2},children:["\u2192 ",T]}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:6,flexWrap:"wrap",alignItems:"center"},children:[o.price_extreme&&"NORMAL"!==o.price_extreme&&(0,Hg.jsx)("span",{style:{fontSize:9,fontWeight:700,letterSpacing:"1.5px",padding:"3px 8px",color:db.amber,border:`1px solid ${db.amber}55`,background:`${db.amber}12`,borderRadius:2,fontFamily:ub},children:o.price_extreme}),y&&(0,Hg.jsxs)("span",{style:{fontSize:9,fontWeight:700,letterSpacing:"1.5px",padding:"3px 8px",color:v,border:`1px solid ${v}55`,background:`${v}12`,borderRadius:2,fontFamily:ub},children:["CONFIDENCE: ",y.toUpperCase()]}),o.scoring_method&&(0,Hg.jsxs)("span",{style:{fontSize:9,color:db.gray,fontFamily:ub,letterSpacing:"1px"},children:["\xb7 ",o.scoring_method]})]})]})]}),(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr 1fr 100px",gap:1,background:db.border},children:[(0,Hg.jsxs)("div",{style:{background:db.bg,padding:"10px 12px"},children:[(0,Hg.jsx)("div",{style:{fontSize:10,color:db.gray,letterSpacing:"1.5px",marginBottom:5,fontWeight:600},children:"POSITIONING"}),(0,Hg.jsx)("div",{style:{fontSize:16,fontWeight:800,color:h,fontFamily:"'Bebas Neue',sans-serif",letterSpacing:"1.5px",lineHeight:1},children:p}),(0,Hg.jsxs)("div",{style:{fontSize:10,color:db.gray,marginTop:5,fontFamily:ub},children:["crowd ",null!=g?g+"%":"\u2014"]})]}),(0,Hg.jsxs)("div",{style:{background:db.bg,padding:"10px 12px"},children:[(0,Hg.jsx)("div",{style:{fontSize:10,color:db.gray,letterSpacing:"1.5px",marginBottom:5,fontWeight:600},children:"DEALERS (GEX)"}),(0,Hg.jsxs)("div",{style:{fontSize:16,fontWeight:800,color:b,fontFamily:"'Bebas Neue',sans-serif",letterSpacing:"1.5px",lineHeight:1},children:[x," \u03b3"]}),(0,Hg.jsxs)("div",{style:{fontSize:10,color:db.gray,marginTop:5,fontFamily:ub},children:["net ",yb?yb(o.gex_net):null!=o.gex_net?Math.round(o.gex_net/1e9)+"B":"\u2014"]})]}),(0,Hg.jsxs)("div",{style:{background:db.bg,padding:"10px 12px"},children:[(0,Hg.jsx)("div",{style:{fontSize:10,color:db.gray,letterSpacing:"1.5px",marginBottom:5,fontWeight:600},children:"VOLATILITY"}),(0,Hg.jsx)("div",{style:{fontSize:16,fontWeight:800,color:S,fontFamily:"'Bebas Neue',sans-serif",letterSpacing:"1.5px",lineHeight:1},children:w||"\u2014"}),(0,Hg.jsxs)("div",{style:{fontSize:10,color:db.gray,marginTop:5,fontFamily:ub},children:["P/C ",null!=o.pc_oi_ratio?o.pc_oi_ratio.toFixed(2):"\u2014",o.pc_sentiment?" \xb7 "+o.pc_sentiment.toLowerCase():""]})]}),(0,Hg.jsxs)("div",{style:{background:db.bg,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:"6px",gap:3},children:[(0,Hg.jsx)("div",{style:{fontSize:10,color:db.gray,letterSpacing:"1.2px",fontWeight:700,fontFamily:ub},children:"CROWD INTENSITY"}),(0,Hg.jsx)(C,{pct:g,color:m}),(0,Hg.jsx)("div",{style:{fontSize:8,color:db.gray,fontFamily:ub,letterSpacing:"1px"},children:"0 CALM \xb7 100 FRENZY"})]})]}),Object.keys(j).length>0&&(0,Hg.jsxs)("div",{style:{padding:"10px 12px",borderTop:`1px solid ${db.border}`},children:[(0,Hg.jsx)("div",{style:{fontSize:10,color:db.gray,letterSpacing:"2px",marginBottom:8,fontFamily:ub,fontWeight:700},children:"CROWDING INPUTS"}),(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(4, 1fr)",gap:5},children:[(0,Hg.jsx)(E,{label:"0DTE CALL VOL %",value:_(j.zdte_call_volume_share),sub:"of total day"}),(0,Hg.jsx)(E,{label:"0DTE PUT VOL %",value:_(j.zdte_put_volume_share),sub:"of total day"}),(0,Hg.jsx)(E,{label:"0DTE P/C VOL",value:k(j.zdte_pc_volume_ratio,2,"\xd7"),color:j.zdte_pc_volume_ratio>1.2?db.red:j.zdte_pc_volume_ratio<.8?db.green:db.white,sub:">1.2 fear \xb7 <0.8 fomo"}),(0,Hg.jsx)(E,{label:"WK P/C OI \u0394",value:_(j.weekly_pc_oi_delta,1),color:j.weekly_pc_oi_delta>.1?db.amber:j.weekly_pc_oi_delta<-.1?db.green:db.white,sub:"vs yest"}),(0,Hg.jsx)(E,{label:"ROUND OI CONC",value:k(j.round_number_oi_concentration,3),color:db.gray,sub:"non-directional \xb7 diag"}),(0,Hg.jsx)(E,{label:"OTM PUT SKEW",value:_(j.far_otm_put_skew,1),color:j.far_otm_put_skew>.1?db.red:db.white,sub:"25\u0394 put vs ATM"}),(0,Hg.jsx)(E,{label:"OTM CALL SKEW",value:_(j.far_otm_call_skew,1),color:j.far_otm_call_skew>.05?db.amber:db.white,sub:"25\u0394 call vs ATM"}),(0,Hg.jsx)(E,{label:"ATM OI \u0394 1D",value:_(j.atm_oi_delta_1d,1),color:Math.abs(null!==(i=j.atm_oi_delta_1d)&&void 0!==i?i:0)>.2?db.amber:db.white,sub:"signed"})]}),j._etf_flow_not_implemented&&(0,Hg.jsx)("div",{style:{fontSize:9,color:db.gray,marginTop:8,fontFamily:ub,letterSpacing:"1px"},children:"\xb7 leveraged ETF flow signal: not yet implemented in DC"})]}),o.round_number_oi_hhi&&(0,Hg.jsxs)("div",{style:{padding:"9px 14px",borderTop:`1px solid ${db.border}`,display:"flex",alignItems:"center",gap:14,background:"#0a0a0a"},children:[(0,Hg.jsxs)("div",{style:{flexShrink:0},children:[(0,Hg.jsx)("div",{style:{fontSize:9,color:db.gray,letterSpacing:"1.5px",fontFamily:ub,fontWeight:700},children:"ROUND-STRIKE OI HHI"}),(0,Hg.jsx)("div",{style:{fontSize:8,color:"#666",letterSpacing:"1px",fontFamily:ub,marginTop:2},children:"diagnostic \xb7 non-directional"})]}),(0,Hg.jsx)("div",{style:{fontSize:14,fontWeight:800,color:db.white,fontFamily:ub,flexShrink:0,padding:"4px 10px",border:`1px solid ${db.border}`,background:db.bgCard,borderRadius:2,lineHeight:1},children:k(o.round_number_oi_hhi.value,3)}),(0,Hg.jsx)("div",{style:{flex:1,fontSize:11,color:"#bbb",lineHeight:1.4,fontFamily:"'DM Sans',sans-serif"},children:o.round_number_oi_hhi.interpretation||"\u2014"})]}),o.verdict&&(0,Hg.jsxs)("div",{style:{margin:"0",padding:"10px 14px",background:s?"rgba(232,56,59,0.08)":"rgba(46,189,89,0.04)",borderTop:`1px solid ${db.border}`,borderLeft:`3px solid ${a}`,fontSize:11,color:"#ccc",lineHeight:1.55,fontFamily:"'DM Sans',sans-serif"},children:[(0,Hg.jsxs)("div",{children:[(0,Hg.jsx)("span",{style:{color:a,fontWeight:800,marginRight:8,fontFamily:ub,letterSpacing:"2px",fontSize:10},children:s?"\u25b6 TRAP":"\u25b6 STATUS"}),(0,Hg.jsx)("strong",{style:{color:db.white,fontWeight:600},children:o.verdict.replace(/\btrap\b/g,"TRAP")})]}),l&&(()=>{try{const e=new Date(l);if(isNaN(e.getTime()))return null;const t=e=>String(e).padStart(2,"0"),n=`${e.getUTCFullYear()}-${t(e.getUTCMonth()+1)}-${t(e.getUTCDate())} ${t(e.getUTCHours())}:${t(e.getUTCMinutes())}:${t(e.getUTCSeconds())} UTC`;return(0,Hg.jsxs)("div",{style:{marginTop:8,fontSize:10,color:db.gray,fontFamily:ub,letterSpacing:"1.5px",fontWeight:600},children:["ASSESSED: ",(0,Hg.jsx)("span",{style:{color:db.white,fontWeight:800},children:n})]})}catch{return null}})()]})]})}function Cb(e){let{data:t}=e;if(!t)return(0,Hg.jsx)("div",{style:{fontSize:11,color:db.muted},children:"No data"});const n=t.intraday,r=null===n||void 0===n?void 0:n.state,i="number"===typeof(null===n||void 0===n?void 0:n.score)?n.score:null,o=void 0!==n,l=o&&("UNKNOWN"===r||null==i),s=t.entropy,a=t.state,c=null==s?db.gray:s<.4?db.green:s<.7?db.amber:db.red,d=o?"ENTROPY \xb7 v2":"ENTROPY",u=o?i:s,h=l||null==u?"\u2014":u.toFixed(2),p=o?r||"\u2014":a||"\u2014",f=o?(e=>"ORDERED"===e?db.green:"MODERATE"===e?db.amber:"CHAOTIC"===e?db.red:db.gray)(r):c,g=o&&null!=i?Math.max(0,Math.min(100,100*i)):null!=s?Math.max(0,Math.min(100,100*s)):0,m=o?[{w:"40%",left:"0",color:`${db.red}22`},{w:"20%",left:"40%",color:`${db.amber}22`},{w:"40%",left:"60%",color:`${db.green}22`}]:[{w:"40%",left:"0",color:`${db.green}22`},{w:"30%",left:"40%",color:`${db.amber}22`},{w:"30%",left:"70%",color:`${db.red}22`}],y=o?"CHAOS":"ORDER",v=o?"ORDER":"CHAOS";return(0,Hg.jsxs)("div",{style:{display:"flex",gap:10,alignItems:"stretch"},children:[(0,Hg.jsxs)("div",{style:{width:160,flexShrink:0,background:db.bgCard,border:`1px solid ${db.border}`,padding:"14px 12px",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:8},children:[(0,Hg.jsx)("div",{style:{fontSize:10,color:db.gray,letterSpacing:"2px",fontWeight:700,fontFamily:ub},children:d}),(0,Hg.jsx)("div",{style:{fontSize:26,fontWeight:800,color:f,lineHeight:1,fontFamily:"'Bebas Neue',sans-serif",letterSpacing:"2px"},children:h}),(0,Hg.jsxs)("div",{style:{width:"100%",position:"relative",paddingTop:6},children:[!l&&(0,Hg.jsx)("div",{style:{position:"absolute",top:0,left:`${g}%`,transform:"translateX(-50%)",width:0,height:0,borderLeft:"4px solid transparent",borderRight:"4px solid transparent",borderTop:`5px solid ${f}`}}),(0,Hg.jsxs)("div",{style:{width:"100%",height:16,background:"#080808",border:`1px solid ${db.border}`,overflow:"hidden",position:"relative",borderRadius:1},children:[m.map((e,t)=>(0,Hg.jsx)("div",{style:{position:"absolute",top:0,bottom:0,width:e.w,left:e.left,background:e.color}},t)),!l&&(0,Hg.jsx)("div",{style:{position:"absolute",top:-1,bottom:-1,left:`${g}%`,width:3,background:f,boxShadow:`0 0 6px ${f}`,transform:"translateX(-1.5px)"}})]})]}),(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",width:"100%"},children:[(0,Hg.jsx)("span",{style:{fontSize:9,color:db.gray,letterSpacing:"1.2px",fontWeight:600,fontFamily:ub},children:y}),(0,Hg.jsx)("span",{style:{fontSize:9,color:db.gray,letterSpacing:"1.2px",fontWeight:600,fontFamily:ub},children:v})]}),(0,Hg.jsx)("div",{style:{fontSize:12,fontWeight:800,letterSpacing:"1.5px",color:f,fontFamily:"'Bebas Neue',sans-serif",marginTop:2},children:p}),o&&null!=s&&(0,Hg.jsxs)("div",{style:{fontSize:9,color:db.muted,fontFamily:ub,marginTop:2,letterSpacing:"0.5px",textAlign:"center",lineHeight:1.3},children:["v1 legacy: ",(0,Hg.jsxs)("span",{style:{color:c,fontWeight:600},children:[s.toFixed(2)," \xb7 ",a||"\u2014"]})]})]}),(0,Hg.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:6},children:[t.n_strikes&&(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:5},children:[(0,Hg.jsxs)("div",{style:{background:db.bgCard,border:`1px solid ${db.border}`,padding:"9px",textAlign:"center"},children:[(0,Hg.jsx)("div",{style:{fontSize:9,color:db.gray,letterSpacing:"1.2px",fontWeight:700,fontFamily:ub},children:"STRIKES"}),(0,Hg.jsx)("div",{style:{fontSize:15,fontWeight:800,color:db.white,fontFamily:"'Bebas Neue',sans-serif",marginTop:3},children:t.n_strikes})]}),(0,Hg.jsxs)("div",{style:{background:db.bgCard,border:`1px solid ${db.border}`,padding:"9px",textAlign:"center"},children:[(0,Hg.jsx)("div",{style:{fontSize:9,color:db.gray,letterSpacing:"1.2px",fontWeight:700,fontFamily:ub},children:"TOP STRIKE"}),(0,Hg.jsx)("div",{style:{fontSize:15,fontWeight:800,color:db.orange,fontFamily:"'Bebas Neue',sans-serif",marginTop:3},children:t.top_strike})]}),null!=t.concentration_top5&&(0,Hg.jsxs)("div",{style:{background:db.bgCard,border:`1px solid ${db.border}`,padding:"9px",textAlign:"center"},children:[(0,Hg.jsx)("div",{style:{fontSize:9,color:db.gray,letterSpacing:"1.2px",fontWeight:700,fontFamily:ub},children:"TOP 5 CONC."}),(0,Hg.jsxs)("div",{style:{fontSize:15,fontWeight:800,color:t.concentration_top5>60?db.green:t.concentration_top5>40?db.amber:db.red,fontFamily:"'Bebas Neue',sans-serif",marginTop:3},children:[t.concentration_top5,"%"]})]})]}),(0,Hg.jsx)("div",{style:{background:o?"ORDERED"===r?"#00140a":"MODERATE"===r?"#0d0a00":"CHAOTIC"===r?"#140004":"#0d0d0d":s<.4?"#00140a":s<.7?"#0d0a00":"#140004",borderLeft:`3px solid ${f}`,padding:"10px 12px",fontSize:11,color:"#bbb",lineHeight:1.55,fontFamily:"'DM Sans',sans-serif",flex:1},children:o?"ORDERED"===r?(0,Hg.jsxs)(Hg.Fragment,{children:["\ud83d\udfe2 ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"Tape is ORDERED \u2014 clean tradability."})," Price action shows structure (low realized vol relative to recent, range-respect intact). Trust signals, size up on confirmed setups. v2 calm-tape fix is working."]}):"MODERATE"===r?(0,Hg.jsxs)(Hg.Fragment,{children:["\ud83d\udfe1 ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"Moderate \u2014 selective conditions."})," Some structure but tape isn't clean. Take the cleanest individual setup, avoid correlated trades."]}):"CHAOTIC"===r?(0,Hg.jsxs)(Hg.Fragment,{children:["\ud83d\udd34 ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"CHAOTIC \u2014 sit out or size down."})," Realized vol is high relative to recent, range respect broken, signals will whipsaw. Reduce size or prefer cash."]}):(0,Hg.jsxs)(Hg.Fragment,{children:["\u26aa ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"UNKNOWN \u2014 insufficient input data."})," Too many features returned null this tick (typical: M5 bars unavailable for this asset). Will resolve once data loads. Don't trade off entropy this session."]}):s<.4?(0,Hg.jsxs)(Hg.Fragment,{children:["\ud83d\udfe2 ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"Low entropy \u2014 strong institutional conviction."})," Signals are reliable, momentum trades have backing. Size up on confirmed setups."]}):s<.7?(0,Hg.jsxs)(Hg.Fragment,{children:["\ud83d\udfe1 ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"Moderate disorder \u2014 selective opportunities."})," Look for the cleanest individual setup. Avoid correlated multi-position trades."]}):(0,Hg.jsxs)(Hg.Fragment,{children:["\ud83d\udd34 ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"High entropy \u2014 chaos. No clear institutional direction."})," Reduce size, widen stops, prefer cash. Signals will whipsaw."]})})]})]})}function Tb(e){var n,r,i,o,l,s,a,c,d,u,h,p,f,g,m,y,v,x,b,w;let{sauce:S,data:j,asset:k,cfdRatio:_=1,cfdMode:E=!1}=e;const C=(0,t.useCallback)(e=>{if(null==e)return"\u2014";if(!E)return Number(e).toFixed(2);const t=e*_;return t>1e3?Math.round(t).toString():t.toFixed(1)},[E,_]),T=(0,t.useRef)(null);(0,t.useEffect)(()=>{if(T.current)return;const e=document.createElement("style");return e.textContent="@keyframes trapPulse{0%,100%{opacity:.08}50%{opacity:.18}}",document.head.appendChild(e),T.current=e,()=>{e.parentNode&&e.parentNode.removeChild(e)}},[]);const[M,O]=(0,t.useState)({});(0,t.useEffect)(()=>{if(null===j||void 0===j||!j.iv_skew)return;let e=!1;const t=hb.filter(e=>e!==k);return Promise.all(t.map(e=>fetch(`/api/options/${e}/full?n=8`).then(e=>e.ok?e.json():null).then(t=>[e,(null===t||void 0===t?void 0:t.iv_skew)||null]).catch(()=>[e,null]))).then(t=>{if(e)return;const n={};t.forEach(e=>{let[t,r]=e;n[t]=r}),O(n)}),()=>{e=!0}},[k,null===j||void 0===j||null===(n=j.iv_skew)||void 0===n?void 0:n.skew]);const A=(0,t.useMemo)(()=>{const e={};return hb.forEach(t=>{e[t]=t===k?(null===j||void 0===j?void 0:j.iv_skew)||null:M[t]||null}),e},[k,null===j||void 0===j?void 0:j.iv_skew,M]);if(!S)return(0,Hg.jsx)("div",{style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",fontSize:10,color:"#888"},children:"Loading Sauce analytics..."});const P=null===j||void 0===j?void 0:j.iv_divergence,I=null===j||void 0===j?void 0:j.pc_ratio,D=null===j||void 0===j?void 0:j.expected_move,L=null===j||void 0===j?void 0:j.vanna_charm,R=[{icon:"\ud83d\udcd6",title:"WHAT IS THIS",body:(0,Hg.jsxs)(Hg.Fragment,{children:["Retail asks ",(0,Hg.jsx)("em",{children:'"What happened?"'})," This answers ",(0,Hg.jsx)("strong",{style:{color:db.white},children:'"What is the dealer forced to do next?"'})," We calculate the exact dollar amount dealers must buy or sell for each price scenario."]})},{icon:"\ud83d\udca1",title:"WHY IT MATTERS",body:(0,Hg.jsxs)(Hg.Fragment,{children:["The dealer's hedging requirements for a 1% move remain ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"mathematically constant"}),". Like knowing the structural load a bridge must bear \u2014 the physics doesn't change with a 15-min delay."]})},{icon:"\ud83c\udfaf",title:"HOW TO USE IT",body:(0,Hg.jsxs)(Hg.Fragment,{children:["If +1% forces $200M buying but \u22121% forces $500M selling \u2192 ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"the downside is amplified 2.5\xd7"}),'. This tells you which direction the market is "spring-loaded."']}),pills:[{label:"Risk asymmetry",ok:!0},{label:"Position sizing",ok:!0},{label:"Directional bias",ok:!0}]}],z=[{icon:"\ud83d\udcd6",title:"WHAT IS THIS",body:(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("strong",{style:{color:db.white},children:"Vanna"})," = how dealer hedging shifts when IV moves \u2014 this is ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"the verdict"}),". ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"Charm"})," = how it shifts as time passes; informational here, excluded from the verdict because it explodes near 0-DTE expiry. The actionable charm signal is the separate ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"0-DTE pin pressure"})," block."]})},{icon:"\ud83d\udca1",title:"WHY IT MATTERS",body:(0,Hg.jsxs)(Hg.Fragment,{children:["Vanna pressure is ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"not opinion \u2014 it's physics"}),". If vanna says STRONG BUY, dealers MUST buy if IV rises. A structural tailwind you can lean on. 0-DTE pin pressure (when present) tells you which way today's expiring options pull price toward close."]})},{icon:"\ud83c\udfaf",title:"HOW TO USE IT",body:(0,Hg.jsxs)(Hg.Fragment,{children:["Read the ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"vanna verdict"})," for the directional setup. Combine with ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"0-DTE pin pressure"})," for intraday timing into close. Pair with the GEX regime for the full picture."]}),pills:[{label:"Intraday bias",ok:!0},{label:"Session planning",ok:!0},{label:"Size management",ok:!0}]}],N=[{icon:"\ud83d\udcd6",title:"WHAT IS THIS",body:(0,Hg.jsxs)(Hg.Fragment,{children:["Compares ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"institutional options positioning"})," against ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"retail sentiment"}),". When retail buys the dip but institutions hedge for more downside, retail becomes exit liquidity."]})},{icon:"\ud83d\udca1",title:"WHY IT MATTERS",body:(0,Hg.jsxs)(Hg.Fragment,{children:["Retail and institutions both leave fingerprints in options flow \u2014 short-dated calls and weeklies for retail, dealer GEX and skew for institutions. When the two ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"diverge sharply"}),", the smaller side is usually wrong. This card flags those divergences the moment they appear, so you stop fading the side with the balance sheet."]})},{icon:"\ud83c\udfaf",title:"HOW TO USE IT",body:(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("strong",{style:{color:db.white},children:"TRAP ACTIVE = trade with institutions, not retail."})," Wait for the trap to spring, then enter with institutional flow."]}),pills:[{label:"Counter-retail",ok:!0},{label:"Confirmation",ok:!0},{label:"Timing",ok:!0},{label:"Contrarian for its own sake",ok:!1}]}],F=[{icon:"\ud83d\udcd6",title:"WHAT IS THIS",body:(0,Hg.jsxs)(Hg.Fragment,{children:["The ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"implied volatility skew"})," = OOM put IV minus OOM call IV at the 25-delta wings. ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"Positive skew = puts richer = normal equity skew"})," (defensive crowd). The velocity shows how fast that gap is moving \u2014 building or accelerating in either direction."]})},{icon:"\ud83d\udca1",title:"WHY IT MATTERS",body:(0,Hg.jsxs)(Hg.Fragment,{children:["Rising put skew = institutions are ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"buying downside protection faster"}),". Falling skew (or inversion: calls richer than puts) = upside positioning building. Cross-asset divergence \u2014 one asset moving opposite to the rest \u2014 signals rotation or isolated stress."]})},{icon:"\ud83c\udfaf",title:"HOW TO USE IT",body:(0,Hg.jsxs)(Hg.Fragment,{children:["Velocity ACCELERATING (>0.02 vol-pts/hr) across ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"most of the 5 assets in the same direction"})," = systemic move building. One asset diverging = isolated positioning. The 0-DTE near-ATM mini-skew (when present) tells you which way today's expiring options are leaning. Pair with GEX regime for highest conviction."]}),pills:[{label:"Institutional bias",ok:!0},{label:"Cross-asset divergence",ok:!0},{label:"Exact entry",ok:!1}]}],$=[{icon:"\ud83d\udcd6",title:"WHAT IS THIS",body:(0,Hg.jsxs)(Hg.Fragment,{children:["Measures how ",(0,Hg.jsx)("strong",{style:{color:db.white},children:'"ordered" or "chaotic"'})," options flow is. Coherent institutional conviction = low entropy. Scattered random positions = high entropy. The market's thermodynamic temperature."]})},{icon:"\ud83d\udca1",title:"WHY IT MATTERS",body:(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("strong",{style:{color:db.white},children:"Low Entropy = solid direction"})," \u2014 signals reliable. ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"High Entropy = chaos"})," \u2014 everything whipsaws. Knowing this saves you from trading an untradeable market."]})},{icon:"\ud83c\udfaf",title:"HOW TO USE IT",body:(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("strong",{style:{color:db.white},children:"High entropy \u2192 reduce size, prefer cash."}),' Low entropy \u2192 trust signals, size up. Use per-asset entropy to find the "cleanest" trade today.']}),pills:[{label:"Tradability filter",ok:!0},{label:"Size management",ok:!0},{label:"Asset selection",ok:!0}]}],W=[{icon:"\ud83d\udcd6",title:"WHAT IS THIS",body:(0,Hg.jsxs)(Hg.Fragment,{children:["Measures the options market's ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"directional sentiment"}),". ATM IV vs realized vol shows if options are priced for more or less volatility than what's actually happening."]})},{icon:"\ud83d\udca1",title:"WHY IT MATTERS",body:(0,Hg.jsxs)(Hg.Fragment,{children:["When IV is ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"rich vs realized"}),", mean-reversion setups are favored. When IV is cheap, expect breakouts. The P/C ratio confirms institutional bias direction."]})},{icon:"\ud83c\udfaf",title:"HOW TO USE IT",body:(0,Hg.jsxs)(Hg.Fragment,{children:["IV Rich + High P/C = ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"bearish institutional positioning"}),". IV Cheap + Low P/C = bullish. Expected move sets your range for the session."]}),pills:[{label:"Session bias",ok:!0},{label:"Range estimation",ok:!0},{label:"Scalp entries",ok:!1}]}];return(0,Hg.jsxs)("div",{style:{flex:1,overflowY:"auto",overflowX:"hidden",padding:"10px 12px",display:"flex",flexDirection:"column",gap:12},children:[(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:12},children:[(0,Hg.jsx)(wb,{num:"01",title:"DEALER'S HOMEWORK",sub:`WHAT DEALERS ARE MECHANICALLY FORCED TO DO NEXT \u2014 SCENARIO TABLE \xb7 ${k}`,headline:"Dealers are FORCED to buy or sell at certain price moves \u2014 it's not a choice, it's mechanical hedging. This card shows exactly what they must do next.",explain:R,badges:[{label:"MECHANICAL OBLIGATION",color:db.orange},...null!==(r=S.dealer_scenarios)&&void 0!==r&&r.asymmetry_ratio?[{label:`${S.dealer_scenarios.asymmetry_ratio}\xd7 ${S.dealer_scenarios.spring_direction}`,color:"DOWNSIDE"===S.dealer_scenarios.spring_direction?db.red:"UPSIDE"===S.dealer_scenarios.spring_direction?db.green:db.amber}]:[]],freshnessBadge:(0,Hg.jsx)(sb,{computedAt:null===(i=null!==(o=j.dealer_scenarios)&&void 0!==o?o:null===(l=j.sauce)||void 0===l?void 0:l.dealer_scenarios)||void 0===i?void 0:i.computed_at,tier:"A",showCadence:!0}),children:(0,Hg.jsx)(kb,{data:S.dealer_scenarios,dp:C})}),L&&"UNKNOWN"!==L.verdict?(0,Hg.jsx)(wb,{num:"02",title:"VANNA / CHARM PRESSURE",sub:`MECHANICAL FLOW FROM IV SENSITIVITY + TIME DECAY \xb7 ${k}`,headline:"Vanna shows the mechanical buy/sell pressure dealers face when IV moves \u2014 the structural bias for the session. Plus, on 0-DTE days, charm pin pressure tells you which way today's expiring options pull price into close.",explain:z,badges:[{label:L.verdict.replace(/_/g," "),color:L.verdict.includes("BUY")?db.green:L.verdict.includes("SELL")?db.red:db.gray}],freshnessBadge:(0,Hg.jsx)(sb,{computedAt:null===(s=j.vanna_charm)||void 0===s?void 0:s.computed_at,tier:"A",showCadence:!0}),calibratingBadge:(0,Hg.jsx)(cb,{tooltip:"Calibrating \u2014 vanna_pct cutoffs \xb15/\xb125 + charm_0dte magnitude buckets are PROVISIONAL until DC re-fits against ~30 days of ThetaData history (msg #84). Verdict classification may shift."}),children:(()=>{const e=L.verdict.includes("BUY")?db.green:L.verdict.includes("SELL")?db.red:"#bbb",t="STRONG_VANNA_BUY"===L.verdict?"Vanna pressure is STRONGLY BULLISH":"VANNA_BUY"===L.verdict?"Vanna pressure is BULLISH":"VANNA_BALANCED"===L.verdict?"Vanna pressure is BALANCED":"VANNA_SELL"===L.verdict?"Vanna pressure is BEARISH":"STRONG_VANNA_SELL"===L.verdict?"Vanna pressure is STRONGLY BEARISH":`Vanna verdict: ${L.verdict}`,n=L.verdict.includes("BUY")?" \u2014 if IV rises, dealers must buy the underlying":L.verdict.includes("SELL")?" \u2014 if IV rises, dealers must sell the underlying":" \u2014 no directional pressure from vanna right now",r=j.charm_0dte,i=r?r.direction&&"NEUTRAL"!==r.direction&&r.magnitude_bucket?`, and 0-DTE charm shows ${r.magnitude_bucket} pin pressure to the ${"BUY"===r.direction?"UPSIDE":"DOWNSIDE"} today.`:`, with 0-DTE charm in ${r.magnitude_bucket||"LIGHT"} state today.`:".",o=e=>{let{label:t,desc:n,net:r,dir:i,pct:o,icon:l,isPrimary:s=!0,muteReason:a}=e;const c="BUY"===i?db.green:"SELL"===i?db.red:"#999",d=s?c:"#666",u=s?c:"#bbb",h=s?"BUY"===i?"#00140a":"SELL"===i?"#140004":db.bgCard:"#080808";return(0,Hg.jsxs)("div",{style:{flex:1,background:h,border:`1px solid ${d}30`,padding:"14px",position:"relative",overflow:"hidden"},children:[(0,Hg.jsx)("div",{style:{position:"absolute",top:0,left:0,width:3,height:"100%",background:d}}),(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:6},children:[(0,Hg.jsx)("div",{style:{fontSize:9,color:"#bbb",letterSpacing:"1.5px",fontWeight:600},children:t}),(0,Hg.jsx)("span",{style:{fontSize:20},children:l})]}),a&&(0,Hg.jsx)("div",{style:{fontSize:8,color:"#888",fontStyle:"italic",marginBottom:6,letterSpacing:"0.4px"},children:a}),(0,Hg.jsx)("div",{style:{fontSize:24,fontWeight:800,fontFamily:"'Bebas Neue',sans-serif",letterSpacing:"2px",color:u,lineHeight:1},children:i||"\u2014"}),(0,Hg.jsx)("div",{style:{fontSize:10,color:"#bbb",fontFamily:"'DM Sans',sans-serif",marginTop:5,lineHeight:1.45},children:n}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:8,marginTop:10},children:[(0,Hg.jsxs)("div",{style:{background:db.bgCard,padding:"6px 10px",border:`1px solid ${db.border}`},children:[(0,Hg.jsx)("div",{style:{fontSize:9,color:"#bbb",letterSpacing:"1px",fontWeight:600},children:"NET FLOW"}),(0,Hg.jsx)("div",{style:{fontSize:12,fontWeight:700,color:u,fontFamily:ub},children:null!=r?yb(r):"\u2014"})]}),(0,Hg.jsxs)("div",{style:{background:db.bgCard,padding:"6px 10px",border:`1px solid ${db.border}`},children:[(0,Hg.jsx)("div",{style:{fontSize:9,color:"#bbb",letterSpacing:"1px",fontWeight:600},children:"MAGNITUDE"}),(0,Hg.jsx)("div",{style:{fontSize:12,fontWeight:700,color:u,fontFamily:ub},children:null!=o?`${Math.abs(o).toFixed(1)}%`:"\u2014"})]})]})]})};return(0,Hg.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[(0,Hg.jsxs)("div",{style:{background:"#0d0500",border:`1px solid ${db.orange}25`,borderLeft:`3px solid ${db.orange}`,padding:"10px 12px",fontSize:12,color:"#e0a050",lineHeight:1.5,fontFamily:"'DM Sans',sans-serif"},children:[(0,Hg.jsx)("div",{style:{color:db.orange,fontSize:10,letterSpacing:"1.5px",fontWeight:700,marginBottom:5},children:"WHAT THIS MEANS RIGHT NOW"}),(0,Hg.jsxs)("span",{children:[(0,Hg.jsx)("strong",{style:{color:e,letterSpacing:"0.5px"},children:t}),n,i]}),"number"===typeof L.combined_pressure&&(0,Hg.jsxs)("div",{style:{marginTop:6,fontSize:11,color:db.white,fontFamily:ub,letterSpacing:"0.5px",fontWeight:600},children:["vanna_pct ",L.combined_pressure>0?"+":"",Number(L.combined_pressure).toFixed(1),"%"," \xb7 cutoffs \xb15 / \xb125"]})]}),(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8},children:[(0,Hg.jsx)(o,{label:"VANNA \u2014 IV SENSITIVITY",icon:"\ud83d\udcc8",desc:"BUY"===L.vanna_direction?"IV rise \u2192 dealers must buy \u2192 bullish tailwind":"SELL"===L.vanna_direction?"IV rise \u2192 dealers must sell \u2192 bearish headwind":"Balanced \u2014 no directional IV pressure",net:L.vanna_net,dir:L.vanna_direction,pct:L.vanna_pct,isPrimary:!0}),(0,Hg.jsx)(o,{label:"CHARM \u2014 TIME DECAY",icon:"\u23f3",desc:"BUY"===L.charm_direction?"Time decay \u2192 dealers must buy today (session-wide read)":"SELL"===L.charm_direction?"Time decay \u2192 dealers must sell today (session-wide read)":"Session-wide charm balanced",net:L.charm_net,dir:L.charm_direction,pct:L.charm_pct,isPrimary:!1,muteReason:"informational \xb7 \u0394/year scale, not comparable to vanna_pct"})]}),j.charm_0dte&&(()=>{const e=j.charm_0dte,t="BUY"===e.direction?db.green:"SELL"===e.direction?db.red:"#999",n="HEAVY"===e.magnitude_bucket?db.amber:"MODERATE"===e.magnitude_bucket?"#bbb":"#666";return(0,Hg.jsxs)("div",{style:{background:"#0a0606",border:`1px solid ${t}30`,borderLeft:`3px solid ${t}`,padding:"10px 14px",display:"flex",alignItems:"center",gap:14,fontFamily:"'DM Sans',sans-serif"},children:[(0,Hg.jsx)("span",{style:{fontSize:20},children:"\ud83d\udccc"}),(0,Hg.jsxs)("div",{style:{flex:1},children:[(0,Hg.jsx)("div",{style:{fontSize:9,color:"#bbb",letterSpacing:"1.2px",fontWeight:600,marginBottom:3},children:"0-DTE PIN PRESSURE \u2014 TODAY ONLY"}),(0,Hg.jsx)("div",{style:{fontSize:11,color:"#ddd",lineHeight:1.45},children:"NEUTRAL"===e.direction?"Charm balanced \u2014 no directional pin pressure today.":(0,Hg.jsxs)(Hg.Fragment,{children:["Pulling ",(0,Hg.jsx)("strong",{style:{color:t,letterSpacing:"0.5px"},children:"BUY"===e.direction?"UPWARD":"DOWNWARD"})," (toward ","BUY"===e.direction?"calls":"puts",") \u2014 magnitude"," ",(0,Hg.jsx)("strong",{style:{color:n,letterSpacing:"0.5px"},children:e.magnitude_bucket}),"."]})})]}),(0,Hg.jsx)("div",{style:{padding:"4px 11px",borderRadius:3,background:`${t}20`,color:t,border:`1px solid ${t}50`,fontSize:11,fontWeight:700,fontFamily:ub,letterSpacing:"0.5px"},children:e.direction})]})})(),(()=>{const e=L.vanna_pct_history,t=void 0===e,n=(e||[]).map(e=>null===e||void 0===e?void 0:e.v).filter(e=>null!=e&&isFinite(e)),r=t?{txt:"DATA MISSING \u2014 DC field not in this payload",col:db.amber}:0===n.length?{txt:"0 pts \xb7 pre-session (resets 09:30 ET)",col:"#666"}:1===n.length?{txt:"1 pt \xb7 building (need 2+)",col:"#666"}:{txt:`${n.length} pts \xb7 5m`,col:"#666"};if(n.length<2)return(0,Hg.jsx)("div",{style:{padding:"4px 0"},children:(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,Hg.jsx)("span",{style:{fontSize:9,color:"#bbb",letterSpacing:"1.5px",fontWeight:600},children:"SESSION TRAJECTORY \u2014 VANNA PRESSURE (vanna_pct)"}),(0,Hg.jsx)("span",{style:{fontSize:8,color:r.col,letterSpacing:"0.4px",fontFamily:ub,fontWeight:t?700:400},children:r.txt})]})});const i=n[n.length-1],o=i>=25?{label:"STRONG VANNA BUY",color:db.green,meaning:"strong bullish dealer-vanna tailwind."}:i>=5?{label:"VANNA BUY",color:"#7ed87e",meaning:"directional bullish vanna pressure."}:i<=-25?{label:"STRONG VANNA SELL",color:db.red,meaning:"strong bearish dealer-vanna headwind."}:i<=-5?{label:"VANNA SELL",color:"#ed8d8d",meaning:"directional bearish vanna pressure."}:{label:"VANNA BALANCED",color:"#aaa",meaning:"no directional pressure inside the deadband."};return(0,Hg.jsxs)("div",{style:{padding:"4px 0"},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:5},children:[(0,Hg.jsx)("span",{style:{fontSize:9,color:"#bbb",letterSpacing:"1.5px",fontWeight:600},children:"SESSION TRAJECTORY \u2014 VANNA PRESSURE (vanna_pct)"}),(0,Hg.jsxs)("span",{style:{fontSize:8,color:"#666",letterSpacing:"0.4px",fontFamily:ub},children:[n.length," pts \xb7 5m"]})]}),(0,Hg.jsx)(jb,{series:n,height:80,zones:[{upTo:-25,color:db.red,label:"STRONG SELL"},{upTo:-5,color:"#ed8d8d",label:"SELL"},{upTo:5,color:"#888",label:"BALANCED (deadband)"},{upTo:25,color:"#7ed87e",label:"BUY"},{upTo:1/0,color:db.green,label:"STRONG BUY"}]}),(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",marginTop:3,fontSize:8,color:"#999",fontFamily:ub},children:[(0,Hg.jsx)("span",{children:"open"}),(0,Hg.jsx)("span",{children:"now"})]}),(0,Hg.jsxs)("div",{style:{marginTop:6,fontSize:10,color:"#ddd",lineHeight:1.5,fontFamily:"'DM Sans',sans-serif"},children:["Currently ",(0,Hg.jsx)("strong",{style:{color:o.color,letterSpacing:"0.5px"},children:o.label})," \u2014 ",o.meaning]})]})})(),(0,Hg.jsxs)("div",{style:{fontSize:9,color:"#999",fontStyle:"italic",textAlign:"right",paddingRight:4,lineHeight:1.4},children:["Verdict is vanna-only (per format_version 2.3 \u2014 charm excluded due to 1/(2T) singularity at 0-DTE).",j.charm_0dte?" Today's actionable charm signal is the 0-DTE pin-pressure block above.":" No 0-DTE expiry today on this ticker (commodity options are monthly), so no charm pin-pressure block."]})]})})()}):(0,Hg.jsx)("div",{style:{background:db.bgPanel,border:`1px solid ${db.border}`,padding:20,display:"flex",alignItems:"center",justifyContent:"center",fontSize:10,color:"#888",fontFamily:"'DM Sans',sans-serif"},children:"Vanna / Charm pressure data unavailable for this session"})]}),(0,Hg.jsx)(wb,{num:"03",title:"IV SKEW \xb7 CROSS-ASSET",sub:`25-DELTA PUT/CALL SKEW \xb7 RATE OF CHANGE \xb7 ALL 5 ASSETS \xb7 ${k} ACTIVE`,headline:"Where the options market is leaning, asset-by-asset. Five gauges \u2014 S&P, NASDAQ, Gold, Silver, WTI \u2014 show whether puts or calls are getting bid faster, and on which side the demand is building.",explain:F,badges:(()=>{const e=null===j||void 0===j?void 0:j.iv_skew,t=null===e||void 0===e?void 0:e.velocity,n=[];return null!=(null===e||void 0===e?void 0:e.skew)&&n.push({label:`SKEW ${e.skew>0?"+":""}${(100*e.skew).toFixed(2)}`,color:e.skew>.03?db.red:e.skew<-.01?db.green:db.gray}),null!==t&&void 0!==t&&t.verdict&&n.push({label:t.verdict.replace(/_/g," "),color:{PUTS_ACCELERATING:db.red,PUTS_BUILDING:db.amber,CALLS_ACCELERATING:db.green,CALLS_BUILDING:db.cyan,STABLE:db.gray,STALE_PREV_SNAPSHOT:db.amber}[t.verdict]||db.muted}),n})(),freshnessBadge:(0,Hg.jsx)(sb,{computedAt:null===(a=j.iv_skew)||void 0===a?void 0:a.computed_at,tier:"A",showCadence:!0}),children:(()=>{const e=null===j||void 0===j?void 0:j.iv_skew,t=null===e||void 0===e?void 0:e.velocity,n=null===j||void 0===j?void 0:j.iv_skew_0dte,r=null==(null===e||void 0===e?void 0:e.skew)?null:e.skew>.03?{word:"ELEVATED",color:db.red,blurb:"puts well-bid \u2014 defensive positioning"}:e.skew<0?{word:"INVERTED",color:db.green,blurb:"calls richer than puts \u2014 bullish positioning building"}:{word:"NORMAL",color:"#bbb",blurb:"small put premium \u2014 typical equity skew"},i=null!==t&&void 0!==t&&t.verdict?"PUTS_ACCELERATING"===t.verdict?{phrase:"PUTS ACCELERATING",color:db.red,blurb:"fear demand rising fast"}:"PUTS_BUILDING"===t.verdict?{phrase:"PUTS BUILDING",color:db.amber,blurb:"defensive flow incrementally building"}:"CALLS_ACCELERATING"===t.verdict?{phrase:"CALLS ACCELERATING",color:db.green,blurb:"upside demand rising fast"}:"CALLS_BUILDING"===t.verdict?{phrase:"CALLS BUILDING",color:db.cyan,blurb:"modest demand for upside"}:"STABLE"===t.verdict?{phrase:"STABLE",color:"#bbb",blurb:"no rate-of-change in skew"}:"STALE_PREV_SNAPSHOT"===t.verdict?{phrase:"VELOCITY UNAVAILABLE",color:db.amber,blurb:"sanity gate fired \u2014 prev-snapshot rejected as implausible"}:{phrase:t.verdict.replace(/_/g," "),color:"#aaa",blurb:""}:null,o=null!=(null===e||void 0===e?void 0:e.expiry_dte)?`${e.expiry_dte}-DTE chain (${e.expiry_class||"front"})`:"front chain",l=null!=(null===n||void 0===n?void 0:n.skew)?` 0-DTE near-ATM skew shows ${n.skew>=0?"+":""}${(100*n.skew).toFixed(2)} vol-pts ${n.skew>=0?"(slight put lean)":"(call lean)"}.`:"";return(0,Hg.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[(r||i)&&(0,Hg.jsxs)("div",{style:{background:"#0d0500",border:`1px solid ${db.orange}25`,borderLeft:`3px solid ${db.orange}`,padding:"10px 12px",fontSize:12,color:"#e0a050",lineHeight:1.5,fontFamily:"'DM Sans',sans-serif"},children:[(0,Hg.jsxs)("div",{style:{color:db.orange,fontSize:10,letterSpacing:"1.5px",fontWeight:700,marginBottom:5},children:["WHAT THIS MEANS RIGHT NOW \xb7 ",k]}),(0,Hg.jsxs)("span",{children:[r&&(0,Hg.jsxs)(Hg.Fragment,{children:["Skew is ",(0,Hg.jsx)("strong",{style:{color:r.color,letterSpacing:"0.5px"},children:r.word})," (",(0,Hg.jsxs)("span",{style:{color:db.white,fontFamily:ub},children:[e.skew>=0?"+":"",(100*e.skew).toFixed(2)," vol-pts"]})," ","on the ",o,") \u2014 ",r.blurb,"."]}),i&&(0,Hg.jsxs)(Hg.Fragment,{children:[" Velocity: ",(0,Hg.jsx)("strong",{style:{color:i.color,letterSpacing:"0.5px"},children:i.phrase}),i.blurb&&(0,Hg.jsxs)(Hg.Fragment,{children:[" \u2014 ",i.blurb,"."]})]}),l]}),"number"===typeof(null===e||void 0===e?void 0:e.skew)&&(0,Hg.jsxs)("div",{style:{marginTop:6,fontSize:11,color:db.white,fontFamily:ub,letterSpacing:"0.5px",fontWeight:600},children:["skew ",e.skew>=0?"+":"",(100*e.skew).toFixed(2)," \xb7 velocity cutoffs \xb10.5 / \xb12.0 bps/hr \xb7 sign: + = puts richer (normal)"]})]}),(0,Hg.jsx)("div",{style:{display:"flex",gap:8},children:hb.map(e=>(0,Hg.jsx)(Ab,{label:pb[e],ticker:e,skew:A[e],skew0:e===k?null===j||void 0===j?void 0:j.iv_skew_0dte:null,isActive:e===k},e))}),(0,Hg.jsxs)("div",{style:{fontSize:9,color:"#999",fontStyle:"italic",textAlign:"right",paddingRight:4,lineHeight:1.45},children:["Sign convention: positive skew = puts richer (normal equity skew); zero or negative = calls richer (rare, bullish). Velocity is soft on thin 1-DTE chains \u2014 treat ",(0,Hg.jsx)("span",{style:{fontFamily:ub},children:"*_BUILDING"})," /"," ",(0,Hg.jsx)("span",{style:{fontFamily:ub},children:"*_ACCELERATING"})," as suggestive, not deterministic."]})]})})()}),(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:12},children:[(0,Hg.jsx)(wb,{num:"04",title:"THE RETAIL TRAP",sub:`INSTITUTIONAL GEX VS. RETAIL SENTIMENT \u2014 EXIT LIQUIDITY DETECTOR \xb7 ${k}`,headline:"When small traders buy what the big institutions are selling, that's an exit-liquidity trap. This card flags it the moment it activates.",explain:N,badges:[{label:"TRAP_ACTIVE"===(null===(c=S.retail_trap)||void 0===c?void 0:c.status)?"\u26a0 TRAP ACTIVE":"\u2713 CLEAR",color:"TRAP_ACTIVE"===(null===(d=S.retail_trap)||void 0===d?void 0:d.status)?db.red:db.green}],freshnessBadge:(0,Hg.jsx)(sb,{computedAt:null===(u=null!==(h=j.retail_trap)&&void 0!==h?h:null===(p=j.sauce)||void 0===p?void 0:p.retail_trap)||void 0===u?void 0:u.computed_at,tier:"B",showCadence:!0}),children:(0,Hg.jsx)(Eb,{data:S.retail_trap,cachedAt:null===j||void 0===j?void 0:j.cached_at})}),((e,t,n,r,i,o)=>{const l=S.market_entropy,s=null===l||void 0===l||null===(e=l.intraday)||void 0===e?void 0:e.state,a=void 0!==s?s:null!==(t=null===l||void 0===l?void 0:l.state)&&void 0!==t?t:"\u2014",c="ORDERED"===a?db.green:"MODERATE"===a?db.amber:"CHAOTIC"===a?db.red:"UNKNOWN"===a?db.gray:null!==(n=null===l||void 0===l?void 0:l.color)&&void 0!==n?n:db.gray;return(0,Hg.jsx)(wb,{num:"05",title:"MARKET ENTROPY",sub:`OPTIONS FLOW DISORDER INDEX \u2014 INSTITUTIONAL CONVICTION VS. CHAOS \xb7 ${k}`,headline:"Is the options market organized today, or chaotic? Low entropy = clean conviction, signals work. High entropy = whipsaw, signals fail. Read this BEFORE you take a trade.",explain:$,badges:[{label:a||"\u2014",color:c}],freshnessBadge:(0,Hg.jsx)(sb,{computedAt:null===(r=null!==(i=j.market_entropy)&&void 0!==i?i:null===(o=j.sauce)||void 0===o?void 0:o.market_entropy)||void 0===r?void 0:r.computed_at,tier:"B",showCadence:!0}),calibratingBadge:(0,Hg.jsx)(cb,{tooltip:"Calibrating \u2014 entropy v2 in CANARY (validated against ~30 hand-labels at 77.8% accuracy). Live-validation period: compare v2 vs v1 across calm range / news / chop conditions. Cutover to v2-only when MK signs off (DC msg #117)."}),children:(0,Hg.jsx)(Cb,{data:S.market_entropy})})})()]}),(0,Hg.jsx)(wb,{num:"06",title:"IV & SENTIMENT SNAPSHOT",sub:`ATM IV \xb7 REALIZED VOL \xb7 PUT/CALL \xb7 EXPECTED MOVE \xb7 ${k}`,headline:"The basic vibe check \u2014 are options expensive or cheap? Are bullish bets dominating, or bearish? The session's expected move sets your range.",explain:W,badges:[{label:(null===P||void 0===P||null===(f=P.signal)||void 0===f?void 0:f.replace(/_/g," "))||"\u2014",color:null!==P&&void 0!==P&&null!==(g=P.signal)&&void 0!==g&&g.includes("FADE")?db.amber:null!==P&&void 0!==P&&null!==(m=P.signal)&&void 0!==m&&m.includes("BREAKOUT")?db.cyan:db.gray},{label:`P/C ${(null===I||void 0===I||null===(y=I.oi_ratio)||void 0===y?void 0:y.toFixed(2))||"\u2014"}`,color:((null===I||void 0===I?void 0:I.oi_ratio)||0)>1.2?db.red:((null===I||void 0===I?void 0:I.oi_ratio)||0)<.8?db.green:db.gray}],freshnessBadge:(0,Hg.jsx)(sb,{computedAt:ab(null===(v=j.iv_divergence)||void 0===v?void 0:v.computed_at,null===(x=j.pc_ratio)||void 0===x?void 0:x.computed_at,null===(b=j.expected_move)||void 0===b?void 0:b.computed_at,null===(w=j.expected_move_0dte)||void 0===w?void 0:w.computed_at),tier:"B",showCadence:!0}),children:((e,t,n,r,i,o,l)=>{const s=null===j||void 0===j?void 0:j.expected_move_0dte,a=((null===P||void 0===P?void 0:P.signal)||"").toUpperCase(),c=null===I||void 0===I?void 0:I.oi_ratio,d=null==c?"neutral positioning":c>1.2?"bearish positioning":c<.8?"bullish positioning":"neutral positioning",u=a.includes("FADE")||a.includes("RICH")?`IV rich + ${d} \u2192 mean-reversion / fade setups favored. Sell premium if you trade options directly.`:a.includes("BREAKOUT")||a.includes("CHEAP")?`IV cheap + ${d} \u2192 breakout / momentum setups favored. Buy premium if you trade options directly.`:`IV fairly priced + ${d} \u2192 no edge from the IV regime alone, read the other cards for direction.`,h=a.includes("FADE")?db.amber:a.includes("BREAKOUT")?db.cyan:"#aaa",p=e=>{let{children:t}=e;return(0,Hg.jsx)("div",{style:{fontSize:9,color:db.gray,letterSpacing:"2px",fontFamily:ub,fontWeight:700,marginBottom:6},children:t})},f={display:"grid",gridTemplateColumns:"repeat(auto-fill, 240px)",gap:8},g=null!=(null===s||void 0===s?void 0:s.straddle);return(0,Hg.jsxs)("div",{style:{display:"flex",gap:14,alignItems:"stretch"},children:[(0,Hg.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10,flex:1,minWidth:0},children:[(0,Hg.jsxs)("div",{children:[(0,Hg.jsx)(p,{children:"IV REGIME"}),(0,Hg.jsxs)("div",{style:f,children:[(0,Hg.jsx)(vb,{label:"ATM IV",value:null!=(null===P||void 0===P?void 0:P.iv_atm)?`${(100*P.iv_atm).toFixed(1)}%`:"\u2014",color:db.white}),(0,Hg.jsx)(vb,{label:"30D REALIZED",value:null!=(null===P||void 0===P?void 0:P.realized_vol)?`${(100*P.realized_vol).toFixed(1)}%`:"\u2014",color:db.cyan}),(0,Hg.jsx)(vb,{label:"DIVERGENCE",value:null!=(null===P||void 0===P?void 0:P.divergence)?`${P.divergence>0?"+":""}${(100*P.divergence).toFixed(1)}pp`:"\u2014",color:(null===P||void 0===P?void 0:P.divergence)>0?db.amber:(null===P||void 0===P?void 0:P.divergence)<0?db.cyan:db.gray,sub:null===P||void 0===P||null===(e=P.signal)||void 0===e?void 0:e.replace(/_/g," ")})]})]}),(0,Hg.jsxs)("div",{children:[(0,Hg.jsx)(p,{children:"SENTIMENT"}),(0,Hg.jsxs)("div",{style:f,children:[(0,Hg.jsx)(vb,{label:"P/C OI RATIO",value:(null===I||void 0===I||null===(t=I.oi_ratio)||void 0===t?void 0:t.toFixed(2))||"\u2014",color:((null===I||void 0===I?void 0:I.oi_ratio)||0)>1?db.red:db.green,sub:null===I||void 0===I?void 0:I.oi_sentiment}),(0,Hg.jsx)(vb,{label:"P/C VOL RATIO",value:(null===I||void 0===I||null===(n=I.vol_ratio)||void 0===n?void 0:n.toFixed(2))||"\u2014",color:((null===I||void 0===I?void 0:I.vol_ratio)||0)>1?db.red:db.green,sub:null===I||void 0===I?void 0:I.vol_sentiment})]})]}),(0,Hg.jsxs)("div",{children:[(0,Hg.jsx)(p,{children:"RANGE"}),(0,Hg.jsxs)("div",{style:f,children:[g&&(0,Hg.jsx)(vb,{label:"TODAY \xb1",value:`\xb1${C(s.straddle)} (${null===(r=s.pct)||void 0===r?void 0:r.toFixed(1)}%)`,color:db.white,sub:null!=(null===s||void 0===s?void 0:s.move_up)?`${C(s.move_up)} \u2191 \xb7 ${C(s.move_down)} \u2193`:"0-DTE"}),(0,Hg.jsx)(vb,{label:"SWING \xb1",value:null!=(null===D||void 0===D?void 0:D.straddle)?`\xb1${C(D.straddle)} (${null===(i=D.pct)||void 0===i?void 0:i.toFixed(1)}%)`:"\u2014",color:db.gray,sub:null!=(null===D||void 0===D?void 0:D.move_up)?`${C(D.move_up)} \u2191 \xb7 ${C(D.move_down)} \u2193`:"next non-today"}),(0,Hg.jsx)(vb,{label:"PUT WALL",value:C(null===j||void 0===j||null===(o=j.walls)||void 0===o?void 0:o.primary_put_wall),color:db.green,sub:"support"}),(0,Hg.jsx)(vb,{label:"CALL WALL",value:C(null===j||void 0===j||null===(l=j.walls)||void 0===l?void 0:l.primary_call_wall),color:db.red,sub:"resistance"})]})]})]}),(0,Hg.jsxs)("div",{style:{flex:"0 0 380px",minWidth:0,display:"flex",flexDirection:"column",justifyContent:"center",padding:"18px 26px",background:"#0a0a0a",border:`1px solid ${h}33`,borderLeft:`4px solid ${h}`,borderRadius:2},children:[(0,Hg.jsx)("div",{style:{fontSize:13,color:h,letterSpacing:"3px",fontWeight:800,fontFamily:ub,marginBottom:14},children:"\u25b6 READ"}),(0,Hg.jsx)("div",{style:{fontSize:18,color:db.white,lineHeight:1.45,fontFamily:"'DM Sans',sans-serif",fontWeight:500},children:u})]})]})})()})]})}function Mb(e){let{velocity:t,size:n=100}=e;const r=n/2,i=.55*n,o=.38*n,l=(Math.max(-.05,Math.min(.05,t||0))+.05)/.1,s=Math.PI*(1-l),a=r+.85*o*Math.cos(s),c=i-.85*o*Math.sin(s),d=(e,t)=>{const n=Math.PI*(1-e),l=Math.PI*(1-t),s=r+o*Math.cos(n),a=i-o*Math.sin(n),c=r+o*Math.cos(l),d=i-o*Math.sin(l);return`M${s},${a} A${o},${o} 0 ${t-e>.5?1:0} 1 ${c},${d}`};return(0,Hg.jsxs)("svg",{width:n,height:.82*n,viewBox:`0 0 ${n} ${.82*n}`,children:[(0,Hg.jsx)("path",{d:d(0,1),fill:"none",stroke:"#1a1a1a",strokeWidth:.08*n,strokeLinecap:"round"}),(0,Hg.jsx)("path",{d:d(0,.35),fill:"none",stroke:db.green,strokeWidth:.06*n,opacity:.3,strokeLinecap:"round"}),(0,Hg.jsx)("path",{d:d(.35,.65),fill:"none",stroke:db.yellow,strokeWidth:.06*n,opacity:.3,strokeLinecap:"round"}),(0,Hg.jsx)("path",{d:d(.65,1),fill:"none",stroke:db.red,strokeWidth:.06*n,opacity:.3,strokeLinecap:"round"}),(0,Hg.jsx)("path",{d:d(Math.max(0,l-.05),Math.min(1,l+.05)),fill:"none",stroke:l<.35?db.green:l>.65?db.red:db.yellow,strokeWidth:.06*n,opacity:.8,strokeLinecap:"round"}),(0,Hg.jsx)("line",{x1:r,y1:i,x2:a,y2:c,stroke:db.white,strokeWidth:1.5,strokeLinecap:"round"}),(0,Hg.jsx)("circle",{cx:r,cy:i,r:.035*n,fill:db.white}),(0,Hg.jsx)("text",{x:.04*n,y:i+.16*n,fill:db.green,fontSize:.1*n,fontFamily:"ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif",fontWeight:700,textAnchor:"start",children:"CALL"}),(0,Hg.jsx)("text",{x:.96*n,y:i+.16*n,fill:db.red,fontSize:.1*n,fontFamily:"ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif",fontWeight:700,textAnchor:"end",children:"PUT"})]})}function Ob(e){let{label:t,value:n,maxVal:r,color:i}=e;const o=r>0?Math.min(100,n/r*100):0;return(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:5,marginBottom:3},children:[(0,Hg.jsx)("div",{style:{width:30,fontSize:9,color:"#aaa",textAlign:"right",flexShrink:0,fontFamily:ub,fontWeight:600},children:t}),(0,Hg.jsx)("div",{style:{flex:1,height:11,background:"#080808",border:`1px solid ${db.border}`,overflow:"hidden"},children:(0,Hg.jsx)("div",{style:{height:"100%",width:`${o}%`,background:`linear-gradient(90deg,${i}30,${i}80)`,borderRight:`2px solid ${i}`,transition:"width .3s"}})}),(0,Hg.jsx)("div",{style:{width:48,fontSize:10,color:i,fontFamily:ub,textAlign:"right",fontWeight:700},children:null!=n?`${(100*n).toFixed(1)}%`:"\u2014"})]})}function Ab(e){let{label:t,ticker:n,skew:r,skew0:i,isActive:o}=e;if(!r||null==r.atm_iv)return(0,Hg.jsxs)("div",{style:{flex:1,background:db.bgCard,border:`1px solid ${o?db.orange+"50":db.border}`,padding:10,display:"flex",alignItems:"center",justifyContent:"center",fontSize:10,color:"#888",minHeight:140},children:[t,": no data"]});const l=r.velocity||{},s=Math.max(r.put_25d_iv||0,r.atm_iv||0,r.call_25d_iv||0,.01),a={PUTS_ACCELERATING:db.red,PUTS_BUILDING:db.amber,CALLS_ACCELERATING:db.green,CALLS_BUILDING:db.cyan,STABLE:"#bbb",UNKNOWN:"#888",STALE_PREV_SNAPSHOT:db.amber}[l.verdict]||"#888",c=null!=r.expiry_dte?`${r.expiry_dte}DTE${"0dte"===r.expiry_class?" (0DTE fallback)":""}`:r.expiry_class||null;return(0,Hg.jsxs)("div",{style:{flex:1,background:db.bgCard,border:`1px solid ${o?db.orange+"50":db.border}`,padding:"10px 12px",position:"relative",overflow:"hidden"},children:[o&&(0,Hg.jsx)("div",{style:{position:"absolute",top:0,left:0,right:0,height:1,background:db.orange,opacity:.4}}),(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",marginBottom:6},children:[(0,Hg.jsxs)("div",{children:[(0,Hg.jsx)("div",{style:{fontSize:11,fontWeight:700,color:o?db.orange:db.white,fontFamily:ub,letterSpacing:"0.5px"},children:t}),c&&(0,Hg.jsx)("div",{style:{fontSize:9,color:"#aaa",fontFamily:ub,letterSpacing:"0.3px",marginTop:2},children:c})]}),(0,Hg.jsx)("span",{style:{fontSize:9,padding:"2px 6px",border:`1px solid ${a}40`,color:a,background:`${a}10`,fontWeight:700,letterSpacing:"0.3px",whiteSpace:"nowrap"},children:(l.verdict||"NO DATA").replace(/_/g," ")})]}),(0,Hg.jsx)("div",{style:{display:"flex",justifyContent:"center",margin:"2px 0 4px"},children:(0,Hg.jsx)(Mb,{velocity:l.velocity,size:90})}),(0,Hg.jsxs)("div",{style:{textAlign:"center",marginBottom:6},children:[(0,Hg.jsxs)("div",{style:{fontSize:14,fontWeight:800,fontFamily:ub,color:r.skew>0?db.red:r.skew<0?db.green:"#bbb"},children:[null!=r.skew?`${r.skew>0?"+":""}${(100*r.skew).toFixed(2)}`:"\u2014",(0,Hg.jsx)("span",{style:{fontSize:9,color:"#999",fontWeight:400},children:" vol pts"})]}),null!=l.velocity&&(0,Hg.jsxs)("div",{style:{fontSize:9,color:a,fontFamily:ub,marginTop:2},children:[l.velocity>0?"\u25b2":l.velocity<0?"\u25bc":"\u2014"," ",Math.abs(l.velocity_bps_hr||0).toFixed(1)," bps/hr"]})]}),null!=(null===i||void 0===i?void 0:i.skew)&&(0,Hg.jsxs)("div",{style:{fontSize:9,padding:"3px 7px",marginBottom:6,background:"#0a0a0a",border:`1px solid ${db.border}`,borderRadius:2,fontFamily:ub,color:"#ccc",display:"flex",justifyContent:"space-between",alignItems:"center",letterSpacing:"0.3px"},children:[(0,Hg.jsx)("span",{style:{color:"#999",fontWeight:600},children:"0DTE \xb10.5%"}),(0,Hg.jsxs)("span",{style:{color:i.skew>0?db.red:i.skew<0?db.green:"#bbb",fontWeight:700},children:[i.skew>=0?"+":"",(100*i.skew).toFixed(2)]})]}),(0,Hg.jsx)(Ob,{label:"25P",value:r.put_25d_iv,maxVal:s,color:db.red}),(0,Hg.jsx)(Ob,{label:"ATM",value:r.atm_iv,maxVal:s,color:db.white}),(0,Hg.jsx)(Ob,{label:"25C",value:r.call_25d_iv,maxVal:s,color:db.green})]})}function Pb(e){var n,r,i,o,l,s,a,c,d,u,h,p,f,g;let{data:m,asset:y,chartData:v,layers:x,vis:b,setVis:w,refLines:S,spot:j,cfdRatio:k,cfdMode:_,priceBars:E,priceNormRatio:C,sharedRange:T,setSharedRange:M,levelsView:O}=e;if(!m)return(0,Hg.jsx)("div",{style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",fontSize:10,color:"#888"},children:"Loading..."});const A=(0,t.useCallback)(e=>{if(null==e)return"\u2014";if(!_)return Number(e).toFixed(2);const t=e*k;return t>1e3?Math.round(t).toString():t.toFixed(1)},[_,k]),P=m.gex,I="0dte"===O?null===(n=m.gex_0dte)||void 0===n?void 0:n.aggregate:null===(r=m.gex_stack)||void 0===r?void 0:r.aggregate,D=m.gex_stack,L=m.sauce,R=(0,t.useMemo)(()=>null!==D&&void 0!==D&&D.layers?D.layers.map(e=>{const t=(e.net_gex||[]).reduce((e,t)=>e+(t||0),0);return{expiry:e.expiry,label:e.label,total:t,weight:e.weight,color:e.color,T_years:e.T_years}}).sort((e,t)=>(e.expiry||"").localeCompare(t.expiry||"")):[],[D]),z=Math.max(1,...R.map(e=>Math.abs(e.total))),N=(0,t.useMemo)(()=>{var e;return"0dte"!==O?null:null!==m&&void 0!==m&&m.gex_0dte&&null!=(null===m||void 0===m?void 0:m.spot)?Km(m.gex_0dte,m.spot,null!==(e=m.cfd_ratio_used)&&void 0!==e?e:1):null},[O,null===m||void 0===m?void 0:m.gex_0dte,null===m||void 0===m?void 0:m.spot,null===m||void 0===m?void 0:m.cfd_ratio_used]),F=(0,t.useMemo)(()=>{var e;return"0dte"!==O?null:null!==m&&void 0!==m&&m.gex_0dte&&null!=(null===m||void 0===m?void 0:m.spot)?qm(m.gex_0dte,m.dealer_heatmap_0dte,m.spot,null!==(e=m.cfd_ratio_used)&&void 0!==e?e:1):null},[O,null===m||void 0===m?void 0:m.gex_0dte,null===m||void 0===m?void 0:m.dealer_heatmap_0dte,null===m||void 0===m?void 0:m.spot,null===m||void 0===m?void 0:m.cfd_ratio_used]),$="0dte"===O?N:null===L||void 0===L?void 0:L.structural_integrity,W="0dte"===O?F:null===L||void 0===L?void 0:L.volatility_gravity,B=[{icon:"\ud83d\udcd6",title:"WHAT IS THIS",body:(0,Hg.jsxs)(Hg.Fragment,{children:["Every price level has a ",(0,Hg.jsx)("strong",{style:{color:db.white},children:'"structural strength"'})," determined by dealer gamma. High gamma = dealers aggressively mean-revert = reinforced concrete. No gamma = nothing stops the move = thin ice."]})},{icon:"\ud83d\udca1",title:"WHY IT MATTERS",body:(0,Hg.jsxs)(Hg.Fragment,{children:["These structural levels are ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"positioning-driven, not price-driven"}),". They reflect where institutions have parked dealer hedging exposure \u2014 and they hold for the entire session unless a major expiry rolls off. Read them once at session open and reuse them all day."]})},{icon:"\ud83c\udfaf",title:"HOW TO USE IT",body:(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("strong",{style:{color:db.white},children:"Trade toward reinforced levels"}),' (they attract price). Avoid longs above thin ice. The "hardness" label tells you exactly how much friction price will encounter.']}),pills:[{label:"S/R mapping",ok:!0},{label:"Stop placement",ok:!0},{label:"Target selection",ok:!0}]}],U=[{icon:"\ud83d\udcd6",title:"WHAT IS THIS",body:(0,Hg.jsxs)(Hg.Fragment,{children:["Classifies every key level as a ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"\ud83e\uddf2 Magnet"})," (attracts and pins price) or a ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"\ud83d\ude80 Spring"})," (violent bounce/breakout). Magnets create chop. Springs create explosive moves."]})},{icon:"\ud83d\udca1",title:"WHY IT MATTERS",body:(0,Hg.jsxs)(Hg.Fragment,{children:["Moves you from ",(0,Hg.jsx)("em",{children:"scalping"})," to ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"strategic positioning"}),". Know which levels trap you in chop vs. which launch a trade in your favor."]})},{icon:"\ud83c\udfaf",title:"HOW TO USE IT",body:(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("strong",{style:{color:db.white},children:"Enter near Springs, target Magnets."})," Near a Spring \u2192 expect acceleration. Near a Magnet \u2192 expect chop, tighten stops."]}),pills:[{label:"Entry zones",ok:!0},{label:"Target levels",ok:!0},{label:"Position strategy",ok:!0}]}],H=[{icon:"\ud83d\udcd6",title:"WHAT IS THIS",body:(0,Hg.jsxs)(Hg.Fragment,{children:["Options expire on specific dates. When they do, dealers stop hedging \u2014 that hedging ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"kept price in a tight range"}),". This shows when gamma is released."]})},{icon:"\ud83d\udca1",title:"WHY IT MATTERS",body:(0,Hg.jsxs)(Hg.Fragment,{children:["When a massive expiry dies, price is ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"free to move more violently"}),". Monday after big Friday expiry = structurally more volatile \u2014 every time."]})},{icon:"\ud83c\udfaf",title:"HOW TO USE IT",body:(0,Hg.jsxs)(Hg.Fragment,{children:["Large expiry today \u2192 ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"range compression today, expansion the day after"}),". Negative GEX expiring = extra dangerous."]}),pills:[{label:"Weekly planning",ok:!0},{label:"Vol timing",ok:!0},{label:"Size management",ok:!0},{label:"Intraday timing",ok:!1}]}],V=[{icon:"\ud83d\udcd6",title:"WHAT IS THIS",body:(0,Hg.jsxs)(Hg.Fragment,{children:["The ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"GEX regime"})," tells you whether dealers are net-long or net-short gamma overall. The ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"flip level"})," is the price where that flips. Together they define today's volatility character."]})},{icon:"\ud83d\udca1",title:"WHY IT MATTERS",body:(0,Hg.jsxs)(Hg.Fragment,{children:["Positive regime = ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"dealers fade moves"})," (chop, mean-reversion). Negative regime = ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"dealers chase moves"})," (trending, violent). Same chart pattern means opposite things in each regime."]})},{icon:"\ud83c\udfaf",title:"HOW TO USE IT",body:(0,Hg.jsxs)(Hg.Fragment,{children:["Above flip + positive = ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"fade extremes, scalp ranges"}),". Below flip + negative = ",(0,Hg.jsx)("strong",{style:{color:db.white},children:"trade with the trend, give it room"}),". Crossing the flip level = regime change incoming."]}),pills:[{label:"Session strategy",ok:!0},{label:"Stop sizing",ok:!0},{label:"Trend vs chop",ok:!0}]}];return(0,Hg.jsxs)("div",{style:{flex:1,overflowY:"auto",overflowX:"hidden",padding:"10px 12px",display:"flex",flexDirection:"column",gap:12},children:[(0,Hg.jsxs)(wb,{prefix:"LEVELS",num:"01",title:"GEX REGIME & KEY LEVELS",sub:`STRUCTURAL POSITIONING SUMMARY \xb7 ${y}`,headline:"The single most important reading on this page. Are dealers calming the market today (POSITIVE = chop / mean-reversion), or amplifying every move (NEGATIVE = trending / dangerous)?",explain:V,badges:[{label:(null===P||void 0===P?void 0:P.regime)||"\u2014",color:"POSITIVE"===(null===P||void 0===P?void 0:P.regime)?db.green:db.red},{label:j>m.gex_flip?"ABOVE FLIP":"BELOW FLIP",color:j>m.gex_flip?db.green:db.red}],freshnessBadge:(0,Hg.jsx)(sb,{computedAt:ab(null===(i=m.gex)||void 0===i?void 0:i.computed_at,m.gex_flip_computed_at),tier:"B",showCadence:!0}),children:[(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:8},children:[(0,Hg.jsxs)("div",{style:{background:db.bgCard,border:`1px solid ${db.border}`,padding:"14px",textAlign:"center"},children:[(0,Hg.jsx)("div",{style:{fontSize:10,color:db.gray,letterSpacing:"1.5px",fontWeight:700,fontFamily:ub},children:"REGIME"}),(0,Hg.jsx)("div",{style:{fontSize:24,fontWeight:800,fontFamily:"'Bebas Neue',sans-serif",letterSpacing:"2px",color:"POSITIVE"===(null===P||void 0===P?void 0:P.regime)?db.green:db.red,marginTop:4},children:(null===P||void 0===P?void 0:P.regime)||"\u2014"}),(0,Hg.jsx)("div",{style:{fontSize:11,color:"#bbb",fontFamily:"'DM Sans',sans-serif",marginTop:4,lineHeight:1.4},children:"POSITIVE"===(null===P||void 0===P?void 0:P.regime)?"Dealers suppress moves \u2014 mean-reversion":"Dealers amplify moves \u2014 trending"})]}),(0,Hg.jsxs)("div",{style:{background:db.bgCard,border:`1px solid ${db.border}`,padding:"14px",textAlign:"center"},children:[(0,Hg.jsx)("div",{style:{fontSize:10,color:db.gray,letterSpacing:"1.5px",fontWeight:700,fontFamily:ub},children:"NET GEX"}),(0,Hg.jsx)("div",{style:{fontSize:24,fontWeight:800,fontFamily:"'Bebas Neue',sans-serif",letterSpacing:"2px",color:"POSITIVE"===(null===P||void 0===P?void 0:P.regime)?db.green:db.red,marginTop:4},children:null!=(null===P||void 0===P?void 0:P.net_total_gex)?yb(P.net_total_gex):"\u2014"}),(0,Hg.jsx)("div",{style:{fontSize:11,color:"#bbb",fontFamily:"'DM Sans',sans-serif",marginTop:4},children:"total dealer gamma"})]}),(0,Hg.jsxs)("div",{style:{background:db.bgCard,border:`1px solid ${db.border}`,padding:"14px",textAlign:"center"},children:[(0,Hg.jsx)("div",{style:{fontSize:10,color:db.gray,letterSpacing:"1.5px",fontWeight:700,fontFamily:ub},children:"FLIP LEVEL"}),(0,Hg.jsx)("div",{style:{fontSize:24,fontWeight:800,fontFamily:"'Bebas Neue',sans-serif",letterSpacing:"2px",color:db.orange,marginTop:4},children:A(m.gex_flip)}),(0,Hg.jsx)("div",{style:{fontSize:11,color:"#bbb",fontFamily:"'DM Sans',sans-serif",marginTop:4,lineHeight:1.4},children:j>m.gex_flip?"Price above \u2014 suppressed":"Price below \u2014 amplified"})]})]}),(()=>{const e="POSITIVE"===(null===P||void 0===P?void 0:P.regime),t=null!=(null===m||void 0===m?void 0:m.gex_flip)&&j>m.gex_flip,n=null!=j&&null!=(null===m||void 0===m?void 0:m.gex_flip)?(j-m.gex_flip)/m.gex_flip*100:null,r=null==n?null:`price is ${Math.abs(n).toFixed(1)}% ${n>=0?"above":"below"} flip`,i=e&&t?"Above flip + positive \u03b3 \u2192 dealers fade extremes. Favor scalps inside the range, mean-reversion setups.":e&&!t?"Below flip + positive \u03b3 \u2192 above-flip dynamics pending. Wait for price to reclaim the flip before trusting fade setups.":!e&&t?"Above flip + negative \u03b3 \u2192 below-flip violence is one bad print away. Trail stops tighter, don't fight strength yet.":"Below flip + negative \u03b3 \u2192 dealers amplify moves. Trade with the trend, give it room, expect violence.",o=e?db.green:db.red;return(0,Hg.jsxs)("div",{style:{marginTop:10,padding:"10px 14px",background:"#0a0a0a",borderLeft:`3px solid ${o}`,fontSize:12,color:"#ddd",lineHeight:1.5,fontFamily:"'DM Sans',sans-serif"},children:[(0,Hg.jsx)("span",{style:{color:o,fontFamily:ub,letterSpacing:"2px",fontSize:11,fontWeight:800,marginRight:8},children:"\u25b6 READ"}),i,r&&(0,Hg.jsxs)("span",{style:{color:db.gray,fontFamily:ub,marginLeft:8,fontSize:11},children:["(",r,")"]})]})})()]}),(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:12},children:[(0,Hg.jsx)(wb,{prefix:"LEVELS",num:"02",title:"STRUCTURAL INTEGRITY MAP"+("0dte"===O?" \xb7 0-DTE":""),sub:`LIQUIDITY DENSITY BY STRIKE \u2014 WHERE THE FLOOR IS GLASS VS. REINFORCED CONCRETE \xb7 ${y}`,headline:"Each price strike ranked by how hard the market will defend it. Reinforced concrete = strong support or resistance. Glass = price falls right through. This is your trading ladder.",explain:B,badges:[{label:`${((null===$||void 0===$?void 0:$.levels)||[]).filter(e=>e.gex_norm>.1).length} REINFORCED`,color:db.green},{label:`${((null===$||void 0===$?void 0:$.levels)||[]).filter(e=>e.gex_norm<-.15).length} THIN ICE`,color:db.red}],freshnessBadge:(0,Hg.jsx)(sb,{computedAt:"0dte"===O?null!==(o=null===m||void 0===m||null===(l=m.gex_0dte)||void 0===l||null===(s=l.aggregate)||void 0===s?void 0:s.computed_at)&&void 0!==o?o:null===m||void 0===m||null===(a=m.gex_0dte)||void 0===a?void 0:a.computed_at:null===L||void 0===L||null===(c=L.structural_integrity)||void 0===c?void 0:c.computed_at,tier:"B",showCadence:!0}),children:"0dte"!==O||null!==m&&void 0!==m&&m.gex_0dte?(0,Hg.jsx)(Sb,{data:$,dp:A}):(0,Hg.jsx)("div",{style:{fontSize:11,color:db.muted,padding:14,fontStyle:"italic"},children:"No 0-DTE structural data for this asset (no 0-DTE expiry today)."})}),(0,Hg.jsx)(wb,{prefix:"LEVELS",num:"03",title:"VOLATILITY GRAVITY"+("0dte"===O?" \xb7 0-DTE":""),sub:`VANNA + CHARM FORCE FIELD \u2014 WHICH LEVELS PIN VS. LAUNCH PRICE \xb7 ${y}`,headline:"Each strike labeled as a \ud83e\uddf2 Magnet (price gets stuck near it) or a \ud83d\ude80 Spring (price gets violently shoved away from it). Tells you where to enter and where to take profit.",explain:U,badges:[{label:`\ud83e\uddf2 ${((null===W||void 0===W?void 0:W.levels)||[]).filter(e=>"magnet"===e.type).length} MAGNETS`,color:db.cyan},{label:`\ud83d\ude80 ${((null===W||void 0===W?void 0:W.levels)||[]).filter(e=>"spring"===e.type).length} SPRINGS`,color:db.red}],freshnessBadge:(0,Hg.jsx)(sb,{computedAt:"0dte"===O?ab(null===m||void 0===m||null===(d=m.gex_0dte)||void 0===d||null===(u=d.aggregate)||void 0===u?void 0:u.computed_at,null===m||void 0===m||null===(h=m.gex_0dte)||void 0===h?void 0:h.computed_at,null===m||void 0===m||null===(p=m.dealer_heatmap_0dte)||void 0===p?void 0:p.computed_at):null===L||void 0===L||null===(f=L.volatility_gravity)||void 0===f?void 0:f.computed_at,tier:"B",showCadence:!0}),children:"0dte"!==O||null!==m&&void 0!==m&&m.gex_0dte?(0,Hg.jsx)(_b,{data:W,dp:A}):(0,Hg.jsx)("div",{style:{fontSize:11,color:db.muted,padding:14,fontStyle:"italic"},children:"No 0-DTE volatility-gravity data for this asset (no 0-DTE expiry today)."})})]}),(0,Hg.jsxs)(wb,{prefix:"LEVELS",num:"04",title:"GAMMA EXPIRATION CALENDAR",sub:`DEALER GEX STACKED BY EXPIRY \xb7 ${y} \xb7 ${R.length} CHAINS`,headline:"Big options expire on specific dates. While they're alive, dealer hedging keeps price calm. When they die, the safety net releases \u2014 and price moves freely. This shows when the calm ends.",explain:H,badges:[{label:R[0]?`NEXT: ${R[0].expiry}`:"\u2014",color:db.orange},{label:(null===I||void 0===I?void 0:I.regime)||"\u2014",color:"POSITIVE"===(null===I||void 0===I?void 0:I.regime)?db.green:db.red}],freshnessBadge:(0,Hg.jsx)(sb,{computedAt:ab(null===(g=m.gex_stack)||void 0===g?void 0:g.computed_at,m.max_pain_computed_at,m.hvl_computed_at,m.gex_flip_computed_at),tier:"B",showCadence:!0}),children:[(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(4,1fr)",gap:8,marginBottom:10},children:[(0,Hg.jsx)(vb,{label:"TOTAL GEX",value:null!=(null===I||void 0===I?void 0:I.net_total_gex)?yb(I.net_total_gex):"\u2014",color:"POSITIVE"===(null===I||void 0===I?void 0:I.regime)?db.green:db.red,sub:null===I||void 0===I?void 0:I.regime}),(0,Hg.jsx)(vb,{label:"GEX FLIP",value:A(m.gex_flip),color:db.orange,sub:j>m.gex_flip?"Above \u2192 suppress":"Below \u2192 amplify"}),(0,Hg.jsx)(vb,{label:"MAX PAIN",value:A(m.max_pain),color:db.purple}),(0,Hg.jsx)(vb,{label:"HVL",value:A(m.hvl),color:db.yellow,sub:"high volume level"})]}),(0,Hg.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"90px 1fr 80px",gap:8,fontSize:10,color:db.gray,letterSpacing:"1.5px",padding:"0 0 5px",borderBottom:`1px solid ${db.border}`,fontWeight:700,fontFamily:ub},children:[(0,Hg.jsx)("div",{children:"EXPIRY"}),(0,Hg.jsx)("div",{children:"DEALER GEX"}),(0,Hg.jsx)("div",{style:{textAlign:"right"},children:"TOTAL"})]}),R.map((e,t)=>{var n;const r=0===t,i=e.total<0,o=Math.min(95,Math.abs(e.total)/z*95),l=i?db.red:r?db.orange:db.cyan;return(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"90px 1fr 80px",gap:8,alignItems:"center",padding:"3px 0"},children:[(0,Hg.jsxs)("div",{style:{fontSize:11,color:r?db.orange:i?db.red:db.white,fontWeight:r?700:500,fontFamily:ub},children:[(null===(n=e.expiry)||void 0===n?void 0:n.slice(5))||e.label,r?" \u2190 NEXT":""]}),(0,Hg.jsx)("div",{style:{height:20,background:"#080808",border:`1px solid ${db.border}`,overflow:"hidden"},children:(0,Hg.jsx)("div",{style:{height:"100%",width:`${o}%`,background:`linear-gradient(90deg,${l}15,${l}40)`,borderLeft:`2px solid ${l}`,display:"flex",alignItems:"center",paddingLeft:7,fontSize:10,fontWeight:700,color:l,whiteSpace:"nowrap"},children:yb(e.total)})}),(0,Hg.jsx)("div",{style:{fontSize:11,textAlign:"right",color:l,fontFamily:ub,fontWeight:700},children:yb(e.total)})]},e.expiry)})]})]})]})}function Ib(e){let{data:n,asset:r,spot:i,cfdRatio:o,cfdMode:l,vis:s,sharedRange:a,setSharedRange:c,probFieldData:d,fieldContrast:u,fieldMode:h,setFieldMode:p,fieldWeights:f,setFieldWeights:g,weightsChanged:m,DEFAULT_WEIGHTS:y,priceBars:v,priceNormRatio:x,refLines:b,blendMode:w,coneWeight:S=.5,fullscreen:j=!1,onToggleFullscreen:k=()=>{}}=e;const[_,E]=(0,t.useState)(!1),[C,T]=(0,t.useState)(.6),[M,O]=(0,t.useState)(null),A=(0,t.useRef)(null);(0,t.useEffect)(()=>{const e=()=>{fetch("/api/ticks").then(e=>e.ok?e.json():null).then(e=>{if(!e||!e[r])return;const t=e[r].price||e[r].bid;t&&t>0&&x&&x>0&&O(t/x)}).catch(()=>{})};return e(),A.current=setInterval(e,1e3),()=>clearInterval(A.current)},[r,x]);const[P,I]=(0,t.useState)([]),[D,L]=(0,t.useState)(0),R="month_prev"===h?"prev":"curr";(0,t.useEffect)(()=>{let e=!1;const t="prev"===R?"H1":"M30";return rb(r,t,"prev"===R?2e3:800).then(n=>{if(e)return;const i=Array.isArray(n)?n:(null===n||void 0===n?void 0:n.bars)||(null===n||void 0===n?void 0:n.data)||[];i.length>0&&console.log(`[heatmap bars] ${r} ${t}: ${i.length} bars, first=${JSON.stringify(i[0])}, last=${JSON.stringify(i[i.length-1])}`),I(i)}).catch(e=>console.warn("[heatmap bars] fetch failed:",e)),()=>{e=!0}},[r,R,D]);const z=(0,t.useCallback)(()=>L(e=>e+1),[]);(0,t.useEffect)(()=>{if("undefined"===typeof window)return;const e=()=>L(e=>e+1);return window.addEventListener("mk:data-sync-complete",e),()=>window.removeEventListener("mk:data-sync-complete",e)},[]);const[N,F]=(0,t.useState)(null);return(0,t.useEffect)(()=>{let e=!1;return fetch(`/api/cones/${r}`).then(e=>e.ok?e.json():(console.warn(`[heatmap cones] ${r} returned ${e.status}`),null)).then(t=>{if(e)return;if(!t)return void F(null);const n=null!==t&&void 0!==t&&t.cones?Object.keys(t.cones):Object.keys(t);console.log(`[heatmap cones] ${r}: top keys=${Object.keys(t).join(",")}, cones keys=${n.slice(0,8).join(",")}`),F(t)}).catch(t=>{console.warn("[heatmap cones] fetch failed:",t),e||F(null)}),()=>{e=!0}},[r,D]),n?(0,Hg.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",overflow:"hidden",background:"#06080c",minHeight:0,position:"relative"},children:[(0,Hg.jsxs)("div",{style:{position:"absolute",top:j?10:46,right:14,zIndex:50,display:"flex",gap:6},children:[(0,Hg.jsx)("div",{onClick:()=>E(e=>!e),title:"Toggle contour isolines",style:{cursor:"pointer",userSelect:"none",padding:"5px 11px",fontSize:9,fontFamily:ub,fontWeight:700,letterSpacing:"1px",background:_?"#1f2937":"#0b0f17",color:_?"#22d3ee":"#777",border:"1px solid "+(_?"#22d3ee":"#1f2937"),borderRadius:3,transition:"all .15s"},children:"\u25c9 CONTOUR"}),_&&(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"0 10px",fontSize:9,fontFamily:ub,fontWeight:700,letterSpacing:"1px",background:"#0b0f17",color:"#22d3ee",border:"1px solid #1f2937",borderRadius:3},children:[(0,Hg.jsx)("span",{style:{color:"#777"},children:"W"}),(0,Hg.jsx)("input",{type:"range",min:"0.2",max:"2.5",step:"0.1",value:C,onChange:e=>T(Number(e.target.value)),title:`Contour stroke width: ${C.toFixed(1)}`,style:{width:70,accentColor:"#22d3ee",cursor:"pointer"}}),(0,Hg.jsx)("span",{style:{minWidth:20,textAlign:"right"},children:C.toFixed(1)})]}),(0,Hg.jsx)("div",{onClick:k,title:j?"Exit fullscreen":"Expand heatmap to fullscreen",style:{cursor:"pointer",userSelect:"none",padding:"5px 11px",fontSize:9,fontFamily:ub,fontWeight:700,letterSpacing:"1px",background:j?"#1f2937":"#0b0f17",color:j?"#22d3ee":"#777",border:"1px solid "+(j?"#22d3ee":"#1f2937"),borderRadius:3,transition:"all .15s"},children:j?"\u2921 EXIT":"\u2922 FULL"}),(0,Hg.jsx)("div",{onClick:z,title:"Refresh candles & cones",style:{cursor:"pointer",userSelect:"none",padding:"5px 11px",fontSize:9,fontFamily:ub,fontWeight:700,letterSpacing:"1px",background:"#0b0f17",color:"#22d3ee",border:"1px solid #1f2937",borderRadius:3,transition:"all .15s"},onMouseEnter:e=>{e.currentTarget.style.background="#1f2937",e.currentTarget.style.borderColor="#22d3ee"},onMouseLeave:e=>{e.currentTarget.style.background="#0b0f17",e.currentTarget.style.borderColor="#1f2937"},children:"\u21bb REFRESH"})]}),(0,Hg.jsx)(bb,{fieldData:d,spot:s.spot?M||i:null,cfdRatio:o,cfdMode:l,refLines:b,blendMode:w,monthMode:R,contrast:u,liveBars:P,conesData:N,coneWeight:S,showContour:_,contourWidth:C})]}):(0,Hg.jsx)("div",{style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",fontSize:11,color:"#888",background:"#06080c"},children:"Loading..."})}function Db(){var e,n,r,i,o;const[l,s]=(0,t.useState)("US500"),[a,c]=(0,t.useState)(null),[d,u]=(0,t.useState)(!1),[h,p]=(0,t.useState)(null),[f,g]=(0,t.useState)(null),[m,y]=(0,t.useState)("sauce"),v=(0,t.useCallback)(e=>{y(e),setTimeout(()=>window.dispatchEvent(new Event("resize")),50)},[]),[x,b]=(0,t.useState)("swing"),w=!1,[S,j]=(0,t.useState)(!1),[k,_]=(0,t.useState)(null),[E,C]=(0,t.useState)(.65),T=((0,t.useRef)(null),(0,t.useRef)(null)),[M,O]=((0,t.useCallback)(e=>{var t;e.preventDefault();const n=e.clientX,r=E,i=(null===(t=T.current)||void 0===t?void 0:t.offsetWidth)||900,o=e=>{const t=(e.clientX-n)/i;C(e=>Math.max(.3,Math.min(.85,r+t)))},l=()=>{window.removeEventListener("mousemove",o),window.removeEventListener("mouseup",l)};window.addEventListener("mousemove",o),window.addEventListener("mouseup",l)},[E]),(0,t.useState)([])),[A,P]=(0,t.useState)(null),[I,D]=(0,t.useState)(null),[L,R]=(0,t.useState)("month_curr"),[z,N]=(0,t.useState)(!1),[F,$]=(0,t.useState)(.5),[W,B]=(0,t.useState)(.5),[U,H]=(0,t.useState)({w_mc:48,w_anchor:16,w_ou:12,w_gex:14,w_dealer:10}),V={w_mc:94,w_anchor:63,w_ou:51,w_gex:70,w_dealer:70},Y=Object.keys(V).some(e=>U[e]!==V[e]),G=null===a||void 0===a?void 0:a.spot;(0,t.useEffect)(()=>{G&&G>0&&_([.88*G,1.12*G])},[G,l]);const[K,q]=(0,t.useState)({flip:!0,maxpain:!0,putwall:!0,callwall:!0,hvl:!0,expmove:!0,spot:!0}),X=(0,t.useRef)(null),J=(0,t.useRef)(null),Q=(0,t.useRef)(!1),Z=null!=a&&!1===a._conversion_applied;(0,t.useEffect)(()=>{fetch("/api/ticks").then(e=>e.ok?e.json():null).then(e=>{e&&P(e)}).catch(()=>{})},[]),(0,t.useEffect)(()=>{let e=!1;if("heatmap"===m)return;return fetch(`/api/bars/${l}?timeframe=M15&count=60`).then(e=>e.ok?e.json():null).then(t=>{if(e)return;const n=Array.isArray(t)?t:(null===t||void 0===t?void 0:t.bars)||(null===t||void 0===t?void 0:t.data)||[];O(n.slice(-60))}).catch(()=>{}),()=>{e=!0}},[l,m]),(0,t.useEffect)(()=>{D(null)},[l,m]);const[ee,te]=(0,t.useState)(0);(0,t.useEffect)(()=>{if("undefined"===typeof window)return;const e=()=>te(e=>e+1);return window.addEventListener("mk:data-sync-complete",e),()=>window.removeEventListener("mk:data-sync-complete",e)},[]),(0,t.useEffect)(()=>{if("heatmap"!==m)return;let e=!1,t=null;const n=()=>{fetch(`/api/probability-field/${l}`).then(e=>e.ok?e.json():null).then(t=>{if(!e)if(t){if(t.format_version){const e=String(t.format_version);e.startsWith("2")||e.startsWith("3")||console.warn(`[probability-field] Unexpected format_version: ${e}. Frontend expects 2.x or 3.x.`)}D(t)}else D(null)}).catch(()=>{e||D(null)})};return n(),t=setInterval(n,mb),()=>{e=!0,t&&clearInterval(t)}},[l,m,ee]);const ne=(0,t.useCallback)(async e=>{if(J.current)try{J.current.abort()}catch{}const t=new AbortController;J.current=t,Q.current=!0;const n=setTimeout(()=>{try{t.abort()}catch{}},15e3);u(!0),p(null);try{const n=`/api/options/${e}/full?n=8`,r=await fetch(n,{signal:t.signal});if(J.current!==t)return;if(!r.ok){const e=await r.json().catch(()=>({}));throw new Error(e.detail||`HTTP ${r.status}`)}const i=await r.json();if(J.current!==t)return;c(i),g(new Date)}catch(sd){if(J.current!==t)return;"AbortError"===(null===sd||void 0===sd?void 0:sd.name)?void 0===t.signal.reason&&p("request timed out"):p(sd.message)}finally{clearTimeout(n),J.current===t&&(J.current=null,Q.current=!1,u(!1))}},[]);(0,t.useEffect)(()=>(ne(l),clearInterval(X.current),X.current=setInterval(()=>{Q.current||ne(l)},mb),()=>{if(clearInterval(X.current),J.current)try{J.current.abort()}catch{}}),[l,ne]),(0,t.useEffect)(()=>{const e=e=>{"Escape"===e.key&&j(!1)};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]);const{chartData:re,layers:ie}=(0,t.useMemo)(()=>{var e,t;if(!a)return{chartData:[],layers:[]};let n="0dte"===x?a.gex_0dte:a.gex_stack;if(null===(e=n)||void 0===e||null===(t=e.strikes)||void 0===t||!t.length){var r,i;if(null===(r=a.gex)||void 0===r||null===(i=r.strikes)||void 0===i||!i.length)return{chartData:[],layers:[]};n={strikes:a.gex.strikes,layers:[{label:"GEX1",color:gb[0],expiry:a.expiry,net_gex:a.gex.net_gex}]}}const{strikes:o,layers:l}=n,s=o.map((e,t)=>{const n={strike:e};return null===l||void 0===l||l.forEach(e=>{var r,i;n[e.label]=null!==(r=null===(i=e.net_gex)||void 0===i?void 0:i[t])&&void 0!==r?r:0}),n});return{chartData:s,layers:l||[]}},[a,x]),oe=(0,t.useMemo)(()=>{var e,t,n;if(!a)return[];const r=[];return K.flip&&null!=a.gex_flip&&r.push({value:a.gex_flip,label:"FLIP",color:db.orange,dash:"5 3"}),K.maxpain&&null!=a.max_pain&&r.push({value:a.max_pain,label:"MAX PAIN",color:db.purple,dash:"3 4"}),K.putwall&&null!=(null===(e=a.walls)||void 0===e?void 0:e.primary_put_wall)&&r.push({value:a.walls.primary_put_wall,label:"PUT WALL",color:db.green,dash:"5 2"}),K.callwall&&null!=(null===(t=a.walls)||void 0===t?void 0:t.primary_call_wall)&&r.push({value:a.walls.primary_call_wall,label:"CALL WALL",color:db.red,dash:"5 2"}),K.hvl&&null!=a.hvl&&r.push({value:a.hvl,label:"HVL",color:db.yellow,dash:"2 4"}),K.expmove&&null!=(null===(n=a.expected_move)||void 0===n?void 0:n.move_up)&&(r.push({value:a.expected_move.move_up,label:"EXP+",color:"#555",dash:"2 5"}),r.push({value:a.expected_move.move_down,label:"EXP\u2212",color:"#555",dash:"2 5"})),r},[a,K]),le=null===a||void 0===a?void 0:a.expected_move,se=(null===a||void 0===a||a.iv_divergence,null===a||void 0===a||a.pc_ratio,"0dte"===x?null===a||void 0===a||null===(e=a.gex_0dte)||void 0===e?void 0:e.aggregate:null===a||void 0===a||null===(n=a.gex_stack)||void 0===n?void 0:n.aggregate),ae=(0,t.useCallback)(e=>e?Number(e).toFixed(2):"\u2014",[w,1]),ce=S&&"heatmap"===m,de={background:db.bg,height:"100%",display:"flex",flexDirection:"column",fontFamily:ub,overflow:"hidden",...S?{position:"fixed",inset:0,zIndex:9999}:{}};return(0,Hg.jsxs)("div",{style:de,children:[!ce&&(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"8px 14px",borderBottom:`1px solid ${db.border}`,flexShrink:0},children:[(0,Hg.jsxs)("div",{children:[(0,Hg.jsx)("span",{style:{fontSize:11,fontWeight:800,color:db.orange,letterSpacing:"2px"},children:"OPTIONS QUANT"}),(0,Hg.jsx)("span",{style:{fontSize:7,color:db.muted,marginLeft:12},children:"CBOE 15-min delayed \xb7 GEX \xb7 Max Pain \xb7 IV Divergence"})]}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(null===a||void 0===a?void 0:a.is_stale)&&(0,Hg.jsx)("span",{style:{fontSize:7,color:db.amber,border:`1px solid ${db.amber}40`,padding:"1px 5px"},children:"\u26a0 STALE"}),f&&(0,Hg.jsx)("span",{style:{fontSize:7,color:db.muted},children:f.toLocaleTimeString()}),(0,Hg.jsx)(xb,{label:d?"\u2026":"\u21bb REFRESH",active:!1,onClick:()=>ne(l),color:db.cyan}),(0,Hg.jsx)(xb,{label:S?"\u2921 EXIT":"\u2922 FULL",active:S,onClick:()=>j(e=>!e),color:db.muted})]})]}),!ce&&(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"4px 14px",borderBottom:`1px solid ${db.border}`,flexShrink:0},children:[(0,Hg.jsx)("div",{style:{display:"flex",gap:3},children:hb.map(e=>(0,Hg.jsxs)("button",{onClick:()=>s(e),style:{background:e===l?`${db.orange}18`:"transparent",border:e===l?`1px solid ${db.orange}`:`1px solid ${db.border}`,borderRadius:2,color:e===l?db.orange:db.gray,padding:"6px 14px",fontSize:9,fontWeight:700,fontFamily:ub,cursor:"pointer",letterSpacing:"0.5px",transition:"all .15s"},children:[pb[e],(0,Hg.jsxs)("span",{style:{fontSize:7,color:e===l?db.orange:db.muted,marginLeft:5,opacity:.7},children:["(",fb[e],")"]})]},e))}),Z&&(0,Hg.jsx)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"3px 10px",background:`${db.amber}18`,border:`1px solid ${db.amber}60`,fontSize:9,color:db.amber,fontWeight:700,letterSpacing:"1px"},children:"\u26a0 MT5 OFFLINE \xb7 LEVELS IN ETF SPACE"})]}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",height:32,background:db.bg,borderBottom:`1px solid ${db.border}`,padding:"0 10px",gap:3,flexShrink:0},children:[[{key:"sauce",icon:"\ud83e\uddea",label:"The Sauce",count:6},{key:"levels",icon:"\ud83d\udcca",label:"Levels",count:4},{key:"heatmap",icon:"\ud83d\uddfa\ufe0f",label:"Heat Map",count:null}].map(e=>(0,Hg.jsxs)("button",{onClick:()=>v(e.key),style:{height:28,padding:"0 16px",display:"flex",alignItems:"center",gap:5,fontSize:8,letterSpacing:"1.5px",color:m===e.key?db.orange:db.muted,cursor:"pointer",textTransform:"uppercase",fontWeight:700,fontFamily:ub,border:m===e.key?`1px solid ${db.orange}`:"1px solid transparent",background:m===e.key?`${db.orange}12`:"transparent",position:"relative",transition:"all .15s",whiteSpace:"nowrap"},children:[(0,Hg.jsx)("span",{style:{fontSize:10},children:e.icon}),e.label,e.count&&(0,Hg.jsx)("span",{style:{fontSize:6,padding:"1px 4px",marginLeft:3,background:m===e.key?`${db.orange}20`:db.bgCard,border:`1px solid ${m===e.key?db.orange:db.border}`,color:m===e.key?db.orange:db.muted},children:e.count})]},e.key)),(0,Hg.jsxs)("div",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:8},children:["levels"===m&&(0,Hg.jsx)(Hg.Fragment,{children:(0,Hg.jsx)("div",{style:{display:"flex",alignItems:"center",gap:0,border:`1px solid ${db.border}`,borderRadius:3,overflow:"hidden"},children:[{key:"swing",label:"SWING 1\u20138",color:db.cyan},{key:"0dte",label:"0 DTE",color:db.yellow}].map(e=>{let{key:t,label:n,color:r}=e;return(0,Hg.jsx)("div",{onClick:()=>b(t),style:{cursor:"pointer",userSelect:"none",padding:"5px 14px",fontSize:9,fontFamily:ub,fontWeight:700,letterSpacing:"1px",background:x===t?r:"transparent",color:x===t?"#000":"#9ca3af",transition:"all .15s"},children:n},t)})})}),"heatmap"===m&&(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,Hg.jsx)("span",{style:{fontSize:8,color:"#888",fontFamily:ub,letterSpacing:"1px",fontWeight:600},children:"MONTH"}),(0,Hg.jsx)("div",{style:{display:"flex",gap:0,border:`1px solid ${db.border}`,borderRadius:3,overflow:"hidden"},children:[{key:"month_curr",label:"CURRENT",color:db.amber},{key:"month_prev",label:"PREVIOUS",color:db.purple}].map(e=>{let{key:t,label:n,color:r}=e;return(0,Hg.jsx)("div",{onClick:()=>R(t),style:{cursor:"pointer",userSelect:"none",padding:"4px 12px",fontSize:9,fontFamily:ub,fontWeight:700,letterSpacing:"1px",background:L===t?r:"transparent",color:L===t?"#000":"#9ca3af",transition:"all .15s"},children:n},t)})})]}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,marginLeft:6},children:[(0,Hg.jsx)("span",{style:{fontSize:8,color:"#888",fontFamily:ub,letterSpacing:"1px",fontWeight:600},children:"BLEND"}),(0,Hg.jsx)("div",{onClick:()=>N(e=>!e),style:{cursor:"pointer",userSelect:"none",padding:"4px 14px",fontSize:9,fontFamily:ub,fontWeight:700,letterSpacing:"1px",background:z?"#22c55e":"transparent",color:z?"#000":"#9ca3af",border:`1px solid ${z?"#22c55e":db.border}`,borderRadius:3,boxShadow:z?"0 0 8px rgba(34,197,94,0.4)":"none",transition:"all .15s"},children:z?"ON":"OFF"})]}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginLeft:6},children:[(0,Hg.jsx)("span",{style:{fontSize:8,color:"#888",fontFamily:ub,letterSpacing:"1px",fontWeight:600},children:"CONTRAST"}),(0,Hg.jsx)("input",{type:"range",min:"0",max:"100",step:"1",value:Math.round(100*(F||0)),onChange:e=>$(Number(e.target.value)/100),style:{width:80,height:4,cursor:"pointer",accentColor:"#22d3ee",background:"#1f2937"}}),(0,Hg.jsx)("span",{style:{fontSize:9,color:"#22d3ee",fontFamily:ub,fontWeight:700,minWidth:22,textAlign:"right"},children:Math.round(100*(F||0))})]}),z&&(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginLeft:6},children:[(0,Hg.jsx)("span",{style:{fontSize:8,color:"#888",fontFamily:ub,letterSpacing:"1px",fontWeight:600},children:"CONE"}),(0,Hg.jsx)("input",{type:"range",min:"0",max:"100",step:"1",value:Math.round(100*(W||0)),onChange:e=>B(Number(e.target.value)/100),style:{width:80,height:4,cursor:"pointer",accentColor:"#22c55e",background:"#1f2937"}}),(0,Hg.jsx)("span",{style:{fontSize:9,color:"#22c55e",fontFamily:ub,fontWeight:700,minWidth:22,textAlign:"right"},children:Math.round(100*(W||0))})]})]})]})]}),h&&(0,Hg.jsxs)("div",{style:{padding:"8px 14px",background:`${db.red}10`,border:`1px solid ${db.red}30`,fontSize:8,color:db.red,margin:"6px 14px"},children:["\u2718 ",h]}),a&&(0,Hg.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",minHeight:0,overflow:"hidden"},children:["sauce"!==m&&(0,Hg.jsxs)("div",{style:{display:"flex",gap:4,padding:"6px 14px",flexShrink:0,overflowX:"auto",borderBottom:`1px solid ${db.border}`},children:[(0,Hg.jsx)(vb,{label:"SPOT",value:ae(G),color:db.cyan,sub:"15-min delay",explain:"Current underlying price."}),(0,Hg.jsx)(vb,{label:"GEX FLIP",value:ae(a.gex_flip),color:a.gex_flip&&G>a.gex_flip?db.green:db.amber,sub:a.gex_flip?G>a.gex_flip?"above \u2192 dealers suppress":"below \u2192 dealers amplify":"no crossing",explain:"Price where dealer hedging flips direction. Above = stabilizing, below = trend-amplifying."}),(0,Hg.jsx)(vb,{label:"MAX PAIN",value:ae(a.max_pain),color:db.purple,sub:a.max_pain&&G?`${G>a.max_pain?"\u25bc":"\u25b2"} ${Math.abs(G-a.max_pain).toFixed(2)} away`:"",explain:"Strike where the most options expire worthless \u2014 a magnet for price into expiry."}),(0,Hg.jsx)(vb,{label:"PUT WALL \u2191",value:ae(null===(r=a.walls)||void 0===r?void 0:r.primary_put_wall),color:db.green,sub:"support",explain:"Largest put-OI strike \u2014 tends to act as support."}),(0,Hg.jsx)(vb,{label:"CALL WALL \u2193",value:ae(null===(i=a.walls)||void 0===i?void 0:i.primary_call_wall),color:db.red,sub:"resistance",explain:"Largest call-OI strike \u2014 tends to act as resistance."}),(0,Hg.jsx)(vb,{label:"HVL",value:ae(a.hvl),color:db.yellow,sub:"high vol level",explain:"High-volume level. Price tends to accelerate away from it."}),(0,Hg.jsx)(vb,{label:"EXP MOVE",value:null!=(null===le||void 0===le?void 0:le.straddle)?`\xb1${ae(le.straddle)} (${null===(o=le.pct)||void 0===o?void 0:o.toFixed(1)}%)`:"\u2014",color:db.gray,sub:null!==le&&void 0!==le&&le.move_up?`${ae(le.move_up)} \u2191 ${ae(le.move_down)} \u2193`:"ATM straddle",explain:"Options-implied expected range by today's expiry (\xb11\u03c3)."}),(0,Hg.jsx)(vb,{label:"NET GEX",value:null!=(null===se||void 0===se?void 0:se.net_total_gex)?yb(se.net_total_gex):"\u2014",color:"POSITIVE"===(null===se||void 0===se?void 0:se.regime)?db.green:db.red,sub:(null===se||void 0===se?void 0:se.regime)||"",explain:"Aggregate dealer gamma. Positive = mean-reverting tape; Negative = trend-amplifying."}),(null===a||void 0===a?void 0:a.dealer_heatmap)&&(0,Hg.jsx)(vb,{label:"DEALER \u0394 NET",value:null!=a.dealer_heatmap.net_dealer_delta?yb(a.dealer_heatmap.net_dealer_delta):"\u2014",color:a.dealer_heatmap.net_dealer_delta<0?db.green:db.red,sub:a.dealer_heatmap.net_dealer_delta<0?"net buy":"net sell",explain:"Net delta dealers need to hedge. Negative = they must buy into dips; positive = they must sell into rallies."})]}),"sauce"===m&&(0,Hg.jsx)(Tb,{sauce:null===a||void 0===a?void 0:a.sauce,data:a,asset:l,cfdRatio:1,cfdMode:w}),"levels"===m&&(0,Hg.jsx)(Pb,{data:a,asset:l,chartData:re,layers:ie,vis:K,setVis:q,refLines:oe,spot:G,cfdRatio:1,cfdMode:w,priceBars:M,priceNormRatio:1,sharedRange:k,setSharedRange:_,levelsView:x}),"heatmap"===m&&(0,Hg.jsx)(Ib,{data:a,asset:l,spot:G,cfdRatio:1,cfdMode:w,vis:K,sharedRange:k,setSharedRange:_,probFieldData:I,fieldContrast:F,fieldMode:L,setFieldMode:R,fieldWeights:U,setFieldWeights:H,weightsChanged:Y,DEFAULT_WEIGHTS:V,priceBars:M,priceNormRatio:1,refLines:oe,blendMode:z,coneWeight:W,fullscreen:ce,onToggleFullscreen:()=>j(e=>!e)}),(0,Hg.jsxs)("div",{style:{padding:"3px 14px",borderTop:`1px solid ${db.border}`,flexShrink:0,display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,Hg.jsxs)("span",{style:{fontSize:6,color:db.muted},children:["CBOE delayed \xb7 ",pb[l]," via ",fb[l],Z?" \xb7 RAW ETF (MT5 offline)":" \xb7 CFD"," \xb7 GEX = dealer gamma exposure \xb7 Not financial advice"]}),(0,Hg.jsxs)("span",{style:{fontSize:6,color:null!==a&&void 0!==a&&a.market_open?db.green:db.muted},children:["\u25cf ",null!==a&&void 0!==a&&a.market_open?"MARKET OPEN":"CLOSED"]})]})]}),!a&&!d&&!h&&(0,Hg.jsx)("div",{style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",fontSize:9,color:db.muted},children:"Select an asset to load options data"})]})}function Lb(e){var t,n,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=Lb(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function Rb(){for(var e,t,n=0,r="",i=arguments.length;n<i;n++)(e=arguments[n])&&(t=Lb(e))&&(r&&(r+=" "),r+=t);return r}var zb=n(7820),Nb=n.n(zb),Fb=n(7770),$b=n.n(Fb);function Wb(e){var t=10**(arguments.length>1&&void 0!==arguments[1]?arguments[1]:4),n=Math.round(e*t)/t;return Object.is(n,-0)?0:n}function Bb(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return e.reduce((e,t,r)=>{var i=n[r-1];return"string"===typeof i?e+i+t:void 0!==i?e+Wb(i)+t:e+t},"")}var Ub=e=>0===e?0:e>0?1:-1,Hb=e=>"number"==typeof e&&e!=+e,Vb=e=>"string"===typeof e&&e.indexOf("%")===e.length-1,Yb=e=>("number"===typeof e||e instanceof Number)&&!Hb(e),Gb=e=>Yb(e)||"string"===typeof e,Kb=0,qb=e=>{var t=++Kb;return"".concat(e||"").concat(t)},Xb=function(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!Yb(e)&&"string"!==typeof e)return r;if(Vb(e)){if(null==t)return r;var o=e.indexOf("%");n=t*parseFloat(e.slice(0,o))/100}else n=+e;return Hb(n)&&(n=r),i&&null!=t&&n>t&&(n=t),n},Jb=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,n={},r=0;r<t;r++){if(n[String(e[r])])return!0;n[String(e[r])]=!0}return!1};function Qb(e,t,n){return Yb(e)&&Yb(t)?Wb(e+n*(t-e)):t}var Zb=e=>null===e||"undefined"===typeof e,ew=e=>Zb(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function tw(e){return null!=e}function nw(){}var rw=function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];if("undefined"!==typeof console&&console.warn&&(void 0===t&&console.warn("LogUtils requires an error message argument"),!e))if(void 0===t)console.warn("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var o=0;console.warn(t.replace(/%s/g,()=>r[o++]))}},iw={width:"100%",height:"100%",debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},ow=(e,t,n)=>{var{width:r=iw.width,height:i=iw.height,aspect:o,maxHeight:l}=n,s=Vb(r)?e:Number(r),a=Vb(i)?t:Number(i);return o&&o>0&&(s?a=s/o:a&&(s=a*o),l&&null!=a&&a>l&&(a=l)),{calculatedWidth:s,calculatedHeight:a}},lw={width:0,height:0,overflow:"visible"},sw={width:0,overflowX:"visible"},aw={height:0,overflowY:"visible"},cw={},dw=e=>{var{width:t,height:n}=e,r=Vb(t),i=Vb(n);return r&&i?lw:r?sw:i?aw:cw};function uw(e){return Number.isFinite(e)}function hw(e){return"number"===typeof e&&e>0&&Number.isFinite(e)}function pw(){return pw=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},pw.apply(null,arguments)}function fw(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function gw(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?fw(Object(n),!0).forEach(function(t){mw(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):fw(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function mw(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var yw=(0,t.createContext)(iw.initialDimension);function vw(e){var{children:n,width:r,height:i}=e,o=(0,t.useMemo)(()=>({width:r,height:i}),[r,i]);return function(e){return hw(e.width)&&hw(e.height)}(o)?t.createElement(yw.Provider,{value:o},n):null}var xw=()=>(0,t.useContext)(yw),bw=(0,t.forwardRef)((e,n)=>{var{aspect:r,initialDimension:i=iw.initialDimension,width:o,height:l,minWidth:s=iw.minWidth,minHeight:a,maxHeight:c,children:d,debounce:u=iw.debounce,id:h,className:p,onResize:f,style:g={}}=e,m=(0,t.useRef)(null),y=(0,t.useRef)();y.current=f,(0,t.useImperativeHandle)(n,()=>m.current);var[v,x]=(0,t.useState)({containerWidth:i.width,containerHeight:i.height}),b=(0,t.useCallback)((e,t)=>{x(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]);(0,t.useEffect)(()=>{if(null==m.current||"undefined"===typeof ResizeObserver)return nw;var e=e=>{var t,n=e[0];if(null!=n){var{width:r,height:i}=n.contentRect;b(r,i),null===(t=y.current)||void 0===t||t.call(y,r,i)}};u>0&&(e=Nb()(e,u,{trailing:!0,leading:!1}));var t=new ResizeObserver(e),{width:n,height:r}=m.current.getBoundingClientRect();return b(n,r),t.observe(m.current),()=>{t.disconnect()}},[b,u]);var{containerWidth:w,containerHeight:S}=v;rw(!r||r>0,"The aspect(%s) must be greater than zero.",r);var{calculatedWidth:j,calculatedHeight:k}=ow(w,S,{width:o,height:l,aspect:r,maxHeight:c});return rw(null!=j&&j>0||null!=k&&k>0,"The width(%s) and height(%s) of chart should be greater than 0,\n please check the style of container, or the props width(%s) and height(%s),\n or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the\n height and width.",j,k,o,l,s,a,r),t.createElement("div",{id:h?"".concat(h):void 0,className:Rb("recharts-responsive-container",p),style:gw(gw({},g),{},{width:o,height:l,minWidth:s,minHeight:a,maxHeight:c}),ref:m},t.createElement("div",{style:dw({width:o,height:l})},t.createElement(vw,{width:j,height:k},d)))}),ww=(0,t.forwardRef)((e,n)=>{var r=xw();if(hw(r.width)&&hw(r.height))return e.children;var{width:i,height:o}=function(e){var{width:t,height:n,aspect:r}=e,i=t,o=n;return void 0===i&&void 0===o?(i=iw.width,o=iw.height):void 0===i?i=r&&r>0?void 0:iw.width:void 0===o&&(o=r&&r>0?void 0:iw.height),{width:i,height:o}}({width:e.width,height:e.height,aspect:e.aspect}),{calculatedWidth:l,calculatedHeight:s}=ow(void 0,void 0,{width:i,height:o,aspect:e.aspect,maxHeight:e.maxHeight});return Yb(l)&&Yb(s)?t.createElement(vw,{width:l,height:s},e.children):t.createElement(bw,pw({},e,{width:i,height:o,ref:n}))}),Sw=Symbol.for("immer-nothing"),jw=Symbol.for("immer-draftable"),kw=Symbol.for("immer-state");function _w(e){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Ew=Object,Cw=Ew.getPrototypeOf,Tw="constructor",Mw="prototype",Ow="configurable",Aw="enumerable",Pw="writable",Iw="value",Dw=e=>!!e&&!!e[kw];function Lw(e){return!!e&&(Nw(e)||Hw(e)||!!e[jw]||!!e[Tw]?.[jw]||Vw(e)||Yw(e))}var Rw=Ew[Mw][Tw].toString(),zw=new WeakMap;function Nw(e){if(!e||!Gw(e))return!1;const t=Cw(e);if(null===t||t===Ew[Mw])return!0;const n=Ew.hasOwnProperty.call(t,Tw)&&t[Tw];if(n===Object)return!0;if(!Kw(n))return!1;let r=zw.get(n);return void 0===r&&(r=Function.toString.call(n),zw.set(n,r)),r===Rw}function Fw(e,t){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(0===$w(e)){(n?Reflect.ownKeys(e):Ew.keys(e)).forEach(n=>{t(n,e[n],e)})}else e.forEach((n,r)=>t(r,n,e))}function $w(e){const t=e[kw];return t?t.type_:Hw(e)?1:Vw(e)?2:Yw(e)?3:0}var Ww=function(e,t){return 2===(arguments.length>2&&void 0!==arguments[2]?arguments[2]:$w(e))?e.has(t):Ew[Mw].hasOwnProperty.call(e,t)},Bw=function(e,t){return 2===(arguments.length>2&&void 0!==arguments[2]?arguments[2]:$w(e))?e.get(t):e[t]},Uw=function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:$w(e);2===r?e.set(t,n):3===r?e.add(n):e[t]=n};var Hw=Array.isArray,Vw=e=>e instanceof Map,Yw=e=>e instanceof Set,Gw=e=>"object"===typeof e,Kw=e=>"function"===typeof e,qw=e=>"boolean"===typeof e;var Xw=e=>e.copy_||e.base_,Jw=e=>e.modified_?e.copy_:e.base_;function Qw(e,t){if(Vw(e))return new Map(e);if(Yw(e))return new Set(e);if(Hw(e))return Array[Mw].slice.call(e);const n=Nw(e);if(!0===t||"class_only"===t&&!n){const t=Ew.getOwnPropertyDescriptors(e);delete t[kw];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){const i=n[r],o=t[i];!1===o[Pw]&&(o[Pw]=!0,o[Ow]=!0),(o.get||o.set)&&(t[i]={[Ow]:!0,[Pw]:!0,[Aw]:o[Aw],[Iw]:e[i]})}return Ew.create(Cw(e),t)}{const t=Cw(e);if(null!==t&&n)return{...e};const r=Ew.create(t);return Ew.assign(r,e)}}function Zw(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return tS(e)||Dw(e)||!Lw(e)||($w(e)>1&&Ew.defineProperties(e,{set:eS,add:eS,clear:eS,delete:eS}),Ew.freeze(e),t&&Fw(e,(e,t)=>{Zw(t,!0)},!1)),e}var eS={[Iw]:function(){_w(2)}};function tS(e){return null===e||!Gw(e)||Ew.isFrozen(e)}var nS="MapSet",rS="Patches",iS="ArrayMethods",oS={};function lS(e){const t=oS[e];return t||_w(0),t}var sS,aS=e=>!!oS[e];var cS=()=>sS;function dS(e,t){t&&(e.patchPlugin_=lS(rS),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function uS(e){hS(e),e.drafts_.forEach(fS),e.drafts_=null}function hS(e){e===sS&&(sS=e.parent_)}var pS=e=>sS={drafts_:[],parent_:sS,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:aS(nS)?lS(nS):void 0,arrayMethodsPlugin_:aS(iS)?lS(iS):void 0};function fS(e){const t=e[kw];0===t.type_||1===t.type_?t.revoke_():t.revoked_=!0}function gS(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];if(void 0!==e&&e!==n){n[kw].modified_&&(uS(t),_w(4)),Lw(e)&&(e=mS(t,e));const{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[kw].base_,e,t)}else e=mS(t,n);return function(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Zw(t,n)}(t,e,!0),uS(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==Sw?e:void 0}function mS(e,t){if(tS(t))return t;const n=t[kw];if(!n){return jS(t,e.handledSet_,e)}if(!vS(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){const{callbacks_:t}=n;if(t)for(;t.length>0;){t.pop()(e)}wS(n,e)}return n.copy_}function yS(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var vS=(e,t)=>e.scope_===t,xS=[];function bS(e,t,n,r){const i=Xw(e),o=e.type_;if(void 0!==r){if(Bw(i,r,o)===t)return void Uw(i,r,n,o)}if(!e.draftLocations_){const t=e.draftLocations_=new Map;Fw(i,(e,n)=>{if(Dw(n)){const r=t.get(n)||[];r.push(e),t.set(n,r)}})}const l=e.draftLocations_.get(t)??xS;for(const s of l)Uw(i,s,n,o)}function wS(e,t){if(e.modified_&&!e.finalized_&&(3===e.type_||1===e.type_&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){const{patchPlugin_:n}=t;if(n){const r=n.getPath(e);r&&n.generatePatches_(e,r,t)}yS(e)}}function SS(e,t,n){const{scope_:r}=e;if(Dw(n)){const i=n[kw];vS(i,r)&&i.callbacks_.push(function(){MS(e);const r=Jw(i);bS(e,n,r,t)})}else Lw(n)&&e.callbacks_.push(function(){const i=Xw(e);3===e.type_?i.has(n)&&jS(n,r.handledSet_,r):Bw(i,t,e.type_)===n&&r.drafts_.length>1&&!0===(e.assigned_.get(t)??!1)&&e.copy_&&jS(Bw(e.copy_,t,e.type_),r.handledSet_,r)})}function jS(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||Dw(e)||t.has(e)||!Lw(e)||tS(e)||(t.add(e),Fw(e,(r,i)=>{if(Dw(i)){const t=i[kw];if(vS(t,n)){const n=Jw(t);Uw(e,r,n,e.type_),yS(t)}}else Lw(i)&&jS(i,t,n)})),e}var kS={get(e,t){if(t===kw)return e;let n=e.scope_.arrayMethodsPlugin_;const r=1===e.type_&&"string"===typeof t;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);const i=Xw(e);if(!Ww(i,t,e.type_))return function(e,t,n){const r=CS(t,n);return r?Iw in r?r[Iw]:r.get?.call(e.draft_):void 0}(e,i,t);const o=i[t];if(e.finalized_||!Lw(o))return o;if(r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&function(e){const t=+e;return Number.isInteger(t)&&String(t)===e}(t))return o;if(o===ES(e.base_,t)){MS(e);const n=1===e.type_?+t:t,r=OS(e.scope_,o,e,n);return e.copy_[n]=r}return o},has:(e,t)=>t in Xw(e),ownKeys:e=>Reflect.ownKeys(Xw(e)),set(e,t,n){const r=CS(Xw(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const r=ES(Xw(e),t),i=r?.[kw];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(function(e,t){return e===t?0!==e||1/e===1/t:e!==e&&t!==t}(n,r)&&(void 0!==n||Ww(e.base_,t,e.type_)))return!0;MS(e),TS(e)}return e.copy_[t]===n&&(void 0!==n||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_.set(t,!0),SS(e,t,n)),!0},deleteProperty:(e,t)=>(MS(e),void 0!==ES(e.base_,t)||t in e.base_?(e.assigned_.set(t,!1),TS(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0),getOwnPropertyDescriptor(e,t){const n=Xw(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{[Pw]:!0,[Ow]:1!==e.type_||"length"!==t,[Aw]:r[Aw],[Iw]:n[t]}:r},defineProperty(){_w(11)},getPrototypeOf:e=>Cw(e.base_),setPrototypeOf(){_w(12)}},_S={};for(let n in kS){let e=kS[n];_S[n]=function(){const t=arguments;return t[0]=t[0][0],e.apply(this,t)}}function ES(e,t){const n=e[kw];return(n?Xw(n):e)[t]}function CS(e,t){if(!(t in e))return;let n=Cw(e);for(;n;){const e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=Cw(n)}}function TS(e){e.modified_||(e.modified_=!0,e.parent_&&TS(e.parent_))}function MS(e){e.copy_||(e.assigned_=new Map,e.copy_=Qw(e.base_,e.scope_.immer_.useStrictShallowCopy_))}_S.deleteProperty=function(e,t){return _S.set.call(this,e,t,void 0)},_S.set=function(e,t,n){return kS.set.call(this,e[0],t,n,e[0])};function OS(e,t,n,r){const[i,o]=Vw(t)?lS(nS).proxyMap_(t,n):Yw(t)?lS(nS).proxySet_(t,n):function(e,t){const n=Hw(e),r={type_:n?1:0,scope_:t?t.scope_:cS(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let i=r,o=kS;n&&(i=[r],o=_S);const{revoke:l,proxy:s}=Proxy.revocable(i,o);return r.draft_=s,r.revoke_=l,[s,r]}(t,n);return(n?.scope_??cS()).drafts_.push(i),o.callbacks_=n?.callbacks_??[],o.key_=r,n&&void 0!==r?function(e,t,n){e.callbacks_.push(function(r){const i=t;if(!i||!vS(i,r))return;r.mapSetPlugin_?.fixSetContents(i);const o=Jw(i);bS(e,i.draft_??i,o,n),wS(i,r)})}(n,o,r):o.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(o);const{patchPlugin_:t}=e;o.modified_&&t&&t.generatePatches_(o,[],e)}),i}function AS(e){return Dw(e)||_w(10),PS(e)}function PS(e){if(!Lw(e)||tS(e))return e;const t=e[kw];let n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=Qw(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=Qw(e,!0);return Fw(n,(e,t)=>{Uw(n,e,PS(t))},r),t&&(t.finalized_=!1),n}var IS=new class{constructor(e){var t=this;this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(Kw(e)&&!Kw(t)){const n=t;t=e;const r=this;return function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n;for(var i=arguments.length,o=new Array(i>1?i-1:0),l=1;l<i;l++)o[l-1]=arguments[l];return r.produce(e,e=>t.call(this,e,...o))}}let r;if(Kw(t)||_w(6),void 0===n||Kw(n)||_w(7),Lw(e)){const i=pS(this),o=OS(i,e,void 0);let l=!0;try{r=t(o),l=!1}finally{l?uS(i):hS(i)}return dS(i,n),gS(r,i)}if(!e||!Gw(e)){if(r=t(e),void 0===r&&(r=e),r===Sw&&(r=void 0),this.autoFreeze_&&Zw(r,!0),n){const t=[],i=[];lS(rS).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}_w(1)},this.produceWithPatches=(e,n)=>{if(Kw(e))return function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];return t.produceWithPatches(n,t=>e(t,...i))};let r,i;const o=this.produce(e,n,(e,t)=>{r=e,i=t});return[o,r,i]},qw(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),qw(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),qw(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){Lw(e)||_w(8),Dw(e)&&(e=AS(e));const t=pS(this),n=OS(t,e,void 0);return n[kw].isManual_=!0,hS(t),n}finishDraft(e,t){const n=e&&e[kw];n&&n.isManual_||_w(9);const{scope_:r}=n;return dS(r,t),gS(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){const r=t[n];if(0===r.path.length&&"replace"===r.op){e=r.value;break}}n>-1&&(t=t.slice(n+1));const r=lS(rS).applyPatches_;return Dw(e)?r(e,t):this.produce(e,e=>r(e,t))}},DS=IS.produce;function LS(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var RS=(()=>"function"===typeof Symbol&&Symbol.observable||"@@observable")(),zS=()=>Math.random().toString(36).substring(7).split("").join("."),NS={INIT:`@@redux/INIT${zS()}`,REPLACE:`@@redux/REPLACE${zS()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${zS()}`};function FS(e){if("object"!==typeof e||null===e)return!1;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||null===Object.getPrototypeOf(e)}function $S(e,t,n){if("function"!==typeof e)throw new Error(LS(2));if("function"===typeof t&&"function"===typeof n||"function"===typeof n&&"function"===typeof arguments[3])throw new Error(LS(0));if("function"===typeof t&&"undefined"===typeof n&&(n=t,t=void 0),"undefined"!==typeof n){if("function"!==typeof n)throw new Error(LS(1));return n($S)(e,t)}let r=e,i=t,o=new Map,l=o,s=0,a=!1;function c(){l===o&&(l=new Map,o.forEach((e,t)=>{l.set(t,e)}))}function d(){if(a)throw new Error(LS(3));return i}function u(e){if("function"!==typeof e)throw new Error(LS(4));if(a)throw new Error(LS(5));let t=!0;c();const n=s++;return l.set(n,e),function(){if(t){if(a)throw new Error(LS(6));t=!1,c(),l.delete(n),o=null}}}function h(e){if(!FS(e))throw new Error(LS(7));if("undefined"===typeof e.type)throw new Error(LS(8));if("string"!==typeof e.type)throw new Error(LS(17));if(a)throw new Error(LS(9));try{a=!0,i=r(i,e)}finally{a=!1}return(o=l).forEach(e=>{e()}),e}h({type:NS.INIT});return{dispatch:h,subscribe:u,getState:d,replaceReducer:function(e){if("function"!==typeof e)throw new Error(LS(10));r=e,h({type:NS.REPLACE})},[RS]:function(){const e=u;return{subscribe(t){if("object"!==typeof t||null===t)throw new Error(LS(11));function n(){const e=t;e.next&&e.next(d())}n();return{unsubscribe:e(n)}},[RS](){return this}}}}}function WS(e){const t=Object.keys(e),n={};for(let o=0;o<t.length;o++){const r=t[o];0,"function"===typeof e[r]&&(n[r]=e[r])}const r=Object.keys(n);let i;try{!function(e){Object.keys(e).forEach(t=>{const n=e[t];if("undefined"===typeof n(void 0,{type:NS.INIT}))throw new Error(LS(12));if("undefined"===typeof n(void 0,{type:NS.PROBE_UNKNOWN_ACTION()}))throw new Error(LS(13))})}(n)}catch(sd){i=sd}return function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;if(i)throw i;let o=!1;const l={};for(let i=0;i<r.length;i++){const s=r[i],a=n[s],c=e[s],d=a(c,t);if("undefined"===typeof d){t&&t.type;throw new Error(LS(14))}l[s]=d,o=o||d!==c}return o=o||r.length!==Object.keys(e).length,o?l:e}}function BS(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return 0===t.length?e=>e:1===t.length?t[0]:t.reduce((e,t)=>function(){return e(t(...arguments))})}function US(e){return FS(e)&&"type"in e&&"string"===typeof e.type}function HS(e){return t=>{let{dispatch:n,getState:r}=t;return t=>i=>"function"===typeof i?i(n,r,e):t(i)}}var VS=HS(),YS=HS,GS="undefined"!==typeof window&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(0!==arguments.length)return"object"===typeof arguments[0]?BS:BS.apply(null,arguments)};"undefined"!==typeof window&&window.__REDUX_DEVTOOLS_EXTENSION__&&window.__REDUX_DEVTOOLS_EXTENSION__;function KS(e,t){function n(){if(t){let n=t(...arguments);if(!n)throw new Error(Bj(0));return{type:e,payload:n.payload,..."meta"in n&&{meta:n.meta},..."error"in n&&{error:n.error}}}return{type:e,payload:arguments.length<=0?void 0:arguments[0]}}return n.toString=()=>`${e}`,n.type=e,n.match=t=>US(t)&&t.type===e,n}var qS=class e extends Array{constructor(){super(...arguments),Object.setPrototypeOf(this,e.prototype)}static get[Symbol.species](){return e}concat(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return super.concat.apply(this,t)}prepend(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return 1===n.length&&Array.isArray(n[0])?new e(...n[0].concat(this)):new e(...n.concat(this))}};function XS(e){return Lw(e)?DS(e,()=>{}):e}function JS(e,t,n){return e.has(t)?e.get(t):e.set(t,n(t)).get(t)}var QS="RTK_autoBatch",ZS=()=>e=>({payload:e,meta:{[QS]:!0}}),ej=e=>t=>{setTimeout(t,e)},tj=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{type:"raf"};return t=>function(){const n=t(...arguments);let r=!0,i=!1,o=!1;const l=new Set,s="tick"===e.type?queueMicrotask:"raf"===e.type?"undefined"!==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame:ej(10):"callback"===e.type?e.queueNotification:ej(e.timeout),a=()=>{o=!1,i&&(i=!1,l.forEach(e=>e()))};return Object.assign({},n,{subscribe(e){const t=n.subscribe(()=>r&&e());return l.add(e),()=>{t(),l.delete(e)}},dispatch(e){try{return r=!e?.meta?.[QS],i=!r,i&&(o||(o=!0,s(a))),n.dispatch(e)}finally{r=!0}}})}};function nj(e){const t=function(e){const{thunk:t=!0,immutableCheck:n=!0,serializableCheck:r=!0,actionCreatorCheck:i=!0}=e??{};let o=new qS;return t&&(function(e){return"boolean"===typeof e}(t)?o.push(VS):o.push(YS(t.extraArgument))),o},{reducer:n,middleware:r,devTools:i=!0,duplicateMiddlewareCheck:o=!0,preloadedState:l,enhancers:s}=e||{};let a,c;if("function"===typeof n)a=n;else{if(!FS(n))throw new Error(Bj(1));a=WS(n)}c="function"===typeof r?r(t):t();let d=BS;i&&(d=GS({trace:!1,..."object"===typeof i&&i}));const u=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return e=>(n,r)=>{const i=e(n,r);let o=()=>{throw new Error(LS(15))};const l={getState:i.getState,dispatch:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return o(e,...n)}},s=t.map(e=>e(l));return o=BS(...s)(i.dispatch),{...i,dispatch:o}}}(...c),h=(e=>function(t){const{autoBatch:n=!0}=t??{};let r=new qS(e);return n&&r.push(tj("object"===typeof n?n:void 0)),r})(u);return $S(a,l,d(..."function"===typeof s?s(h):h()))}function rj(e){const t={},n=[];let r;const i={addCase(e,n){const r="string"===typeof e?e:e.type;if(!r)throw new Error(Bj(28));if(r in t)throw new Error(Bj(29));return t[r]=n,i},addAsyncThunk:(e,r)=>(r.pending&&(t[e.pending.type]=r.pending),r.rejected&&(t[e.rejected.type]=r.rejected),r.fulfilled&&(t[e.fulfilled.type]=r.fulfilled),r.settled&&n.push({matcher:e.settled,reducer:r.settled}),i),addMatcher:(e,t)=>(n.push({matcher:e,reducer:t}),i),addDefaultCase:e=>(r=e,i)};return e(i),[t,n,r]}var ij=function(){let e="",t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:21;for(;t--;)e+="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW"[64*Math.random()|0];return e};var oj=Symbol.for("rtk-slice-createasyncthunk");function lj(e,t){return`${e}/${t}`}function sj(){let{creators:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=e?.asyncThunk?.[oj];return function(e){const{name:n,reducerPath:r=n}=e;if(!n)throw new Error(Bj(11));const i=("function"===typeof e.reducers?e.reducers(function(){function e(e,t){return{_reducerDefinitionType:"asyncThunk",payloadCreator:e,...t}}return e.withTypes=()=>e,{reducer:e=>Object.assign({[e.name](){return e(...arguments)}}[e.name],{_reducerDefinitionType:"reducer"}),preparedReducer:(e,t)=>({_reducerDefinitionType:"reducerWithPrepare",prepare:e,reducer:t}),asyncThunk:e}}()):e.reducers)||{},o=Object.keys(i),l={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},s={addCase(e,t){const n="string"===typeof e?e:e.type;if(!n)throw new Error(Bj(12));if(n in l.sliceCaseReducersByType)throw new Error(Bj(13));return l.sliceCaseReducersByType[n]=t,s},addMatcher:(e,t)=>(l.sliceMatchers.push({matcher:e,reducer:t}),s),exposeAction:(e,t)=>(l.actionCreators[e]=t,s),exposeCaseReducer:(e,t)=>(l.sliceCaseReducersByName[e]=t,s)};function a(){const[t={},n=[],r]="function"===typeof e.extraReducers?rj(e.extraReducers):[e.extraReducers],i={...t,...l.sliceCaseReducersByType};return function(e,t){let n,[r,i,o]=rj(t);if(function(e){return"function"===typeof e}(e))n=()=>XS(e());else{const t=XS(e);n=()=>t}function l(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n(),t=arguments.length>1?arguments[1]:void 0,l=[r[t.type],...i.filter(e=>{let{matcher:n}=e;return n(t)}).map(e=>{let{reducer:t}=e;return t})];return 0===l.filter(e=>!!e).length&&(l=[o]),l.reduce((e,n)=>{if(n){if(Dw(e)){const r=n(e,t);return void 0===r?e:r}if(Lw(e))return DS(e,e=>n(e,t));{const r=n(e,t);if(void 0===r){if(null===e)return e;throw Error("A case reducer on a non-draftable value must not return undefined")}return r}}return e},e)}return l.getInitialState=n,l}(e.initialState,e=>{for(let t in i)e.addCase(t,i[t]);for(let t of l.sliceMatchers)e.addMatcher(t.matcher,t.reducer);for(let t of n)e.addMatcher(t.matcher,t.reducer);r&&e.addDefaultCase(r)})}o.forEach(r=>{const o=i[r],l={reducerName:r,type:lj(n,r),createNotation:"function"===typeof e.reducers};!function(e){return"asyncThunk"===e._reducerDefinitionType}(o)?function(e,t,n){let r,i,{type:o,reducerName:l,createNotation:s}=e;if("reducer"in t){if(s&&!function(e){return"reducerWithPrepare"===e._reducerDefinitionType}(t))throw new Error(Bj(17));r=t.reducer,i=t.prepare}else r=t;n.addCase(o,r).exposeCaseReducer(l,r).exposeAction(l,i?KS(o,i):KS(o))}(l,o,s):function(e,t,n,r){let{type:i,reducerName:o}=e;if(!r)throw new Error(Bj(18));const{payloadCreator:l,fulfilled:s,pending:a,rejected:c,settled:d,options:u}=t,h=r(i,l,u);n.exposeAction(o,h),s&&n.addCase(h.fulfilled,s);a&&n.addCase(h.pending,a);c&&n.addCase(h.rejected,c);d&&n.addMatcher(h.settled,d);n.exposeCaseReducer(o,{fulfilled:s||dj,pending:a||dj,rejected:c||dj,settled:d||dj})}(l,o,s,t)});const c=e=>e,d=new Map,u=new WeakMap;let h;function p(e,t){return h||(h=a()),h(e,t)}function f(){return h||(h=a()),h.getInitialState()}function g(t){let n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];function r(e){let i=e[t];return"undefined"===typeof i&&n&&(i=JS(u,r,f)),i}function i(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:c;const r=JS(d,n,()=>new WeakMap);return JS(r,t,()=>{const r={};for(const[i,o]of Object.entries(e.selectors??{}))r[i]=aj(o,t,()=>JS(u,t,f),n);return r})}return{reducerPath:t,getSelectors:i,get selectors(){return i(r)},selectSlice:r}}const m={name:n,reducer:p,actions:l.actionCreators,caseReducers:l.sliceCaseReducersByName,getInitialState:f,...g(r),injectInto(e){let{reducerPath:t,...n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=t??r;return e.inject({reducerPath:i,reducer:p},n),{...m,...g(i,!0)}}};return m}}function aj(e,t,n,r){function i(i){let o=t(i);"undefined"===typeof o&&r&&(o=n());for(var l=arguments.length,s=new Array(l>1?l-1:0),a=1;a<l;a++)s[a-1]=arguments[a];return e(o,...s)}return i.unwrapped=e,i}var cj=sj();function dj(){}var uj="listener",hj="completed",pj="cancelled",fj=`task-${pj}`,gj=`task-${hj}`,mj=`${uj}-${pj}`,yj=`${uj}-${hj}`,vj=class{constructor(e){this.code=e,this.message=`task ${pj} (reason: ${e})`}name="TaskAbortError";message},xj=(e,t)=>{if("function"!==typeof e)throw new TypeError(Bj(32))},bj=()=>{},wj=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:bj;return e.catch(t),e},Sj=(e,t)=>(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)),jj=e=>{if(e.aborted)throw new vj(e.reason)};function kj(e,t){let n=bj;return new Promise((r,i)=>{const o=()=>i(new vj(e.reason));e.aborted?o():(n=Sj(e,o),t.finally(()=>n()).then(r,i))}).finally(()=>{n=bj})}var _j=e=>t=>wj(kj(e,t).then(t=>(jj(e),t))),Ej=e=>{const t=_j(e);return e=>t(new Promise(t=>setTimeout(t,e)))},{assign:Cj}=Object,Tj={},Mj="listenerMiddleware",Oj=(e,t)=>(n,r)=>{xj(n);const i=new AbortController;var o;o=i,Sj(e,()=>o.abort(e.reason));const l=(async(e,t)=>{try{return await Promise.resolve(),{status:"ok",value:await e()}}catch(n){return{status:n instanceof vj?"cancelled":"rejected",error:n}}finally{t?.()}})(async()=>{jj(e),jj(i.signal);const t=await n({pause:_j(i.signal),delay:Ej(i.signal),signal:i.signal});return jj(i.signal),t},()=>i.abort(gj));return r?.autoJoin&&t.push(l.catch(bj)),{result:_j(e)(l),cancel(){i.abort(fj)}}},Aj=(e,t)=>(n,r)=>wj((async(n,r)=>{jj(t);let i=()=>{};const o=[new Promise((t,r)=>{let o=e({predicate:n,effect:(e,n)=>{n.unsubscribe(),t([e,n.getState(),n.getOriginalState()])}});i=()=>{o(),r()}})];null!=r&&o.push(new Promise(e=>setTimeout(e,r,null)));try{const e=await kj(t,Promise.race(o));return jj(t),e}finally{i()}})(n,r)),Pj=e=>{let{type:t,actionCreator:n,matcher:r,predicate:i,effect:o}=e;if(t)i=KS(t).match;else if(n)t=n.type,i=n.match;else if(r)i=r;else if(!i)throw new Error(Bj(21));return xj(o),{predicate:i,type:t,effect:o}},Ij=Cj(e=>{const{type:t,predicate:n,effect:r}=Pj(e);return{id:ij(),effect:r,type:t,predicate:n,pending:new Set,unsubscribe:()=>{throw new Error(Bj(22))}}},{withTypes:()=>Ij}),Dj=(e,t)=>{const{type:n,effect:r,predicate:i}=Pj(t);return Array.from(e.values()).find(e=>("string"===typeof n?e.type===n:e.predicate===i)&&e.effect===r)},Lj=e=>{e.pending.forEach(e=>{e.abort(mj)})},Rj=(e,t,n)=>{try{e(t,n)}catch(r){setTimeout(()=>{throw r},0)}},zj=Cj(KS(`${Mj}/add`),{withTypes:()=>zj}),Nj=KS(`${Mj}/removeAll`),Fj=Cj(KS(`${Mj}/remove`),{withTypes:()=>Fj}),$j=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];console.error(`${Mj}/error`,...t)},Wj=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=new Map,n=new Map,{extra:r,onError:i=$j}=e;xj(i);const o=e=>(e=>(e.unsubscribe=()=>t.delete(e.id),t.set(e.id,e),t=>{e.unsubscribe(),t?.cancelActive&&Lj(e)}))(Dj(t,e)??Ij(e));Cj(o,{withTypes:()=>o});const l=e=>{const n=Dj(t,e);return n&&(n.unsubscribe(),e.cancelActive&&Lj(n)),!!n};Cj(l,{withTypes:()=>l});const s=async(e,l,s,a)=>{const c=new AbortController,d=Aj(o,c.signal),u=[];try{e.pending.add(c),(e=>{const t=n.get(e)??0;n.set(e,t+1)})(e),await Promise.resolve(e.effect(l,Cj({},s,{getOriginalState:a,condition:(e,t)=>d(e,t).then(Boolean),take:d,delay:Ej(c.signal),pause:_j(c.signal),extra:r,signal:c.signal,fork:Oj(c.signal,u),unsubscribe:e.unsubscribe,subscribe:()=>{t.set(e.id,e)},cancelActiveListeners:()=>{e.pending.forEach((e,t,n)=>{e!==c&&(e.abort(mj),n.delete(e))})},cancel:()=>{c.abort(mj),e.pending.delete(c)},throwIfCancelled:()=>{jj(c.signal)}})))}catch(h){h instanceof vj||Rj(i,h,{raisedBy:"effect"})}finally{await Promise.all(u),c.abort(yj),(e=>{const t=n.get(e)??1;1===t?n.delete(e):n.set(e,t-1)})(e),e.pending.delete(c)}},a=((e,t)=>()=>{for(const e of t.keys())Lj(e);e.clear()})(t,n);return{middleware:e=>n=>r=>{if(!US(r))return n(r);if(zj.match(r))return o(r.payload);if(Nj.match(r))return void a();if(Fj.match(r))return l(r.payload);let c=e.getState();const d=()=>{if(c===Tj)throw new Error(Bj(23));return c};let u;try{if(u=n(r),t.size>0){const n=e.getState(),o=Array.from(t.values());for(const t of o){let o=!1;try{o=t.predicate(r,n,c)}catch(h){o=!1,Rj(i,h,{raisedBy:"predicate"})}o&&s(t,r,e,d)}}}finally{c=Tj}return u},startListening:o,stopListening:l,clearListeners:a}};Symbol.for("rtk-state-proxy-original");function Bj(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var Uj=(e,t)=>{if(t&&Array.isArray(e)){var n=Number.parseInt(t,10);if(!Hb(n))return e[n]}},Hj=cj({name:"options",initialState:{chartName:"",tooltipPayloadSearcher:()=>{},eventEmitter:void 0,defaultTooltipEventType:"axis"},reducers:{createEventEmitter:e=>{null==e.eventEmitter&&(e.eventEmitter=Symbol("rechartsEventEmitter"))}}}),Vj=Hj.reducer,{createEventEmitter:Yj}=Hj.actions;n(7237);function Gj(e){e()}var Kj={notify(){},get:()=>[]};function qj(e,t){let n,r=Kj,i=0,o=!1;function l(){c.onStateChange&&c.onStateChange()}function s(){i++,n||(n=t?t.addNestedSub(l):e.subscribe(l),r=function(){let e=null,t=null;return{clear(){e=null,t=null},notify(){Gj(()=>{let t=e;for(;t;)t.callback(),t=t.next})},get(){const t=[];let n=e;for(;n;)t.push(n),n=n.next;return t},subscribe(n){let r=!0;const i=t={callback:n,next:null,prev:t};return i.prev?i.prev.next=i:e=i,function(){r&&null!==e&&(r=!1,i.next?i.next.prev=i.prev:t=i.prev,i.prev?i.prev.next=i.next:e=i.next)}}}}())}function a(){i--,n&&0===i&&(n(),n=void 0,r.clear(),r=Kj)}const c={addNestedSub:function(e){s();const t=r.subscribe(e);let n=!1;return()=>{n||(n=!0,t(),a())}},notifyNestedSubs:function(){r.notify()},handleChangeWrapper:l,isSubscribed:function(){return o},trySubscribe:function(){o||(o=!0,s())},tryUnsubscribe:function(){o&&(o=!1,a())},getListeners:()=>r};return c}var Xj=(()=>!("undefined"===typeof window||"undefined"===typeof window.document||"undefined"===typeof window.document.createElement))(),Jj=(()=>"undefined"!==typeof navigator&&"ReactNative"===navigator.product)(),Qj=(()=>Xj||Jj?t.useLayoutEffect:t.useEffect)();function Zj(e,t){return e===t?0!==e||0!==t||1/e===1/t:e!==e&&t!==t}function ek(e,t){if(Zj(e,t))return!0;if("object"!==typeof e||null===e||"object"!==typeof t||null===t)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i=0;i<n.length;i++)if(!Object.prototype.hasOwnProperty.call(t,n[i])||!Zj(e[n[i]],t[n[i]]))return!1;return!0}Object.defineProperty,Object.getOwnPropertyNames,Object.getOwnPropertySymbols,Object.getOwnPropertyDescriptor,Object.getPrototypeOf,Object.prototype;var tk=Symbol.for("react-redux-context"),nk="undefined"!==typeof globalThis?globalThis:{};function rk(){if(!t.createContext)return{};const e=nk[tk]??=new Map;let n=e.get(t.createContext);return n||(n=t.createContext(null),e.set(t.createContext,n)),n}var ik=rk();var ok=function(e){const{children:n,context:r,serverState:i,store:o}=e,l=t.useMemo(()=>{const e=qj(o);return{store:o,subscription:e,getServerState:i?()=>i:void 0}},[o,i]),s=t.useMemo(()=>o.getState(),[o]);Qj(()=>{const{subscription:e}=l;return e.onStateChange=e.notifyNestedSubs,e.trySubscribe(),s!==o.getState()&&e.notifyNestedSubs(),()=>{e.tryUnsubscribe(),e.onStateChange=void 0}},[l,s]);const a=r||ik;return t.createElement(a.Provider,{value:l},n)};var lk=Symbol.for("immer-nothing"),sk=Symbol.for("immer-draftable"),ak=Symbol.for("immer-state");function ck(e){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var dk=Object.getPrototypeOf;function uk(e){return!!e&&!!e[ak]}function hk(e){return!!e&&(gk(e)||Array.isArray(e)||!!e[sk]||!!e.constructor?.[sk]||bk(e)||wk(e))}var pk=Object.prototype.constructor.toString(),fk=new WeakMap;function gk(e){if(!e||"object"!==typeof e)return!1;const t=Object.getPrototypeOf(e);if(null===t||t===Object.prototype)return!0;const n=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;if(n===Object)return!0;if("function"!==typeof n)return!1;let r=fk.get(n);return void 0===r&&(r=Function.toString.call(n),fk.set(n,r)),r===pk}function mk(e,t){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(0===yk(e)){(n?Reflect.ownKeys(e):Object.keys(e)).forEach(n=>{t(n,e[n],e)})}else e.forEach((n,r)=>t(r,n,e))}function yk(e){const t=e[ak];return t?t.type_:Array.isArray(e)?1:bk(e)?2:wk(e)?3:0}function vk(e,t){return 2===yk(e)?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function xk(e,t,n){const r=yk(e);2===r?e.set(t,n):3===r?e.add(n):e[t]=n}function bk(e){return e instanceof Map}function wk(e){return e instanceof Set}function Sk(e){return e.copy_||e.base_}function jk(e,t){if(bk(e))return new Map(e);if(wk(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);const n=gk(e);if(!0===t||"class_only"===t&&!n){const t=Object.getOwnPropertyDescriptors(e);delete t[ak];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){const i=n[r],o=t[i];!1===o.writable&&(o.writable=!0,o.configurable=!0),(o.get||o.set)&&(t[i]={configurable:!0,writable:!0,enumerable:o.enumerable,value:e[i]})}return Object.create(dk(e),t)}{const t=dk(e);if(null!==t&&n)return{...e};const r=Object.create(t);return Object.assign(r,e)}}function kk(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return Ek(e)||uk(e)||!hk(e)||(yk(e)>1&&Object.defineProperties(e,{set:_k,add:_k,clear:_k,delete:_k}),Object.freeze(e),t&&Object.values(e).forEach(e=>kk(e,!0))),e}var _k={value:function(){ck(2)}};function Ek(e){return null===e||"object"!==typeof e||Object.isFrozen(e)}var Ck,Tk={};function Mk(e){const t=Tk[e];return t||ck(0),t}function Ok(){return Ck}function Ak(e,t){t&&(Mk("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Pk(e){Ik(e),e.drafts_.forEach(Lk),e.drafts_=null}function Ik(e){e===Ck&&(Ck=e.parent_)}function Dk(e){return Ck={drafts_:[],parent_:Ck,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function Lk(e){const t=e[ak];0===t.type_||1===t.type_?t.revoke_():t.revoked_=!0}function Rk(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];return void 0!==e&&e!==n?(n[ak].modified_&&(Pk(t),ck(4)),hk(e)&&(e=zk(t,e),t.parent_||Fk(t,e)),t.patches_&&Mk("Patches").generateReplacementPatches_(n[ak].base_,e,t.patches_,t.inversePatches_)):e=zk(t,n,[]),Pk(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==lk?e:void 0}function zk(e,t,n){if(Ek(t))return t;const r=e.immer_.shouldUseStrictIteration(),i=t[ak];if(!i)return mk(t,(r,o)=>Nk(e,i,t,r,o,n),r),t;if(i.scope_!==e)return t;if(!i.modified_)return Fk(e,i.base_,!0),i.base_;if(!i.finalized_){i.finalized_=!0,i.scope_.unfinalizedDrafts_--;const t=i.copy_;let o=t,l=!1;3===i.type_&&(o=new Set(t),t.clear(),l=!0),mk(o,(r,o)=>Nk(e,i,t,r,o,n,l),r),Fk(e,t,!1),n&&e.patches_&&Mk("Patches").generatePatches_(i,n,e.patches_,e.inversePatches_)}return i.copy_}function Nk(e,t,n,r,i,o,l){if(null==i)return;if("object"!==typeof i&&!l)return;const s=Ek(i);if(!s||l){if(uk(i)){const l=zk(e,i,o&&t&&3!==t.type_&&!vk(t.assigned_,r)?o.concat(r):void 0);if(xk(n,r,l),!uk(l))return;e.canAutoFreeze_=!1}else l&&n.add(i);if(hk(i)&&!s){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1)return;if(t&&t.base_&&t.base_[r]===i&&s)return;zk(e,i),t&&t.scope_.parent_||"symbol"===typeof r||!(bk(n)?n.has(r):Object.prototype.propertyIsEnumerable.call(n,r))||Fk(e,i)}}}function Fk(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&kk(t,n)}var $k={get(e,t){if(t===ak)return e;const n=Sk(e);if(!vk(n,t))return function(e,t,n){const r=Uk(t,n);return r?"value"in r?r.value:r.get?.call(e.draft_):void 0}(e,n,t);const r=n[t];return e.finalized_||!hk(r)?r:r===Bk(e.base_,t)?(Vk(e),e.copy_[t]=Yk(r,e)):r},has:(e,t)=>t in Sk(e),ownKeys:e=>Reflect.ownKeys(Sk(e)),set(e,t,n){const r=Uk(Sk(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const r=Bk(Sk(e),t),i=r?.[ak];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_[t]=!1,!0;if(function(e,t){return e===t?0!==e||1/e===1/t:e!==e&&t!==t}(n,r)&&(void 0!==n||vk(e.base_,t)))return!0;Vk(e),Hk(e)}return e.copy_[t]===n&&(void 0!==n||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_[t]=!0),!0},deleteProperty:(e,t)=>(void 0!==Bk(e.base_,t)||t in e.base_?(e.assigned_[t]=!1,Vk(e),Hk(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0),getOwnPropertyDescriptor(e,t){const n=Sk(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{writable:!0,configurable:1!==e.type_||"length"!==t,enumerable:r.enumerable,value:n[t]}:r},defineProperty(){ck(11)},getPrototypeOf:e=>dk(e.base_),setPrototypeOf(){ck(12)}},Wk={};function Bk(e,t){const n=e[ak];return(n?Sk(n):e)[t]}function Uk(e,t){if(!(t in e))return;let n=dk(e);for(;n;){const e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=dk(n)}}function Hk(e){e.modified_||(e.modified_=!0,e.parent_&&Hk(e.parent_))}function Vk(e){e.copy_||(e.copy_=jk(e.base_,e.scope_.immer_.useStrictShallowCopy_))}mk($k,(e,t)=>{Wk[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}}),Wk.deleteProperty=function(e,t){return Wk.set.call(this,e,t,void 0)},Wk.set=function(e,t,n){return $k.set.call(this,e[0],t,n,e[0])};function Yk(e,t){const n=bk(e)?Mk("MapSet").proxyMap_(e,t):wk(e)?Mk("MapSet").proxySet_(e,t):function(e,t){const n=Array.isArray(e),r={type_:n?1:0,scope_:t?t.scope_:Ok(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let i=r,o=$k;n&&(i=[r],o=Wk);const{revoke:l,proxy:s}=Proxy.revocable(i,o);return r.draft_=s,r.revoke_=l,s}(e,t);return(t?t.scope_:Ok()).drafts_.push(n),n}function Gk(e){if(!hk(e)||Ek(e))return e;const t=e[ak];let n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=jk(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=jk(e,!0);return mk(n,(e,t)=>{xk(n,e,Gk(t))},r),t&&(t.finalized_=!1),n}var Kk=new class{constructor(e){var t=this;this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!0,this.produce=(e,t,n)=>{if("function"===typeof e&&"function"!==typeof t){const n=t;t=e;const r=this;return function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n;for(var i=arguments.length,o=new Array(i>1?i-1:0),l=1;l<i;l++)o[l-1]=arguments[l];return r.produce(e,e=>t.call(this,e,...o))}}let r;if("function"!==typeof t&&ck(6),void 0!==n&&"function"!==typeof n&&ck(7),hk(e)){const i=Dk(this),o=Yk(e,void 0);let l=!0;try{r=t(o),l=!1}finally{l?Pk(i):Ik(i)}return Ak(i,n),Rk(r,i)}if(!e||"object"!==typeof e){if(r=t(e),void 0===r&&(r=e),r===lk&&(r=void 0),this.autoFreeze_&&kk(r,!0),n){const t=[],i=[];Mk("Patches").generateReplacementPatches_(e,r,t,i),n(t,i)}return r}ck(1)},this.produceWithPatches=(e,n)=>{if("function"===typeof e)return function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];return t.produceWithPatches(n,t=>e(t,...i))};let r,i;const o=this.produce(e,n,(e,t)=>{r=e,i=t});return[o,r,i]},"boolean"===typeof e?.autoFreeze&&this.setAutoFreeze(e.autoFreeze),"boolean"===typeof e?.useStrictShallowCopy&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),"boolean"===typeof e?.useStrictIteration&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){hk(e)||ck(8),uk(e)&&(e=function(e){uk(e)||ck(10);return Gk(e)}(e));const t=Dk(this),n=Yk(e,void 0);return n[ak].isManual_=!0,Ik(t),n}finishDraft(e,t){const n=e&&e[ak];n&&n.isManual_||ck(9);const{scope_:r}=n;return Ak(r,t),Rk(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){const r=t[n];if(0===r.path.length&&"replace"===r.op){e=r.value;break}}n>-1&&(t=t.slice(n+1));const r=Mk("Patches").applyPatches_;return uk(e)?r(e,t):this.produce(e,e=>r(e,t))}};Kk.produce;var qk={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},Xk=cj({name:"tooltip",initialState:{itemInteraction:{click:qk,hover:qk},axisInteraction:{click:qk,hover:qk},keyboardInteraction:qk,syncInteraction:{active:!1,index:null,dataKey:void 0,label:void 0,coordinate:void 0,sourceViewBox:void 0,graphicalItemId:void 0},tooltipItemPayloads:[],settings:{shared:void 0,trigger:"hover",axisId:0,active:!1,defaultIndex:void 0}},reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push(t.payload)},prepare:ZS()},replaceTooltipEntrySettings:{reducer(e,t){var{prev:n,next:r}=t.payload,i=AS(e).tooltipItemPayloads.indexOf(n);i>-1&&(e.tooltipItemPayloads[i]=r)},prepare:ZS()},removeTooltipEntrySettings:{reducer(e,t){var n=AS(e).tooltipItemPayloads.indexOf(t.payload);n>-1&&e.tooltipItemPayloads.splice(n,1)},prepare:ZS()},setTooltipSettingsState(e,t){e.settings=t.payload},setActiveMouseOverItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.itemInteraction.hover.active=!0,e.itemInteraction.hover.index=t.payload.activeIndex,e.itemInteraction.hover.dataKey=t.payload.activeDataKey,e.itemInteraction.hover.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.hover.coordinate=t.payload.activeCoordinate},mouseLeaveChart(e){e.itemInteraction.hover.active=!1,e.axisInteraction.hover.active=!1},mouseLeaveItem(e){e.itemInteraction.hover.active=!1},setActiveClickItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.itemInteraction.click.active=!0,e.keyboardInteraction.active=!1,e.itemInteraction.click.index=t.payload.activeIndex,e.itemInteraction.click.dataKey=t.payload.activeDataKey,e.itemInteraction.click.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.click.coordinate=t.payload.activeCoordinate},setMouseOverAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.axisInteraction.hover.active=!0,e.keyboardInteraction.active=!1,e.axisInteraction.hover.index=t.payload.activeIndex,e.axisInteraction.hover.dataKey=t.payload.activeDataKey,e.axisInteraction.hover.coordinate=t.payload.activeCoordinate},setMouseClickAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.axisInteraction.click.active=!0,e.axisInteraction.click.index=t.payload.activeIndex,e.axisInteraction.click.dataKey=t.payload.activeDataKey,e.axisInteraction.click.coordinate=t.payload.activeCoordinate},setSyncInteraction(e,t){e.syncInteraction=t.payload},setKeyboardInteraction(e,t){e.keyboardInteraction.active=t.payload.active,e.keyboardInteraction.index=t.payload.activeIndex,e.keyboardInteraction.coordinate=t.payload.activeCoordinate}}}),{addTooltipEntrySettings:Jk,replaceTooltipEntrySettings:Qk,removeTooltipEntrySettings:Zk,setTooltipSettingsState:e_,setActiveMouseOverItemIndex:t_,mouseLeaveItem:n_,mouseLeaveChart:r_,setActiveClickItemIndex:i_,setMouseOverAxisIndex:o_,setMouseClickAxisIndex:l_,setSyncInteraction:s_,setKeyboardInteraction:a_}=Xk.actions,c_=Xk.reducer,d_=cj({name:"chartData",initialState:{chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},reducers:{setChartData(e,t){if(e.chartData=t.payload,null==t.payload)return e.dataStartIndex=0,void(e.dataEndIndex=0);t.payload.length>0&&e.dataEndIndex!==t.payload.length-1&&(e.dataEndIndex=t.payload.length-1)},setComputedData(e,t){e.computedData=t.payload},setDataStartEndIndexes(e,t){var{startIndex:n,endIndex:r}=t.payload;null!=n&&(e.dataStartIndex=n),null!=r&&(e.dataEndIndex=r)}}}),{setChartData:u_,setDataStartEndIndexes:h_,setComputedData:p_}=d_.actions,f_=d_.reducer,g_=cj({name:"chartLayout",initialState:{layoutType:"horizontal",width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},reducers:{setLayout(e,t){e.layoutType=t.payload},setChartSize(e,t){e.width=t.payload.width,e.height=t.payload.height},setMargin(e,t){var n,r,i,o;e.margin.top=null!==(n=t.payload.top)&&void 0!==n?n:0,e.margin.right=null!==(r=t.payload.right)&&void 0!==r?r:0,e.margin.bottom=null!==(i=t.payload.bottom)&&void 0!==i?i:0,e.margin.left=null!==(o=t.payload.left)&&void 0!==o?o:0},setScale(e,t){e.scale=t.payload}}}),{setMargin:m_,setLayout:y_,setChartSize:v_,setScale:x_}=g_.actions,b_=g_.reducer;function w_(e){if("function"!==typeof e)throw new TypeError(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"expected a function, instead received "+typeof e)}var S_=e=>Array.isArray(e)?e:[e];function j_(e){const t=Array.isArray(e[0])?e[0]:e;return function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"expected all items to be functions, instead received the following types: ";if(!e.every(e=>"function"===typeof e)){const n=e.map(e=>"function"===typeof e?`function ${e.name||"unnamed"}()`:typeof e).join(", ");throw new TypeError(`${t}[${n}]`)}}(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}Symbol(),Object.getPrototypeOf({});var k_="undefined"!==typeof WeakRef?WeakRef:class{constructor(e){this.value=e}deref(){return this.value}};function __(){return{s:0,v:void 0,o:null,p:null}}function E_(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={s:0,v:void 0,o:null,p:null};const{resultEqualityCheck:r}=t;let i,o=0;function l(){let t=n;const{length:l}=arguments;for(let e=0,n=l;e<n;e++){const n=arguments[e];if("function"===typeof n||"object"===typeof n&&null!==n){let e=t.o;null===e&&(t.o=e=new WeakMap);const r=e.get(n);void 0===r?(t=__(),e.set(n,t)):t=r}else{let e=t.p;null===e&&(t.p=e=new Map);const r=e.get(n);void 0===r?(t=__(),e.set(n,t)):t=r}}const s=t;let a;if(1===t.s)a=t.v;else if(a=e.apply(null,arguments),o++,r){const e=i?.deref?.()??i;null!=e&&r(e,a)&&(a=e,0!==o&&o--);i="object"===typeof a&&null!==a||"function"===typeof a?new k_(a):a}return s.s=1,s.v=a,a}return l.clearCache=()=>{n={s:0,v:void 0,o:null,p:null},l.resetResultsCount()},l.resultsCount=()=>o,l.resetResultsCount=()=>{o=0},l}function C_(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];const i="function"===typeof e?{memoize:e,memoizeOptions:n}:e,o=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];let r,o=0,l=0,s={},a=t.pop();"object"===typeof a&&(s=a,a=t.pop()),w_(a,`createSelector expects an output function after the inputs, but received: [${typeof a}]`);const c={...i,...s},{memoize:d,memoizeOptions:u=[],argsMemoize:h=E_,argsMemoizeOptions:p=[],devModeChecks:f={}}=c,g=S_(u),m=S_(p),y=j_(t),v=d(function(){return o++,a.apply(null,arguments)},...g);const x=h(function(){l++;const e=function(e,t){const n=[],{length:r}=e;for(let i=0;i<r;i++)n.push(e[i].apply(null,t));return n}(y,arguments);return r=v.apply(null,e),r},...m);return Object.assign(x,{resultFunc:a,memoizedResultFunc:v,dependencies:y,dependencyRecomputations:()=>l,resetDependencyRecomputations:()=>{l=0},lastResult:()=>r,recomputations:()=>o,resetRecomputations:()=>{o=0},memoize:d,argsMemoize:h})};return Object.assign(o,{withTypes:()=>o}),o}var T_=C_(E_),M_=Object.assign(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:T_;!function(e){if("object"!==typeof e)throw new TypeError(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"expected an object, instead received "+typeof e)}(e,"createStructuredSelector expects first argument to be an object where each property is a selector, instead received a "+typeof e);const n=Object.keys(e),r=t(n.map(t=>e[t]),function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.reduce((e,t,r)=>(e[n[r]]=t,e),{})});return r},{withTypes:()=>M_}),O_=n(8443),A_=(0,t.createContext)(null),P_=e=>e,I_=()=>{var e=(0,t.useContext)(A_);return e?e.store.dispatch:P_},D_=()=>{},L_=()=>D_,R_=(e,t)=>e===t;function z_(e){var n=(0,t.useContext)(A_),r=(0,t.useMemo)(()=>n?t=>{if(null!=t)return e(t)}:D_,[n,e]);return(0,O_.useSyncExternalStoreWithSelector)(n?n.subscription.addNestedSub:L_,n?n.store.getState:D_,n?n.store.getState:D_,r,R_)}var N_=n(3821),F_=n.n(N_),$_=e=>e.legend.settings,W_=T_([e=>e.legend.payload,$_],(e,t)=>{var{itemSorter:n}=t,r=e.flat(1);return n?F_()(r,n):r});function B_(e,t){if((i=e.length)>1)for(var n,r,i,o=1,l=e[t[0]],s=l.length;o<i;++o)for(r=l,l=e[t[o]],n=0;n<s;++n)l[n][1]+=l[n][0]=isNaN(r[n][1])?r[n][0]:r[n][1]}function U_(e){for(var t=e.length,n=new Array(t);--t>=0;)n[t]=t;return n}function H_(e,t){return e[t]}function V_(e){const t=[];return t.key=e,t}function Y_(e,t,n){return Array.isArray(e)&&e&&t+n!==0?e.slice(t,n+1):e}function G_(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function K_(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?G_(Object(n),!0).forEach(function(t){q_(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):G_(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function q_(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function X_(e,t,n){return Zb(e)||Zb(t)?n:Gb(t)?$b()(e,t,n):"function"===typeof t?t(e):n}var J_=(e,t)=>"horizontal"===e&&"xAxis"===t||"vertical"===e&&"yAxis"===t||"centric"===e&&"angleAxis"===t||"radial"===e&&"radiusAxis"===t,Q_=(e,t,n,r)=>{if(r)return e.map(e=>e.coordinate);var i,o,l=e.map(e=>(e.coordinate===t&&(i=!0),e.coordinate===n&&(o=!0),e.coordinate));return i||l.push(t),o||l.push(n),l},Z_=(e,t,n)=>{if(!e)return null;var{duplicateDomain:r,type:i,range:o,scale:l,realScaleType:s,isCategorical:a,categoricalDomain:c,tickCount:d,ticks:u,niceTicks:h,axisType:p}=e;if(!l)return null;var f="scaleBand"===s&&l.bandwidth?l.bandwidth()/2:2,g=(t||n)&&"category"===i&&l.bandwidth?l.bandwidth()/f:0;return g="angleAxis"===p&&o&&o.length>=2?2*Ub(o[0]-o[1])*g:g,t&&(u||h)?(u||h||[]).map((e,t)=>{var n=r?r.indexOf(e):e,i=l.map(n);return uw(i)?{coordinate:i+g,value:e,offset:g,index:t}:null}).filter(tw):a&&c?c.map((e,t)=>{var n=l.map(e);return uw(n)?{coordinate:n+g,value:e,index:t,offset:g}:null}).filter(tw):l.ticks&&!n&&null!=d?l.ticks(d).map((e,t)=>{var n=l.map(e);return uw(n)?{coordinate:n+g,value:e,index:t,offset:g}:null}).filter(tw):l.domain().map((e,t)=>{var n=l.map(e);return uw(n)?{coordinate:n+g,value:r?r[e]:e,index:t,offset:g}:null}).filter(tw)},eE={sign:e=>{var t,n=e.length;if(!(n<=0)){var r=null===(t=e[0])||void 0===t?void 0:t.length;if(!(null==r||r<=0))for(var i=0;i<r;++i)for(var o=0,l=0,s=0;s<n;++s){var a=e[s],c=null===a||void 0===a?void 0:a[i];if(null!=c){var d=c[1],u=c[0],h=Hb(d)?u:d;h>=0?(c[0]=o,o+=h,c[1]=o):(c[0]=l,l+=h,c[1]=l)}}}},expand:function(e,t){if((r=e.length)>0){for(var n,r,i,o=0,l=e[0].length;o<l;++o){for(i=n=0;n<r;++n)i+=e[n][o][1]||0;if(i)for(n=0;n<r;++n)e[n][o][1]/=i}B_(e,t)}},none:B_,silhouette:function(e,t){if((n=e.length)>0){for(var n,r=0,i=e[t[0]],o=i.length;r<o;++r){for(var l=0,s=0;l<n;++l)s+=e[l][r][1]||0;i[r][1]+=i[r][0]=-s/2}B_(e,t)}},wiggle:function(e,t){if((i=e.length)>0&&(r=(n=e[t[0]]).length)>0){for(var n,r,i,o=0,l=1;l<r;++l){for(var s=0,a=0,c=0;s<i;++s){for(var d=e[t[s]],u=d[l][1]||0,h=(u-(d[l-1][1]||0))/2,p=0;p<s;++p){var f=e[t[p]];h+=(f[l][1]||0)-(f[l-1][1]||0)}a+=u,c+=h*u}n[l-1][1]+=n[l-1][0]=o,a&&(o-=c/a)}n[l-1][1]+=n[l-1][0]=o,B_(e,t)}},positive:e=>{var t,n=e.length;if(!(n<=0)){var r=null===(t=e[0])||void 0===t?void 0:t.length;if(!(null==r||r<=0))for(var i=0;i<r;++i)for(var o=0,l=0;l<n;++l){var s=e[l],a=null===s||void 0===s?void 0:s[i];if(null!=a){var c=Hb(a[1])?a[0]:a[1];c>=0?(a[0]=o,o+=c,a[1]=o):(a[0]=0,a[1]=0)}}}}},tE=(e,t,n)=>{var r,i=null!==(r=eE[n])&&void 0!==r?r:B_,o=function(){var e=_c([]),t=U_,n=B_,r=H_;function i(i){var o,l,s=Array.from(e.apply(this,arguments),V_),a=s.length,c=-1;for(const e of i)for(o=0,++c;o<a;++o)(s[o][c]=[0,+r(e,s[o].key,c,i)]).data=e;for(o=0,l=kc(t(s));o<a;++o)s[l[o]].index=o;return n(s,l),s}return i.keys=function(t){return arguments.length?(e="function"===typeof t?t:_c(Array.from(t)),i):e},i.value=function(e){return arguments.length?(r="function"===typeof e?e:_c(+e),i):r},i.order=function(e){return arguments.length?(t=null==e?U_:"function"===typeof e?e:_c(Array.from(e)),i):t},i.offset=function(e){return arguments.length?(n=null==e?B_:e,i):n},i}().keys(t).value((e,t)=>Number(X_(e,t,0))).order(U_).offset(i),l=o(e);return l.forEach((n,r)=>{n.forEach((n,i)=>{var o=X_(e[i],t[r],0);Array.isArray(o)&&2===o.length&&Yb(o[0])&&Yb(o[1])&&(n[0]=o[0],n[1]=o[1])})}),l};var nE=e=>{var{axis:t,ticks:n,offset:r,bandSize:i,entry:o,index:l}=e;if("category"===t.type)return n[l]?n[l].coordinate+r:null;var s=X_(o,t.dataKey,t.scale.domain()[l]);if(Zb(s))return null;var a=t.scale.map(s);return Yb(a)?a-i/2+r:null},rE=(e,t,n)=>{var r;if(null!=e)return r=Object.keys(e).reduce((r,i)=>{var o=e[i];if(!o)return r;var{stackedData:l}=o,s=l.reduce((e,r)=>{var i=(e=>{var t=e.flat(2).filter(Yb);return[Math.min(...t),Math.max(...t)]})(Y_(r,t,n));return uw(i[0])&&uw(i[1])?[Math.min(e[0],i[0]),Math.max(e[1],i[1])]:e},[1/0,-1/0]);return[Math.min(s[0],r[0]),Math.max(s[1],r[1])]},[1/0,-1/0]),[r[0]===1/0?0:r[0],r[1]===-1/0?0:r[1]]},iE=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,oE=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,lE=(e,t,n)=>{if(e&&e.scale&&e.scale.bandwidth){var r=e.scale.bandwidth();if(!n||r>0)return r}if(e&&t&&t.length>=2){for(var i=F_()(t,e=>e.coordinate),o=1/0,l=1,s=i.length;l<s;l++){var a=i[l],c=i[l-1];o=Math.min(((null===a||void 0===a?void 0:a.coordinate)||0)-((null===c||void 0===c?void 0:c.coordinate)||0),o)}return o===1/0?0:o}return n?void 0:0};function sE(e){var{tooltipEntrySettings:t,dataKey:n,payload:r,value:i,name:o}=e;return K_(K_({},t),{},{dataKey:n,payload:r,value:i,name:o})}function aE(e,t){return e?String(e):"string"===typeof t?t:void 0}var cE=e=>e.layout.width,dE=e=>e.layout.height,uE=e=>e.layout.scale,hE=e=>e.layout.margin,pE=T_(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),fE=T_(e=>e.cartesianAxis.yAxis,e=>Object.values(e)),gE="data-recharts-item-index",mE="data-recharts-item-id";function yE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function vE(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?yE(Object(n),!0).forEach(function(t){xE(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):yE(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function xE(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var bE=T_([cE,dE,hE,e=>e.brush.height,function(e){return fE(e).reduce((e,t)=>"left"!==t.orientation||t.mirror||t.hide?e:e+("number"===typeof t.width?t.width:60),0)},function(e){return fE(e).reduce((e,t)=>"right"!==t.orientation||t.mirror||t.hide?e:e+("number"===typeof t.width?t.width:60),0)},function(e){return pE(e).reduce((e,t)=>"top"!==t.orientation||t.mirror||t.hide?e:e+t.height,0)},function(e){return pE(e).reduce((e,t)=>"bottom"!==t.orientation||t.mirror||t.hide?e:e+t.height,0)},$_,e=>e.legend.size],(e,t,n,r,i,o,l,s,a,c)=>{var d={left:(n.left||0)+i,right:(n.right||0)+o},u=vE(vE({},{top:(n.top||0)+l,bottom:(n.bottom||0)+s}),d),h=u.bottom;u.bottom+=r,u=((e,t,n)=>{if(t&&n){var{width:r,height:i}=n,{align:o,verticalAlign:l,layout:s}=t;if(("vertical"===s||"horizontal"===s&&"middle"===l)&&"center"!==o&&Yb(e[o]))return K_(K_({},e),{},{[o]:e[o]+(r||0)});if(("horizontal"===s||"vertical"===s&&"center"===o)&&"middle"!==l&&Yb(e[l]))return K_(K_({},e),{},{[l]:e[l]+(i||0)})}return e})(u,a,c);var p=e-u.left-u.right,f=t-u.top-u.bottom;return vE(vE({brushBottom:h},u),{},{width:Math.max(p,0),height:Math.max(f,0)})}),wE=T_(bE,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),SE=T_(cE,dE,(e,t)=>({x:0,y:0,width:e,height:t})),jE=(0,t.createContext)(null),kE=()=>null!=(0,t.useContext)(jE),_E=e=>e.brush,EE=T_([_E,bE,hE],(e,t,n)=>({height:e.height,x:Yb(e.x)?e.x:t.left,y:Yb(e.y)?e.y:t.top+t.height+t.brushBottom-((null===n||void 0===n?void 0:n.bottom)||0),width:Yb(e.width)?e.width:t.width}));function CE(e){if(e)return{x:e.x,y:e.y,upperWidth:"upperWidth"in e?e.upperWidth:e.width,lowerWidth:"lowerWidth"in e?e.lowerWidth:e.width,width:e.width,height:e.height}}var TE=()=>{var e,t=kE(),n=z_(wE),r=z_(EE),i=null===(e=z_(_E))||void 0===e?void 0:e.padding;return t&&r&&i?{width:r.width-i.left-i.right,height:r.height-i.top-i.bottom,x:i.left,y:i.top}:n},ME={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},OE=()=>{var e;return null!==(e=z_(bE))&&void 0!==e?e:ME},AE=()=>z_(cE),PE=()=>z_(dE),IE=e=>e.layout.layoutType,DE=()=>z_(IE),LE=()=>{var e=DE();if("horizontal"===e||"vertical"===e)return e},RE=e=>{var t=e.layout.layoutType;if("centric"===t||"radial"===t)return t},zE=e=>{var n=I_(),r=kE(),{width:i,height:o}=e,l=xw(),s=i,a=o;return l&&(s=l.width>0?l.width:i,a=l.height>0?l.height:o),(0,t.useEffect)(()=>{!r&&hw(s)&&hw(a)&&n(v_({width:s,height:a}))},[n,r,s,a]),null},NE=n(9859),FE=n.n(NE),$E=e=>e.chartData,WE=T_([$E],e=>{var t=null!=e.chartData?e.chartData.length-1:0;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),BE=(e,t,n,r)=>r?WE(e):$E(e),UE=T_([BE],e=>{var{chartData:t,dataStartIndex:n,dataEndIndex:r}=e;return null!=t?t.slice(n,r+1):[]}),HE=T_([WE],e=>{var{chartData:t,dataStartIndex:n,dataEndIndex:r}=e;return null!=t?t.slice(n,r+1):[]}),VE=T_([$E],e=>{var{chartData:t,dataStartIndex:n,dataEndIndex:r}=e;return null!=t?t.slice(n,r+1):[]});function YE(e){if(Array.isArray(e)&&2===e.length){var[t,n]=e;if(uw(t)&&uw(n))return!0}return!1}function GE(e,t,n){return n?e:[Math.min(e[0],t[0]),Math.max(e[1],t[1])]}function KE(e,t){if(t&&"function"!==typeof e&&Array.isArray(e)&&2===e.length){var n,r,[i,o]=e;if(uw(i))n=i;else if("function"===typeof i)return;if(uw(o))r=o;else if("function"===typeof o)return;var l=[n,r];if(YE(l))return l}}var qE=n(8210),XE=n.n(qE);function JE(e){return 0===e?1:Math.floor(new(XE())(e).abs().log(10).toNumber())+1}function QE(e,t,n){for(var r=new(XE())(e),i=0,o=[];r.lt(t)&&i<1e5;)o.push(r.toNumber()),r=r.add(n),i++;return o}var ZE=e=>{var[t,n]=e,[r,i]=[t,n];return t>n&&([r,i]=[n,t]),[r,i]},eC=(e,t,n)=>{if(e.lte(0))return new(XE())(0);var r=JE(e.toNumber()),i=new(XE())(10).pow(r),o=e.div(i),l=1!==r?.05:.1,s=new(XE())(Math.ceil(o.div(l).toNumber())).add(n).mul(l).mul(i);return t?new(XE())(s.toNumber()):new(XE())(Math.ceil(s.toNumber()))},tC=(e,t,n)=>{var r;if(e.lte(0))return new(XE())(0);var i=[1,2,2.5,5],o=e.toNumber(),l=Math.floor(new(XE())(o).abs().log(10).toNumber()),s=new(XE())(10).pow(l),a=e.div(s).toNumber(),c=i.findIndex(e=>e>=a-1e-10);if(-1===c&&(s=s.mul(10),c=0),(c+=n)>=i.length){var d=Math.floor(c/i.length);c%=i.length,s=s.mul(new(XE())(10).pow(d))}var u=null!==(r=i[c])&&void 0!==r?r:1,h=new(XE())(u).mul(s);return t?h:new(XE())(Math.ceil(h.toNumber()))},nC=function(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:eC;if(!Number.isFinite((t-e)/(n-1)))return{step:new(XE())(0),tickMin:new(XE())(0),tickMax:new(XE())(0)};var l,s=o(new(XE())(t).sub(e).div(n-1),r,i);l=e<=0&&t>=0?new(XE())(0):(l=new(XE())(e).add(t).div(2)).sub(new(XE())(l).mod(s));var a=Math.ceil(l.sub(e).div(s).toNumber()),c=Math.ceil(new(XE())(t).sub(l).div(s).toNumber()),d=a+c+1;return d>n?nC(e,t,n,r,i+1,o):(d<n&&(c=t>0?c+(n-d):c,a=t>0?a:a+(n-d)),{step:s,tickMin:l.sub(new(XE())(a).mul(s)),tickMax:l.add(new(XE())(c).mul(s))})},rC=function(e){var[t,n]=e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6,i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"auto",l=Math.max(r,2),[s,a]=ZE([t,n]);if(s===-1/0||a===1/0){var c=a===1/0?[s,...Array(r-1).fill(1/0)]:[...Array(r-1).fill(-1/0),a];return t>n?c.reverse():c}if(s===a)return((e,t,n)=>{var r=new(XE())(1),i=new(XE())(e);if(!i.isint()&&n){var o=Math.abs(e);o<1?(r=new(XE())(10).pow(JE(e)-1),i=new(XE())(Math.floor(i.div(r).toNumber())).mul(r)):o>1&&(i=new(XE())(Math.floor(e)))}else 0===e?i=new(XE())(Math.floor((t-1)/2)):n||(i=new(XE())(Math.floor(e)));for(var l=Math.floor((t-1)/2),s=[],a=0;a<t;a++)s.push(i.add(new(XE())(a-l).mul(r)).toNumber());return s})(s,r,i);var d="snap125"===o?tC:eC,{step:u,tickMin:h,tickMax:p}=nC(s,a,l,i,0,d),f=QE(h,p.add(new(XE())(.1).mul(u)),u);return t>n?f.reverse():f},iC=function(e,t){var[n,r]=e,i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"auto",[l,s]=ZE([n,r]);if(l===-1/0||s===1/0)return[n,r];if(l===s)return[l];var a="snap125"===o?tC:eC,c=Math.max(t,2),d=a(new(XE())(s).sub(l).div(c-1),i,0),u=[...QE(new(XE())(l),new(XE())(s),d),s];return!1===i&&(u=u.map(e=>Math.round(e))),n>r?u.reverse():u},oC=e=>e.rootProps.maxBarSize,lC=e=>e.rootProps.barCategoryGap,sC=e=>e.rootProps.stackOffset,aC=e=>e.rootProps.reverseStackOrder,cC=e=>e.options.chartName,dC=e=>e.rootProps.syncId,uC=e=>e.rootProps.syncMethod,hC=e=>e.options.eventEmitter;function pC(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function fC(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?pC(Object(n),!0).forEach(function(t){gC(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pC(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function gC(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var mC=Math.PI/180,yC=e=>180*e/Math.PI,vC=(e,t,n,r)=>({x:e+Math.cos(-mC*r)*n,y:t+Math.sin(-mC*r)*n}),xC=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{top:0,right:0,bottom:0,left:0,width:0,height:0,brushBottom:0};return Math.min(Math.abs(e-(n.left||0)-(n.right||0)),Math.abs(t-(n.top||0)-(n.bottom||0)))/2},bC=(e,t)=>{var{x:n,y:r}=e,{cx:i,cy:o}=t,l=((e,t)=>{var{x:n,y:r}=e,{x:i,y:o}=t;return Math.sqrt((n-i)**2+(r-o)**2)})({x:n,y:r},{x:i,y:o});if(l<=0)return{radius:l,angle:0};var s=(n-i)/l,a=Math.acos(s);return r>o&&(a=2*Math.PI-a),{radius:l,angle:yC(a),angleInRadian:a}},wC=(e,t)=>{var{startAngle:n,endAngle:r}=t,i=Math.floor(n/360),o=Math.floor(r/360);return e+360*Math.min(i,o)},SC=(e,t)=>{var{relativeX:n,relativeY:r}=e,{radius:i,angle:o}=bC({x:n,y:r},t),{innerRadius:l,outerRadius:s}=t;if(i<l||i>s)return null;if(0===i)return null;var a,{startAngle:c,endAngle:d}=(e=>{var{startAngle:t,endAngle:n}=e,r=Math.floor(t/360),i=Math.floor(n/360),o=Math.min(r,i);return{startAngle:t-360*o,endAngle:n-360*o}})(t),u=o;if(c<=d){for(;u>d;)u-=360;for(;u<c;)u+=360;a=u>=c&&u<=d}else{for(;u>c;)u-=360;for(;u<d;)u+=360;a=u>=d&&u<=c}return a?fC(fC({},t),{},{radius:i,angle:wC(u,t)}):null},jC={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3},kC=(e,t)=>{if(e&&t)return null!==e&&void 0!==e&&e.reversed?[t[1],t[0]]:t};function _C(e,t,n){return"auto"!==n?n:null!=e?J_(e,t)?"category":"number":void 0}function EC(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function CC(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?EC(Object(n),!0).forEach(function(t){TC(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):EC(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function TC(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var MC={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!1,dataKey:void 0,domain:void 0,id:0,includeHidden:!1,name:void 0,reversed:!1,scale:"auto",tick:!0,tickCount:void 0,ticks:void 0,type:"auto",unit:void 0,niceTicks:"auto"},OC={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!0,dataKey:void 0,domain:void 0,id:0,includeHidden:!1,name:void 0,reversed:!1,scale:"auto",tick:!0,tickCount:5,ticks:void 0,type:"auto",unit:void 0,niceTicks:"auto"},AC=T_([(e,t)=>{if(null!=t)return e.polarAxis.angleAxis[t]},RE],(e,t)=>{var n;if(null!=e)return e;var r=null!==(n=_C(t,"angleAxis",MC.type))&&void 0!==n?n:"category";return CC(CC({},MC),{},{type:r})}),PC=T_([(e,t)=>e.polarAxis.radiusAxis[t],RE],(e,t)=>{var n;if(null!=e)return e;var r=null!==(n=_C(t,"radiusAxis",OC.type))&&void 0!==n?n:"category";return CC(CC({},OC),{},{type:r})}),IC=e=>e.polarOptions,DC=T_([cE,dE,bE],xC),LC=T_([IC,DC],(e,t)=>{if(null!=e)return Xb(e.innerRadius,t,0)}),RC=T_([IC,DC],(e,t)=>{if(null!=e)return Xb(e.outerRadius,t,.8*t)}),zC=T_([IC],e=>{if(null==e)return[0,0];var{startAngle:t,endAngle:n}=e;return[t,n]}),NC=(T_([AC,zC],kC),T_([DC,LC,RC],(e,t,n)=>{if(null!=e&&null!=t&&null!=n)return[t,n]})),FC=(T_([PC,NC],kC),T_([IE,IC,LC,RC,cE,dE],(e,t,n,r,i,o)=>{if(("centric"===e||"radial"===e)&&null!=t&&null!=n&&null!=r){var{cx:l,cy:s,startAngle:a,endAngle:c}=t;return{cx:Xb(l,i,i/2),cy:Xb(s,o,o/2),innerRadius:n,outerRadius:r,startAngle:a,endAngle:c,clockWise:!1}}})),$C=(e,t)=>t,WC=(e,t,n)=>n;function BC(e){return null===e||void 0===e?void 0:e.id}function UC(e,t,n){var{chartData:r=[]}=t,{allowDuplicatedCategory:i,dataKey:o}=n,l=new Map;return e.forEach(e=>{var t,n=null!==(t=e.data)&&void 0!==t?t:r;if(null!=n&&0!==n.length){var s=BC(e);n.forEach((t,n)=>{var r,a=null==o||i?n:String(X_(t,o,null)),c=X_(t,e.dataKey,0);r=l.has(a)?l.get(a):{},Object.assign(r,{[s]:c}),l.set(a,r)})}}),Array.from(l.values())}function HC(e){return"stackId"in e&&null!=e.stackId&&null!=e.dataKey}var VC=(e,t)=>e===t||null!=e&&null!=t&&(e[0]===t[0]&&e[1]===t[1]);function YC(e,t){return!(!Array.isArray(e)||!Array.isArray(t)||0!==e.length||0!==t.length)||e===t}var GC=e=>{var t=IE(e);return"horizontal"===t?"xAxis":"vertical"===t?"yAxis":"centric"===t?"angleAxis":"radiusAxis"},KC=e=>e.tooltip.settings.axisId;function qC(e){if(null!=e){var t=e.ticks,n=e.bandwidth,r=e.range(),i=[Math.min(...r),Math.max(...r)];return{domain:()=>e.domain(),range:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}(()=>i),rangeMin:()=>i[0],rangeMax:()=>i[1],isInRange(e){var t=i[0],n=i[1];return t<=n?e>=t&&e<=n:e>=n&&e<=t},bandwidth:n?()=>n.call(e):void 0,ticks:t?n=>t.call(e,n):void 0,map:(t,n)=>{var r=e(t);if(null!=r){if(e.bandwidth&&null!==n&&void 0!==n&&n.position){var i=e.bandwidth();switch(n.position){case"middle":r+=i/2;break;case"end":r+=i}}return r}}}}}var XC=(e,t)=>{if(null!=t){if("linear"===e){if(!YE(t)){for(var n,r,i=0;i<t.length;i++){var o=t[i];uw(o)&&((void 0===n||o<n)&&(n=o),(void 0===r||o>r)&&(r=o))}return void 0!==n&&void 0!==r?[n,r]:void 0}return t}return t}};function JC(t,n,r){if("function"===typeof t)return t.copy().domain(n).range(r);if(null!=t){var i=function(t){var n=e;if(t in n&&"function"===typeof n[t])return n[t]();var r="scale".concat(ew(t));return r in n&&"function"===typeof n[r]?n[r]():void 0}(t);if(null!=i)return i.domain(n).range(r),i}}function QC(e,t,n,r){if(null!=n&&null!=r)return"function"===typeof e.scale?JC(e.scale,n,r):JC(t,n,r)}function ZC(t){return function(e){return"scale".concat(ew(e))}(t)in e}var eT=(e,t,n)=>{if(null!=e){var{scale:r,type:i}=e;return"auto"===r?"category"===i&&n&&(n.indexOf("LineChart")>=0||n.indexOf("AreaChart")>=0||n.indexOf("ComposedChart")>=0&&!t)?"point":"category"===i?"band":"linear":"string"===typeof r?ZC(r)?r:"point":void 0}};function tT(e,t){if(e){var n=null!==t&&void 0!==t?t:e.domain(),r=n.map(t=>{var n;return null!==(n=e(t))&&void 0!==n?n:0}),i=e.range();if(!(0===n.length||i.length<2))return e=>{var t,i,o=function(e,t){for(var n=0,r=e.length,i=e[0]<e[e.length-1];n<r;){var o=Math.floor((n+r)/2);(i?e[o]<t:e[o]>t)?n=o+1:r=o}return n}(r,e);if(o<=0)return n[0];if(o>=n.length)return n[n.length-1];var l=null!==(t=r[o-1])&&void 0!==t?t:0,s=null!==(i=r[o])&&void 0!==i?i:0;return Math.abs(e-l)<=Math.abs(e-s)?n[o-1]:n[o]}}}function nT(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function rT(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?nT(Object(n),!0).forEach(function(t){iT(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):nT(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function iT(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var oT=[0,"auto"],lT={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:void 0,height:30,hide:!0,id:0,includeHidden:!1,interval:"preserveEnd",minTickGap:5,mirror:!1,name:void 0,orientation:"bottom",padding:{left:0,right:0},reversed:!1,scale:"auto",tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:"category",unit:void 0,niceTicks:"auto"},sT=(e,t)=>e.cartesianAxis.xAxis[t],aT=(e,t)=>{var n=sT(e,t);return null==n?lT:n},cT={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:oT,hide:!0,id:0,includeHidden:!1,interval:"preserveEnd",minTickGap:5,mirror:!1,name:void 0,orientation:"left",padding:{top:0,bottom:0},reversed:!1,scale:"auto",tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:"number",unit:void 0,niceTicks:"auto",width:60},dT=(e,t)=>e.cartesianAxis.yAxis[t],uT=(e,t)=>{var n=dT(e,t);return null==n?cT:n},hT={domain:[0,"auto"],includeHidden:!1,reversed:!1,allowDataOverflow:!1,allowDuplicatedCategory:!1,dataKey:void 0,id:0,name:"",range:[64,64],scale:"auto",type:"number",unit:""},pT=(e,t)=>{var n=e.cartesianAxis.zAxis[t];return null==n?hT:n},fT=(e,t,n)=>{switch(t){case"xAxis":return aT(e,n);case"yAxis":return uT(e,n);case"zAxis":return pT(e,n);case"angleAxis":return AC(e,n);case"radiusAxis":return PC(e,n);default:throw new Error("Unexpected axis type: ".concat(t))}},gT=(e,t,n)=>{switch(t){case"xAxis":return aT(e,n);case"yAxis":return uT(e,n);case"angleAxis":return AC(e,n);case"radiusAxis":return PC(e,n);default:throw new Error("Unexpected axis type: ".concat(t))}},mT=e=>e.graphicalItems.cartesianItems.some(e=>"bar"===e.type)||e.graphicalItems.polarItems.some(e=>"radialBar"===e.type);function yT(e,t){return n=>{switch(e){case"xAxis":return"xAxisId"in n&&n.xAxisId===t;case"yAxis":return"yAxisId"in n&&n.yAxisId===t;case"zAxis":return"zAxisId"in n&&n.zAxisId===t;case"angleAxis":return"angleAxisId"in n&&n.angleAxisId===t;case"radiusAxis":return"radiusAxisId"in n&&n.radiusAxisId===t;default:return!1}}}var vT=e=>e.graphicalItems.cartesianItems,xT=T_([$C,WC],yT),bT=(e,t,n)=>e.filter(n).filter(e=>!0===(null===t||void 0===t?void 0:t.includeHidden)||!e.hide),wT=T_([vT,fT,xT],bT,{memoizeOptions:{resultEqualityCheck:YC}}),ST=T_([wT],e=>e.filter(e=>"area"===e.type||"bar"===e.type).filter(HC)),jT=e=>e.filter(e=>!("stackId"in e)||void 0===e.stackId),kT=T_([wT],jT),_T=e=>e.map(e=>e.data).filter(Boolean).flat(1),ET=T_([wT],e=>e.some(e=>!e.data)),CT=T_([wT],_T,{memoizeOptions:{resultEqualityCheck:YC}}),TT=(e,t)=>{var{chartData:n=[],dataStartIndex:r,dataEndIndex:i}=t;return e.length>0?e:n.slice(r,i+1)},MT=T_([CT,BE],TT),OT=(e,t,n)=>null!=(null===t||void 0===t?void 0:t.dataKey)?e.map(e=>({value:X_(e,t.dataKey)})):n.length>0?n.map(e=>e.dataKey).flatMap(t=>e.map(e=>({value:X_(e,t)}))):e.map(e=>({value:e})),AT=(e,t,n,r,i,o)=>{var{chartData:l=[],dataStartIndex:s,dataEndIndex:a}=r,c=OT(e,t,n);return i&&null!=(null===t||void 0===t?void 0:t.dataKey)&&o.length>0?[...l.slice(s,a+1).map(e=>({value:X_(e,t.dataKey)})).filter(e=>null!=e.value),...c]:c},PT=T_([MT,fT,wT,BE,ET,CT],AT);function IT(e){if(Gb(e)||e instanceof Date){var t=Number(e);if(uw(t))return t}}function DT(e){if(Array.isArray(e)){var t=[IT(e[0]),IT(e[1])];return YE(t)?t:void 0}var n=IT(e);if(null!=n)return[n,n]}function LT(e){return e.map(IT).filter(tw)}function RT(e,t){var n=IT(e),r=IT(t);return null==n&&null==r?0:null==n?-1:null==r?1:n-r}var zT=T_([PT],e=>null===e||void 0===e?void 0:e.map(e=>e.value).sort(RT));function NT(e,t){switch(e){case"xAxis":return"x"===t.direction;case"yAxis":return"y"===t.direction;default:return!1}}var FT=e=>{var t=GC(e),n=KC(e);return gT(e,t,n)},$T=T_([FT],e=>null===e||void 0===e?void 0:e.dataKey),WT=T_([ST,BE,FT],UC),BT=(e,t,n,r)=>{var i=t.reduce((e,t)=>{if(null==t.stackId)return e;var n=e[t.stackId];return null==n&&(n=[]),n.push(t),e[t.stackId]=n,e},{});return Object.fromEntries(Object.entries(i).map(t=>{var[i,o]=t,l=r?[...o].reverse():o,s=l.map(BC);return[i,{stackedData:tE(e,s,n),graphicalItems:l}]}))},UT=T_([WT,ST,sC,aC],BT),HT=(e,t,n,r)=>{var{dataStartIndex:i,dataEndIndex:o}=t;if(null==r&&"zAxis"!==n){var l=rE(e,i,o);if(null==l||0!==l[0]||0!==l[1])return l}},VT=T_([fT],e=>e.allowDataOverflow),YT=e=>{var t;if(null==e||!("domain"in e))return oT;if(null!=e.domain)return e.domain;if("ticks"in e&&null!=e.ticks){if("number"===e.type){var n=LT(e.ticks);return[Math.min(...n),Math.max(...n)]}if("category"===e.type)return e.ticks.map(String)}return null!==(t=null===e||void 0===e?void 0:e.domain)&&void 0!==t?t:oT},GT=T_([fT],YT),KT=T_([GT,VT],KE),qT=T_([UT,$E,$C,KT],HT,{memoizeOptions:{resultEqualityCheck:VC}}),XT=e=>e.errorBars,JT=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=t.filter(Boolean);if(0!==r.length){var i=r.flat();return[Math.min(...i),Math.max(...i)]}},QT=function(e,t,n,r,i){var o,l,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[];if(n.length>0&&n.forEach(e=>{var n,a=null!=e.data?[...e.data]:s,c=null===(n=r[e.id])||void 0===n?void 0:n.filter(e=>NT(i,e));a.forEach(n=>{var r,i=X_(n,null!==(r=t.dataKey)&&void 0!==r?r:e.dataKey),s=function(e,t,n){if(!n)return[];if(!n.length)return[];var r;if("number"!==typeof t||Hb(t)){if(Array.isArray(t)){var i=LT(t);i.length>0&&(r=Math.max(...i))}}else r=t;return null==r?[]:LT(n.flatMap(t=>{var n,i,o=X_(e,t.dataKey);if(Array.isArray(o)?[n,i]=o:n=i=o,uw(n)&&uw(i))return[r-n,r+i]}))}(n,i,c);if(s.length>=2){var a=Math.min(...s),d=Math.max(...s);(null==o||a<o)&&(o=a),(null==l||d>l)&&(l=d)}var u=DT(i);null!=u&&(o=null==o?u[0]:Math.min(o,u[0]),l=null==l?u[1]:Math.max(l,u[1]))})}),null!=(null===t||void 0===t?void 0:t.dataKey)&&0===n.length&&e.forEach(e=>{var n=DT(X_(e,t.dataKey));null!=n&&(o=null==o?n[0]:Math.min(o,n[0]),l=null==l?n[1]:Math.max(l,n[1]))}),uw(o)&&uw(l))return[o,l]},ZT=T_([MT,fT,kT,XT,$C,UE],QT,{memoizeOptions:{resultEqualityCheck:VC}});function eM(e){var{value:t}=e;if(Gb(t)||t instanceof Date)return t}var tM=e=>e.referenceElements.dots,nM=(e,t,n)=>e.filter(e=>"extendDomain"===e.ifOverflow).filter(e=>"xAxis"===t?e.xAxisId===n:e.yAxisId===n),rM=T_([tM,$C,WC],nM),iM=e=>e.referenceElements.areas,oM=T_([iM,$C,WC],nM),lM=e=>e.referenceElements.lines,sM=T_([lM,$C,WC],nM),aM=(e,t)=>{if(null!=e){var n=LT(e.map(e=>"xAxis"===t?e.x:e.y));if(0!==n.length)return[Math.min(...n),Math.max(...n)]}},cM=T_(rM,$C,aM),dM=(e,t)=>{if(null!=e){var n=LT(e.flatMap(e=>["xAxis"===t?e.x1:e.y1,"xAxis"===t?e.x2:e.y2]));if(0!==n.length)return[Math.min(...n),Math.max(...n)]}},uM=T_([oM,$C],dM);var hM=(e,t)=>{if(null!=e){var n=e.flatMap(e=>"xAxis"===t?function(e){var t;if(null!=e.x)return LT([e.x]);var n=null===(t=e.segment)||void 0===t?void 0:t.map(e=>e.x);return null==n||0===n.length?[]:LT(n)}(e):function(e){var t;if(null!=e.y)return LT([e.y]);var n=null===(t=e.segment)||void 0===t?void 0:t.map(e=>e.y);return null==n||0===n.length?[]:LT(n)}(e));if(0!==n.length)return[Math.min(...n),Math.max(...n)]}},pM=T_([sM,$C],hM),fM=T_(cM,pM,uM,(e,t,n)=>JT(e,n,t)),gM=(e,t,n,r,i,o,l,s)=>null!=n?n:function(e,t,n){if(n||null!=t){if("function"===typeof e&&null!=t)try{var r=e(t,n);if(YE(r))return GE(r,t,n)}catch(p){}if(Array.isArray(e)&&2===e.length){var i,o,[l,s]=e;if("auto"===l)null!=t&&(i=Math.min(...t));else if(Yb(l))i=l;else if("function"===typeof l)try{null!=t&&(i=l(null===t||void 0===t?void 0:t[0]))}catch(f){}else if("string"===typeof l&&iE.test(l)){var a=iE.exec(l);if(null==a||null==a[1]||null==t)i=void 0;else{var c=+a[1];i=t[0]-c}}else i=null===t||void 0===t?void 0:t[0];if("auto"===s)null!=t&&(o=Math.max(...t));else if(Yb(s))o=s;else if("function"===typeof s)try{null!=t&&(o=s(null===t||void 0===t?void 0:t[1]))}catch(g){}else if("string"===typeof s&&oE.test(s)){var d=oE.exec(s);if(null==d||null==d[1]||null==t)o=void 0;else{var u=+d[1];o=t[1]+u}}else o=null===t||void 0===t?void 0:t[1];var h=[i,o];if(YE(h))return null==t?h:GE(h,t,n)}}}(t,"vertical"===l&&"xAxis"===s||"horizontal"===l&&"yAxis"===s?JT(r,o,i):JT(o,i),e.allowDataOverflow),mM=T_([fT,GT,KT,qT,ZT,fM,IE,$C],gM,{memoizeOptions:{resultEqualityCheck:VC}}),yM=[0,1],vM=(e,t,n,r,i,o,l)=>{if(null!=e&&null!=n&&0!==n.length||void 0!==l){var s,{dataKey:a,type:c}=e,d=J_(t,o);return d&&null==a?FE()(0,null!==(s=null===n||void 0===n?void 0:n.length)&&void 0!==s?s:0):"category"===c?((e,t,n)=>{var r=e.map(eM).filter(e=>null!=e);return n&&(null==t.dataKey||t.allowDuplicatedCategory&&Jb(r))?FE()(0,e.length):t.allowDuplicatedCategory?r:Array.from(new Set(r))})(r,e,d):"expand"!==i||d?l:yM}},xM=T_([fT,IE,MT,PT,sC,$C,mM],vM),bM=T_([fT,mT,cC],eT),wM=(e,t,n)=>{var{niceTicks:r}=t;if("none"!==r){var i=YT(t),o=Array.isArray(i)&&("auto"===i[0]||"auto"===i[1]);if(("snap125"===r||"adaptive"===r)&&null!=t&&t.tickCount&&YE(e)){if(o)return rC(e,t.tickCount,t.allowDecimals,r);if("number"===t.type)return iC(e,t.tickCount,t.allowDecimals,r)}if("auto"===r&&"linear"===n&&null!=t&&t.tickCount){if(o&&YE(e))return rC(e,t.tickCount,t.allowDecimals,"adaptive");if("number"===t.type&&YE(e))return iC(e,t.tickCount,t.allowDecimals,"adaptive")}}},SM=T_([xM,gT,bM],wM),jM=(e,t,n,r)=>{if("angleAxis"!==r&&"number"===(null===e||void 0===e?void 0:e.type)&&YE(t)&&Array.isArray(n)&&n.length>0){var i,o,l=t[0],s=null!==(i=n[0])&&void 0!==i?i:0,a=t[1],c=null!==(o=n[n.length-1])&&void 0!==o?o:0;return[Math.min(l,s),Math.max(a,c)]}return t},kM=T_([fT,xM,SM,$C],jM),_M=T_(PT,fT,(e,t)=>{if(t&&"number"===t.type){var n=1/0,r=Array.from(LT(e.map(e=>e.value))).sort((e,t)=>e-t),i=r[0],o=r[r.length-1];if(null==i||null==o)return 1/0;var l=o-i;if(0===l)return 1/0;for(var s=0;s<r.length-1;s++){var a=r[s],c=r[s+1];if(null!=a&&null!=c){var d=c-a;n=Math.min(n,d)}}return n/l}}),EM=T_(_M,IE,lC,bE,(e,t,n,r,i)=>i,(e,t,n,r,i)=>{if(!uw(e))return 0;var o="vertical"===t?r.height:r.width;if("gap"===i)return e*o/2;if("no-gap"===i){var l=Xb(n,e*o),s=e*o/2;return s-l-(s-l)/o*l}return 0}),CM=T_(aT,(e,t,n)=>{var r=aT(e,t);return null==r||"string"!==typeof r.padding?0:EM(e,"xAxis",t,n,r.padding)},(e,t)=>{var n,r;if(null==e)return{left:0,right:0};var{padding:i}=e;return"string"===typeof i?{left:t,right:t}:{left:(null!==(n=i.left)&&void 0!==n?n:0)+t,right:(null!==(r=i.right)&&void 0!==r?r:0)+t}}),TM=T_(uT,(e,t,n)=>{var r=uT(e,t);return null==r||"string"!==typeof r.padding?0:EM(e,"yAxis",t,n,r.padding)},(e,t)=>{var n,r;if(null==e)return{top:0,bottom:0};var{padding:i}=e;return"string"===typeof i?{top:t,bottom:t}:{top:(null!==(n=i.top)&&void 0!==n?n:0)+t,bottom:(null!==(r=i.bottom)&&void 0!==r?r:0)+t}}),MM=T_([bE,CM,EE,_E,(e,t,n)=>n],(e,t,n,r,i)=>{var{padding:o}=r;return i?[o.left,n.width-o.right]:[e.left+t.left,e.left+e.width-t.right]}),OM=T_([bE,IE,TM,EE,_E,(e,t,n)=>n],(e,t,n,r,i,o)=>{var{padding:l}=i;return o?[r.height-l.bottom,l.top]:"horizontal"===t?[e.top+e.height-n.bottom,e.top+n.top]:[e.top+n.top,e.top+e.height-n.bottom]}),AM=(e,t,n,r)=>{var i;switch(t){case"xAxis":return MM(e,n,r);case"yAxis":return OM(e,n,r);case"zAxis":return null===(i=pT(e,n))||void 0===i?void 0:i.range;case"angleAxis":return zC(e);case"radiusAxis":return NC(e,n);default:return}},PM=T_([fT,AM],kC),IM=T_([bM,kM],XC),DM=T_([fT,bM,IM,PM],QC),LM=(e,t,n,r)=>{if(null!=n&&null!=n.dataKey){var{type:i,scale:o}=n;return!J_(e,r)||"number"!==i&&"auto"===o?void 0:t.map(e=>e.value)}},RM=T_([IE,PT,gT,$C],LM),zM=T_([DM],qC);T_([DM],function(e){if(null!=e)return"invert"in e&&"function"===typeof e.invert?e.invert.bind(e):tT(e,void 0)}),T_([DM,zT],tT),T_([wT,XT,$C],(e,t,n)=>e.flatMap(e=>t[e.id]).filter(Boolean).filter(e=>NT(n,e)));function NM(e,t){return e.id<t.id?-1:e.id>t.id?1:0}var FM=(e,t)=>t,$M=(e,t,n)=>n,WM=T_(pE,FM,$M,(e,t,n)=>e.filter(e=>e.orientation===t).filter(e=>e.mirror===n).sort(NM)),BM=T_(fE,FM,$M,(e,t,n)=>e.filter(e=>e.orientation===t).filter(e=>e.mirror===n).sort(NM)),UM=(e,t)=>({width:e.width,height:t.height}),HM=T_(bE,aT,UM),VM=T_(dE,bE,WM,FM,$M,(e,t,n,r,i)=>{var o,l={};return n.forEach(n=>{var s=UM(t,n);null==o&&(o=((e,t,n)=>{switch(t){case"top":return e.top;case"bottom":return n-e.bottom;default:return 0}})(t,r,e));var a="top"===r&&!i||"bottom"===r&&i;l[n.id]=o-Number(a)*s.height,o+=(a?-1:1)*s.height}),l}),YM=T_(cE,bE,BM,FM,$M,(e,t,n,r,i)=>{var o,l={};return n.forEach(n=>{var s=((e,t)=>({width:"number"===typeof t.width?t.width:60,height:e.height}))(t,n);null==o&&(o=((e,t,n)=>{switch(t){case"left":return e.left;case"right":return n-e.right;default:return 0}})(t,r,e));var a="left"===r&&!i||"right"===r&&i;l[n.id]=o-Number(a)*s.width,o+=(a?-1:1)*s.width}),l}),GM=T_([bE,aT,(e,t)=>{var n=aT(e,t);if(null!=n)return VM(e,n.orientation,n.mirror)},(e,t)=>t],(e,t,n,r)=>{if(null!=t){var i=null===n||void 0===n?void 0:n[r];return null==i?{x:e.left,y:0}:{x:e.left,y:i}}}),KM=T_([bE,uT,(e,t)=>{var n=uT(e,t);if(null!=n)return YM(e,n.orientation,n.mirror)},(e,t)=>t],(e,t,n,r)=>{if(null!=t){var i=null===n||void 0===n?void 0:n[r];return null==i?{x:0,y:e.top}:{x:i,y:e.top}}}),qM=T_(bE,uT,(e,t)=>({width:"number"===typeof t.width?t.width:60,height:e.height})),XM=(e,t,n)=>{switch(t){case"xAxis":return HM(e,n).width;case"yAxis":return qM(e,n).height;default:return}},JM=(e,t,n,r)=>{if(null!=n){var{allowDuplicatedCategory:i,type:o,dataKey:l}=n,s=J_(e,r),a=t.map(e=>e.value),c=a.filter(e=>null!=e);return l&&s&&"category"===o&&i&&Jb(c)?a:void 0}},QM=T_([IE,PT,fT,$C],JM),ZM=T_([IE,(e,t,n)=>{switch(t){case"xAxis":return aT(e,n);case"yAxis":return uT(e,n);default:throw new Error("Unexpected axis type: ".concat(t))}},bM,zM,QM,RM,AM,SM,$C],(e,t,n,r,i,o,l,s,a)=>{if(null!=t){var c=J_(e,a);return{angle:t.angle,interval:t.interval,minTickGap:t.minTickGap,orientation:t.orientation,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,axisType:a,categoricalDomain:o,duplicateDomain:i,isCategorical:c,niceTicks:s,range:l,realScaleType:n,scale:r}}}),eO=T_([IE,gT,bM,zM,SM,AM,QM,RM,$C],(e,t,n,r,i,o,l,s,a)=>{if(null!=t&&null!=r){var c=J_(e,a),{type:d,ticks:u,tickCount:h}=t,p="scaleBand"===n&&"function"===typeof r.bandwidth?r.bandwidth()/2:2,f="category"===d&&r.bandwidth?r.bandwidth()/p:0;f="angleAxis"===a&&null!=o&&o.length>=2?2*Ub(o[0]-o[1])*f:f;var g=u||i;return g?g.map((e,t)=>{var n=l?l.indexOf(e):e,i=r.map(n);return uw(i)?{index:t,coordinate:i+f,value:e,offset:f}:null}).filter(tw):c&&s?s.map((e,t)=>{var n=r.map(e);return uw(n)?{coordinate:n+f,value:e,index:t,offset:f}:null}).filter(tw):r.ticks?r.ticks(h).map((e,t)=>{var n=r.map(e);return uw(n)?{coordinate:n+f,value:e,index:t,offset:f}:null}).filter(tw):r.domain().map((e,t)=>{var n=r.map(e);return uw(n)?{coordinate:n+f,value:l?l[e]:e,index:t,offset:f}:null}).filter(tw)}}),tO=T_([IE,gT,zM,AM,QM,RM,$C],(e,t,n,r,i,o,l)=>{if(null!=t&&null!=n&&null!=r&&r[0]!==r[1]){var s=J_(e,l),{tickCount:a}=t,c=0;return c="angleAxis"===l&&(null===r||void 0===r?void 0:r.length)>=2?2*Ub(r[0]-r[1])*c:c,s&&o?o.map((e,t)=>{var r=n.map(e);return uw(r)?{coordinate:r+c,value:e,index:t,offset:c}:null}).filter(tw):n.ticks?n.ticks(a).map((e,t)=>{var r=n.map(e);return uw(r)?{coordinate:r+c,value:e,index:t,offset:c}:null}).filter(tw):n.domain().map((e,t)=>{var r=n.map(e);return uw(r)?{coordinate:r+c,value:i?i[e]:e,index:t,offset:c}:null}).filter(tw)}}),nO=T_(fT,zM,(e,t)=>{if(null!=e&&null!=t)return rT(rT({},e),{},{scale:t})}),rO=T_([fT,bM,xM,PM],QC),iO=T_([rO],qC),oO=(T_((e,t,n)=>pT(e,n),iO,(e,t)=>{if(null!=e&&null!=t)return rT(rT({},e),{},{scale:t})}),T_([IE,pE,fE],(e,t,n)=>{switch(e){case"horizontal":return t.some(e=>e.reversed)?"right-to-left":"left-to-right";case"vertical":return n.some(e=>e.reversed)?"bottom-to-top":"top-to-bottom";case"centric":case"radial":return"left-to-right";default:return}})),lO=(T_([(e,t,n)=>{var r;return null===(r=e.renderedTicks[t])||void 0===r?void 0:r[n]}],e=>{if(e&&0!==e.length)return t=>{var n,r=1/0,i=e[0];for(var o of e){var l=Math.abs(o.coordinate-t);l<r&&(r=l,i=o)}return null===(n=i)||void 0===n?void 0:n.value}}),e=>e.options.defaultTooltipEventType),sO=e=>e.options.validateTooltipEventTypes;function aO(e,t,n){if(null==e)return t;var r=e?"axis":"item";return null==n?t:n.includes(r)?r:t}function cO(e,t){return aO(t,lO(e),sO(e))}var dO=(e,t)=>{var n,r=Number(t);if(!Hb(r)&&null!=t)return r>=0?null===e||void 0===e||null===(n=e[r])||void 0===n?void 0:n.value:void 0};function uO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function hO(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?uO(Object(n),!0).forEach(function(t){pO(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):uO(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function pO(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var fO=(e,t,n,r)=>{if(null==t)return qk;var i=function(e,t,n){return"axis"===t?"click"===n?e.axisInteraction.click:e.axisInteraction.hover:"click"===n?e.itemInteraction.click:e.itemInteraction.hover}(e,t,n);if(null==i)return qk;if(i.active)return i;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&null!=e.syncInteraction.index)return e.syncInteraction;var o=!0===e.settings.active;if(null!=i.index){if(o)return hO(hO({},i),{},{active:!0})}else if(null!=r)return{active:!0,coordinate:void 0,dataKey:void 0,index:r,graphicalItemId:void 0};return hO(hO({},qk),{},{coordinate:i.coordinate})};function gO(e,t){var n=function(e){if("number"===typeof e)return Number.isFinite(e)?e:void 0;if(e instanceof Date){var t=e.valueOf();return Number.isFinite(t)?t:void 0}var n=Number(e);return Number.isFinite(n)?n:void 0}(e),r=t[0],i=t[1];if(void 0===n)return!1;var o=Math.min(r,i),l=Math.max(r,i);return n>=o&&n<=l}var mO=(e,t,n,r)=>{var i=null===e||void 0===e?void 0:e.index;if(null==i)return null;var o=Number(i);if(!uw(o))return i;var l=1/0;t.length>0&&(l=t.length-1);var s=Math.max(0,Math.min(o,l)),a=t[s];return null==a||function(e,t,n){if(null==n||null==t)return!0;var r=X_(e,t);return null==r||!YE(n)||gO(r,n)}(a,n,r)?String(s):null},yO=(e,t,n,r,i,o,l)=>{if(null!=o){var s=l[0],a=null===s||void 0===s?void 0:s.getPosition(o);if(null!=a)return a;var c=null===i||void 0===i?void 0:i[Number(o)];if(c)return"horizontal"===n?{x:c.coordinate,y:(r.top+t)/2}:{x:(r.left+e)/2,y:c.coordinate}}},vO=(e,t,n,r)=>{if("axis"===t)return e.tooltipItemPayloads;if(0===e.tooltipItemPayloads.length)return[];var i;if(i="hover"===n?e.itemInteraction.hover.graphicalItemId:e.itemInteraction.click.graphicalItemId,e.syncInteraction.active&&null==i)return e.tooltipItemPayloads;if(null==i&&(null!=r||e.keyboardInteraction.active)){var o=e.tooltipItemPayloads[0];return null!=o?[o]:[]}return e.tooltipItemPayloads.filter(e=>{var t;return(null===(t=e.settings)||void 0===t?void 0:t.graphicalItemId)===i})},xO=e=>e.options.tooltipPayloadSearcher,bO=e=>e.tooltip;function wO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function SO(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?wO(Object(n),!0).forEach(function(t){jO(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):wO(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function jO(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function kO(e){if("string"===typeof e)return e}var _O=(e,t,n,r,i,o,l)=>{if(null!=t&&null!=o){var{chartData:s,computedData:a,dataStartIndex:c,dataEndIndex:d}=n;return e.reduce((e,n)=>{var u,h,p,{dataDefinedOnItem:f,settings:g}=n,m=function(e,t){return null!=e?e:t}(f,s),y=Array.isArray(m)?Y_(m,c,d):m,v=null!==(u=null===g||void 0===g?void 0:g.dataKey)&&void 0!==u?u:r,x=null===g||void 0===g?void 0:g.nameKey;(h=r&&Array.isArray(y)&&!Array.isArray(y[0])&&"axis"===l?function(e,t,n){if(e&&e.length)return e.find(e=>e&&("function"===typeof t?t(e):$b()(e,t))===n)}(y,r,i):o(y,t,a,x),Array.isArray(h))?h.forEach(t=>{var n,r,i=function(e){if(null!=e&&"object"===typeof e){var t="name"in e?function(e){if("string"===typeof e||"number"===typeof e)return e}(e.name):void 0,n="unit"in e?function(e){if("string"===typeof e||"number"===typeof e||"boolean"===typeof e)return e}(e.unit):void 0,r="dataKey"in e?function(e){return"string"===typeof e||"number"===typeof e?e:"function"===typeof e?t=>e(t):void 0}(e.dataKey):void 0;return{name:t,unit:n,dataKey:r,payload:"payload"in e?e.payload:void 0,color:"color"in e?kO(e.color):void 0,fill:"fill"in e?kO(e.fill):void 0}}}(t),o=null===i||void 0===i?void 0:i.name,l=null===i||void 0===i?void 0:i.dataKey,s=null===i||void 0===i?void 0:i.payload,a=SO(SO({},g),{},{name:o,unit:null===i||void 0===i?void 0:i.unit,color:null!==(n=null===i||void 0===i?void 0:i.color)&&void 0!==n?n:null===g||void 0===g?void 0:g.color,fill:null!==(r=null===i||void 0===i?void 0:i.fill)&&void 0!==r?r:null===g||void 0===g?void 0:g.fill});e.push(sE({tooltipEntrySettings:a,dataKey:l,payload:s,value:X_(s,l),name:null==o?void 0:String(o)}))}):e.push(sE({tooltipEntrySettings:g,dataKey:v,payload:h,value:X_(h,v),name:null!==(p=X_(h,x))&&void 0!==p?p:null===g||void 0===g?void 0:g.name}));return e},[])}},EO=T_([FT,mT,cC],eT),CO=T_([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),TO=T_([GC,KC],yT),MO=T_([CO,FT,TO],bT,{memoizeOptions:{resultEqualityCheck:YC}}),OO=T_([MO],e=>e.filter(HC)),AO=T_([MO],_T,{memoizeOptions:{resultEqualityCheck:YC}}),PO=T_([MO],e=>e.some(e=>!e.data)),IO=T_([AO,$E],TT),DO=T_([OO,$E,FT],UC),LO=T_([IO,FT,MO,$E,PO,AO],AT),RO=T_([FT],YT),zO=T_([FT],e=>e.allowDataOverflow),NO=T_([RO,zO],KE),FO=T_([MO],e=>e.filter(HC)),$O=T_([DO,FO,sC,aC],BT),WO=T_([$O,$E,GC,NO],HT),BO=T_([MO],jT),UO=T_([IO,FT,BO,XT,GC,VE],QT,{memoizeOptions:{resultEqualityCheck:VC}}),HO=T_([tM,GC,KC],nM),VO=T_([HO,GC],aM),YO=T_([iM,GC,KC],nM),GO=T_([YO,GC],dM),KO=T_([lM,GC,KC],nM),qO=T_([KO,GC],hM),XO=T_([VO,qO,GO],JT),JO=T_([FT,RO,NO,WO,UO,XO,IE,GC],gM),QO=T_([FT,IE,IO,LO,sC,GC,JO],vM),ZO=T_([QO,FT,EO],wM),eA=T_([FT,QO,ZO,GC],jM),tA=e=>{var t=GC(e),n=KC(e);return AM(e,t,n,!1)},nA=T_([FT,tA],kC),rA=T_([FT,EO,eA,nA],QC),iA=T_([rA],qC),oA=T_([IE,LO,FT,GC],JM),lA=T_([IE,LO,FT,GC],LM),sA=T_([IE,FT,EO,iA,tA,oA,lA,GC],(e,t,n,r,i,o,l,s)=>{if(t){var{type:a}=t,c=J_(e,s);if(r){var d="scaleBand"===n&&r.bandwidth?r.bandwidth()/2:2,u="category"===a&&r.bandwidth?r.bandwidth()/d:0;return u="angleAxis"===s&&null!=i&&(null===i||void 0===i?void 0:i.length)>=2?2*Ub(i[0]-i[1])*u:u,c&&l?l.map((e,t)=>{var n=r.map(e);return uw(n)?{coordinate:n+u,value:e,index:t,offset:u}:null}).filter(tw):r.domain().map((e,t)=>{var n=r.map(e);return uw(n)?{coordinate:n+u,value:o?o[e]:e,index:t,offset:u}:null}).filter(tw)}}}),aA=T_([lO,sO,e=>e.tooltip.settings],(e,t,n)=>aO(n.shared,e,t)),cA=e=>e.tooltip.settings.trigger,dA=e=>e.tooltip.settings.defaultIndex,uA=T_([bO,aA,cA,dA],fO),hA=T_([uA,IO,$T,QO],mO),pA=T_([sA,hA],dO),fA=T_([uA],e=>{if(e)return e.dataKey}),gA=T_([uA],e=>{if(e)return e.graphicalItemId}),mA=T_([bO,aA,cA,dA],vO),yA=T_([cE,dE,IE,bE,sA,dA,mA],yO),vA=T_([uA,yA],(e,t)=>null!==e&&void 0!==e&&e.coordinate?e.coordinate:t),xA=T_([uA],e=>{var t;return null!==(t=null===e||void 0===e?void 0:e.active)&&void 0!==t&&t}),bA=T_([mA,hA,$E,$T,pA,xO,aA],_O);T_([bA],e=>{if(null!=e){var t=e.map(e=>e.payload).filter(e=>null!=e);return Array.from(new Set(t))}});function wA(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function SA(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?wA(Object(n),!0).forEach(function(t){jA(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):wA(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function jA(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var kA=(e,t,n,r,i)=>{var o,l=null!==(o=null===t||void 0===t?void 0:t.length)&&void 0!==o?o:0;if(l<=1||null==e)return 0;if("angleAxis"===r&&null!=i&&Math.abs(Math.abs(i[1]-i[0])-360)<=1e-6)for(var s=0;s<l;s++){var a,c,d,u,h,p=s>0?null===(a=n[s-1])||void 0===a?void 0:a.coordinate:null===(c=n[l-1])||void 0===c?void 0:c.coordinate,f=null===(d=n[s])||void 0===d?void 0:d.coordinate,g=s>=l-1?null===(u=n[0])||void 0===u?void 0:u.coordinate:null===(h=n[s+1])||void 0===h?void 0:h.coordinate,m=void 0;if(null!=p&&null!=f&&null!=g)if(Ub(f-p)!==Ub(g-f)){var y=[];if(Ub(g-f)===Ub(i[1]-i[0])){m=g;var v=f+i[1]-i[0];y[0]=Math.min(v,(v+p)/2),y[1]=Math.max(v,(v+p)/2)}else{m=p;var x=g+i[1]-i[0];y[0]=Math.min(f,(x+f)/2),y[1]=Math.max(f,(x+f)/2)}var b,w=[Math.min(f,(m+f)/2),Math.max(f,(m+f)/2)];if(e>w[0]&&e<=w[1]||e>=y[0]&&e<=y[1])return null===(b=n[s])||void 0===b?void 0:b.index}else{var S,j=Math.min(p,g),k=Math.max(p,g);if(e>(j+f)/2&&e<=(k+f)/2)return null===(S=n[s])||void 0===S?void 0:S.index}}else if(t)for(var _=0;_<l;_++){var E=t[_];if(null!=E){var C=t[_+1],T=t[_-1];if(0===_&&null!=C&&e<=(E.coordinate+C.coordinate)/2)return E.index;if(_===l-1&&null!=T&&e>(E.coordinate+T.coordinate)/2)return E.index;if(_>0&&_<l-1&&null!=T&&null!=C&&e>(E.coordinate+T.coordinate)/2&&e<=(E.coordinate+C.coordinate)/2)return E.index}}return-1},_A=(e,t)=>t,EA=(e,t,n)=>n,CA=(e,t,n,r)=>r,TA=T_(sA,e=>F_()(e,e=>e.coordinate)),MA=T_([bO,_A,EA,CA],fO),OA=T_([MA,IO,$T,QO],mO),AA=T_([bO,_A,EA,CA],vO),PA=T_([cE,dE,IE,bE,sA,CA,AA],yO),IA=T_([MA,PA],(e,t)=>{var n;return null!==(n=e.coordinate)&&void 0!==n?n:t}),DA=T_([sA,OA],dO),LA=T_([AA,OA,$E,$T,DA,xO,_A],_O),RA=T_([MA,OA],(e,t)=>({isActive:e.active&&null!=t,activeIndex:t})),zA=(e,t,n,r,i,o,l)=>{if(e&&r&&i&&o&&n){var s=SC(e,n);if(s){var a=((e,t)=>"centric"===t?e.angle:e.radius)(s,t),c=kA(a,l,o,r,i),d=((e,t,n,r)=>{var i=t.find(e=>e&&e.index===n);if(i){if("centric"===e){var o=i.coordinate,{radius:l}=r;return SA(SA(SA({},r),vC(r.cx,r.cy,l,o)),{},{angle:o,radius:l})}var s=i.coordinate,{angle:a}=r;return SA(SA(SA({},r),vC(r.cx,r.cy,s,a)),{},{angle:a,radius:s})}return{angle:0,clockWise:!1,cx:0,cy:0,endAngle:0,innerRadius:0,outerRadius:0,radius:0,startAngle:0,x:0,y:0}})(t,o,c,s);return{activeIndex:String(c),activeCoordinate:d}}}},NA=T_([(e,t)=>t,IE,FC,GC,nA,sA,TA,bE],(e,t,n,r,i,o,l,s)=>{if(e&&t&&r&&i&&o)return"horizontal"===t||"vertical"===t?((e,t,n,r,i,o,l)=>{if(e&&n&&r&&i&&function(e,t){var{relativeX:n,relativeY:r}=e;return n>=t.left&&n<=t.left+t.width&&r>=t.top&&r<=t.top+t.height}(e,l)){var s=((e,t)=>"horizontal"===t?e.relativeX:"vertical"===t?e.relativeY:void 0)(e,t),a=kA(s,o,i,n,r),c=((e,t,n,r)=>{var i=t.find(e=>e&&e.index===n);if(i){if("horizontal"===e)return{x:i.coordinate,y:r.relativeY};if("vertical"===e)return{x:r.relativeX,y:i.coordinate}}return{x:0,y:0}})(t,i,a,e);return{activeIndex:String(a),activeCoordinate:c}}})(e,t,r,i,o,l,s):zA(e,t,n,r,i,o,l)});function FA(e){var t,n,r=e.currentTarget.getBoundingClientRect();if(function(e){return"getBBox"in e.currentTarget&&"function"===typeof e.currentTarget.getBBox}(e)){var i=e.currentTarget.getBBox();t=i.width>0?r.width/i.width:1,n=i.height>0?r.height/i.height:1}else{var o=e.currentTarget;t=o.offsetWidth>0?r.width/o.offsetWidth:1,n=o.offsetHeight>0?r.height/o.offsetHeight:1}var l=(e,i)=>({relativeX:Math.round((e-r.left)/t),relativeY:Math.round((i-r.top)/n)});return"touches"in e?Array.from(e.touches).map(e=>l(e.clientX,e.clientY)):l(e.clientX,e.clientY)}var $A=KS("mouseClick"),WA=Wj();WA.startListening({actionCreator:$A,effect:(e,t)=>{var n=e.payload,r=NA(t.getState(),FA(n));null!=(null===r||void 0===r?void 0:r.activeIndex)&&t.dispatch(l_({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}});var BA=KS("mouseMove"),UA=Wj(),HA=null,VA=null,YA=null;function GA(e,t){return t instanceof HTMLElement?"HTMLElement <".concat(t.tagName,' class="').concat(t.className,'">'):t===window?"global.window":"children"===e&&"object"===typeof t&&null!==t?"<<CHILDREN>>":t}function KA(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function qA(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?KA(Object(n),!0).forEach(function(t){XA(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):KA(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function XA(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}UA.startListening({actionCreator:BA,effect:(e,t)=>{var n=e.payload,r=t.getState(),{throttleDelay:i,throttledEvents:o}=r.eventSettings,l="all"===o||(null===o||void 0===o?void 0:o.includes("mousemove"));null!==HA&&(cancelAnimationFrame(HA),HA=null),null===VA||"number"===typeof i&&l||(clearTimeout(VA),VA=null),YA=FA(n);var s=()=>{var e=t.getState(),n=cO(e,e.tooltip.settings.shared);if(!YA)return HA=null,void(VA=null);if("axis"===n){var r=NA(e,YA);null!=(null===r||void 0===r?void 0:r.activeIndex)?t.dispatch(o_({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate})):t.dispatch(r_())}HA=null,VA=null};l?"raf"===i?HA=requestAnimationFrame(s):"number"===typeof i&&null===VA&&(VA=setTimeout(s,i)):s()}});var JA=cj({name:"cartesianAxis",initialState:{xAxis:{},yAxis:{},zAxis:{}},reducers:{addXAxis:{reducer(e,t){e.xAxis[t.payload.id]=t.payload},prepare:ZS()},replaceXAxis:{reducer(e,t){var{prev:n,next:r}=t.payload;void 0!==e.xAxis[n.id]&&(n.id!==r.id&&delete e.xAxis[n.id],e.xAxis[r.id]=r)},prepare:ZS()},removeXAxis:{reducer(e,t){delete e.xAxis[t.payload.id]},prepare:ZS()},addYAxis:{reducer(e,t){e.yAxis[t.payload.id]=t.payload},prepare:ZS()},replaceYAxis:{reducer(e,t){var{prev:n,next:r}=t.payload;void 0!==e.yAxis[n.id]&&(n.id!==r.id&&delete e.yAxis[n.id],e.yAxis[r.id]=r)},prepare:ZS()},removeYAxis:{reducer(e,t){delete e.yAxis[t.payload.id]},prepare:ZS()},addZAxis:{reducer(e,t){e.zAxis[t.payload.id]=t.payload},prepare:ZS()},replaceZAxis:{reducer(e,t){var{prev:n,next:r}=t.payload;void 0!==e.zAxis[n.id]&&(n.id!==r.id&&delete e.zAxis[n.id],e.zAxis[r.id]=r)},prepare:ZS()},removeZAxis:{reducer(e,t){delete e.zAxis[t.payload.id]},prepare:ZS()},updateYAxisWidth(e,t){var{id:n,width:r}=t.payload,i=e.yAxis[n];if(i){var o,l=i.widthHistory||[];if(3===l.length&&l[0]===l[2]&&r===l[1]&&r!==i.width&&Math.abs(r-(null!==(o=l[0])&&void 0!==o?o:0))<=1)return;var s=[...l,r].slice(-3);e.yAxis[n]=qA(qA({},i),{},{width:r,widthHistory:s})}}}}),{addXAxis:QA,replaceXAxis:ZA,removeXAxis:eP,addYAxis:tP,replaceYAxis:nP,removeYAxis:rP,addZAxis:iP,replaceZAxis:oP,removeZAxis:lP,updateYAxisWidth:sP}=JA.actions,aP=JA.reducer,cP=cj({name:"graphicalItems",initialState:{cartesianItems:[],polarItems:[]},reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(t.payload)},prepare:ZS()},replaceCartesianGraphicalItem:{reducer(e,t){var{prev:n,next:r}=t.payload,i=AS(e).cartesianItems.indexOf(n);i>-1&&(e.cartesianItems[i]=r)},prepare:ZS()},removeCartesianGraphicalItem:{reducer(e,t){var n=AS(e).cartesianItems.indexOf(t.payload);n>-1&&e.cartesianItems.splice(n,1)},prepare:ZS()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(t.payload)},prepare:ZS()},removePolarGraphicalItem:{reducer(e,t){var n=AS(e).polarItems.indexOf(t.payload);n>-1&&e.polarItems.splice(n,1)},prepare:ZS()},replacePolarGraphicalItem:{reducer(e,t){var{prev:n,next:r}=t.payload,i=AS(e).polarItems.indexOf(n);i>-1&&(e.polarItems[i]=r)},prepare:ZS()}}}),{addCartesianGraphicalItem:dP,replaceCartesianGraphicalItem:uP,removeCartesianGraphicalItem:hP,addPolarGraphicalItem:pP,removePolarGraphicalItem:fP,replacePolarGraphicalItem:gP}=cP.actions,mP=cP.reducer,yP=cj({name:"referenceElements",initialState:{dots:[],areas:[],lines:[]},reducers:{addDot:(e,t)=>{e.dots.push(t.payload)},removeDot:(e,t)=>{var n=AS(e).dots.findIndex(e=>e===t.payload);-1!==n&&e.dots.splice(n,1)},addArea:(e,t)=>{e.areas.push(t.payload)},removeArea:(e,t)=>{var n=AS(e).areas.findIndex(e=>e===t.payload);-1!==n&&e.areas.splice(n,1)},addLine:(e,t)=>{e.lines.push(t.payload)},removeLine:(e,t)=>{var n=AS(e).lines.findIndex(e=>e===t.payload);-1!==n&&e.lines.splice(n,1)}}}),{addDot:vP,removeDot:xP,addArea:bP,removeArea:wP,addLine:SP,removeLine:jP}=yP.actions,kP=yP.reducer,_P={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},EP=cj({name:"brush",initialState:_P,reducers:{setBrushSettings:(e,t)=>null==t.payload?_P:t.payload}}),{setBrushSettings:CP}=EP.actions,TP=EP.reducer,MP=cj({name:"legend",initialState:{settings:{layout:"horizontal",align:"center",verticalAlign:"middle",itemSorter:"value"},size:{width:0,height:0},payload:[]},reducers:{setLegendSize(e,t){e.size.width=t.payload.width,e.size.height=t.payload.height},setLegendSettings(e,t){e.settings.align=t.payload.align,e.settings.layout=t.payload.layout,e.settings.verticalAlign=t.payload.verticalAlign,e.settings.itemSorter=t.payload.itemSorter},addLegendPayload:{reducer(e,t){e.payload.push(t.payload)},prepare:ZS()},replaceLegendPayload:{reducer(e,t){var{prev:n,next:r}=t.payload,i=AS(e).payload.indexOf(n);i>-1&&(e.payload[i]=r)},prepare:ZS()},removeLegendPayload:{reducer(e,t){var n=AS(e).payload.indexOf(t.payload);n>-1&&e.payload.splice(n,1)},prepare:ZS()}}}),{setLegendSize:OP,setLegendSettings:AP,addLegendPayload:PP,replaceLegendPayload:IP,removeLegendPayload:DP}=MP.actions,LP=MP.reducer,RP={accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:"none",syncId:void 0,syncMethod:"index",baseValue:void 0,reverseStackOrder:!1},zP=cj({name:"rootProps",initialState:RP,reducers:{updateOptions:(e,t)=>{var n;e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=null!==(n=t.payload.barGap)&&void 0!==n?n:RP.barGap,e.barSize=t.payload.barSize,e.maxBarSize=t.payload.maxBarSize,e.stackOffset=t.payload.stackOffset,e.syncId=t.payload.syncId,e.syncMethod=t.payload.syncMethod,e.className=t.payload.className,e.baseValue=t.payload.baseValue,e.reverseStackOrder=t.payload.reverseStackOrder}}}),NP=zP.reducer,{updateOptions:FP}=zP.actions,$P=cj({name:"polarAxis",initialState:{radiusAxis:{},angleAxis:{}},reducers:{addRadiusAxis(e,t){e.radiusAxis[t.payload.id]=t.payload},removeRadiusAxis(e,t){delete e.radiusAxis[t.payload.id]},addAngleAxis(e,t){e.angleAxis[t.payload.id]=t.payload},removeAngleAxis(e,t){delete e.angleAxis[t.payload.id]}}}),{addRadiusAxis:WP,removeRadiusAxis:BP,addAngleAxis:UP,removeAngleAxis:HP}=$P.actions,VP=$P.reducer,YP=cj({name:"polarOptions",initialState:null,reducers:{updatePolarOptions:(e,t)=>null===e?t.payload:(e.startAngle=t.payload.startAngle,e.endAngle=t.payload.endAngle,e.cx=t.payload.cx,e.cy=t.payload.cy,e.innerRadius=t.payload.innerRadius,e.outerRadius=t.payload.outerRadius,e)}}),{updatePolarOptions:GP}=YP.actions,KP=YP.reducer,qP=KS("keyDown"),XP=KS("focus"),JP=KS("blur"),QP=Wj(),ZP=null,eI=null,tI=null;function nI(e){e.persist();var{currentTarget:t}=e;return new Proxy(e,{get:(e,n)=>{if("currentTarget"===n)return t;var r=Reflect.get(e,n);return"function"===typeof r?r.bind(e):r}})}QP.startListening({actionCreator:qP,effect:(e,t)=>{tI=e.payload,null!==ZP&&(cancelAnimationFrame(ZP),ZP=null);var n=t.getState(),{throttleDelay:r,throttledEvents:i}=n.eventSettings,o="all"===i||i.includes("keydown");null===eI||"number"===typeof r&&o||(clearTimeout(eI),eI=null);var l=()=>{try{var e=t.getState();if(!(!1!==e.rootProps.accessibilityLayer))return;var{keyboardInteraction:n}=e.tooltip,r=tI;if("ArrowRight"!==r&&"ArrowLeft"!==r&&"Enter"!==r)return;var i=mO(n,IO(e),$T(e),QO(e)),o=null==i?-1:Number(i),l=!Number.isFinite(o)||o<0,s=sA(e),a=IO(e),c=cO(e,e.tooltip.settings.shared);if("Enter"===r){if(l)return;var d=PA(e,c,"hover",String(n.index));return void t.dispatch(a_({active:!n.active,activeIndex:n.index,activeCoordinate:d}))}var u,h="left-to-right"===oO(e)?1:-1,p="ArrowRight"===r?1:-1;if(l){var f=$T(e),g=QO(e),m=e=>({active:!1,index:String(e),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(u=-1,p*h>0){for(var y=0;y<a.length;y++)if(null!=mO(m(y),a,f,g)){u=y;break}}else for(var v=a.length-1;v>=0;v--)if(null!=mO(m(v),a,f,g)){u=v;break}if(u<0)return}else{u=o+p*h;var x=(null===s||void 0===s?void 0:s.length)||a.length;if(0===x||u>=x||u<0)return}var b=PA(e,c,"hover",String(u));t.dispatch(a_({active:!0,activeIndex:u.toString(),activeCoordinate:b}))}finally{ZP=null,eI=null}};o?"raf"===r?ZP=requestAnimationFrame(l):"number"===typeof r&&null===eI&&(l(),tI=null,eI=setTimeout(()=>{tI?l():(eI=null,ZP=null)},r)):l()}}),QP.startListening({actionCreator:XP,effect:(e,t)=>{var n=t.getState();if(!1!==n.rootProps.accessibilityLayer){var{keyboardInteraction:r}=n.tooltip;if(!r.active&&null==r.index){var i=cO(n,n.tooltip.settings.shared),o=PA(n,i,"hover",String("0"));t.dispatch(a_({active:!0,activeIndex:"0",activeCoordinate:o}))}}}}),QP.startListening({actionCreator:JP,effect:(e,t)=>{var n=t.getState();if(!1!==n.rootProps.accessibilityLayer){var{keyboardInteraction:r}=n.tooltip;r.active&&t.dispatch(a_({active:!1,activeIndex:r.index,activeCoordinate:r.coordinate}))}}});var rI=KS("externalEvent"),iI=Wj(),oI=new Map,lI=new Map,sI=new Map;iI.startListening({actionCreator:rI,effect:(e,t)=>{var{handler:n,reactEvent:r}=e.payload;if(null!=n){var i=r.type,o=nI(r);sI.set(i,{handler:n,reactEvent:o});var l=oI.get(i);void 0!==l&&(cancelAnimationFrame(l),oI.delete(i));var s=t.getState(),{throttleDelay:a,throttledEvents:c}=s.eventSettings,d="all"===c||(null===c||void 0===c?void 0:c.includes(i)),u=lI.get(i);void 0===u||"number"===typeof a&&d||(clearTimeout(u),lI.delete(i));var h=()=>{var e=sI.get(i);try{if(!e)return;var{handler:n,reactEvent:r}=e,o=t.getState(),l={activeCoordinate:vA(o),activeDataKey:fA(o),activeIndex:hA(o),activeLabel:pA(o),activeTooltipIndex:hA(o),isTooltipActive:xA(o)};n&&n(l,r)}finally{oI.delete(i),lI.delete(i),sI.delete(i)}};if(d)if("raf"===a){var p=requestAnimationFrame(h);oI.set(i,p)}else if("number"===typeof a){if(!lI.has(i)){h();var f=setTimeout(h,a);lI.set(i,f)}}else h();else h()}}});var aI=T_([bO],e=>e.tooltipItemPayloads),cI=T_([aI,(e,t)=>t,(e,t,n)=>n],(e,t,n)=>{if(null!=t){var r=e.find(e=>e.settings.graphicalItemId===n);if(null!=r){var{getPosition:i}=r;if(null!=i)return i(t)}}}),dI=KS("touchMove"),uI=Wj(),hI=null,pI=null,fI=null,gI=null;uI.startListening({actionCreator:dI,effect:(e,t)=>{var n=e.payload;if(null!=n.touches&&0!==n.touches.length){gI=nI(n);var r=t.getState(),{throttleDelay:i,throttledEvents:o}=r.eventSettings,l="all"===o||o.includes("touchmove");null!==hI&&(cancelAnimationFrame(hI),hI=null),null===pI||"number"===typeof i&&l||(clearTimeout(pI),pI=null),fI=Array.from(n.touches).map(e=>FA({clientX:e.clientX,clientY:e.clientY,currentTarget:n.currentTarget}));var s=()=>{if(null!=gI){var e=t.getState(),n=cO(e,e.tooltip.settings.shared);if("axis"===n){var r,i=null===(r=fI)||void 0===r?void 0:r[0];if(null==i)return hI=null,void(pI=null);var o=NA(e,i);null!=(null===o||void 0===o?void 0:o.activeIndex)&&t.dispatch(o_({activeIndex:o.activeIndex,activeDataKey:void 0,activeCoordinate:o.activeCoordinate}))}else if("item"===n){var l,s=gI.touches[0];if(null==document.elementFromPoint||null==s)return;var a=document.elementFromPoint(s.clientX,s.clientY);if(!a||!a.getAttribute)return;var c=a.getAttribute(gE),d=null!==(l=a.getAttribute(mE))&&void 0!==l?l:void 0,u=MO(e).find(e=>e.id===d);if(null==c||null==u||null==d)return;var{dataKey:h}=u,p=cI(e,c,d);t.dispatch(t_({activeDataKey:h,activeIndex:c,activeCoordinate:p,activeGraphicalItemId:d}))}hI=null,pI=null}};l?"raf"===i?hI=requestAnimationFrame(s):"number"===typeof i&&null===pI&&(s(),gI=null,pI=setTimeout(()=>{gI?s():(pI=null,hI=null)},i)):s()}}});var mI=cj({name:"errorBars",initialState:{},reducers:{addErrorBar:(e,t)=>{var{itemId:n,errorBar:r}=t.payload;e[n]||(e[n]=[]),e[n].push(r)},replaceErrorBar:(e,t)=>{var{itemId:n,prev:r,next:i}=t.payload;e[n]&&(e[n]=e[n].map(e=>e.dataKey===r.dataKey&&e.direction===r.direction?i:e))},removeErrorBar:(e,t)=>{var{itemId:n,errorBar:r}=t.payload;e[n]&&(e[n]=e[n].filter(e=>e.dataKey!==r.dataKey||e.direction!==r.direction))}}}),{addErrorBar:yI,replaceErrorBar:vI,removeErrorBar:xI}=mI.actions,bI=mI.reducer,wI=!0,SI=!("undefined"!==typeof window&&window.document&&Boolean(window.document.createElement)&&window.setTimeout);function jI(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function kI(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?jI(Object(n),!0).forEach(function(t){_I(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jI(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _I(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var EI={zIndexMap:Object.values(jC).reduce((e,t)=>kI(kI({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),{})},CI=new Set(Object.values(jC));var TI=cj({name:"zIndex",initialState:EI,reducers:{registerZIndexPortal:{reducer:(e,t)=>{var{zIndex:n}=t.payload;e.zIndexMap[n]?e.zIndexMap[n].consumers+=1:e.zIndexMap[n]={consumers:1,element:void 0,panoramaElement:void 0}},prepare:ZS()},unregisterZIndexPortal:{reducer:(e,t)=>{var{zIndex:n}=t.payload;e.zIndexMap[n]&&(e.zIndexMap[n].consumers-=1,e.zIndexMap[n].consumers<=0&&!function(e){return CI.has(e)}(n)&&delete e.zIndexMap[n])},prepare:ZS()},registerZIndexPortalElement:{reducer:(e,t)=>{var{zIndex:n,element:r,isPanorama:i}=t.payload;e.zIndexMap[n]?i?e.zIndexMap[n].panoramaElement=r:e.zIndexMap[n].element=r:e.zIndexMap[n]={consumers:0,element:i?void 0:r,panoramaElement:i?r:void 0}},prepare:ZS()},unregisterZIndexPortalElement:{reducer:(e,t)=>{var{zIndex:n}=t.payload;e.zIndexMap[n]&&(t.payload.isPanorama?e.zIndexMap[n].panoramaElement=void 0:e.zIndexMap[n].element=void 0)},prepare:ZS()}}}),{registerZIndexPortal:MI,unregisterZIndexPortal:OI,registerZIndexPortalElement:AI,unregisterZIndexPortalElement:PI}=TI.actions,II=TI.reducer,DI={throttleDelay:"raf",throttledEvents:["mousemove","touchmove","pointermove","scroll","wheel"]},LI=cj({name:"eventSettings",initialState:DI,reducers:{setEventSettings:(e,t)=>{null!=t.payload.throttleDelay&&(e.throttleDelay=t.payload.throttleDelay),null!=t.payload.throttledEvents&&(e.throttledEvents=t.payload.throttledEvents)}}}),{setEventSettings:RI}=LI.actions,zI=LI.reducer,NI=cj({name:"renderedTicks",initialState:{xAxis:{},yAxis:{}},reducers:{setRenderedTicks:(e,t)=>{var{axisType:n,axisId:r,ticks:i}=t.payload;e[n][r]=i},removeRenderedTicks:(e,t)=>{var{axisType:n,axisId:r}=t.payload;delete e[n][r]}}}),{setRenderedTicks:FI,removeRenderedTicks:$I}=NI.actions,WI=WS({brush:TP,cartesianAxis:aP,chartData:f_,errorBars:bI,eventSettings:zI,graphicalItems:mP,layout:b_,legend:LP,options:Vj,polarAxis:VP,polarOptions:KP,referenceElements:kP,renderedTicks:NI.reducer,rootProps:NP,tooltip:c_,zIndex:II});function BI(e){var{preloadedState:n,children:r,reduxStoreName:i}=e,o=kE(),l=(0,t.useRef)(null);if(o)return r;null==l.current&&(l.current=function(e){return nj({reducer:WI,preloadedState:e,middleware:e=>e({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes("es6")}).concat([WA.middleware,UA.middleware,QP.middleware,iI.middleware,uI.middleware]),enhancers:e=>{var t=e;return"function"===typeof e&&(t=e()),t.concat(tj({type:"raf"}))},devTools:wI&&{serialize:{replacer:GA},name:"recharts-".concat(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Chart")}})}(n,i));var s=A_;return t.createElement(ok,{context:s,store:l.current},r)}var UI=e=>{var{chartData:n}=e,r=I_(),i=kE();return(0,t.useEffect)(()=>i?()=>{}:(r(u_(n)),()=>{r(u_(void 0))}),[n,r,i]),null},HI=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle","radius","throttledEvents"]);function VI(e,t){return null==e&&null==t||("number"===typeof e&&"number"===typeof t?e===t||e!==e&&t!==t:e===t)}function YI(e,t){var n=new Set([...Object.keys(e),...Object.keys(t)]);for(var r of n)if(HI.has(r)){if(null==e[r]&&null==t[r])continue;if(!ek(e[r],t[r]))return!1}else if(!VI(e[r],t[r]))return!1;return!0}function GI(e){var{layout:n,margin:r}=e,i=I_(),o=kE();return(0,t.useEffect)(()=>{o||(i(y_(n)),i(m_(r)))},[i,o,n,r]),null}var KI=(0,t.memo)(GI,YI);function qI(e){var n=I_();return(0,t.useEffect)(()=>{n(FP(e))},[n,e]),null}var XI=e=>{var n=I_();return(0,t.useEffect)(()=>{n(RI(e))},[n,e]),null},JI=(0,t.memo)(XI,YI),QI=()=>{var e;return null===(e=z_(e=>e.rootProps.accessibilityLayer))||void 0===e||e},ZI=["dangerouslySetInnerHTML","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onCompositionEnd","onCompositionEndCapture","onCompositionStart","onCompositionStartCapture","onCompositionUpdate","onCompositionUpdateCapture","onFocus","onFocusCapture","onBlur","onBlurCapture","onChange","onChangeCapture","onBeforeInput","onBeforeInputCapture","onInput","onInputCapture","onReset","onResetCapture","onSubmit","onSubmitCapture","onInvalid","onInvalidCapture","onLoad","onLoadCapture","onError","onErrorCapture","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onAbort","onAbortCapture","onCanPlay","onCanPlayCapture","onCanPlayThrough","onCanPlayThroughCapture","onDurationChange","onDurationChangeCapture","onEmptied","onEmptiedCapture","onEncrypted","onEncryptedCapture","onEnded","onEndedCapture","onLoadedData","onLoadedDataCapture","onLoadedMetadata","onLoadedMetadataCapture","onLoadStart","onLoadStartCapture","onPause","onPauseCapture","onPlay","onPlayCapture","onPlaying","onPlayingCapture","onProgress","onProgressCapture","onRateChange","onRateChangeCapture","onSeeked","onSeekedCapture","onSeeking","onSeekingCapture","onStalled","onStalledCapture","onSuspend","onSuspendCapture","onTimeUpdate","onTimeUpdateCapture","onVolumeChange","onVolumeChangeCapture","onWaiting","onWaitingCapture","onAuxClick","onAuxClickCapture","onClick","onClickCapture","onContextMenu","onContextMenuCapture","onDoubleClick","onDoubleClickCapture","onDrag","onDragCapture","onDragEnd","onDragEndCapture","onDragEnter","onDragEnterCapture","onDragExit","onDragExitCapture","onDragLeave","onDragLeaveCapture","onDragOver","onDragOverCapture","onDragStart","onDragStartCapture","onDrop","onDropCapture","onMouseDown","onMouseDownCapture","onMouseEnter","onMouseLeave","onMouseMove","onMouseMoveCapture","onMouseOut","onMouseOutCapture","onMouseOver","onMouseOverCapture","onMouseUp","onMouseUpCapture","onSelect","onSelectCapture","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","onPointerDown","onPointerDownCapture","onPointerMove","onPointerMoveCapture","onPointerUp","onPointerUpCapture","onPointerCancel","onPointerCancelCapture","onPointerEnter","onPointerEnterCapture","onPointerLeave","onPointerLeaveCapture","onPointerOver","onPointerOverCapture","onPointerOut","onPointerOutCapture","onGotPointerCapture","onGotPointerCaptureCapture","onLostPointerCapture","onLostPointerCaptureCapture","onScroll","onScrollCapture","onWheel","onWheelCapture","onAnimationStart","onAnimationStartCapture","onAnimationEnd","onAnimationEndCapture","onAnimationIteration","onAnimationIterationCapture","onTransitionEnd","onTransitionEndCapture"];function eD(e){return"string"===typeof e&&ZI.includes(e)}var tD=new Set(["aria-activedescendant","aria-atomic","aria-autocomplete","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colspan","aria-controls","aria-current","aria-describedby","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-modal","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","className","color","height","id","lang","max","media","method","min","name","style","target","width","role","tabIndex","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeName","attributeType","autoReverse","azimuth","baseFrequency","baselineShift","baseProfile","bbox","begin","bias","by","calcMode","capHeight","clip","clipPath","clipPathUnits","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","cx","cy","d","decelerate","descent","diffuseConstant","direction","display","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","end","exponent","externalResourcesRequired","fill","fillOpacity","fillRule","filter","filterRes","filterUnits","floodColor","floodOpacity","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","format","from","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","href","ideographic","imageRendering","in2","in","intercept","k1","k2","k3","k4","k","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerHeight","markerMid","markerStart","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","mode","numOctaves","offset","opacity","operator","order","orient","orientation","origin","overflow","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","r","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","result","rotate","rx","ry","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","string","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","textRendering","to","transform","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","values","vectorEffect","version","vertAdvY","vertOriginX","vertOriginY","vHanging","vIdeographic","viewTarget","visibility","vMathematical","widths","wordSpacing","writingMode","x1","x2","x","xChannelSelector","xHeight","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlns","xmlnsXlink","xmlSpace","y1","y2","y","yChannelSelector","z","zoomAndPan","ref","key","angle"]);function nD(e){return"string"===typeof e&&tD.has(e)}function rD(e){return"string"===typeof e&&e.startsWith("data-")}function iD(e){if("object"!==typeof e||null===e)return{};var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(nD(n)||rD(n))&&(t[n]=e[n]);return t}function oD(e){return null==e?null:(0,t.isValidElement)(e)&&"object"===typeof e.props&&null!==e.props?iD(e.props):"object"!==typeof e||Array.isArray(e)?null:iD(e)}function lD(e){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(nD(n)||rD(n)||eD(n))&&(t[n]=e[n]);return t}var sD=["children","width","height","viewBox","className","style","title","desc"];function aD(){return aD=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},aD.apply(null,arguments)}var cD=(0,t.forwardRef)((e,n)=>{var{children:r,width:i,height:o,viewBox:l,className:s,style:a,title:c,desc:d}=e,u=function(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}(e,sD),h=l||{width:i,height:o,x:0,y:0},p=Rb("recharts-surface",s);return t.createElement("svg",aD({},lD(u),{className:p,width:i,height:o,style:a,viewBox:"".concat(h.x," ").concat(h.y," ").concat(h.width," ").concat(h.height),ref:n}),t.createElement("title",null,c),t.createElement("desc",null,d),r)}),dD=T_(e=>e.zIndex.zIndexMap,(e,t)=>t,(e,t,n)=>n,(e,t,n)=>{if(null!=t){var r=e[t];if(null!=r)return n?r.panoramaElement:r.element}}),uD=T_(e=>e.zIndex.zIndexMap,e=>{var t=Object.keys(e).map(e=>parseInt(e,10)).concat(Object.values(jC));return Array.from(new Set(t)).sort((e,t)=>e-t)},{memoizeOptions:{resultEqualityCheck:function(e,t){if(e.length===t.length){for(var n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}return!1}}});function hD(e){var{zIndex:n,isPanorama:r}=e,i=(0,t.useRef)(null),o=I_();return(0,t.useLayoutEffect)(()=>(i.current&&o(AI({zIndex:n,element:i.current,isPanorama:r})),()=>{o(PI({zIndex:n,isPanorama:r}))}),[o,n,r]),t.createElement("g",{tabIndex:-1,ref:i,className:"recharts-zIndex-layer_".concat(n)})}function pD(e){var{children:n,isPanorama:r}=e,i=z_(uD);if(!i||0===i.length)return n;var o=i.filter(e=>e<0),l=i.filter(e=>e>0);return t.createElement(t.Fragment,null,o.map(e=>t.createElement(hD,{key:e,zIndex:e,isPanorama:r})),n,l.map(e=>t.createElement(hD,{key:e,zIndex:e,isPanorama:r})))}var fD=["children"];function gD(){return gD=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},gD.apply(null,arguments)}var mD={width:"100%",height:"100%",display:"block"},yD=(0,t.forwardRef)((e,n)=>{var r=AE(),i=PE(),o=QI();if(!hw(r)||!hw(i))return null;var l,s,{children:a,otherAttributes:c,title:d,desc:u}=e;return null!=c&&(l="number"===typeof c.tabIndex?c.tabIndex:o?0:void 0,s="string"===typeof c.role?c.role:o?"application":void 0),t.createElement(cD,gD({},c,{title:d,desc:u,role:s,tabIndex:l,width:r,height:i,style:mD,ref:n}),a)}),vD=e=>{var{children:n}=e,r=z_(EE);if(!r)return null;var{width:i,height:o,y:l,x:s}=r;return t.createElement(cD,{width:i,height:o,x:s,y:l},n)},xD=(0,t.forwardRef)((e,n)=>{var{children:r}=e,i=function(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}(e,fD);return kE()?t.createElement(vD,null,t.createElement(pD,{isPanorama:!0},r)):t.createElement(yD,gD({ref:n},i),t.createElement(pD,{isPanorama:!1},r))});var bD=new(n(8499)),wD="recharts.syncEvent.tooltip",SD="recharts.syncEvent.brush";function jD(e){return e.tooltip.syncInteraction}var kD=["x","y"];function _D(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ED(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?_D(Object(n),!0).forEach(function(t){CD(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_D(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function CD(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function TD(){var e=z_(dC),n=z_(hC),r=I_(),i=z_(uC),o=z_(sA),l=DE(),s=TE(),a=z_(e=>e.rootProps.className);(0,t.useEffect)(()=>{if(null==e)return nw;var t=(t,a,c)=>{var d;if(n!==c&&e===t)if(!1!==a.payload.active)if("index"!==i){if(null!=o){var u;if("function"===typeof i){var h={activeTooltipIndex:null==a.payload.index?void 0:Number(a.payload.index),isTooltipActive:a.payload.active,activeIndex:null==a.payload.index?void 0:Number(a.payload.index),activeLabel:a.payload.label,activeDataKey:a.payload.dataKey,activeCoordinate:a.payload.coordinate},p=i(o,h);u=o[p]}else"value"===i&&(u=o.find(e=>String(e.value)===a.payload.label));var{coordinate:f}=a.payload;if(null!=f&&null!=s)if(null!=u){var{x:g,y:m}=f,y=Math.min(g,s.x+s.width),v=Math.min(m,s.y+s.height),x={x:"horizontal"===l?u.coordinate:y,y:"horizontal"===l?v:u.coordinate},b=s_({active:a.payload.active,coordinate:x,dataKey:a.payload.dataKey,index:String(u.index),label:a.payload.label,sourceViewBox:a.payload.sourceViewBox,graphicalItemId:a.payload.graphicalItemId});r(b)}else r(s_({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:a.payload.sourceViewBox,graphicalItemId:void 0}));else r(s_({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}))}}else if(s&&null!==a&&void 0!==a&&null!==(d=a.payload)&&void 0!==d&&d.coordinate&&a.payload.sourceViewBox){var w=a.payload.coordinate,{x:S,y:j}=w,k=function(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}(w,kD),{x:_,y:E,width:C,height:T}=a.payload.sourceViewBox,M=ED(ED({},k),{},{x:s.x+(C?(S-_)/C:0)*s.width,y:s.y+(T?(j-E)/T:0)*s.height});r(ED(ED({},a),{},{payload:ED(ED({},a.payload),{},{coordinate:M})}))}else r(a);else r(s_({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}))};return bD.on(wD,t),()=>{bD.off(wD,t)}},[a,r,n,e,i,o,l,s])}function MD(){var e=I_();(0,t.useEffect)(()=>{e(Yj())},[e]),TD(),function(){var e=z_(dC),n=z_(hC),r=I_();(0,t.useEffect)(()=>{if(null==e)return nw;var t=(t,i,o)=>{n!==o&&e===t&&r(h_(i))};return bD.on(SD,t),()=>{bD.off(SD,t)}},[r,n,e])}()}function OD(e,n,r,i,o,l){var s=z_(t=>((e,t,n)=>{if(null!=t){var r=bO(e);return"axis"===t?"hover"===n?r.axisInteraction.hover.dataKey:r.axisInteraction.click.dataKey:"hover"===n?r.itemInteraction.hover.dataKey:r.itemInteraction.click.dataKey}})(t,e,n)),a=z_(gA),c=z_(hC),d=z_(dC),u=z_(uC),h=z_(jD),p=null!=(null===h||void 0===h?void 0:h.sourceViewBox),f=TE();(0,t.useEffect)(()=>{if(!p&&null!=d&&null!=c){var e=s_({active:l,coordinate:r,dataKey:s,index:o,label:"number"===typeof i?String(i):i,sourceViewBox:f,graphicalItemId:a});bD.emit(wD,d,e,c)}},[p,r,s,a,o,i,c,d,u,l,f])}var AD=(0,t.createContext)(null),PD=(0,t.createContext)(null);function ID(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function DD(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ID(Object(n),!0).forEach(function(t){LD(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ID(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function LD(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function RD(){return RD=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},RD.apply(null,arguments)}var zD=()=>(MD(),null);function ND(e){if("number"===typeof e)return e;if("string"===typeof e){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var FD=(0,t.forwardRef)((e,n)=>{var r,i,o=(0,t.useRef)(null),[l,s]=(0,t.useState)({containerWidth:ND(null===(r=e.style)||void 0===r?void 0:r.width),containerHeight:ND(null===(i=e.style)||void 0===i?void 0:i.height)}),a=(0,t.useCallback)((e,t)=>{s(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]),c=(0,t.useCallback)(e=>{if("function"===typeof n&&n(e),null!=o.current&&(o.current.disconnect(),o.current=null),null!=e&&"undefined"!==typeof ResizeObserver){var{width:t,height:r}=e.getBoundingClientRect();a(t,r);var i=new ResizeObserver(e=>{var t=e[0];if(null!=t){var{width:n,height:r}=t.contentRect;a(n,r)}});i.observe(e),o.current=i}},[n,a]);return(0,t.useEffect)(()=>()=>{var e=o.current;null!=e&&e.disconnect()},[a]),t.createElement(t.Fragment,null,t.createElement(zE,{width:l.containerWidth,height:l.containerHeight}),t.createElement("div",RD({ref:c},e)))}),$D=(0,t.forwardRef)((e,n)=>{var{width:r,height:i}=e,[o,l]=(0,t.useState)({containerWidth:ND(r),containerHeight:ND(i)}),s=(0,t.useCallback)((e,t)=>{l(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]),a=(0,t.useCallback)(e=>{if("function"===typeof n&&n(e),null!=e){var{width:t,height:r}=e.getBoundingClientRect();s(t,r)}},[n,s]);return t.createElement(t.Fragment,null,t.createElement(zE,{width:o.containerWidth,height:o.containerHeight}),t.createElement("div",RD({ref:a},e)))}),WD=(0,t.forwardRef)((e,n)=>{var{width:r,height:i}=e;return t.createElement(t.Fragment,null,t.createElement(zE,{width:r,height:i}),t.createElement("div",RD({ref:n},e)))}),BD=(0,t.forwardRef)((e,n)=>{var{width:r,height:i}=e;return"string"===typeof r||"string"===typeof i?t.createElement($D,RD({},e,{ref:n})):"number"===typeof r&&"number"===typeof i?t.createElement(WD,RD({},e,{width:r,height:i,ref:n})):t.createElement(t.Fragment,null,t.createElement(zE,{width:r,height:i}),t.createElement("div",RD({ref:n},e)))});var UD=(0,t.forwardRef)((e,n)=>{var{children:r,className:i,height:o,onClick:l,onContextMenu:s,onDoubleClick:a,onMouseDown:c,onMouseEnter:d,onMouseLeave:u,onMouseMove:h,onMouseUp:p,onTouchEnd:f,onTouchMove:g,onTouchStart:m,style:y,width:v,responsive:x,dispatchTouchEvents:b=!0}=e,w=(0,t.useRef)(null),S=I_(),[j,k]=(0,t.useState)(null),[_,E]=(0,t.useState)(null),C=function(){var e=I_(),[n,r]=(0,t.useState)(null),i=z_(uE);return(0,t.useEffect)(()=>{if(null!=n){var t=n.getBoundingClientRect().width/n.offsetWidth;uw(t)&&t!==i&&e(x_(t))}},[n,e,i]),r}(),T=xw(),M=(null===T||void 0===T?void 0:T.width)>0?T.width:v,O=(null===T||void 0===T?void 0:T.height)>0?T.height:o,A=(0,t.useCallback)(e=>{C(e),"function"===typeof n&&n(e),k(e),E(e),null!=e&&(w.current=e)},[C,n,k,E]),P=(0,t.useCallback)(e=>{S($A(e)),S(rI({handler:l,reactEvent:e}))},[S,l]),I=(0,t.useCallback)(e=>{S(BA(e)),S(rI({handler:d,reactEvent:e}))},[S,d]),D=(0,t.useCallback)(e=>{S(r_()),S(rI({handler:u,reactEvent:e}))},[S,u]),L=(0,t.useCallback)(e=>{S(BA(e)),S(rI({handler:h,reactEvent:e}))},[S,h]),R=(0,t.useCallback)(()=>{S(XP())},[S]),z=(0,t.useCallback)(()=>{S(JP())},[S]),N=(0,t.useCallback)(e=>{S(qP(e.key))},[S]),F=(0,t.useCallback)(e=>{S(rI({handler:s,reactEvent:e}))},[S,s]),$=(0,t.useCallback)(e=>{S(rI({handler:a,reactEvent:e}))},[S,a]),W=(0,t.useCallback)(e=>{S(rI({handler:c,reactEvent:e}))},[S,c]),B=(0,t.useCallback)(e=>{S(rI({handler:p,reactEvent:e}))},[S,p]),U=(0,t.useCallback)(e=>{S(rI({handler:m,reactEvent:e}))},[S,m]),H=(0,t.useCallback)(e=>{b&&S(dI(e)),S(rI({handler:g,reactEvent:e}))},[S,b,g]),V=(0,t.useCallback)(e=>{S(rI({handler:f,reactEvent:e}))},[S,f]),Y=function(e){return e?FD:BD}(x);return t.createElement(AD.Provider,{value:j},t.createElement(PD.Provider,{value:_},t.createElement(Y,{width:null!==M&&void 0!==M?M:null===y||void 0===y?void 0:y.width,height:null!==O&&void 0!==O?O:null===y||void 0===y?void 0:y.height,className:Rb("recharts-wrapper",i),style:DD({position:"relative",cursor:"default",width:M,height:O},y),onClick:P,onContextMenu:F,onDoubleClick:$,onFocus:R,onBlur:z,onKeyDown:N,onMouseDown:W,onMouseEnter:I,onMouseLeave:D,onMouseMove:L,onMouseUp:B,onTouchEnd:V,onTouchMove:H,onTouchStart:U,ref:A},t.createElement(zD,null),r)))}),HD=T_([bE],e=>({top:e.top,bottom:e.bottom,left:e.left,right:e.right})),VD=T_([HD,cE,dE],(e,t,n)=>{if(e&&null!=t&&null!=n)return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,n-e.top-e.bottom)}}),YD=()=>z_(VD),GD=(0,t.createContext)(void 0),KD=e=>{var{children:n}=e,[r]=(0,t.useState)("".concat(qb("recharts"),"-clip")),i=YD();if(null==i)return null;var{x:o,y:l,width:s,height:a}=i;return t.createElement(GD.Provider,{value:r},t.createElement("defs",null,t.createElement("clipPath",{id:r},t.createElement("rect",{x:o,y:l,height:a,width:s}))),n)},qD=["width","height","responsive","children","className","style","compact","title","desc"];var XD=(0,t.forwardRef)((e,n)=>{var{width:r,height:i,responsive:o,children:l,className:s,style:a,compact:c,title:d,desc:u}=e,h=function(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}(e,qD),p=iD(h);return c?t.createElement(t.Fragment,null,t.createElement(zE,{width:r,height:i}),t.createElement(xD,{otherAttributes:p,title:d,desc:u},l)):t.createElement(UD,{className:s,style:a,width:r,height:i,responsive:null!==o&&void 0!==o&&o,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},t.createElement(xD,{otherAttributes:p,title:d,desc:u,ref:n},t.createElement(KD,null,l)))});function JD(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function QD(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ZD(e,t){var n=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?JD(Object(n),!0).forEach(function(t){QD(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):JD(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({},e),r=t;return Object.keys(t).reduce((e,t)=>(void 0===e[t]&&void 0!==r[t]&&(e[t]=r[t]),e),n)}function eL(){return eL=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},eL.apply(null,arguments)}function tL(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function nL(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var rL=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?tL(Object(n),!0).forEach(function(t){nL(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):tL(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,layout:"horizontal",margin:{top:5,right:5,bottom:5,left:5},responsive:!1,reverseStackOrder:!1,stackOffset:"none",syncMethod:"index"},DI),iL=(0,t.forwardRef)(function(e,n){var r,i=ZD(e.categoricalChartProps,rL),{chartName:o,defaultTooltipEventType:l,validateTooltipEventTypes:s,tooltipPayloadSearcher:a,categoricalChartProps:c}=e,d={chartName:o,defaultTooltipEventType:l,validateTooltipEventTypes:s,tooltipPayloadSearcher:a,eventEmitter:void 0};return t.createElement(BI,{preloadedState:{options:d},reduxStoreName:null!==(r=c.id)&&void 0!==r?r:o},t.createElement(UI,{chartData:c.data}),t.createElement(KI,{layout:i.layout,margin:i.margin}),t.createElement(JI,{throttleDelay:i.throttleDelay,throttledEvents:i.throttledEvents}),t.createElement(qI,{baseValue:i.baseValue,accessibilityLayer:i.accessibilityLayer,barCategoryGap:i.barCategoryGap,maxBarSize:i.maxBarSize,stackOffset:i.stackOffset,barGap:i.barGap,barSize:i.barSize,syncId:i.syncId,syncMethod:i.syncMethod,className:i.className,reverseStackOrder:i.reverseStackOrder}),t.createElement(XD,eL({},i,{ref:n})))}),oL=["axis","item"],lL=(0,t.forwardRef)((e,n)=>t.createElement(iL,{chartName:"BarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:oL,tooltipPayloadSearcher:Uj,categoricalChartProps:e,ref:n}));function sL(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function aL(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function cL(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?aL(Object(n),!0).forEach(function(t){dL(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):aL(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function dL(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var uL=cL({},{cacheSize:2e3,enableCache:!0}),hL=new class{constructor(e){sL(this,"cache",new Map),this.maxSize=e}get(e){var t=this.cache.get(e);return void 0!==t&&(this.cache.delete(e),this.cache.set(e,t)),t}set(e,t){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.maxSize){var n=this.cache.keys().next().value;null!=n&&this.cache.delete(n)}this.cache.set(e,t)}clear(){this.cache.clear()}size(){return this.cache.size}}(uL.cacheSize),pL={position:"absolute",top:"-20000px",left:0,padding:0,margin:0,border:"none",whiteSpace:"pre"},fL="recharts_measurement_span";var gL=(e,t)=>{try{var n=document.getElementById(fL);n||((n=document.createElement("span")).setAttribute("id",fL),n.setAttribute("aria-hidden","true"),document.body.appendChild(n)),Object.assign(n.style,pL,t),n.textContent="".concat(e);var r=n.getBoundingClientRect();return{width:r.width,height:r.height}}catch(i){return{width:0,height:0}}},mL=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(void 0===e||null===e||SI)return{width:0,height:0};if(!uL.enableCache)return gL(e,t);var n=function(e,t){var n=t.fontSize||"",r=t.fontFamily||"",i=t.fontWeight||"",o=t.fontStyle||"",l=t.letterSpacing||"",s=t.textTransform||"";return"".concat(e,"|").concat(n,"|").concat(r,"|").concat(i,"|").concat(o,"|").concat(l,"|").concat(s)}(e,t),r=hL.get(n);if(r)return r;var i=gL(e,t);return hL.set(n,i),i};function yL(e,t){if(t<1)return[];if(1===t)return e;for(var n=[],r=0;r<e.length;r+=t){var i=e[r];void 0!==i&&n.push(i)}return n}function vL(e,t,n){return function(e){var{width:t,height:n}=e,r=function(e){return(e%180+180)%180}(arguments.length>1&&void 0!==arguments[1]?arguments[1]:0),i=r*Math.PI/180,o=Math.atan(n/t),l=i>o&&i<Math.PI-o?n/Math.sin(i):t/Math.cos(i);return Math.abs(l)}({width:e.width+t.width,height:e.height+t.height},n)}function xL(e,t,n,r,i){if(e*t<e*r||e*t>e*i)return!1;var o=n();return e*(t-e*o/2-r)>=0&&e*(t+e*o/2-i)<=0}function bL(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function wL(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?bL(Object(n),!0).forEach(function(t){SL(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):bL(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function SL(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function jL(e,t,n){var r,{tick:i,ticks:o,viewBox:l,minTickGap:s,orientation:a,interval:c,tickFormatter:d,unit:u,angle:h}=e;if(!o||!o.length||!i)return[];if(Yb(c)||SI)return null!==(r=function(e,t){return yL(e,t+1)}(o,Yb(c)?c:0))&&void 0!==r?r:[];var p=[],f="top"===a||"bottom"===a?"width":"height",g=u&&"width"===f?mL(u,{fontSize:t,letterSpacing:n}):{width:0,height:0},m=(e,r)=>{var i="function"===typeof d?d(e.value,r):e.value;return"width"===f?vL(mL(i,{fontSize:t,letterSpacing:n}),g,h):mL(i,{fontSize:t,letterSpacing:n})[f]},y=o[0],v=o[1],x=o.length>=2&&null!=y&&null!=v?Ub(v.coordinate-y.coordinate):1,b=function(e,t,n){var r="width"===n,{x:i,y:o,width:l,height:s}=e;return 1===t?{start:r?i:o,end:r?i+l:o+s}:{start:r?i+l:o+s,end:r?i:o}}(l,x,f);return"equidistantPreserveStart"===c?function(e,t,n,r,i){for(var o,l=(r||[]).slice(),{start:s,end:a}=t,c=0,d=1,u=s,h=function(){var t=null===r||void 0===r?void 0:r[c];if(void 0===t)return{v:yL(r,d)};var o,l=c,h=()=>(void 0===o&&(o=n(t,l)),o),p=t.coordinate,f=0===c||xL(e,p,h,u,a);f||(c=0,u=s,d+=1),f&&(u=p+e*(h()/2+i),c+=d)};d<=l.length;)if(o=h())return o.v;return[]}(x,b,m,o,s):"equidistantPreserveEnd"===c?function(e,t,n,r,i){var o=(r||[]).slice().length;if(0===o)return[];for(var{start:l,end:s}=t,a=1;a<=o;a++){for(var c,d=(o-1)%a,u=l,h=!0,p=function(){var t=r[f];if(null==t)return 0;var o,l=f,a=()=>(void 0===o&&(o=n(t,l)),o),c=t.coordinate,p=f===d||xL(e,c,a,u,s);if(!p)return h=!1,1;p&&(u=c+e*(a()/2+i))},f=d;f<o&&(0===(c=p())||1!==c);f+=a);if(h){for(var g=[],m=d;m<o;m+=a){var y=r[m];null!=y&&g.push(y)}return g}}return[]}(x,b,m,o,s):(p="preserveStart"===c||"preserveStartEnd"===c?function(e,t,n,r,i,o){var l=(r||[]).slice(),s=l.length,{start:a,end:c}=t;if(o){var d=r[s-1];if(null!=d){var u=n(d,s-1),h=e*(d.coordinate+e*u/2-c);l[s-1]=d=wL(wL({},d),{},{tickCoord:h>0?d.coordinate-h*e:d.coordinate}),null!=d.tickCoord&&xL(e,d.tickCoord,()=>u,a,c)&&(c=d.tickCoord-e*(u/2+i),l[s-1]=wL(wL({},d),{},{isShow:!0}))}}for(var p=o?s-1:s,f=function(t){var r=l[t];if(null==r)return 1;var o,s=r,d=()=>(void 0===o&&(o=n(r,t)),o);if(0===t){var u=e*(s.coordinate-e*d()/2-a);l[t]=s=wL(wL({},s),{},{tickCoord:u<0?s.coordinate-u*e:s.coordinate})}else l[t]=s=wL(wL({},s),{},{tickCoord:s.coordinate});null!=s.tickCoord&&xL(e,s.tickCoord,d,a,c)&&(a=s.tickCoord+e*(d()/2+i),l[t]=wL(wL({},s),{},{isShow:!0}))},g=0;g<p;g++)f(g);return l}(x,b,m,o,s,"preserveStartEnd"===c):function(e,t,n,r,i){for(var o=(r||[]).slice(),l=o.length,{start:s}=t,{end:a}=t,c=function(t){var r=o[t];if(null==r)return 1;var c,d=r,u=()=>(void 0===c&&(c=n(r,t)),c);if(t===l-1){var h=e*(d.coordinate+e*u()/2-a);o[t]=d=wL(wL({},d),{},{tickCoord:h>0?d.coordinate-h*e:d.coordinate})}else o[t]=d=wL(wL({},d),{},{tickCoord:d.coordinate});null!=d.tickCoord&&xL(e,d.tickCoord,u,s,a)&&(a=d.tickCoord-e*(u()/2+i),o[t]=wL(wL({},d),{},{isShow:!0}))},d=l-1;d>=0;d--)c(d);return o}(x,b,m,o,s),p.filter(e=>e.isShow))}var kL=["children","className"];function _L(){return _L=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_L.apply(null,arguments)}var EL=t.forwardRef((e,n)=>{var{children:r,className:i}=e,o=function(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}(e,kL),l=Rb("recharts-layer",i);return t.createElement("g",_L({className:l},lD(o),{ref:n}),r)});var CL=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([*/])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,TL=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([+-])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,ML=/^(px|cm|vh|vw|em|rem|%|mm|in|pt|pc|ex|ch|vmin|vmax|Q)$/,OL=/(-?\d+(?:\.\d+)?)([a-zA-Z%]+)?/,AL={cm:96/2.54,mm:96/25.4,pt:96/72,pc:16,in:96,Q:96/101.6,px:1},PL=["cm","mm","pt","pc","in","Q","px"];var IL="NaN";class DL{static parse(e){var t,[,n,r]=null!==(t=OL.exec(e))&&void 0!==t?t:[];return null==n?DL.NaN:new DL(parseFloat(n),null!==r&&void 0!==r?r:"")}constructor(e,t){this.num=e,this.unit=t,this.num=e,this.unit=t,Hb(e)&&(this.unit=""),""===t||ML.test(t)||(this.num=NaN,this.unit=""),function(e){return PL.includes(e)}(t)&&(this.num=function(e,t){return e*AL[t]}(e,t),this.unit="px")}add(e){return this.unit!==e.unit?new DL(NaN,""):new DL(this.num+e.num,this.unit)}subtract(e){return this.unit!==e.unit?new DL(NaN,""):new DL(this.num-e.num,this.unit)}multiply(e){return""!==this.unit&&""!==e.unit&&this.unit!==e.unit?new DL(NaN,""):new DL(this.num*e.num,this.unit||e.unit)}divide(e){return""!==this.unit&&""!==e.unit&&this.unit!==e.unit?new DL(NaN,""):new DL(this.num/e.num,this.unit||e.unit)}toString(){return"".concat(this.num).concat(this.unit)}isNaN(){return Hb(this.num)}}function LL(e){if(null==e||e.includes(IL))return IL;for(var t=e;t.includes("*")||t.includes("/");){var n,[,r,i,o]=null!==(n=CL.exec(t))&&void 0!==n?n:[],l=DL.parse(null!==r&&void 0!==r?r:""),s=DL.parse(null!==o&&void 0!==o?o:""),a="*"===i?l.multiply(s):l.divide(s);if(a.isNaN())return IL;t=t.replace(CL,a.toString())}for(;t.includes("+")||/.-\d+(?:\.\d+)?/.test(t);){var c,[,d,u,h]=null!==(c=TL.exec(t))&&void 0!==c?c:[],p=DL.parse(null!==d&&void 0!==d?d:""),f=DL.parse(null!==h&&void 0!==h?h:""),g="+"===u?p.add(f):p.subtract(f);if(g.isNaN())return IL;t=t.replace(TL,g.toString())}return t}!function(e,t,n){(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(DL,"NaN",new DL(NaN,""));var RL=/\(([^()]*)\)/;function zL(e){var t=e.replace(/\s+/g,"");return t=function(e){for(var t,n=e;null!=(t=RL.exec(n));){var[,r]=t;n=n.replace(RL,LL(r))}return n}(t),t=LL(t)}function NL(e){var t=function(e){try{return zL(e)}catch(t){return IL}}(e.slice(5,-1));return t===IL?"":t}var FL=["x","y","lineHeight","capHeight","fill","scaleToFit","textAnchor","verticalAnchor"],$L=["dx","dy","angle","className","breakAll"];function WL(){return WL=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},WL.apply(null,arguments)}function BL(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var UL=/[ \f\n\r\t\v\u2028\u2029]+/,HL=e=>{var{children:t,breakAll:n,style:r}=e;try{var i=[];return Zb(t)||(i=n?t.toString().split(""):t.toString().split(UL)),{wordsWithComputedWidth:i.map(e=>({word:e,width:mL(e,r).width})),spaceWidth:n?0:mL("\xa0",r).width}}catch(o){return null}};function VL(e){return"start"===e||"middle"===e||"end"===e||"inherit"===e}var YL=(e,t,n,r)=>e.reduce((e,i)=>{var{word:o,width:l}=i,s=e[e.length-1];if(s&&null!=l&&(null==t||r||s.width+l+n<Number(t)))s.words.push(o),s.width+=l+n;else{var a={words:[o],width:l};e.push(a)}return e},[]),GL=e=>e.reduce((e,t)=>e.width>t.width?e:t),KL=(e,t,n,r,i,o,l,s)=>{var a=e.slice(0,t),c=HL({breakAll:n,style:r,children:a+"\u2026"});if(!c)return[!1,[]];var d=YL(c.wordsWithComputedWidth,o,l,s);return[d.length>i||GL(d).width>Number(o),d]},qL=e=>[{words:Zb(e)?[]:e.toString().split(UL),width:void 0}],XL=e=>{var{width:t,scaleToFit:n,children:r,style:i,breakAll:o,maxLines:l}=e;if((t||n)&&!SI){var s=HL({breakAll:o,children:r,style:i});if(!s)return qL(r);var{wordsWithComputedWidth:a,spaceWidth:c}=s;return((e,t,n,r,i)=>{var{maxLines:o,children:l,style:s,breakAll:a}=e,c=Yb(o),d=String(l),u=YL(t,r,n,i);if(!c||i)return u;if(!(u.length>o||GL(u).width>Number(r)))return u;for(var h,p=0,f=d.length-1,g=0;p<=f&&g<=d.length-1;){var m=Math.floor((p+f)/2),y=m-1,[v,x]=KL(d,y,a,s,o,r,n,i),[b]=KL(d,m,a,s,o,r,n,i);if(v||b||(p=m+1),v&&b&&(f=m-1),!v&&b){h=x;break}g++}return h||u})({breakAll:o,children:r,maxLines:l,style:i},a,c,t,Boolean(n))}return qL(r)},JL="#808080",QL={angle:0,breakAll:!1,capHeight:"0.71em",fill:JL,lineHeight:"1em",scaleToFit:!1,textAnchor:"start",verticalAnchor:"end",x:0,y:0},ZL=(0,t.forwardRef)((e,n)=>{var r=ZD(e,QL),{x:i,y:o,lineHeight:l,capHeight:s,fill:a,scaleToFit:c,textAnchor:d,verticalAnchor:u}=r,h=BL(r,FL),p=(0,t.useMemo)(()=>XL({breakAll:h.breakAll,children:h.children,maxLines:h.maxLines,scaleToFit:c,style:h.style,width:h.width}),[h.breakAll,h.children,h.maxLines,c,h.style,h.width]),{dx:f,dy:g,angle:m,className:y,breakAll:v}=h,x=BL(h,$L);if(!Gb(i)||!Gb(o)||0===p.length)return null;var b,w=Number(i)+(Yb(f)?f:0),S=Number(o)+(Yb(g)?g:0);if(!uw(w)||!uw(S))return null;switch(u){case"start":b=NL("calc(".concat(s,")"));break;case"middle":b=NL("calc(".concat((p.length-1)/2," * -").concat(l," + (").concat(s," / 2))"));break;default:b=NL("calc(".concat(p.length-1," * -").concat(l,")"))}var j=[],k=p[0];if(c&&null!=k){var _=k.width,{width:E}=h;j.push("scale(".concat(Yb(E)&&Yb(_)?E/_:1,")"))}return m&&j.push("rotate(".concat(m,", ").concat(w,", ").concat(S,")")),j.length&&(x.transform=j.join(" ")),t.createElement("text",WL({},lD(x),{ref:n,x:w,y:S,className:Rb("recharts-text",y),textAnchor:d,fill:a.includes("url")?JL:a}),p.map((e,n)=>{var r=e.words.join(v?"":" ");return t.createElement("tspan",{x:w,dy:0===n?b:l,key:"".concat(r,"-").concat(n)},r)}))});ZL.displayName="Text";var eR=n(7950);function tR(e){var{zIndex:n,children:r}=e,i=void 0!==DE()&&void 0!==n&&0!==n,o=kE(),l=(0,t.useRef)(void 0),s=(0,t.useRef)(new Set),a=I_(),c=z_(e=>dD(e,n,o));if((0,t.useLayoutEffect)(()=>{if(!i){var e=s.current;return e.forEach(e=>{a(OI({zIndex:e}))}),e.clear(),void(l.current=void 0)}if(s.current.has(n)||(a(MI({zIndex:n})),s.current.add(n)),c){l.current=c;var t=s.current;t.forEach(e=>{e!==n&&(a(OI({zIndex:e})),t.delete(e))})}},[a,n,i,c]),(0,t.useLayoutEffect)(()=>{var e=s.current;return()=>{e.forEach(e=>{a(OI({zIndex:e}))}),e.clear()}},[a]),!i)return r;var d=null!==c&&void 0!==c?c:l.current;return d?(0,eR.createPortal)(r,d):null}function nR(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function rR(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?nR(Object(n),!0).forEach(function(t){iR(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):nR(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function iR(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var oR=["labelRef"],lR=["content"];function sR(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function aR(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function cR(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?aR(Object(n),!0).forEach(function(t){dR(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):aR(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function dR(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function uR(){return uR=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},uR.apply(null,arguments)}var hR=(0,t.createContext)(null),pR=e=>{var{x:n,y:r,upperWidth:i,lowerWidth:o,width:l,height:s,children:a}=e,c=(0,t.useMemo)(()=>({x:n,y:r,upperWidth:i,lowerWidth:o,width:l,height:s}),[n,r,i,o,l,s]);return t.createElement(hR.Provider,{value:c},a)},fR=()=>{var e=(0,t.useContext)(hR),n=TE();return e||(n?CE(n):void 0)},gR=(0,t.createContext)(null),mR=()=>{var e=(0,t.useContext)(gR),n=z_(FC);return e||n},yR=e=>null!=e&&"function"===typeof e,vR=(e,n,r,i,o)=>{var l,s,{offset:a,className:c}=e,{cx:d,cy:u,innerRadius:h,outerRadius:p,startAngle:f,endAngle:g,clockWise:m}=o,y=(h+p)/2,v=((e,t)=>Ub(t-e)*Math.min(Math.abs(t-e),360))(f,g),x=v>=0?1:-1;switch(n){case"insideStart":l=f+x*a,s=m;break;case"insideEnd":l=g-x*a,s=!m;break;case"end":l=g+x*a,s=m;break;default:throw new Error("Unsupported position ".concat(n))}s=v<=0?s:!s;var b=vC(d,u,y,l),w=vC(d,u,y,l+359*(s?1:-1)),S="M".concat(b.x,",").concat(b.y,"\n A").concat(y,",").concat(y,",0,1,").concat(s?0:1,",\n ").concat(w.x,",").concat(w.y),j=Zb(e.id)?qb("recharts-radial-line-"):e.id;return t.createElement("text",uR({},i,{dominantBaseline:"central",className:Rb("recharts-radial-bar-label",c)}),t.createElement("defs",null,t.createElement("path",{id:j,d:S})),t.createElement("textPath",{xlinkHref:"#".concat(j)},r))},xR=e=>null!=e&&"cx"in e&&Yb(e.cx),bR={angle:0,offset:5,zIndex:jC.label,position:"middle",textBreakAll:!1};function wR(e){var n,r,i,o=ZD(e,bR),{viewBox:l,parentViewBox:s,position:a,value:c,children:d,content:u,className:h="",textBreakAll:p,labelRef:f}=o,g=mR(),m=fR(),y=function(e){if(!xR(e))return e;var{cx:t,cy:n,outerRadius:r}=e,i=2*r;return{x:t-r,y:n-r,width:i,upperWidth:i,lowerWidth:i,height:i}}(n=null==l?"center"===a?m:null!==g&&void 0!==g?g:m:xR(l)?l:CE(l));if(!n||Zb(c)&&Zb(d)&&!(0,t.isValidElement)(u)&&"function"!==typeof u)return null;var v=cR(cR({},o),{},{viewBox:n});if((0,t.isValidElement)(u)){var{labelRef:x}=v,b=sR(v,oR);return(0,t.cloneElement)(u,b)}if("function"===typeof u){var{content:w}=v,S=sR(v,lR);if(r=(0,t.createElement)(u,S),(0,t.isValidElement)(r))return r}else r=(e=>{var{value:t,formatter:n}=e,r=Zb(e.children)?t:e.children;return"function"===typeof n?n(r):r})(o);var j=lD(o);if(xR(n)){if("insideStart"===a||"insideEnd"===a||"end"===a)return vR(o,a,r,j,n);i=((e,t,n)=>{var{cx:r,cy:i,innerRadius:o,outerRadius:l,startAngle:s,endAngle:a}=e,c=(s+a)/2;if("outside"===n){var{x:d,y:u}=vC(r,i,l+t,c);return{x:d,y:u,textAnchor:d>=r?"start":"end",verticalAnchor:"middle"}}if("center"===n)return{x:r,y:i,textAnchor:"middle",verticalAnchor:"middle"};if("centerTop"===n)return{x:r,y:i,textAnchor:"middle",verticalAnchor:"start"};if("centerBottom"===n)return{x:r,y:i,textAnchor:"middle",verticalAnchor:"end"};var h=(o+l)/2,{x:p,y:f}=vC(r,i,h,c);return{x:p,y:f,textAnchor:"middle",verticalAnchor:"middle"}})(n,o.offset,o.position)}else{if(!y)return null;var k=(e=>{var{viewBox:t,position:n,offset:r=0,parentViewBox:i,clamp:o}=e,{x:l,y:s,height:a,upperWidth:c,lowerWidth:d}=CE(t),u=l,h=l+(c-d)/2,p=(u+h)/2,f=(c+d)/2,g=u+c/2,m=a>=0?1:-1,y=m*r,v=m>0?"end":"start",x=m>0?"start":"end",b=c>=0?1:-1,w=b*r,S=b>0?"end":"start",j=b>0?"start":"end",k=i;if("top"===n){var _={x:u+c/2,y:s-y,horizontalAnchor:"middle",verticalAnchor:v};return o&&k&&(_.height=Math.max(s-k.y,0),_.width=c),_}if("bottom"===n){var E={x:h+d/2,y:s+a+y,horizontalAnchor:"middle",verticalAnchor:x};return o&&k&&(E.height=Math.max(k.y+k.height-(s+a),0),E.width=d),E}if("left"===n){var C={x:p-w,y:s+a/2,horizontalAnchor:S,verticalAnchor:"middle"};return o&&k&&(C.width=Math.max(C.x-k.x,0),C.height=a),C}if("right"===n){var T={x:p+f+w,y:s+a/2,horizontalAnchor:j,verticalAnchor:"middle"};return o&&k&&(T.width=Math.max(k.x+k.width-T.x,0),T.height=a),T}var M=o&&k?{width:f,height:a}:{};return"insideLeft"===n?rR({x:p+w,y:s+a/2,horizontalAnchor:j,verticalAnchor:"middle"},M):"insideRight"===n?rR({x:p+f-w,y:s+a/2,horizontalAnchor:S,verticalAnchor:"middle"},M):"insideTop"===n?rR({x:u+c/2,y:s+y,horizontalAnchor:"middle",verticalAnchor:x},M):"insideBottom"===n?rR({x:h+d/2,y:s+a-y,horizontalAnchor:"middle",verticalAnchor:v},M):"insideTopLeft"===n?rR({x:u+w,y:s+y,horizontalAnchor:j,verticalAnchor:x},M):"insideTopRight"===n?rR({x:u+c-w,y:s+y,horizontalAnchor:S,verticalAnchor:x},M):"insideBottomLeft"===n?rR({x:h+w,y:s+a-y,horizontalAnchor:j,verticalAnchor:v},M):"insideBottomRight"===n?rR({x:h+d-w,y:s+a-y,horizontalAnchor:S,verticalAnchor:v},M):n&&"object"===typeof n&&(Yb(n.x)||Vb(n.x))&&(Yb(n.y)||Vb(n.y))?rR({x:l+Xb(n.x,f),y:s+Xb(n.y,a),horizontalAnchor:"end",verticalAnchor:"end"},M):rR({x:g,y:s+a/2,horizontalAnchor:"middle",verticalAnchor:"middle"},M)})({viewBox:y,position:a,offset:o.offset,parentViewBox:xR(s)?void 0:s,clamp:!0});i=cR(cR({x:k.x,y:k.y,textAnchor:k.horizontalAnchor,verticalAnchor:k.verticalAnchor},void 0!==k.width?{width:k.width}:{}),void 0!==k.height?{height:k.height}:{})}return t.createElement(tR,{zIndex:o.zIndex},t.createElement(ZL,uR({ref:f,className:Rb("recharts-label",h)},j,i,{textAnchor:VL(j.textAnchor)?j.textAnchor:i.textAnchor,breakAll:p}),r))}wR.displayName="Label";var SR=(e,n,r)=>{if(!e)return null;var i={viewBox:n,labelRef:r};return!0===e?t.createElement(wR,uR({key:"label-implicit"},i)):Gb(e)?t.createElement(wR,uR({key:"label-implicit",value:e},i)):(0,t.isValidElement)(e)?e.type===wR?(0,t.cloneElement)(e,cR({key:"label-implicit"},i)):t.createElement(wR,uR({key:"label-implicit",content:e},i)):yR(e)?t.createElement(wR,uR({key:"label-implicit",content:e},i)):e&&"object"===typeof e?t.createElement(wR,uR({},e,{key:"label-implicit"},i)):null};function jR(e){var{label:t,labelRef:n}=e,r=fR();return SR(t,r,n)||null}var kR=e=>"radius"in e&&"startAngle"in e&&"endAngle"in e,_R=(e,t,n)=>{if(null===e||"object"!==typeof e&&"function"!==typeof e)return null;var r=null;return Object.keys(e).forEach(i=>{var o=e[i];eD(i)&&"function"===typeof o&&(r||(r={}),r[i]=((e,t,n)=>r=>(e(t,n,r),null))(o,t,n))}),r};function ER(e){return e&&"object"===typeof e&&"className"in e&&"string"===typeof e.className?e.className:""}var CR=["axisLine","width","height","className","hide","ticks","axisType","axisId"];function TR(){return TR=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},TR.apply(null,arguments)}function MR(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function OR(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?MR(Object(n),!0).forEach(function(t){AR(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):MR(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function AR(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var PR={x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd",zIndex:jC.axis};function IR(e){var{x:n,y:r,width:i,height:o,orientation:l,mirror:s,axisLine:a,otherSvgProps:c}=e;if(!a)return null;var d=OR(OR(OR({},c),iD(a)),{},{fill:"none"});if("top"===l||"bottom"===l){var u=+("top"===l&&!s||"bottom"===l&&s);d=OR(OR({},d),{},{x1:n,y1:r+u*o,x2:n+i,y2:r+u*o})}else{var h=+("left"===l&&!s||"right"===l&&s);d=OR(OR({},d),{},{x1:n+h*i,y1:r,x2:n+h*i,y2:r+o})}return t.createElement("line",TR({},d,{className:Rb("recharts-cartesian-axis-line",$b()(a,"className"))}))}function DR(e){var n,{option:r,tickProps:i,value:o}=e,l=Rb(i.className,"recharts-cartesian-axis-tick-value");if(t.isValidElement(r))n=t.cloneElement(r,OR(OR({},i),{},{className:l}));else if("function"===typeof r)n=r(OR(OR({},i),{},{className:l}));else{var s="recharts-cartesian-axis-tick-value";"boolean"!==typeof r&&(s=Rb(s,ER(r))),n=t.createElement(ZL,TR({},i,{className:s}),o)}return n}function LR(e){var{ticks:n,axisType:r,axisId:i}=e,o=I_();return(0,t.useEffect)(()=>{if(null==i||null==r)return nw;var e=n.map(e=>({value:e.value,coordinate:e.coordinate,offset:e.offset,index:e.index}));return o(FI({ticks:e,axisId:i,axisType:r})),()=>{o($I({axisId:i,axisType:r}))}},[o,n,i,r]),null}var RR=(0,t.forwardRef)((e,n)=>{var{ticks:r=[],tick:i,tickLine:o,stroke:l,tickFormatter:s,unit:a,padding:c,tickTextProps:d,orientation:u,mirror:h,x:p,y:f,width:g,height:m,tickSize:y,tickMargin:v,fontSize:x,letterSpacing:b,getTicksConfig:w,events:S,axisType:j,axisId:k}=e,_=jL(OR(OR({},w),{},{ticks:r}),x,b),E=iD(w),C=oD(i),T=VL(E.textAnchor)?E.textAnchor:function(e,t){switch(e){case"left":return t?"start":"end";case"right":return t?"end":"start";default:return"middle"}}(u,h),M=function(e,t){switch(e){case"left":case"right":return"middle";case"top":return t?"start":"end";default:return t?"end":"start"}}(u,h),O={};"object"===typeof o&&(O=o);var A=OR(OR({},E),{},{fill:"none"},O),P=_.map(e=>OR({entry:e},function(e,t,n,r,i,o,l,s,a){var c,d,u,h,p,f,g=s?-1:1,m=e.tickSize||l,y=Yb(e.tickCoord)?e.tickCoord:e.coordinate;switch(o){case"top":c=d=e.coordinate,f=(u=(h=n+ +!s*i)-g*m)-g*a,p=y;break;case"left":u=h=e.coordinate,p=(c=(d=t+ +!s*r)-g*m)-g*a,f=y;break;case"right":u=h=e.coordinate,p=(c=(d=t+ +s*r)+g*m)+g*a,f=y;break;default:c=d=e.coordinate,f=(u=(h=n+ +s*i)+g*m)+g*a,p=y}return{line:{x1:c,y1:u,x2:d,y2:h},tick:{x:p,y:f}}}(e,p,f,g,m,u,y,h,v))),I=P.map(e=>{var{entry:n,line:r}=e;return t.createElement(EL,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(n.value,"-").concat(n.coordinate,"-").concat(n.tickCoord)},o&&t.createElement("line",TR({},A,r,{className:Rb("recharts-cartesian-axis-tick-line",$b()(o,"className"))})))}),D=P.map((e,n)=>{var r,o,{entry:u,tick:h}=e,p=OR(OR(OR(OR({verticalAnchor:M},E),{},{textAnchor:T,stroke:"none",fill:l},h),{},{index:n,payload:u,visibleTicksCount:_.length,tickFormatter:s,padding:c},d),{},{angle:null!==(r=null!==(o=null===d||void 0===d?void 0:d.angle)&&void 0!==o?o:E.angle)&&void 0!==r?r:0}),f=OR(OR({},p),C);return t.createElement(EL,TR({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(u.value,"-").concat(u.coordinate,"-").concat(u.tickCoord)},_R(S,u,n)),i&&t.createElement(DR,{option:i,tickProps:f,value:"".concat("function"===typeof s?s(u.value,n):u.value).concat(a||"")}))});return t.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(j,"-ticks")},t.createElement(LR,{ticks:_,axisId:k,axisType:j}),D.length>0&&t.createElement(tR,{zIndex:jC.label},t.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(j,"-tick-labels"),ref:n},D)),I.length>0&&t.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(j,"-tick-lines")},I))}),zR=(0,t.forwardRef)((e,n)=>{var{axisLine:r,width:i,height:o,className:l,hide:s,ticks:a,axisType:c,axisId:d}=e,u=function(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}(e,CR),[h,p]=(0,t.useState)(""),[f,g]=(0,t.useState)(""),m=(0,t.useRef)(null);(0,t.useImperativeHandle)(n,()=>({getCalculatedWidth:()=>{var t;return(e=>{var{ticks:t,label:n,labelGapWithTick:r=5,tickSize:i=0,tickMargin:o=0}=e,l=0;if(t){Array.from(t).forEach(e=>{if(e){var t=e.getBoundingClientRect();t.width>l&&(l=t.width)}});var s=n?n.getBoundingClientRect().width:0,a=l+(i+o)+s+(n?r:0);return Math.round(a)}return 0})({ticks:m.current,label:null===(t=e.labelRef)||void 0===t?void 0:t.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}}));var y=(0,t.useCallback)(e=>{if(e){var t=e.getElementsByClassName("recharts-cartesian-axis-tick-value");m.current=t;var n=t[0];if(n){var r=window.getComputedStyle(n),i=r.fontSize,o=r.letterSpacing;i===h&&o===f||(p(i),g(o))}}},[h,f]);return s||null!=i&&i<=0||null!=o&&o<=0?null:t.createElement(tR,{zIndex:e.zIndex},t.createElement(EL,{className:Rb("recharts-cartesian-axis",l)},t.createElement(IR,{x:e.x,y:e.y,width:i,height:o,orientation:e.orientation,mirror:e.mirror,axisLine:r,otherSvgProps:iD(e)}),t.createElement(RR,{ref:y,axisType:c,events:u,fontSize:h,getTicksConfig:e,height:e.height,letterSpacing:f,mirror:e.mirror,orientation:e.orientation,padding:e.padding,stroke:e.stroke,tick:e.tick,tickFormatter:e.tickFormatter,tickLine:e.tickLine,tickMargin:e.tickMargin,tickSize:e.tickSize,tickTextProps:e.tickTextProps,ticks:a,unit:e.unit,width:e.width,x:e.x,y:e.y,axisId:d}),t.createElement(pR,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},t.createElement(jR,{label:e.label,labelRef:e.labelRef}),e.children)))}),NR=t.forwardRef((e,n)=>{var r=ZD(e,PR);return t.createElement(zR,TR({},r,{ref:n}))});NR.displayName="CartesianAxis";var FR=["x1","y1","x2","y2","key"],$R=["offset"],WR=["xAxisId","yAxisId"],BR=["xAxisId","yAxisId"];function UR(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function HR(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?UR(Object(n),!0).forEach(function(t){VR(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):UR(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function VR(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function YR(){return YR=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},YR.apply(null,arguments)}function GR(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var KR=e=>{var{fill:n}=e;if(!n||"none"===n)return null;var{fillOpacity:r,x:i,y:o,width:l,height:s,ry:a}=e;return t.createElement("rect",{x:i,y:o,ry:a,width:l,height:s,stroke:"none",fill:n,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function qR(e){var n,{option:r,lineItemProps:i}=e;if(t.isValidElement(r))n=t.cloneElement(r,i);else if("function"===typeof r)n=r(i);else{var o,{x1:l,y1:s,x2:a,y2:c,key:d}=i,u=null!==(o=iD(GR(i,FR)))&&void 0!==o?o:{},{offset:h}=u,p=GR(u,$R);n=t.createElement("line",YR({},p,{x1:l,y1:s,x2:a,y2:c,fill:"none",key:d}))}return n}function XR(e){var{x:n,width:r,horizontal:i=!0,horizontalPoints:o}=e;if(!i||!o||!o.length)return null;var{xAxisId:l,yAxisId:s}=e,a=GR(e,WR),c=o.map((e,o)=>{var l=HR(HR({},a),{},{x1:n,y1:e,x2:n+r,y2:e,key:"line-".concat(o),index:o});return t.createElement(qR,{key:"line-".concat(o),option:i,lineItemProps:l})});return t.createElement("g",{className:"recharts-cartesian-grid-horizontal"},c)}function JR(e){var{y:n,height:r,vertical:i=!0,verticalPoints:o}=e;if(!i||!o||!o.length)return null;var{xAxisId:l,yAxisId:s}=e,a=GR(e,BR),c=o.map((e,o)=>{var l=HR(HR({},a),{},{x1:e,y1:n,x2:e,y2:n+r,key:"line-".concat(o),index:o});return t.createElement(qR,{option:i,lineItemProps:l,key:"line-".concat(o)})});return t.createElement("g",{className:"recharts-cartesian-grid-vertical"},c)}function QR(e){var{horizontalFill:n,fillOpacity:r,x:i,y:o,width:l,height:s,horizontalPoints:a,horizontal:c=!0}=e;if(!c||!n||!n.length||null==a)return null;var d=a.map(e=>Math.round(e+o-o)).sort((e,t)=>e-t);o!==d[0]&&d.unshift(0);var u=d.map((e,a)=>{var c=d[a+1],u=null==c?o+s-e:c-e;if(u<=0)return null;var h=a%n.length;return t.createElement("rect",{key:"react-".concat(a),y:e,x:i,height:u,width:l,stroke:"none",fill:n[h],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return t.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},u)}function ZR(e){var{vertical:n=!0,verticalFill:r,fillOpacity:i,x:o,y:l,width:s,height:a,verticalPoints:c}=e;if(!n||!r||!r.length)return null;var d=c.map(e=>Math.round(e+o-o)).sort((e,t)=>e-t);o!==d[0]&&d.unshift(0);var u=d.map((e,n)=>{var c=d[n+1],u=null==c?o+s-e:c-e;if(u<=0)return null;var h=n%r.length;return t.createElement("rect",{key:"react-".concat(n),x:e,y:l,width:u,height:a,stroke:"none",fill:r[h],fillOpacity:i,className:"recharts-cartesian-grid-bg"})});return t.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},u)}var ez=(e,t)=>{var{xAxis:n,width:r,height:i,offset:o}=e;return Q_(jL(HR(HR(HR({},PR),n),{},{ticks:Z_(n,!0),viewBox:{x:0,y:0,width:r,height:i}})),o.left,o.left+o.width,t)},tz=(e,t)=>{var{yAxis:n,width:r,height:i,offset:o}=e;return Q_(jL(HR(HR(HR({},PR),n),{},{ticks:Z_(n,!0),viewBox:{x:0,y:0,width:r,height:i}})),o.top,o.top+o.height,t)},nz={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:jC.grid};function rz(e){var n=AE(),r=PE(),i=OE(),o=HR(HR({},ZD(e,nz)),{},{x:Yb(e.x)?e.x:i.left,y:Yb(e.y)?e.y:i.top,width:Yb(e.width)?e.width:i.width,height:Yb(e.height)?e.height:i.height}),{xAxisId:l,yAxisId:s,x:a,y:c,width:d,height:u,syncWithTicks:h,horizontalValues:p,verticalValues:f}=o,g=kE(),m=z_(e=>ZM(e,"xAxis",l,g)),y=z_(e=>ZM(e,"yAxis",s,g));if(!hw(d)||!hw(u)||!Yb(a)||!Yb(c))return null;var v=o.verticalCoordinatesGenerator||ez,x=o.horizontalCoordinatesGenerator||tz,{horizontalPoints:b,verticalPoints:w}=o;if((!b||!b.length)&&"function"===typeof x){var S=p&&p.length,j=x({yAxis:y?HR(HR({},y),{},{ticks:S?p:y.ticks}):void 0,width:null!==n&&void 0!==n?n:d,height:null!==r&&void 0!==r?r:u,offset:i},!!S||h);rw(Array.isArray(j),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof j,"]")),Array.isArray(j)&&(b=j)}if((!w||!w.length)&&"function"===typeof v){var k=f&&f.length,_=v({xAxis:m?HR(HR({},m),{},{ticks:k?f:m.ticks}):void 0,width:null!==n&&void 0!==n?n:d,height:null!==r&&void 0!==r?r:u,offset:i},!!k||h);rw(Array.isArray(_),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof _,"]")),Array.isArray(_)&&(w=_)}return t.createElement(tR,{zIndex:o.zIndex},t.createElement("g",{className:"recharts-cartesian-grid"},t.createElement(KR,{fill:o.fill,fillOpacity:o.fillOpacity,x:o.x,y:o.y,width:o.width,height:o.height,ry:o.ry}),t.createElement(QR,YR({},o,{horizontalPoints:b})),t.createElement(ZR,YR({},o,{verticalPoints:w})),t.createElement(XR,YR({},o,{offset:i,horizontalPoints:b,xAxis:m,yAxis:y})),t.createElement(JR,YR({},o,{offset:i,verticalPoints:w,xAxis:m,yAxis:y}))))}rz.displayName="CartesianGrid";var iz=["domain","range"],oz=["domain","range"];function lz(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function sz(e,t){return e===t||!(!Array.isArray(e)||2!==e.length||!Array.isArray(t)||2!==t.length)&&(e[0]===t[0]&&e[1]===t[1])}function az(e,t){if(e===t)return!0;var{domain:n,range:r}=e,i=lz(e,iz),{domain:o,range:l}=t,s=lz(t,oz);return!!sz(n,o)&&(!!sz(r,l)&&YI(i,s))}var cz=["type"],dz=["dangerouslySetInnerHTML","ticks","scale"],uz=["id","scale"];function hz(){return hz=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},hz.apply(null,arguments)}function pz(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function fz(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?pz(Object(n),!0).forEach(function(t){gz(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pz(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function gz(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function mz(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function yz(e){var n=I_(),r=(0,t.useRef)(null),i=LE(),{type:o}=e,l=mz(e,cz),s=_C(i,"xAxis",o),a=(0,t.useMemo)(()=>{if(null!=s)return fz(fz({},l),{},{type:s})},[l,s]);return(0,t.useLayoutEffect)(()=>{null!=a&&(null===r.current?n(QA(a)):r.current!==a&&n(ZA({prev:r.current,next:a})),r.current=a)},[a,n]),(0,t.useLayoutEffect)(()=>()=>{r.current&&(n(eP(r.current)),r.current=null)},[n]),null}var vz=e=>{var{xAxisId:n,className:r}=e,i=z_(SE),o=kE(),l="xAxis",s=z_(e=>eO(e,l,n,o)),a=z_(e=>HM(e,n)),c=z_(e=>GM(e,n)),d=z_(e=>sT(e,n));if(null==a||null==c||null==d)return null;var{dangerouslySetInnerHTML:u,ticks:h,scale:p}=e,f=mz(e,dz),{id:g,scale:m}=d,y=mz(d,uz);return t.createElement(NR,hz({},f,y,{x:c.x,y:c.y,width:a.width,height:a.height,className:Rb("recharts-".concat(l," ").concat(l),r),viewBox:i,ticks:s,axisType:l,axisId:n}))},xz={allowDataOverflow:lT.allowDataOverflow,allowDecimals:lT.allowDecimals,allowDuplicatedCategory:lT.allowDuplicatedCategory,angle:lT.angle,axisLine:PR.axisLine,height:lT.height,hide:!1,includeHidden:lT.includeHidden,interval:lT.interval,label:!1,minTickGap:lT.minTickGap,mirror:lT.mirror,orientation:lT.orientation,padding:lT.padding,reversed:lT.reversed,scale:lT.scale,tick:lT.tick,tickCount:lT.tickCount,tickLine:PR.tickLine,tickSize:PR.tickSize,type:lT.type,niceTicks:lT.niceTicks,xAxisId:0},bz=e=>{var n=ZD(e,xz);return t.createElement(t.Fragment,null,t.createElement(yz,{allowDataOverflow:n.allowDataOverflow,allowDecimals:n.allowDecimals,allowDuplicatedCategory:n.allowDuplicatedCategory,angle:n.angle,dataKey:n.dataKey,domain:n.domain,height:n.height,hide:n.hide,id:n.xAxisId,includeHidden:n.includeHidden,interval:n.interval,minTickGap:n.minTickGap,mirror:n.mirror,name:n.name,orientation:n.orientation,padding:n.padding,reversed:n.reversed,scale:n.scale,tick:n.tick,tickCount:n.tickCount,tickFormatter:n.tickFormatter,ticks:n.ticks,type:n.type,unit:n.unit,niceTicks:n.niceTicks}),t.createElement(vz,n))},wz=t.memo(bz,az);wz.displayName="XAxis";var Sz=["type"],jz=["dangerouslySetInnerHTML","ticks","scale"],kz=["id","scale"];function _z(){return _z=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_z.apply(null,arguments)}function Ez(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Cz(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ez(Object(n),!0).forEach(function(t){Tz(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ez(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Tz(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Mz(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Oz(e){var n=I_(),r=(0,t.useRef)(null),i=LE(),{type:o}=e,l=Mz(e,Sz),s=_C(i,"yAxis",o),a=(0,t.useMemo)(()=>{if(null!=s)return Cz(Cz({},l),{},{type:s})},[s,l]);return(0,t.useLayoutEffect)(()=>{null!=a&&(null===r.current?n(tP(a)):r.current!==a&&n(nP({prev:r.current,next:a})),r.current=a)},[a,n]),(0,t.useLayoutEffect)(()=>()=>{r.current&&(n(rP(r.current)),r.current=null)},[n]),null}function Az(e){var{yAxisId:n,className:r,width:i,label:o}=e,l=(0,t.useRef)(null),s=(0,t.useRef)(null),a=z_(SE),c=kE(),d=I_(),u="yAxis",h=z_(e=>qM(e,n)),p=z_(e=>KM(e,n)),f=z_(e=>eO(e,u,n,c)),g=z_(e=>dT(e,n));if((0,t.useLayoutEffect)(()=>{if("auto"===i&&h&&!yR(o)&&!(0,t.isValidElement)(o)&&null!=g){var e=l.current;if(e){var r=e.getCalculatedWidth();Math.round(h.width)!==Math.round(r)&&d(sP({id:n,width:r}))}}},[f,h,d,o,n,i,g]),null==h||null==p||null==g)return null;var{dangerouslySetInnerHTML:m,ticks:y,scale:v}=e,x=Mz(e,jz),{id:b,scale:w}=g,S=Mz(g,kz);return t.createElement(NR,_z({},x,S,{ref:l,labelRef:s,x:p.x,y:p.y,tickTextProps:"auto"===i?{width:void 0}:{width:i},width:h.width,height:h.height,className:Rb("recharts-".concat(u," ").concat(u),r),viewBox:a,ticks:f,axisType:u,axisId:n}))}var Pz={allowDataOverflow:cT.allowDataOverflow,allowDecimals:cT.allowDecimals,allowDuplicatedCategory:cT.allowDuplicatedCategory,angle:cT.angle,axisLine:PR.axisLine,hide:!1,includeHidden:cT.includeHidden,interval:cT.interval,label:!1,minTickGap:cT.minTickGap,mirror:cT.mirror,orientation:cT.orientation,padding:cT.padding,reversed:cT.reversed,scale:cT.scale,tick:cT.tick,tickCount:cT.tickCount,tickLine:PR.tickLine,tickSize:PR.tickSize,type:cT.type,niceTicks:cT.niceTicks,width:cT.width,yAxisId:0},Iz=e=>{var n=ZD(e,Pz);return t.createElement(t.Fragment,null,t.createElement(Oz,{interval:n.interval,id:n.yAxisId,scale:n.scale,type:n.type,domain:n.domain,allowDataOverflow:n.allowDataOverflow,dataKey:n.dataKey,allowDuplicatedCategory:n.allowDuplicatedCategory,allowDecimals:n.allowDecimals,tickCount:n.tickCount,padding:n.padding,includeHidden:n.includeHidden,reversed:n.reversed,ticks:n.ticks,width:n.width,orientation:n.orientation,mirror:n.mirror,hide:n.hide,unit:n.unit,name:n.name,angle:n.angle,minTickGap:n.minTickGap,tick:n.tick,tickFormatter:n.tickFormatter,niceTicks:n.niceTicks}),t.createElement(Az,n))},Dz=t.memo(Iz,az);function Lz(){return Lz=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Lz.apply(null,arguments)}function Rz(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function zz(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Rz(Object(n),!0).forEach(function(t){Nz(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Rz(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Nz(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Fz(e){return Array.isArray(e)&&Gb(e[0])&&Gb(e[1])?e.join(" ~ "):e}Dz.displayName="YAxis";var $z={separator:" : ",contentStyle:{margin:0,padding:10,backgroundColor:"#fff",border:"1px solid #ccc",whiteSpace:"nowrap"},itemStyle:{display:"block",paddingTop:4,paddingBottom:4,color:"#000"},labelStyle:{},accessibilityLayer:!1};var Wz=e=>{var{separator:n=$z.separator,contentStyle:r,itemStyle:i,labelStyle:o=$z.labelStyle,payload:l,formatter:s,itemSorter:a,wrapperClassName:c,labelClassName:d,label:u,labelFormatter:h,accessibilityLayer:p=$z.accessibilityLayer}=e,f=zz(zz({},$z.contentStyle),r),g=zz({margin:0},o),m=!Zb(u),y=m?u:"",v=Rb("recharts-default-tooltip",c),x=Rb("recharts-tooltip-label",d);m&&h&&void 0!==l&&null!==l&&(y=h(u,l));var b=p?{role:"status","aria-live":"assertive"}:{};return t.createElement("div",Lz({className:v,style:f},b),t.createElement("p",{className:x,style:g},t.isValidElement(y)?y:"".concat(y)),(()=>{if(l&&l.length){var e=function(e,t){return null==t?e:F_()(e,t)}(l,a),r=e.map((e,r)=>{if(!e||"none"===e.type)return null;var o=e.formatter||s||Fz,{value:a,name:c}=e,d=a,u=c;if(o){var h=o(a,c,e,r,l);if(Array.isArray(h))[d,u]=h;else{if(null==h)return null;d=h}}var p=zz(zz({},$z.itemStyle),{},{color:e.color||$z.itemStyle.color},i);return t.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(r),style:p},Gb(u)?t.createElement("span",{className:"recharts-tooltip-item-name"},u):null,Gb(u)?t.createElement("span",{className:"recharts-tooltip-item-separator"},n):null,t.createElement("span",{className:"recharts-tooltip-item-value"},d),t.createElement("span",{className:"recharts-tooltip-item-unit"},e.unit||""))});return t.createElement("ul",{className:"recharts-tooltip-item-list",style:{padding:0,margin:0}},r)}return null})())},Bz="recharts-tooltip-wrapper",Uz={visibility:"hidden"};function Hz(e){var{coordinate:t,translateX:n,translateY:r}=e;return Rb(Bz,{["".concat(Bz,"-right")]:Yb(n)&&t&&Yb(t.x)&&n>=t.x,["".concat(Bz,"-left")]:Yb(n)&&t&&Yb(t.x)&&n<t.x,["".concat(Bz,"-bottom")]:Yb(r)&&t&&Yb(t.y)&&r>=t.y,["".concat(Bz,"-top")]:Yb(r)&&t&&Yb(t.y)&&r<t.y})}function Vz(e){var{allowEscapeViewBox:t,coordinate:n,key:r,offset:i,position:o,reverseDirection:l,tooltipDimension:s,viewBox:a,viewBoxDimension:c}=e;if(o&&Yb(o[r]))return o[r];var d=n[r]-s-(i>0?i:0),u=n[r]+i;if(t[r])return l[r]?d:u;var h=a[r];return null==h?0:l[r]?d<h?Math.max(u,h):Math.max(d,h):null==c?0:u+s>h+c?Math.max(d,h):Math.max(u,h)}function Yz(){var[e,n]=(0,t.useState)(()=>!SI&&(!!window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches));return(0,t.useEffect)(()=>{if(window.matchMedia){var e=window.matchMedia("(prefers-reduced-motion: reduce)"),t=()=>{n(e.matches)};return e.addEventListener("change",t),()=>{e.removeEventListener("change",t)}}},[]),e}function Gz(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Kz(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Gz(Object(n),!0).forEach(function(t){qz(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Gz(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function qz(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Xz(e){if(!e.prefersReducedMotion||"auto"!==e.isAnimationActive)return e.isAnimationActive&&e.active?"transform ".concat(e.animationDuration,"ms ").concat(e.animationEasing):void 0}function Jz(e){var n,r,i,o,l,s,a=Yz(),[c,d]=t.useState(()=>({dismissed:!1,dismissedAtCoordinate:{x:0,y:0}}));t.useEffect(()=>{var t=t=>{var n,r,i,o;"Escape"===t.key&&d({dismissed:!0,dismissedAtCoordinate:{x:null!==(n=null===(r=e.coordinate)||void 0===r?void 0:r.x)&&void 0!==n?n:0,y:null!==(i=null===(o=e.coordinate)||void 0===o?void 0:o.y)&&void 0!==i?i:0}})};return document.addEventListener("keydown",t),()=>{document.removeEventListener("keydown",t)}},[null===(n=e.coordinate)||void 0===n?void 0:n.x,null===(r=e.coordinate)||void 0===r?void 0:r.y]),!c.dismissed||(null!==(i=null===(o=e.coordinate)||void 0===o?void 0:o.x)&&void 0!==i?i:0)===c.dismissedAtCoordinate.x&&(null!==(l=null===(s=e.coordinate)||void 0===s?void 0:s.y)&&void 0!==l?l:0)===c.dismissedAtCoordinate.y||d(Kz(Kz({},c),{},{dismissed:!1}));var{cssClasses:u,cssProperties:h}=function(e){var t,n,r,{allowEscapeViewBox:i,coordinate:o,offsetTop:l,offsetLeft:s,position:a,reverseDirection:c,tooltipBox:d,useTranslate3d:u,viewBox:h}=e;return t=d.height>0&&d.width>0&&o?function(e){var{translateX:t,translateY:n,useTranslate3d:r}=e;return{transform:r?"translate3d(".concat(t,"px, ").concat(n,"px, 0)"):"translate(".concat(t,"px, ").concat(n,"px)")}}({translateX:n=Vz({allowEscapeViewBox:i,coordinate:o,key:"x",offset:s,position:a,reverseDirection:c,tooltipDimension:d.width,viewBox:h,viewBoxDimension:h.width}),translateY:r=Vz({allowEscapeViewBox:i,coordinate:o,key:"y",offset:l,position:a,reverseDirection:c,tooltipDimension:d.height,viewBox:h,viewBoxDimension:h.height}),useTranslate3d:u}):Uz,{cssProperties:t,cssClasses:Hz({translateX:n,translateY:r,coordinate:o})}}({allowEscapeViewBox:e.allowEscapeViewBox,coordinate:e.coordinate,offsetLeft:"number"===typeof e.offset?e.offset:e.offset.x,offsetTop:"number"===typeof e.offset?e.offset:e.offset.y,position:e.position,reverseDirection:e.reverseDirection,tooltipBox:{height:e.lastBoundingBox.height,width:e.lastBoundingBox.width},useTranslate3d:e.useTranslate3d,viewBox:e.viewBox}),p=e.hasPortalFromProps?{}:Kz(Kz({transition:Xz({prefersReducedMotion:a,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},h),{},{pointerEvents:"none",position:"absolute",top:0,left:0}),f=Kz(Kz({},p),{},{visibility:!c.dismissed&&e.active&&e.hasPayload?"visible":"hidden"},e.wrapperStyle);return t.createElement("div",{xmlns:"http://www.w3.org/1999/xhtml",tabIndex:-1,className:u,style:f,ref:e.innerRef},e.children)}var Qz=t.memo(Jz),Zz=n(4332),eN=n.n(Zz);function tN(e,t,n){return!0===t?eN()(e,n):"function"===typeof t?eN()(e,t):e}function nN(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],[n,r]=(0,t.useState)({height:0,left:0,top:0,width:0}),i=(0,t.useCallback)(e=>{if(null!=e){var t=e.getBoundingClientRect(),i={height:t.height,left:t.left,top:t.top,width:t.width};(Math.abs(i.height-n.height)>1||Math.abs(i.left-n.left)>1||Math.abs(i.top-n.top)>1||Math.abs(i.width-n.width)>1)&&r({height:i.height,left:i.left,top:i.top,width:i.width})}},[n.width,n.height,n.top,n.left,...e]);return[n,i]}function rN(){}function iN(e){this._context=e}function oN(e){this._context=e}iN.prototype={areaStart:rN,areaEnd:rN,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:Fc(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},oN.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:Fc(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};class lN{constructor(e,t){this._context=e,this._x=t}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}point(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,t,e,t):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+t)/2,e,this._y0,e,t)}this._x0=e,this._y0=t}}function sN(e){this._context=e}function aN(e){return e<0?-1:1}function cN(e,t,n){var r=e._x1-e._x0,i=t-e._x1,o=(e._y1-e._y0)/(r||i<0&&-0),l=(n-e._y1)/(i||r<0&&-0),s=(o*i+l*r)/(r+i);return(aN(o)+aN(l))*Math.min(Math.abs(o),Math.abs(l),.5*Math.abs(s))||0}function dN(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function uN(e,t,n){var r=e._x0,i=e._y0,o=e._x1,l=e._y1,s=(o-r)/3;e._context.bezierCurveTo(r+s,i+s*t,o-s,l-s*n,o,l)}function hN(e){this._context=e}function pN(e){this._context=new fN(e)}function fN(e){this._context=e}function gN(e){this._context=e}function mN(e){var t,n,r=e.length-1,i=new Array(r),o=new Array(r),l=new Array(r);for(i[0]=0,o[0]=2,l[0]=e[0]+2*e[1],t=1;t<r-1;++t)i[t]=1,o[t]=4,l[t]=4*e[t]+2*e[t+1];for(i[r-1]=2,o[r-1]=7,l[r-1]=8*e[r-1]+e[r],t=1;t<r;++t)n=i[t]/o[t-1],o[t]-=n,l[t]-=n*l[t-1];for(i[r-1]=l[r-1]/o[r-1],t=r-2;t>=0;--t)i[t]=(l[t]-i[t+1])/o[t];for(o[r-1]=(e[r]+i[r-1])/2,t=0;t<r-1;++t)o[t]=2*e[t+1]-i[t+1];return[i,o]}function yN(e,t){this._context=e,this._t=t}function vN(){return vN=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},vN.apply(null,arguments)}function xN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function bN(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?xN(Object(n),!0).forEach(function(t){wN(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):xN(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function wN(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}sN.prototype={areaStart:rN,areaEnd:rN,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}},hN.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:uN(this,this._t0,dN(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(t=+t,(e=+e)!==this._x1||t!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,uN(this,dN(this,n=cN(this,e,t)),n);break;default:uN(this,this._t0,n=cN(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}},(pN.prototype=Object.create(hN.prototype)).point=function(e,t){hN.prototype.point.call(this,t,e)},fN.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,i,o){this._context.bezierCurveTo(t,e,r,n,o,i)}},gN.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),2===n)this._context.lineTo(e[1],t[1]);else for(var r=mN(e),i=mN(t),o=0,l=1;l<n;++o,++l)this._context.bezierCurveTo(r[0][o],i[0][o],r[1][o],i[1][o],e[l],t[l]);(this._line||0!==this._line&&1===n)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(e,t){this._x.push(+e),this._y.push(+t)}},yN.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};var SN={curveBasisClosed:function(e){return new iN(e)},curveBasisOpen:function(e){return new oN(e)},curveBasis:Wc,curveBumpX:function(e){return new lN(e,!0)},curveBumpY:function(e){return new lN(e,!1)},curveLinearClosed:function(e){return new sN(e)},curveLinear:Cc,curveMonotoneX:function(e){return new hN(e)},curveMonotoneY:function(e){return new pN(e)},curveNatural:function(e){return new gN(e)},curveStep:function(e){return new yN(e,.5)},curveStepAfter:function(e){return new yN(e,1)},curveStepBefore:function(e){return new yN(e,0)}},jN=e=>uw(e.x)&&uw(e.y),kN=e=>null!=e.base&&jN(e.base)&&jN(e),_N=e=>e.x,EN=e=>e.y,CN={connectNulls:!1,type:"linear"},TN=e=>{var{type:t=CN.type,points:n=[],baseLine:r,layout:i,connectNulls:o=CN.connectNulls}=e,l=((e,t)=>{if("function"===typeof e)return e;var n="curve".concat(ew(e));if(("curveMonotone"===n||"curveBump"===n)&&t){var r=SN["".concat(n).concat("vertical"===t?"Y":"X")];if(r)return r}return SN[n]||Cc})(t,i),s=o?n.filter(jN):n;if(Array.isArray(r)){var a,c=n.map((e,t)=>bN(bN({},e),{},{base:r[t]}));return a="vertical"===i?Nc().y(EN).x1(_N).x0(e=>e.base.x):Nc().x(_N).y1(EN).y0(e=>e.base.y),a.defined(kN).curve(l)(o?c.filter(kN):c)}return("vertical"===i&&Yb(r)?Nc().y(EN).x1(_N).x0(r):Yb(r)?Nc().x(_N).y1(EN).y0(r):zc().x(_N).y(EN)).defined(jN).curve(l)(s)},MN=e=>{var{className:n,points:r,path:i,pathRef:o}=e,l=DE();if((!r||!r.length)&&!i)return null;var s={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||l,connectNulls:e.connectNulls},a=r&&r.length?TN(s):i;return t.createElement("path",vN({},iD(e),((e,n)=>{if(!e||"function"===typeof e||"boolean"===typeof e)return null;var r=e;if((0,t.isValidElement)(e)&&(r=e.props),"object"!==typeof r&&"function"!==typeof r)return null;var i={};return Object.keys(r).forEach(e=>{eD(e)&&"function"===typeof r[e]&&(i[e]=n||(t=>r[e](r,t)))}),i})(e),{className:Rb("recharts-curve",n),d:null===a?void 0:a,ref:o}))},ON=["x","y","top","left","width","height","className"];function AN(){return AN=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},AN.apply(null,arguments)}function PN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function IN(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var DN=(e,t,n,r,i,o)=>"M".concat(e,",").concat(i,"v").concat(r,"M").concat(o,",").concat(t,"h").concat(n),LN=e=>{var{x:n=0,y:r=0,top:i=0,left:o=0,width:l=0,height:s=0,className:a}=e,c=function(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}(e,ON),d=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?PN(Object(n),!0).forEach(function(t){IN(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):PN(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({x:n,y:r,top:i,left:o,width:l,height:s},c);return Yb(n)&&Yb(r)&&Yb(l)&&Yb(s)&&Yb(i)&&Yb(o)?t.createElement("path",AN({},lD(d),{className:Rb("recharts-cross",a),d:DN(n,r,l,s,i,o)})):null};function RN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function zN(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?RN(Object(n),!0).forEach(function(t){NN(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):RN(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function NN(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var FN=(e,t,n)=>e.map(e=>{return"".concat((r=e,r.replace(/([A-Z])/g,e=>"-".concat(e.toLowerCase())))," ").concat(t,"ms ").concat(n);var r}).join(","),$N=(e,t)=>Object.keys(t).reduce((n,r)=>zN(zN({},n),{},{[r]:e(r,t[r])}),{});function WN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function BN(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?WN(Object(n),!0).forEach(function(t){UN(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):WN(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function UN(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var HN=(e,t,n)=>e+(t-e)*n,VN=e=>{var{from:t,to:n}=e;return t!==n},YN=(e,t,n)=>{var r=$N((t,n)=>{if(VN(n)){var[r,i]=e(n.from,n.to,n.velocity);return BN(BN({},n),{},{from:r,velocity:i})}return n},t);return n<1?$N((e,t)=>VN(t)&&null!=r[e]?BN(BN({},t),{},{velocity:HN(t.velocity,r[e].velocity,n),from:HN(t.from,r[e].from,n)}):t,t):YN(e,r,n-1)};function GN(e,t,n,r,i,o){var l,s=r.reduce((n,r)=>BN(BN({},n),{},{[r]:{from:e[r],velocity:0,to:t[r]}}),{}),a=null,c=r=>{l||(l=r);var d=(r-l)/n.dt;s=YN(n,s,d),i(BN(BN(BN({},e),t),$N((e,t)=>t.from,s))),l=r,Object.values(s).filter(VN).length&&(a=o.setTimeout(c))};return()=>(a=o.setTimeout(c),()=>{var e;null===(e=a)||void 0===e||e()})}const KN=(e,t,n,r,i,o)=>{var l,s,a=(l=e,s=t,[Object.keys(l),Object.keys(s)].reduce((e,t)=>e.filter(e=>t.includes(e))));return null==n?()=>(i(BN(BN({},e),t)),()=>{}):!0===n.isStepper?GN(e,t,n,a,i,o):function(e,t,n,r,i,o,l){var s,a=null,c=i.reduce((n,r)=>{var i=e[r],o=t[r];return null==i||null==o?n:BN(BN({},n),{},{[r]:[i,o]})},{}),d=i=>{s||(s=i);var u=(i-s)/r,h=$N((e,t)=>HN(...t,n(u)),c);if(o(BN(BN(BN({},e),t),h)),u<1)a=l.setTimeout(d);else{var p=$N((e,t)=>HN(...t,n(1)),c);o(BN(BN(BN({},e),t),p))}};return()=>(a=l.setTimeout(d),()=>{var e;null===(e=a)||void 0===e||e()})}(e,t,n,r,a,i,o)};var qN=1e-4,XN=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],JN=(e,t)=>e.map((e,n)=>e*t**n).reduce((e,t)=>e+t),QN=(e,t)=>n=>{var r=XN(e,t);return JN(r,n)},ZN=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];if(1===t.length)switch(t[0]){case"linear":return[0,0,1,1];case"ease":return[.25,.1,.25,1];case"ease-in":return[.42,0,1,1];case"ease-out":return[.42,0,.58,1];case"ease-in-out":return[0,0,.58,1];default:var r=(e=>{var t,n=e.split("(");if(2!==n.length||"cubic-bezier"!==n[0])return null;var r=null===(t=n[1])||void 0===t||null===(t=t.split(")")[0])||void 0===t?void 0:t.split(",");if(null==r||4!==r.length)return null;var i=r.map(e=>parseFloat(e));return[i[0],i[1],i[2],i[3]]})(t[0]);if(r)return r}return 4===t.length?t:[0,0,1,1]},eF=(e,t,n,r)=>{var i,o,l=QN(e,n),s=QN(t,r),a=(i=e,o=n,e=>{var t=[...XN(i,o).map((e,t)=>e*t).slice(1),0];return JN(t,e)}),c=e=>e>1?1:e<0?0:e,d=e=>{for(var t=e>1?1:e,n=t,r=0;r<8;++r){var i=l(n)-t,o=a(n);if(Math.abs(i-t)<qN||o<qN)return s(n);n=c(n-i/o)}return s(n)};return d.isStepper=!1,d},tF=function(){return eF(...ZN(...arguments))},nF=e=>{if("string"===typeof e)switch(e){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return tF(e);case"spring":return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{stiff:t=100,damping:n=8,dt:r=17}=e,i=(e,i,o)=>{var l=o+(-(e-i)*t-o*n)*r/1e3,s=o*r/1e3+e;return Math.abs(s-i)<qN&&Math.abs(l)<qN?[i,0]:[s,l]};return i.isStepper=!0,i.dt=r,i}();default:if("cubic-bezier"===e.split("(")[0])return tF(e)}return"function"===typeof e?e:null};class rF{setTimeout(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=performance.now(),r=null,i=o=>{o-n>=t?e(o):"function"===typeof requestAnimationFrame&&(r=requestAnimationFrame(i))};return r=requestAnimationFrame(i),()=>{null!=r&&cancelAnimationFrame(r)}}}function iF(){return function(e){var t=()=>null,n=!1,r=null,i=o=>{if(!n){if(Array.isArray(o)){if(!o.length)return;var l=o,[s,...a]=l;return"number"===typeof s?void(r=e.setTimeout(i.bind(null,a),s)):(i(s),void(r=e.setTimeout(i.bind(null,a))))}"string"===typeof o&&t(o),"object"===typeof o&&t(o),"function"===typeof o&&o()}};return{stop:()=>{n=!0},start:e=>{n=!1,r&&(r(),r=null),i(e)},subscribe:e=>(t=e,()=>{t=()=>null}),getTimeoutController:()=>e}}(new rF)}var oF=(0,t.createContext)(iF);var lF={begin:0,duration:1e3,easing:"ease",isActive:!0,canBegin:!0,onAnimationEnd:()=>{},onAnimationStart:()=>{}},sF={t:0},aF={t:1};function cF(e){var n=ZD(e,lF),{isActive:r,canBegin:i,duration:o,easing:l,begin:s,onAnimationEnd:a,onAnimationStart:c,children:d}=n,u=Yz(),h="auto"===r?!SI&&!u:r,p=function(e,n){var r=(0,t.useContext)(oF);return(0,t.useMemo)(()=>null!==n&&void 0!==n?n:r(e),[e,n,r])}(n.animationId,n.animationManager),[f,g]=(0,t.useState)(h?sF:aF),m=(0,t.useRef)(null);return(0,t.useEffect)(()=>{h||g(aF)},[h]),(0,t.useEffect)(()=>{if(!h||!i)return nw;var e=KN(sF,aF,nF(l),o,g,p.getTimeoutController());return p.start([c,s,()=>{m.current=e()},o,a]),()=>{p.stop(),m.current&&m.current(),a()}},[h,i,o,l,s,c,a,p]),d(f.t)}function dF(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"animation-",r=(0,t.useRef)(qb(n)),i=(0,t.useRef)(e);return i.current!==e&&(r.current=qb(n),i.current=e),r.current}var uF,hF,pF,fF,gF,mF,yF,vF,xF,bF,wF=["radius"],SF=["radius"];function jF(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function kF(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?jF(Object(n),!0).forEach(function(t){_F(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jF(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _F(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function EF(){return EF=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},EF.apply(null,arguments)}function CF(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function TF(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var MF,OF,AF,PF,IF,DF,LF,RF=(e,t,n,r,i)=>{var o,l=Wb(n),s=Wb(r),a=Math.min(Math.abs(l)/2,Math.abs(s)/2),c=s>=0?1:-1,d=l>=0?1:-1,u=s>=0&&l>=0||s<0&&l<0?1:0;if(a>0&&Array.isArray(i)){for(var h=[0,0,0,0],p=0;p<4;p++){var f,g=null!==(f=i[p])&&void 0!==f?f:0;h[p]=g>a?a:g}o=Bb(uF||(uF=TF(["M",",",""])),e,t+c*h[0]),h[0]>0&&(o+=Bb(hF||(hF=TF(["A ",",",",0,0,",",",",",""])),h[0],h[0],u,e+d*h[0],t)),o+=Bb(pF||(pF=TF(["L ",",",""])),e+n-d*h[1],t),h[1]>0&&(o+=Bb(fF||(fF=TF(["A ",",",",0,0,",",\n ",",",""])),h[1],h[1],u,e+n,t+c*h[1])),o+=Bb(gF||(gF=TF(["L ",",",""])),e+n,t+r-c*h[2]),h[2]>0&&(o+=Bb(mF||(mF=TF(["A ",",",",0,0,",",\n ",",",""])),h[2],h[2],u,e+n-d*h[2],t+r)),o+=Bb(yF||(yF=TF(["L ",",",""])),e+d*h[3],t+r),h[3]>0&&(o+=Bb(vF||(vF=TF(["A ",",",",0,0,",",\n ",",",""])),h[3],h[3],u,e,t+r-c*h[3])),o+="Z"}else if(a>0&&i===+i&&i>0){var m=Math.min(a,i);o=Bb(xF||(xF=TF(["M ",",","\n A ",",",",0,0,",",",",","\n L ",",","\n A ",",",",0,0,",",",",","\n L ",",","\n A ",",",",0,0,",",",",","\n L ",",","\n A ",",",",0,0,",",",","," Z"])),e,t+c*m,m,m,u,e+d*m,t,e+n-d*m,t,m,m,u,e+n,t+c*m,e+n,t+r-c*m,m,m,u,e+n-d*m,t+r,e+d*m,t+r,m,m,u,e,t+r-c*m)}else o=Bb(bF||(bF=TF(["M ",","," h "," v "," h "," Z"])),e,t,n,r,-n);return o},zF={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},NF=e=>{var n=ZD(e,zF),r=(0,t.useRef)(null),[i,o]=(0,t.useState)(-1);(0,t.useEffect)(()=>{if(r.current&&r.current.getTotalLength)try{var e=r.current.getTotalLength();e&&o(e)}catch(t){}},[]);var{x:l,y:s,width:a,height:c,radius:d,className:u}=n,{animationEasing:h,animationDuration:p,animationBegin:f,isAnimationActive:g,isUpdateAnimationActive:m}=n,y=(0,t.useRef)(a),v=(0,t.useRef)(c),x=(0,t.useRef)(l),b=(0,t.useRef)(s),w=dF((0,t.useMemo)(()=>({x:l,y:s,width:a,height:c,radius:d}),[l,s,a,c,d]),"rectangle-");if(l!==+l||s!==+s||a!==+a||c!==+c||0===a||0===c)return null;var S=Rb("recharts-rectangle",u);if(!m){var j=lD(n),{radius:k}=j,_=CF(j,wF);return t.createElement("path",EF({},_,{x:Wb(l),y:Wb(s),width:Wb(a),height:Wb(c),radius:"number"===typeof d?d:void 0,className:S,d:RF(l,s,a,c,d)}))}var E=y.current,C=v.current,T=x.current,M=b.current,O="0px ".concat(-1===i?1:i,"px"),A="".concat(i,"px ").concat(i,"px"),P=FN(["strokeDasharray"],p,"string"===typeof h?h:zF.animationEasing);return t.createElement(cF,{animationId:w,key:w,canBegin:i>0,duration:p,easing:h,isActive:m,begin:f},e=>{var i,o=Qb(E,a,e),u=Qb(C,c,e),h=Qb(T,l,e),p=Qb(M,s,e);r.current&&(y.current=o,v.current=u,x.current=h,b.current=p),i=g?e>0?{transition:P,strokeDasharray:A}:{strokeDasharray:O}:{strokeDasharray:A};var f=lD(n),{radius:m}=f,w=CF(f,SF);return t.createElement("path",EF({},w,{radius:"number"===typeof d?d:void 0,className:S,d:RF(h,p,o,u,d),ref:r,style:kF(kF({},i),n.style)}))})};function FF(e){var{cx:t,cy:n,radius:r,startAngle:i,endAngle:o}=e;return{points:[vC(t,n,r,i),vC(t,n,r,o)],cx:t,cy:n,radius:r,startAngle:i,endAngle:o}}function $F(){return $F=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},$F.apply(null,arguments)}function WF(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var BF=e=>{var{cx:t,cy:n,radius:r,angle:i,sign:o,isExternal:l,cornerRadius:s,cornerIsExternal:a}=e,c=s*(l?1:-1)+r,d=Math.asin(s/c)/mC,u=a?i:i+o*d,h=a?i-o*d:i;return{center:vC(t,n,c,u),circleTangency:vC(t,n,r,u),lineTangency:vC(t,n,c*Math.cos(d*mC),h),theta:d}},UF=e=>{var{cx:t,cy:n,innerRadius:r,outerRadius:i,startAngle:o,endAngle:l}=e,s=((e,t)=>Ub(t-e)*Math.min(Math.abs(t-e),359.999))(o,l),a=o+s,c=vC(t,n,i,o),d=vC(t,n,i,a),u=Bb(MF||(MF=WF(["M ",",","\n A ",",",",0,\n ",",",",\n ",",","\n "])),c.x,c.y,i,i,+(Math.abs(s)>180),+(o>a),d.x,d.y);if(r>0){var h=vC(t,n,r,o),p=vC(t,n,r,a);u+=Bb(OF||(OF=WF(["L ",",","\n A ",",",",0,\n ",",",",\n ",","," Z"])),p.x,p.y,r,r,+(Math.abs(s)>180),+(o<=a),h.x,h.y)}else u+=Bb(AF||(AF=WF(["L ",","," Z"])),t,n);return u},HF={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},VF=e=>{var n=ZD(e,HF),{cx:r,cy:i,innerRadius:o,outerRadius:l,cornerRadius:s,forceCornerRadius:a,cornerIsExternal:c,startAngle:d,endAngle:u,className:h}=n;if(l<o||d===u)return null;var p,f=Rb("recharts-sector",h),g=l-o,m=Xb(s,g,0,!0);return p=m>0&&Math.abs(d-u)<360?(e=>{var{cx:t,cy:n,innerRadius:r,outerRadius:i,cornerRadius:o,forceCornerRadius:l,cornerIsExternal:s,startAngle:a,endAngle:c}=e,d=Ub(c-a),{circleTangency:u,lineTangency:h,theta:p}=BF({cx:t,cy:n,radius:i,angle:a,sign:d,cornerRadius:o,cornerIsExternal:s}),{circleTangency:f,lineTangency:g,theta:m}=BF({cx:t,cy:n,radius:i,angle:c,sign:-d,cornerRadius:o,cornerIsExternal:s}),y=s?Math.abs(a-c):Math.abs(a-c)-p-m;if(y<0)return l?Bb(PF||(PF=WF(["M ",",","\n a",",",",0,0,1,",",0\n a",",",",0,0,1,",",0\n "])),h.x,h.y,o,o,2*o,o,o,2*-o):UF({cx:t,cy:n,innerRadius:r,outerRadius:i,startAngle:a,endAngle:c});var v=Bb(IF||(IF=WF(["M ",",","\n A",",",",0,0,",",",",","\n A",",",",0,",",",",",",","\n A",",",",0,0,",",",",","\n "])),h.x,h.y,o,o,+(d<0),u.x,u.y,i,i,+(y>180),+(d<0),f.x,f.y,o,o,+(d<0),g.x,g.y);if(r>0){var{circleTangency:x,lineTangency:b,theta:w}=BF({cx:t,cy:n,radius:r,angle:a,sign:d,isExternal:!0,cornerRadius:o,cornerIsExternal:s}),{circleTangency:S,lineTangency:j,theta:k}=BF({cx:t,cy:n,radius:r,angle:c,sign:-d,isExternal:!0,cornerRadius:o,cornerIsExternal:s}),_=s?Math.abs(a-c):Math.abs(a-c)-w-k;if(_<0&&0===o)return"".concat(v,"L").concat(t,",").concat(n,"Z");v+=Bb(DF||(DF=WF(["L",",","\n A",",",",0,0,",",",",","\n A",",",",0,",",",",",",","\n A",",",",0,0,",",",",","Z"])),j.x,j.y,o,o,+(d<0),S.x,S.y,r,r,+(_>180),+(d>0),x.x,x.y,o,o,+(d<0),b.x,b.y)}else v+=Bb(LF||(LF=WF(["L",",","Z"])),t,n);return v})({cx:r,cy:i,innerRadius:o,outerRadius:l,cornerRadius:Math.min(m,g/2),forceCornerRadius:a,cornerIsExternal:c,startAngle:d,endAngle:u}):UF({cx:r,cy:i,innerRadius:o,outerRadius:l,startAngle:d,endAngle:u}),t.createElement("path",$F({},lD(n),{className:f,d:p}))};function YF(e,t,n){if("horizontal"===e)return[{x:t.x,y:n.top},{x:t.x,y:n.top+n.height}];if("vertical"===e)return[{x:n.left,y:t.y},{x:n.left+n.width,y:t.y}];if(kR(t)){if("centric"===e){var{cx:r,cy:i,innerRadius:o,outerRadius:l,angle:s}=t,a=vC(r,i,o,s),c=vC(r,i,l,s);return[{x:a.x,y:a.y},{x:c.x,y:c.y}]}return FF(t)}}function GF(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function KF(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?GF(Object(n),!0).forEach(function(t){qF(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):GF(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function qF(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var XF=()=>{var e=z_(FT),t=z_(sA),n=z_(iA);return lE(e&&n?KF(KF({},e),{},{scale:n}):void 0,t)};function JF(){return JF=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},JF.apply(null,arguments)}function QF(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ZF(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?QF(Object(n),!0).forEach(function(t){e$(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):QF(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function e$(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function t$(e){var{cursor:n,cursorComp:r,cursorProps:i}=e;return(0,t.isValidElement)(n)?(0,t.cloneElement)(n,i):(0,t.createElement)(r,i)}function n$(e){var n,r,i,o,{coordinate:l,payload:s,index:a,offset:c,tooltipAxisBandSize:d,layout:u,cursor:h,tooltipEventType:p,chartName:f}=e,g=l,m=s,y=a;if(!h||!g||"ScatterChart"!==f&&"axis"!==p)return null;if("ScatterChart"===f)r=g,i=LN,o=jC.cursorLine;else if("BarChart"===f)r=function(e,t,n,r){var i=r/2;return{stroke:"none",fill:"#ccc",x:"horizontal"===e?t.x-i:n.left+.5,y:"horizontal"===e?n.top+.5:t.y-i,width:"horizontal"===e?r:n.width-1,height:"horizontal"===e?n.height-1:r}}(u,g,c,d),i=NF,o=jC.cursorRectangle;else if("radial"===u&&kR(g)){var{cx:v,cy:x,radius:b,startAngle:w,endAngle:S}=FF(g);r={cx:v,cy:x,startAngle:w,endAngle:S,innerRadius:b,outerRadius:b},i=VF,o=jC.cursorLine}else r={points:YF(u,g,c)},i=MN,o=jC.cursorLine;var j="object"===typeof h&&"className"in h?h.className:void 0,k=ZF(ZF(ZF(ZF({stroke:"#ccc",pointerEvents:"none"},c),r),oD(h)),{},{payload:m,payloadIndex:y,className:Rb("recharts-tooltip-cursor",j)});return t.createElement(tR,{zIndex:null!==(n=e.zIndex)&&void 0!==n?n:o},t.createElement(t$,{cursor:h,cursorComp:i,cursorProps:k}))}function r$(e){var n=XF(),r=OE(),i=DE(),o=z_(cC);return null==n||null==r||null==i||null==o?null:t.createElement(n$,JF({},e,{offset:r,layout:i,tooltipAxisBandSize:n,chartName:o}))}function i$(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function o$(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i$(Object(n),!0).forEach(function(t){l$(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i$(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function l$(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s$(e){return e.dataKey}var a$=[],c$={allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:"ease",axisId:0,contentStyle:{},cursor:!0,filterNull:!0,includeHidden:!1,isAnimationActive:"auto",itemSorter:"name",itemStyle:{},labelStyle:{},offset:10,reverseDirection:{x:!1,y:!1},separator:" : ",trigger:"hover",useTranslate3d:!1,wrapperStyle:{}};function d$(e){var n,r,i=ZD(e,c$),{active:o,allowEscapeViewBox:l,animationDuration:s,animationEasing:a,content:c,filterNull:d,isAnimationActive:u,offset:h,payloadUniqBy:p,position:f,reverseDirection:g,useTranslate3d:m,wrapperStyle:y,cursor:v,shared:x,trigger:b,defaultIndex:w,portal:S,axisId:j}=i,k=I_(),_="number"===typeof w?String(w):w;(0,t.useEffect)(()=>{k(e_({shared:x,trigger:b,axisId:j,active:o,defaultIndex:_}))},[k,x,b,j,o,_]);var E=TE(),C=QI(),T=function(e){return z_(t=>cO(t,e))}(x),{activeIndex:M,isActive:O}=null!==(n=z_(e=>RA(e,T,b,_)))&&void 0!==n?n:{},A=z_(e=>LA(e,T,b,_)),P=z_(e=>DA(e,T,b,_)),I=z_(e=>IA(e,T,b,_)),D=A,L=(0,t.useContext)(AD),R=null!==(r=null!==o&&void 0!==o?o:O)&&void 0!==r&&r,[z,N]=nN([D,R]),F="axis"===T?P:void 0;OD(T,b,I,F,M,R);var $=null!==S&&void 0!==S?S:L;if(null==$||null==E||null==T)return null;var W=null!==D&&void 0!==D?D:a$;R||(W=a$),d&&W.length&&(W=tN(W.filter(e=>null!=e.value&&(!0!==e.hide||i.includeHidden)),p,s$));var B=W.length>0,U=o$(o$({},i),{},{payload:W,label:F,active:R,activeIndex:M,coordinate:I,accessibilityLayer:C}),H=t.createElement(Qz,{allowEscapeViewBox:l,animationDuration:s,animationEasing:a,isAnimationActive:u,active:R,coordinate:I,hasPayload:B,offset:h,position:f,reverseDirection:g,useTranslate3d:m,viewBox:E,wrapperStyle:y,lastBoundingBox:z,innerRef:N,hasPortalFromProps:Boolean(S)},function(e,n){return t.isValidElement(e)?t.cloneElement(e,n):"function"===typeof e?t.createElement(e,n):t.createElement(Wz,n)}(c,U));return t.createElement(t.Fragment,null,(0,eR.createPortal)(H,$),R&&t.createElement(r$,{cursor:v,tooltipEventType:T,coordinate:I,payload:W,index:M}))}var u$=e=>null;u$.displayName="Cell";var h$=["valueAccessor"],p$=["dataKey","clockWise","id","textBreakAll","zIndex"];function f$(){return f$=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},f$.apply(null,arguments)}function g$(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var m$=e=>{var t=Array.isArray(e.value)?e.value[e.value.length-1]:e.value;if(function(e){return Zb(e)||"string"===typeof e||"number"===typeof e||"boolean"===typeof e}(t))return t},y$=(0,t.createContext)(void 0),v$=y$.Provider,x$=(0,t.createContext)(void 0),b$=x$.Provider;function w$(e){var{valueAccessor:n=m$}=e,r=g$(e,h$),{dataKey:i,clockWise:o,id:l,textBreakAll:s,zIndex:a}=r,c=g$(r,p$),d=(0,t.useContext)(y$),u=(0,t.useContext)(x$),h=d||u;return h&&h.length?t.createElement(tR,{zIndex:null!==a&&void 0!==a?a:jC.label},t.createElement(EL,{className:"recharts-label-list"},h.map((e,o)=>{var a,d=Zb(i)?n(e,o):X_(e.payload,i),u=Zb(l)?{}:{id:"".concat(l,"-").concat(o)};return t.createElement(wR,f$({key:"label-".concat(o)},lD(e),c,u,{fill:null!==(a=r.fill)&&void 0!==a?a:e.fill,parentViewBox:e.parentViewBox,value:d,textBreakAll:s,viewBox:e.viewBox,index:o,zIndex:0}))}))):null}function S$(e){var{label:n}=e;return n?!0===n?t.createElement(w$,{key:"labelList-implicit"}):t.isValidElement(n)||yR(n)?t.createElement(w$,{key:"labelList-implicit",content:n}):"object"===typeof n?t.createElement(w$,f$({key:"labelList-implicit"},n,{type:String(n.type)})):null:null}w$.displayName="LabelList";var j$=n(2086),k$=e=>"string"===typeof e?e:e?e.displayName||e.name||"Component":"",_$=null,E$=null,C$=e=>{if(e===_$&&Array.isArray(E$))return E$;var n=[];return t.Children.forEach(e,e=>{Zb(e)||((0,j$.isFragment)(e)?n=n.concat(C$(e.props.children)):n.push(e))}),E$=n,_$=e,n};function T$(e,t){var n=[],r=[];return r=Array.isArray(t)?t.map(e=>k$(e)):[k$(t)],C$(e).forEach(e=>{var t=$b()(e,"type.displayName")||$b()(e,"type.name");t&&-1!==r.indexOf(t)&&n.push(e)}),n}var M$="Invariant failed";var O$,A$,P$,I$,D$,L$=n(9397),R$=n.n(L$);function z$(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function N$(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?z$(Object(n),!0).forEach(function(t){F$(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):z$(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function F$(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $$(){return $$=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},$$.apply(null,arguments)}function W$(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var B$=(e,t,n,r,i)=>{var o,l=n-r;return o=Bb(O$||(O$=W$(["M ",",",""])),e,t),o+=Bb(A$||(A$=W$(["L ",",",""])),e+n,t),o+=Bb(P$||(P$=W$(["L ",",",""])),e+n-l/2,t+i),o+=Bb(I$||(I$=W$(["L ",",",""])),e+n-l/2-r,t+i),o+=Bb(D$||(D$=W$(["L ",","," Z"])),e,t)},U$={x:0,y:0,upperWidth:0,lowerWidth:0,height:0,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},H$=e=>{var n=ZD(e,U$),{x:r,y:i,upperWidth:o,lowerWidth:l,height:s,className:a}=n,{animationEasing:c,animationDuration:d,animationBegin:u,isUpdateAnimationActive:h}=n,p=(0,t.useRef)(null),[f,g]=(0,t.useState)(-1),m=(0,t.useRef)(o),y=(0,t.useRef)(l),v=(0,t.useRef)(s),x=(0,t.useRef)(r),b=(0,t.useRef)(i),w=dF(e,"trapezoid-");if((0,t.useEffect)(()=>{if(p.current&&p.current.getTotalLength)try{var e=p.current.getTotalLength();e&&g(e)}catch(t){}},[]),r!==+r||i!==+i||o!==+o||l!==+l||s!==+s||0===o&&0===l||0===s)return null;var S=Rb("recharts-trapezoid",a);if(!h)return t.createElement("g",null,t.createElement("path",$$({},lD(n),{className:S,d:B$(r,i,o,l,s)})));var j=m.current,k=y.current,_=v.current,E=x.current,C=b.current,T="0px ".concat(-1===f?1:f,"px"),M="".concat(f,"px ").concat(f,"px"),O=FN(["strokeDasharray"],d,c);return t.createElement(cF,{animationId:w,key:w,canBegin:f>0,duration:d,easing:c,isActive:h,begin:u},e=>{var a=Qb(j,o,e),c=Qb(k,l,e),d=Qb(_,s,e),u=Qb(E,r,e),h=Qb(C,i,e);p.current&&(m.current=a,y.current=c,v.current=d,x.current=u,b.current=h);var f=e>0?{transition:O,strokeDasharray:M}:{strokeDasharray:T};return t.createElement("path",$$({},lD(n),{className:S,d:B$(u,h,a,c,d),ref:p,style:N$(N$({},f),n.style)}))})};Math.abs,Math.atan2;const V$=Math.cos,Y$=(Math.max,Math.min,Math.sin),G$=Math.sqrt,K$=Math.PI,q$=2*K$;const X$={draw(e,t){const n=G$(t/K$);e.moveTo(n,0),e.arc(0,0,n,0,q$)}},J$={draw(e,t){const n=G$(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},Q$=G$(1/3),Z$=2*Q$,eW={draw(e,t){const n=G$(t/Z$),r=n*Q$;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},tW={draw(e,t){const n=G$(t),r=-n/2;e.rect(r,r,n,n)}},nW=Y$(K$/10)/Y$(7*K$/10),rW=Y$(q$/10)*nW,iW=-V$(q$/10)*nW,oW={draw(e,t){const n=G$(.8908130915292852*t),r=rW*n,i=iW*n;e.moveTo(0,-n),e.lineTo(r,i);for(let o=1;o<5;++o){const t=q$*o/5,l=V$(t),s=Y$(t);e.lineTo(s*n,-l*n),e.lineTo(l*r-s*i,s*r+l*i)}e.closePath()}},lW=G$(3),sW={draw(e,t){const n=-G$(t/(3*lW));e.moveTo(0,2*n),e.lineTo(-lW*n,-n),e.lineTo(lW*n,-n),e.closePath()}},aW=-.5,cW=G$(3)/2,dW=1/G$(12),uW=3*(dW/2+1),hW={draw(e,t){const n=G$(t/uW),r=n/2,i=n*dW,o=r,l=n*dW+n,s=-o,a=l;e.moveTo(r,i),e.lineTo(o,l),e.lineTo(s,a),e.lineTo(aW*r-cW*i,cW*r+aW*i),e.lineTo(aW*o-cW*l,cW*o+aW*l),e.lineTo(aW*s-cW*a,cW*s+aW*a),e.lineTo(aW*r+cW*i,aW*i-cW*r),e.lineTo(aW*o+cW*l,aW*l-cW*o),e.lineTo(aW*s+cW*a,aW*a-cW*s),e.closePath()}};G$(3),G$(3);var pW=["type","size","sizeType"];function fW(){return fW=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},fW.apply(null,arguments)}function gW(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function mW(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?gW(Object(n),!0).forEach(function(t){yW(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):gW(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function yW(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var vW={symbolCircle:X$,symbolCross:J$,symbolDiamond:eW,symbolSquare:tW,symbolStar:oW,symbolTriangle:sW,symbolWye:hW},xW=Math.PI/180,bW=e=>{var{type:n="circle",size:r=64,sizeType:i="area"}=e,o=function(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}(e,pW),l=mW(mW({},o),{},{type:n,size:r,sizeType:i}),s="circle";"string"===typeof n&&(s=n);var{className:a,cx:c,cy:d}=l,u=lD(l);return Yb(c)&&Yb(d)&&Yb(r)?t.createElement("path",fW({},u,{className:Rb("recharts-symbols",a),transform:"translate(".concat(c,", ").concat(d,")"),d:(()=>{var e=(e=>{var t="symbol".concat(ew(e));return vW[t]||X$})(s),t=function(e,t){let n=null,r=Dc(i);function i(){let i;if(n||(n=i=r()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),i)return n=null,i+""||null}return e="function"===typeof e?e:_c(e||X$),t="function"===typeof t?t:_c(void 0===t?64:+t),i.type=function(t){return arguments.length?(e="function"===typeof t?t:_c(t),i):e},i.size=function(e){return arguments.length?(t="function"===typeof e?e:_c(+e),i):t},i.context=function(e){return arguments.length?(n=null==e?null:e,i):n},i}().type(e).size(((e,t,n)=>{if("area"===t)return e;switch(n){case"cross":return 5*e*e/9;case"diamond":return.5*e*e/Math.sqrt(3);case"square":return e*e;case"star":var r=18*xW;return 1.25*e*e*(Math.tan(r)-Math.tan(2*r)*Math.tan(r)**2);case"triangle":return Math.sqrt(3)*e*e/4;case"wye":return(21-10*Math.sqrt(3))*e*e/8;default:return Math.PI*e*e/4}})(r,i,s)),n=t();if(null!==n)return n})()})):null};bW.registerSymbol=(e,t)=>{vW["symbol".concat(ew(e))]=t};var wW=["option","shapeType","activeClassName","inActiveClassName"];function SW(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function jW(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?SW(Object(n),!0).forEach(function(t){kW(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):SW(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function kW(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _W(e){var{shapeType:n,elementProps:r}=e;switch(n){case"rectangle":return t.createElement(NF,r);case"trapezoid":return t.createElement(H$,r);case"sector":return t.createElement(VF,r);case"symbols":if(function(e){return"symbols"===e}(n))return t.createElement(bW,r);break;case"curve":return t.createElement(MN,r);default:return null}}function EW(e){var n,{option:r,shapeType:i,activeClassName:o="recharts-active-shape",inActiveClassName:l="recharts-shape"}=e,s=function(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}(e,wW);if((0,t.isValidElement)(r))n=(0,t.cloneElement)(r,jW(jW({},s),function(e){return(0,t.isValidElement)(e)?e.props:e}(r)));else if("function"===typeof r)n=r(s,s.index);else if(R$()(r)&&"boolean"!==typeof r){var a=function(e,t){return jW(jW({},t),e)}(r,s);n=t.createElement(_W,{shapeType:i,elementProps:a})}else{var c=s;n=t.createElement(_W,{shapeType:i,elementProps:c})}return s.isActive?t.createElement(EL,{className:o},n):t.createElement(EL,{className:l},n)}function CW(){return CW=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},CW.apply(null,arguments)}function TW(e){return t.createElement(EW,CW({shapeType:"rectangle",activeClassName:"recharts-active-bar",inActiveClassName:"recharts-inactive-bar"},e))}var MW=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(n,r)=>{if(Yb(e))return e;var i=Yb(n)||Zb(n);return i?e(n,r):(i||function(e){if(!e)throw new Error(M$)}(!1,"minPointSize callback function received a value with type of ".concat(typeof n,". Currently only numbers or null/undefined are supported.")),t)}},OW=(e,t,n)=>{var r=I_();return(i,o)=>l=>{null===e||void 0===e||e(i,o,l),r(t_({activeIndex:String(o),activeDataKey:t,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:n}))}},AW=e=>{var t=I_();return(n,r)=>i=>{null===e||void 0===e||e(n,r,i),t(n_())}},PW=(e,t,n)=>{var r=I_();return(i,o)=>l=>{null===e||void 0===e||e(i,o,l),r(i_({activeIndex:String(o),activeDataKey:t,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:n}))}};function IW(e){var{tooltipEntrySettings:n}=e,r=I_(),i=kE(),o=(0,t.useRef)(null);return(0,t.useLayoutEffect)(()=>{i||(null===o.current?r(Jk(n)):o.current!==n&&r(Qk({prev:o.current,next:n})),o.current=n)},[n,r,i]),(0,t.useLayoutEffect)(()=>()=>{o.current&&(r(Zk(o.current)),o.current=null)},[r]),null}var DW=["children"];var LW={data:[],xAxisId:"xAxis-0",yAxisId:"yAxis-0",dataPointFormatter:()=>({x:0,y:0,value:0}),errorBarOffset:0},RW=(0,t.createContext)(LW);function zW(e){var{children:n}=e,r=function(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}(e,DW);return t.createElement(RW.Provider,{value:r},n)}function NW(e,t){var n,r,i=z_(t=>aT(t,e)),o=z_(e=>uT(e,t)),l=null!==(n=null===i||void 0===i?void 0:i.allowDataOverflow)&&void 0!==n?n:lT.allowDataOverflow,s=null!==(r=null===o||void 0===o?void 0:o.allowDataOverflow)&&void 0!==r?r:cT.allowDataOverflow;return{needClip:l||s,needClipX:l,needClipY:s}}function FW(e){var{xAxisId:n,yAxisId:r,clipPathId:i}=e,o=YD(),{needClipX:l,needClipY:s,needClip:a}=NW(n,r);if(!a||!o)return null;var{x:c,y:d,width:u,height:h}=o;return t.createElement("clipPath",{id:"clipPath-".concat(i)},t.createElement("rect",{x:l?c:c-u/2,y:s?d:d-h/2,width:l?u:2*u,height:s?h:2*h}))}var $W=(e,t,n)=>{var r=null!==n&&void 0!==n?n:e;if(!Zb(r))return Xb(r,t,0)};function WW(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function BW(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?WW(Object(n),!0).forEach(function(t){UW(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):WW(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function UW(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function HW(e,t){var n,r;return null!==(n=null===(r=e.graphicalItems.cartesianItems.find(e=>e.id===t))||void 0===r?void 0:r.xAxisId)&&void 0!==n?n:0}function VW(e,t){var n,r;return null!==(n=null===(r=e.graphicalItems.cartesianItems.find(e=>e.id===t))||void 0===r?void 0:r.yAxisId)&&void 0!==n?n:0}var YW,GW=T_([vT,(e,t)=>t],(e,t)=>e.filter(e=>"bar"===e.type).find(e=>e.id===t)),KW=T_([GW],e=>null===e||void 0===e?void 0:e.maxBarSize),qW=T_([IE,vT,HW,VW,(e,t,n)=>n],(e,t,n,r,i)=>t.filter(t=>"horizontal"===e?t.xAxisId===n:t.yAxisId===r).filter(e=>e.isPanorama===i).filter(e=>!1===e.hide).filter(e=>"bar"===e.type)),XW=T_([qW,e=>e.rootProps.barSize,(e,t)=>{var n=IE(e),r=HW(e,t),i=VW(e,t);if(null!=r&&null!=i)return"horizontal"===n?XM(e,"xAxis",r):XM(e,"yAxis",i)}],(e,t,n)=>{var r=e.filter(HC),i=e.filter(e=>null==e.stackId),o=r.reduce((e,t)=>{var n=e[t.stackId];return null==n&&(n=[]),n.push(t),e[t.stackId]=n,e},{}),l=Object.entries(o).map(e=>{var r,[i,o]=e,l=o.map(e=>e.dataKey);return{stackId:i,dataKeys:l,barSize:$W(t,n,null===(r=o[0])||void 0===r?void 0:r.barSize)}}),s=i.map(e=>({stackId:void 0,dataKeys:[e.dataKey].filter(e=>null!=e),barSize:$W(t,n,e.barSize)}));return[...l,...s]}),JW=(e,t,n)=>{var r,i,o=IE(e),l=HW(e,t),s=VW(e,t);if(null!=l&&null!=s)return"horizontal"===o?(r=nO(e,"xAxis",l,n),i=tO(e,"xAxis",l,n)):(r=nO(e,"yAxis",s,n),i=tO(e,"yAxis",s,n)),lE(r,i)},QW=T_([XW,oC,e=>e.rootProps.barGap,lC,(e,t,n)=>{var r,i,o=GW(e,t);if(null==o)return 0;var l=HW(e,t),s=VW(e,t);if(null==l||null==s)return 0;var a,c,d=IE(e),u=oC(e),{maxBarSize:h}=o,p=Zb(h)?u:h;return"horizontal"===d?(a=nO(e,"xAxis",l,n),c=tO(e,"xAxis",l,n)):(a=nO(e,"yAxis",s,n),c=tO(e,"yAxis",s,n)),null!==(r=null!==(i=lE(a,c,!0))&&void 0!==i?i:p)&&void 0!==r?r:0},JW,KW],(e,t,n,r,i,o,l)=>{var s=Zb(l)?t:l,a=function(e,t,n,r,i){var o,l=r.length;if(!(l<1)){var s,a=Xb(e,n,0,!0),c=[];if(uw(null===(o=r[0])||void 0===o?void 0:o.barSize)){var d=!1,u=n/l,h=r.reduce((e,t)=>e+(t.barSize||0),0);(h+=(l-1)*a)>=n&&(h-=(l-1)*a,a=0),h>=n&&u>0&&(d=!0,h=l*(u*=.9));var p={offset:((n-h)/2|0)-a,size:0};s=r.reduce((e,t)=>{var n,r={stackId:t.stackId,dataKeys:t.dataKeys,position:{offset:p.offset+p.size+a,size:d?u:null!==(n=t.barSize)&&void 0!==n?n:0}},i=[...e,r];return p=r.position,i},c)}else{var f=Xb(t,n,0,!0);n-2*f-(l-1)*a<=0&&(a=0);var g=(n-2*f-(l-1)*a)/l;g>1&&(g>>=0);var m=uw(i)?Math.min(g,i):g;s=r.reduce((e,t,n)=>[...e,{stackId:t.stackId,dataKeys:t.dataKeys,position:{offset:f+(g+a)*n+(g-m)/2,size:m}}],c)}return s}}(n,r,i!==o?i:o,e,s);return i!==o&&null!=a&&(a=a.map(e=>BW(BW({},e),{},{position:BW(BW({},e.position),{},{offset:e.position.offset-i/2})}))),a}),ZW=T_([QW,GW],(e,t)=>{if(null!=e&&null!=t){var n=e.find(e=>e.stackId===t.stackId&&null!=t.dataKey&&e.dataKeys.includes(t.dataKey));if(null!=n)return n.position}}),eB=T_([(e,t,n)=>{var r=IE(e),i=HW(e,t),o=VW(e,t);if(null!=i&&null!=o)return"horizontal"===r?UT(e,"yAxis",o,n):UT(e,"xAxis",i,n)},GW],(e,t)=>{var n=BC(t);if(e&&null!=n&&null!=t){var{stackId:r}=t;if(null!=r){var i=e[r];if(i){var{stackedData:o}=i;if(o)return o.find(e=>e.key===n)}}}}),tB=T_([bE,SE,(e,t,n)=>{var r=HW(e,t);if(null!=r)return nO(e,"xAxis",r,n)},(e,t,n)=>{var r=VW(e,t);if(null!=r)return nO(e,"yAxis",r,n)},(e,t,n)=>{var r=HW(e,t);if(null!=r)return tO(e,"xAxis",r,n)},(e,t,n)=>{var r=VW(e,t);if(null!=r)return tO(e,"yAxis",r,n)},ZW,IE,(e,t,n)=>n?WE(e):$E(e),JW,eB,GW,(e,t,n,r)=>r],(e,t,n,r,i,o,l,s,a,c,d,u,h)=>{var{chartData:p,dataStartIndex:f,dataEndIndex:g}=a;if(null!=u&&null!=l&&null!=t&&("horizontal"===s||"vertical"===s)&&null!=n&&null!=r&&null!=i&&null!=o&&null!=c){var m,{data:y}=u;if(null!=(m=null!=y&&y.length>0?y:null===p||void 0===p?void 0:p.slice(f,g+1)))return function(e){var{layout:t,barSettings:{dataKey:n,minPointSize:r,hasCustomShape:i},pos:o,bandSize:l,xAxis:s,yAxis:a,xAxisTicks:c,yAxisTicks:d,stackedData:u,displayedData:h,offset:p,cells:f,parentViewBox:g,dataStartIndex:m}=e,y="horizontal"===t?a:s,v=u?y.scale.domain():null,x=(e=>{var{numericAxis:t}=e,n=t.scale.domain();if("number"===t.type){var r=Math.min(n[0],n[1]),i=Math.max(n[0],n[1]);return r<=0&&i>=0?0:i<0?i:r}return n[0]})({numericAxis:y}),b=y.scale.map(x);return h.map((e,h)=>{var y,w,S,j,k,_;if(u){var E=u[h+m];if(null==E)return null;y=((e,t)=>{if(!t||2!==t.length||!Yb(t[0])||!Yb(t[1]))return e;var n=Math.min(t[0],t[1]),r=Math.max(t[0],t[1]),i=[e[0],e[1]];return(!Yb(e[0])||e[0]<n)&&(i[0]=n),(!Yb(e[1])||e[1]>r)&&(i[1]=r),i[0]>r&&(i[0]=r),i[1]<n&&(i[1]=n),i})(E,v)}else y=X_(e,n),Array.isArray(y)||(y=[x,y]);var C=MW(r,LB)(y[1],h);if("horizontal"===t){var T,M=a.scale.map(y[0]),O=a.scale.map(y[1]);if(null==M||null==O)return null;w=nE({axis:s,ticks:c,bandSize:l,offset:o.offset,entry:e,index:h}),S=null!==(T=null!==O&&void 0!==O?O:M)&&void 0!==T?T:void 0,j=o.size;var A=M-O;if(k=Hb(A)?0:A,_={x:w,y:p.top,width:j,height:p.height},Math.abs(C)>0&&Math.abs(k)<Math.abs(C)){var P=Ub(k||C)*(Math.abs(C)-Math.abs(k));S-=P,k+=P}}else{var I=s.scale.map(y[0]),D=s.scale.map(y[1]);if(null==I||null==D)return null;if(w=I,S=nE({axis:a,ticks:d,bandSize:l,offset:o.offset,entry:e,index:h}),j=D-I,k=o.size,_={x:p.left,y:S,width:p.width,height:k},Math.abs(C)>0&&Math.abs(j)<Math.abs(C))j+=Ub(j||C)*(Math.abs(C)-Math.abs(j))}return null!=w&&null!=S&&null!=j&&null!=k&&(i||0!==j&&0!==k)?jB(jB({},e),{},{stackedBarStart:b,x:w,y:S,width:j,height:k,value:u?y:y[1],payload:e,background:_,tooltipPosition:{x:w+j/2,y:S+k/2},parentViewBox:g,originalDataIndex:h},f&&f[h]&&f[h].props):null}).filter(Boolean)}({layout:s,barSettings:u,pos:l,parentViewBox:t,bandSize:c,xAxis:n,yAxis:r,xAxisTicks:i,yAxisTicks:o,stackedData:d,displayedData:m,offset:e,cells:h,dataStartIndex:f})}});function nB(e){var{legendPayload:n}=e,r=I_(),i=kE(),o=(0,t.useRef)(null);return(0,t.useLayoutEffect)(()=>{i||(null===o.current?r(PP(n)):o.current!==n&&r(IP({prev:o.current,next:n})),o.current=n)},[r,i,n]),(0,t.useLayoutEffect)(()=>()=>{o.current&&(r(DP(o.current)),o.current=null)},[r]),null}function rB(e){var{legendPayload:n}=e,r=I_(),i=z_(IE),o=(0,t.useRef)(null);return(0,t.useLayoutEffect)(()=>{"centric"!==i&&"radial"!==i||(null===o.current?r(PP(n)):o.current!==n&&r(IP({prev:o.current,next:n})),o.current=n)},[r,i,n]),(0,t.useLayoutEffect)(()=>()=>{o.current&&(r(DP(o.current)),o.current=null)},[r]),null}var iB=null!==(YW=r["useId".toString()])&&void 0!==YW?YW:()=>{var[e]=t.useState(()=>qb("uid-"));return e};var oB=(0,t.createContext)(void 0),lB=e=>{var{id:n,type:r,children:i}=e,o=function(e,t){var n=iB();return t||(e?"".concat(e,"-").concat(n):n)}("recharts-".concat(r),n);return t.createElement(oB.Provider,{value:o},i(o))};var sB=e=>{var n=I_(),r=(0,t.useRef)(null);return(0,t.useLayoutEffect)(()=>{null===r.current?n(dP(e)):r.current!==e&&n(uP({prev:r.current,next:e})),r.current=e},[n,e]),(0,t.useLayoutEffect)(()=>()=>{r.current&&(n(hP(r.current)),r.current=null)},[n]),null},aB=(0,t.memo)(sB),cB=e=>{var n=I_(),r=(0,t.useRef)(null);return(0,t.useLayoutEffect)(()=>{null===r.current?n(pP(e)):r.current!==e&&n(gP({prev:r.current,next:e})),r.current=e},[n,e]),(0,t.useLayoutEffect)(()=>()=>{r.current&&(n(fP(r.current)),r.current=null)},[n]),null},dB=(0,t.memo)(cB);var uB=["index"];function hB(){return hB=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},hB.apply(null,arguments)}var pB=(0,t.createContext)(void 0),fB=e=>{var n,r=(0,t.useContext)(pB);return null!=r?r.stackId:null!=e?null==(n=e)?void 0:String(n):void 0},gB=(e,t)=>"recharts-bar-stack-clip-path-".concat(e,"-").concat(t),mB=e=>{var{index:n}=e,r=function(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}(e,uB),i=(e=>{var n=(0,t.useContext)(pB);if(null!=n){var{stackId:r}=n;return"url(#".concat(gB(r,e),")")}})(n);return t.createElement(EL,hB({className:"recharts-bar-stack-layer",clipPath:i},r))},yB=["onMouseEnter","onMouseLeave","onClick"],vB=["value","background","tooltipPosition"],xB=["id"],bB=["onMouseEnter","onClick","onMouseLeave"];function wB(){return wB=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},wB.apply(null,arguments)}function SB(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function jB(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?SB(Object(n),!0).forEach(function(t){kB(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):SB(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function kB(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _B(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var EB=e=>{var{dataKey:t,name:n,fill:r,legendType:i,hide:o}=e;return[{inactive:o,dataKey:t,type:i,color:r,value:aE(n,t),payload:e}]},CB=t.memo(e=>{var{dataKey:n,stroke:r,strokeWidth:i,fill:o,name:l,hide:s,unit:a,tooltipType:c,id:d}=e,u={dataDefinedOnItem:void 0,getPosition:nw,settings:{stroke:r,strokeWidth:i,fill:o,dataKey:n,nameKey:void 0,name:aE(l,n),hide:s,type:c,color:o,unit:a,graphicalItemId:d}};return t.createElement(IW,{tooltipEntrySettings:u})});function TB(e){var n=z_(hA),{data:r,dataKey:i,background:o,allOtherBarProps:l}=e,{onMouseEnter:s,onMouseLeave:a,onClick:c}=l,d=_B(l,yB),u=OW(s,i,l.id),h=AW(a),p=PW(c,i,l.id);if(!o||null==r)return null;var f,g,m=oD(o);return t.createElement(tR,{zIndex:(f=o,g=jC.barBackground,f&&"object"===typeof f&&"zIndex"in f&&"number"===typeof f.zIndex&&uw(f.zIndex)?f.zIndex:g)},r.map((e,r)=>{var{value:l,background:s,tooltipPosition:a}=e,c=_B(e,vB);if(!s)return null;var f=u(e,r),g=h(e,r),y=p(e,r),v=jB(jB(jB(jB(jB({option:o,isActive:String(r)===n},c),{},{fill:"#eee"},s),m),_R(d,e,r)),{},{onMouseEnter:f,onMouseLeave:g,onClick:y,dataKey:i,index:r,className:"recharts-bar-background-rectangle"});return t.createElement(TW,wB({key:"background-bar-".concat(r)},v))}))}function MB(e){var{showLabels:n,children:r,rects:i}=e,o=null===i||void 0===i?void 0:i.map(e=>{var t={x:e.x,y:e.y,width:e.width,lowerWidth:e.width,upperWidth:e.width,height:e.height};return jB(jB({},t),{},{value:e.value,payload:e.payload,parentViewBox:e.parentViewBox,viewBox:t,fill:e.fill})});return t.createElement(v$,{value:n?o:void 0},r)}function OB(e){var{shape:n,activeBar:r,baseProps:i,entry:o,index:l,dataKey:s}=e,a=z_(hA),c=z_(fA),d=r&&String(o.originalDataIndex)===a&&(null==c||s===c),[u,h]=(0,t.useState)(!1),[p,f]=(0,t.useState)(!1);(0,t.useEffect)(()=>{var e;return d?(h(!0),e=requestAnimationFrame(()=>{f(!0)})):f(!1),()=>{cancelAnimationFrame(e)}},[d]);var g,m=(0,t.useCallback)(()=>{d||h(!1)},[d]),y=d&&p,v=d||u;g=d?!0===r?n:r:n;var x=t.createElement(TW,wB({},i,{name:String(i.name)},o,{isActive:y,option:g,index:l,dataKey:s,onTransitionEnd:m}));return v?t.createElement(tR,{zIndex:jC.activeBar},t.createElement(mB,{index:o.originalDataIndex},x)):x}function AB(e){var{shape:n,baseProps:r,entry:i,index:o,dataKey:l}=e;return t.createElement(TW,wB({},r,{name:String(r.name)},i,{isActive:!1,option:n,index:o,dataKey:l}))}function PB(e){var n,{data:r,props:i}=e,o=null!==(n=iD(i))&&void 0!==n?n:{},{id:l}=o,s=_B(o,xB),{shape:a,dataKey:c,activeBar:d}=i,{onMouseEnter:u,onClick:h,onMouseLeave:p}=i,f=_B(i,bB),g=OW(u,c,l),m=AW(p),y=PW(h,c,l);return r?t.createElement(t.Fragment,null,r.map((e,n)=>t.createElement(mB,wB({index:e.originalDataIndex,key:"rectangle-".concat(null===e||void 0===e?void 0:e.x,"-").concat(null===e||void 0===e?void 0:e.y,"-").concat(null===e||void 0===e?void 0:e.value,"-").concat(n),className:"recharts-bar-rectangle"},_R(f,e,n),{onMouseEnter:g(e,n),onMouseLeave:m(e,n),onClick:y(e,n)}),d?t.createElement(OB,{shape:a,activeBar:d,baseProps:s,entry:e,index:n,dataKey:c}):t.createElement(AB,{shape:a,baseProps:s,entry:e,index:n,dataKey:c})))):null}function IB(e){var{props:n,previousRectanglesRef:r}=e,{data:i,layout:o,isAnimationActive:l,animationBegin:s,animationDuration:a,animationEasing:c,onAnimationEnd:d,onAnimationStart:u}=n,h=r.current,p=dF(n,"recharts-bar-"),[f,g]=(0,t.useState)(!1),m=!f,y=(0,t.useCallback)(()=>{"function"===typeof d&&d(),g(!1)},[d]),v=(0,t.useCallback)(()=>{"function"===typeof u&&u(),g(!0)},[u]);return t.createElement(MB,{showLabels:m,rects:i},t.createElement(cF,{animationId:p,begin:s,duration:a,isActive:l,easing:c,onAnimationEnd:y,onAnimationStart:v,key:p},e=>{var l=1===e?i:null===i||void 0===i?void 0:i.map((t,n)=>{var r=h&&h[n];if(r)return jB(jB({},t),{},{x:Qb(r.x,t.x,e),y:Qb(r.y,t.y,e),width:Qb(r.width,t.width,e),height:Qb(r.height,t.height,e)});if("horizontal"===o){var i=Qb(0,t.height,e),l=Qb(t.stackedBarStart,t.y,e);return jB(jB({},t),{},{y:l,height:i})}var s=Qb(0,t.width,e),a=Qb(t.stackedBarStart,t.x,e);return jB(jB({},t),{},{width:s,x:a})});return e>0&&(r.current=null!==l&&void 0!==l?l:null),null==l?null:t.createElement(EL,null,t.createElement(PB,{props:n,data:l}))}),t.createElement(S$,{label:n.label}),n.children)}function DB(e){var n=(0,t.useRef)(null);return t.createElement(IB,{previousRectanglesRef:n,props:e})}var LB=0,RB=(e,t)=>{var n=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:n,errorVal:X_(e,t)}};class zB extends t.PureComponent{render(){var{hide:e,data:n,dataKey:r,className:i,xAxisId:o,yAxisId:l,needClip:s,background:a,id:c}=this.props;if(e||null==n)return null;var d=Rb("recharts-bar",i),u=c;return t.createElement(EL,{className:d,id:c},s&&t.createElement("defs",null,t.createElement(FW,{clipPathId:u,xAxisId:o,yAxisId:l})),t.createElement(EL,{className:"recharts-bar-rectangles",clipPath:s?"url(#clipPath-".concat(u,")"):void 0},t.createElement(TB,{data:n,dataKey:r,background:a,allOtherBarProps:this.props}),t.createElement(DB,this.props)))}}var NB={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:"ease",background:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",minPointSize:LB,xAxisId:0,yAxisId:0,zIndex:jC.bar};function FB(e){var n,{xAxisId:r,yAxisId:i,hide:o,legendType:l,minPointSize:s,activeBar:a,animationBegin:c,animationDuration:d,animationEasing:u,isAnimationActive:h}=e,{needClip:p}=NW(r,i),f=DE(),g=kE(),m=T$(e.children,u$),y=z_(t=>tB(t,e.id,g,m));if("vertical"!==f&&"horizontal"!==f)return null;var v=null===y||void 0===y?void 0:y[0];return n=null==v||null==v.height||null==v.width?0:"vertical"===f?v.height/2:v.width/2,t.createElement(zW,{xAxisId:r,yAxisId:i,data:y,dataPointFormatter:RB,errorBarOffset:n},t.createElement(zB,wB({},e,{layout:f,needClip:p,data:y,xAxisId:r,yAxisId:i,hide:o,legendType:l,minPointSize:s,activeBar:a,animationBegin:c,animationDuration:d,animationEasing:u,isAnimationActive:h})))}function $B(e){var n=ZD(e,NB),r=fB(n.stackId),i=kE();return t.createElement(lB,{id:n.id,type:"bar"},e=>t.createElement(t.Fragment,null,t.createElement(nB,{legendPayload:EB(n)}),t.createElement(CB,{dataKey:n.dataKey,stroke:n.stroke,strokeWidth:n.strokeWidth,fill:n.fill,name:n.name,hide:n.hide,unit:n.unit,tooltipType:n.tooltipType,id:e}),t.createElement(aB,{type:"bar",id:e,data:void 0,xAxisId:n.xAxisId,yAxisId:n.yAxisId,zAxisId:0,dataKey:n.dataKey,stackId:r,hide:n.hide,barSize:n.barSize,minPointSize:n.minPointSize,maxBarSize:n.maxBarSize,isPanorama:i,hasCustomShape:null!=n.shape}),t.createElement(tR,{zIndex:n.zIndex},t.createElement(FB,wB({},n,{id:e})))))}var WB=t.memo($B,YI);function BB(){return BB=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},BB.apply(null,arguments)}function UB(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function HB(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?UB(Object(n),!0).forEach(function(t){VB(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):UB(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function VB(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}WB.displayName="Bar";var YB=32,GB={align:"center",iconSize:14,inactiveColor:"#ccc",layout:"horizontal",verticalAlign:"middle",labelStyle:{}};function KB(e){if("object"===typeof e&&null!==e&&"strokeDasharray"in e)return String(e.strokeDasharray)}function qB(e){var{data:n,iconType:r,inactiveColor:i}=e,o=16,l=YB/6,s=YB/3,a=n.inactive?i:n.color,c=null!==r&&void 0!==r?r:n.type;if("none"===c)return null;if("plainline"===c)return t.createElement("line",{strokeWidth:4,fill:"none",stroke:a,strokeDasharray:KB(n.payload),x1:0,y1:o,x2:YB,y2:o,className:"recharts-legend-icon"});if("line"===c)return t.createElement("path",{strokeWidth:4,fill:"none",stroke:a,d:"M0,".concat(o,"h").concat(s,"\n A").concat(l,",").concat(l,",0,1,1,").concat(2*s,",").concat(o,"\n H").concat(YB,"M").concat(2*s,",").concat(o,"\n A").concat(l,",").concat(l,",0,1,1,").concat(s,",").concat(o),className:"recharts-legend-icon"});if("rect"===c)return t.createElement("path",{stroke:"none",fill:a,d:"M0,".concat(4,"h").concat(YB,"v").concat(24,"h").concat(-32,"z"),className:"recharts-legend-icon"});if(t.isValidElement(n.legendIcon)){var d=HB({},n);return delete d.legendIcon,t.cloneElement(n.legendIcon,d)}return t.createElement(bW,{fill:a,cx:o,cy:o,size:YB,sizeType:"diameter",type:c})}function XB(e){var{payload:n,iconSize:r,layout:i,formatter:o,inactiveColor:l,iconType:s,labelStyle:a}=e,c={x:0,y:0,width:YB,height:YB},d={display:"horizontal"===i?"inline-block":"block",marginRight:10},u={display:"inline-block",verticalAlign:"middle",marginRight:4};return n.map((n,i)=>{var h=n.formatter||o,p=Rb({"recharts-legend-item":!0,["legend-item-".concat(i)]:!0,inactive:n.inactive});if("none"===n.type)return null;var f="object"===typeof a?HB({},a):{};f.color=n.inactive?l:f.color||n.color;var g=h?h(n.value,n,i):n.value;return t.createElement("li",BB({className:p,style:d,key:"legend-item-".concat(i)},_R(e,n,i)),t.createElement(cD,{width:r,height:r,viewBox:c,style:u,"aria-label":"".concat(n.value," legend icon")},t.createElement(qB,{data:n,iconType:s,inactiveColor:l})),t.createElement("span",{className:"recharts-legend-item-text",style:f},g))})}var JB=e=>{var n=ZD(e,GB),{payload:r,layout:i,align:o}=n;if(!r||!r.length)return null;var l={padding:0,margin:0,textAlign:"horizontal"===i?o:"left"};return t.createElement("ul",{className:"recharts-default-legend",style:l},t.createElement(XB,BB({},n,{payload:r})))};var QB=["contextPayload"];function ZB(){return ZB=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ZB.apply(null,arguments)}function eU(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function tU(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?eU(Object(n),!0).forEach(function(t){nU(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):eU(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function nU(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function rU(e){return e.value}function iU(e){var{contextPayload:n}=e,r=function(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}(e,QB),i=tN(n,e.payloadUniqBy,rU),o=tU(tU({},r),{},{payload:i});return t.isValidElement(e.content)?t.cloneElement(e.content,o):"function"===typeof e.content?t.createElement(e.content,o):t.createElement(JB,o)}function oU(e){var n=I_();return(0,t.useEffect)(()=>{n(AP(e))},[n,e]),null}function lU(e){var n=I_();return(0,t.useEffect)(()=>(n(OP(e)),()=>{n(OP({width:0,height:0}))}),[n,e]),null}var sU={align:"center",iconSize:14,inactiveColor:"#ccc",itemSorter:"value",layout:"horizontal",verticalAlign:"bottom"};function aU(e){var n=ZD(e,sU),r=z_(W_),i=(0,t.useContext)(PD),o=z_(e=>e.layout.margin),{width:l,height:s,wrapperStyle:a,portal:c}=n,[d,u]=nN([r]),h=AE(),p=PE();if(null==h||null==p)return null;var f=h-((null===o||void 0===o?void 0:o.left)||0)-((null===o||void 0===o?void 0:o.right)||0),g=function(e,t,n,r){return"vertical"===e&&null!=t?{height:t}:"horizontal"===e?{width:n||r}:null}(n.layout,s,l,f),m=c?a:tU(tU({position:"absolute",width:(null===g||void 0===g?void 0:g.width)||l||"auto",height:(null===g||void 0===g?void 0:g.height)||s||"auto"},function(e,t,n,r,i,o){var l,s,{layout:a,align:c,verticalAlign:d}=t;return e&&(void 0!==e.left&&null!==e.left||void 0!==e.right&&null!==e.right)||(l="center"===c&&"vertical"===a?{left:((r||0)-o.width)/2}:"right"===c?{right:n&&n.right||0}:{left:n&&n.left||0}),e&&(void 0!==e.top&&null!==e.top||void 0!==e.bottom&&null!==e.bottom)||(s="middle"===d?{top:((i||0)-o.height)/2}:"bottom"===d?{bottom:n&&n.bottom||0}:{top:n&&n.top||0}),tU(tU({},l),s)}(a,n,o,h,p,d)),a),y=null!==c&&void 0!==c?c:i;if(null==y||null==r)return null;var v=t.createElement("div",{className:"recharts-legend-wrapper",style:m,ref:u},t.createElement(oU,{layout:n.layout,align:n.align,verticalAlign:n.verticalAlign,itemSorter:n.itemSorter}),!c&&t.createElement(lU,{width:d.width,height:d.height}),t.createElement(iU,ZB({},n,g,{margin:o,chartWidth:h,chartHeight:p,contextPayload:r})));return(0,eR.createPortal)(v,y)}var cU=t.memo(aU,YI);function dU(e){var n=I_();return(0,t.useEffect)(()=>{n(GP(e))},[n,e]),null}cU.displayName="Legend";var uU=["layout"];function hU(){return hU=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},hU.apply(null,arguments)}function pU(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function fU(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var gU=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?pU(Object(n),!0).forEach(function(t){fU(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pU(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({accessibilityLayer:!0,stackOffset:"none",barCategoryGap:"10%",barGap:4,margin:{top:5,right:5,bottom:5,left:5},reverseStackOrder:!1,syncMethod:"index",layout:"radial",responsive:!1,cx:"50%",cy:"50%",innerRadius:0,outerRadius:"80%"},DI),mU=(0,t.forwardRef)(function(e,n){var r,i=ZD(e.categoricalChartProps,gU),{layout:o}=i,l=function(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}(i,uU),{chartName:s,defaultTooltipEventType:a,validateTooltipEventTypes:c,tooltipPayloadSearcher:d}=e,u={chartName:s,defaultTooltipEventType:a,validateTooltipEventTypes:c,tooltipPayloadSearcher:d,eventEmitter:void 0};return t.createElement(BI,{preloadedState:{options:u},reduxStoreName:null!==(r=i.id)&&void 0!==r?r:s},t.createElement(UI,{chartData:i.data}),t.createElement(KI,{layout:o,margin:i.margin}),t.createElement(JI,{throttleDelay:i.throttleDelay,throttledEvents:i.throttledEvents}),t.createElement(qI,{baseValue:void 0,accessibilityLayer:i.accessibilityLayer,barCategoryGap:i.barCategoryGap,maxBarSize:i.maxBarSize,stackOffset:i.stackOffset,barGap:i.barGap,barSize:i.barSize,syncId:i.syncId,syncMethod:i.syncMethod,className:i.className,reverseStackOrder:i.reverseStackOrder}),t.createElement(dU,{cx:i.cx,cy:i.cy,startAngle:i.startAngle,endAngle:i.endAngle,innerRadius:i.innerRadius,outerRadius:i.outerRadius}),t.createElement(XD,hU({},l,{ref:n})))});function yU(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function vU(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?yU(Object(n),!0).forEach(function(t){xU(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):yU(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function xU(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var bU=["item"],wU=vU(vU({},gU),{},{layout:"centric",startAngle:0,endAngle:360}),SU=(0,t.forwardRef)((e,n)=>{var r=ZD(e,wU);return t.createElement(mU,{chartName:"PieChart",defaultTooltipEventType:"item",validateTooltipEventTypes:bU,tooltipPayloadSearcher:Uj,categoricalChartProps:r,ref:n})}),jU=e=>e.graphicalItems.polarItems,kU=T_([$C,WC],yT),_U=T_([jU,fT,kU],bT),EU=T_([_U],_T),CU=T_([EU,WE],TT),TU=T_([CU,fT,_U],OT),MU=(T_([CU,fT,_U],(e,t,n)=>n.length>0?e.flatMap(e=>n.flatMap(n=>{var r;return{value:X_(e,null!==(r=t.dataKey)&&void 0!==r?r:n.dataKey),errorDomain:[]}})).filter(Boolean):null!=(null===t||void 0===t?void 0:t.dataKey)?e.map(e=>({value:X_(e,t.dataKey),errorDomain:[]})):e.map(e=>({value:e,errorDomain:[]}))),()=>{}),OU=T_([CU,fT,_U,XT,$C,HE],QT),AU=T_([fT,GT,KT,MU,OU,MU,IE,$C],gM),PU=T_([fT,IE,CU,TU,sC,$C,AU],vM),IU=T_([PU,gT,bM],wM),DU=T_([fT,PU,IU,$C],jM);T_([bM,DU],XC);function LU(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function RU(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?LU(Object(n),!0).forEach(function(t){zU(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):LU(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function zU(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var NU=T_([jU,(e,t)=>t],(e,t)=>e.filter(e=>"pie"===e.type).find(e=>e.id===t)),FU=[],$U=(e,t,n)=>0===(null===n||void 0===n?void 0:n.length)?FU:n,WU=T_([WE,NU,$U],(e,t,n)=>{var r,{chartData:i}=e;if(null!=t&&((r=null!=(null===t||void 0===t?void 0:t.data)&&t.data.length>0?t.data:i)&&r.length||null==n||(r=n.map(e=>RU(RU({},t.presentationProps),e.props))),null!=r))return r}),BU=T_([WU,NU,$U],(e,t,n)=>{if(null!=e&&null!=t)return e.map((e,r)=>{var i,o,l=X_(e,t.nameKey,t.name);return o=null!==n&&void 0!==n&&null!==(i=n[r])&&void 0!==i&&null!==(i=i.props)&&void 0!==i&&i.fill?n[r].props.fill:"object"===typeof e&&null!=e&&"fill"in e?e.fill:t.fill,{value:aE(l,t.dataKey),color:o,payload:e,type:t.legendType}})}),UU=T_([WU,NU,$U,bE],(e,t,n,r)=>{if(null!=t&&null!=e)return function(e){var t,n,r,{pieSettings:i,displayedData:o,cells:l,offset:s}=e,{cornerRadius:a,startAngle:c,endAngle:d,dataKey:u,nameKey:h,tooltipType:p}=i,f=Math.abs(i.minAngle),g=rH(c,d),m=Math.abs(g),y=o.length<=1?0:null!==(t=i.paddingAngle)&&void 0!==t?t:0,v=o.filter(e=>0!==X_(e,u,0)).length,x=(m>=360?v:v-1)*y,b=o.reduce((e,t)=>{var n=X_(t,u,0);return e+(Yb(n)?n:0)},0),w=f>0&&b>0&&o.some(e=>{var t=X_(e,u,0),n=(Yb(t)?t:0)/b;return 0!==t&&n*m<f}),S=w?f:0,j=m-v*S-x;b>0&&(n=o.map((e,t)=>{var n,o=X_(e,u,0),d=X_(e,h,t),f=nH(i,s,e),m=(Yb(o)?o:0)/b,v=JU(JU({},e),l&&l[t]&&l[t].props),x=null!=v&&"fill"in v&&"string"===typeof v.fill?v.fill:i.fill,w=(n=t?r.endAngle+Ub(g)*y*(0!==o?1:0):c)+Ub(g)*((0!==o?S:0)+m*j),k=(n+w)/2,_=(f.innerRadius+f.outerRadius)/2,E=[{name:d,value:o,payload:v,dataKey:u,type:p,color:x,fill:x,graphicalItemId:i.id}],C=vC(f.cx,f.cy,_,k);return r=JU(JU(JU(JU({},i.presentationProps),{},{percent:m,cornerRadius:"string"===typeof a?parseFloat(a):a,name:d,tooltipPayload:E,midAngle:k,middleRadius:_,tooltipPosition:C},v),f),{},{value:o,dataKey:u,startAngle:n,endAngle:w,payload:v,paddingAngle:0!==o?Ub(g)*y:0})}));return n}({offset:r,pieSettings:t,displayedData:e,cells:n})}),HU=["key"],VU=["onMouseEnter","onClick","onMouseLeave"],YU=["id"],GU=["id"];function KU(){return KU=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},KU.apply(null,arguments)}function qU(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function XU(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function JU(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?XU(Object(n),!0).forEach(function(t){QU(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):XU(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function QU(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ZU(e){var n=(0,t.useMemo)(()=>T$(e.children,u$),[e.children]),r=z_(t=>BU(t,e.id,n));return null==r?null:t.createElement(rB,{legendPayload:r})}var eH=t.memo(e=>{var{dataKey:n,nameKey:r,sectors:i,stroke:o,strokeWidth:l,fill:s,name:a,hide:c,tooltipType:d,id:u,activeShape:h}=e,p=function(e){if(null!=e&&"boolean"!==typeof e&&"function"!==typeof e){if(t.isValidElement(e)){var n,r=null===(n=e.props)||void 0===n?void 0:n.fill;return"string"===typeof r?r:void 0}var{fill:i}=e;return"string"===typeof i?i:void 0}}(h),f={dataDefinedOnItem:i.map(e=>{var t=e.tooltipPayload;return null==p||null==t?t:t.map(e=>JU(JU({},e),{},{color:p,fill:p}))}),getPosition:e=>{var t;return null===(t=i[Number(e)])||void 0===t?void 0:t.tooltipPosition},settings:{stroke:o,strokeWidth:l,fill:s,dataKey:n,nameKey:r,name:aE(a,n),hide:c,type:d,color:s,unit:"",graphicalItemId:u}};return t.createElement(IW,{tooltipEntrySettings:f})}),tH=(e,t)=>e>t?"start":e<t?"end":"middle",nH=(e,t,n)=>{var{top:r,left:i,width:o,height:l}=t,s=xC(o,l),a=i+Xb(e.cx,o,o/2),c=r+Xb(e.cy,l,l/2),d=Xb(e.innerRadius,s,0),u=((e,t,n)=>Xb("function"===typeof t?t(e):t,n,.8*n))(n,e.outerRadius,s);return{cx:a,cy:c,innerRadius:d,outerRadius:u,maxRadius:e.maxRadius||Math.sqrt(o*o+l*l)/2}},rH=(e,t)=>Ub(t-e)*Math.min(Math.abs(t-e),360);function iH(e){var{sectors:n,props:r,showLabels:i}=e,{label:o,labelLine:l,dataKey:s}=r;if(!i||!o||!n)return null;var a=iD(r),c=oD(o),d=oD(l),u="object"===typeof o&&"offsetRadius"in o&&"number"===typeof o.offsetRadius&&o.offsetRadius||20,h=n.map((e,n)=>{var r=(e.startAngle+e.endAngle)/2,i=vC(e.cx,e.cy,e.outerRadius+u,r),h=JU(JU(JU(JU({},a),e),{},{stroke:"none"},c),{},{index:n,textAnchor:tH(i.x,e.cx)},i),p=JU(JU(JU(JU({},a),e),{},{fill:"none",stroke:e.fill},d),{},{index:n,points:[vC(e.cx,e.cy,e.outerRadius,r),i],key:"line"});return t.createElement(tR,{zIndex:jC.label,key:"label-".concat(e.startAngle,"-").concat(e.endAngle,"-").concat(e.midAngle,"-").concat(n)},t.createElement(EL,null,l&&((e,n)=>{if(t.isValidElement(e))return t.cloneElement(e,n);if("function"===typeof e)return e(n);var r=Rb("recharts-pie-label-line","boolean"!==typeof e?e.className:""),{key:i}=n,o=qU(n,HU);return t.createElement(MN,KU({},o,{type:"linear",className:r}))})(l,p),((e,n,r)=>{if(t.isValidElement(e))return t.cloneElement(e,n);var i=r;if("function"===typeof e&&(i=e(n),t.isValidElement(i)))return i;var o=Rb("recharts-pie-label-text",ER(e));return t.createElement(ZL,KU({},n,{alignmentBaseline:"middle",className:o}),i)})(o,h,X_(e,s))))});return t.createElement(EL,{className:"recharts-pie-labels"},h)}function oH(e){var{sectors:n,props:r,showLabels:i}=e,{label:o}=r;return"object"===typeof o&&null!=o&&"position"in o?t.createElement(S$,{label:o}):t.createElement(iH,{sectors:n,props:r,showLabels:i})}function lH(e){var{sectors:n,activeShape:r,inactiveShape:i,allOtherPieProps:o,shape:l,id:s}=e,a=z_(hA),c=z_(fA),d=z_(gA),{onMouseEnter:u,onClick:h,onMouseLeave:p}=o,f=qU(o,VU),g=OW(u,o.dataKey,s),m=AW(p),y=PW(h,o.dataKey,s);return null==n||0===n.length?null:t.createElement(t.Fragment,null,n.map((e,u)=>{if(0===(null===e||void 0===e?void 0:e.startAngle)&&0===(null===e||void 0===e?void 0:e.endAngle)&&1!==n.length)return null;var h=null==d||d===s,p=String(u)===a&&(null==c||o.dataKey===c)&&h,v=r&&p?r:a?i:null,x=JU(JU({},e),{},{stroke:e.stroke,tabIndex:-1,[gE]:u,[mE]:s});return t.createElement(EL,KU({key:"sector-".concat(null===e||void 0===e?void 0:e.startAngle,"-").concat(null===e||void 0===e?void 0:e.endAngle,"-").concat(e.midAngle,"-").concat(u),tabIndex:-1,className:"recharts-pie-sector"},_R(f,e,u),{onMouseEnter:g(e,u),onMouseLeave:m(e,u),onClick:y(e,u)}),t.createElement(EW,KU({option:null!==l&&void 0!==l?l:v,index:u,shapeType:"sector",isActive:p},x)))}))}function sH(e){var{showLabels:n,sectors:r,children:i}=e,o=(0,t.useMemo)(()=>n&&r?r.map(e=>({value:e.value,payload:e.payload,clockWise:!1,parentViewBox:void 0,viewBox:{cx:e.cx,cy:e.cy,innerRadius:e.innerRadius,outerRadius:e.outerRadius,startAngle:e.startAngle,endAngle:e.endAngle,clockWise:!1},fill:e.fill})):[],[r,n]);return t.createElement(b$,{value:n?o:void 0},i)}function aH(e){var{props:n,previousSectorsRef:r,id:i}=e,{sectors:o,isAnimationActive:l,animationBegin:s,animationDuration:a,animationEasing:c,activeShape:d,inactiveShape:u,onAnimationStart:h,onAnimationEnd:p}=n,f=dF(n,"recharts-pie-"),g=r.current,[m,y]=(0,t.useState)(!1),v=(0,t.useCallback)(()=>{"function"===typeof p&&p(),y(!1)},[p]),x=(0,t.useCallback)(()=>{"function"===typeof h&&h(),y(!0)},[h]);return t.createElement(sH,{showLabels:!m,sectors:o},t.createElement(cF,{animationId:f,begin:s,duration:a,isActive:l,easing:c,onAnimationStart:x,onAnimationEnd:v,key:f},e=>{var l,s=[],a=o&&o[0],c=null!==(l=null===a||void 0===a?void 0:a.startAngle)&&void 0!==l?l:0;return null===o||void 0===o||o.forEach((t,n)=>{var r=g&&g[n],i=n>0?$b()(t,"paddingAngle",0):0;if(r){var o=Qb(r.endAngle-r.startAngle,t.endAngle-t.startAngle,e),l=JU(JU({},t),{},{startAngle:c+i,endAngle:c+o+i});s.push(l),c=l.endAngle}else{var{endAngle:a,startAngle:d}=t,u=Qb(0,a-d,e),h=JU(JU({},t),{},{startAngle:c+i,endAngle:c+u+i});s.push(h),c=h.endAngle}}),r.current=s,t.createElement(EL,null,t.createElement(lH,{sectors:s,activeShape:d,inactiveShape:u,allOtherPieProps:n,shape:n.shape,id:i}))}),t.createElement(oH,{showLabels:!m,sectors:o,props:n}),n.children)}var cH={animationBegin:400,animationDuration:1500,animationEasing:"ease",cx:"50%",cy:"50%",dataKey:"value",endAngle:360,fill:"#808080",hide:!1,innerRadius:0,isAnimationActive:"auto",label:!1,labelLine:!0,legendType:"rect",minAngle:0,nameKey:"name",outerRadius:"80%",paddingAngle:0,rootTabIndex:0,startAngle:0,stroke:"#fff",zIndex:jC.area};function dH(e){var{id:n}=e,r=qU(e,YU),{hide:i,className:o,rootTabIndex:l}=e,s=(0,t.useMemo)(()=>T$(e.children,u$),[e.children]),a=z_(e=>UU(e,n,s)),c=(0,t.useRef)(null),d=Rb("recharts-pie",o);return i||null==a?(c.current=null,t.createElement(EL,{tabIndex:l,className:d})):t.createElement(tR,{zIndex:e.zIndex},t.createElement(eH,{dataKey:e.dataKey,nameKey:e.nameKey,sectors:a,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,tooltipType:e.tooltipType,id:n,activeShape:e.activeShape}),t.createElement(EL,{tabIndex:l,className:d},t.createElement(aH,{props:JU(JU({},r),{},{sectors:a}),previousSectorsRef:c,id:n})))}var uH=function(e){var n=ZD(e,cH),{id:r}=n,i=qU(n,GU),o=iD(i);return t.createElement(lB,{id:r,type:"pie"},e=>t.createElement(t.Fragment,null,t.createElement(dB,{type:"pie",id:e,data:i.data,dataKey:i.dataKey,hide:i.hide,angleAxisId:0,radiusAxisId:0,name:i.name,nameKey:i.nameKey,tooltipType:i.tooltipType,legendType:i.legendType,fill:i.fill,cx:i.cx,cy:i.cy,startAngle:i.startAngle,endAngle:i.endAngle,paddingAngle:i.paddingAngle,minAngle:i.minAngle,innerRadius:i.innerRadius,outerRadius:i.outerRadius,cornerRadius:i.cornerRadius,presentationProps:o,maxRadius:n.maxRadius}),t.createElement(ZU,KU({},i,{id:e})),t.createElement(dH,KU({},i,{id:e}))))};uH.displayName="Pie";const hH="#070d1a",pH="#0f172a",fH="#111827",gH="#1e293b",mH="#263347",yH="#e2e8f0",vH="#94a3b8",xH="#f97316",bH="#3b82f6",wH="#22c55e",SH="#ef4444",jH="#8b5cf6",kH="#f59e0b",_H="'JetBrains Mono', monospace",EH={cone_boundary_fade:"#3b82f6",drift_momentum:"#8b5cf6",institutional_anchor:"#f97316",cone_convergence:"#22c55e",regime_transition:"#f59e0b",cone_breakout:"#ef4444"},CH={"A+":"#22c55e",A:"#4ade80",B:"#3b82f6",C:"#f59e0b",D:"#f97316",F:"#ef4444","?":"#64748b"},TH={calm:"#22c55e",normal:"#3b82f6",stressed:"#f97316",unknown:"#64748b"},MH={EURUSD:1e-4,GBPUSD:1e-4,AUDUSD:1e-4,USDCHF:1e-4,USDCAD:1e-4,USDJPY:.01,US500:1,USTEC:1,US30:1,GER40:1,UK100:1,XAUUSD:.1,XAGUSD:.001,XTIUSD:.01},OH=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return"number"===typeof e?e.toFixed(t):"\u2014"},AH=e=>"number"===typeof e?`${(100*e).toFixed(1)}%`:"\u2014",PH=e=>"number"===typeof e?`$${e.toLocaleString("en-US",{maximumFractionDigits:0})}`:"\u2014",IH={fontFamily:_H,fontSize:11},DH={contentStyle:{background:pH,border:`1px solid ${gH}`,borderRadius:6,fontSize:11,fontFamily:_H},itemStyle:{color:yH},labelStyle:{color:vH}};function LH(e){let{children:t,icon:n}=e;return(0,Hg.jsxs)("div",{style:{fontSize:10,fontWeight:700,fontFamily:_H,color:xH,letterSpacing:"0.1em",marginBottom:10,display:"flex",alignItems:"center",gap:6},children:[n&&(0,Hg.jsx)("span",{children:n}),t]})}function RH(e){let{children:t,style:n}=e;return(0,Hg.jsx)("div",{style:{background:pH,border:`1px solid ${gH}`,borderRadius:8,padding:16,...n},children:t})}function zH(e){let{label:t,value:n,sub:r,color:i,note:o}=e;return(0,Hg.jsxs)("div",{style:{background:pH,border:`1px solid ${gH}`,borderRadius:8,padding:"14px 16px",flex:1,minWidth:0},children:[(0,Hg.jsx)("div",{style:{fontSize:10,color:vH,fontFamily:_H,letterSpacing:"0.06em",marginBottom:6},children:t}),(0,Hg.jsx)("div",{style:{fontSize:22,fontWeight:700,fontFamily:_H,color:i||yH},children:n}),r&&(0,Hg.jsx)("div",{style:{fontSize:10,color:vH,marginTop:3},children:r}),o&&(0,Hg.jsx)("div",{style:{fontSize:9,color:vH,marginTop:2,fontStyle:"italic"},children:o})]})}function NH(e,t){if(!e.length)return;const n=["timestamp","action","ticker","direction","signal_type","confidence","calibration_grade","risk_reward","risk_usd","risk_pct","entry_price","stop_loss","take_profit","fill_price","slippage","lots","order_id","regime","mcs_score","confirmation_edge","gate","reason","rationale"],r=[n.join(",")];for(const s of e)r.push(n.map(e=>{var t;const n=null!==(t=s[e])&&void 0!==t?t:"",r=String(n).replace(/"/g,'""');return r.includes(",")||r.includes('"')||r.includes("\n")?`"${r}"`:r}).join(","));const i=new Blob([r.join("\n")],{type:"text/csv;charset=utf-8;"}),o=URL.createObjectURL(i),l=document.createElement("a");l.href=o,l.download=t,l.click(),URL.revokeObjectURL(o)}function FH(e){var n;let{serverUrl:r=""}=e;const[i,o]=(0,t.useState)(30),[l,s]=(0,t.useState)(null),[a,c]=(0,t.useState)([]),[d,u]=(0,t.useState)(null),[h,p]=(0,t.useState)(!0),[f,g]=(0,t.useState)(null),[m,y]=(0,t.useState)("overview"),[v,x]=(0,t.useState)({ticker:"all",type:"all",action:"all"}),b=(0,t.useCallback)(async()=>{p(!0),g(null);try{const[e,t,n]=await Promise.all([fetch(`${r}/api/performance/summary?days=${i}`),fetch(`${r}/api/auto/log?limit=500`),fetch(`${r}/api/account/status`)]);if(e.ok&&s(await e.json()),t.ok){const e=await t.json();c(e.actions||[])}n.ok&&u(await n.json())}catch{g("Failed to load performance data")}finally{p(!1)}},[r,i]);if((0,t.useEffect)(()=>{b()},[b]),h)return(0,Hg.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:300,color:vH,fontFamily:_H,fontSize:12},children:"Loading performance data\u2026"});if(f)return(0,Hg.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:300,color:SH,fontFamily:_H,fontSize:12},children:f});const w=l||{},S=null!==(n=w.total_executed)&&void 0!==n?n:0,j=[...new Set(a.map(e=>e.ticker).filter(Boolean))],k=[...new Set(a.map(e=>e.signal_type).filter(Boolean))],_=()=>(0,Hg.jsx)("div",{style:{display:"flex",gap:4},children:[7,14,30,90].map(e=>(0,Hg.jsxs)("button",{onClick:()=>o(e),style:{padding:"3px 10px",fontSize:10,fontFamily:_H,fontWeight:700,background:i===e?xH:"transparent",color:i===e?"#000":vH,border:`1px solid ${i===e?xH:gH}`,borderRadius:3,cursor:"pointer"},children:[e,"D"]},e))}),E={executed:"Executed",dry_run:"Dry Run",confidence_threshold:"Conf \u2717",calibration_grade:"Grade \u2717",signal_type_whitelist:"Type \u2717",ticker_whitelist:"Ticker \u2717",existing_position:"Position \u2717",state_filter:"State \u2717",risk_governor:"Governor \u2717",lots_invalid:"Lots \u2717",awaiting_confirmation:"In Window",window_bypassed:"Bypassed",blocked:"Blocked"},C=Object.entries(w.funnel||{}).map(e=>{let[t,n]=e;return{name:E[t]||t,count:n,color:"executed"===t?wH:"dry_run"===t?bH:"awaiting_confirmation"===t?kH:"window_bypassed"===t?jH:SH}}).sort((e,t)=>t.count-e.count),T=(w.timeline||[]).slice(-30),M=Object.entries(w.by_ticker||{}).map(e=>{let[t,n]=e;return{name:t,count:n.count,risk:n.risk_usd,avg_win:n.avg_win_usd,avg_loss:n.avg_loss_usd,win_pips:n.avg_win_pips,loss_pips:n.avg_loss_pips,avg_confidence:n.avg_confidence}}).sort((e,t)=>t.count-e.count),O=Object.entries(w.by_type||{}).map(e=>{let[t,n]=e;return{name:t.replace(/_/g," ").replace("cone ","").replace("institutional ","inst "),fullName:t,count:n,color:EH[t]||vH}}).sort((e,t)=>t.count-e.count),A=Object.entries(w.by_grade||{}).map(e=>{let[t,n]=e;return{name:t,count:n,color:CH[t]||vH}}).sort((e,t)=>["A+","A","B","C","D","F","?"].indexOf(e.name)-["A+","A","B","C","D","F","?"].indexOf(t.name)),P=Object.entries(w.by_regime||{}).map(e=>{let[t,n]=e;return{name:t,count:n,color:TH[t]||vH}});return(0,Hg.jsxs)("div",{style:{background:hH,minHeight:"100%",padding:20,color:yH,overflowY:"auto"},children:[(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:20},children:[(0,Hg.jsxs)("div",{children:[(0,Hg.jsx)("div",{style:{fontSize:16,fontWeight:700,fontFamily:_H,color:xH,letterSpacing:"0.05em"},children:"PERFORMANCE"}),(0,Hg.jsxs)("div",{style:{fontSize:11,color:vH,marginTop:2},children:[S," executed \xb7 ",w.total_records||0," total decisions \xb7 last ",i," days"]})]}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center"},children:[(0,Hg.jsx)(_,{}),(0,Hg.jsx)("button",{onClick:()=>NH(a,`mk_trades_log_${i}d.csv`),style:{padding:"3px 10px",fontSize:10,fontFamily:_H,background:"transparent",border:`1px solid ${gH}`,color:vH,borderRadius:3,cursor:"pointer"},children:"\u2b07 EXPORT CSV"}),(0,Hg.jsx)("button",{onClick:b,style:{padding:"3px 10px",fontSize:10,fontFamily:_H,background:"transparent",border:`1px solid ${gH}`,color:vH,borderRadius:3,cursor:"pointer"},children:"\u21ba REFRESH"})]})]}),(0,Hg.jsx)("div",{style:{display:"flex",gap:0,marginBottom:20,borderBottom:`1px solid ${gH}`},children:[["overview","OVERVIEW"],["trades","TRADE LOG"]].map(e=>{let[t,n]=e;return(0,Hg.jsx)("button",{onClick:()=>y(t),style:{padding:"6px 16px",fontSize:11,fontWeight:700,fontFamily:_H,background:"transparent",border:"none",borderBottom:m===t?`2px solid ${xH}`:"2px solid transparent",color:m===t?xH:vH,cursor:"pointer",letterSpacing:"0.06em"},children:n},t)})}),"overview"===m&&(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsxs)("div",{style:{display:"flex",gap:12,marginBottom:20},children:[(0,Hg.jsx)(zH,{label:"EXECUTED TRADES",value:S,sub:`Last ${i} days`}),(0,Hg.jsx)(zH,{label:"AVG CONFIDENCE",value:AH(w.avg_confidence),color:w.avg_confidence>.7?wH:w.avg_confidence>.55?kH:SH}),(0,Hg.jsx)(zH,{label:"AVG R:R",value:`${OH(w.avg_risk_reward,1)}R`,color:w.avg_risk_reward>=2?wH:w.avg_risk_reward>=1?kH:SH}),d&&(0,Hg.jsx)(zH,{label:"EQUITY",value:PH(d.equity||d.current_equity),sub:"Current account",color:wH})]}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:12,marginBottom:20},children:[(0,Hg.jsxs)(RH,{style:{flex:1},children:[(0,Hg.jsx)(LH,{icon:"\u2705",children:"EXPECTED WIN (per trade)"}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:24},children:[(0,Hg.jsxs)("div",{children:[(0,Hg.jsx)("div",{style:{fontSize:24,fontWeight:700,fontFamily:_H,color:wH},children:PH(w.avg_win_usd)}),(0,Hg.jsx)("div",{style:{fontSize:10,color:vH,marginTop:2},children:"avg in USD"})]}),(0,Hg.jsxs)("div",{children:[(0,Hg.jsxs)("div",{style:{fontSize:24,fontWeight:700,fontFamily:_H,color:wH},children:[OH(w.avg_win_pips,0)," pips"]}),(0,Hg.jsx)("div",{style:{fontSize:10,color:vH,marginTop:2},children:"avg distance to TP"})]})]}),(0,Hg.jsx)("div",{style:{fontSize:9,color:vH,marginTop:8,fontStyle:"italic"},children:"Entry \u2192 take profit at execution time (expected, not realised)"})]}),(0,Hg.jsxs)(RH,{style:{flex:1},children:[(0,Hg.jsx)(LH,{icon:"\u274c",children:"RISK PER TRADE (potential loss)"}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:24},children:[(0,Hg.jsxs)("div",{children:[(0,Hg.jsx)("div",{style:{fontSize:24,fontWeight:700,fontFamily:_H,color:SH},children:PH(w.avg_loss_usd)}),(0,Hg.jsx)("div",{style:{fontSize:10,color:vH,marginTop:2},children:"avg per trade"})]}),(0,Hg.jsxs)("div",{children:[(0,Hg.jsxs)("div",{style:{fontSize:24,fontWeight:700,fontFamily:_H,color:SH},children:[OH(w.avg_loss_pips,0)," pips"]}),(0,Hg.jsx)("div",{style:{fontSize:10,color:vH,marginTop:2},children:"avg distance to SL"})]})]}),(0,Hg.jsx)("div",{style:{fontSize:9,color:vH,marginTop:8,fontStyle:"italic"},children:"Entry \u2192 stop loss at execution time (max loss if stopped out)"})]}),(0,Hg.jsxs)(RH,{style:{flex:1},children:[(0,Hg.jsx)(LH,{icon:"\ud83d\udcb0",children:"TOTAL CAPITAL AT RISK"}),(0,Hg.jsx)("div",{style:{fontSize:24,fontWeight:700,fontFamily:_H,color:kH},children:PH(w.total_risk_usd)}),(0,Hg.jsxs)("div",{style:{fontSize:10,color:vH,marginTop:2},children:["across ",S," trades \xb7 avg ","number"===typeof w.avg_risk_pct?w.avg_risk_pct.toFixed(2)+"%":"\u2014"," per trade"]}),(0,Hg.jsx)("div",{style:{fontSize:9,color:vH,marginTop:8,fontStyle:"italic"},children:"Sum of all SL distances \xd7 lots \u2014 max downside if every trade hits stop"})]})]}),(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1.6fr",gap:12,marginBottom:12},children:[(0,Hg.jsxs)(RH,{children:[(0,Hg.jsx)(LH,{icon:"\u26e9",children:"SIGNAL GATE FUNNEL"}),(0,Hg.jsx)("div",{style:{fontSize:9,color:vH,marginBottom:8},children:"How many signals passed or were filtered at each gate"}),(0,Hg.jsx)(ww,{width:"100%",height:220,children:(0,Hg.jsxs)(lL,{data:C,layout:"vertical",margin:{left:10,right:20},children:[(0,Hg.jsx)(rz,{strokeDasharray:"3 3",stroke:gH,horizontal:!1}),(0,Hg.jsx)(wz,{type:"number",tick:{...IH,fill:vH}}),(0,Hg.jsx)(Dz,{type:"category",dataKey:"name",tick:{...IH,fill:vH},width:90}),(0,Hg.jsx)(d$,{...DH}),(0,Hg.jsx)(WB,{dataKey:"count",radius:[0,3,3,0],children:C.map((e,t)=>(0,Hg.jsx)(u$,{fill:e.color},t))})]})})]}),(0,Hg.jsxs)(RH,{children:[(0,Hg.jsx)(LH,{icon:"\ud83d\udcc5",children:"DAILY ACTIVITY"}),(0,Hg.jsx)(ww,{width:"100%",height:220,children:(0,Hg.jsxs)(lL,{data:T,margin:{left:-10,right:10},children:[(0,Hg.jsx)(rz,{strokeDasharray:"3 3",stroke:gH}),(0,Hg.jsx)(wz,{dataKey:"date",tick:{...IH,fill:vH,fontSize:9},tickFormatter:e=>e.slice(5)}),(0,Hg.jsx)(Dz,{tick:{...IH,fill:vH}}),(0,Hg.jsx)(d$,{...DH,labelFormatter:e=>`Date: ${e}`}),(0,Hg.jsx)(cU,{wrapperStyle:{...IH,color:vH}}),(0,Hg.jsx)(WB,{dataKey:"executed",name:"Executed",stackId:"a",fill:wH}),(0,Hg.jsx)(WB,{dataKey:"dry_run",name:"Dry Run",stackId:"a",fill:bH}),(0,Hg.jsx)(WB,{dataKey:"awaiting",name:"In Window",stackId:"a",fill:kH}),(0,Hg.jsx)(WB,{dataKey:"skipped",name:"Skipped",stackId:"a",fill:mH}),(0,Hg.jsx)(WB,{dataKey:"blocked",name:"Blocked",stackId:"a",fill:SH,radius:[2,2,0,0]})]})})]})]}),M.length>0&&(0,Hg.jsxs)(RH,{style:{marginBottom:12},children:[(0,Hg.jsx)(LH,{icon:"\ud83d\udcb1",children:"PER-TICKER BREAKDOWN (executed trades only)"}),(0,Hg.jsx)("div",{style:{overflowX:"auto"},children:(0,Hg.jsxs)("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:11,fontFamily:_H},children:[(0,Hg.jsx)("thead",{children:(0,Hg.jsx)("tr",{style:{background:fH},children:["TICKER","TRADES","AVG WIN $","AVG WIN PIPS","AVG LOSS $","AVG LOSS PIPS","AVG CONF","TOTAL RISK $"].map(e=>(0,Hg.jsx)("th",{style:{padding:"7px 12px",textAlign:"left",color:vH,fontWeight:700,letterSpacing:"0.06em",whiteSpace:"nowrap",borderBottom:`1px solid ${gH}`,fontSize:10},children:e},e))})}),(0,Hg.jsx)("tbody",{children:M.map((e,t)=>(0,Hg.jsxs)("tr",{style:{background:t%2===0?pH:hH,borderBottom:`1px solid ${gH}`},children:[(0,Hg.jsx)("td",{style:{padding:"6px 12px",color:xH,fontWeight:700},children:e.name}),(0,Hg.jsx)("td",{style:{padding:"6px 12px",color:yH},children:e.count}),(0,Hg.jsx)("td",{style:{padding:"6px 12px",color:wH,fontWeight:700},children:PH(e.avg_win)}),(0,Hg.jsx)("td",{style:{padding:"6px 12px",color:wH},children:OH(e.win_pips,0)}),(0,Hg.jsx)("td",{style:{padding:"6px 12px",color:SH},children:PH(e.avg_loss)}),(0,Hg.jsx)("td",{style:{padding:"6px 12px",color:SH},children:OH(e.loss_pips,0)}),(0,Hg.jsx)("td",{style:{padding:"6px 12px",color:e.avg_confidence>.75?wH:e.avg_confidence>.6?kH:SH},children:AH(e.avg_confidence)}),(0,Hg.jsx)("td",{style:{padding:"6px 12px",color:kH},children:PH(e.risk)})]},e.name))})]})})]}),(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr 1fr 1fr",gap:12,marginBottom:12},children:[(0,Hg.jsxs)(RH,{children:[(0,Hg.jsx)(LH,{icon:"\ud83d\udce1",children:"BY SIGNAL TYPE"}),(0,Hg.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:5},children:O.map(e=>{var t;let{name:n,fullName:r,count:i,color:o}=e;const l=(null===(t=O[0])||void 0===t?void 0:t.count)||1;return(0,Hg.jsxs)("div",{children:[(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:2},children:[(0,Hg.jsx)("span",{style:{...IH,color:yH,fontSize:10},children:n}),(0,Hg.jsx)("span",{style:{...IH,color:vH},children:i})]}),(0,Hg.jsx)("div",{style:{height:4,background:gH,borderRadius:2,overflow:"hidden"},children:(0,Hg.jsx)("div",{style:{width:i/l*100+"%",height:"100%",background:o,borderRadius:2}})})]},r)})})]}),(0,Hg.jsxs)(RH,{children:[(0,Hg.jsx)(LH,{icon:"\ud83c\udfaf",children:"BY GRADE"}),(0,Hg.jsx)(ww,{width:"100%",height:160,children:(0,Hg.jsxs)(lL,{data:A,margin:{left:-20,right:5},children:[(0,Hg.jsx)(rz,{strokeDasharray:"3 3",stroke:gH}),(0,Hg.jsx)(wz,{dataKey:"name",tick:{...IH,fill:vH}}),(0,Hg.jsx)(Dz,{tick:{...IH,fill:vH}}),(0,Hg.jsx)(d$,{...DH}),(0,Hg.jsx)(WB,{dataKey:"count",radius:[3,3,0,0],children:A.map((e,t)=>(0,Hg.jsx)(u$,{fill:e.color},t))})]})})]}),(0,Hg.jsxs)(RH,{children:[(0,Hg.jsx)(LH,{icon:"\ud83c\udf21",children:"BY REGIME"}),(0,Hg.jsx)(ww,{width:"100%",height:160,children:(0,Hg.jsxs)(SU,{children:[(0,Hg.jsx)(uH,{data:P,dataKey:"count",nameKey:"name",cx:"50%",cy:"50%",outerRadius:55,label:e=>{let{name:t,percent:n}=e;return`${t} ${(100*n).toFixed(0)}%`},labelLine:{stroke:gH},style:{fontSize:9,fontFamily:_H},children:P.map((e,t)=>(0,Hg.jsx)(u$,{fill:e.color},t))}),(0,Hg.jsx)(d$,{...DH})]})})]}),(0,Hg.jsxs)(RH,{children:[(0,Hg.jsx)(LH,{icon:"\u2195",children:"DIRECTION SPLIT"}),(0,Hg.jsx)("div",{style:{display:"flex",gap:20,alignItems:"center",marginTop:10},children:Object.entries(w.by_direction||{}).map(e=>{let[t,n]=e;return(0,Hg.jsxs)("div",{style:{textAlign:"center"},children:[(0,Hg.jsx)("div",{style:{fontSize:28,fontWeight:700,fontFamily:_H,color:"long"===t?wH:SH},children:n}),(0,Hg.jsx)("div",{style:{fontSize:10,color:vH,fontFamily:_H,letterSpacing:"0.06em"},children:t.toUpperCase()})]},t)})}),w.by_direction&&(()=>{const e=(w.by_direction.long||0)+(w.by_direction.short||0),t=e>0?w.by_direction.long/e*100:50;return(0,Hg.jsxs)("div",{style:{marginTop:12},children:[(0,Hg.jsxs)("div",{style:{height:8,background:gH,borderRadius:4,overflow:"hidden",display:"flex"},children:[(0,Hg.jsx)("div",{style:{width:`${t}%`,background:wH}}),(0,Hg.jsx)("div",{style:{width:100-t+"%",background:SH}})]}),(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",marginTop:4},children:[(0,Hg.jsxs)("span",{style:{...IH,color:wH,fontSize:10},children:["L ",e?AH(w.by_direction.long/e):"\u2014"]}),(0,Hg.jsxs)("span",{style:{...IH,color:SH,fontSize:10},children:["S ",e?AH(w.by_direction.short/e):"\u2014"]})]})]})})()]})]}),(0,Hg.jsxs)(RH,{children:[(0,Hg.jsx)(LH,{icon:"\ud83d\udea7",children:"SKIPPED BY GATE"}),(0,Hg.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:8},children:Object.entries(w.by_gate||{}).sort((e,t)=>t[1]-e[1]).map(e=>{let[t,n]=e;return(0,Hg.jsxs)("div",{style:{background:fH,border:`1px solid ${gH}`,borderRadius:4,padding:"4px 10px",display:"flex",gap:8,alignItems:"center"},children:[(0,Hg.jsx)("span",{style:{...IH,color:vH,fontSize:10},children:t.replace(/_/g," ")}),(0,Hg.jsx)("span",{style:{...IH,color:SH,fontWeight:700,fontSize:11},children:n})]},t)})})]})]}),"trades"===m&&(0,Hg.jsx)($H,{records:a,allTickers:j,allTypes:k,filter:v,setFilter:x})]})}function $H(e){let{records:t,allTickers:n,allTypes:r,filter:i,setFilter:o}=e;const l=t.filter(e=>("all"===i.action||e.action===i.action)&&(("all"===i.ticker||e.ticker===i.ticker)&&("all"===i.type||e.signal_type===i.type))).slice().reverse(),s=(e,t)=>(0,Hg.jsxs)("select",{value:i[e],onChange:t=>o(n=>({...n,[e]:t.target.value})),style:{background:pH,border:`1px solid ${gH}`,color:yH,padding:"3px 8px",fontSize:10,fontFamily:_H,borderRadius:3,cursor:"pointer"},children:[(0,Hg.jsxs)("option",{value:"all",children:["ALL ",e.toUpperCase(),"S"]}),t.map(e=>(0,Hg.jsx)("option",{value:e,children:e},e))]});return(0,Hg.jsxs)("div",{children:[(0,Hg.jsxs)("div",{style:{display:"flex",gap:8,marginBottom:12,alignItems:"center"},children:[s("action",["executed","dry_run","skipped","blocked","awaiting_confirmation","window_bypassed"])," ",s("ticker",n)," ",s("type",r),(0,Hg.jsxs)("span",{style:{...IH,color:vH,fontSize:10,marginLeft:4},children:[l.length," records"]}),(0,Hg.jsx)("button",{onClick:()=>NH(l,"mk_trades_filtered.csv"),style:{marginLeft:"auto",padding:"3px 10px",fontSize:10,fontFamily:_H,background:"transparent",border:`1px solid ${gH}`,color:vH,borderRadius:3,cursor:"pointer"},children:"\u2b07 EXPORT FILTERED"})]}),(0,Hg.jsxs)("div",{style:{border:`1px solid ${gH}`,borderRadius:6,overflow:"hidden"},children:[(0,Hg.jsxs)("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:10,fontFamily:_H},children:[(0,Hg.jsx)("thead",{children:(0,Hg.jsx)("tr",{style:{background:fH},children:["TIME","ACTION","TICKER","DIR","TYPE","CONF","GRADE","WIN $","WIN PIPS","LOSS $","LOSS PIPS","R:R","DETAIL"].map(e=>(0,Hg.jsx)("th",{style:{padding:"7px 10px",textAlign:"left",color:vH,fontWeight:700,letterSpacing:"0.06em",whiteSpace:"nowrap",borderBottom:`1px solid ${gH}`,fontSize:9},children:e},e))})}),(0,Hg.jsx)("tbody",{children:l.slice(0,100).map((e,t)=>{var n,r,i;const o="executed"===e.action,l="dry_run"===e.action,s=o?wH:l?bH:"skipped"===e.action?vH:"blocked"===e.action?SH:kH,a=e.fill_price||e.entry_price||0,c=MH[e.ticker]||1e-4,d=a&&e.take_profit?Math.abs(e.take_profit-a)/c:null,u=a&&e.stop_loss?Math.abs(a-e.stop_loss)/c:null,h=e.risk_usd&&e.risk_reward?e.risk_usd*e.risk_reward:null;return(0,Hg.jsxs)("tr",{style:{background:t%2===0?pH:hH,borderBottom:`1px solid ${gH}`},children:[(0,Hg.jsx)("td",{style:{padding:"5px 10px",color:vH,whiteSpace:"nowrap"},children:e.timestamp?e.timestamp.slice(5,16).replace("T"," "):"\u2014"}),(0,Hg.jsx)("td",{style:{padding:"5px 10px"},children:(0,Hg.jsx)("span",{style:{color:s,fontWeight:700,fontSize:9,letterSpacing:"0.04em"},children:null===(n=e.action)||void 0===n?void 0:n.replace(/_/g," ").toUpperCase()})}),(0,Hg.jsx)("td",{style:{padding:"5px 10px",color:yH,fontWeight:o?700:400},children:e.ticker||"\u2014"}),(0,Hg.jsx)("td",{style:{padding:"5px 10px",color:"long"===e.direction?wH:"short"===e.direction?SH:vH},children:(null===(r=e.direction)||void 0===r?void 0:r.toUpperCase())||"\u2014"}),(0,Hg.jsx)("td",{style:{padding:"5px 10px",color:vH,fontSize:9},children:(null===(i=e.signal_type)||void 0===i?void 0:i.replace(/_/g," "))||"\u2014"}),(0,Hg.jsx)("td",{style:{padding:"5px 10px",color:e.confidence>.75?wH:e.confidence>.6?kH:vH},children:e.confidence?AH(e.confidence):"\u2014"}),(0,Hg.jsx)("td",{style:{padding:"5px 10px",color:CH[e.calibration_grade]||vH},children:e.calibration_grade||"\u2014"}),(0,Hg.jsx)("td",{style:{padding:"5px 10px",color:h?wH:vH},children:h?PH(h):"\u2014"}),(0,Hg.jsx)("td",{style:{padding:"5px 10px",color:d?wH:vH},children:d?d.toFixed(0):"\u2014"}),(0,Hg.jsx)("td",{style:{padding:"5px 10px",color:e.risk_usd?SH:vH},children:e.risk_usd?PH(e.risk_usd):"\u2014"}),(0,Hg.jsx)("td",{style:{padding:"5px 10px",color:u?SH:vH},children:u?u.toFixed(0):"\u2014"}),(0,Hg.jsx)("td",{style:{padding:"5px 10px",color:e.risk_reward>=2?wH:e.risk_reward>=1?kH:vH},children:e.risk_reward?`${OH(e.risk_reward,1)}R`:"\u2014"}),(0,Hg.jsx)("td",{style:{padding:"5px 10px",color:vH,fontSize:9,maxWidth:160,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.reason||e.gate||(o&&e.order_id?`#${e.order_id}`:"")||(l?"log only":"")})]},t)})})]}),l.length>100&&(0,Hg.jsxs)("div",{style:{padding:"8px 12px",color:vH,fontSize:10,fontFamily:_H,textAlign:"center",borderTop:`1px solid ${gH}`},children:["Showing 100 of ",l.length," \u2014 export CSV for full data"]})]})]})}const WH="#000",BH="#0a0a0a",UH="#111",HH="#222",VH="#fff",YH="#999",GH="#555",KH="#ff6d00",qH="#2ebd59",XH="#e8383b",JH="#00d2d3",QH="#3796ff",ZH="'Courier New', Consolas, 'Liberation Mono', monospace";function eV(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"$";if(null==e||isNaN(e))return"\u2014";return`${e<0?"-":""}${n}${Math.abs(e).toLocaleString("en-US",{minimumFractionDigits:t,maximumFractionDigits:t})}`}function tV(e){return null==e||isNaN(e)?"\u2014":`${e.toFixed(2)}%`}function nV(e){return e>0?qH:e<0?XH:GH}function rV(e,t,n,r){if(!r||!(r.tick_value>0)||!(r.tick_size>0))return null;if(!(e>0)||!(t>0)||!(n>0))return null;const i=r.tick_value/r.tick_size;return Math.abs(e-t)*i*n}function iV(e){var n,r,i,o,l,s,a;let{pollInterval:c=1500,pnlPollInterval:d=4e3,priceMap:u=null}=e;const[h,p]=(0,t.useState)([]),[f,g]=(0,t.useState)([]),[m,y]=(0,t.useState)({}),[v,x]=(0,t.useState)(null),[b,w]=(0,t.useState)(null),[S,j]=(0,t.useState)(!0),[k,_]=(0,t.useState)(null),[E,C]=(0,t.useState)(null),[T,M]=(0,t.useState)(null),O=((0,t.useRef)(null),(0,t.useCallback)(async()=>{try{const[e,t,n,r,i]=await Promise.all([fetch("/api/positions"),fetch("/api/orders/pending"),fetch("/api/symbol-info"),fetch("/api/account/status"),fetch("/api/mt5/status")]);if(e.ok){const t=await e.json();p(t.positions||[]),j(!1!==t.mt5_connected)}if(t.ok){const e=await t.json();g(e.orders||[])}if(n.ok){const e=await n.json();y(e.symbols||e)}if(r.ok&&x(await r.json()),i.ok){const e=await i.json();w(e.account||null),!1===e.connected&&j(!1)}}catch{}},[])),A=(0,t.useCallback)(async()=>{try{const e=await fetch("/api/account/period-pnl");e.ok&&_(await e.json())}catch{}},[]),P=(0,t.useCallback)(()=>{O(),A()},[O,A]);(0,t.useEffect)(()=>{O(),A();const e=setInterval(O,c),t=setInterval(A,d);return window.__mk_execution_refresh=P,()=>{clearInterval(e),clearInterval(t),window.__mk_execution_refresh===P&&delete window.__mk_execution_refresh}},[O,A,P,c,d]);const I=(0,t.useMemo)(()=>{const e=((null===b||void 0===b?void 0:b.currency)||"USD").toUpperCase();return"USD"===e?"$":"EUR"===e?"\u20ac":"GBP"===e?"\xa3":e+" "},[b]),D=null!==(n=null===b||void 0===b?void 0:b.balance)&&void 0!==n?n:null,L=null!==(r=null!==(i=null===b||void 0===b?void 0:b.equity)&&void 0!==i?i:null===v||void 0===v?void 0:v.equity)&&void 0!==r?r:null,{exposure:R,livePnl:z}=(0,t.useMemo)(()=>{let e=0,t=0;for(const i of h){var n,r;const o=null===m||void 0===m?void 0:m[i.ticker],l=(null===o||void 0===o?void 0:o.tick_value)>0&&(null===o||void 0===o?void 0:o.tick_size)>0?o.tick_value/o.tick_size:0;l>0&&i.open_price>0&&i.lots>0&&i.stop_loss>0&&(e+=Math.abs(i.open_price-i.stop_loss)*l*i.lots);let s=i.profit||0;const a=null===u||void 0===u||null===(n=u.get)||void 0===n||null===(r=n.call(u,i.ticker))||void 0===r?void 0:r.price;if(a>0&&l>0&&i.open_price>0&&i.lots>0){const e="BUY"===String(i.direction).toUpperCase()?1:-1;s=(a-i.open_price)*e*i.lots*l}t+=s+(i.swap||0)+(i.commission||0)}return{exposure:e,livePnl:t}},[h,m,u]),N=L>0?R/L*100:0,F=null!==(o=null===k||void 0===k||null===(l=k.today)||void 0===l?void 0:l.pnl)&&void 0!==o?o:0,$=null!==(s=null===k||void 0===k||null===(a=k.today)||void 0===a?void 0:a.pct)&&void 0!==s?s:0,W=h.length,B=!1!==(null===v||void 0===v?void 0:v.trading_allowed),U=(null===v||void 0===v?void 0:v.halt_reason)||"",H=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:VH,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return(0,Hg.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",padding:"6px 16px",borderRight:`1px solid ${HH}`,minWidth:110},children:[(0,Hg.jsx)("span",{style:{fontSize:8,color:YH,letterSpacing:"1.4px",fontFamily:ZH,fontWeight:700,textTransform:"uppercase",marginBottom:2},children:e}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:6},children:[(0,Hg.jsx)("span",{style:{fontSize:14,color:n,fontWeight:700,fontFamily:ZH,fontVariantNumeric:"tabular-nums",letterSpacing:"0.5px"},children:t}),r&&(0,Hg.jsx)("span",{style:{fontSize:9,color:n,opacity:.7,fontFamily:ZH,fontVariantNumeric:"tabular-nums"},children:r})]})]})},V=(0,t.useCallback)(async(e,t)=>{if(window.confirm(`Close position ${t} (#${e})?`))try{const t=await fetch(`/api/positions/${encodeURIComponent(e)}/close`,{method:"POST"}),r=await t.json().catch(()=>({}));var n;if(!t.ok||!1===r.success)return void alert(`Close failed: ${r.error||(null===(n=r.detail)||void 0===n?void 0:n.message)||`HTTP ${t.status}`}`);P()}catch(sd){alert(`Close error: ${sd.message}`)}},[P]),Y=(0,t.useCallback)(async(e,t,n)=>{try{const i={};""!==t&&null!=t&&(i.stop_loss=parseFloat(t)),""!==n&&null!=n&&(i.take_profit=parseFloat(n));const o=await fetch(`/api/positions/${encodeURIComponent(e)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)}),l=await o.json().catch(()=>({}));var r;if(!o.ok||!1===l.success)return void alert(`Modify failed: ${l.error||(null===(r=l.detail)||void 0===r?void 0:r.message)||`HTTP ${o.status}`}`);try{Hm("order_placed")}catch{}C(null),P()}catch(sd){alert(`Modify error: ${sd.message}`)}},[P]),G=(0,t.useCallback)(async(e,t)=>{if(window.confirm(`Cancel pending order on ${t} (#${e})?`))try{const t=await fetch(`/api/orders/${encodeURIComponent(e)}`,{method:"DELETE"}),r=await t.json().catch(()=>({}));var n;if(!t.ok||!1===r.success)return void alert(`Cancel failed: ${r.error||(null===(n=r.detail)||void 0===n?void 0:n.message)||`HTTP ${t.status}`}`);P()}catch(sd){alert(`Cancel error: ${sd.message}`)}},[P]),K=(0,t.useCallback)(async(e,t,n,r)=>{try{const o={};""!==t&&null!=t&&(o.price=parseFloat(t)),""!==n&&null!=n&&(o.stop_loss=parseFloat(n)),""!==r&&null!=r&&(o.take_profit=parseFloat(r));const l=await fetch(`/api/orders/${encodeURIComponent(e)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)}),s=await l.json().catch(()=>({}));var i;if(!l.ok||!1===s.success)return void alert(`Modify failed: ${s.error||(null===(i=s.detail)||void 0===i?void 0:i.message)||`HTTP ${l.status}`}`);try{Hm("order_placed")}catch{}M(null),P()}catch(sd){alert(`Modify error: ${sd.message}`)}},[P]);return(0,Hg.jsxs)("div",{style:{background:BH,borderTop:`1px solid ${HH}`,fontFamily:ZH,display:"flex",flexDirection:"column"},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"stretch",height:54,borderBottom:`1px solid ${HH}`,overflow:"hidden"},children:[H("BALANCE",null!=D?eV(D,2,I):"\u2014"),H("EQUITY",null!=L?eV(L,2,I):"\u2014",nV((L||0)-(D||0))),H("EXPOSURE",eV(R,2,I),R>0?XH:GH,R>0?tV(N):null),H("LIVE P&L",(z>=0?"+":"")+eV(z,2,I),nV(z)),H("TODAY",(F>=0?"+":"")+eV(F,2,I),nV(F),$?tV($):null),H("POSITIONS",String(W),W>0?KH:GH),(0,Hg.jsxs)("div",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:8,padding:"0 14px"},children:[!S&&(0,Hg.jsx)("span",{style:{fontSize:9,color:XH,fontWeight:700,letterSpacing:"1px",padding:"3px 8px",border:`1px solid ${XH}40`,background:`${XH}10`},children:"MT5 OFFLINE"}),S&&U&&(0,Hg.jsx)("span",{style:{fontSize:9,color:XH,opacity:.9,maxWidth:240,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:U,children:U}),(0,Hg.jsx)("span",{style:{fontSize:9,color:B?qH:XH,fontWeight:700,letterSpacing:"1.2px",padding:"3px 10px",border:`1px solid ${B?qH:XH}40`,background:`${B?qH:XH}12`},children:B?"LIVE":"HALTED"})]})]}),W>0&&(0,Hg.jsxs)("div",{style:{maxHeight:220,overflowY:"auto",borderBottom:`1px solid ${HH}`},children:[(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(90px, 1.2fr) 62px 70px 96px 96px 96px 96px 86px 86px 100px 120px",alignItems:"center",padding:"4px 12px",background:UH,borderBottom:`1px solid ${HH}`,fontSize:8,color:YH,letterSpacing:"1.5px",fontWeight:700,textTransform:"uppercase",gap:8},children:[(0,Hg.jsx)("span",{children:"TICKER"}),(0,Hg.jsx)("span",{children:"SIDE"}),(0,Hg.jsx)("span",{children:"LOTS"}),(0,Hg.jsx)("span",{children:"OPEN"}),(0,Hg.jsx)("span",{children:"CURRENT"}),(0,Hg.jsx)("span",{children:"STOP LOSS"}),(0,Hg.jsx)("span",{children:"TAKE PROFIT"}),(0,Hg.jsx)("span",{style:{textAlign:"right"},children:"RISK"}),(0,Hg.jsx)("span",{style:{textAlign:"right"},children:"REWARD"}),(0,Hg.jsx)("span",{style:{textAlign:"right"},children:"P&L"}),(0,Hg.jsx)("span",{style:{textAlign:"right"},children:"ACTIONS"})]}),h.map(e=>(0,Hg.jsx)(oV,{pos:e,symInfo:null===m||void 0===m?void 0:m[e.ticker],editing:E===e.ticket,currencySym:I,onEditStart:()=>C(e.ticket),onEditCancel:()=>C(null),onSave:(t,n)=>Y(e.ticket,t,n),onClose:()=>V(e.ticket,e.ticker)},e.ticket))]}),f.length>0&&(0,Hg.jsxs)("div",{style:{maxHeight:220,overflowY:"auto",borderBottom:`1px solid ${HH}`},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"4px 12px",background:`${QH}12`,borderBottom:`1px solid ${QH}40`,fontSize:9,color:QH,letterSpacing:"1.5px",fontWeight:800,textTransform:"uppercase"},children:["PENDING ORDERS ",(0,Hg.jsxs)("span",{style:{opacity:.7},children:["(",f.length,")"]})]}),(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(90px, 1.2fr) 90px 70px 96px 96px 96px 86px 86px 120px",alignItems:"center",padding:"4px 12px",background:UH,borderBottom:`1px solid ${HH}`,fontSize:8,color:YH,letterSpacing:"1.5px",fontWeight:700,textTransform:"uppercase",gap:8},children:[(0,Hg.jsx)("span",{children:"TICKER"}),(0,Hg.jsx)("span",{children:"TYPE"}),(0,Hg.jsx)("span",{children:"LOTS"}),(0,Hg.jsx)("span",{children:"PRICE"}),(0,Hg.jsx)("span",{children:"STOP LOSS"}),(0,Hg.jsx)("span",{children:"TAKE PROFIT"}),(0,Hg.jsx)("span",{style:{textAlign:"right"},children:"RISK"}),(0,Hg.jsx)("span",{style:{textAlign:"right"},children:"REWARD"}),(0,Hg.jsx)("span",{style:{textAlign:"right"},children:"ACTIONS"})]}),f.map(e=>(0,Hg.jsx)(sV,{order:e,symInfo:null===m||void 0===m?void 0:m[e.ticker],currencySym:I,editing:T===e.ticket,onEditStart:()=>M(e.ticket),onEditCancel:()=>M(null),onSave:(t,n,r)=>K(e.ticket,t,n,r),onCancelOrder:()=>G(e.ticket,e.ticker)},e.ticket))]})]})}function oV(e){let{pos:n,symInfo:r,editing:i,currencySym:o,onEditStart:l,onEditCancel:s,onSave:a,onClose:c}=e;const[d,u]=(0,t.useState)(""),[h,p]=(0,t.useState)("");(0,t.useEffect)(()=>{i&&(u(n.stop_loss>0?String(n.stop_loss):""),p(n.take_profit>0?String(n.take_profit):""))},[i,n.stop_loss,n.take_profit]);const f=(n.direction||"").toUpperCase(),g="BUY"===f?qH:"SELL"===f?XH:YH,m=nV(n.profit||0),y=e=>{if(null==e||!isFinite(e)||0===e)return"\u2014";const t=e<10?5:e<1e3?3:2;return e.toFixed(t)},v=rV(n.open_price,n.stop_loss,n.lots,r),x=rV(n.open_price,n.take_profit,n.lots,r),b=e=>null==e?"\u2014":`${o}${e.toFixed(2)}`;return(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(90px, 1.2fr) 62px 70px 96px 96px 96px 96px 86px 86px 100px 120px",alignItems:"center",padding:"6px 12px",borderBottom:`1px solid ${HH}`,fontSize:11,fontFamily:ZH,color:VH,fontVariantNumeric:"tabular-nums",gap:8},children:[(0,Hg.jsx)("span",{style:{fontWeight:700,color:KH},children:n.ticker}),(0,Hg.jsx)("span",{style:{fontSize:9,fontWeight:800,letterSpacing:"1px",padding:"2px 7px",border:`1px solid ${g}50`,background:`${g}15`,color:g,textAlign:"center",justifySelf:"start"},children:f}),(0,Hg.jsx)("span",{children:(n.lots||0).toFixed(2)}),(0,Hg.jsx)("span",{style:{color:YH},children:y(n.open_price)}),(0,Hg.jsx)("span",{children:y(n.current_price)}),i?(0,Hg.jsx)("input",{value:d,onChange:e=>u(e.target.value),placeholder:"0",style:{background:WH,border:`1px solid ${XH}60`,color:XH,fontFamily:ZH,fontSize:10,padding:"3px 6px",outline:"none",width:"100%"}}):(0,Hg.jsx)("span",{style:{color:n.stop_loss>0?XH:GH},children:y(n.stop_loss)}),i?(0,Hg.jsx)("input",{value:h,onChange:e=>p(e.target.value),placeholder:"0",style:{background:WH,border:`1px solid ${qH}60`,color:qH,fontFamily:ZH,fontSize:10,padding:"3px 6px",outline:"none",width:"100%"}}):(0,Hg.jsx)("span",{style:{color:n.take_profit>0?qH:GH},children:y(n.take_profit)}),(0,Hg.jsx)("span",{style:{color:null!=v?XH:GH,fontWeight:700,textAlign:"right"},title:"Loss in account currency if SL hit",children:b(v)}),(0,Hg.jsx)("span",{style:{color:null!=x?qH:GH,fontWeight:700,textAlign:"right"},title:"Gain in account currency if TP hit",children:b(x)}),(0,Hg.jsx)("span",{style:{color:m,fontWeight:700,textAlign:"right"},children:(n.profit>=0?"+":"")+eV(n.profit||0,2,o)}),(0,Hg.jsx)("div",{style:{display:"flex",gap:4,justifyContent:"flex-end"},children:i?(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("button",{onClick:()=>a(d,h),style:lV(qH,!0),title:"Save SL/TP",children:"SAVE"}),(0,Hg.jsx)("button",{onClick:s,style:lV(GH),title:"Cancel",children:"\xd7"})]}):(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("button",{onClick:l,style:lV(JH),title:"Edit SL / TP",children:"EDIT"}),(0,Hg.jsx)("button",{onClick:c,style:lV(XH,!0),title:"Close position",children:"CLOSE"})]})})]})}function lV(e){return{background:`${e}15`,border:`1px solid ${e}50`,color:e,fontFamily:ZH,fontSize:9,fontWeight:arguments.length>1&&void 0!==arguments[1]&&arguments[1]?800:700,letterSpacing:"0.5px",padding:"3px 8px",cursor:"pointer",minWidth:42}}function sV(e){let{order:n,symInfo:r,currencySym:i="$",editing:o,onEditStart:l,onEditCancel:s,onSave:a,onCancelOrder:c}=e;const[d,u]=(0,t.useState)(""),[h,p]=(0,t.useState)(""),[f,g]=(0,t.useState)("");(0,t.useEffect)(()=>{o&&(u(n.price>0?String(n.price):""),p(n.stop_loss>0?String(n.stop_loss):""),g(n.take_profit>0?String(n.take_profit):""))},[o,n.price,n.stop_loss,n.take_profit]);const m=(n.direction||"").toUpperCase(),y=(n.order_type||"").toUpperCase(),v="BUY"===m?qH:"SELL"===m?XH:YH,x=e=>{if(null==e||!isFinite(e)||0===e)return"\u2014";const t=e<10?5:e<1e3?3:2;return e.toFixed(t)},b=rV(n.price,n.stop_loss,n.lots,r),w=rV(n.price,n.take_profit,n.lots,r),S=e=>null==e?"\u2014":`${i}${e.toFixed(2)}`;return(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(90px, 1.2fr) 90px 70px 96px 96px 96px 86px 86px 120px",alignItems:"center",padding:"6px 12px",borderBottom:`1px solid ${HH}`,fontSize:11,fontFamily:ZH,color:VH,fontVariantNumeric:"tabular-nums",gap:8},children:[(0,Hg.jsx)("span",{style:{fontWeight:700,color:KH},children:n.ticker}),(0,Hg.jsxs)("span",{style:{fontSize:9,fontWeight:800,letterSpacing:"1px",padding:"2px 7px",border:`1px solid ${v}50`,background:`${v}15`,color:v,textAlign:"center",justifySelf:"start"},children:[m," ",y]}),(0,Hg.jsx)("span",{children:(n.lots||0).toFixed(2)}),o?(0,Hg.jsx)("input",{value:d,onChange:e=>u(e.target.value),placeholder:"0",style:{background:WH,border:`1px solid ${QH}60`,color:QH,fontFamily:ZH,fontSize:10,padding:"3px 6px",outline:"none",width:"100%"}}):(0,Hg.jsx)("span",{style:{color:QH,fontWeight:700},children:x(n.price)}),o?(0,Hg.jsx)("input",{value:h,onChange:e=>p(e.target.value),placeholder:"0",style:{background:WH,border:`1px solid ${XH}60`,color:XH,fontFamily:ZH,fontSize:10,padding:"3px 6px",outline:"none",width:"100%"}}):(0,Hg.jsx)("span",{style:{color:n.stop_loss>0?XH:GH},children:x(n.stop_loss)}),o?(0,Hg.jsx)("input",{value:f,onChange:e=>g(e.target.value),placeholder:"0",style:{background:WH,border:`1px solid ${qH}60`,color:qH,fontFamily:ZH,fontSize:10,padding:"3px 6px",outline:"none",width:"100%"}}):(0,Hg.jsx)("span",{style:{color:n.take_profit>0?qH:GH},children:x(n.take_profit)}),(0,Hg.jsx)("span",{style:{color:null!=b?XH:GH,fontWeight:700,textAlign:"right"},title:"Loss in account currency if SL hit after this order fills",children:S(b)}),(0,Hg.jsx)("span",{style:{color:null!=w?qH:GH,fontWeight:700,textAlign:"right"},title:"Gain in account currency if TP hit after this order fills",children:S(w)}),(0,Hg.jsx)("div",{style:{display:"flex",gap:4,justifyContent:"flex-end"},children:o?(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("button",{onClick:()=>a(d,h,f),style:lV(qH,!0),title:"Save changes",children:"SAVE"}),(0,Hg.jsx)("button",{onClick:s,style:lV(GH),title:"Cancel edit",children:"\xd7"})]}):(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("button",{onClick:l,style:lV(JH),title:"Modify price / SL / TP",children:"MODIFY"}),(0,Hg.jsx)("button",{onClick:c,style:lV(XH,!0),title:"Cancel pending order",children:"CANCEL"})]})})]})}function aV(e){return e}function cV(e,t){var n=t.id,r=t.bbox,i=null==t.properties?{}:t.properties,o=function(e,t){var n=function(e){if(null==e)return aV;var t,n,r=e.scale[0],i=e.scale[1],o=e.translate[0],l=e.translate[1];return function(e,s){s||(t=n=0);var a=2,c=e.length,d=new Array(c);for(d[0]=(t+=e[0])*r+o,d[1]=(n+=e[1])*i+l;a<c;)d[a]=e[a],++a;return d}}(e.transform),r=e.arcs;function i(e,t){t.length&&t.pop();for(var i=r[e<0?~e:e],o=0,l=i.length;o<l;++o)t.push(n(i[o],o));e<0&&function(e,t){for(var n,r=e.length,i=r-t;i<--r;)n=e[i],e[i++]=e[r],e[r]=n}(t,l)}function o(e){return n(e)}function l(e){for(var t=[],n=0,r=e.length;n<r;++n)i(e[n],t);return t.length<2&&t.push(t[0]),t}function s(e){for(var t=l(e);t.length<4;)t.push(t[0]);return t}function a(e){return e.map(s)}function c(e){var t,n=e.type;switch(n){case"GeometryCollection":return{type:n,geometries:e.geometries.map(c)};case"Point":t=o(e.coordinates);break;case"MultiPoint":t=e.coordinates.map(o);break;case"LineString":t=l(e.arcs);break;case"MultiLineString":t=e.arcs.map(l);break;case"Polygon":t=a(e.arcs);break;case"MultiPolygon":t=e.arcs.map(a);break;default:return null}return{type:n,coordinates:t}}return c(t)}(e,t);return null==n&&null==r?{type:"Feature",properties:i,geometry:o}:null==r?{type:"Feature",id:n,properties:i,geometry:o}:{type:"Feature",id:n,bbox:r,properties:i,geometry:o}}const dV={bg:"#000000",bg1:"#080808",bg2:"#0e0e0e",bg3:"#141414",border:"#1e1e1e",border2:"#2a2a2a",orange:"#ff6d00",green:"#2ebd59",red:"#e8383b",blue:"#3796ff",amber:"#ffa500",cyan:"#00d2d3",white:"#f0f0f0",gray:"#888",muted:"#444"},uV="'Courier New', Consolas, 'Liberation Mono', monospace",hV={REFLATION:dV.amber,GOLDILOCKS:dV.green,STAGFLATION:dV.red,DEFLATION:dV.blue},pV={BONDS:{x:.38,y:.06},FX:{x:.06,y:.35},EQUITIES:{x:.94,y:.28},OPTIONS:{x:.5,y:.42},CASH:{x:.06,y:.72},CRYPTO:{x:.94,y:.72},COMMODITIES:{x:.5,y:.92}};function fV(){var e,n,r;const[i,o]=(0,t.useState)(null),[l,s]=(0,t.useState)(!0),[a,c]=(0,t.useState)(null),[d,u]=(0,t.useState)(null),[h,p]=(0,t.useState)("macro"),f=(0,t.useCallback)(e=>{fetch(`/api/fundamental/money-flow?period=${e}`).then(e=>e.ok?e.json():null).then(e=>{e&&o(e),s(!1)}).catch(()=>s(!1))},[]);(0,t.useEffect)(()=>{f(h);const e=setInterval(()=>f(h),3e5);return()=>clearInterval(e)},[h,f]);const g=44,m=44,y=20,v=26,x=(0,t.useMemo)(()=>{const e={};for(const[t,n]of Object.entries(pV))e[t]={x:g+n.x*(560-g-m),y:y+n.y*(340-y-v)};return e},[]);if(l)return(0,Hg.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",minHeight:400,color:dV.gray,fontSize:10,fontFamily:uV,letterSpacing:"2px"},children:"COMPUTING CAPITAL FLOWS..."});if(!i||!i.sectors)return(0,Hg.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",minHeight:400,gap:10},children:[(0,Hg.jsx)("div",{style:{color:dV.red,fontSize:10,fontFamily:uV},children:"No flow data available"}),(0,Hg.jsx)("div",{style:{color:dV.muted,fontSize:9,fontFamily:uV},children:"Capital flow data has not been synced yet"})]});const b=i.sectors||{},w=i.flows||[];return(0,Hg.jsxs)("div",{style:{fontFamily:uV,color:dV.white,padding:"0 8px 12px"},children:[(0,Hg.jsx)("style",{children:"\n@keyframes flowDash {\n 0% { stroke-dashoffset: 20; }\n 100% { stroke-dashoffset: 0; }\n}\n@keyframes pulse {\n 0%, 100% { opacity: 0.6; transform: scale(1); }\n 50% { opacity: 1; transform: scale(1.15); }\n}\n@keyframes glowPulse {\n 0%, 100% { filter: drop-shadow(0 0 4px currentColor); }\n 50% { filter: drop-shadow(0 0 12px currentColor); }\n}\n@keyframes fadeInUp {\n from { opacity: 0; transform: translateY(10px); }\n to { opacity: 1; transform: translateY(0); }\n}\n"}),(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"6px 4px 10px",borderBottom:`1px solid ${dV.border}`},children:[(0,Hg.jsxs)("div",{children:[(0,Hg.jsx)("span",{style:{fontSize:11,fontWeight:700,letterSpacing:"2px",color:dV.orange},children:"CAPITAL FLOW MAP"}),(0,Hg.jsx)("span",{style:{fontSize:9,fontWeight:700,color:hV[i.regime]||dV.gray,padding:"1px 8px",marginLeft:10,border:`1px solid ${hV[i.regime]||dV.gray}40`,borderRadius:2,background:`${hV[i.regime]||dV.gray}10`},children:i.regime}),(0,Hg.jsxs)("span",{style:{fontSize:9,color:dV.muted,marginLeft:10},children:[i.net_liquidity_t," \xb7 ",i.liq_trend]}),(0,Hg.jsx)("span",{style:{fontSize:8,color:dV.gray,marginLeft:10,padding:"1px 6px",border:`1px solid ${dV.border2}`,borderRadius:2},children:"REF: 4-WEEK \u0394"})]}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,Hg.jsx)("span",{style:{fontSize:8,color:dV.muted},children:null===(e=i.computed_at)||void 0===e?void 0:e.slice(0,16).replace("T"," ")}),(0,Hg.jsx)("div",{style:{display:"flex",gap:0,border:`1px solid ${dV.border2}`,borderRadius:3,overflow:"hidden"},children:[{id:"macro",label:"MACRO",sub:"4W"},{id:"weekly",label:"MICRO",sub:"7D"}].map(e=>(0,Hg.jsxs)("button",{onClick:()=>p(e.id),style:{padding:"3px 12px",fontSize:9,fontWeight:700,fontFamily:uV,background:h===e.id?`${dV.orange}20`:"transparent",color:h===e.id?dV.orange:dV.gray,border:"none",borderRight:"macro"===e.id?`1px solid ${dV.border2}`:"none",cursor:"pointer",letterSpacing:"1px"},children:[e.label," ",(0,Hg.jsx)("span",{style:{fontSize:7,opacity:.6},children:e.sub})]},e.id))})]})]}),(0,Hg.jsxs)("div",{style:{position:"relative",marginTop:8},children:[(0,Hg.jsxs)("div",{style:{position:"absolute",top:6,right:6,zIndex:5,background:`${dV.bg2}e8`,border:`1px solid ${dV.border2}`,borderRadius:4,padding:"12px 18px",backdropFilter:"blur(6px)",minWidth:160},children:[(0,Hg.jsx)("div",{style:{fontSize:10,color:dV.muted,letterSpacing:"1.5px",marginBottom:4,fontWeight:700},children:"SYSTEM LIQUIDITY"}),(0,Hg.jsx)("div",{style:{fontSize:22,fontWeight:700,color:"EXPANDING"===i.liq_trend?dV.green:dV.red},children:i.net_liquidity_t}),(0,Hg.jsxs)("div",{style:{fontSize:12,color:"EXPANDING"===i.liq_trend?dV.green:dV.red,marginTop:3,fontWeight:600},children:["EXPANDING"===i.liq_trend?"\u25b2":"\u25bc"," ",i.liq_delta_label||i.liq_trend]}),(0,Hg.jsxs)("div",{style:{fontSize:9,color:dV.gray,marginTop:4},children:[i.net_liquidity_prev_t&&"?"!==i.net_liquidity_prev_t?`was ${i.net_liquidity_prev_t}`:""," \xb7 ","macro"===h?"4-week \u0394":"7-day \u0394"]})]}),(0,Hg.jsxs)("svg",{width:"100%",viewBox:"0 0 560 340",style:{display:"block"},children:[(0,Hg.jsx)("defs",{children:(0,Hg.jsxs)("radialGradient",{id:"centerGlow",cx:"50%",cy:"50%",r:"50%",children:[(0,Hg.jsx)("stop",{offset:"0%",stopColor:dV.orange,stopOpacity:"0.06"}),(0,Hg.jsx)("stop",{offset:"100%",stopColor:dV.orange,stopOpacity:"0"})]})}),(0,Hg.jsx)("circle",{cx:280,cy:170,r:90,fill:"url(#centerGlow)"}),w.map((e,t)=>{const n=x[e.from],r=x[e.to];if(!n||!r)return null;const i=function(e,t,n,r){const i=(e+n)/2,o=(t+r)/2,l=n-e,s=r-t,a=Math.sqrt(l*l+s*s),c=.35*a;return`M ${e} ${t} Q ${i+-s/a*c} ${o+l/a*c} ${n} ${r}`}(n.x,n.y,r.x,r.y),o=a===t,l="rotation"===e.type?dV.orange:"liquidity"===e.type?dV.cyan:"yield_driven"===e.type?dV.blue:"positioning"===e.type?dV.amber:"hedging"===e.type?"#9b59b6":(e.type,dV.gray),s=Math.max(1,Math.min(4,4*e.strength)),d=(n.x+r.x)/2,u=(n.y+r.y)/2,h=r.x-n.x,p=r.y-n.y,f=Math.sqrt(h*h+p*p),g=-p/f*f*.18,m=h/f*f*.18;return(0,Hg.jsxs)("g",{onMouseEnter:()=>c(t),onMouseLeave:()=>c(null),style:{cursor:"pointer"},children:[(0,Hg.jsx)("path",{d:i,fill:"none",stroke:l,strokeWidth:s+4,opacity:.08}),(0,Hg.jsx)("path",{d:i,fill:"none",stroke:l,strokeWidth:s,opacity:o?.7:.3}),(0,Hg.jsx)("path",{d:i,fill:"none",stroke:l,strokeWidth:s,strokeDasharray:"4,16",opacity:o?.9:.6,style:{animation:`flowDash ${1.5/Math.max(.3,e.strength)}s linear infinite`}}),(0,Hg.jsx)("circle",{cx:d+g,cy:u+m,r:o?4:3,fill:l,opacity:.8}),(0,Hg.jsxs)("text",{x:d+g,y:u+m-8,fontSize:o?10:8,fill:l,textAnchor:"middle",fontFamily:uV,fontWeight:700,opacity:o?1:.7,children:["$",e.amount_b,"B"]}),(0,Hg.jsx)("path",{d:i,fill:"none",stroke:"transparent",strokeWidth:16})]},t)}),Object.entries(b).map(e=>{let[t,n]=e;const r=x[t];if(!r)return null;const i=n.net_flow_b>0,o=n.net_flow_b<0,l=n.color||dV.gray,s=d===t,a=s?32:28;return(0,Hg.jsxs)("g",{onMouseEnter:()=>u(t),onMouseLeave:()=>u(null),style:{cursor:"pointer"},children:[(0,Hg.jsx)("circle",{cx:r.x,cy:r.y,r:a+6,fill:"none",stroke:l,strokeWidth:1,opacity:.15,style:i||o?{animation:"glowPulse 2s ease-in-out infinite"}:{}}),(0,Hg.jsx)("circle",{cx:r.x,cy:r.y,r:a,fill:dV.bg2,stroke:l,strokeWidth:s?2.5:1.5,opacity:.9}),(0,Hg.jsx)("circle",{cx:r.x,cy:r.y,r:a-2,fill:i?`${dV.green}15`:o?`${dV.red}10`:`${dV.gray}08`}),(0,Hg.jsx)("text",{x:r.x,y:r.y-5,fontSize:14,textAnchor:"middle",dominantBaseline:"middle",fill:dV.white,fontFamily:uV,fontWeight:700,children:{EQUITIES:"\u25c6",COMMODITIES:"\u2b21",FX:"$\xa5",BONDS:"\u2261",CASH:"$",CRYPTO:"\u20bf",OPTIONS:"\u26a1"}[t]||"\u25cf"}),(0,Hg.jsx)("text",{x:r.x,y:r.y+7,fontSize:7,fill:l,textAnchor:"middle",fontFamily:uV,fontWeight:700,letterSpacing:"0.5",children:n.label.toUpperCase()}),(0,Hg.jsxs)("text",{x:r.x,y:r.y+17,fontSize:8,fontFamily:uV,textAnchor:"middle",fontWeight:700,fill:i?dV.green:o?dV.red:dV.muted,children:[i?"\u25b2":o?"\u25bc":"\u2014"," $",Math.abs(n.net_flow_b)<1&&0!==n.net_flow_b?Math.abs(n.net_flow_b).toFixed(1):Math.abs(n.net_flow_b).toFixed(0),"B"]})]},t)})]}),null!==a&&w[a]&&(0,Hg.jsxs)("div",{style:{position:"absolute",top:10,right:10,background:dV.bg3,border:`1px solid ${dV.border2}`,borderRadius:4,padding:"10px 14px",maxWidth:260,zIndex:10,boxShadow:"0 4px 20px rgba(0,0,0,0.5)",animation:"fadeInUp 0.2s ease-out"},children:[(0,Hg.jsxs)("div",{style:{fontSize:11,fontWeight:700,color:dV.orange,marginBottom:4},children:["$",w[a].amount_b,"B FLOW"]}),(0,Hg.jsxs)("div",{style:{fontSize:10,color:dV.white,marginBottom:4},children:[(null===(n=b[w[a].from])||void 0===n?void 0:n.label)||w[a].from,(0,Hg.jsx)("span",{style:{color:dV.orange,margin:"0 6px"},children:"\u2192"}),(null===(r=b[w[a].to])||void 0===r?void 0:r.label)||w[a].to]}),(0,Hg.jsx)("div",{style:{fontSize:9,color:dV.gray,lineHeight:"1.5"},children:w[a].reason}),(0,Hg.jsxs)("div",{style:{fontSize:8,color:dV.muted,marginTop:4},children:["Type: ",w[a].type," \xb7 Strength: ",(100*w[a].strength).toFixed(0),"%"]})]}),d&&b[d]&&(0,Hg.jsxs)("div",{style:{position:"absolute",top:10,left:10,background:dV.bg3,border:`1px solid ${b[d].color}40`,borderRadius:4,padding:"10px 14px",maxWidth:240,zIndex:10,boxShadow:"0 4px 20px rgba(0,0,0,0.5)",animation:"fadeInUp 0.2s ease-out"},children:[(0,Hg.jsxs)("div",{style:{fontSize:12,fontWeight:700,color:b[d].color},children:[b[d].icon," ",b[d].label]}),(0,Hg.jsxs)("div",{style:{fontSize:10,color:dV.white,marginTop:4},children:["Sentiment: ",(0,Hg.jsx)("span",{style:{fontWeight:700,color:b[d].net_flow_b>0?dV.green:b[d].net_flow_b<0?dV.red:dV.gray},children:b[d].sentiment})]}),(0,Hg.jsxs)("div",{style:{fontSize:9,color:dV.gray,marginTop:2},children:["Macro Score: ",b[d].macro_score>0?"+":"",b[d].macro_score,b[d].cot_z?` \xb7 COT z: ${b[d].cot_z>0?"+":""}${b[d].cot_z}`:""]}),(0,Hg.jsxs)("div",{style:{fontSize:9,color:dV.muted,marginTop:2},children:["Net Flow: ",(0,Hg.jsxs)("span",{style:{color:b[d].net_flow_b>0?dV.green:dV.red,fontWeight:700},children:[b[d].net_flow_b>0?"+":"",b[d].net_flow_b,"B"]}),(0,Hg.jsx)("span",{style:{color:dV.gray},children:" vs 4 weeks ago"})]})]})]}),(0,Hg.jsx)("div",{style:{display:"flex",justifyContent:"center",gap:16,padding:"8px 0",borderTop:`1px solid ${dV.border}`,marginTop:4},children:[{color:dV.orange,label:"Rotation"},{color:dV.cyan,label:"Liquidity"},{color:dV.blue,label:"Yield-driven"},{color:dV.amber,label:"Positioning"},{color:"#9b59b6",label:"Hedging"}].map(e=>(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,Hg.jsx)("div",{style:{width:16,height:2,background:e.color,borderRadius:1}}),(0,Hg.jsx)("span",{style:{fontSize:8,color:dV.gray},children:e.label})]},e.label))}),(0,Hg.jsxs)("div",{style:{marginTop:8,background:dV.bg2,border:`1px solid ${dV.border}`,borderRadius:4,padding:"8px 12px"},children:[(0,Hg.jsx)("div",{style:{fontSize:9,color:dV.gray,letterSpacing:"1.5px",marginBottom:6,fontWeight:700},children:"ACTIVE FLOWS"}),w.map((e,t)=>{var n,r;return(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"4px 0",borderBottom:t<w.length-1?`1px solid ${dV.border}08`:"none",opacity:a===t?1:.8},onMouseEnter:()=>c(t),onMouseLeave:()=>c(null),children:[(0,Hg.jsxs)("span",{style:{width:50,fontSize:11,fontWeight:700,color:dV.orange,fontFamily:uV},children:["$",e.amount_b,"B"]}),(0,Hg.jsx)("span",{style:{width:90,fontSize:9,color:dV.white},children:(null===(n=b[e.from])||void 0===n?void 0:n.label)||e.from}),(0,Hg.jsx)("span",{style:{fontSize:9,color:dV.orange},children:"\u2192"}),(0,Hg.jsx)("span",{style:{width:90,fontSize:9,color:dV.white},children:(null===(r=b[e.to])||void 0===r?void 0:r.label)||e.to}),(0,Hg.jsx)("span",{style:{flex:1,fontSize:8,color:dV.muted,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.reason}),(0,Hg.jsx)("div",{style:{width:40,height:3,background:dV.bg3,borderRadius:2},children:(0,Hg.jsx)("div",{style:{width:100*e.strength+"%",height:"100%",background:"rotation"===e.type?dV.orange:"liquidity"===e.type?dV.cyan:dV.blue,borderRadius:2}})})]},t)})]})]})}const gV="#000000",mV="#0a0a0a",yV="#111111",vV="#222222",xV="#ffffff",bV="#999999",wV="#444444",SV="#ff6d00",jV="#2ebd59",kV="#e8383b",_V="#ffa500",EV="'Courier New', Consolas, 'Liberation Mono', monospace",CV=[{id:"flows",label:"CAPITAL FLOWS"},{id:"sectors",label:"SECTORS"},{id:"global",label:"GLOBAL"}];function TV(e){let{top5:t,bottom5:n,periodLabel:r}=e;const i=(e,t)=>{const n="1W"===r?e.chg_1w:e.chg_4w,i=n>=0?jV:kV,o=n>=0?"\u25b2":"\u25bc";return(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"5px 12px",borderBottom:`1px solid ${vV}`,background:t%2===0?yV:"transparent"},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,Hg.jsxs)("span",{style:{fontSize:10,color:wV,fontFamily:EV,width:16},children:[t+1,"."]}),(0,Hg.jsx)("span",{style:{fontSize:11,color:xV,fontFamily:EV,fontWeight:600},children:e.name||e.ticker}),e.code&&(0,Hg.jsx)("span",{style:{fontSize:9,color:bV,fontFamily:EV},children:e.code})]}),(0,Hg.jsxs)("span",{style:{fontSize:11,color:i,fontFamily:EV,fontWeight:700},children:[o," ",Math.abs(n).toFixed(2),"%"]})]},t)};return(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:20,padding:"16px 24px"},children:[(0,Hg.jsxs)("div",{children:[(0,Hg.jsxs)("div",{style:{fontSize:10,fontWeight:700,color:jV,fontFamily:EV,letterSpacing:"1.5px",padding:"8px 12px",borderBottom:`2px solid ${jV}44`,marginBottom:2},children:["\u25b2 TOP 5 \u2014 ",r]}),t.map((e,t)=>i(e,t))]}),(0,Hg.jsxs)("div",{children:[(0,Hg.jsxs)("div",{style:{fontSize:10,fontWeight:700,color:kV,fontFamily:EV,letterSpacing:"1.5px",padding:"8px 12px",borderBottom:`2px solid ${kV}44`,marginBottom:2},children:["\u25bc BOTTOM 5 \u2014 ",r]}),n.map((e,t)=>i(e,t))]})]})}function MV(e){let{period:t,onChange:n}=e;return(0,Hg.jsx)("div",{style:{display:"flex",gap:2,background:yV,borderRadius:3,padding:2},children:["1W","4W"].map(e=>(0,Hg.jsx)("button",{onClick:()=>n(e),style:{background:t===e?`${SV}22`:"transparent",border:t===e?`1px solid ${SV}`:"1px solid transparent",color:t===e?SV:wV,fontSize:9,fontWeight:700,fontFamily:EV,padding:"3px 10px",cursor:"pointer",letterSpacing:"1px"},children:e},e))})}function OV(e){let{data:n,period:r}=e;const i=(0,t.useRef)(null),[o,l]=(0,t.useState)({w:800,h:420});(0,t.useEffect)(()=>{if(!i.current)return;const e=new ResizeObserver(e=>{const{width:t}=e[0].contentRect;l({w:Math.max(600,t),h:420})});return e.observe(i.current),()=>e.disconnect()},[]);const s=(null===n||void 0===n?void 0:n.sectors)||[],a="1W"===r?"chg_1w":"chg_4w",c=(0,t.useMemo)(()=>{if(!s.length)return[];const e=Math.max(...s.map(e=>Math.abs(e[a])),.01),t=s.map(t=>{const n=42+Math.abs(t[a])/e*30;return{...t,r:n,val:t[a]}}),n=io(t.map(e=>({...e,r:e.r+4})));let r=1/0,i=-1/0,l=1/0,c=-1/0;for(const o of n)o.x-o.r<r&&(r=o.x-o.r),o.x+o.r>i&&(i=o.x+o.r),o.y-o.r<l&&(l=o.y-o.r),o.y+o.r>c&&(c=o.y+o.r);const d=i-r,u=c-l,h=Math.max(1,o.w-32),p=Math.max(1,o.h-32),f=Math.min(1,h/d,p/u),g=(r+i)/2,m=(l+c)/2,y=o.w/2,v=o.h/2;return n.map((e,n)=>({...t[n],x:(e.x-g)*f+y,y:(e.y-m)*f+v,r:t[n].r*f}))},[s,a,o]);return(0,Hg.jsx)("div",{ref:i,style:{width:"100%",position:"relative"},children:(0,Hg.jsx)("svg",{width:o.w,height:o.h,style:{display:"block",margin:"0 auto"},children:c.map(e=>{const t=e.val>=0,n=t?jV:kV,r=t?`${jV}18`:`${kV}18`,i=t?`${jV}55`:`${kV}55`;return(0,Hg.jsxs)("g",{style:{cursor:"default"},children:[(0,Hg.jsx)("circle",{cx:e.x,cy:e.y,r:e.r+2,fill:"none",stroke:i,strokeWidth:1.5,opacity:.5}),(0,Hg.jsx)("circle",{cx:e.x,cy:e.y,r:e.r,fill:r,stroke:i,strokeWidth:1}),(0,Hg.jsx)("text",{x:e.x,y:e.y-8,textAnchor:"middle",fill:xV,fontSize:e.r>55?10:9,fontWeight:700,fontFamily:EV,style:{textTransform:"uppercase",letterSpacing:"0.5px"},children:e.name.length>14?e.name.slice(0,12)+"\u2026":e.name}),(0,Hg.jsx)("text",{x:e.x,y:e.y+5,textAnchor:"middle",fill:wV,fontSize:8,fontFamily:EV,children:e.ticker}),(0,Hg.jsxs)("text",{x:e.x,y:e.y+20,textAnchor:"middle",fill:n,fontSize:13,fontWeight:800,fontFamily:EV,children:[e.val>=0?"+":"",e.val.toFixed(2),"%"]})]},e.ticker)})})})}function AV(){const[e,n]=(0,t.useState)(!1),[r,i]=(0,t.useState)(!1);return(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("div",{onClick:()=>n(e=>!e),onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),style:{position:"absolute",top:-22,left:20,width:28,height:28,display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer",zIndex:15,borderRadius:"50%",background:e?`${SV}22`:`${yV}cc`,border:`1px solid ${e?SV:r?bV:vV}`,transition:"all 0.2s",filter:r&&!e?`drop-shadow(0 0 6px ${SV}66)`:"none"},title:"How to read this map",children:(0,Hg.jsxs)("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:e?SV:r?xV:bV,strokeWidth:1.8,children:[(0,Hg.jsx)("circle",{cx:12,cy:12,r:10}),(0,Hg.jsx)("ellipse",{cx:12,cy:12,rx:4.5,ry:10}),(0,Hg.jsx)("line",{x1:2,y1:12,x2:22,y2:12}),(0,Hg.jsx)("path",{d:"M4 7h16M4 17h16",strokeWidth:1,opacity:.5}),(0,Hg.jsx)("text",{x:12,y:16,textAnchor:"middle",fill:e?SV:r?xV:bV,fontSize:10,fontWeight:900,fontFamily:EV,stroke:"none",children:"?"})]})}),e&&(0,Hg.jsxs)("div",{style:{position:"absolute",top:12,left:20,width:340,background:`${yV}f8`,border:`1px solid ${SV}44`,borderRadius:6,padding:"14px 16px",zIndex:14,boxShadow:"0 8px 32px rgba(0,0,0,0.6)",maxHeight:"80%",overflowY:"auto"},children:[(0,Hg.jsx)("div",{onClick:()=>n(!1),style:{position:"absolute",top:8,right:10,cursor:"pointer",color:wV,fontSize:12,fontFamily:EV},children:"\u2715"}),(0,Hg.jsx)("div",{style:{fontSize:11,color:SV,fontFamily:EV,fontWeight:800,marginBottom:10,letterSpacing:"1px"},children:"HOW TO READ THIS MAP"}),(0,Hg.jsxs)("div",{style:{marginBottom:10},children:[(0,Hg.jsx)("div",{style:{fontSize:9,color:xV,fontFamily:EV,fontWeight:700,marginBottom:4},children:"WHAT AM I LOOKING AT?"}),(0,Hg.jsxs)("div",{style:{fontSize:8,color:bV,fontFamily:EV,lineHeight:"1.6"},children:["Each country is colored by its stock market performance over the selected period (1 week or 4 weeks)."," ",(0,Hg.jsx)("span",{style:{color:jV,fontWeight:700},children:"Green"})," = market gaining,"," ",(0,Hg.jsx)("span",{style:{color:kV,fontWeight:700},children:"Red"})," = market declining. The brighter the color, the stronger the move. Hover any country for exact numbers."]})]}),(0,Hg.jsxs)("div",{style:{marginBottom:10},children:[(0,Hg.jsx)("div",{style:{fontSize:9,color:xV,fontFamily:EV,fontWeight:700,marginBottom:4},children:"WHAT DO THE FLOW LINES MEAN?"}),(0,Hg.jsx)("div",{style:{fontSize:8,color:bV,fontFamily:EV,lineHeight:"1.6"},children:"Arcs represent capital rotation channels \u2014 real-world routes money travels between regions. Transatlantic (US\u2194Europe), transpacific (US\u2194Asia), developed\u2194emerging, and key bilateral pairs (US-China, US-Japan). Direction is determined by which side of the channel is outperforming. Hover any arc to see the channel name and magnitude."})]}),(0,Hg.jsxs)("div",{style:{marginBottom:10},children:[(0,Hg.jsx)("div",{style:{fontSize:9,color:xV,fontFamily:EV,fontWeight:700,marginBottom:4},children:"HOW TO USE IN TRADING"}),(0,Hg.jsxs)("div",{style:{fontSize:8,color:bV,fontFamily:EV,lineHeight:"1.6"},children:[(0,Hg.jsx)("span",{style:{color:jV},children:"\u25ba"})," ",(0,Hg.jsx)("span",{style:{color:xV,fontWeight:600},children:"Confirm your bias"})," \u2014 planning to long EUR/USD? Check if Europe is green and US is red. If capital is flowing into Europe, your trade has macro wind behind it."]}),(0,Hg.jsxs)("div",{style:{fontSize:8,color:bV,fontFamily:EV,lineHeight:"1.6",marginTop:4},children:[(0,Hg.jsx)("span",{style:{color:jV},children:"\u25ba"})," ",(0,Hg.jsx)("span",{style:{color:xV,fontWeight:600},children:"Spot risk regime"})," \u2014 if all emerging markets are green and safe havens (US, JP, CH) are red, global risk appetite is high. Favor risk-on positions. The opposite means defensive positioning."]}),(0,Hg.jsxs)("div",{style:{fontSize:8,color:bV,fontFamily:EV,lineHeight:"1.6",marginTop:4},children:[(0,Hg.jsx)("span",{style:{color:jV},children:"\u25ba"})," ",(0,Hg.jsx)("span",{style:{color:xV,fontWeight:600},children:"Watch for divergences"})," \u2014 if one country is deep red while its neighbors are green, it could mean a country-specific problem (avoid) or a mean-reversion opportunity (potential long). Check the news before acting."]}),(0,Hg.jsxs)("div",{style:{fontSize:8,color:bV,fontFamily:EV,lineHeight:"1.6",marginTop:4},children:[(0,Hg.jsx)("span",{style:{color:_V},children:"\u25ba"})," ",(0,Hg.jsx)("span",{style:{color:xV,fontWeight:600},children:"Be cautious with yield-seeking flows"})," \u2014 amber arcs show money chasing high-yield emerging markets. These flows reverse fast on any risk event. Don't chase them late."]})]}),(0,Hg.jsxs)("div",{style:{borderTop:`1px solid ${vV}`,paddingTop:8,marginTop:4},children:[(0,Hg.jsx)("div",{style:{fontSize:9,color:xV,fontFamily:EV,fontWeight:700,marginBottom:4},children:"\u26a0 ACCURACY"}),(0,Hg.jsx)("div",{style:{fontSize:8,color:wV,fontFamily:EV,lineHeight:"1.6"},children:'Flows are modeled using regional performance channels and central bank rate differentials \u2014 comparing ETF returns between country groups and adjusting confidence based on monetary policy direction (hiking, cutting, holding). This is a proxy, not settlement data. \xb115-25% margin. Flows flagged "against carry" move opposite to rate incentives \u2014 treat with extra caution.'})]})]})]})}const PV={840:"US",392:"JP",156:"CN",276:"DE",826:"GB","076":"BR","036":"AU",124:"CA",410:"KR",158:"TW",356:"IN",250:"FR",380:"IT",724:"ES",484:"MX",710:"ZA",792:"TR",682:"SA",702:"SG",344:"HK",458:"MY",528:"NL",752:"SE",756:"CH",764:"TH"};let IV=null;function DV(e){let{data:n,period:r}=e;const i=(0,t.useRef)(null),o=(0,t.useRef)(null),l=(0,t.useRef)(null),[s,a]=(0,t.useState)(1e3),[c,d]=(0,t.useState)(IV),[u,h]=(0,t.useState)(!IV),[p,f]=(0,t.useState)(null),[g,m]=(0,t.useState)({x:0,y:0}),[y,v]=(0,t.useState)(null),[x,b]=(0,t.useState)(null);(0,t.useEffect)(()=>{fetch(`/api/macro/flows?period=${r}`).then(e=>e.ok?e.json():null).then(e=>{e&&v(e)}).catch(()=>{})},[r]),(0,t.useEffect)(()=>{if(!i.current)return;const e=new ResizeObserver(e=>{const{width:t}=e[0].contentRect;a(Math.max(700,t-40))});return e.observe(i.current),()=>e.disconnect()},[]),(0,t.useEffect)(()=>{if(IV)return d(IV),void h(!1);fetch("https://cdn.jsdelivr.net/npm/world-atlas@2/countries-110m.json").then(e=>e.json()).then(e=>{const t=function(e,t){return"string"===typeof t&&(t=e.objects[t]),"GeometryCollection"===t.type?{type:"FeatureCollection",features:t.geometries.map(function(t){return cV(e,t)})}:cV(e,t)}(e,e.objects.countries);IV=t.features,d(t.features),h(!1)}).catch(e=>{console.error("Failed to load world map:",e),h(!1)})},[]);const w=(null===n||void 0===n?void 0:n.countries)||[],S="1W"===r?"chg_1w":"chg_4w",j=(0,t.useMemo)(()=>{const e={};return w.forEach(t=>{e[t.code]=t}),e},[w]),k=.5*s,_=(0,t.useMemo)(()=>Ui().fitSize([s,k],{type:"Sphere"}).precision(.1),[s,k]),E=(0,t.useMemo)(()=>function(e,t){let n,r,i=3,o=4.5;function l(e){return e&&("function"===typeof o&&r.pointRadius(+o.apply(this,arguments)),Xn(e,n(r))),r.result()}return l.area=function(e){return Xn(e,n(dr)),dr.result()},l.measure=function(e){return Xn(e,n(Jr)),Jr.result()},l.bounds=function(e){return Xn(e,n(mr)),mr.result()},l.centroid=function(e){return Xn(e,n($r)),$r.result()},l.projection=function(t){return arguments.length?(n=null==t?(e=null,Hn):(e=t).stream,l):e},l.context=function(e){return arguments.length?(r=null==e?(t=null,new ni(i)):new Wr(t=e),"function"!==typeof o&&r.pointRadius(o),l):t},l.pointRadius=function(e){return arguments.length?(o="function"===typeof e?e:(r.pointRadius(+e),+e),l):o},l.digits=function(e){if(!arguments.length)return i;if(null==e)i=null;else{const t=Math.floor(e);if(!(t>=0))throw new RangeError(`invalid digits: ${e}`);i=t}return null===t&&(r=new ni(i)),l},l.projection(e).digits(i).context(t)}(_),[_]),C={GB:{dx:-45,dy:-10},NL:{dx:0,dy:-30},DE:{dx:40,dy:-18},FR:{dx:-60,dy:0},CH:{dx:0,dy:30},SE:{dx:15,dy:-35},IT:{dx:40,dy:20},ES:{dx:-40,dy:35},TR:{dx:45,dy:10},KR:{dx:65,dy:20},JP:{dx:55,dy:-15},HK:{dx:40,dy:30},SG:{dx:35,dy:30},TW:{dx:45,dy:5},MY:{dx:30,dy:-25}},T=(0,t.useMemo)(()=>{if(!c)return{};const e={};return c.forEach(t=>{const n=String(t.id),r=PV[n];if(!r)return;const i=E.centroid(t);if(i&&!isNaN(i[0])){const t=C[r]||{dx:0,dy:0};e[r]={cx:i[0],cy:i[1],x:i[0]+t.dx,y:i[1]+t.dy,hasOffset:0!==t.dx||0!==t.dy}}}),e},[c,E]),M=(0,t.useCallback)(e=>{const t=j[e];if(!t)return`${wV}15`;const n=t[S];if(n>=0){const e=Math.min(n/8,1);return Yt(`${jV}20`,`${jV}bb`)(e)}{const e=Math.min(Math.abs(n)/8,1);return Yt(`${kV}20`,`${kV}bb`)(e)}},[j,S]),O=(0,t.useCallback)(e=>{const t=j[e];if(!t)return`${wV}20`;return t[S]>=0?`${jV}66`:`${kV}66`},[j,S]),A=(0,t.useCallback)(e=>{if(!i.current)return;const t=i.current.getBoundingClientRect();m({x:e.clientX-t.left,y:e.clientY-t.top})},[]);if(u)return(0,Hg.jsx)("div",{style:{textAlign:"center",padding:60,color:SV,fontSize:10,fontFamily:EV,letterSpacing:"1px"},children:"LOADING WORLD MAP..."});if(!c)return(0,Hg.jsx)("div",{style:{textAlign:"center",padding:40,color:kV,fontSize:10,fontFamily:EV},children:"Failed to load world map data"});const P=p?j[p]:null;return(0,Hg.jsxs)("div",{ref:i,onMouseMove:A,style:{width:"100%",padding:"8px 20px",position:"relative"},children:[(0,Hg.jsxs)("svg",{ref:o,width:s,height:k,style:{display:"block",margin:"0 auto",overflow:"visible"},children:[(0,Hg.jsx)("path",{d:E({type:"Sphere"}),fill:"none",stroke:vV,strokeWidth:.5}),(0,Hg.jsx)("path",{d:E(Un()),fill:"none",stroke:vV,strokeWidth:.2,opacity:.3}),c.map(e=>{var t;const n=String(e.id),r=PV[n],i=!!r&&!!j[r],o=p===r,l=E(e);return l?(0,Hg.jsx)("path",{d:l,fill:i?M(r):`${wV}08`,stroke:i?O(r):`${wV}18`,strokeWidth:o?2:i?.8:.3,style:{cursor:i?"pointer":"default",transition:"fill 0.2s, stroke-width 0.15s",filter:o?`drop-shadow(0 0 6px ${(null===(t=j[r])||void 0===t?void 0:t[S])>=0?jV:kV}66)`:"none"},onMouseEnter:()=>{i&&f(r)},onMouseLeave:()=>f(null)},e.id):null}),Object.entries(T).map(e=>{let[t,n]=e;const r=j[t];if(!r||!n)return null;const i=r[S],o=i>=0?jV:kV,l=p===t;return(0,Hg.jsxs)("g",{style:{pointerEvents:"none"},children:[n.hasOffset&&(0,Hg.jsx)("line",{x1:n.cx,y1:n.cy,x2:n.x,y2:n.y,stroke:`${o}55`,strokeWidth:.8,strokeDasharray:"2,2"}),(0,Hg.jsx)("rect",{x:n.x-22,y:n.y-14,width:44,height:28,rx:3,fill:`${gV}dd`,stroke:`${o}55`,strokeWidth:l?1.5:.7}),(0,Hg.jsx)("text",{x:n.x,y:n.y-2,textAnchor:"middle",fill:l?xV:bV,fontSize:10,fontWeight:800,fontFamily:EV,children:t}),(0,Hg.jsxs)("text",{x:n.x,y:n.y+10,textAnchor:"middle",fill:o,fontSize:10,fontWeight:800,fontFamily:EV,children:[i>=0?"+":"",i.toFixed(1),"%"]})]},`label-${t}`)}),((null===y||void 0===y?void 0:y.flows)||[]).map((e,t)=>{const n=T[e.from],r=T[e.to];if(!n||!r)return null;const i=n.cx,o=n.cy,l=r.cx,s=r.cy,a=(i+l)/2,c=(o+s)/2,d=l-i,u=s-o,h=Math.sqrt(d*d+u*u),p=.3*h,f=a+-u/h*p,g=c+d/h*p,m=`M ${i} ${o} Q ${f} ${g} ${l} ${s}`,y=x===t;return(0,Hg.jsxs)("g",{children:[(0,Hg.jsx)("path",{d:m,fill:"none",stroke:"transparent",strokeWidth:10,style:{cursor:"pointer",pointerEvents:"stroke"},onMouseEnter:()=>b(t),onMouseLeave:()=>b(null)}),(0,Hg.jsx)("path",{d:m,fill:"none",stroke:e.color,strokeWidth:y?2.5:1.2,opacity:y?.65:.35,style:{pointerEvents:"none",transition:"opacity 0.2s, stroke-width 0.2s"}}),(0,Hg.jsx)("path",{d:m,fill:"none",stroke:e.color,strokeWidth:y?1.5:.8,strokeDasharray:"2,10",opacity:y?1:.55,style:{pointerEvents:"none",animation:`flowDash ${2.5/Math.max(.3,e.strength)}s linear infinite`,transition:"opacity 0.2s"}}),y&&(()=>{const t=e.rate_info,n=t&&null!=t.from_rate,r=n?36:22;return(0,Hg.jsxs)("g",{style:{pointerEvents:"none"},children:[(0,Hg.jsx)("rect",{x:f-50,y:g-20,width:100,height:r,rx:3,fill:`${gV}ee`,stroke:`${e.color}66`,strokeWidth:1}),(0,Hg.jsxs)("text",{x:f,y:g-6,textAnchor:"middle",fill:e.color,fontSize:8,fontWeight:700,fontFamily:EV,children:[e.label," \u0394",e.magnitude.toFixed(1),"%"]}),n&&(0,Hg.jsxs)("text",{x:f,y:g+8,textAnchor:"middle",fill:t.against_carry?kV:bV,fontSize:7,fontFamily:EV,children:[e.from,":",t.from_rate.toFixed(1),"% \u2192 ",e.to,":",t.to_rate.toFixed(1),"%",t.against_carry?" \u26a0":""]})]})})()]},`flow-${t}`)})]}),(0,Hg.jsx)("style",{children:"\n @keyframes flowDash {\n 0% { stroke-dashoffset: 18; }\n 100% { stroke-dashoffset: 0; }\n }\n "}),(0,Hg.jsx)(AV,{}),(0,Hg.jsxs)("div",{style:{position:"absolute",bottom:8,left:24,background:`${yV}ee`,border:`1px solid ${vV}`,borderRadius:4,padding:"6px 10px",zIndex:10},children:[(0,Hg.jsx)("div",{style:{fontSize:7,color:bV,fontFamily:EV,fontWeight:700,marginBottom:4,letterSpacing:"1px"},children:"FLOW TYPES"}),[{color:"#2ebd59",label:"Risk-On"},{color:"#e8383b",label:"Risk-Off"},{color:"#ffa500",label:"Yield-Seeking"},{color:"#3796ff",label:"Rotation"},{color:"#00d2d3",label:"Emerging Rebalance"}].map(e=>(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:2},children:[(0,Hg.jsx)("div",{style:{width:14,height:2,background:e.color,borderRadius:1}}),(0,Hg.jsx)("span",{style:{fontSize:7,color:bV,fontFamily:EV},children:e.label})]},e.label))]}),P&&(0,Hg.jsxs)("div",{ref:l,style:{position:"absolute",left:Math.min(g.x+16,s-200),top:g.y-10,background:`${yV}f0`,border:`1px solid ${P[S]>=0?jV:kV}55`,borderRadius:4,padding:"10px 14px",minWidth:160,zIndex:20,pointerEvents:"none",boxShadow:"0 4px 20px rgba(0,0,0,0.6)"},children:[(0,Hg.jsx)("div",{style:{fontSize:12,fontWeight:800,color:xV,fontFamily:EV,marginBottom:4},children:P.name}),(0,Hg.jsxs)("div",{style:{fontSize:9,color:bV,fontFamily:EV,marginBottom:6},children:["ETF: ",P.ticker," \xb7 Close: $",P.close]}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:16},children:[(0,Hg.jsxs)("div",{children:[(0,Hg.jsx)("div",{style:{fontSize:8,color:wV,fontFamily:EV},children:"1 WEEK"}),(0,Hg.jsxs)("div",{style:{fontSize:13,fontWeight:800,fontFamily:EV,color:P.chg_1w>=0?jV:kV},children:[P.chg_1w>=0?"\u25b2":"\u25bc"," ",Math.abs(P.chg_1w).toFixed(2),"%"]})]}),(0,Hg.jsxs)("div",{children:[(0,Hg.jsx)("div",{style:{fontSize:8,color:wV,fontFamily:EV},children:"4 WEEK"}),(0,Hg.jsxs)("div",{style:{fontSize:13,fontWeight:800,fontFamily:EV,color:P.chg_4w>=0?jV:kV},children:[P.chg_4w>=0?"\u25b2":"\u25bc"," ",Math.abs(P.chg_4w).toFixed(2),"%"]})]})]})]})]})}function LV(e){let{assetsData:n}=e;const[r,i]=(0,t.useState)("flows"),[o,l]=(0,t.useState)("1W"),[s,a]=(0,t.useState)(null),[c,d]=(0,t.useState)(null),[u,h]=(0,t.useState)(!1),[p,f]=(0,t.useState)(null),g=(0,t.useCallback)(async e=>{h(!0),f(null);try{const t="sectors"===e?"sectors":"countries",n=await fetch(`/api/macro/${t}`);if(!n.ok)throw new Error(`HTTP ${n.status}`);const r=await n.json();"sectors"===e?a(r):d(r)}catch(sd){f(`Failed to load ${e}: ${sd.message}`)}finally{h(!1)}},[]);(0,t.useEffect)(()=>{"sectors"!==r||s||g("sectors"),"global"!==r||c||g("countries")},[r,s,c,g]);const m=(0,t.useMemo)(()=>"sectors"===r&&s?{top5:"1W"===o?s.top5_1w:s.top5_4w,bottom5:"1W"===o?s.bottom5_1w:s.bottom5_4w}:"global"===r&&c?{top5:"1W"===o?c.top5_1w:c.top5_4w,bottom5:"1W"===o?c.bottom5_1w:c.bottom5_4w}:null,[r,o,s,c]),y="sectors"===r||"global"===r;return(0,Hg.jsxs)("div",{style:{height:"100%",display:"flex",flexDirection:"column",background:gV,fontFamily:EV},children:[(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"8px 16px",borderBottom:`1px solid ${vV}`,background:mV},children:[(0,Hg.jsx)("div",{style:{display:"flex",gap:2},children:CV.map(e=>(0,Hg.jsx)("button",{onClick:()=>i(e.id),style:{background:r===e.id?`${SV}18`:"transparent",border:r===e.id?`1px solid ${SV}`:`1px solid ${vV}`,color:r===e.id?SV:wV,fontSize:9,fontWeight:700,fontFamily:EV,padding:"5px 14px",cursor:"pointer",letterSpacing:"1.5px"},children:e.label},e.id))}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12},children:[y&&(0,Hg.jsx)(MV,{period:o,onChange:l}),y&&(0,Hg.jsx)("button",{onClick:()=>{"sectors"===r&&(a(null),g("sectors")),"global"===r&&(d(null),g("countries"))},style:{background:"transparent",border:`1px solid ${vV}`,color:wV,fontSize:9,fontFamily:EV,padding:"3px 8px",cursor:"pointer"},children:"\u21bb"})]})]}),u&&y&&(0,Hg.jsx)("div",{style:{textAlign:"center",padding:40,color:SV,fontSize:10,fontFamily:EV,letterSpacing:"1px"},children:"LOADING MACRO DATA..."}),p&&(0,Hg.jsx)("div",{style:{textAlign:"center",padding:20,color:kV,fontSize:10,fontFamily:EV},children:p}),(0,Hg.jsxs)("div",{style:{flex:1,overflow:"auto"},children:["flows"===r&&(0,Hg.jsx)(fV,{}),"sectors"===r&&!u&&s&&(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("div",{style:{textAlign:"center",padding:"16px 0 4px",fontSize:10,color:wV,letterSpacing:"1px"},children:"US SECTOR ROTATION \u2014 BUBBLE SIZE = MAGNITUDE OF CHANGE"}),(0,Hg.jsx)(OV,{data:s,period:o}),(0,Hg.jsx)(TV,{top5:(null===m||void 0===m?void 0:m.top5)||[],bottom5:(null===m||void 0===m?void 0:m.bottom5)||[],periodLabel:o})]}),"global"===r&&!u&&c&&(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("div",{style:{textAlign:"center",padding:"12px 0 2px",fontSize:10,color:wV,letterSpacing:"1px"},children:"GLOBAL EQUITY FLOWS \u2014 HOVER COUNTRY FOR DETAILS"}),(0,Hg.jsx)(DV,{data:c,period:o}),(0,Hg.jsx)(TV,{top5:(null===m||void 0===m?void 0:m.top5)||[],bottom5:(null===m||void 0===m?void 0:m.bottom5)||[],periodLabel:o})]})]})]})}const RV={bg:"#000000",bg1:"#080808",bg2:"#0e0e0e",bg3:"#141414",bg4:"#1a1a1a",border:"#1e1e1e",border2:"#2a2a2a",borderLt:"#333333",orange:"#ff6d00",orangeDim:"#7a3400",orangeBg:"#ff6d0018",green:"#2ebd59",red:"#e8383b",blue:"#3796ff",amber:"#ffa500",cyan:"#00d2d3",purple:"#9b59b6",white:"#f0f0f0",gray:"#888888",muted:"#444444",dim:"#5a5a5a"},zV="'Courier New', Consolas, 'Liberation Mono', monospace",NV=[["core cpi","Core inflation excluding volatile food and energy. The Fed's preferred reading for underlying price pressure."],["core pce","The Fed's preferred core inflation gauge. Quieter than CPI; matters most for rate path."],["pce","Personal Consumption Expenditures price index. Broader inflation read than CPI."],["cpi","Consumer Price Index. Headline inflation; large surprises move yields and FX immediately."],["ppi","Producer Price Index \u2014 wholesale prices. Leading indicator for CPI 1\u20132 months out."],["inflation","General price-level reading. Higher prints typically push yields up and the currency up."],["non-farm payrolls","US monthly job creation. The single most-watched US data release of the month."],["nonfarm payrolls","US monthly job creation. The single most-watched US data release of the month."],["nfp","Non-Farm Payrolls \u2014 US monthly job creation. The single most-watched US release of the month."],["unemployment rate","Share of labor force without work. Lagging indicator; pairs with payrolls for a full picture."],["jobless claims","Weekly initial claims for unemployment insurance. Leading-edge employment signal."],["employment change","Net change in employed persons over the period. Key labor-market read."],["adp","ADP private payrolls \u2014 released two days before NFP, used as a (noisy) preview."],["jolts","Job Openings and Labor Turnover Survey. Tightness gauge \u2014 high openings = wage pressure."],["fomc","US Federal Reserve rate decision and statement. Dot plot and presser typically move every asset."],["fed funds","US Federal Reserve target rate. Sets the price of money for the world's reserve currency."],["ecb rate","European Central Bank policy rate. Drives EUR yield curve and broader EUR pairs."],["ecb","European Central Bank rate decision / commentary. Watch the press conference for guidance."],["boe rate","Bank of England policy rate. GBP-pair driver; vote split matters as much as the headline."],["boe","Bank of England policy decision. GBP-pair driver; vote split matters as much as the headline."],["boj","Bank of Japan policy. Yield-curve-control and intervention risk make small surprises move yen aggressively."],["rba","Reserve Bank of Australia rate. Drives AUD pairs; sensitive to China and commodity flows."],["rbnz","Reserve Bank of New Zealand rate. Less liquid pair, larger relative moves on surprises."],["boc","Bank of Canada rate. CAD pair driver; oil-price sensitivity amplifies surprises."],["snb","Swiss National Bank rate. CHF intervention always on the table \u2014 watch for currency-floor language."],["retail sales","Consumer spending pulse. Hot prints reinforce growth narrative; cold prints amplify recession risk."],["manufacturing pmi","Purchasing Managers' Index for manufacturing. Below 50 = contraction. Leads broader activity."],["services pmi","Services-sector PMI. Below 50 = contraction. Often the bigger half of the economy."],["composite pmi","Combined manufacturing + services PMI. Single-number read on overall activity."],["pmi","Purchasing Managers' Index. 50 is the expansion/contraction line. Forward-looking sentiment proxy."],["ism","ISM survey of US business managers. Manufacturing < 50 = contraction. Often moves SPX and yields."],["consumer confidence","Household sentiment. Trend matters more than single prints \u2014 sustained drops precede slowdowns."],["consumer sentiment","University of Michigan sentiment survey. Inflation expectations component is what FOMC watches."],["industrial production","Output from factories, mines and utilities. Hard data, lags surveys by ~2 weeks."],["gdp","Gross Domestic Product. Definitive growth read but lagged. Quarterly + revisions."],["trade balance","Exports minus imports. Persistent deficits weigh on currency over long horizons."],["current account","Broader trade + income flow balance. Larger structural-flow read than trade balance alone."],["housing starts","New residential construction. Rate-sensitive; first to roll over when policy tightens."],["building permits","Forward-looking housing read \u2014 leads housing starts by 1\u20132 months."],["existing home sales","Resale transactions. Captures consumer confidence + mortgage affordability."],["new home sales","Newly-built home sales. Smaller volume but more rate-sensitive than existing sales."],["case-shiller","Home price index across 20 US metros. Wealth-effect proxy."],["speech","Central bank official speaking. Hawkish/dovish tone shifts can move markets even without policy changes."],["press conference","Post-decision presser. Often more market-moving than the rate decision itself."],["minutes","Meeting minutes \u2014 the published account of the prior policy decision. Read for vote split and language shifts."],["testimony","Central bank head testifying before legislators. Q&A often produces unscripted news."]];function FV(e){if(!e)return"";const t=String(e).toLowerCase();for(const[n,r]of NV)if(t.includes(n))return r;return""}const $V={USD:["EURUSD","USDJPY","DXY","XAUUSD","US10Y"],EUR:["EURUSD","EURJPY","EURGBP","STOXX50","BUND"],GBP:["GBPUSD","EURGBP","GBPJPY","FTSE100"],JPY:["USDJPY","EURJPY","GBPJPY","NIKKEI225"],AUD:["AUDUSD","AUDJPY","AUDNZD","ASX200"],CAD:["USDCAD","CADJPY","USOIL"],CHF:["USDCHF","EURCHF","CHFJPY"],NZD:["NZDUSD","AUDNZD","NZDJPY"],CNY:["USDCNH","AUDUSD","XAUUSD"]},WV=[["cpi",{USD:["EURUSD","USDJPY","DXY","XAUUSD","US10Y","US02Y"],EUR:["EURUSD","EURJPY","EURGBP","BUND"],GBP:["GBPUSD","EURGBP","GILT10Y"]}],["pce",{USD:["EURUSD","USDJPY","DXY","XAUUSD","US10Y"]}],["ppi",{USD:["EURUSD","DXY","US10Y"]}],["nfp",{USD:["EURUSD","USDJPY","DXY","XAUUSD","US10Y","SPX500"]}],["non-farm",{USD:["EURUSD","USDJPY","DXY","XAUUSD","US10Y","SPX500"]}],["nonfarm",{USD:["EURUSD","USDJPY","DXY","XAUUSD","US10Y","SPX500"]}],["unemployment rate",{USD:["EURUSD","USDJPY","DXY","US10Y"]}],["jobless claims",{USD:["EURUSD","USDJPY","DXY"]}],["fomc",{USD:["EURUSD","USDJPY","DXY","XAUUSD","SPX500","US10Y","US02Y"]}],["fed funds",{USD:["EURUSD","USDJPY","DXY","US10Y","US02Y"]}],["ecb rate",{EUR:["EURUSD","EURJPY","EURGBP","STOXX50","BUND"]}],["ecb",{EUR:["EURUSD","EURJPY","EURGBP","STOXX50","BUND"]}],["boe",{GBP:["GBPUSD","EURGBP","GBPJPY","FTSE100","GILT10Y"]}],["boj",{JPY:["USDJPY","EURJPY","GBPJPY","AUDJPY","NIKKEI225","JGB10Y"]}],["rba",{AUD:["AUDUSD","AUDJPY","AUDNZD","ASX200"]}],["rbnz",{NZD:["NZDUSD","AUDNZD","NZDJPY"]}],["boc",{CAD:["USDCAD","CADJPY","USOIL"]}],["snb",{CHF:["USDCHF","EURCHF","CHFJPY"]}],["retail sales",{USD:["EURUSD","USDJPY","DXY","SPX500"],GBP:["GBPUSD","FTSE100"],EUR:["EURUSD","STOXX50"]}],["pmi",{USD:["EURUSD","DXY","SPX500"],EUR:["EURUSD","STOXX50"],GBP:["GBPUSD","FTSE100"],CNY:["AUDUSD","USDCNH","XAUUSD"]}],["ism",{USD:["EURUSD","DXY","SPX500","US10Y"]}],["consumer confidence",{USD:["EURUSD","DXY","SPX500"]}],["consumer sentiment",{USD:["EURUSD","DXY","SPX500"]}],["industrial production",{USD:["EURUSD","DXY","SPX500"],EUR:["EURUSD","STOXX50"]}],["gdp",{USD:["EURUSD","USDJPY","DXY","SPX500","US10Y"],EUR:["EURUSD","EURJPY","STOXX50","BUND"],GBP:["GBPUSD","FTSE100"]}],["trade balance",{USD:["EURUSD","DXY"],EUR:["EURUSD"],JPY:["USDJPY"],CNY:["AUDUSD","USDCNH"]}],["housing starts",{USD:["EURUSD","DXY","SPX500"]}],["building permits",{USD:["EURUSD","DXY"]}],["existing home sales",{USD:["EURUSD","DXY"]}],["new home sales",{USD:["EURUSD","DXY"]}],["speech",null],["testimony",null],["minutes",null]];function BV(e,t){const n=(t||"").toUpperCase(),r=String(e||"").toLowerCase();for(const[i,o]of WV)if(r.includes(i)){if(o&&o[n])return o[n];break}return $V[n]||[]}const UV=[{code:"USD",name:"US Dollar",color:"#3796ff"},{code:"EUR",name:"Euro",color:"#5d8eff"},{code:"GBP",name:"Pound",color:"#e8383b"},{code:"JPY",name:"Yen",color:"#ffa500"},{code:"AUD",name:"Aus Dollar",color:"#27c49a"},{code:"CAD",name:"Can Dollar",color:"#ff6d00"},{code:"CHF",name:"Swiss Franc",color:"#9b59b6"},{code:"NZD",name:"Kiwi",color:"#00d2d3"},{code:"CNY",name:"Yuan",color:"#f1c40f"}];function HV(e){return UV.find(t=>t.code===String(e||"").toUpperCase())||null}function VV(e){if(!e)return null;let t,n;if("object"===typeof e?(t=e.date,n=function(e){if(!e||"string"!==typeof e)return null;const t=e.trim().match(/^(\d{1,2})(?::(\d{2}))?\s*(am|pm)?$/i);if(!t)return null;let n=parseInt(t[1],10);const r=t[2]?parseInt(t[2],10):0,i=(t[3]||"").toLowerCase();return"pm"===i&&n<12&&(n+=12),"am"===i&&12===n&&(n=0),n<0||n>23||r<0||r>59?null:`T${String(n).padStart(2,"0")}:${String(r).padStart(2,"0")}:00`}(e.time)):t=e,!t)return null;const r=new Date(t+(n||"T08:30:00"));return Number.isNaN(r.getTime())?null:r}function YV(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Date;const n=VV(e);if(!n)return{primary:"\u2014",sub:"",kind:"past"};const r=Math.round((n-t)/1e3),i=r<0,o=Math.abs(r);if(o<60&&!i)return{primary:"JUST NOW",sub:"",kind:"now"};if(i&&o<60)return{primary:"JUST NOW",sub:"",kind:"now"};if(i)return o<3600?{primary:`${Math.round(o/60)}m ago`,sub:"",kind:"past"}:o<86400?{primary:`${Math.round(o/3600)}h ago`,sub:"",kind:"past"}:{primary:`${Math.round(o/86400)}d ago`,sub:"",kind:"past"};if(o<3600){const e=o%60;return{primary:`00:${GV(Math.floor(o/60))}:${GV(e)}`,sub:"",kind:"minutes"}}if(o<86400){const e=Math.floor(o/3600),t=Math.floor(o%3600/60),n=o%60;return{primary:`${GV(e)}:${GV(t)}:${GV(n)}`,sub:"",kind:"hours"}}return{primary:`${Math.floor(o/86400)}d ${GV(Math.floor(o%86400/3600))}h`,sub:"",kind:"days"}}function GV(e){return String(e).padStart(2,"0")}function KV(e){return`${e.getFullYear()}-${GV(e.getMonth()+1)}-${GV(e.getDate())}`}function qV(e){const t=e.getMonth()+1,n=e.getDate();return`${GV(t)}-${GV(n)}`}function XV(e){return["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][e.getDay()]}function JV(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new Date;const r=VV(e);if(!r)return!1;const i=r-n;return Math.abs(i)<=86400*t*1e3}function QV(e,t){let{currencies:n,impacts:r}=t;return!(n&&n.size>0&&!n.has((e.currency||"").toUpperCase()))&&!(r&&r.size>0&&!r.has((e.impact||"").toLowerCase()))}function ZV(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:30;const n=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:new Date).getTime()-86400*t*1e3,r=new Map;for(const o of e){const e=VV(o);if(!e||e.getTime()<n)continue;const t=(o.currency||"").toUpperCase();if(!t)continue;const i=Number(o.surprise_pct);if(!Number.isFinite(i))continue;r.has(t)||r.set(t,{code:t,beats:0,total:0,sum:0});const l=r.get(t);l.total+=1,l.sum+=i,i>0&&(l.beats+=1)}const i=[];for(const[,o]of r){const e=o.total>0?o.sum/o.total:0;let t="neutral";e>=8&&2*o.beats>=o.total?t="bullish":e<=-8&&2*(o.total-o.beats)>=o.total?t="bearish":e<=-15&&(t="dovish-surprise"),i.push({code:o.code,beats:o.beats,total:o.total,avgPct:e,lean:t})}return i.sort((e,t)=>t.total-e.total||Math.abs(t.avgPct)-Math.abs(e.avgPct)),i}function eY(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:6;const i=String(t||"").toLowerCase(),o=(n||"").toUpperCase(),l=[];for(const s of e||[])(s.currency||"").toUpperCase()===o&&String(s.event||"").toLowerCase()===i&&l.push(s);return l.sort((e,t)=>String(e.date||"").localeCompare(String(t.date||""))),l.slice(-r)}function tY(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];const t=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Date;const n=[],r=new Date(t);r.setHours(0,0,0,0);for(let i=0;i<e;i++){const e=new Date(r);e.setDate(r.getDate()+i),n.push(e)}return n}(arguments.length>1&&void 0!==arguments[1]?arguments[1]:14,arguments.length>2&&void 0!==arguments[2]?arguments[2]:new Date).filter(e=>!function(e){const t=e.getDay();return 0===t||6===t}(e)),n=t.map(KV),r=["USD","EUR","GBP","JPY","AUD","CAD","CHF","NZD","CNY"].map(e=>({code:e,byDay:{}}));for(const o of n)for(const e of r)e.byDay[o]={count:0,weight:0};const i=e=>{const t=(e||"").toLowerCase();return"high"===t?3:"medium"===t?2:1};for(const o of e){const e=(o.currency||"").toUpperCase();if(!e)continue;const t=r.find(t=>t.code===e);if(!t)continue;const n=String(o.date||"");t.byDay[n]&&(t.byDay[n].count+=1,t.byDay[n].weight+=i(o.impact))}return{days:t,rows:r}}function nY(e,t){const n=(e||"").toLowerCase();return"high"===n?t.red:"medium"===n?t.amber:t.gray}function rY(e){let{history:t,width:n=200,height:r=48}=e;if(!t||t.length<2)return(0,Hg.jsx)("div",{style:{height:r,color:RV.dim,fontSize:16,fontFamily:zV,lineHeight:`${r}px`},children:"(no history)"});const i=t.map(e=>Number(e.surprise_pct)||0),o=Math.max(1,...i.map(Math.abs)),l=(n-8)/Math.max(1,i.length-1),s=e=>r-4-(e+o)/(2*o)*(r-8),a=i.map((e,t)=>`${0===t?"M":"L"} ${4+t*l} ${s(e).toFixed(1)}`).join(" "),c=i[i.length-1],d=c>=0?RV.green:RV.red;return(0,Hg.jsxs)("svg",{width:n,height:r,style:{display:"block"},children:[(0,Hg.jsx)("line",{x1:4,y1:s(0),x2:n-4,y2:s(0),stroke:RV.border2,strokeWidth:1}),(0,Hg.jsx)("path",{d:a,fill:"none",stroke:RV.gray,strokeWidth:2}),i.map((e,t)=>(0,Hg.jsx)("circle",{cx:4+t*l,cy:s(e),r:3,fill:e>=0?RV.green:RV.red,opacity:.9},t)),(0,Hg.jsx)("circle",{cx:4+(i.length-1)*l,cy:s(c),r:5,fill:d})]})}function iY(e){let{ev:n,allRecent:r}=e;const[,i]=(0,t.useState)(0);(0,t.useEffect)(()=>{const e=setInterval(()=>i(e=>e+1),1e3);return()=>clearInterval(e)},[]);const o=YV(n),l=HV(null===n||void 0===n?void 0:n.currency),s=FV(null===n||void 0===n?void 0:n.event),a=BV(null===n||void 0===n?void 0:n.event,null===n||void 0===n?void 0:n.currency),c=(0,t.useMemo)(()=>eY(r,null===n||void 0===n?void 0:n.event,null===n||void 0===n?void 0:n.currency,6),[r,null===n||void 0===n?void 0:n.event,null===n||void 0===n?void 0:n.currency]),d=null===n||void 0===n?void 0:n.forecast,u=null===n||void 0===n?void 0:n.previous,h=(()=>{const e=parseFloat(d),t=parseFloat(u);return Number.isFinite(e)&&Number.isFinite(t)?e-t:null})(),p="now"===o.kind?RV.orange:"minutes"===o.kind?RV.red:"hours"===o.kind?RV.amber:"days"===o.kind?RV.cyan:RV.muted,f=nY(null===n||void 0===n?void 0:n.impact,RV),g=VV(n),m=g?`${g.toLocaleString()} \xb7 ${g.toUTCString()}`:"";return(0,Hg.jsxs)("div",{style:{flex:1,minWidth:0,background:RV.bg2,border:`1px solid ${RV.border}`,borderTop:`5px solid ${f}`,padding:"20px 22px 18px",display:"flex",flexDirection:"column",gap:14,fontFamily:zV,color:RV.white},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,Hg.jsx)("span",{style:{padding:"6px 14px",background:l?`${l.color}22`:RV.bg3,border:`1px solid ${l?`${l.color}66`:RV.border}`,color:(null===l||void 0===l?void 0:l.color)||RV.gray,fontSize:18,fontWeight:800,letterSpacing:"2px"},children:(null===n||void 0===n?void 0:n.currency)||"\u2014"}),(0,Hg.jsx)("span",{style:{display:"flex",gap:6,alignItems:"center"},children:[1,2,3].map(e=>{const t=((null===n||void 0===n?void 0:n.impact)||"").toLowerCase(),r="high"===t&&e<=3||"medium"===t&&e<=2||"low"===t&&e<=1;return(0,Hg.jsx)("span",{style:{width:14,height:14,borderRadius:"50%",background:r?f:RV.bg4,border:`1px solid ${r?f:RV.border}`}},e)})})]}),(0,Hg.jsx)("div",{title:m,style:{fontSize:52,fontWeight:800,letterSpacing:"2px",color:p,textAlign:"center",padding:"8px 0 6px",fontVariantNumeric:"tabular-nums"},children:o.primary}),(0,Hg.jsx)("div",{style:{fontSize:22,fontWeight:700,letterSpacing:"0.5px",color:RV.white,lineHeight:1.3,minHeight:56},children:(null===n||void 0===n?void 0:n.event)||"\u2014"}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:14,padding:"12px 0",borderTop:`1px solid ${RV.border}`,borderBottom:`1px solid ${RV.border}`},children:[(0,Hg.jsxs)("div",{style:{flex:1},children:[(0,Hg.jsx)("div",{style:{fontSize:14,color:RV.muted,letterSpacing:"1.8px"},children:"FORECAST"}),(0,Hg.jsx)("div",{style:{fontSize:26,color:RV.orange,fontWeight:700,fontVariantNumeric:"tabular-nums",marginTop:4},children:null!=d&&""!==d?d:"\u2014"})]}),(0,Hg.jsxs)("div",{style:{flex:1},children:[(0,Hg.jsx)("div",{style:{fontSize:14,color:RV.muted,letterSpacing:"1.8px"},children:"PREVIOUS"}),(0,Hg.jsx)("div",{style:{fontSize:26,color:RV.gray,fontWeight:700,fontVariantNumeric:"tabular-nums",marginTop:4},children:null!=u&&""!==u?u:"\u2014"})]}),(0,Hg.jsxs)("div",{style:{flex:1},children:[(0,Hg.jsx)("div",{style:{fontSize:14,color:RV.muted,letterSpacing:"1.8px"},children:"\u0394"}),(0,Hg.jsx)("div",{style:{fontSize:26,fontWeight:700,fontVariantNumeric:"tabular-nums",marginTop:4,color:null==h?RV.muted:h>0?RV.green:h<0?RV.red:RV.gray},children:null==h?"\u2014":`${h>0?"\u25b2 ":h<0?"\u25bc ":""}${Math.abs(h).toFixed(2)}`})]})]}),(0,Hg.jsxs)("div",{children:[(0,Hg.jsxs)("div",{style:{fontSize:14,color:RV.muted,letterSpacing:"1.8px",marginBottom:6},children:["LAST ",c.length," PRINTS \u2014 SURPRISE %"]}),(0,Hg.jsx)(rY,{history:c})]}),s&&(0,Hg.jsx)("div",{style:{fontSize:16,color:RV.gray,lineHeight:1.6,fontFamily:zV},children:s}),a.length>0&&(0,Hg.jsxs)("div",{children:[(0,Hg.jsx)("div",{style:{fontSize:14,color:RV.muted,letterSpacing:"1.8px",marginBottom:6},children:"AFFECTS"}),(0,Hg.jsx)("div",{style:{display:"flex",gap:6,flexWrap:"wrap"},children:a.slice(0,5).map(e=>(0,Hg.jsx)("span",{style:{padding:"4px 10px",fontSize:14,background:RV.bg3,color:RV.cyan,border:`1px solid ${RV.border2}`},children:e},e))})]})]})}function oY(e,t){if(!e)return"transparent";return`rgba(255, 109, 0, ${(.1+.85*Math.min(1,e/Math.max(1,t))).toFixed(2)})`}function lY(e){let{upcoming:n,windowDays:r=14,onCellClick:i}=e;const{days:o,rows:l}=(0,t.useMemo)(()=>tY(n,r),[n,r]),[s,a]=(0,t.useState)(null),c=(0,t.useMemo)(()=>{let e=0;for(const t of l)for(const n of Object.keys(t.byDay))t.byDay[n].weight>e&&(e=t.byDay[n].weight);return e},[l]),d=KV(new Date);return(0,Hg.jsxs)("div",{style:{background:RV.bg2,border:`1px solid ${RV.border}`,padding:"10px 12px",fontFamily:zV,color:RV.white},children:[(0,Hg.jsx)("div",{style:{marginBottom:8},children:(0,Hg.jsxs)("span",{style:{fontSize:14,color:RV.gray,fontWeight:700,letterSpacing:"1.5px",textTransform:"uppercase"},children:["Next ",r," Trading Days"]})}),(0,Hg.jsxs)("table",{style:{borderCollapse:"collapse",fontFamily:zV,width:"100%",tableLayout:"fixed"},children:[(0,Hg.jsx)("thead",{children:(0,Hg.jsxs)("tr",{children:[(0,Hg.jsx)("th",{style:{width:36,textAlign:"left",padding:"4px 4px",color:RV.muted,fontWeight:700,fontSize:9,letterSpacing:"0.5px"},children:"CCY"}),o.map(e=>{const t=KV(e),n=t===d;return(0,Hg.jsxs)("th",{style:{padding:"3px 0",color:n?RV.orange:RV.muted,fontWeight:n?800:700,letterSpacing:"0.5px",borderBottom:`1px solid ${RV.border}`,fontSize:9,lineHeight:1.1},children:[(0,Hg.jsx)("div",{children:XV(e)}),(0,Hg.jsx)("div",{style:{fontVariantNumeric:"tabular-nums",color:n?RV.orange:RV.gray,fontSize:9},children:qV(e)})]},t)})]})}),(0,Hg.jsx)("tbody",{children:l.map(e=>{const t=HV(e.code);return(0,Hg.jsxs)("tr",{children:[(0,Hg.jsx)("td",{style:{padding:"3px 4px",color:(null===t||void 0===t?void 0:t.color)||RV.gray,fontWeight:800,letterSpacing:"0.5px",fontSize:11,borderRight:`1px solid ${RV.border}`},children:e.code}),o.map(t=>{const n=KV(t),r=e.byDay[n]||{count:0,weight:0},o=s&&s.dk===n&&s.code===e.code,l=n===d;return(0,Hg.jsx)("td",{onMouseEnter:()=>a({dk:n,code:e.code,cell:r}),onMouseLeave:()=>a(null),onClick:()=>r.count>0&&i&&i({dayKey:n,currency:e.code}),style:{height:26,padding:0,textAlign:"center",background:oY(r.weight,c),cursor:r.count>0?"pointer":"default",outline:l?`1px dashed ${RV.orange}55`:o?`1px solid ${RV.orange}`:"none",fontVariantNumeric:"tabular-nums",color:r.count>0?RV.white:RV.dim,fontWeight:700,fontSize:11},title:r.count>0?`${e.code} \xb7 ${n} \xb7 ${r.count} event${1===r.count?"":"s"} (impact weight ${r.weight})`:"",children:r.count>0?r.count:"\xb7"},n)})]},e.code)})})]})]})}const sY=[{id:"high",label:"High",color:RV.red},{id:"medium",label:"Med",color:RV.amber},{id:"low",label:"Low",color:RV.gray}],aY=[{id:"7",label:"7d"},{id:"14",label:"14d"},{id:"30",label:"30d"},{id:"all",label:"ALL"}];function cY(e){let{active:t,color:n,onClick:r,children:i,title:o}=e;return(0,Hg.jsx)("button",{onClick:r,title:o,style:{padding:"8px 16px",background:t?`${n}22`:"transparent",border:`1px solid ${t?n:RV.border}`,color:t?n:RV.muted,fontSize:16,fontWeight:700,letterSpacing:"1.5px",fontFamily:zV,cursor:"pointer",textTransform:"uppercase"},children:i})}function dY(e){let{filters:t,setFilters:n,viewMode:r,setViewMode:i,dayFilter:o,setDayFilter:l}=e;const s=(e,t)=>{const n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n};return(0,Hg.jsxs)("div",{style:{background:RV.bg2,border:`1px solid ${RV.border}`,padding:"16px 18px",display:"flex",flexDirection:"column",gap:14,fontFamily:zV,color:RV.white},children:[(0,Hg.jsx)("div",{style:{fontSize:20,color:RV.gray,fontWeight:700,letterSpacing:"2px",textTransform:"uppercase"},children:"Filters"}),o&&(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,padding:"10px 16px",background:`${RV.orange}10`,border:`1px solid ${RV.orange}55`,fontSize:16,color:RV.orange,fontWeight:700,letterSpacing:"1.2px"},children:[(0,Hg.jsxs)("span",{style:{flex:1},children:["FILTER: ",o.currency," on ",o.dayKey]}),(0,Hg.jsx)("button",{onClick:()=>l(null),style:{background:"transparent",border:`1px solid ${RV.orange}`,color:RV.orange,padding:"4px 12px",fontSize:14,fontFamily:zV,cursor:"pointer",letterSpacing:"1.5px",fontWeight:700},children:"CLEAR"})]}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:6,flexWrap:"wrap",alignItems:"center"},children:[(0,Hg.jsx)("span",{style:{fontSize:14,color:RV.muted,letterSpacing:"1.5px",marginRight:6,minWidth:56},children:"CCY"}),(0,Hg.jsx)(cY,{active:0===t.currencies.size,color:RV.orange,onClick:()=>n({...t,currencies:new Set}),children:"ALL"}),UV.map(e=>(0,Hg.jsx)(cY,{active:t.currencies.has(e.code),color:e.color,onClick:()=>n({...t,currencies:s(t.currencies,e.code)}),children:e.code},e.code))]}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:6,alignItems:"center"},children:[(0,Hg.jsx)("span",{style:{fontSize:14,color:RV.muted,letterSpacing:"1.5px",marginRight:6,minWidth:56},children:"IMPACT"}),(0,Hg.jsx)(cY,{active:0===t.impacts.size,color:RV.orange,onClick:()=>n({...t,impacts:new Set}),children:"ALL"}),sY.map(e=>(0,Hg.jsx)(cY,{active:t.impacts.has(e.id),color:e.color,onClick:()=>n({...t,impacts:s(t.impacts,e.id)}),children:e.label},e.id))]}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:24,alignItems:"center",flexWrap:"wrap"},children:[(0,Hg.jsxs)("div",{style:{display:"flex",gap:6,alignItems:"center"},children:[(0,Hg.jsx)("span",{style:{fontSize:14,color:RV.muted,letterSpacing:"1.5px",marginRight:6,minWidth:56},children:"RANGE"}),aY.map(e=>(0,Hg.jsx)(cY,{active:t.range===e.id,color:RV.cyan,onClick:()=>n({...t,range:e.id}),children:e.label},e.id))]}),(0,Hg.jsx)("div",{style:{flex:1}}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:6,alignItems:"center"},children:[(0,Hg.jsx)("span",{style:{fontSize:14,color:RV.muted,letterSpacing:"1.5px",marginRight:6},children:"VIEW"}),(0,Hg.jsx)(cY,{active:"cards"===r,color:RV.orange,onClick:()=>i("cards"),children:"CARDS"}),(0,Hg.jsx)(cY,{active:"list"===r,color:RV.orange,onClick:()=>i("list"),children:"LIST"})]})]})]})}const uY={bullish:{label:"Bullish",color:RV.green},bearish:{label:"Bearish",color:RV.red},neutral:{label:"Neutral",color:RV.gray},"dovish-surprise":{label:"Dovish",color:RV.cyan}};function hY(e){let{recentSurprises:n,days:r=30,onCurrencyClick:i}=e;const o=(0,t.useMemo)(()=>ZV(n,r),[n,r]);return(0,Hg.jsxs)("div",{style:{background:RV.bg2,border:`1px solid ${RV.border}`,padding:"16px 18px",fontFamily:zV,color:RV.white},children:[(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline",marginBottom:14},children:[(0,Hg.jsx)("span",{style:{fontSize:20,color:RV.gray,fontWeight:700,letterSpacing:"2px",textTransform:"uppercase"},children:"Surprise Scoreboard"}),(0,Hg.jsxs)("span",{style:{fontSize:14,color:RV.muted,letterSpacing:"1px"},children:["last ",r,"d \xb7 click to filter"]})]}),0===o.length?(0,Hg.jsx)("div",{style:{color:RV.muted,fontSize:16,padding:22,textAlign:"center"},children:"No surprise data in window."}):(0,Hg.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:1},children:[(0,Hg.jsxs)("div",{style:{display:"flex",gap:14,padding:"6px 8px 8px",borderBottom:`1px solid ${RV.border}`,fontSize:14,color:RV.muted,letterSpacing:"1.2px"},children:[(0,Hg.jsx)("span",{style:{width:60},children:"CCY"}),(0,Hg.jsx)("span",{style:{width:110},children:"BEATS"}),(0,Hg.jsx)("span",{style:{flex:1,textAlign:"right"},children:"AVG"}),(0,Hg.jsx)("span",{style:{width:110,textAlign:"right"},children:"LEAN"})]}),o.map(e=>{const t=HV(e.code),n=uY[e.lean]||uY.neutral,r=e.total?Math.round(e.beats/e.total*100):0;return(0,Hg.jsxs)("div",{onClick:()=>i&&i(e.code),style:{display:"flex",gap:14,alignItems:"center",padding:"10px 8px",fontSize:18,borderBottom:`1px solid ${RV.border}07`,cursor:"pointer"},onMouseEnter:e=>e.currentTarget.style.background=RV.bg3,onMouseLeave:e=>e.currentTarget.style.background="transparent",children:[(0,Hg.jsx)("span",{style:{width:60,color:(null===t||void 0===t?void 0:t.color)||RV.gray,fontWeight:800,letterSpacing:"1.5px"},children:e.code}),(0,Hg.jsxs)("span",{style:{width:110,color:RV.white,fontVariantNumeric:"tabular-nums"},children:[e.beats,"/",e.total,(0,Hg.jsxs)("span",{style:{fontSize:14,color:RV.muted,marginLeft:8},children:[r,"%"]})]}),(0,Hg.jsxs)("span",{style:{flex:1,textAlign:"right",fontVariantNumeric:"tabular-nums",color:e.avgPct>0?RV.green:e.avgPct<0?RV.red:RV.gray,fontWeight:700},children:[e.avgPct>=0?"+":"",e.avgPct.toFixed(1),"%"]}),(0,Hg.jsxs)("span",{style:{width:110,textAlign:"right",fontSize:16,fontWeight:700,letterSpacing:"1.5px",color:n.color},children:["\u25cf ",n.label.toUpperCase()]})]},e.code)})]})]})}function pY(e){let{history:t,width:n=220,height:r=40}=e;if(!t||t.length<2)return null;const i=t.map(e=>Number(e.surprise_pct)||0),o=Math.max(1,...i.map(Math.abs)),l=(n-8)/Math.max(1,i.length-1),s=e=>r-4-(e+o)/(2*o)*(r-8),a=i.map((e,t)=>`${0===t?"M":"L"} ${4+t*l} ${s(e).toFixed(1)}`).join(" ");return(0,Hg.jsxs)("svg",{width:n,height:r,style:{display:"block"},children:[(0,Hg.jsx)("line",{x1:4,y1:s(0),x2:n-4,y2:s(0),stroke:RV.border2,strokeWidth:1}),(0,Hg.jsx)("path",{d:a,fill:"none",stroke:RV.gray,strokeWidth:1.5}),i.map((e,t)=>(0,Hg.jsx)("circle",{cx:4+t*l,cy:s(e),r:2.5,fill:e>=0?RV.green:RV.red,opacity:.85},t))]})}function fY(e){let{impact:t}=e;const n=(t||"").toLowerCase(),r=nY(t,RV);return(0,Hg.jsx)("span",{style:{display:"inline-flex",gap:4},children:[1,2,3].map(e=>{const t="high"===n&&e<=3||"medium"===n&&e<=2||"low"===n&&e<=1;return(0,Hg.jsx)("span",{style:{width:12,height:12,borderRadius:"50%",background:t?r:RV.bg4,border:`1px solid ${t?r:RV.border}`}},e)})})}function gY(e){var n,r,i;let{ev:o,kind:l="upcoming",allRecent:s}=e;const[a,c]=(0,t.useState)(!1),d=HV(null===o||void 0===o?void 0:o.currency),u=FV(null===o||void 0===o?void 0:o.event),h=BV(null===o||void 0===o?void 0:o.event,null===o||void 0===o?void 0:o.currency),p=(0,t.useMemo)(()=>eY(s,null===o||void 0===o?void 0:o.event,null===o||void 0===o?void 0:o.currency,8),[s,null===o||void 0===o?void 0:o.event,null===o||void 0===o?void 0:o.currency]),f=YV(o),g=VV(o),m=nY(null===o||void 0===o?void 0:o.impact,RV),y="now"===f.kind?RV.orange:"minutes"===f.kind?RV.red:"hours"===f.kind?RV.amber:"days"===f.kind?RV.cyan:RV.muted,v=null===o||void 0===o?void 0:o.surprise_pct,x=Number.isFinite(v)?v>0?RV.green:v<0?RV.red:RV.gray:RV.muted;return(0,Hg.jsxs)("div",{style:{background:RV.bg2,border:`1px solid ${RV.border}`,borderLeft:`5px solid ${m}`,padding:"14px 18px",fontFamily:zV,color:RV.white,display:"flex",flexDirection:"column",gap:12},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:14,flexWrap:"wrap"},children:[(0,Hg.jsx)(fY,{impact:null===o||void 0===o?void 0:o.impact}),(0,Hg.jsx)("span",{style:{padding:"4px 12px",background:d?`${d.color}22`:RV.bg3,border:`1px solid ${d?`${d.color}66`:RV.border}`,color:(null===d||void 0===d?void 0:d.color)||RV.gray,fontSize:16,fontWeight:800,letterSpacing:"2px"},children:(null===o||void 0===o?void 0:o.currency)||"\u2014"}),(0,Hg.jsx)("span",{style:{fontSize:22,fontWeight:700,color:RV.white,flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:(null===o||void 0===o?void 0:o.event)||"\u2014"}),"upcoming"===l?(0,Hg.jsx)("span",{title:g?g.toLocaleString():"",style:{fontSize:22,fontWeight:700,color:y,fontVariantNumeric:"tabular-nums"},children:f.primary}):(0,Hg.jsx)("span",{style:{fontSize:16,color:RV.muted,letterSpacing:"0.5px"},children:null===o||void 0===o?void 0:o.date})]}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:22,padding:"10px 0",borderTop:`1px solid ${RV.border}`,borderBottom:`1px solid ${RV.border}`,flexWrap:"wrap"},children:["recent"===l&&(0,Hg.jsxs)("div",{style:{minWidth:110},children:[(0,Hg.jsx)("div",{style:{fontSize:14,color:RV.muted,letterSpacing:"1.5px"},children:"ACTUAL"}),(0,Hg.jsx)("div",{style:{fontSize:26,color:RV.white,fontWeight:800,fontVariantNumeric:"tabular-nums",marginTop:4},children:null!==(n=null===o||void 0===o?void 0:o.actual)&&void 0!==n?n:"\u2014"})]}),(0,Hg.jsxs)("div",{style:{minWidth:110},children:[(0,Hg.jsx)("div",{style:{fontSize:14,color:RV.muted,letterSpacing:"1.5px"},children:"FORECAST"}),(0,Hg.jsx)("div",{style:{fontSize:24,color:RV.orange,fontWeight:700,fontVariantNumeric:"tabular-nums",marginTop:4},children:null!==(r=null===o||void 0===o?void 0:o.forecast)&&void 0!==r?r:"\u2014"})]}),(0,Hg.jsxs)("div",{style:{minWidth:110},children:[(0,Hg.jsx)("div",{style:{fontSize:14,color:RV.muted,letterSpacing:"1.5px"},children:"PREVIOUS"}),(0,Hg.jsx)("div",{style:{fontSize:24,color:RV.gray,fontWeight:700,fontVariantNumeric:"tabular-nums",marginTop:4},children:null!==(i=null===o||void 0===o?void 0:o.previous)&&void 0!==i?i:"\u2014"})]}),"recent"===l&&Number.isFinite(v)&&(0,Hg.jsxs)("div",{style:{minWidth:110},children:[(0,Hg.jsx)("div",{style:{fontSize:14,color:RV.muted,letterSpacing:"1.5px"},children:"SURPRISE"}),(0,Hg.jsxs)("div",{style:{display:"inline-block",marginTop:4,padding:"4px 14px",fontSize:22,fontWeight:800,color:RV.bg,fontVariantNumeric:"tabular-nums",background:x,letterSpacing:"0.5px"},children:[v>0?"+":"",v.toFixed(1),"%"]})]}),(0,Hg.jsx)("div",{style:{flex:1}}),p.length>=2&&(0,Hg.jsxs)("div",{children:[(0,Hg.jsxs)("div",{style:{fontSize:14,color:RV.muted,letterSpacing:"1.5px"},children:["LAST ",p.length," SURPRISES"]}),(0,Hg.jsx)("div",{style:{marginTop:4},children:(0,Hg.jsx)(pY,{history:p})})]})]}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:24,flexWrap:"wrap"},children:[u&&(0,Hg.jsx)("div",{style:{flex:2,minWidth:320,fontSize:16,color:RV.gray,lineHeight:1.6},children:u}),h.length>0&&(0,Hg.jsxs)("div",{style:{flex:1,minWidth:240},children:[(0,Hg.jsx)("div",{style:{fontSize:14,color:RV.muted,letterSpacing:"1.5px",marginBottom:6},children:"AFFECTS"}),(0,Hg.jsx)("div",{style:{display:"flex",gap:6,flexWrap:"wrap"},children:h.slice(0,5).map(e=>(0,Hg.jsx)("span",{style:{padding:"4px 10px",fontSize:14,color:RV.cyan,background:RV.bg3,border:`1px solid ${RV.border2}`},children:e},e))})]})]}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:24,fontSize:14,color:RV.dim,padding:"8px 0",borderTop:`1px dashed ${RV.border}`,flexWrap:"wrap"},children:[(0,Hg.jsxs)("span",{children:["Typical 1h move on top affected pair: ",(0,Hg.jsx)("span",{style:{color:RV.muted},children:"data pending"})]}),"recent"===l&&(0,Hg.jsxs)("span",{children:["Reaction (+1h): ",(0,Hg.jsx)("span",{style:{color:RV.muted},children:"data pending"})]})]}),p.length>0&&(0,Hg.jsxs)("div",{children:[(0,Hg.jsx)("button",{onClick:()=>c(e=>!e),style:{background:"transparent",border:"none",color:RV.cyan,fontSize:16,fontWeight:700,letterSpacing:"1.2px",fontFamily:zV,cursor:"pointer",padding:0},children:a?"\u25b2 Hide history":`\u25bc Expand history (${p.length} prints)`}),a&&(0,Hg.jsxs)("div",{style:{marginTop:10,display:"flex",flexDirection:"column",gap:1},children:[(0,Hg.jsxs)("div",{style:{display:"flex",gap:14,padding:"4px 8px",fontSize:14,color:RV.muted,letterSpacing:"1.2px",borderBottom:`1px solid ${RV.border}`},children:[(0,Hg.jsx)("span",{style:{width:100},children:"DATE"}),(0,Hg.jsx)("span",{style:{width:100,textAlign:"right"},children:"ACTUAL"}),(0,Hg.jsx)("span",{style:{width:100,textAlign:"right"},children:"FCST"}),(0,Hg.jsx)("span",{style:{flex:1,textAlign:"right"},children:"SURPRISE"})]}),[...p].reverse().map((e,t)=>{var n,r;return(0,Hg.jsxs)("div",{style:{display:"flex",gap:14,padding:"6px 8px",fontSize:16,borderBottom:`1px solid ${RV.border}07`,fontVariantNumeric:"tabular-nums"},children:[(0,Hg.jsx)("span",{style:{width:100,color:RV.muted},children:e.date}),(0,Hg.jsx)("span",{style:{width:100,textAlign:"right",color:RV.white,fontWeight:700},children:null!==(n=e.actual)&&void 0!==n?n:"\u2014"}),(0,Hg.jsx)("span",{style:{width:100,textAlign:"right",color:RV.muted},children:null!==(r=e.forecast)&&void 0!==r?r:"\u2014"}),(0,Hg.jsx)("span",{style:{flex:1,textAlign:"right",fontWeight:700,color:Number.isFinite(Number(e.surprise_pct))?e.surprise_pct>0?RV.green:e.surprise_pct<0?RV.red:RV.gray:RV.muted},children:Number.isFinite(Number(e.surprise_pct))?`${e.surprise_pct>0?"+":""}${e.surprise_pct.toFixed(1)}%`:"\u2014"})]},t)})]})]})]})}const mY={imminent:RV.red,agenda:RV.amber,cluster:RV.amber,spotlight:RV.cyan,hot_streak:RV.green,surprise:RV.orange};function yY(e){let{item:t}=e;const n=mY[t.kind]||RV.gray;return(0,Hg.jsxs)("div",{style:{padding:"14px 16px",background:RV.bg2,border:`1px solid ${RV.border}`,borderLeft:`5px solid ${n}`,fontFamily:zV},children:[(0,Hg.jsxs)("div",{style:{display:"flex",gap:10,alignItems:"center",marginBottom:8},children:[(0,Hg.jsx)("span",{style:{fontSize:22},children:t.emoji}),(0,Hg.jsx)("span",{style:{fontSize:14,color:n,fontWeight:800,letterSpacing:"1.5px",padding:"3px 10px",border:`1px solid ${n}55`,background:`${n}15`},children:t.badge}),t.currency&&(0,Hg.jsxs)("span",{style:{fontSize:14,color:RV.muted,letterSpacing:"1.2px"},children:["\xb7 ",t.currency]})]}),(0,Hg.jsx)("div",{style:{fontSize:18,color:RV.white,fontWeight:700,marginBottom:8,lineHeight:1.4},children:t.title}),t.body.map((e,t)=>(0,Hg.jsx)("div",{style:{fontSize:16,color:RV.gray,lineHeight:1.6,marginBottom:4},children:e},t))]})}function vY(e){let{calendar:n,filters:r}=e;const i=(0,t.useMemo)(()=>function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Date;const n=[],r=(null===e||void 0===e?void 0:e.upcoming)||[],i=(null===e||void 0===e?void 0:e.recent_surprises)||[],o=r.map(e=>{var t;return{...e,_t:(null===(t=VV(e))||void 0===t?void 0:t.getTime())||0}}).filter(e=>e._t>t.getTime()-36e5).sort((e,t)=>e._t-t._t);for(const y of o){if(y._t-t.getTime()>216e5)break;if("high"!==(y.impact||"").toLowerCase())continue;const e=YV(y,t),r=eY(i,y.event,y.currency,3),o=r.reduce((e,t)=>e+((Number(t.surprise_pct)||0)>0?1:-1),0),l=r.length>=2&&Math.abs(o)>=2?o>0?"Last 3 prints trended hot.":"Last 3 prints trended cool.":r.length>=2?"Recent prints have been mixed.":"";if(n.push({id:`imminent-${y.currency}-${y.event}`,kind:"imminent",emoji:"\ud83d\udd25",badge:"IMMINENT",title:`${y.currency} ${y.event} in ${e.primary}`,body:[`Forecast ${y.forecast||"\u2014"}, previous ${y.previous||"\u2014"}.`,l].filter(Boolean),currency:y.currency,ts:y._t}),n.filter(e=>"imminent"===e.kind).length>=3)break}const l=KV(t),s=r.filter(e=>e.date===l);if(s.length>0){const e=s.filter(e=>"high"===(e.impact||"").toLowerCase()).length,r=s.filter(e=>"medium"===(e.impact||"").toLowerCase()).length,i=s.length-e-r,o=[...new Set(s.map(e=>e.currency))].filter(Boolean).sort();n.push({id:"agenda-today",kind:"agenda",emoji:"\ud83d\udcc5",badge:"TODAY",title:`${s.length} events today`,body:[`${e} high \xb7 ${r} medium \xb7 ${i} low.`,o.length>0?`Currencies in play: ${o.join(", ")}.`:""].filter(Boolean),ts:t.getTime()})}const a=new Map;for(const y of r){var c;if("high"!==(y.impact||"").toLowerCase())continue;const e=(null===(c=VV(y))||void 0===c?void 0:c.getTime())||0;if(e<t.getTime()-36e5)continue;if(e>t.getTime()+12096e5)continue;const n=`${y.date}|${y.currency}`;a.has(n)||a.set(n,{date:y.date,currency:y.currency,count:0,events:[],t:e});const r=a.get(n);r.count+=1,r.events.push(y.event)}for(const[,y]of a)y.count<3||n.push({id:`cluster-${y.date}-${y.currency}`,kind:"cluster",emoji:"\u26a0\ufe0f",badge:"CLUSTER",title:`${y.currency} wall on ${y.date}`,body:[`${y.count} high-impact prints stacked on the same day:`,y.events.slice(0,3).join(" \xb7 ")+(y.events.length>3?" \u2026":""),"Expect wider ranges and possible whipsaws."],currency:y.currency,ts:y.t});const d=t.getTime()-6048e5,u=i.filter(e=>Math.abs(Number(e.surprise_pct)||0)>=15).filter(e=>{var t;return((null===(t=VV(e))||void 0===t?void 0:t.getTime())||0)>=d}).sort((e,t)=>Math.abs(Number(t.surprise_pct)||0)-Math.abs(Number(e.surprise_pct)||0)).slice(0,4);for(const y of u){var h,p,f;const e=Number(y.surprise_pct)||0;n.push({id:`surprise-${y.date}-${y.currency}-${y.event}`,kind:"surprise",emoji:e>0?"\ud83d\ude80":"\u2744\ufe0f",badge:"SURPRISE",title:`${y.currency} ${y.event}: ${e>0?"+":""}${e.toFixed(1)}%`,body:[`Actual ${null!==(h=y.actual)&&void 0!==h?h:"\u2014"} vs forecast ${null!==(p=y.forecast)&&void 0!==p?p:"\u2014"} on ${y.date}.`,e>20?"Outsize beat \u2014 bullish bias for the currency.":e>15?"Material upside surprise.":e<-20?"Outsize miss \u2014 bearish bias for the currency.":e<-15?"Material downside miss.":""].filter(Boolean),currency:y.currency,ts:(null===(f=VV(y))||void 0===f?void 0:f.getTime())||0})}const g=ZV(i,30,t);for(const y of g){if(y.total<4)continue;const e=y.beats/y.total;y.avgPct>=10&&e>=.55?n.push({id:`streak-${y.code}-hot`,kind:"hot_streak",emoji:"\ud83d\udcc8",badge:"STREAK",title:`${y.code} hot \u2014 ${y.beats}/${y.total} beats (avg +${y.avgPct.toFixed(1)}%)`,body:[`Consensus has been catching up to ${y.code} reality 30d running.`,"Hawkish setup; pairs with a strong-currency directional bias."],currency:y.code,ts:t.getTime()-1e3}):y.avgPct<=-10&&e<=.45&&n.push({id:`streak-${y.code}-cold`,kind:"hot_streak",emoji:"\ud83d\udcc9",badge:"STREAK",title:`${y.code} cooling \u2014 ${y.total-y.beats}/${y.total} misses (avg ${y.avgPct.toFixed(1)}%)`,body:[`Forecasts have been overshooting ${y.code} reality across recent prints.`,"Dovish backdrop builds; weakness bias on the currency."],currency:y.code,ts:t.getTime()-1e3})}for(const y of o){if("high"!==(y.impact||"").toLowerCase())continue;const e=eY(i,y.event,y.currency,6);if(e.length<4)continue;const t=e.reduce((e,t)=>e+(Number(t.surprise_pct)||0),0)/e.length,r=e.filter(e=>(Number(e.surprise_pct)||0)>0).length;n.push({id:`spotlight-${y.currency}-${y.event}`,kind:"spotlight",emoji:"\ud83d\udd0d",badge:"SPOTLIGHT",title:`Watching: ${y.currency} ${y.event}`,body:[`${y.date} \xb7 fcst ${y.forecast||"\u2014"}, prev ${y.previous||"\u2014"}.`,`Last ${e.length} prints: ${r}/${e.length} beats, avg ${t>0?"+":""}${t.toFixed(1)}% surprise.`],currency:y.currency,ts:y._t});break}const m={imminent:0,agenda:1,cluster:2,spotlight:3,surprise:4,hot_streak:5};return n.sort((e,t)=>{var n,r;const i=null!==(n=m[e.kind])&&void 0!==n?n:99,o=null!==(r=m[t.kind])&&void 0!==r?r:99;return i!==o?i-o:(e.ts||0)-(t.ts||0)}),n}(n),[n]),o=(0,t.useMemo)(()=>null!==r&&void 0!==r&&r.currencies&&0!==r.currencies.size?i.filter(e=>!e.currency||r.currencies.has(e.currency)):i,[i,r]);return(0,Hg.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline",padding:"0 4px"},children:[(0,Hg.jsx)("span",{style:{fontSize:20,color:RV.gray,fontWeight:700,letterSpacing:"2px",textTransform:"uppercase",fontFamily:zV},children:"News & Insights"}),(0,Hg.jsx)("span",{style:{fontSize:13,color:RV.muted,letterSpacing:"1px",fontFamily:zV},children:"synthesised locally"})]}),0===o.length?(0,Hg.jsxs)("div",{style:{background:RV.bg2,border:`1px dashed ${RV.border2}`,padding:"26px 18px",textAlign:"center",color:RV.muted,fontSize:16,fontFamily:zV,lineHeight:1.5},children:["No insights match the current filter window.",(0,Hg.jsx)("br",{}),"Clear or widen filters to see more."]}):o.map(e=>(0,Hg.jsx)(yY,{item:e},e.id))]})}function xY(e){let{width:t=32,color:n="#fdb930",style:r}=e;const i=Math.round(.5*t);return(0,Hg.jsx)("svg",{width:t,height:i,viewBox:"0 0 100 50",xmlns:"http://www.w3.org/2000/svg",style:{display:"inline-block",verticalAlign:"middle",flexShrink:0,...r||{}},"aria-hidden":"true",children:(0,Hg.jsx)("path",{d:" M 12 42 C 6 32, 8 18, 18 12 C 26 8, 32 8, 36 8 Q 42 0, 56 2 Q 68 4, 74 8 C 78 8, 84 12, 88 18 C 92 26, 92 34, 88 38 C 84 42, 80 42, 76 40 C 72 36, 64 35, 56 36 C 46 38, 36 38, 26 40 C 20 41, 14 42, 12 42 Z ",fill:n})})}function bY(e){if(!e)return"";const t=new Date(e);if(isNaN(t.getTime()))return e;const n=Math.round((Date.now()-t.getTime())/6e4);return n<1?"just now":n<60?`${n}m ago`:n<1440?`${Math.floor(n/60)}h ago`:`${Math.floor(n/1440)}d ago`}function wY(e){if(!e)return"\u2014";const t=Math.round((Date.now()-e)/1e3);return t<60?`updated ${t}s ago`:t<3600?`updated ${Math.floor(t/60)}m ago`:`updated ${Math.floor(t/3600)}h ago`}function SY(e){let{open:n,onClose:r}=e;const[i,o]=(0,t.useState)([]),[l,s]=(0,t.useState)(!1),[a,c]=(0,t.useState)(""),[d,u]=(0,t.useState)(0),h=(0,t.useRef)(null),p=!("undefined"===typeof window||!window.mkElectron||!window.mkElectron.fetchTrumpNews),f=(0,t.useCallback)(async function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(p){s(!0),c("");try{const t=await window.mkElectron.fetchTrumpNews({force:e});null!==t&&void 0!==t&&t.ok?(o(t.items||[]),u(t.fetchedAt||Date.now())):c((null===t||void 0===t?void 0:t.error)||"Could not fetch news")}catch(sd){c(String(sd))}finally{s(!1)}}else c("Trump news feed is only available in the desktop app.")},[p]);(0,t.useEffect)(()=>{!n||0!==i.length||l||a||f(!1)},[n]),(0,t.useEffect)(()=>{if(!n)return;const e=e=>{"Escape"===e.key&&(null===r||void 0===r||r())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[n,r]);return n?(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("div",{onClick:r,style:{position:"fixed",inset:0,background:"rgba(0,0,0,0.45)",zIndex:99998}}),(0,Hg.jsxs)("div",{ref:h,style:{position:"fixed",top:0,right:0,bottom:0,width:520,maxWidth:"92vw",background:RV.bg1,borderLeft:`4px solid ${RV.red}`,boxShadow:"-12px 0 30px rgba(0,0,0,0.5)",zIndex:99999,display:"flex",flexDirection:"column",fontFamily:zV,color:RV.white},children:[(0,Hg.jsxs)("div",{style:{padding:"16px 20px",borderBottom:`1px solid ${RV.border}`,background:RV.bg2,display:"flex",alignItems:"center",gap:14},children:[(0,Hg.jsx)(xY,{width:48}),(0,Hg.jsxs)("div",{style:{flex:1},children:[(0,Hg.jsx)("div",{style:{fontSize:22,fontWeight:800,letterSpacing:"2px",color:RV.red,textTransform:"uppercase"},children:"Trump News"}),(0,Hg.jsxs)("div",{style:{fontSize:14,color:RV.muted,letterSpacing:"1px",marginTop:2},children:["source: Google News \xb7 ",d?wY(d):"fetching..."]})]}),(0,Hg.jsx)("button",{onClick:()=>f(!0),disabled:l,title:"Refresh",style:{background:l?`${RV.amber}25`:"transparent",border:`1px solid ${l?RV.amber:RV.border2}`,color:l?RV.amber:RV.gray,padding:"8px 14px",fontSize:14,fontWeight:700,fontFamily:zV,letterSpacing:"1.5px",cursor:l?"default":"pointer"},children:l?"\u21bb FETCHING":"\u21bb REFRESH"}),(0,Hg.jsx)("button",{onClick:r,title:"Close",style:{background:"transparent",border:`1px solid ${RV.border2}`,color:RV.gray,padding:"8px 14px",fontSize:18,fontWeight:700,fontFamily:zV,cursor:"pointer",lineHeight:1},children:"\xd7"})]}),(0,Hg.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:"12px 14px"},children:[a&&(0,Hg.jsxs)("div",{style:{padding:"14px 16px",marginBottom:12,background:`${RV.red}10`,border:`1px solid ${RV.red}55`,fontSize:16,color:RV.red,lineHeight:1.5},children:["\u26a0 ",a,(0,Hg.jsx)("div",{style:{fontSize:14,color:RV.muted,marginTop:6},children:"Click REFRESH to retry. If this persists, your network may be blocking news.google.com."})]}),!a&&l&&0===i.length&&(0,Hg.jsx)("div",{style:{padding:36,textAlign:"center",color:RV.muted,fontSize:18,letterSpacing:"1.5px"},children:"FETCHING HEADLINES\u2026"}),!a&&!l&&0===i.length&&(0,Hg.jsx)("div",{style:{padding:30,textAlign:"center",color:RV.muted,fontSize:16,lineHeight:1.5},children:"No Trump-related headlines found."}),i.map((e,t)=>(0,Hg.jsxs)("div",{onClick:()=>(e=>{if(e)if(p&&window.mkElectron.openExternal)window.mkElectron.openExternal(e);else try{window.open(e,"_blank","noopener,noreferrer")}catch{}})(e.link),style:{padding:"12px 14px",marginBottom:8,background:RV.bg2,border:`1px solid ${RV.border}`,borderLeft:`3px solid ${RV.red}77`,cursor:e.link?"pointer":"default"},onMouseEnter:t=>{e.link&&(t.currentTarget.style.background=RV.bg3)},onMouseLeave:e=>{e.currentTarget.style.background=RV.bg2},children:[(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline",gap:10,marginBottom:6},children:[(0,Hg.jsx)("span",{style:{fontSize:13,color:RV.amber,fontWeight:700,letterSpacing:"1.2px",textTransform:"uppercase"},children:e.source||"\u2014"}),(0,Hg.jsx)("span",{style:{fontSize:13,color:RV.muted,letterSpacing:"0.5px"},children:bY(e.pubDate)})]}),(0,Hg.jsx)("div",{style:{fontSize:17,color:RV.white,fontWeight:600,lineHeight:1.45},children:e.title}),e.link&&(0,Hg.jsx)("div",{style:{fontSize:12,color:RV.cyan,marginTop:6,letterSpacing:"0.5px"},children:"\u2197 open in browser"})]},t))]}),(0,Hg.jsxs)("div",{style:{padding:"10px 20px",borderTop:`1px solid ${RV.border}`,background:RV.bg2,fontSize:13,color:RV.muted,letterSpacing:"1px"},children:[i.length," item",1===i.length?"":"s"," \xb7 cached 5 min \xb7 click outside or press Esc to close"]})]})]}):null}function jY(e){let{items:t,kind:n}=e;return t&&0!==t.length?(0,Hg.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:1},children:[(0,Hg.jsxs)("div",{style:{display:"flex",gap:14,padding:"8px 12px",background:RV.bg3,borderBottom:`1px solid ${RV.border}`,fontSize:14,color:RV.muted,letterSpacing:"1.8px",fontFamily:zV},children:[(0,Hg.jsx)("span",{style:{width:130},children:"upcoming"===n?"COUNTDOWN":"DATE"}),(0,Hg.jsx)("span",{style:{width:56},children:"CCY"}),(0,Hg.jsx)("span",{style:{width:24},children:"!"}),(0,Hg.jsx)("span",{style:{flex:1},children:"EVENT"}),"recent"===n&&(0,Hg.jsx)("span",{style:{width:90,textAlign:"right"},children:"ACTUAL"}),(0,Hg.jsx)("span",{style:{width:90,textAlign:"right"},children:"FORECAST"}),(0,Hg.jsx)("span",{style:{width:90,textAlign:"right"},children:"PREVIOUS"}),"recent"===n&&(0,Hg.jsx)("span",{style:{width:90,textAlign:"right"},children:"SURPRISE"})]}),t.map((e,t)=>{var r,i,o,l;const s=YV(e),a=HV(e.currency),c="now"===s.kind?RV.orange:"minutes"===s.kind?RV.red:"hours"===s.kind?RV.amber:"days"===s.kind?RV.cyan:RV.muted,d=e.surprise_pct,u=Number.isFinite(d)?d>0?RV.green:RV.red:RV.muted,h="high"===(e.impact||"").toLowerCase()?RV.red:"medium"===(e.impact||"").toLowerCase()?RV.amber:RV.gray;return(0,Hg.jsxs)("div",{style:{display:"flex",gap:14,padding:"10px 12px",borderBottom:`1px solid ${RV.border}07`,fontSize:16,fontFamily:zV,color:RV.white,fontVariantNumeric:"tabular-nums"},children:[(0,Hg.jsx)("span",{style:{width:130,color:c,fontWeight:700},children:"upcoming"===n?s.primary:null===(r=e.date)||void 0===r?void 0:r.slice(5)}),(0,Hg.jsx)("span",{style:{width:56,color:(null===a||void 0===a?void 0:a.color)||RV.gray,fontWeight:800,letterSpacing:"1.2px"},children:e.currency}),(0,Hg.jsx)("span",{style:{width:24,color:h,fontWeight:700,textAlign:"center"},children:"\u25cf"}),(0,Hg.jsx)("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.event}),"recent"===n&&(0,Hg.jsx)("span",{style:{width:90,textAlign:"right",color:RV.white,fontWeight:700},children:null!==(i=e.actual)&&void 0!==i?i:"\u2014"}),(0,Hg.jsx)("span",{style:{width:90,textAlign:"right",color:RV.orange},children:null!==(o=e.forecast)&&void 0!==o?o:"\u2014"}),(0,Hg.jsx)("span",{style:{width:90,textAlign:"right",color:RV.muted},children:null!==(l=e.previous)&&void 0!==l?l:"\u2014"}),"recent"===n&&(0,Hg.jsx)("span",{style:{width:90,textAlign:"right",color:u,fontWeight:700},children:Number.isFinite(d)?`${d>0?"+":""}${d.toFixed(1)}%`:"\u2014"})]},t)})]}):(0,Hg.jsx)("div",{style:{color:RV.muted,fontSize:16,padding:22,textAlign:"center",fontFamily:zV},children:"No events match the current filter."})}function kY(e){let{todayCount:n,weekCount:r,hero:i,onTrumpClick:o}=e;const[,l]=(0,t.useState)(0);(0,t.useEffect)(()=>{const e=setInterval(()=>l(e=>e+1),1e3);return()=>clearInterval(e)},[]);const s=i?YV(i.date):null,a=s?"minutes"===s.kind?RV.red:"hours"===s.kind?RV.amber:"days"===s.kind?RV.cyan:RV.gray:RV.muted;return(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:22,flexWrap:"wrap",padding:"14px 20px",background:RV.bg3,border:`1px solid ${RV.border}`,fontFamily:zV,fontSize:18,color:RV.gray},children:[(0,Hg.jsx)("span",{style:{color:RV.orange,fontWeight:800,letterSpacing:"2.5px",fontSize:20},children:"EVENT INTELLIGENCE"}),(0,Hg.jsx)("span",{style:{color:RV.border2},children:"|"}),(0,Hg.jsxs)("span",{children:["Today: ",(0,Hg.jsx)("span",{style:{color:RV.white,fontWeight:700},children:n})]}),(0,Hg.jsxs)("span",{children:["This week: ",(0,Hg.jsx)("span",{style:{color:RV.white,fontWeight:700},children:r})]}),(0,Hg.jsx)("span",{style:{color:RV.border2},children:"|"}),i?(0,Hg.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:12},children:[(0,Hg.jsx)("span",{style:{color:RV.muted,letterSpacing:"1.5px"},children:"NEXT MAJOR:"}),(0,Hg.jsx)("span",{style:{color:RV.white,fontWeight:700},children:i.currency}),(0,Hg.jsx)("span",{style:{color:RV.gray},children:i.event}),(0,Hg.jsx)("span",{style:{padding:"4px 14px",background:`${a}18`,border:`1px solid ${a}55`,color:a,fontWeight:800,fontVariantNumeric:"tabular-nums"},children:s.primary})]}):(0,Hg.jsx)("span",{style:{color:RV.muted},children:"No upcoming high-impact events in window."}),(0,Hg.jsx)("div",{style:{flex:1}}),(0,Hg.jsxs)("button",{onClick:o,title:"Live Trump headlines from Google News",style:{display:"inline-flex",alignItems:"center",gap:10,padding:"8px 16px",background:`${RV.red}18`,border:`1px solid ${RV.red}66`,color:RV.red,fontFamily:zV,fontSize:16,fontWeight:800,letterSpacing:"2px",cursor:"pointer"},onMouseEnter:e=>{e.currentTarget.style.background=`${RV.red}28`},onMouseLeave:e=>{e.currentTarget.style.background=`${RV.red}18`},children:[(0,Hg.jsx)(xY,{width:28}),"TRUMP"]})]})}function _Y(e){let{calendar:n}=e;const r=(null===n||void 0===n?void 0:n.upcoming)||[],i=(null===n||void 0===n?void 0:n.recent_surprises)||[],[o,l]=(0,t.useState)({currencies:new Set,impacts:new Set,range:"14"}),[s,a]=(0,t.useState)("cards"),[c,d]=(0,t.useState)(null),[u,h]=(0,t.useState)(!1),p="all"===o.range?365:parseInt(o.range,10),f=(0,t.useMemo)(()=>r.filter(e=>{if(!JV(e,p))return!1;if(!QV(e,o))return!1;if(c){if(e.date!==c.dayKey)return!1;if((e.currency||"").toUpperCase()!==c.currency)return!1}return!0}),[r,o,p,c]),g=(0,t.useMemo)(()=>i.filter(e=>{if(!JV(e,p))return!1;if(!QV(e,o))return!1;if(c){if(e.date!==c.dayKey)return!1;if((e.currency||"").toUpperCase()!==c.currency)return!1}return!0}),[i,o,p,c]),m=(0,t.useMemo)(()=>{const e=f.filter(e=>{const t=VV(e);return t&&t.getTime()>=Date.now()-36e5}).sort((e,t)=>String(e.date).localeCompare(String(t.date))),t=e.filter(e=>"high"===(e.impact||"").toLowerCase()),n=e.filter(e=>"medium"===(e.impact||"").toLowerCase());return[...t,...n,...e].slice(0,3)},[f]),y=KV(new Date),v=(0,t.useMemo)(()=>r.filter(e=>e.date===y).length,[r,y]),x=(0,t.useMemo)(()=>r.filter(e=>JV(e,7)&&VV(e)>=new Date).length,[r]);return(0,Hg.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[(0,Hg.jsx)(kY,{todayCount:v,weekCount:x,hero:m[0],onTrumpClick:()=>h(!0)}),(0,Hg.jsx)(SY,{open:u,onClose:()=>h(!1)}),0===m.length?(0,Hg.jsx)("div",{style:{background:RV.bg2,border:`1px solid ${RV.border}`,padding:"40px 22px",textAlign:"center",fontFamily:zV,fontSize:18,color:RV.muted},children:"No upcoming events match the current filter window."}):(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(4, minmax(0, 1fr))",gap:16,alignItems:"stretch"},children:[m.map((e,t)=>(0,Hg.jsx)(iY,{ev:e,allRecent:i},`${e.date}-${e.event}-${t}`)),Array.from({length:Math.max(0,3-m.length)}).map((e,t)=>(0,Hg.jsx)("div",{},`pad-${t}`)),(0,Hg.jsx)(lY,{upcoming:r,windowDays:14,onCellClick:e=>{let{dayKey:t,currency:n}=e;d({dayKey:t,currency:n})}})]}),(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(0,3fr) minmax(0,2fr)",gap:16},children:[(0,Hg.jsx)(dY,{filters:o,setFilters:l,viewMode:s,setViewMode:a,dayFilter:c,setDayFilter:d}),(0,Hg.jsx)(hY,{recentSurprises:i,days:30,onCurrencyClick:e=>{const t=new Set(o.currencies);t.has(e)?t.delete(e):t.add(e),l({...o,currencies:t})}})]}),(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr) 380px",gap:16},children:[(0,Hg.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,Hg.jsxs)("span",{style:{fontSize:20,color:RV.gray,fontWeight:700,letterSpacing:"2px",textTransform:"uppercase",fontFamily:zV},children:["Upcoming \xb7 ",f.filter(e=>VV(e)>=new Date).length]}),(0,Hg.jsx)("div",{style:{flex:1,height:1,background:RV.border}})]}),"cards"===s?0===f.filter(e=>VV(e)>=new Date).length?(0,Hg.jsx)("div",{style:{color:RV.muted,fontSize:16,padding:22,textAlign:"center",fontFamily:zV},children:"No upcoming events in the current filter."}):f.filter(e=>VV(e)>=new Date).map((e,t)=>(0,Hg.jsx)(gY,{ev:e,kind:"upcoming",allRecent:i},`up-${e.date}-${e.event}-${t}`)):(0,Hg.jsx)(jY,{items:f.filter(e=>VV(e)>=new Date),kind:"upcoming"}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginTop:12},children:[(0,Hg.jsxs)("span",{style:{fontSize:20,color:RV.gray,fontWeight:700,letterSpacing:"2px",textTransform:"uppercase",fontFamily:zV},children:["Recent \xb7 ",g.length]}),(0,Hg.jsx)("div",{style:{flex:1,height:1,background:RV.border}})]}),"cards"===s?0===g.length?(0,Hg.jsx)("div",{style:{color:RV.muted,fontSize:16,padding:22,textAlign:"center",fontFamily:zV},children:"No recent prints in the current filter."}):[...g].reverse().slice(0,30).map((e,t)=>(0,Hg.jsx)(gY,{ev:e,kind:"recent",allRecent:i},`rc-${e.date}-${e.event}-${t}`)):(0,Hg.jsx)(jY,{items:[...g].reverse(),kind:"recent"})]}),(0,Hg.jsx)("div",{children:(0,Hg.jsx)(vY,{calendar:n,filters:o})})]}),(0,Hg.jsxs)("div",{style:{fontSize:14,color:RV.muted,letterSpacing:"0.5px",padding:"8px 12px",fontFamily:zV},children:[((null===n||void 0===n?void 0:n.total_events_stored)||0).toLocaleString()," total events stored \xb7 Surprise = (Actual \u2212 Forecast) / |Forecast| \xd7 100 \xb7 Countdowns assume 08:30 release time (server data ships dates only)"]})]})}const EY={bg:"#000000",bg1:"#080808",bg2:"#0e0e0e",bg3:"#141414",bg4:"#1a1a1a",border:"#1e1e1e",border2:"#2a2a2a",orange:"#ff6d00",orangeDim:"#7a3400",green:"#2ebd59",red:"#e8383b",blue:"#3796ff",amber:"#ffa500",cyan:"#00d2d3",purple:"#9b59b6",white:"#f0f0f0",gray:"#888",muted:"#444"},CY="'Courier New', Consolas, 'Liberation Mono', monospace",TY={REFLATION:EY.amber,GOLDILOCKS:EY.green,STAGFLATION:EY.red,DEFLATION:EY.blue},MY={BULLISH:EY.green,BEARISH:EY.red,CAUTIOUS:EY.amber,MIXED:EY.amber,NEUTRAL:EY.gray};function OY(e){return e>20?EY.green:e>5?"#3a7d4a":e>-5?EY.gray:e>-20?"#a04040":EY.red}const AY={card:{background:EY.bg2,border:`1px solid ${EY.border}`,borderRadius:4,overflow:"hidden",display:"flex",flexDirection:"column"},cardHeader:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"8px 12px",borderBottom:`1px solid ${EY.border}`,background:EY.bg3},cardTitle:{fontSize:10,fontWeight:700,letterSpacing:"1.5px",color:EY.gray,textTransform:"uppercase",fontFamily:CY},badge:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:EY.muted;return{fontSize:8,fontWeight:700,letterSpacing:"1px",padding:"2px 7px",border:`1px solid ${e}40`,color:e,fontFamily:CY,borderRadius:2}},cardBody:{padding:"10px 12px",flex:1},kpiTile:e=>({background:EY.bg2,border:`1px solid ${EY.border}`,borderLeft:`3px solid ${e}`,padding:"10px 14px",borderRadius:3,flex:1,minWidth:0}),subTab:e=>({padding:"6px 14px",fontSize:9,fontWeight:700,letterSpacing:"1.5px",color:e?EY.orange:EY.gray,cursor:"pointer",fontFamily:CY,borderBottom:e?`2px solid ${EY.orange}`:"2px solid transparent",transition:"color 0.2s, border-color 0.2s",background:"transparent",border:"none",borderBottomWidth:2,borderBottomStyle:"solid",borderBottomColor:e?EY.orange:"transparent"}),hint:{fontSize:8,color:EY.muted,letterSpacing:"0.5px",marginTop:4}};function PY(e){let{children:t,color:n=EY.muted}=e;return(0,Hg.jsx)("span",{style:AY.badge(n),children:t})}function IY(e){var n,r,i,o,l,s,a,c;let{chart:d,events:u}=e;const[h,p]=(0,t.useState)(null);if(!d||d.length<3)return null;const f=320,g=90,m=14,y=4,v=20,x=4,b=d.map(e=>e.value),w=d.map(e=>e.date),S=Math.min(...b),j=Math.max(...b)-S||1,k=(f-x-y)/(b.length-1),_=e=>m+(g-m-v)*(1-(e-S)/j),E=b.map((e,t)=>`${x+t*k},${_(e)}`).join(" "),C=b[b.length-1]>=b[b.length-5]?EY.green:EY.red,T=(u||[]).map(e=>{let t=-1,n=1/0;return w.forEach((r,i)=>{const o=Math.abs(new Date(r)-new Date(e.date));o<n&&(n=o,t=i)}),t>=0&&n<864e6?{...e,idx:t}:null}).filter(Boolean);return(0,Hg.jsxs)("div",{style:{position:"relative"},children:[(0,Hg.jsxs)("svg",{width:"100%",viewBox:"0 0 320 90",style:{display:"block"},children:[(0,Hg.jsx)("polyline",{points:E,fill:"none",stroke:C,strokeWidth:1.5,opacity:.8}),(0,Hg.jsx)("circle",{cx:x+(b.length-1)*k,cy:_(b[b.length-1]),r:3,fill:C}),(()=>{let e=0;return T.map((t,n)=>{const r=x+t.idx*k,i=_(b[t.idx]),o="hold"===t.type||(t.event||"").includes("HOLD"),l=(t.event||"").includes("CUT"),s=(t.event||"").includes("HIKE"),a="qt_start"===t.type||"qt_accel"===t.type,c="qe_start"===t.type,d="qt_taper"===t.type,u=a||c||d,h=c?EY.green:a?EY.red:d?EY.amber:l?EY.green:s?EY.red:EY.cyan,y=!o,w=y&&e++%2===1?g-v+9:8;return(0,Hg.jsxs)("g",{style:{cursor:"pointer"},onMouseEnter:()=>p({...t,xPct:r/f*100,val:b[t.idx]}),onMouseLeave:()=>p(null),children:[(0,Hg.jsx)("rect",{x:r-10,y:0,width:20,height:g,fill:"transparent"}),(0,Hg.jsx)("line",{x1:r,y1:m,x2:r,y2:g-v,stroke:h,strokeWidth:u?.8:o?.3:.5,strokeDasharray:o?"1,4":u?"3,2":"2,3",opacity:o?.12:u?.5:.3}),(0,Hg.jsx)("circle",{cx:r,cy:i,r:u?3.5:o?1.5:2.5,fill:u?EY.bg:h,stroke:h,strokeWidth:u?2:.6,opacity:o?.2:.9}),y&&(0,Hg.jsx)("text",{x:r,y:w,fontSize:5,fill:h,textAnchor:"middle",fontFamily:CY,fontWeight:700,opacity:.9,children:t.event})]},n)})})(),(0,Hg.jsx)("text",{x:x,y:88,fontSize:7,fill:EY.muted,fontFamily:CY,children:d[0].date}),(0,Hg.jsx)("text",{x:f-y,y:88,fontSize:7,fill:EY.muted,fontFamily:CY,textAnchor:"end",children:d[d.length-1].date})]}),h&&(0,Hg.jsxs)("div",{style:{position:"absolute",left:`${Math.min(78,Math.max(12,h.xPct))}%`,top:-4,transform:"translateX(-50%)",background:EY.bg3,border:`1px solid ${null!==(n=h.event)&&void 0!==n&&n.includes("CUT")?EY.green:null!==(r=h.event)&&void 0!==r&&r.includes("HIKE")?EY.red:null!==(i=h.type)&&void 0!==i&&i.startsWith("q")?EY.amber:EY.cyan}50`,borderRadius:3,padding:"5px 10px",zIndex:10,pointerEvents:"none",boxShadow:"0 2px 10px rgba(0,0,0,0.6)",whiteSpace:"nowrap",maxWidth:220},children:[(0,Hg.jsx)("div",{style:{fontSize:11,fontWeight:700,color:null!==(o=h.event)&&void 0!==o&&o.includes("QE")?EY.green:null!==(l=h.event)&&void 0!==l&&l.includes("QT")?EY.red:null!==(s=h.event)&&void 0!==s&&s.includes("CUT")?EY.green:null!==(a=h.event)&&void 0!==a&&a.includes("HIKE")?EY.red:EY.cyan},children:h.event}),h.detail&&(0,Hg.jsx)("div",{style:{fontSize:9,color:EY.white,fontWeight:600},children:h.detail}),(0,Hg.jsx)("div",{style:{fontSize:9,color:EY.gray,marginTop:2},children:h.date}),(0,Hg.jsxs)("div",{style:{fontSize:9,color:EY.white,marginTop:1},children:["Net Liq: $",(h.val/1e3).toFixed(2),"T"]}),"qe_start"===h.type&&(0,Hg.jsx)("div",{style:{fontSize:8,color:EY.green,marginTop:3,whiteSpace:"normal",lineHeight:"1.3"},children:"Fed expanding balance sheet \u2192 flooding system with cash. Bullish for equities, crypto, commodities."}),("qt_start"===h.type||"qt_accel"===h.type)&&(0,Hg.jsx)("div",{style:{fontSize:8,color:EY.red,marginTop:3,whiteSpace:"normal",lineHeight:"1.3"},children:"Fed shrinking balance sheet \u2192 draining liquidity. Headwind for risk assets, supports USD."}),"qt_taper"===h.type&&(0,Hg.jsx)("div",{style:{fontSize:8,color:EY.amber,marginTop:3,whiteSpace:"normal",lineHeight:"1.3"},children:"Fed slowing QT pace \u2192 less liquidity drain. Market reads this as bullish pivot signal."}),"change"===h.type&&(0,Hg.jsx)("div",{style:{fontSize:8,color:EY.gray,marginTop:3,whiteSpace:"normal",lineHeight:"1.3"},children:null!==(c=h.event)&&void 0!==c&&c.includes("CUT")?"Rate cut eases financial conditions \u2192 bullish for risk.":"Rate hike tightens conditions \u2192 bearish for risk."})]})]})}function DY(e){let{curve:t,curvePrev:n,prevDate:r}=e;if(!t||Object.keys(t).length<2)return null;const i=["2Y","5Y","10Y","30Y"],o=i.filter(e=>null!=t[e]).map(e=>({label:e,val:t[e],prev:null===n||void 0===n?void 0:n[e]}));if(o.length<2)return null;const l=o.some(e=>null!=e.prev),s=o.flatMap(e=>[e.val,...null!=e.prev?[e.prev]:[]]),a=l?90:70,c=8,d=10,u=18,h=28,p=Math.min(...s)-.2,f=Math.max(...s)+.2-p||1,g=(320-h-d)/(o.length-1),m=e=>c+(a-c-u)*(1-(e-p)/f),y=o.length>=3&&o[0].val>o[2].val?EY.red:EY.cyan,v=o.map((e,t)=>`${h+t*g},${m(e.val)}`).join(" "),x=l?o.filter(e=>null!=e.prev).map((e,t)=>`${h+i.indexOf(e.label)*g},${m(e.prev)}`).join(" "):"";return(0,Hg.jsxs)("svg",{width:"100%",viewBox:`0 0 320 ${a}`,style:{display:"block"},children:[l&&x&&(0,Hg.jsx)("polyline",{points:x,fill:"none",stroke:EY.muted,strokeWidth:1,strokeDasharray:"4,3",opacity:.5}),l&&o.map((e,t)=>null!=e.prev?(0,Hg.jsx)("circle",{cx:h+t*g,cy:m(e.prev),r:2,fill:EY.muted,opacity:.4},`prev-${t}`):null),(0,Hg.jsx)("polyline",{points:v,fill:"none",stroke:y,strokeWidth:1.5}),o.map((e,t)=>(0,Hg.jsxs)("g",{children:[(0,Hg.jsx)("circle",{cx:h+t*g,cy:m(e.val),r:3,fill:y}),(0,Hg.jsx)("text",{x:h+t*g,y:a-3,fontSize:7,fill:EY.gray,textAnchor:"middle",fontFamily:CY,children:e.label}),(0,Hg.jsxs)("text",{x:h+t*g,y:m(e.val)-6,fontSize:7,fill:EY.white,textAnchor:"middle",fontFamily:CY,children:[e.val.toFixed(2),"%"]}),l&&null!=e.prev&&(()=>{const n=e.val-e.prev,r=Math.round(100*Math.abs(n));if(r<1)return null;const i=n>0?EY.red:EY.green,o=n>0?"\u2191":"\u2193";return(0,Hg.jsxs)("text",{x:h+t*g+16,y:m(e.val)+3,fontSize:6,fill:i,fontFamily:CY,fontWeight:700,children:[o,r,"bp"]})})()]},e.label)),l&&(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("line",{x1:h+2,y1:6,x2:h+16,y2:6,stroke:y,strokeWidth:1.5}),(0,Hg.jsx)("text",{x:h+19,y:9,fontSize:6,fill:EY.gray,fontFamily:CY,children:"NOW"}),(0,Hg.jsx)("line",{x1:h+42,y1:6,x2:h+56,y2:6,stroke:EY.muted,strokeWidth:1,strokeDasharray:"3,2"}),(0,Hg.jsx)("text",{x:h+59,y:9,fontSize:6,fill:EY.muted,fontFamily:CY,children:"3M AGO"})]})]})}function LY(e){let{regime:t,size:n="small"}=e;if(!t)return null;const r=t.current_position||{x:.5,y:.5},i=t.trail||[],o="large"===n?340:280,l=TY[t.label]||EY.gray;return(0,Hg.jsxs)("div",{style:{position:"relative",width:o,height:o,margin:"4px auto"},children:[(0,Hg.jsxs)("div",{style:{position:"absolute",inset:0,display:"grid",gridTemplateColumns:"1fr 1fr",gridTemplateRows:"1fr 1fr",borderRadius:4,overflow:"hidden"},children:[(0,Hg.jsx)("div",{style:{background:`${EY.red}0a`,borderRight:`1px solid ${EY.border}`,borderBottom:`1px solid ${EY.border}`}}),(0,Hg.jsx)("div",{style:{background:`${EY.amber}0a`,borderBottom:`1px solid ${EY.border}`}}),(0,Hg.jsx)("div",{style:{background:`${EY.blue}0a`,borderRight:`1px solid ${EY.border}`}}),(0,Hg.jsx)("div",{style:{background:`${EY.green}0a`}})]}),(0,Hg.jsx)("div",{style:{position:"absolute",top:6,left:6,fontSize:16,color:`${EY.red}90`,fontFamily:CY,fontWeight:700},children:"STAGFLATION"}),(0,Hg.jsx)("div",{style:{position:"absolute",top:6,right:6,fontSize:16,color:`${EY.amber}90`,fontFamily:CY,textAlign:"right",fontWeight:700},children:"REFLATION"}),(0,Hg.jsx)("div",{style:{position:"absolute",bottom:6,left:6,fontSize:16,color:`${EY.blue}90`,fontFamily:CY,fontWeight:700},children:"DEFLATION"}),(0,Hg.jsx)("div",{style:{position:"absolute",bottom:6,right:6,fontSize:16,color:`${EY.green}90`,fontFamily:CY,textAlign:"right",fontWeight:700},children:"GOLDILOCKS"}),(0,Hg.jsx)("div",{style:{position:"absolute",left:-20,top:"50%",transform:"translateY(-50%) rotate(-90deg)",fontSize:9,color:EY.muted,letterSpacing:"1.5px",whiteSpace:"nowrap"},children:"\u2190 GROWTH \u2192"}),(0,Hg.jsx)("div",{style:{position:"absolute",top:-16,left:"50%",transform:"translateX(-50%)",fontSize:9,color:EY.muted,letterSpacing:"1px"},children:"INFLATION \u2191"}),i.map((e,t)=>(0,Hg.jsx)("div",{style:{position:"absolute",left:`${(100*e.x).toFixed(1)}%`,top:`${(100*e.y).toFixed(1)}%`,width:5,height:5,borderRadius:"50%",background:l,opacity:.12+t/i.length*.5,transform:"translate(-50%, -50%)"}},t)),(0,Hg.jsx)("div",{style:{position:"absolute",left:`${(100*r.x).toFixed(1)}%`,top:`${(100*r.y).toFixed(1)}%`,width:14,height:14,borderRadius:"50%",background:l,border:`2px solid ${EY.white}`,boxShadow:`0 0 12px ${l}`,transform:"translate(-50%, -50%)",zIndex:2}})]})}function RY(e){let{score:t,label:n}=e;const r=Math.min(100,Math.max(0,(t+100)/2)),i=OY(t);return(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,width:"100%"},children:[(0,Hg.jsxs)("div",{style:{width:50,fontSize:10,fontWeight:700,color:i,fontFamily:CY,textAlign:"right"},children:[t>0?"+":"",t.toFixed(0)]}),(0,Hg.jsxs)("div",{style:{flex:1,height:6,background:EY.bg4,borderRadius:3,overflow:"hidden",position:"relative"},children:[(0,Hg.jsx)("div",{style:{position:"absolute",left:"50%",top:0,height:"100%",width:`${Math.abs(r-50)}%`,marginLeft:r>=50?0:r-50+"%",background:i,borderRadius:3,transition:"width 0.4s"}}),(0,Hg.jsx)("div",{style:{position:"absolute",left:"50%",top:-1,width:1,height:8,background:EY.muted}})]}),(0,Hg.jsx)("div",{style:{width:90,fontSize:8,color:i,fontFamily:CY,letterSpacing:"0.5px"},children:n})]})}function zY(e){let{ticker:t,data:n}=e;if(!n)return null;const r=n.z_score||0,i=Math.min(100,Math.max(0,(r+3)/6*100)),o=r>1?EY.green:r<-1?EY.red:EY.gray;return(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"4px 0"},children:[(0,Hg.jsx)("div",{style:{width:60,fontSize:9,fontWeight:700,color:EY.white,fontFamily:CY},children:t}),(0,Hg.jsxs)("div",{style:{flex:1,height:6,background:EY.bg4,borderRadius:3,position:"relative"},children:[(0,Hg.jsx)("div",{style:{position:"absolute",left:"50%",top:-1,width:1,height:8,background:EY.muted}}),(0,Hg.jsx)("div",{style:{position:"absolute",left:`${i}%`,top:-2,width:8,height:10,borderRadius:2,background:o,transform:"translateX(-50%)",transition:"left 0.4s"}})]}),(0,Hg.jsxs)("div",{style:{width:50,fontSize:9,fontWeight:700,color:o,fontFamily:CY,textAlign:"right"},children:[r>0?"+":"",r.toFixed(2)]}),(0,Hg.jsx)("div",{style:{width:90,fontSize:8,color:o,fontFamily:CY,letterSpacing:"0.5px"},children:n.label}),n.squeeze_risk&&(0,Hg.jsx)("span",{style:{fontSize:8,color:EY.amber,fontWeight:700},children:"\u26a0 SQUEEZE"})]})}const NY={XAUUSD:{base:2950,amp:35,trend:.5,color:EY.amber,label:"Gold \xb7 Spot",dec:2,cls:"commodities"},XAGUSD:{base:32,amp:.8,trend:.05,color:"#C0C0C0",label:"Silver \xb7 Spot",dec:3,cls:"commodities"},EURUSD:{base:1.07,amp:.005,trend:-1e-4,color:EY.blue,label:"Euro \xb7 USD",dec:4,cls:"fx"},GBPUSD:{base:1.26,amp:.006,trend:1e-4,color:"#6B8E23",label:"Cable \xb7 GBP/USD",dec:4,cls:"fx"},USDJPY:{base:150,amp:1.2,trend:.02,color:EY.cyan,label:"USD \xb7 JPY",dec:2,cls:"fx"},USDCAD:{base:1.36,amp:.004,trend:1e-4,color:"#DC143C",label:"USD \xb7 CAD",dec:4,cls:"fx"},USDCHF:{base:.88,amp:.004,trend:-1e-4,color:"#8B0000",label:"USD \xb7 CHF",dec:4,cls:"fx"},AUDUSD:{base:.65,amp:.004,trend:1e-4,color:"#FFD700",label:"AUD \xb7 USD",dec:4,cls:"fx"},US500:{base:5400,amp:50,trend:1.5,color:EY.green,label:"S&P 500 \xb7 CFD",dec:0,cls:"equities"},US30:{base:39e3,amp:400,trend:10,color:"#4169E1",label:"Dow 30 \xb7 CFD",dec:0,cls:"equities"},USTEC:{base:18500,amp:200,trend:5,color:EY.purple,label:"Nasdaq \xb7 CFD",dec:0,cls:"equities"},XTIUSD:{base:72,amp:1.5,trend:-.01,color:EY.orange,label:"WTI Crude",dec:2,cls:"commodities"},XBRUSD:{base:76,amp:1.5,trend:-.01,color:"#8B4513",label:"Brent Crude",dec:2,cls:"commodities"},BTCUSD:{base:65e3,amp:2e3,trend:50,color:"#F7931A",label:"Bitcoin",dec:0,cls:"equities"},ETHUSD:{base:3200,amp:120,trend:5,color:"#627EEA",label:"Ethereum",dec:1,cls:"equities"}},FY={commodities:{REFLATION:1,STAGFLATION:.6,GOLDILOCKS:-.3,DEFLATION:-1},equities:{GOLDILOCKS:1,REFLATION:.3,DEFLATION:-.8,STAGFLATION:-1},fx:{GOLDILOCKS:.5,DEFLATION:-.3,REFLATION:-.5,STAGFLATION:.3}};function $Y(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:504;const n=NY[e]||NY.XAUUSD,r=function(e){let t=e;return()=>(t=(16807*t+0)%2147483647,(t-1)/2147483646)}(37*e.charCodeAt(0)+13*e.charCodeAt(1)+t);let i=n.base;const o=["REFLATION","GOLDILOCKS","STAGFLATION","DEFLATION"],l={REFLATION:EY.amber,GOLDILOCKS:EY.green,STAGFLATION:EY.red,DEFLATION:EY.blue},s=new Date;s.setDate(s.getDate()-t);const a=[];let c=.5*(r()-.5),d=.5*(r()-.5),u=0,h=0,p=5500+600*r(),f=.1+.3*r(),g=1+1.5*r(),m=16+8*r(),y=1*(r()-.5),v=0;const x=[{fr:Math.round(.07*t),nm:"NFP +263K"},{fr:Math.round(.15*t),nm:"CPI 3.2%"},{fr:Math.round(.24*t),nm:"FOMC Hold"},{fr:Math.round(.33*t),nm:"GDP 2.8%"},{fr:Math.round(.42*t),nm:"NFP +187K"},{fr:Math.round(.5*t),nm:"CPI 2.9%"},{fr:Math.round(.6*t),nm:"FOMC Cut 25bp"},{fr:Math.round(.7*t),nm:"NFP +220K"},{fr:Math.round(.8*t),nm:"CPI 2.5%"},{fr:Math.round(.9*t),nm:"GDP 3.1%"}];for(let S=0;S<t;S++){const e=new Date(s);e.setDate(e.getDate()+S);const t=e.getDay();if(0===t||6===t)continue;i+=.2*n.trend+(r()-.48)*n.amp*.08,i=Math.max(.7*n.base,Math.min(1.5*n.base,i));const b=.02*n.amp*(.4+.8*r()),w=0===a.length?i:a[a.length-1].close,j=i,k=Math.max(w,j),_=Math.min(w,j),E=k+b*(.3+.7*r()),C=_-b*(.3+.7*r());u+=.07*(r()-.5),u*=.9,h+=.06*(r()-.5),h*=.91,r()<.02&&(u+=1.2*(r()-.5)),r()<.02&&(h+=1*(r()-.5));c+=.18*u+.025*(.8*Math.sin(.052*a.length)),d+=.14*h+.02*(.7*Math.cos(.037*a.length)),c*=.992,d*=.992,c=Math.max(-3,Math.min(3,c)),d=Math.max(-3,Math.min(3,d));const T=o[(c>0?1:0)+(d>0?2:0)],M=p;p+=14*(r()-.5),f+=.008*(r()-.5),g+=.015*(r()-.5),m+=.6*(r()-.5),m=Math.max(10,Math.min(45,m)),y+=.1*(r()-.5),y*=.993,y=Math.max(-3,Math.min(3,y)),v=p-M;const O=18*c+10*((FY[n.cls]||{})[T]||0)+-6*y+.5*v+8*f,A=Math.round(80*Math.tanh(.02*O)),P=x.find(e=>e.fr===a.length);a.push({date:e.toISOString().slice(0,10),open:+w.toFixed(n.dec),high:+E.toFixed(n.dec),low:+C.toFixed(n.dec),close:+j.toFixed(n.dec),price:+j.toFixed(n.dec),regime:T,regimeColor:l[T]||EY.gray,growthZ:+c.toFixed(3),inflZ:+d.toFixed(3),liq:+p.toFixed(0),spread:+f.toFixed(3),realYield:+g.toFixed(2),vix:+m.toFixed(1),cotZ:+y.toFixed(2),liqTrend:+v.toFixed(1),macroScore:A,event:P?{frame:a.length,name:P.nm,impact:"high"}:null})}const b=function(e,t){const n=[];let r=-28;for(let i=10;i<e.length;i++){const o=e[i],l=o.macroScore-e[Math.max(0,i-5)].macroScore,s=o.macroScore-e[Math.max(0,i-10)].macroScore,a=(FY[t]||{})[o.regime]||0,c=.6*o.macroScore+10*a*.2+-6*o.cotZ*.2;if(i-r<28)continue;let d=null,u=[];c>10&&l>1?(d="BUY",o.macroScore>8&&u.push(`Macro score +${o.macroScore}`),a>.1&&u.push(`${o.regime} favors ${t}`),o.cotZ<-.3&&u.push("COT contrarian \u2014 short squeeze risk"),o.liqTrend>0&&u.push("Fed liquidity expanding"),o.vix<20&&u.push("Low vol \u2014 risk-on"),s>2&&u.push("Strong macro momentum")):c<-10&&l<-1&&(d="SELL",o.macroScore<-8&&u.push(`Macro score ${o.macroScore}`),a<-.1&&u.push(`${o.regime} headwind for ${t}`),o.cotZ>.5&&u.push("COT crowded long \u2014 reversal risk"),o.liqTrend<0&&u.push("Fed liquidity draining"),o.vix>20&&u.push("Elevated vol \u2014 risk-off"),s<-2&&u.push("Deteriorating macro trend")),d&&u.length>=1&&(n.push({bar:i,dir:d,price:o.close,date:o.date,score:Math.round(c),reasons:u.slice(0,3)}),r=i)}return n}(a,n.cls),w=x.filter(e=>e.fr<a.length).map(e=>({frame:e.fr,name:e.nm,impact:"high"}));return{cfg:n,data:a,events:w,signals:b}}function WY(){var e,n,r,i,o,l,s,a,c,d,u,h,p,f,g,m,y,v,x,b,w;const[S,j]=(0,t.useState)(null),[k,_]=(0,t.useState)(!0),[E,C]=(0,t.useState)(null),[T,M]=(0,t.useState)("dashboard"),[O,A]=(0,t.useState)(null),[P,I]=(0,t.useState)(!1),[,D]=(0,t.useState)(0),[L,R]=(0,t.useState)("XAUUSD"),[z,N]=(0,t.useState)(0),[F,$]=(0,t.useState)(!1),[W,B]=(0,t.useState)(1),[U,H]=(0,t.useState)(null),[V,Y]=(0,t.useState)(null),[G,K]=(0,t.useState)("loading"),[q,X]=(0,t.useState)([]),[J,Q]=(0,t.useState)(!1),[Z,ee]=(0,t.useState)(null),[te,ne]=(0,t.useState)(21),re=(0,t.useRef)(null),ie=(0,t.useRef)(null),oe=(0,t.useMemo)(()=>{var e;const t=NY[L]||NY.XAUUSD;if((null===U||void 0===U||null===(e=U.frames)||void 0===e?void 0:e.length)>0){const e={};if(U.frames.forEach(t=>{e[t.date]=t}),(null===V||void 0===V?void 0:V.length)>0){const n=function(e){if(!e||0===e.length)return 2;const t=String(e[0].close),n=t.indexOf(".");return n<0?0:Math.min(5,t.length-n-1)}(V),r=[];V.forEach(t=>{const n=e[t.date];if(n)r.push({date:t.date,open:t.open,high:t.high,low:t.low,close:t.close,price:t.close,growthZ:n.growthZ,inflZ:n.inflZ,regime:n.regime,regimeColor:n.regimeColor,liq:n.netLiq,liqTrend:n.liqDelta,spread:n.spread2s10s,realYield:n.realYield,vix:n.vix,cotZ:n.cotZ,macroScore:n.macroScore,hySpreadZ:n.hySpreadZ||0,copperGoldZ:n.copperGoldZ||0,sentimentZ:n.sentimentZ||0,wageZ:n.wageZ||0,rateDiffZ:n.rateDiffZ||0,surpriseZ:n.surpriseZ||0,m2GrowthZ:n.m2GrowthZ||0,ouOutlook:n.ouOutlook||0,fqScoreMom:n.fqScoreMom||0,fqRegime:n.fqRegime||0,fqLiquidity:n.fqLiquidity||0,fqLeading:n.fqLeading||0,fqCot:n.fqCot||0,fqCredit:n.fqCredit||0});else{const e=r.length>0?r[r.length-1]:{};r.push({date:t.date,open:t.open,high:t.high,low:t.low,close:t.close,price:t.close,growthZ:e.growthZ||0,inflZ:e.inflZ||0,regime:e.regime||"UNKNOWN",regimeColor:e.regimeColor||"gray",liq:e.liq||0,liqTrend:e.liqTrend||0,spread:e.spread||0,realYield:e.realYield||0,vix:e.vix||0,cotZ:e.cotZ||0,macroScore:e.macroScore||0,hySpreadZ:e.hySpreadZ||0,copperGoldZ:e.copperGoldZ||0,sentimentZ:e.sentimentZ||0,wageZ:e.wageZ||0,rateDiffZ:e.rateDiffZ||0,surpriseZ:e.surpriseZ||0,m2GrowthZ:e.m2GrowthZ||0,ouOutlook:e.ouOutlook||0,fqScoreMom:e.fqScoreMom||0,fqRegime:e.fqRegime||0,fqLiquidity:e.fqLiquidity||0,fqLeading:e.fqLeading||0,fqCot:e.fqCot||0,fqCredit:e.fqCredit||0})}});const i={};r.forEach((e,t)=>{i[e.date]=t});const o=(U.signals||[]).map(e=>{var t,n;const o=null!==(t=i[e.date])&&void 0!==t?t:e.bar;return{...e,bar:o,price:(null===(n=r[o])||void 0===n?void 0:n.close)||0}}).filter(e=>null!=e.bar&&e.bar<r.length);return{cfg:{...t,dec:n},data:r,signals:o,events:[]}}const n=U.frames.map((e,t)=>({date:e.date,open:0,high:0,low:0,close:0,price:0,growthZ:e.growthZ,inflZ:e.inflZ,regime:e.regime,regimeColor:e.regimeColor,liq:e.netLiq,liqTrend:e.liqDelta,spread:e.spread2s10s,realYield:e.realYield,vix:e.vix,cotZ:e.cotZ,macroScore:e.macroScore,hySpreadZ:e.hySpreadZ||0,copperGoldZ:e.copperGoldZ||0,sentimentZ:e.sentimentZ||0,wageZ:e.wageZ||0,rateDiffZ:e.rateDiffZ||0,surpriseZ:e.surpriseZ||0,m2GrowthZ:e.m2GrowthZ||0,ouOutlook:e.ouOutlook||0,fqScoreMom:e.fqScoreMom||0,fqRegime:e.fqRegime||0,fqLiquidity:e.fqLiquidity||0,fqLeading:e.fqLeading||0,fqCot:e.fqCot||0,fqCredit:e.fqCredit||0}));return{cfg:t,data:n,signals:U.signals||[],events:[]}}return $Y(L,504)},[U,V,L]),le=oe.data.length;(0,t.useEffect)(()=>{},[L]),(0,t.useEffect)(()=>(F&&"replay"===T&&(re.current=setInterval(()=>{N(e=>e>=le-1?($(!1),e):e+1)},200/W)),()=>{re.current&&clearInterval(re.current)}),[F,W,le,T]),(0,t.useEffect)(()=>{},[]);const se=(0,t.useCallback)(async()=>{try{const e=await fetch("/api/fundamental_state");if(!e.ok)throw new Error(`${e.status} ${e.statusText}`);const t=await e.json();if(j(t),C(null),!O&&t.asset_scores){const e=Object.keys(t.asset_scores)[0];e&&A(e)}}catch(sd){C(sd.message)}finally{_(!1)}},[O]);(0,t.useEffect)(()=>{se()},[]),(0,t.useEffect)(()=>{const e=setInterval(se,3e5);return()=>clearInterval(e)},[se]),(0,t.useEffect)(()=>{if("events"!==T)return;const e=setInterval(()=>D(e=>e+1),6e4);return()=>clearInterval(e)},[T]);(0,t.useCallback)(e=>{if(!e)return"";const t=new Date(e+"T08:30:00")-new Date,n=Math.round(t/6e4);if(n<-1440){return`${Math.round(-n/1440)}d ago`}if(n<-60){return`${Math.round(-n/60)}h ago`}if(n<0)return"JUST NOW";if(n<60)return`in ${n}m`;if(n<1440){const e=n%60;return`in ${Math.floor(n/60)}h ${e>0?e+"m":""}`}const r=Math.floor(n/1440),i=Math.floor(n%1440/60);return`in ${r}d ${i>0?i+"h":""}`},[]);const ae=null===S||void 0===S?void 0:S.regime,ce=null===S||void 0===S?void 0:S.liquidity,de=null===S||void 0===S?void 0:S.yields,ue=(null===S||void 0===S?void 0:S.cot)||{},he=(null===S||void 0===S?void 0:S.asset_scores)||{},pe=(null===S||void 0===S?void 0:S.calendar)||{},fe=(null===S||void 0===S?void 0:S._meta)||{},ge=(0,t.useMemo)(()=>Object.entries(he).sort((e,t)=>{let[,n]=e,[,r]=t;return r.score-n.score}),[he]);return k?(0,Hg.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",minHeight:300,color:EY.gray,fontSize:10,fontFamily:CY,letterSpacing:"2px"},children:"LOADING FUNDAMENTAL DATA..."}):E||!S?(0,Hg.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",minHeight:300,gap:10},children:[(0,Hg.jsx)("div",{style:{color:EY.red,fontSize:10,fontFamily:CY,letterSpacing:"1px"},children:E||"No fundamental data available"}),(0,Hg.jsx)("div",{style:{color:EY.muted,fontSize:9,fontFamily:CY},children:"Run: python Fundementals/fundamental_calculator.py"}),(0,Hg.jsx)("button",{onClick:se,style:{background:EY.bg3,border:`1px solid ${EY.orange}40`,color:EY.orange,padding:"4px 14px",fontSize:9,fontFamily:CY,cursor:"pointer",letterSpacing:"1px"},children:"RETRY"})]}):(0,Hg.jsxs)("div",{style:{fontFamily:CY,fontSize:10,color:EY.white,padding:"0 8px 12px"},children:[(0,Hg.jsxs)("div",{style:{display:"flex",gap:0,borderBottom:`1px solid ${EY.border}`,marginBottom:12,padding:"0 4px",justifyContent:"space-between",alignItems:"center"},children:[(0,Hg.jsx)("div",{style:{display:"flex",gap:0},children:[["dashboard","Dashboard"],["regime","Macro Regime"],["scorecard","Asset Scorecard"],["events","Event Intelligence"],["cot","COT Positioning"]].map(e=>{let[t,n]=e;const r=T===t,i="replay"===t?EY.cyan:"probability"===t?EY.purple:EY.orange;return(0,Hg.jsx)("button",{onClick:()=>M(t),style:{...AY.subTab(r),color:r?i:EY.gray,borderBottomColor:r?i:"transparent"},children:n},t)})}),(0,Hg.jsx)("div",{style:{display:"flex",gap:8,alignItems:"center"},children:null!=fe.age_hours&&(0,Hg.jsxs)("span",{style:{fontSize:8,color:fe.stale?EY.amber:EY.muted,letterSpacing:"0.5px"},children:[fe.stale?"\u26a0 STALE ":"",fe.age_hours<1?`${Math.round(60*fe.age_hours)}m ago`:`${fe.age_hours.toFixed(1)}h ago`]})})]}),"dashboard"===T&&(0,Hg.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,Hg.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,Hg.jsxs)("div",{style:AY.kpiTile(TY[null===ae||void 0===ae?void 0:ae.label]||EY.gray),children:[(0,Hg.jsx)("div",{style:{fontSize:8,color:EY.gray,letterSpacing:"1px",marginBottom:3},children:"MACRO REGIME"}),(0,Hg.jsx)("div",{style:{fontSize:16,fontWeight:700,color:TY[null===ae||void 0===ae?void 0:ae.label]||EY.gray},children:null===ae||void 0===ae?void 0:ae.label}),(0,Hg.jsx)("div",{style:{fontSize:8,color:EY.muted,marginTop:2},children:null===ae||void 0===ae?void 0:ae.sub}),(null===ae||void 0===ae?void 0:ae.prev_label)&&ae.prev_label!==ae.label&&(0,Hg.jsxs)("div",{style:{fontSize:8,color:EY.amber,marginTop:3},children:["\u2190 was ",ae.prev_label," (30d ago)"]}),(null===ae||void 0===ae?void 0:ae.prev_label)&&ae.prev_label===ae.label&&(0,Hg.jsx)("div",{style:{fontSize:8,color:EY.muted,marginTop:3},children:"Stable for 30+ days"}),(0,Hg.jsxs)("div",{style:{fontSize:10,color:EY.gray,marginTop:5,lineHeight:"1.5"},children:["GOLDILOCKS"===(null===ae||void 0===ae?void 0:ae.label)&&"Best for equities & risk assets. Growth supports earnings, low inflation keeps rates stable.","REFLATION"===(null===ae||void 0===ae?void 0:ae.label)&&"Favors commodities & cyclicals. Growth is strong but rising inflation may force rate hikes.","STAGFLATION"===(null===ae||void 0===ae?void 0:ae.label)&&"Worst for most assets. Weak growth + high inflation squeezes margins & raises rates.","DEFLATION"===(null===ae||void 0===ae?void 0:ae.label)&&"Favors bonds & USD. Weak growth + falling prices signal risk-off \u2014 equities underperform."]})]}),(0,Hg.jsxs)("div",{style:AY.kpiTile("EXPANDING"===(null===ce||void 0===ce?void 0:ce.trend)?EY.green:EY.red),children:[(0,Hg.jsx)("div",{style:{fontSize:8,color:EY.gray,letterSpacing:"1px",marginBottom:3},children:"NET LIQUIDITY"}),(0,Hg.jsx)("div",{style:{fontSize:16,fontWeight:700,color:"EXPANDING"===(null===ce||void 0===ce?void 0:ce.trend)?EY.green:EY.red},children:(null===ce||void 0===ce?void 0:ce.value_label)||"\u2014"}),(0,Hg.jsxs)("div",{style:{fontSize:8,color:EY.muted,marginTop:2},children:[null===ce||void 0===ce?void 0:ce.delta_4w_label," \xb7 ",null===ce||void 0===ce?void 0:ce.trend]}),(null===ce||void 0===ce?void 0:ce.prev_value_label)&&(0,Hg.jsxs)("div",{style:{fontSize:8,color:ce.delta_4w>0?EY.green:EY.red,marginTop:3},children:["\u2190 was ",ce.prev_value_label," (4w ago)"]}),(0,Hg.jsxs)("div",{style:{fontSize:10,color:EY.gray,marginTop:5,lineHeight:"1.5"},children:["Fed balance sheet minus TGA & reverse repo = cash in the system. ","EXPANDING"===(null===ce||void 0===ce?void 0:ce.trend)?`+${Math.abs((null===ce||void 0===ce?void 0:ce.delta_4w)||0).toFixed(0)}B more cash entered the system in 4 weeks \u2014 bullish tailwind for stocks & crypto.`:`$${Math.abs((null===ce||void 0===ce?void 0:ce.delta_4w)||0).toFixed(0)}B drained from the system in 4 weeks \u2014 less cash chasing assets, headwind for risk.`]})]}),(0,Hg.jsxs)("div",{style:AY.kpiTile(null!==de&&void 0!==de&&de.inverted?EY.red:EY.cyan),children:[(0,Hg.jsx)("div",{style:{fontSize:8,color:EY.gray,letterSpacing:"1px",marginBottom:3},children:"2s10s SPREAD"}),(0,Hg.jsx)("div",{style:{fontSize:16,fontWeight:700,color:null!==de&&void 0!==de&&de.inverted?EY.red:EY.cyan},children:null!=(null===de||void 0===de?void 0:de.spread_2s10s_bp)?`${de.spread_2s10s_bp>0?"+":""}${de.spread_2s10s_bp.toFixed(0)}bp`:"\u2014"}),(0,Hg.jsxs)("div",{style:{fontSize:8,color:EY.muted,marginTop:2},children:[null!==de&&void 0!==de&&de.inverted?"\u26a0 INVERTED":"Normal"," \xb7 Real ",null===de||void 0===de||null===(e=de.real_yield_10y)||void 0===e?void 0:e.toFixed(2),"%"]}),null!=(null===de||void 0===de?void 0:de.prev_spread_2s10s_bp)&&(0,Hg.jsxs)("div",{style:{fontSize:8,color:de.spread_2s10s_bp-de.prev_spread_2s10s_bp>0?EY.cyan:EY.amber,marginTop:3},children:["\u2190 was ",de.prev_spread_2s10s_bp>0?"+":"",de.prev_spread_2s10s_bp.toFixed(0),"bp (3m ago)"]}),(0,Hg.jsxs)("div",{style:{fontSize:10,color:EY.gray,marginTop:5,lineHeight:"1.5"},children:["10Y minus 2Y yield. ",null!==de&&void 0!==de&&de.inverted?"Inversion historically precedes recession by 6\u201318 months.":"Normal curve means the bond market sees no near-term recession."]})]}),(0,Hg.jsxs)("div",{style:AY.kpiTile(EY.orange),children:[(0,Hg.jsx)("div",{style:{fontSize:8,color:EY.gray,letterSpacing:"1px",marginBottom:3},children:"VIX"}),(0,Hg.jsx)("div",{style:{fontSize:16,fontWeight:700,color:(null===de||void 0===de?void 0:de.vix)>25?EY.red:(null===de||void 0===de?void 0:de.vix)>18?EY.amber:EY.green},children:(null===de||void 0===de||null===(n=de.vix)||void 0===n?void 0:n.toFixed(1))||"\u2014"}),(0,Hg.jsxs)("div",{style:{fontSize:8,color:EY.muted,marginTop:2},children:["Fed Funds: ",null===de||void 0===de||null===(r=de.fed_funds_rate)||void 0===r?void 0:r.toFixed(2),"%"]}),(null===de||void 0===de?void 0:de.prev_vix)>0&&(0,Hg.jsxs)("div",{style:{fontSize:8,color:de.vix<de.prev_vix?EY.green:EY.red,marginTop:3},children:["\u2190 was ",de.prev_vix.toFixed(1)," (30d ago) ",de.vix<de.prev_vix?"\u2193 calming":"\u2191 rising fear"]}),(0,Hg.jsx)("div",{style:{fontSize:10,color:EY.gray,marginTop:5,lineHeight:"1.5"},children:(null===de||void 0===de?void 0:de.vix)>25?"Elevated fear \u2014 markets pricing risk. Expect wider ranges and trend exhaustion.":(null===de||void 0===de?void 0:de.vix)>18?"Moderate caution \u2014 markets uncertain. Signals may fire with lower confidence.":"Low fear \u2014 risk-on environment. Trend-following signals are most reliable here."})]})]}),ae&&(0,Hg.jsx)("div",{style:{...AY.card,borderLeft:`3px solid ${TY[ae.label]||EY.gray}`},children:(0,Hg.jsxs)("div",{style:{padding:"8px 14px"},children:[(0,Hg.jsx)("div",{style:{fontSize:9,fontWeight:700,letterSpacing:"1.5px",color:EY.orange,marginBottom:5},children:"MARKET INSIGHT"}),(0,Hg.jsx)("div",{style:{fontSize:9,color:EY.white,lineHeight:"1.6"},children:(()=>{const e=ae.implications||{},t=[];e.equities&&t.push(`Equities outlook: ${e.equities}`),e.commodities&&t.push(`Commodities: ${e.commodities}`),e.fixed_income&&t.push(`Bonds: ${e.fixed_income}`),e.usd&&t.push(`USD: ${e.usd}`);const n="EXPANDING"===(null===ce||void 0===ce?void 0:ce.trend)?"Fed liquidity is expanding \u2014 a tailwind for asset prices.":"Fed liquidity is draining \u2014 watch for risk-off pressure.",r=(null===de||void 0===de?void 0:de.vix)>25?"Elevated VIX means markets are pricing fear \u2014 expect volatility.":(null===de||void 0===de?void 0:de.vix)>18?"VIX is moderate \u2014 mixed signals, stay selective.":"Low VIX \u2014 calm markets favor trend-following.";return(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("span",{style:{color:TY[ae.label]||EY.gray,fontWeight:600},children:ae.label})," regime: ",t.join(" \xb7 "),(0,Hg.jsx)("br",{}),n," ",r]})})()})]})}),(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"3fr 5fr",gridTemplateRows:"auto auto",gap:12},children:[(0,Hg.jsxs)("div",{style:AY.card,children:[(0,Hg.jsxs)("div",{style:AY.cardHeader,children:[(0,Hg.jsx)("span",{style:AY.cardTitle,children:"Macro Regime"}),(0,Hg.jsx)(PY,{color:TY[null===ae||void 0===ae?void 0:ae.label],children:"12-MONTH TRAIL"})]}),(0,Hg.jsxs)("div",{style:{...AY.cardBody,textAlign:"center",padding:"8px 12px 10px",display:"flex",flexDirection:"column",justifyContent:"center",flex:1},children:[(0,Hg.jsx)(LY,{regime:ae,size:"small"}),(0,Hg.jsx)("div",{style:{fontSize:16,fontWeight:700,color:TY[null===ae||void 0===ae?void 0:ae.label],marginTop:6,letterSpacing:"3px"},children:null===ae||void 0===ae?void 0:ae.label}),(0,Hg.jsxs)("div",{style:{fontSize:11,color:EY.muted,marginTop:3},children:[null===ae||void 0===ae?void 0:ae.confidence,"% confidence \xb7 G: ",(null===ae||void 0===ae?void 0:ae.growth_z)>0?"+":"",null===ae||void 0===ae||null===(i=ae.growth_z)||void 0===i?void 0:i.toFixed(2),"\u03c3 \xb7 I: ",(null===ae||void 0===ae?void 0:ae.inflation_z)>0?"+":"",null===ae||void 0===ae||null===(o=ae.inflation_z)||void 0===o?void 0:o.toFixed(2),"\u03c3"]}),(null===ae||void 0===ae?void 0:ae.implications)&&(0,Hg.jsx)("div",{style:{display:"flex",justifyContent:"center",gap:10,marginTop:10,flexWrap:"wrap"},children:Object.entries(ae.implications).map(e=>{let[t,n]=e;return(0,Hg.jsxs)("div",{style:{fontSize:9,fontFamily:CY,display:"flex",alignItems:"center",gap:3},children:[(0,Hg.jsxs)("span",{style:{color:EY.muted,textTransform:"uppercase"},children:[t.replace("_"," "),":"]}),(0,Hg.jsx)("span",{style:{fontWeight:700,color:MY[n]||EY.gray},children:n})]},t)})})]})]}),(0,Hg.jsxs)("div",{style:AY.card,children:[(0,Hg.jsxs)("div",{style:AY.cardHeader,children:[(0,Hg.jsx)("span",{style:AY.cardTitle,children:"Fed Net Liquidity"}),(0,Hg.jsxs)(PY,{color:"EXPANDING"===(null===ce||void 0===ce?void 0:ce.trend)?EY.green:EY.red,children:[null===ce||void 0===ce?void 0:ce.trend," ",null===ce||void 0===ce?void 0:ce.delta_4w_label]})]}),(0,Hg.jsxs)("div",{style:AY.cardBody,children:[(0,Hg.jsx)(IY,{chart:null===ce||void 0===ce?void 0:ce.chart,events:null===ce||void 0===ce?void 0:ce.fed_events}),(0,Hg.jsxs)("div",{style:AY.hint,children:["WALCL $",null===(l=(null===ce||void 0===ce||null===(s=ce.components)||void 0===s?void 0:s.walcl)/1e3)||void 0===l?void 0:l.toFixed(2),"T \u2014 TGA $",null===(a=(null===ce||void 0===ce||null===(c=ce.components)||void 0===c?void 0:c.tga)/1e3)||void 0===a?void 0:a.toFixed(2),"T \u2014 RRP $",null===ce||void 0===ce||null===(d=ce.components)||void 0===d||null===(u=d.rrp)||void 0===u?void 0:u.toFixed(0),"B"]}),(0,Hg.jsxs)("div",{style:{fontSize:10,color:EY.gray,marginTop:5,lineHeight:"1.5"},children:["When this line rises \u2192 more cash in markets \u2192 bullish. When it falls \u2192 cash draining \u2192 bearish headwind. Dots = FOMC meetings. Hover for details.",(null===ce||void 0===ce||null===(h=ce.fed_events)||void 0===h?void 0:h.length)>0?` \xb7 ${ce.fed_events.length} FOMC meetings in window.`:""]})]})]}),(0,Hg.jsxs)("div",{style:{...AY.card,borderLeft:`3px solid ${EY.orange}`},children:[(0,Hg.jsxs)("div",{style:AY.cardHeader,children:[(0,Hg.jsx)("span",{style:{...AY.cardTitle,color:EY.orange},children:"MK.TRADES PLAYBOOK"}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(null===ae||void 0===ae?void 0:ae.computed_at)&&(0,Hg.jsx)("span",{style:{fontSize:8,color:EY.muted},children:ae.computed_at.slice(0,16).replace("T"," ")}),(0,Hg.jsx)(PY,{color:EY.orange,children:null===ae||void 0===ae?void 0:ae.label})]})]}),(0,Hg.jsxs)("div",{style:{...AY.cardBody,padding:"8px 14px"},children:[(0,Hg.jsx)("div",{style:{fontSize:10,color:EY.gray,letterSpacing:"1px",marginBottom:8,fontWeight:700},children:"REGIME EDGE"}),(()=>{const e={GOLDILOCKS:[{dir:"LONG",assets:"US500 \xb7 USTEC \xb7 US30",reason:"Earnings growth + stable rates = equities outperform"},{dir:"LONG",assets:"EURUSD \xb7 GBPUSD",reason:"Risk-on weakens USD, supports EUR/GBP"},{dir:"SHORT",assets:"XAUUSD",reason:"Gold underperforms when growth is strong & rates stable"},{dir:"AVOID",assets:"USDCHF \xb7 USDJPY",reason:"Low vol regime \u2014 range-bound, poor R:R"}],REFLATION:[{dir:"LONG",assets:"XAUUSD \xb7 XAGUSD",reason:"Inflation hedge demand surges, real yields fall"},{dir:"LONG",assets:"XTIUSD \xb7 XBRUSD",reason:"Strong demand + supply constraints = oil bid"},{dir:"SHORT",assets:"USTEC",reason:"Rising rates compress growth stock multiples"},{dir:"CAUTION",assets:"US500",reason:"Mixed \u2014 value sectors lead, tech lags"}],STAGFLATION:[{dir:"LONG",assets:"XAUUSD \xb7 USDCHF",reason:"Safe havens bid on growth fears + inflation"},{dir:"SHORT",assets:"US500 \xb7 USTEC",reason:"Earnings decline + rate pressure = double hit"},{dir:"SHORT",assets:"AUDUSD",reason:"Risk-off + commodity demand slowing"},{dir:"LONG",assets:"XTIUSD",reason:"Supply-side inflation keeps oil elevated"}],DEFLATION:[{dir:"LONG",assets:"USDJPY \xb7 USDCHF",reason:"USD strengthens as global growth stalls"},{dir:"SHORT",assets:"XTIUSD \xb7 XBRUSD",reason:"Demand destruction crushes oil"},{dir:"SHORT",assets:"AUDUSD \xb7 USDCAD",reason:"Commodity currencies weaken sharply"},{dir:"CAUTION",assets:"XAUUSD",reason:"Mixed \u2014 deflation fear vs USD strength"}]},t=e[null===ae||void 0===ae?void 0:ae.label]||e.GOLDILOCKS,n={LONG:EY.green,SHORT:EY.red,AVOID:EY.muted,CAUTION:EY.amber};return t.map((e,r)=>(0,Hg.jsxs)("div",{style:{display:"flex",gap:8,padding:"6px 0",borderBottom:r<t.length-1?`1px solid ${EY.border}08`:"none"},children:[(0,Hg.jsx)("span",{style:{width:50,fontSize:11,fontWeight:700,color:n[e.dir]||EY.gray,flexShrink:0},children:e.dir}),(0,Hg.jsxs)("div",{style:{flex:1},children:[(0,Hg.jsx)("div",{style:{fontSize:12,color:EY.white,fontWeight:600},children:e.assets}),(0,Hg.jsx)("div",{style:{fontSize:10,color:EY.gray,marginTop:2,lineHeight:"1.3"},children:e.reason})]})]},r))})(),ge.length>0&&(0,Hg.jsxs)("div",{style:{marginTop:10,padding:"8px 0 0",borderTop:`1px solid ${EY.border}`},children:[(0,Hg.jsx)("div",{style:{fontSize:10,color:EY.gray,letterSpacing:"1px",marginBottom:6,fontWeight:700},children:"MACRO SCORE LEADERS"}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:14},children:[(0,Hg.jsxs)("div",{style:{flex:1},children:[(0,Hg.jsx)("div",{style:{fontSize:8,color:EY.green,letterSpacing:"1px",marginBottom:3},children:"STRONGEST"}),ge.slice(0,3).map(e=>{let[t,n]=e;return(0,Hg.jsxs)("div",{style:{fontSize:11,display:"flex",justifyContent:"space-between",padding:"2px 0"},children:[(0,Hg.jsx)("span",{style:{color:EY.white,fontWeight:600},children:t}),(0,Hg.jsxs)("span",{style:{color:EY.green,fontWeight:700},children:[n.score>0?"+":"",n.score.toFixed(0)]})]},t)})]}),(0,Hg.jsx)("div",{style:{width:1,background:EY.border}}),(0,Hg.jsxs)("div",{style:{flex:1},children:[(0,Hg.jsx)("div",{style:{fontSize:8,color:EY.red,letterSpacing:"1px",marginBottom:3},children:"WEAKEST"}),ge.slice(-3).reverse().map(e=>{let[t,n]=e;return(0,Hg.jsxs)("div",{style:{fontSize:11,display:"flex",justifyContent:"space-between",padding:"2px 0"},children:[(0,Hg.jsx)("span",{style:{color:EY.white,fontWeight:600},children:t}),(0,Hg.jsxs)("span",{style:{color:EY.red,fontWeight:700},children:[n.score>0?"+":"",n.score.toFixed(0)]})]},t)})]})]})]})]})]}),(0,Hg.jsxs)("div",{style:AY.card,children:[(0,Hg.jsxs)("div",{style:AY.cardHeader,children:[(0,Hg.jsx)("span",{style:AY.cardTitle,children:"Yield Curve"}),(0,Hg.jsxs)(PY,{color:null!==de&&void 0!==de&&de.inverted?EY.red:EY.cyan,children:[null!==de&&void 0!==de&&de.inverted?"INVERTED":"NORMAL"," ",null===de||void 0===de||null===(p=de.spread_2s10s_bp)||void 0===p?void 0:p.toFixed(0),"bp"]})]}),(0,Hg.jsxs)("div",{style:AY.cardBody,children:[(0,Hg.jsx)(DY,{curve:null===de||void 0===de?void 0:de.curve,curvePrev:null===de||void 0===de?void 0:de.curve_prev,prevDate:null===de||void 0===de?void 0:de.curve_prev_date}),(0,Hg.jsxs)("div",{style:{fontSize:10,color:EY.gray,marginTop:5,lineHeight:"1.5"},children:["Solid = current curve. Dashed = 3 months ago. Arrows show rate changes in basis points."," ",null!==de&&void 0!==de&&de.inverted?"Inverted curve signals recession risk \u2014 historically reliable 6\u201318 month lead.":"Normal upward slope \u2014 bond market sees no imminent recession.",((e,t)=>{const n=((null===de||void 0===de||null===(e=de.curve_prev)||void 0===e?void 0:e["10Y"])||0)-((null===de||void 0===de||null===(t=de.curve_prev)||void 0===t?void 0:t["2Y"])||0),r=((null===de||void 0===de?void 0:de.spread_2s10s)||0)-n;return Math.abs(r)<.05?" Curve shape largely unchanged over 3 months.":r>0?" Curve has steepened \u2014 market expects more growth or inflation ahead.":" Curve has flattened \u2014 market pricing slower growth or rate cuts."})()]})]})]})]}),(0,Hg.jsxs)("div",{style:AY.card,children:[(0,Hg.jsxs)("div",{style:AY.cardHeader,children:[(0,Hg.jsx)("span",{style:AY.cardTitle,children:"Asset Macro Scores"}),(0,Hg.jsxs)(PY,{children:[ge.length," ASSETS"]})]}),(0,Hg.jsx)("div",{style:{...AY.cardBody,padding:"6px 12px"},children:ge.map(e=>{let[t,n]=e;return(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"4px 0",borderBottom:`1px solid ${EY.border}08`,cursor:"pointer"},onClick:()=>{A(t),M("scorecard")},children:[(0,Hg.jsx)("div",{style:{width:70,fontSize:10,fontWeight:700,color:EY.white},children:t}),(0,Hg.jsx)(RY,{score:n.score,label:n.label})]},t)})})]})]}),"regime"===T&&(0,Hg.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:12},children:[(0,Hg.jsxs)("div",{style:AY.card,children:[(0,Hg.jsxs)("div",{style:AY.cardHeader,children:[(0,Hg.jsx)("span",{style:AY.cardTitle,children:"Regime Quadrant \u2014 Full View"}),(0,Hg.jsx)(PY,{color:TY[null===ae||void 0===ae?void 0:ae.label],children:null===ae||void 0===ae?void 0:ae.label})]}),(0,Hg.jsxs)("div",{style:{...AY.cardBody,textAlign:"center"},children:[(0,Hg.jsx)(LY,{regime:ae,size:"large"}),(0,Hg.jsx)("div",{style:{fontSize:12,fontWeight:700,color:TY[null===ae||void 0===ae?void 0:ae.label],marginTop:8,letterSpacing:"2px"},children:null===ae||void 0===ae?void 0:ae.label}),(0,Hg.jsxs)("div",{style:{fontSize:9,color:EY.muted,marginTop:2},children:["Confidence: ",null===ae||void 0===ae?void 0:ae.confidence,"%"]})]})]}),(0,Hg.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,Hg.jsxs)("div",{style:AY.card,children:[(0,Hg.jsxs)("div",{style:AY.cardHeader,children:[(0,Hg.jsx)("span",{style:AY.cardTitle,children:"Growth Factor (Nowcast)"}),(0,Hg.jsxs)(PY,{color:(null===ae||void 0===ae?void 0:ae.growth_z)>0?EY.green:EY.red,children:[(null===ae||void 0===ae?void 0:ae.growth_z)>0?"+":"",null===ae||void 0===ae||null===(f=ae.growth_z)||void 0===f?void 0:f.toFixed(2),"\u03c3 ",(null===ae||void 0===ae?void 0:ae.growth_z)>0?"ABOVE":"BELOW"," TREND"]})]}),(0,Hg.jsx)("div",{style:AY.cardBody,children:(0,Hg.jsxs)("table",{style:{width:"100%",borderCollapse:"collapse"},children:[(0,Hg.jsx)("thead",{children:(0,Hg.jsx)("tr",{children:["Series","Value","Z-Score"].map(e=>(0,Hg.jsx)("th",{style:{fontSize:8,color:EY.muted,textAlign:"left",padding:"3px 6px",borderBottom:`1px solid ${EY.border}`,letterSpacing:"1px"},children:e},e))})}),(0,Hg.jsx)("tbody",{children:((null===ae||void 0===ae?void 0:ae.growth_factors)||[]).map(e=>{var t;return(0,Hg.jsxs)("tr",{children:[(0,Hg.jsx)("td",{style:{fontSize:9,padding:"3px 6px",color:EY.gray,borderBottom:`1px solid ${EY.border}08`},children:e.name||e.series}),(0,Hg.jsx)("td",{style:{fontSize:9,padding:"3px 6px",color:EY.white,fontWeight:600,borderBottom:`1px solid ${EY.border}08`},children:"number"===typeof e.value?e.value.toFixed(2):e.value}),(0,Hg.jsxs)("td",{style:{fontSize:9,padding:"3px 6px",fontWeight:700,borderBottom:`1px solid ${EY.border}08`,color:e.z_score>.5?EY.green:e.z_score<-.5?EY.red:EY.gray},children:[e.z_score>0?"+":"",null===(t=e.z_score)||void 0===t?void 0:t.toFixed(2)]})]},e.series)})})]})})]}),(0,Hg.jsxs)("div",{style:AY.card,children:[(0,Hg.jsxs)("div",{style:AY.cardHeader,children:[(0,Hg.jsx)("span",{style:AY.cardTitle,children:"Inflation Factor (Nowcast)"}),(0,Hg.jsxs)(PY,{color:(null===ae||void 0===ae?void 0:ae.inflation_z)>.5?EY.red:(null===ae||void 0===ae?void 0:ae.inflation_z)<-.5?EY.blue:EY.gray,children:[(null===ae||void 0===ae?void 0:ae.inflation_z)>0?"+":"",null===ae||void 0===ae||null===(g=ae.inflation_z)||void 0===g?void 0:g.toFixed(2),"\u03c3 ",(null===ae||void 0===ae?void 0:ae.inflation_z)>.5?"ELEVATED":"CONTAINED"]})]}),(0,Hg.jsx)("div",{style:AY.cardBody,children:(0,Hg.jsxs)("table",{style:{width:"100%",borderCollapse:"collapse"},children:[(0,Hg.jsx)("thead",{children:(0,Hg.jsx)("tr",{children:["Series","Value","Z-Score"].map(e=>(0,Hg.jsx)("th",{style:{fontSize:8,color:EY.muted,textAlign:"left",padding:"3px 6px",borderBottom:`1px solid ${EY.border}`,letterSpacing:"1px"},children:e},e))})}),(0,Hg.jsx)("tbody",{children:((null===ae||void 0===ae?void 0:ae.inflation_factors)||[]).map(e=>{var t;return(0,Hg.jsxs)("tr",{children:[(0,Hg.jsx)("td",{style:{fontSize:9,padding:"3px 6px",color:EY.gray,borderBottom:`1px solid ${EY.border}08`},children:e.name||e.series}),(0,Hg.jsx)("td",{style:{fontSize:9,padding:"3px 6px",color:EY.white,fontWeight:600,borderBottom:`1px solid ${EY.border}08`},children:"number"===typeof e.value?e.value.toFixed(2):e.value}),(0,Hg.jsxs)("td",{style:{fontSize:9,padding:"3px 6px",fontWeight:700,borderBottom:`1px solid ${EY.border}08`,color:e.z_score>.5?EY.red:e.z_score<-.5?EY.blue:EY.gray},children:[e.z_score>0?"+":"",null===(t=e.z_score)||void 0===t?void 0:t.toFixed(2)]})]},e.series)})})]})})]})]})]}),(null===ae||void 0===ae?void 0:ae.implications)&&(0,Hg.jsxs)("div",{style:AY.card,children:[(0,Hg.jsx)("div",{style:AY.cardHeader,children:(0,Hg.jsxs)("span",{style:AY.cardTitle,children:["Regime Implications \u2014 ",null===ae||void 0===ae?void 0:ae.label]})}),(0,Hg.jsx)("div",{style:{...AY.cardBody,display:"grid",gridTemplateColumns:"repeat(4, 1fr)",gap:8},children:Object.entries(ae.implications).map(e=>{let[t,n]=e;return(0,Hg.jsxs)("div",{style:AY.kpiTile(MY[n]||EY.gray),children:[(0,Hg.jsx)("div",{style:{fontSize:8,color:EY.gray,letterSpacing:"1px",textTransform:"uppercase",marginBottom:3},children:t.replace("_"," ")}),(0,Hg.jsx)("div",{style:{fontSize:14,fontWeight:700,color:MY[n]||EY.gray},children:n})]},t)})})]})]}),"scorecard"===T&&(0,Hg.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,Hg.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:4},children:Object.keys(he).map(e=>(0,Hg.jsx)("button",{onClick:()=>A(e),style:{background:O===e?`${EY.orange}20`:EY.bg3,border:`1px solid ${O===e?EY.orange:EY.border}`,color:O===e?EY.orange:EY.gray,padding:"4px 10px",fontSize:9,fontFamily:CY,cursor:"pointer",fontWeight:O===e?700:400,letterSpacing:"0.5px"},children:e},e))}),O&&he[O]&&((e,t)=>{const n=he[O],r=ue[O];return(0,Hg.jsxs)("div",{style:AY.card,children:[(0,Hg.jsxs)("div",{style:AY.cardHeader,children:[(0,Hg.jsxs)("span",{style:AY.cardTitle,children:[O," \u2014 Macro Confluence"]}),(0,Hg.jsxs)(PY,{color:OY(n.score),children:[n.score>0?"+":"",n.score.toFixed(1)," \xb7 ",n.label]})]}),(0,Hg.jsxs)("div",{style:{padding:"12px 14px 6px"},children:[(0,Hg.jsxs)("div",{style:{position:"relative",height:10,background:EY.bg4,borderRadius:5},children:[(0,Hg.jsx)("div",{style:{position:"absolute",left:0,top:0,height:"100%",width:"50%",background:`linear-gradient(to right, ${EY.red}40, transparent)`,borderRadius:"5px 0 0 5px"}}),(0,Hg.jsx)("div",{style:{position:"absolute",right:0,top:0,height:"100%",width:"50%",background:`linear-gradient(to left, ${EY.green}40, transparent)`,borderRadius:"0 5px 5px 0"}}),(0,Hg.jsx)("div",{style:{position:"absolute",left:(n.score+100)/2+"%",top:-3,width:4,height:16,background:OY(n.score),borderRadius:2,transform:"translateX(-50%)",transition:"left 0.4s"}}),(0,Hg.jsx)("div",{style:{position:"absolute",left:"50%",top:-1,width:1,height:12,background:EY.muted}})]}),(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",marginTop:3},children:[(0,Hg.jsx)("span",{style:{fontSize:7,color:EY.red,letterSpacing:"1px"},children:"\u25c4 BEARISH"}),(0,Hg.jsx)("span",{style:{fontSize:7,color:EY.muted,letterSpacing:"1px"},children:"NEUTRAL"}),(0,Hg.jsx)("span",{style:{fontSize:7,color:EY.green,letterSpacing:"1px"},children:"BULLISH \u25ba"})]})]}),(0,Hg.jsx)("div",{style:{padding:"0 14px 14px"},children:(0,Hg.jsxs)("table",{style:{width:"100%",borderCollapse:"collapse"},children:[(0,Hg.jsx)("thead",{children:(0,Hg.jsx)("tr",{children:["Factor","Value","Weight","Contribution","Signal"].map(e=>(0,Hg.jsx)("th",{style:{fontSize:8,color:EY.muted,textAlign:"left",padding:"4px 8px",borderBottom:`1px solid ${EY.border2}`,letterSpacing:"1px"},children:e},e))})}),(0,Hg.jsx)("tbody",{children:(n.factors||[]).map(e=>(0,Hg.jsxs)("tr",{style:{borderBottom:`1px solid ${EY.border}08`},children:[(0,Hg.jsx)("td",{style:{fontSize:9,padding:"5px 8px",color:EY.gray},children:e.name}),(0,Hg.jsxs)("td",{style:{fontSize:9,padding:"5px 8px",color:EY.white,fontWeight:600},children:[e.value>0?"+":"",e.value.toFixed(2)]}),(0,Hg.jsx)("td",{style:{fontSize:9,padding:"5px 8px",color:EY.muted},children:e.weight}),(0,Hg.jsxs)("td",{style:{fontSize:9,padding:"5px 8px",fontWeight:700,color:e.contribution>.5?EY.green:e.contribution<-.5?EY.red:EY.gray},children:[e.contribution>0?"+":"",e.contribution.toFixed(2)]}),(0,Hg.jsx)("td",{style:{fontSize:9,padding:"5px 8px"},children:(0,Hg.jsx)("span",{style:{padding:"1px 6px",borderRadius:2,fontSize:8,fontWeight:700,background:"bull"===e.signal?`${EY.green}20`:"bear"===e.signal?`${EY.red}20`:`${EY.gray}20`,color:"bull"===e.signal?EY.green:"bear"===e.signal?EY.red:EY.gray},children:"bull"===e.signal?"\u25b2 BULL":"bear"===e.signal?"\u25bc BEAR":"\u2014 NEUT"})})]},e.name))})]})}),r&&(0,Hg.jsxs)("div",{style:{padding:"0 14px 14px",borderTop:`1px solid ${EY.border}`},children:[(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"8px 0 4px"},children:[(0,Hg.jsx)("span",{style:{fontSize:9,color:EY.gray,letterSpacing:"1px"},children:"COT POSITIONING"}),(0,Hg.jsxs)(PY,{color:r.squeeze_risk?EY.amber:Math.abs(r.z_score)>1?EY.blue:EY.muted,children:[r.label," ",r.squeeze_risk?"\u26a0 SQUEEZE":""]})]}),(0,Hg.jsx)(zY,{ticker:O,data:r}),(0,Hg.jsxs)("div",{style:AY.hint,children:["Net Position: ",null===(e=r.net_position)||void 0===e?void 0:e.toLocaleString()," \xb7 OI: ",null===(t=r.open_interest)||void 0===t?void 0:t.toLocaleString()]})]})]})})()]}),"events"===T&&(0,Hg.jsx)(_Y,{calendar:pe}),"cot"===T&&(0,Hg.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:12},children:[(0,Hg.jsxs)("div",{style:AY.card,children:[(0,Hg.jsxs)("div",{style:AY.cardHeader,children:[(0,Hg.jsx)("span",{style:AY.cardTitle,children:"Speculative Positioning Z-Score"}),(0,Hg.jsx)(PY,{children:"WEEKLY \xb7 ROLLING"})]}),(0,Hg.jsxs)("div",{style:AY.cardBody,children:[(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",padding:"0 68px 4px 68px"},children:[(0,Hg.jsx)("span",{style:{fontSize:7,color:EY.red,letterSpacing:"0.5px"},children:"SHORT"}),(0,Hg.jsx)("span",{style:{fontSize:7,color:EY.muted},children:"0"}),(0,Hg.jsx)("span",{style:{fontSize:7,color:EY.green,letterSpacing:"0.5px"},children:"LONG"})]}),Object.entries(ue).map(e=>{let[t,n]=e;return(0,Hg.jsx)(zY,{ticker:t,data:n},t)})]})]}),(0,Hg.jsxs)("div",{style:AY.card,children:[(0,Hg.jsxs)("div",{style:AY.cardHeader,children:[(0,Hg.jsxs)("span",{style:AY.cardTitle,children:[O||"\u2014"," \u2014 Z-Score History"]}),(0,Hg.jsx)(PY,{color:null!==(m=ue[O])&&void 0!==m&&m.squeeze_risk?EY.amber:EY.muted,children:(null===(y=ue[O])||void 0===y?void 0:y.label)||"\u2014"})]}),(0,Hg.jsxs)("div",{style:AY.cardBody,children:[(0,Hg.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:3,marginBottom:8},children:Object.keys(ue).map(e=>(0,Hg.jsx)("button",{onClick:()=>A(e),style:{background:O===e?`${EY.orange}20`:"transparent",border:`1px solid ${O===e?EY.orange:EY.border}`,color:O===e?EY.orange:EY.muted,padding:"2px 6px",fontSize:8,fontFamily:CY,cursor:"pointer"},children:e},e))}),O&&(null===(v=ue[O])||void 0===v?void 0:v.chart)&&(()=>{const e=ue[O].chart;if(e.length<3)return(0,Hg.jsx)("div",{style:{color:EY.muted,fontSize:9,textAlign:"center"},children:"Insufficient data"});const t=320,n=120,r=8,i=4,o=16,l=4,s=e.map(e=>e.z),a=Math.max(3,Math.max(...s.map(Math.abs))),c=(t-l-i)/(s.length-1),d=e=>r+(n-r-o)*(1-(e+a)/(2*a)),u=d(0);return(0,Hg.jsxs)("svg",{width:"100%",viewBox:"0 0 320 120",style:{display:"block"},children:[(0,Hg.jsx)("line",{x1:l,y1:d(2),x2:t-i,y2:d(2),stroke:EY.green,strokeWidth:.5,strokeDasharray:"3,3",opacity:.4}),(0,Hg.jsx)("line",{x1:l,y1:d(-2),x2:t-i,y2:d(-2),stroke:EY.red,strokeWidth:.5,strokeDasharray:"3,3",opacity:.4}),(0,Hg.jsx)("line",{x1:l,y1:u,x2:t-i,y2:u,stroke:EY.muted,strokeWidth:.5}),s.map((e,t)=>{const n=l+t*c,r=Math.max(1,.7*c),i=e>=0?d(e):u,o=Math.abs(d(e)-u);return(0,Hg.jsx)("rect",{x:n-r/2,y:i,width:r,height:o,fill:e>=0?EY.green:EY.red,opacity:.5},t)}),(0,Hg.jsx)("text",{x:l,y:118,fontSize:7,fill:EY.muted,fontFamily:CY,children:e[0].date}),(0,Hg.jsx)("text",{x:t-i,y:118,fontSize:7,fill:EY.muted,fontFamily:CY,textAnchor:"end",children:e[e.length-1].date}),(0,Hg.jsx)("text",{x:1,y:d(2)+3,fontSize:6,fill:EY.green,fontFamily:CY,children:"+2\u03c3"}),(0,Hg.jsx)("text",{x:1,y:d(-2)+3,fontSize:6,fill:EY.red,fontFamily:CY,children:"\u22122\u03c3"})]})})(),O&&ue[O]&&(0,Hg.jsxs)("div",{style:AY.hint,children:["Net: ",null===(x=ue[O].net_position)||void 0===x?void 0:x.toLocaleString()," \xb7 OI: ",null===(b=ue[O].open_interest)||void 0===b?void 0:b.toLocaleString()," \xb7 Spec %: ",null===(w=ue[O].pct_spec_net)||void 0===w?void 0:w.toFixed(1),"%"]})]})]})]})}),"replay"===T&&((e,t,n,r,i,o)=>{const l=oe.data[z]||oe.data[0],s=oe.data.slice(0,z+1),a=oe.cfg,c=le>1?z/(le-1):0,d=700,u=250,h=10,p=8,f=20,g=55,m=oe.data.map(e=>e.high),y=oe.data.map(e=>e.low),v=.998*Math.min(...y),x=1.002*Math.max(...m),b=x-v||1,w=le>1?(d-g-p)/(le-1):0,S=e=>h+(u-h-f)*(1-(e-v)/b),j=(oe.signals||[]).filter(e=>e.bar<=z),k=j.length>0?j[j.length-1]:null;let _=null,E=null;if(k){const e=l.close-k.price;_="BUY"===k.dir?e:-e,E=_/k.price*100}const C=j.slice(0,-1);let T=0,M=0;C.forEach((e,t)=>{const n=j[t+1];if(n){const t="BUY"===e.dir?n.price-e.price:e.price-n.price,r=t/e.price*100;M+=r,t>0&&T++}});const O=C.length>0?(T/C.length*100).toFixed(0):"\u2014",A=(l.macroScore+100)/200,P=l.macroScore>10?EY.green:l.macroScore<-10?EY.red:EY.gray;return(0,Hg.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:0,height:"calc(100vh - 220px)",minHeight:480},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"5px 0 6px",borderBottom:`1px solid ${EY.border}`,flexWrap:"wrap"},children:[(0,Hg.jsx)("span",{style:{fontSize:8,color:EY.gray,letterSpacing:"1.5px",marginRight:4},children:"ASSET"}),(q.length>0?q.map(e=>e.ticker):Object.keys(NY)).map(e=>{const t=q.find(t=>t.ticker===e),n=null===t||void 0===t?void 0:t.calibrated,r=NY[e],i=L===e?(null===r||void 0===r?void 0:r.color)||EY.cyan:EY.gray;return(0,Hg.jsxs)("button",{onClick:()=>{R(e),N(0),$(!1),Q(!1)},style:{padding:"3px 10px",fontSize:9,fontWeight:L===e?700:400,background:L===e?`${(null===r||void 0===r?void 0:r.color)||EY.cyan}15`:EY.bg3,border:`1px solid ${L===e?(null===r||void 0===r?void 0:r.color)||EY.cyan:EY.border}`,color:i,fontFamily:CY,cursor:"pointer",display:"flex",alignItems:"center",gap:4},children:[e,t&&(0,Hg.jsx)("span",{style:{fontSize:7,fontWeight:600,color:n?EY.green:EY.muted,letterSpacing:"0.5px"},children:n?"\u2713":"\u25cb"})]},e)}),(0,Hg.jsxs)("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:8},children:[(()=>{const e=q.find(e=>e.ticker===L);return e?(0,Hg.jsx)("span",{style:{fontSize:8,fontWeight:600,padding:"1px 6px",borderRadius:2,background:e.calibrated?`${EY.green}15`:`${EY.muted}10`,border:`1px solid ${e.calibrated?EY.green:EY.muted}40`,color:e.calibrated?EY.green:EY.muted,letterSpacing:"0.5px"},children:e.calibrated?"\u2713 CALIBRATED":"\u25cb DEFAULT"}):null})(),(0,Hg.jsxs)("span",{style:{fontSize:8,color:"live"===G?EY.green:"loading"===G?EY.amber:"synthetic"===G?EY.muted:EY.cyan},children:["live"===G?"\u25cf REAL DATA":"loading"===G?"\u25cf LOADING...":"macro-only"===G?"\u25cf MACRO ONLY":"prices-only"===G?"\u25cf PRICES ONLY":"\u25cf SYNTHETIC"," \xb7 DAILY"]})]})]}),(0,Hg.jsxs)("div",{style:{flex:1,display:"grid",gridTemplateColumns:"1fr 290px",gap:0,overflow:"hidden",minHeight:0},children:[(0,Hg.jsxs)("div",{ref:ie,style:{display:"flex",flexDirection:"column",borderRight:`1px solid ${EY.border}`,overflow:"hidden",cursor:"crosshair"},onMouseMove:e=>{if(!ie.current)return;const t=ie.current.querySelectorAll("svg");if(0===t.length)return;const n=t[0].getBoundingClientRect(),r=(e.clientX-n.left)/n.width,i=Math.round((700*r-55)/(637/Math.max(1,le-1))),o=Math.max(0,Math.min(le-1,i));ee(o)},onMouseLeave:()=>ee(null),onClick:()=>{null!=Z&&(N(Z),$(!1))},children:[(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"5px 12px",borderBottom:`1px solid ${EY.border}`,background:EY.bg2},children:[(0,Hg.jsxs)("div",{children:[(0,Hg.jsx)("div",{style:{fontSize:15,fontWeight:700,color:a.color,letterSpacing:"2px"},children:L}),(0,Hg.jsxs)("div",{style:{fontSize:8,color:EY.gray,letterSpacing:"1px"},children:[a.label," \xb7 D1"]})]}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12},children:[(0,Hg.jsxs)("div",{style:{textAlign:"right"},children:[(0,Hg.jsx)("div",{style:{fontSize:17,fontWeight:700,color:EY.white},children:l.close.toLocaleString(void 0,{minimumFractionDigits:a.dec,maximumFractionDigits:a.dec})}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:6,justifyContent:"flex-end",alignItems:"center"},children:[s.length>1&&(()=>{const e=(l.close-s[0].close)/s[0].close*100;return(0,Hg.jsxs)("span",{style:{fontSize:10,fontWeight:600,color:e>=0?EY.green:EY.red},children:[e>=0?"+":"",e.toFixed(2),"%"]})})(),(0,Hg.jsxs)("span",{style:{fontSize:7,color:EY.muted},children:["O ",l.open.toFixed(a.dec)," H ",l.high.toFixed(a.dec)," L ",l.low.toFixed(a.dec)]})]})]}),(0,Hg.jsx)("div",{style:{padding:"2px 8px",background:`${EY.cyan}15`,border:`1px solid ${EY.cyan}40`,color:EY.cyan,fontSize:9,letterSpacing:"1px",borderRadius:2},children:l.date})]})]}),(0,Hg.jsx)("div",{style:{flex:1,padding:"4px 8px",position:"relative",minHeight:0},children:(0,Hg.jsxs)("svg",{width:"100%",height:"100%",viewBox:"0 0 700 250",preserveAspectRatio:"none",style:{display:"block"},children:[[.25,.5,.75].map(e=>(0,Hg.jsx)("line",{x1:g,y1:h+(u-h-f)*e,x2:d-p,y2:h+(u-h-f)*e,stroke:EY.border,strokeWidth:.5},e)),[0,.5,1].map(e=>{const t=x-e*b;return(0,Hg.jsx)("text",{x:g-4,y:h+(u-h-f)*e+3,fontSize:7,fill:EY.muted,fontFamily:CY,textAnchor:"end",children:t.toFixed(a.dec>2?3:0)},e)}),s.map((e,t)=>{const n=g+t*w,r=e.close>=e.open,i=S(Math.max(e.open,e.close)),o=S(Math.min(e.open,e.close)),l=Math.max(1,o-i),s=Math.max(1,Math.min(5,.6*w)),a=r?EY.green:EY.red;return(0,Hg.jsxs)("g",{children:[(0,Hg.jsx)("line",{x1:n,y1:S(e.high),x2:n,y2:S(e.low),stroke:a,strokeWidth:.6,opacity:.7}),(0,Hg.jsx)("rect",{x:n-s/2,y:i,width:s,height:l,fill:a,stroke:a,strokeWidth:.3,opacity:.8,rx:.3})]},t)}),(()=>{const e=g+z*w;return(0,Hg.jsx)("line",{x1:e,y1:h,x2:e,y2:u-f,stroke:EY.cyan,strokeWidth:.5,opacity:.4})})(),null!=Z&&Z<s.length&&(()=>{const e=g+Z*w,t=s[Z];if(!t)return null;const n=t.close||0;return(0,Hg.jsxs)("g",{children:[(0,Hg.jsx)("line",{x1:e,y1:0,x2:e,y2:u,stroke:EY.white,strokeWidth:.5,opacity:.5,strokeDasharray:"3,2"}),(0,Hg.jsx)("rect",{x:e-30,y:1,width:60,height:11,rx:2,fill:EY.bg,stroke:EY.white,strokeWidth:.3,opacity:.9}),(0,Hg.jsx)("text",{x:e,y:9,fontSize:7,fill:EY.white,fontFamily:CY,textAnchor:"middle",children:t.date}),(0,Hg.jsx)("rect",{x:e+4,y:S(n)-7,width:45,height:11,rx:2,fill:EY.bg,stroke:EY.white,strokeWidth:.3,opacity:.9}),(0,Hg.jsx)("text",{x:e+6,y:S(n)+1,fontSize:7,fill:EY.white,fontFamily:CY,children:n.toFixed(a.dec)}),(0,Hg.jsx)("circle",{cx:e,cy:S(n),r:2.5,fill:EY.white,stroke:EY.bg,strokeWidth:1})]})})(),oe.events.filter(e=>e.frame<=z).map((e,t)=>(0,Hg.jsxs)("g",{children:[(0,Hg.jsx)("line",{x1:g+e.frame*w,y1:h,x2:g+e.frame*w,y2:u-f,stroke:EY.amber,strokeWidth:.4,strokeDasharray:"2,2",opacity:.3}),(0,Hg.jsx)("circle",{cx:g+e.frame*w,cy:h+5,r:2.5,fill:EY.amber,opacity:.6})]},`ev-${t}`)),(0,Hg.jsx)("text",{x:g,y:246,fontSize:7,fill:EY.muted,fontFamily:CY,children:null===(e=oe.data[0])||void 0===e?void 0:e.date}),(0,Hg.jsx)("text",{x:d-p,y:246,fontSize:7,fill:EY.muted,fontFamily:CY,textAnchor:"end",children:null===(t=oe.data[le-1])||void 0===t?void 0:t.date})]})}),(0,Hg.jsx)("div",{style:{height:95,padding:"0 8px",borderTop:`1px solid ${EY.border}`,flexShrink:0},children:(()=>{const e=te;let t=0,n=0,r=0;const i=s.map((i,o)=>{const l=i.ouOutlook||0,a=o+e<s.length,c=a?s[o+e].close:null,d=i.close||0,u=a&&d>0?(c-d)/d:null;let h="neutral";if(Math.abs(l)>10&&null!==u){l>0===u>0?(h="correct",t++):(h="wrong",n++),r++}else Math.abs(l)>10&&null===u&&(h="pending");return{ouVal:l,status:h,fwdReturn:u}}),o=r>0?(t/r*100).toFixed(0):"\u2014",l=r>0?(n/r*100).toFixed(0):"\u2014",a=r>0?t/r>.55?EY.green:t/r>.45?EY.amber:EY.red:EY.muted,c=100,u=e=>2+66*(1-(e+c)/200),h=u(0);return(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"2px 0",flexWrap:"wrap",gap:4},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,Hg.jsx)("span",{style:{fontSize:7,color:EY.muted,letterSpacing:"1px"},children:"QUANT OUTLOOK"}),[5,10,21,42].map(e=>(0,Hg.jsxs)("button",{onClick:()=>ne(e),style:{padding:"1px 5px",fontSize:7,fontWeight:te===e?700:400,background:te===e?`${EY.cyan}20`:"transparent",border:`1px solid ${te===e?EY.cyan:EY.border}`,color:te===e?EY.cyan:EY.muted,fontFamily:CY,cursor:"pointer",borderRadius:2},children:[e,"d"]},e))]}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,Hg.jsxs)("span",{style:{fontSize:8,fontWeight:700,color:a,fontFamily:CY},children:["CORRECT: ",o,"%",(0,Hg.jsxs)("span",{style:{fontWeight:400,color:EY.muted},children:[" (",t,")"]})]}),(0,Hg.jsxs)("span",{style:{fontSize:8,fontWeight:700,color:r>0&&n/r>.55?EY.red:EY.muted,fontFamily:CY},children:["WRONG: ",l,"%",(0,Hg.jsxs)("span",{style:{fontWeight:400,color:EY.muted},children:[" (",n,")"]})]}),(0,Hg.jsxs)("span",{style:{fontSize:7,display:"flex",alignItems:"center",gap:3},children:[(0,Hg.jsx)("span",{style:{width:6,height:6,background:EY.green,borderRadius:1,display:"inline-block"}}),(0,Hg.jsx)("span",{style:{width:6,height:6,background:`${EY.muted}60`,borderRadius:1,display:"inline-block"}}),(0,Hg.jsx)("span",{style:{width:6,height:6,background:EY.cyan,borderRadius:1,display:"inline-block"}})]})]})]}),(0,Hg.jsxs)("svg",{width:"100%",height:"68",viewBox:"0 0 700 68",preserveAspectRatio:"none",style:{display:"block"},children:[(0,Hg.jsx)("line",{x1:g,y1:h,x2:d-p,y2:h,stroke:EY.muted,strokeWidth:.5}),(0,Hg.jsx)("text",{x:g-4,y:u(50)+3,fontSize:6,fill:EY.muted,fontFamily:CY,textAnchor:"end",opacity:.4,children:"BULL"}),(0,Hg.jsx)("text",{x:g-4,y:u(-50)+3,fontSize:6,fill:EY.muted,fontFamily:CY,textAnchor:"end",opacity:.4,children:"BEAR"}),i.map((e,t)=>{const n=g+t*w,r=Math.max(-100,Math.min(c,e.ouVal)),i=r>=0?u(r):h,o=Math.abs(u(r)-h),l=Math.max(1,Math.min(5,.7*w));let s,a;return"correct"===e.status?(s=EY.green,a=.85):"wrong"===e.status?(s=EY.muted,a=.35):"pending"===e.status?(s=EY.cyan,a=.7):(s=EY.muted,a=.15),(0,Hg.jsx)("rect",{x:n-l/2,y:i,width:l,height:Math.max(.5,o),fill:s,opacity:a},t)}),(()=>{const e=g+z*w;return(0,Hg.jsx)("line",{x1:e,y1:2,x2:e,y2:68,stroke:EY.cyan,strokeWidth:.5,opacity:.4})})(),null!=Z&&(()=>{const e=g+Z*w,t=i[Z];return(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("line",{x1:e,y1:0,x2:e,y2:72,stroke:EY.white,strokeWidth:.5,opacity:.5,strokeDasharray:"3,2"}),(0,Hg.jsx)("circle",{cx:e,cy:u(Math.max(-100,Math.min(c,(null===t||void 0===t?void 0:t.ouVal)||0))),r:2,fill:"correct"===(null===t||void 0===t?void 0:t.status)?EY.green:"pending"===(null===t||void 0===t?void 0:t.status)?EY.cyan:EY.gray,stroke:EY.bg,strokeWidth:.5})]})})()]})]})})()}),(0,Hg.jsxs)("div",{style:{height:70,padding:"0 8px",borderTop:`1px solid ${EY.border}`,flexShrink:0},children:[(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"2px 0"},children:[(0,Hg.jsx)("span",{style:{fontSize:7,color:EY.muted,letterSpacing:"1px"},children:"COT Z-SCORE"}),(0,Hg.jsxs)("span",{style:{fontSize:7,color:l.cotZ>1?EY.green:l.cotZ<-1?EY.red:EY.muted},children:[l.cotZ>0?"+":"",l.cotZ]})]}),(0,Hg.jsx)("svg",{width:"100%",height:"52",viewBox:"0 0 700 52",preserveAspectRatio:"none",style:{display:"block"},children:(()=>{const e=e=>2+48*(1-(e+3)/6),t=e(0);return(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("line",{x1:g,y1:e(2),x2:d-p,y2:e(2),stroke:EY.green,strokeWidth:.5,strokeDasharray:"3,3",opacity:.3}),(0,Hg.jsx)("line",{x1:g,y1:e(-2),x2:d-p,y2:e(-2),stroke:EY.red,strokeWidth:.5,strokeDasharray:"3,3",opacity:.3}),(0,Hg.jsx)("line",{x1:g,y1:t,x2:d-p,y2:t,stroke:EY.muted,strokeWidth:.4}),(0,Hg.jsx)("text",{x:g-4,y:e(2)+3,fontSize:6,fill:EY.green,fontFamily:CY,textAnchor:"end",children:"+2"}),(0,Hg.jsx)("text",{x:g-4,y:e(-2)+3,fontSize:6,fill:EY.red,fontFamily:CY,textAnchor:"end",children:"-2"}),s.map((n,r)=>{const i=g+r*w,o=Math.max(-3,Math.min(3,n.cotZ||0)),l=o>=0?e(o):t,s=Math.abs(e(o)-t),a=Math.max(1,Math.min(4,.6*w));return(0,Hg.jsx)("rect",{x:i-a/2,y:l,width:a,height:Math.max(.5,s),fill:o>=0?EY.green:EY.red,opacity:.5},r)}),null!=Z&&(()=>{const e=g+Z*w;return(0,Hg.jsx)("line",{x1:e,y1:0,x2:e,y2:54,stroke:EY.white,strokeWidth:.5,opacity:.5,strokeDasharray:"3,2"})})()]})})()})]})]}),(0,Hg.jsxs)("div",{style:{overflowY:"auto",background:EY.bg1,fontSize:9},children:[(0,Hg.jsxs)("div",{style:{padding:"10px 12px",borderBottom:`1px solid ${k?"BUY"===k.dir?EY.green:EY.red:EY.border}`,background:k?"BUY"===k.dir?`${EY.green}08`:`${EY.red}08`:EY.bg1},children:[(0,Hg.jsx)("div",{style:{fontSize:9,fontWeight:700,letterSpacing:"2px",color:EY.orange,marginBottom:6},children:"\u26a1 ANALYSIS"}),k?(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:6},children:[(0,Hg.jsx)("div",{style:{padding:"4px 14px",fontSize:14,fontWeight:700,letterSpacing:"2px",background:"BUY"===k.dir?`${EY.green}20`:`${EY.red}20`,border:`1px solid ${"BUY"===k.dir?EY.green:EY.red}`,color:"BUY"===k.dir?EY.green:EY.red,borderRadius:2},children:"BUY"===k.dir?"\u25b2 BUY":"\u25bc SELL"}),(0,Hg.jsxs)("div",{style:{fontSize:8,color:EY.muted},children:["@ ",k.price.toFixed(a.dec)," \xb7 ",k.date,null!=k.score_ma&&(0,Hg.jsxs)("span",{style:{display:"block",marginTop:1,fontSize:7,color:EY.gray},children:["Score ",k.score>0?"+":"",k.score," vs MA ",k.score_ma>0?"+":"",k.score_ma]})]})]}),(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",padding:"4px 0",borderTop:`1px solid ${EY.border}`,marginTop:4},children:[(0,Hg.jsx)("span",{style:{fontSize:8,color:EY.gray},children:"Unrealized P&L"}),(0,Hg.jsxs)("span",{style:{fontSize:12,fontWeight:700,color:_>=0?EY.green:EY.red},children:[_>=0?"+":"",E.toFixed(2),"%"]})]}),(0,Hg.jsxs)("div",{style:{marginTop:6},children:[(0,Hg.jsx)("div",{style:{fontSize:7,color:EY.muted,letterSpacing:"1px",marginBottom:3},children:"REASONS"}),k.reasons.map((e,t)=>(0,Hg.jsx)("div",{style:{fontSize:8,color:EY.gray,padding:"1px 0",borderLeft:`2px solid ${"BUY"===k.dir?EY.green:EY.red}40`,paddingLeft:6,marginBottom:2},children:e},t))]}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:12,marginTop:6,padding:"4px 0",borderTop:`1px solid ${EY.border}`},children:[(0,Hg.jsxs)("div",{children:[(0,Hg.jsx)("div",{style:{fontSize:7,color:EY.muted},children:"SIGNALS"}),(0,Hg.jsx)("div",{style:{fontSize:11,fontWeight:700,color:EY.white},children:j.length})]}),(0,Hg.jsxs)("div",{children:[(0,Hg.jsx)("div",{style:{fontSize:7,color:EY.muted},children:"WIN RATE"}),(0,Hg.jsxs)("div",{style:{fontSize:11,fontWeight:700,color:EY.green},children:[O,"%"]})]}),(0,Hg.jsxs)("div",{children:[(0,Hg.jsx)("div",{style:{fontSize:7,color:EY.muted},children:"TOTAL P&L"}),(0,Hg.jsxs)("div",{style:{fontSize:11,fontWeight:700,color:M>=0?EY.green:EY.red},children:[M>=0?"+":"",M.toFixed(1),"%"]})]})]})]}):(0,Hg.jsxs)("div",{style:{color:EY.muted,fontSize:9,padding:"8px 0",textAlign:"center",letterSpacing:"0.5px"},children:["WAITING FOR SIGNAL...",(0,Hg.jsxs)("div",{style:{fontSize:8,marginTop:4,color:EY.gray},children:["Macro Score: ",l.macroScore>0?"+":"",l.macroScore]})]})]}),(0,Hg.jsxs)("div",{style:{padding:"8px 12px",borderBottom:`1px solid ${EY.border}`},children:[(0,Hg.jsx)("div",{style:{fontSize:9,color:EY.gray,letterSpacing:"2px",marginBottom:5,fontWeight:600},children:"MACRO REGIME"}),(0,Hg.jsx)("div",{style:{position:"relative",width:"100%",paddingTop:"70%",background:EY.bg3,border:`1px solid ${EY.border2}`,borderRadius:2,overflow:"hidden"},children:(0,Hg.jsxs)("div",{style:{position:"absolute",inset:0},children:[(0,Hg.jsx)("div",{style:{position:"absolute",top:"50%",left:0,right:0,height:1,background:EY.border2}}),(0,Hg.jsx)("div",{style:{position:"absolute",left:"50%",top:0,bottom:0,width:1,background:EY.border2}}),(0,Hg.jsx)("div",{style:{position:"absolute",top:3,left:4,fontSize:7,color:`${EY.red}40`},children:"STAGFLATION"}),(0,Hg.jsx)("div",{style:{position:"absolute",top:3,right:4,fontSize:7,color:`${EY.amber}40`,textAlign:"right"},children:"REFLATION"}),(0,Hg.jsx)("div",{style:{position:"absolute",bottom:3,left:4,fontSize:7,color:`${EY.blue}40`},children:"DEFLATION"}),(0,Hg.jsx)("div",{style:{position:"absolute",bottom:3,right:4,fontSize:7,color:`${EY.green}40`,textAlign:"right"},children:"GOLDILOCKS"}),s.slice(-30).map((e,t,n)=>{const r=50+16*e.growthZ,i=50-16*e.inflZ;return(0,Hg.jsx)("div",{style:{position:"absolute",left:`${Math.max(2,Math.min(98,r))}%`,top:`${Math.max(2,Math.min(98,i))}%`,width:3,height:3,borderRadius:"50%",background:e.regimeColor,opacity:.1+t/n.length*.7,transform:"translate(-50%,-50%)"}},t)}),(0,Hg.jsx)("div",{style:{position:"absolute",left:`${Math.max(5,Math.min(95,50+16*l.growthZ))}%`,top:`${Math.max(5,Math.min(95,50-16*l.inflZ))}%`,width:11,height:11,borderRadius:"50%",background:l.regimeColor,border:`2px solid ${EY.white}`,boxShadow:`0 0 10px ${l.regimeColor}`,transform:"translate(-50%,-50%)",zIndex:2,transition:"left 0.3s, top 0.3s"}})]})}),(0,Hg.jsx)("div",{style:{textAlign:"center",fontSize:10,fontWeight:700,color:l.regimeColor,letterSpacing:"1.5px",marginTop:3},children:l.regime}),(0,Hg.jsxs)("div",{style:{textAlign:"center",fontSize:7,color:EY.muted},children:["G: ",l.growthZ>0?"+":"",l.growthZ," \xb7 I: ",l.inflZ>0?"+":"",l.inflZ]})]}),(0,Hg.jsx)("div",{style:{padding:"6px 12px",borderBottom:`1px solid ${EY.border}`},children:[{label:"Net Liquidity",value:`$${(l.liq/1e3).toFixed(2)}T`,color:l.liq>5500?EY.green:EY.red},{label:"2s10s Spread",value:`${(100*l.spread).toFixed(0)}bp`,color:l.spread<0?EY.red:EY.cyan},{label:"10Y Real Rate",value:`${l.realYield>0?"+":""}${l.realYield}%`,color:EY.amber},{label:"VIX",value:l.vix,color:l.vix>25?EY.red:l.vix>18?EY.amber:EY.green},{label:"COT Z",value:`${l.cotZ>0?"+":""}${l.cotZ}`,color:l.cotZ>1?EY.green:l.cotZ<-1?EY.red:EY.gray}].map(e=>(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",padding:"2px 0",borderBottom:`1px solid ${EY.border}08`},children:[(0,Hg.jsx)("span",{style:{fontSize:8,color:EY.gray},children:e.label}),(0,Hg.jsx)("span",{style:{fontSize:11,fontWeight:700,color:e.color},children:e.value})]},e.label))}),(0,Hg.jsxs)("div",{style:{borderBottom:`1px solid ${EY.border}`},children:[(0,Hg.jsxs)("button",{onClick:()=>Q(!J),style:{width:"100%",padding:"5px 12px",display:"flex",justifyContent:"space-between",alignItems:"center",background:"transparent",border:"none",cursor:"pointer"},children:[(0,Hg.jsxs)("span",{style:{fontSize:8,color:EY.gray,letterSpacing:"1px",fontFamily:CY},children:[J?"\u25be":"\u25b8"," ADVANCED FACTORS"]}),(0,Hg.jsx)("span",{style:{fontSize:7,color:EY.muted,fontFamily:CY},children:"v2.0 \xb7 7 CHANNELS"})]}),J&&(0,Hg.jsx)("div",{style:{padding:"0 12px 6px"},children:[{label:"HY Spread",value:l.hySpreadZ,tip:"Credit health (inverted)"},{label:"Cu/Au Ratio",value:l.copperGoldZ,tip:"Growth signal"},{label:"Sentiment",value:l.sentimentZ,tip:"UMich consumer"},{label:"Wage Growth",value:l.wageZ,tip:"AHE y/y"},{label:"Rate Diff",value:l.rateDiffZ,tip:"Yield advantage"},{label:"Cal Surprise",value:l.surpriseZ,tip:"Data vs forecast"},{label:"M2 Growth",value:l.m2GrowthZ,tip:"Money supply"}].map(e=>{const t=e.value||0,n=t>.5?EY.green:t<-.5?EY.red:EY.gray,r=Math.min(100,Math.max(0,(t+3)/6*100));return(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,padding:"2px 0"},children:[(0,Hg.jsx)("span",{style:{width:62,fontSize:7,color:EY.muted},title:e.tip,children:e.label}),(0,Hg.jsxs)("div",{style:{flex:1,height:4,background:EY.bg4,borderRadius:2,position:"relative"},children:[(0,Hg.jsx)("div",{style:{position:"absolute",left:"50%",top:-1,width:1,height:6,background:EY.border2}}),(0,Hg.jsx)("div",{style:{position:"absolute",left:`${r}%`,top:-1,width:6,height:6,borderRadius:"50%",background:n,transform:"translateX(-50%)",transition:"left 0.3s"}})]}),(0,Hg.jsxs)("span",{style:{width:30,fontSize:8,fontWeight:600,color:n,textAlign:"right",fontFamily:CY},children:[t>0?"+":"",t.toFixed(1)]})]},e.label)})})]}),(0,Hg.jsxs)("div",{style:{padding:"6px 12px",borderBottom:`1px solid ${EY.border}`},children:[(0,Hg.jsx)("div",{style:{fontSize:8,color:EY.gray,letterSpacing:"1px",marginBottom:3},children:"MACRO SCORE"}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,Hg.jsxs)("div",{style:{flex:1,height:6,background:EY.bg4,borderRadius:3,position:"relative",overflow:"hidden"},children:[(0,Hg.jsx)("div",{style:{position:"absolute",left:"50%",top:0,bottom:0,width:1,background:EY.border2}}),(0,Hg.jsx)("div",{style:{position:"absolute",left:l.macroScore>=0?"50%":100*A+"%",width:l.macroScore>=0?100*(A-.5)+"%":100*(.5-A)+"%",top:0,bottom:0,background:P,borderRadius:3,transition:"all 0.3s"}})]}),(0,Hg.jsxs)("span",{style:{fontSize:12,fontWeight:700,color:P,minWidth:32,textAlign:"right"},children:[l.macroScore>0?"+":"",l.macroScore]})]}),(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",marginTop:2},children:[(0,Hg.jsx)("span",{style:{fontSize:6,color:EY.red},children:"\u25c4 BEARISH"}),(0,Hg.jsx)("span",{style:{fontSize:6,color:EY.muted},children:"0"}),(0,Hg.jsx)("span",{style:{fontSize:6,color:EY.green},children:"BULLISH \u25ba"})]})]}),(0,Hg.jsxs)("div",{style:{padding:"6px 12px"},children:[(0,Hg.jsx)("div",{style:{fontSize:8,color:EY.gray,letterSpacing:"1px",marginBottom:4},children:"EVENTS"}),oe.events.filter(e=>e.frame<=z).slice(-3).reverse().map((e,t)=>{var n;return(0,Hg.jsxs)("div",{style:{background:`${EY.amber}08`,borderLeft:`2px solid ${EY.amber}`,padding:"3px 6px",borderRadius:2,marginBottom:3,fontSize:8},children:[(0,Hg.jsx)("span",{style:{color:EY.white,fontWeight:600},children:e.name}),(0,Hg.jsx)("span",{style:{color:EY.muted,marginLeft:6},children:null===(n=oe.data[e.frame])||void 0===n?void 0:n.date})]},t)})]})]})]}),(0,Hg.jsxs)("div",{style:{padding:"6px 12px 8px",borderTop:`1px solid ${EY.border2}`,background:EY.bg2,flexShrink:0,position:"relative"},children:[(0,Hg.jsx)("div",{style:{position:"absolute",top:0,left:0,height:2,width:100*c+"%",background:EY.cyan,boxShadow:`0 0 6px ${EY.cyan}`,transition:"width 0.1s"}}),(0,Hg.jsx)("div",{style:{position:"relative",height:14,marginBottom:3},children:oe.events.map((e,t)=>{const n=e.frame/(le-1)*100;return(0,Hg.jsxs)("div",{style:{position:"absolute",left:`${n}%`,top:0,transform:"translateX(-50%)",textAlign:"center"},title:e.name,children:[(0,Hg.jsx)("div",{style:{width:5,height:5,borderRadius:"50%",background:e.frame<=z?EY.amber:EY.muted,margin:"0 auto"}}),(0,Hg.jsx)("div",{style:{fontSize:5,color:EY.muted,marginTop:1,whiteSpace:"nowrap"},children:e.name.slice(0,6)})]},t)})}),(0,Hg.jsx)("input",{type:"range",min:0,max:le-1,value:z,onChange:e=>N(+e.target.value),style:{width:"100%",height:4,appearance:"none",WebkitAppearance:"none",background:`linear-gradient(to right, ${EY.cyan} ${100*c}%, ${EY.bg4} ${100*c}%)`,borderRadius:2,outline:"none",cursor:"pointer",marginBottom:6}}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,Hg.jsx)("span",{style:{fontSize:8,color:EY.muted,minWidth:60},children:null===(n=oe.data[0])||void 0===n||null===(r=n.date)||void 0===r?void 0:r.slice(0,7)}),(0,Hg.jsx)("button",{onClick:()=>N(Math.max(0,z-5)),style:{width:26,height:26,background:EY.bg3,border:`1px solid ${EY.border2}`,color:EY.gray,cursor:"pointer",fontSize:9,display:"flex",alignItems:"center",justifyContent:"center"},children:"\u25c0\u25c0"}),(0,Hg.jsx)("button",{onClick:()=>$(!F),style:{width:32,height:32,background:F?`${EY.cyan}15`:EY.bg3,border:`1px solid ${F?EY.cyan:EY.border2}`,color:EY.cyan,cursor:"pointer",fontSize:13,display:"flex",alignItems:"center",justifyContent:"center",boxShadow:F?`0 0 10px ${EY.cyan}30`:"none"},children:F?"\u23f8":"\u25b6"}),(0,Hg.jsx)("button",{onClick:()=>N(Math.min(le-1,z+5)),style:{width:26,height:26,background:EY.bg3,border:`1px solid ${EY.border2}`,color:EY.gray,cursor:"pointer",fontSize:9,display:"flex",alignItems:"center",justifyContent:"center"},children:"\u25b6\u25b6"}),(0,Hg.jsx)("div",{style:{width:1,height:20,background:EY.border2}}),[1,2,5].map(e=>(0,Hg.jsxs)("button",{onClick:()=>B(e),style:{padding:"2px 7px",fontSize:9,fontWeight:600,fontFamily:CY,background:W===e?`${EY.cyan}15`:EY.bg3,border:`1px solid ${W===e?EY.cyan:EY.border2}`,color:W===e?EY.cyan:EY.gray,cursor:"pointer"},children:[e,"\xd7"]},e)),(0,Hg.jsx)("span",{style:{flex:1,textAlign:"center",fontSize:11,fontWeight:700,color:EY.cyan,letterSpacing:"2px"},children:l.date}),(0,Hg.jsx)("button",{onClick:()=>{N(0),$(!1)},style:{width:26,height:26,background:EY.bg3,border:`1px solid ${EY.border2}`,color:EY.gray,cursor:"pointer",fontSize:12,display:"flex",alignItems:"center",justifyContent:"center"},children:"\u21ba"}),(0,Hg.jsx)("span",{style:{fontSize:8,color:EY.muted,minWidth:60,textAlign:"right"},children:null===(i=oe.data[le-1])||void 0===i||null===(o=i.date)||void 0===o?void 0:o.slice(0,7)})]})]})]})})()]})}const BY="mk_replay_config",UY={ticker:"",tf:"",period:"",layers:{weekly:!1,monthly:!1,quarterly:{enabled:!1,q_curr:!0,q_prev1:!0,q_prev2:!0,q_prev3:!0,q_prev4:!0,q_prev5:!0,q_prev6:!0,q_prev7:!0},bands:!1,regime:{enabled:!1,top_bar:!1,bg_shading:!1,candle_color:!1}}};function HY(){try{const e=localStorage.getItem(BY);if(!e)return null;const t=JSON.parse(e);return t&&"object"===typeof t?"string"!==typeof t.ticker||"string"!==typeof t.tf||"string"!==typeof t.period?null:t.layers&&"object"===typeof t.layers?t:null:null}catch{return null}}function VY(e,t){if(!e)return null;if(!t)return e;const n=t instanceof Map?Array.from(t.keys()):Array.isArray(t)?t.map(e=>e.ticker||e).filter(Boolean):Object.keys(t||{});return e.ticker&&!n.includes(e.ticker)?{...e,ticker:""}:e}const YY="#0a0a0a",GY="#222",KY="#333",qY="#fff",XY="#999",JY="#666",QY="#ff6d00",ZY="'Courier New', Consolas, 'Liberation Mono', monospace",eG=["M5","M15","H1","H4"],tG=["3M","6M","12M","18M"];function nG(e){let{value:n,list:r,onChange:i}=e;const[o,l]=(0,t.useState)(!1),[s,a]=(0,t.useState)(""),c=(0,t.useRef)(null),d=(0,t.useRef)(null);(0,t.useEffect)(()=>{if(!o)return;const e=e=>{c.current&&!c.current.contains(e.target)&&(l(!1),a(""))};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[o]),(0,t.useEffect)(()=>{var e;o&&(null===(e=d.current)||void 0===e||e.focus())},[o]);const u=(0,t.useMemo)(()=>{const e=s.trim().toLowerCase();return e?r.filter(t=>t.toLowerCase().includes(e)):r},[s,r]);return(0,Hg.jsxs)("div",{ref:c,style:{position:"relative",flex:1},children:[(0,Hg.jsx)("button",{type:"button",onClick:()=>l(e=>!e),style:{width:"100%",textAlign:"left",padding:"6px 10px",background:"#000",color:n?qY:JY,border:`1px solid ${GY}`,fontFamily:ZY,fontSize:11,letterSpacing:"1px",cursor:"pointer"},children:n||"select ticker\u2026"}),o&&(0,Hg.jsxs)("div",{style:{position:"absolute",top:"calc(100% + 4px)",left:0,right:0,background:YY,border:`1px solid ${KY}`,maxHeight:280,overflowY:"auto",zIndex:100,fontFamily:ZY},children:[(0,Hg.jsx)("input",{ref:d,value:s,onChange:e=>a(e.target.value),placeholder:"search\u2026",onKeyDown:e=>{"Escape"===e.key?(l(!1),a("")):"Enter"===e.key&&u.length&&(i(u[0]),l(!1),a(""))},style:{width:"100%",padding:"6px 10px",background:"#000",color:qY,border:"none",borderBottom:`1px solid ${GY}`,fontFamily:ZY,fontSize:10,outline:"none"}}),0===u.length?(0,Hg.jsx)("div",{style:{padding:"10px",color:JY,fontSize:10,textAlign:"center"},children:"no match"}):u.map(e=>(0,Hg.jsx)("div",{onClick:()=>{i(e),l(!1),a("")},style:{padding:"5px 10px",color:e===n?QY:qY,cursor:"pointer",fontSize:10,letterSpacing:"1px"},onMouseEnter:e=>e.currentTarget.style.background="#171717",onMouseLeave:e=>e.currentTarget.style.background="transparent",children:e},e))]})]})}function rG(e){let{options:t,value:n,onChange:r}=e;return(0,Hg.jsx)("div",{style:{display:"flex",gap:4},children:t.map(e=>{const t=e===n;return(0,Hg.jsx)("button",{type:"button",onClick:()=>r(e),style:{padding:"6px 12px",background:t?QY:"transparent",color:t?"#000":qY,border:`1px solid ${t?QY:GY}`,fontFamily:ZY,fontSize:10,letterSpacing:"1px",fontWeight:700,cursor:"pointer"},children:e},e)})})}function iG(e){let{checked:t,onChange:n,label:r,indent:i=0}=e;return(0,Hg.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:8,padding:"5px 0",paddingLeft:i,cursor:"pointer",userSelect:"none"},children:[(0,Hg.jsx)("input",{type:"checkbox",checked:!!t,onChange:e=>n(e.target.checked),style:{accentColor:QY,margin:0}}),(0,Hg.jsx)("span",{style:{color:t?qY:XY,fontSize:10,fontFamily:ZY,letterSpacing:"1px",fontWeight:700},children:r})]})}function oG(e){let{assets:n,onApply:r,onCancel:i}=e;const[o,l]=(0,t.useState)(()=>{const e=VY(HY(),n);return e?{...e,tf:eG.includes(e.tf)?e.tf:"",period:tG.includes(e.period)?e.period:""}:UY}),s=(0,t.useMemo)(()=>function(e){return e?e instanceof Map?Array.from(e.keys()).sort():Array.isArray(e)?e.map(e=>e.ticker||e).filter(Boolean).sort():Object.keys(e).sort():[]}(n),[n]),a=function(e){var t;if(!e)return!1;if(!e.ticker||!e.tf||!e.period)return!1;const n=e.layers||{};if(!(n.weekly||n.monthly||n.quarterly&&n.quarterly.enabled||n.bands||n.regime&&n.regime.enabled))return!1;if(null!==(t=n.regime)&&void 0!==t&&t.enabled){const e=n.regime;if(!e.top_bar&&!e.bg_shading&&!e.candle_color)return!1}return!0}(o);(0,t.useEffect)(()=>{n&&l(e=>VY(e,n)||e)},[n]),(0,t.useEffect)(()=>{const e=e=>{"Escape"===e.key&&i()};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[i]);const c=e=>l(t=>({...t,...e})),d=(e,t)=>l(n=>({...n,layers:{...n.layers,[e]:t}})),u=(e,t)=>l(n=>({...n,layers:{...n.layers,quarterly:{...n.layers.quarterly,[e]:t}}})),h=(e,t)=>l(n=>({...n,layers:{...n.layers,regime:{...n.layers.regime,[e]:t}}})),p=o.layers.quarterly,f=o.layers.regime;return(0,Hg.jsx)("div",{onClick:i,style:{position:"fixed",inset:0,background:"rgba(0,0,0,0.7)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:9999},children:(0,Hg.jsxs)("div",{role:"dialog","aria-modal":"true","aria-labelledby":"mk-replay-config-title",onClick:e=>e.stopPropagation(),style:{width:420,background:YY,border:`1px solid ${KY}`,boxShadow:"0 8px 32px rgba(0,0,0,0.8)",fontFamily:ZY,color:qY},children:[(0,Hg.jsx)("div",{id:"mk-replay-config-title",style:{padding:"12px 16px",borderBottom:`1px solid ${GY}`,color:QY,fontSize:11,fontWeight:800,letterSpacing:"2px"},children:"REPLAY \xb7 CONFIGURATION"}),(0,Hg.jsxs)("div",{style:{padding:"12px 16px",display:"flex",flexDirection:"column",gap:12},children:[(0,Hg.jsxs)("div",{children:[(0,Hg.jsx)("div",{style:{fontSize:8,color:JY,letterSpacing:"1.5px",marginBottom:4},children:"TICKER"}),(0,Hg.jsx)(nG,{value:o.ticker,list:s,onChange:e=>c({ticker:e})})]}),(0,Hg.jsxs)("div",{children:[(0,Hg.jsx)("div",{style:{fontSize:8,color:JY,letterSpacing:"1.5px",marginBottom:4},children:"TIMEFRAME"}),(0,Hg.jsx)(rG,{options:eG,value:o.tf,onChange:e=>c({tf:e})})]}),(0,Hg.jsxs)("div",{children:[(0,Hg.jsx)("div",{style:{fontSize:8,color:JY,letterSpacing:"1.5px",marginBottom:4},children:"PERIOD"}),(0,Hg.jsx)(rG,{options:tG,value:o.period,onChange:e=>c({period:e})})]}),(0,Hg.jsxs)("div",{style:{borderTop:`1px solid ${GY}`,paddingTop:8},children:[(0,Hg.jsx)("div",{style:{fontSize:8,color:JY,letterSpacing:"1.5px",marginBottom:4},children:"LAYERS"}),(0,Hg.jsx)(iG,{checked:o.layers.weekly,onChange:e=>d("weekly",e),label:"WEEKLY CONES"}),(0,Hg.jsx)(iG,{checked:o.layers.monthly,onChange:e=>d("monthly",e),label:"MONTHLY CONES"}),(0,Hg.jsx)(iG,{checked:p.enabled,onChange:e=>u("enabled",e),label:"QUARTERLY CONES"}),p.enabled&&(0,Hg.jsx)("div",{style:{paddingLeft:24},children:[["q_curr","Q-CURR"],["q_prev1","Q-1"],["q_prev2","Q-2"],["q_prev3","Q-3"],["q_prev4","Q-4"],["q_prev5","Q-5"],["q_prev6","Q-6"],["q_prev7","Q-7"]].map(e=>{let[t,n]=e;return(0,Hg.jsx)(iG,{checked:p[t],onChange:e=>u(t,e),label:n},t)})}),(0,Hg.jsx)(iG,{checked:o.layers.bands,onChange:e=>d("bands",e),label:"BANDS (MEAN)"}),(0,Hg.jsx)(iG,{checked:f.enabled,onChange:e=>h("enabled",e),label:"REGIME"}),f.enabled&&(0,Hg.jsxs)("div",{style:{paddingLeft:24},children:[(0,Hg.jsx)(iG,{checked:f.top_bar,onChange:e=>h("top_bar",e),label:"TOP REGIME BAR"}),(0,Hg.jsx)(iG,{checked:f.bg_shading,onChange:e=>h("bg_shading",e),label:"BACKGROUND SHADING"}),(0,Hg.jsx)(iG,{checked:f.candle_color,onChange:e=>h("candle_color",e),label:"CANDLE COLOR"})]})]})]}),(0,Hg.jsxs)("div",{style:{padding:"10px 16px",borderTop:`1px solid ${GY}`,display:"flex",justifyContent:"flex-end",gap:8},children:[(0,Hg.jsx)("button",{type:"button",onClick:i,style:{padding:"6px 16px",background:"transparent",color:XY,border:`1px solid ${GY}`,fontFamily:ZY,fontSize:10,letterSpacing:"1px",fontWeight:700,cursor:"pointer"},children:"CANCEL"}),(0,Hg.jsx)("button",{type:"button",onClick:()=>{a&&(!function(e){try{localStorage.setItem(BY,JSON.stringify(e))}catch{}}(o),r(o))},disabled:!a,style:{padding:"6px 16px",background:a?QY:"#333",color:a?"#000":JY,border:`1px solid ${a?QY:GY}`,fontFamily:ZY,fontSize:10,letterSpacing:"1px",fontWeight:800,cursor:a?"pointer":"not-allowed"},children:"APPLY"})]})]})})}const lG="#0a0a0a",sG="#222",aG="#fff",cG="#999",dG="#666",uG="#ff6d00",hG="'Courier New', Consolas, 'Liberation Mono', monospace";function pG(e){let{on:t,label:n,color:r,onClick:i}=e;return(0,Hg.jsx)("button",{type:"button","aria-pressed":!!t,onClick:i,style:{padding:"4px 10px",background:t?r||uG:"transparent",color:t?"#000":cG,border:`1px solid ${t?r||uG:sG}`,fontFamily:hG,fontSize:9,letterSpacing:"1px",fontWeight:700,cursor:"pointer"},children:n})}function fG(e){var t,n;let{appliedConfig:r,visibility:i,onVisibility:o,maxCones:l,onMaxCones:s}=e;if(!r)return null;const a=r.layers,c=a.weekly||a.monthly||a.quarterly&&a.quarterly.enabled;return(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,flexWrap:"wrap",padding:"6px 10px",background:lG,borderTop:`1px solid ${sG}`,fontFamily:hG},children:[a.weekly&&(0,Hg.jsx)(pG,{on:i.weekly,label:"WEEKLY",onClick:()=>o("weekly",!i.weekly)}),a.monthly&&(0,Hg.jsx)(pG,{on:i.monthly,label:"MONTHLY",onClick:()=>o("monthly",!i.monthly)}),(null===(t=a.quarterly)||void 0===t?void 0:t.enabled)&&(0,Hg.jsx)(pG,{on:i.quarterly,label:"QUARTERLY",onClick:()=>o("quarterly",!i.quarterly)}),a.bands&&(0,Hg.jsx)(pG,{on:i.bands,label:"BANDS",onClick:()=>o("bands",!i.bands)}),(null===(n=a.regime)||void 0===n?void 0:n.enabled)&&(0,Hg.jsx)(pG,{on:i.regime,label:"REGIME",onClick:()=>o("regime",!i.regime)}),c&&(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("div",{style:{width:1,height:18,background:sG,margin:"0 4px"}}),(0,Hg.jsx)(pG,{on:i.gbm,label:"GBM",color:"#3796ff",onClick:()=>o("gbm",!i.gbm)}),(0,Hg.jsx)(pG,{on:i.mjd,label:"MJD",color:"#ffa500",onClick:()=>o("mjd",!i.mjd)}),(0,Hg.jsx)(pG,{on:i.bates,label:"BATES",color:"#8b5cf6",onClick:()=>o("bates",!i.bates)})]}),c&&(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("div",{style:{width:1,height:18,background:sG,margin:"0 4px"}}),(0,Hg.jsx)("span",{style:{fontSize:8,color:dG,letterSpacing:"1.5px"},children:"MAX CONES"}),(0,Hg.jsx)("input",{type:"number",min:0,value:l,onChange:e=>{const t=parseInt(e.target.value,10);s(Number.isFinite(t)&&t>=0?t:0)},style:{width:50,padding:"3px 6px",background:"#000",color:aG,border:`1px solid ${sG}`,fontFamily:hG,fontSize:10,outline:"none"}})]})]})}const gG="#0a0a0a",mG="#222",yG="#fff",vG="#999",xG="#ff6d00",bG="#e8383b",wG="'Courier New', Consolas, 'Liberation Mono', monospace";function SG(e){let{phase:t,error:n,onRetry:r,onBack:i}=e;return(0,Hg.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",gap:14,background:gG,fontFamily:wG},children:[(0,Hg.jsx)("div",{style:{width:"60%",maxWidth:480,height:4,background:"#1a1a1a",overflow:"hidden",position:"relative"},children:(0,Hg.jsx)("div",{style:{position:"absolute",top:0,left:0,height:"100%",width:"30%",background:n?bG:xG,animation:n?"none":"mkReplayLoadSweep 1.4s linear infinite"}})}),(0,Hg.jsx)("div",{style:{fontSize:10,color:n?bG:yG,letterSpacing:"1.5px",fontWeight:700},children:n||t||"Loading\u2026"}),n&&(0,Hg.jsxs)("div",{style:{display:"flex",gap:8,marginTop:8},children:[(0,Hg.jsx)("button",{type:"button",onClick:r,style:{padding:"6px 16px",background:xG,color:"#000",border:`1px solid ${xG}`,fontFamily:wG,fontSize:10,letterSpacing:"1px",fontWeight:800,cursor:"pointer"},children:"RETRY"}),(0,Hg.jsx)("button",{type:"button",onClick:i,style:{padding:"6px 16px",background:"transparent",color:vG,border:`1px solid ${mG}`,fontFamily:wG,fontSize:10,letterSpacing:"1px",fontWeight:700,cursor:"pointer"},children:"BACK TO CONFIGURATION"})]}),(0,Hg.jsx)("style",{children:"\n @keyframes mkReplayLoadSweep {\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(467%); }\n }\n "})]})}const jG="'Courier New', Consolas, 'Liberation Mono', monospace",kG="#000000",_G="#0a0a0a",EG="#222222",CG="#333333",TG="#ffffff",MG="#999999",OG="#444444",AG="#ff6d00",PG="#2ebd59",IG="#e8383b",DG="#ffa500",LG="#00d2d3",RG=[{label:"3M",days:91},{label:"6M",days:182},{label:"12M",days:365},{label:"18M",days:548}],zG=[{label:"H4",code:"H4",barsPerDay:6},{label:"H1",code:"H1",barsPerDay:24},{label:"M15",code:"M15",barsPerDay:96},{label:"M5",code:"M5",barsPerDay:288}],NG=[1,2,5,10,20],FG={gbm:{on:!0,color:"#3796ff",width:1.5,opacity:.9,label:"GBM"},mjd:{on:!0,color:"#ffa500",width:1.5,opacity:.9,label:"MJD"},bates:{on:!1,color:"#8b5cf6",width:1.5,opacity:.9,label:"BATES"}};async function $G(e){try{const t=await fetch(e);return t.ok?await t.json():null}catch{return null}}function WG(e){if(!e)return 0;let t=String(e).trim();/^\d{4}-\d{2}-\d{2} /.test(t)&&(t=t.replace(" ","T")),/^\d{4}-\d{2}-\d{2}$/.test(t)?t+="T00:00:00Z":/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}$/.test(t)?t+=":00Z":/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$/.test(t)&&(t+="Z");const n=Date.parse(t);return isFinite(n)?Math.floor(n/1e3):0}function BG(e,t){return`rgba(${parseInt(e.slice(1,3),16)},${parseInt(e.slice(3,5),16)},${parseInt(e.slice(5,7),16)},${t})`}function UG(e){var n,r,i,o,l,s,a;let{assets:c}=e;const[d,u]=(0,t.useState)("empty"),[h,p]=(0,t.useState)(null),[f,g]=(0,t.useState)(!1),[m,y]=(0,t.useState)(()=>{const e=VY(HY(),c);return null!==e&&void 0!==e&&e.ticker?`${e.ticker} \xb7 ${e.tf} \xb7 ${e.period}`:null}),v=async e=>{p(e),g(!1),y(`${e.ticker} \xb7 ${e.tf} \xb7 ${e.period}`),Ee(!0);(!h||h.ticker!==e.ticker||h.tf!==e.tf||h.period!==e.period)&&be(e=>e+1),ke(null),u("loading");try{var t,n;Se("Loading bars\u2026"),await new Promise(e=>setTimeout(e,200)),(e.layers.weekly||e.layers.monthly||null!==(t=e.layers.quarterly)&&void 0!==t&&t.enabled)&&(Se("Loading cones\u2026"),await new Promise(e=>setTimeout(e,200))),null!==(n=e.layers.regime)&&void 0!==n&&n.enabled&&(Se("Loading regime\u2026"),await new Promise(e=>setTimeout(e,200))),e.layers.bands&&(Se("Loading bands\u2026"),await new Promise(e=>setTimeout(e,200))),Se("Building chart\u2026"),await new Promise(e=>setTimeout(e,200)),Se("Done."),u("running")}catch(r){console.error("[ReplayView v31] load failed:",r),ke(String((null===r||void 0===r?void 0:r.message)||r))}},[x,b]=((0,t.useMemo)(()=>c?c instanceof Map?Array.from(c.keys()).sort():Array.isArray(c)?c.map(e=>e.ticker).sort():Object.keys(c).sort():[],[c]),(0,t.useState)(null)),[w,S]=(0,t.useState)(RG[0]),[j,k]=(0,t.useState)(zG.find(e=>"M15"===e.code)||zG[0]),[_,E]=(0,t.useState)([]),[C,T]=(0,t.useState)([]),[M,O]=(0,t.useState)(null),[A,P]=(0,t.useState)(0),[I,D]=(0,t.useState)(!1),[L,R]=(0,t.useState)(1),[z,N]=(0,t.useState)(FG),[F,$]=(0,t.useState)(!0),[W,B]=(0,t.useState)(!0),[U,H]=(0,t.useState)(!0),[V,Y]=(0,t.useState)({curr:!0,prev1:!0,prev2:!0,prev3:!0,prev4:!0,prev5:!0,prev6:!0,prev7:!0}),[G,K]=(0,t.useState)(!1),[q,X]=(0,t.useState)(!0),[J,Q]=(0,t.useState)(8),[Z,ee]=(0,t.useState)(null),[te,ne]=(0,t.useState)(!1),[re,ie]=(0,t.useState)(""),[oe,le]=(0,t.useState)({mapEntries:0,seriesVisible:0,seriesHidden:0,applyErrors:0,shownSample:[],totalAnchorsInData:0}),[se,ae]=(0,t.useState)(null),ce=(0,t.useRef)(null),de=(0,t.useRef)(null),ue=(0,t.useRef)(null),he=(0,t.useRef)(null),pe=(0,t.useRef)(null),fe=(0,t.useRef)({}),ge=(0,t.useRef)(!1),me=(0,t.useRef)(e=>e),ye=(0,t.useRef)({}),ve=(0,t.useRef)({anchors:[],sortedAnchorDates:[],head:null}),[xe,be]=(0,t.useState)(0),[we,Se]=(0,t.useState)(""),[je,ke]=(0,t.useState)(null),[_e,Ee]=(0,t.useState)(!0);(0,t.useEffect)(()=>{var e;if(!h)return;const t=h;b(t.ticker);const n=RG.find(e=>e.label===t.period);n&&S(n);const r=zG.find(e=>e.code===t.tf);r&&k(r),$(!!t.layers.weekly),B(!!t.layers.monthly),H(!(null===(e=t.layers.quarterly)||void 0===e||!e.enabled)),X(!!t.layers.bands);const i=t.layers.quarterly||{};Y({curr:!!i.q_curr,prev1:!!i.q_prev1,prev2:!!i.q_prev2,prev3:!!i.q_prev3,prev4:!!i.q_prev4,prev5:!!i.q_prev5,prev6:!!i.q_prev6,prev7:!!i.q_prev7})},[h]),(0,t.useEffect)(()=>{var e;const t=ue.current;if(!t||!Bf)return;const n=Bf(t,{width:t.clientWidth,height:t.clientHeight,layout:{background:{color:kG},textColor:MG,fontSize:10,fontFamily:jG,attributionLogo:!1},grid:{vertLines:{visible:!1},horzLines:{visible:!1}},crosshair:{mode:(null===(e=Jd)||void 0===e?void 0:e.Normal)||0},rightPriceScale:{borderColor:CG,scaleMargins:{top:.08,bottom:.08}},timeScale:{borderColor:CG,timeVisible:!0,secondsVisible:!1,rightOffset:5,autoScrollToRealTime:!1,shiftVisibleRangeOnNewBar:!1},handleScroll:{vertTouchDrag:!0},handleScale:{axisPressedMouseMove:{time:!0,price:!0}}});he.current=n,pe.current=n.addSeries(rg,{upColor:PG,downColor:IG,borderUpColor:PG,borderDownColor:IG,wickUpColor:PG,wickDownColor:IG});const r=new ResizeObserver(()=>{const{width:e,height:r}=t.getBoundingClientRect();if(e>20&&r>20)try{n.resize(e,r)}catch{}});r.observe(t);const i=()=>{const e=he.current;if(e){try{e.priceScale("right").applyOptions({autoScale:!0})}catch{}t.dispatchEvent(new CustomEvent("replay:recenter"))}};return t.addEventListener("dblclick",i),()=>{r.disconnect(),t.removeEventListener("dblclick",i);try{n.remove()}catch{}he.current=null}},[xe]),(0,t.useEffect)(()=>{const e=ue.current;if(!e)return;const t=()=>{var e,t;const n=he.current;if(!n||0===C.length)return;const r=null!==(e=null===(t=_[A])||void 0===t?void 0:t.time)&&void 0!==e?e:C[0].time;let i=0;for(let o=0;o<C.length&&C[o].time<=r;o++)i=o;try{n.timeScale().setVisibleLogicalRange({from:Math.max(0,i-40),to:i+40})}catch{}};return e.addEventListener("replay:recenter",t),()=>e.removeEventListener("replay:recenter",t)},[C,_,A]),(0,t.useEffect)(()=>{if(!x)return E([]),O(null),void ie("");let e=!1;ne(!0),ie("loading bars\u2026");const t=Math.max(50,Math.round(w.days*j.barsPerDay));return Promise.all([rb(x,j.code,t),$G(`/api/historical_cones/${x}`),$G(`/api/quarterly_cones/${x}`),$G(`/api/bands_replay/${x}`)]).then(t=>{var n;let[r,i,o,l]=t;if(e)return;const s=((null===r||void 0===r?void 0:r.bars)||[]).map(e=>({time:"string"===typeof e.time?WG(e.time):Math.floor(e.time),open:e.open,high:e.high,low:e.low,close:e.close})).filter(e=>e.time>0).sort((e,t)=>e.time-t.time);E(s);const a={...i||{}},c={},d=(null===o||void 0===o||null===(n=o.meta)||void 0===n?void 0:n.anchors)||[],u={quarter_curr:"curr",quarter_prev1:"prev1",quarter_prev2:"prev2",quarter_prev3:"prev3",quarter_prev4:"prev4",quarter_prev5:"prev5",quarter_prev6:"prev6",quarter_prev7:"prev7"},h={};for(const e of d){const t=u[e.label];if(!t||!e.anchor_date)continue;const n={};for(const e of["gbm","mjd"]){const r=`${e}_quarter_${t}`;o[r]&&(n[e]=o[r])}Object.keys(n).length&&(c[e.anchor_date]=n,h[e.anchor_date]=t)}var p;(Object.keys(c).length&&(a.quarterly=c,a._quarterlyLabels=h),null!==l&&void 0!==l&&l.daily&&"object"===typeof l.daily)&&(a.bands=l.daily,a._bandsHead=l.head||null,a._bandsMeta=l.fusion_instructions||null,a._bandsSchema=(null===(p=l.meta)||void 0===p?void 0:p.schema_version)||null,a._bandsSchema&&"bands_replay_v2"!==a._bandsSchema&&console.warn("[ReplayView] Expected bands_replay_v2; got",a._bandsSchema,"\u2014 trailing will fall back to forward[0] (~41% wider than live)."));O(a);let f=0;const g=[],m=s.map(e=>e.time).sort((e,t)=>e-t),y=m.length?m[m.length-1]:0,v=e=>{if(!m.length)return e;if(e>y)return e;let t=0,n=m.length;for(;t<n;){const r=t+n>>1;m[r]<e?t=r+1:n=r}const r=m[Math.max(0,t-1)],i=m[Math.min(m.length-1,t)];return e-r<=i-e?r:i},x=new Set;for(const e of["weekly","monthly","quarterly","bands"])for(const[t,n]of Object.entries((null===a||void 0===a?void 0:a[e])||{})){const e=WG(t);e>0&&g.push(e);for(const t of Object.keys(FG)){const e=null===n||void 0===n?void 0:n[t];if(null!==e&&void 0!==e&&e.dates)for(const t of e.dates){const e=v(WG(t));e>0&&x.add(e)}}}me.current=v;const b=new Set(s.map(e=>e.time));for(const e of x)b.add(e);const w=Array.from(b).sort((e,t)=>e-t),S=new Map(s.map(e=>[e.time,e])),j=w.map(e=>{const t=S.get(e);return t||{time:e}});if(T(j),g.length&&s.length){const e=s[0].time,t=g.filter(t=>t>=e);if(t.length){const e=Math.min(...t);for(let t=s.length-1;t>=0;t--)if(s[t].time<e){f=t;break}}}P(f),ge.current=!1;const k=s.length>1?Math.round((s[s.length-1].time-s[0].time)/86400):0;ie(`${s.length} bars \u2248 ${k}d loaded \xb7 ${g.length} anchors`),ne(!1)}),()=>{e=!0}},[x,w,j]);const Ce=(0,t.useMemo)(()=>{var e,t;const n=null===se||void 0===se?void 0:se.micro,r=null===n||void 0===n||null===(e=n.data)||void 0===e||null===(t=e.history)||void 0===t?void 0:t.slow_d1;if(null===r||void 0===r||!r.length||null===n||void 0===n||!n.colors)return null;const i=new Map;for(const o of r){if(null===o||void 0===o||!o.date||null===o||void 0===o||!o.regime)continue;const e=Math.floor(new Date(o.date+"T00:00:00Z").getTime()/1e3);Number.isFinite(e)&&e>0&&i.set(e,o.regime)}return{dayMap:i,palette:n.colors}},[se]);(0,t.useEffect)(()=>{var e,t,n,r;const i=he.current;if(!pe.current||!i||0===C.length){try{var o;null===(o=pe.current)||void 0===o||o.setData([])}catch{}return}const l=null!==(e=null===(t=_[A])||void 0===t?void 0:t.time)&&void 0!==e?e:0,s=null!==h&&void 0!==h&&null!==(n=h.layers)&&void 0!==n&&null!==(r=n.regime)&&void 0!==r&&r.candle_color&&_e?Ce:null,a=C.map(e=>{if(void 0!==e.open&&e.time<=l){if(s){const t=86400*Math.floor(e.time/86400),n=s.dayMap.get(t),r=n?s.palette[n]:null;if(r)return{...e,color:r,borderColor:r,wickColor:r}}return e}return{time:e.time}});try{pe.current.setData(a)}catch{}},[C,_,A,Ce,h,_e]),(0,t.useEffect)(()=>{var e,t;const n=he.current;if(!n||0===C.length||ge.current)return;const r=null!==(e=null===(t=_[A])||void 0===t?void 0:t.time)&&void 0!==e?e:C[0].time;let i=0;for(let o=0;o<C.length&&C[o].time<=r;o++)i=o;try{n.timeScale().setVisibleLogicalRange({from:Math.max(0,i-40),to:i+40}),ge.current=!0}catch{}},[C,_,A]);const Te=null!==(n=null===(r=_[A])||void 0===r?void 0:r.time)&&void 0!==n?n:0,Me=(0,t.useMemo)(()=>{if(!M)return 0;let e=0;const t=M._quarterlyLabels||{};for(const n of["weekly","monthly","quarterly"]){if("weekly"===n?F:"monthly"===n?W:"quarterly"!==n||U)for(const r of Object.keys(M[n]||{})){const i=WG(r);if(i>0&&i<=Te){if("quarterly"===n){const e=t[r];if(e&&!1===V[e])continue}e++}}}return e},[M,Te,F,W,U,V]);(0,t.useEffect)(()=>{const e=he.current;if(!e)return;for(const c of Object.keys(fe.current)){const t=fe.current[c];for(const n of Object.keys(t.models))for(const r of Object.keys(t.models[n]))try{e.removeSeries(t.models[n][r])}catch{}}if(fe.current={},!M||0===C.length)return;try{var t,n,r,i;const e={weekly:Object.keys(M.weekly||{}).length,monthly:Object.keys(M.monthly||{}).length,quarterly:Object.keys(M.quarterly||{}).length},o=Object.keys(M.weekly||{})[0],l=o?null===(t=M.weekly)||void 0===t||null===(n=t[o])||void 0===n?void 0:n.gbm:null;console.log("[ReplayView v21] cone-builder fired:","asset=",x,"timeAxis.len=",C.length,"bars.len=",_.length,"buckets=",e,"sample weekly anchor=",o,"sample gbm dates[0:2]=",null===l||void 0===l||null===(r=l.dates)||void 0===r?void 0:r.slice(0,2),"sample gbm median[0:2]=",null===l||void 0===l||null===(i=l.median)||void 0===i?void 0:i.slice(0,2))}catch{}const o={weekly:{seen:0,built:0,slots:0,skippedTs:0,skippedNoData:0},monthly:{seen:0,built:0,slots:0,skippedTs:0,skippedNoData:0},quarterly:{seen:0,built:0,slots:0,skippedTs:0,skippedNoData:0}};for(const c of["weekly","monthly","quarterly"]){var l;if(!h)continue;const t=h.layers;if("weekly"===c&&!t.weekly)continue;if("monthly"===c&&!t.monthly)continue;if("quarterly"===c&&(null===(l=t.quarterly)||void 0===l||!l.enabled))continue;const n=M[c]||{};for(const[r,i]of Object.entries(n)){if("quarterly"===c){var s;const e=h.layers.quarterly,t=(null===(s=M._quarterlyLabels)||void 0===s?void 0:s[r])||null,n=t?`q_${t}`:null;if(!n||!e[n])continue}o[c].seen++;const t=WG(r);if(t<=0){o[c].skippedTs++;continue}const n={};for(const r of Object.keys(FG)){const t=null===i||void 0===i?void 0:i[r];if(null===t||void 0===t||!t.dates||!t.median){o[c].skippedNoData++;continue}const l=t.dates.map(WG),s={},a=(t,n)=>{if(null===n||void 0===n||!n.length)return;const r=me.current||(e=>e),i=new Map;for(let e=0;e<Math.min(n.length,l.length);e++){const t=r(l[e]);t>0&&i.set(t,n[e])}if(i.size<2)return;const o=Array.from(i.entries()).map(e=>{let[t,n]=e;return{time:t,value:n}}).sort((e,t)=>e.time-t.time);let a=null;try{var c,d;a=e.addSeries(Zf,{color:"rgba(0,0,0,0)",lineWidth:1,lineStyle:null!==(c=null===(d=cd)||void 0===d?void 0:d.Solid)&&void 0!==c?c:0,priceLineVisible:!1,lastValueVisible:!1,visible:!1,autoscaleInfoProvider:()=>null}),a.setData(o),s[t]=a}catch(sd){if(a)try{e.removeSeries(a)}catch{}console.error("[ReplayView v22] build() threw:",{slot:t,ptsLen:o.length,asset:x,error:sd})}};a("median",t.median),a("sd1_high",t.sd1_high),a("sd1_low",t.sd1_low),a("sd2_high",t.sd2_high),a("sd2_low",t.sd2_low),a("sd3_high",t.sd3_high),a("sd3_low",t.sd3_low),Object.keys(s).length&&(n[r]=s,o[c].slots+=Object.keys(s).length)}if(Object.keys(n).length){var a;const e="quarterly"===c&&(null===(a=M._quarterlyLabels)||void 0===a?void 0:a[r])||null,i=`${c}:${r}`;fe.current[i]={bucket:c,ts:t,models:n,quarterLabel:e,dateStr:r},o[c].built++}}}try{console.log("[ReplayView v22] builder done:","asset=",x,"totalMapEntries=",Object.keys(fe.current).length,"stats=",o)}catch{}},[M,C,xe,h]);const Oe=["median","sd1_high","sd1_low","sd2_high","sd2_low","sd3_high","sd3_low"],Ae={median:1,sd1_high:.6,sd1_low:.6,sd2_high:.35,sd2_low:.35,sd3_high:.18,sd3_low:.18};(0,t.useEffect)(()=>{const e=he.current;if(!e||!Zf)return;for(const c of Object.keys(ye.current))for(const t of Object.keys(ye.current[c]||{}))try{e.removeSeries(ye.current[c][t])}catch{}ye.current={},ve.current={anchors:[],sortedAnchorDates:[],head:null};const t=null===M||void 0===M?void 0:M.bands;if(!t||"object"!==typeof t)return;const n=Object.keys(t).filter(e=>WG(e)>0).sort();if(0!==n.length){ve.current={anchors:t,sortedAnchorDates:n,head:M._bandsHead||null,schema:M._bandsSchema||null};for(const t of Object.keys(FG)){const n=FG[t];ye.current[t]={};for(const c of Oe)try{var r,i,o,l,s,a;const d=e.addSeries(Zf,{color:BG(n.color,(null!==(r=n.opacity)&&void 0!==r?r:.9)*(null!==(i=Ae[c])&&void 0!==i?i:1)),lineWidth:"median"===c?null!==(o=n.width)&&void 0!==o?o:1.5:Math.max(1,(null!==(l=n.width)&&void 0!==l?l:1.5)-.5),lineStyle:null!==(s=null===(a=cd)||void 0===a?void 0:a.Solid)&&void 0!==s?s:0,priceLineVisible:!1,lastValueVisible:!1,visible:!1,autoscaleInfoProvider:()=>null});ye.current[t][c]=d}catch{}}return()=>{const e=he.current;if(e){for(const t of Object.keys(ye.current))for(const n of Object.keys(ye.current[t]||{}))try{e.removeSeries(ye.current[t][n])}catch{}ye.current={}}}}},[M,xe,h]),(0,t.useEffect)(()=>{const e=ye.current;if(!e||0===Object.keys(e).length)return;const{anchors:t,sortedAnchorDates:n,head:r,schema:i}=ve.current;if(!t||0===n.length)return;const o="bands_replay_v2"===i,l=Te,s=me.current||(e=>e),a=WG(n[0]);let c=null;for(const m of n){if(!(WG(m)<=l))break;c=m}const d=e=>{const t=z[e];return!(null===t||void 0===t||!t.on)&&q};if(l<a&&r&&Array.isArray(r.timestamps)){const t=r.timestamps.map(WG).map(s),n=e=>"gbm"===e?"gbm":"mjd"===e?"mjd":"bates"===e?"bat":e,i=(e,t)=>{if("median"===t)return"mean";const r=t.match(/^sd([123])_(high|low)$/);return r?`${n(e)}_${r[1]}sd_${r[2]}`:null};for(const o of Object.keys(e)){const n=d(o);for(const l of Oe){const s=e[o][l];if(!s)continue;const a=i(o,l),c=a?r[a]:null;if(!Array.isArray(c)||0===c.length){try{s.applyOptions({visible:!1}),s.setData([])}catch{}continue}const d=[],u=new Set;for(let e=0;e<Math.min(c.length,t.length);e++){const n=t[e];n>0&&!u.has(n)&&(u.add(n),d.push({time:n,value:c[e]}))}try{s.applyOptions({visible:n}),s.setData(d)}catch{}}}return}if(!c){for(const t of Object.keys(e))for(const n of Oe)try{e[t][n].applyOptions({visible:!1})}catch{}return}const u=n.filter(e=>WG(e)<=l);for(const m of Object.keys(e)){const n=d(m);for(const r of Oe){const i=e[m][r];if(i)try{var h,p;const e=[],l=new Set;for(const n of u){var f,g;const i=null===(f=t[n])||void 0===f?void 0:f[m];if(!i)continue;let a=null,c=null;const d=i.select;if(o&&d&&d.date&&Number.isFinite(d[r]))a=WG(d.date),c=d[r];else{if(null===(g=i.dates)||void 0===g||!g.length||!Array.isArray(i[r]))continue;a=WG(i.dates[0]),c=i[r][0]}const u=s(a);u>0&&!l.has(u)&&Number.isFinite(c)&&(l.add(u),e.push({time:u,value:c}))}const a=[],d=null===(h=t[c])||void 0===h?void 0:h[m];if(null!==d&&void 0!==d&&null!==(p=d.dates)&&void 0!==p&&p.length&&Array.isArray(d[r])){const e=new Set;for(let t=0;t<Math.min(d.dates.length,d[r].length);t++){const n=s(WG(d.dates[t])),i=d[r][t];n>0&&!e.has(n)&&Number.isFinite(i)&&(e.add(n),a.push({time:n,value:i}))}}const y=a.length?a[0].time:1/0,v=e.filter(e=>e.time<y),x=[...v,...a].sort((e,t)=>e.time-t.time);i.applyOptions({visible:n&&x.length>=2}),i.setData(x)}catch{}}}},[M,Te,q,z,xe,h]),(0,t.useEffect)(()=>{if(!he.current)return;const e={median:1,sd1_high:.6,sd1_low:.6,sd2_high:.35,sd2_low:.35,sd3_high:.18,sd3_low:.18},t=Object.entries(fe.current).map(e=>{let[t,n]=e;return{date:t,...n}}).filter(e=>e.ts<=Te).filter(e=>"weekly"===e.bucket?F:"monthly"===e.bucket?W:"quarterly"!==e.bucket||!!U&&(!e.quarterLabel||!1!==V[e.quarterLabel])).sort((e,t)=>t.ts-e.ts),n=J>0?J:1/0,r=new Set(t.slice(0,n).map(e=>e.date)),i={mapEntries:0,inCap:0,seriesVisible:0,seriesHidden:0,applyErrors:0};for(const u of Object.keys(fe.current)){i.mapEntries++;const t=fe.current[u],n=r.has(u);n&&i.inCap++;for(const r of Object.keys(t.models)){var o,l,s;const c=z[r],d=!(null===c||void 0===c||!c.on),h=null!==(o=null===c||void 0===c?void 0:c.opacity)&&void 0!==o?o:.9,p=null!==(l=null===c||void 0===c?void 0:c.color)&&void 0!==l?l:"#888888",f=null!==(s=null===c||void 0===c?void 0:c.width)&&void 0!==s?s:1.5;for(const o of Object.keys(t.models[r])){var a;const l=t.models[r][o];if(!l)continue;const s=(null!==(a=e[o])&&void 0!==a?a:1)*h,c=n&&d;try{l.applyOptions({visible:c,color:BG(p,s),lineWidth:"median"===o?f:Math.max(1,f-.5)}),c?i.seriesVisible++:i.seriesHidden++}catch(sd){i.applyErrors++,console.error("[ReplayView v22] applyOptions threw:",{anchorDate:u,modelKey:r,slot:o,error:sd})}}}}try{console.log("[ReplayView v22] visibility done:","playTime=",Te,"allAnchorsFiltered=",t.length,"maxCones=",J,"shownSetSize=",r.size,"stats=",i)}catch{}const c=t.slice(0,3).map(e=>({bucket:e.bucket,dateStr:e.dateStr||e.date,quarterLabel:e.quarterLabel||null})),d=Object.keys((null===M||void 0===M?void 0:M.weekly)||{}).length+Object.keys((null===M||void 0===M?void 0:M.monthly)||{}).length+Object.keys((null===M||void 0===M?void 0:M.quarterly)||{}).length;le({mapEntries:i.mapEntries,seriesVisible:i.seriesVisible,seriesHidden:i.seriesHidden,applyErrors:i.applyErrors,shownSample:c,totalAnchorsInData:d})},[M,Te,F,W,U,V,z,J]),(0,t.useEffect)(()=>{var e,t;const n=he.current;if(!n)return;if(ce.current){try{n.removeSeries(ce.current)}catch{}ce.current=null}if(de.current){try{n.removeSeries(de.current)}catch{}de.current=null}const r=se;if(!r||0===_.length)return;const i=e=>{var t,n,r;if(!e||!e.enabled||!e.data)return null;const i=(null===(t=e.data)||void 0===t||null===(n=t.history)||void 0===n?void 0:n.slow_d1)||[];if(!i.length)return null;const o=new Map;for(const d of i){if(null===d||void 0===d||!d.date||null===d||void 0===d||!d.regime)continue;const e=Math.floor(new Date(d.date+"T00:00:00Z").getTime()/1e3);!Number.isFinite(e)||e<=0||o.set(e,d.regime)}const l=null!==(r=e.opacity)&&void 0!==r?r:.08,s=e.hidden||new Set,a=e.colors||{},c=[];for(const d of _){const e=86400*Math.floor(d.time/86400),t=o.get(e);if(!t||s.has(t))continue;const n=a[t];if(!n||"#"!==n[0])continue;const r=parseInt(n.slice(1,3),16),i=parseInt(n.slice(3,5),16),u=parseInt(n.slice(5,7),16);c.push({time:d.time,value:1e10,color:`rgba(${r},${i},${u},${l})`})}return c},o=i(r.macro),l=i(r.micro);if(null!==h&&void 0!==h&&null!==(e=h.layers)&&void 0!==e&&null!==(t=e.regime)&&void 0!==t&&t.bg_shading&&_e){if(o&&o.length>0)try{const e=n.addSeries(lg,{priceScaleId:"regime_macro_bg",priceFormat:{type:"volume"},lastValueVisible:!1,priceLineVisible:!1});n.priceScale("regime_macro_bg").applyOptions({scaleMargins:{top:0,bottom:0},visible:!1}),e.setData(o),ce.current=e}catch(sd){console.error("[Replay] regime macro:",sd)}if(l&&l.length>0)try{const e=n.addSeries(lg,{priceScaleId:"regime_micro_bg",priceFormat:{type:"volume"},lastValueVisible:!1,priceLineVisible:!1});n.priceScale("regime_micro_bg").applyOptions({scaleMargins:{top:0,bottom:0},visible:!1}),e.setData(l),de.current=e}catch(sd){console.error("[Replay] regime micro:",sd)}}},[se,_,h,_e,xe]),(0,t.useEffect)(()=>{if(!I||0===_.length)return;const e=setInterval(()=>{P(e=>e+1>=_.length?(D(!1),e):e+1)},1e3/L);return()=>clearInterval(e)},[I,L,_.length]);const Pe=_[A]?new Date(1e3*_[A].time).toISOString().slice(0,10):"\u2014",Ie=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:AG;return{background:e?`${t}25`:"transparent",color:e?t:OG,border:`1px solid ${e?t+"55":EG}`,padding:"3px 8px",cursor:"pointer",fontSize:9,fontWeight:700,fontFamily:jG,letterSpacing:"0.5px"}};return(0,Hg.jsxs)(Hg.Fragment,{children:["empty"===d&&(0,Hg.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",gap:14,background:"#0a0a0a",fontFamily:"'Courier New', Consolas, monospace"},children:[(0,Hg.jsx)("button",{type:"button",onClick:()=>g(!0),style:{padding:"12px 32px",background:"#ff6d00",color:"#000",border:"1px solid #ff6d00",fontFamily:"inherit",fontSize:12,letterSpacing:"2px",fontWeight:800,cursor:"pointer"},children:"CONFIGURATION"}),m&&(0,Hg.jsxs)("div",{style:{fontSize:9,color:"#666",letterSpacing:"1.5px"},children:["resume last: ",m]})]}),("running"===d||"loading"===d)&&(0,Hg.jsxs)("div",{style:{position:"relative",height:"100%",display:"flex",flexDirection:"column"},children:[(0,Hg.jsx)("button",{type:"button",onClick:()=>g(!0),style:{position:"absolute",top:8,right:8,zIndex:50,padding:"5px 10px",background:"#0a0a0a",color:"#999",border:"1px solid #333",fontFamily:"'Courier New', Consolas, monospace",fontSize:9,letterSpacing:"1.5px",fontWeight:700,cursor:"pointer"},children:"\u2699 CONFIGURATION"}),(0,Hg.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",background:kG,minHeight:0},children:[x&&(null===h||void 0===h||null===(i=h.layers)||void 0===i||null===(o=i.regime)||void 0===o?void 0:o.enabled)&&(0,Hg.jsx)("div",{style:{display:h.layers.regime.top_bar&&_e?"block":"none"},children:(0,Hg.jsx)(av,{selectedTicker:x,onRegimeHistory:ae,playTime:Te||null,forceMacroOn:!0,forceMicroOn:!0})}),(0,Hg.jsx)(fG,{appliedConfig:h,visibility:{weekly:F,monthly:W,quarterly:U,bands:q,regime:_e,gbm:null===(l=z.gbm)||void 0===l?void 0:l.on,mjd:null===(s=z.mjd)||void 0===s?void 0:s.on,bates:null===(a=z.bates)||void 0===a?void 0:a.on},onVisibility:(e,t)=>{switch(e){case"weekly":$(t);break;case"monthly":B(t);break;case"quarterly":H(t);break;case"bands":X(t);break;case"regime":Ee(t);break;case"gbm":N(e=>({...e,gbm:{...e.gbm,on:t}}));break;case"mjd":N(e=>({...e,mjd:{...e.mjd,on:t}}));break;case"bates":N(e=>({...e,bates:{...e.bates,on:t}}))}},maxCones:J,onMaxCones:Q}),(0,Hg.jsxs)("div",{ref:ue,style:{flex:1,minHeight:0,position:"relative"},children:[!x&&(0,Hg.jsx)("div",{style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center",color:OG,fontSize:11,fontFamily:jG,letterSpacing:"1.5px"},children:"+ SELECT TICKER TO BEGIN REPLAY"}),x&&(()=>{const e=Te>0?new Date(1e3*Te).toISOString().replace("T"," ").slice(0,16):"\u2014",t=e=>e?"on":"off",n=V;return(0,Hg.jsxs)("div",{style:{position:"absolute",top:8,left:8,zIndex:50,background:"rgba(0,0,0,0.78)",border:"1px solid #333",padding:"6px 8px",fontSize:9.5,fontFamily:jG,color:"#ddd",letterSpacing:"0.3px",lineHeight:1.45,pointerEvents:"none",maxWidth:360},children:[(0,Hg.jsxs)("div",{style:{color:"#ff6d00",fontWeight:800,letterSpacing:"1px",marginBottom:3},children:["v26 DIAG \xb7 ",x||"\u2014"]}),(0,Hg.jsxs)("div",{children:["playTime: ",(0,Hg.jsx)("span",{style:{color:"#fff"},children:e})," (",Te,")"]}),(0,Hg.jsxs)("div",{children:["bars=",_.length," timeAxis=",C.length," counter=",Me," totalAnchors=",oe.totalAnchorsInData]}),(0,Hg.jsxs)("div",{children:["mapEntries=",oe.mapEntries," visible=",(0,Hg.jsx)("span",{style:{color:oe.seriesVisible>0?"#2ebd59":"#e8383b"},children:oe.seriesVisible})," hidden=",oe.seriesHidden," errors=",oe.applyErrors]}),(0,Hg.jsxs)("div",{children:["models: G:",t(z.gbm.on)," M:",t(z.mjd.on)," B:",t(z.bates.on)]}),(0,Hg.jsxs)("div",{children:["buckets: W:",t(F)," M:",t(W)," Q:",t(U)," B:",t(q)," maxCones=",J]}),(0,Hg.jsxs)("div",{children:["Qsub: curr:",t(n.curr)," p1:",t(n.prev1)," p2:",t(n.prev2)," p3:",t(n.prev3)," p4:",t(n.prev4)," p5:",t(n.prev5)," p6:",t(n.prev6)," p7:",t(n.prev7)]}),(0,Hg.jsx)("div",{style:{marginTop:2,color:"#999"},children:"top shown:"}),0===oe.shownSample.length&&(0,Hg.jsx)("div",{style:{color:"#e8383b",paddingLeft:6},children:"\u2014 none \u2014"}),oe.shownSample.map((e,t)=>(0,Hg.jsxs)("div",{style:{paddingLeft:6,color:"#fff"},children:["[",e.bucket,e.quarterLabel?"/"+e.quarterLabel:"","] ",e.dateStr]},t))]})})()]},xe),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 10px",borderTop:`1px solid ${EG}`,flexShrink:0,background:_G},children:[(0,Hg.jsx)("button",{onClick:()=>{_.length&&D(e=>!e)},disabled:0===_.length,style:{...Ie(I,PG),padding:"5px 14px",fontSize:11},children:I?"\u275a\u275a PAUSE":"\u25b6 PLAY"}),(0,Hg.jsx)("span",{style:{fontSize:9,color:OG},children:"SPEED"}),NG.map(e=>(0,Hg.jsxs)("button",{onClick:()=>R(e),style:Ie(L===e,LG),children:[e,"\xd7"]},e)),(0,Hg.jsx)("button",{onClick:()=>{D(!1),P(e=>Math.max(0,e-1))},disabled:0===_.length||0===A,title:"Step -1 bar",style:{...Ie(!1),padding:"3px 8px",fontSize:11},children:"\u2212"}),(0,Hg.jsx)("input",{type:"range",min:0,max:Math.max(0,_.length-1),value:A,onChange:e=>{D(!1),P(Number(e.target.value))},onWheel:e=>{if(0===_.length)return;e.preventDefault(),D(!1);const t=e.deltaY<0?1:-1;P(e=>Math.max(0,Math.min(_.length-1,e+t)))},style:{flex:1,accentColor:AG,cursor:_.length?"pointer":"default"},disabled:0===_.length}),(0,Hg.jsx)("button",{onClick:()=>{D(!1),P(e=>Math.min(_.length-1,e+1))},disabled:0===_.length||A>=_.length-1,title:"Step +1 bar",style:{...Ie(!1),padding:"3px 8px",fontSize:11},children:"+"}),(0,Hg.jsx)("span",{style:{fontSize:10,color:TG,fontFamily:jG,minWidth:100,textAlign:"right"},children:Pe}),(0,Hg.jsx)("span",{style:{fontSize:9,color:OG,fontFamily:jG,minWidth:80,textAlign:"right"},children:_.length?`${A+1}/${_.length}`:"\u2014"}),(0,Hg.jsxs)("span",{style:{fontSize:9,color:DG,fontFamily:jG,minWidth:70,textAlign:"right"},children:[Me," anchors"]})]})]})]}),"loading"===d&&(0,Hg.jsx)("div",{style:{position:"fixed",inset:0,zIndex:200,background:"rgba(10,10,10,0.92)"},children:(0,Hg.jsx)(SG,{phase:we,error:je,onRetry:()=>v(h),onBack:()=>{u("empty"),ke(null)}})}),f&&(0,Hg.jsx)(oG,{assets:c,onApply:v,onCancel:()=>g(!1)})]})}const HG="/api/pulse";async function VG(e){const t=e.headers.get("content-type")||"";if(!t.includes("application/json"))throw new Error(`Pulse API: expected JSON, got ${e.status} ${t}`);return e.json()}function YG(){const[e,n]=(0,t.useState)({loading:!0,error:null,scannerEnabled:!1,watchlist:{assets:[]},snapshot:null,snapshotMeta:{exists:!1},calculating:!1,calculateError:null}),r=(0,t.useRef)(!0);(0,t.useEffect)(()=>()=>{r.current=!1},[]);const i=(0,t.useCallback)(e=>{r.current&&n(t=>({...t,loading:!1,error:null,scannerEnabled:e.scanner_enabled,watchlist:e.watchlist,snapshot:e.snapshot,snapshotMeta:e.snapshot_meta}))},[]),o=(0,t.useCallback)(async()=>{try{const e=await async function(){const e=await fetch(`${HG}/state`,{credentials:"include"});if(!e.ok)throw new Error(`Pulse /state failed: ${e.status}`);return VG(e)}();i(e)}catch(sd){r.current&&n(t=>({...t,loading:!1,error:String(sd.message||sd)}))}},[i]);(0,t.useEffect)(()=>{o();const e=setInterval(o,1e4);return()=>clearInterval(e)},[o]);const l=(0,t.useCallback)(async e=>{try{const t=await async function(e){const t=await fetch(`${HG}/scanner`,{method:"PUT",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({enabled:e})});if(!t.ok)throw new Error(`PUT scanner failed: ${t.status}`);return VG(t)}(e);i(t)}catch(sd){n(t=>({...t,error:String(sd.message||sd)}))}},[i]),s=(0,t.useCallback)(async e=>{try{const t=await async function(e){const t=await fetch(`${HG}/watchlist`,{method:"PUT",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw new Error(`PUT watchlist failed: ${t.status}`);return VG(t)}(e);i(t)}catch(sd){n(t=>({...t,error:String(sd.message||sd)}))}},[i]),a=(0,t.useCallback)(async()=>{n(e=>({...e,calculating:!0,calculateError:null}));try{const e=await async function(){const e=await fetch(`${HG}/calculate`,{method:"POST",credentials:"include"});if(400===e.status){const t=await VG(e).catch(()=>({}));throw new Error(t.detail||"Watchlist is empty")}if(409===e.status)throw new Error("A calculate is already in progress");if(!e.ok){const t=await VG(e).catch(()=>({}));throw new Error(t.detail||`Calculate failed: ${e.status}`)}return VG(e)}();i(e)}catch(sd){r.current&&n(t=>({...t,calculateError:String(sd.message||sd)}))}finally{r.current&&n(e=>({...e,calculating:!1}))}},[i]);return{state:e,refresh:o,setScanner:l,setWatchlist:s,calculate:a}}const GG={CO:1,QB:.8};function KG(e){if(!e.curve||0===e.curve.length)return null;let t=null;for(const n of e.curve){if(n.t_min>=0)return n.price;t=n}return t?t.price:null}function qG(e,t,n,r){if(n<=0)return 0;const i=KG(e);if(null==i)return 0;const o=Math.abs(t-i)/n;return Math.max(0,1-o/r)}function XG(e){return e>=75?"high":e>=40?"med":"low"}function JG(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.5;const r=e.cone_1d_sd;let i=0,o=0;const l=[];for(const u of e.elements){const c=KG(u);if(null==c)continue;const d=qG(u,t,r,n);if(d>0){var s,a;o++;i+=d*(null!==(s=GG[u.family])&&void 0!==s?s:1),l.push({id:u.id,family:u.family,origin:null!==(a=u.origin)&&void 0!==a?a:"current_week",label:u.label,proximity:d,side:c>t?"above":"below",distPips:Math.abs(t-c)/e.pip_size})}}let c=1;o>=3?c=1.3:2===o&&(c=1.1);const d=Math.min(100,Math.round(100*i*c));return l.sort((e,t)=>t.proximity-e.proximity),{score:d,level:XG(d),contributors:l,nActive:o}}function QG(e){if(!e||0===e.length)return null;const t=e.slice(0,2);if(1===t.length){const e=t[0];return`${e.label} \u2014 ${Math.round(e.distPips)} pips ${e.side}`}const[n,r]=t;if(n.side===r.side)return`${n.label} + ${r.label} converging \u2014 ${Math.round(Math.min(n.distPips,r.distPips))} pips ${n.side}`;const i="above"===n.side?n:r,o="below"===n.side?n:r;return`${i.label} above + ${o.label} below \u2014 price between`}const ZG="styles_page__b0DNw",eK="styles_cardBg__Dprkb",tK="styles_borderDefault__63iOJ",nK="styles_borderHigh__0Thra",rK="styles_borderMed__7cBgD",iK="styles_borderLow__aw5uJ",oK="styles_brandSmall__8m128",lK="styles_title__v9zrC",sK="styles_muted__uUsPK",aK="styles_dim__UW4rx",cK="styles_white__PIvc3",dK="styles_topBar__lY3HL",uK="styles_liveDot__gb6L2",hK="styles_liveText__QU6Tj",pK="styles_scannerOff__xct80",fK="styles_scoreHigh__ayJlz",gK="styles_scoreMed__2CyFx",mK="styles_scoreLow__a+3FK",yK="styles_scoreBadge__1jsGg",vK="styles_tag__EDr2T",xK="styles_grid__v5R95",bK="styles_alertStrip__Skiwe",wK="styles_alertHeader__qyKjd",SK="styles_alertCrit__ACC1X",jK="styles_alertWarn__7EynK",kK="styles_alertAsset__OUKUM",_K="styles_alertBody__pt4jk",EK="styles_statsBar__SEvBO",CK="styles_statLabel__ZHEhS",TK="styles_statValue__i5m8r",MK="styles_statValueImpact__AEpRP",OK="styles_sep__MXc4n",AK="styles_staleBanner__HJc+d",PK="styles_calcOverlay__edps3",IK="styles_swatch__aWIbc",DK="styles_elementList__lsO6Z",LK="styles_elementRow__9g31h",RK="styles_elementLabel__qQVri",zK="styles_elementDist__ZUtS-",NK="styles_elementApex__bPLem",FK="styles_cardBody__ZPNha";function $K(e){let{enabled:t,onChange:n}=e;return(0,Hg.jsx)("button",{onClick:()=>n(!t),style:{background:"transparent",border:"1px solid "+(t?"#50C878":"#4A3C28"),padding:"4px 10px",cursor:"pointer",borderRadius:3,display:"flex",alignItems:"center",gap:6},"aria-label":t?"Scanner: ON":"Scanner: OFF",children:t?(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("span",{className:uK}),(0,Hg.jsx)("span",{className:hK,children:"Scanning live"})]}):(0,Hg.jsx)("span",{className:pK,children:"Scanner off"})})}const WK=["XAUUSD","XAGUSD","XTIUSD","EURUSD","GBPUSD","USDJPY","USDCAD","AUDUSD","US500","USTEC","UK100","GER40","BTCUSD","ETHUSD","SOLUSD","XRPUSD","DXY"];function BK(e){let{watchlist:n,onSave:r,onCancel:i}=e;const[o,l]=(0,t.useState)({});(0,t.useEffect)(()=>{const e={};for(const t of(null===n||void 0===n?void 0:n.assets)||[])e[t.symbol]=new Set(t.families||[]);l(e)},[]);const s=(e,t)=>{var n;return null===(n=o[e])||void 0===n?void 0:n.has(t)},a=(e,t)=>{l(n=>{const r={...n},i=new Set(r[e]||[]);return i.has(t)?i.delete(t):i.add(t),0===i.size?delete r[e]:r[e]=i,r})};return(0,Hg.jsx)("div",{style:{position:"absolute",inset:0,background:"#06060Eee",display:"flex",alignItems:"stretch",justifyContent:"center",padding:24,zIndex:60},children:(0,Hg.jsxs)("div",{style:{width:480,maxHeight:"100%",overflowY:"auto",background:"#09091A",border:"1px solid rgba(232,184,75,0.18)",borderRadius:8,padding:18,fontFamily:"monospace"},children:[(0,Hg.jsx)("div",{className:lK,style:{marginBottom:12},children:"Configure Pulse Watchlist"}),(0,Hg.jsx)("div",{className:sK,style:{fontSize:10,marginBottom:16},children:"Pick assets to scan. For each asset, choose which element families to track."}),(0,Hg.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 60px 60px",fontSize:9,color:"#9A7830",letterSpacing:2,textTransform:"uppercase",padding:"0 6px 4px"},children:[(0,Hg.jsx)("div",{children:"Asset"}),(0,Hg.jsx)("div",{children:"CO"}),(0,Hg.jsx)("div",{children:"QB"})]}),WK.map(e=>(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 60px 60px",padding:"6px 6px",borderRadius:3,background:o[e]?"rgba(232,184,75,0.04)":"transparent",fontSize:11,color:"#FFF"},children:[(0,Hg.jsx)("div",{style:{letterSpacing:1},children:e}),(0,Hg.jsx)("input",{type:"checkbox",checked:s(e,"CO"),onChange:()=>a(e,"CO")}),(0,Hg.jsx)("input",{type:"checkbox",checked:s(e,"QB"),onChange:()=>a(e,"QB")})]},e))]}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:8,marginTop:18,justifyContent:"flex-end"},children:[(0,Hg.jsx)("button",{onClick:i,style:UK("muted"),children:"Cancel"}),(0,Hg.jsx)("button",{onClick:()=>{const e=Object.entries(o).filter(e=>{let[t,n]=e;return n&&n.size>0}).map(e=>{let[t,n]=e;return{symbol:t,families:Array.from(n).sort()}}).sort((e,t)=>e.symbol.localeCompare(t.symbol));r({assets:e})},style:UK("primary"),children:"Save"})]})]})})}function UK(e){const t={padding:"6px 14px",fontFamily:"monospace",fontSize:10,letterSpacing:2,textTransform:"uppercase",cursor:"pointer",borderRadius:3,background:"transparent"};return"primary"===e?{...t,color:"#E8B84B",border:"1px solid #E8B84B"}:{...t,color:"#4A3C28",border:"1px solid #4A3C28"}}const HK={now:"#FFFFFF",current_week:"#80B8E0",prev_week:"#5C8CB0",week_prev_2:"#3A6080",current_month:"#80E0A0",prev_month:"#5CA070",prev_month_2:"#4A7E58",extreme_high:"#FF80B0",extreme_low:"#FFA060",bands:"#E8B84B"},VK={now:"now",current_week:"current week",prev_week:"previous week",week_prev_2:"week -2",current_month:"current month",prev_month:"previous month",prev_month_2:"month -2",extreme_high:"extreme high",extreme_low:"extreme low",bands:"bands"};function YK(e){return HK[e]||"#888888"}const GK=154,KK=154,qK=77,XK=77,JK=Math.min(154,154)/2-5,QK=.33*JK,ZK=.66*JK,eq={high:.9,med:.65,low:.35};function tq(e){const t=(e||"#888888").replace("#","");return[parseInt(t.slice(0,2),16),parseInt(t.slice(2,4),16),parseInt(t.slice(4,6),16)]}function nq(e){let{contributors:n,tier:r,apexIds:i}=e;const o=(0,t.useRef)(null),l=(0,t.useRef)({sweep:Math.random()*Math.PI*2,blips:[],raf:null}),s=(0,t.useRef)({contributors:n,tier:r,apexIds:i});return(0,t.useEffect)(()=>{l.current.blips=(n||[]).map(()=>0)},[n]),(0,t.useEffect)(()=>{s.current.contributors=n,s.current.tier=r,s.current.apexIds=i}),(0,t.useEffect)(()=>{const e=o.current;if(!e)return;const t=e.getContext("2d"),n=l.current,r=()=>{var e;const{contributors:i,tier:o,apexIds:l}=s.current,a=null!==(e=eq[o])&&void 0!==e?e:.5;n.sweep=(n.sweep+.016*a)%(2*Math.PI);for(let t=0;t<(i||[]).length;t++){const e=rq(i[t],t);let r=Math.abs(n.sweep-e);r>Math.PI&&(r=2*Math.PI-r),n.blips[t]=r<.1?1:Math.max(0,n.blips[t]-.025)}!function(e,t,n,r,i){e.clearRect(0,0,GK,KK),e.beginPath(),e.arc(qK,XK,JK,0,2*Math.PI),e.fillStyle="#030309",e.fill();for(const[s,a,c]of[[QK,.06,.5],[ZK,.06,.5],[JK,.2,1]])e.beginPath(),e.arc(qK,XK,s,0,2*Math.PI),e.strokeStyle=`rgba(232,184,75,${a})`,e.lineWidth=c,e.stroke();e.strokeStyle="rgba(232,184,75,0.05)",e.lineWidth=.5;for(const s of[0,Math.PI/2,Math.PI/4,3*Math.PI/4])e.beginPath(),e.moveTo(qK-JK*Math.cos(s),XK-JK*Math.sin(s)),e.lineTo(qK+JK*Math.cos(s),XK+JK*Math.sin(s)),e.stroke();e.save(),e.beginPath(),e.arc(qK,XK,JK,0,2*Math.PI),e.clip();const o=.55*Math.PI,l=30;for(let s=0;s<l;s++){const t=s/l,r=n-o+o*(s/l),i=n-o+o*((s+1)/l);e.beginPath(),e.moveTo(qK,XK),e.arc(qK,XK,JK,r,i),e.closePath(),e.fillStyle=`rgba(232,184,75,${(t*t*.14).toFixed(3)})`,e.fill()}e.restore(),e.beginPath(),e.moveTo(qK,XK),e.lineTo(qK+JK*Math.cos(n),XK+JK*Math.sin(n)),e.strokeStyle="rgba(232,184,75,0.80)",e.lineWidth=1.2,e.stroke(),e.beginPath(),e.arc(qK,XK,JK,0,2*Math.PI),e.strokeStyle="rgba(232,184,75,0.20)",e.lineWidth=1,e.stroke();for(let s=0;s<t.length;s++){const n=t[s],o=rq(n,s),l=iq(n),a=qK+l*JK*Math.cos(o),c=XK+l*JK*Math.sin(o),d=r[s]||0,[u,h,p]=tq(YK(n.origin)),f=.55+.45*d;d>.05&&(e.beginPath(),e.arc(a,c,4+10*d,0,2*Math.PI),e.strokeStyle=`rgba(${u},${h},${p},${(.6*d).toFixed(3)})`,e.lineWidth=1,e.stroke(),e.beginPath(),e.arc(a,c,8+16*d,0,2*Math.PI),e.strokeStyle=`rgba(${u},${h},${p},${(.2*d).toFixed(3)})`,e.stroke());const g=e.createRadialGradient(a,c,0,a,c,11);g.addColorStop(0,`rgba(${u},${h},${p},${(.7*f).toFixed(3)})`),g.addColorStop(1,`rgba(${u},${h},${p},0)`),e.beginPath(),e.arc(a,c,11,0,2*Math.PI),e.fillStyle=g,e.fill(),e.beginPath(),e.arc(a,c,2.5,0,2*Math.PI),e.fillStyle=`rgba(${u},${h},${p},${Math.min(1,f+.2).toFixed(3)})`,e.fill(),i&&i.has(n.id)&&(e.font="bold 6px monospace",e.fillStyle="#FFD875",e.textAlign="center",e.textBaseline="alphabetic",e.fillText("APEX",a,c-12))}e.beginPath(),e.arc(qK,XK,7,0,2*Math.PI),e.fillStyle="rgba(255,255,255,0.07)",e.fill(),e.beginPath(),e.arc(qK,XK,3,0,2*Math.PI),e.fillStyle="#FFF",e.fill()}(t,i||[],n.sweep,n.blips,l),n.raf=requestAnimationFrame(r)};return n.raf=requestAnimationFrame(r),()=>{l.current.raf&&cancelAnimationFrame(l.current.raf)}},[]),(0,Hg.jsx)("canvas",{ref:o,width:GK,height:KK,style:{display:"block"}})}function rq(e,t){return("above"===e.side?-Math.PI/2:Math.PI/2)+function(e){let t=0;for(let n=0;n<(e||"").length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return.8*(t%1e3/1e3-.5)}(e.id||`idx${t}`)}function iq(e){var t;return 1-Math.max(0,Math.min(1,null!==(t=e.proximity)&&void 0!==t?t:0))}function oq(e,t){const n=function(e,t){return("above"===e.side?-Math.PI/2:Math.PI/2)+function(e){let t=0;for(let n=0;n<(e||"").length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return.8*(t%1e3/1e3-.5)}(e.id||`idx${t}`)}(e,t),r=function(e){var t;return 1-Math.max(0,Math.min(1,null!==(t=e.proximity)&&void 0!==t?t:0))}(e);return{x:77+72*r*Math.cos(n),y:77+72*r*Math.sin(n)}}function lq(e){let{card:n}=e;const{symbol:r,priceNow:i,score:o,level:l,contributors:s}=n,a=(s||[]).slice(0,8),c=(0,t.useMemo)(()=>function(e){const t=new Set;for(let n=0;n<e.length;n++)for(let r=n+1;r<e.length;r++){const i=oq(e[n],n),o=oq(e[r],r),l=i.x-o.x,s=i.y-o.y;Math.sqrt(l*l+s*s)<10&&(t.add(e[n].id),t.add(e[r].id))}return t}(a),[a]),d="high"===l?nK:"med"===l?rK:"low"===l?iK:tK,u="high"===l?fK:"med"===l?gK:mK;return(0,Hg.jsxs)("div",{className:`${eK} ${d}`,children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,Hg.jsx)("div",{className:cK,style:{fontFamily:"monospace",fontSize:13,fontWeight:700,letterSpacing:2},children:r}),(0,Hg.jsx)("div",{className:`${yK} ${u}`,children:o})]}),(0,Hg.jsx)("div",{className:sK,style:{fontFamily:"monospace",fontSize:9,marginTop:2},children:null!=i?sq(i,r):"\u2014"}),(0,Hg.jsxs)("div",{className:FK,children:[(0,Hg.jsx)("div",{className:DK,children:0===a.length?(0,Hg.jsx)("div",{className:sK,style:{fontStyle:"italic"},children:"(no elements in range)"}):a.map(e=>(0,Hg.jsxs)("div",{className:LK,children:[(0,Hg.jsx)("span",{className:IK,style:{background:YK(e.origin)}}),(0,Hg.jsx)("span",{className:RK,children:e.label}),c.has(e.id)&&(0,Hg.jsx)("span",{className:NK,children:"APEX"}),(0,Hg.jsxs)("span",{className:zK,children:[Math.round(e.distPips),"p"]})]},e.id))}),(0,Hg.jsx)(nq,{contributors:a,tier:l,apexIds:c})]})]})}function sq(e,t){return null!==t&&void 0!==t&&t.endsWith("JPY")?e.toFixed(3):/^[A-Z]{6}$/.test(t)?e.toFixed(5):"BTCUSD"===t?e.toFixed(0):e.toFixed(2)}function aq(e){let{alerts:t}=e;return t&&0!==t.length?(0,Hg.jsxs)("div",{className:bK,children:[(0,Hg.jsx)("div",{className:wK,children:"Near Impact Alerts"}),(0,Hg.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:t.map(e=>{var t;const n="high"===e.level?SK:jK;return(0,Hg.jsxs)("div",{className:n,style:{display:"flex",alignItems:"center",gap:12},children:[(0,Hg.jsx)("span",{className:kK,children:e.symbol}),(0,Hg.jsx)("span",{className:_K,children:e.text}),(0,Hg.jsx)("span",{style:{marginLeft:"auto",display:"flex",gap:4},children:null===(t=e.contributors)||void 0===t?void 0:t.slice(0,2).map(e=>{const t=YK(e.origin);return(0,Hg.jsx)("span",{className:vK,style:{color:t,borderColor:t+"44",background:t+"1A"},children:(n=e.origin,VK[n]||n)},e.id);var n})})]},e.symbol)})})]}):null}function cq(e){let{counts:n,lastCalcAt:r,onRecalc:i,calculating:o,onEditWatchlist:l}=e;const[s,a]=(0,t.useState)(Date.now());(0,t.useEffect)(()=>{const e=setInterval(()=>a(Date.now()),1e3);return()=>clearInterval(e)},[]);const c=r?function(e){e<0&&(e=0);const t=Math.floor(e/1e3),n=Math.floor(t/60),r=(t%60).toString().padStart(2,"0");return`${n.toString().padStart(2,"0")}:${r}`}(s-new Date(r).getTime()):"\u2014";return(0,Hg.jsxs)("div",{className:EK,children:[(0,Hg.jsxs)("span",{children:[(0,Hg.jsx)("span",{className:CK,children:"Scanned"}),(0,Hg.jsx)("span",{className:TK,children:n.scanned})]}),(0,Hg.jsx)("div",{className:OK}),(0,Hg.jsxs)("span",{children:[(0,Hg.jsx)("span",{className:CK,children:"Impact"}),(0,Hg.jsx)("span",{className:`${TK} ${MK}`,children:n.impact})]}),(0,Hg.jsx)("div",{className:OK}),(0,Hg.jsxs)("span",{children:[(0,Hg.jsx)("span",{className:CK,children:"Elevated"}),(0,Hg.jsx)("span",{className:TK,children:n.elevated})]}),(0,Hg.jsx)("div",{className:OK}),(0,Hg.jsxs)("span",{children:[(0,Hg.jsx)("span",{className:CK,children:"Quiet"}),(0,Hg.jsx)("span",{className:TK,children:n.quiet})]}),(0,Hg.jsx)("div",{className:OK}),(0,Hg.jsxs)("span",{children:[(0,Hg.jsx)("span",{className:CK,children:"Last calc"}),(0,Hg.jsx)("span",{className:TK,children:c})]}),(0,Hg.jsxs)("span",{style:{marginLeft:"auto",display:"flex",gap:8},children:[(0,Hg.jsx)("button",{onClick:l,style:dq,children:"Edit watchlist"}),(0,Hg.jsx)("button",{onClick:i,disabled:o,style:dq,children:o?"\u2026":"Recalculate"})]})]})}const dq={background:"transparent",border:"1px solid #4A3C28",color:"#E8B84B",padding:"3px 10px",font:"8px monospace",letterSpacing:2,textTransform:"uppercase",cursor:"pointer",borderRadius:3};function uq(e){let{ageMs:t,onRecalc:n,calculating:r}=e;const i=Math.floor(t/6e4);return(0,Hg.jsxs)("div",{className:AK,children:[(0,Hg.jsxs)("span",{children:["Snapshot is stale (",i," min old)"]}),(0,Hg.jsx)("button",{onClick:n,disabled:r,style:{background:"transparent",color:"#E8B84B",border:"1px solid #E8B84B",padding:"3px 10px",fontSize:9,letterSpacing:2,cursor:"pointer",textTransform:"uppercase",borderRadius:3,fontFamily:"monospace"},children:r?"Calculating\u2026":"Recalculate"})]})}class hq extends t.Component{constructor(e){super(e),this.reset=()=>this.setState({error:null}),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error("PulseRoom render error:",e,t)}render(){var e,t;return this.state.error?(0,Hg.jsxs)("div",{style:{padding:40,fontFamily:"monospace",color:"#E04040",background:"#06060E",minHeight:600},children:[(0,Hg.jsx)("div",{style:{fontSize:13,fontWeight:700,marginBottom:12,letterSpacing:2,textTransform:"uppercase"},children:"Pulse Room \u2014 render error"}),(0,Hg.jsx)("div",{style:{fontSize:11,color:"#E8B84B",marginBottom:16},children:String((null===(e=this.state.error)||void 0===e?void 0:e.message)||this.state.error)}),(0,Hg.jsx)("pre",{style:{fontSize:10,color:"#9A7830",whiteSpace:"pre-wrap",marginBottom:16},children:(null===(t=this.state.error)||void 0===t?void 0:t.stack)||""}),(0,Hg.jsx)("button",{onClick:this.reset,style:{padding:"6px 12px",background:"transparent",color:"#E8B84B",border:"1px solid #E8B84B",cursor:"pointer",letterSpacing:2,fontFamily:"monospace",fontSize:10,textTransform:"uppercase"},children:"Try again"})]}):this.props.children}}function pq(e){var n,r;let{prices:i}=e;const{state:o,refresh:l,setScanner:s,setWatchlist:a,calculate:c}=YG(),[d,u]=(0,t.useState)(!1),{snapshot:h,scannerEnabled:p,snapshotMeta:f,calculating:g,calculateError:m}=o,y=(0,t.useMemo)(()=>{var e;if(!h||!h.assets)return[];if(!p)return Object.entries(h.assets).map(e=>{var t;let[n,r]=e;return{symbol:n,score:0,level:"low",contributors:[],priceNow:null!==(t=null===i||void 0===i?void 0:i[n])&&void 0!==t?t:null}});const t=[],n=null!==(e=h.threshold_sd)&&void 0!==e?e:.5;for(const[r,o]of Object.entries(h.assets)){const e=null===i||void 0===i?void 0:i[r];if(!e){t.push({symbol:r,score:0,level:"low",contributors:[],priceNow:null});continue}const l=JG(o,e,n);t.push({symbol:r,priceNow:e,score:l.score,level:l.level,contributors:l.contributors,nActive:l.nActive})}return t.sort((e,t)=>t.score-e.score),t},[h,i,p]),v=y.slice(0,6),x=(0,t.useMemo)(()=>{const e={scanned:y.length,impact:0,elevated:0,quiet:0};for(const t of y)"high"===t.level?e.impact++:"med"===t.level?e.elevated++:e.quiet++;return e},[y]),b=(0,t.useMemo)(()=>y.filter(e=>e.score>=40&&e.contributors.length>0).slice(0,6).map(e=>({symbol:e.symbol,text:QG(e.contributors),contributors:e.contributors.slice(0,3),level:e.level})).filter(e=>e.text),[y]),w=(0,t.useMemo)(()=>{if(null===f||void 0===f||!f.exists)return!1;if(h&&o.watchlist&&!p&&h.watchlist_hash&&f.computed_at){return Date.now()-new Date(f.computed_at).getTime()>18e5}return!1},[f,h,p,o.watchlist]),S=!(null!==(n=o.watchlist)&&void 0!==n&&null!==(r=n.assets)&&void 0!==r&&r.length);return(0,Hg.jsxs)("div",{className:ZG,style:{position:"relative",minHeight:600},children:[(0,Hg.jsxs)("div",{className:dK,children:[(0,Hg.jsx)("div",{className:oK,children:"MK Terminal"}),(0,Hg.jsx)("div",{className:lK,children:"Pulse Room"}),(0,Hg.jsx)($K,{enabled:p,onChange:s})]}),w&&(0,Hg.jsx)(uq,{ageMs:Date.now()-new Date(f.computed_at).getTime(),onRecalc:c,calculating:g}),S&&!d&&(0,Hg.jsxs)("div",{style:{padding:40,textAlign:"center"},children:[(0,Hg.jsx)("div",{className:aK,style:{marginBottom:12},children:"Configure your Pulse watchlist to begin."}),(0,Hg.jsx)("button",{onClick:()=>u(!0),style:{padding:"8px 16px",background:"#1a1a2e",color:"#E8B84B",border:"1px solid #E8B84B",cursor:"pointer",letterSpacing:2,fontFamily:"monospace",fontSize:11},children:"Configure watchlist"})]}),!S&&!(null!==f&&void 0!==f&&f.exists)&&!d&&(0,Hg.jsxs)("div",{style:{padding:40,textAlign:"center"},children:[(0,Hg.jsx)("div",{className:aK,style:{marginBottom:12},children:"Press Calculate to build your pulse data."}),(0,Hg.jsx)("button",{onClick:c,disabled:g,style:{padding:"8px 16px",background:"#1a1a2e",color:"#E8B84B",border:"1px solid #E8B84B",cursor:g?"wait":"pointer",letterSpacing:2,fontFamily:"monospace",fontSize:11},children:g?"Calculating\u2026":"Calculate"}),m&&(0,Hg.jsx)("div",{style:{marginTop:12,color:"#E04040",fontSize:11},children:m})]}),(null===f||void 0===f?void 0:f.exists)&&!d&&0===v.length&&(0,Hg.jsxs)("div",{style:{padding:40,textAlign:"center"},children:[(0,Hg.jsx)("div",{className:aK,style:{marginBottom:12},children:"Snapshot built, but no assets matched your watchlist's data files."}),(0,Hg.jsx)("div",{className:sK,style:{fontSize:10,marginBottom:16},children:"Some assets may be missing from the local cache. Try a different watchlist selection, or wait for the next data sync."}),(0,Hg.jsx)("button",{onClick:()=>u(!0),style:{padding:"8px 16px",background:"#1a1a2e",color:"#E8B84B",border:"1px solid #E8B84B",cursor:"pointer",letterSpacing:2,fontFamily:"monospace",fontSize:11},children:"Edit watchlist"})]}),(null===f||void 0===f?void 0:f.exists)&&!d&&v.length>0&&(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("div",{className:xK,children:v.map(e=>(0,Hg.jsx)(lq,{card:e},e.symbol))}),(0,Hg.jsx)(aq,{alerts:b}),(0,Hg.jsx)(cq,{counts:x,lastCalcAt:f.computed_at,onRecalc:c,calculating:g,onEditWatchlist:()=>u(!0)})]}),d&&(0,Hg.jsx)(BK,{watchlist:o.watchlist,onSave:async e=>{await a(e),u(!1)},onCancel:()=>u(!1)}),g&&(0,Hg.jsx)("div",{className:PK,children:"Calculating\u2026"}),o.error&&(0,Hg.jsx)("div",{style:{position:"absolute",bottom:12,right:12,background:"#400",color:"#FBB",padding:"6px 12px",fontSize:11,fontFamily:"monospace",borderRadius:3},children:o.error})]})}function fq(e){return(0,Hg.jsx)(hq,{children:(0,Hg.jsx)(pq,{...e})})}const gq={...cx,buy:"#00c853",buySoft:"rgba(0,200,83,0.12)",buyBorder:"rgba(0,200,83,0.40)",sell:"#f44336",sellSoft:"rgba(244,67,54,0.12)",sellBorder:"rgba(244,67,54,0.40)",warn:"#ffab00",warnSoft:"rgba(255,171,0,0.12)",warnBorder:"rgba(255,171,0,0.40)",info:"#38bdf8",infoSoft:"rgba(56,189,248,0.12)",neutralDim:"#6b7280",panelGrad:"linear-gradient(180deg, #131922 0%, #11161e 100%)"};function mq(e){let{value:t,onChange:n}=e;return(0,Hg.jsx)("div",{style:{display:"inline-flex",background:"#161c26",border:`1px solid ${gq.border}`,borderRadius:6,padding:2,fontFamily:dx},role:"tablist","aria-label":"cockpit-horizon",children:[{id:"intraday",label:"Intraday"},{id:"swing",label:"Swing"}].map(e=>{const r=t===e.id;return(0,Hg.jsx)("button",{type:"button",role:"tab","aria-selected":r,onClick:()=>n(e.id),style:{border:0,padding:"5px 14px",cursor:"pointer",background:r?gq.info:"transparent",color:r?"#061018":gq.muted,fontFamily:dx,fontSize:11,fontWeight:600,letterSpacing:"0.4px",textTransform:"uppercase",borderRadius:4},children:e.label},e.id)})})}const yq={STRONG_VANNA_BUY:20,VANNA_BUY:10,VANNA_BALANCED:0,VANNA_SELL:-10,STRONG_VANNA_SELL:-20};function vq(e){return"STRONG_VANNA_BUY"===e||"VANNA_BUY"===e?1:"STRONG_VANNA_SELL"===e||"VANNA_SELL"===e?-1:0}function xq(e){var t,n,r,i,o;if(!e||"object"!==typeof e)return null;const l=e.vanna_charm||{},s=null===(t=e.sauce)||void 0===t||null===(n=t.market_entropy)||void 0===n?void 0:n.state,a=(null===(r=e.sauce)||void 0===r?void 0:r.retail_trap)||{},c=null===(i=e.iv_divergence)||void 0===i?void 0:i.signal,d=null!==(o=yq[l.verdict])&&void 0!==o?o:0,u="ORDERED"===s?6:0;let h=0;if("TRAP_ACTIVE"===a.status){const e=vq(l.verdict),t="CROWDED_LONG"===a.retail_positioning,n="CROWDED_SHORT"===a.retail_positioning;e>0&&t&&(h=-8),e<0&&n&&(h=-8)}let p=0;const f=vq(l.verdict);f>0&&("BREAKOUT_FAVORED"===c||"SLIGHTLY_CHEAP"===c)&&(p=3),f<0&&("FADE_FAVORED"===c||"SLIGHTLY_RICH"===c)&&(p=3);const g=d+u+h+p;return 0===g?0:Math.max(0,Math.min(100,2*Math.abs(g)))}function bq(e){let{score:t}=e;if("number"!==typeof t)return(0,Hg.jsx)("span",{style:{color:gq.dim},children:"\u2014"});const n=Math.max(0,Math.min(5,Math.round(t/20)));return(0,Hg.jsx)("span",{style:{letterSpacing:"1px",color:gq.dim},children:Array.from({length:5}).map((e,t)=>(0,Hg.jsx)("span",{style:{color:t<n?gq.buy:gq.dim},children:"\u25cf"},t))})}function wq(e){var t;if(!e)return(0,Hg.jsx)("span",{style:{color:gq.dim},children:"\u2014"});const n=null===(t=e.sauce)||void 0===t?void 0:t.retail_trap;return"TRAP_ACTIVE"===(null===n||void 0===n?void 0:n.status)?(0,Hg.jsxs)("span",{style:{padding:"1px 7px",borderRadius:3,fontSize:11,fontWeight:600,background:gq.warnSoft,color:gq.warn,border:`1px solid ${gq.warnBorder}`},children:["WAIT \xb7 TRAP_ACTIVE ",n.retail_positioning||""]}):(0,Hg.jsx)("span",{style:{color:gq.textSoft,fontSize:11},children:"see cockpit"})}function Sq(e){var t,n;if(!e)return"\u2014";const r=null===(t=e.iv_skew)||void 0===t?void 0:t.expiry_class,i=null===(n=e.iv_skew)||void 0===n?void 0:n.expiry_dte,o=!!e.iv_skew_0dte;return!o||0!==i&&"0dte"!==r?"front_non_0dte"===r?`Front \xb7 ${i}DTE${o?" (+0DTE)":""}`:"number"===typeof i?`${i}DTE`:"Front":"Front \xb7 0DTE"}function jq(e){let{universe:t,selectedAsset:n,onSelect:r,onRefresh:i,mode:o}=e;const l=(t||[]).map(e=>({...e,score:xq(e.payload)})).sort((e,t)=>{var n,r;return(null!==(n=t.score)&&void 0!==n?n:-1)-(null!==(r=e.score)&&void 0!==r?r:-1)});return(0,Hg.jsxs)("div",{style:{borderBottom:`1px solid ${gq.border}`,background:gq.bgCard,fontFamily:dx},children:[(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"90px 80px 1fr 110px 170px 70px 30px",gap:14,padding:"8px 18px",fontSize:10,color:gq.dim,letterSpacing:"0.8px",textTransform:"uppercase",borderBottom:`1px solid ${gq.border}`,alignItems:"center"},children:[(0,Hg.jsx)("span",{children:"Ticker"}),(0,Hg.jsx)("span",{children:"Strength"}),(0,Hg.jsx)("span",{children:"Setups"}),(0,Hg.jsx)("span",{children:"Score"}),(0,Hg.jsx)("span",{children:"Horizon \xb7 Expiry"}),(0,Hg.jsx)("span",{children:"Fresh"}),(0,Hg.jsx)("span",{style:{textAlign:"right"},children:i&&(0,Hg.jsx)("button",{onClick:i,style:{background:"transparent",border:`1px solid ${gq.border}`,color:gq.muted,borderRadius:3,padding:"2px 6px",cursor:"pointer",fontSize:10},title:"Refresh universe",children:"\u21bb"})})]}),0===l.length&&(0,Hg.jsx)("div",{style:{padding:18,color:gq.muted,fontSize:12},children:"Loading universe\u2026"}),l.map(e=>{var t;const i=e.ticker===n,o=function(e){if(!e)return{label:"\u2014",color:gq.muted};const t="string"===typeof e?Date.parse(e):Number(e);if(!isFinite(t))return{label:"\u2014",color:gq.muted};const n=Math.round((Date.now()-t)/6e4),r=`${n}m`;return n<5?{label:r,color:gq.buy}:n<15?{label:r,color:gq.warn}:{label:r,color:gq.sell}}(null===(t=e.payload)||void 0===t?void 0:t.cached_at);return(0,Hg.jsxs)("div",{onClick:()=>r(e.ticker),style:{display:"grid",gridTemplateColumns:"90px 80px 1fr 110px 170px 70px 30px",alignItems:"center",gap:14,padding:"8px 18px",cursor:"pointer",background:i?"#182232":"transparent",boxShadow:i?`inset 3px 0 0 ${gq.info}`:"none",borderBottom:"1px solid #131a24",height:36,transition:"background 120ms"},children:[(0,Hg.jsx)("span",{style:{fontWeight:700,color:gq.text,letterSpacing:"0.5px"},children:e.ticker}),(0,Hg.jsx)(bq,{score:e.score}),(0,Hg.jsx)("span",{children:wq(e.payload)}),(0,Hg.jsx)("span",{style:{color:gq.text,fontVariantNumeric:"tabular-nums",fontSize:12},children:"number"===typeof e.score?`${e.score.toFixed(0)}`:"\u2014"}),(0,Hg.jsx)("span",{style:{color:gq.muted,fontSize:11},children:Sq(e.payload)}),(0,Hg.jsx)("span",{style:{color:o.color,fontSize:11},children:o.label}),(0,Hg.jsx)("span",{style:{textAlign:"right",color:i?gq.info:gq.dim,fontSize:11},children:"\u25b6"})]},e.ticker)})]})}const kq=["vanna_charm","iv_skew","iv_skew_0dte","dealer_scenarios","market_entropy","retail_trap","iv_divergence","pc_ratio","charm_0dte"],_q={vanna_charm:e=>{var t;const n=null===(t=e.vanna_charm)||void 0===t?void 0:t.verdict;return"STRONG_VANNA_BUY"===n||"VANNA_BUY"===n?1:"STRONG_VANNA_SELL"===n||"VANNA_SELL"===n?-1:0},iv_skew:e=>{var t;const n=null===(t=e.iv_skew)||void 0===t?void 0:t.skew;return"number"!==typeof n?0:n<-.005?1:n>.02?-1:0},iv_skew_0dte:e=>{var t;const n=null===(t=e.iv_skew_0dte)||void 0===t?void 0:t.skew;return"number"!==typeof n?0:n<-.003?1:n>.01?-1:0},dealer_scenarios:e=>{var t,n;const r=null===(t=e.sauce)||void 0===t||null===(n=t.dealer_scenarios)||void 0===n?void 0:n.spring_direction;return"UPSIDE"===r?1:"DOWNSIDE"===r?-1:0},market_entropy:()=>0,retail_trap:e=>{var t;const n=null===(t=e.sauce)||void 0===t?void 0:t.retail_trap;return n&&"TRAP_ACTIVE"===n.status?"CROWDED_LONG"===n.retail_positioning?-1:"CROWDED_SHORT"===n.retail_positioning?1:0:0},iv_divergence:e=>{var t;const n=null===(t=e.iv_divergence)||void 0===t?void 0:t.signal;return"BREAKOUT_FAVORED"===n||"SLIGHTLY_CHEAP"===n?1:"FADE_FAVORED"===n||"SLIGHTLY_RICH"===n?-1:0},pc_ratio:()=>0,charm_0dte:e=>{const t=e.charm_0dte;return t?"BUY"===t.direction?1:"SELL"===t.direction?-1:0:0}};function Eq(e){var t,n;if(!e||"object"!==typeof e)return null;const r=null!==(t=null===(n=e.vanna_charm)||void 0===n?void 0:n.combined_pressure)&&void 0!==t?t:0,i=r<-1?"BUY":r>1?"SELL":"FLAT",o="BUY"===i?1:"SELL"===i?-1:0,l=kq.map(t=>{const n=_q[t],r=n?n(e):0;let i="neutral";return 0!==o&&0!==r&&(i=r===o?"aligned":"dissenting"),{name:t,direction:r,state:i}}),s=l.reduce((e,t)=>(e[t.state]=(e[t.state]||0)+1,e),{});return{composite:i,aligned:s.aligned||0,dissenting:s.dissenting||0,neutral:s.neutral||0,signals:l}}const Cq={vanna_charm:"Vanna",iv_skew:"Skew",iv_skew_0dte:"Skew 0DTE",dealer_scenarios:"Scenarios",market_entropy:"Entropy",retail_trap:"Retail Trap",iv_divergence:"IV / RV",pc_ratio:"P/C",charm_0dte:"Charm 0DTE"};function Tq(e){var t;let{ticker:n,mode:r,payload:i}=e;const o=null===i||void 0===i?void 0:i.spot,l=null===i||void 0===i||null===(t=i.iv_skew)||void 0===t?void 0:t.expiry_dte,s=!(null===i||void 0===i||!i.charm_0dte)||!(null===i||void 0===i||!i.iv_skew_0dte),a=Eq(i),c=(null===a||void 0===a?void 0:a.composite)||"FLAT",d="BUY"===c?gq.buy:"SELL"===c?gq.sell:gq.muted,u="BUY"===c?gq.buySoft:"SELL"===c?gq.sellSoft:"rgba(255,255,255,0.04)",h=(null===a||void 0===a?void 0:a.signals.filter(e=>"aligned"===e.state))||[],p=(null===a||void 0===a?void 0:a.signals.filter(e=>"dissenting"===e.state))||[];return(0,Hg.jsxs)("div",{style:{background:gq.bgCard,border:`1px solid ${gq.border}`,borderRadius:8,overflow:"hidden",fontFamily:dx},children:[(0,Hg.jsxs)("div",{style:{padding:"10px 14px",borderBottom:`1px solid ${gq.border}`,fontSize:11,color:gq.muted,letterSpacing:"0.8px",textTransform:"uppercase",display:"flex",justifyContent:"space-between",alignItems:"center",gap:8},children:[(0,Hg.jsx)("span",{children:"Composite Trade Card"}),(0,Hg.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:8,textTransform:"none"},children:[(0,Hg.jsx)(cb,{tooltip:"Calibrating \u2014 local composite stand-in (BUY/SELL/FLAT direction from sign of vanna_charm.combined_pressure). Real composite_verdict with entry/stop/targets/conviction is PENDING DC ship per msg #122 design contract."}),(0,Hg.jsx)("span",{style:{color:gq.dim,fontSize:11},children:"local composite \xb7 DC composite_verdict pending"})]})]}),(0,Hg.jsxs)("div",{style:{padding:18,display:"flex",flexDirection:"column",gap:12},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:14,flexWrap:"wrap"},children:[(0,Hg.jsx)("div",{style:{fontSize:22,fontWeight:700,color:gq.text,letterSpacing:1},children:n||"\u2014"}),(0,Hg.jsxs)("div",{style:{color:gq.muted,fontSize:12},children:["spot ",(0,Hg.jsx)("strong",{style:{color:gq.text},children:"number"===typeof o?o.toFixed(2):"\u2014"})]}),(0,Hg.jsx)("div",{style:{padding:"2px 8px",border:`1px solid ${gq.border}`,borderRadius:10,color:gq.text,fontSize:11,textTransform:"uppercase"},children:r}),"number"===typeof l&&(0,Hg.jsxs)("div",{style:{padding:"2px 8px",border:`1px solid ${gq.border}`,borderRadius:10,color:gq.text,fontSize:11},children:["Front \xb7 ",l,"DTE",s?" (+0DTE)":""]})]}),a&&(0,Hg.jsxs)("div",{style:{padding:"14px 16px",borderRadius:6,background:u,border:`1px solid ${d}33`,borderLeft:`4px solid ${d}`},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:12,marginBottom:8},children:[(0,Hg.jsx)("div",{style:{fontSize:28,fontWeight:800,color:d,letterSpacing:"1.5px",lineHeight:1},children:c}),(0,Hg.jsxs)("div",{style:{fontSize:11,color:gq.muted,letterSpacing:"0.5px"},children:["composite read \xb7 ",a.aligned,"/9 aligned \xb7 ",a.dissenting," dissent \xb7 ",a.neutral," neutral"]})]}),(h.length>0||p.length>0)&&(0,Hg.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6,fontSize:11,color:gq.textSoft},children:[h.length>0&&(0,Hg.jsxs)("div",{children:[(0,Hg.jsx)("span",{style:{color:gq.buy,fontWeight:600,marginRight:6},children:"\u2713 Aligned:"}),h.map(e=>Cq[e.name]||e.name).join(" \xb7 ")]}),p.length>0&&(0,Hg.jsxs)("div",{children:[(0,Hg.jsx)("span",{style:{color:gq.sell,fontWeight:600,marginRight:6},children:"\u2715 Dissents:"}),p.map(e=>Cq[e.name]||e.name).join(" \xb7 ")]})]})]}),(0,Hg.jsxs)("div",{style:{fontSize:10,color:gq.dim,fontStyle:"italic",letterSpacing:"0.3px",lineHeight:1.5},children:["\u25c6 The full multi-setup card (entry / stop / targets / per-setup conviction) renders here when DC ships",(0,Hg.jsxs)("code",{style:{color:gq.muted},children:[" composite_verdict.",r]}),". Until then, the local composite above is derived from the sign of vanna_charm.combined_pressure cross-checked against the 9 signals (see Cross-signal agreement panel for per-signal detail)."]})]})]})}function Mq(e){let{series:t,width:n=120,height:r=24,color:i="#8b949e",strokeWidth:o=1.6}=e;const l=function(e,t,n){if(!Array.isArray(e)||e.length<2)return null;let r=1/0,i=-1/0;for(const a of e)"number"===typeof a&&isFinite(a)&&(a<r&&(r=a),a>i&&(i=a));if(r===1/0)return null;const o=i-r,l=e.length,s=[];for(let a=0;a<l;a++){const i=a/(l-1)*t;let c;if(0===o)c=n/2;else{const t=.1*n;c=n-t-(e[a]-r)/o*(n-2*t)}s.push(`${i},${c}`)}return s.join(" ")}(t,n,r);return l?(0,Hg.jsx)("svg",{width:n,height:r,"aria-hidden":!0,children:(0,Hg.jsx)("polyline",{fill:"none",stroke:i,strokeWidth:o,points:l})}):(0,Hg.jsx)("svg",{width:n,height:r,"aria-hidden":!0,children:(0,Hg.jsx)("line",{x1:"0",y1:r/2,x2:n,y2:r/2,stroke:i,strokeWidth:1,strokeDasharray:"2,2",opacity:"0.4"})})}function Oq(e){let{children:t}=e;const n=(r=String(t||""))?r.includes("BUY")?{bg:gq.buySoft,fg:gq.buy}:r.includes("SELL")?{bg:gq.sellSoft,fg:gq.sell}:r.includes("TRAP")||r.includes("WARN")||r.includes("CHAOTIC")||r.includes("HEAVY")?{bg:gq.warnSoft,fg:gq.warn}:r.includes("ORDERED")||r.includes("CHEAP")||r.includes("BREAKOUT")?{bg:gq.buySoft,fg:gq.buy}:r.includes("FADE")||r.includes("RICH")?{bg:gq.sellSoft,fg:gq.sell}:{bg:gq.infoSoft,fg:gq.info}:{bg:"rgba(255,255,255,0.05)",fg:gq.muted};var r;return(0,Hg.jsx)("span",{style:{padding:"2px 7px",borderRadius:3,fontSize:11,fontWeight:600,letterSpacing:"0.3px",background:n.bg,color:n.fg},children:t})}const Aq=[0,0,0,0,0,0,0,0];function Pq(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8;if(!Array.isArray(e))return null;const n=e.map(e=>null===e||void 0===e?void 0:e.v).filter(e=>Number.isFinite(e));return n.length<2?null:n.slice(-t)}function Iq(e){var t,n,r,i,o;let{payload:l}=e;if(!l)return(0,Hg.jsx)("div",{style:{padding:20,color:gq.muted,fontFamily:dx,fontSize:12},children:"No options data."});const s=l.vanna_charm||{},a=l.iv_skew||{},c=l.iv_skew_0dte,d=(null===(t=l.sauce)||void 0===t?void 0:t.dealer_scenarios)||{},u=(null===(n=l.sauce)||void 0===n?void 0:n.market_entropy)||{},h=(null===(r=l.sauce)||void 0===r?void 0:r.retail_trap)||{},p=l.iv_divergence||{},f=l.pc_ratio||{},g=l.expected_move_0dte,m=l.charm_0dte,y=Pq(s.vanna_pct_history),v=Pq(d.asymmetry_ratio_history),x=Pq(a.skew_pct_history),b=Pq(null===c||void 0===c?void 0:c.skew_pct_history),w=Pq(p.divergence_history),S=Pq(h.retail_crowding_score_history),j=Pq(f.oi_ratio_history),k=Pq(null===m||void 0===m?void 0:m.net_history),_=Pq(null===g||void 0===g?void 0:g.straddle_history),E=(y?1:0)+(v?1:0)+(x?1:0)+(b?1:0)+(w?1:0)+(S?1:0)+(j?1:0)+(k?1:0)+(_?1:0),C=[{name:"Vanna Pressure",sub:"bs_greeks OI-weighted \xb7 vanna_pct cutoffs \xb15/\xb125 (provisional)",now:"number"===typeof s.combined_pressure?s.combined_pressure.toFixed(2):"\u2014",verdict:s.verdict?s.verdict.replace(/_/g," "):"\u2014",tone:"buy",series:y||Aq,isLive:!!y,calibrating:{tooltip:"Calibrating \u2014 vanna_pct cutoffs \xb15/\xb125 are PROVISIONAL until DC re-fits against ~30 days of ThetaData history (msg #84). Verdict classification (STRONG_VANNA_BUY / VANNA_BUY / VANNA_BALANCED / VANNA_SELL / STRONG_VANNA_SELL) may shift."}},{name:"IV Skew (front non-0DTE)",sub:`put25 \u2212 call25 \xb7 ${a.expiry_class||"\u2014"}${"number"===typeof a.expiry_dte?` \xb7 ${a.expiry_dte}DTE`:""}`,now:"number"===typeof a.skew?a.skew.toFixed(4):"\u2014",verdict:"number"===typeof a.skew_pct?`skew ${a.skew_pct.toFixed(1)}%`:"\u2014",tone:a.skew<0?"buy":a.skew>.02?"sell":"neutral",series:x||Aq,isLive:!!x},{name:"IV Skew 0DTE",sub:c?"today only \xb7 \xb10.5% near-ATM wings \xb7 velocity not yet computed":"no 0DTE expiry",now:c&&"number"===typeof c.skew?c.skew.toFixed(4):"\u2014",verdict:c?"shipped \xb7 experimental":"\u2014",tone:c&&c.skew<0?"buy":c&&c.skew>.01?"sell":"neutral",series:b||Aq,isLive:!!b},{name:"Dealer Scenarios",sub:"asymmetry_ratio \xb7 spring_direction \xb7 cuts 1.3 / 0.7",now:"number"===typeof d.asymmetry_ratio?d.asymmetry_ratio.toFixed(2):"\u2014",verdict:d.spring_direction?`SPRING ${d.spring_direction}`:"\u2014",tone:"UPSIDE"===d.spring_direction?"buy":"DOWNSIDE"===d.spring_direction?"sell":"neutral",series:v||Aq,isLive:!!v},(()=>{const e=u.intraday,t=void 0!==e,n=null===e||void 0===e?void 0:e.state,r="number"===typeof(null===e||void 0===e?void 0:e.score)?e.score:null,i=t&&("UNKNOWN"===n||null==r),o="ORDERED"===n?"buy":"CHAOTIC"===n?"warn":"neutral",l=null!=u.entropy&&u.state?` \xb7 v1 legacy: ${u.entropy.toFixed(2)} ${u.state}`:"";return{name:"Market Entropy",sub:t?`v2-hybrid (price-action + options-flow) \xb7 acceptance: calm tape MUST read ORDERED${l}`:"v2 canary not present \u2014 falling back to v1 (calm-tape bug expected)",now:t?i?"\u2014":null===r||void 0===r?void 0:r.toFixed(2):"number"===typeof u.entropy?u.entropy.toFixed(2):"\u2014",verdict:t?n||"\u2014":u.state||"\u2014",tone:t?o:"ORDERED"===u.state?"buy":"CHAOTIC"===u.state?"warn":"neutral",series:Aq,isLive:!1,calibrating:{tooltip:"Calibrating \u2014 entropy v2 in CANARY (validated against ~30 hand-labels at 77.8% accuracy). Live-validation period: compare v2 vs v1 across calm range / news / chop conditions. Cutover to v2-only when MK signs off (DC msg #117)."}}})(),{name:"Retail Trap",sub:"status + crowding direction \xb7 CONTRARIAN",now:"number"===typeof h.retail_crowding_score?h.retail_crowding_score.toFixed(2):"\u2014",verdict:"TRAP_ACTIVE"===h.status?`TRAP_ACTIVE \xb7 ${h.retail_positioning||""}`:h.status||"\u2014",tone:"TRAP_ACTIVE"===h.status?"warn":"neutral",series:S||Aq,isLive:!!S},{name:"IV vs Realized",sub:"iv_atm \u2212 rv30 close-close \xb7 \xb10.02 / \xb10.05 cuts",now:"number"===typeof p.divergence?p.divergence.toFixed(3):"\u2014",verdict:p.signal||"\u2014",tone:(p.signal||"").includes("CHEAP")||(p.signal||"").includes("BREAKOUT")?"buy":(p.signal||"").includes("RICH")||(p.signal||"").includes("FADE")?"sell":"neutral",series:w||Aq,isLive:!!w},{name:"P/C OI Ratio",sub:"cumulative \xb7 cross-check vs Retail Trap",now:"number"===typeof f.oi_ratio?f.oi_ratio.toFixed(2):"\u2014",verdict:f.oi_sentiment||"\u2014",tone:"neutral",series:j||Aq,isLive:!!j},{name:"0-DTE Pin Pressure",sub:m?"today only \xb7 charm_0dte (provisional buckets)":"no 0DTE expiry",now:m&&"number"===typeof m.net?m.net.toExponential(1):"\u2014",verdict:m?`${m.magnitude_bucket} \xb7 ${m.direction}`:"\u2014",tone:m&&"BUY"===m.direction?"buy":m&&"SELL"===m.direction?"sell":"neutral",series:k||Aq,isLive:!!k},{name:"Expected Move (0DTE)",sub:g?"today's straddle \xb7 range boundary":"no 0DTE expiry",now:g&&"number"===typeof g.straddle?`\xb1${g.straddle.toFixed(1)}`:"\u2014",verdict:g&&"number"===typeof g.move_up?`${null===(i=g.move_down)||void 0===i?void 0:i.toFixed(0)} \u2013 ${null===(o=g.move_up)||void 0===o?void 0:o.toFixed(0)}`:"\u2014",tone:"neutral",series:_||Aq,isLive:!!_}];return(0,Hg.jsxs)("div",{style:{background:gq.bgCard,border:`1px solid ${gq.border}`,borderRadius:8,overflow:"hidden",fontFamily:dx},children:[(0,Hg.jsxs)("div",{style:{padding:"10px 14px",borderBottom:`1px solid ${gq.border}`,fontSize:11,color:gq.muted,letterSpacing:"0.8px",textTransform:"uppercase",display:"flex",justifyContent:"space-between"},children:[(0,Hg.jsx)("span",{children:"Signal Stack \xb7 session trajectory"}),(0,Hg.jsx)("span",{style:{color:gq.dim,fontSize:10},children:E>0?`${E} live \xb7 ${C.length-E} flat (entropy v2 pending cutover)`:"sparklines flat \u2014 DC signal_history populating"})]}),(0,Hg.jsxs)("table",{style:{width:"100%",borderCollapse:"collapse"},children:[(0,Hg.jsx)("thead",{children:(0,Hg.jsxs)("tr",{style:{fontSize:10,color:gq.dim,textTransform:"uppercase",letterSpacing:"0.8px"},children:[(0,Hg.jsx)("th",{style:{textAlign:"left",padding:"8px 12px",fontWeight:500,borderBottom:`1px solid ${gq.border}`},children:"Signal"}),(0,Hg.jsx)("th",{style:{textAlign:"left",padding:"8px 12px",fontWeight:500,borderBottom:`1px solid ${gq.border}`,width:90},children:"Now"}),(0,Hg.jsx)("th",{style:{textAlign:"left",padding:"8px 12px",fontWeight:500,borderBottom:`1px solid ${gq.border}`,width:220},children:"Verdict"}),(0,Hg.jsx)("th",{style:{textAlign:"left",padding:"8px 12px",fontWeight:500,borderBottom:`1px solid ${gq.border}`,width:140},children:"Trajectory"})]})}),(0,Hg.jsx)("tbody",{children:C.map((e,t)=>{const n=e.experimental?.6:1;return(0,Hg.jsxs)("tr",{style:{fontSize:12,borderBottom:"1px solid #131a24",opacity:n},children:[(0,Hg.jsxs)("td",{style:{padding:"9px 12px",fontWeight:600,color:gq.text},children:[(0,Hg.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:6,flexWrap:"wrap"},children:[e.name,e.experimental&&(0,Hg.jsx)("span",{style:{fontSize:9,color:gq.warn,fontStyle:"italic",letterSpacing:"0.4px"},children:"\xb7 EXPERIMENTAL"}),e.calibrating&&(0,Hg.jsx)(cb,{tooltip:e.calibrating.tooltip})]}),(0,Hg.jsx)("div",{style:{fontSize:10,color:gq.muted,fontWeight:400,marginTop:2},children:e.sub})]}),(0,Hg.jsx)("td",{style:{padding:"9px 12px",fontFamily:dx,color:gq.text},children:e.now}),(0,Hg.jsx)("td",{style:{padding:"9px 12px"},children:(0,Hg.jsx)(Oq,{children:e.verdict})}),(0,Hg.jsxs)("td",{style:{padding:"9px 12px"},children:[(0,Hg.jsx)(Mq,{series:e.series,color:(r=e.tone,"buy"===r?gq.buy:"sell"===r?gq.sell:"warn"===r?gq.warn:gq.muted)}),e.isLive&&(0,Hg.jsx)("span",{style:{fontSize:8,color:gq.buy,marginLeft:4,letterSpacing:"0.4px",verticalAlign:"middle"},children:"\u25cf LIVE"})]})]},t);var r})})]})]})}const Dq={vanna_charm:"Vanna / Charm",iv_skew:"IV Skew (front)",iv_skew_0dte:"IV Skew 0DTE",dealer_scenarios:"Dealer Scenarios",market_entropy:"Market Entropy",retail_trap:"Retail Trap",iv_divergence:"IV vs Realized",pc_ratio:"P/C OI Ratio",charm_0dte:"0-DTE Pin Pressure"},Lq={aligned:{bg:gq.buySoft,fg:gq.buy,label:"aligned"},dissenting:{bg:gq.sellSoft,fg:gq.sell,label:"DISSENTS"},neutral:{bg:"rgba(255,255,255,0.05)",fg:gq.muted,label:"neutral"}};function Rq(e){let{payload:t}=e;const n=Eq(t);return n?(0,Hg.jsxs)("div",{style:{background:gq.bgCard,border:`1px solid ${gq.border}`,borderRadius:8,overflow:"hidden",fontFamily:dx},children:[(0,Hg.jsxs)("div",{style:{padding:"10px 14px",borderBottom:`1px solid ${gq.border}`,fontSize:11,color:gq.muted,letterSpacing:"0.8px",textTransform:"uppercase",display:"flex",justifyContent:"space-between",alignItems:"center",gap:8},children:[(0,Hg.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:8},children:["Cross-signal agreement",(0,Hg.jsx)(cb,{tooltip:"Calibrating \u2014 composite direction is a local stand-in (sign of vanna_charm.combined_pressure). Real composite_verdict.primary_direction pending DC ship. Aligned/dissent counts inherit this stand-in."})]}),(0,Hg.jsxs)("span",{style:{color:"BUY"===n.composite?gq.buy:"SELL"===n.composite?gq.sell:gq.muted,textTransform:"none"},children:["composite: ",n.composite]})]}),(0,Hg.jsxs)("div",{style:{padding:14},children:[(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"10px 12px",marginBottom:12,background:"#0d1218",border:`1px solid ${gq.border}`,borderRadius:6},children:[(0,Hg.jsxs)("div",{children:[(0,Hg.jsxs)("div",{style:{fontSize:22,fontWeight:700,color:gq.buy},children:[n.aligned," / 9"]}),(0,Hg.jsx)("div",{style:{fontSize:10,color:gq.muted,textTransform:"uppercase",letterSpacing:"0.6px"},children:"aligned with composite"})]}),(0,Hg.jsxs)("div",{style:{textAlign:"right"},children:[(0,Hg.jsxs)("div",{style:{fontSize:14,color:gq.sell},children:[n.dissenting," dissent"]}),(0,Hg.jsxs)("div",{style:{fontSize:14,color:gq.muted},children:[n.neutral," neutral"]})]})]}),(0,Hg.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:n.signals.map(e=>{const t=Lq[e.state];return(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"6px 8px",borderRadius:4,background:"#0d1218",fontSize:12},children:[(0,Hg.jsx)("span",{style:{color:gq.text},children:Dq[e.name]||e.name}),(0,Hg.jsx)("span",{style:{padding:"1px 7px",borderRadius:3,fontSize:11,fontWeight:600,background:t.bg,color:t.fg},children:t.label})]},e.name)})})]})]}):(0,Hg.jsx)("div",{style:{background:gq.bgCard,border:`1px solid ${gq.border}`,borderRadius:8,padding:14,fontFamily:dx,color:gq.muted,fontSize:12},children:"No options data."})}function zq(){return(0,Hg.jsxs)("div",{style:{background:gq.bgCard,border:`1px solid ${gq.border}`,borderRadius:8,overflow:"hidden",fontFamily:dx},children:[(0,Hg.jsxs)("div",{style:{padding:"10px 14px",borderBottom:`1px solid ${gq.border}`,fontSize:11,color:gq.muted,letterSpacing:"0.8px",textTransform:"uppercase",display:"flex",justifyContent:"space-between",alignItems:"center",gap:8},children:[(0,Hg.jsx)("span",{children:"What would flip the verdict"}),(0,Hg.jsx)(cb,{tooltip:"Calibrating \u2014 placeholder text only. DC's flip_conditions[] not shipped yet (msg #122 design contract sent). Watch the Signal Stack for STRONG_* \u2194 *_BALANCED transitions and Retail Trap CLEAR \u2194 TRAP_ACTIVE in the meantime."})]}),(0,Hg.jsx)("div",{style:{padding:14,color:gq.textSoft,fontSize:12,lineHeight:1.6},children:(0,Hg.jsxs)("div",{style:{padding:12,borderLeft:`2px solid ${gq.warn}`,background:"#0d1218",borderRadius:"0 4px 4px 0"},children:["Dynamic flip conditions render here when DC ships",(0,Hg.jsx)("code",{children:" flip_conditions[]"})," in the options payload. Until then, watch the Signal Stack for `STRONG_*` \u2194 `*_BALANCED` transitions and Retail Trap `CLEAR \u2194 TRAP_ACTIVE`."]})})]})}function Nq(){return(0,Hg.jsxs)("div",{style:{background:gq.bgCard,border:`1px solid ${gq.border}`,borderRadius:8,overflow:"hidden",fontFamily:dx},children:[(0,Hg.jsxs)("div",{style:{padding:"10px 14px",borderBottom:`1px solid ${gq.border}`,fontSize:11,color:gq.muted,letterSpacing:"0.8px",textTransform:"uppercase",display:"flex",justifyContent:"space-between",alignItems:"center",gap:8},children:[(0,Hg.jsx)("span",{children:"Historical analogs"}),(0,Hg.jsx)(cb,{tooltip:"Calibrating \u2014 placeholder text only. DC's historical_analogs gated on Step 2 backfill (6mo pre-test running, then full 10y). Per-asset per-horizon hit/chop/adverse rates will populate here once the analog matcher + backtest endpoint are live."})]}),(0,Hg.jsxs)("div",{style:{padding:14,color:gq.textSoft,fontSize:12,lineHeight:1.6},children:[(0,Hg.jsxs)("p",{style:{marginTop:0},children:["When the current signal combination has fired in the past, what happened next at 1h / 4h / 1d horizons \u2014 populates here once DC's Step 2 backfill ships ",(0,Hg.jsx)("code",{children:"historical_analogs"})," per asset per horizon."]}),(0,Hg.jsxs)("div",{style:{marginTop:6,padding:10,background:"#0d1218",border:`1px dashed ${gq.border}`,borderRadius:4,color:gq.dim,fontSize:11},children:["DC is currently running the 6-month ThetaData pre-test ahead of the full 10y backfill (per bus thread"," ",(0,Hg.jsx)("code",{children:"dc-thetadata-migration-2026-05-12"})," #90/#91). This panel fills in once the analog matcher + backtest endpoint are live."]})]})]})}function Fq(e){let{label:t,value:n,color:r}=e;return(0,Hg.jsxs)("span",{style:{display:"inline-flex",alignItems:"baseline",gap:6,padding:"3px 9px",borderRadius:4,background:"rgba(255,255,255,0.03)",border:`1px solid ${r||gq.border}33`,fontSize:11,lineHeight:1.2},children:[(0,Hg.jsx)("span",{style:{color:gq.muted,letterSpacing:"0.5px",fontSize:10,textTransform:"uppercase"},children:t}),(0,Hg.jsx)("strong",{style:{color:r||gq.text,fontWeight:700},children:n})]})}function $q(e){var t,n,r,i,o,l;let{payload:s}=e;if(!s)return null;const a=s.spot,c=s.gex_flip,d=null===(t=s.gex)||void 0===t?void 0:t.regime,u=null===(n=s.sauce)||void 0===n||null===(r=n.retail_trap)||void 0===r?void 0:r.status,h=null===(i=s.sauce)||void 0===i?void 0:i.market_entropy,p=null!==(o=null===h||void 0===h||null===(l=h.intraday)||void 0===l?void 0:l.state)&&void 0!==o?o:null===h||void 0===h?void 0:h.state,f=Eq(s),g=(null===f||void 0===f?void 0:f.composite)||"FLAT";let m="\u2014",y=gq.muted;if("number"===typeof a&&"number"===typeof c&&0!==c){const e=(a-c)/c*100;m=`${e>=0?"+":""}${e.toFixed(2)}%`,y=e>=0?gq.buy:gq.sell}const v="POSITIVE"===d?gq.buy:"NEGATIVE"===d?gq.sell:gq.muted,x="TRAP_ACTIVE"===u?gq.warn:gq.buy,b="ORDERED"===p?gq.buy:"MODERATE"===p?gq.warn:"CHAOTIC"===p?gq.sell:gq.muted,w="BUY"===g?gq.buy:"SELL"===g?gq.sell:gq.muted;return(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap",padding:"10px 18px",background:"#0d1218",borderBottom:`1px solid ${gq.border}`,fontFamily:dx},children:[(0,Hg.jsx)("span",{style:{fontSize:10,color:gq.dim,letterSpacing:"1.2px",textTransform:"uppercase",marginRight:4},children:"Regime"}),(0,Hg.jsx)(Fq,{label:"GEX",value:d||"\u2014",color:v}),(0,Hg.jsx)(Fq,{label:"vs Flip",value:m,color:y}),(0,Hg.jsx)(Fq,{label:"Composite",value:g,color:w}),f&&(0,Hg.jsx)(Fq,{label:"Aligned",value:`${f.aligned}/9`,color:gq.text}),(0,Hg.jsx)(Fq,{label:"Trap",value:"TRAP_ACTIVE"===u?"ACTIVE":u||"\u2014",color:x}),(0,Hg.jsx)(Fq,{label:"Entropy",value:p||"\u2014",color:b})]})}function Wq(e){let{ticker:t,mode:n,payload:r,loading:i,error:o}=e;return o?(0,Hg.jsxs)("div",{style:{padding:24,fontFamily:dx,color:gq.sell,fontSize:12,textAlign:"center"},children:["Could not load options data for ",t,": ",String(o.message||o)]}):!r&&i?(0,Hg.jsxs)("div",{style:{padding:24,fontFamily:dx,color:gq.muted,fontSize:12,textAlign:"center"},children:["Loading ",t,"\u2026"]}):r?(0,Hg.jsxs)("div",{children:[(0,Hg.jsx)($q,{payload:r}),(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr) 320px",gap:16,padding:18},children:[(0,Hg.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16,minWidth:0},children:[(0,Hg.jsx)(Tq,{ticker:t,mode:n,payload:r}),(0,Hg.jsx)(Iq,{payload:r})]}),(0,Hg.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:16,minWidth:0},children:[(0,Hg.jsx)(Rq,{payload:r}),(0,Hg.jsx)(zq,{}),(0,Hg.jsx)(Nq,{})]})]})]}):(0,Hg.jsxs)("div",{style:{padding:24,fontFamily:dx,color:gq.muted,fontSize:12,textAlign:"center"},children:["Options data unavailable for ",t,"."]})}const Bq=["US500","USTEC","XAUUSD","XAGUSD","XTIUSD"];async function Uq(e,t){const n=await fetch(`/api/options/${encodeURIComponent(e)}/full?n=8`,{signal:t});if(!n.ok){const e=new Error(`HTTP ${n.status}`);throw e.status=n.status,e}return n.json()}function Hq(){const{mode:e,setMode:n,selectedAsset:r,setSelectedAsset:i,selectedPayload:o,selectedLoading:l,selectedError:s,universe:a,indexLoading:c,refreshUniverse:d}=function(){const e=(0,t.useMemo)(()=>Bq,[]),[n,r]=(0,t.useState)("intraday"),[i,o]=(0,t.useState)(null),[l,s]=(0,t.useState)(null),[a,c]=(0,t.useState)(!1),[d,u]=(0,t.useState)(null),[h,p]=(0,t.useState)([]),[f,g]=(0,t.useState)(0);(0,t.useEffect)(()=>{!i&&Array.isArray(e)&&e.length>0&&o(e[0].ticker||e[0])},[e,i]),(0,t.useEffect)(()=>{if(!i)return;s(null),u(null);const e=new AbortController;let t=null,n=!1;const r=async()=>{if(!n)if("undefined"===typeof document||"visible"===document.visibilityState){c(!0),u(null);try{const t=await Uq(i,e.signal);n||s(t)}catch(sd){n||"AbortError"===sd.name||u(sd)}finally{n||c(!1),n||(t=setTimeout(r,6e4))}}else t=setTimeout(r,6e4)};return r(),()=>{n=!0,e.abort(),t&&clearTimeout(t)}},[i]),(0,t.useEffect)(()=>{if(!Array.isArray(e)||0===e.length)return;const t=e.map(e=>e.ticker||e);let n=!1;const r=t.map(()=>new AbortController),i=async()=>{if(n)return;if("undefined"!==typeof document&&"visible"!==document.visibilityState)return;const e=await Promise.all(t.map(async(e,t)=>{try{return{ticker:e,payload:await Uq(e,r[t].signal),loading:!1,error:null,fetchedAt:Date.now()}}catch(sd){return"AbortError"===sd.name?null:{ticker:e,payload:null,loading:!1,error:sd,fetchedAt:Date.now()}}}));n||p(e.filter(Boolean))};i();const o=setInterval(i,3e5);return()=>{n=!0,r.forEach(e=>e.abort()),clearInterval(o)}},[e,f]);const m=(0,t.useCallback)(()=>g(e=>e+1),[]);return{mode:n,setMode:r,selectedAsset:i,setSelectedAsset:o,selectedPayload:l,selectedLoading:a,selectedError:d,universe:h,indexLoading:!1,refreshUniverse:m}}();return(0,Hg.jsxs)("div",{style:{minHeight:"100%",background:gq.bg,fontFamily:dx,color:gq.text},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"10px 18px",borderBottom:`1px solid ${gq.border}`,background:"linear-gradient(180deg, #0d1218 0%, #0a0e14 100%)"},children:[(0,Hg.jsxs)("div",{style:{fontSize:12,fontWeight:600,letterSpacing:"0.5px"},children:["OPTIONS COCKPIT",(0,Hg.jsx)("span",{style:{color:gq.muted,fontWeight:400,marginLeft:10},children:c?"loading universe\u2026":a.length>0?`${a.length} tickers \xb7 ${r||"\u2014"} selected`:"no universe"})]}),(0,Hg.jsx)(mq,{value:e,onChange:n})]}),(0,Hg.jsx)(jq,{universe:a,selectedAsset:r,onSelect:i,onRefresh:d,mode:e}),r?(0,Hg.jsx)(Wq,{ticker:r,mode:e,payload:o,loading:l,error:s}):(0,Hg.jsx)("div",{style:{padding:40,color:gq.muted,fontSize:12,textAlign:"center"},children:"Pick an asset from the strip above."})]})}const Vq="mk_stress_lab_subtab",Yq=new Set(["pulse_room","indicators","options_cockpit"]);function Gq(){const[e,n]=(0,t.useState)({});return(0,t.useEffect)(()=>{let e=!1,t=null;const r=async()=>{if(!e){try{const t=await fetch("/api/ticks");if(!e&&t.ok){const r=await t.json();if(!e&&r&&r.ticks){const e={};for(const[t,n]of Object.entries(r.ticks))n&&"number"===typeof n.last&&(e[t]=n.last);n(e)}}}catch{}e||(t=setTimeout(r,1e3))}};return r(),()=>{e=!0,t&&clearTimeout(t)}},[]),(0,Hg.jsx)(fq,{prices:e})}function Kq(e){let{value:t,onChange:n}=e;return(0,Hg.jsx)("div",{style:{display:"flex",alignItems:"center",gap:0,borderBottom:`1px solid ${cx.border}`,marginBottom:14,fontFamily:dx},children:[{id:"pulse_room",label:"Pulse Room"},{id:"options_cockpit",label:"Options Cockpit"},{id:"indicators",label:"Indicators"}].map(e=>{const r=t===e.id;return(0,Hg.jsx)("button",{onClick:()=>n(e.id),style:{background:"transparent",border:"none",cursor:"pointer",padding:"9px 18px",color:r?cx.orange:cx.muted,fontFamily:dx,fontSize:11,fontWeight:700,letterSpacing:"1.8px",textTransform:"uppercase",borderBottom:`2px solid ${r?cx.orange:"transparent"}`,marginBottom:-1,transition:"color 120ms ease-out, border-color 120ms ease-out"},children:e.label},e.id)})})}function qq(e){let{reason:t}=e;return(0,Hg.jsx)("div",{style:{flex:1,minHeight:0,overflowY:"auto",display:"flex",alignItems:"center",justifyContent:"center",padding:40,fontFamily:dx},children:(0,Hg.jsxs)("div",{style:{maxWidth:520,textAlign:"center",background:cx.bgCard,border:`1px solid ${cx.border}`,borderRadius:8,padding:"40px 36px",position:"relative",overflow:"hidden"},children:[(0,Hg.jsx)("div",{style:{position:"absolute",top:0,left:0,right:0,height:3,background:`linear-gradient(90deg, ${cx.proGold}, ${cx.proGoldDeep}, ${cx.orange})`}}),(0,Hg.jsx)("div",{style:{display:"inline-flex",alignItems:"center",gap:8,padding:"5px 14px",borderRadius:3,marginBottom:22,background:`linear-gradient(90deg, ${cx.proBgStart}, ${cx.proBgEnd})`,color:cx.proGold,border:`1px solid ${cx.proGoldDeep}`,fontSize:11,fontWeight:800,letterSpacing:"1.2px"},children:"\u25c6 PRO FEATURE"}),(0,Hg.jsx)("h2",{style:{fontSize:22,color:cx.text,fontWeight:600,marginBottom:14,letterSpacing:"0.3px"},children:"Stress Lab"}),(0,Hg.jsx)("p",{style:{fontSize:13,color:cx.textSoft,lineHeight:1.7,marginBottom:8},children:t}),(0,Hg.jsx)("p",{style:{fontSize:11,color:cx.muted,lineHeight:1.6},children:"Please subscribe to Pro to unlock. Sign out and resubscribe from the login screen to upgrade your plan."})]})})}function Xq(){return(0,Hg.jsx)("div",{style:{background:`${cx.orange}15`,border:`1px solid ${cx.orange}50`,borderRadius:3,padding:"8px 14px",marginBottom:12,fontFamily:dx,fontSize:11,color:cx.orange,fontWeight:600,letterSpacing:"0.4px"},children:"You're on trial \u2014 Stress Lab will require a Pro subscription once your trial ends."})}function Jq(){const[e,n]=(0,t.useState)(null),[r,i]=(0,t.useState)(null),[o,l]=(0,t.useState)(""),[s,a]=(0,t.useState)(null),[c,d]=(0,t.useState)(null),[u,h]=(0,t.useState)(!1),[p,f]=(0,t.useState)(!1),g=(0,t.useRef)(!0);(0,t.useEffect)(()=>()=>{g.current=!1},[]);const m=async()=>{i(null);try{const e=await fetch("/api/auth/atas/key",{credentials:"include"});if(!g.current)return;if(403===e.status)return n({has_key:!1}),void i("ineligible");if(401===e.status)return i("auth_required"),void n({has_key:!1});if(!e.ok)return i(`Server returned HTTP ${e.status}.`),void n({has_key:!1});const t=await e.json();if(!g.current)return;n(t||{has_key:!1})}catch(sd){if(!g.current)return;i("network"),n({has_key:!1})}};(0,t.useEffect)(()=>{m()},[]);const y=async e=>{h(!0),i(null);try{const t=e&&e.trim()?{atas_email:e.trim()}:{},n=await fetch("/api/auth/atas/key",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!g.current)return;if(403===n.status)return void i("ineligible");if(401===n.status)return void i("auth_required");if(!n.ok)return void i(`Could not issue key (HTTP ${n.status}).`);const r=await n.json();if(!g.current)return;a(r),f(!1),l("")}catch(sd){if(!g.current)return;i("network")}finally{g.current&&h(!1)}},v=()=>{a(null),f(!1),m()},x=async e=>{try{await navigator.clipboard.writeText(e),f(!0)}catch{}},b=()=>r?"ineligible"===r?(0,Hg.jsx)("div",{style:{marginTop:14,padding:"10px 14px",borderRadius:4,background:"#2a2316",border:`1px solid ${cx.amberDeep}`,color:cx.amber,fontSize:12,lineHeight:1.6},children:"ATAS access isn't available for your account right now \u2014 contact support if you think this is a mistake."}):"auth_required"===r?(0,Hg.jsx)("div",{style:{marginTop:14,padding:"10px 14px",borderRadius:4,background:"#2a1616",border:`1px solid ${cx.redDeep}`,color:cx.red,fontSize:12,lineHeight:1.6},children:"Your session expired. Reload the terminal and sign in again."}):"network"===r?(0,Hg.jsx)("div",{style:{marginTop:14,padding:"10px 14px",borderRadius:4,background:"#15202a",border:`1px solid ${cx.greyDeep}`,color:cx.textSoft,fontSize:12,lineHeight:1.6},children:"Could not reach the server. Check your connection and try again."}):(0,Hg.jsx)("div",{style:{marginTop:14,padding:"10px 14px",borderRadius:4,background:"#2a1616",border:`1px solid ${cx.redDeep}`,color:cx.red,fontSize:12,lineHeight:1.6},children:r}):null,w={maxWidth:560,margin:"0 auto",background:cx.bgCard,border:`1px solid ${cx.border}`,borderRadius:8,padding:"30px 32px",position:"relative",overflow:"hidden",fontFamily:dx},S={position:"absolute",top:0,left:0,right:0,height:3,background:`linear-gradient(90deg, ${cx.proGold}, ${cx.proGoldDeep}, ${cx.orange})`},j={fontSize:10,color:cx.muted,letterSpacing:"1px",fontWeight:700,marginBottom:6},k=e=>({background:e?cx.greyDeep:cx.orange,color:e?cx.muted:cx.white,border:"none",borderRadius:3,padding:"9px 18px",fontSize:12,fontWeight:700,letterSpacing:"0.8px",cursor:e?"not-allowed":"pointer",fontFamily:dx}),_=e=>({background:"transparent",color:cx.textSoft,border:`1px solid ${cx.borderLt}`,borderRadius:3,padding:"8px 16px",fontSize:11,fontWeight:600,letterSpacing:"0.6px",cursor:e?"not-allowed":"pointer",fontFamily:dx}),E=e=>({background:"transparent",color:e?cx.muted:cx.red,border:`1px solid ${e?cx.greyDeep:cx.redDeep}`,borderRadius:3,padding:"8px 16px",fontSize:11,fontWeight:600,letterSpacing:"0.6px",cursor:e?"not-allowed":"pointer",fontFamily:dx});if(null===e)return(0,Hg.jsx)("div",{style:{padding:"60px 20px",display:"flex",justifyContent:"center"},children:(0,Hg.jsxs)("div",{style:{...w,textAlign:"center"},children:[(0,Hg.jsx)("div",{style:S}),(0,Hg.jsx)("p",{style:{fontSize:12,color:cx.muted},children:"Loading\u2026"})]})});if(!e.has_key)return(0,Hg.jsxs)("div",{style:{padding:"40px 20px",display:"flex",justifyContent:"center"},children:[(0,Hg.jsxs)("div",{style:w,children:[(0,Hg.jsx)("div",{style:S}),(0,Hg.jsx)("h2",{style:{fontSize:20,color:cx.text,fontWeight:600,marginBottom:6,letterSpacing:"0.3px"},children:"ATAS Indicator"}),(0,Hg.jsx)("p",{style:{fontSize:12,color:cx.textSoft,lineHeight:1.6,marginBottom:22},children:"Connect MK.TRADES data to your ATAS charts. You'll get one API key \u2014 copy it into ATAS once, then keep it safe."}),(0,Hg.jsx)("div",{style:j,children:"ATAS ACCOUNT EMAIL (OPTIONAL)"}),(0,Hg.jsx)("input",{type:"email",value:o,onChange:e=>l(e.target.value),placeholder:"trader@example.com",disabled:u||"ineligible"===r,style:{width:"100%",boxSizing:"border-box",background:cx.bg,color:cx.text,border:`1px solid ${cx.borderLt}`,borderRadius:3,padding:"9px 12px",fontSize:13,marginBottom:18,fontFamily:dx}}),(0,Hg.jsx)("button",{onClick:()=>y(o),disabled:u||"ineligible"===r||"auth_required"===r,style:k(u||"ineligible"===r||"auth_required"===r),children:u?"Generating\u2026":"Generate API Key"}),b()]}),s&&(0,Hg.jsx)(Qq,{generated:s,copied:p,onCopy:()=>x(s.key),onDone:v})]});const C="regen"===c,T="revoke"===c,M=(e,t)=>(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline",padding:"8px 0",borderBottom:`1px solid ${cx.border}`,fontSize:12},children:[(0,Hg.jsx)("span",{style:{color:cx.muted,letterSpacing:"0.5px"},children:e}),(0,Hg.jsx)("span",{style:{color:cx.text,fontFamily:dx},children:t||"\u2014"})]}),O=e.created_at?new Date(e.created_at).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}):"\u2014",A=e.last_validated_at?ux(e.last_validated_at):"Never";return(0,Hg.jsxs)("div",{style:{padding:"40px 20px",display:"flex",justifyContent:"center"},children:[(0,Hg.jsxs)("div",{style:w,children:[(0,Hg.jsx)("div",{style:S}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:18},children:[(0,Hg.jsx)("h2",{style:{fontSize:20,color:cx.text,fontWeight:600,margin:0,letterSpacing:"0.3px"},children:"ATAS Indicator"}),(e=>{const t={Active:{color:cx.green,bg:"#0f2a1d",border:cx.greenDeep,dot:"\ud83d\udfe2"},Idle:{color:cx.amber,bg:"#2a2316",border:cx.amberDeep,dot:"\ud83d\udfe1"},"Never used":{color:cx.muted,bg:"#15202a",border:cx.greyDeep,dot:"\u26aa"}},n=t[e]||t["Never used"];return(0,Hg.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:6,padding:"3px 9px",borderRadius:3,background:n.bg,color:n.color,border:`1px solid ${n.border}`,fontSize:10,fontWeight:700,letterSpacing:"0.8px"},children:[n.dot," ",e]})})(e.usage_status)]}),(0,Hg.jsxs)("div",{style:{marginBottom:22},children:[M("KEY",e.key_prefix?`${e.key_prefix}\u2026`:"\u2014"),M("EMAIL",e.atas_email),M("CREATED",O),M("LAST USED",A)]}),!c&&(0,Hg.jsxs)("div",{style:{display:"flex",gap:10},children:[(0,Hg.jsx)("button",{onClick:()=>d("regen"),disabled:u,style:_(u),children:"Regenerate key"}),(0,Hg.jsx)("button",{onClick:()=>d("revoke"),disabled:u,style:E(u),children:"Revoke"})]}),C&&(0,Hg.jsxs)("div",{style:{marginTop:4,padding:"14px 16px",borderRadius:4,background:cx.bg,border:`1px solid ${cx.amberDeep}`},children:[(0,Hg.jsx)("p",{style:{color:cx.amber,fontSize:12,lineHeight:1.6,marginBottom:12},children:"This will replace your current key. Your ATAS will stop working until you paste the new one."}),(0,Hg.jsx)("div",{style:j,children:"ATAS ACCOUNT EMAIL (OPTIONAL)"}),(0,Hg.jsx)("input",{type:"email",value:o,onChange:e=>l(e.target.value),placeholder:e.atas_email||"trader@example.com",disabled:u,style:{width:"100%",boxSizing:"border-box",background:cx.bg,color:cx.text,border:`1px solid ${cx.borderLt}`,borderRadius:3,padding:"8px 11px",fontSize:12,marginBottom:14,fontFamily:dx}}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,Hg.jsx)("button",{onClick:async()=>{await y(o),d(null)},disabled:u,style:k(u),children:u?"Generating\u2026":"Generate new key"}),(0,Hg.jsx)("button",{onClick:()=>{d(null),l("")},disabled:u,style:_(u),children:"Cancel"})]})]}),T&&(0,Hg.jsxs)("div",{style:{marginTop:4,padding:"14px 16px",borderRadius:4,background:cx.bg,border:`1px solid ${cx.redDeep}`},children:[(0,Hg.jsx)("p",{style:{color:cx.red,fontSize:12,lineHeight:1.6,marginBottom:12},children:"Your ATAS will stop working until you generate a new key. Are you sure?"}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,Hg.jsx)("button",{onClick:async()=>{await(async()=>{h(!0),i(null);try{const e=await fetch("/api/auth/atas/key",{method:"DELETE",credentials:"include"});if(!g.current)return;if(401===e.status)return void i("auth_required");if(!e.ok)return void i(`Could not revoke key (HTTP ${e.status}).`);await m()}catch(sd){if(!g.current)return;i("network")}finally{g.current&&h(!1)}})(),d(null)},disabled:u,style:E(u),children:u?"Revoking\u2026":"Yes, revoke"}),(0,Hg.jsx)("button",{onClick:()=>d(null),disabled:u,style:_(u),children:"Cancel"})]})]}),b()]}),s&&(0,Hg.jsx)(Qq,{generated:s,copied:p,onCopy:()=>x(s.key),onDone:v})]})}function Qq(e){let{generated:t,copied:n,onCopy:r,onDone:i}=e;return(0,Hg.jsx)("div",{style:{position:"fixed",inset:0,zIndex:9999,background:"rgba(0,0,0,0.75)",display:"flex",alignItems:"center",justifyContent:"center",fontFamily:dx},children:(0,Hg.jsxs)("div",{style:{width:"min(560px, 92vw)",background:cx.bgCard,border:`1px solid ${cx.amberDeep}`,borderRadius:8,padding:"26px 28px",position:"relative",overflow:"hidden"},children:[(0,Hg.jsx)("div",{style:{position:"absolute",top:0,left:0,right:0,height:3,background:`linear-gradient(90deg, ${cx.amber}, ${cx.orange})`}}),(0,Hg.jsx)("div",{style:{display:"inline-flex",alignItems:"center",gap:8,padding:"4px 11px",borderRadius:3,marginBottom:16,background:"#2a2316",color:cx.amber,border:`1px solid ${cx.amberDeep}`,fontSize:11,fontWeight:800,letterSpacing:"1px"},children:"\u26a0 COPY NOW \u2014 YOU CAN'T SEE IT AGAIN"}),(0,Hg.jsx)("p",{style:{color:cx.textSoft,fontSize:12,lineHeight:1.6,marginBottom:14},children:"Paste this key into your ATAS indicator's settings panel. After you close this dialog, the key is gone \u2014 only its prefix is shown afterwards."}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,background:cx.bg,border:`1px solid ${cx.borderLt}`,borderRadius:4,padding:"10px 12px",marginBottom:16,fontFamily:dx},children:[(0,Hg.jsx)("code",{style:{flex:1,color:cx.text,fontSize:13,wordBreak:"break-all",lineHeight:1.5},children:t.key}),(0,Hg.jsx)("button",{onClick:r,style:{background:n?cx.green:cx.orange,color:cx.white,border:"none",borderRadius:3,padding:"7px 12px",fontSize:11,fontWeight:700,letterSpacing:"0.6px",cursor:"pointer",fontFamily:dx,flexShrink:0},children:n?"COPIED \u2713":"COPY"})]}),(0,Hg.jsx)("button",{onClick:i,style:{width:"100%",background:n?cx.orange:cx.greyDeep,color:n?cx.white:cx.muted,border:"none",borderRadius:3,padding:"10px 18px",fontSize:12,fontWeight:700,letterSpacing:"0.8px",cursor:n?"pointer":"not-allowed",fontFamily:dx},disabled:!n,children:n?"I've copied it \u2014 done":"Copy the key first"})]})})}function Zq(e){let{showTrialBanner:n}=e;const[r,i]=(0,t.useState)(()=>{try{const e=localStorage.getItem(Vq);return Yq.has(e)?e:"pulse_room"}catch{return"pulse_room"}});return(0,t.useEffect)(()=>{try{localStorage.setItem(Vq,r)}catch{}},[r]),(0,Hg.jsxs)("div",{style:{flex:1,minHeight:0,overflowY:"auto",background:cx.bg,padding:"14px 18px 24px 18px",fontFamily:dx},children:[n&&(0,Hg.jsx)(Xq,{}),(0,Hg.jsx)("div",{style:{display:"flex",alignItems:"center",gap:12,marginBottom:14,flexWrap:"wrap"},children:(0,Hg.jsx)("div",{style:{display:"inline-flex",alignItems:"center",gap:7,padding:"5px 11px",borderRadius:3,background:`linear-gradient(90deg, ${cx.proBgStart}, ${cx.proBgEnd})`,color:cx.proGold,border:`1px solid ${cx.proGoldDeep}`,fontSize:11,fontWeight:700,letterSpacing:"1.2px"},children:"\u25c6 PRO \xb7 STRESS LAB"})}),(0,Hg.jsx)(Kq,{value:r,onChange:i}),"pulse_room"===r&&(0,Hg.jsx)(Gq,{}),"options_cockpit"===r&&(0,Hg.jsx)(Hq,{}),"indicators"===r&&(0,Hg.jsx)(Jq,{})]})}function eX(){const{isPro:e,isTrial:t,loading:n}=um();return n?(0,Hg.jsx)("div",{style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",color:cx.muted,fontFamily:dx,fontSize:11},children:"Checking subscription\u2026"}):e||t?(0,Hg.jsx)(Zq,{showTrialBanner:t&&!e}):(0,Hg.jsx)(qq,{reason:"standard"})}const tX=[{id:"terminal_pages",en:"Terminal Pages",ar:"\u0635\u0641\u062d\u0627\u062a \u0627\u0644\u0645\u0646\u0635\u0629",icon:"\u25a3"},{id:"quant",en:"Quant Knowledge",ar:"\u0627\u0644\u0645\u0639\u0631\u0641\u0629 \u0627\u0644\u0643\u0645\u064a\u0629",icon:"\u2211"},{id:"setups",en:"Trade Setups",ar:"\u0623\u0646\u0648\u0627\u0639 \u0627\u0644\u0635\u0641\u0642\u0627\u062a",icon:"\u25ce"},{id:"strategy",en:"Strategy & Risk",ar:"\u0627\u0644\u0627\u0633\u062a\u0631\u0627\u062a\u064a\u062c\u064a\u0629 \u0648\u0627\u0644\u0645\u062e\u0627\u0637\u0631",icon:"\u2696"},{id:"glossary",en:"Glossary",ar:"\u0627\u0644\u0645\u0635\u0637\u0644\u062d\u0627\u062a",icon:"A"},{id:"shortcuts",en:"Shortcuts",ar:"\u0627\u0644\u0627\u062e\u062a\u0635\u0627\u0631\u0627\u062a",icon:"\u2328"}],nX=[{id:"gbm",category:"quant",order:1,title:{en:"GBM \u2014 Geometric Brownian Motion",ar:"GBM \u2014 \u0627\u0644\u062d\u0631\u0643\u0629 \u0627\u0644\u0628\u0631\u0627\u0648\u0646\u064a\u0629 \u0627\u0644\u0647\u0646\u062f\u0633\u064a\u0629"},tags:["gbm","cone","probability","quant","forecast","monte carlo"],summary:{en:"The workhorse price-forecasting model. Assumes returns are normally distributed and price follows a continuous random walk with drift.",ar:"GBM \u0647\u0648 \u0627\u0644\u0646\u0645\u0648\u0630\u062c \u0627\u0644\u0623\u0633\u0627\u0633\u064a \u0644\u062a\u0648\u0642\u0639 \u0627\u0644\u0623\u0633\u0639\u0627\u0631. \u064a\u0641\u062a\u0631\u0636 \u0623\u0646 \u0627\u0644\u0639\u0648\u0627\u0626\u062f \u062a\u062a\u0628\u0639 \u062a\u0648\u0632\u064a\u0639 \u0637\u0628\u064a\u0639\u064a \u0648\u0623\u0646 \u0627\u0644\u0633\u0639\u0631 \u064a\u062a\u062d\u0631\u0643 \u0628\u0634\u0643\u0644 \u0639\u0634\u0648\u0627\u0626\u064a \u0645\u062a\u0635\u0644 \u0645\u0639 \u0645\u064a\u0644 \u0627\u062a\u062c\u0627\u0647\u064a (drift)."},sections:[{heading:{en:"What it is",ar:"\u0645\u0627 \u0647\u0648"},paragraphs:[{en:"GBM models price as an exponential random walk. At every small step in time, the price is multiplied by a factor that depends on drift (long-term direction) and a random shock whose size is controlled by volatility (sigma).",ar:"GBM \u064a\u0639\u0627\u0645\u0644 \u0627\u0644\u0633\u0639\u0631 \u0643\u0639\u0645\u0644\u064a\u0629 \u0639\u0634\u0648\u0627\u0626\u064a\u0629 \u0645\u062a\u0635\u0644\u0629. \u0641\u064a \u0643\u0644 \u062e\u0637\u0648\u0629 \u0632\u0645\u0646\u064a\u0629 \u0635\u063a\u064a\u0631\u0629 \u064a\u064f\u0636\u0631\u0628 \u0627\u0644\u0633\u0639\u0631 \u0628\u0639\u0627\u0645\u0644 \u064a\u0639\u062a\u0645\u062f \u0639\u0644\u0649 drift (\u0627\u0644\u0627\u062a\u062c\u0627\u0647 \u0637\u0648\u064a\u0644 \u0627\u0644\u0623\u0645\u062f) \u0648\u0635\u062f\u0645\u0629 \u0639\u0634\u0648\u0627\u0626\u064a\u0629 \u064a\u064f\u062d\u062f\u062f \u062d\u062c\u0645\u0647\u0627 \u0645\u0646 \u062e\u0644\u0627\u0644 \u0627\u0644\u062a\u0642\u0644\u0628 (sigma)."},{en:"Mathematically, GBM is dS = \u03bc\xb7S\xb7dt + \u03c3\xb7S\xb7dW \u2014 but you don't need the formula. What matters: drift pushes price, sigma spreads the range of possible outcomes.",ar:"\u0631\u064a\u0627\u0636\u064a\u0627\u064b GBM \u064a\u0643\u062a\u0628 dS = \u03bc\xb7S\xb7dt + \u03c3\xb7S\xb7dW\u060c \u0644\u0643\u0646 \u0645\u0627 \u064a\u0647\u0645\u0643 \u0641\u0639\u0644\u064a\u0627\u064b: \u0627\u0644\u0640 drift \u064a\u062f\u0641\u0639 \u0627\u0644\u0633\u0639\u0631 \u0641\u064a \u0627\u062a\u062c\u0627\u0647\u060c \u0648\u0627\u0644\u0640 sigma \u064a\u062d\u062f\u062f \u0645\u062f\u0649 \u0627\u0644\u0627\u0646\u062a\u0634\u0627\u0631 \u0627\u0644\u0645\u0645\u0643\u0646 \u0644\u0644\u0623\u0633\u0639\u0627\u0631."}]},{heading:{en:"Why it matters in MK.TRADES",ar:"\u0623\u0647\u0645\u064a\u062a\u0647 \u0641\u064a MK.TRADES"},paragraphs:[{en:"Every GBM cone you see on the chart is built from thousands of Monte Carlo paths generated by this model. Each line (p05, p25, p50, p75, p95) is a percentile of those simulated paths.",ar:"\u0643\u0644 GBM cone \u062a\u0631\u0627\u0647 \u0639\u0644\u0649 \u0627\u0644\u0634\u0627\u0631\u062a \u0645\u0628\u0646\u064a \u0645\u0646 \u0622\u0644\u0627\u0641 \u0627\u0644\u0645\u0633\u0627\u0631\u0627\u062a \u0627\u0644\u0645\u062d\u0627\u0643\u0627\u0629 (Monte Carlo) \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0647\u0630\u0627 \u0627\u0644\u0646\u0645\u0648\u0630\u062c. \u0643\u0644 \u062e\u0637 (p05\u060c p25\u060c p50\u060c p75\u060c p95) \u0647\u0648 \u0646\u0633\u0628\u0629 \u0645\u0626\u0648\u064a\u0629 \u0645\u0646 \u062a\u0644\u0643 \u0627\u0644\u0645\u0633\u0627\u0631\u0627\u062a."},{en:"The median (p50) is the most probable single path. The envelope between p25 and p75 contains half of the simulated paths. Between p05 and p95 sits 90% of them. That's your cone of probable futures.",ar:"\u0627\u0644\u062e\u0637 \u0627\u0644\u0648\u0633\u0637\u064a (p50) \u0647\u0648 \u0627\u0644\u0645\u0633\u0627\u0631 \u0627\u0644\u0623\u0643\u062b\u0631 \u0627\u062d\u062a\u0645\u0627\u0644\u0627\u064b. \u0627\u0644\u0646\u0637\u0627\u0642 \u0628\u064a\u0646 p25 \u0648 p75 \u064a\u062d\u062a\u0648\u064a \u0646\u0635\u0641 \u0627\u0644\u0645\u0633\u0627\u0631\u0627\u062a \u0627\u0644\u0645\u062d\u0627\u0643\u0627\u0629. \u0628\u064a\u0646 p05 \u0648 p95 \u064a\u0642\u0639 90% \u0645\u0646\u0647\u0627. \u0647\u0630\u0627 \u0647\u0648 \u0627\u0644\u0645\u062e\u0631\u0648\u0637 \u0627\u0644\u0627\u062d\u062a\u0645\u0627\u0644\u064a \u0644\u0644\u0645\u0633\u062a\u0642\u0628\u0644."}]},{heading:{en:"Strengths and limits",ar:"\u0646\u0642\u0627\u0637 \u0627\u0644\u0642\u0648\u0629 \u0648\u0627\u0644\u0636\u0639\u0641"},bullets:[{en:"Strength: simple, fast to simulate, well-understood \u2014 the industry's default model.",ar:"\u0642\u0648\u0629: \u0628\u0633\u064a\u0637 \u0648\u0633\u0631\u064a\u0639 \u0648\u0645\u0641\u0647\u0648\u0645 \u062c\u064a\u062f\u0627\u064b \u2014 \u0627\u0644\u0646\u0645\u0648\u0630\u062c \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a \u0641\u064a \u0627\u0644\u0635\u0646\u0627\u0639\u0629."},{en:"Limit: GBM assumes returns are normally distributed. In reality markets have fat tails \u2014 extreme moves happen more often than GBM predicts. For that we layer MJD (jumps) and Bates (stochastic volatility + jumps) on top.",ar:"\u0636\u0639\u0641: GBM \u064a\u0641\u062a\u0631\u0636 \u062a\u0648\u0632\u064a\u0639 \u0637\u0628\u064a\u0639\u064a \u0644\u0644\u0639\u0648\u0627\u0626\u062f\u060c \u0644\u0643\u0646 \u0627\u0644\u0623\u0633\u0648\u0627\u0642 \u0627\u0644\u062d\u0642\u064a\u0642\u064a\u0629 \u062a\u062d\u062a\u0648\u064a fat tails \u2014 \u0623\u064a \u0623\u0646 \u0627\u0644\u062d\u0631\u0643\u0627\u062a \u0627\u0644\u0643\u0628\u064a\u0631\u0629 \u062a\u062d\u062f\u062b \u0623\u0643\u062b\u0631 \u0645\u0645\u0627 \u064a\u062a\u0648\u0642\u0639\u0647 GBM. \u0644\u0630\u0644\u0643 \u0646\u0633\u062a\u0639\u0645\u0644 MJD (\u0645\u0639 \u0627\u0644\u0642\u0641\u0632\u0627\u062a) \u0648 Bates (\u062a\u0642\u0644\u0628 \u0639\u0634\u0648\u0627\u0626\u064a + \u0642\u0641\u0632\u0627\u062a) \u0643\u0637\u0628\u0642\u0627\u062a \u0641\u0648\u0642\u0647."},{en:"Limit: GBM treats volatility as constant during the forecast window. GARCH handles the case where volatility itself evolves.",ar:"\u0636\u0639\u0641: GBM \u064a\u0639\u0627\u0645\u0644 \u0627\u0644\u0640 sigma \u0643\u062b\u0627\u0628\u062a\u0629 \u062e\u0644\u0627\u0644 \u0641\u062a\u0631\u0629 \u0627\u0644\u062a\u0648\u0642\u0639. GARCH \u064a\u0639\u0627\u0644\u062c \u062d\u0627\u0644\u0629 \u062a\u0637\u0648\u0631 \u0627\u0644\u062a\u0642\u0644\u0628 \u0646\u0641\u0633\u0647 \u0639\u0628\u0631 \u0627\u0644\u0632\u0645\u0646."}]},{heading:{en:"How to use it on the chart",ar:"\u0643\u064a\u0641 \u062a\u0633\u062a\u062e\u062f\u0645\u0647 \u0639\u0644\u0649 \u0627\u0644\u0634\u0627\u0631\u062a"},paragraphs:[{en:"Turn on the GBM cone for your asset, pick a horizon (weekly/monthly), and read the envelope. Price near the p50 line = market behaving as expected. Price pressed against p95 or p05 = stretched, often a candidate for mean-reversion setups.",ar:"\u0641\u0639\u0651\u0644 GBM cone \u0639\u0644\u0649 \u0627\u0644\u0623\u0635\u0644\u060c \u0627\u062e\u062a\u0631 \u0627\u0644\u0623\u0641\u0642 \u0627\u0644\u0632\u0645\u0646\u064a (\u0623\u0633\u0628\u0648\u0639\u064a/\u0634\u0647\u0631\u064a)\u060c \u0648\u0627\u0642\u0631\u0623 \u0627\u0644\u0646\u0637\u0627\u0642. \u0627\u0644\u0633\u0639\u0631 \u0642\u0631\u0628 p50 = \u0627\u0644\u0633\u0648\u0642 \u064a\u062a\u0635\u0631\u0641 \u0628\u0634\u0643\u0644 \u0645\u062a\u0648\u0642\u0639. \u0627\u0644\u0633\u0639\u0631 \u0645\u0644\u0627\u0635\u0642 \u0644\u0640 p95 \u0623\u0648 p05 = \u0645\u0645\u062a\u062f\u060c \u063a\u0627\u0644\u0628\u0627\u064b \u0645\u0627 \u064a\u0643\u0648\u0646 \u0645\u0631\u0634\u062d\u0627\u064b \u0644\u0635\u0641\u0642\u0627\u062a mean-reversion."}]}]},{id:"cone_construction",category:"quant",order:2,title:{en:"How a Forecast Cone Is Built",ar:"\u0643\u064a\u0641 \u062a\u064f\u0628\u0646\u0649 \u0627\u0644\u0640 forecast cone"},tags:["cone","monte carlo","gbm","percentile","forecast","simulation"],summary:{en:"The cone you see on the chart is the percentile envelope of thousands of simulated price paths. Each line is a quantile of the distribution \u2014 not a prediction.",ar:"\u0627\u0644\u0640 cone \u0627\u0644\u0630\u064a \u062a\u0631\u0627\u0647 \u0639\u0644\u0649 \u0627\u0644\u0634\u0627\u0631\u062a \u0647\u0648 envelope \u0627\u0644\u0646\u0633\u0628 \u0627\u0644\u0645\u0626\u0648\u064a\u0629 \u0644\u0622\u0644\u0627\u0641 \u0627\u0644\u0645\u0633\u0627\u0631\u0627\u062a \u0627\u0644\u0645\u062d\u0627\u0643\u0627\u0629. \u0643\u0644 \u062e\u0637 \u0647\u0648 quantile \u0644\u0644\u062a\u0648\u0632\u064a\u0639 \u2014 \u0648\u0644\u064a\u0633 \u062a\u0648\u0642\u0639\u0627\u064b \u0648\u0627\u062d\u062f\u0627\u064b."},sections:[{heading:{en:"From Monte Carlo paths to a cone",ar:"\u0645\u0646 Monte Carlo paths \u0625\u0644\u0649 \u0627\u0644\u0640 cone"},visual:"cone_construction",paragraphs:[{en:"Every cone starts as a Monte Carlo simulation. From the anchor point (the last known price), we roll a stochastic model forward one small step at a time. At each step the next price is the previous price times a factor drawn from a random distribution (that's the noise of the market).",ar:"\u0643\u0644 cone \u064a\u0628\u062f\u0623 \u0643\u0640 Monte Carlo simulation. \u0645\u0646 \u0646\u0642\u0637\u0629 \u0627\u0644\u0640 anchor (\u0622\u062e\u0631 \u0633\u0639\u0631 \u0645\u0639\u0631\u0648\u0641)\u060c \u0646\u0634\u063a\u0651\u0644 \u0646\u0645\u0648\u0630\u062c stochastic \u062e\u0637\u0648\u0629 \u0628\u062e\u0637\u0648\u0629. \u0639\u0646\u062f \u0643\u0644 \u062e\u0637\u0648\u0629\u060c \u0627\u0644\u0633\u0639\u0631 \u0627\u0644\u062a\u0627\u0644\u064a = \u0627\u0644\u0633\u0639\u0631 \u0627\u0644\u0633\u0627\u0628\u0642 \xd7 \u0639\u0627\u0645\u0644 \u0645\u0623\u062e\u0648\u0630 \u0645\u0646 \u062a\u0648\u0632\u064a\u0639 \u0639\u0634\u0648\u0627\u0626\u064a (\u0647\u0630\u0627 \u0647\u0648 \u0627\u0644\u0640 noise \u0641\u064a \u0627\u0644\u0633\u0648\u0642)."},{en:"We repeat that whole walk thousands of times (typically 20,000 \u2013 100,000 paths). Each path is one possible future; together they cover the full distribution of where price could be at every forward time step.",ar:"\u0646\u0643\u0631\u0631 \u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u0627\u0631 \u0643\u0627\u0645\u0644\u0627\u064b \u0622\u0644\u0627\u0641 \u0627\u0644\u0645\u0631\u0627\u062a (\u0639\u0627\u062f\u0629\u064b \u0628\u064a\u0646 20,000 \u0648 100,000 path). \u0643\u0644 path \u0645\u0633\u062a\u0642\u0628\u0644 \u0645\u0645\u0643\u0646 \u0648\u0627\u062d\u062f\u061b \u0645\u062c\u0645\u0648\u0639\u0647\u0627 \u064a\u063a\u0637\u064a \u0627\u0644\u062a\u0648\u0632\u064a\u0639 \u0627\u0644\u0643\u0627\u0645\u0644 \u0644\u0645\u0643\u0627\u0646 \u0627\u0644\u0633\u0639\u0631 \u0641\u064a \u0643\u0644 \u0644\u062d\u0638\u0629 \u0645\u0633\u062a\u0642\u0628\u0644\u064a\u0629."}]},{heading:{en:"Why lines and not clouds",ar:"\u0644\u0645\u0627\u0630\u0627 \u062e\u0637\u0648\u0637 \u0648\u0644\u064a\u0633 clouds"},paragraphs:[{en:"At each forward day, we sort all simulated prices and pick specific percentiles: p05, p25, p50, p75, p95 (and sometimes p01 / p99). Those percentiles connected over time become the cone's lines.",ar:"\u0639\u0646\u062f \u0643\u0644 \u064a\u0648\u0645 \u0645\u0633\u062a\u0642\u0628\u0644\u064a\u060c \u0646\u0631\u062a\u0651\u0628 \u062c\u0645\u064a\u0639 \u0627\u0644\u0623\u0633\u0639\u0627\u0631 \u0627\u0644\u0645\u062d\u0627\u0643\u0627\u0629 \u0648\u0646\u062e\u062a\u0627\u0631 \u0646\u0633\u0628\u0627\u064b \u0645\u0626\u0648\u064a\u0629 \u0645\u062d\u062f\u062f\u0629: p05, p25, p50, p75, p95 (\u0648\u0623\u062d\u064a\u0627\u0646\u0627\u064b p01 / p99). \u0647\u0630\u0647 \u0627\u0644\u0646\u0633\u0628 \u0645\u0648\u0635\u0648\u0644\u0629 \u0639\u0628\u0631 \u0627\u0644\u0632\u0645\u0646 \u062a\u0635\u0628\u062d \u062e\u0637\u0648\u0637 \u0627\u0644\u0640 cone."},{en:"So p50 = the median path \u2014 half the simulations ended above, half below. p95 = only 5% of paths reach higher. p05 = only 5% went lower. The lines are statistical boundaries, not forecasts of where price will go.",ar:"\u0625\u0630\u0627\u064b p50 = \u0627\u0644\u0640 median \u2014 \u0646\u0635\u0641 \u0627\u0644\u0640 simulations \u0627\u0646\u062a\u0647\u0649 \u0641\u0648\u0642\u0647\u060c \u0646\u0635\u0641 \u062a\u062d\u062a\u0647. p95 = \u0641\u0642\u0637 5% \u0645\u0646 \u0627\u0644\u0640 paths \u0648\u0635\u0644\u0648\u0627 \u0623\u0639\u0644\u0649 \u0645\u0646\u0647. p05 = \u0641\u0642\u0637 5% \u0646\u0632\u0644\u0648\u0627 \u0623\u062f\u0646\u0649 \u0645\u0646\u0647. \u0627\u0644\u062e\u0637\u0648\u0637 \u062d\u062f\u0648\u062f \u0625\u062d\u0635\u0627\u0626\u064a\u0629 \u0648\u0644\u064a\u0633\u062a \u062a\u0648\u0642\u0639\u0627\u064b \u0644\u0645\u0633\u0627\u0631 \u0627\u0644\u0633\u0639\u0631."}]},{heading:{en:"What the widening shape tells you",ar:"\u0645\u0627 \u0627\u0644\u0630\u064a \u062a\u0642\u0648\u0644\u0647 \u0634\u0643\u0644 \u0627\u0644\u0640 cone \u0627\u0644\u0645\u062a\u0648\u0633\u0639"},bullets:[{en:"The cone fans out because price uncertainty grows with time. One day forward is narrow; thirty days forward is much wider.",ar:"\u0627\u0644\u0640 cone \u064a\u062a\u0648\u0633\u0651\u0639 \u0644\u0623\u0646 \u0639\u062f\u0645 \u0627\u0644\u064a\u0642\u064a\u0646 \u0641\u064a \u0627\u0644\u0633\u0639\u0631 \u064a\u0643\u0628\u0631 \u0645\u0639 \u0627\u0644\u0632\u0645\u0646. \u064a\u0648\u0645 \u0644\u0644\u0623\u0645\u0627\u0645 \u0636\u064a\u0642 \u062c\u062f\u0627\u064b\u061b \u062b\u0644\u0627\u062b\u0648\u0646 \u064a\u0648\u0645\u0627\u064b \u0623\u0648\u0633\u0639 \u0628\u0643\u062b\u064a\u0631."},{en:"The rate of widening depends on the model's volatility parameter. High vol \u2192 fan opens quickly. Low vol \u2192 stays tight.",ar:"\u0645\u0639\u062f\u0651\u0644 \u0627\u0644\u062a\u0648\u0633\u0639 \u064a\u0639\u062a\u0645\u062f \u0639\u0644\u0649 \u0627\u0644\u0640 volatility \u0641\u064a \u0627\u0644\u0646\u0645\u0648\u0630\u062c. Vol \u0645\u0631\u062a\u0641\u0639 \u2192 \u0627\u0644\u0640 cone \u064a\u062a\u0648\u0633\u0639 \u0628\u0633\u0631\u0639\u0629. Vol \u0645\u0646\u062e\u0641\u0636 \u2192 \u064a\u0628\u0642\u0649 \u0636\u064a\u0642\u0627\u064b."},{en:"Price staying inside the sd1 envelope (between p25 and p75) is normal behavior. Touching sd2 (p05 / p95) is statistically rare \u2014 about 1 day in 20.",ar:"\u0628\u0642\u0627\u0621 \u0627\u0644\u0633\u0639\u0631 \u062f\u0627\u062e\u0644 sd1 envelope (\u0628\u064a\u0646 p25 \u0648 p75) \u0633\u0644\u0648\u0643 \u0637\u0628\u064a\u0639\u064a. \u0644\u0645\u0633 sd2 (p05 / p95) \u0646\u0627\u062f\u0631 \u0625\u062d\u0635\u0627\u0626\u064a\u0627\u064b \u2014 \u062d\u0648\u0627\u0644\u064a \u064a\u0648\u0645 \u0648\u0627\u062d\u062f \u0645\u0646 \u0643\u0644 20."}]},{heading:{en:"What the cone is NOT",ar:"\u0645\u0627 \u0644\u064a\u0633 \u0639\u0644\u064a\u0647 \u0627\u0644\u0640 cone"},paragraphs:[{en:"It's not a prediction. No cone line tells you where price will go \u2014 the cone is a probability map of where price might go. The trade comes from watching price move through those percentiles: stretched to \u22122\u03c3 = statistically oversold; touching +2\u03c3 on news = extreme move likely to mean-revert; breaking past +2\u03c3 without mean-reversion = regime has shifted.",ar:"\u0627\u0644\u0640 cone \u0644\u064a\u0633 \u062a\u0648\u0642\u0639\u0627\u064b. \u0644\u0627 \u064a\u0648\u062c\u062f \u062e\u0637 \u064a\u062e\u0628\u0631\u0643 \u0628\u0645\u0643\u0627\u0646 \u0627\u0644\u0633\u0639\u0631 \u2014 \u0627\u0644\u0640 cone \u0647\u0648 \u062e\u0631\u064a\u0637\u0629 \u0627\u062d\u062a\u0645\u0627\u0644\u064a\u0629 \u0644\u0645\u0643\u0627\u0646 \u0627\u0644\u0633\u0639\u0631 \u0627\u0644\u0645\u0645\u0643\u0646. \u0627\u0644\u0635\u0641\u0642\u0629 \u062a\u0623\u062a\u064a \u0645\u0646 \u0645\u0631\u0627\u0642\u0628\u0629 \u062a\u062d\u0631\u0651\u0643 \u0627\u0644\u0633\u0639\u0631 \u0639\u0628\u0631 \u0647\u0630\u0647 \u0627\u0644\u0646\u0633\u0628: \u0645\u0645\u062a\u062f \u0625\u0644\u0649 \u22122\u03c3 = oversold \u0625\u062d\u0635\u0627\u0626\u064a\u0627\u064b\u061b \u064a\u0644\u0645\u0633 +2\u03c3 \u0628\u0633\u0628\u0628 \u0623\u062e\u0628\u0627\u0631 = \u062d\u0631\u0643\u0629 extreme \u063a\u0627\u0644\u0628\u0627\u064b \u062a\u0639\u0648\u062f \u0644\u0644\u0648\u0633\u0637\u061b \u064a\u0643\u0633\u0631 +2\u03c3 \u062f\u0648\u0646 return = regime \u062a\u063a\u064a\u0651\u0631."}]}]},{id:"cone_models",category:"quant",order:3,title:{en:"GBM vs MJD vs Bates \u2014 Which Cone When",ar:"GBM \u0645\u0642\u0627\u0628\u0644 MJD \u0645\u0642\u0627\u0628\u0644 Bates \u2014 \u0623\u064a cone \u0648\u0645\u062a\u0649"},tags:["gbm","mjd","bates","cone","model","jumps","stochastic volatility","fat tails"],summary:{en:"Three cones, three assumptions about how the market really moves. GBM is the textbook baseline; MJD adds jumps; Bates adds stochastic vol on top. Each fits different regimes.",ar:"\u062b\u0644\u0627\u062b\u0629 cones \u0648\u062b\u0644\u0627\u062b\u0629 \u0627\u0641\u062a\u0631\u0627\u0636\u0627\u062a \u0639\u0646 \u062d\u0631\u0643\u0629 \u0627\u0644\u0633\u0648\u0642. GBM \u0647\u0648 \u0627\u0644\u0623\u0633\u0627\u0633 \u0627\u0644\u0643\u062a\u0627\u0628\u064a\u061b MJD \u064a\u0636\u064a\u0641 jumps\u061b Bates \u064a\u0636\u064a\u0641 stochastic vol \u0641\u0648\u0642\u0647. \u0643\u0644 \u0648\u0627\u062d\u062f \u064a\u0646\u0627\u0633\u0628 regime \u0645\u062e\u062a\u0644\u0641\u0627\u064b."},sections:[{heading:{en:"Side-by-side",ar:"\u0645\u0642\u0627\u0631\u0646\u0629 \u0645\u0628\u0627\u0634\u0631\u0629"},visual:"cone_models",paragraphs:[{en:"Same anchor, same horizon \u2014 three models. Left: GBM produces a symmetric narrow cone. Middle: MJD allows occasional jumps (visible as spikes in the paths), widening the tails. Right: Bates adds clustered volatility (vol changes over time), producing the widest and most realistic cone.",ar:"\u0646\u0641\u0633 \u0627\u0644\u0640 anchor\u060c \u0646\u0641\u0633 \u0627\u0644\u0640 horizon \u2014 \u062b\u0644\u0627\u062b\u0629 \u0646\u0645\u0627\u0630\u062c. \u064a\u0633\u0627\u0631: GBM \u064a\u064f\u0646\u062a\u062c cone \u0645\u062a\u0645\u0627\u062b\u0644 \u0648\u0636\u064a\u0642. \u0648\u0633\u0637: MJD \u064a\u0633\u0645\u062d \u0628\u0642\u0641\u0632\u0627\u062a \u0639\u0631\u0636\u064a\u0629 (\u062a\u0638\u0647\u0631 \u0643\u0640 spikes \u0641\u064a \u0627\u0644\u0640 paths) \u0648\u062a\u064f\u0648\u0633\u0651\u0639 \u0627\u0644\u0640 tails. \u064a\u0645\u064a\u0646: Bates \u064a\u0636\u064a\u0641 volatility \u0645\u062a\u0643\u062a\u0651\u0644 (\u0627\u0644\u0640 vol \u064a\u062a\u063a\u064a\u0651\u0631 \u0639\u0628\u0631 \u0627\u0644\u0632\u0645\u0646) \u0648\u064a\u064f\u0646\u062a\u062c cone \u0623\u0648\u0633\u0639 \u0648\u0623\u0643\u062b\u0631 \u0648\u0627\u0642\u0639\u064a\u0629."}]},{heading:{en:"GBM \u2014 Geometric Brownian Motion",ar:"GBM"},paragraphs:[{en:"The baseline. Assumes returns are normally distributed and volatility is constant. Smooth paths, thin tails, perfectly symmetric.",ar:"\u0627\u0644\u0623\u0633\u0627\u0633. \u064a\u0641\u062a\u0631\u0636 \u0623\u0646 \u0627\u0644\u0639\u0648\u0627\u0626\u062f \u062a\u0648\u0632\u064a\u0639 \u0637\u0628\u064a\u0639\u064a \u0648\u0627\u0644\u0640 volatility \u062b\u0627\u0628\u062a. Paths \u0646\u0627\u0639\u0645\u0629\u060c tails \u0631\u0641\u064a\u0639\u0629\u060c \u062a\u0645\u0627\u062b\u0644 \u062a\u0627\u0645."}],bullets:[{en:"Best when: markets are calm, no news catalysts, trading range-bound.",ar:"\u0623\u0641\u0636\u0644 \u0641\u064a: \u0623\u0633\u0648\u0627\u0642 \u0647\u0627\u062f\u0626\u0629\u060c \u0644\u0627 \u0623\u062e\u0628\u0627\u0631\u060c \u062a\u062f\u0627\u0648\u0644 \u062f\u0627\u062e\u0644 range."},{en:"Fails when: real-world fat tails (crashes, squeezes) are priced \u2014 GBM underestimates them.",ar:"\u064a\u0641\u0634\u0644 \u0639\u0646\u062f: fat tails \u062d\u0642\u064a\u0642\u064a\u0629 (\u0627\u0646\u0647\u064a\u0627\u0631\u0627\u062a\u060c squeezes) \u2014 GBM \u064a\u0633\u062a\u0647\u064a\u0646 \u0628\u0647\u0627."}]},{heading:{en:"MJD \u2014 Merton Jump Diffusion",ar:"MJD"},paragraphs:[{en:"GBM plus a jump process. At random times, price jumps up or down by a random amount. Captures news-driven gaps (earnings, CPI, Fed decisions) that a pure GBM can't see.",ar:"GBM \u0632\u0627\u0626\u062f jump process. \u0641\u064a \u0623\u0648\u0642\u0627\u062a \u0639\u0634\u0648\u0627\u0626\u064a\u0629\u060c \u0627\u0644\u0633\u0639\u0631 \u064a\u0642\u0641\u0632 \u0635\u0639\u0648\u062f\u0627\u064b \u0623\u0648 \u0647\u0628\u0648\u0637\u0627\u064b \u0628\u0645\u0642\u062f\u0627\u0631 \u0639\u0634\u0648\u0627\u0626\u064a. \u064a\u0644\u062a\u0642\u0637 news-driven gaps (\u0623\u0631\u0628\u0627\u062d\u060c CPI\u060c \u0642\u0631\u0627\u0631\u0627\u062a \u0641\u064a\u062f\u0631\u0627\u0644\u064a\u0629) \u0627\u0644\u062a\u064a \u0644\u0627 \u064a\u0631\u0627\u0647\u0627 GBM \u0627\u0644\u0635\u0627\u0641\u064a."}],bullets:[{en:"Best when: the asset has a history of gaps or sudden moves around scheduled events.",ar:"\u0623\u0641\u0636\u0644 \u0639\u0646\u062f: \u0627\u0644\u0623\u0635\u0644 \u0644\u0647 \u062a\u0627\u0631\u064a\u062e \u0645\u0646 \u0627\u0644\u0640 gaps \u0623\u0648 \u0627\u0644\u062a\u062d\u0631\u0643\u0627\u062a \u0627\u0644\u0645\u0641\u0627\u062c\u0626\u0629 \u062d\u0648\u0644 \u0623\u062d\u062f\u0627\u062b \u0645\u062c\u062f\u0648\u0644\u0629."},{en:"Fails when: you need vol to change over time (it doesn't \u2014 only the jump process adds randomness).",ar:"\u064a\u0641\u0634\u0644 \u0639\u0646\u062f: \u0627\u0644\u062d\u0627\u062c\u0629 \u0644\u062a\u063a\u064a\u0651\u0631 \u0627\u0644\u0640 vol \u0645\u0639 \u0627\u0644\u0648\u0642\u062a (\u0644\u0627 \u064a\u0641\u0639\u0644 \u2014 \u0641\u0642\u0637 jump process \u064a\u0636\u064a\u0641 \u0639\u0634\u0648\u0627\u0626\u064a\u0629)."}]},{heading:{en:"Bates \u2014 Stochastic Volatility with Jumps (SVJ)",ar:"Bates \u2014 Stochastic Vol + Jumps"},paragraphs:[{en:"MJD plus a second stochastic process for volatility itself. Vol drifts, clusters, and mean-reverts. Matches how real markets feel \u2014 calm periods, then explosive periods, then calm again.",ar:"MJD \u0632\u0627\u0626\u062f process \u062b\u0627\u0646\u064d \u0639\u0634\u0648\u0627\u0626\u064a \u0644\u0644\u0640 volatility \u0646\u0641\u0633\u0647. \u0627\u0644\u0640 vol \u064a\u0646\u062c\u0631\u0641 \u0648\u064a\u062a\u0643\u062a\u0651\u0644 \u0648\u064a\u0639\u0648\u062f \u0625\u0644\u0649 \u0627\u0644\u0648\u0633\u0637. \u064a\u0637\u0627\u0628\u0642 \u0643\u064a\u0641 \u062a\u0634\u0639\u0631 \u0627\u0644\u0623\u0633\u0648\u0627\u0642 \u0627\u0644\u062d\u0642\u064a\u0642\u064a\u0629 \u2014 \u0641\u062a\u0631\u0627\u062a \u0647\u062f\u0648\u0621\u060c \u062b\u0645 \u0641\u062a\u0631\u0627\u062a \u0645\u062a\u0641\u062c\u0631\u0629\u060c \u062b\u0645 \u0647\u062f\u0648\u0621."}],bullets:[{en:"Best when: you're trading through a regime shift (e.g., pre- vs post-FOMC) or volatility is obviously changing.",ar:"\u0623\u0641\u0636\u0644 \u0639\u0646\u062f: \u0627\u0644\u062a\u062f\u0627\u0648\u0644 \u062e\u0644\u0627\u0644 regime shift (\u0642\u0628\u0644/\u0628\u0639\u062f FOMC) \u0623\u0648 \u0639\u0646\u062f\u0645\u0627 \u0627\u0644\u0640 volatility \u064a\u062a\u063a\u064a\u0651\u0631 \u0628\u0648\u0636\u0648\u062d."},{en:"Fails when: the extra parameters overfit short histories \u2014 be careful on illiquid assets.",ar:"\u064a\u0641\u0634\u0644 \u0639\u0646\u062f: \u0627\u0644\u0640 parameters \u0627\u0644\u0625\u0636\u0627\u0641\u064a\u0629 \u062a\u0633\u0628\u0651\u0628 overfit \u0639\u0644\u0649 \u062a\u0627\u0631\u064a\u062e \u0642\u0635\u064a\u0631 \u2014 \u0627\u062d\u0630\u0631 \u0645\u0639 \u0627\u0644\u0623\u0635\u0648\u0644 illiquid."}]},{heading:{en:"Which to look at",ar:"\u0623\u064a\u0647\u0645\u0627 \u062a\u0646\u0638\u0631 \u0625\u0644\u064a\u0647"},paragraphs:[{en:"Compare them. When all three cones agree on a level, confidence is high. When MJD or Bates is materially wider than GBM, the market is pricing in jump or vol risk \u2014 respect that signal. If the current tick sits comfortably inside GBM but violates MJD, a jump has probably just happened.",ar:"\u0642\u0627\u0631\u0646 \u0628\u064a\u0646\u0647\u0645. \u0639\u0646\u062f\u0645\u0627 \u0627\u0644\u0640 cones \u0627\u0644\u062b\u0644\u0627\u062b\u0629 \u062a\u062a\u0641\u0642 \u0639\u0644\u0649 \u0645\u0633\u062a\u0648\u0649\u060c \u0627\u0644\u062b\u0642\u0629 \u0639\u0627\u0644\u064a\u0629. \u0639\u0646\u062f\u0645\u0627 MJD \u0623\u0648 Bates \u0623\u0648\u0633\u0639 \u0628\u0634\u0643\u0644 \u0645\u0644\u062d\u0648\u0638 \u0645\u0646 GBM\u060c \u0627\u0644\u0633\u0648\u0642 \u064a\u0633\u0639\u0651\u0631 jump \u0623\u0648 vol risk \u2014 \u0627\u062d\u062a\u0631\u0645 \u0627\u0644\u0625\u0634\u0627\u0631\u0629. \u0625\u0630\u0627 \u0627\u0644\u0633\u0639\u0631 \u0627\u0644\u062d\u0627\u0644\u064a \u062f\u0627\u062e\u0644 GBM \u0628\u0631\u0627\u062d\u0629 \u0644\u0643\u0646 \u064a\u062e\u0631\u0642 MJD\u060c \u0641\u0642\u0641\u0632\u0629 \u062d\u062f\u062b\u062a \u063a\u0627\u0644\u0628\u0627\u064b."}]}]},{id:"cone_horizons",category:"quant",order:4,title:{en:"Cone Horizons \u2014 Why We Ship Many",ar:"\u0622\u0641\u0627\u0642 \u0627\u0644\u0640 Cones \u2014 \u0644\u0645\u0627\u0630\u0627 \u0646\u0648\u0641\u0651\u0631 \u0639\u062f\u0629 \u0622\u0641\u0627\u0642"},tags:["cone","horizon","weekly","monthly","quarterly","now","extremes","anchor"],summary:{en:"One asset, multiple cones at different time horizons. Each answers a different question \u2014 where can price go today vs this week vs this quarter? Stacking them shows tight short-term expectations inside wide long-term possibilities.",ar:"\u0623\u0635\u0644 \u0648\u0627\u062d\u062f\u060c cones \u0645\u062a\u0639\u062f\u062f\u0629 \u0639\u0646\u062f \u0622\u0641\u0627\u0642 \u0632\u0645\u0646\u064a\u0629 \u0645\u062e\u062a\u0644\u0641\u0629. \u0643\u0644 \u0648\u0627\u062d\u062f \u064a\u062c\u064a\u0628 \u0633\u0624\u0627\u0644\u0627\u064b \u0645\u062e\u062a\u0644\u0641\u0627\u064b \u2014 \u0625\u0644\u0649 \u0623\u064a\u0646 \u064a\u0645\u0643\u0646 \u0644\u0644\u0633\u0639\u0631 \u0623\u0646 \u064a\u0630\u0647\u0628 \u0627\u0644\u064a\u0648\u0645\u060c \u0647\u0630\u0627 \u0627\u0644\u0623\u0633\u0628\u0648\u0639\u060c \u0623\u0648 \u0647\u0630\u0627 \u0627\u0644\u0631\u0628\u0639\u061f \u062a\u0643\u062f\u064a\u0633\u0647\u0627 \u064a\u064f\u0638\u0647\u0631 \u062a\u0648\u0642\u0639\u0627\u062a \u0642\u0635\u064a\u0631\u0629 \u0627\u0644\u0623\u0645\u062f \u0636\u064a\u0642\u0629 \u062f\u0627\u062e\u0644 \u0625\u0645\u0643\u0627\u0646\u064a\u0627\u062a \u0637\u0648\u064a\u0644\u0629 \u0627\u0644\u0623\u0645\u062f \u0648\u0627\u0633\u0639\u0629."},sections:[{heading:{en:"Horizons nest",ar:"\u0627\u0644\u0640 Horizons \u062a\u062a\u062f\u0627\u062e\u0644"},visual:"cone_horizons",paragraphs:[{en:"All horizons anchor at the same point (now). Each fans forward to a different distance. Near-term cones (NOW, WEEKLY) stay tight \u2014 uncertainty is small over a few days. MONTHLY opens up. QUARTERLY opens the widest.",ar:"\u0643\u0644 \u0627\u0644\u0640 horizons \u062a\u0628\u062f\u0623 \u0645\u0646 \u0646\u0641\u0633 \u0646\u0642\u0637\u0629 \u0627\u0644\u0640 anchor (\u0627\u0644\u0622\u0646). \u0643\u0644 \u0648\u0627\u062d\u062f \u064a\u062a\u0648\u0633\u0639 \u0625\u0644\u0649 \u0645\u0633\u0627\u0641\u0629 \u0645\u062e\u062a\u0644\u0641\u0629. \u0627\u0644\u0640 cones \u0642\u0635\u064a\u0631\u0629 \u0627\u0644\u0623\u0645\u062f (NOW, WEEKLY) \u062a\u0628\u0642\u0649 \u0636\u064a\u0642\u0629 \u2014 \u0639\u062f\u0645 \u0627\u0644\u064a\u0642\u064a\u0646 \u0635\u063a\u064a\u0631 \u062e\u0644\u0627\u0644 \u0639\u062f\u0629 \u0623\u064a\u0627\u0645. MONTHLY \u064a\u062a\u0633\u0639. QUARTERLY \u064a\u062a\u0633\u0639 \u0623\u0643\u062b\u0631."}]},{heading:{en:"NOW cone",ar:"NOW cone"},paragraphs:[{en:"A few days forward from the current close. Used for intraday and short-swing setups \u2014 fade extremes inside it, take breakouts of it.",ar:"\u0639\u062f\u0629 \u0623\u064a\u0627\u0645 \u0644\u0644\u0623\u0645\u0627\u0645 \u0645\u0646 \u0625\u063a\u0644\u0627\u0642 \u0627\u0644\u064a\u0648\u0645. \u064a\u064f\u0633\u062a\u062e\u062f\u0645 \u0644\u0644\u0640 setups \u062f\u0627\u062e\u0644 \u0627\u0644\u064a\u0648\u0645 \u0648\u0627\u0644\u0640 swing \u0627\u0644\u0642\u0635\u064a\u0631 \u2014 \u0627\u0639\u0645\u0644 fade \u0644\u0644\u0640 extremes \u062f\u0627\u062e\u0644\u0647\u060c \u0648\u062e\u0630 breakouts \u0645\u0646\u0647."}]},{heading:{en:"WEEKLY cone",ar:"WEEKLY cone"},paragraphs:[{en:"Anchored at the start of the trading week (Monday open) projecting 5-7 days forward. The natural horizon for weekly swing trades \u2014 align entries with it for better R:R.",ar:"\u0645\u0631\u0633\u0648\u0645 \u0645\u0646 \u0628\u062f\u0627\u064a\u0629 \u0627\u0644\u0623\u0633\u0628\u0648\u0639 \u0627\u0644\u062a\u062f\u0627\u0648\u0644\u064a (\u0627\u0641\u062a\u062a\u0627\u062d \u0627\u0644\u0627\u062b\u0646\u064a\u0646) \u0648\u064a\u0645\u062a\u062f 5\u20137 \u0623\u064a\u0627\u0645 \u0644\u0644\u0623\u0645\u0627\u0645. \u0627\u0644\u0640 horizon \u0627\u0644\u0637\u0628\u064a\u0639\u064a \u0644\u0635\u0641\u0642\u0627\u062a swing \u0627\u0644\u0623\u0633\u0628\u0648\u0639\u064a\u0629 \u2014 \u062a\u0648\u0627\u0641\u0642 \u0627\u0644\u062f\u062e\u0648\u0644 \u0645\u0639\u0647 \u064a\u064f\u062d\u0633\u0651\u0646 \u0627\u0644\u0640 R:R."}]},{heading:{en:"MONTHLY cone",ar:"MONTHLY cone"},paragraphs:[{en:"Anchored at the first trading day of the month, running ~20-22 trading days forward. Used for positional trades and to sanity-check whether a weekly move is still within expected monthly range.",ar:"\u0645\u0631\u0633\u0648\u0645 \u0645\u0646 \u0623\u0648\u0644 \u064a\u0648\u0645 \u062a\u062f\u0627\u0648\u0644\u064a \u0641\u064a \u0627\u0644\u0634\u0647\u0631 \u0648\u064a\u0645\u062a\u062f ~20\u201322 \u064a\u0648\u0645 \u062a\u062f\u0627\u0648\u0644\u064a \u0644\u0644\u0623\u0645\u0627\u0645. \u064a\u064f\u0633\u062a\u062e\u062f\u0645 \u0644\u0635\u0641\u0642\u0627\u062a positional \u0648\u0644\u0645\u0631\u0627\u062c\u0639\u0629 \u0645\u0627 \u0625\u0630\u0627 \u0643\u0627\u0646\u062a \u0627\u0644\u062d\u0631\u0643\u0629 \u0627\u0644\u0623\u0633\u0628\u0648\u0639\u064a\u0629 \u0644\u0627 \u062a\u0632\u0627\u0644 \u0636\u0645\u0646 \u0627\u0644\u0646\u0637\u0627\u0642 \u0627\u0644\u0634\u0647\u0631\u064a \u0627\u0644\u0645\u062a\u0648\u0642\u0639."}]},{heading:{en:"QUARTERLY cone",ar:"QUARTERLY cone"},paragraphs:[{en:"Anchored quarterly (start of Q1 / Q2 / Q3 / Q4). Spans ~63 trading days. Broad context \u2014 tells you if the monthly move is normal for the quarter or already stretched.",ar:"\u0645\u0631\u0633\u0648\u0645 \u0645\u0646 \u0628\u062f\u0627\u064a\u0629 \u0643\u0644 \u0631\u0628\u0639 (Q1/Q2/Q3/Q4) \u0648\u064a\u0645\u062a\u062f ~63 \u064a\u0648\u0645 \u062a\u062f\u0627\u0648\u0644\u064a. \u064a\u0648\u0641\u0651\u0631 \u0633\u064a\u0627\u0642\u0627\u064b \u0639\u0631\u064a\u0636\u0627\u064b \u2014 \u064a\u062e\u0628\u0631\u0643 \u0645\u0627 \u0625\u0630\u0627 \u0643\u0627\u0646\u062a \u0627\u0644\u062d\u0631\u0643\u0629 \u0627\u0644\u0634\u0647\u0631\u064a\u0629 \u0637\u0628\u064a\u0639\u064a\u0629 \u0644\u0644\u0631\u0628\u0639 \u0623\u0645 \u0645\u0645\u062a\u062f\u0629."}]},{heading:{en:"EXTREMES (ext_high / ext_low)",ar:"EXTREMES"},paragraphs:[{en:"Not a forward cone \u2014 rolling envelopes of the historical high and low over a lookback window (default 45 days). Useful as a hard reference: if price is outside ext_high, it's in truly uncharted territory for that window.",ar:"\u0644\u064a\u0633 cone \u0645\u0633\u062a\u0642\u0628\u0644\u064a \u2014 envelopes \u0645\u062a\u062d\u0631\u0651\u0643\u0629 \u0644\u0623\u0639\u0644\u0649 \u0648\u0623\u062f\u0646\u0649 \u0633\u0639\u0631 \u062a\u0627\u0631\u064a\u062e\u064a \u0636\u0645\u0646 \u0646\u0627\u0641\u0630\u0629 (\u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a 45 \u064a\u0648\u0645\u0627\u064b). \u0645\u0641\u064a\u062f \u0643\u0645\u0631\u062c\u0639 \u0642\u0627\u0633\u064d: \u0625\u0630\u0627 \u0627\u0644\u0633\u0639\u0631 \u062e\u0627\u0631\u062c ext_high\u060c \u0641\u0647\u0648 \u0641\u064a \u0645\u0646\u0637\u0642\u0629 \u063a\u064a\u0631 \u0645\u0633\u0628\u0648\u0642\u0629 \u0636\u0645\u0646 \u0647\u0630\u0647 \u0627\u0644\u0646\u0627\u0641\u0630\u0629."}]},{heading:{en:"How to combine them",ar:"\u0643\u064a\u0641 \u062a\u062c\u0645\u0639 \u0628\u064a\u0646\u0647\u0627"},bullets:[{en:"Strongest setups: price hits an extreme on the NOW cone AND is still inside the MONTHLY cone \u2192 high-quality mean-reversion.",ar:"\u0623\u0642\u0648\u0649 \u0627\u0644\u0640 setups: \u0627\u0644\u0633\u0639\u0631 \u064a\u0635\u0644 extreme \u0639\u0644\u0649 NOW cone \u0648\u0644\u0627 \u064a\u0632\u0627\u0644 \u062f\u0627\u062e\u0644 MONTHLY cone \u2192 mean-reversion \u0639\u0627\u0644\u064a \u0627\u0644\u062c\u0648\u062f\u0629."},{en:"Breakouts: price breaks out of WEEKLY cone while still inside QUARTERLY \u2192 directional move within long-term trend. Continue.",ar:"Breakouts: \u0627\u0644\u0633\u0639\u0631 \u064a\u0643\u0633\u0631 WEEKLY cone \u0648\u0647\u0648 \u0644\u0627 \u064a\u0632\u0627\u0644 \u062f\u0627\u062e\u0644 QUARTERLY \u2192 \u062d\u0631\u0643\u0629 directional \u0636\u0645\u0646 trend \u0637\u0648\u064a\u0644 \u0627\u0644\u0623\u0645\u062f. \u0627\u0633\u062a\u0645\u0631."},{en:"Danger: price is outside QUARTERLY \u2014 very stretched on every timescale. Either a genuine new regime or an extreme fade opportunity (check options + fundamentals lenses).",ar:"\u062e\u0637\u0631: \u0627\u0644\u0633\u0639\u0631 \u062e\u0627\u0631\u062c QUARTERLY \u2014 \u0645\u0645\u062a\u062f \u062c\u062f\u0627\u064b \u0639\u0644\u0649 \u0643\u0644 \u0627\u0644\u0645\u0642\u0627\u064a\u064a\u0633 \u0627\u0644\u0632\u0645\u0646\u064a\u0629. \u0625\u0645\u0651\u0627 regime \u062c\u062f\u064a\u062f \u062d\u0642\u064a\u0642\u064a \u0623\u0648 \u0641\u0631\u0635\u0629 fade extreme (\u0631\u0627\u062c\u0639 \u0639\u062f\u0633\u0629 options + fundamentals)."}]}]},{id:"gex",category:"quant",order:7,title:{en:"GEX \u2014 Dealer Gamma Exposure",ar:"GEX \u2014 \u0627\u0644\u0640 Gamma Exposure \u0644\u0644\u0640 Dealers"},tags:["gex","options","dealer","gamma","magnets","thin ice","springs"],summary:{en:"GEX measures how much dealers must hedge as price moves. Positive GEX zones stabilize price (magnets), negative GEX zones amplify moves (thin ice).",ar:"GEX \u064a\u0642\u064a\u0633 \u062d\u062c\u0645 \u0627\u0644\u0640 hedging \u0627\u0644\u0630\u064a \u064a\u062c\u0628 \u0639\u0644\u0649 \u0627\u0644\u0640 dealers \u062a\u0646\u0641\u064a\u0630\u0647 \u0643\u0644\u0645\u0627 \u062a\u062d\u0631\u0643 \u0627\u0644\u0633\u0639\u0631. \u0645\u0646\u0627\u0637\u0642 GEX \u0627\u0644\u0645\u0648\u062c\u0628\u0629 \u062a\u064f\u062b\u0628\u0651\u062a \u0627\u0644\u0633\u0639\u0631 (magnets)\u060c \u0648\u0627\u0644\u0633\u0627\u0644\u0628\u0629 \u062a\u0636\u062e\u0651\u0645 \u0627\u0644\u062d\u0631\u0643\u0629 (thin ice)."},sections:[{heading:{en:"What it is",ar:"\u0645\u0627 \u0647\u0648"},paragraphs:[{en:"When retail trades options, the market-maker (dealer) is on the other side. To stay neutral, the dealer hedges in the underlying. How much they hedge \u2014 and in which direction \u2014 depends on the gamma of their book at each strike. Summed across all open options contracts, that's GEX.",ar:"\u0644\u0645\u0627 \u0627\u0644\u0640 retail \u064a\u0634\u062a\u0631\u064a options\u060c \u0627\u0644\u0640 market-maker (\u0627\u0644\u0640 dealer) \u064a\u0643\u0648\u0646 \u0641\u064a \u0627\u0644\u0637\u0631\u0641 \u0627\u0644\u0645\u0642\u0627\u0628\u0644. \u0644\u0643\u064a \u064a\u0628\u0642\u0649 \u0627\u0644\u0640 dealer \u0645\u062d\u0627\u064a\u062f\u0627\u064b\u060c \u064a\u0642\u0648\u0645 \u0628\u0639\u0645\u0644 hedge \u0641\u064a \u0627\u0644\u0623\u0635\u0644 \u0627\u0644\u0623\u0633\u0627\u0633\u064a. \u062d\u062c\u0645 \u0648\u0627\u062a\u062c\u0627\u0647 \u0627\u0644\u0640 hedge \u064a\u0639\u062a\u0645\u062f \u0639\u0644\u0649 gamma \u0644\u0644\u0640 book \u0639\u0646\u062f \u0643\u0644 strike. \u0645\u062c\u0645\u0648\u0639 \u0647\u0630\u0627 \u0639\u0628\u0631 \u062c\u0645\u064a\u0639 \u0627\u0644\u0639\u0642\u0648\u062f \u0627\u0644\u0645\u0641\u062a\u0648\u062d\u0629 = GEX."}]},{heading:{en:"Positive vs negative GEX",ar:"GEX \u0627\u0644\u0645\u0648\u062c\u0628 \u0645\u0642\u0627\u0628\u0644 \u0627\u0644\u0633\u0627\u0644\u0628"},bullets:[{en:"Positive GEX \u2192 dealers sell into rallies and buy into dips \u2192 price compresses, ranges tighten. These strikes act like magnets.",ar:"GEX \u0645\u0648\u062c\u0628 \u2192 \u0627\u0644\u0640 dealers \u064a\u0628\u064a\u0639\u0648\u0646 \u0639\u0646\u062f \u0627\u0644\u0635\u0639\u0648\u062f \u0648\u064a\u0634\u062a\u0631\u0648\u0646 \u0639\u0646\u062f \u0627\u0644\u0647\u0628\u0648\u0637 \u2192 \u0627\u0644\u0633\u0639\u0631 \u064a\u0636\u064a\u0642 \u0641\u064a \u0646\u0637\u0627\u0642 \u0645\u062d\u062f\u062f. \u0647\u0630\u0647 \u0627\u0644\u0640 strikes \u062a\u0639\u0645\u0644 \u0643\u0640 magnets \u062a\u0634\u062f \u0627\u0644\u0633\u0639\u0631."},{en:"Negative GEX \u2192 dealers buy into rallies and sell into dips \u2192 price accelerates in whatever direction it starts moving. These strikes are thin ice \u2014 once price cracks through, moves get bigger.",ar:"GEX \u0633\u0627\u0644\u0628 \u2192 \u0627\u0644\u0640 dealers \u064a\u0634\u062a\u0631\u0648\u0646 \u0639\u0646\u062f \u0627\u0644\u0635\u0639\u0648\u062f \u0648\u064a\u0628\u064a\u0639\u0648\u0646 \u0639\u0646\u062f \u0627\u0644\u0647\u0628\u0648\u0637 \u2192 \u0627\u0644\u0633\u0639\u0631 \u064a\u062a\u0633\u0627\u0631\u0639 \u0641\u064a \u0623\u064a \u0627\u062a\u062c\u0627\u0647 \u064a\u0628\u062f\u0623 \u0641\u064a\u0647. \u0647\u0630\u0647 \u0627\u0644\u0640 strikes \u0647\u064a thin ice \u2014 \u0644\u0645\u0627 \u0627\u0644\u0633\u0639\u0631 \u064a\u062e\u062a\u0631\u0642\u0647\u0627\u060c \u0627\u0644\u062d\u0631\u0643\u0627\u062a \u062a\u062a\u0636\u062e\u0645."},{en:"Springs are a hybrid \u2014 supportive in one direction, unstable in the other.",ar:"\u0627\u0644\u0640 Springs \u0646\u0648\u0639 \u0647\u062c\u064a\u0646 \u2014 \u062f\u0627\u0639\u0645 \u0641\u064a \u0627\u062a\u062c\u0627\u0647\u060c \u063a\u064a\u0631 \u0645\u0633\u062a\u0642\u0631 \u0641\u064a \u0627\u0644\u0627\u062a\u062c\u0627\u0647 \u0627\u0644\u0622\u062e\u0631."}]},{heading:{en:"How to read it on the chart",ar:"\u0643\u064a\u0641 \u062a\u0642\u0631\u0623\u0647\u0627 \u0639\u0644\u0649 \u0627\u0644\u0634\u0627\u0631\u062a"},paragraphs:[{en:"Turn on the GEX dropdown and enable magnets / springs / reinforced / thin-ice toggles. Each selected level draws as a horizontal line at its strike. Price approaching a magnet level tends to pause there. Price breaking a thin-ice level often accelerates.",ar:"\u0627\u0641\u062a\u062d \u0642\u0627\u0626\u0645\u0629 GEX \u0648\u0641\u0639\u0651\u0644 \u0627\u0644\u0623\u0632\u0631\u0627\u0631 (magnets / springs / reinforced / thin-ice). \u0643\u0644 level \u0645\u064f\u0641\u0639\u0651\u0644 \u064a\u064f\u0631\u0633\u0645 \u0643\u062e\u0637 \u0623\u0641\u0642\u064a \u0639\u0646\u062f strike \u0627\u0644\u062e\u0627\u0635 \u0628\u0647. \u0627\u0642\u062a\u0631\u0627\u0628 \u0627\u0644\u0633\u0639\u0631 \u0645\u0646 magnet \u063a\u0627\u0644\u0628\u0627\u064b \u064a\u0628\u0637\u0651\u0626\u0647. \u0643\u0633\u0631 thin-ice \u063a\u0627\u0644\u0628\u0627\u064b \u064a\u0633\u0631\u0651\u0639\u0647."}]},{heading:{en:"Caveats",ar:"\u062a\u062d\u0641\u0638\u0627\u062a"},bullets:[{en:"GEX is computed once at end-of-day from the CBOE options snapshot. Intraday it's stale \u2014 use it as structural context, not tick-by-tick signal.",ar:"GEX \u064a\u064f\u062d\u062a\u0633\u0628 \u0645\u0631\u0629 \u0648\u0627\u062d\u062f\u0629 \u0646\u0647\u0627\u064a\u0629 \u0627\u0644\u064a\u0648\u0645 \u0645\u0646 snapshot \u0627\u0644\u0640 CBOE. \u062e\u0644\u0627\u0644 \u0627\u0644\u064a\u0648\u0645 \u062a\u0643\u0648\u0646 \u0627\u0644\u0623\u0631\u0642\u0627\u0645 \u0642\u062f\u064a\u0645\u0629 \u2014 \u0627\u0633\u062a\u0639\u0645\u0644\u0647\u0627 \u0643\u0633\u064a\u0627\u0642 \u0647\u064a\u0643\u0644\u064a\u060c \u0644\u064a\u0633 \u0643\u0625\u0634\u0627\u0631\u0629 \u0644\u062d\u0638\u064a\u0629."},{en:"Strong news flow overrides GEX structure. Don't expect magnets to hold during a Fed press conference.",ar:"\u0627\u0644\u0623\u062e\u0628\u0627\u0631 \u0627\u0644\u0642\u0648\u064a\u0629 \u062a\u0644\u063a\u064a \u0647\u064a\u0643\u0644 GEX. \u0644\u0627 \u062a\u062a\u0648\u0642\u0639 \u0623\u0646 \u0627\u0644\u0640 magnets \u062a\u0635\u0645\u062f \u062e\u0644\u0627\u0644 \u0645\u0624\u062a\u0645\u0631 \u0627\u0644\u0641\u064a\u062f\u0631\u0627\u0644\u064a \u0645\u062b\u0644\u0627\u064b."}]}]},{id:"page_quant_analysis",category:"terminal_pages",order:1,title:{en:"Quant Analysis Page",ar:"\u0635\u0641\u062d\u0629 Quant Analysis"},tags:["quant analysis","chart","cones","bands","gex","signals","positions"],summary:{en:"The main chart surface. Shows live price + every analytical overlay in one view: cones, bands, GEX levels, positions, drawings.",ar:"\u0635\u0641\u062d\u0629 \u0627\u0644\u0634\u0627\u0631\u062a \u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629. \u062a\u0639\u0631\u0636 \u0627\u0644\u0633\u0639\u0631 \u0627\u0644\u0644\u062d\u0638\u064a \u0645\u0639 \u0643\u0644 \u0627\u0644\u0637\u0628\u0642\u0627\u062a \u0627\u0644\u062a\u062d\u0644\u064a\u0644\u064a\u0629 \u0641\u064a \u0645\u0643\u0627\u0646 \u0648\u0627\u062d\u062f: cones\u060c bands\u060c GEX levels\u060c positions\u060c \u0648\u0627\u0644\u0631\u0633\u0648\u0645\u0627\u062a."},sections:[{heading:{en:"What you see",ar:"\u0645\u0627 \u062a\u0631\u0627\u0647"},paragraphs:[{en:"A candlestick chart powered by LWC v5. The top toolbar lets you toggle every overlay group and switch timeframes. The right sidebar holds your open positions and exposure summary.",ar:"\u0634\u0627\u0631\u062a \u0634\u0645\u0648\u0639 \u064a\u0639\u0645\u0644 \u0639\u0644\u0649 LWC v5. \u0627\u0644\u0640 toolbar \u0627\u0644\u0639\u0644\u0648\u064a \u064a\u0633\u0645\u062d \u0644\u0643 \u0628\u062a\u0641\u0639\u064a\u0644 \u0623\u064a \u0637\u0628\u0642\u0629 \u0648\u0627\u0644\u062a\u0628\u062f\u064a\u0644 \u0628\u064a\u0646 \u0627\u0644\u0640 timeframes. \u0627\u0644\u0640 sidebar \u0627\u0644\u064a\u0645\u064a\u0646 \u064a\u0639\u0631\u0636 \u0627\u0644\u0635\u0641\u0642\u0627\u062a \u0627\u0644\u0645\u0641\u062a\u0648\u062d\u0629 \u0648\u062e\u0644\u0627\u0635\u0629 \u0627\u0644\u0645\u062e\u0627\u0637\u0631."}]},{heading:{en:"Top toolbar \u2014 button by button",ar:"\u0627\u0644\u0640 Toolbar \u0627\u0644\u0639\u0644\u0648\u064a \u2014 \u0632\u0631 \u0628\u0632\u0631"},bullets:[{en:"TICKER label (orange) \u2014 the active instrument. TRADE button flips the quick BUY/SELL bar next to it.",ar:"\u0627\u0633\u0645 \u0627\u0644\u0640 TICKER (\u0628\u0631\u062a\u0642\u0627\u0644\u064a) \u2014 \u0627\u0644\u0623\u062f\u0627\u0629 \u0627\u0644\u0645\u0641\u0639\u0644\u0629. \u0632\u0631 TRADE \u064a\u064f\u0638\u0647\u0631 \u0623\u0648 \u064a\u062e\u0641\u064a \u0634\u0631\u064a\u0637 BUY/SELL \u0627\u0644\u0633\u0631\u064a\u0639 \u0628\u062c\u0627\u0646\u0628\u0647."},{en:"Timeframe buttons (M1 \u2192 D1) \u2014 pick your candle resolution. The bar timer next to them shows seconds left until the current bar closes.",ar:"\u0623\u0632\u0631\u0627\u0631 \u0627\u0644\u0640 timeframe (\u0645\u0646 M1 \u0625\u0644\u0649 D1) \u2014 \u0627\u062e\u062a\u0631 \u062f\u0642\u0629 \u0627\u0644\u0634\u0645\u0648\u0639. \u0627\u0644\u0645\u0624\u0642\u062a \u0628\u062c\u0627\u0646\u0628\u0647\u0627 \u064a\u0639\u0631\u0636 \u0627\u0644\u062b\u0648\u0627\u0646\u064a \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629 \u062d\u062a\u0649 \u0625\u063a\u0644\u0627\u0642 \u0627\u0644\u0634\u0645\u0639\u0629 \u0627\u0644\u062d\u0627\u0644\u064a\u0629."},{en:"CONES dropdown \u2014 enable GBM / MJD / Bates envelopes by horizon (now, weekly, monthly, extremes, quarterly).",ar:"\u0642\u0627\u0626\u0645\u0629 CONES \u2014 \u0641\u0639\u0651\u0644 envelopes \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0640 GBM / MJD / Bates \u062d\u0633\u0628 \u0627\u0644\u0623\u0641\u0642 \u0627\u0644\u0632\u0645\u0646\u064a (now, weekly, monthly, extremes, quarterly)."},{en:"BANDS dropdown \u2014 probability bands around price. Different from cones: bands are rolling, cones are forward.",ar:"\u0642\u0627\u0626\u0645\u0629 BANDS \u2014 probability bands \u062d\u0648\u0644 \u0627\u0644\u0633\u0639\u0631. \u062a\u062e\u062a\u0644\u0641 \u0639\u0646 \u0627\u0644\u0640 cones: \u0627\u0644\u0640 bands \u062a\u062a\u062d\u0631\u0643 \u0645\u0639 \u0627\u0644\u0633\u0639\u0631\u060c \u0627\u0644\u0640 cones \u062a\u062a\u062d\u0631\u0643 \u0644\u0644\u0623\u0645\u0627\u0645."},{en:"GEX dropdown \u2014 magnets / springs / reinforced / thin-ice levels (see GEX article).",ar:"\u0642\u0627\u0626\u0645\u0629 GEX \u2014 \u0645\u0633\u062a\u0648\u064a\u0627\u062a magnets / springs / reinforced / thin-ice (\u0631\u0627\u062c\u0639 \u0645\u0642\u0627\u0644 GEX)."},{en:"BATES dropdown \u2014 variant of cones using stochastic volatility + jumps. Use when markets are regime-shifting or news-driven.",ar:"\u0642\u0627\u0626\u0645\u0629 BATES \u2014 \u0646\u0633\u062e\u0629 \u0645\u0646 \u0627\u0644\u0640 cones \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 stochastic volatility + jumps. \u0627\u0633\u062a\u0639\u0645\u0644\u0647\u0627 \u0644\u0645\u0627 \u0627\u0644\u0633\u0648\u0642 \u064a\u062a\u063a\u064a\u0631 \u0646\u0638\u0627\u0645\u0647 \u0623\u0648 \u062a\u0647\u064a\u0645\u0646 \u0639\u0644\u064a\u0647 \u0627\u0644\u0623\u062e\u0628\u0627\u0631."},{en:"SOLID DEV toggle \u2014 switches cone deviation lines between solid and dashed styles.",ar:"\u0632\u0631 SOLID DEV \u2014 \u064a\u0628\u062f\u0651\u0644 \u062e\u0637\u0648\u0637 \u0627\u0644\u0627\u0646\u062d\u0631\u0627\u0641 (sd1/sd2/sd3) \u0628\u064a\u0646 solid \u0648 dashed."},{en:"INDICATORS dropdown \u2014 volume bars, RSI, ATR, EMA bands, VWAP, open positions overlay, trade history.",ar:"\u0642\u0627\u0626\u0645\u0629 INDICATORS \u2014 volume bars\u060c RSI\u060c ATR\u060c EMA bands\u060c VWAP\u060c \u0637\u0628\u0642\u0629 \u0627\u0644\u0635\u0641\u0642\u0627\u062a \u0627\u0644\u0645\u0641\u062a\u0648\u062d\u0629\u060c \u0633\u062c\u0644 \u0627\u0644\u062a\u062f\u0627\u0648\u0644\u0627\u062a."},{en:"Drawing toolbar \u2014 trendlines, rectangles, pen, position sketches. Drawings persist per ticker.",ar:"\u0634\u0631\u064a\u0637 \u0627\u0644\u0631\u0633\u0648\u0645\u0627\u062a \u2014 trendlines\u060c \u0631\u0633\u0645 \u0645\u0633\u062a\u0637\u064a\u0644\u0627\u062a\u060c \u0642\u0644\u0645\u060c \u0631\u0633\u0645 \u0635\u0641\u0642\u0627\u062a. \u0627\u0644\u0631\u0633\u0648\u0645\u0627\u062a \u0645\u062d\u0641\u0648\u0638\u0629 \u0644\u0643\u0644 ticker."},{en:"ORDER button \u2014 opens the full order ticket (manual entry with SL/TP confirm). Green when live trading is on.",ar:"\u0632\u0631 ORDER \u2014 \u064a\u0641\u062a\u062d order ticket \u0643\u0627\u0645\u0644 (\u0625\u062f\u062e\u0627\u0644 \u064a\u062f\u0648\u064a \u0645\u0639 \u062a\u0623\u0643\u064a\u062f SL/TP). \u064a\u0643\u0648\u0646 \u0623\u062e\u0636\u0631 \u0644\u0645\u0627 \u0627\u0644\u0640 live trading \u0645\u0641\u0639\u0651\u0644."},{en:"F (Fit) \u2014 snaps the visible range to the last 600 candles and re-enables auto-scale.",ar:"\u0632\u0631 F (Fit) \u2014 \u064a\u0636\u0628\u0637 \u0627\u0644\u0646\u0637\u0627\u0642 \u0627\u0644\u0645\u0631\u0626\u064a \u0644\u064a\u064f\u0638\u0647\u0631 \u0622\u062e\u0631 600 \u0634\u0645\u0639\u0629 \u0648\u064a\u064f\u0639\u064a\u062f \u062a\u0641\u0639\u064a\u0644 auto-scale."},{en:"Camera \u2014 exports the current chart as a PNG.",ar:"\u0632\u0631 \u0627\u0644\u0643\u0627\u0645\u064a\u0631\u0627 \u2014 \u064a\u064f\u0635\u062f\u0651\u0631 \u0627\u0644\u0634\u0627\u0631\u062a \u0627\u0644\u062d\u0627\u0644\u064a \u0643\u0635\u0648\u0631\u0629 PNG."}]},{heading:{en:"Quick trade bar",ar:"\u0634\u0631\u064a\u0637 \u0627\u0644\u062a\u062f\u0627\u0648\u0644 \u0627\u0644\u0633\u0631\u064a\u0639"},paragraphs:[{en:"Activate via the TRADE button. Shows BUY (green) + lot size input + SELL (red). Click BUY or SELL \u2192 instant market order at the bid/ask, no confirmation. Default lot = the symbol's minimum. See the separate quick-trade article for PENDING orders and drag-to-modify SL/TP.",ar:"\u0641\u0639\u0651\u0644 \u0627\u0644\u0634\u0631\u064a\u0637 \u0628\u0632\u0631 TRADE. \u064a\u0638\u0647\u0631 BUY (\u0623\u062e\u0636\u0631) + \u062d\u0642\u0644 \u062d\u062c\u0645 \u0627\u0644\u0635\u0641\u0642\u0629 + SELL (\u0623\u062d\u0645\u0631). \u0627\u0644\u0636\u063a\u0637 \u0639\u0644\u0649 BUY \u0623\u0648 SELL \u2192 market order \u0641\u0648\u0631\u064a \u0639\u0644\u0649 \u0627\u0644\u0640 bid/ask \u0628\u062f\u0648\u0646 \u062a\u0623\u0643\u064a\u062f. \u062d\u062c\u0645 \u0627\u0644\u0635\u0641\u0642\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a = \u0627\u0644\u062d\u062f \u0627\u0644\u0623\u062f\u0646\u0649 \u0644\u0644\u0631\u0645\u0632. \u0631\u0627\u062c\u0639 \u0645\u0642\u0627\u0644 quick-trade \u0644\u0644\u0640 PENDING orders \u0648\u0637\u0631\u064a\u0642\u0629 \u0633\u062d\u0628 SL/TP."}]},{heading:{en:"Sub-tabs: LIVE vs REPLAY",ar:"\u0627\u0644\u062a\u0628\u0648\u064a\u0628\u0627\u062a \u0627\u0644\u0641\u0631\u0639\u064a\u0629: LIVE \u0645\u0642\u0627\u0628\u0644 REPLAY"},paragraphs:[{en:"LIVE = real-time market. REPLAY = historical playback \u2014 scrub through past bars to review setups after the fact. Only one sub-tab active at a time.",ar:"LIVE = \u0627\u0644\u0633\u0648\u0642 \u0641\u064a \u0627\u0644\u0648\u0642\u062a \u0627\u0644\u062d\u0642\u064a\u0642\u064a. REPLAY = \u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u062a\u0627\u0631\u064a\u062e\u064a\u0629 \u2014 \u062a\u0646\u0642\u0651\u0644 \u0639\u0628\u0631 \u0627\u0644\u0634\u0645\u0648\u0639 \u0627\u0644\u0645\u0627\u0636\u064a\u0629 \u0644\u0645\u0631\u0627\u062c\u0639\u0629 \u0627\u0644\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0644\u0627\u062d\u0642\u0627\u064b. \u062a\u0628\u0648\u064a\u0628 \u0648\u0627\u062d\u062f \u0641\u0642\u0637 \u0645\u0641\u0639\u0651\u0644 \u0641\u064a \u0643\u0644 \u0645\u0631\u0629."}]}]},{id:"page_options_heatmap",category:"terminal_pages",order:10,title:{en:"Options Quant \u2014 Heat Map",ar:"Options Quant \u2014 Heat Map"},tags:["options","heatmap","probability field","max pain","flip","walls","hvl","expected move"],summary:{en:"A 2-D probability surface derived from live options pricing. X = forward days, Y = price. Brighter cells = higher options-implied probability. All the classic positioning lines (MAX PAIN, FLIP, walls, HVL, EXP\xb1) are overlaid.",ar:"\u0633\u0637\u062d \u0627\u062d\u062a\u0645\u0627\u0644\u064a \u062b\u0646\u0627\u0626\u064a \u0627\u0644\u0623\u0628\u0639\u0627\u062f \u0645\u0634\u062a\u0642 \u0645\u0646 \u062a\u0633\u0639\u064a\u0631 \u0627\u0644\u0640 options \u0627\u0644\u062d\u064a. X = \u0627\u0644\u0623\u064a\u0627\u0645 \u0644\u0644\u0623\u0645\u0627\u0645\u060c Y = \u0627\u0644\u0633\u0639\u0631. \u0627\u0644\u062e\u0644\u0627\u064a\u0627 \u0627\u0644\u0623\u0634\u062f \u062d\u0631\u0627\u0631\u0629 = \u0627\u062d\u062a\u0645\u0627\u0644 \u0623\u0639\u0644\u0649. \u0643\u0644 \u062e\u0637\u0648\u0637 \u0627\u0644\u0640 positioning \u0627\u0644\u0643\u0644\u0627\u0633\u064a\u0643\u064a\u0629 (MAX PAIN, FLIP, walls, HVL, EXP\xb1) \u062a\u064f\u0639\u0631\u0636 \u0641\u0648\u0642\u0647."},sections:[{heading:{en:"What you're looking at",ar:"\u0645\u0627 \u0627\u0644\u0630\u064a \u062a\u0631\u0627\u0647"},visual:"options_heatmap",paragraphs:[{en:"Each cell in the grid is the market-implied probability that price will be at that level on that future day. The implied distribution comes from the full options chain, not from a model. Hotter colors (yellow \u2192 orange) = more mass, darker = less. The ridge running through the middle is the market's expected path.",ar:"\u0643\u0644 \u062e\u0644\u064a\u0629 \u0641\u064a \u0627\u0644\u0640 grid \u0647\u064a \u0627\u0644\u0627\u062d\u062a\u0645\u0627\u0644 \u0627\u0644\u0630\u064a \u064a\u0633\u0639\u0651\u0631\u0647 \u0627\u0644\u0633\u0648\u0642 \u0628\u0623\u0646 \u0627\u0644\u0633\u0639\u0631 \u0633\u064a\u0643\u0648\u0646 \u0639\u0646\u062f \u0630\u0644\u0643 \u0627\u0644\u0645\u0633\u062a\u0648\u0649 \u0641\u064a \u0630\u0644\u0643 \u0627\u0644\u064a\u0648\u0645 \u0627\u0644\u0645\u0633\u062a\u0642\u0628\u0644\u064a. \u0627\u0644\u062a\u0648\u0632\u064a\u0639 \u0627\u0644\u0636\u0645\u0646\u064a \u064a\u0623\u062a\u064a \u0645\u0646 \u0627\u0644\u0640 options chain \u0627\u0644\u0643\u0627\u0645\u0644\u060c \u0648\u0644\u064a\u0633 \u0645\u0646 \u0646\u0645\u0648\u0630\u062c. \u0627\u0644\u0623\u0644\u0648\u0627\u0646 \u0627\u0644\u0623\u0643\u062b\u0631 \u062d\u0631\u0627\u0631\u0629 (\u0623\u0635\u0641\u0631 \u2192 \u0628\u0631\u062a\u0642\u0627\u0644\u064a) = \u0643\u062a\u0644\u0629 \u0623\u0639\u0644\u0649\u060c \u0648\u0627\u0644\u0623\u063a\u0645\u0642 = \u0623\u0642\u0644. \u0627\u0644\u062d\u0627\u0641\u0629 \u0627\u0644\u062a\u064a \u062a\u0645\u062a\u062f \u0641\u064a \u0627\u0644\u0645\u0646\u062a\u0635\u0641 \u0647\u064a \u0627\u0644\u0645\u0633\u0627\u0631 \u0627\u0644\u0645\u062a\u0648\u0642\u0639 \u0644\u0644\u0633\u0648\u0642."}]},{heading:{en:"Reading the overlay lines",ar:"\u0642\u0631\u0627\u0621\u0629 \u0627\u0644\u062e\u0637\u0648\u0637 \u0627\u0644\u0645\u064f\u0636\u0627\u0641\u0629"},bullets:[{en:"SPOT (cyan) \u2014 the current price. Price sits here now. The pill on the left always matches the chart Y-axis.",ar:"SPOT (\u0633\u0645\u0627\u0648\u064a) \u2014 \u0627\u0644\u0633\u0639\u0631 \u0627\u0644\u062d\u0627\u0644\u064a. \u0627\u0644\u0633\u0639\u0631 \u0647\u0646\u0627 \u0627\u0644\u0622\u0646. \u0627\u0644\u0640 pill \u0639\u0644\u0649 \u0627\u0644\u064a\u0633\u0627\u0631 \u064a\u0637\u0627\u0628\u0642 \u062f\u0627\u0626\u0645\u0627\u064b \u0645\u062d\u0648\u0631 Y \u0639\u0644\u0649 \u0627\u0644\u0634\u0627\u0631\u062a."},{en:"FLIP (orange) \u2014 the zero line for dealer gamma. Below FLIP dealers are short gamma (moves amplify); above FLIP they're long gamma (moves compress). This is the single most important level.",ar:"FLIP (\u0628\u0631\u062a\u0642\u0627\u0644\u064a) \u2014 \u062e\u0637 \u0627\u0644\u0635\u0641\u0631 \u0644\u0644\u0640 dealer gamma. \u062a\u062d\u062a FLIP \u064a\u0643\u0648\u0646 \u0627\u0644\u0640 dealers \u0642\u0635\u064a\u0631\u064a \u0627\u0644\u0640 gamma (\u0627\u0644\u062d\u0631\u0643\u0627\u062a \u062a\u062a\u0636\u062e\u0645)\u061b \u0641\u0648\u0642\u0647\u0627 \u064a\u0643\u0648\u0646\u0648\u0646 \u0637\u0648\u064a\u0644\u064a \u0627\u0644\u0640 gamma (\u0627\u0644\u062d\u0631\u0643\u0627\u062a \u062a\u0647\u062f\u0623). \u0647\u0630\u0627 \u0623\u0647\u0645 \u0645\u0633\u062a\u0648\u0649."},{en:"MAX PAIN (purple) \u2014 the strike where the maximum number of options expire worthless. Price tends to gravitate here into expiry.",ar:"MAX PAIN (\u0628\u0646\u0641\u0633\u062c\u064a) \u2014 \u0627\u0644\u0640 strike \u062d\u064a\u062b \u0623\u0643\u0628\u0631 \u0639\u062f\u062f \u0645\u0646 \u0627\u0644\u0640 options \u064a\u0646\u062a\u0647\u064a \u0628\u0644\u0627 \u0642\u064a\u0645\u0629. \u0627\u0644\u0633\u0639\u0631 \u064a\u0645\u064a\u0644 \u0644\u0644\u0627\u0646\u062c\u0630\u0627\u0628 \u0625\u0644\u064a\u0647 \u0645\u0639 \u0627\u0642\u062a\u0631\u0627\u0628 expiry."},{en:"CALL WALL (red) \u2014 the strike with the heaviest call positioning above spot. Acts as resistance when gamma is positive \u2014 dealers sell into rallies toward it.",ar:"CALL WALL (\u0623\u062d\u0645\u0631) \u2014 \u0627\u0644\u0640 strike \u0627\u0644\u0630\u064a \u064a\u062d\u0645\u0644 \u0623\u062b\u0642\u0644 call positioning \u0641\u0648\u0642 \u0627\u0644\u0640 spot. \u064a\u0639\u0645\u0644 \u0643\u0645\u0642\u0627\u0648\u0645\u0629 \u0639\u0646\u062f\u0645\u0627 \u0627\u0644\u0640 gamma \u0625\u064a\u062c\u0627\u0628\u064a \u2014 \u0627\u0644\u0640 dealers \u064a\u0628\u064a\u0639\u0648\u0646 \u0641\u064a \u0627\u0644\u0627\u0631\u062a\u0641\u0627\u0639\u0627\u062a \u0646\u062d\u0648\u0647."},{en:"PUT WALL (green) \u2014 the strike with the heaviest put positioning below spot. Acts as support for the same gamma reason.",ar:"PUT WALL (\u0623\u062e\u0636\u0631) \u2014 \u0627\u0644\u0640 strike \u0627\u0644\u0630\u064a \u064a\u062d\u0645\u0644 \u0623\u062b\u0642\u0644 put positioning \u062a\u062d\u062a \u0627\u0644\u0640 spot. \u064a\u0639\u0645\u0644 \u0643\u062f\u0639\u0645 \u0644\u0644\u0633\u0628\u0628 \u0646\u0641\u0633\u0647 (gamma)."},{en:"HVL (yellow) \u2014 High-Volume Level, the single strike with the most total gamma. A magnet zone.",ar:"HVL (\u0623\u0635\u0641\u0631) \u2014 High-Volume Level\u060c \u0627\u0644\u0640 strike \u0627\u0644\u0630\u064a \u064a\u062d\u0645\u0644 \u0623\u0639\u0644\u0649 gamma \u0625\u062c\u0645\u0627\u0644\u064a. \u0645\u0646\u0637\u0642\u0629 \u0645\u063a\u0646\u0627\u0637\u064a\u0633."},{en:"EXP+ / EXP\u2212 (grey dashed) \u2014 the options-implied expected move upper and lower bounds (from the ATM straddle). Price inside EXP\xb1 is within the market's pricing-in; outside it is anomalous.",ar:"EXP+ / EXP\u2212 (\u0645\u062a\u0642\u0637\u0639 \u0631\u0645\u0627\u062f\u064a) \u2014 \u0627\u0644\u062d\u062f\u0648\u062f \u0627\u0644\u0639\u0644\u0648\u064a\u0629 \u0648\u0627\u0644\u0633\u0641\u0644\u064a\u0629 \u0644\u0644\u062d\u0631\u0643\u0629 \u0627\u0644\u0645\u062a\u0648\u0642\u0639\u0629 \u0627\u0644\u0636\u0645\u0646\u064a\u0629 \u0645\u0646 \u0627\u0644\u0640 options (\u0645\u0646 ATM straddle). \u0627\u0644\u0633\u0639\u0631 \u062f\u0627\u062e\u0644 EXP\xb1 \u062f\u0627\u062e\u0644 \u0645\u0627 \u064a\u0633\u0639\u0651\u0631\u0647 \u0627\u0644\u0633\u0648\u0642\u061b \u062e\u0627\u0631\u062c\u0647 \u0634\u0627\u0630."}]},{heading:{en:"Reading the shape of the surface",ar:"\u0642\u0631\u0627\u0621\u0629 \u0634\u0643\u0644 \u0627\u0644\u0633\u0637\u062d"},bullets:[{en:"Bright narrow ridge = market has tight conviction on a single path (low implied vol, calm week).",ar:"\u062d\u0627\u0641\u0629 \u0636\u064a\u0642\u0629 \u0648\u0645\u0634\u0631\u0642\u0629 = \u0627\u0644\u0633\u0648\u0642 \u0645\u062a\u0641\u0642 \u0639\u0644\u0649 \u0645\u0633\u0627\u0631 \u0648\u0627\u062d\u062f (implied vol \u0645\u0646\u062e\u0641\u0636\u060c \u0623\u0633\u0628\u0648\u0639 \u0647\u0627\u062f\u0626)."},{en:"Broad glow = wide uncertainty (earnings, Fed week, geopolitical event).",ar:"\u062a\u0648\u0647\u0651\u062c \u0648\u0627\u0633\u0639 = \u0639\u062f\u0645 \u064a\u0642\u064a\u0646 \u0648\u0627\u0633\u0639 (\u0623\u0631\u0628\u0627\u062d\u060c \u0623\u0633\u0628\u0648\u0639 \u0641\u064a\u062f\u0631\u0627\u0644\u064a\u060c \u062d\u062f\u062b \u062c\u064a\u0648\u0633\u064a\u0627\u0633\u064a)."},{en:"Asymmetric density (more heat above vs below spot) = skew. Options are pricing in a directional bias.",ar:"\u0643\u062a\u0644\u0629 \u063a\u064a\u0631 \u0645\u062a\u0645\u0627\u062b\u0644\u0629 (\u062d\u0631\u0627\u0631\u0629 \u0641\u0648\u0642 \u0627\u0644\u0640 spot \u0623\u0643\u0628\u0631 \u0623\u0648 \u0623\u0642\u0644) = skew. \u0627\u0644\u0640 options \u062a\u0633\u0639\u0651\u0631 \u0627\u0646\u062d\u064a\u0627\u0632\u0627\u064b \u0627\u062a\u062c\u0627\u0647\u064a\u0627\u064b."},{en:"A hot cell far from spot = the market sees that strike as attainable. Often a magnet for price.",ar:"\u062e\u0644\u064a\u0629 \u062d\u0627\u0631\u0629 \u0628\u0639\u064a\u062f\u0629 \u0639\u0646 \u0627\u0644\u0640 spot = \u0627\u0644\u0633\u0648\u0642 \u064a\u0631\u0649 \u0623\u0646 \u0647\u0630\u0627 \u0627\u0644\u0640 strike \u0642\u0627\u0628\u0644 \u0644\u0644\u0648\u0635\u0648\u0644. \u063a\u0627\u0644\u0628\u0627\u064b \u0645\u063a\u0646\u0627\u0637\u064a\u0633 \u0644\u0644\u0633\u0639\u0631."}]},{heading:{en:"BLEND mode",ar:"BLEND mode"},paragraphs:[{en:"Toggle BLEND on and the heatmap fuses the options-implied surface with the GBM cone. At 0% blend you see pure options; at 100% you see pure GBM. Mixing them highlights where the two lenses agree vs diverge \u2014 a big mismatch is itself a signal.",ar:"\u0641\u0639\u0651\u0644 BLEND \u0644\u062f\u0645\u062c \u0627\u0644\u0633\u0637\u062d \u0627\u0644\u0636\u0645\u0646\u064a \u0645\u0646 \u0627\u0644\u0640 options \u0645\u0639 GBM cone. \u0639\u0646\u062f 0% blend \u062a\u0631\u0649 options \u0646\u0642\u064a\u061b \u0639\u0646\u062f 100% \u062a\u0631\u0649 GBM \u0646\u0642\u064a. \u0627\u0644\u0645\u0632\u062c \u064a\u064f\u0638\u0647\u0631 \u0623\u064a\u0646 \u062a\u062a\u0641\u0642 \u0627\u0644\u0639\u062f\u0633\u062a\u0627\u0646 \u0648\u0623\u064a\u0646 \u062a\u062e\u062a\u0644\u0641\u0627\u0646 \u2014 \u0627\u0644\u0627\u062e\u062a\u0644\u0627\u0641 \u0627\u0644\u0643\u0628\u064a\u0631 \u0647\u0648 \u0628\u062d\u062f \u0630\u0627\u062a\u0647 \u0625\u0634\u0627\u0631\u0629."}]},{heading:{en:"Common mistakes",ar:"\u0623\u062e\u0637\u0627\u0621 \u0634\u0627\u0626\u0639\u0629"},bullets:[{en:"Treating the heatmap as a forecast. It's not \u2014 it's a map of where the market has priced probability today. It re-shapes as options trade.",ar:"\u0627\u0639\u062a\u0628\u0627\u0631 \u0627\u0644\u0640 heatmap \u062a\u0648\u0642\u0639\u0627\u064b. \u0644\u064a\u0633 \u0643\u0630\u0644\u0643 \u2014 \u0625\u0646\u0647 \u062e\u0631\u064a\u0637\u0629 \u0644\u0623\u064a\u0646 \u0633\u0639\u0651\u0631 \u0627\u0644\u0633\u0648\u0642 \u0627\u0644\u0627\u062d\u062a\u0645\u0627\u0644\u064a\u0629 \u0627\u0644\u064a\u0648\u0645. \u064a\u064f\u0639\u0627\u062f \u062a\u0634\u0643\u064a\u0644\u0647 \u0645\u0639 \u062a\u062f\u0627\u0648\u0644 \u0627\u0644\u0640 options."},{en:"Ignoring FLIP. Whether you're above or below the flip line changes the entire behavior of the market. Direction of FLIP vs spot is the single most useful take-away.",ar:"\u062a\u062c\u0627\u0647\u0644 FLIP. \u0633\u0648\u0627\u0621 \u0643\u0646\u062a \u0641\u0648\u0642 \u0623\u0648 \u062a\u062d\u062a \u062e\u0637 \u0627\u0644\u0640 flip \u064a\u064f\u063a\u064a\u0651\u0631 \u0643\u0627\u0645\u0644 \u0633\u0644\u0648\u0643 \u0627\u0644\u0633\u0648\u0642. \u0627\u062a\u062c\u0627\u0647 FLIP \u0645\u0642\u0627\u0628\u0644 \u0627\u0644\u0640 spot \u0647\u0648 \u0623\u0647\u0645 \u0645\u0627 \u064a\u0645\u0643\u0646 \u0623\u0646 \u062a\u0623\u062e\u0630\u0647 \u0645\u0646 \u0627\u0644\u0635\u0641\u062d\u0629."},{en:"Reading it intraday for 0-DTE decisions without the 0-DTE sub-tab active. Regular layers are swing-relevant \u2014 0-DTE has its own layer.",ar:"\u0642\u0631\u0627\u0621\u062a\u0647 \u062e\u0644\u0627\u0644 \u0627\u0644\u064a\u0648\u0645 \u0644\u0642\u0631\u0627\u0631\u0627\u062a 0-DTE \u062f\u0648\u0646 \u062a\u0641\u0639\u064a\u0644 \u0627\u0644\u0640 sub-tab \u0627\u0644\u0645\u0646\u0627\u0633\u0628. \u0627\u0644\u0637\u0628\u0642\u0627\u062a \u0627\u0644\u0639\u0627\u062f\u064a\u0629 \u062a\u062e\u0635 \u0627\u0644\u0640 swing \u2014 0-DTE \u0644\u0647 \u0637\u0628\u0642\u0629 \u0645\u0646\u0641\u0635\u0644\u0629."}]}]},{id:"page_options_levels",category:"terminal_pages",order:11,title:{en:"Options Quant \u2014 Levels",ar:"Options Quant \u2014 Levels"},tags:["options","gex","levels","call wall","put wall","flip","dealer gamma","0dte","swing"],summary:{en:"The GEX ladder. Every strike listed vertically; call GEX drawn right (green), put GEX drawn left (red). Biggest bars are the walls; the flip is where calls \u2248 puts. This is the raw positioning map behind the heatmap overlays.",ar:"\u0633\u0644\u0651\u0645 \u0627\u0644\u0640 GEX. \u0643\u0644 strike \u0645\u062f\u0631\u062c \u0639\u0645\u0648\u062f\u064a\u0627\u064b\u061b call GEX \u0625\u0644\u0649 \u0627\u0644\u064a\u0645\u064a\u0646 (\u0623\u062e\u0636\u0631)\u060c put GEX \u0625\u0644\u0649 \u0627\u0644\u064a\u0633\u0627\u0631 (\u0623\u062d\u0645\u0631). \u0627\u0644\u0640 bars \u0627\u0644\u0623\u0643\u0628\u0631 \u0647\u064a \u0627\u0644\u0640 walls\u061b \u0627\u0644\u0640 flip \u062d\u064a\u062b \u0627\u0644\u0640 calls \u2248 \u0627\u0644\u0640 puts. \u0647\u0630\u0647 \u0647\u064a \u062e\u0631\u064a\u0637\u0629 \u0627\u0644\u0640 positioning \u0627\u0644\u062e\u0627\u0645 \u062e\u0644\u0641 \u0637\u0628\u0642\u0627\u062a \u0627\u0644\u0640 heatmap."},sections:[{heading:{en:"The ladder at a glance",ar:"\u0627\u0644\u0633\u0644\u0651\u0645 \u0628\u0646\u0638\u0631\u0629 \u0648\u0627\u062d\u062f\u0629"},visual:"options_levels",paragraphs:[{en:"Strikes run from high price at the top to low price at the bottom. For every strike, two bars extend from the central axis: calls growing right, puts growing left. Width is scaled to dealer gamma magnitude at that strike \u2014 the wider the bar, the more hedging flow concentrates there.",ar:"\u0627\u0644\u0640 strikes \u0645\u0646 \u0627\u0644\u0623\u0639\u0644\u0649 \u0633\u0639\u0631 (\u0623\u0639\u0644\u0649) \u0625\u0644\u0649 \u0627\u0644\u0623\u062f\u0646\u0649 (\u0623\u0633\u0641\u0644). \u0639\u0646\u062f \u0643\u0644 strike\u060c bar \u062a\u0645\u062a\u062f\u0627\u0646 \u0645\u0646 \u0627\u0644\u0645\u062d\u0648\u0631 \u0627\u0644\u0645\u0631\u0643\u0632\u064a: \u0627\u0644\u0640 calls \u0625\u0644\u0649 \u0627\u0644\u064a\u0645\u064a\u0646\u060c \u0627\u0644\u0640 puts \u0625\u0644\u0649 \u0627\u0644\u064a\u0633\u0627\u0631. \u0627\u0644\u0639\u0631\u0636 \u0645\u0642\u064a\u0627\u0633\u0647 \u0645\u0642\u062f\u0627\u0631 dealer gamma \u0639\u0646\u062f \u0630\u0644\u0643 \u0627\u0644\u0640 strike \u2014 \u0643\u0644\u0645\u0627 \u0643\u0627\u0646 \u0627\u0644\u0640 bar \u0623\u0639\u0631\u0636\u060c \u0643\u0644\u0645\u0627 \u062a\u0631\u0643\u0651\u0632\u062a hedging flow \u0623\u0643\u062b\u0631 \u0647\u0646\u0627\u0643."}]},{heading:{en:"The key landmarks",ar:"\u0627\u0644\u0645\u0639\u0627\u0644\u0645 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629"},bullets:[{en:"SPOT (cyan line) \u2014 where the ladder is anchored. Price is here now.",ar:"SPOT (\u062e\u0637 \u0633\u0645\u0627\u0648\u064a) \u2014 \u062d\u064a\u062b \u064a\u0631\u062a\u0643\u0632 \u0627\u0644\u0633\u0644\u0645. \u0627\u0644\u0633\u0639\u0631 \u0647\u0646\u0627 \u0627\u0644\u0622\u0646."},{en:"CALL WALL \u2014 the strike with the longest GREEN bar. Typically sits above spot. Acts as resistance because dealers must SELL the underlying as price approaches it (to stay delta-neutral).",ar:"CALL WALL \u2014 \u0627\u0644\u0640 strike \u0627\u0644\u0630\u064a \u064a\u062d\u0645\u0644 \u0623\u0637\u0648\u0644 bar \u0623\u062e\u0636\u0631. \u0639\u0627\u062f\u0629\u064b \u0641\u0648\u0642 \u0627\u0644\u0640 spot. \u064a\u0639\u0645\u0644 \u0643\u0645\u0642\u0627\u0648\u0645\u0629 \u0644\u0623\u0646 \u0627\u0644\u0640 dealers \u064a\u0636\u0637\u0631\u0648\u0646 \u0644\u0628\u064a\u0639 \u0627\u0644\u0623\u0635\u0644 \u0643\u0644\u0645\u0627 \u0627\u0642\u062a\u0631\u0628 \u0627\u0644\u0633\u0639\u0631 \u0645\u0646\u0647 (\u0644\u0644\u0628\u0642\u0627\u0621 delta-neutral)."},{en:"PUT WALL \u2014 the strike with the longest RED bar. Typically sits below spot. Acts as support \u2014 dealers BUY the underlying as price falls toward it.",ar:"PUT WALL \u2014 \u0627\u0644\u0640 strike \u0627\u0644\u0630\u064a \u064a\u062d\u0645\u0644 \u0623\u0637\u0648\u0644 bar \u0623\u062d\u0645\u0631. \u0639\u0627\u062f\u0629\u064b \u062a\u062d\u062a \u0627\u0644\u0640 spot. \u064a\u0639\u0645\u0644 \u0643\u062f\u0639\u0645 \u2014 \u0627\u0644\u0640 dealers \u064a\u0634\u062a\u0631\u0648\u0646 \u0627\u0644\u0623\u0635\u0644 \u0643\u0644\u0645\u0627 \u0627\u0642\u062a\u0631\u0628 \u0627\u0644\u0633\u0639\u0631 \u0645\u0646\u0647 \u0646\u0627\u0632\u0644\u0627\u064b."},{en:"FLIP \u2014 the strike where call GEX \u2248 put GEX (the bars on either side are roughly equal). Above flip = positive-gamma regime (volatility-dampening); below flip = negative-gamma (moves amplify). This is the most important line for daily direction.",ar:"FLIP \u2014 \u0627\u0644\u0640 strike \u062d\u064a\u062b call GEX \u2248 put GEX (\u0627\u0644\u0640 bars \u0639\u0644\u0649 \u0627\u0644\u062c\u0647\u062a\u064a\u0646 \u0645\u062a\u0633\u0627\u0648\u064a\u062a\u0627\u0646 \u062a\u0642\u0631\u064a\u0628\u0627\u064b). \u0641\u0648\u0642 \u0627\u0644\u0640 flip = \u0646\u0638\u0627\u0645 gamma \u0625\u064a\u062c\u0627\u0628\u064a (\u064a\u064f\u062e\u0645\u062f \u0627\u0644\u0640 volatility)\u061b \u062a\u062d\u062a\u0647 = gamma \u0633\u0644\u0628\u064a (\u0627\u0644\u062d\u0631\u0643\u0627\u062a \u062a\u062a\u0636\u062e\u0645). \u0623\u0647\u0645 \u062e\u0637 \u0644\u0644\u0627\u062a\u062c\u0627\u0647 \u0627\u0644\u064a\u0648\u0645\u064a."}]},{heading:{en:"Swing vs 0-DTE sub-view",ar:"SWING \u0645\u0642\u0627\u0628\u0644 0-DTE"},paragraphs:[{en:"The panel has two sub-views. SWING aggregates all expirations (full ladder \u2014 use for multi-day setups). 0-DTE (zero-days-to-expiry) shows only today's expiring options \u2014 these dominate intraday price action because their gamma is enormous and decays to zero at the close.",ar:"\u0627\u0644\u0635\u0641\u062d\u0629 \u062a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 \u0639\u0631\u0636\u064a\u0646 \u0641\u0631\u0639\u064a\u064a\u0646. SWING \u064a\u062c\u0645\u0639 \u0643\u0644 \u062a\u0648\u0627\u0631\u064a\u062e \u0627\u0644\u0627\u0646\u062a\u0647\u0627\u0621 (\u0627\u0644\u0633\u0644\u0651\u0645 \u0627\u0644\u0643\u0627\u0645\u0644 \u2014 \u0627\u0633\u062a\u062e\u062f\u0645\u0647 \u0644\u0644\u0640 setups \u0645\u062a\u0639\u062f\u062f\u0629 \u0627\u0644\u0623\u064a\u0627\u0645). 0-DTE (zero-days-to-expiry) \u064a\u0639\u0631\u0636 \u0641\u0642\u0637 options \u0627\u0644\u0645\u0646\u062a\u0647\u064a\u0629 \u0627\u0644\u064a\u0648\u0645 \u2014 \u0647\u0630\u0647 \u062a\u0647\u064a\u0645\u0646 \u0639\u0644\u0649 \u062d\u0631\u0643\u0629 \u0627\u0644\u0633\u0639\u0631 \u062e\u0644\u0627\u0644 \u0627\u0644\u064a\u0648\u0645 \u0644\u0623\u0646 gamma \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0647\u0627 \u0636\u062e\u0645\u0629 \u0648\u062a\u0647\u0628\u0637 \u0644\u0644\u0635\u0641\u0631 \u0639\u0646\u062f \u0627\u0644\u0625\u063a\u0644\u0627\u0642."}]},{heading:{en:"How to use it when trading",ar:"\u0643\u064a\u0641 \u062a\u0633\u062a\u062e\u062f\u0645\u0647 \u0623\u062b\u0646\u0627\u0621 \u0627\u0644\u062a\u062f\u0627\u0648\u0644"},bullets:[{en:"Price grinding up into the CALL WALL in positive-gamma regime \u2192 high probability of stalling or reversing there. A good zone to trim longs or fade short-term.",ar:"\u0627\u0644\u0633\u0639\u0631 \u064a\u0637\u062d\u0646 \u0635\u0627\u0639\u062f\u0627\u064b \u0646\u062d\u0648 CALL WALL \u0641\u064a \u0646\u0638\u0627\u0645 gamma \u0625\u064a\u062c\u0627\u0628\u064a \u2192 \u0627\u062d\u062a\u0645\u0627\u0644 \u0639\u0627\u0644\u064d \u0644\u0644\u062a\u0648\u0642\u0641 \u0623\u0648 \u0627\u0644\u0627\u0646\u0639\u0643\u0627\u0633 \u0647\u0646\u0627\u0643. \u0645\u0646\u0637\u0642\u0629 \u062c\u064a\u062f\u0629 \u0644\u062a\u0642\u0644\u064a\u0644 \u0627\u0644\u0645\u0631\u0627\u0643\u0632 \u0627\u0644\u0637\u0648\u064a\u0644\u0629 \u0623\u0648 \u0639\u0645\u0644 fade \u0642\u0635\u064a\u0631 \u0627\u0644\u0623\u0645\u062f."},{en:"Price breaks through a wall with volume \u2192 dealers are forced to hedge in the direction of the move, which accelerates it. Don't fight a confirmed wall break.",ar:"\u0627\u0644\u0633\u0639\u0631 \u064a\u0643\u0633\u0631 wall \u0628\u0643\u0645\u064a\u0627\u062a \u0643\u0628\u064a\u0631\u0629 \u2192 \u0627\u0644\u0640 dealers \u064a\u064f\u062c\u0628\u0631\u0648\u0646 \u0639\u0644\u0649 \u0627\u0644\u0640 hedge \u0641\u064a \u0627\u062a\u062c\u0627\u0647 \u0627\u0644\u062d\u0631\u0643\u0629\u060c \u0645\u0645\u0627 \u064a\u0633\u0631\u0651\u0639\u0647\u0627. \u0644\u0627 \u062a\u0639\u0627\u0631\u0636 \u0643\u0633\u0631 wall \u0645\u0624\u0643\u062f."},{en:"Price at or below FLIP \u2192 expect 1.5\u20132\xd7 normal daily range. Size smaller, trail stops wider.",ar:"\u0627\u0644\u0633\u0639\u0631 \u0639\u0646\u062f \u0623\u0648 \u062a\u062d\u062a FLIP \u2192 \u062a\u0648\u0642\u0639 range \u064a\u0648\u0645\u064a 1.5 \u0625\u0644\u0649 2 \u0636\u0639\u0641 \u0627\u0644\u0637\u0628\u064a\u0639\u064a. \u0642\u0644\u0651\u0644 \u0627\u0644\u062d\u062c\u0645\u060c \u0648\u0633\u0651\u0639 \u0627\u0644\u0640 stops."},{en:"Thin ladder (no big bars anywhere) \u2192 no dealer anchors, price can drift freely. Setups should rely on other lenses.",ar:"\u0633\u0644\u0651\u0645 \u0646\u062d\u064a\u0644 (\u0644\u0627 bars \u0643\u0628\u064a\u0631\u0629 \u0641\u064a \u0623\u064a \u0645\u0643\u0627\u0646) \u2192 \u0644\u0627 \u062a\u0648\u062c\u062f \u0645\u0631\u0627\u0633\u064a \u0644\u0644\u0640 dealers\u060c \u0627\u0644\u0633\u0639\u0631 \u064a\u062a\u062d\u0631\u0643 \u0628\u062d\u0631\u064a\u0629. \u0627\u0633\u062a\u0646\u062f \u0639\u0644\u0649 \u0639\u062f\u0633\u0627\u062a \u0623\u062e\u0631\u0649 \u0644\u0644\u0640 setups."}]},{heading:{en:"Caveats",ar:"\u062a\u062d\u0641\u0638\u0627\u062a"},bullets:[{en:"GEX is computed from end-of-day options snapshots (CBOE). Intraday it can drift \u2014 the levels page refreshes only on the nightly sync.",ar:"GEX \u064a\u064f\u062d\u062a\u0633\u0628 \u0645\u0646 snapshots \u0646\u0647\u0627\u064a\u0629 \u0627\u0644\u064a\u0648\u0645 \u0644\u0644\u0640 options (CBOE). \u062e\u0644\u0627\u0644 \u0627\u0644\u064a\u0648\u0645 \u0642\u062f \u064a\u0646\u062d\u0631\u0641 \u2014 \u0635\u0641\u062d\u0629 \u0627\u0644\u0640 levels \u062a\u062a\u062d\u062f\u062b \u0641\u0642\u0637 \u0645\u0639 \u0627\u0644\u0640 sync \u0627\u0644\u0644\u064a\u0644\u064a."},{en:"Heavy news / event risk (FOMC, CPI, earnings) overrides positioning. Walls don't hold during a surprise.",ar:"\u0627\u0644\u0623\u062e\u0628\u0627\u0631 \u0627\u0644\u062b\u0642\u064a\u0644\u0629 (FOMC, CPI, \u0623\u0631\u0628\u0627\u062d) \u062a\u062a\u062c\u0627\u0648\u0632 \u0627\u0644\u0640 positioning. \u0627\u0644\u0640 walls \u0644\u0627 \u062a\u0635\u0645\u062f \u0623\u0645\u0627\u0645 \u0645\u0641\u0627\u062c\u0623\u0629."},{en:"On CFD index charts (US500, USTEC, etc.) the strikes shown are already converted to CFD price space \u2014 no extra math needed.",ar:"\u0639\u0644\u0649 \u0634\u0627\u0631\u062a\u0627\u062a CFD index (US500, USTEC, \u0625\u0644\u062e) \u0627\u0644\u0640 strikes \u0627\u0644\u0645\u0639\u0631\u0648\u0636\u0629 \u0645\u062d\u0648\u0651\u0644\u0629 \u0645\u0633\u0628\u0642\u0627\u064b \u0625\u0644\u0649 CFD price space \u2014 \u0644\u0627 \u062d\u0627\u062c\u0629 \u0644\u062d\u0633\u0627\u0628\u0627\u062a \u0625\u0636\u0627\u0641\u064a\u0629."}]}]},{id:"setup_mean_reversion",category:"setups",order:1,title:{en:"Mean Reversion Setup",ar:"\u0625\u0639\u062f\u0627\u062f Mean Reversion"},tags:["mean reversion","ou","setup","oversold","overbought","sigma"],summary:{en:"Buy when price is stretched far below its statistical mean; exit when it reverts back. Works best in range-bound markets.",ar:"\u0627\u0644\u0634\u0631\u0627\u0621 \u0639\u0646\u062f\u0645\u0627 \u064a\u0643\u0648\u0646 \u0627\u0644\u0633\u0639\u0631 \u0645\u0645\u062a\u062f\u0627\u064b \u0628\u0639\u064a\u062f\u0627\u064b \u062a\u062d\u062a \u0627\u0644\u0640 mean \u0627\u0644\u0625\u062d\u0635\u0627\u0626\u064a\u060c \u0648\u0627\u0644\u062e\u0631\u0648\u062c \u0639\u0646\u062f\u0645\u0627 \u064a\u0639\u0648\u062f \u0625\u0644\u064a\u0647. \u064a\u0639\u0645\u0644 \u0628\u0634\u0643\u0644 \u0623\u0641\u0636\u0644 \u0641\u064a \u0627\u0644\u0623\u0633\u0648\u0627\u0642 \u0627\u0644\u0645\u062a\u0630\u0628\u0630\u0628\u0629 (ranging)."},sections:[{heading:{en:"The idea in one picture",ar:"\u0627\u0644\u0641\u0643\u0631\u0629 \u0628\u0635\u0648\u0631\u0629 \u0648\u0627\u062d\u062f\u0629"},visual:"mean_reversion",paragraphs:[{en:"Price drops into the extreme zone (roughly \u22122\u03c3 below its rolling mean), we buy there, and we target a return to the mean. The diagram shows the full cycle: stretched low \u2192 entry \u2192 reversion \u2192 exit at the mean.",ar:"\u0627\u0644\u0633\u0639\u0631 \u064a\u0646\u0632\u0644 \u0625\u0644\u0649 \u0645\u0646\u0637\u0642\u0629 extreme (\u062d\u0648\u0627\u0644\u064a \u22122\u03c3 \u062a\u062d\u062a \u0627\u0644\u0640 mean)\u060c \u0646\u062f\u062e\u0644 \u0634\u0631\u0627\u0621 \u0647\u0646\u0627\u0643\u060c \u0648\u0627\u0644\u0647\u062f\u0641 \u0639\u0648\u062f\u062a\u0647 \u0625\u0644\u0649 \u0627\u0644\u0640 mean. \u0627\u0644\u0631\u0633\u0645 \u064a\u0639\u0631\u0636 \u0627\u0644\u062f\u0648\u0631\u0629 \u0627\u0644\u0643\u0627\u0645\u0644\u0629: extreme \u2192 \u062f\u062e\u0648\u0644 \u2192 reversion \u2192 \u062e\u0631\u0648\u062c \u0639\u0646\u062f \u0627\u0644\u0640 mean."}]},{heading:{en:"When it works",ar:"\u0645\u062a\u0649 \u064a\u0639\u0645\u0644"},bullets:[{en:"The market is ranging, not trending \u2014 HMM regime = ranging / normal.",ar:"\u0627\u0644\u0633\u0648\u0642 \u0641\u064a range \u0648\u0644\u064a\u0633 \u0641\u064a trend \u2014 \u062d\u0627\u0644\u0629 \u0627\u0644\u0640 HMM regime = ranging \u0623\u0648 normal."},{en:"OU half-life is short (a few days) \u2014 the price statistically wants to come back fast.",ar:"\u0627\u0644\u0640 OU half-life \u0642\u0635\u064a\u0631 (\u0639\u062f\u0629 \u0623\u064a\u0627\u0645) \u2014 \u0627\u0644\u0633\u0639\u0631 \u0625\u062d\u0635\u0627\u0626\u064a\u0627\u064b \u064a\u0645\u064a\u0644 \u0644\u0644\u0639\u0648\u062f\u0629 \u0628\u0633\u0631\u0639\u0629."},{en:"Hurst exponent < 0.5 \u2014 anti-persistent behavior, consistent with mean reversion.",ar:"\u0627\u0644\u0640 Hurst exponent \u0623\u0642\u0644 \u0645\u0646 0.5 \u2014 \u0633\u0644\u0648\u0643 anti-persistent \u064a\u062a\u0645\u0627\u0634\u0649 \u0645\u0639 mean reversion."},{en:"No major news catalyst pushing the market into a new regime.",ar:"\u0644\u0627 \u062a\u0648\u062c\u062f \u0623\u062e\u0628\u0627\u0631 \u0643\u0628\u064a\u0631\u0629 \u062a\u062f\u0641\u0639 \u0627\u0644\u0633\u0648\u0642 \u0644\u0646\u0638\u0627\u0645 \u062c\u062f\u064a\u062f."}]},{heading:{en:"Entry and exit",ar:"\u0627\u0644\u062f\u062e\u0648\u0644 \u0648\u0627\u0644\u062e\u0631\u0648\u062c"},paragraphs:[{en:"Entry: buy when price touches the \u22122\u03c3 band (or the extreme-low from recent history). Exit: sell back at the mean line. Optional second exit at +1\u03c3 if the move has momentum past the mean.",ar:"\u0627\u0644\u062f\u062e\u0648\u0644: \u0634\u0631\u0627\u0621 \u0639\u0646\u062f \u0644\u0645\u0633 \u0627\u0644\u0633\u0639\u0631 \u0644\u0640 \u22122\u03c3 (\u0623\u0648 extreme-low \u0645\u0646 \u0627\u0644\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0642\u0631\u064a\u0628). \u0627\u0644\u062e\u0631\u0648\u062c: \u0628\u064a\u0639 \u0639\u0646\u062f \u0627\u0644\u0640 mean line. \u062e\u0631\u0648\u062c \u062b\u0627\u0646\u064a \u0627\u062e\u062a\u064a\u0627\u0631\u064a \u0639\u0646\u062f +1\u03c3 \u0625\u0630\u0627 \u0627\u0633\u062a\u0645\u0631 momentum \u0628\u0639\u062f \u0627\u0644\u0640 mean."}]},{heading:{en:"Where it fails",ar:"\u0645\u062a\u0649 \u064a\u0641\u0634\u0644"},bullets:[{en:"Trend breakout: if price breaks below the extreme low with volume, the mean itself is shifting. Stop out.",ar:"Trend breakout: \u0625\u0630\u0627 \u0643\u0633\u0631 \u0627\u0644\u0633\u0639\u0631 \u0627\u0644\u0640 extreme low \u0628\u0643\u0645\u064a\u0627\u062a \u0643\u0628\u064a\u0631\u0629\u060c \u0641\u0627\u0644\u0640 mean \u0646\u0641\u0633\u0647 \u064a\u0646\u062a\u0642\u0644. \u0627\u062e\u0631\u062c \u0628\u062e\u0633\u0627\u0631\u0629."},{en:"Regime change: HMM flips from ranging to trending mid-trade \u2192 tighten stop or exit early.",ar:"\u062a\u063a\u064a\u0651\u0631 \u0646\u0638\u0627\u0645\u064a: \u0627\u0644\u0640 HMM \u064a\u0646\u062a\u0642\u0644 \u0645\u0646 ranging \u0625\u0644\u0649 trending \u0623\u062b\u0646\u0627\u0621 \u0627\u0644\u0635\u0641\u0642\u0629 \u2192 \u0634\u062f\u0651 \u0627\u0644\u0640 stop \u0623\u0648 \u0627\u062e\u0631\u062c \u0645\u0628\u0643\u0631\u0627\u064b."},{en:"Options lens flags tail risk: if the RN distribution shows unusual left-tail pricing, the market is paying up for a crash \u2014 don't fade that.",ar:"Options lens \u062a\u062d\u0630\u0651\u0631 \u0645\u0646 tail risk: \u0625\u0630\u0627 \u0623\u0638\u0647\u0631 \u0627\u0644\u0640 RN distribution \u062a\u0633\u0639\u064a\u0631\u0627\u064b \u063a\u064a\u0631 \u0639\u0627\u062f\u064a \u0644\u0640 left tail\u060c \u0641\u0627\u0644\u0633\u0648\u0642 \u064a\u062f\u0641\u0639 \u062a\u0623\u0645\u064a\u0646 \u0636\u062f \u0627\u0646\u0647\u064a\u0627\u0631 \u2014 \u0644\u0627 \u062a\u0639\u0627\u0646\u062f."}]}]},{id:"setup_breakout",category:"setups",order:2,title:{en:"Breakout Setup",ar:"\u0625\u0639\u062f\u0627\u062f Breakout"},tags:["breakout","compression","range","volatility","setup","thin ice"],summary:{en:"Buy the decisive close above a tight range. Works best when volatility has been compressed and GEX thin-ice levels break.",ar:"\u0627\u0644\u0634\u0631\u0627\u0621 \u0639\u0646\u062f \u0625\u063a\u0644\u0627\u0642 \u062d\u0627\u0633\u0645 \u0641\u0648\u0642 range \u0636\u064a\u0642. \u064a\u0639\u0645\u0644 \u0628\u0634\u0643\u0644 \u0623\u0641\u0636\u0644 \u0628\u0639\u062f \u0641\u062a\u0631\u0629 compression \u0644\u0644\u0640 volatility \u0648\u0639\u0646\u062f \u0643\u0633\u0631 GEX thin-ice levels."},sections:[{heading:{en:"The idea in one picture",ar:"\u0627\u0644\u0641\u0643\u0631\u0629 \u0628\u0635\u0648\u0631\u0629 \u0648\u0627\u062d\u062f\u0629"},visual:"breakout",paragraphs:[{en:"Price sits inside a horizontal channel between support (S) and resistance (R). Volatility is compressed \u2014 candles are tight. A decisive close above R triggers the breakout: entry above the resistance, target = range width projected upward (measured move), stop just below the broken level.",ar:"\u0627\u0644\u0633\u0639\u0631 \u062f\u0627\u062e\u0644 channel \u0623\u0641\u0642\u064a \u0628\u064a\u0646 support (S) \u0648 resistance (R). \u0627\u0644\u0640 volatility \u0645\u0646\u062e\u0641\u0636 \u0648\u0627\u0644\u0634\u0645\u0648\u0639 \u0636\u064a\u0642\u0629. \u0625\u063a\u0644\u0627\u0642 \u062d\u0627\u0633\u0645 \u0641\u0648\u0642 R \u064a\u0637\u0644\u0642 \u0627\u0644\u0640 breakout: \u062f\u062e\u0648\u0644 \u0641\u0648\u0642 \u0627\u0644\u0640 resistance\u060c \u0627\u0644\u0647\u062f\u0641 = \u0639\u0631\u0636 \u0627\u0644\u0640 range \u0645\u0633\u0642\u0637\u0627\u064b \u0644\u0644\u0623\u0639\u0644\u0649 (measured move)\u060c \u0648\u0627\u0644\u0640 stop \u062a\u062d\u062a \u0627\u0644\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u0645\u0643\u0633\u0648\u0631 \u0645\u0628\u0627\u0634\u0631\u0629."}]},{heading:{en:"When it works",ar:"\u0645\u062a\u0649 \u064a\u0639\u0645\u0644"},bullets:[{en:"Bollinger bands narrow \u2014 classic compression. GARCH shows volatility rising from a recent floor.",ar:"Bollinger bands \u062a\u0636\u064a\u0642 \u2014 compression \u0643\u0644\u0627\u0633\u064a\u0643\u064a. GARCH \u064a\u064f\u0638\u0647\u0631 volatility \u0628\u062f\u0623 \u064a\u0631\u062a\u0641\u0639 \u0645\u0646 \u0642\u0627\u0639 \u062d\u062f\u064a\u062b."},{en:"GEX thin-ice level sits right at the range boundary. Breaking thin ice typically accelerates the move because dealers flip from stabilizing to amplifying.",ar:"GEX thin-ice level \u0639\u0646\u062f \u062d\u062f\u0648\u062f \u0627\u0644\u0640 range. \u0643\u0633\u0631 thin ice \u064a\u0633\u0631\u0651\u0639 \u0627\u0644\u062d\u0631\u0643\u0629 \u0639\u0627\u062f\u0629\u064b \u0644\u0623\u0646 \u0627\u0644\u0640 dealers \u064a\u062a\u062d\u0648\u0644\u0648\u0646 \u0645\u0646 \u062a\u062b\u0628\u064a\u062a \u0627\u0644\u0633\u0639\u0631 \u0625\u0644\u0649 \u062a\u0636\u062e\u064a\u0645 \u0627\u0644\u062d\u0631\u0643\u0629."},{en:"Volume expands on the breakout bar, not just a wick poke \u2014 this filters false breakouts.",ar:"Volume \u064a\u062a\u0648\u0633\u0639 \u0639\u0646\u062f \u0634\u0645\u0639\u0629 \u0627\u0644\u0640 breakout\u060c \u0648\u0644\u064a\u0633 \u0645\u062c\u0631\u062f wick \u2014 \u0647\u0630\u0627 \u064a\u0635\u0641\u0651\u064a false breakouts."}]},{heading:{en:"Entry and exit",ar:"\u0627\u0644\u062f\u062e\u0648\u0644 \u0648\u0627\u0644\u062e\u0631\u0648\u062c"},paragraphs:[{en:"Entry: buy the close above resistance, or a retest back to the broken level that holds. Target: projected range width (if R\u2212S = 100 points, target = R + 100). Stop: a few ticks below the broken resistance.",ar:"\u0627\u0644\u062f\u062e\u0648\u0644: \u0634\u0631\u0627\u0621 \u0639\u0646\u062f \u0625\u063a\u0644\u0627\u0642 \u0641\u0648\u0642 \u0627\u0644\u0640 resistance\u060c \u0623\u0648 retest \u064a\u0639\u0648\u062f \u0644\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u0640 resistance \u0627\u0644\u0645\u0643\u0633\u0648\u0631 \u0648\u064a\u0635\u0645\u062f. \u0627\u0644\u0647\u062f\u0641: \u0645\u0633\u0642\u0637 \u0639\u0631\u0636 \u0627\u0644\u0640 range (\u0644\u0648 R\u2212S = 100 \u0646\u0642\u0637\u0629\u060c \u0627\u0644\u0647\u062f\u0641 = R + 100). \u0627\u0644\u0640 stop: \u062a\u062d\u062a \u0627\u0644\u0640 resistance \u0627\u0644\u0645\u0643\u0633\u0648\u0631 \u0628\u0642\u0644\u064a\u0644."}]},{heading:{en:"Where it fails",ar:"\u0645\u062a\u0649 \u064a\u0641\u0634\u0644"},bullets:[{en:"False breakout: price pokes above R, fails to hold, closes back in the range. This is the classic trap \u2014 that's why we wait for a confirmed close above R, not just a wick.",ar:"False breakout: \u0627\u0644\u0633\u0639\u0631 \u064a\u062e\u062a\u0631\u0642 R \u0644\u0643\u0646 \u0644\u0627 \u064a\u0635\u0645\u062f\u060c \u0648\u064a\u0639\u0648\u062f \u0644\u064a\u064f\u063a\u0644\u0642 \u062f\u0627\u062e\u0644 \u0627\u0644\u0640 range. \u0647\u0630\u0627 \u0647\u0648 \u0627\u0644\u0640 trap \u0627\u0644\u0643\u0644\u0627\u0633\u064a\u0643\u064a \u2014 \u0644\u0630\u0644\u0643 \u0646\u0646\u062a\u0638\u0631 \u0625\u063a\u0644\u0627\u0642 \u0648\u0627\u0636\u062d \u0641\u0648\u0642 R\u060c \u0648\u0644\u064a\u0633 \u0645\u062c\u0631\u062f wick."},{en:"Massive positive GEX above the break \u2014 dealers will sell into the rally and kill the momentum.",ar:"GEX \u0625\u064a\u062c\u0627\u0628\u064a \u0643\u0628\u064a\u0631 \u0641\u0648\u0642 \u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u0640 breakout \u2014 \u0627\u0644\u0640 dealers \u0633\u064a\u0628\u064a\u0639\u0648\u0646 \u0641\u064a \u0627\u0644\u0631\u0627\u0644\u064a \u0648\u064a\u0642\u062a\u0644\u0648\u0646 \u0627\u0644\u0640 momentum."},{en:"News reversal: a headline during the move that contradicts the direction of the breakout \u2014 exit fast.",ar:"Reversal \u0628\u0633\u0628\u0628 \u062e\u0628\u0631: \u0639\u0646\u0648\u0627\u0646 \u0645\u0639\u0627\u0643\u0633 \u0644\u0627\u062a\u062c\u0627\u0647 \u0627\u0644\u0640 breakout \u0623\u062b\u0646\u0627\u0621 \u0627\u0644\u0635\u0641\u0642\u0629 \u2014 \u0627\u062e\u0631\u062c \u0628\u0633\u0631\u0639\u0629."}]}]},{id:"setup_tail_fade",category:"setups",order:3,title:{en:"Tail Fade Setup",ar:"\u0625\u0639\u062f\u0627\u062f Tail Fade"},tags:["tail fade","extreme","mean reversion","options","setup","2 sigma","liquidation"],summary:{en:"Sell the extreme spike back to the mean. Different from standard mean reversion \u2014 entries happen only at violent +2\u03c3 or beyond moves, usually driven by news or liquidation.",ar:"\u0628\u064a\u0639 \u0627\u0644\u0642\u0645\u0629 \u0627\u0644\u0640 extreme \u0644\u0644\u0639\u0648\u062f\u0629 \u0625\u0644\u0649 \u0627\u0644\u0640 mean. \u064a\u062e\u062a\u0644\u0641 \u0639\u0646 mean reversion \u0627\u0644\u0639\u0627\u062f\u064a \u2014 \u0627\u0644\u062f\u062e\u0648\u0644 \u0641\u0642\u0637 \u0639\u0646\u062f \u062d\u0631\u0643\u0627\u062a \u0639\u0646\u064a\u0641\u0629 \u062a\u062a\u062c\u0627\u0648\u0632 +2\u03c3\u060c \u063a\u0627\u0644\u0628\u0627\u064b \u0628\u0633\u0628\u0628 \u0623\u062e\u0628\u0627\u0631 \u0623\u0648 liquidation."},sections:[{heading:{en:"The idea in one picture",ar:"\u0627\u0644\u0641\u0643\u0631\u0629 \u0628\u0635\u0648\u0631\u0629 \u0648\u0627\u062d\u062f\u0629"},visual:"tail_fade",paragraphs:[{en:"Price drifts normally inside the \xb11\u03c3 envelope. A sudden violent spike pushes into the +2\u03c3 tail \u2014 usually a news flash or a liquidation cascade. Statistically, that kind of move is rare and often unsustainable. We fade the spike: sell at the tail top and target a return to the mean.",ar:"\u0627\u0644\u0633\u0639\u0631 \u064a\u062a\u062d\u0631\u0643 \u0628\u0634\u0643\u0644 \u0637\u0628\u064a\u0639\u064a \u062f\u0627\u062e\u0644 \u0646\u0637\u0627\u0642 \xb11\u03c3. \u0627\u0631\u062a\u0641\u0627\u0639 \u0639\u0646\u064a\u0641 \u0645\u0641\u0627\u062c\u0626 \u064a\u062f\u0641\u0639\u0647 \u0625\u0644\u0649 tail +2\u03c3 \u2014 \u0639\u0627\u062f\u0629\u064b \u0628\u0633\u0628\u0628 news flash \u0623\u0648 liquidation cascade. \u0625\u062d\u0635\u0627\u0626\u064a\u0627\u064b\u060c \u0647\u0630\u0647 \u0627\u0644\u062d\u0631\u0643\u0627\u062a \u0646\u0627\u062f\u0631\u0629 \u0648\u063a\u064a\u0631 \u0642\u0627\u0628\u0644\u0629 \u0644\u0644\u0627\u0633\u062a\u0645\u0631\u0627\u0631 \u063a\u0627\u0644\u0628\u0627\u064b. \u0646\u0628\u064a\u0639 \u0627\u0644\u0642\u0645\u0629 (fade) \u0648\u0646\u0633\u062a\u0647\u062f\u0641 \u0627\u0644\u0639\u0648\u062f\u0629 \u0625\u0644\u0649 \u0627\u0644\u0640 mean."}]},{heading:{en:"When it works",ar:"\u0645\u062a\u0649 \u064a\u0639\u0645\u0644"},bullets:[{en:"The spike has no real fundamental driver \u2014 pure positioning / liquidation.",ar:"\u0627\u0644\u0640 spike \u0644\u064a\u0633 \u0644\u0647 \u0633\u0628\u0628 fundamental \u062d\u0642\u064a\u0642\u064a \u2014 \u0641\u0642\u0637 positioning / liquidation."},{en:"The options lens shows tail pricing hasn't widened much \u2014 meaning smart money doesn't believe the move either.",ar:"Options lens \u062a\u064f\u0638\u0647\u0631 \u0623\u0646 tail pricing \u0644\u0645 \u064a\u062a\u0633\u0639 \u0643\u062b\u064a\u0631\u0627\u064b \u2014 \u0623\u064a \u0627\u0644\u0640 smart money \u0644\u0627 \u064a\u0635\u062f\u0651\u0642 \u0627\u0644\u062d\u0631\u0643\u0629."},{en:"Price reaches or exceeds the cone's +2\u03c3 / +3\u03c3 band on the relevant horizon (a 1-in-20 or rarer event).",ar:"\u0627\u0644\u0633\u0639\u0631 \u064a\u0635\u0644 \u0623\u0648 \u064a\u062a\u062c\u0627\u0648\u0632 \u062d\u0632\u0627\u0645 +2\u03c3 / +3\u03c3 \u0644\u0623\u0641\u0642 \u0627\u0644\u0640 cone (\u062d\u062f\u062b \u0628\u0646\u0633\u0628\u0629 1 \u0644\u0643\u0644 20 \u0623\u0648 \u0623\u0646\u062f\u0631)."},{en:"Dealer gamma flips positive at the spike \u2014 dealers will sell into further upside and reinforce the fade.",ar:"Dealer gamma \u064a\u0635\u0628\u062d \u0625\u064a\u062c\u0627\u0628\u064a\u0627\u064b \u0639\u0646\u062f \u0627\u0644\u0640 spike \u2014 \u0627\u0644\u0640 dealers \u0633\u064a\u0628\u064a\u0639\u0648\u0646 \u0639\u0646\u062f \u0623\u064a \u0627\u0631\u062a\u0641\u0627\u0639 \u0625\u0636\u0627\u0641\u064a \u0648\u064a\u0639\u0632\u0651\u0632\u0648\u0646 \u0627\u0644\u0640 fade."}]},{heading:{en:"Entry, target, and stop",ar:"\u0627\u0644\u062f\u062e\u0648\u0644 \u0648\u0627\u0644\u0647\u062f\u0641 \u0648\u0627\u0644\u0640 stop"},paragraphs:[{en:"Entry: short at the tail's first sign of exhaustion \u2014 the first bearish candle after the spike, or a rejection wick at or past +2\u03c3. Target: back at the mean (p50). Stop: just above the tail high \u2014 if price grinds higher past that, the spike was real.",ar:"\u0627\u0644\u062f\u062e\u0648\u0644: \u0628\u064a\u0639 \u0639\u0646\u062f \u0623\u0648\u0644 \u0625\u0634\u0627\u0631\u0629 exhaustion \u0641\u064a \u0627\u0644\u0640 tail \u2014 \u0623\u0648\u0644 \u0634\u0645\u0639\u0629 \u0647\u0627\u0628\u0637\u0629 \u0628\u0639\u062f \u0627\u0644\u0640 spike\u060c \u0623\u0648 wick \u0645\u0631\u0641\u0648\u0636\u0629 \u0639\u0646\u062f \u0623\u0648 \u062e\u0644\u0641 +2\u03c3. \u0627\u0644\u0647\u062f\u0641: \u0627\u0644\u0639\u0648\u062f\u0629 \u0625\u0644\u0649 \u0627\u0644\u0640 mean (p50). \u0627\u0644\u0640 stop: \u0641\u0648\u0642 \u0642\u0645\u0629 \u0627\u0644\u0640 tail \u0645\u0628\u0627\u0634\u0631\u0629 \u2014 \u0625\u0630\u0627 \u0627\u0633\u062a\u0645\u0631 \u0627\u0644\u0633\u0639\u0631 \u0628\u0627\u0644\u0635\u0639\u0648\u062f \u0641\u0648\u0642\u0647\u0627\u060c \u0641\u0627\u0644\u0640 spike \u0643\u0627\u0646 \u062d\u0642\u064a\u0642\u064a\u0627\u064b."}]},{heading:{en:"Where it fails",ar:"\u0645\u062a\u0649 \u064a\u0641\u0634\u0644"},bullets:[{en:"Genuine regime change: rate cut surprise, CPI miss, war headline \u2014 the tail becomes the new normal, not a fade.",ar:"\u062a\u063a\u064a\u0651\u0631 \u0646\u0638\u0627\u0645\u064a \u062d\u0642\u064a\u0642\u064a: \u0645\u0641\u0627\u062c\u0623\u0629 \u062e\u0641\u0636 \u0641\u0627\u0626\u062f\u0629\u060c CPI \u0633\u064a\u0621\u060c \u0639\u0646\u0648\u0627\u0646 \u062d\u0631\u0628 \u2014 \u0627\u0644\u0640 tail \u064a\u0635\u0628\u062d \u0627\u0644\u0637\u0628\u064a\u0639\u064a \u0627\u0644\u062c\u062f\u064a\u062f \u0648\u0644\u064a\u0633 fade."},{en:"Options lens shows RN-KL divergence widening: the distribution itself has moved. Don't fade when the market is repricing.",ar:"Options lens \u062a\u064f\u0638\u0647\u0631 RN-KL divergence \u064a\u062a\u0633\u0639: \u0627\u0644\u0640 distribution \u0646\u0641\u0633\u0647 \u0627\u0646\u062a\u0642\u0644. \u0644\u0627 \u062a\u0639\u0645\u0644 fade \u0639\u0646\u062f\u0645\u0627 \u064a\u0639\u064a\u062f \u0627\u0644\u0633\u0648\u0642 \u0627\u0644\u062a\u0633\u0639\u064a\u0631."},{en:"Squeeze in progress: heavy short positioning gets caught, the spike accelerates through multiple standard-deviations. Always respect the stop.",ar:"Squeeze \u062c\u0627\u0631\u064d: positioning \u0642\u0635\u064a\u0631 \u062b\u0642\u064a\u0644 \u064a\u062a\u0639\u0631\u0636 \u0644\u0644\u0636\u063a\u0637\u060c \u0627\u0644\u0640 spike \u064a\u062a\u0633\u0627\u0631\u0639 \u0639\u0628\u0631 \u0639\u062f\u0629 standard deviations. \u0627\u062d\u062a\u0631\u0645 \u0627\u0644\u0640 stop \u062f\u0627\u0626\u0645\u0627\u064b."}]}]},{id:"shortcuts_reference",category:"shortcuts",order:1,title:{en:"Keyboard & Mouse Shortcuts",ar:"\u0627\u062e\u062a\u0635\u0627\u0631\u0627\u062a \u0644\u0648\u062d\u0629 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d \u0648\u0627\u0644\u0641\u0623\u0631\u0629"},tags:["shortcuts","keyboard","mouse","hotkeys"],summary:{en:"Every keyboard and mouse shortcut the terminal recognises, grouped by where you'll use them. Shortcuts only fire when no input field is focused (so typing in the search box never triggers chart actions).",ar:"\u0643\u0644 \u0627\u062e\u062a\u0635\u0627\u0631\u0627\u062a \u0644\u0648\u062d\u0629 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d \u0648\u0627\u0644\u0641\u0623\u0631\u0629 \u0627\u0644\u062a\u064a \u062a\u062a\u0639\u0631\u0651\u0641 \u0639\u0644\u064a\u0647\u0627 \u0627\u0644\u0645\u0646\u0635\u0629\u060c \u0645\u0631\u062a\u0651\u0628\u0629 \u062d\u0633\u0628 \u0645\u0643\u0627\u0646 \u0627\u0633\u062a\u062e\u062f\u0627\u0645\u0647\u0627. \u0627\u0644\u0627\u062e\u062a\u0635\u0627\u0631\u0627\u062a \u062a\u0639\u0645\u0644 \u0641\u0642\u0637 \u0639\u0646\u062f\u0645\u0627 \u0644\u0627 \u064a\u0643\u0648\u0646 \u0623\u064a \u062d\u0642\u0644 \u0625\u062f\u062e\u0627\u0644 \u0645\u0641\u0639\u0651\u0644\u0627\u064b (\u0627\u0644\u0643\u062a\u0627\u0628\u0629 \u0641\u064a \u0645\u0631\u0628\u0639 \u0627\u0644\u0628\u062d\u062b \u0644\u0627 \u062a\u0634\u063a\u0651\u0644 \u0623\u0648\u0627\u0645\u0631 \u0627\u0644\u0634\u0627\u0631\u062a)."},sections:[{heading:{en:"Charts & navigation",ar:"\u0627\u0644\u0634\u0627\u0631\u062a \u0648\u0627\u0644\u062a\u0646\u0642\u0644"},paragraphs:[{en:"Active when you're on the Quant Analysis page with a chart focused. None of these fire while a text field has focus.",ar:"\u062a\u0639\u0645\u0644 \u0639\u0646\u062f\u0645\u0627 \u062a\u0643\u0648\u0646 \u0639\u0644\u0649 \u0635\u0641\u062d\u0629 Quant Analysis \u0645\u0639 \u0634\u0627\u0631\u062a \u0645\u0641\u0639\u0651\u0644. \u0644\u0627 \u062a\u0639\u0645\u0644 \u0623\u062b\u0646\u0627\u0621 \u0643\u062a\u0627\u0628\u0629 \u0641\u064a \u0623\u064a \u062d\u0642\u0644 \u0646\u0635\u064a."}],bullets:[{en:"\u2191 / \u2193 \u2014 Navigate between tickers in the active list (wraps around at the ends).",ar:"\u2191 / \u2193 \u2014 \u0627\u0644\u062a\u0646\u0642\u0644 \u0628\u064a\u0646 \u0627\u0644\u0640 tickers \u0641\u064a \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0641\u0639\u0651\u0644\u0629 (\u064a\u0644\u062a\u0641\u0651 \u0639\u0646\u062f \u0627\u0644\u0637\u0631\u0641\u064a\u0646)."},{en:"1 \u2014 Switch to M1 timeframe.",ar:"1 \u2014 \u0627\u0644\u062a\u0628\u062f\u064a\u0644 \u0625\u0644\u0649 timeframe M1."},{en:"2 \u2014 Switch to M5 timeframe.",ar:"2 \u2014 \u0627\u0644\u062a\u0628\u062f\u064a\u0644 \u0625\u0644\u0649 timeframe M5."},{en:"3 \u2014 Switch to M15 timeframe.",ar:"3 \u2014 \u0627\u0644\u062a\u0628\u062f\u064a\u0644 \u0625\u0644\u0649 timeframe M15."},{en:"4 \u2014 Switch to H1 timeframe.",ar:"4 \u2014 \u0627\u0644\u062a\u0628\u062f\u064a\u0644 \u0625\u0644\u0649 timeframe H1."},{en:"5 \u2014 Switch to H4 timeframe.",ar:"5 \u2014 \u0627\u0644\u062a\u0628\u062f\u064a\u0644 \u0625\u0644\u0649 timeframe H4."},{en:"6 \u2014 Switch to D1 timeframe.",ar:"6 \u2014 \u0627\u0644\u062a\u0628\u062f\u064a\u0644 \u0625\u0644\u0649 timeframe D1."},{en:"B \u2014 Toggle bands overlay on/off.",ar:"B \u2014 \u062a\u0634\u063a\u064a\u0644/\u0625\u064a\u0642\u0627\u0641 \u0637\u0628\u0642\u0629 \u0627\u0644\u0640 bands."},{en:"S \u2014 Toggle signal markers on/off.",ar:"S \u2014 \u062a\u0634\u063a\u064a\u0644/\u0625\u064a\u0642\u0627\u0641 \u0639\u0644\u0627\u0645\u0627\u062a \u0627\u0644\u0640 signals."},{en:"C \u2014 Toggle all cones on/off.",ar:"C \u2014 \u062a\u0634\u063a\u064a\u0644/\u0625\u064a\u0642\u0627\u0641 \u0643\u0644 \u0627\u0644\u0640 cones."},{en:"A \u2014 Toggle all anchors on/off.",ar:"A \u2014 \u062a\u0634\u063a\u064a\u0644/\u0625\u064a\u0642\u0627\u0641 \u0643\u0644 \u0627\u0644\u0640 anchors."},{en:"Esc \u2014 Deselect the active ticker, close any open settings panel, or cancel a drawing tool currently being placed.",ar:"Esc \u2014 \u0625\u0644\u063a\u0627\u0621 \u062a\u062d\u062f\u064a\u062f \u0627\u0644\u0640 ticker\u060c \u0625\u063a\u0644\u0627\u0642 \u0623\u064a \u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0645\u0641\u062a\u0648\u062d\u0629\u060c \u0623\u0648 \u0625\u0644\u063a\u0627\u0621 \u0623\u062f\u0627\u0629 \u0627\u0644\u0631\u0633\u0645 \u0627\u0644\u0646\u0634\u0637\u0629."}]},{heading:{en:"Drawing tools",ar:"\u0623\u062f\u0648\u0627\u062a \u0627\u0644\u0631\u0633\u0645"},paragraphs:[{en:"Active while a drawing exists or a drawing tool is in use on the main chart.",ar:"\u062a\u0639\u0645\u0644 \u0639\u0646\u062f\u0645\u0627 \u064a\u0643\u0648\u0646 \u0647\u0646\u0627\u0643 \u0631\u0633\u0645 \u0645\u0648\u062c\u0648\u062f \u0623\u0648 \u0623\u062f\u0627\u0629 \u0631\u0633\u0645 \u0645\u0641\u0639\u0651\u0644\u0629 \u0639\u0644\u0649 \u0627\u0644\u0634\u0627\u0631\u062a \u0627\u0644\u0631\u0626\u064a\u0633\u064a."}],bullets:[{en:"Esc \u2014 Cancel the drawing tool currently in use, or exit chart fullscreen mode.",ar:"Esc \u2014 \u0625\u0644\u063a\u0627\u0621 \u0623\u062f\u0627\u0629 \u0627\u0644\u0631\u0633\u0645 \u0627\u0644\u062d\u0627\u0644\u064a\u0629\u060c \u0623\u0648 \u0627\u0644\u062e\u0631\u0648\u062c \u0645\u0646 \u0648\u0636\u0639 \u0645\u0644\u0621 \u0627\u0644\u0634\u0627\u0634\u0629."},{en:"Delete or Backspace \u2014 Delete the currently selected drawing.",ar:"Delete \u0623\u0648 Backspace \u2014 \u062d\u0630\u0641 \u0627\u0644\u0631\u0633\u0645 \u0627\u0644\u0645\u062d\u062f\u0651\u062f \u062d\u0627\u0644\u064a\u0627\u064b."},{en:"Click on a drawing \u2014 Select it (handles appear). Click empty chart space to deselect.",ar:"\u0627\u0644\u0646\u0642\u0631 \u0639\u0644\u0649 \u0631\u0633\u0645 \u2014 \u062a\u062d\u062f\u064a\u062f\u0647 (\u062a\u0638\u0647\u0631 \u0645\u0642\u0627\u0628\u0636 \u0627\u0644\u062a\u062d\u0631\u064a\u0631). \u0627\u0644\u0646\u0642\u0631 \u0639\u0644\u0649 \u0645\u0633\u0627\u062d\u0629 \u0641\u0627\u0631\u063a\u0629 \u0644\u0625\u0644\u063a\u0627\u0621 \u0627\u0644\u062a\u062d\u062f\u064a\u062f."}]},{heading:{en:"Forms & dialogs",ar:"\u0627\u0644\u0646\u0645\u0627\u0630\u062c \u0648\u0627\u0644\u0646\u0648\u0627\u0641\u0630"},bullets:[{en:"Enter \u2014 Submit the current form (Sign in, Register, OTP code, Forgot Password, Reset Password, Verify Email recovery, and Continue from the Account page if you have access).",ar:"Enter \u2014 \u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0646\u0645\u0648\u0630\u062c \u0627\u0644\u062d\u0627\u0644\u064a (\u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062f\u062e\u0648\u0644\u060c \u0627\u0644\u062a\u0633\u062c\u064a\u0644\u060c \u0631\u0645\u0632 OTP\u060c \u0646\u0633\u064a\u062a \u0643\u0644\u0645\u0629 \u0627\u0644\u0645\u0631\u0648\u0631\u060c \u0625\u0639\u0627\u062f\u0629 \u062a\u0639\u064a\u064a\u0646\u060c \u0627\u0633\u062a\u0631\u062f\u0627\u062f \u0627\u0644\u062a\u062d\u0642\u0642\u060c Continue \u0645\u0646 \u0635\u0641\u062d\u0629 \u0627\u0644\u062d\u0633\u0627\u0628)."},{en:"Esc \u2014 Close the current popup menu (right-click context menus, swap-page menu in detached windows, asset picker dropdown).",ar:"Esc \u2014 \u0625\u063a\u0644\u0627\u0642 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0646\u0628\u062b\u0642\u0629 \u0627\u0644\u062d\u0627\u0644\u064a\u0629 (\u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u0646\u0642\u0631 \u0628\u0632\u0631 \u0627\u0644\u0641\u0623\u0631\u0629 \u0627\u0644\u0623\u064a\u0645\u0646\u060c \u0642\u0627\u0626\u0645\u0629 \u062a\u0628\u062f\u064a\u0644 \u0627\u0644\u0635\u0641\u062d\u0629 \u0641\u064a \u0627\u0644\u0646\u0648\u0627\u0641\u0630 \u0627\u0644\u0645\u0646\u0641\u0635\u0644\u0629\u060c \u0642\u0627\u0626\u0645\u0629 \u0627\u062e\u062a\u064a\u0627\u0631 \u0627\u0644\u0623\u0635\u0648\u0644)."},{en:"Tab \u2014 Move focus to the next input field (standard browser behaviour).",ar:"Tab \u2014 \u0646\u0642\u0644 \u0627\u0644\u062a\u0631\u0643\u064a\u0632 \u0625\u0644\u0649 \u0627\u0644\u062d\u0642\u0644 \u0627\u0644\u062a\u0627\u0644\u064a (\u0633\u0644\u0648\u0643 \u0627\u0644\u0645\u062a\u0635\u0641\u062d \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a)."}]},{heading:{en:"OTP code entry",ar:"\u0625\u062f\u062e\u0627\u0644 \u0631\u0645\u0632 OTP"},paragraphs:[{en:"On any verification screen with the six-box OTP input.",ar:"\u0641\u064a \u0623\u064a \u0634\u0627\u0634\u0629 \u062a\u062d\u0642\u0651\u0642 \u0641\u064a\u0647\u0627 \u0635\u0646\u0627\u062f\u064a\u0642 OTP \u0627\u0644\u0633\u062a\u0629."}],bullets:[{en:"Type a digit \u2014 Auto-advances to the next box.",ar:"\u0627\u0643\u062a\u0628 \u0631\u0642\u0645\u0627\u064b \u2014 \u064a\u0646\u062a\u0642\u0644 \u062a\u0644\u0642\u0627\u0626\u064a\u0627\u064b \u0625\u0644\u0649 \u0627\u0644\u0635\u0646\u062f\u0648\u0642 \u0627\u0644\u062a\u0627\u0644\u064a."},{en:"Backspace on an empty box \u2014 Goes back to the previous box and clears it.",ar:"Backspace \u0639\u0644\u0649 \u0635\u0646\u062f\u0648\u0642 \u0641\u0627\u0631\u063a \u2014 \u064a\u0639\u0648\u062f \u0625\u0644\u0649 \u0627\u0644\u0635\u0646\u062f\u0648\u0642 \u0627\u0644\u0633\u0627\u0628\u0642 \u0648\u064a\u0641\u0631\u0651\u063a\u0647."},{en:"Paste a 6-digit code \u2014 Fills all six boxes at once (works from email or messaging apps).",ar:"\u0644\u0635\u0642 \u0631\u0645\u0632 \u0645\u0646 6 \u0623\u0631\u0642\u0627\u0645 \u2014 \u064a\u0645\u0644\u0623 \u0643\u0644 \u0627\u0644\u0635\u0646\u0627\u062f\u064a\u0642 \u062f\u0641\u0639\u0629 \u0648\u0627\u062d\u062f\u0629 (\u064a\u0639\u0645\u0644 \u0645\u0646 \u0627\u0644\u0628\u0631\u064a\u062f \u0623\u0648 \u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0627\u0644\u0645\u0631\u0627\u0633\u0644\u0629)."}]},{heading:{en:"Multi-window (detach)",ar:"\u0627\u0644\u0646\u0648\u0627\u0641\u0630 \u0627\u0644\u0645\u062a\u0639\u062f\u0651\u062f\u0629"},paragraphs:[{en:"Right-click affordances added so any top-level page can run as its own window \u2014 useful on multi-monitor setups.",ar:"\u0625\u0645\u0643\u0627\u0646\u064a\u0627\u062a \u0646\u0642\u0631 \u0628\u0632\u0631 \u0627\u0644\u0641\u0623\u0631\u0629 \u0627\u0644\u0623\u064a\u0645\u0646 \u0644\u062a\u0634\u063a\u064a\u0644 \u0623\u064a \u0635\u0641\u062d\u0629 \u0631\u0626\u064a\u0633\u064a\u0629 \u0641\u064a \u0646\u0627\u0641\u0630\u0629 \u0645\u0633\u062a\u0642\u0644\u0629 \u2014 \u0645\u0641\u064a\u062f \u0639\u0644\u0649 \u0627\u0644\u0634\u0627\u0634\u0627\u062a \u0627\u0644\u0645\u062a\u0639\u062f\u0651\u062f\u0629."}],bullets:[{en:"Right-click on any top-nav tab (Quant Analysis, Money Flow, Options Quant, Stress Lab, Learn, Fundamental) \u2014 Opens a small menu with 'Open in New Window'. Picking it spawns a separate window showing only that page.",ar:"\u0646\u0642\u0631 \u0628\u0632\u0631 \u0627\u0644\u0641\u0623\u0631\u0629 \u0627\u0644\u0623\u064a\u0645\u0646 \u0639\u0644\u0649 \u0623\u064a \u062a\u0628\u0648\u064a\u0628 \u0639\u0644\u0648\u064a (Quant Analysis, Money Flow, Options Quant, Stress Lab, Learn, Fundamental) \u2014 \u062a\u0638\u0647\u0631 \u0642\u0627\u0626\u0645\u0629 \u0635\u063a\u064a\u0631\u0629 \u0641\u064a\u0647\u0627 'Open in New Window'. \u0627\u062e\u062a\u064a\u0627\u0631\u0647\u0627 \u064a\u0641\u062a\u062d \u0646\u0627\u0641\u0630\u0629 \u062c\u062f\u064a\u062f\u0629 \u062a\u0639\u0631\u0636 \u062a\u0644\u0643 \u0627\u0644\u0635\u0641\u062d\u0629 \u0641\u0642\u0637."},{en:"Right-click on the orange border of a detached window \u2014 Opens a Switch Page menu so you can change which page that window shows without closing it.",ar:"\u0646\u0642\u0631 \u0628\u0632\u0631 \u0627\u0644\u0641\u0623\u0631\u0629 \u0627\u0644\u0623\u064a\u0645\u0646 \u0639\u0644\u0649 \u0627\u0644\u0625\u0637\u0627\u0631 \u0627\u0644\u0628\u0631\u062a\u0642\u0627\u0644\u064a \u0644\u0644\u0646\u0627\u0641\u0630\u0629 \u0627\u0644\u0645\u0646\u0641\u0635\u0644\u0629 \u2014 \u062a\u0638\u0647\u0631 \u0642\u0627\u0626\u0645\u0629 Switch Page \u0644\u062a\u063a\u064a\u064a\u0631 \u0627\u0644\u0635\u0641\u062d\u0629 \u0627\u0644\u0645\u0639\u0631\u0648\u0636\u0629 \u062f\u0648\u0646 \u0625\u063a\u0644\u0627\u0642 \u0627\u0644\u0646\u0627\u0641\u0630\u0629."},{en:"Closing the main window \u2014 Closes every detached window automatically; the app fully exits.",ar:"\u0625\u063a\u0644\u0627\u0642 \u0627\u0644\u0646\u0627\u0641\u0630\u0629 \u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629 \u2014 \u064a\u064f\u063a\u0644\u0642 \u0643\u0644 \u0627\u0644\u0646\u0648\u0627\u0641\u0630 \u0627\u0644\u0645\u0646\u0641\u0635\u0644\u0629 \u062a\u0644\u0642\u0627\u0626\u064a\u0627\u064b\u061b \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u064a\u062e\u0631\u062c \u0628\u0627\u0644\u0643\u0627\u0645\u0644."},{en:"Closing a single detached window \u2014 Only closes that window; main and other detached windows continue running.",ar:"\u0625\u063a\u0644\u0627\u0642 \u0646\u0627\u0641\u0630\u0629 \u0645\u0646\u0641\u0635\u0644\u0629 \u0648\u0627\u062d\u062f\u0629 \u2014 \u064a\u064f\u063a\u0644\u0642 \u062a\u0644\u0643 \u0627\u0644\u0646\u0627\u0641\u0630\u0629 \u0641\u0642\u0637\u061b \u0627\u0644\u0646\u0627\u0641\u0630\u0629 \u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629 \u0648\u0627\u0644\u0646\u0648\u0627\u0641\u0630 \u0627\u0644\u0623\u062e\u0631\u0649 \u062a\u0628\u0642\u0649 \u062a\u0639\u0645\u0644."}]},{heading:{en:"Mouse on the chart",ar:"\u0627\u0644\u0641\u0623\u0631\u0629 \u0639\u0644\u0649 \u0627\u0644\u0634\u0627\u0631\u062a"},bullets:[{en:"Scroll wheel \u2014 Zoom in/out on the chart's time axis.",ar:"\u0639\u062c\u0644\u0629 \u0627\u0644\u062a\u0645\u0631\u064a\u0631 \u2014 \u062a\u0643\u0628\u064a\u0631/\u062a\u0635\u063a\u064a\u0631 \u0639\u0644\u0649 \u0627\u0644\u0645\u062d\u0648\u0631 \u0627\u0644\u0632\u0645\u0646\u064a \u0644\u0644\u0634\u0627\u0631\u062a."},{en:"Click and drag empty chart \u2014 Pan the visible time range left/right.",ar:"\u0627\u0644\u0646\u0642\u0631 \u0648\u0627\u0644\u0633\u062d\u0628 \u0639\u0644\u0649 \u0645\u0633\u0627\u062d\u0629 \u0641\u0627\u0631\u063a\u0629 \u0641\u064a \u0627\u0644\u0634\u0627\u0631\u062a \u2014 \u062a\u062d\u0631\u064a\u0643 \u0627\u0644\u0646\u0637\u0627\u0642 \u0627\u0644\u0632\u0645\u0646\u064a \u0627\u0644\u0645\u0631\u0626\u064a \u064a\u0645\u064a\u0646\u0627\u064b/\u064a\u0633\u0627\u0631\u0627\u064b."},{en:"Click and drag the price scale (right edge) \u2014 Stretch or compress the price axis.",ar:"\u0627\u0644\u0646\u0642\u0631 \u0648\u0627\u0644\u0633\u062d\u0628 \u0639\u0644\u0649 \u0645\u0642\u064a\u0627\u0633 \u0627\u0644\u0633\u0639\u0631 (\u0627\u0644\u062d\u0627\u0641\u0629 \u0627\u0644\u064a\u0645\u0646\u0649) \u2014 \u062a\u0645\u062f\u064a\u062f \u0623\u0648 \u0636\u063a\u0637 \u0645\u062d\u0648\u0631 \u0627\u0644\u0633\u0639\u0631."},{en:"Double-click on the price scale \u2014 Reset the price axis to auto-scale.",ar:"\u0627\u0644\u0646\u0642\u0631 \u0627\u0644\u0645\u0632\u062f\u0648\u062c \u0639\u0644\u0649 \u0645\u0642\u064a\u0627\u0633 \u0627\u0644\u0633\u0639\u0631 \u2014 \u0625\u0639\u0627\u062f\u0629 \u0645\u062d\u0648\u0631 \u0627\u0644\u0633\u0639\u0631 \u0625\u0644\u0649 auto-scale."},{en:"Hover over a candle \u2014 Tooltip shows OHLC values + any overlay readings (cone widths, GEX levels, regime label).",ar:"\u062a\u0645\u0631\u064a\u0631 \u0627\u0644\u0641\u0623\u0631\u0629 \u0641\u0648\u0642 \u0634\u0645\u0639\u0629 \u2014 \u064a\u0638\u0647\u0631 tooltip \u0641\u064a\u0647 \u0642\u064a\u0645 OHLC \u0648\u0642\u0631\u0627\u0621\u0627\u062a \u0627\u0644\u0637\u0628\u0642\u0627\u062a (\u0639\u0631\u0636 \u0627\u0644\u0640 cones\u060c \u0645\u0633\u062a\u0648\u064a\u0627\u062a GEX\u060c \u0627\u0633\u0645 \u0627\u0644\u0640 regime)."}]},{heading:{en:"App window controls",ar:"\u062a\u062d\u0643\u0645 \u0646\u0627\u0641\u0630\u0629 \u0627\u0644\u062a\u0637\u0628\u064a\u0642"},paragraphs:[{en:"Standard Windows / Electron shortcuts that work anywhere in the app.",ar:"\u0627\u062e\u062a\u0635\u0627\u0631\u0627\u062a Windows / Electron \u0627\u0644\u0642\u064a\u0627\u0633\u064a\u0629 \u0627\u0644\u062a\u064a \u062a\u0639\u0645\u0644 \u0641\u064a \u0623\u064a \u0645\u0643\u0627\u0646 \u0641\u064a \u0627\u0644\u062a\u0637\u0628\u064a\u0642."}],bullets:[{en:"F12 \u2014 Toggle developer tools. Available in development builds; disabled in production installers (turn it back on by editing electron/main.js if needed).",ar:"F12 \u2014 \u062a\u0634\u063a\u064a\u0644/\u0625\u064a\u0642\u0627\u0641 \u0623\u062f\u0648\u0627\u062a \u0627\u0644\u0645\u0637\u0648\u0631. \u0645\u062a\u0627\u062d \u0641\u064a \u0625\u0635\u062f\u0627\u0631\u0627\u062a \u0627\u0644\u062a\u0637\u0648\u064a\u0631\u061b \u0645\u0639\u0637\u0651\u0644 \u0641\u064a \u0627\u0644\u0625\u0635\u062f\u0627\u0631\u0627\u062a \u0627\u0644\u0646\u0647\u0627\u0626\u064a\u0629."},{en:"Ctrl+R or F5 \u2014 Reload the current window. Detached windows preserve their assigned page across reload (URL parameter persists).",ar:"Ctrl+R \u0623\u0648 F5 \u2014 \u0625\u0639\u0627\u062f\u0629 \u062a\u062d\u0645\u064a\u0644 \u0627\u0644\u0646\u0627\u0641\u0630\u0629 \u0627\u0644\u062d\u0627\u0644\u064a\u0629. \u0627\u0644\u0646\u0648\u0627\u0641\u0630 \u0627\u0644\u0645\u0646\u0641\u0635\u0644\u0629 \u062a\u062d\u062a\u0641\u0638 \u0628\u0635\u0641\u062d\u062a\u0647\u0627 \u0628\u0639\u062f \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u062a\u062d\u0645\u064a\u0644."},{en:"Ctrl + + / Ctrl + \u2212 \u2014 Zoom the entire UI in/out.",ar:"Ctrl + + / Ctrl + \u2212 \u2014 \u062a\u0643\u0628\u064a\u0631/\u062a\u0635\u063a\u064a\u0631 \u0627\u0644\u0648\u0627\u062c\u0647\u0629 \u0628\u0627\u0644\u0643\u0627\u0645\u0644."},{en:"Ctrl+0 \u2014 Reset UI zoom to 100%.",ar:"Ctrl+0 \u2014 \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0632\u0648\u0645 \u0625\u0644\u0649 100%."},{en:"Alt+F4 \u2014 Close the current window (the standard Windows shortcut).",ar:"Alt+F4 \u2014 \u0625\u063a\u0644\u0627\u0642 \u0627\u0644\u0646\u0627\u0641\u0630\u0629 \u0627\u0644\u062d\u0627\u0644\u064a\u0629 (\u0627\u062e\u062a\u0635\u0627\u0631 Windows \u0627\u0644\u0642\u064a\u0627\u0633\u064a)."}]},{heading:{en:"Notes",ar:"\u0645\u0644\u0627\u062d\u0638\u0627\u062a"},bullets:[{en:"Letter shortcuts (B, S, C, A) are case-insensitive \u2014 Caps Lock doesn't matter.",ar:"\u0627\u062e\u062a\u0635\u0627\u0631\u0627\u062a \u0627\u0644\u062d\u0631\u0648\u0641 (B, S, C, A) \u0644\u0627 \u062a\u0641\u0631\u0651\u0642 \u0628\u064a\u0646 \u0627\u0644\u0643\u0628\u064a\u0631\u0629 \u0648\u0627\u0644\u0635\u063a\u064a\u0631\u0629 \u2014 Caps Lock \u0644\u0627 \u064a\u0624\u062b\u0651\u0631."},{en:"If a shortcut isn't responding, check whether you have an input field focused (an orange border around an input means it has focus). Click empty chart space to release focus.",ar:"\u0625\u0630\u0627 \u0627\u062e\u062a\u0635\u0627\u0631 \u0644\u0627 \u064a\u0633\u062a\u062c\u064a\u0628\u060c \u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0647 \u0644\u0627 \u064a\u0648\u062c\u062f \u062d\u0642\u0644 \u0625\u062f\u062e\u0627\u0644 \u0645\u0641\u0639\u0651\u0644 (\u0627\u0644\u0625\u0637\u0627\u0631 \u0627\u0644\u0628\u0631\u062a\u0642\u0627\u0644\u064a \u062d\u0648\u0644 \u0627\u0644\u062d\u0642\u0644 \u064a\u0639\u0646\u064a \u0623\u0646\u0647 \u0645\u0641\u0639\u0651\u0644). \u0627\u0646\u0642\u0631 \u0639\u0644\u0649 \u0645\u0633\u0627\u062d\u0629 \u0641\u0627\u0631\u063a\u0629 \u0641\u064a \u0627\u0644\u0634\u0627\u0631\u062a \u0644\u0625\u0644\u063a\u0627\u0621 \u0627\u0644\u062a\u0631\u0643\u064a\u0632."},{en:"Shortcuts are global per window \u2014 each detached window has its own set independent of the main window.",ar:"\u0627\u0644\u0627\u062e\u062a\u0635\u0627\u0631\u0627\u062a global \u0644\u0643\u0644 \u0646\u0627\u0641\u0630\u0629 \u2014 \u0643\u0644 \u0646\u0627\u0641\u0630\u0629 \u0645\u0646\u0641\u0635\u0644\u0629 \u0644\u0647\u0627 \u0645\u062c\u0645\u0648\u0639\u062a\u0647\u0627 \u0627\u0644\u062e\u0627\u0635\u0629 \u0627\u0644\u0645\u0633\u062a\u0642\u0644\u0651\u0629 \u0639\u0646 \u0627\u0644\u0646\u0627\u0641\u0630\u0629 \u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629."}]}]}];function rX(e){const t=[],n=e=>{null!==e&&void 0!==e&&e.en&&t.push(e.en),null!==e&&void 0!==e&&e.ar&&t.push(e.ar)};n(e.title),n(e.summary);for(const r of e.sections||[]){n(r.heading);for(const e of r.paragraphs||[])n(e);for(const e of r.bullets||[])n(e)}return t.join(" ").toLowerCase()}const iX=nX.map(e=>{var t,n;return{id:e.id,title_en:((null===(t=e.title)||void 0===t?void 0:t.en)||"").toLowerCase(),title_ar:((null===(n=e.title)||void 0===n?void 0:n.ar)||"").toLowerCase(),tags:(e.tags||[]).map(e=>String(e).toLowerCase()),body:rX(e)}});const oX=150;function lX(e){let{offsetX:n,title:r,variant:i,lang:o}=e;const l=(e,t)=>"ar"===o?t:e,s=30,a=110,c=n+oX-10-n;let d,u,h,p;"gbm"===i?(d=-50,u=50,h=-25,p=25):"mjd"===i?(d=-66,u=70,h=-32,p=34):(d=-75,u=82,h=-36,p=40);const f=`M 30 110 Q ${(s+c)/2} ${a+.55*d} ${c} ${a+d}`,g=`M 30 110 Q ${(s+c)/2} ${a+.55*u} ${c} ${a+u}`,m=`M 30 110 Q ${(s+c)/2} ${a+.55*h} ${c} ${a+h}`,y=`M 30 110 Q ${(s+c)/2} ${a+.55*p} ${c} ${a+p}`,v=`M 30 110 Q ${(s+c)/2} ${a+.55*d} ${c} ${a+d} L ${c} ${a+u} Q ${(s+c)/2} ${a+.55*u} 30 110 Z`,x=(0,t.useMemo)(()=>{let e="gbm"===i?7:"mjd"===i?23:91;const t=()=>(e=(9301*e+49297)%233280,e/233280),n=(c-s)/10,r=[];for(let o=0;o<7;o++){let e=a,o="M 30 110",l="gbm"===i?1.2:"mjd"===i?1.4:1.6;const c=2+Math.floor(5*t()),d=c+2;for(let r=1;r<=10;r++){const a=s+r*n;let u=l*Math.sqrt(r);"mjd"===i&&t()<.08&&(e+=(t()-.5)*u*10),"bates"===i&&r>=c&&r<=d&&(u*=2),e+=(t()-.5)*u*2,e=Math.max(22,Math.min(195,e)),o+=` L ${a.toFixed(1)} ${e.toFixed(1)}`}r.push(o)}return r},[i]);return(0,Hg.jsxs)("g",{transform:`translate(${n},0)`,children:[(0,Hg.jsx)("rect",{x:"0",y:"0",width:oX,height:200,fill:"#0a0a0a",stroke:"#222"}),(0,Hg.jsx)("text",{x:75,y:"14",fill:"#ffd89e",fontSize:"10",fontFamily:"monospace",textAnchor:"middle",fontWeight:"800",letterSpacing:"1.5",children:r}),(0,Hg.jsx)("path",{d:v,fill:"#ff6d00",fillOpacity:"0.07"}),x.map((e,t)=>(0,Hg.jsx)("path",{d:e,fill:"none",stroke:"#ffc107",strokeWidth:"0.8",strokeOpacity:"0.28"},t)),(0,Hg.jsx)("path",{d:f,fill:"none",stroke:"#e8383b",strokeOpacity:"0.85",strokeWidth:"1",strokeDasharray:"3 2"}),(0,Hg.jsx)("path",{d:g,fill:"none",stroke:"#e8383b",strokeOpacity:"0.85",strokeWidth:"1",strokeDasharray:"3 2"}),(0,Hg.jsx)("path",{d:m,fill:"none",stroke:"#ff6d00",strokeWidth:"1",strokeDasharray:"2 2"}),(0,Hg.jsx)("path",{d:y,fill:"none",stroke:"#ff6d00",strokeWidth:"1",strokeDasharray:"2 2"}),(0,Hg.jsx)("path",{d:`M 30 110 L ${c} 110`,fill:"none",stroke:"#ffc107",strokeWidth:"1.2"}),(0,Hg.jsx)("circle",{cx:s,cy:a,r:"2.5",fill:"#22d3ee"}),(0,Hg.jsx)("text",{x:75,y:196,fill:"#8b96a3",fontSize:"8",fontFamily:"monospace",textAnchor:"middle",opacity:"0.9",children:"gbm"===i?l("normal returns \xb7 calm","\u0639\u0648\u0627\u0626\u062f \u0637\u0628\u064a\u0639\u064a\u0629 \xb7 \u0647\u0627\u062f\u0626"):"mjd"===i?l("jumps \xb7 fat tails","\u0642\u0641\u0632\u0627\u062a \xb7 fat tails"):l("vol clusters \xb7 skew","vol clusters \xb7 \u0627\u0646\u062d\u064a\u0627\u0632")})]})}const sX=35,aX=17.727272727272727,cX=160/14;function dX(e,t){const n=(t-7.15)/(1+.18*e),r=Math.exp(-n*n/3);return Math.min(1,r*(1+.01*e))}function uX(e){if(e<.08)return"rgba(20,28,42, 0.6)";const t=Math.min(1,1.15*e),n=e*e;return`rgba(${Math.round(255)},${Math.round(109+107*n)},${Math.round(0+0*n)},${t.toFixed(2)})`}const hX=60,pX=180,fX=-120,gX=14,mX=[{strike:"6800",call:15,put:130,isCallWall:!1,isPutWall:!1},{strike:"6750",call:22,put:95,isCallWall:!1,isPutWall:!1},{strike:"6700",call:35,put:160,isCallWall:!1,isPutWall:!0},{strike:"6650",call:48,put:110,isCallWall:!1,isPutWall:!1},{strike:"6620",call:75,put:80,isCallWall:!1,isPutWall:!1,isFlip:!0},{strike:"6600",call:100,put:60,isCallWall:!1,isPutWall:!1,isSpot:!0},{strike:"6580",call:135,put:45,isCallWall:!1,isPutWall:!1},{strike:"6550",call:175,put:30,isCallWall:!0,isPutWall:!1},{strike:"6500",call:100,put:22,isCallWall:!1,isPutWall:!1},{strike:"6450",call:60,put:18,isCallWall:!1,isPutWall:!1},{strike:"6400",call:35,put:15,isCallWall:!1,isPutWall:!1}];const yX={mean_reversion:function(e){let{lang:t="en"}=e;const n=(e,n)=>"ar"===t?n:e;return(0,Hg.jsxs)("svg",{viewBox:"0 0 460 220",style:{width:"100%",height:"auto",display:"block"},children:[(0,Hg.jsx)("rect",{x:"0",y:"0",width:"460",height:"220",fill:"#0a0a0a"}),(0,Hg.jsx)("path",{d:"M 220 110 Q 320 74 430 55 L 430 165 Q 320 146 220 110 Z",fill:"#ff6d00",fillOpacity:"0.06"}),(0,Hg.jsx)("path",{d:"M 220 110 Q 320 94 430 85 L 430 135 Q 320 126 220 110 Z",fill:"#ff6d00",fillOpacity:"0.08"}),(0,Hg.jsx)("path",{d:"M 220 110 Q 320 74 430 55",fill:"none",stroke:"#e8383b",strokeOpacity:"0.7",strokeWidth:"1",strokeDasharray:"4 3"}),(0,Hg.jsx)("path",{d:"M 220 110 Q 320 146 430 165",fill:"none",stroke:"#e8383b",strokeOpacity:"0.7",strokeWidth:"1",strokeDasharray:"4 3"}),(0,Hg.jsx)("path",{d:"M 220 110 Q 320 94 430 85",fill:"none",stroke:"#ff6d00",strokeOpacity:"0.8",strokeWidth:"1",strokeDasharray:"2 3"}),(0,Hg.jsx)("path",{d:"M 220 110 Q 320 126 430 135",fill:"none",stroke:"#ff6d00",strokeOpacity:"0.8",strokeWidth:"1",strokeDasharray:"2 3"}),(0,Hg.jsx)("path",{d:"M 220 110 L 430 110",fill:"none",stroke:"#ffc107",strokeWidth:"1.2",strokeDasharray:"5 3"}),(0,Hg.jsx)("line",{x1:"220",y1:"5",x2:"220",y2:"215",stroke:"#22d3ee",strokeWidth:"1",strokeDasharray:"2 2",opacity:"0.8"}),(0,Hg.jsx)("text",{x:"220",y:"16",fill:"#22d3ee",fontSize:"9",fontFamily:"monospace",textAnchor:"middle",fontWeight:"700",children:n("ANCHOR \xb7 NOW","\u0627\u0644\u0622\u0646 \xb7 ANCHOR")}),(0,Hg.jsx)("path",{d:"M 30,115 L 55,113 L 80,117 L 105,114 L 130,112 L 155,110 L 180,113 L 200,111 L 220,110",fill:"none",stroke:"#8b96a3",strokeWidth:"1.5"}),(0,Hg.jsx)("path",{d:"M 220,110 L 240,115 L 265,125 L 290,135 L 320,140 L 350,130 L 380,118 L 410,112 L 430,110",fill:"none",stroke:"#e8ecf1",strokeWidth:"1.8"}),(0,Hg.jsx)("circle",{cx:"220",cy:"110",r:"3",fill:"#22d3ee"}),(0,Hg.jsx)("circle",{cx:"320",cy:"140",r:"6",fill:"#2ebd59"}),(0,Hg.jsx)("line",{x1:"320",y1:"140",x2:"320",y2:"202",stroke:"#2ebd59",strokeWidth:"1"}),(0,Hg.jsxs)("text",{x:"320",y:"210",fill:"#2ebd59",fontSize:"10",fontFamily:"monospace",textAnchor:"middle",fontWeight:"700",children:["BUY \xb7 ",n("ENTRY \u22122\u03c3","\u062f\u062e\u0648\u0644 \u0639\u0646\u062f \u22122\u03c3")]}),(0,Hg.jsx)("circle",{cx:"380",cy:"118",r:"6",fill:"#ff6d00"}),(0,Hg.jsx)("line",{x1:"380",y1:"118",x2:"380",y2:"30",stroke:"#ff6d00",strokeWidth:"1"}),(0,Hg.jsxs)("text",{x:"380",y:"24",fill:"#ff6d00",fontSize:"10",fontFamily:"monospace",textAnchor:"middle",fontWeight:"700",children:["TP \xb7 ",n("MEDIAN p50","\u0627\u0644\u0648\u0633\u0637 p50")]}),(0,Hg.jsx)("text",{x:"435",y:"58",fill:"#e8383b",fontSize:"9",fontFamily:"monospace",children:"+2\u03c3"}),(0,Hg.jsx)("text",{x:"435",y:"88",fill:"#ff6d00",fontSize:"9",fontFamily:"monospace",children:"+1\u03c3"}),(0,Hg.jsx)("text",{x:"435",y:"113",fill:"#ffc107",fontSize:"9",fontFamily:"monospace",children:"p50"}),(0,Hg.jsx)("text",{x:"435",y:"138",fill:"#ff6d00",fontSize:"9",fontFamily:"monospace",children:"\u22121\u03c3"}),(0,Hg.jsx)("text",{x:"435",y:"168",fill:"#e8383b",fontSize:"9",fontFamily:"monospace",children:"\u22122\u03c3"}),(0,Hg.jsx)("text",{x:"125",y:"210",fill:"#8b96a3",fontSize:"9",fontFamily:"monospace",textAnchor:"middle",opacity:"0.8",children:n("HISTORY","\u062a\u0627\u0631\u064a\u062e")})]})},breakout:function(e){let{lang:t="en"}=e;const n=(e,n)=>"ar"===t?n:e;return(0,Hg.jsxs)("svg",{viewBox:"0 0 460 220",style:{width:"100%",height:"auto",display:"block"},children:[(0,Hg.jsx)("rect",{x:"0",y:"0",width:"460",height:"220",fill:"#0a0a0a"}),(0,Hg.jsx)("path",{d:"M 220 110 Q 320 74 430 55 L 430 165 Q 320 146 220 110 Z",fill:"#ff6d00",fillOpacity:"0.06"}),(0,Hg.jsx)("path",{d:"M 220 110 Q 320 94 430 85 L 430 135 Q 320 126 220 110 Z",fill:"#ff6d00",fillOpacity:"0.08"}),(0,Hg.jsx)("path",{d:"M 220 110 Q 320 74 430 55",fill:"none",stroke:"#e8383b",strokeOpacity:"0.7",strokeWidth:"1",strokeDasharray:"4 3"}),(0,Hg.jsx)("path",{d:"M 220 110 Q 320 146 430 165",fill:"none",stroke:"#e8383b",strokeOpacity:"0.7",strokeWidth:"1",strokeDasharray:"4 3"}),(0,Hg.jsx)("path",{d:"M 220 110 Q 320 94 430 85",fill:"none",stroke:"#ff6d00",strokeOpacity:"0.8",strokeWidth:"1",strokeDasharray:"2 3"}),(0,Hg.jsx)("path",{d:"M 220 110 Q 320 126 430 135",fill:"none",stroke:"#ff6d00",strokeOpacity:"0.8",strokeWidth:"1",strokeDasharray:"2 3"}),(0,Hg.jsx)("path",{d:"M 220 110 L 430 110",fill:"none",stroke:"#ffc107",strokeWidth:"1.2",strokeDasharray:"5 3"}),(0,Hg.jsx)("line",{x1:"220",y1:"5",x2:"220",y2:"215",stroke:"#22d3ee",strokeWidth:"1",strokeDasharray:"2 2",opacity:"0.8"}),(0,Hg.jsx)("text",{x:"220",y:"16",fill:"#22d3ee",fontSize:"9",fontFamily:"monospace",textAnchor:"middle",fontWeight:"700",children:n("ANCHOR \xb7 NOW","\u0627\u0644\u0622\u0646 \xb7 ANCHOR")}),(0,Hg.jsx)("path",{d:"M 30,112 L 55,114 L 80,110 L 105,113 L 130,111 L 155,113 L 180,110 L 200,111 L 220,110",fill:"none",stroke:"#8b96a3",strokeWidth:"1.5"}),(0,Hg.jsx)("path",{d:"M 220,110 L 245,108 L 270,112 L 290,106 L 310,96 L 335,82 L 360,70 L 390,60 L 420,55 L 430,53",fill:"none",stroke:"#e8ecf1",strokeWidth:"1.8"}),(0,Hg.jsx)("circle",{cx:"220",cy:"110",r:"3",fill:"#22d3ee"}),(0,Hg.jsx)("circle",{cx:"310",cy:"96",r:"6",fill:"#2ebd59"}),(0,Hg.jsx)("line",{x1:"310",y1:"96",x2:"310",y2:"202",stroke:"#2ebd59",strokeWidth:"1",strokeDasharray:"2 3"}),(0,Hg.jsxs)("text",{x:"310",y:"210",fill:"#2ebd59",fontSize:"10",fontFamily:"monospace",textAnchor:"middle",fontWeight:"700",children:["BUY \xb7 ",n("BREAKOUT +1\u03c3","\u0627\u062e\u062a\u0631\u0627\u0642 +1\u03c3")]}),(0,Hg.jsx)("circle",{cx:"390",cy:"60",r:"6",fill:"#ff6d00"}),(0,Hg.jsx)("line",{x1:"390",y1:"60",x2:"390",y2:"30",stroke:"#ff6d00",strokeWidth:"1"}),(0,Hg.jsxs)("text",{x:"390",y:"24",fill:"#ff6d00",fontSize:"10",fontFamily:"monospace",textAnchor:"middle",fontWeight:"700",children:["TP \xb7 ",n("RIDE TO +2\u03c3","\u0631\u0643\u0648\u0628 \u062d\u062a\u0649 +2\u03c3")]}),(0,Hg.jsx)("text",{x:"435",y:"58",fill:"#e8383b",fontSize:"9",fontFamily:"monospace",children:"+2\u03c3"}),(0,Hg.jsx)("text",{x:"435",y:"88",fill:"#ff6d00",fontSize:"9",fontFamily:"monospace",children:"+1\u03c3"}),(0,Hg.jsx)("text",{x:"435",y:"113",fill:"#ffc107",fontSize:"9",fontFamily:"monospace",children:"p50"}),(0,Hg.jsx)("text",{x:"435",y:"138",fill:"#ff6d00",fontSize:"9",fontFamily:"monospace",children:"\u22121\u03c3"}),(0,Hg.jsx)("text",{x:"435",y:"168",fill:"#e8383b",fontSize:"9",fontFamily:"monospace",children:"\u22122\u03c3"}),(0,Hg.jsx)("text",{x:"125",y:"210",fill:"#8b96a3",fontSize:"9",fontFamily:"monospace",textAnchor:"middle",opacity:"0.8",children:n("COMPRESSION \xb7 HISTORY","compression \xb7 \u062a\u0627\u0631\u064a\u062e")})]})},tail_fade:function(e){let{lang:t="en"}=e;const n=(e,n)=>"ar"===t?n:e;return(0,Hg.jsxs)("svg",{viewBox:"0 0 460 220",style:{width:"100%",height:"auto",display:"block"},children:[(0,Hg.jsx)("rect",{x:"0",y:"0",width:"460",height:"220",fill:"#0a0a0a"}),(0,Hg.jsx)("path",{d:"M 220 110 Q 320 74 430 55 L 430 165 Q 320 146 220 110 Z",fill:"#ff6d00",fillOpacity:"0.06"}),(0,Hg.jsx)("path",{d:"M 220 110 Q 320 94 430 85 L 430 135 Q 320 126 220 110 Z",fill:"#ff6d00",fillOpacity:"0.08"}),(0,Hg.jsx)("path",{d:"M 220 110 Q 320 74 430 55",fill:"none",stroke:"#e8383b",strokeOpacity:"0.7",strokeWidth:"1",strokeDasharray:"4 3"}),(0,Hg.jsx)("path",{d:"M 220 110 Q 320 146 430 165",fill:"none",stroke:"#e8383b",strokeOpacity:"0.7",strokeWidth:"1",strokeDasharray:"4 3"}),(0,Hg.jsx)("path",{d:"M 220 110 Q 320 94 430 85",fill:"none",stroke:"#ff6d00",strokeOpacity:"0.8",strokeWidth:"1",strokeDasharray:"2 3"}),(0,Hg.jsx)("path",{d:"M 220 110 Q 320 126 430 135",fill:"none",stroke:"#ff6d00",strokeOpacity:"0.8",strokeWidth:"1",strokeDasharray:"2 3"}),(0,Hg.jsx)("path",{d:"M 220 110 L 430 110",fill:"none",stroke:"#ffc107",strokeWidth:"1.2",strokeDasharray:"5 3"}),(0,Hg.jsx)("line",{x1:"220",y1:"5",x2:"220",y2:"215",stroke:"#22d3ee",strokeWidth:"1",strokeDasharray:"2 2",opacity:"0.8"}),(0,Hg.jsx)("text",{x:"220",y:"16",fill:"#22d3ee",fontSize:"9",fontFamily:"monospace",textAnchor:"middle",fontWeight:"700",children:n("ANCHOR \xb7 NOW","\u0627\u0644\u0622\u0646 \xb7 ANCHOR")}),(0,Hg.jsx)("path",{d:"M 30,115 L 55,112 L 80,117 L 105,114 L 130,110 L 155,112 L 180,109 L 200,111 L 220,110",fill:"none",stroke:"#8b96a3",strokeWidth:"1.5"}),(0,Hg.jsx)("path",{d:"M 220,110 L 240,100 L 260,85 L 285,68 L 310,55 L 320,50 L 335,65 L 360,85 L 395,102 L 430,108",fill:"none",stroke:"#e8ecf1",strokeWidth:"1.8"}),(0,Hg.jsx)("circle",{cx:"220",cy:"110",r:"3",fill:"#22d3ee"}),(0,Hg.jsx)("circle",{cx:"320",cy:"50",r:"6",fill:"#e8383b"}),(0,Hg.jsx)("line",{x1:"320",y1:"50",x2:"320",y2:"20",stroke:"#e8383b",strokeWidth:"1"}),(0,Hg.jsxs)("text",{x:"320",y:"13",fill:"#e8383b",fontSize:"10",fontFamily:"monospace",textAnchor:"middle",fontWeight:"700",children:["SELL \xb7 ",n("FADE TAIL","\u0628\u064a\u0639 \u0627\u0644\u0642\u0645\u0629")]}),(0,Hg.jsx)("circle",{cx:"395",cy:"108",r:"6",fill:"#ff6d00"}),(0,Hg.jsx)("line",{x1:"395",y1:"108",x2:"395",y2:"200",stroke:"#ff6d00",strokeWidth:"1"}),(0,Hg.jsxs)("text",{x:"395",y:"210",fill:"#ff6d00",fontSize:"10",fontFamily:"monospace",textAnchor:"middle",fontWeight:"700",children:["TP \xb7 ",n("MEDIAN","p50")]}),(0,Hg.jsx)("text",{x:"435",y:"58",fill:"#e8383b",fontSize:"9",fontFamily:"monospace",children:"+2\u03c3"}),(0,Hg.jsx)("text",{x:"435",y:"88",fill:"#ff6d00",fontSize:"9",fontFamily:"monospace",children:"+1\u03c3"}),(0,Hg.jsx)("text",{x:"435",y:"113",fill:"#ffc107",fontSize:"9",fontFamily:"monospace",children:"p50"}),(0,Hg.jsx)("text",{x:"435",y:"138",fill:"#ff6d00",fontSize:"9",fontFamily:"monospace",children:"\u22121\u03c3"}),(0,Hg.jsx)("text",{x:"435",y:"168",fill:"#e8383b",fontSize:"9",fontFamily:"monospace",children:"\u22122\u03c3"}),(0,Hg.jsx)("text",{x:"125",y:"210",fill:"#8b96a3",fontSize:"9",fontFamily:"monospace",textAnchor:"middle",opacity:"0.8",children:n("HISTORY","\u062a\u0627\u0631\u064a\u062e")}),(0,Hg.jsx)("text",{x:"325",y:"210",fill:"#ffc107",fontSize:"9",fontFamily:"monospace",textAnchor:"middle",opacity:"0.9",children:n("GBM CONE \xb7 FORECAST","\u062a\u0648\u0642\u0639 \xb7 GBM cone")})]})},cone_construction:function(e){let{lang:n="en"}=e;const r=(e,t)=>"ar"===n?t:e,i=(0,t.useMemo)(()=>{let e=42;const t=()=>(e=(9301*e+49297)%233280,e/233280),n=[];for(let r=0;r<14;r++){let e=110,r="M 220 110";for(let n=1;n<=14;n++){const i=220+15*n,o=1.9*Math.sqrt(n);e+=(t()-.5)*o*2,e=Math.max(25,Math.min(195,e)),r+=` L ${i.toFixed(1)} ${e.toFixed(1)}`}n.push(r)}return n},[]);return(0,Hg.jsxs)("svg",{viewBox:"0 0 460 220",style:{width:"100%",height:"auto",display:"block"},children:[(0,Hg.jsx)("rect",{x:"0",y:"0",width:"460",height:"220",fill:"#0a0a0a"}),(0,Hg.jsx)("path",{d:"M 220 110 Q 320 74 430 55 L 430 165 Q 320 146 220 110 Z",fill:"#ff6d00",fillOpacity:"0.06"}),i.map((e,t)=>(0,Hg.jsx)("path",{d:e,fill:"none",stroke:"#ffc107",strokeWidth:"1",strokeOpacity:"0.28"},t)),(0,Hg.jsx)("path",{d:"M 220 110 Q 320 74 430 55",fill:"none",stroke:"#e8383b",strokeOpacity:"0.9",strokeWidth:"1.2",strokeDasharray:"4 3"}),(0,Hg.jsx)("path",{d:"M 220 110 Q 320 146 430 165",fill:"none",stroke:"#e8383b",strokeOpacity:"0.9",strokeWidth:"1.2",strokeDasharray:"4 3"}),(0,Hg.jsx)("path",{d:"M 220 110 Q 320 94 430 85",fill:"none",stroke:"#ff6d00",strokeWidth:"1.2",strokeDasharray:"2 3"}),(0,Hg.jsx)("path",{d:"M 220 110 Q 320 126 430 135",fill:"none",stroke:"#ff6d00",strokeWidth:"1.2",strokeDasharray:"2 3"}),(0,Hg.jsx)("path",{d:"M 220 110 L 430 110",fill:"none",stroke:"#ffc107",strokeWidth:"1.6"}),(0,Hg.jsx)("line",{x1:"220",y1:"5",x2:"220",y2:"215",stroke:"#22d3ee",strokeWidth:"1",strokeDasharray:"2 2",opacity:"0.8"}),(0,Hg.jsx)("text",{x:"220",y:"16",fill:"#22d3ee",fontSize:"9",fontFamily:"monospace",textAnchor:"middle",fontWeight:"700",children:r("ANCHOR \xb7 NOW","\u0627\u0644\u0622\u0646 \xb7 ANCHOR")}),(0,Hg.jsx)("path",{d:"M 30,115 L 55,113 L 80,117 L 105,114 L 130,112 L 155,110 L 180,113 L 200,111 L 220,110",fill:"none",stroke:"#8b96a3",strokeWidth:"1.5"}),(0,Hg.jsx)("circle",{cx:"220",cy:"110",r:"3",fill:"#22d3ee"}),(0,Hg.jsx)("text",{x:"435",y:"58",fill:"#e8383b",fontSize:"9",fontFamily:"monospace",children:"p95"}),(0,Hg.jsx)("text",{x:"435",y:"88",fill:"#ff6d00",fontSize:"9",fontFamily:"monospace",children:"p75"}),(0,Hg.jsx)("text",{x:"435",y:"113",fill:"#ffc107",fontSize:"9",fontFamily:"monospace",children:"p50"}),(0,Hg.jsx)("text",{x:"435",y:"138",fill:"#ff6d00",fontSize:"9",fontFamily:"monospace",children:"p25"}),(0,Hg.jsx)("text",{x:"435",y:"168",fill:"#e8383b",fontSize:"9",fontFamily:"monospace",children:"p05"}),(0,Hg.jsx)("text",{x:"325",y:"210",fill:"#ffc107",fontSize:"9",fontFamily:"monospace",textAnchor:"middle",opacity:"0.9",children:r("~14 MONTE CARLO PATHS \u2192 PERCENTILE CONE","\u224814 Monte Carlo paths \u2192 cone \u0627\u0644\u0627\u062d\u062a\u0645\u0627\u0644\u0627\u062a")})]})},cone_models:function(e){let{lang:t="en"}=e;return(0,Hg.jsxs)("svg",{viewBox:"0 0 460 200",style:{width:"100%",height:"auto",display:"block"},children:[(0,Hg.jsx)(lX,{offsetX:0,title:"GBM",variant:"gbm",lang:t}),(0,Hg.jsx)(lX,{offsetX:155,title:"MJD",variant:"mjd",lang:t}),(0,Hg.jsx)(lX,{offsetX:310,title:"BATES",variant:"bates",lang:t})]})},cone_horizons:function(e){let{lang:t="en"}=e;const n=(e,n)=>"ar"===t?n:e,r=160,i=110,o=[{endX:220,spread:18,color:"#22d3ee",label:"NOW (3d)"},{endX:265,spread:30,color:"#3796ff",label:"WEEKLY (7d)"},{endX:340,spread:55,color:"#ff6d00",label:"MONTHLY (30d)"},{endX:435,spread:82,color:"#e8383b",label:"QUARTERLY (90d)"}];return(0,Hg.jsxs)("svg",{viewBox:"0 0 460 220",style:{width:"100%",height:"auto",display:"block"},children:[(0,Hg.jsx)("rect",{x:"0",y:"0",width:"460",height:"220",fill:"#0a0a0a"}),[...o].reverse().map((e,t)=>{const n=(r+e.endX)/2,o=i-e.spread,l=i+e.spread,s=i-.55*e.spread,a=i+.55*e.spread,c=`M 160 110 Q ${n} ${s} ${e.endX} ${o}\n L ${e.endX} ${l} Q ${n} ${a} 160 110 Z`,d=`M 160 110 Q ${n} ${s} ${e.endX} ${o}`,u=`M 160 110 Q ${n} ${a} ${e.endX} ${l}`;return(0,Hg.jsxs)("g",{children:[(0,Hg.jsx)("path",{d:c,fill:e.color,fillOpacity:"0.08"}),(0,Hg.jsx)("path",{d:d,fill:"none",stroke:e.color,strokeWidth:"1",strokeDasharray:"4 3"}),(0,Hg.jsx)("path",{d:u,fill:"none",stroke:e.color,strokeWidth:"1",strokeDasharray:"4 3"}),(0,Hg.jsx)("path",{d:`M 160 110 L ${e.endX} 110`,fill:"none",stroke:e.color,strokeOpacity:"0.5",strokeWidth:"0.8",strokeDasharray:"2 4"})]},t)}),o.map((e,t)=>{const n=i-e.spread;return(0,Hg.jsxs)("g",{children:[(0,Hg.jsx)("line",{x1:e.endX,y1:n,x2:e.endX,y2:n-10,stroke:e.color,strokeWidth:"1"}),(0,Hg.jsx)("text",{x:e.endX,y:n-14,fill:e.color,fontSize:"8",fontFamily:"monospace",fontWeight:"800",textAnchor:"middle",children:e.label})]},t)}),(0,Hg.jsx)("line",{x1:r,y1:"5",x2:r,y2:"215",stroke:"#22d3ee",strokeWidth:"1",strokeDasharray:"2 2",opacity:"0.7"}),(0,Hg.jsx)("text",{x:r,y:"200",fill:"#22d3ee",fontSize:"9",fontFamily:"monospace",textAnchor:"middle",fontWeight:"700",children:n("ANCHOR","anchor / \u0646\u0642\u0637\u0629 \u0627\u0631\u062a\u0643\u0627\u0632")}),(0,Hg.jsx)("path",{d:"M 20,115 L 50,113 L 75,117 L 100,113 L 120,111 L 140,110 L 160,110",fill:"none",stroke:"#8b96a3",strokeWidth:"1.5"}),(0,Hg.jsx)("circle",{cx:r,cy:i,r:"3",fill:"#22d3ee"}),(0,Hg.jsx)("text",{x:"230",y:"215",fill:"#ffd89e",fontSize:"9",fontFamily:"monospace",textAnchor:"middle",opacity:"0.85",children:n("cones nest \u2014 tighter near-term, wider long-term","cones \u0645\u062a\u062f\u0627\u062e\u0644\u0629 \u2014 \u0636\u064a\u0642\u0629 \u0641\u064a \u0627\u0644\u0642\u0631\u064a\u0628\u060c \u0648\u0627\u0633\u0639\u0629 \u0641\u064a \u0627\u0644\u0628\u0639\u064a\u062f")})]})},options_heatmap:function(e){let{lang:n="en"}=e;const r=(e,t)=>"ar"===n?t:e,i=(0,t.useMemo)(()=>{const e=[];for(let t=0;t<22;t++)for(let n=0;n<14;n++)e.push({c:t,r:n,v:dX(t,n)});return e},[]),o=e=>20+e*cX+cX/2,l=8.5;return(0,Hg.jsxs)("svg",{viewBox:"0 0 460 220",style:{width:"100%",height:"auto",display:"block"},children:[(0,Hg.jsx)("rect",{x:"0",y:"0",width:"460",height:"220",fill:"#0a0a0a"}),i.map((e,t)=>(0,Hg.jsx)("rect",{x:sX+e.c*aX,y:20+e.r*cX,width:aX+.5,height:cX+.5,fill:uX(e.v)},t)),[{row:4,color:"#e8383b",label:"CALL WALL",dash:"5 2"},{row:5.5,color:"#555",label:"EXP+",dash:"2 5"},{row:7.8,color:"#9b59b6",label:"MAX PAIN",dash:"3 4"},{row:8.2,color:"#ff6d00",label:"FLIP",dash:"5 3"},{row:9.2,color:"#ffd800",label:"HVL",dash:"2 4"},{row:11,color:"#555",label:"EXP\u2212",dash:"2 5"},{row:12,color:"#2ebd59",label:"PUT WALL",dash:"5 2"}].map((e,t)=>{const n=o(e.row),r=8+5.2*e.label.length;return(0,Hg.jsxs)("g",{children:[(0,Hg.jsx)("line",{x1:sX,y1:n,x2:425,y2:n,stroke:e.color,strokeWidth:"1",strokeDasharray:e.dash,opacity:"0.9"}),(0,Hg.jsx)("rect",{x:37,y:n-6,width:r,height:12,fill:"#000",fillOpacity:"0.72",stroke:e.color,strokeOpacity:"0.6",strokeWidth:"0.5",rx:"2"}),(0,Hg.jsx)("text",{x:40,y:n+3,fill:e.color,fontSize:"8",fontFamily:"monospace",fontWeight:"800",children:e.label})]},t)}),(0,Hg.jsx)("line",{x1:sX,y1:o(l),x2:425,y2:o(l),stroke:"#22d3ee",strokeWidth:"1.4"}),(0,Hg.jsx)("rect",{x:"2",y:o(l)-8,width:31,height:"16",fill:"#22d3ee",rx:"2"}),(0,Hg.jsx)("text",{x:17.5,y:o(l)+4,fill:"#000",fontSize:"9",fontFamily:"monospace",fontWeight:"800",textAnchor:"middle",children:"SPOT"}),(0,Hg.jsx)("text",{x:sX,y:"14",fill:"#8b96a3",fontSize:"8",fontFamily:"monospace",children:r("PRICE (y) \xb7 FORWARD DAYS (x)","\u0627\u0644\u0633\u0639\u0631 (y) \xb7 \u0627\u0644\u0623\u064a\u0627\u0645 \u0644\u0644\u0623\u0645\u0627\u0645 (x)")}),(0,Hg.jsx)("text",{x:230,y:"213",fill:"#ffd89e",fontSize:"9",fontFamily:"monospace",textAnchor:"middle",opacity:"0.85",children:r("Hotter cell = higher options-implied probability","\u0627\u0644\u062e\u0644\u064a\u0629 \u0627\u0644\u0623\u0634\u062f \u062d\u0631\u0627\u0631\u0629 = \u0627\u062d\u062a\u0645\u0627\u0644 \u0623\u0639\u0644\u0649 \u0648\u0641\u0642 options")}),(0,Hg.jsxs)("g",{transform:"translate(433,20)",children:[(0,Hg.jsx)("text",{x:"0",y:"-4",fill:"#8b96a3",fontSize:"7",fontFamily:"monospace",children:"HIGH"}),Array.from({length:10}).map((e,t)=>{const n=1-.1*t;return(0,Hg.jsx)("rect",{x:"0",y:12*t,width:"12",height:"12",fill:uX(n)},t)}),(0,Hg.jsx)("text",{x:"0",y:"134",fill:"#8b96a3",fontSize:"7",fontFamily:"monospace",children:"LOW"})]})]})},options_levels:function(e){let{lang:t="en"}=e;return(0,Hg.jsxs)("svg",{viewBox:"0 0 460 220",style:{width:"100%",height:"auto",display:"block"},children:[(0,Hg.jsx)("rect",{x:"0",y:"0",width:"460",height:"220",fill:"#0a0a0a"}),(0,Hg.jsx)("text",{x:-30,y:"14",fill:"#e8383b",fontSize:"9",fontFamily:"monospace",textAnchor:"middle",fontWeight:"700",children:"PUT GEX \u2190"}),(0,Hg.jsx)("text",{x:150,y:"14",fill:"#2ebd59",fontSize:"9",fontFamily:"monospace",textAnchor:"middle",fontWeight:"700",children:"\u2192 CALL GEX"}),(0,Hg.jsx)("line",{x1:hX,y1:18,x2:hX,y2:24+mX.length*gX+6,stroke:"#333",strokeWidth:"1"}),mX.map((e,t)=>{const n=24+t*gX,r=e.put/200*pX,i=e.call/200*pX;return(0,Hg.jsxs)("g",{children:[(0,Hg.jsx)("text",{x:-124,y:n+7,fill:"#c5cdd9",fontSize:"8",fontFamily:"monospace",textAnchor:"end",children:e.strike}),(0,Hg.jsx)("rect",{x:hX-r,y:n+2,width:r,height:10,fill:"#e8383b",fillOpacity:e.isPutWall?.9:.55,stroke:e.isPutWall?"#ff5e5e":"none",strokeWidth:e.isPutWall?1:0}),(0,Hg.jsx)("rect",{x:hX,y:n+2,width:i,height:10,fill:"#2ebd59",fillOpacity:e.isCallWall?.9:.55,stroke:e.isCallWall?"#4ade80":"none",strokeWidth:e.isCallWall?1:0}),e.isPutWall&&(0,Hg.jsx)("text",{x:hX-r-4,y:n+9,fill:"#ff5e5e",fontSize:"8",fontFamily:"monospace",textAnchor:"end",fontWeight:"800",children:"\u2190 PUT WALL"}),e.isCallWall&&(0,Hg.jsx)("text",{x:hX+i+4,y:n+9,fill:"#4ade80",fontSize:"8",fontFamily:"monospace",fontWeight:"800",children:"CALL WALL \u2192"}),e.isFlip&&(0,Hg.jsxs)("g",{children:[(0,Hg.jsx)("line",{x1:fX,y1:n+7,x2:240,y2:n+7,stroke:"#ff6d00",strokeWidth:"1",strokeDasharray:"4 3"}),(0,Hg.jsx)("rect",{x:244,y:n+1,width:"40",height:"12",fill:"#ff6d00",fillOpacity:"0.18",stroke:"#ff6d00",strokeOpacity:"0.7",strokeWidth:"0.6",rx:"2"}),(0,Hg.jsx)("text",{x:248,y:n+10,fill:"#ff6d00",fontSize:"8",fontFamily:"monospace",fontWeight:"800",children:"FLIP"})]}),e.isSpot&&(0,Hg.jsxs)("g",{children:[(0,Hg.jsx)("line",{x1:fX,y1:n+7,x2:240,y2:n+7,stroke:"#22d3ee",strokeWidth:"1.5"}),(0,Hg.jsx)("rect",{x:244,y:n+1,width:"40",height:"12",fill:"#22d3ee",rx:"2"}),(0,Hg.jsx)("text",{x:264,y:n+10,fill:"#000",fontSize:"8",fontFamily:"monospace",fontWeight:"800",textAnchor:"middle",children:"SPOT"})]})]},t)}),(0,Hg.jsx)("text",{x:"230",y:"215",fill:"#ffd89e",fontSize:"9",fontFamily:"monospace",textAnchor:"middle",opacity:"0.85",children:((e,n)=>"ar"===t?n:e)("Bar size = dealer gamma at that strike","\u062d\u062c\u0645 \u0627\u0644\u0640 bar = dealer gamma \u0639\u0646\u062f \u0630\u0627\u0643 \u0627\u0644\u0640 strike")})]})}},vX={bg:"#000",bgPanel:"#0a0a0a",bgCard:"#111",bgHover:"#1a1a1a",border:"#222",borderLt:"#333",white:"#fff",text:"#e8ecf1",textSoft:"#c5cdd9",gray:"#999",muted:"#6b7785",dim:"#4d5866",orange:"#ff6d00",green:"#27c49a",amber:"#f5a623",blue:"#3796ff",proGold:"#ffd89e",proGoldDeep:"#b8823d"},xX="'Courier New', 'SF Mono', 'Monaco', 'Consolas', monospace",bX="mk_learning_lang",wX="mk_learning_disclaimer_seen",SX={search_placeholder:{en:"Search across all articles\u2026",ar:"\u0627\u0628\u062d\u062b \u0641\u064a \u0643\u0644 \u0627\u0644\u0645\u0642\u0627\u0644\u0627\u062a\u2026"},select_article:{en:"Select an article from the left to begin reading.",ar:"\u0627\u062e\u062a\u0631 \u0645\u0642\u0627\u0644\u0627\u064b \u0645\u0646 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0639\u0644\u0649 \u0627\u0644\u064a\u0633\u0627\u0631 \u0644\u062a\u0628\u062f\u0623 \u0627\u0644\u0642\u0631\u0627\u0621\u0629."},empty_hero_title:{en:"Learning Center",ar:"\u0645\u0631\u0643\u0632 \u0627\u0644\u062a\u0639\u0644\u0645"},empty_hero_sub:{en:"Reference for every page in MK.TRADES, the quant models that drive it, and the trade setups the engines detect.",ar:"\u0645\u0631\u062c\u0639 \u0644\u0643\u0644 \u0635\u0641\u062d\u0629 \u0641\u064a MK.TRADES\u060c \u0627\u0644\u0646\u0645\u0627\u0630\u062c \u0627\u0644\u0643\u0645\u064a\u0629 \u0627\u0644\u062a\u064a \u062a\u0634\u063a\u0651\u0644\u0647\u0627\u060c \u0648\u0623\u0646\u0648\u0627\u0639 \u0627\u0644\u0635\u0641\u0642\u0627\u062a \u0627\u0644\u062a\u064a \u062a\u0643\u062a\u0634\u0641\u0647\u0627 \u0627\u0644\u0645\u062d\u0631\u0643\u0627\u062a."},no_results:{en:"No articles match your search.",ar:"\u0644\u0627 \u062a\u0648\u062c\u062f \u0646\u062a\u0627\u0626\u062c \u0645\u0637\u0627\u0628\u0642\u0629."},nothing_in_category:{en:"(no articles yet)",ar:"(\u0644\u0627 \u062a\u0648\u062c\u062f \u0645\u0642\u0627\u0644\u0627\u062a \u0628\u0639\u062f)"},lang_toggle_to_arabic:"\u0639\u0631\u0628\u064a",lang_toggle_to_english:"EN",tags_label:{en:"TAGS",ar:"\u0627\u0644\u0648\u0633\u0648\u0645"},category_label:{en:"CATEGORY",ar:"\u0627\u0644\u062a\u0635\u0646\u064a\u0641"},summary_label:{en:"SUMMARY",ar:"\u0627\u0644\u0645\u0644\u062e\u0635"}};function jX(e,t){const n=SX[e];return n?"string"===typeof n?n:n[t]||n.en||"":e}function kX(e){let{lang:t,selectedId:n,onSelect:r,filterIds:i,collapsedCats:o,onToggleCat:l}=e;return(0,Hg.jsx)("aside",{style:{width:280,flexShrink:0,background:vX.bgPanel,borderRight:`1px solid ${vX.border}`,overflowY:"auto",fontFamily:xX},children:tX.map(e=>{const s=nX.filter(t=>t.category===e.id).filter(e=>!i||i.has(e.id)).sort((e,t)=>{var n,r;return(null!==(n=e.order)&&void 0!==n?n:999)-(null!==(r=t.order)&&void 0!==r?r:999)});if(i&&0===s.length)return null;const a=!!o[e.id];return(0,Hg.jsxs)("div",{style:{borderBottom:`1px solid ${vX.border}`},children:[(0,Hg.jsxs)("button",{onClick:()=>l(e.id),style:{display:"flex",alignItems:"center",gap:10,width:"100%",padding:"10px 14px",border:"none",cursor:"pointer",background:"transparent",textAlign:"left",fontFamily:xX,color:vX.text},children:[(0,Hg.jsx)("span",{style:{width:18,textAlign:"center",color:vX.proGold,fontSize:13,fontWeight:700},children:e.icon}),(0,Hg.jsx)("span",{style:{flex:1,fontSize:11,letterSpacing:"1.2px",textTransform:"uppercase",fontWeight:700},children:"ar"===t?e.ar:e.en}),(0,Hg.jsx)("span",{style:{color:vX.muted,fontSize:10},children:a?"+":"\u2212"})]}),!a&&(s.length>0?s.map(e=>{const i=e.id===n;return(0,Hg.jsx)("button",{onClick:()=>r(e.id),style:{display:"block",width:"100%",textAlign:"left",padding:"7px 16px 7px 44px",border:"none",background:i?`${vX.orange}18`:"transparent",borderLeft:i?`2px solid ${vX.orange}`:"2px solid transparent",color:i?vX.orange:vX.textSoft,fontFamily:xX,fontSize:11,cursor:"pointer",letterSpacing:"0.2px"},children:"ar"===t?e.title.ar:e.title.en},e.id)}):(0,Hg.jsx)("div",{style:{padding:"6px 16px 10px 44px",color:vX.dim,fontSize:10,fontStyle:"italic",fontFamily:xX},children:jX("nothing_in_category",t)}))]},e.id)})})}function _X(e){var t,n;let{article:r,lang:i}=e;if(!r)return null;const o="ar"===i,l=e=>("ar"===i?(null===e||void 0===e?void 0:e.ar)||(null===e||void 0===e?void 0:e.en):(null===e||void 0===e?void 0:e.en)||(null===e||void 0===e?void 0:e.ar))||"",s=tX.find(e=>e.id===r.category),a=s?"ar"===i?s.ar:s.en:r.category;return(0,Hg.jsxs)("article",{style:{padding:"24px 36px 60px 36px",maxWidth:860,margin:"0 auto",color:vX.textSoft,fontFamily:xX,direction:o?"rtl":"ltr",lineHeight:1.75},children:[(0,Hg.jsx)("div",{style:{display:"inline-block",padding:"2px 8px",borderRadius:2,background:`${vX.orange}18`,color:vX.orange,border:`1px solid ${vX.orange}50`,fontSize:9,letterSpacing:"1.5px",fontWeight:800,marginBottom:12,textTransform:"uppercase"},children:a}),(0,Hg.jsx)("h1",{style:{fontSize:24,color:vX.white,fontWeight:700,margin:"0 0 10px 0",letterSpacing:"0.3px",lineHeight:1.3},children:l(r.title)}),r.summary&&(0,Hg.jsx)("div",{style:{padding:"10px 14px",marginBottom:18,background:vX.bgCard,border:`1px solid ${vX.border}`,borderLeft:`3px solid ${vX.proGold}`,borderRadius:2,fontSize:12,color:vX.text,fontStyle:"italic"},children:l(r.summary)}),(null===(t=r.tags)||void 0===t?void 0:t.length)>0&&(0,Hg.jsx)("div",{style:{display:"flex",gap:6,flexWrap:"wrap",marginBottom:20,direction:"ltr"},children:r.tags.map(e=>(0,Hg.jsxs)("span",{style:{padding:"1px 7px",fontSize:9,background:vX.bgCard,color:vX.muted,border:`1px solid ${vX.borderLt}`,borderRadius:2,fontFamily:xX,letterSpacing:"0.3px"},children:["#",e]},e))}),null===(n=r.sections)||void 0===n?void 0:n.map((e,t)=>{var n,r;const o=e.visual?yX[e.visual]:null;return(0,Hg.jsxs)("section",{style:{marginBottom:26},children:[(0,Hg.jsx)("h2",{style:{fontSize:14,color:vX.orange,fontWeight:700,textTransform:"uppercase",letterSpacing:"1.5px",margin:"0 0 12px 0",paddingBottom:6,borderBottom:`1px solid ${vX.border}`},children:l(e.heading)}),o&&(0,Hg.jsx)("div",{style:{margin:"4px 0 14px 0",border:`1px solid ${vX.border}`,borderRadius:4,background:"#0a0a0a",direction:"ltr"},children:(0,Hg.jsx)(o,{lang:i})}),null===(n=e.paragraphs)||void 0===n?void 0:n.map((e,t)=>(0,Hg.jsx)("p",{style:{fontSize:13,color:vX.textSoft,margin:"0 0 10px 0"},children:l(e)},t)),(null===(r=e.bullets)||void 0===r?void 0:r.length)>0&&(0,Hg.jsx)("ul",{style:{listStyle:"none",padding:0,margin:"6px 0 0 0"},children:e.bullets.map((e,t)=>(0,Hg.jsxs)("li",{style:{fontSize:13,color:vX.textSoft,margin:"0 0 8px 0",paddingInlineStart:18,position:"relative"},children:[(0,Hg.jsx)("span",{style:{position:"absolute",insetInlineStart:0,top:10,width:6,height:6,borderRadius:"50%",background:vX.proGold}}),l(e)]},t))})]},t)})]})}function EX(e){let{lang:t,onPickFirst:n}=e;const r="ar"===t;return(0,Hg.jsx)("div",{style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",padding:40,fontFamily:xX,direction:r?"rtl":"ltr"},children:(0,Hg.jsxs)("div",{style:{maxWidth:560,textAlign:"center",background:vX.bgCard,border:`1px solid ${vX.border}`,borderRadius:8,padding:"36px 30px",position:"relative",overflow:"hidden"},children:[(0,Hg.jsx)("div",{style:{position:"absolute",top:0,left:0,right:0,height:3,background:`linear-gradient(90deg, ${vX.proGold}, ${vX.proGoldDeep}, ${vX.orange})`}}),(0,Hg.jsx)("h2",{style:{fontSize:20,color:vX.white,fontWeight:700,margin:"0 0 12px 0"},children:jX("empty_hero_title",t)}),(0,Hg.jsx)("p",{style:{fontSize:12,color:vX.textSoft,lineHeight:1.7,margin:0},children:jX("empty_hero_sub",t)}),(0,Hg.jsx)("p",{style:{fontSize:11,color:vX.muted,marginTop:18},children:jX("select_article",t)}),n&&(0,Hg.jsx)("button",{onClick:n,style:{marginTop:18,padding:"6px 16px",background:`${vX.orange}18`,color:vX.orange,border:`1px solid ${vX.orange}60`,borderRadius:3,fontSize:10,fontWeight:800,letterSpacing:"1px",fontFamily:xX,cursor:"pointer"},children:"ar"===t?"\u0627\u0628\u062f\u0623 \u0645\u0646 \u0623\u0648\u0644 \u0645\u0642\u0627\u0644":"START WITH FIRST ARTICLE"})]})})}function CX(e){let{onDismiss:t}=e;return(0,Hg.jsx)("div",{style:{position:"absolute",inset:0,zIndex:200,background:"rgba(0, 0, 0, 0.78)",display:"flex",alignItems:"center",justifyContent:"center",padding:30,fontFamily:xX},onClick:t,children:(0,Hg.jsxs)("div",{onClick:e=>e.stopPropagation(),style:{maxWidth:560,width:"100%",background:vX.bgCard,border:`1px solid ${vX.amber}80`,borderRadius:6,padding:"28px 30px 24px 30px",position:"relative",overflow:"hidden",boxShadow:"0 8px 32px rgba(0,0,0,0.6)"},children:[(0,Hg.jsx)("div",{style:{position:"absolute",top:0,left:0,right:0,height:3,background:`linear-gradient(90deg, ${vX.amber}, ${vX.orange})`}}),(0,Hg.jsx)("div",{style:{display:"inline-flex",alignItems:"center",gap:8,padding:"4px 12px",borderRadius:3,background:`${vX.amber}18`,color:vX.amber,border:`1px solid ${vX.amber}60`,fontSize:10,fontWeight:800,letterSpacing:"1.3px",marginBottom:18},children:"\u26a0 UNDER CONSTRUCTION"}),(0,Hg.jsxs)("div",{style:{direction:"ltr",textAlign:"left",marginBottom:16},children:[(0,Hg.jsx)("h3",{style:{fontSize:14,color:vX.white,fontWeight:700,margin:"0 0 8px 0",letterSpacing:"0.3px"},children:"Learning Center is still being built"}),(0,Hg.jsx)("p",{style:{fontSize:12,color:vX.textSoft,lineHeight:1.7,margin:0},children:"Articles are in active development. Some content may be incomplete, outdated, or misleading. Always cross-check against the live terminal before acting on anything you read here."})]}),(0,Hg.jsx)("div",{style:{height:1,background:vX.border,margin:"14px 0"}}),(0,Hg.jsxs)("div",{style:{direction:"rtl",textAlign:"right",marginBottom:20},children:[(0,Hg.jsx)("h3",{style:{fontSize:14,color:vX.white,fontWeight:700,margin:"0 0 8px 0"},children:"\u0645\u0631\u0643\u0632 \u0627\u0644\u062a\u0639\u0644\u0645 \u0642\u064a\u062f \u0627\u0644\u062a\u0637\u0648\u064a\u0631"}),(0,Hg.jsx)("p",{style:{fontSize:12,color:vX.textSoft,lineHeight:1.7,margin:0},children:"\u0627\u0644\u0645\u0642\u0627\u0644\u0627\u062a \u0644\u0627 \u062a\u0632\u0627\u0644 \u0641\u064a \u0645\u0631\u062d\u0644\u0629 \u0627\u0644\u0643\u062a\u0627\u0628\u0629 \u0648\u0627\u0644\u0645\u0631\u0627\u062c\u0639\u0629\u060c \u0648\u0628\u0639\u0636 \u0627\u0644\u0645\u062d\u062a\u0648\u0649 \u0642\u062f \u064a\u0643\u0648\u0646 \u0646\u0627\u0642\u0635\u0627\u064b \u0623\u0648 \u0642\u062f\u064a\u0645\u0627\u064b \u0623\u0648 \u063a\u064a\u0631 \u062f\u0642\u064a\u0642. \u062a\u062d\u0642\u0642 \u062f\u0627\u0626\u0645\u0627\u064b \u0645\u0646 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0645\u0646 \u0627\u0644\u0645\u0646\u0635\u0629 \u0645\u0628\u0627\u0634\u0631\u0629 \u0642\u0628\u0644 \u0627\u0644\u062a\u0635\u0631\u0641 \u0628\u0646\u0627\u0621\u064b \u0639\u0644\u0649 \u0645\u0627 \u062a\u0642\u0631\u0623\u0647 \u0647\u0646\u0627."})]}),(0,Hg.jsx)("button",{onClick:t,style:{width:"100%",padding:"8px 14px",background:`${vX.amber}20`,color:vX.amber,border:`1px solid ${vX.amber}80`,borderRadius:3,fontSize:11,fontWeight:800,letterSpacing:"1.2px",fontFamily:xX,cursor:"pointer"},children:"I UNDERSTAND \xb7 \u062a\u0645 \u0627\u0644\u0641\u0647\u0645"})]})})}function TX(){const[e,n]=(0,t.useState)(()=>{try{return localStorage.getItem(bX)||"en"}catch{return"en"}}),[r,i]=(0,t.useState)(null),[o,l]=(0,t.useState)(""),[s,a]=(0,t.useState)({}),[c,d]=(0,t.useState)(()=>{try{return"1"!==sessionStorage.getItem(wX)}catch{return!0}});(0,t.useEffect)(()=>{try{localStorage.setItem(bX,e)}catch{}},[e]);const u=(0,t.useMemo)(()=>function(e){const t=(e||"").trim().toLowerCase();if(!t)return null;const n=[];for(const r of iX){let e=0;r.title_en.includes(t)&&(e+=10),r.title_ar.includes(t)&&(e+=10),r.tags.some(e=>e.includes(t))&&(e+=5),r.body.includes(t)&&(e+=1),e>0&&n.push({id:r.id,score:e})}return n.sort((e,t)=>t.score-e.score),new Set(n.map(e=>e.id))}(o),[o]),h=(0,t.useMemo)(()=>nX.filter(e=>!u||u.has(e.id)).sort((e,t)=>{var n,r;return(null!==(n=e.order)&&void 0!==n?n:999)-(null!==(r=t.order)&&void 0!==r?r:999)}),[u]),p=(0,t.useMemo)(()=>nX.find(e=>e.id===r)||null,[r]);return(0,Hg.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",background:vX.bg,minHeight:0,fontFamily:xX,position:"relative"},children:[c&&(0,Hg.jsx)(CX,{onDismiss:()=>{try{sessionStorage.setItem(wX,"1")}catch{}d(!1)}}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"10px 16px",background:vX.bgPanel,borderBottom:`1px solid ${vX.border}`},children:[(0,Hg.jsxs)("div",{style:{position:"relative",flex:1,maxWidth:520},children:[(0,Hg.jsx)("span",{style:{position:"absolute",insetInlineStart:10,top:"50%",transform:"translateY(-50%)",color:vX.muted,fontSize:11,pointerEvents:"none"},children:"\u2315"}),(0,Hg.jsx)("input",{type:"text",value:o,onChange:e=>l(e.target.value),placeholder:jX("search_placeholder",e),dir:"ar"===e?"rtl":"ltr",style:{width:"100%",background:vX.bg,color:vX.white,border:`1px solid ${vX.borderLt}`,borderRadius:3,padding:"ar"===e?"6px 28px 6px 12px":"6px 12px 6px 28px",fontSize:12,fontFamily:xX,outline:"none",letterSpacing:"0.2px"}}),o&&(0,Hg.jsx)("button",{onClick:()=>l(""),style:{position:"absolute",insetInlineEnd:6,top:"50%",transform:"translateY(-50%)",background:"transparent",border:"none",color:vX.muted,cursor:"pointer",fontSize:12,padding:"2px 6px"},children:"\u2715"})]}),u&&(0,Hg.jsx)("span",{style:{fontSize:10,color:0===u.size?vX.red:vX.muted,letterSpacing:"0.5px"},children:0===u.size?jX("no_results",e):`${u.size} result${1===u.size?"":"s"}`}),(0,Hg.jsx)("div",{style:{flex:1}}),(0,Hg.jsx)("button",{onClick:()=>n(e=>"ar"===e?"en":"ar"),title:"Toggle language / \u062a\u0628\u062f\u064a\u0644 \u0627\u0644\u0644\u063a\u0629",style:{padding:"5px 14px",background:`${vX.proGold}18`,color:vX.proGold,border:`1px solid ${vX.proGoldDeep}`,borderRadius:3,fontSize:10,fontWeight:800,letterSpacing:"1px",fontFamily:xX,cursor:"pointer"},children:"ar"===e?SX.lang_toggle_to_english:SX.lang_toggle_to_arabic})]}),(0,Hg.jsxs)("div",{style:{display:"flex",flex:1,minHeight:0},children:[(0,Hg.jsx)(kX,{lang:e,selectedId:r,onSelect:i,filterIds:u,collapsedCats:s,onToggleCat:e=>a(t=>({...t,[e]:!t[e]}))}),(0,Hg.jsx)("main",{style:{flex:1,overflowY:"auto",background:vX.bg},children:p?(0,Hg.jsx)(_X,{article:p,lang:e}):(0,Hg.jsx)(EX,{lang:e,onPickFirst:h[0]?()=>i(h[0].id):null})})]})]})}const MX={tiny:{padding:"0 5px",fontSize:7,letterSpacing:"0.8px",gap:3,marginLeft:5,borderRadius:2,iconSize:6},small:{padding:"2px 7px",fontSize:9,letterSpacing:"1px",gap:4,marginLeft:6,borderRadius:2,iconSize:7},regular:{padding:"4px 11px",fontSize:11,letterSpacing:"1.2px",gap:6,marginLeft:0,borderRadius:3,iconSize:9}};function OX(e){let{size:t="tiny",label:n="PRO",title:r="Pro subscription required",withIcon:i=!0,style:o={}}=e;const l=MX[t]||MX.tiny;return(0,Hg.jsxs)("span",{title:r,style:{display:"inline-flex",alignItems:"center",gap:l.gap,padding:l.padding,background:"linear-gradient(90deg, #5d3a1f, #8b5a2b)",color:"#ffd89e",border:"1px solid #b8823d",borderRadius:l.borderRadius,fontSize:l.fontSize,fontWeight:800,letterSpacing:l.letterSpacing,fontFamily:"'Courier New', 'SF Mono', 'Monaco', 'Consolas', monospace",marginLeft:l.marginLeft,textTransform:"uppercase",lineHeight:1.2,whiteSpace:"nowrap",verticalAlign:"middle",...o},children:[i&&(0,Hg.jsx)("span",{style:{fontSize:l.iconSize,lineHeight:1},children:"\u25c6"}),n]})}const AX={bg:"#000",bgPanel:"#0a0a0a",bgCard:"#111",border:"#222",borderLt:"#333",white:"#fff",text:"#e8ecf1",textSoft:"#c5cdd9",muted:"#6b7785",orange:"#ff6d00",amber:"#f5a623",green:"#27c49a"},PX="'Courier New', 'SF Mono', 'Monaco', 'Consolas', monospace",IX="mk_update_prompt_dismissed";function DX(e){let{current:n,latest:r,downloadUrl:i,bannerMessage:o,telegramUrl:l}=e;const[s,a]=(0,t.useState)(()=>{try{return"1"!==sessionStorage.getItem(IX)}catch{return!0}}),[c,d]=(0,t.useState)(!1),[u,h]=(0,t.useState)(null),[p,f]=(0,t.useState)(null);if((0,t.useEffect)(()=>{try{sessionStorage.getItem("mk_update_prompt_latest_seen")!==r&&(sessionStorage.removeItem(IX),sessionStorage.setItem("mk_update_prompt_latest_seen",r||""),a(!0))}catch{}},[r]),(0,t.useEffect)(()=>{const e=()=>{try{sessionStorage.removeItem(IX)}catch{}a(!0)};return window.addEventListener("mk:open-updater",e),()=>window.removeEventListener("mk:open-updater",e)},[]),!s)return null;const g=()=>{if(!c){try{sessionStorage.setItem(IX,"1")}catch{}a(!1)}};return(0,Hg.jsx)("div",{onClick:g,style:{position:"fixed",inset:0,zIndex:1e6,background:"rgba(0,0,0,0.78)",display:"flex",alignItems:"center",justifyContent:"center",fontFamily:PX,padding:30},children:(0,Hg.jsxs)("div",{onClick:e=>e.stopPropagation(),style:{maxWidth:440,width:"100%",background:AX.bgCard,border:`1px solid ${AX.orange}80`,borderRadius:6,padding:"26px 28px 22px 28px",position:"relative",overflow:"hidden",boxShadow:"0 10px 40px rgba(0,0,0,0.7)"},children:[(0,Hg.jsx)("div",{style:{position:"absolute",top:0,left:0,right:0,height:3,background:`linear-gradient(90deg, ${AX.orange}, ${AX.amber})`}}),(0,Hg.jsx)("div",{style:{display:"inline-flex",alignItems:"center",gap:8,padding:"4px 12px",borderRadius:3,background:`${AX.orange}18`,color:AX.orange,border:`1px solid ${AX.orange}60`,fontSize:10,fontWeight:800,letterSpacing:"1.3px",marginBottom:16},children:"\u2191 UPDATE AVAILABLE"}),(0,Hg.jsx)("h2",{style:{fontSize:17,color:AX.white,fontWeight:700,margin:"0 0 8px 0",letterSpacing:"0.3px"},children:"A new version of MK.TRADES is ready"}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:10,fontSize:12,color:AX.textSoft,marginBottom:14},children:[(0,Hg.jsxs)("span",{style:{color:AX.muted},children:["Current ",(0,Hg.jsxs)("span",{style:{color:AX.white,fontWeight:700},children:["v",n||"\u2014"]})]}),(0,Hg.jsx)("span",{style:{color:AX.muted},children:"\u2192"}),(0,Hg.jsxs)("span",{style:{color:AX.muted},children:["Latest ",(0,Hg.jsxs)("span",{style:{color:AX.green,fontWeight:700},children:["v",r||"\u2014"]})]})]}),o&&(0,Hg.jsx)("div",{style:{padding:"8px 12px",background:`${AX.amber}10`,border:`1px solid ${AX.amber}40`,borderLeft:`3px solid ${AX.amber}`,borderRadius:2,marginBottom:16,fontSize:11,color:AX.textSoft,lineHeight:1.55},children:o}),(0,Hg.jsxs)("p",{style:{fontSize:11,color:AX.muted,lineHeight:1.6,marginBottom:18},children:["Click DOWNLOAD to fetch the installer. You can keep using the current version until you're ready to restart.",l&&(0,Hg.jsxs)(Hg.Fragment,{children:[" Release notes on ",(0,Hg.jsx)("a",{href:l,target:"_blank",rel:"noopener noreferrer",style:{color:AX.orange,textDecoration:"none"},children:"Telegram"}),"."]})]}),c&&(()=>{const e=null!==u&&void 0!==u&&u.done?"installing":"downloading",t=null!=(null===u||void 0===u?void 0:u.pct)?u.pct:0;return(0,Hg.jsxs)("div",{style:{marginBottom:12},children:[(0,Hg.jsx)("style",{children:"\n @keyframes mkIndeterminate {\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(420%); }\n }\n "}),(0,Hg.jsxs)("div",{style:{fontSize:10,color:AX.textSoft,letterSpacing:"0.5px",marginBottom:6,display:"flex",justifyContent:"space-between"},children:[(0,Hg.jsx)("span",{children:"downloading"===e?"DOWNLOADING UPDATE":"INSTALLING UPDATE"}),(0,Hg.jsx)("span",{style:{color:AX.muted,fontVariantNumeric:"tabular-nums"},children:"downloading"===e?null!=(null===u||void 0===u?void 0:u.pct)?`${(100*u.pct).toFixed(0)}%`:null!==u&&void 0!==u&&u.received?`${(u.received/1024/1024).toFixed(1)} MB`:"":"PLEASE WAIT"})]}),(0,Hg.jsx)("div",{style:{height:4,width:"100%",background:AX.border,borderRadius:2,overflow:"hidden",position:"relative"},children:"downloading"===e?(0,Hg.jsx)("div",{style:{height:"100%",width:`${(100*t).toFixed(1)}%`,background:`linear-gradient(90deg, ${AX.orange}, ${AX.amber})`,transition:"width 0.15s ease-out"}}):(0,Hg.jsx)("div",{style:{position:"absolute",top:0,left:0,height:"100%",width:"25%",background:`linear-gradient(90deg, transparent, ${AX.green}, ${AX.orange}, transparent)`,animation:"mkIndeterminate 1.2s ease-in-out infinite"}})}),(0,Hg.jsx)("div",{style:{fontSize:9,color:AX.muted,marginTop:6,lineHeight:1.4},children:"downloading"===e?"Streaming installer to a temporary folder. The terminal stays open until the download finishes.":"Terminal will close and reopen automatically when the install finishes. Your profile and settings are preserved."})]})})(),p&&(0,Hg.jsx)("div",{style:{padding:"8px 12px",background:"rgba(231,56,59,0.10)",border:"1px solid rgba(231,56,59,0.40)",borderLeft:"3px solid #e8383b",borderRadius:2,marginBottom:14,fontSize:11,color:AX.textSoft,lineHeight:1.5},children:p}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,Hg.jsx)("button",{onClick:async()=>{var e;if("undefined"!==typeof window&&null!==(e=window.mkElectron)&&void 0!==e&&e.downloadAndInstall){d(!0),f(null);try{const e=await window.mkElectron.downloadAndInstall(i,e=>h(e));null!==e&&void 0!==e&&e.ok?h({received:0,total:0,pct:1,done:!0}):(f((null===e||void 0===e?void 0:e.error)||"Download failed"),d(!1))}catch(sd){f(String((null===sd||void 0===sd?void 0:sd.message)||sd)),d(!1)}}else{try{window.open(i,"_blank","noopener,noreferrer")}catch{}g()}},disabled:c,style:{flex:1,padding:"9px 14px",background:c?`${AX.muted}15`:`${AX.orange}25`,color:c?AX.muted:AX.orange,border:`1px solid ${c?AX.borderLt:AX.orange}`,borderRadius:3,fontSize:11,fontWeight:800,letterSpacing:"1.2px",fontFamily:PX,cursor:c?"not-allowed":"pointer"},children:c?"WORKING\u2026":"\u2193 DOWNLOAD"}),(0,Hg.jsx)("button",{onClick:g,disabled:c,style:{padding:"9px 18px",background:"transparent",color:c?AX.dim||"#444":AX.muted,border:`1px solid ${AX.borderLt}`,borderRadius:3,fontSize:11,fontWeight:800,letterSpacing:"1.2px",fontFamily:PX,cursor:c?"not-allowed":"pointer"},children:"CANCEL"})]})]})})}const LX=new Set(["quant","fundamental","flow","options","stress","learn"]);function RX(){if("undefined"===typeof window)return null;try{const e=new URLSearchParams(window.location.search).get("detached");return e&&LX.has(e)?e:null}catch{return null}}const zX=[{id:"quant",label:"Quant Analysis"},{id:"fundamental",label:"Fundamental"},{id:"flow",label:"Money Flow"},{id:"options",label:"Options Quant"},{id:"stress",label:"Stress Lab"},{id:"learn",label:"Learning Center"}];function NX(e){let{x:n,y:r,currentPageId:i,onSelect:o,onClose:l}=e;const s=(0,t.useRef)(null);(0,t.useEffect)(()=>{const e=e=>{var t;null!==(t=s.current)&&void 0!==t&&t.contains(e.target)||l()},t=e=>{"Escape"===e.key&&l()};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[l]);const a=Math.min(n,("undefined"!==typeof window?window.innerWidth:1920)-240),c=Math.min(r,("undefined"!==typeof window?window.innerHeight:1080)-260);return(0,Hg.jsxs)("div",{ref:s,style:{position:"fixed",left:a,top:c,background:"#0a0a0a",border:"1px solid #333",boxShadow:"0 4px 12px rgba(0,0,0,0.6)",padding:4,minWidth:220,zIndex:1e4,fontFamily:"'Courier New', Consolas, 'Liberation Mono', monospace",fontSize:"10px"},children:[(0,Hg.jsx)("div",{style:{padding:"6px 12px 4px",color:"#666",letterSpacing:"1.5px",fontWeight:700,fontSize:"8px",borderBottom:"1px solid #222",textTransform:"uppercase"},children:"Switch Page"}),zX.map(e=>{const t=e.id===i;return(0,Hg.jsxs)("button",{disabled:t,onClick:()=>o(e.id),style:{display:"block",width:"100%",background:"transparent",border:"none",color:t?"#ff6d00":"#fff",padding:"8px 12px",textAlign:"left",cursor:t?"default":"pointer",fontFamily:"inherit",fontSize:"inherit",letterSpacing:"0.5px",fontWeight:t?700:400},onMouseEnter:e=>{t||(e.currentTarget.style.background="#1a1a1a")},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},children:[t?"\u25cf ":"\u25cb ",e.label,t&&(0,Hg.jsx)("span",{style:{marginLeft:8,fontSize:"8px",color:"#888"},children:"(current)"})]},e.id)})]})}const FX="'Courier New', Consolas, 'Liberation Mono', monospace",$X={quant:"Quant Analysis",fundamental:"Fundamental",flow:"Money Flow",options:"Options Quant",stress:"Stress Lab",learn:"Learning Center"};function WX(e){var n,r;let{pageId:i,swapPage:o}=e;const l=Zc(),{assets:s,assetsArray:a,signals:c,lifecycle:d,weeklyState:u,fetchBars:h,config:p,serverStatus:f}=l,g=(null===p||void 0===p||null===(n=p._raw)||void 0===n||null===(r=n.display)||void 0===r?void 0:r.theme)||"dark",m=Vx[g]||Hx,y=a;(0,t.useEffect)(()=>{"undefined"!==typeof document&&(document.title=`MK.TRADES \u2014 ${$X[i]||i}`)},[i]);const[v,x]=(0,t.useState)(null),b=(0,t.useRef)(null),w=(0,t.useCallback)(e=>{e.target===b.current&&(e.preventDefault(),x({x:e.clientX,y:e.clientY}))},[]),S=(0,t.useCallback)(e=>{x(null),e!==i&&o(e)},[i,o]);let j;return j="fundamental"===i?(0,Hg.jsx)(WY,{}):"flow"===i?(0,Hg.jsx)(LV,{assetsData:y}):"options"===i?(0,Hg.jsx)(Db,{}):"stress"===i?(0,Hg.jsx)(eX,{}):"learn"===i?(0,Hg.jsx)(TX,{}):"quant"===i?(0,Hg.jsx)(BX,{assetsMap:s,assetsArray:a,fetchBars:h,signals:c,lifecycle:d,weeklyState:u,serverStatus:f,config:p,C:m}):(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",color:m.muted,fontSize:"10px",letterSpacing:"2px"},children:["UNKNOWN PAGE: ",String(i)]}),(0,Hg.jsxs)("div",{ref:b,onContextMenu:w,title:`Detached: ${$X[i]||i} \u2014 right-click the orange border to switch pages`,style:{position:"fixed",inset:0,background:m.bg,color:m.white,fontFamily:FX,outline:"3px solid #ff6d00",outlineOffset:-3,padding:3,boxSizing:"border-box",display:"flex",flexDirection:"column"},children:[(0,Hg.jsx)("div",{style:{flex:1,minHeight:0,minWidth:0,display:"flex",flexDirection:"column",overflow:"hidden"},children:j}),v&&(0,Hg.jsx)(NX,{x:v.x,y:v.y,currentPageId:i,onSelect:S,onClose:()=>x(null)})]})}function BX(e){var n,r;let{assetsMap:i,assetsArray:o,fetchBars:l,signals:s,lifecycle:a,weeklyState:c,serverStatus:d,config:u,C:h}=e;const p=(0,t.useMemo)(()=>(o||[]).map(e=>e.ticker).filter(Boolean),[o]),[f,g]=(0,t.useState)("");(0,t.useEffect)(()=>{!f&&p.length>0&&g(p[0])},[f,p]);const m=f?null===i||void 0===i?void 0:i.get(f):null;return(0,Hg.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",minHeight:0},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"5px 12px",background:h.bgPanel,borderBottom:`1px solid ${h.border}`,flexShrink:0},children:[(0,Hg.jsx)("span",{style:{color:h.muted,letterSpacing:"1.5px",fontWeight:700,fontSize:"9px"},children:"TICKER:"}),(0,Hg.jsxs)("select",{value:f,onChange:e=>g(e.target.value),style:{background:h.bg,color:h.orange,border:`1px solid ${h.border}`,padding:"2px 8px",fontFamily:FX,fontSize:"10px",fontWeight:700,letterSpacing:"1px",cursor:"pointer"},children:[0===p.length&&(0,Hg.jsx)("option",{value:"",children:"\u2014 loading \u2014"}),p.map(e=>(0,Hg.jsx)("option",{value:e,children:e},e))]})]}),f&&(0,Hg.jsx)("div",{style:{flexShrink:0},children:(0,Hg.jsx)(av,{selectedTicker:f,weeklyState:c,assetData:m,onRegimeHistory:()=>{}})}),(0,Hg.jsx)("div",{style:{flex:1,minHeight:0,minWidth:0,position:"relative",display:"flex"},children:f?(0,Hg.jsx)(Wy,{isActive:!0,selectedTicker:f,tabId:"detached_"+f,assets:i,fetchBars:l,signals:s,lifecycle:a,weeklyState:c,regimeHistory:null,onLog:()=>{},onChangeTicker:g,executionStatus:{live_trading:(null===u||void 0===u||null===(n=u._raw)||void 0===n||null===(r=n.execution)||void 0===r?void 0:r.live_trading)||!1,provider_connected:(null===d||void 0===d?void 0:d.mt5Connected)||!1}}):(0,Hg.jsx)("div",{style:{margin:"auto",color:h.muted,fontSize:"10px",letterSpacing:"2px"},children:"NO TICKERS LOADED YET"})})]})}function UX(e){let{x:n,y:r,pageId:i,pageLabel:o,onClose:l}=e;const s=(0,t.useRef)(null),a=!("undefined"===typeof window||!window.mkElectron||!window.mkElectron.openInNewWindow);(0,t.useEffect)(()=>{const e=e=>{var t;null!==(t=s.current)&&void 0!==t&&t.contains(e.target)||l()},t=e=>{"Escape"===e.key&&l()},n=()=>l();return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),window.addEventListener("scroll",n,!0),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t),window.removeEventListener("scroll",n,!0)}},[l]);const c=Math.min(n,("undefined"!==typeof window?window.innerWidth:1920)-240),d=Math.min(r,("undefined"!==typeof window?window.innerHeight:1080)-60);return(0,Hg.jsx)("div",{ref:s,style:{position:"fixed",left:c,top:d,background:"#0a0a0a",border:"1px solid #333",boxShadow:"0 4px 12px rgba(0,0,0,0.6)",padding:4,minWidth:220,zIndex:1e4,fontFamily:"'Courier New', Consolas, 'Liberation Mono', monospace",fontSize:"10px"},children:(0,Hg.jsxs)("button",{disabled:!a,onClick:async()=>{if(a)try{const e=await window.mkElectron.openInNewWindow(i);null!==e&&void 0!==e&&e.ok||console.error("[TabContextMenu] openInNewWindow failed:",null===e||void 0===e?void 0:e.error)}catch(sd){console.error("[TabContextMenu] openInNewWindow threw:",sd)}finally{l()}},title:a?"":"Available only in the desktop app",style:{display:"flex",width:"100%",alignItems:"center",gap:8,background:"transparent",border:"none",color:a?"#fff":"#666",padding:"8px 12px",textAlign:"left",cursor:a?"pointer":"not-allowed",fontFamily:"inherit",fontSize:"inherit",letterSpacing:"0.5px"},onMouseEnter:e=>{a&&(e.currentTarget.style.background="#1a1a1a")},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},children:[(0,Hg.jsx)("span",{style:{fontSize:"12px",lineHeight:1},children:"\u2197"}),(0,Hg.jsx)("span",{children:"Open in New Window"}),(0,Hg.jsx)("span",{style:{flex:1}}),o&&(0,Hg.jsx)("span",{style:{color:"#666",fontSize:"9px"},children:o})]})})}function HX(e,t){if("tile-1x2"===e)return{cols:2,rows:1};if("tile-2x1"===e)return{cols:1,rows:2};if("tile-2x2"===e)return{cols:2,rows:2};if("tile"===e){const e=(t||0)<=4?2:3;return{cols:e,rows:Math.max(1,Math.ceil((t||1)/e))}}return null}const VX="mk_chart_tab_settings_v1";function YX(){try{if("undefined"!==typeof crypto&&"function"===typeof crypto.randomUUID)return"tab_"+crypto.randomUUID()}catch{}return"tab_"+Date.now().toString(36)+"_"+Math.random().toString(36).slice(2,10)}function GX(e){let t={};try{t=JSON.parse(localStorage.getItem("mk_chart_ticker_settings_v1")||"{}")}catch{}let n={};try{n=JSON.parse(localStorage.getItem(VX)||"{}")}catch{}let r=!1;for(const{tabId:i,ticker:o}of e){if(!i||!o)continue;if(null!=n[i])continue;const e=t[o];e&&"object"===typeof e&&(n[i]=e,r=!0);try{if(null==localStorage.getItem(`mk_chart_style_${i}`)){const e=localStorage.getItem(`mk_chart_style_${o}`);null!=e&&localStorage.setItem(`mk_chart_style_${i}`,e)}}catch{}try{if(null==localStorage.getItem(`mk_chart_drawings_${i}`)){const e=localStorage.getItem(`mk_chart_drawings_${o}`);null!=e&&localStorage.setItem(`mk_chart_drawings_${i}`,e)}}catch{}}if(r)try{localStorage.setItem(VX,JSON.stringify(n))}catch{}}function KX(e){if(!e||"object"!==typeof e)return;let t={};try{t=JSON.parse(localStorage.getItem(VX)||"{}")}catch{}const n=function(e,t){const n=e&&"object"===typeof e?{...e}:{};if(!t||"object"!==typeof t)return n;for(const r of Object.values(t)){if(!r||"object"!==typeof r)continue;const{tabId:e,settings:t}=r;e&&"string"===typeof e&&t&&"object"===typeof t&&(n[e]=t)}return n}(t,e);try{localStorage.setItem(VX,JSON.stringify(n))}catch{}for(const r of Object.values(e)){if(!r||"object"!==typeof r)continue;const{tabId:e,settings:t}=r;if(e&&t&&"object"===typeof t){try{null!=t.chartStyle&&localStorage.setItem(`mk_chart_style_${e}`,JSON.stringify(t.chartStyle))}catch{}try{null!=t.drawings&&localStorage.setItem(`mk_chart_drawings_${e}`,JSON.stringify(t.drawings))}catch{}}}}function qX(e,t){for(const i of e){const e=t.current.get(i.tabId);if(null!==e&&void 0!==e&&e.getSettings)try{e.getSettings()}catch{}}let n={};try{n=JSON.parse(localStorage.getItem(VX)||"{}")}catch{}const r={};for(const i of e)r[i.tabId]={tabId:i.tabId,ticker:i.ticker,settings:n[i.tabId]||null};return r}const XX={bg:"#000000",bgPanel:"#0a0a0a",bgCard:"#111111",bgHover:"#1a1a1a",border:"#222222",borderLt:"#333333",white:"#ffffff",gray:"#999999",muted:"#444444",orange:"#ff6d00",orangeDim:"#cc5500",orangeBg:"#ff6d0012",green:"#2ebd59",red:"#e8383b",blue:"#3796ff",amber:"#ffa500",cyan:"#00d2d3"},JX="'Courier New', Consolas, 'Liberation Mono', monospace",QX={gbm_prev:{fill:"rgba(128,128,128,0.04)",sd:"rgba(128,128,128,0.35)",med:"rgba(128,128,128,0.8)",dash:"",label:"PREV GBM"},mjd_prev:{fill:"rgba(255,193,7,0.03)",sd:"rgba(255,193,7,0.30)",med:"rgba(255,193,7,0.55)",dash:"4,3",label:"PREV MJD"},gbm_curr:{fill:"rgba(52,152,219,0.05)",sd:"rgba(52,152,219,0.45)",med:"rgba(52,152,219,0.9)",dash:"",label:"CURR GBM"},mjd_curr:{fill:"rgba(255,193,7,0.04)",sd:"rgba(255,193,7,0.35)",med:"rgba(255,193,7,0.65)",dash:"4,3",label:"CURR MJD"},gbm_now:{fill:"rgba(39,174,96,0.06)",sd:"rgba(39,174,96,0.50)",med:"rgba(39,174,96,1.0)",dash:"",label:"NOW GBM"},mjd_now:{fill:"rgba(255,165,0,0.05)",sd:"rgba(255,165,0,0.45)",med:"rgba(255,165,0,0.9)",dash:"5,3",label:"NOW MJD"},gbm_extreme_high:{fill:"rgba(231,76,60,0.05)",sd:"rgba(231,76,60,0.40)",med:"rgba(231,76,60,0.9)",dash:"",label:"EXT HIGH"},mjd_extreme_high:{fill:"rgba(255,193,7,0.04)",sd:"rgba(255,193,7,0.35)",med:"rgba(255,193,7,0.7)",dash:"4,3",label:"EXT HI MJD"},gbm_extreme_low:{fill:"rgba(46,204,113,0.05)",sd:"rgba(46,204,113,0.40)",med:"rgba(46,204,113,0.9)",dash:"",label:"EXT LOW"},mjd_extreme_low:{fill:"rgba(255,193,7,0.04)",sd:"rgba(255,193,7,0.35)",med:"rgba(255,193,7,0.7)",dash:"4,3",label:"EXT LO MJD"}},ZX=["gbm_prev","mjd_prev","gbm_curr","mjd_curr","gbm_extreme_low","mjd_extreme_low","gbm_extreme_high","mjd_extreme_high","gbm_now","mjd_now"];function eJ(e){let{data:n,width:r=138,height:i=24,positive:l=!0}=e;const s=(0,t.useRef)(null);return(0,t.useEffect)(()=>{if(!n||n.length<2||!s.current)return;const e=jc(s.current);e.selectAll("*").remove();const t=l?XX.green:XX.red,a=ul().domain([0,n.length-1]).range([0,r]),c=ul().domain(o(n)).range([i-1,1]);e.append("path").datum(n).attr("d",Nc().x((e,t)=>a(t)).y0(i).y1(e=>c(e)).curve(Wc)).attr("fill",t).attr("fill-opacity",.07),e.append("path").datum(n).attr("d",zc().x((e,t)=>a(t)).y(e=>c(e)).curve(Wc)).attr("fill","none").attr("stroke",t).attr("stroke-width",1),e.append("circle").attr("cx",a(n.length-1)).attr("cy",c(n[n.length-1])).attr("r",1.5).attr("fill",t)},[n,r,i,l]),(0,Hg.jsx)("svg",{ref:s,width:r,height:i,style:{display:"block"}})}function tJ(e){let{assetData:n,width:r=720,height:i=280}=e;const s=(0,t.useRef)(null);return(0,t.useEffect)(()=>{if(null===n||void 0===n||!n.candles||n.candles.length<5||!s.current)return;const e=jc(s.current);e.selectAll("*").remove();const t=8,a=62,c=r-a-62,d=i-t-22,u=e.append("g").attr("transform",`translate(${a},${t})`),h=n.candles.slice(-80),p=n.projections||{},f=n.decimals||2;let g=0;Object.values(p).forEach(e=>{null!==e&&void 0!==e&&e.median&&(g=Math.max(g,e.median.length))});let m=h.flatMap(e=>[e.h,e.l]);Object.values(p).forEach(e=>{null!==e&&void 0!==e&&e.sd1_high&&(m=m.concat(e.sd1_high)),null!==e&&void 0!==e&&e.sd1_low&&(m=m.concat(e.sd1_low))});const y=o(m),v=.08*(y[1]-y[0])||.001*y[0],x=h.length+g,b=Math.max(1,Math.floor(c/x)-1),w=ul().domain([0,x-1]).range([0,c]),S=ul().domain([y[0]-v,y[1]+v]).range([d,0]);S.ticks(6).forEach(e=>{u.append("line").attr("x1",0).attr("x2",c).attr("y1",S(e)).attr("y2",S(e)).attr("stroke",XX.border).attr("stroke-width",.5),u.append("text").attr("x",c+5).attr("y",S(e)+3).attr("fill",XX.muted).attr("font-size","8px").attr("font-family",JX).text(e.toFixed(f))});const j=Math.max(1,Math.floor(h.length/6));if(h.forEach((e,t)=>{t%j===0&&u.append("text").attr("x",w(t)).attr("y",d+14).attr("fill",XX.muted).attr("font-size","7px").attr("font-family",JX).attr("text-anchor","middle").text(e.t.slice(5))}),h.forEach((e,t)=>{const n=e.c>=e.o,r=n?XX.green:XX.red,i=S(Math.max(e.o,e.c)),o=S(Math.min(e.o,e.c));u.append("line").attr("x1",w(t)).attr("x2",w(t)).attr("y1",S(e.h)).attr("y2",S(e.l)).attr("stroke",r).attr("stroke-width",.7),u.append("rect").attr("x",w(t)-b/2).attr("y",i).attr("width",b).attr("height",Math.max(1,o-i)).attr("fill",n?"transparent":r).attr("stroke",r).attr("stroke-width",.7)}),g>0){const e=w(h.length-.5);u.append("line").attr("x1",e).attr("x2",e).attr("y1",0).attr("y2",d).attr("stroke",XX.orange).attr("stroke-width",.8).attr("stroke-dasharray","4,3").attr("opacity",.5),u.append("text").attr("x",e+4).attr("y",10).attr("fill",XX.orange).attr("font-size","7px").attr("font-family",JX).attr("opacity",.6).text("FORECAST \u2192")}const k=h.length,_=[];ZX.forEach(e=>{const t=p[e];if(null===t||void 0===t||!t.median||t.median.length<2)return;const n=QX[e];if(!n)return;const r=t.median.length;u.append("path").datum(l(r)).attr("d",Nc().x(e=>w(k+e)).y0(e=>S(t.sd1_low[e])).y1(e=>S(t.sd1_high[e])).curve(Wc)).attr("fill",n.fill),[t.sd1_high,t.sd1_low].forEach(e=>{u.append("path").datum(e).attr("d",zc().x((e,t)=>w(k+t)).y(e=>S(e)).curve(Wc)).attr("fill","none").attr("stroke",n.sd).attr("stroke-width",.6).attr("stroke-dasharray",n.dash||"3,3")}),u.append("path").datum(t.median).attr("d",zc().x((e,t)=>w(k+t)).y(e=>S(e)).curve(Wc)).attr("fill","none").attr("stroke",n.med).attr("stroke-width",1.5).attr("stroke-dasharray",n.dash||"0"),_.push({label:n.label,color:n.med,dash:n.dash})});const E=h[h.length-1].c;u.append("rect").attr("x",-58).attr("y",S(E)-7).attr("width",54).attr("height",14).attr("fill",XX.orange),u.append("text").attr("x",-31).attr("y",S(E)+3).attr("text-anchor","middle").attr("fill",XX.bg).attr("font-size","9px").attr("font-weight","700").attr("font-family",JX).text(E.toFixed(f)),_.forEach((e,t)=>{const n=6+10*t;u.append("line").attr("x1",6).attr("x2",20).attr("y1",n).attr("y2",n).attr("stroke",e.color).attr("stroke-width",1.2).attr("stroke-dasharray",e.dash||"0"),u.append("text").attr("x",24).attr("y",n+3).attr("fill",e.color).attr("font-size","6.5px").attr("font-family",JX).text(e.label)})},[n,r,i]),(0,Hg.jsx)("svg",{ref:s,width:r,height:i,style:{display:"block",margin:"0 auto"}})}function nJ(e){var t,n;let{data:r}=e;if(!r)return null;const{ou:i,garch:o,hmm:l,cone:s,risk:a,wf:c,ou_wf:d,kelly:u}=r,h=r.decimals||2,p=e=>{let{l:t,v:n,c:r=XX.white}=e;return(0,Hg.jsxs)("div",{style:{padding:"1px 0",display:"flex",justifyContent:"space-between",alignItems:"baseline"},children:[(0,Hg.jsx)("span",{style:{color:XX.muted,fontSize:"9px",textTransform:"uppercase",letterSpacing:"0.5px"},children:t}),(0,Hg.jsx)("span",{style:{color:r,fontSize:"10px",fontWeight:600,fontFamily:JX},children:n})]})},f=e=>{let{title:t,accent:n=XX.orange,children:r}=e;return(0,Hg.jsxs)("div",{style:{background:XX.bgPanel,border:`1px solid ${XX.border}`,borderTop:`2px solid ${n}`,padding:"6px 8px"},children:[(0,Hg.jsx)("div",{style:{fontSize:"7px",fontWeight:700,color:n,textTransform:"uppercase",letterSpacing:"1.5px",marginBottom:4,paddingBottom:3,borderBottom:`1px solid ${XX.border}`},children:t}),r]})},g="FADE"===(null===i||void 0===i?void 0:i.strategy)?XX.green:"BREAKOUT"===(null===i||void 0===i?void 0:i.strategy)?XX.red:XX.gray,m="calm"===(null===l||void 0===l?void 0:l.regime)?XX.green:"stressed"===(null===l||void 0===l?void 0:l.regime)?XX.red:XX.orange,y="BULLISH"===(null===s||void 0===s?void 0:s.bias)?XX.green:"BEARISH"===(null===s||void 0===s?void 0:s.bias)?XX.red:XX.gray;return(0,Hg.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(155px, 1fr))",gap:3,padding:"4px 0"},children:[i&&(0,Hg.jsxs)(f,{title:"OU Mean-Reversion",accent:g,children:[(0,Hg.jsx)(p,{l:"Strategy",v:i.strategy,c:g}),(0,Hg.jsx)(p,{l:"Half-Life",v:`${(i.half_life||0).toFixed(1)}d`}),(0,Hg.jsx)(p,{l:"Hurst",v:(i.hurst||0).toFixed(3),c:i.hurst<.45?XX.green:i.hurst>.55?XX.red:XX.orange}),(0,Hg.jsx)(p,{l:"Dislocation",v:`${(i.dislocation_pct||0)>=0?"+":""}${(i.dislocation_pct||0).toFixed(2)}%`,c:Math.abs(i.dislocation_pct||0)>2?XX.red:XX.gray}),(0,Hg.jsx)(p,{l:"Confidence",v:`${(100*(i.confidence||0)).toFixed(0)}%`}),(0,Hg.jsx)(p,{l:"Theta",v:(i.theta||0).toFixed(4)}),(0,Hg.jsx)(p,{l:"ADF Stat",v:i.adf_stationary?"YES":"NO",c:i.adf_stationary?XX.green:XX.red})]}),d&&(0,Hg.jsxs)(f,{title:"OU Walk-Forward",accent:XX.orange,children:[(0,Hg.jsx)(p,{l:"Hit Rate",v:`${(100*(d.hit_rate||0)).toFixed(1)}%`,c:(d.hit_rate||0)>=.55?XX.green:(d.hit_rate||0)>=.5?XX.orange:XX.red}),(0,Hg.jsx)(p,{l:"Avg PnL",v:`${(d.avg_pnl||0)>=0?"+":""}${(d.avg_pnl||0).toFixed(2)}%`,c:(d.avg_pnl||0)>=0?XX.green:XX.red}),(0,Hg.jsx)(p,{l:"Fade Hit",v:`${(100*(d.fade_hit||0)).toFixed(1)}%`}),(0,Hg.jsx)(p,{l:"Breakout Hit",v:`${(100*(d.breakout_hit||0)).toFixed(1)}%`}),(0,Hg.jsx)(p,{l:"Signals",v:d.n_signals||0})]}),l&&(0,Hg.jsxs)(f,{title:"HMM Regime",accent:m,children:[(0,Hg.jsx)(p,{l:"Regime",v:(l.regime||"?").toUpperCase(),c:m}),(0,Hg.jsx)(p,{l:"Confidence",v:`${(100*(l.confidence||0)).toFixed(0)}%`,c:(l.confidence||0)>.7?XX.green:XX.orange}),(0,Hg.jsx)(p,{l:"Vol Window",v:l.vol_window||"\u2014"}),(0,Hg.jsx)(p,{l:"Jump",v:`${(l.jump_multiplier||0).toFixed(2)}\xd7`})]}),o&&(0,Hg.jsxs)(f,{title:"GARCH Volatility",accent:XX.amber,children:[(0,Hg.jsx)(p,{l:"Current",v:`${(100*(o.vol_current||0)).toFixed(1)}%`,c:XX.white}),(0,Hg.jsx)(p,{l:"Forecast",v:`${(100*(o.vol_forecast||0)).toFixed(1)}%`,c:(o.vol_forecast||0)>(o.vol_current||0)?XX.red:XX.green}),(0,Hg.jsx)(p,{l:"Regime",v:(o.vol_regime||"NORMAL").toUpperCase(),c:"HIGH"===o.vol_regime?XX.red:"ELEVATED"===o.vol_regime?XX.orange:XX.green}),(0,Hg.jsx)(p,{l:"Persist",v:`${(100*(o.persistence||0)).toFixed(0)}%`}),(0,Hg.jsx)(p,{l:"\xbdLife",v:`${(o.half_life||0).toFixed(1)}d`})]}),s&&(0,Hg.jsxs)(f,{title:"Cone Bias",accent:y,children:[(0,Hg.jsx)(p,{l:"Bias",v:s.bias||"NEUTRAL",c:y}),(0,Hg.jsx)(p,{l:"Median",v:(s.median_target||0).toFixed(h)}),(0,Hg.jsx)(p,{l:"SD1 Low",v:(s.sd1_low||0).toFixed(h),c:XX.green}),(0,Hg.jsx)(p,{l:"SD1 High",v:(s.sd1_high||0).toFixed(h),c:XX.red})]}),a&&(0,Hg.jsxs)(f,{title:"Risk Metrics",accent:XX.red,children:[(0,Hg.jsx)(p,{l:"VaR 95",v:(a.var_95||0).toFixed(h),c:XX.red}),(0,Hg.jsx)(p,{l:"VaR 99",v:(a.var_99||0).toFixed(h),c:XX.red}),(0,Hg.jsx)(p,{l:"CVaR 95",v:(a.cvar_95||0).toFixed(h),c:XX.red}),(0,Hg.jsx)(p,{l:"Upside",v:`${(a.upside_prob||50).toFixed(0)}%`,c:(a.upside_prob||50)>55?XX.green:(a.upside_prob||50)<45?XX.red:XX.gray}),(0,Hg.jsx)(p,{l:"Skew",v:(a.skewness||0).toFixed(3)})]}),c&&(0,Hg.jsxs)(f,{title:"WF Calibration",accent:XX.gray,children:[(0,Hg.jsx)(p,{l:"Best",v:`${(c.model||"GBM").toUpperCase()} / ${c.source||"\u2014"}`,c:XX.orange}),(0,Hg.jsx)(p,{l:"SD1 Cov",v:`${(100*(c.sd1_coverage||0)).toFixed(1)}%`,c:Math.abs((c.sd1_coverage||0)-.682)<.05?XX.green:XX.orange}),(0,Hg.jsx)(p,{l:"Dir Hit",v:`${(100*(c.direction_hit||0)).toFixed(1)}%`,c:(c.direction_hit||0)>.55?XX.green:XX.gray})]}),u&&(0,Hg.jsxs)(f,{title:"Kelly Criterion",accent:XX.cyan,children:[(0,Hg.jsx)(p,{l:"Full Kelly",v:`${(100*(u.full_kelly||0)).toFixed(1)}%`,c:(u.full_kelly||0)>.1?XX.green:XX.gray}),(0,Hg.jsx)(p,{l:"Half Kelly",v:`${(100*(u.half_kelly||0)).toFixed(1)}%`}),(0,Hg.jsx)(p,{l:"Win Rate",v:`${(100*(u.win_rate||0)).toFixed(1)}%`,c:(u.win_rate||0)>.55?XX.green:XX.gray}),(0,Hg.jsx)(p,{l:"Payoff",v:`${(u.payoff_ratio||0).toFixed(2)}:1`}),(0,Hg.jsx)(p,{l:"Confidence",v:(null===(t=(n=u.confidence||"\u2014").toUpperCase)||void 0===t?void 0:t.call(n))||"\u2014",c:"high"===u.confidence?XX.green:"medium"===u.confidence?XX.orange:XX.red})]})]})}function rJ(e){let{text:t,color:n}=e;return(0,Hg.jsx)("span",{style:{display:"inline-block",padding:"1px 5px",fontSize:"9px",fontWeight:700,background:`${n}15`,color:n,border:`1px solid ${n}35`,fontFamily:JX},children:t})}function iJ(){const[e,n]=(0,t.useState)(null);if((0,t.useEffect)(()=>{let e=!1;return fetch("/api/auth/status").then(e=>e.ok?e.json():null).then(t=>{if(e||!t)return;const r=String(t.subscription_status||"").toLowerCase(),i=String(t.subscription_type||"").toLowerCase();let o=null;"trial"===r||"trial"===i?o="TRIAL":i.includes("pro")?o="PRO":i.includes("standard")||i.includes("std")?o="STANDARD":i&&(o=i.toUpperCase()),e||n(o)}).catch(()=>{}),()=>{e=!0}},[]),!e)return null;const r="PRO"===e?"#ff6d00":"STANDARD"===e?"#3796ff":"TRIAL"===e?"#ffa500":"#999999";return(0,Hg.jsx)("span",{title:`Subscription tier: ${e}`,style:{display:"inline-block",padding:"1px 6px",fontSize:"9px",fontWeight:800,letterSpacing:"1.5px",color:r,background:`${r}18`,border:`1px solid ${r}55`,fontFamily:JX},children:e})}function oJ(e){let{assets:n,openCharts:r,onSelect:i,maxCharts:o}=e;const[l,s]=(0,t.useState)(!1),[a,c]=(0,t.useState)(""),d=(0,t.useRef)(null),u=(0,t.useRef)(null);(0,t.useEffect)(()=>{const e=e=>{d.current&&!d.current.contains(e.target)&&s(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),(0,t.useEffect)(()=>{l&&u.current&&u.current.focus(),l||c("")},[l]);const h=r.length>=o,p=n.filter(e=>{if(!a)return!0;const t=a.toUpperCase();return e.ticker.includes(t)||(e.asset_class||"").includes(t)});return(0,Hg.jsxs)("div",{ref:d,style:{position:"relative",flexShrink:0,display:"flex",alignItems:"center"},children:[(0,Hg.jsx)("button",{onClick:()=>s(e=>!e),title:"Open new chart",style:{background:l?`${XX.orange}18`:"transparent",border:"none",borderLeft:`1px solid ${XX.border}`,color:h?XX.muted:XX.orange,cursor:h?"default":"pointer",padding:"0 12px",fontSize:16,fontWeight:700,fontFamily:JX,height:"100%",display:"flex",alignItems:"center"},disabled:h,children:"+"}),l&&!h&&(0,Hg.jsxs)("div",{style:{position:"absolute",bottom:"100%",right:0,zIndex:300,background:XX.bgPanel,border:`1px solid ${XX.border}`,width:220,maxHeight:320,display:"flex",flexDirection:"column",boxShadow:"0 -4px 16px rgba(0,0,0,0.6)"},children:[(0,Hg.jsx)("div",{style:{padding:"6px 8px",borderBottom:`1px solid ${XX.border}`},children:(0,Hg.jsx)("input",{ref:u,value:a,onChange:e=>c(e.target.value),placeholder:"Search ticker...",style:{width:"100%",background:XX.bgCard,border:`1px solid ${XX.border}`,color:XX.white,padding:"4px 8px",fontSize:10,fontFamily:JX,outline:"none"},onFocus:e=>e.target.style.borderColor=XX.orange,onBlur:e=>e.target.style.borderColor=XX.border})}),(0,Hg.jsxs)("div",{style:{overflowY:"auto",flex:1},children:[0===p.length&&(0,Hg.jsx)("div",{style:{padding:"12px 8px",fontSize:9,color:XX.muted,textAlign:"center",fontFamily:JX},children:"No matches"}),p.map(e=>(0,Hg.jsxs)("div",{onClick:()=>(e=>{i(e),s(!1),c("")})(e.ticker),style:{padding:"5px 10px",cursor:"pointer",display:"flex",justifyContent:"space-between",alignItems:"center",background:"transparent",borderBottom:`1px solid ${XX.border}05`},onMouseEnter:e=>{e.currentTarget.style.background=XX.bgCard},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},children:[(0,Hg.jsxs)("div",{children:[(0,Hg.jsx)("span",{style:{fontSize:10,fontWeight:700,color:XX.white,fontFamily:JX},children:e.ticker}),(0,Hg.jsx)("span",{style:{fontSize:8,color:XX.muted,marginLeft:6,fontFamily:JX},children:e.asset_class})]}),(0,Hg.jsx)("div",{style:{fontSize:9,fontFamily:JX,color:e.price>0?XX.white:XX.muted},children:e.price>0?e.price>100?Math.round(e.price):e.price.toFixed(e.decimals||2):"\u2014"})]},e.ticker))]})]})]})}function lJ(){const e=function(){const[e,n]=(0,t.useState)(RX),r=(0,t.useCallback)(e=>{if(LX.has(e)){n(e);try{const t=new URL(window.location.href);t.searchParams.set("detached",e),window.history.replaceState({},"",t.toString())}catch(sd){console.error("[useDetachedMode] history.replaceState failed:",sd)}}},[]);return{isDetached:null!=e,pageId:e,swapPage:r}}();return e.isDetached?(0,Hg.jsx)(WX,{pageId:e.pageId,swapPage:e.swapPage}):(0,Hg.jsx)(sJ,{})}function sJ(){var e,n,r,i,o,l;const s=Zc(),{assets:a,assetsArray:c,signals:d,lifecycle:u,weeklyState:h,syncStatus:p,serverStatus:f,fetchBars:g,getPrevPrice:m,refreshSync:y,config:v,configHook:x}=s,b=(null===v||void 0===v||null===(e=v._raw)||void 0===e||null===(n=e.display)||void 0===n?void 0:n.theme)||"dark",w=Vx[b]||Hx,[S,j]=(0,t.useState)({}),[k,_]=(0,t.useState)(new Date),[E,C]=(0,t.useState)("quant"),[T,M]=(0,t.useState)(null),[O,A]=(0,t.useState)("live"),[P,I]=(0,t.useState)("ALL"),[D,L]=(0,t.useState)(()=>"undefined"!==typeof window?Math.max(150,window.innerHeight-200):420),[R,z]=(0,t.useState)(!1),[N,F]=(0,t.useState)(null),[$,W]=(0,t.useState)(!1),[B,U]=(0,t.useState)(!1),H=function(){const[e,n]=(0,t.useState)(0),[r,i]=(0,t.useState)(null),[o,l]=(0,t.useState)(!1),[s,a]=(0,t.useState)(null),[c,d]=(0,t.useState)(!1),u=(0,t.useRef)(0),h=(0,t.useRef)(null),p=(0,t.useRef)(!1);(0,t.useEffect)(()=>{if(!p.current)return u.current=e,void(p.current=!0);if(e>u.current){d(!0);try{Hm("user_message")}catch{}h.current&&clearTimeout(h.current),h.current=setTimeout(()=>{d(!1),h.current=null},600)}u.current=e},[e]),(0,t.useEffect)(()=>()=>{h.current&&clearTimeout(h.current)},[]);const f=(0,t.useCallback)(async()=>{try{const e=await fetch("/api/messages/unread-count");if(!e.ok)return;const t=await e.json();"number"===typeof t.unread&&n(t.unread)}catch{}},[]);(0,t.useEffect)(()=>{f();const e=()=>{"visible"===document.visibilityState&&f()};document.addEventListener("visibilitychange",e);const t=setInterval(()=>{"visible"===document.visibilityState&&f()},3e4);return()=>{clearInterval(t),document.removeEventListener("visibilitychange",e)}},[f]);const g=(0,t.useCallback)(async()=>{l(!0),a(null);try{const e=await fetch("/api/messages");if(!e.ok)return void a("Could not load messages.");const t=await e.json();i(t.messages||[]),"number"===typeof t.unread_count&&n(t.unread_count)}catch{a("Could not load messages.")}finally{l(!1)}},[]),m=(0,t.useCallback)(async e=>{try{const t=await fetch(`/api/messages/${e}/read`,{method:"POST"});if(404===t.status)return i(t=>null==t?t:t.filter(t=>t.id!==e)),void n(e=>Math.max(0,e-1));if(!t.ok)return;i(t=>null==t?t:t.map(t=>t.id===e?{...t,read:!0}:t)),n(e=>Math.max(0,e-1))}catch{}},[]),y=(0,t.useCallback)(async()=>{i(e=>null==e?e:e.map(e=>({...e,read:!0}))),n(0);try{await fetch("/api/messages/read-all",{method:"POST"})}catch{}},[]),v=(0,t.useCallback)(()=>{f()},[f]);return{unreadCount:e,messages:r,loading:o,error:s,justArrived:c,fetchInbox:g,markRead:m,markAllRead:y,refresh:v}}(),[V,Y]=(0,t.useState)(!1),[G,K]=(0,t.useState)(null),[q,X]=(0,t.useState)([]),J=(0,t.useRef)([]),[Q,Z]=(0,t.useState)(!1),[ee,te]=(0,t.useState)(!1),ne=(0,t.useRef)(!1);(0,t.useEffect)(()=>{const e=!(null===p||void 0===p||!p.sync_in_progress);ne.current&&!e&&((null===p||void 0===p?void 0:p.sync_total)||0)>0&&te(!0),ne.current=e},[null===p||void 0===p?void 0:p.sync_in_progress,null===p||void 0===p?void 0:p.sync_total]);const[re,ie]=(0,t.useState)(0),oe=(0,t.useRef)({bytes:0,ts:0});(0,t.useEffect)(()=>{if(!!(null===p||void 0===p||!p.sync_in_progress))return ie(0),void(oe.current={bytes:0,ts:0});const e=(null===p||void 0===p?void 0:p.sync_bytes_total)||0,t=Date.now(),n=oe.current;if(n.ts>0&&t>n.ts&&e>=n.bytes){const r=e-n.bytes,i=(t-n.ts)/1e3;i>.1&&ie(r/i)}oe.current={bytes:e,ts:t}},[null===p||void 0===p?void 0:p.sync_bytes_total,null===p||void 0===p?void 0:p.sync_in_progress]);const le=gv(),se=(0,t.useCallback)((e,t,n)=>{const r=function(e,t,n){const r=new Date,i=r.toLocaleTimeString("en-GB",{hour12:!1})+"."+String(r.getMilliseconds()).padStart(3,"0").slice(0,2);return{id:++nx,level:e,source:null===t||void 0===t?void 0:t.toUpperCase(),message:n,time:i,timestamp:r.getTime()}}(e,t,n);J.current=[...J.current.slice(-499),r],X(J.current)},[]),ae=((0,t.useCallback)(e=>{K(e),Y(!0)},[]),(0,t.useRef)(null),(0,t.useRef)(new Map)),[ce,de]=(0,t.useState)([]),[ue,he]=(0,t.useState)(null),[pe,fe]=(0,t.useState)("tabs"),[ge,me]=(0,t.useState)(null),ye=(0,t.useMemo)(()=>{if(!ue||!ce.length)return null;const e=ce.find(e=>e.tabId===ue);return(null===e||void 0===e?void 0:e.ticker)||null},[ue,ce]),ve=(null===v||void 0===v||null===(r=v.display)||void 0===r?void 0:r.max_charts)||8,xe=(0,t.useCallback)(()=>ue&&ae.current.get(ue)||null,[ue]),be=(0,t.useMemo)(()=>({get current(){return xe()}}),[xe]),we=(0,t.useCallback)(e=>{de(t=>{if(t.length>=ve)return se("warn","TABS",`Max charts (${ve}) reached`),t;const n=YX();return he(n),[...t,{tabId:n,ticker:e}]})},[ve,se]),Se=(0,t.useCallback)(e=>{de(t=>{const n=t.findIndex(t=>t.tabId===e);if(-1===n)return t;const r=t.filter(t=>t.tabId!==e);if(ae.current.delete(e),e===ue&&r.length>0){const e=Math.min(n,r.length-1);he(r[e].tabId)}else 0===r.length&&he(null);return r}),me(null)},[ue]),je=(0,t.useCallback)(e=>{he(e)},[]),ke=(0,t.useCallback)(e=>{const t=ce.find(t=>t.tabId===e);t&&me(t)},[ce]),_e=(0,t.useCallback)(()=>{me(null)},[]),Ee=(0,t.useCallback)(()=>{ge&&Se(ge.tabId)},[ge,Se]),Ce=(0,t.useCallback)((e,t)=>{de(n=>n.map(n=>n.tabId===e?{...n,timeframe:t}:n))},[]),Te=(0,t.useCallback)((e,t)=>{t&&de(n=>{const r=n.find(n=>n.tabId!==e&&n.ticker===t);return r?(he(r.tabId),n):n.map(n=>n.tabId===e?{...n,ticker:t}:n)})},[]);(0,t.useEffect)(()=>{if(0===ce.length&&c.length>0){var e;const t=(null===(e=c[0])||void 0===e?void 0:e.ticker)||"XAUUSD",n=YX();de([{tabId:n,ticker:t}]),he(n)}},[c,ce.length]);const Me=(0,t.useCallback)(e=>{const t=ce.find(t=>t.ticker===e);t&&he(t.tabId)},[ce]),Oe=(0,t.useCallback)(async()=>{if(!Q){Z(!0),se("info","SYNC","Requesting data refresh from server...");try{await y(),se("success","SYNC","Data refresh complete")}catch(sd){se("error","SYNC",`Data refresh failed: ${sd.message}`)}Z(!1)}},[Q,y,se]),Ae=(0,t.useMemo)(()=>x?{...x,saveProfile:async e=>{const t=qX(ce,ae);return await x.updateConfig({_open_charts:ce.map(e=>({tabId:e.tabId,ticker:e.ticker})),_active_chart_index:ce.findIndex(e=>e.tabId===ue),_chart_states:t,_view_mode:pe,_last_profile:e}),x.saveProfile(e)},loadProfile:async e=>{var t;const n=await x.loadProfile(e),r=null===(t=x.configRef)||void 0===t?void 0:t.current,i=null===r||void 0===r?void 0:r._raw;if(null!==i&&void 0!==i&&i._open_charts&&Array.isArray(i._open_charts)){var o;const e=i._open_charts.map(e=>{const t=e.tabId||YX(),n=De.current.find(e=>e.tabId===t);return null!==n&&void 0!==n?n:{tabId:t,ticker:e.ticker}});GX(e),KX(i._chart_states||{}),de(e);const t=null!==(o=i._active_chart_index)&&void 0!==o?o:0;e[t]&&he(e[t].tabId),i._view_mode&&fe(i._view_mode)}else if(null!==i&&void 0!==i&&i._chart_state){const e=xe();null!==e&&void 0!==e&&e.applySettings&&e.applySettings(i._chart_state)}return n}}:null,[x,ce,ue,pe,xe]),Pe=(0,t.useCallback)(e=>{if(e!==E){if(x){const e=qX(ce,ae);x.updateConfig({_open_charts:ce.map(e=>({tabId:e.tabId,ticker:e.ticker})),_chart_states:e,_view_mode:pe}).catch(()=>{})}C(e)}},[E,x,ce,pe]),Ie=(0,t.useRef)(!1);(0,t.useEffect)(()=>{if(!v||!x||Ie.current)return;Ie.current=!0;const e=null===v||void 0===v?void 0:v._last_profile;if(e&&null!==Ae&&void 0!==Ae&&Ae.loadProfile)Ae.loadProfile(e).catch(()=>{});else{var t,n;const e=(null===(t=x.configRef)||void 0===t||null===(n=t.current)||void 0===n?void 0:n._raw)||v;if(null!==e&&void 0!==e&&e._open_charts&&Array.isArray(e._open_charts)&&e._open_charts.length>0){var r;const t=e._open_charts.map(e=>{const t=e.tabId||YX(),n=De.current.find(e=>e.tabId===t);return null!==n&&void 0!==n?n:{tabId:t,ticker:e.ticker}});GX(t),KX(e._chart_states||{}),de(t);const n=null!==(r=e._active_chart_index)&&void 0!==r?r:0;t[n]&&he(t[n].tabId),e._view_mode&&fe(e._view_mode)}}},[!!v]);const De=(0,t.useRef)(ce),Le=(0,t.useRef)(pe);De.current=ce,Le.current=pe;const Re=(0,t.useCallback)(()=>{if(!x)return;const e=De.current,t=qX(e,ae);x.updateConfig({_open_charts:e.map(e=>({tabId:e.tabId,ticker:e.ticker})),_active_chart_index:e.findIndex(e=>e.tabId===ue),_chart_states:t,_view_mode:Le.current}).catch(()=>{})},[x,ue]);(0,t.useEffect)(()=>{const e=()=>Re();window.addEventListener("beforeunload",e);const t=setInterval(Re,6e4);return()=>{window.removeEventListener("beforeunload",e),clearInterval(t)}},[Re]),(0,t.useEffect)(()=>{const e=setInterval(()=>_(new Date),1e3);return()=>clearInterval(e)},[]),(0,t.useEffect)(()=>{se("info","TERM","Consumer terminal initialized")},[]);const ze=(0,t.useRef)({});(0,t.useEffect)(()=>{const e=ze.current;void 0!==e.mt5Connected&&e.mt5Connected!==f.mt5Connected&&se(f.mt5Connected?"success":"error","MT5",f.mt5Connected?"Connected":"Disconnected"),void 0!==e.wsPrice&&e.wsPrice!==f.wsPrice&&se(f.wsPrice?"success":"warn","WS",f.wsPrice?"Price feed connected":"Price feed disconnected"),!e.dataReady&&f.dataReady&&se("success","DATA",`Data ready \u2014 ${c.length} assets loaded`),ze.current={...f}},[f,se]);const Ne=(0,t.useCallback)(e=>{e.preventDefault();const t=e.clientY,n=D,r=e=>{const r=e.clientY-t;L(Math.max(150,Math.min(window.innerHeight-150,n+r)))},i=()=>{document.removeEventListener("mousemove",r),document.removeEventListener("mouseup",i),document.body.style.cursor="",document.body.style.userSelect=""};document.addEventListener("mousemove",r),document.addEventListener("mouseup",i),document.body.style.cursor="row-resize",document.body.style.userSelect="none"},[D]),Fe="undefined"===typeof window||D<window.innerHeight-120,$e=(0,t.useRef)(void 0);(0,t.useEffect)(()=>{const e=!(null===f||void 0===f||!f.mt5Connected),t=$e.current;void 0!==t?t!==e&&(Hm(e?"connected":"disconnected"),$e.current=e):$e.current=e},[null===f||void 0===f?void 0:f.mt5Connected]);const We=c,Be=f.dataReady&&f.connected,Ue="ALL"===P?We:We.filter(e=>e.asset_class===P),He=(0,t.useMemo)(()=>Ue.map(e=>e.ticker),[Ue]);!function(e){let{tickers:n=[],selectedTicker:r="",onSelectTicker:i,onTimeframe:o,onToggleBands:l,onToggleSignals:s,onToggleCones:a,onToggleAnchors:c,onCalculate:d,onFitChart:u,onEscape:h,enabled:p=!0}=e;const f=(0,t.useCallback)(e=>{var t,f,g;if(!p)return;const m=null===(t=document.activeElement)||void 0===t||null===(f=t.tagName)||void 0===f?void 0:f.toLowerCase();if("input"===m||"textarea"===m||"select"===m)return;if(null!==(g=document.activeElement)&&void 0!==g&&g.isContentEditable)return;const y=e.key;if("ArrowUp"===y||"ArrowDown"===y){if(e.preventDefault(),!n.length)return;const t=n.indexOf(r);if("ArrowUp"===y){const e=t<=0?n[n.length-1]:n[t-1];null===i||void 0===i||i(e)}else{const e=t<0||t>=n.length-1?n[0]:n[t+1];null===i||void 0===i||i(e)}return}if(bx[y])return e.preventDefault(),void(null===o||void 0===o||o(bx[y]));const v=y.toLowerCase();return"b"===v?(e.preventDefault(),void(null===l||void 0===l||l())):"s"===v?(e.preventDefault(),void(null===s||void 0===s||s())):"c"===v?(e.preventDefault(),void(null===a||void 0===a||a())):"a"===v?(e.preventDefault(),void(null===c||void 0===c||c())):"f"===v?(e.preventDefault(),void(null===u||void 0===u||u())):"r"===v?(e.preventDefault(),void(null===d||void 0===d||d())):void("Escape"!==y||null===h||void 0===h||h())},[p,n,r,i,o,l,s,a,c,d,h]);(0,t.useEffect)(()=>(window.addEventListener("keydown",f),()=>window.removeEventListener("keydown",f)),[f])}({tickers:He,selectedTicker:ye,onSelectTicker:Me,onTimeframe:e=>{var t,n;return null===(t=be.current)||void 0===t||null===(n=t.setTimeframe)||void 0===n?void 0:n.call(t,e)},onToggleBands:()=>{var e,t;return null===(e=be.current)||void 0===e||null===(t=e.toggleBands)||void 0===t?void 0:t.call(e)},onToggleSignals:()=>{var e,t;return null===(e=be.current)||void 0===e||null===(t=e.toggleSignals)||void 0===t?void 0:t.call(e)},onToggleCones:()=>{var e,t;return null===(e=be.current)||void 0===e||null===(t=e.toggleAllCones)||void 0===t?void 0:t.call(e)},onToggleAnchors:()=>{var e,t;return null===(e=be.current)||void 0===e||null===(t=e.toggleAllAnchors)||void 0===t?void 0:t.call(e)},onFitChart:()=>{var e,t;return null===(e=be.current)||void 0===e||null===(t=e.fitChart)||void 0===t?void 0:t.call(e)},onEscape:()=>{ge?_e():V?Y(!1):B?(H.markAllRead(),U(!1)):$?W(!1):R&&z(!1)},enabled:"quant"===E});const Ve="error"===(null===p||void 0===p?void 0:p.staleness_level)?w.red:"warning"===(null===p||void 0===p?void 0:p.staleness_level)?w.amber:"fresh"===(null===p||void 0===p?void 0:p.staleness_level)?w.green:w.muted;return(0,Hg.jsx)(Kx,{mode:b,children:(0,Hg.jsxs)("div",{style:{background:w.bg,color:w.white,fontFamily:JX,height:"100vh",fontSize:"12px",display:"flex",flexDirection:"column",overflow:"hidden"},children:[le.updateAvailable&&!le.loading&&(0,Hg.jsx)(DX,{current:le.current,latest:le.latest,downloadUrl:le.downloadUrl,bannerMessage:le.bannerMessage,telegramUrl:le.telegramUrl}),(0,Hg.jsxs)("div",{style:{background:w.bg,borderBottom:`1px solid ${w.border}`,padding:"5px 12px",display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,Hg.jsx)("div",{style:{width:6,height:6,background:w.orange}}),(0,Hg.jsx)("span",{style:{fontWeight:800,fontSize:"13px",color:w.orange,letterSpacing:"2px"},children:"MK.TRADES"})]}),(0,Hg.jsx)("span",{style:{color:w.muted,fontSize:"9px"},children:"ANALYTICAL STATION"}),(0,Hg.jsx)("span",{style:{color:w.muted},children:"|"}),(0,Hg.jsx)(iJ,{}),Be?(0,Hg.jsx)("span",{style:{fontSize:"7px",color:w.green,fontWeight:700,letterSpacing:"1px"},children:"\u25cf LIVE"}):(0,Hg.jsx)("span",{style:{fontSize:"7px",color:w.orange,letterSpacing:"1px"},children:"CONNECTING"})]}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,Hg.jsx)("span",{style:{fontSize:"8px",color:w.muted,letterSpacing:"0.5px"},children:"SERVER"}),(0,Hg.jsx)("span",{style:{fontSize:"8px",color:null!==p&&void 0!==p&&p.offline_mode?w.red:w.green,fontWeight:700},children:null!==p&&void 0!==p&&p.offline_mode?"\u25cf OFFLINE":"\u25cf ONLINE"}),(null===p||void 0===p?void 0:p.sync_in_progress)&&(()=>{const e=(null===p||void 0===p?void 0:p.sync_done)||0,t=(null===p||void 0===p?void 0:p.sync_total)||0,n=t>0?Math.min(100,Math.round(e/t*100)):0;return(0,Hg.jsxs)("span",{title:t>0?`Downloading ${e} / ${t}`:"Downloading\u2026",style:{display:"inline-flex",alignItems:"center",gap:6,marginLeft:6},children:[(0,Hg.jsx)("span",{style:{fontSize:7.5,color:w.amber,fontWeight:700,letterSpacing:"0.5px"},children:"\u2b07 DOWNLOADING"}),(0,Hg.jsx)("span",{style:{position:"relative",width:80,height:6,background:"#1a1a1a",border:`1px solid ${w.border}`,borderRadius:1,overflow:"hidden"},children:(0,Hg.jsx)("span",{style:{position:"absolute",inset:0,width:`${n}%`,background:`linear-gradient(90deg, ${w.amber} 0%, ${w.orange} 100%)`,transition:"width 0.4s linear"}})}),(0,Hg.jsx)("span",{style:{fontSize:7.5,color:w.amber,fontVariantNumeric:"tabular-nums",minWidth:28},children:t>0?`${n}%`:"\u2026"}),(0,Hg.jsx)("span",{style:{fontSize:7.5,color:w.muted,fontVariantNumeric:"tabular-nums",letterSpacing:"0.5px",minWidth:50,textAlign:"right"},children:(r=re,!r||r<1?"\u2014":r<1024?`${r.toFixed(0)} B/s`:r<1048576?`${(r/1024).toFixed(1)} KB/s`:r<1073741824?`${(r/1048576).toFixed(2)} MB/s`:`${(r/1073741824).toFixed(2)} GB/s`)})]});var r})(),ee&&!(null!==p&&void 0!==p&&p.sync_in_progress)&&(0,Hg.jsx)("button",{onClick:()=>{try{window.location.reload()}catch{}},title:"New data downloaded \u2014 click to reload the page so all panels see the fresh data.",style:{marginLeft:6,background:`${w.green}25`,color:w.green,border:`1px solid ${w.green}80`,padding:"1px 8px",cursor:"pointer",borderRadius:2,fontSize:"8px",fontWeight:800,fontFamily:JX,letterSpacing:"1px"},children:"\u2713 DOWNLOAD COMPLETE \xb7 REFRESH"}),(0,Hg.jsx)("span",{style:{color:w.border},children:"|"}),(0,Hg.jsx)("span",{style:{fontSize:"8px",color:w.muted,letterSpacing:"0.5px"},children:"DATA"}),(0,Hg.jsx)("span",{style:{fontSize:"8px",color:Ve,fontWeight:700},children:(null===p||void 0===p?void 0:p.last_synced_at)||(null===p||void 0===p?void 0:p.analysis_date)||"N/A"}),"warning"===(null===p||void 0===p?void 0:p.staleness_level)&&(0,Hg.jsx)("span",{style:{fontSize:"7px",color:w.amber},children:"\u26a0"}),"error"===(null===p||void 0===p?void 0:p.staleness_level)&&(0,Hg.jsx)("span",{style:{fontSize:"7px",color:w.red},children:"\u26a0 STALE"}),(0,Hg.jsx)("span",{style:{color:w.border},children:"|"}),(0,Hg.jsx)("span",{style:{fontSize:"8px",color:w.muted,letterSpacing:"0.5px"},children:"MT5"}),(0,Hg.jsx)("span",{style:{fontSize:"8px",color:f.mt5Connected?w.green:w.red,fontWeight:700},children:f.mt5Connected?"\u25cf LINKED":"\u25cf NO LINK"}),(0,Hg.jsx)("span",{style:{color:w.border},children:"|"}),(e=>{const t=(null===v||void 0===v||null===(e=v._raw)||void 0===e?void 0:e.time)||fv,n=uv(t.mainTime||"local",t.mainTimeOffset||0);return(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("span",{style:{color:w.orange,fontSize:"11px",fontVariantNumeric:"tabular-nums"},children:n.timeStr}),(0,Hg.jsx)("span",{style:{color:w.muted,fontSize:"9px"},children:n.dateStr})]})})(),(0,Hg.jsx)(Ux,{config:(null===v||void 0===v||null===(i=v._raw)||void 0===i?void 0:i.time)||fv})]})]}),(0,Hg.jsxs)("div",{style:{background:w.bg,borderBottom:`1px solid ${w.border}`,padding:"0 12px",display:"flex",alignItems:"center"},children:[["quant","fundamental","flow","options","stress","learn"].map(e=>{const t=new Set(["stress"]),n="flow"===e?"money flow":"quant"===e?"quant analysis":"options"===e?"options quant":"performance"===e?"performance":"stress"===e?"stress lab":"learn"===e?"learn":e;return(0,Hg.jsxs)("button",{onClick:()=>Pe(e),onContextMenu:t=>{t.preventDefault(),M({x:t.clientX,y:t.clientY,pageId:e,pageLabel:n})},style:{background:"transparent",border:"none",borderBottom:E===e?`2px solid ${w.orange}`:"2px solid transparent",color:E===e?w.orange:w.muted,padding:"8px 16px",cursor:"pointer",fontSize:"9px",fontWeight:700,fontFamily:JX,letterSpacing:"1.5px",textTransform:"uppercase",display:"inline-flex",alignItems:"center"},children:[n,t.has(e)&&(0,Hg.jsx)(OX,{size:"tiny"})]},e)}),"quant"===E&&(0,Hg.jsx)("div",{style:{display:"flex",alignItems:"center",gap:4,marginLeft:16,paddingLeft:12,borderLeft:`1px solid ${w.border}`},children:["live","replay"].map(e=>(0,Hg.jsx)("button",{onClick:()=>A(e),style:{background:O===e?`${w.cyan}20`:"transparent",border:`1px solid ${O===e?w.cyan+"50":w.border}`,color:O===e?w.cyan:w.muted,padding:"3px 10px",cursor:"pointer",fontSize:"8px",fontWeight:700,fontFamily:JX,letterSpacing:"1.5px"},children:e.toUpperCase()},e))}),(0,Hg.jsx)("div",{style:{flex:1}}),["ALL","FX","INDEX","COMMODITY"].map(e=>(0,Hg.jsx)("button",{onClick:()=>I(e),style:{background:P===e?w.bgHover:"transparent",border:P===e?`1px solid ${w.orange}40`:"1px solid transparent",color:P===e?w.orange:w.muted,padding:"3px 8px",margin:"0 1px",cursor:"pointer",fontSize:"8px",fontWeight:700,fontFamily:JX,letterSpacing:"1px"},children:e},e)),(0,Hg.jsx)("div",{style:{width:1,height:16,background:w.border,margin:"0 8px"}}),(()=>{const e=Q||!(null===p||void 0===p||!p.sync_in_progress),t=!(null===p||void 0===p||!p.offline_mode),n="error"===(null===p||void 0===p?void 0:p.staleness_level),r="warning"===(null===p||void 0===p?void 0:p.staleness_level);let i,o,l,s;return e?(i="\u27f3 SYNCING DATA",o=w.orange,l=`${w.orange}20`,s=`${w.orange}60`):t?(i="\u2715 OFFLINE",o=w.red,l=`${w.red}15`,s=`${w.red}50`):n?(i="\u26a0 STALE",o=w.red,l=`${w.red}15`,s=`${w.red}50`):r?(i="\u26a0 STALE",o=w.amber,l=`${w.amber}18`,s=`${w.amber}55`):(i="\u25cf DATA READY",o=w.green,l=`${w.green}15`,s=`${w.green}50`),(0,Hg.jsx)("span",{title:`Last sync: ${(null===p||void 0===p?void 0:p.last_synced_at)||(null===p||void 0===p?void 0:p.analysis_date)||"\u2014"}`,style:{padding:"2px 8px",background:l,border:`1px solid ${s}`,color:o,fontSize:"7px",fontWeight:800,letterSpacing:"1.2px",fontFamily:JX,borderRadius:2},children:i})})(),(0,Hg.jsx)("button",{onClick:Oe,disabled:Q,title:"Refresh analysis data from server",style:{background:Q?`${w.orange}30`:"transparent",border:`1px solid ${Q?w.orange:w.border}`,color:Q?w.orange:w.muted,cursor:Q?"default":"pointer",padding:"2px 8px",marginLeft:4,fontSize:"7px",fontWeight:700,fontFamily:JX,letterSpacing:"1px"},children:Q?"\u21bb SYNCING...":"\u21bb REFRESH"}),(0,Hg.jsx)("div",{style:{width:1,height:16,background:w.border,margin:"0 8px"}}),!1,(0,Hg.jsx)("button",{onClick:()=>z(!0),title:"Settings",style:{background:"transparent",border:`1px solid ${w.borderLt}`,color:w.white,cursor:"pointer",padding:"2px 8px",fontSize:"13px",fontFamily:JX,fontWeight:700},children:"\u2699"}),(0,Hg.jsx)(ax,{unreadCount:H.unreadCount,justArrived:H.justArrived,onClick:()=>{H.fetchInbox(),U(!0)}})]}),(0,Hg.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",minHeight:0},children:["quant"===E&&"live"===O&&ye&&(0,Hg.jsx)("div",{children:(0,Hg.jsx)(av,{selectedTicker:ye,weeklyState:h,assetData:ye?a.get(ye):null,onRegimeHistory:F})}),"quant"===E&&"live"===O&&(0,Hg.jsxs)("div",{style:{flex:`0 0 ${D}px`,minHeight:150,display:"flex",flexDirection:"column"},children:[(0,Hg.jsx)("div",{style:{flex:1,display:"flex",overflow:"hidden",minHeight:0},children:(0,Hg.jsxs)("div",{style:{flex:1,overflow:"hidden",position:"relative",...(()=>{const e=HX(pe,ce.length);return!e||ce.length<=1?{}:{display:"grid",gridTemplateColumns:`repeat(${e.cols}, minmax(0, 1fr))`,gridTemplateRows:`repeat(${e.rows}, minmax(0, 1fr))`,gap:"1px",background:w.border,height:"100%"}})()},children:[ce.map(e=>{var t,n;const r=e.tabId===ue,i=!!HX(pe,ce.length);return(0,Hg.jsx)("div",{onClick:()=>{i&&je(e.tabId)},style:{...i?{position:"relative",overflow:"hidden",background:w.bg,border:r?`2px solid ${w.orange}`:"2px solid transparent",cursor:"pointer",minHeight:0,minWidth:0}:{position:r?"relative":"absolute",inset:0,display:r?"block":"none",width:"100%",height:"100%"}},children:(0,Hg.jsx)(Wy,{ref:t=>{t?ae.current.set(e.tabId,t):ae.current.delete(e.tabId)},isActive:r,tabId:e.tabId,selectedTicker:e.ticker,assets:a,fetchBars:g,signals:d,lifecycle:u,weeklyState:h,regimeHistory:N,onLog:se,onTimeframeChange:t=>Ce(e.tabId,t),onChangeTicker:t=>Te(e.tabId,t),compact:!!HX(pe,ce.length),onOrderClick:()=>Y(!0),executionStatus:{live_trading:(null===v||void 0===v||null===(t=v._raw)||void 0===t||null===(n=t.execution)||void 0===n?void 0:n.live_trading)||!1,provider_connected:(null===f||void 0===f?void 0:f.mt5Connected)||!1}})},e.tabId)}),0===ce.length&&(0,Hg.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",color:w.muted,fontSize:"10px",letterSpacing:"2px"},children:"SELECT A TICKER FROM THE LIST BELOW"})]})}),(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"stretch",borderTop:`1px solid ${w.border}`},children:[(0,Hg.jsx)("div",{style:{flex:1,minWidth:0,overflow:"hidden"},children:(0,Hg.jsx)(Mx,{openCharts:ce,activeChartId:ue,viewMode:pe,onSelectTab:je,onCloseTab:ke,onViewModeChange:fe,maxCharts:ve})}),(0,Hg.jsx)(oJ,{assets:c,openCharts:ce,onSelect:we,maxCharts:ve})]}),(0,Hg.jsx)("div",{onMouseDown:Ne,style:{height:4,cursor:"row-resize",background:w.border,display:"block"}}),Fe&&(0,Hg.jsx)(iV,{priceMap:a})]}),"quant"===E&&"replay"===O&&(0,Hg.jsx)(UG,{assets:a}),(0,Hg.jsx)("div",{style:{flex:1,overflowY:"auto",display:"none"},children:(0,Hg.jsx)("div",{style:{padding:"4px 6px"},children:Ue.map(e=>{var t,n,r,i,o,l,s,a;const c=e.pct_change_1d||0,d=S[e.ticker],u=ce.some(t=>t.ticker===e.ticker);return(0,Hg.jsxs)("div",{style:{borderBottom:`1px solid ${w.border}`},children:[(0,Hg.jsxs)("div",{onClick:()=>j(t=>({...t,[e.ticker]:!t[e.ticker]})),style:{display:"flex",alignItems:"center",gap:10,padding:"6px 8px",cursor:"pointer",background:d?w.bgHover:"transparent"},children:[(0,Hg.jsx)("span",{style:{width:6,height:6,background:"FX"===e.asset_class?w.cyan:"INDEX"===e.asset_class?w.amber:w.orange,borderRadius:"50%",flexShrink:0}}),(0,Hg.jsx)("span",{style:{width:72,fontWeight:700,fontSize:"11px",letterSpacing:"0.5px"},children:e.ticker}),(0,Hg.jsx)("span",{style:{width:80,fontVariantNumeric:"tabular-nums",textAlign:"right"},children:null===(t=e.price)||void 0===t?void 0:t.toFixed(e.decimals||2)}),(0,Hg.jsxs)("span",{style:{width:60,textAlign:"right",color:c>=0?w.green:w.red,fontSize:"10px"},children:[c>=0?"+":"",c.toFixed(2),"%"]}),(0,Hg.jsx)(eJ,{data:null===(n=e.candles)||void 0===n?void 0:n.slice(-30).map(e=>e.c),positive:c>=0}),(0,Hg.jsx)(rJ,{text:((null===(r=e.hmm)||void 0===r?void 0:r.regime)||"\u2014").toUpperCase(),color:"calm"===(null===(i=e.hmm)||void 0===i?void 0:i.regime)?w.green:"stressed"===(null===(o=e.hmm)||void 0===o?void 0:o.regime)?w.red:w.orange}),(0,Hg.jsx)(rJ,{text:(null===(l=e.cone)||void 0===l?void 0:l.bias)||"NEUTRAL",color:"BULLISH"===(null===(s=e.cone)||void 0===s?void 0:s.bias)?w.green:"BEARISH"===(null===(a=e.cone)||void 0===a?void 0:a.bias)?w.red:w.gray}),(0,Hg.jsx)("div",{style:{flex:1}}),(0,Hg.jsxs)("button",{onClick:t=>{t.stopPropagation(),we(e.ticker)},disabled:ce.length>=ve,style:{display:"flex",alignItems:"center",gap:4,padding:"3px 10px",marginLeft:6,background:u?"transparent":`${w.orange}22`,border:`1px solid ${u?w.border:`${w.orange}55`}`,color:u?w.muted:w.orange,fontSize:"8px",fontWeight:700,fontFamily:JX,letterSpacing:"1px",cursor:"pointer",opacity:ce.length>=ve?.4:1},title:u?`Open another ${e.ticker} chart`:`Open ${e.ticker} in new chart tab`,children:[(0,Hg.jsx)("span",{style:{fontSize:"12px",lineHeight:1},children:"+"}),"NEW CHART"]})]}),d&&(0,Hg.jsxs)("div",{style:{padding:"4px 8px 8px"},children:[(0,Hg.jsx)(tJ,{assetData:e,width:720,height:280}),(0,Hg.jsx)(nJ,{data:e})]})]},e.ticker)})})}),"fundamental"===E&&(0,Hg.jsx)("div",{style:{flex:1,minHeight:0,overflowY:"auto"},children:(0,Hg.jsx)(WY,{})}),"flow"===E&&(0,Hg.jsx)("div",{style:{flex:1,minHeight:0,overflowY:"auto"},children:(0,Hg.jsx)(LV,{assetsData:We})}),"performance"===E&&(0,Hg.jsx)("div",{style:{flex:1,minHeight:0,overflowY:"auto"},children:(0,Hg.jsx)(FH,{serverUrl:""})}),"options"===E&&(0,Hg.jsx)("div",{style:{display:"flex",flex:1,flexDirection:"column",minHeight:0},children:(0,Hg.jsx)(Db,{})}),"stress"===E&&(0,Hg.jsx)("div",{style:{display:"flex",flex:1,flexDirection:"column",minHeight:0},children:(0,Hg.jsx)(eX,{})}),"learn"===E&&(0,Hg.jsx)("div",{style:{display:"flex",flex:1,flexDirection:"column",minHeight:0},children:(0,Hg.jsx)(TX,{})})]}),(0,Hg.jsxs)("div",{style:{background:w.bg,borderTop:`1px solid ${w.border}`,padding:"3px 12px",display:"flex",alignItems:"center",justifyContent:"space-between",fontSize:"8px",color:w.muted},children:[(0,Hg.jsxs)("div",{style:{display:"flex",gap:12},children:[(0,Hg.jsx)("span",{children:"MK.TRADES Consumer"}),(0,Hg.jsx)("span",{style:{color:w.border},children:"|"}),(0,Hg.jsxs)("span",{children:[We.length," ASSETS"]}),(0,Hg.jsx)("span",{style:{color:w.border},children:"|"}),(0,Hg.jsxs)("span",{children:[ce.length," CHART",1!==ce.length?"S":""]}),(0,Hg.jsx)("span",{style:{color:w.border},children:"|"}),(0,Hg.jsxs)("span",{children:["MT5 ",f.mt5Connected?(0,Hg.jsx)("span",{style:{color:w.green},children:"\u25cf"}):(0,Hg.jsx)("span",{style:{color:w.red},children:"\u25cf"})]})]}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:12,alignItems:"center"},children:[(null===p||void 0===p?void 0:p.offline_mode)&&(0,Hg.jsx)("span",{style:{color:w.amber,fontWeight:700,letterSpacing:"1px"},children:"\u26a0 OFFLINE MODE \u2014 using cached data"}),"error"===(null===p||void 0===p?void 0:p.staleness_level)&&!(null!==p&&void 0!==p&&p.offline_mode)&&(0,Hg.jsx)("span",{style:{color:w.red,fontWeight:700,letterSpacing:"0.5px"},children:"\u26a0 DATA STALE"}),"warning"===(null===p||void 0===p?void 0:p.staleness_level)&&!(null!==p&&void 0!==p&&p.offline_mode)&&(0,Hg.jsx)("span",{style:{color:w.amber,letterSpacing:"0.5px"},children:"DATA MAY BE OUTDATED"}),(0,Hg.jsx)("span",{style:{color:w.border},children:"|"}),(0,Hg.jsxs)("span",{children:["Synced:"," ",(0,Hg.jsx)("span",{style:{color:Ve,fontWeight:700},children:(null===p||void 0===p?void 0:p.last_synced_at)||(null===p||void 0===p?void 0:p.analysis_date)||"N/A"})]}),(0,Hg.jsx)("span",{style:{color:w.border},children:"|"}),(0,Hg.jsxs)("span",{children:[(null===p||void 0===p||null===(o=p.synced_tickers)||void 0===o?void 0:o.length)||0," synced"]}),(0,Hg.jsx)("span",{style:{color:w.border},children:"|"}),(0,Hg.jsx)("span",{children:f.dataReady?"LIVE":"CONNECTING..."})]})]}),T&&(0,Hg.jsx)(UX,{x:T.x,y:T.y,pageId:T.pageId,pageLabel:T.pageLabel,onClose:()=>M(null)}),(0,Hg.jsx)(Av,{open:R,onClose:()=>z(!1),configHook:Ae||x,config:v}),(0,Hg.jsx)(tx,{open:$,onClose:()=>W(!1),logs:q}),(0,Hg.jsx)(xx,{open:B,onClose:()=>{H.markAllRead(),U(!1)},messages:H.messages,loading:H.loading,error:H.error,onMarkRead:H.markRead,onMarkAllRead:H.markAllRead}),(0,Hg.jsx)(zx,{chart:ge,onConfirm:Ee,onCancel:_e}),(0,Hg.jsx)(Zx,{isOpen:V,onClose:()=>{Y(!1),K(null)},config:(null===v||void 0===v?void 0:v._raw)||v,selectedTicker:ye,currentPrice:ye?null===(l=a.get(ye))||void 0===l?void 0:l.price:null,priceMap:a,universe:c.map(e=>e.ticker),onLog:e=>se(e.level,e.source,e.message),signalData:G})]})})}const aJ={bg:"#000000",bgPanel:"#0a0a0a",bgCard:"#111111",bgHover:"#1a1a1a",border:"#222222",borderLt:"#333333",white:"#ffffff",gray:"#999999",muted:"#444444",orange:"#ff6d00",orangeDim:"#cc5500",orangeBg:"#ff6d0012",green:"#2ebd59",red:"#e8383b",blue:"#3796ff",amber:"#ffa500",cyan:"#00d2d3"},cJ="'Courier New', Consolas, 'Liberation Mono', monospace";async function dJ(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;try{const r={method:e,headers:{"Content-Type":"application/json"}};n&&(r.body=JSON.stringify(n));const i=await fetch(`${t}`,r);return{data:await i.json(),status:i.status,ok:i.ok}}catch(sd){return{data:null,status:0,ok:!1,error:sd.message}}}function uJ(){try{return localStorage.getItem("mk_saved_email")||""}catch{return""}}function hJ(){try{return localStorage.getItem("mk_saved_pass")||""}catch{return""}}function pJ(){try{localStorage.removeItem("mk_saved_email"),localStorage.removeItem("mk_saved_pass")}catch{}}function fJ(e){let{label:t,type:n="text",value:r,onChange:i,placeholder:o,disabled:l,autoFocus:s}=e;return(0,Hg.jsxs)("div",{style:{marginBottom:12},children:[t&&(0,Hg.jsx)("div",{style:{fontSize:8,color:aJ.muted,fontWeight:700,letterSpacing:"1.5px",fontFamily:cJ,marginBottom:4,textTransform:"uppercase"},children:t}),(0,Hg.jsx)("input",{type:n,value:r,onChange:e=>i(e.target.value),placeholder:o,disabled:l,autoFocus:s,autoComplete:"password"===n?"current-password":"email",style:{width:"100%",boxSizing:"border-box",background:aJ.bgCard,border:`1px solid ${aJ.border}`,color:aJ.white,padding:"10px 12px",fontSize:12,fontFamily:cJ,outline:"none",transition:"border-color 0.2s",opacity:l?.5:1},onFocus:e=>e.target.style.borderColor=aJ.orange,onBlur:e=>e.target.style.borderColor=aJ.border})]})}function gJ(e){let{children:t,onClick:n,primary:r,disabled:i,small:o,color:l,style:s}=e;const a=r?aJ.orange:"transparent",c=r?aJ.bg:l||aJ.orange,d=r?aJ.orange:l||aJ.orange;return(0,Hg.jsx)("button",{onClick:n,disabled:i,style:{background:r?a:`${d}15`,border:`1px solid ${r?a:`${d}50`}`,color:c,padding:o?"5px 12px":"10px 20px",fontSize:o?9:10,fontWeight:700,fontFamily:cJ,letterSpacing:"1px",textTransform:"uppercase",cursor:i?"not-allowed":"pointer",opacity:i?.5:1,transition:"all 0.2s",width:"100%",...s},children:t})}function mJ(e){let{message:t}=e;return t?(0,Hg.jsx)("div",{style:{background:`${aJ.red}15`,border:`1px solid ${aJ.red}40`,color:aJ.red,padding:"8px 12px",fontSize:10,fontFamily:cJ,marginBottom:12,lineHeight:1.4},children:t}):null}function yJ(e){let{message:t}=e;return t?(0,Hg.jsx)("div",{style:{background:`${aJ.green}15`,border:`1px solid ${aJ.green}40`,color:aJ.green,padding:"8px 12px",fontSize:10,fontFamily:cJ,marginBottom:12,lineHeight:1.4},children:t}):null}function vJ(){return(0,Hg.jsx)("div",{style:{height:1,background:aJ.border,margin:"16px 0"}})}function xJ(e){let{value:n,onChange:r,disabled:i}=e;const o=[(0,t.useRef)(),(0,t.useRef)(),(0,t.useRef)(),(0,t.useRef)(),(0,t.useRef)(),(0,t.useRef)()],l=Array.from({length:6},(e,t)=>(n||"")[t]||"");(0,t.useEffect)(()=>{setTimeout(()=>{var e;null!==(e=o[0])&&void 0!==e&&e.current&&o[0].current.focus()},200)},[]);const s=e=>{e.preventDefault();const t=e.clipboardData.getData("text").replace(/\D/g,"").slice(0,6);r(t);const n=Math.min(t.length,5);setTimeout(()=>{var e,t;return null===(e=o[n])||void 0===e||null===(t=e.current)||void 0===t?void 0:t.focus()},0)};return(0,Hg.jsxs)("div",{style:{marginBottom:16},children:[(0,Hg.jsx)("div",{style:{fontSize:8,color:aJ.muted,fontWeight:700,letterSpacing:"1.5px",fontFamily:cJ,marginBottom:8,textTransform:"uppercase",textAlign:"center"},children:"ENTER 6-DIGIT CODE"}),(0,Hg.jsx)("div",{style:{display:"flex",gap:10,justifyContent:"center"},children:[0,1,2,3,4,5].map(e=>(0,Hg.jsx)("input",{ref:o[e],type:"text",inputMode:"numeric",autoComplete:"off",value:l[e],onChange:t=>((e,t)=>{const n=t.slice(-1);if(n&&!/^\d$/.test(n))return;const i=[...l];i[e]=n,r(i.join("")),n&&e<5&&setTimeout(()=>{var t,n;return null===(t=o[e+1])||void 0===t||null===(n=t.current)||void 0===n?void 0:n.focus()},0)})(e,t.target.value),onKeyDown:t=>((e,t)=>{if("Backspace"===t.key)if(!l[e]&&e>0){var n,i;const t=[...l];t[e-1]="",r(t.join("")),null===(n=o[e-1])||void 0===n||null===(i=n.current)||void 0===i||i.focus()}else{const t=[...l];t[e]="",r(t.join(""))}})(e,t),onPaste:0===e?s:void 0,disabled:i,style:{width:42,height:50,textAlign:"center",background:"#1a1a1a",border:`2px solid ${l[e]?aJ.orange:"#555555"}`,color:aJ.orange,fontSize:22,fontWeight:700,fontFamily:cJ,outline:"none",caretColor:aJ.orange,transition:"border-color 0.2s, box-shadow 0.2s",boxShadow:l[e]?`0 0 8px ${aJ.orange}30`:"none"},onFocus:e=>{e.target.style.borderColor=aJ.orange,e.target.style.boxShadow=`0 0 12px ${aJ.orange}40`},onBlur:t=>{t.target.style.borderColor=l[e]?aJ.orange:"#555555",t.target.style.boxShadow=l[e]?`0 0 8px ${aJ.orange}30`:"none"}},e))})]})}function bJ(e){let{progress:t,label:n}=e;return(0,Hg.jsxs)("div",{style:{marginBottom:8},children:[(0,Hg.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:4},children:[(0,Hg.jsx)("span",{style:{fontSize:9,color:aJ.gray,fontFamily:cJ,letterSpacing:"0.5px"},children:n}),(0,Hg.jsxs)("span",{style:{fontSize:9,color:aJ.orange,fontFamily:cJ,fontVariantNumeric:"tabular-nums"},children:[Math.round(t),"%"]})]}),(0,Hg.jsx)("div",{style:{height:3,background:aJ.bgCard,overflow:"hidden",border:`1px solid ${aJ.border}`},children:(0,Hg.jsx)("div",{style:{height:"100%",background:aJ.orange,width:`${t}%`,transition:"width 0.4s ease-out"}})})]})}const wJ=[{id:"demo",name:"DEMO",desc:"Explore the interface with sample data",price:"FREE",tag:null,color:aJ.muted},{id:"trial",name:"10-DAY TRIAL",desc:"Full access \u2014 no payment required",price:"FREE",tag:"POPULAR",color:aJ.green},{id:"1month",name:"1 MONTH",desc:"Full access to all features and data",price:"$49",tag:null,color:aJ.orange},{id:"3month",name:"3 MONTHS",desc:"Save 20% \u2014 best value",price:"$119",tag:"SAVE 20%",color:aJ.cyan}],SJ=[{id:"standard",name:"STANDARD",price:"$29",period:"/month",desc:"Core features \xb7 Limited asset set",color:aJ.blue,checkout_url:"https://nowpayments.io/payment/"},{id:"pro",name:"PRO",price:"$59",period:"/month",desc:"All features \xb7 All assets \xb7 All data tiers",color:aJ.orange,checkout_url:"https://nowpayments.io/payment/"}];function jJ(e){if(!e)return null;try{const t=new Date(e);if(isNaN(t.getTime()))return null;const n=new Date,r=t.getTime()-n.getTime();return Math.ceil(r/864e5)}catch{return null}}function kJ(e){if(!e)return"\u2014";try{const t=new Date(e);return isNaN(t.getTime())?"\u2014":t.toISOString().slice(0,10)}catch{return"\u2014"}}function _J(e,t){if(!e)return{label:"\u2014",color:t.muted,daysRemaining:null,expiresAt:"\u2014",canContinue:!1};const n=(e.subscription_status||"").toLowerCase();if(!!e.is_whitelist)return{label:"PARTNER ACCESS",color:t.cyan,daysRemaining:null,expiresAt:"\u2014",canContinue:!0};if("trial"===n){const n=jJ(e.trial_expires_at),r=null===n||n>0;return{label:"TRIAL",color:t.amber,daysRemaining:n,expiresAt:kJ(e.trial_expires_at),canContinue:r}}if("active"===n){const n=jJ(e.subscription_expires_at),r=null===n||n>0;return{label:e.subscription_type?`ACTIVE ${e.subscription_type.toUpperCase()}`:"ACTIVE",color:t.green,daysRemaining:n,expiresAt:kJ(e.subscription_expires_at),canContinue:r}}return"expired"===n||"trial_expired"===n||"subscription_expired"===n?{label:"EXPIRED",color:t.red,daysRemaining:null,expiresAt:kJ(e.subscription_expires_at||e.trial_expires_at),canContinue:!1}:{label:n.toUpperCase()||"UNKNOWN",color:t.muted,daysRemaining:null,expiresAt:"\u2014",canContinue:!1}}function EJ(e){let{onAuthenticated:n,initialAuthStatus:r=1}=e;const[i,o]=(0,t.useState)("loading"), [l,s]=(0,t.useState)(!1),[a,c]=(0,t.useState)(""),d=gv(),[u,h]=(0,t.useState)(!1),[p,f]=(0,t.useState)(0);(0,t.useEffect)(()=>{if(p>0)try{window.dispatchEvent(new CustomEvent("mk:open-updater"))}catch{}},[p]);const[g,m]=(0,t.useState)(uJ),[y,v]=(0,t.useState)(hJ),[x,b]=(0,t.useState)(!!uJ()),[w,S]=(0,t.useState)(""),[j,k]=(0,t.useState)(""),[_,E]=(0,t.useState)(""),[C,T]=(0,t.useState)(""),[M,O]=(0,t.useState)(null),[A,P]=(0,t.useState)(""),[I,D]=(0,t.useState)(""),[L,R]=(0,t.useState)(null),[z,N]=(0,t.useState)(null),[F,$]=(0,t.useState)(null),[W,B]=(0,t.useState)(!1),[U,H]=(0,t.useState)(null),[V,Y]=(0,t.useState)(!1),[G,K]=(0,t.useState)(!1),[q,X]=(0,t.useState)(""),[J,Q]=(0,t.useState)(""),[Z,ee]=(0,t.useState)(""),[te,ne]=(0,t.useState)(""),[re,ie]=(0,t.useState)(null),[oe,le]=(0,t.useState)(SJ),[se,ae]=(0,t.useState)(null),[ce,de]=(0,t.useState)(""),[ue,he]=(0,t.useState)(""),[pe,fe]=(0,t.useState)(!1),[ge,me]=(0,t.useState)(0),[ye,ve]=(0,t.useState)(""),xe=function(e){const[n,r]=(0,t.useState)(e),[i,o]=(0,t.useState)(!1);(0,t.useEffect)(()=>{if(!i||n<=0)return;const e=setInterval(()=>{r(e=>e<=1?(o(!1),0):e-1)},1e3);return()=>clearInterval(e)},[i,n]);const l=(0,t.useCallback)(t=>{r(t||e),o(!0)},[e]),s=String(Math.floor(n/60)).padStart(2,"0"),a=String(n%60).padStart(2,"0");return{remaining:n,active:i,start:l,display:`${s}:${a}`}}(900),[be,we]=(0,t.useState)({});(0,t.useEffect)(()=>{de(""),he(""),s(!1)},[i]),(0,t.useEffect)(()=>{r&&"ok"===r.status&&r.user_email&&(ie({user_email:r.user_email,subscription_status:r.subscription_status||"unknown",subscription_expires_at:r.subscription_expires_at||"",trial_expires_at:r.trial_expires_at||"",subscription_type:r.subscription_type||null,is_whitelist:r.is_whitelist||!1}),o("account_page"))},[]),(0,t.useEffect)(()=>{if("account_page"!==i)return;let e=!1;return(async()=>{try{const{data:t,ok:n}=await dJ("GET","/api/auth/checkout-urls");if(e)return;if(!n||!t||!Array.isArray(t.packages))return;const r={};for(const e of t.packages)e&&e.id&&e.checkout_url&&(r[e.id]=e.checkout_url);if(0===Object.keys(r).length)return;le(e=>e.map(e=>({...e,checkout_url:r[e.id]||e.checkout_url})))}catch{}})(),()=>{e=!0}},[i]);const Se=async()=>{var e,t;if(de(""),s(!1),!g.trim())return de("Enter your email address.");if(!y)return de("Enter your password.");fe(!0);const{data:n,status:r}=await dJ("POST","/api/auth/login",{email:g.trim(),password:y});if(fe(!1),!n)return de("Cannot reach server. Check your internet connection and try again.");const i=200===r||201===r?n.status||"ok":(null===(e=n.detail)||void 0===e?void 0:e.error)||n.error||"server_error",l=(null===(t=n.detail)||void 0===t?void 0:t.message)||n.message||"",a=n.detail||n;return"ok"===i?(x?function(e,t){try{localStorage.setItem("mk_saved_email",e),localStorage.setItem("mk_saved_pass",t)}catch{}}(g.trim(),y):pJ(),ie({user_email:n.user_email||g.trim(),subscription_status:n.subscription_status||"unknown",subscription_expires_at:n.subscription_expires_at||"",trial_expires_at:n.trial_expires_at||"",subscription_type:n.subscription_type||null,is_whitelist:n.is_whitelist||!1,_subscribeUrls:{standard:n.subscribe_url_standard||"",pro:n.subscribe_url_pro||"",single:n.subscribe_url||""},_renewUrls:{standard:n.renew_url_standard||"",pro:n.renew_url_pro||""}}),void o("account_page")):"invalid_credentials"===i||"auth_required"===i?de(l||"Email or password incorrect."):"not_verified"===i?(s(!0),de(l||"Your email is not verified yet. Click VERIFY EMAIL NOW to receive a fresh code.")):"trial_expired"===i||"subscription_expired"===i||"trial_device_used"===i?(ie({user_email:g.trim(),subscription_status:"expired",subscription_expires_at:a.subscription_expires_at||"",trial_expires_at:a.trial_expires_at||"",subscription_type:a.subscription_type||null,is_whitelist:!1,_blockReason:i,_blockMessage:l,_subscribeUrls:{standard:a.subscribe_url_standard||"",pro:a.subscribe_url_pro||"",single:a.subscribe_url||""},_renewUrls:{standard:a.renew_url_standard||"",pro:a.renew_url_pro||""}}),o("account_page")):"device_limit"===i?(we({title:"DEVICE LIMIT REACHED",message:l||"You exceeded the device limit for this account. Please use a registered device.",icon:"\u2298",action:null}),o("error")):"beta_restricted"===i?(we({title:"ACCESS NOT AUTHORIZED",message:l||"Your account is not authorized to access this terminal. Please contact MK.TRADES support.",icon:"\u2298",action:null}),o("error")):"server_error"===i?de(l||"Server error. Please try again later."):void de(l||`Login failed (${i}).`)},je=async()=>{const e=a.trim();if(!e)return de("Enter your email address.");de(""),fe(!0);try{await dJ("POST","/api/auth/resend-otp",{email:e})}catch{}fe(!1),S(e),k(""),P(""),he("If this email is registered and unverified, a code is on its way. Check your inbox."),xe.start(900),o("otp")},ke=async()=>{var e,t;if(de(""),O(null),!w.trim())return de("Enter your email address.");if(!j)return de("Enter a password.");if(j.length<8)return de("Password must be at least 8 characters.");if(j!==_)return de("Passwords do not match.");fe(!0);const n={email:w.trim(),password:j};C.trim()&&(n.referral_code=C.trim());const{data:r,status:i}=await dJ("POST","/api/auth/register",n);if(fe(!1),!r)return de("Cannot reach server. Check your internet connection.");if("ok"===r.status||201===i)return he(r.message||"Verification code sent to your email."),xe.start(900),void o("otp");const l=(null===r||void 0===r?void 0:r.error)||(null===r||void 0===r||null===(e=r.detail)||void 0===e?void 0:e.error),s=(null===r||void 0===r||null===(t=r.detail)||void 0===t?void 0:t.message)||(null===r||void 0===r?void 0:r.message),a={referral_invalid:"That referral code doesn't exist or isn't active.",referral_expired:"This referral code has expired.",referral_not_yet_valid:"This referral code isn't active yet.",referral_max_uses_reached:"This referral code has reached its usage limit.",referral_wrong_type:"This code can't be used at registration (it's for discounts, not signup)."};return l&&a[l]?O({code:l,message:a[l]}):429===i||"trial_already_used"===l?de(s||"This computer has already used its free trial. If you believe this is in error or you are using a new computer, contact support@mkterminal.xyz."):422===i||"fingerprint_malformed"===l?de("Registration error. Please try again."):409===i?de("An account with this email already exists. Try signing in instead."):void de(s||"Registration failed. Please try again.")},_e=e=>{if(!e)return null;let t=e.package?{...e.package}:{...e};var n;Array.isArray(t.plans)||(Array.isArray(e.plans)?t.plans=e.plans:Array.isArray(null===(n=e.package)||void 0===n?void 0:n.plans)?t.plans=e.package.plans:t.plans=[]);return t},Ee=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";const n=(e.tier||e.code||"").toUpperCase(),r=n.includes("PRO")?aJ.orange:n.includes("STANDARD")?aJ.blue:n.includes("TRIAL")?aJ.green:aJ.gray,i=e.duration_days||30,o=i>=330?"/year":i>=85?"/3 months":i>=25?"/month":` / ${i}d`;return{id:e.tier&&String(e.tier).toLowerCase()||e.code||`plan_${e.id}`,name:e.display_name||n||"PLAN",price:null!=e.list_price_usd?`$${Number(e.list_price_usd).toFixed(0)}`:"",period:o,desc:e.description||t||"",color:r,nowpayments_plan_id:e.nowpayments_plan_id||null,plan_code:e.code||null,plan_id:null!=e.id?e.id:null,tier:e.tier||null,_raw:e}},Ce=null!==z&&void 0!==z&&null!==(Te=z.plans)&&void 0!==Te&&Te.length?z.plans.map(e=>Ee(e,z.description)):null!==U&&void 0!==U&&null!==(Me=U.plans)&&void 0!==Me&&Me.length?U.plans.map(e=>Ee(e,U.description)):V||!G?null:SJ;var Te,Me;(0,t.useEffect)(()=>{if("account_page"!==i&&"subscribe"!==i)return;if(U||G)return;let e=!1;return Y(!0),fetch("/api/auth/billing/packages/default").then(e=>e.ok?e.json():null).then(t=>{if(!e&&t){const e=_e(t);e&&Array.isArray(e.plans)&&e.plans.length>0&&H(e)}}).catch(()=>{}).finally(()=>{e||(Y(!1),K(!0))}),()=>{e=!0}},[i,U,G]);const Oe={invalid_code:"This code doesn't exist.",inactive_code:"This code is no longer active.",expired_code:"This code has expired.",not_yet_valid:"This code isn't active yet.",max_uses_reached:"This code has reached its usage limit.",registration_code_not_applicable_at_checkout:"This code is for registration only, not checkout.",affiliate_mismatch:"This code is for a specific affiliate's customers. Your account isn't linked to that affiliate.",affiliate_promo_active:"Your affiliate has an active promo. Please use your affiliate's code instead of a global one.",code_has_no_package:"This code's package isn't available.",package_unavailable:"This code's package isn't available right now.",user_not_found:"Please sign in before applying a code."},Ae=async()=>{const e=I.trim();if(!e)return void $("Enter a code first.");const t=((null===re||void 0===re?void 0:re.user_email)||g||w||"").trim();if(!t)return void $("Sign in before applying a discount code.");B(!0),$(null);const{data:n,status:r}=await dJ("POST",`/api/auth/billing/apply-code?user_email=${encodeURIComponent(t)}`,{code:e});if(B(!1),200===r&&(null!==n&&void 0!==n&&n.package||Array.isArray(null===n||void 0===n?void 0:n.plans)))return R(n.code),void N(_e(n));const i=null===n||void 0===n?void 0:n.detail,o="string"===typeof i?i:i&&i.error||(null===n||void 0===n?void 0:n.error);$(Oe[o]||(null===n||void 0===n?void 0:n.message)||`Couldn't apply code (${r}).`)},Pe=()=>{D(""),R(null),N(null),$(null)},Ie=async()=>{if(de(""),6!==A.length)return de("Enter the full 6-digit code.");fe(!0);const{data:e,status:t}=await dJ("POST","/api/auth/verify-otp",{email:w.trim(),otp:A});return fe(!1),e?"ok"===e.status||200===t?(he("Account verified! You can now sign in."),m(w.trim()),v(j),void setTimeout(()=>o("login"),1500)):void de(e.message||"Invalid or expired code. Please try again."):de("Cannot reach server.")},De=(0,t.useCallback)(()=>{o("loading"),me(0),ve("Validating session...");const e=[{pct:15,label:"Authenticating...",delay:300},{pct:30,label:"Connecting to server...",delay:600},{pct:45,label:"Syncing market data...",delay:200}];let t=0;const n=()=>{t<e.length?(me(e[t].pct),ve(e[t].label),t++,setTimeout(n,e[t-1].delay)):Le()};setTimeout(n,200)},[]),Le=async()=>{ve("Checking cache..."),me(50);const{data:e}=await dJ("GET","/api/consumer/status");dJ("POST","/api/sync/refresh").catch(()=>{}),ve("Verifying data version...");const t=Date.now()+5e3;let r=!1;for(;Date.now()<t;){const{data:e}=await dJ("GET","/api/sync/status");if(!1===(null===e||void 0===e?void 0:e.format_version_ok)){r=!0;break}if(e&&!1!==e.format_version_ok&&e.last_synced_at)break;await new Promise(e=>setTimeout(e,500))}if(r){}/* */me(100),ve("Ready"),await new Promise(e=>setTimeout(e,250)),n&&n(e)},Re=async()=>{if(de(""),!q.trim())return de("Enter your email address.");fe(!0);const{data:e}=await dJ("POST","/api/auth/forgot-password",{email:q.trim()});if(fe(!1),!e)return de("Cannot reach server. Check your internet connection.");he("If an account exists for that email, a 6-digit code has been sent."),o("otp_reset")},ze=async()=>{if(de(""),6!==J.length)return de("Enter the 6-digit code.");if(!Z)return de("Enter a new password.");if(Z.length<8)return de("Password must be at least 8 characters.");if(Z!==te)return de("Passwords do not match.");fe(!0);const{data:e}=await dJ("POST","/api/auth/reset-password",{email:q.trim(),otp:J,new_password:Z});return fe(!1),e?"ok"===e.status?(Q(""),ee(""),ne(""),he("Password updated. Please sign in with your new password."),m(q.trim()),void o("login")):"invalid_otp"===e.status?(Q(""),de(e.message||"Invalid or expired code.")):de(e.message||"Password reset failed."):de("Cannot reach server. Check your internet connection.")},Ne=()=>{De()},Fe=async()=>{fe(!0);try{await dJ("POST","/api/auth/logout")}catch{}fe(!1),ie(null),v(""),pJ(),o("login")};return(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsxs)("div",{onKeyDown:e=>{if("Enter"===e.key&&("login"===i&&Se(),"register"===i&&ke(),"otp"===i&&Ie(),"forgot_pw"===i&&Re(),"otp_reset"===i&&ze(),"recovery_send"===i&&je(),"account_page"===i)){_J(re,aJ).canContinue&&Ne()}},style:{position:"fixed",top:0,left:0,right:0,bottom:0,background:aJ.bg,zIndex:99999,display:"flex",alignItems:"center",justifyContent:"center",fontFamily:cJ},children:[(0,Hg.jsx)("div",{style:{position:"absolute",inset:0,opacity:.03,backgroundImage:`\n linear-gradient(${aJ.orange} 1px, transparent 1px),\n linear-gradient(90deg, ${aJ.orange} 1px, transparent 1px)\n `,backgroundSize:"40px 40px",pointerEvents:"none"}}),(0,Hg.jsxs)("div",{style:{position:"relative",width:380,maxWidth:"90vw",background:aJ.bgPanel,border:`1px solid ${aJ.border}`,padding:0,boxShadow:`0 0 80px ${aJ.orange}08`},children:[(0,Hg.jsxs)("div",{style:{background:aJ.bg,borderBottom:`1px solid ${aJ.border}`,padding:"12px 20px",display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,Hg.jsxs)("div",{children:[(0,Hg.jsx)("span",{style:{color:aJ.orange,fontSize:13,fontWeight:700,letterSpacing:"2px"},children:"MK.TRADES"}),(0,Hg.jsx)("span",{style:{color:aJ.muted,fontSize:9,marginLeft:8,letterSpacing:"1px"},children:"TERMINAL"})]}),(0,Hg.jsx)("span",{style:{color:aJ.muted,fontSize:8,letterSpacing:"1px"},children:"loading"===i?"LOADING":"error"===i?"ERROR":"otp"===i?"VERIFY":"subscribe"===i?"PLANS":"register"===i?"REGISTER":"forgot_pw"===i||"otp_reset"===i?"RESET":"recovery_send"===i?"VERIFY":"account_page"===i?"ACCOUNT":"v1.0"})]}),(0,Hg.jsxs)("div",{style:{padding:"20px 24px"},children:["login"===i&&(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("div",{style:{fontSize:8,color:aJ.muted,letterSpacing:"2px",fontWeight:700,marginBottom:16,textTransform:"uppercase"},children:"SIGN IN TO YOUR ACCOUNT"}),(0,Hg.jsx)(mJ,{message:ce}),(0,Hg.jsx)(yJ,{message:ue}),l&&(0,Hg.jsx)("div",{style:{marginBottom:12},children:(0,Hg.jsx)(gJ,{primary:!0,onClick:async()=>{if(!g.trim())return de("Enter your email above first.");de(""),s(!1),fe(!0);try{await dJ("POST","/api/auth/resend-otp",{email:g.trim()})}catch{}fe(!1),S(g.trim()),k(y),P(""),he("If this email is registered and unverified, a code is on its way. Check your inbox."),xe.start(900),o("otp")},disabled:pe,children:pe?"SENDING CODE...":"VERIFY EMAIL NOW"})}),(0,Hg.jsx)(fJ,{label:"Email",type:"email",value:g,onChange:m,placeholder:"your@email.com",disabled:pe,autoFocus:!0}),(0,Hg.jsx)(fJ,{label:"Password",type:"password",value:y,onChange:v,placeholder:"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022",disabled:pe}),(0,Hg.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:8,fontSize:9,color:aJ.gray,cursor:"pointer",marginBottom:16,userSelect:"none"},children:[(0,Hg.jsx)("div",{onClick:()=>b(!x),style:{width:14,height:14,border:`1px solid ${x?aJ.orange:aJ.border}`,background:x?`${aJ.orange}25`:"transparent",display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer",flexShrink:0},children:x&&(0,Hg.jsx)("span",{style:{color:aJ.orange,fontSize:10,lineHeight:1},children:"\u2713"})}),(0,Hg.jsx)("span",{onClick:()=>b(!x),children:"Remember me"})]}),(0,Hg.jsx)(gJ,{primary:!0,onClick:Se,disabled:pe,children:pe?"SIGNING IN...":"SIGN IN"}),(0,Hg.jsx)("div",{style:{marginTop:12,textAlign:"center"},children:(0,Hg.jsx)("span",{onClick:pe?void 0:()=>{X(g),o("forgot_pw")},style:{fontSize:9,color:aJ.orange,cursor:pe?"default":"pointer",textDecoration:"underline",opacity:pe?.5:1},children:"Forgot password?"})}),(0,Hg.jsx)("div",{style:{marginTop:8,textAlign:"center"},children:(0,Hg.jsx)("span",{onClick:pe?void 0:()=>{c(g),o("recovery_send")},style:{fontSize:9,color:aJ.gray,cursor:pe?"default":"pointer",textDecoration:"underline",opacity:pe?.5:1},children:"Didn't get your verification email?"})}),(0,Hg.jsx)(vJ,{}),(0,Hg.jsx)(gJ,{small:!0,onClick:()=>o("register"),children:"CREATE ACCOUNT"})]}),"recovery_send"===i&&(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("div",{style:{fontSize:8,color:aJ.muted,letterSpacing:"2px",fontWeight:700,marginBottom:8,textTransform:"uppercase"},children:"VERIFY YOUR EMAIL"}),(0,Hg.jsx)("div",{style:{fontSize:10,color:aJ.gray,marginBottom:16,lineHeight:1.5},children:"Enter the email you registered with. If your account exists and hasn't been verified yet, we'll send you a fresh 6-digit code."}),(0,Hg.jsx)(mJ,{message:ce}),(0,Hg.jsx)(fJ,{label:"Email",type:"email",value:a,onChange:c,placeholder:"your@email.com",disabled:pe,autoFocus:!0}),(0,Hg.jsx)(gJ,{primary:!0,onClick:je,disabled:pe,children:pe?"SENDING...":"SEND VERIFICATION CODE"}),(0,Hg.jsx)(vJ,{}),(0,Hg.jsx)(gJ,{small:!0,color:aJ.gray,onClick:()=>o("login"),children:"\u2190 BACK TO SIGN IN"})]}),"account_page"===i&&(()=>{const e=_J(re,aJ),t=null===e.daysRemaining?null:e.daysRemaining>0?`${e.daysRemaining} DAY${1===e.daysRemaining?"":"S"} REMAINING`:0===e.daysRemaining?"EXPIRES TODAY":`EXPIRED ${Math.abs(e.daysRemaining)} DAY${1===Math.abs(e.daysRemaining)?"":"S"} AGO`;return(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("div",{style:{fontSize:8,color:aJ.muted,letterSpacing:"2px",fontWeight:700,marginBottom:16,textTransform:"uppercase"},children:"YOUR ACCOUNT"}),(0,Hg.jsx)(mJ,{message:ce}),(0,Hg.jsxs)("div",{style:{padding:"12px 14px",marginBottom:16,background:aJ.bgCard,border:`1px solid ${aJ.border}`,fontFamily:cJ},children:[(0,Hg.jsx)("div",{style:{fontSize:8,color:aJ.muted,letterSpacing:"1px",marginBottom:4},children:"EMAIL"}),(0,Hg.jsx)("div",{style:{fontSize:11,color:aJ.white,marginBottom:12,wordBreak:"break-all"},children:(null===re||void 0===re?void 0:re.user_email)||"\u2014"}),(0,Hg.jsx)("div",{style:{fontSize:8,color:aJ.muted,letterSpacing:"1px",marginBottom:4},children:"STATUS"}),(0,Hg.jsxs)("div",{style:{display:"inline-block",padding:"3px 10px",background:`${e.color}20`,border:`1px solid ${e.color}60`,color:e.color,fontSize:10,fontWeight:700,letterSpacing:"1.5px",marginBottom:12},children:["\u25cf ",e.label]}),t&&(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("div",{style:{fontSize:8,color:aJ.muted,letterSpacing:"1px",marginBottom:4},children:"VALIDITY"}),(0,Hg.jsx)("div",{style:{fontSize:10,color:e.daysRemaining>7?aJ.white:e.daysRemaining>0?aJ.amber:aJ.red,marginBottom:4},children:t}),(0,Hg.jsxs)("div",{style:{fontSize:9,color:aJ.gray},children:["Expires: ",e.expiresAt]})]})]}),(0,Hg.jsx)(gJ,{primary:!0,onClick:Ne,disabled:!e.canContinue||pe,children:pe?"LOADING...":e.canContinue?"\u25b6 CONTINUE TO TERMINAL":"ACCESS EXPIRED"}),!e.canContinue&&(0,Hg.jsx)("div",{style:{fontSize:9,color:aJ.red,marginTop:8,marginBottom:4,textAlign:"center",lineHeight:1.4},children:"Subscribe below to regain access."}),(null===re||void 0===re?void 0:re._blockReason)&&(()=>{const e=re._blockReason,t=re._subscribeUrls||{},n=re._renewUrls||{},r=e=>{e&&window.open(e,"_blank","noopener,noreferrer")},i="trial_expired"===e?"TRIAL ENDED":"subscription_expired"===e?"SUBSCRIPTION EXPIRED":"trial_device_used"===e?"TRIAL ALREADY USED ON THIS DEVICE":"ACCESS BLOCKED",o="trial_expired"===e?"Choose a subscription tier to continue.":"subscription_expired"===e?"Renew your subscription to continue.":"trial_device_used"===e?"This device has already used a trial under another account. Subscribe to continue.":"Subscribe to continue.",l=!t.standard&&!t.pro&&!t.single&&!n.standard;return(0,Hg.jsxs)("div",{style:{padding:"14px 14px",marginTop:12,marginBottom:16,background:`${aJ.amber}10`,border:`1px solid ${aJ.amber}55`},children:[(0,Hg.jsx)("div",{style:{fontSize:10,color:aJ.amber,letterSpacing:"2px",fontWeight:700,marginBottom:8,textTransform:"uppercase"},children:i}),(0,Hg.jsx)("div",{style:{fontSize:10,color:aJ.gray,lineHeight:1.5,marginBottom:14},children:re._blockMessage||o}),"trial_expired"===e&&(0,Hg.jsxs)(Hg.Fragment,{children:[t.standard&&(0,Hg.jsx)("div",{style:{marginBottom:8},children:(0,Hg.jsx)(gJ,{primary:!0,onClick:()=>r(t.standard),children:"\u25b6 SUBSCRIBE \u2014 STANDARD"})}),t.pro&&(0,Hg.jsx)("div",{children:(0,Hg.jsx)(gJ,{color:aJ.cyan,onClick:()=>r(t.pro),children:"\u25b6 SUBSCRIBE \u2014 PRO"})})]}),"subscription_expired"===e&&n.standard&&(0,Hg.jsx)(gJ,{primary:!0,onClick:()=>r(n.standard),children:"\u25b6 RENEW SUBSCRIPTION"}),"trial_device_used"===e&&t.single&&(0,Hg.jsx)(gJ,{primary:!0,onClick:()=>r(t.single),children:"\u25b6 SUBSCRIBE NOW"}),l&&(0,Hg.jsxs)("div",{style:{fontSize:9,color:aJ.red,lineHeight:1.4},children:["Could not load subscription options.",(0,Hg.jsx)("br",{}),"Please contact support@mkterminal.xyz."]}),(0,Hg.jsxs)("div",{style:{fontSize:8,color:aJ.muted,marginTop:12,textAlign:"center",lineHeight:1.4},children:["Checkout opens in your browser.",(0,Hg.jsx)("br",{}),"Your account activates automatically after payment."]})]})})(),(0,Hg.jsx)(vJ,{}),!(null!==re&&void 0!==re&&re._blockReason)&&(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("div",{style:{fontSize:8,color:aJ.muted,letterSpacing:"2px",fontWeight:700,marginBottom:6,textTransform:"uppercase"},children:"DISCOUNT CODE"}),z?(0,Hg.jsxs)("div",{style:{padding:"8px 12px",marginBottom:10,background:`${aJ.green}12`,border:`1px solid ${aJ.green}55`,display:"flex",alignItems:"center",justifyContent:"space-between",fontFamily:cJ},children:[(0,Hg.jsxs)("div",{children:[(0,Hg.jsxs)("div",{style:{fontSize:9,color:aJ.green,fontWeight:700,letterSpacing:"1.5px"},children:["APPLIED: ",(null===L||void 0===L?void 0:L.code)||I]}),(0,Hg.jsxs)("div",{style:{fontSize:8,color:aJ.gray,marginTop:2},children:["Package: ",z.display_name||z.code,null!==L&&void 0!==L&&L.valid_until?` \xb7 expires ${String(L.valid_until).slice(0,10)}`:""]})]}),(0,Hg.jsx)("button",{onClick:Pe,style:{background:"transparent",border:`1px solid ${aJ.border}`,color:aJ.gray,padding:"4px 10px",fontSize:9,fontWeight:700,fontFamily:cJ,letterSpacing:"1px",cursor:"pointer"},children:"RESET"})]}):(0,Hg.jsxs)("div",{style:{display:"flex",gap:6,marginBottom:10},children:[(0,Hg.jsx)("input",{value:I,onChange:e=>{D(e.target.value),F&&$(null)},placeholder:"Enter code",disabled:W,style:{flex:1,background:aJ.bgCard,border:`1px solid ${aJ.border}`,color:aJ.white,padding:"6px 10px",fontSize:10,fontFamily:cJ,letterSpacing:"1.5px",outline:"none"},onKeyDown:e=>{"Enter"===e.key&&Ae()}}),(0,Hg.jsx)("button",{onClick:Ae,disabled:W||!I.trim(),style:{background:`${aJ.amber}18`,border:`1px solid ${aJ.amber}55`,color:aJ.amber,padding:"6px 14px",fontSize:10,fontWeight:700,fontFamily:cJ,letterSpacing:"1.5px",cursor:W||!I.trim()?"default":"pointer",opacity:W||!I.trim()?.5:1},children:W?"...":"APPLY"})]}),F&&(0,Hg.jsxs)("div",{style:{padding:"6px 10px",marginBottom:10,background:`${aJ.red}12`,border:`1px solid ${aJ.red}55`,fontSize:9,color:aJ.red,lineHeight:1.4,fontFamily:cJ},children:["\u2718 ",F]}),(0,Hg.jsx)("div",{style:{fontSize:8,color:aJ.muted,letterSpacing:"2px",fontWeight:700,marginBottom:10,textTransform:"uppercase"},children:z?"DISCOUNT PLANS":"SUBSCRIPTION PLANS"}),null===Ce&&(0,Hg.jsx)("div",{style:{padding:"20px 12px",marginBottom:8,textAlign:"center",background:aJ.bgCard,border:`1px solid ${aJ.border}`,color:aJ.muted,fontSize:10,fontFamily:cJ,letterSpacing:"1.5px"},children:"LOADING PLANS\u2026"}),Ce&&Ce.map(e=>(0,Hg.jsxs)("div",{style:{padding:"10px 12px",marginBottom:8,background:aJ.bgCard,border:`1px solid ${e.color}40`,fontFamily:cJ},children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"baseline",justifyContent:"space-between",marginBottom:4},children:[(0,Hg.jsx)("span",{style:{fontSize:11,fontWeight:700,color:e.color,letterSpacing:"1.5px"},children:e.name}),(0,Hg.jsxs)("span",{style:{fontSize:11,fontWeight:700,color:aJ.white},children:[e.price,(0,Hg.jsx)("span",{style:{fontSize:8,color:aJ.muted},children:e.period})]})]}),(0,Hg.jsx)("div",{style:{fontSize:9,color:aJ.gray,marginBottom:8,lineHeight:1.4},children:e.desc}),(0,Hg.jsx)(gJ,{small:!0,color:e.color,onClick:()=>(async e=>{var t,n;if(!e||!e.id)return;if(se)return;ae(e.id),de("");const r=(e.tier?String(e.tier):String(e.id||"")).toLowerCase(),i="standard"===r&&(null===re||void 0===re||null===(t=re._subscribeUrls)||void 0===t?void 0:t.standard)||"pro"===r&&(null===re||void 0===re||null===(n=re._subscribeUrls)||void 0===n?void 0:n.pro)||"";if(i){try{window.open(i,"_blank","noopener,noreferrer")}catch{de("Could not open browser window. Please check pop-up settings.")}ae(null)}else try{const t={};e.plan_code&&(t.plan_code=e.plan_code),null!=e.plan_id&&(t.plan_id=e.plan_id),t.plan=e.tier?String(e.tier).toLowerCase():e.id;const{data:n,ok:r}=await dJ("POST","/api/auth/create-payment-link",t);if(!r||!n)return void de("Cannot reach server. Please try again in a moment.");if("ok"===n.status&&n.invoice_url){try{const t=e.price?Number(String(e.price).replace(/[^0-9.]/g,"")):null;t&&n.price_usd&&Math.abs(t-n.price_usd)>.01&&console.warn(`[subscribe] price mismatch: UI showed $${t}, server returned $${n.price_usd}`)}catch{}try{window.open(n.invoice_url,"_blank","noopener,noreferrer")}catch{de("Could not open browser window. Please check pop-up settings.")}return}const i={no_active_plan:"This plan isn't available right now. Please contact support@mkterminal.xyz.",payment_unavailable:"Payment system temporarily unavailable. Try again in a moment.",stage_invoice_failed:"Couldn't prepare your payment. Please retry."},o=n.error;if(o&&i[o])return void de(i[o]);de(n.message||"Could not generate payment link. Please try again.")}catch(sd){de("Network error generating payment link. Please try again.")}finally{ae(null)}})(e),disabled:null!==se,children:se===e.id?"GENERATING LINK...":"SUBSCRIBE"})]},e.id)),(0,Hg.jsxs)("div",{style:{fontSize:8,color:aJ.muted,marginTop:4,marginBottom:12,textAlign:"center",lineHeight:1.4},children:["Checkout opens in your browser.",(0,Hg.jsx)("br",{}),"Your account will update automatically."]})]}),(0,Hg.jsx)(vJ,{}),(0,Hg.jsx)(gJ,{small:!0,color:aJ.gray,onClick:Fe,disabled:pe,children:pe?"...":"SIGN OUT"})]})})(),"register"===i&&(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("div",{style:{fontSize:8,color:aJ.muted,letterSpacing:"2px",fontWeight:700,marginBottom:16,textTransform:"uppercase"},children:"CREATE YOUR ACCOUNT"}),(0,Hg.jsx)(mJ,{message:ce}),(0,Hg.jsx)(fJ,{label:"Email",type:"email",value:w,onChange:S,placeholder:"your@email.com",disabled:pe,autoFocus:!0}),(0,Hg.jsx)(fJ,{label:"Password",type:"password",value:j,onChange:k,placeholder:"Min. 8 characters",disabled:pe}),(0,Hg.jsx)(fJ,{label:"Confirm Password",type:"password",value:_,onChange:E,placeholder:"Re-enter password",disabled:pe}),j&&_&&j!==_&&(0,Hg.jsx)("div",{style:{fontSize:9,color:aJ.red,marginBottom:8},children:"Passwords do not match"}),(0,Hg.jsx)(fJ,{label:"Referral Code (optional)",type:"text",value:C,onChange:e=>{T(e),M&&O(null)},placeholder:"Leave blank if none",disabled:pe}),M&&(0,Hg.jsxs)("div",{style:{background:`${aJ.red}12`,border:`1px solid ${aJ.red}55`,padding:"10px 12px",marginBottom:12,borderRadius:2},children:[(0,Hg.jsx)("div",{style:{fontSize:10,color:aJ.red,fontWeight:700,marginBottom:8},children:M.message}),(0,Hg.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,Hg.jsx)("button",{onClick:()=>{O(null)},style:{flex:1,background:"transparent",border:`1px solid ${aJ.borderLt||"#333"}`,color:aJ.white,padding:"5px 10px",fontSize:9,fontWeight:700,fontFamily:cJ,letterSpacing:"1px",cursor:"pointer"},children:"CHANGE CODE"}),(0,Hg.jsx)("button",{onClick:()=>{O(null),T(""),setTimeout(ke,0)},disabled:pe,style:{flex:1,background:`${aJ.amber}18`,border:`1px solid ${aJ.amber}55`,color:aJ.amber,padding:"5px 10px",fontSize:9,fontWeight:700,fontFamily:cJ,letterSpacing:"1px",cursor:"pointer"},children:"REGISTER WITHOUT CODE"})]})]}),(0,Hg.jsx)(gJ,{primary:!0,onClick:ke,disabled:pe,children:pe?"CREATING...":"REGISTER"}),(0,Hg.jsx)(vJ,{}),(0,Hg.jsx)(gJ,{small:!0,onClick:()=>o("login"),color:aJ.gray,children:"\u2190 BACK TO SIGN IN"})]}),"otp"===i&&(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("div",{style:{fontSize:8,color:aJ.muted,letterSpacing:"2px",fontWeight:700,marginBottom:8,textTransform:"uppercase"},children:"VERIFY YOUR EMAIL"}),(0,Hg.jsxs)("div",{style:{fontSize:10,color:aJ.gray,marginBottom:16,lineHeight:1.5},children:["We sent a 6-digit code to"," ",(0,Hg.jsx)("span",{style:{color:aJ.orange},children:w})]}),(0,Hg.jsx)(mJ,{message:ce}),(0,Hg.jsx)(yJ,{message:ue}),(0,Hg.jsx)(xJ,{value:A,onChange:P,disabled:pe}),(0,Hg.jsx)("div",{style:{textAlign:"center",marginBottom:16,fontSize:10,fontFamily:cJ},children:xe.active?(0,Hg.jsxs)("span",{style:{color:aJ.gray},children:["Code expires in"," ",(0,Hg.jsx)("span",{style:{color:aJ.orange,fontVariantNumeric:"tabular-nums"},children:xe.display})]}):(0,Hg.jsx)("span",{style:{color:aJ.red},children:"Code expired"})}),(0,Hg.jsx)(gJ,{primary:!0,onClick:Ie,disabled:pe||6!==A.length,children:pe?"VERIFYING...":"VERIFY CODE"}),(0,Hg.jsx)("div",{style:{marginTop:12,textAlign:"center"},children:(0,Hg.jsx)("span",{onClick:pe?void 0:async()=>{de(""),fe(!0);const{data:e}=await dJ("POST","/api/auth/resend-otp",{email:w.trim()});fe(!1),"ok"===(null===e||void 0===e?void 0:e.status)||null!==e&&void 0!==e&&e.message?(he("New code sent to your email."),P(""),xe.start(900)):de("Failed to resend code. Try again.")},style:{fontSize:9,color:xe.active?aJ.muted:aJ.orange,cursor:xe.active?"default":"pointer",textDecoration:xe.active?"none":"underline"},children:xe.active?"Didn't receive it? Wait for timer":"Resend code"})}),(0,Hg.jsx)(vJ,{}),(0,Hg.jsx)(gJ,{small:!0,onClick:()=>o("register"),color:aJ.gray,children:"\u2190 BACK"})]}),"subscribe"===i&&(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("div",{style:{fontSize:8,color:aJ.muted,letterSpacing:"2px",fontWeight:700,marginBottom:16,textTransform:"uppercase"},children:"CHOOSE YOUR PLAN"}),(0,Hg.jsx)("div",{style:{background:`${aJ.amber}10`,border:`1px solid ${aJ.amber}30`,padding:"8px 12px",marginBottom:16,fontSize:9,color:aJ.amber,lineHeight:1.4},children:"BETA PROGRAM \u2014 Access is currently limited to beta testers. Plans below will activate once beta ends."}),wJ.map(e=>(0,Hg.jsxs)("div",{style:{background:aJ.bgCard,border:`1px solid ${aJ.border}`,padding:"12px 14px",marginBottom:8,display:"flex",alignItems:"center",justifyContent:"space-between",cursor:"pointer",transition:"border-color 0.2s"},onMouseEnter:t=>t.currentTarget.style.borderColor=e.color,onMouseLeave:e=>e.currentTarget.style.borderColor=aJ.border,children:[(0,Hg.jsxs)("div",{children:[(0,Hg.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,Hg.jsx)("span",{style:{color:e.color,fontSize:11,fontWeight:700,letterSpacing:"1px"},children:e.name}),e.tag&&(0,Hg.jsx)("span",{style:{fontSize:7,color:aJ.bg,background:e.color,padding:"1px 5px",fontWeight:700,letterSpacing:"0.5px"},children:e.tag})]}),(0,Hg.jsx)("div",{style:{fontSize:9,color:aJ.muted,marginTop:2},children:e.desc})]}),(0,Hg.jsx)("div",{style:{fontSize:16,fontWeight:700,color:e.color,fontVariantNumeric:"tabular-nums"},children:e.price})]},e.id)),(0,Hg.jsx)(vJ,{}),(0,Hg.jsx)(gJ,{small:!0,onClick:()=>o("login"),color:aJ.gray,children:"\u2190 BACK TO SIGN IN"})]}),"loading"===i&&(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("div",{style:{fontSize:8,color:aJ.muted,letterSpacing:"2px",fontWeight:700,marginBottom:20,textTransform:"uppercase"},children:"STARTING TERMINAL"}),(0,Hg.jsx)("div",{style:{marginBottom:24},children:(0,Hg.jsx)(bJ,{progress:ge,label:ye})}),(0,Hg.jsx)("div",{style:{textAlign:"center",fontSize:10,color:aJ.muted,letterSpacing:"4px"},children:ge<100?"\u25cf \u25cf \u25cf":""}),ce&&(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)(mJ,{message:ce}),(0,Hg.jsx)(gJ,{small:!0,onClick:()=>o("login"),color:aJ.gray,style:{marginTop:8},children:"\u2190 BACK TO SIGN IN"})]})]}),"forgot_pw"===i&&(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("div",{style:{fontSize:8,color:aJ.muted,letterSpacing:"2px",fontWeight:700,marginBottom:16,textTransform:"uppercase"},children:"RESET YOUR PASSWORD"}),(0,Hg.jsx)("div",{style:{fontSize:10,color:aJ.gray,marginBottom:16,lineHeight:1.5},children:"Enter your account email and we'll send you a 6-digit code to reset your password."}),(0,Hg.jsx)(mJ,{message:ce}),(0,Hg.jsx)(fJ,{label:"Email",type:"email",value:q,onChange:X,placeholder:"your@email.com",disabled:pe,autoFocus:!0}),(0,Hg.jsx)(gJ,{primary:!0,onClick:Re,disabled:pe,children:pe?"SENDING...":"SEND RESET CODE"}),(0,Hg.jsx)(vJ,{}),(0,Hg.jsx)(gJ,{small:!0,onClick:()=>o("login"),color:aJ.gray,children:"\u2190 BACK TO SIGN IN"})]}),"otp_reset"===i&&(0,Hg.jsxs)(Hg.Fragment,{children:[(0,Hg.jsx)("div",{style:{fontSize:8,color:aJ.muted,letterSpacing:"2px",fontWeight:700,marginBottom:8,textTransform:"uppercase"},children:"SET NEW PASSWORD"}),(0,Hg.jsxs)("div",{style:{fontSize:10,color:aJ.gray,marginBottom:16,lineHeight:1.5},children:["Enter the 6-digit code sent to"," ",(0,Hg.jsx)("span",{style:{color:aJ.orange},children:q})]}),(0,Hg.jsx)(mJ,{message:ce}),(0,Hg.jsx)(yJ,{message:ue}),(0,Hg.jsx)(xJ,{value:J,onChange:Q,disabled:pe}),(0,Hg.jsx)(fJ,{label:"New Password",type:"password",value:Z,onChange:ee,placeholder:"Min. 8 characters",disabled:pe}),(0,Hg.jsx)(fJ,{label:"Confirm New Password",type:"password",value:te,onChange:ne,placeholder:"Re-enter password",disabled:pe}),Z&&te&&Z!==te&&(0,Hg.jsx)("div",{style:{fontSize:9,color:aJ.red,marginBottom:8},children:"Passwords do not match"}),(0,Hg.jsx)(gJ,{primary:!0,onClick:ze,disabled:pe||6!==J.length,children:pe?"RESETTING...":"RESET PASSWORD"}),(0,Hg.jsx)(vJ,{}),(0,Hg.jsx)(gJ,{small:!0,onClick:()=>o("forgot_pw"),color:aJ.gray,children:"\u2190 BACK"})]}),"error"===i&&(0,Hg.jsx)(Hg.Fragment,{children:(0,Hg.jsxs)("div",{style:{textAlign:"center",padding:"8px 0"},children:[(0,Hg.jsx)("div",{style:{fontSize:36,color:aJ.red,marginBottom:12,opacity:.7},children:be.icon||"\u2715"}),(0,Hg.jsx)("div",{style:{fontSize:10,fontWeight:700,color:aJ.red,letterSpacing:"2px",marginBottom:8},children:be.title||"ERROR"}),(0,Hg.jsx)("div",{style:{fontSize:10,color:aJ.gray,lineHeight:1.5,marginBottom:20},children:be.message||"An error occurred."}),be.action&&(0,Hg.jsx)(gJ,{primary:!0,onClick:()=>{be.action.url&&window.open(be.action.url,"_blank")},style:{marginBottom:12},children:be.action.label}),(0,Hg.jsx)(gJ,{small:!0,onClick:()=>o("login"),color:aJ.gray,children:"\u2190 BACK TO SIGN IN"})]})})]}),d.updateAvailable&&(0,Hg.jsxs)("div",{style:{borderTop:`1px solid ${aJ.border}`,padding:"10px 20px",background:`${aJ.orange}10`,display:"flex",alignItems:"center",justifyContent:"space-between",gap:10},children:[(0,Hg.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:2,minWidth:0},children:[(0,Hg.jsxs)("span",{style:{color:aJ.orange,fontSize:9,fontWeight:700,letterSpacing:"1.5px"},children:["NEW VERSION AVAILABLE \u2192 v",d.latest]}),d.bannerMessage&&(0,Hg.jsx)("span",{style:{color:aJ.muted,fontSize:9,letterSpacing:"0.5px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:d.bannerMessage})]}),(0,Hg.jsx)("button",{onClick:()=>{h(!0),f(e=>e+1)},style:{background:aJ.orange,color:aJ.bg,border:"none",padding:"6px 12px",fontFamily:cJ,fontSize:9,fontWeight:700,letterSpacing:"1px",cursor:"pointer",whiteSpace:"nowrap"},children:"DOWNLOAD"})]}),(0,Hg.jsxs)("div",{style:{borderTop:`1px solid ${aJ.border}`,padding:"8px 20px",display:"flex",justifyContent:"space-between",fontSize:8,color:aJ.muted,letterSpacing:"0.5px"},children:[(0,Hg.jsx)("span",{children:"MK.TRADES \xa9 2026"}),(0,Hg.jsx)("span",{children:d.current?`v${d.current}`:"BETA BUILD"})]})]})]}),u&&(0,Hg.jsx)(DX,{current:d.current,latest:d.latest,downloadUrl:d.downloadUrl,bannerMessage:d.bannerMessage,telegramUrl:d.telegramUrl})]})}function CJ(){const[e,n]=(0,t.useState)(!1),[r,i]=(0,t.useState)(!0),[o,l]=(0,t.useState)(null);return(0,t.useEffect)(()=>{(async()=>{try{const e=await fetch("/api/auth/status");if(e.ok){const t=await e.json();"ok"===t.status&&t.user_email&&l(t)}}catch{}i(!1)})()},[]),r?null:e?(0,Hg.jsx)(lJ,{}):(0,Hg.jsx)(EJ,{initialAuthStatus:o,onAuthenticated:()=>n(!0)})}const TJ="ResizeObserver loop";window.addEventListener("error",e=>{var t;if(null!==(t=e.message)&&void 0!==t&&t.includes(TJ))return e.stopImmediatePropagation(),e.preventDefault(),!1},!0);const MJ=console.error;console.error=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];"string"===typeof t[0]&&t[0].includes(TJ)||MJ.apply(console,t)},window.onerror=function(e){if("string"===typeof e&&e.includes(TJ))return!0};i.createRoot(document.getElementById("root")).render((0,Hg.jsx)(CJ,{}))})()})();
|
|
//# sourceMappingURL=main.be9bfbf6.js.map |