Skip to content

Instantly share code, notes, and snippets.

@vonoro
Created April 13, 2023 16:29
Show Gist options
  • Select an option

  • Save vonoro/f7885b04787b34f9b7593407debfcd87 to your computer and use it in GitHub Desktop.

Select an option

Save vonoro/f7885b04787b34f9b7593407debfcd87 to your computer and use it in GitHub Desktop.
chart.js
/*!
* @license
* TradingView Lightweight Charts™ v4.1.2
* Copyright (c) 2023 TradingView, Inc.
* Licensed under Apache License 2.0 https://www.apache.org/licenses/LICENSE-2.0
*/
!function(){"use strict";var t,i;function n(t,i){const n={0:[],1:[t.lineWidth,t.lineWidth],2:[2*t.lineWidth,2*t.lineWidth],3:[6*t.lineWidth,6*t.lineWidth],4:[t.lineWidth,4*t.lineWidth]}[i];t.setLineDash(n)}function s(t,i,n,s){t.beginPath();const e=t.lineWidth%2?.5:0;t.moveTo(n,i+e),t.lineTo(s,i+e),t.stroke()}function e(t,i){if(!t)throw new Error("Assertion failed"+(i?": "+i:""))}function r(t){if(void 0===t)throw new Error("Value is undefined");return t}function h(t){if(null===t)throw new Error("Value is null");return t}function l(t){return h(r(t))}!function(t){t[t.Simple=0]="Simple",t[t.WithSteps=1]="WithSteps",t[t.Curved=2]="Curved"}(t||(t={})),function(t){t[t.Solid=0]="Solid",t[t.Dotted=1]="Dotted",t[t.Dashed=2]="Dashed",t[t.LargeDashed=3]="LargeDashed",t[t.SparseDotted=4]="SparseDotted"}(i||(i={}));const a={khaki:"#f0e68c",azure:"#f0ffff",aliceblue:"#f0f8ff",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",gray:"#808080",green:"#008000",honeydew:"#f0fff0",floralwhite:"#fffaf0",lightblue:"#add8e6",lightcoral:"#f08080",lemonchiffon:"#fffacd",hotpink:"#ff69b4",lightyellow:"#ffffe0",greenyellow:"#adff2f",lightgoldenrodyellow:"#fafad2",limegreen:"#32cd32",linen:"#faf0e6",lightcyan:"#e0ffff",magenta:"#f0f",maroon:"#800000",olive:"#808000",orange:"#ffa500",oldlace:"#fdf5e6",mediumblue:"#0000cd",transparent:"#0000",lime:"#0f0",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",midnightblue:"#191970",orchid:"#da70d6",mediumorchid:"#ba55d3",mediumturquoise:"#48d1cc",orangered:"#ff4500",royalblue:"#4169e1",powderblue:"#b0e0e6",red:"#f00",coral:"#ff7f50",turquoise:"#40e0d0",white:"#fff",whitesmoke:"#f5f5f5",wheat:"#f5deb3",teal:"#008080",steelblue:"#4682b4",bisque:"#ffe4c4",aquamarine:"#7fffd4",aqua:"#0ff",sienna:"#a0522d",silver:"#c0c0c0",springgreen:"#00ff7f",antiquewhite:"#faebd7",burlywood:"#deb887",brown:"#a52a2a",beige:"#f5f5dc",chocolate:"#d2691e",chartreuse:"#7fff00",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cadetblue:"#5f9ea0",tomato:"#ff6347",fuchsia:"#f0f",blue:"#00f",salmon:"#fa8072",blanchedalmond:"#ffebcd",slateblue:"#6a5acd",slategray:"#708090",thistle:"#d8bfd8",tan:"#d2b48c",cyan:"#0ff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",blueviolet:"#8a2be2",black:"#000",darkmagenta:"#8b008b",darkslateblue:"#483d8b",darkkhaki:"#bdb76b",darkorchid:"#9932cc",darkorange:"#ff8c00",darkgreen:"#006400",darkred:"#8b0000",dodgerblue:"#1e90ff",darkslategray:"#2f4f4f",dimgray:"#696969",deepskyblue:"#00bfff",firebrick:"#b22222",forestgreen:"#228b22",indigo:"#4b0082",ivory:"#fffff0",lavenderblush:"#fff0f5",feldspar:"#d19275",indianred:"#cd5c5c",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightskyblue:"#87cefa",lightslategray:"#789",lightslateblue:"#8470ff",snow:"#fffafa",lightseagreen:"#20b2aa",lightsalmon:"#ffa07a",darksalmon:"#e9967a",darkviolet:"#9400d3",mediumpurple:"#9370d8",mediumaquamarine:"#66cdaa",skyblue:"#87ceeb",lavender:"#e6e6fa",lightsteelblue:"#b0c4de",mediumvioletred:"#c71585",mintcream:"#f5fffa",navajowhite:"#ffdead",navy:"#000080",olivedrab:"#6b8e23",palevioletred:"#d87093",violetred:"#d02090",yellow:"#ff0",yellowgreen:"#9acd32",lawngreen:"#7cfc00",pink:"#ffc0cb",paleturquoise:"#afeeee",palegoldenrod:"#eee8aa",darkolivegreen:"#556b2f",darkseagreen:"#8fbc8f",darkturquoise:"#00ced1",peachpuff:"#ffdab9",deeppink:"#ff1493",violet:"#ee82ee",palegreen:"#98fb98",mediumseagreen:"#3cb371",peru:"#cd853f",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",purple:"#800080",seagreen:"#2e8b57",seashell:"#fff5ee",papayawhip:"#ffefd5",mediumslateblue:"#7b68ee",plum:"#dda0dd",mediumspringgreen:"#00fa9a"};function o(t){return t<0?0:t>255?255:Math.round(t)||0}function _(t){return t<=0||t>0?t<0?0:t>1?1:Math.round(1e4*t)/1e4:0}const u=/^#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?$/i,c=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i,d=/^rgb\(\s*(-?\d{1,10})\s*,\s*(-?\d{1,10})\s*,\s*(-?\d{1,10})\s*\)$/,f=/^rgba\(\s*(-?\d{1,10})\s*,\s*(-?\d{1,10})\s*,\s*(-?\d{1,10})\s*,\s*(-?[\d]{0,10}(?:\.\d+)?)\s*\)$/;function p(t){(t=t.toLowerCase())in a&&(t=a[t]);{const i=f.exec(t)||d.exec(t);if(i)return[o(parseInt(i[1],10)),o(parseInt(i[2],10)),o(parseInt(i[3],10)),_(i.length<5?1:parseFloat(i[4]))]}{const i=c.exec(t);if(i)return[o(parseInt(i[1],16)),o(parseInt(i[2],16)),o(parseInt(i[3],16)),1]}{const i=u.exec(t);if(i)return[o(17*parseInt(i[1],16)),o(17*parseInt(i[2],16)),o(17*parseInt(i[3],16)),1]}throw new Error(`Cannot parse color: ${t}`)}function v(t){const i=p(t);return{t:`rgb(${i[0]}, ${i[1]}, ${i[2]})`,i:(n=i,.199*n[0]+.687*n[1]+.114*n[2]>160?"black":"white")};var n}class m{constructor(){this.h=[]}l(t,i,n){const s={o:t,_:i,u:!0===n};this.h.push(s)}p(t){const i=this.h.findIndex((i=>t===i.o));i>-1&&this.h.splice(i,1)}v(t){this.h=this.h.filter((i=>i._!==t))}m(t,i,n){const s=[...this.h];this.h=this.h.filter((t=>!t.u)),s.forEach((s=>s.o(t,i,n)))}g(){return this.h.length>0}M(){this.h=[]}}function b(t,...i){for(const n of i)for(const i in n)void 0!==n[i]&&("object"!=typeof n[i]||void 0===t[i]?t[i]=n[i]:b(t[i],n[i]));return t}function g(t){return"number"==typeof t&&isFinite(t)}function w(t){return"number"==typeof t&&t%1==0}function M(t){return"string"==typeof t}function x(t){return"boolean"==typeof t}function S(t){const i=t;if(!i||"object"!=typeof i)return i;let n,s,e;for(s in n=Array.isArray(i)?[]:{},i)i.hasOwnProperty(s)&&(e=i[s],n[s]=e&&"object"==typeof e?S(e):e);return n}function y(t){return null!==t}function k(t){return null===t?void 0:t}const C="-apple-system, BlinkMacSystemFont, 'Trebuchet MS', Roboto, Ubuntu, sans-serif";function T(t,i,n){return void 0===i&&(i=C),`${n=void 0!==n?`${n} `:""}${t}px ${i}`}class P{constructor(t){this.S={k:1,C:5,T:NaN,P:"",R:"",D:"",O:"",B:0,L:0,A:0,I:0,V:0},this.N=t}F(){const t=this.S,i=this.W(),n=this.j();return t.T===i&&t.R===n||(t.T=i,t.R=n,t.P=T(i,n),t.I=2.5/12*i,t.B=t.I,t.L=i/12*t.C,t.A=i/12*t.C,t.V=0),t.D=this.$(),t.O=this.H(),this.S}$(){return this.N.F().layout.textColor}H(){return this.N.U()}W(){return this.N.F().layout.fontSize}j(){return this.N.F().layout.fontFamily}}class R{constructor(){this.q=[]}Y(t){this.q=t}X(t,i,n){this.q.forEach((s=>{s.X(t,i,n)}))}}class D{X(t,i,n){t.useMediaCoordinateSpace((t=>this.Z(t,i,n)))}K(t,i,n){t.useMediaCoordinateSpace((t=>this.G(t,i,n)))}G(t,i,n){}}class O extends D{constructor(){super(...arguments),this.J=null}tt(t){this.J=t}Z({context:t}){if(null===this.J||null===this.J.it)return;const i=this.J.it,n=this.J,s=s=>{t.beginPath();for(let e=i.to-1;e>=i.from;--e){const i=n.nt[e];t.moveTo(i.st,i.et),t.arc(i.st,i.et,s,0,2*Math.PI)}t.fill()};n.rt>0&&(t.fillStyle=n.ht,s(n.lt+n.rt)),t.fillStyle=n.ot,s(n.lt)}}function B(){return{nt:[{st:0,et:0,_t:0,ut:0}],ot:"",ht:"",lt:0,rt:0,it:null}}const L={from:0,to:1};class z{constructor(t,i){this.ct=new R,this.dt=[],this.ft=[],this.vt=!0,this.N=t,this.bt=i,this.ct.Y(this.dt)}gt(t){const i=this.N.wt();i.length!==this.dt.length&&(this.ft=i.map(B),this.dt=this.ft.map((t=>{const i=new O;return i.tt(t),i})),this.ct.Y(this.dt)),this.vt=!0}Mt(){return this.vt&&(this.xt(),this.vt=!1),this.ct}xt(){const t=this.N.wt(),i=this.bt.St(),n=this.N.yt();t.forEach(((t,s)=>{var e;const r=this.ft[s],l=t.kt(i);if(null===l||!t.Ct())return void(r.it=null);const a=h(t.Tt());r.ot=l.Pt,r.lt=l.lt,r.rt=l.Rt,r.nt[0].ut=l.ut,r.nt[0].et=t.Ot().Dt(l.ut,a.Bt),r.ht=null!==(e=l.Lt)&&void 0!==e?e:this.N.zt(r.nt[0].et/t.Ot().At()),r.nt[0]._t=i,r.nt[0].st=n.Et(i),r.it=L}))}}class A{X(t,i,n){t.useBitmapCoordinateSpace((t=>this.Z(t,i,n)))}}class E extends A{constructor(t){super(),this.It=t}Z({context:t,bitmapSize:i,horizontalPixelRatio:e,verticalPixelRatio:r}){if(null===this.It)return;const h=this.It.Vt.Ct,l=this.It.Nt.Ct;if(!h&&!l)return;const a=Math.round(this.It.st*e),o=Math.round(this.It.et*r);t.lineCap="butt",h&&a>=0&&(t.lineWidth=Math.floor(this.It.Vt.rt*e),t.strokeStyle=this.It.Vt.D,t.fillStyle=this.It.Vt.D,n(t,this.It.Vt.Ft),function(t,i,n,s){t.beginPath();const e=t.lineWidth%2?.5:0;t.moveTo(i+e,n),t.lineTo(i+e,s),t.stroke()}(t,a,0,i.height)),l&&o>=0&&(t.lineWidth=Math.floor(this.It.Nt.rt*r),t.strokeStyle=this.It.Nt.D,t.fillStyle=this.It.Nt.D,n(t,this.It.Nt.Ft),s(t,o,0,i.width))}}class I{constructor(t){this.vt=!0,this.Wt={Vt:{rt:1,Ft:0,D:"",Ct:!1},Nt:{rt:1,Ft:0,D:"",Ct:!1},st:0,et:0},this.jt=new E(this.Wt),this.$t=t}gt(){this.vt=!0}Mt(){return this.vt&&(this.xt(),this.vt=!1),this.jt}xt(){const t=this.$t.Ct(),i=h(this.$t.Ht()),n=i.Ut().F().crosshair,s=this.Wt;s.Nt.Ct=t&&this.$t.qt(i),s.Vt.Ct=t&&this.$t.Yt(),s.Nt.rt=n.horzLine.width,s.Nt.Ft=n.horzLine.style,s.Nt.D=n.horzLine.color,s.Vt.rt=n.vertLine.width,s.Vt.Ft=n.vertLine.style,s.Vt.D=n.vertLine.color,s.st=this.$t.Xt(),s.et=this.$t.Zt()}}function V(t,i,n,s,e,r){t.fillRect(i+r,n,s-2*r,r),t.fillRect(i+r,n+e-r,s-2*r,r),t.fillRect(i,n,r,e),t.fillRect(i+s-r,n,r,e)}function N(t,i,n,s,e,r){t.save(),t.globalCompositeOperation="copy",t.fillStyle=r,t.fillRect(i,n,s,e),t.restore()}function F(t,i){return Array.isArray(t)?t.map((t=>0===t?t:t+i)):t+i}function W(t,i,n,s,e,r){let h,l,a,o;if(Array.isArray(r))if(2===r.length){const t=Math.max(0,r[0]),i=Math.max(0,r[1]);h=t,l=t,a=i,o=i}else{if(4!==r.length)throw new Error("Wrong border radius - it should be like css border radius");h=Math.max(0,r[0]),l=Math.max(0,r[1]),a=Math.max(0,r[2]),o=Math.max(0,r[3])}else{const t=Math.max(0,r);h=t,l=t,a=t,o=t}t.beginPath(),t.moveTo(i+h,n),t.lineTo(i+s-l,n),0!==l&&t.arcTo(i+s,n,i+s,n+l,l),t.lineTo(i+s,n+e-a),0!==a&&t.arcTo(i+s,n+e,i+s-a,n+e,a),t.lineTo(i+o,n+e),0!==o&&t.arcTo(i,n+e,i,n+e-o,o),t.lineTo(i,n+h),0!==h&&t.arcTo(i,n,i+h,n,h)}function j(t,i,n,s,e,r,h=0,l=0,a=""){if(t.save(),!h||!a||a===r)return W(t,i,n,s,e,l),t.fillStyle=r,t.fill(),void t.restore();const o=h/2;if("transparent"!==r){W(t,i+h,n+h,s-2*h,e-2*h,F(l,-h)),t.fillStyle=r,t.fill()}if("transparent"!==a){W(t,i+o,n+o,s-h,e-h,F(l,-o)),t.lineWidth=h,t.strokeStyle=a,t.closePath(),t.stroke()}t.restore()}function $(t,i,n,s,e,r,h){t.save(),t.globalCompositeOperation="copy";const l=t.createLinearGradient(0,0,0,e);l.addColorStop(0,r),l.addColorStop(1,h),t.fillStyle=l,t.fillRect(i,n,s,e),t.restore()}class H{constructor(t,i){this.tt(t,i)}tt(t,i){this.It=t,this.Kt=i}At(t,i){return this.It.Ct?t.T+t.I+t.B:0}X(t,i,n,s){if(!this.It.Ct||0===this.It.Gt.length)return;const e=this.It.D,r=this.Kt.t,h=t.useBitmapCoordinateSpace((t=>{const h=t.context;h.font=i.P;const l=this.Jt(t,i,n,s),a=l.Qt,o=(t,i)=>{l.ti?j(h,a.ii,a.ni,a.si,a.ei,t,a.ri,[a.lt,0,0,a.lt],i):j(h,a.hi,a.ni,a.si,a.ei,t,a.ri,[0,a.lt,a.lt,0],i)};return o(r,"transparent"),this.It.li&&(h.fillStyle=e,h.fillRect(a.hi,a.ai,a.oi-a.hi,a._i)),o("transparent",r),this.It.ui&&(h.fillStyle=i.O,h.fillRect(l.ti?a.ci-a.ri:0,a.ni,a.ri,a.di-a.ni)),l}));t.useMediaCoordinateSpace((({context:t})=>{const n=h.fi;t.font=i.P,t.textAlign=h.ti?"right":"left",t.textBaseline="middle",t.fillStyle=e,t.fillText(this.It.Gt,n.pi,(n.ni+n.di)/2+n.vi)}))}Jt(t,i,n,s){var e;const{context:r,bitmapSize:h,mediaSize:l,horizontalPixelRatio:a,verticalPixelRatio:o}=t,_=this.It.li||!this.It.mi?i.C:0,u=this.It.bi?i.k:0,c=i.I+this.Kt.gi,d=i.B+this.Kt.wi,f=i.L,p=i.A,v=this.It.Gt,m=i.T,b=n.Mi(r,v),g=Math.ceil(n.xi(r,v)),w=m+c+d,M=i.k+f+p+g+_,x=Math.max(1,Math.floor(o));let S=Math.round(w*o);S%2!=x%2&&(S+=1);const y=u>0?Math.max(1,Math.floor(u*a)):0,k=Math.round(M*a),C=Math.round(_*a),T=null!==(e=this.Kt.Si)&&void 0!==e?e:this.Kt.yi,P=Math.round(T*o)-Math.floor(.5*o),R=Math.floor(P+x/2-S/2),D=R+S,O="right"===s,B=O?l.width-u:u,L=O?h.width-y:y;let z,A,E;return O?(z=L-k,A=L-C,E=B-_-f-u):(z=L+k,A=L+C,E=B+_+f),{ti:O,Qt:{ni:R,ai:P,di:D,si:k,ei:S,lt:2*a,ri:y,ii:z,hi:L,oi:A,_i:x,ci:h.width},fi:{ni:R/o,di:D/o,pi:E,vi:b}}}}class U{constructor(t){this.ki={yi:0,t:"#000",wi:0,gi:0},this.Ci={Gt:"",Ct:!1,li:!0,mi:!1,Lt:"",D:"#FFF",ui:!1,bi:!1},this.Ti={Gt:"",Ct:!1,li:!1,mi:!0,Lt:"",D:"#FFF",ui:!0,bi:!0},this.vt=!0,this.Pi=new(t||H)(this.Ci,this.ki),this.Ri=new(t||H)(this.Ti,this.ki)}Gt(){return this.Di(),this.Ci.Gt}yi(){return this.Di(),this.ki.yi}gt(){this.vt=!0}At(t,i=!1){return Math.max(this.Pi.At(t,i),this.Ri.At(t,i))}Oi(){return this.ki.Si||0}Bi(t){this.ki.Si=t}Li(){return this.Di(),this.Ci.Ct||this.Ti.Ct}zi(){return this.Di(),this.Ci.Ct}Mt(t){return this.Di(),this.Ci.li=this.Ci.li&&t.F().ticksVisible,this.Ti.li=this.Ti.li&&t.F().ticksVisible,this.Pi.tt(this.Ci,this.ki),this.Ri.tt(this.Ti,this.ki),this.Pi}Ai(){return this.Di(),this.Pi.tt(this.Ci,this.ki),this.Ri.tt(this.Ti,this.ki),this.Ri}Di(){this.vt&&(this.Ci.li=!0,this.Ti.li=!1,this.Ei(this.Ci,this.Ti,this.ki))}}class q extends U{constructor(t,i,n){super(),this.$t=t,this.Ii=i,this.Vi=n}Ei(t,i,n){t.Ct=!1;const s=this.$t.F().horzLine;if(!s.labelVisible)return;const e=this.Ii.Tt();if(!this.$t.Ct()||this.Ii.Ni()||null===e)return;const r=v(s.labelBackgroundColor);n.t=r.t,t.D=r.i;const h=2/12*this.Ii.T();n.gi=h,n.wi=h;const l=this.Vi(this.Ii);n.yi=l.yi,t.Gt=this.Ii.Fi(l.ut,e),t.Ct=!0}}const Y=/[1-9]/g;class X{constructor(){this.It=null}tt(t){this.It=t}X(t,i){if(null===this.It||!1===this.It.Ct||0===this.It.Gt.length)return;const n=t.useMediaCoordinateSpace((({context:t})=>(t.font=i.P,Math.round(i.Wi.xi(t,h(this.It).Gt,Y)))));if(n<=0)return;const s=i.ji,e=n+2*s,r=e/2,l=this.It.$i;let a=this.It.yi,o=Math.floor(a-r)+.5;o<0?(a+=Math.abs(0-o),o=Math.floor(a-r)+.5):o+e>l&&(a-=Math.abs(l-(o+e)),o=Math.floor(a-r)+.5);const _=o+e,u=Math.ceil(0+i.k+i.C+i.I+i.T+i.B);t.useBitmapCoordinateSpace((({context:t,horizontalPixelRatio:n,verticalPixelRatio:s})=>{const e=h(this.It);t.fillStyle=e.t;const r=Math.round(o*n),l=Math.round(0*s),a=Math.round(_*n),c=Math.round(u*s),d=Math.round(2*n);if(t.beginPath(),t.moveTo(r,l),t.lineTo(r,c-d),t.arcTo(r,c,r+d,c,d),t.lineTo(a-d,c),t.arcTo(a,c,a,c-d,d),t.lineTo(a,l),t.fill(),e.li){const r=Math.round(e.yi*n),h=l,a=Math.round((h+i.C)*s);t.fillStyle=e.D;const o=Math.max(1,Math.floor(n)),_=Math.floor(.5*n);t.fillRect(r-_,h,o,a-h)}})),t.useMediaCoordinateSpace((({context:t})=>{const n=h(this.It),e=0+i.k+i.C+i.I+i.T/2;t.font=i.P,t.textAlign="left",t.textBaseline="middle",t.fillStyle=n.D;const r=i.Wi.Mi(t,"Apr0");t.translate(o+s,e+r),t.fillText(n.Gt,0,0)}))}}class Z{constructor(t,i,n){this.vt=!0,this.jt=new X,this.Wt={Ct:!1,t:"#4c525e",D:"white",Gt:"",$i:0,yi:NaN,li:!0},this.bt=t,this.Hi=i,this.Vi=n}gt(){this.vt=!0}Mt(){return this.vt&&(this.xt(),this.vt=!1),this.jt.tt(this.Wt),this.jt}xt(){const t=this.Wt;t.Ct=!1;const i=this.bt.F().vertLine;if(!i.labelVisible)return;const n=this.Hi.yt();if(n.Ni())return;t.$i=n.$i();const s=this.Vi();if(null===s)return;t.yi=s.yi;const e=n.Ui(this.bt.St());t.Gt=n.qi(h(e)),t.Ct=!0;const r=v(i.labelBackgroundColor);t.t=r.t,t.D=r.i,t.li=n.F().ticksVisible}}class K{constructor(){this.Yi=null,this.Xi=0}Zi(){return this.Xi}Ki(t){this.Xi=t}Ot(){return this.Yi}Gi(t){this.Yi=t}Ji(t){return[]}Qi(){return[]}Ct(){return!0}}var G;!function(t){t[t.Normal=0]="Normal",t[t.Magnet=1]="Magnet"}(G||(G={}));class J extends K{constructor(t,i){super(),this.tn=null,this.nn=NaN,this.sn=0,this.en=!0,this.rn=new Map,this.hn=!1,this.ln=NaN,this.an=NaN,this.on=NaN,this._n=NaN,this.Hi=t,this.un=i,this.cn=new z(t,this);this.dn=((t,i)=>n=>{const s=i(),e=t();if(n===h(this.tn).fn())return{ut:e,yi:s};{const t=h(n.Tt());return{ut:n.pn(s,t),yi:s}}})((()=>this.nn),(()=>this.an));const n=((t,i)=>()=>{const n=this.Hi.yt().vn(t()),s=i();return n&&Number.isFinite(s)?{_t:n,yi:s}:null})((()=>this.sn),(()=>this.Xt()));this.mn=new Z(this,t,n),this.bn=new I(this)}F(){return this.un}gn(t,i){this.on=t,this._n=i}wn(){this.on=NaN,this._n=NaN}Mn(){return this.on}xn(){return this._n}Sn(t,i,n){this.hn||(this.hn=!0),this.en=!0,this.yn(t,i,n)}St(){return this.sn}Xt(){return this.ln}Zt(){return this.an}Ct(){return this.en}kn(){this.en=!1,this.Cn(),this.nn=NaN,this.ln=NaN,this.an=NaN,this.tn=null,this.wn()}Tn(t){return null!==this.tn?[this.bn,this.cn]:[]}qt(t){return t===this.tn&&this.un.horzLine.visible}Yt(){return this.un.vertLine.visible}Pn(t,i){this.en&&this.tn===t||this.rn.clear();const n=[];return this.tn===t&&n.push(this.Rn(this.rn,i,this.dn)),n}Qi(){return this.en?[this.mn]:[]}Ht(){return this.tn}Dn(){this.bn.gt(),this.rn.forEach((t=>t.gt())),this.mn.gt(),this.cn.gt()}On(t){return t&&!t.fn().Ni()?t.fn():null}yn(t,i,n){this.Bn(t,i,n)&&this.Dn()}Bn(t,i,n){const s=this.ln,e=this.an,r=this.nn,h=this.sn,l=this.tn,a=this.On(n);this.sn=t,this.ln=isNaN(t)?NaN:this.Hi.yt().Et(t),this.tn=n;const o=null!==a?a.Tt():null;return null!==a&&null!==o?(this.nn=i,this.an=a.Dt(i,o)):(this.nn=NaN,this.an=NaN),s!==this.ln||e!==this.an||h!==this.sn||r!==this.nn||l!==this.tn}Cn(){const t=this.Hi.wt().map((t=>t.zn().Ln())).filter(y),i=0===t.length?null:Math.max(...t);this.sn=null!==i?i:NaN}Rn(t,i,n){let s=t.get(i);return void 0===s&&(s=new q(this,i,n),t.set(i,s)),s}}function Q(t){return"left"===t||"right"===t}class tt{constructor(t){this.An=new Map,this.En=[],this.In=t}Vn(t,i){const n=function(t,i){return void 0===t?i:{Nn:Math.max(t.Nn,i.Nn),Fn:t.Fn||i.Fn}}(this.An.get(t),i);this.An.set(t,n)}Wn(){return this.In}jn(t){const i=this.An.get(t);return void 0===i?{Nn:this.In}:{Nn:Math.max(this.In,i.Nn),Fn:i.Fn}}$n(){this.Hn(),this.En=[{Un:0}]}qn(t){this.Hn(),this.En=[{Un:1,Bt:t}]}Yn(t){this.Xn(),this.En.push({Un:5,Bt:t})}Hn(){this.Xn(),this.En.push({Un:6})}Zn(){this.Hn(),this.En=[{Un:4}]}Kn(t){this.Hn(),this.En.push({Un:2,Bt:t})}Gn(t){this.Hn(),this.En.push({Un:3,Bt:t})}Jn(){return this.En}Qn(t){for(const i of t.En)this.ts(i);this.In=Math.max(this.In,t.In),t.An.forEach(((t,i)=>{this.Vn(i,t)}))}static ns(){return new tt(2)}static ss(){return new tt(3)}ts(t){switch(t.Un){case 0:this.$n();break;case 1:this.qn(t.Bt);break;case 2:this.Kn(t.Bt);break;case 3:this.Gn(t.Bt);break;case 4:this.Zn();break;case 5:this.Yn(t.Bt);break;case 6:this.Xn()}}Xn(){const t=this.En.findIndex((t=>5===t.Un));-1!==t&&this.En.splice(t,1)}}const it=".";function nt(t,i){if(!g(t))return"n/a";if(!w(i))throw new TypeError("invalid length");if(i<0||i>16)throw new TypeError("invalid length");if(0===i)return t.toString();return("0000000000000000"+t.toString()).slice(-i)}class st{constructor(t,i){if(i||(i=1),g(t)&&w(t)||(t=100),t<0)throw new TypeError("invalid base");this.Ii=t,this.es=i,this.rs()}format(t){const i=t<0?"−":"";return t=Math.abs(t),i+this.hs(t)}rs(){if(this.ls=0,this.Ii>0&&this.es>0){let t=this.Ii;for(;t>1;)t/=10,this.ls++}}hs(t){const i=this.Ii/this.es;let n=Math.floor(t),s="";const e=void 0!==this.ls?this.ls:NaN;if(i>1){let r=+(Math.round(t*i)-n*i).toFixed(this.ls);r>=i&&(r-=i,n+=1),s=it+nt(+r.toFixed(this.ls)*this.es,e)}else n=Math.round(n*i)/i,e>0&&(s=it+nt(0,e));return n.toFixed(0)+s}}class et extends st{constructor(t=100){super(t)}format(t){return`${super.format(t)}%`}}class rt{constructor(t){this.os=t}format(t){let i="";return t<0&&(i="-",t=-t),t<995?i+this._s(t):t<999995?i+this._s(t/1e3)+"K":t<999999995?(t=1e3*Math.round(t/1e3),i+this._s(t/1e6)+"M"):(t=1e6*Math.round(t/1e6),i+this._s(t/1e9)+"B")}_s(t){let i;const n=Math.pow(10,this.os);return i=(t=Math.round(t*n)/n)>=1e-15&&t<1?t.toFixed(this.os).replace(/\.?0+$/,""):String(t),i.replace(/(\.[1-9]*)0+$/,((t,i)=>i))}}function ht(t,i,n,s,e,r,h){if(0===i.length||s.from>=i.length||s.to<=0)return;const l=t.context,a=i[s.from];let o=r(t,a),_=a;if(s.to-s.from<2){const t=e/2;l.beginPath();const i={st:a.st-t,et:a.et},n={st:a.st+t,et:a.et};return l.moveTo(i.st,i.et),l.lineTo(n.st,n.et),void h(l,o,i,n)}const u=(t,i)=>{h(l,o,_,i),l.beginPath(),o=t,_=i};let c=_;l.beginPath(),l.moveTo(a.st,a.et);for(let e=s.from+1;e<s.to;++e){c=i[e];const s=r(t,c);switch(n){case 0:l.lineTo(c.st,c.et);break;case 1:l.lineTo(c.st,i[e-1].et),s!==o&&(u(s,c),l.lineTo(c.st,i[e-1].et)),l.lineTo(c.st,c.et);break;case 2:{const[t,n]=_t(i,e-1,e);l.bezierCurveTo(t.st,t.et,n.st,n.et,c.st,c.et);break}}1!==n&&s!==o&&(u(s,c),l.moveTo(c.st,c.et))}(_!==c||_===c&&1===n)&&h(l,o,_,c)}const lt=6;function at(t,i){return{st:t.st-i.st,et:t.et-i.et}}function ot(t,i){return{st:t.st/i,et:t.et/i}}function _t(t,i,n){const s=Math.max(0,i-1),e=Math.min(t.length-1,n+1);var r,h;return[(r=t[i],h=ot(at(t[n],t[s]),lt),{st:r.st+h.st,et:r.et+h.et}),at(t[n],ot(at(t[e],t[i]),lt))]}function ut(t,i,n,s,e){i.lineTo(e.st,t),i.lineTo(s.st,t),i.closePath(),i.fillStyle=n,i.fill()}class ct extends D{constructor(){super(...arguments),this.J=null}tt(t){this.J=t}Z(t){var i;if(null===this.J)return;const{nt:s,it:e,us:r,rt:h,Ft:l,cs:a}=this.J,o=null!==(i=this.J.ds)&&void 0!==i?i:this.J.fs?0:t.mediaSize.height;if(null===e)return;const _=t.context;_.lineCap="butt",_.lineJoin="round",_.lineWidth=h,n(_,l),_.lineWidth=1,ht(t,s,a,e,r,this.ps.bind(this),ut.bind(null,o))}}class dt extends ct{constructor(){super(...arguments),this.vs=null}ps(t,i){const{context:n,mediaSize:s}=t,{bs:e,gs:r}=i,h=s.height;if(null!==this.vs&&this.vs.topColor===e&&this.vs.bottomColor===r&&this.vs.bottom===h)return this.vs.fillStyle;const l=n.createLinearGradient(0,0,0,h);return l.addColorStop(0,e),l.addColorStop(1,r),this.vs={topColor:e,bottomColor:r,fillStyle:l,bottom:h},l}}function ft(t,i){t.strokeStyle=i,t.stroke()}class pt extends D{constructor(){super(...arguments),this.J=null}tt(t){this.J=t}Z(t){if(null===this.J)return;const{nt:i,it:s,us:e,cs:r,rt:h,Ft:l}=this.J;if(null===s)return;const a=t.context;a.lineCap="butt",a.lineWidth=h,n(a,l),a.lineJoin="round",ht(t,i,r,s,e,this.ws.bind(this),ft)}}class vt extends pt{ws(t,i){return i.ot}}function mt(t,i,n,s=0,e=t.length){let r=e-s;for(;0<r;){const e=r>>1,h=s+e;n(t[h],i)?(s=h+1,r-=e+1):r=e}return s}function bt(t,i,n,s=0,e=t.length){let r=e-s;for(;0<r;){const e=r>>1,h=s+e;n(i,t[h])?r=e:(s=h+1,r-=e+1)}return s}function gt(t,i){return t._t<i}function wt(t,i){return t<i._t}function Mt(t,i,n){const s=i.Ms(),e=i.ci(),r=mt(t,s,gt),h=bt(t,e,wt);if(!n)return{from:r,to:h};let l=r,a=h;return r>0&&r<t.length&&t[r]._t>=s&&(l=r-1),h>0&&h<t.length&&t[h-1]._t<=e&&(a=h+1),{from:l,to:a}}class xt{constructor(t,i,n){this.xs=!0,this.Ss=!0,this.ys=!0,this.ks=[],this.Cs=null,this.Ts=t,this.Ps=i,this.Rs=n}gt(t){this.xs=!0,"data"===t&&(this.Ss=!0),"options"===t&&(this.ys=!0)}Mt(){return this.Ts.Ct()?(this.Ds(),null===this.Cs?null:this.Os):null}Bs(){this.ks=this.ks.map((t=>Object.assign(Object.assign({},t),this.Ts.zs().Ls(t._t))))}As(){this.Cs=null}Ds(){this.Ss&&(this.Es(),this.Ss=!1),this.ys&&(this.Bs(),this.ys=!1),this.xs&&(this.Is(),this.xs=!1)}Is(){const t=this.Ts.Ot(),i=this.Ps.yt();if(this.As(),i.Ni()||t.Ni())return;const n=i.Vs();if(null===n)return;if(0===this.Ts.zn().Ns())return;const s=this.Ts.Tt();null!==s&&(this.Cs=Mt(this.ks,n,this.Rs),this.Fs(t,i,s.Bt),this.Ws())}}class St extends xt{constructor(t,i){super(t,i,!0)}Fs(t,i,n){i.js(this.ks,k(this.Cs)),t.$s(this.ks,n,k(this.Cs))}Hs(t,i){return{_t:t,ut:i,st:NaN,et:NaN}}Es(){const t=this.Ts.zs();this.ks=this.Ts.zn().Us().map((i=>{const n=i.Bt[3];return this.qs(i.Ys,n,t)}))}}class yt extends St{constructor(t,i){super(t,i),this.Os=new R,this.Xs=new dt,this.Zs=new vt,this.Os.Y([this.Xs,this.Zs])}qs(t,i,n){return Object.assign(Object.assign({},this.Hs(t,i)),n.Ls(t))}Ws(){const t=this.Ts.F();this.Xs.tt({cs:t.lineType,nt:this.ks,Ft:t.lineStyle,rt:t.lineWidth,ds:null,fs:t.invertFilledArea,it:this.Cs,us:this.Ps.yt().Ks()}),this.Zs.tt({cs:t.lineType,nt:this.ks,Ft:t.lineStyle,rt:t.lineWidth,it:this.Cs,us:this.Ps.yt().Ks()})}}class kt extends A{constructor(){super(...arguments),this.It=null,this.Gs=0,this.Js=0}tt(t){this.It=t}Z({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){if(null===this.It||0===this.It.zn.length||null===this.It.it)return;if(this.Gs=this.Qs(i),this.Gs>=2){Math.max(1,Math.floor(i))%2!=this.Gs%2&&this.Gs--}this.Js=this.It.te?Math.min(this.Gs,Math.floor(i)):this.Gs;let s=null;const e=this.Js<=this.Gs&&this.It.Ks>=Math.floor(1.5*i);for(let r=this.It.it.from;r<this.It.it.to;++r){const h=this.It.zn[r];s!==h.ie&&(t.fillStyle=h.ie,s=h.ie);const l=Math.floor(.5*this.Js),a=Math.round(h.st*i),o=a-l,_=this.Js,u=o+_-1,c=Math.min(h.ne,h.se),d=Math.max(h.ne,h.se),f=Math.round(c*n)-l,p=Math.round(d*n)+l,v=Math.max(p-f,this.Js);t.fillRect(o,f,_,v);const m=Math.ceil(1.5*this.Gs);if(e){if(this.It.ee){const i=a-m;let s=Math.max(f,Math.round(h.re*n)-l),e=s+_-1;e>f+v-1&&(e=f+v-1,s=e-_+1),t.fillRect(i,s,o-i,e-s+1)}const i=a+m;let s=Math.max(f,Math.round(h.he*n)-l),e=s+_-1;e>f+v-1&&(e=f+v-1,s=e-_+1),t.fillRect(u+1,s,i-u,e-s+1)}}}Qs(t){const i=Math.floor(t);return Math.max(i,Math.floor(function(t,i){return Math.floor(.3*t*i)}(h(this.It).Ks,t)))}}class Ct extends xt{constructor(t,i){super(t,i,!1)}Fs(t,i,n){i.js(this.ks,k(this.Cs)),t.le(this.ks,n,k(this.Cs))}ae(t,i,n){return{_t:t,oe:i.Bt[0],_e:i.Bt[1],ue:i.Bt[2],ce:i.Bt[3],st:NaN,re:NaN,ne:NaN,se:NaN,he:NaN}}Es(){const t=this.Ts.zs();this.ks=this.Ts.zn().Us().map((i=>this.qs(i.Ys,i,t)))}}class Tt extends Ct{constructor(){super(...arguments),this.Os=new kt}qs(t,i,n){return Object.assign(Object.assign({},this.ae(t,i,n)),n.Ls(t))}Ws(){const t=this.Ts.F();this.Os.tt({zn:this.ks,Ks:this.Ps.yt().Ks(),ee:t.openVisible,te:t.thinBars,it:this.Cs})}}function Pt(t,i,n){return Math.min(Math.max(t,i),n)}function Rt(t,i,n){return i-t<=n}function Dt(t){return t<=0?NaN:Math.log(t)/Math.log(10)}function Ot(t){const i=Math.ceil(t);return i%2==0?i-1:i}class Bt extends ct{constructor(){super(...arguments),this.vs=null}ps(t,i){var n;const{context:s,mediaSize:e}=t,r=this.J,{de:h,fe:l,pe:a,ve:o}=i,_=null!==(n=r.ds)&&void 0!==n?n:e.height,u=e.height;if(null!==this.vs&&this.vs.topFillColor1===h&&this.vs.topFillColor2===l&&this.vs.bottomFillColor1===a&&this.vs.bottomFillColor2===o&&this.vs.baseLevelCoordinate===_&&this.vs.bottom===u)return this.vs.fillStyle;const c=s.createLinearGradient(0,0,0,u),d=Pt(_/u,0,1);return c.addColorStop(0,h),c.addColorStop(d,l),c.addColorStop(d,a),c.addColorStop(1,o),this.vs={topFillColor1:h,topFillColor2:l,bottomFillColor1:a,bottomFillColor2:o,fillStyle:c,baseLevelCoordinate:_,bottom:u},c}}class Lt extends pt{constructor(){super(...arguments),this.me=null}ws(t,i){const{context:n,mediaSize:s}=t,e=this.J,{be:r,ge:h}=i,{ds:l}=e,a=s.height;if(null!==this.me&&this.me.topLineColor===r&&this.me.bottomLineColor===h&&this.me.baseLevelCoordinate===l&&this.me.bottom===a)return this.me.strokeStyle;const o=n.createLinearGradient(0,0,0,a),_=Pt(l/a,0,1);return o.addColorStop(0,r),o.addColorStop(_,r),o.addColorStop(_,h),o.addColorStop(1,h),this.me={topLineColor:r,bottomLineColor:h,strokeStyle:o,baseLevelCoordinate:l,bottom:a},o}}class zt extends St{constructor(t,i){super(t,i),this.Os=new R,this.we=new Bt,this.Me=new Lt,this.Os.Y([this.we,this.Me])}qs(t,i,n){return Object.assign(Object.assign({},this.Hs(t,i)),n.Ls(t))}Ws(){const t=this.Ts.Tt();if(null===t)return;const i=this.Ts.F(),n=this.Ts.Ot().Dt(i.baseValue.price,t.Bt),s=this.Ps.yt().Ks();this.we.tt({nt:this.ks,rt:i.lineWidth,Ft:i.lineStyle,cs:i.lineType,ds:n,fs:!1,it:this.Cs,us:s}),this.Me.tt({nt:this.ks,rt:i.lineWidth,Ft:i.lineStyle,cs:i.lineType,ds:n,it:this.Cs,us:s})}}class At extends A{constructor(){super(...arguments),this.It=null,this.Gs=0}tt(t){this.It=t}Z(t){if(null===this.It||0===this.It.zn.length||null===this.It.it)return;const{horizontalPixelRatio:i}=t;if(this.Gs=function(t,i){if(t>=2.5&&t<=4)return Math.floor(3*i);const n=1-.2*Math.atan(Math.max(4,t)-4)/(.5*Math.PI),s=Math.floor(t*n*i),e=Math.floor(t*i),r=Math.min(s,e);return Math.max(Math.floor(i),r)}(this.It.Ks,i),this.Gs>=2){Math.floor(i)%2!=this.Gs%2&&this.Gs--}const n=this.It.zn;this.It.xe&&this.Se(t,n,this.It.it),this.It.ui&&this.ye(t,n,this.It.it);const s=this.ke(i);(!this.It.ui||this.Gs>2*s)&&this.Ce(t,n,this.It.it)}Se(t,i,n){if(null===this.It)return;const{context:s,horizontalPixelRatio:e,verticalPixelRatio:r}=t;let h="",l=Math.min(Math.floor(e),Math.floor(this.It.Ks*e));l=Math.max(Math.floor(e),Math.min(l,this.Gs));const a=Math.floor(.5*l);let o=null;for(let t=n.from;t<n.to;t++){const n=i[t];n.Te!==h&&(s.fillStyle=n.Te,h=n.Te);const _=Math.round(Math.min(n.re,n.he)*r),u=Math.round(Math.max(n.re,n.he)*r),c=Math.round(n.ne*r),d=Math.round(n.se*r);let f=Math.round(e*n.st)-a;const p=f+l-1;null!==o&&(f=Math.max(o+1,f),f=Math.min(f,p));const v=p-f+1;s.fillRect(f,c,v,_-c),s.fillRect(f,u+1,v,d-u),o=p}}ke(t){let i=Math.floor(1*t);this.Gs<=2*i&&(i=Math.floor(.5*(this.Gs-1)));const n=Math.max(Math.floor(t),i);return this.Gs<=2*n?Math.max(Math.floor(t),Math.floor(1*t)):n}ye(t,i,n){if(null===this.It)return;const{context:s,horizontalPixelRatio:e,verticalPixelRatio:r}=t;let h="";const l=this.ke(e);let a=null;for(let t=n.from;t<n.to;t++){const n=i[t];n.Pe!==h&&(s.fillStyle=n.Pe,h=n.Pe);let o=Math.round(n.st*e)-Math.floor(.5*this.Gs);const _=o+this.Gs-1,u=Math.round(Math.min(n.re,n.he)*r),c=Math.round(Math.max(n.re,n.he)*r);if(null!==a&&(o=Math.max(a+1,o),o=Math.min(o,_)),this.It.Ks*e>2*l)V(s,o,u,_-o+1,c-u+1,l);else{const t=_-o+1;s.fillRect(o,u,t,c-u+1)}a=_}}Ce(t,i,n){if(null===this.It)return;const{context:s,horizontalPixelRatio:e,verticalPixelRatio:r}=t;let h="";const l=this.ke(e);for(let t=n.from;t<n.to;t++){const n=i[t];let a=Math.round(Math.min(n.re,n.he)*r),o=Math.round(Math.max(n.re,n.he)*r),_=Math.round(n.st*e)-Math.floor(.5*this.Gs),u=_+this.Gs-1;if(n.ie!==h){const t=n.ie;s.fillStyle=t,h=t}this.It.ui&&(_+=l,a+=l,u-=l,o-=l),a>o||s.fillRect(_,a,u-_+1,o-a+1)}}}class Et extends Ct{constructor(){super(...arguments),this.Os=new At}qs(t,i,n){return Object.assign(Object.assign({},this.ae(t,i,n)),n.Ls(t))}Ws(){const t=this.Ts.F();this.Os.tt({zn:this.ks,Ks:this.Ps.yt().Ks(),xe:t.wickVisible,ui:t.borderVisible,it:this.Cs})}}class It extends A{constructor(){super(...arguments),this.It=null,this.Re=[]}tt(t){this.It=t,this.Re=[]}Z({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){if(null===this.It||0===this.It.nt.length||null===this.It.it)return;this.Re.length||this.De(i);const s=Math.max(1,Math.floor(n)),e=Math.round(this.It.Oe*n)-Math.floor(s/2),r=e+s;for(let i=this.It.it.from;i<this.It.it.to;i++){const h=this.It.nt[i],l=this.Re[i-this.It.it.from],a=Math.round(h.et*n);let o,_;t.fillStyle=h.ie,a<=e?(o=a,_=r):(o=e,_=a-Math.floor(s/2)+s),t.fillRect(l.Ms,o,l.ci-l.Ms+1,_-o)}}De(t){if(null===this.It||0===this.It.nt.length||null===this.It.it)return void(this.Re=[]);const i=Math.ceil(this.It.Ks*t)<=1?0:Math.max(1,Math.floor(t)),n=Math.round(this.It.Ks*t)-i;this.Re=new Array(this.It.it.to-this.It.it.from);for(let i=this.It.it.from;i<this.It.it.to;i++){const s=this.It.nt[i],e=Math.round(s.st*t);let r,h;if(n%2){const t=(n-1)/2;r=e-t,h=e+t}else{const t=n/2;r=e-t,h=e+t-1}this.Re[i-this.It.it.from]={Ms:r,ci:h,Be:e,Le:s.st*t,_t:s._t}}for(let t=this.It.it.from+1;t<this.It.it.to;t++){const n=this.Re[t-this.It.it.from],s=this.Re[t-this.It.it.from-1];n._t===s._t+1&&(n.Ms-s.ci!==i+1&&(s.Be>s.Le?s.ci=n.Ms-i-1:n.Ms=s.ci+i+1))}let s=Math.ceil(this.It.Ks*t);for(let t=this.It.it.from;t<this.It.it.to;t++){const i=this.Re[t-this.It.it.from];i.ci<i.Ms&&(i.ci=i.Ms);const n=i.ci-i.Ms+1;s=Math.min(n,s)}if(i>0&&s<4)for(let t=this.It.it.from;t<this.It.it.to;t++){const i=this.Re[t-this.It.it.from];i.ci-i.Ms+1>s&&(i.Be>i.Le?i.ci-=1:i.Ms+=1)}}}class Vt extends St{constructor(){super(...arguments),this.Os=new It}qs(t,i,n){return Object.assign(Object.assign({},this.Hs(t,i)),n.Ls(t))}Ws(){const t={nt:this.ks,Ks:this.Ps.yt().Ks(),it:this.Cs,Oe:this.Ts.Ot().Dt(this.Ts.F().base,h(this.Ts.Tt()).Bt)};this.Os.tt(t)}}class Nt extends St{constructor(){super(...arguments),this.Os=new vt}qs(t,i,n){return Object.assign(Object.assign({},this.Hs(t,i)),n.Ls(t))}Ws(){const t=this.Ts.F(),i={nt:this.ks,Ft:t.lineStyle,cs:t.lineType,rt:t.lineWidth,it:this.Cs,us:this.Ps.yt().Ks()};this.Os.tt(i)}}const Ft=/[2-9]/g;class Wt{constructor(t=50){this.ze=0,this.Ae=1,this.Ee=1,this.Ie={},this.Ve=new Map,this.Ne=t}Fe(){this.ze=0,this.Ve.clear(),this.Ae=1,this.Ee=1,this.Ie={}}xi(t,i,n){return this.We(t,i,n).width}Mi(t,i,n){const s=this.We(t,i,n);return((s.actualBoundingBoxAscent||0)-(s.actualBoundingBoxDescent||0))/2}We(t,i,n){const s=n||Ft,e=String(i).replace(s,"0");if(this.Ve.has(e))return r(this.Ve.get(e)).je;if(this.ze===this.Ne){const t=this.Ie[this.Ee];delete this.Ie[this.Ee],this.Ve.delete(t),this.Ee++,this.ze--}t.save(),t.textBaseline="middle";const h=t.measureText(e);return t.restore(),0===h.width&&i.length||(this.Ve.set(e,{je:h,$e:this.Ae}),this.Ie[this.Ae]=e,this.ze++,this.Ae++),h}}class jt{constructor(t){this.He=null,this.S=null,this.Ue="right",this.qe=t}Ye(t,i,n){this.He=t,this.S=i,this.Ue=n}X(t){null!==this.S&&null!==this.He&&this.He.X(t,this.S,this.qe,this.Ue)}}class $t{constructor(t,i,n){this.Xe=t,this.qe=new Wt(50),this.Ze=i,this.N=n,this.W=-1,this.jt=new jt(this.qe)}Mt(){const t=this.N.Ke(this.Ze);if(null===t)return null;const i=t.Ge(this.Ze)?t.Je():this.Ze.Ot();if(null===i)return null;const n=t.Qe(i);if("overlay"===n)return null;const s=this.N.tr();return s.T!==this.W&&(this.W=s.T,this.qe.Fe()),this.jt.Ye(this.Xe.Ai(),s,n),this.jt}}class Ht extends A{constructor(){super(...arguments),this.It=null}tt(t){this.It=t}ir(t,i){var n;if(!(null===(n=this.It)||void 0===n?void 0:n.Ct))return null;const{et:s,rt:e,nr:r}=this.It;return i>=s-e-7&&i<=s+e+7?{sr:this.It,nr:r}:null}Z({context:t,bitmapSize:i,horizontalPixelRatio:e,verticalPixelRatio:r}){if(null===this.It)return;if(!1===this.It.Ct)return;const h=Math.round(this.It.et*r);h<0||h>i.height||(t.lineCap="butt",t.strokeStyle=this.It.D,t.lineWidth=Math.floor(this.It.rt*e),n(t,this.It.Ft),s(t,h,0,i.width))}}class Ut{constructor(t){this.er={et:0,D:"rgba(0, 0, 0, 0)",rt:1,Ft:0,Ct:!1},this.rr=new Ht,this.vt=!0,this.Ts=t,this.Ps=t.Ut(),this.rr.tt(this.er)}gt(){this.vt=!0}Mt(){return this.Ts.Ct()?(this.vt&&(this.hr(),this.vt=!1),this.rr):null}}class qt extends Ut{constructor(t){super(t)}hr(){this.er.Ct=!1;const t=this.Ts.Ot(),i=t.lr().lr;if(2!==i&&3!==i)return;const n=this.Ts.F();if(!n.baseLineVisible||!this.Ts.Ct())return;const s=this.Ts.Tt();null!==s&&(this.er.Ct=!0,this.er.et=t.Dt(s.Bt,s.Bt),this.er.D=n.baseLineColor,this.er.rt=n.baseLineWidth,this.er.Ft=n.baseLineStyle)}}class Yt extends A{constructor(){super(...arguments),this.It=null}tt(t){this.It=t}ar(){return this.It}Z({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){const s=this.It;if(null===s)return;const e=Math.max(1,Math.floor(i)),r=e%2/2,h=Math.round(s.Le.x*i)+r,l=s.Le.y*n;t.fillStyle=s._r,t.beginPath();const a=Math.max(2,1.5*s.ur)*i;t.arc(h,l,a,0,2*Math.PI,!1),t.fill(),t.fillStyle=s.cr,t.beginPath(),t.arc(h,l,s.lt*i,0,2*Math.PI,!1),t.fill(),t.lineWidth=e,t.strokeStyle=s.dr,t.beginPath(),t.arc(h,l,s.lt*i+e/2,0,2*Math.PI,!1),t.stroke()}}const Xt=[{pr:0,vr:.25,mr:4,br:10,gr:.25,wr:0,Mr:.4,Sr:.8},{pr:.25,vr:.525,mr:10,br:14,gr:0,wr:0,Mr:.8,Sr:0},{pr:.525,vr:1,mr:14,br:14,gr:0,wr:0,Mr:0,Sr:0}];function Zt(t,i,n,s){return function(t,i){if("transparent"===t)return t;const n=p(t),s=n[3];return`rgba(${n[0]}, ${n[1]}, ${n[2]}, ${i*s})`}(t,n+(s-n)*i)}function Kt(t,i){const n=t%2600/2600;let s;for(const t of Xt)if(n>=t.pr&&n<=t.vr){s=t;break}e(void 0!==s,"Last price animation internal logic error");const r=(n-s.pr)/(s.vr-s.pr);return{cr:Zt(i,r,s.gr,s.wr),dr:Zt(i,r,s.Mr,s.Sr),lt:(h=r,l=s.mr,a=s.br,l+(a-l)*h)};var h,l,a}class Gt{constructor(t){this.jt=new Yt,this.vt=!0,this.yr=!0,this.kr=performance.now(),this.Cr=this.kr-1,this.Tr=t}Pr(){this.Cr=this.kr-1,this.gt()}Rr(){if(this.gt(),2===this.Tr.F().lastPriceAnimation){const t=performance.now(),i=this.Cr-t;if(i>0)return void(i<650&&(this.Cr+=2600));this.kr=t,this.Cr=t+2600}}gt(){this.vt=!0}Dr(){this.yr=!0}Ct(){return 0!==this.Tr.F().lastPriceAnimation}Or(){switch(this.Tr.F().lastPriceAnimation){case 0:return!1;case 1:return!0;case 2:return performance.now()<=this.Cr}}Mt(){return this.vt?(this.xt(),this.vt=!1,this.yr=!1):this.yr&&(this.Br(),this.yr=!1),this.jt}xt(){this.jt.tt(null);const t=this.Tr.Ut().yt(),i=t.Vs(),n=this.Tr.Tt();if(null===i||null===n)return;const s=this.Tr.Lr(!0);if(s.zr||!i.Ar(s.Ys))return;const e={x:t.Et(s.Ys),y:this.Tr.Ot().Dt(s.ut,n.Bt)},r=s.D,h=this.Tr.F().lineWidth,l=Kt(this.Er(),r);this.jt.tt({_r:r,ur:h,cr:l.cr,dr:l.dr,lt:l.lt,Le:e})}Br(){const t=this.jt.ar();if(null!==t){const i=Kt(this.Er(),t._r);t.cr=i.cr,t.dr=i.dr,t.lt=i.lt}}Er(){return this.Or()?performance.now()-this.kr:2599}}function Jt(t,i){return Ot(Math.min(Math.max(t,12),30)*i)}function Qt(t,i){switch(t){case"arrowDown":case"arrowUp":return Jt(i,1);case"circle":return Jt(i,.8);case"square":return Jt(i,.7)}}function ti(t){return function(t){const i=Math.ceil(t);return i%2!=0?i-1:i}(Jt(t,1))}function ii(t){return Math.max(Jt(t,.1),3)}function ni(t,i,n,s,e){const r=Qt("square",n),h=(r-1)/2,l=t-h,a=i-h;return s>=l&&s<=l+r&&e>=a&&e<=a+r}function si(t,i,n,s,e){const r=(Qt("arrowUp",e)-1)/2,h=(Ot(e/2)-1)/2;i.beginPath(),t?(i.moveTo(n-r,s),i.lineTo(n,s-r),i.lineTo(n+r,s),i.lineTo(n+h,s),i.lineTo(n+h,s+r),i.lineTo(n-h,s+r),i.lineTo(n-h,s)):(i.moveTo(n-r,s),i.lineTo(n,s+r),i.lineTo(n+r,s),i.lineTo(n+h,s),i.lineTo(n+h,s-r),i.lineTo(n-h,s-r),i.lineTo(n-h,s)),i.fill()}function ei(t,i,n,s,e,r){return ni(i,n,s,e,r)}class ri extends D{constructor(){super(...arguments),this.It=null,this.qe=new Wt,this.W=-1,this.j="",this.Ir=""}tt(t){this.It=t}Ye(t,i){this.W===t&&this.j===i||(this.W=t,this.j=i,this.Ir=T(t,i),this.qe.Fe())}ir(t,i){if(null===this.It||null===this.It.it)return null;for(let n=this.It.it.from;n<this.It.it.to;n++){const s=this.It.nt[n];if(li(s,t,i))return{sr:s.Vr,nr:s.nr}}return null}Z({context:t},i,n){if(null!==this.It&&null!==this.It.it){t.textBaseline="middle",t.font=this.Ir;for(let i=this.It.it.from;i<this.It.it.to;i++){const n=this.It.nt[i];void 0!==n.Gt&&(n.Gt.$i=this.qe.xi(t,n.Gt.Nr),n.Gt.At=this.W,n.Gt.st=n.st-n.Gt.$i/2),hi(n,t)}}}}function hi(t,i){i.fillStyle=t.D,void 0!==t.Gt&&function(t,i,n,s){t.fillText(i,n,s)}(i,t.Gt.Nr,t.Gt.st,t.Gt.et),function(t,i){if(0===t.Ns)return;switch(t.Fr){case"arrowDown":return void si(!1,i,t.st,t.et,t.Ns);case"arrowUp":return void si(!0,i,t.st,t.et,t.Ns);case"circle":return void function(t,i,n,s){const e=(Qt("circle",s)-1)/2;t.beginPath(),t.arc(i,n,e,0,2*Math.PI,!1),t.fill()}(i,t.st,t.et,t.Ns);case"square":return void function(t,i,n,s){const e=Qt("square",s),r=(e-1)/2,h=i-r,l=n-r;t.fillRect(h,l,e,e)}(i,t.st,t.et,t.Ns)}t.Fr}(t,i)}function li(t,i,n){return!(void 0===t.Gt||!function(t,i,n,s,e,r){const h=s/2;return e>=t&&e<=t+n&&r>=i-h&&r<=i+h}(t.Gt.st,t.Gt.et,t.Gt.$i,t.Gt.At,i,n))||function(t,i,n){if(0===t.Ns)return!1;switch(t.Fr){case"arrowDown":case"arrowUp":return ei(0,t.st,t.et,t.Ns,i,n);case"circle":return function(t,i,n,s,e){const r=2+Qt("circle",n)/2,h=t-s,l=i-e;return Math.sqrt(h*h+l*l)<=r}(t.st,t.et,t.Ns,i,n);case"square":return ni(t.st,t.et,t.Ns,i,n)}}(t,i,n)}function ai(t,i,n,s,e,r,h,l,a){const o=g(n)?n:n.ce,_=g(n)?n:n._e,u=g(n)?n:n.ue,c=g(i.size)?Math.max(i.size,0):1,d=ti(l.Ks())*c,f=d/2;switch(t.Ns=d,i.position){case"inBar":return t.et=h.Dt(o,a),void(void 0!==t.Gt&&(t.Gt.et=t.et+f+r+.6*e));case"aboveBar":return t.et=h.Dt(_,a)-f-s.Wr,void 0!==t.Gt&&(t.Gt.et=t.et-f-.6*e,s.Wr+=1.2*e),void(s.Wr+=d+r);case"belowBar":return t.et=h.Dt(u,a)+f+s.jr,void 0!==t.Gt&&(t.Gt.et=t.et+f+r+.6*e,s.jr+=1.2*e),void(s.jr+=d+r)}i.position}class oi{constructor(t,i){this.vt=!0,this.$r=!0,this.Hr=!0,this.Ur=null,this.jt=new ri,this.Tr=t,this.Hi=i,this.It={nt:[],it:null}}gt(t){this.vt=!0,this.Hr=!0,"data"===t&&(this.$r=!0)}Mt(t){if(!this.Tr.Ct())return null;this.vt&&this.qr();const i=this.Hi.F().layout;return this.jt.Ye(i.fontSize,i.fontFamily),this.jt.tt(this.It),this.jt}Yr(){if(this.Hr){if(this.Tr.Xr().length>0){const t=this.Hi.yt().Ks(),i=ii(t),n=1.5*ti(t)+2*i;this.Ur={above:n,below:n}}else this.Ur=null;this.Hr=!1}return this.Ur}qr(){const t=this.Tr.Ot(),i=this.Hi.yt(),n=this.Tr.Xr();this.$r&&(this.It.nt=n.map((t=>({_t:t.time,st:0,et:0,Ns:0,Fr:t.shape,D:t.color,Vr:t.internalId,nr:t.id,Gt:void 0}))),this.$r=!1);const s=this.Hi.F().layout;this.It.it=null;const e=i.Vs();if(null===e)return;const r=this.Tr.Tt();if(null===r)return;if(0===this.It.nt.length)return;let h=NaN;const l=ii(i.Ks()),a={Wr:l,jr:l};this.It.it=Mt(this.It.nt,e,!0);for(let e=this.It.it.from;e<this.It.it.to;e++){const o=n[e];o.time!==h&&(a.Wr=l,a.jr=l,h=o.time);const _=this.It.nt[e];_.st=i.Et(o.time),void 0!==o.text&&o.text.length>0&&(_.Gt={Nr:o.text,st:0,et:0,$i:0,At:0});const u=this.Tr.Zr(o.time);null!==u&&ai(_,o,u,a,s.fontSize,l,t,i,r.Bt)}this.vt=!1}}class _i extends Ut{constructor(t){super(t)}hr(){const t=this.er;t.Ct=!1;const i=this.Ts.F();if(!i.priceLineVisible||!this.Ts.Ct())return;const n=this.Ts.Lr(0===i.priceLineSource);n.zr||(t.Ct=!0,t.et=n.yi,t.D=this.Ts.Kr(n.D),t.rt=i.priceLineWidth,t.Ft=i.priceLineStyle)}}class ui extends U{constructor(t){super(),this.$t=t}Ei(t,i,n){t.Ct=!1,i.Ct=!1;const s=this.$t;if(!s.Ct())return;const e=s.F(),r=e.lastValueVisible,h=""!==s.Gr(),l=0===e.seriesLastValueMode,a=s.Lr(!1);if(a.zr)return;r&&(t.Gt=this.Jr(a,r,l),t.Ct=0!==t.Gt.length),(h||l)&&(i.Gt=this.Qr(a,r,h,l),i.Ct=i.Gt.length>0);const o=s.Kr(a.D),_=v(o);n.t=_.t,n.yi=a.yi,i.Lt=s.Ut().zt(a.yi/s.Ot().At()),t.Lt=o,t.D=_.i,i.D=_.i}Qr(t,i,n,s){let e="";const r=this.$t.Gr();return n&&0!==r.length&&(e+=`${r} `),i&&s&&(e+=this.$t.Ot().th()?t.ih:t.nh),e.trim()}Jr(t,i,n){return i?n?this.$t.Ot().th()?t.nh:t.ih:t.Gt:""}}class ci{constructor(t,i){this.sh=t,this.eh=i}rh(t){return null!==t&&(this.sh===t.sh&&this.eh===t.eh)}hh(){return new ci(this.sh,this.eh)}lh(){return this.sh}ah(){return this.eh}oh(){return this.eh-this.sh}Ni(){return this.eh===this.sh||Number.isNaN(this.eh)||Number.isNaN(this.sh)}Qn(t){return null===t?this:new ci(Math.min(this.lh(),t.lh()),Math.max(this.ah(),t.ah()))}_h(t){if(!g(t))return;if(0===this.eh-this.sh)return;const i=.5*(this.eh+this.sh);let n=this.eh-i,s=this.sh-i;n*=t,s*=t,this.eh=i+n,this.sh=i+s}uh(t){g(t)&&(this.eh+=t,this.sh+=t)}dh(){return{minValue:this.sh,maxValue:this.eh}}static fh(t){return null===t?null:new ci(t.minValue,t.maxValue)}}class di{constructor(t,i){this.ph=t,this.mh=i||null}bh(){return this.ph}gh(){return this.mh}dh(){return null===this.ph?null:{priceRange:this.ph.dh(),margins:this.mh||void 0}}static fh(t){return null===t?null:new di(ci.fh(t.priceRange),t.margins)}}class fi extends A{constructor(){super(...arguments),this.It=null}tt(t){this.It=t}Z({context:t,bitmapSize:i,horizontalPixelRatio:s,verticalPixelRatio:e}){if(null===this.It)return;if(!1===this.It.Ct)return;let r=[];if(0===this.It.wh.length){const t=Math.round(this.It.Mh*e);if(t>i.height)return;const n=Math.round(this.It.xh*e);if(n<0)return;const h=Math.round(this.It.Sh*s);if(h>i.width)return;const l=Math.round(this.It.yh*s);if(l<0)return;r=[{x:h,y:t},{x:h,y:n},{x:l,y:n},{x:l,y:t}]}else for(let t=0;t<this.It.wh.length;++t)r.push({x:Math.round(this.It.wh[t].x*s),y:Math.round(this.It.wh[t].y*e)});t.beginPath(),t.moveTo(r[r.length-1].x,r[r.length-1].y);for(let i=0;i<r.length;++i)t.lineTo(r[i].x,r[i].y);t.fillStyle=this.kh(this.It.cr,this.It.Ch),t.fill(),this.It.ui?(t.strokeStyle=this.It.Lt,t.lineWidth=this.It.Rt,n(t,this.It.Th)):(t.lineWidth=1e-5,t.strokeStyle=this.kh(this.It.cr,this.It.Ch)),t.stroke();const h=this.It.Ph;h&&this.Rh(t,r[0],r[2],h)}Rh(t,i,n,{innerColor:s,outlineColor:e,label:r,fontSizeRem:h=2,lineWidth:l=8}){t.font=`${h}rem 'Arial'`;const a=t.measureText(r),o=t=>t*parseFloat(getComputedStyle(document.documentElement).fontSize),_=o(h+.5),u=i.y-_/2,c=new Path2D,d=a.width+o(h),f=i.x-d;c.roundRect(f,u,d,_,_/2),t.strokeStyle=e,t.lineWidth=l,t.fillStyle=s,t.stroke(c),t.fill(c),t.fillStyle="white",t.fillText(r,f+o(1),u+o(h)),t.strokeStyle=s,t.fillStyle=s;const p=new Path2D;p.roundRect(n.x-10,n.y-10,20,20,10),t.fill(p)}kh(t,i){3===(t=t.substring(1)).length&&(t=`${t[0]}${t[0]}${t[1]}${t[1]}${t[2]}${t[2]}`);return`rgba(${parseInt(t.substring(0,2),16)}, ${parseInt(t.substring(2,4),16)}, ${parseInt(t.substring(4,6),16)}, ${i})`}}class pi{constructor(t){this.Dh={cr:"#000",Ch:1,Lt:"#000",Th:0,Rt:1,ui:!1,wh:[],Sh:0,yh:0,Mh:0,xh:0,Ct:!1,$i:0,At:0},this.Oh=new fi,this.vt=!0,this.Ts=t,this.Ps=t.Ut(),this.Oh.tt(this.Dh)}gt(){this.vt=!0}Mt(){return this.Ts.Ct()?(this.vt&&(this.hr(),this.vt=!1),this.Oh):null}}class vi extends pi{constructor(t,i){super(t),this.Bh=i}hr(){const t=this.Dh,i=this.Bh.F();if(t.Ct=!1,this.Ts.Ct())if(t.cr=i.fillColor,t.Ch=i.fillOpacity,t.Lt=i.borderColor,t.Th=i.borderStyle,t.Rt=i.borderWidth,t.ui=i.borderVisible,t.Ph=i.spreadBoxParams,t.wh=[],t.Ct=!0,0===i.corners.length){const i=this.Bh.Lh(),n=this.Bh.zh();if(null===i||null===n)return;const s=this.Bh.Ah(),e=this.Bh.Eh();if(null===s||null===e)return;t.Sh=s,t.yh=e,t.Mh=i,t.xh=n}else for(let n=0;n<i.corners.length;++n){const s=this.Bh.Ih(i.corners[n].time),e=this.Bh.Vh(i.corners[n].price);if(null===s||null===e)return;t.wh.push({x:s,y:e})}}}class mi{constructor(t,i){this.Tr=t,this.un=i,this.Nh=new vi(t,this)}Fh(t){b(this.un,t),this.gt(),this.Tr.Ut().Wh()}F(){return this.un}jh(){return this.Nh}gt(){this.Nh.gt()}Ah(){return this.Ih(this.un.earlyTime)}Eh(){return this.Ih(this.un.lateTime)}Lh(){return this.Vh(this.un.highPrice)}zh(){return this.Vh(this.un.lowPrice)}Ih(t){const i=this.Tr.Ut().yt(),n=i.$h({Hh:t},!0);return i.Ni()||null===n?null:i.Et(n)}Vh(t){const i=this.Tr,n=i.Ot();if(i.Ut().yt().Ni()||n.Ni())return null;const s=i.Tt();return null===s?null:n.Dt(t,s.Bt)}}class bi extends Ut{constructor(t,i){super(t),this.Uh=i}hr(){const t=this.er;t.Ct=!1;const i=this.Uh.F();if(!this.Ts.Ct()||!i.lineVisible)return;const n=this.Uh.Vh();null!==n&&(t.Ct=!0,t.et=n,t.D=i.color,t.rt=i.lineWidth,t.Ft=i.lineStyle,t.nr=this.Uh.F().id)}}class gi extends U{constructor(t,i){super(),this.Tr=t,this.Uh=i}Ei(t,i,n){t.Ct=!1,i.Ct=!1;const s=this.Uh.F(),e=s.axisLabelVisible,r=""!==s.title,h=this.Tr;if(!e||!h.Ct())return;const l=this.Uh.Vh();if(null===l)return;r&&(i.Gt=s.title,i.Ct=!0),i.Lt=h.Ut().zt(l/h.Ot().At()),t.Gt=this.qh(s.price),t.Ct=!0;const a=v(s.axisLabelColor||s.color);n.t=a.t;const o=s.axisLabelTextColor||a.i;t.D=o,i.D=o,n.yi=l}qh(t){const i=this.Tr.Tt();return null===i?"":this.Tr.Ot().Fi(t,i.Bt)}}class wi{constructor(t,i){this.Tr=t,this.un=i,this.Yh=new bi(t,this),this.Xe=new gi(t,this),this.Xh=new $t(this.Xe,t,t.Ut())}Fh(t){b(this.un,t),this.gt(),this.Tr.Ut().Wh()}F(){return this.un}jh(){return this.Yh}Zh(){return this.Xh}Kh(){return this.Xe}gt(){this.Yh.gt(),this.Xe.gt()}Vh(){const t=this.Tr,i=t.Ot();if(t.Ut().yt().Ni()||i.Ni())return null;const n=t.Tt();return null===n?null:i.Dt(this.un.price,n.Bt)}}class Mi extends K{constructor(t){super(),this.Hi=t}Ut(){return this.Hi}}const xi={Bar:(t,i,n,s)=>{var e;const r=i.upColor,a=i.downColor,o=h(t(n,s)),_=l(o.Bt[0])<=l(o.Bt[3]);return{ie:null!==(e=o.D)&&void 0!==e?e:_?r:a}},Candlestick:(t,i,n,s)=>{var e,r,a;const o=i.upColor,_=i.downColor,u=i.borderUpColor,c=i.borderDownColor,d=i.wickUpColor,f=i.wickDownColor,p=h(t(n,s)),v=l(p.Bt[0])<=l(p.Bt[3]);return{ie:null!==(e=p.D)&&void 0!==e?e:v?o:_,Pe:null!==(r=p.Lt)&&void 0!==r?r:v?u:c,Te:null!==(a=p.Gh)&&void 0!==a?a:v?d:f}},Area:(t,i,n,s)=>{var e,r,l,a;const o=h(t(n,s));return{ie:null!==(e=o.ot)&&void 0!==e?e:i.lineColor,ot:null!==(r=o.ot)&&void 0!==r?r:i.lineColor,bs:null!==(l=o.bs)&&void 0!==l?l:i.topColor,gs:null!==(a=o.gs)&&void 0!==a?a:i.bottomColor}},Baseline:(t,i,n,s)=>{var e,r,l,a,o,_;const u=h(t(n,s));return{ie:u.Bt[3]>=i.baseValue.price?i.topLineColor:i.bottomLineColor,be:null!==(e=u.be)&&void 0!==e?e:i.topLineColor,ge:null!==(r=u.ge)&&void 0!==r?r:i.bottomLineColor,de:null!==(l=u.de)&&void 0!==l?l:i.topFillColor1,fe:null!==(a=u.fe)&&void 0!==a?a:i.topFillColor2,pe:null!==(o=u.pe)&&void 0!==o?o:i.bottomFillColor1,ve:null!==(_=u.ve)&&void 0!==_?_:i.bottomFillColor2}},Line:(t,i,n,s)=>{var e,r;const l=h(t(n,s));return{ie:null!==(e=l.D)&&void 0!==e?e:i.color,ot:null!==(r=l.D)&&void 0!==r?r:i.color}},Histogram:(t,i,n,s)=>{var e;return{ie:null!==(e=h(t(n,s)).D)&&void 0!==e?e:i.color}}};class Si{constructor(t){this.Jh=(t,i)=>void 0!==i?i.Bt:this.Tr.zn().Qh(t),this.Tr=t,this.tl=xi[t.il()]}Ls(t,i){return this.tl(this.Jh,this.Tr.F(),t,i)}}var yi;!function(t){t[t.NearestLeft=-1]="NearestLeft",t[t.None=0]="None",t[t.NearestRight=1]="NearestRight"}(yi||(yi={}));const ki=30;class Ci{constructor(){this.nl=[],this.sl=new Map,this.el=new Map}rl(){return this.Ns()>0?this.nl[this.nl.length-1]:null}hl(){return this.Ns()>0?this.ll(0):null}Ln(){return this.Ns()>0?this.ll(this.nl.length-1):null}Ns(){return this.nl.length}Ni(){return 0===this.Ns()}Ar(t){return null!==this.al(t,0)}Qh(t){return this.ol(t)}ol(t,i=0){const n=this.al(t,i);return null===n?null:Object.assign(Object.assign({},this._l(n)),{Ys:this.ll(n)})}Us(){return this.nl}ul(t,i,n){if(this.Ni())return null;let s=null;for(const e of n){s=Ti(s,this.cl(t,i,e))}return s}tt(t){this.el.clear(),this.sl.clear(),this.nl=t}ll(t){return this.nl[t].Ys}_l(t){return this.nl[t]}al(t,i){const n=this.dl(t);if(null===n&&0!==i)switch(i){case-1:return this.fl(t);case 1:return this.pl(t);default:throw new TypeError("Unknown search mode")}return n}fl(t){let i=this.vl(t);return i>0&&(i-=1),i!==this.nl.length&&this.ll(i)<t?i:null}pl(t){const i=this.ml(t);return i!==this.nl.length&&t<this.ll(i)?i:null}dl(t){const i=this.vl(t);return i===this.nl.length||t<this.nl[i].Ys?null:i}vl(t){return mt(this.nl,t,((t,i)=>t.Ys<i))}ml(t){return bt(this.nl,t,((t,i)=>i.Ys>t))}bl(t,i,n){let s=null;for(let e=t;e<i;e++){const t=this.nl[e].Bt[n];Number.isNaN(t)||(null===s?s={gl:t,wl:t}:(t<s.gl&&(s.gl=t),t>s.wl&&(s.wl=t)))}return s}cl(t,i,n){if(this.Ni())return null;let s=null;const e=h(this.hl()),r=h(this.Ln()),l=Math.max(t,e),a=Math.min(i,r),o=Math.ceil(l/ki)*ki,_=Math.max(o,Math.floor(a/ki)*ki);{const t=this.vl(l),e=this.ml(Math.min(a,o,i));s=Ti(s,this.bl(t,e,n))}let u=this.sl.get(n);void 0===u&&(u=new Map,this.sl.set(n,u));for(let t=Math.max(o+1,l);t<_;t+=ki){const i=Math.floor(t/ki);let e=u.get(i);if(void 0===e){const t=this.vl(i*ki),s=this.ml((i+1)*ki-1);e=this.bl(t,s,n),u.set(i,e)}s=Ti(s,e)}{const t=this.vl(_),i=this.ml(a);s=Ti(s,this.bl(t,i,n))}return s}}function Ti(t,i){if(null===t)return i;if(null===i)return t;return{gl:Math.min(t.gl,i.gl),wl:Math.max(t.wl,i.wl)}}class Pi extends Mi{constructor(t,i,n){super(t),this.It=new Ci,this.Yh=new _i(this),this.Ml=[],this.xl=[],this.Sl=new qt(this),this.yl=null,this.kl=null,this.Cl=[],this.Tl=[],this.Pl=null,this.un=i,this.Rl=n;const s=new ui(this);this.rn=[s],this.Xh=new $t(s,this,t),"Area"!==n&&"Line"!==n&&"Baseline"!==n||(this.yl=new Gt(this)),this.Dl(),this.Ol()}M(){null!==this.Pl&&clearTimeout(this.Pl)}Kr(t){return this.un.priceLineColor||t}Lr(t){const i={zr:!0},n=this.Ot();if(this.Ut().yt().Ni()||n.Ni()||this.It.Ni())return i;const s=this.Ut().yt().Vs(),e=this.Tt();if(null===s||null===e)return i;let r,h;if(t){const t=this.It.rl();if(null===t)return i;r=t,h=t.Ys}else{const t=this.It.ol(s.ci(),-1);if(null===t)return i;if(r=this.It.Qh(t.Ys),null===r)return i;h=t.Ys}const l=r.Bt[3],a=this.zs().Ls(h,{Bt:r}),o=n.Dt(l,e.Bt);return{zr:!1,ut:l,Gt:n.Fi(l,e.Bt),ih:n.Bl(l),nh:n.Ll(l,e.Bt),D:a.ie,yi:o,Ys:h}}zs(){return null!==this.kl||(this.kl=new Si(this)),this.kl}F(){return this.un}Fh(t){const i=t.priceScaleId;void 0!==i&&i!==this.un.priceScaleId&&this.Ut().zl(this,i),b(this.un,t),void 0!==t.priceFormat&&(this.Dl(),this.Ut().Al()),this.Ut().El(this),this.Ut().Il(),this.bn.gt("options")}tt(t,i){this.It.tt(t),this.Vl(),this.bn.gt("data"),this.cn.gt("data"),null!==this.yl&&(i&&i.Nl?this.yl.Rr():0===t.length&&this.yl.Pr());const n=this.Ut().Ke(this);this.Ut().Fl(n),this.Ut().El(this),this.Ut().Il(),this.Ut().Wh()}Wl(t){this.Cl=t,this.Vl();const i=this.Ut().Ke(this);this.cn.gt("data"),this.Ut().Fl(i),this.Ut().El(this),this.Ut().Il(),this.Ut().Wh()}jl(){return this.Cl}Xr(){return this.Tl}$l(t){const i=new wi(this,t);return this.Ml.push(i),this.Ut().El(this),i}Hl(t){const i=this.Ml.indexOf(t);-1!==i&&this.Ml.splice(i,1),this.Ut().El(this)}Ul(t){const i=new mi(this,t);return this.xl.push(i),this.Ut().El(this),i}ql(t){const i=this.xl.indexOf(t);-1!==i&&this.xl.splice(i,1),this.Ut().El(this)}il(){return this.Rl}Tt(){const t=this.Yl();return null===t?null:{Bt:t.Bt[3],Xl:t._t}}Yl(){const t=this.Ut().yt().Vs();if(null===t)return null;const i=t.Ms();return this.It.ol(i,1)}zn(){return this.It}Zr(t){const i=this.It.Qh(t);return null===i?null:"Bar"===this.Rl||"Candlestick"===this.Rl?{oe:i.Bt[0],_e:i.Bt[1],ue:i.Bt[2],ce:i.Bt[3]}:i.Bt[3]}Zl(t){const i=this.yl;return null!==i&&i.Ct()?(null===this.Pl&&i.Or()&&(this.Pl=setTimeout((()=>{this.Pl=null,this.Ut().Kl()}),0)),i.Dr(),[i]):[]}Tn(){const t=[];this.Gl()||t.push(this.Sl),t.push(this.bn,this.Yh,this.cn);const i=this.Ml.map((t=>t.jh()));t.push(...i);const n=this.xl.map((t=>t.jh()));return t.push(...n),t}Ji(t){return[this.Xh,...this.Ml.map((t=>t.Zh()))]}Pn(t,i){if(i!==this.Yi&&!this.Gl())return[];const n=[...this.rn];for(const t of this.Ml)n.push(t.Kh());return n}Jl(t,i){if(void 0!==this.un.autoscaleInfoProvider){const n=this.un.autoscaleInfoProvider((()=>{const n=this.Ql(t,i);return null===n?null:n.dh()}));return di.fh(n)}return this.Ql(t,i)}ta(){return this.un.priceFormat.minMove}ia(){return this.na}Dn(){var t;this.bn.gt(),this.cn.gt();for(const t of this.rn)t.gt();for(const t of this.Ml)t.gt();for(const t of this.xl)t.gt();this.Yh.gt(),this.Sl.gt(),null===(t=this.yl)||void 0===t||t.gt()}Ot(){return h(super.Ot())}kt(t){if(!(("Line"===this.Rl||"Area"===this.Rl||"Baseline"===this.Rl)&&this.un.crosshairMarkerVisible))return null;const i=this.It.Qh(t);if(null===i)return null;return{ut:i.Bt[3],lt:this.sa(),Lt:this.ea(),Rt:this.ra(),Pt:this.ha(t)}}Gr(){return this.un.title}Ct(){return this.un.visible}Gl(){return!Q(this.Ot().la())}Ql(t,i){if(!w(t)||!w(i)||this.It.Ni())return null;const n="Line"===this.Rl||"Area"===this.Rl||"Baseline"===this.Rl||"Histogram"===this.Rl?[3]:[2,1],s=this.It.ul(t,i,n);let e=null!==s?new ci(s.gl,s.wl):null;if("Histogram"===this.il()){const t=this.un.base,i=new ci(t,t);e=null!==e?e.Qn(i):i}return new di(e,this.cn.Yr())}sa(){switch(this.Rl){case"Line":case"Area":case"Baseline":return this.un.crosshairMarkerRadius}return 0}ea(){switch(this.Rl){case"Line":case"Area":case"Baseline":{const t=this.un.crosshairMarkerBorderColor;if(0!==t.length)return t}}return null}ra(){switch(this.Rl){case"Line":case"Area":case"Baseline":return this.un.crosshairMarkerBorderWidth}return 0}ha(t){switch(this.Rl){case"Line":case"Area":case"Baseline":{const t=this.un.crosshairMarkerBackgroundColor;if(0!==t.length)return t}}return this.zs().Ls(t).ie}Dl(){switch(this.un.priceFormat.type){case"custom":this.na={format:this.un.priceFormat.formatter};break;case"volume":this.na=new rt(this.un.priceFormat.precision);break;case"percent":this.na=new et(this.un.priceFormat.precision);break;default:{const t=Math.pow(10,this.un.priceFormat.precision);this.na=new st(t,this.un.priceFormat.minMove*t)}}null!==this.Yi&&this.Yi.aa()}Vl(){const t=this.Ut().yt();if(!t.oa()||this.It.Ni())return void(this.Tl=[]);const i=h(this.It.hl());this.Tl=this.Cl.map(((n,s)=>{const e=h(t.$h(n.time,!0)),r=e<i?1:-1;return{time:h(this.It.ol(e,r)).Ys,position:n.position,shape:n.shape,color:n.color,id:n.id,internalId:s,text:n.text,size:n.size}}))}Ol(){switch(this.cn=new oi(this,this.Ut()),this.Rl){case"Bar":this.bn=new Tt(this,this.Ut());break;case"Candlestick":this.bn=new Et(this,this.Ut());break;case"Line":this.bn=new Nt(this,this.Ut());break;case"Area":this.bn=new yt(this,this.Ut());break;case"Baseline":this.bn=new zt(this,this.Ut());break;case"Histogram":this.bn=new Vt(this,this.Ut());break;default:throw Error("Unknown chart style assigned: "+this.Rl)}}}class Ri{constructor(t){this.un=t}_a(t,i,n){let s=t;if(0===this.un.mode)return s;const e=n.fn(),r=e.Tt();if(null===r)return s;const h=e.Dt(t,r),a=n.ua().filter((t=>t instanceof Pi)).reduce(((t,s)=>{if(n.Ge(s)||!s.Ct())return t;const e=s.Ot(),r=s.zn();if(e.Ni()||!r.Ar(i))return t;const h=r.Qh(i);if(null===h)return t;const a=l(s.Tt());return t.concat([e.Dt(h.Bt[3],a.Bt)])}),[]);if(0===a.length)return s;a.sort(((t,i)=>Math.abs(t-h)-Math.abs(i-h)));const o=a[0];return s=e.pn(o,r),s}}class Di extends A{constructor(){super(...arguments),this.It=null}tt(t){this.It=t}Z({context:t,bitmapSize:i,horizontalPixelRatio:s,verticalPixelRatio:e}){if(null===this.It)return;const r=Math.max(1,Math.floor(s));t.lineWidth=r,function(t,i){t.save(),t.lineWidth%2&&t.translate(.5,.5),i(),t.restore()}(t,(()=>{const l=h(this.It);if(l.ca){t.strokeStyle=l.da,n(t,l.fa),t.beginPath();for(const n of l.pa){const e=Math.round(n.va*s);t.moveTo(e,-r),t.lineTo(e,i.height+r)}t.stroke()}if(l.ma){t.strokeStyle=l.ba,n(t,l.ga),t.beginPath();for(const n of l.wa){const s=Math.round(n.va*e);t.moveTo(-r,s),t.lineTo(i.width+r,s)}t.stroke()}}))}}class Oi{constructor(t){this.jt=new Di,this.vt=!0,this.tn=t}gt(){this.vt=!0}Mt(){if(this.vt){const t=this.tn.Ut().F().grid,i={ma:t.horzLines.visible,ca:t.vertLines.visible,ba:t.horzLines.color,da:t.vertLines.color,ga:t.horzLines.style,fa:t.vertLines.style,wa:this.tn.fn().Ma(),pa:this.tn.Ut().yt().Ma()||[]};this.jt.tt(i),this.vt=!1}return this.jt}}class Bi{constructor(t){this.bn=new Oi(t)}jh(){return this.bn}}const Li={xa:4,Sa:1e-4};function zi(t,i){const n=100*(t-i)/i;return i<0?-n:n}function Ai(t,i){const n=zi(t.lh(),i),s=zi(t.ah(),i);return new ci(n,s)}function Ei(t,i){const n=100*(t-i)/i+100;return i<0?-n:n}function Ii(t,i){const n=Ei(t.lh(),i),s=Ei(t.ah(),i);return new ci(n,s)}function Vi(t,i){const n=Math.abs(t);if(n<1e-15)return 0;const s=Dt(n+i.Sa)+i.xa;return t<0?-s:s}function Ni(t,i){const n=Math.abs(t);if(n<1e-15)return 0;const s=Math.pow(10,n-i.xa)-i.Sa;return t<0?-s:s}function Fi(t,i){if(null===t)return null;const n=Vi(t.lh(),i),s=Vi(t.ah(),i);return new ci(n,s)}function Wi(t,i){if(null===t)return null;const n=Ni(t.lh(),i),s=Ni(t.ah(),i);return new ci(n,s)}function ji(t){if(null===t)return Li;const i=Math.abs(t.ah()-t.lh());if(i>=1||i<1e-15)return Li;const n=Math.ceil(Math.abs(Math.log10(i))),s=Li.xa+n;return{xa:s,Sa:1/Math.pow(10,s)}}class $i{constructor(t,i){if(this.ya=t,this.ka=i,function(t){if(t<0)return!1;for(let i=t;i>1;i/=10)if(i%10!=0)return!1;return!0}(this.ya))this.Ca=[2,2.5,2];else{this.Ca=[];for(let t=this.ya;1!==t;){if(t%2==0)this.Ca.push(2),t/=2;else{if(t%5!=0)throw new Error("unexpected base");this.Ca.push(2,2.5),t/=5}if(this.Ca.length>100)throw new Error("something wrong with base")}}}Ta(t,i,n){const s=0===this.ya?0:1/this.ya;let e=Math.pow(10,Math.max(0,Math.ceil(Dt(t-i)))),r=0,h=this.ka[0];for(;;){const t=Rt(e,s,1e-14)&&e>s+1e-14,i=Rt(e,n*h,1e-14),l=Rt(e,1,1e-14);if(!(t&&i&&l))break;e/=h,h=this.ka[++r%this.ka.length]}if(e<=s+1e-14&&(e=s),e=Math.max(1,e),this.Ca.length>0&&(l=e,a=1,o=1e-14,Math.abs(l-a)<o))for(r=0,h=this.Ca[0];Rt(e,n*h,1e-14)&&e>s+1e-14;)e/=h,h=this.Ca[++r%this.Ca.length];var l,a,o;return e}}class Hi{constructor(t,i,n,s){this.Pa=[],this.Ii=t,this.ya=i,this.Ra=n,this.Da=s}Ta(t,i){if(t<i)throw new Error("high < low");const n=this.Ii.At(),s=(t-i)*this.Oa()/n,e=new $i(this.ya,[2,2.5,2]),r=new $i(this.ya,[2,2,2.5]),h=new $i(this.ya,[2.5,2,2]),l=[];return l.push(e.Ta(t,i,s),r.Ta(t,i,s),h.Ta(t,i,s)),function(t){if(t.length<1)throw Error("array is empty");let i=t[0];for(let n=1;n<t.length;++n)t[n]<i&&(i=t[n]);return i}(l)}Ba(){const t=this.Ii,i=t.Tt();if(null===i)return void(this.Pa=[]);const n=t.At(),s=this.Ra(n-1,i),e=this.Ra(0,i),r=this.Ii.F().entireTextOnly?this.La()/2:0,h=r,l=n-1-r,a=Math.max(s,e),o=Math.min(s,e);if(a===o)return void(this.Pa=[]);let _=this.Ta(a,o),u=a%_;u+=u<0?_:0;const c=a>=o?1:-1;let d=null,f=0;for(let n=a-u;n>o;n-=_){const s=this.Da(n,i,!0);null!==d&&Math.abs(s-d)<this.Oa()||(s<h||s>l||(f<this.Pa.length?(this.Pa[f].va=s,this.Pa[f].za=t.Aa(n)):this.Pa.push({va:s,za:t.Aa(n)}),f++,d=s,t.Ea()&&(_=this.Ta(n*c,o))))}this.Pa.length=f}Ma(){return this.Pa}La(){return this.Ii.T()}Oa(){return Math.ceil(2.5*this.La())}}function Ui(t){return t.slice().sort(((t,i)=>h(t.Zi())-h(i.Zi())))}var qi;!function(t){t[t.Normal=0]="Normal",t[t.Logarithmic=1]="Logarithmic",t[t.Percentage=2]="Percentage",t[t.IndexedTo100=3]="IndexedTo100"}(qi||(qi={}));const Yi=new et,Xi=new st(100,1);class Zi{constructor(t,i,n,s){this.Ia=0,this.Va=null,this.ph=null,this.Na=null,this.Fa={Wa:!1,ja:null},this.$a=0,this.Ha=0,this.Ua=new m,this.qa=new m,this.Ya=[],this.Xa=null,this.Za=null,this.Ka=null,this.Ga=null,this.na=Xi,this.Ja=ji(null),this.Qa=t,this.un=i,this.io=n,this.no=s,this.so=new Hi(this,100,this.eo.bind(this),this.ro.bind(this))}la(){return this.Qa}F(){return this.un}Fh(t){if(b(this.un,t),this.aa(),void 0!==t.mode&&this.ho({lr:t.mode}),void 0!==t.scaleMargins){const i=r(t.scaleMargins.top),n=r(t.scaleMargins.bottom);if(i<0||i>1)throw new Error(`Invalid top margin - expect value between 0 and 1, given=${i}`);if(n<0||n>1||i+n>1)throw new Error(`Invalid bottom margin - expect value between 0 and 1, given=${n}`);if(i+n>1)throw new Error(`Invalid margins - sum of margins must be less than 1, given=${i+n}`);this.lo(),this.Za=null}}ao(){return this.un.autoScale}Ea(){return 1===this.un.mode}th(){return 2===this.un.mode}oo(){return 3===this.un.mode}lr(){return{Fn:this.un.autoScale,_o:this.un.invertScale,lr:this.un.mode}}ho(t){const i=this.lr();let n=null;void 0!==t.Fn&&(this.un.autoScale=t.Fn),void 0!==t.lr&&(this.un.mode=t.lr,2!==t.lr&&3!==t.lr||(this.un.autoScale=!0),this.Fa.Wa=!1),1===i.lr&&t.lr!==i.lr&&(!function(t,i){if(null===t)return!1;const n=Ni(t.lh(),i),s=Ni(t.ah(),i);return isFinite(n)&&isFinite(s)}(this.ph,this.Ja)?this.un.autoScale=!0:(n=Wi(this.ph,this.Ja),null!==n&&this.uo(n))),1===t.lr&&t.lr!==i.lr&&(n=Fi(this.ph,this.Ja),null!==n&&this.uo(n));const s=i.lr!==this.un.mode;s&&(2===i.lr||this.th())&&this.aa(),s&&(3===i.lr||this.oo())&&this.aa(),void 0!==t._o&&i._o!==t._o&&(this.un.invertScale=t._o,this.co()),this.qa.m(i,this.lr())}do(){return this.qa}T(){return this.io.fontSize}At(){return this.Ia}fo(t){this.Ia!==t&&(this.Ia=t,this.lo(),this.Za=null)}po(){if(this.Va)return this.Va;const t=this.At()-this.vo()-this.mo();return this.Va=t,t}bh(){return this.bo(),this.ph}uo(t,i){const n=this.ph;(i||null===n&&null!==t||null!==n&&!n.rh(t))&&(this.Za=null,this.ph=t)}Ni(){return this.bo(),0===this.Ia||!this.ph||this.ph.Ni()}wo(t){return this._o()?t:this.At()-1-t}Dt(t,i){return this.th()?t=zi(t,i):this.oo()&&(t=Ei(t,i)),this.ro(t,i)}$s(t,i,n){this.bo();const s=this.mo(),e=h(this.bh()),r=e.lh(),l=e.ah(),a=this.po()-1,o=this._o(),_=a/(l-r),u=void 0===n?0:n.from,c=void 0===n?t.length:n.to,d=this.Mo();for(let n=u;n<c;n++){const e=t[n],h=e.ut;if(isNaN(h))continue;let l=h;null!==d&&(l=d(e.ut,i));const a=s+_*(l-r),u=o?a:this.Ia-1-a;e.et=u}}le(t,i,n){this.bo();const s=this.mo(),e=h(this.bh()),r=e.lh(),l=e.ah(),a=this.po()-1,o=this._o(),_=a/(l-r),u=void 0===n?0:n.from,c=void 0===n?t.length:n.to,d=this.Mo();for(let n=u;n<c;n++){const e=t[n];let h=e.oe,l=e._e,a=e.ue,u=e.ce;null!==d&&(h=d(e.oe,i),l=d(e._e,i),a=d(e.ue,i),u=d(e.ce,i));let c=s+_*(h-r),f=o?c:this.Ia-1-c;e.re=f,c=s+_*(l-r),f=o?c:this.Ia-1-c,e.ne=f,c=s+_*(a-r),f=o?c:this.Ia-1-c,e.se=f,c=s+_*(u-r),f=o?c:this.Ia-1-c,e.he=f}}pn(t,i){const n=this.eo(t,i);return this.xo(n,i)}xo(t,i){let n=t;return this.th()?n=function(t,i){return i<0&&(t=-t),t/100*i+i}(n,i):this.oo()&&(n=function(t,i){return t-=100,i<0&&(t=-t),t/100*i+i}(n,i)),n}ua(){return this.Ya}So(){if(this.Xa)return this.Xa;let t=[];for(let i=0;i<this.Ya.length;i++){const n=this.Ya[i];null===n.Zi()&&n.Ki(i+1),t.push(n)}return t=Ui(t),this.Xa=t,this.Xa}yo(t){-1===this.Ya.indexOf(t)&&(this.Ya.push(t),this.aa(),this.ko())}Co(t){const i=this.Ya.indexOf(t);if(-1===i)throw new Error("source is not attached to scale");this.Ya.splice(i,1),0===this.Ya.length&&(this.ho({Fn:!0}),this.uo(null)),this.aa(),this.ko()}Tt(){let t=null;for(const i of this.Ya){const n=i.Tt();null!==n&&((null===t||n.Xl<t.Xl)&&(t=n))}return null===t?null:t.Bt}_o(){return this.un.invertScale}Ma(){const t=null===this.Tt();if(null!==this.Za&&(t||this.Za.To===t))return this.Za.Ma;this.so.Ba();const i=this.so.Ma();return this.Za={Ma:i,To:t},this.Ua.m(),i}Po(){return this.Ua}Ro(t){this.th()||this.oo()||null===this.Ka&&null===this.Na&&(this.Ni()||(this.Ka=this.Ia-t,this.Na=h(this.bh()).hh()))}Do(t){if(this.th()||this.oo())return;if(null===this.Ka)return;this.ho({Fn:!1}),(t=this.Ia-t)<0&&(t=0);let i=(this.Ka+.2*(this.Ia-1))/(t+.2*(this.Ia-1));const n=h(this.Na).hh();i=Math.max(i,.1),n._h(i),this.uo(n)}Oo(){this.th()||this.oo()||(this.Ka=null,this.Na=null)}Bo(t){this.ao()||null===this.Ga&&null===this.Na&&(this.Ni()||(this.Ga=t,this.Na=h(this.bh()).hh()))}Lo(t){if(this.ao())return;if(null===this.Ga)return;const i=h(this.bh()).oh()/(this.po()-1);let n=t-this.Ga;this._o()&&(n*=-1);const s=n*i,e=h(this.Na).hh();e.uh(s),this.uo(e,!0),this.Za=null}zo(){this.ao()||null!==this.Ga&&(this.Ga=null,this.Na=null)}ia(){return this.na||this.aa(),this.na}Fi(t,i){switch(this.un.mode){case 2:return this.ia().format(zi(t,i));case 3:return this.ia().format(Ei(t,i));default:return this.qh(t)}}Aa(t){switch(this.un.mode){case 2:case 3:return this.ia().format(t);default:return this.qh(t)}}Bl(t){return this.qh(t,h(this.Ao()).ia())}Ll(t,i){return t=zi(t,i),Yi.format(t)}Eo(){return this.Ya}Io(t){this.Fa={ja:t,Wa:!1}}Dn(){this.Ya.forEach((t=>t.Dn()))}aa(){this.Za=null;const t=this.Ao();let i=100;null!==t&&(i=Math.round(1/t.ta())),this.na=Xi,this.th()?(this.na=Yi,i=100):this.oo()?(this.na=new st(100,1),i=100):null!==t&&(this.na=t.ia()),this.so=new Hi(this,i,this.eo.bind(this),this.ro.bind(this)),this.so.Ba()}ko(){this.Xa=null}Ao(){return this.Ya[0]||null}vo(){return this._o()?this.un.scaleMargins.bottom*this.At()+this.Ha:this.un.scaleMargins.top*this.At()+this.$a}mo(){return this._o()?this.un.scaleMargins.top*this.At()+this.$a:this.un.scaleMargins.bottom*this.At()+this.Ha}bo(){this.Fa.Wa||(this.Fa.Wa=!0,this.Vo())}lo(){this.Va=null}ro(t,i){if(this.bo(),this.Ni())return 0;t=this.Ea()&&t?Vi(t,this.Ja):t;const n=h(this.bh()),s=this.mo()+(this.po()-1)*(t-n.lh())/n.oh();return this.wo(s)}eo(t,i){if(this.bo(),this.Ni())return 0;const n=this.wo(t),s=h(this.bh()),e=s.lh()+s.oh()*((n-this.mo())/(this.po()-1));return this.Ea()?Ni(e,this.Ja):e}co(){this.Za=null,this.so.Ba()}Vo(){const t=this.Fa.ja;if(null===t)return;let i=null;const n=this.Eo();let s=0,e=0;for(const r of n){if(!r.Ct())continue;const n=r.Tt();if(null===n)continue;const l=r.Jl(t.Ms(),t.ci());let a=l&&l.bh();if(null!==a){switch(this.un.mode){case 1:a=Fi(a,this.Ja);break;case 2:a=Ai(a,n.Bt);break;case 3:a=Ii(a,n.Bt)}if(i=null===i?a:i.Qn(h(a)),null!==l){const t=l.gh();null!==t&&(s=Math.max(s,t.above),e=Math.max(s,t.below))}}}if(s===this.$a&&e===this.Ha||(this.$a=s,this.Ha=e,this.Za=null,this.lo()),null!==i){if(i.lh()===i.ah()){const t=this.Ao(),n=5*(null===t||this.th()||this.oo()?1:t.ta());this.Ea()&&(i=Wi(i,this.Ja)),i=new ci(i.lh()-n,i.ah()+n),this.Ea()&&(i=Fi(i,this.Ja))}if(this.Ea()){const t=Wi(i,this.Ja),n=ji(t);if(r=n,l=this.Ja,r.xa!==l.xa||r.Sa!==l.Sa){const s=null!==this.Na?Wi(this.Na,this.Ja):null;this.Ja=n,i=Fi(t,n),null!==s&&(this.Na=Fi(s,n))}}this.uo(i)}else null===this.ph&&(this.uo(new ci(-.5,.5)),this.Ja=ji(null));var r,l;this.Fa.Wa=!0}Mo(){return this.th()?zi:this.oo()?Ei:this.Ea()?t=>Vi(t,this.Ja):null}qh(t,i){return void 0===this.no.priceFormatter?(void 0===i&&(i=this.ia()),i.format(t)):this.no.priceFormatter(t)}}class Ki{constructor(t,i){this.Ya=[],this.No=new Map,this.Ia=0,this.Fo=0,this.Wo=1e3,this.Xa=null,this.jo=new m,this.$o=t,this.Hi=i,this.Ho=new Bi(this);const n=i.F();this.Uo=this.qo("left",n.leftPriceScale),this.Yo=this.qo("right",n.rightPriceScale),this.Uo.do().l(this.Xo.bind(this,this.Uo),this),this.Yo.do().l(this.Xo.bind(this,this.Yo),this),this.Zo(n)}Zo(t){if(t.leftPriceScale&&this.Uo.Fh(t.leftPriceScale),t.rightPriceScale&&this.Yo.Fh(t.rightPriceScale),t.localization&&(this.Uo.aa(),this.Yo.aa()),t.overlayPriceScales){const i=Array.from(this.No.values());for(const n of i){const i=h(n[0].Ot());i.Fh(t.overlayPriceScales),t.localization&&i.aa()}}}Ko(t){switch(t){case"left":return this.Uo;case"right":return this.Yo}return this.No.has(t)?r(this.No.get(t))[0].Ot():null}M(){this.Ut().Go().v(this),this.Uo.do().v(this),this.Yo.do().v(this),this.Ya.forEach((t=>{t.M&&t.M()})),this.jo.m()}Jo(){return this.Wo}Qo(t){this.Wo=t}Ut(){return this.Hi}$i(){return this.Fo}At(){return this.Ia}t_(t){this.Fo=t,this.i_()}fo(t){this.Ia=t,this.Uo.fo(t),this.Yo.fo(t),this.Ya.forEach((i=>{if(this.Ge(i)){const n=i.Ot();null!==n&&n.fo(t)}})),this.i_()}ua(){return this.Ya}Ge(t){const i=t.Ot();return null===i||this.Uo!==i&&this.Yo!==i}yo(t,i,n){const s=void 0!==n?n:this.s_().n_+1;this.e_(t,i,s)}Co(t){const i=this.Ya.indexOf(t);e(-1!==i,"removeDataSource: invalid data source"),this.Ya.splice(i,1);const n=h(t.Ot()).la();if(this.No.has(n)){const i=r(this.No.get(n)),s=i.indexOf(t);-1!==s&&(i.splice(s,1),0===i.length&&this.No.delete(n))}const s=t.Ot();s&&s.ua().indexOf(t)>=0&&s.Co(t),null!==s&&(s.ko(),this.r_(s)),this.Xa=null}Qe(t){return t===this.Uo?"left":t===this.Yo?"right":"overlay"}h_(){return this.Uo}l_(){return this.Yo}a_(t,i){t.Ro(i)}o_(t,i){t.Do(i),this.i_()}__(t){t.Oo()}u_(t,i){t.Bo(i)}c_(t,i){t.Lo(i),this.i_()}d_(t){t.zo()}i_(){this.Ya.forEach((t=>{t.Dn()}))}fn(){let t=null;return this.Hi.F().rightPriceScale.visible&&0!==this.Yo.ua().length?t=this.Yo:this.Hi.F().leftPriceScale.visible&&0!==this.Uo.ua().length?t=this.Uo:0!==this.Ya.length&&(t=this.Ya[0].Ot()),null===t&&(t=this.Yo),t}Je(){let t=null;return this.Hi.F().rightPriceScale.visible?t=this.Yo:this.Hi.F().leftPriceScale.visible&&(t=this.Uo),t}r_(t){null!==t&&t.ao()&&this.f_(t)}p_(t){const i=this.$o.Vs();t.ho({Fn:!0}),null!==i&&t.Io(i),this.i_()}v_(){this.f_(this.Uo),this.f_(this.Yo)}m_(){this.r_(this.Uo),this.r_(this.Yo),this.Ya.forEach((t=>{this.Ge(t)&&this.r_(t.Ot())})),this.i_(),this.Hi.Wh()}So(){return null===this.Xa&&(this.Xa=Ui(this.Ya)),this.Xa}b_(){return this.jo}g_(){return this.Ho}f_(t){const i=t.Eo();if(i&&i.length>0&&!this.$o.Ni()){const i=this.$o.Vs();null!==i&&t.Io(i)}t.Dn()}s_(){const t=this.So();if(0===t.length)return{w_:0,n_:0};let i=0,n=0;for(let s=0;s<t.length;s++){const e=t[s].Zi();null!==e&&(e<i&&(i=e),e>n&&(n=e))}return{w_:i,n_:n}}e_(t,i,n){let s=this.Ko(i);if(null===s&&(s=this.qo(i,this.Hi.F().overlayPriceScales)),this.Ya.push(t),!Q(i)){const n=this.No.get(i)||[];n.push(t),this.No.set(i,n)}s.yo(t),t.Gi(s),t.Ki(n),this.r_(s),this.Xa=null}Xo(t,i,n){i.lr!==n.lr&&this.f_(t)}qo(t,i){const n=Object.assign({visible:!0,autoScale:!0},S(i)),s=new Zi(t,n,this.Hi.F().layout,this.Hi.F().localization);return s.fo(this.At()),s}}const Gi=t=>t.getUTCFullYear();function Ji(t,i,n){return i.replace(/yyyy/g,(t=>nt(Gi(t),4))(t)).replace(/yy/g,(t=>nt(Gi(t)%100,2))(t)).replace(/MMMM/g,((t,i)=>new Date(t.getUTCFullYear(),t.getUTCMonth(),1).toLocaleString(i,{month:"long"}))(t,n)).replace(/MMM/g,((t,i)=>new Date(t.getUTCFullYear(),t.getUTCMonth(),1).toLocaleString(i,{month:"short"}))(t,n)).replace(/MM/g,(t=>nt((t=>t.getUTCMonth()+1)(t),2))(t)).replace(/dd/g,(t=>nt((t=>t.getUTCDate())(t),2))(t))}class Qi{constructor(t="yyyy-MM-dd",i="default"){this.M_=t,this.x_=i}S_(t){return Ji(t,this.M_,this.x_)}}class tn{constructor(t){this.y_=t||"%h:%m:%s"}S_(t){return this.y_.replace("%h",nt(t.getUTCHours(),2)).replace("%m",nt(t.getUTCMinutes(),2)).replace("%s",nt(t.getUTCSeconds(),2))}}const nn={k_:"yyyy-MM-dd",C_:"%h:%m:%s",T_:" ",P_:"default"};class sn{constructor(t={}){const i=Object.assign(Object.assign({},nn),t);this.R_=new Qi(i.k_,i.P_),this.D_=new tn(i.C_),this.O_=i.T_}S_(t){return`${this.R_.S_(t)}${this.O_}${this.D_.S_(t)}`}}class en{constructor(t,i=50){this.ze=0,this.Ae=1,this.Ee=1,this.Ve=new Map,this.Ie=new Map,this.B_=t,this.Ne=i}S_(t){const i=t._t,n=void 0===i.L_?new Date(1e3*i.Hh).getTime():new Date(Date.UTC(i.L_.year,i.L_.month-1,i.L_.day)).getTime(),s=this.Ve.get(n);if(void 0!==s)return s.z_;if(this.ze===this.Ne){const t=this.Ie.get(this.Ee);this.Ie.delete(this.Ee),this.Ve.delete(r(t)),this.Ee++,this.ze--}const e=this.B_(t);return this.Ve.set(n,{z_:e,$e:this.Ae}),this.Ie.set(this.Ae,n),this.ze++,this.Ae++,e}}class rn{constructor(t,i){e(t<=i,"right should be >= left"),this.A_=t,this.E_=i}Ms(){return this.A_}ci(){return this.E_}I_(){return this.E_-this.A_+1}Ar(t){return this.A_<=t&&t<=this.E_}rh(t){return this.A_===t.Ms()&&this.E_===t.ci()}}function hn(t,i){return null===t||null===i?t===i:t.rh(i)}class ln{constructor(){this.V_=new Map,this.Ve=null}N_(t,i){this.F_(i),this.Ve=null;for(let n=i;n<t.length;++n){const i=t[n];let s=this.V_.get(i.W_);void 0===s&&(s=[],this.V_.set(i.W_,s)),s.push({Ys:n,_t:i._t,j_:i.W_,H_:i.H_})}}U_(t,i){const n=Math.ceil(i/t);return null!==this.Ve&&this.Ve.q_===n||(this.Ve={Ma:this.Y_(n),q_:n}),this.Ve.Ma}F_(t){if(0===t)return void this.V_.clear();const i=[];this.V_.forEach(((n,s)=>{t<=n[0].Ys?i.push(s):n.splice(mt(n,t,(i=>i.Ys<t)),1/0)}));for(const t of i)this.V_.delete(t)}Y_(t){let i=[];for(const n of Array.from(this.V_.keys()).sort(((t,i)=>i-t))){if(!this.V_.get(n))continue;const s=i;i=[];const e=s.length;let h=0;const l=r(this.V_.get(n)),a=l.length;let o=1/0,_=-1/0;for(let n=0;n<a;n++){const r=l[n],a=r.Ys;for(;h<e;){const t=s[h],n=t.Ys;if(!(n<a)){o=n;break}h++,i.push(t),_=n,o=1/0}o-a>=t&&a-_>=t&&(i.push(r),_=a)}for(;h<e;h++)i.push(s[h])}return i}}class an{constructor(t){this.X_=t}Z_(){return null===this.X_?null:new rn(Math.floor(this.X_.Ms()),Math.ceil(this.X_.ci()))}K_(){return this.X_}static G_(){return new an(null)}}var on,_n,un,cn,dn;!function(t){t[t.Year=0]="Year",t[t.Month=1]="Month",t[t.DayOfMonth=2]="DayOfMonth",t[t.Time=3]="Time",t[t.TimeWithSeconds=4]="TimeWithSeconds"}(on||(on={}));class fn{constructor(t,i,n){this.Fo=0,this.J_=null,this.Q_=[],this.Ga=null,this.Ka=null,this.tu=new ln,this.iu=new Map,this.nu=an.G_(),this.su=!0,this.eu=new m,this.ru=new m,this.hu=new m,this.lu=null,this.au=null,this.ou=[],this.un=i,this.no=n,this._u=i.rightOffset,this.uu=i.barSpacing,this.Hi=t,this.cu()}F(){return this.un}du(t){b(this.no,t),this.fu(),this.cu()}Fh(t,i){var n;b(this.un,t),this.un.fixLeftEdge&&this.pu(),this.un.fixRightEdge&&this.vu(),void 0!==t.barSpacing&&this.Hi.Kn(t.barSpacing),void 0!==t.rightOffset&&this.Hi.Gn(t.rightOffset),void 0!==t.minBarSpacing&&this.Hi.Kn(null!==(n=t.barSpacing)&&void 0!==n?n:this.uu),this.fu(),this.cu(),this.hu.m()}vn(t){var i,n;return null!==(n=null===(i=this.Q_[t])||void 0===i?void 0:i._t)&&void 0!==n?n:null}Ui(t){var i;return null!==(i=this.Q_[t])&&void 0!==i?i:null}$h(t,i){if(this.Q_.length<1)return null;if(t.Hh>this.Q_[this.Q_.length-1]._t.Hh)return i?this.Q_.length-1:null;const n=mt(this.Q_,t.Hh,((t,i)=>t._t.Hh<i));return t.Hh<this.Q_[n]._t.Hh?i?n:null:n}Ni(){return 0===this.Fo||0===this.Q_.length||null===this.J_}oa(){return this.Q_.length>0}Vs(){return this.mu(),this.nu.Z_()}bu(){return this.mu(),this.nu.K_()}gu(){const t=this.Vs();if(null===t)return null;const i={from:t.Ms(),to:t.ci()};return this.wu(i)}wu(t){const i=Math.round(t.from),n=Math.round(t.to),s=h(this.Mu()),e=h(this.xu());return{from:h(this.vn(Math.max(s,i))),to:h(this.vn(Math.min(e,n)))}}Su(t){return{from:h(this.$h(t.from,!0)),to:h(this.$h(t.to,!0))}}$i(){return this.Fo}t_(t){if(!isFinite(t)||t<=0)return;if(this.Fo===t)return;const i=this.bu(),n=this.Fo;if(this.Fo=t,this.su=!0,this.un.lockVisibleTimeRangeOnResize&&0!==n){const i=this.uu*t/n;this.uu=i}if(this.un.fixLeftEdge&&null!==i&&i.Ms()<=0){const i=n-t;this._u-=Math.round(i/this.uu)+1,this.su=!0}this.yu(),this.ku()}Et(t){if(this.Ni()||!w(t))return 0;const i=this.Cu()+this._u-t;return this.Fo-(i+.5)*this.uu-1}js(t,i){const n=this.Cu(),s=void 0===i?0:i.from,e=void 0===i?t.length:i.to;for(let i=s;i<e;i++){const s=t[i]._t,e=n+this._u-s,r=this.Fo-(e+.5)*this.uu-1;t[i].st=r}}Tu(t){return Math.ceil(this.Pu(t))}Gn(t){this.su=!0,this._u=t,this.ku(),this.Hi.Ru(),this.Hi.Wh()}Ks(){return this.uu}Kn(t){this.Du(t),this.ku(),this.Hi.Ru(),this.Hi.Wh()}Ou(){return this._u}Ma(){if(this.Ni())return null;if(null!==this.au)return this.au;const t=this.uu,i=5*(this.Hi.F().layout.fontSize+4),n=Math.round(i/t),s=h(this.Vs()),e=Math.max(s.Ms(),s.Ms()-n),r=Math.max(s.ci(),s.ci()-n),l=this.tu.U_(t,i),a=this.Mu()+n,o=this.xu()-n,_=this.Bu(),u=this.un.fixLeftEdge||_,c=this.un.fixRightEdge||_;let d=0;for(const t of l){if(!(e<=t.Ys&&t.Ys<=r))continue;let n;d<this.ou.length?(n=this.ou[d],n.va=this.Et(t.Ys),n.za=this.Lu(t),n.j_=t.j_):(n={zu:!1,va:this.Et(t.Ys),za:this.Lu(t),j_:t.j_},this.ou.push(n)),this.uu>i/2&&!_?n.zu=!1:n.zu=u&&t.Ys<=a||c&&t.Ys>=o,d++}return this.ou.length=d,this.au=this.ou,this.ou}Au(){this.su=!0,this.Kn(this.un.barSpacing),this.Gn(this.un.rightOffset)}Eu(t){this.su=!0,this.J_=t,this.ku(),this.pu()}Iu(t,i){const n=this.Pu(t),s=this.Ks(),e=s+i*(s/10);this.Kn(e),this.un.rightBarStaysOnScroll||this.Gn(this.Ou()+(n-this.Pu(t)))}Ro(t){this.Ga&&this.zo(),null===this.Ka&&null===this.lu&&(this.Ni()||(this.Ka=t,this.Vu()))}Do(t){if(null===this.lu)return;const i=Pt(this.Fo-t,0,this.Fo),n=Pt(this.Fo-h(this.Ka),0,this.Fo);0!==i&&0!==n&&this.Kn(this.lu.Ks*i/n)}Oo(){null!==this.Ka&&(this.Ka=null,this.Nu())}Bo(t){null===this.Ga&&null===this.lu&&(this.Ni()||(this.Ga=t,this.Vu()))}Lo(t){if(null===this.Ga)return;const i=(this.Ga-t)/this.Ks();this._u=h(this.lu).Ou+i,this.su=!0,this.ku()}zo(){null!==this.Ga&&(this.Ga=null,this.Nu())}Fu(){this.Wu(this.un.rightOffset)}Wu(t,i=400){if(!isFinite(t))throw new RangeError("offset is required and must be finite number");if(!isFinite(i)||i<=0)throw new RangeError("animationDuration (optional) must be finite positive number");const n=this._u,s=performance.now();this.Hi.Yn({ju:t=>(t-s)/i>=1,$u:e=>{const r=(e-s)/i;return r>=1?t:n+(t-n)*r}})}gt(t,i){this.su=!0,this.Q_=t,this.tu.N_(t,i),this.ku()}Hu(){return this.eu}Uu(){return this.ru}qu(){return this.hu}Cu(){return this.J_||0}Yu(t){const i=t.I_();this.Du(this.Fo/i),this._u=t.ci()-this.Cu(),this.ku(),this.su=!0,this.Hi.Ru(),this.Hi.Wh()}Xu(){const t=this.Mu(),i=this.xu();null!==t&&null!==i&&this.Yu(new rn(t,i+this.un.rightOffset))}Zu(t){const i=new rn(t.from,t.to);this.Yu(i)}qi(t){return void 0!==this.no.timeFormatter?this.no.timeFormatter(t.H_):this.Ku.S_(new Date(1e3*t._t.Hh))}Bu(){const{handleScroll:t,handleScale:i}=this.Hi.F();return!(t.horzTouchDrag||t.mouseWheel||t.pressedMouseMove||t.vertTouchDrag||i.axisDoubleClickReset.time||i.axisPressedMouseMove.time||i.mouseWheel||i.pinch)}Mu(){return 0===this.Q_.length?null:0}xu(){return 0===this.Q_.length?null:this.Q_.length-1}Gu(t){return(this.Fo-1-t)/this.uu}Pu(t){const i=this.Gu(t),n=this.Cu()+this._u-i;return Math.round(1e6*n)/1e6}Du(t){const i=this.uu;this.uu=t,this.yu(),i!==this.uu&&(this.su=!0,this.Ju())}mu(){if(!this.su)return;if(this.su=!1,this.Ni())return void this.Qu(an.G_());const t=this.Cu(),i=this.Fo/this.uu,n=this._u+t,s=new rn(n-i+1,n);this.Qu(new an(s))}yu(){const t=this.tc();if(this.uu<t&&(this.uu=t,this.su=!0),0!==this.Fo){const t=.5*this.Fo;this.uu>t&&(this.uu=t,this.su=!0)}}tc(){return this.un.fixLeftEdge&&this.un.fixRightEdge&&0!==this.Q_.length?this.Fo/this.Q_.length:this.un.minBarSpacing}ku(){const t=this.ic();this._u>t&&(this._u=t,this.su=!0);const i=this.nc();null!==i&&this._u<i&&(this._u=i,this.su=!0)}nc(){const t=this.Mu(),i=this.J_;if(null===t||null===i)return null;return t-i-1+(this.un.fixLeftEdge?this.Fo/this.uu:Math.min(2,this.Q_.length))}ic(){return this.un.fixRightEdge?0:this.Fo/this.uu-Math.min(2,this.Q_.length)}Vu(){this.lu={Ks:this.Ks(),Ou:this.Ou()}}Nu(){this.lu=null}Lu(t){let i=this.iu.get(t.j_);return void 0===i&&(i=new en((t=>this.sc(t))),this.iu.set(t.j_,i)),i.S_(t)}sc(t){const i=function(t,i,n){switch(t){case 0:case 10:return i?n?4:3:2;case 20:case 21:case 22:case 30:case 31:case 32:case 33:return i?3:2;case 50:return 2;case 60:return 1;case 70:return 0}}(t.j_,this.un.timeVisible,this.un.secondsVisible);if(void 0!==this.un.tickMarkFormatter){const n=this.un.tickMarkFormatter(t.H_,i,this.no.locale);if(null!==n)return n}return function(t,i,n){const s={};switch(i){case 0:s.year="numeric";break;case 1:s.month="short";break;case 2:s.day="numeric";break;case 3:s.hour12=!1,s.hour="2-digit",s.minute="2-digit";break;case 4:s.hour12=!1,s.hour="2-digit",s.minute="2-digit",s.second="2-digit"}const e=void 0===t.L_?new Date(1e3*t.Hh):new Date(Date.UTC(t.L_.year,t.L_.month-1,t.L_.day));return new Date(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()).toLocaleString(n,s)}(t._t,i,this.no.locale)}Qu(t){const i=this.nu;this.nu=t,hn(i.Z_(),this.nu.Z_())||this.eu.m(),hn(i.K_(),this.nu.K_())||this.ru.m(),this.Ju()}Ju(){this.au=null}fu(){this.Ju(),this.iu.clear()}cu(){const t=this.no.dateFormat;this.un.timeVisible?this.Ku=new sn({k_:t,C_:this.un.secondsVisible?"%h:%m:%s":"%h:%m",T_:" ",P_:this.no.locale}):this.Ku=new Qi(t,this.no.locale)}pu(){if(!this.un.fixLeftEdge)return;const t=this.Mu();if(null===t)return;const i=this.Vs();if(null===i)return;const n=i.Ms()-t;if(n<0){const t=this._u-n-1;this.Gn(t)}this.yu()}vu(){this.ku(),this.yu()}}class pn extends D{constructor(t){super(),this.ec=new Map,this.It=t}Z(t){}G(t){if(!this.It.Ct)return;const{context:i,mediaSize:n}=t;let s=0;for(const t of this.It.rc){if(0===t.Gt.length)continue;i.font=t.P;const e=this.hc(i,t.Gt);e>n.width?t.Iu=n.width/e:t.Iu=1,s+=t.lc*t.Iu}let e=0;switch(this.It.ac){case"top":e=0;break;case"center":e=Math.max((n.height-s)/2,0);break;case"bottom":e=Math.max(n.height-s,0)}i.fillStyle=this.It.D;for(const t of this.It.rc){i.save();let s=0;switch(this.It.oc){case"left":i.textAlign="left",s=t.lc/2;break;case"center":i.textAlign="center",s=n.width/2;break;case"right":i.textAlign="right",s=n.width-1-t.lc/2}i.translate(s,e),i.textBaseline="top",i.font=t.P,i.scale(t.Iu,t.Iu),i.fillText(t.Gt,0,t._c),i.restore(),e+=t.lc*t.Iu}}hc(t,i){const n=this.uc(t.font);let s=n.get(i);return void 0===s&&(s=t.measureText(i).width,n.set(i,s)),s}uc(t){let i=this.ec.get(t);return void 0===i&&(i=new Map,this.ec.set(t,i)),i}}class vn{constructor(t){this.vt=!0,this.Wt={Ct:!1,D:"",rc:[],ac:"center",oc:"center"},this.jt=new pn(this.Wt),this.$t=t}gt(){this.vt=!0}Mt(){return this.vt&&(this.xt(),this.vt=!1),this.jt}xt(){const t=this.$t.F(),i=this.Wt;i.Ct=t.visible,i.Ct&&(i.D=t.color,i.oc=t.horzAlign,i.ac=t.vertAlign,i.rc=[{Gt:t.text,P:T(t.fontSize,t.fontFamily,t.fontStyle),lc:1.2*t.fontSize,_c:0,Iu:0}])}}class mn extends K{constructor(t,i){super(),this.un=i,this.bn=new vn(this)}Pn(){return[]}Tn(){return[this.bn]}F(){return this.un}Dn(){this.bn.gt()}}!function(t){t[t.OnTouchEnd=0]="OnTouchEnd",t[t.OnNextTap=1]="OnNextTap"}(_n||(_n={}));class bn{constructor(t,i){this.cc=[],this.dc=[],this.Fo=0,this.fc=null,this.vc=new m,this.mc=new m,this.bc=null,this.gc=t,this.un=i,this.wc=new P(this),this.$o=new fn(this,i.timeScale,this.un.localization),this.bt=new J(this,i.crosshair),this.Mc=new Ri(i.crosshair),this.xc=new mn(this,i.watermark),this.Sc(),this.cc[0].Qo(2e3),this.yc=this.kc(0),this.Cc=this.kc(1)}Al(){this.Tc(tt.ss())}Wh(){this.Tc(tt.ns())}Kl(){this.Tc(new tt(1))}El(t){const i=this.Pc(t);this.Tc(i)}Rc(){return this.fc}Dc(t){const i=this.fc;this.fc=t,null!==i&&this.El(i.Oc),null!==t&&this.El(t.Oc)}F(){return this.un}Fh(t){b(this.un,t),this.cc.forEach((i=>i.Zo(t))),void 0!==t.timeScale&&this.$o.Fh(t.timeScale),void 0!==t.localization&&this.$o.du(t.localization),(t.leftPriceScale||t.rightPriceScale)&&this.vc.m(),this.yc=this.kc(0),this.Cc=this.kc(1),this.Al()}Bc(t,i){if("left"===t)return void this.Fh({leftPriceScale:i});if("right"===t)return void this.Fh({rightPriceScale:i});const n=this.Lc(t);null!==n&&(n.Ot.Fh(i),this.vc.m())}Lc(t){for(const i of this.cc){const n=i.Ko(t);if(null!==n)return{Ht:i,Ot:n}}return null}yt(){return this.$o}zc(){return this.cc}Ac(){return this.xc}Ec(){return this.bt}Ic(){return this.mc}Vc(t,i){t.fo(i),this.Ru()}t_(t){this.Fo=t,this.$o.t_(this.Fo),this.cc.forEach((i=>i.t_(t))),this.Ru()}Sc(t){const i=new Ki(this.$o,this);void 0!==t?this.cc.splice(t,0,i):this.cc.push(i);const n=void 0===t?this.cc.length-1:t,s=tt.ss();return s.Vn(n,{Nn:0,Fn:!0}),this.Tc(s),i}a_(t,i,n){t.a_(i,n)}o_(t,i,n){t.o_(i,n),this.Il(),this.Tc(this.Nc(t,2))}__(t,i){t.__(i),this.Tc(this.Nc(t,2))}u_(t,i,n){i.ao()||t.u_(i,n)}c_(t,i,n){i.ao()||(t.c_(i,n),this.Il(),this.Tc(this.Nc(t,2)))}d_(t,i){i.ao()||(t.d_(i),this.Tc(this.Nc(t,2)))}p_(t,i){t.p_(i),this.Tc(this.Nc(t,2))}Fc(t){this.$o.Ro(t)}Wc(t,i){const n=this.yt();if(n.Ni()||0===i)return;const s=n.$i();t=Math.max(1,Math.min(t,s)),n.Iu(t,i),this.Ru()}jc(t){this.$c(0),this.Hc(t),this.Uc()}qc(t){this.$o.Do(t),this.Ru()}Yc(){this.$o.Oo(),this.Wh()}$c(t){this.$o.Bo(t)}Hc(t){this.$o.Lo(t),this.Ru()}Uc(){this.$o.zo(),this.Wh()}wt(){return this.dc}Xc(t,i,n,s){this.bt.gn(t,i);let e=NaN,r=this.$o.Tu(t);const h=this.$o.Vs();null!==h&&(r=Math.min(Math.max(h.Ms(),r),h.ci()));const l=s.fn(),a=l.Tt();null!==a&&(e=l.pn(i,a)),e=this.Mc._a(e,r,s),this.bt.Sn(r,e,s),this.Kl(),this.mc.m(this.bt.St(),{x:t,y:i},n)}Zc(){this.Ec().kn(),this.Kl(),this.mc.m(null,null,null)}Il(){const t=this.bt.Ht();if(null!==t){const i=this.bt.Mn(),n=this.bt.xn();this.Xc(i,n,null,t)}this.bt.Dn()}Kc(t,i,n){const s=this.$o.vn(0);void 0!==i&&void 0!==n&&this.$o.gt(i,n);const e=this.$o.vn(0),r=this.$o.Cu(),h=this.$o.Vs();if(null!==h&&null!==s&&null!==e){const i=h.Ar(r),n=s.Hh>e.Hh,l=null!==t&&t>r&&!n,a=i&&this.$o.F().shiftVisibleRangeOnNewBar;if(l&&!a){const i=t-r;this.$o.Gn(this.$o.Ou()-i)}}this.$o.Eu(t)}Fl(t){null!==t&&t.m_()}Ke(t){const i=this.cc.find((i=>i.So().includes(t)));return void 0===i?null:i}Ru(){this.xc.Dn(),this.cc.forEach((t=>t.m_())),this.Il()}M(){this.cc.forEach((t=>t.M())),this.cc.length=0,this.un.localization.priceFormatter=void 0,this.un.localization.timeFormatter=void 0}Gc(){return this.wc}tr(){return this.wc.F()}Go(){return this.vc}Jc(t,i){const n=this.cc[0],s=this.Qc(i,t,n);return this.dc.push(s),1===this.dc.length?this.Al():this.Wh(),s}td(t){const i=this.Ke(t),n=this.dc.indexOf(t);e(-1!==n,"Series not found"),this.dc.splice(n,1),h(i).Co(t),t.M&&t.M()}zl(t,i){const n=h(this.Ke(t));n.Co(t);const s=this.Lc(i);if(null===s){const s=t.Zi();n.yo(t,i,s)}else{const e=s.Ht===n?t.Zi():void 0;s.Ht.yo(t,i,e)}}Xu(){const t=tt.ns();t.$n(),this.Tc(t)}nd(t){const i=tt.ns();i.qn(t),this.Tc(i)}Zn(){const t=tt.ns();t.Zn(),this.Tc(t)}Kn(t){const i=tt.ns();i.Kn(t),this.Tc(i)}Gn(t){const i=tt.ns();i.Gn(t),this.Tc(i)}Yn(t){const i=tt.ns();i.Yn(t),this.Tc(i)}Hn(){const t=tt.ns();t.Hn(),this.Tc(t)}sd(){return this.un.rightPriceScale.visible?"right":"left"}ed(){return this.Cc}U(){return this.yc}zt(t){const i=this.Cc,n=this.yc;if(i===n)return i;if(t=Math.max(0,Math.min(100,Math.round(100*t))),null===this.bc||this.bc.bs!==n||this.bc.gs!==i)this.bc={bs:n,gs:i,rd:new Map};else{const i=this.bc.rd.get(t);if(void 0!==i)return i}const s=function(t,i,n){const[s,e,r,h]=p(t),[l,a,u,c]=p(i),d=[o(s+n*(l-s)),o(e+n*(a-e)),o(r+n*(u-r)),_(h+n*(c-h))];return`rgba(${d[0]}, ${d[1]}, ${d[2]}, ${d[3]})`}(n,i,t/100);return this.bc.rd.set(t,s),s}Nc(t,i){const n=new tt(i);if(null!==t){const s=this.cc.indexOf(t);n.Vn(s,{Nn:i})}return n}Pc(t,i){return void 0===i&&(i=2),this.Nc(this.Ke(t),i)}Tc(t){this.gc&&this.gc(t),this.cc.forEach((t=>t.g_().jh().gt()))}Qc(t,i,n){const s=new Pi(this,t,i),e=void 0!==t.priceScaleId?t.priceScaleId:this.sd();return n.yo(s,e),Q(e)||s.Fh(t),s}kc(t){const i=this.un.layout;return"gradient"===i.background.type?0===t?i.background.topColor:i.background.bottomColor:i.background.color}}function gn(t){return!g(t)&&!M(t)}function wn(t){return g(t)}function Mn(t){var i=t.width,n=t.height;if(i<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:i,height:n}}function xn(t,i){return t.width===i.width&&t.height===i.height}!function(t){t[t.Disabled=0]="Disabled",t[t.Continuous=1]="Continuous",t[t.OnDataUpdate=2]="OnDataUpdate"}(un||(un={})),function(t){t[t.LastBar=0]="LastBar",t[t.LastVisible=1]="LastVisible"}(cn||(cn={})),function(t){t.Solid="solid",t.VerticalGradient="gradient"}(dn||(dn={}));var Sn=function(){function t(t){var i=this;this._resolutionListener=function(){return i._onResolutionChanged()},this._resolutionMediaQueryList=null,this._observers=[],this._window=t,this._installResolutionListener()}return t.prototype.dispose=function(){this._uninstallResolutionListener(),this._window=null},Object.defineProperty(t.prototype,"value",{get:function(){return this._window.devicePixelRatio},enumerable:!1,configurable:!0}),t.prototype.subscribe=function(t){var i=this,n={next:t};return this._observers.push(n),{unsubscribe:function(){i._observers=i._observers.filter((function(t){return t!==n}))}}},t.prototype._installResolutionListener=function(){if(null!==this._resolutionMediaQueryList)throw new Error("Resolution listener is already installed");var t=this._window.devicePixelRatio;this._resolutionMediaQueryList=this._window.matchMedia("all and (resolution: ".concat(t,"dppx)")),this._resolutionMediaQueryList.addListener(this._resolutionListener)},t.prototype._uninstallResolutionListener=function(){null!==this._resolutionMediaQueryList&&(this._resolutionMediaQueryList.removeListener(this._resolutionListener),this._resolutionMediaQueryList=null)},t.prototype._reinstallResolutionListener=function(){this._uninstallResolutionListener(),this._installResolutionListener()},t.prototype._onResolutionChanged=function(){var t=this;this._observers.forEach((function(i){return i.next(t._window.devicePixelRatio)})),this._reinstallResolutionListener()},t}();var yn=function(){function t(t,i,n){var s;this._canvasElement=null,this._bitmapSizeChangedListeners=[],this._suggestedBitmapSize=null,this._suggestedBitmapSizeChangedListeners=[],this._devicePixelRatioObservable=null,this._canvasElementResizeObserver=null,this._canvasElement=t,this._canvasElementClientSize=Mn({width:this._canvasElement.clientWidth,height:this._canvasElement.clientHeight}),this._transformBitmapSize=null!=i?i:function(t){return t},this._allowResizeObserver=null===(s=null==n?void 0:n.allowResizeObserver)||void 0===s||s,this._chooseAndInitObserver()}return t.prototype.dispose=function(){var t,i;if(null===this._canvasElement)throw new Error("Object is disposed");null===(t=this._canvasElementResizeObserver)||void 0===t||t.disconnect(),this._canvasElementResizeObserver=null,null===(i=this._devicePixelRatioObservable)||void 0===i||i.dispose(),this._devicePixelRatioObservable=null,this._suggestedBitmapSizeChangedListeners.length=0,this._bitmapSizeChangedListeners.length=0,this._canvasElement=null},Object.defineProperty(t.prototype,"canvasElement",{get:function(){if(null===this._canvasElement)throw new Error("Object is disposed");return this._canvasElement},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"canvasElementClientSize",{get:function(){return this._canvasElementClientSize},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bitmapSize",{get:function(){return Mn({width:this.canvasElement.width,height:this.canvasElement.height})},enumerable:!1,configurable:!0}),t.prototype.resizeCanvasElement=function(t){this._canvasElementClientSize=Mn(t),this.canvasElement.style.width="".concat(this._canvasElementClientSize.width,"px"),this.canvasElement.style.height="".concat(this._canvasElementClientSize.height,"px"),this._invalidateBitmapSize()},t.prototype.subscribeBitmapSizeChanged=function(t){this._bitmapSizeChangedListeners.push(t)},t.prototype.unsubscribeBitmapSizeChanged=function(t){this._bitmapSizeChangedListeners=this._bitmapSizeChangedListeners.filter((function(i){return i!==t}))},Object.defineProperty(t.prototype,"suggestedBitmapSize",{get:function(){return this._suggestedBitmapSize},enumerable:!1,configurable:!0}),t.prototype.subscribeSuggestedBitmapSizeChanged=function(t){this._suggestedBitmapSizeChangedListeners.push(t)},t.prototype.unsubscribeSuggestedBitmapSizeChanged=function(t){this._suggestedBitmapSizeChangedListeners=this._suggestedBitmapSizeChangedListeners.filter((function(i){return i!==t}))},t.prototype.applySuggestedBitmapSize=function(){if(null!==this._suggestedBitmapSize){var t=this._suggestedBitmapSize;this._suggestedBitmapSize=null,this._resizeBitmap(t),this._emitSuggestedBitmapSizeChanged(t,this._suggestedBitmapSize)}},t.prototype._resizeBitmap=function(t){var i=this.bitmapSize;xn(i,t)||(this.canvasElement.width=t.width,this.canvasElement.height=t.height,this._emitBitmapSizeChanged(i,t))},t.prototype._emitBitmapSizeChanged=function(t,i){var n=this;this._bitmapSizeChangedListeners.forEach((function(s){return s.call(n,t,i)}))},t.prototype._suggestNewBitmapSize=function(t){var i=this._suggestedBitmapSize,n=Mn(this._transformBitmapSize(t,this._canvasElementClientSize)),s=xn(this.bitmapSize,n)?null:n;null===i&&null===s||null!==i&&null!==s&&xn(i,s)||(this._suggestedBitmapSize=s,this._emitSuggestedBitmapSizeChanged(i,s))},t.prototype._emitSuggestedBitmapSizeChanged=function(t,i){var n=this;this._suggestedBitmapSizeChangedListeners.forEach((function(s){return s.call(n,t,i)}))},t.prototype._chooseAndInitObserver=function(){var t=this;this._allowResizeObserver?new Promise((function(t){var i=new ResizeObserver((function(n){t(n.every((function(t){return"devicePixelContentBoxSize"in t}))),i.disconnect()}));i.observe(document.body,{box:"device-pixel-content-box"})})).catch((function(){return!1})).then((function(i){return i?t._initResizeObserver():t._initDevicePixelRatioObservable()})):this._initDevicePixelRatioObservable()},t.prototype._initDevicePixelRatioObservable=function(){var t=this;if(null!==this._canvasElement){var i=kn(this._canvasElement);if(null===i)throw new Error("No window is associated with the canvas");this._devicePixelRatioObservable=function(t){return new Sn(t)}(i),this._devicePixelRatioObservable.subscribe((function(){return t._invalidateBitmapSize()})),this._invalidateBitmapSize()}},t.prototype._invalidateBitmapSize=function(){var t,i;if(null!==this._canvasElement){var n=kn(this._canvasElement);if(null!==n){var s=null!==(i=null===(t=this._devicePixelRatioObservable)||void 0===t?void 0:t.value)&&void 0!==i?i:n.devicePixelRatio,e=this._canvasElement.getClientRects(),r=void 0!==e[0]?function(t,i){return Mn({width:Math.round(t.left*i+t.width*i)-Math.round(t.left*i),height:Math.round(t.top*i+t.height*i)-Math.round(t.top*i)})}(e[0],s):Mn({width:this._canvasElementClientSize.width*s,height:this._canvasElementClientSize.height*s});this._suggestNewBitmapSize(r)}}},t.prototype._initResizeObserver=function(){var t=this;null!==this._canvasElement&&(this._canvasElementResizeObserver=new ResizeObserver((function(i){var n=i.find((function(i){return i.target===t._canvasElement}));if(n&&n.devicePixelContentBoxSize&&n.devicePixelContentBoxSize[0]){var s=n.devicePixelContentBoxSize[0],e=Mn({width:s.inlineSize,height:s.blockSize});t._suggestNewBitmapSize(e)}})),this._canvasElementResizeObserver.observe(this._canvasElement,{box:"device-pixel-content-box"}))},t}();function kn(t){return t.ownerDocument.defaultView}var Cn=function(){function t(t,i,n){if(0===i.width||0===i.height)throw new TypeError("Rendering target could only be created on a media with positive width and height");if(this._mediaSize=i,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=t}return t.prototype.useMediaCoordinateSpace=function(t){try{return this._context.save(),this._context.setTransform(1,0,0,1,0,0),this._context.scale(this._horizontalPixelRatio,this._verticalPixelRatio),t({context:this._context,mediaSize:this._mediaSize})}finally{this._context.restore()}},t.prototype.useBitmapCoordinateSpace=function(t){try{return this._context.save(),this._context.setTransform(1,0,0,1,0,0),t({context:this._context,mediaSize:this._mediaSize,bitmapSize:this._bitmapSize,horizontalPixelRatio:this._horizontalPixelRatio,verticalPixelRatio:this._verticalPixelRatio})}finally{this._context.restore()}},Object.defineProperty(t.prototype,"_horizontalPixelRatio",{get:function(){return this._bitmapSize.width/this._mediaSize.width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"_verticalPixelRatio",{get:function(){return this._bitmapSize.height/this._mediaSize.height},enumerable:!1,configurable:!0}),t}();function Tn(t,i){var n=t.canvasElementClientSize;if(0===n.width||0===n.height)return null;var s=t.bitmapSize;if(0===s.width||0===s.height)return null;var e=t.canvasElement.getContext("2d",i);return null===e?null:new Cn(e,n,s)}const Pn="undefined"!=typeof window;function Rn(){return!!Pn&&window.navigator.userAgent.toLowerCase().indexOf("firefox")>-1}function Dn(){return!!Pn&&/iPhone|iPad|iPod/.test(window.navigator.platform)}function On(t){return t+t%2}function Bn(t,i){return t.hd-i.hd}function Ln(t,i,n){const s=(t.hd-i.hd)/(t._t-i._t);return Math.sign(s)*Math.min(Math.abs(s),n)}class zn{constructor(t,i,n,s){this.ld=null,this.ad=null,this.od=null,this._d=null,this.ud=null,this.dd=0,this.fd=0,this.pd=t,this.vd=i,this.md=n,this.es=s}bd(t,i){if(null!==this.ld){if(this.ld._t===i)return void(this.ld.hd=t);if(Math.abs(this.ld.hd-t)<this.es)return}this._d=this.od,this.od=this.ad,this.ad=this.ld,this.ld={_t:i,hd:t}}pr(t,i){if(null===this.ld||null===this.ad)return;if(i-this.ld._t>50)return;let n=0;const s=Ln(this.ld,this.ad,this.vd),e=Bn(this.ld,this.ad),r=[s],h=[e];if(n+=e,null!==this.od){const t=Ln(this.ad,this.od,this.vd);if(Math.sign(t)===Math.sign(s)){const i=Bn(this.ad,this.od);if(r.push(t),h.push(i),n+=i,null!==this._d){const t=Ln(this.od,this._d,this.vd);if(Math.sign(t)===Math.sign(s)){const i=Bn(this.od,this._d);r.push(t),h.push(i),n+=i}}}}let l=0;for(let t=0;t<r.length;++t)l+=h[t]/n*r[t];Math.abs(l)<this.pd||(this.ud={hd:t,_t:i},this.fd=l,this.dd=function(t,i){const n=Math.log(i);return Math.log(1*n/-t)/n}(Math.abs(l),this.md))}$u(t){const i=h(this.ud),n=t-i._t;return i.hd+this.fd*(Math.pow(this.md,n)-1)/Math.log(this.md)}ju(t){return null===this.ud||this.gd(t)===this.dd}gd(t){const i=t-h(this.ud)._t;return Math.min(i,this.dd)}}function An(t,i){const n=h(t.ownerDocument).createElement("canvas");t.appendChild(n);const s=function(t,i){if("device-pixel-content-box"===i.type)return new yn(t,i.transform,i.options);throw new Error("Unsupported binding target")}(n,{type:"device-pixel-content-box",options:{allowResizeObserver:!1},transform:(t,i)=>({width:Math.max(t.width,i.width),height:Math.max(t.height,i.height)})});return s.resizeCanvasElement(i),s}function En(t){Pn&&void 0!==window.chrome&&t.addEventListener("mousedown",(t=>{if(1===t.button)return t.preventDefault(),!1}))}class In{constructor(t,i,n){this.wd=0,this.Md=null,this.xd={st:Number.NEGATIVE_INFINITY,et:Number.POSITIVE_INFINITY},this.Sd=0,this.yd=null,this.kd={st:Number.NEGATIVE_INFINITY,et:Number.POSITIVE_INFINITY},this.Cd=null,this.Td=!1,this.Pd=null,this.Rd=null,this.Dd=!1,this.Od=!1,this.Bd=!1,this.Ld=null,this.zd=null,this.Ad=null,this.Ed=null,this.Id=null,this.Vd=null,this.Nd=null,this.Fd=0,this.Wd=!1,this.jd=!1,this.$d=!1,this.Hd=0,this.Ud=null,this.qd=!Dn(),this.Yd=t=>{this.Xd(t)},this.Zd=t=>{if(this.Kd(t)){const i=this.Gd(t);if(++this.Sd,this.yd&&this.Sd>1){const{Jd:n}=this.Qd(Fn(t),this.kd);n<30&&!this.Bd&&this.tf(i,this.nf.if),this.sf()}}else{const i=this.Gd(t);if(++this.wd,this.Md&&this.wd>1){const{Jd:n}=this.Qd(Fn(t),this.xd);n<5&&!this.Od&&this.ef(i,this.nf.rf),this.hf()}}},this.lf=t,this.nf=i,this.un=n,this.af()}M(){null!==this.Ld&&(this.Ld(),this.Ld=null),null!==this.zd&&(this.zd(),this.zd=null),null!==this.Ed&&(this.Ed(),this.Ed=null),null!==this.Id&&(this.Id(),this.Id=null),null!==this.Vd&&(this.Vd(),this.Vd=null),null!==this.Ad&&(this.Ad(),this.Ad=null),this._f(),this.hf()}uf(t){this.Ed&&this.Ed();const i=this.cf.bind(this);if(this.Ed=()=>{this.lf.removeEventListener("mousemove",i)},this.lf.addEventListener("mousemove",i),this.Kd(t))return;const n=this.Gd(t);this.ef(n,this.nf.df),this.qd=!0}hf(){null!==this.Md&&clearTimeout(this.Md),this.wd=0,this.Md=null,this.xd={st:Number.NEGATIVE_INFINITY,et:Number.POSITIVE_INFINITY}}sf(){null!==this.yd&&clearTimeout(this.yd),this.Sd=0,this.yd=null,this.kd={st:Number.NEGATIVE_INFINITY,et:Number.POSITIVE_INFINITY}}cf(t){if(this.$d||null!==this.Rd)return;if(this.Kd(t))return;const i=this.Gd(t);this.ef(i,this.nf.ff),this.qd=!0}pf(t){const i=jn(t.changedTouches,h(this.Ud));if(null===i)return;if(this.Hd=Wn(t),null!==this.Nd)return;if(this.jd)return;this.Wd=!0;const n=this.Qd(Fn(i),h(this.Rd)),{vf:s,mf:e,Jd:r}=n;if(this.Dd||!(r<5)){if(!this.Dd){const t=.5*s,i=e>=t&&!this.un.bf(),n=t>e&&!this.un.gf();i||n||(this.jd=!0),this.Dd=!0,this.Bd=!0,this._f(),this.sf()}if(!this.jd){const n=this.Gd(t,i);this.tf(n,this.nf.wf),Nn(t)}}}Mf(t){if(0!==t.button)return;const i=this.Qd(Fn(t),h(this.Pd)),{Jd:n}=i;if(n>=5&&(this.Od=!0,this.hf()),this.Od){const i=this.Gd(t);this.ef(i,this.nf.xf)}}Qd(t,i){const n=Math.abs(i.st-t.st),s=Math.abs(i.et-t.et);return{vf:n,mf:s,Jd:n+s}}Sf(t){let i=jn(t.changedTouches,h(this.Ud));if(null===i&&0===t.touches.length&&(i=t.changedTouches[0]),null===i)return;this.Ud=null,this.Hd=Wn(t),this._f(),this.Rd=null,this.Vd&&(this.Vd(),this.Vd=null);const n=this.Gd(t,i);if(this.tf(n,this.nf.yf),++this.Sd,this.yd&&this.Sd>1){const{Jd:t}=this.Qd(Fn(i),this.kd);t<30&&!this.Bd&&this.tf(n,this.nf.if),this.sf()}else this.Bd||(this.tf(n,this.nf.kf),this.nf.kf&&Nn(t));0===this.Sd&&Nn(t),0===t.touches.length&&this.Td&&(this.Td=!1,Nn(t))}Xd(t){if(0!==t.button)return;const i=this.Gd(t);if(this.Pd=null,this.$d=!1,this.Id&&(this.Id(),this.Id=null),Rn()){this.lf.ownerDocument.documentElement.removeEventListener("mouseleave",this.Yd)}if(!this.Kd(t))if(this.ef(i,this.nf.Cf),++this.wd,this.Md&&this.wd>1){const{Jd:n}=this.Qd(Fn(t),this.xd);n<5&&!this.Od&&this.ef(i,this.nf.rf),this.hf()}else this.Od||this.ef(i,this.nf.Tf)}_f(){null!==this.Cd&&(clearTimeout(this.Cd),this.Cd=null)}Pf(t){if(null!==this.Ud)return;const i=t.changedTouches[0];this.Ud=i.identifier,this.Hd=Wn(t);const n=this.lf.ownerDocument.documentElement;this.Bd=!1,this.Dd=!1,this.jd=!1,this.Rd=Fn(i),this.Vd&&(this.Vd(),this.Vd=null);{const i=this.pf.bind(this),s=this.Sf.bind(this);this.Vd=()=>{n.removeEventListener("touchmove",i),n.removeEventListener("touchend",s)},n.addEventListener("touchmove",i,{passive:!1}),n.addEventListener("touchend",s,{passive:!1}),this._f(),this.Cd=setTimeout(this.Rf.bind(this,t),240)}const s=this.Gd(t,i);this.tf(s,this.nf.Df),this.yd||(this.Sd=0,this.yd=setTimeout(this.sf.bind(this),500),this.kd=Fn(i))}Of(t){if(0!==t.button)return;const i=this.lf.ownerDocument.documentElement;Rn()&&i.addEventListener("mouseleave",this.Yd),this.Od=!1,this.Pd=Fn(t),this.Id&&(this.Id(),this.Id=null);{const t=this.Mf.bind(this),n=this.Xd.bind(this);this.Id=()=>{i.removeEventListener("mousemove",t),i.removeEventListener("mouseup",n)},i.addEventListener("mousemove",t),i.addEventListener("mouseup",n)}if(this.$d=!0,this.Kd(t))return;const n=this.Gd(t);this.ef(n,this.nf.Bf),this.Md||(this.wd=0,this.Md=setTimeout(this.hf.bind(this),500),this.xd=Fn(t))}af(){this.lf.addEventListener("mouseenter",this.uf.bind(this)),this.lf.addEventListener("touchcancel",this._f.bind(this));{const t=this.lf.ownerDocument,i=t=>{this.nf.Lf&&(t.composed&&this.lf.contains(t.composedPath()[0])||t.target&&this.lf.contains(t.target)||this.nf.Lf())};this.zd=()=>{t.removeEventListener("touchstart",i)},this.Ld=()=>{t.removeEventListener("mousedown",i)},t.addEventListener("mousedown",i),t.addEventListener("touchstart",i,{passive:!0})}Dn()&&(this.Ad=()=>{this.lf.removeEventListener("dblclick",this.Zd)},this.lf.addEventListener("dblclick",this.Zd)),this.lf.addEventListener("mouseleave",this.zf.bind(this)),this.lf.addEventListener("touchstart",this.Pf.bind(this),{passive:!0}),En(this.lf),this.lf.addEventListener("mousedown",this.Of.bind(this)),this.Af(),this.lf.addEventListener("touchmove",(()=>{}),{passive:!1})}Af(){void 0===this.nf.Ef&&void 0===this.nf.If&&void 0===this.nf.Vf||(this.lf.addEventListener("touchstart",(t=>this.Nf(t.touches)),{passive:!0}),this.lf.addEventListener("touchmove",(t=>{if(2===t.touches.length&&null!==this.Nd&&void 0!==this.nf.If){const i=Vn(t.touches[0],t.touches[1])/this.Fd;this.nf.If(this.Nd,i),Nn(t)}}),{passive:!1}),this.lf.addEventListener("touchend",(t=>{this.Nf(t.touches)})))}Nf(t){1===t.length&&(this.Wd=!1),2!==t.length||this.Wd||this.Td?this.Ff():this.Wf(t)}Wf(t){const i=this.lf.getBoundingClientRect()||{left:0,top:0};this.Nd={st:(t[0].clientX-i.left+(t[1].clientX-i.left))/2,et:(t[0].clientY-i.top+(t[1].clientY-i.top))/2},this.Fd=Vn(t[0],t[1]),void 0!==this.nf.Ef&&this.nf.Ef(),this._f()}Ff(){null!==this.Nd&&(this.Nd=null,void 0!==this.nf.Vf&&this.nf.Vf())}zf(t){if(this.Ed&&this.Ed(),this.Kd(t))return;if(!this.qd)return;const i=this.Gd(t);this.ef(i,this.nf.jf),this.qd=!Dn()}Rf(t){const i=jn(t.touches,h(this.Ud));if(null===i)return;const n=this.Gd(t,i);this.tf(n,this.nf.$f),this.Bd=!0,this.Td=!0}Kd(t){return t.sourceCapabilities&&void 0!==t.sourceCapabilities.firesTouchEvents?t.sourceCapabilities.firesTouchEvents:Wn(t)<this.Hd+500}tf(t,i){i&&i.call(this.nf,t)}ef(t,i){i&&i.call(this.nf,t)}Gd(t,i){const n=i||t,s=this.lf.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-s.left,localY:n.clientY-s.top,ctrlKey:t.ctrlKey,altKey:t.altKey,shiftKey:t.shiftKey,metaKey:t.metaKey,Hf:!t.type.startsWith("mouse")&&"contextmenu"!==t.type&&"click"!==t.type,Uf:t.type,qf:n.target,Yf:t.view,Xf:()=>{"touchstart"!==t.type&&Nn(t)}}}}function Vn(t,i){const n=t.clientX-i.clientX,s=t.clientY-i.clientY;return Math.sqrt(n*n+s*s)}function Nn(t){t.cancelable&&t.preventDefault()}function Fn(t){return{st:t.pageX,et:t.pageY}}function Wn(t){return t.timeStamp||performance.now()}function jn(t,i){for(let n=0;n<t.length;++n)if(t[n].identifier===i)return t[n];return null}class $n{constructor(t,i,n,s){this.Ii=null,this.Zf=null,this.Kf=!1,this.Gf=new Wt(200),this.Ir=null,this.Jf=0,this.Qf=!1,this.tp=()=>{this.Qf||this.tn.ip().Ut().Wh()},this.np=()=>{this.Qf||this.tn.ip().Ut().Wh()},this.tn=t,this.un=i,this.io=i.layout,this.wc=n,this.sp="left"===s,this.ep=document.createElement("div"),this.ep.style.height="100%",this.ep.style.overflow="hidden",this.ep.style.width="25px",this.ep.style.left="0",this.ep.style.position="relative",this.rp=An(this.ep,Mn({width:16,height:16})),this.rp.subscribeSuggestedBitmapSizeChanged(this.tp);const e=this.rp.canvasElement;e.style.position="absolute",e.style.zIndex="1",e.style.left="0",e.style.top="0",this.hp=An(this.ep,Mn({width:16,height:16})),this.hp.subscribeSuggestedBitmapSizeChanged(this.np);const r=this.hp.canvasElement;r.style.position="absolute",r.style.zIndex="2",r.style.left="0",r.style.top="0";const h={Bf:this.lp.bind(this),Df:this.lp.bind(this),xf:this.ap.bind(this),wf:this.ap.bind(this),Lf:this.op.bind(this),Cf:this._p.bind(this),yf:this._p.bind(this),rf:this.up.bind(this),if:this.up.bind(this),df:this.cp.bind(this),jf:this.dp.bind(this)};this.fp=new In(this.hp.canvasElement,h,{bf:()=>!1,gf:()=>!0})}M(){this.fp.M(),this.hp.unsubscribeSuggestedBitmapSizeChanged(this.np),this.hp.dispose(),this.rp.unsubscribeSuggestedBitmapSizeChanged(this.tp),this.rp.dispose(),null!==this.Ii&&this.Ii.Po().v(this),this.Ii=null}pp(){return this.ep}T(){return this.io.fontSize}vp(){const t=this.wc.F();return this.Ir!==t.P&&(this.Gf.Fe(),this.Ir=t.P),t}mp(){if(null===this.Ii)return 0;let t=0;const i=this.vp(),n=h(this.rp.canvasElement.getContext("2d"));n.save();const s=this.Ii.Ma();n.font=this.bp(),s.length>0&&(t=Math.max(this.Gf.xi(n,s[0].za),this.Gf.xi(n,s[s.length-1].za)));const e=this.gp();for(let i=e.length;i--;){const s=this.Gf.xi(n,e[i].Gt());s>t&&(t=s)}const r=this.Ii.Tt();if(null!==r&&null!==this.Zf){const i=this.Ii.pn(1,r),s=this.Ii.pn(this.Zf.height-2,r);t=Math.max(t,this.Gf.xi(n,this.Ii.Fi(Math.floor(Math.min(i,s))+.11111111111111,r)),this.Gf.xi(n,this.Ii.Fi(Math.ceil(Math.max(i,s))-.11111111111111,r)))}n.restore();const l=t||34;return On(Math.ceil(i.k+i.C+i.L+i.A+5+l))}wp(t){null!==this.Zf&&xn(this.Zf,t)||(this.Zf=t,this.Qf=!0,this.rp.resizeCanvasElement(t),this.hp.resizeCanvasElement(t),this.Qf=!1,this.ep.style.width=`${t.width}px`,this.ep.style.height=`${t.height}px`)}Mp(){return h(this.Zf).width}Gi(t){this.Ii!==t&&(null!==this.Ii&&this.Ii.Po().v(this),this.Ii=t,t.Po().l(this.Ua.bind(this),this))}Ot(){return this.Ii}Fe(){const t=this.tn.xp();this.tn.ip().Ut().p_(t,h(this.Ot()))}Sp(t){if(null===this.Zf)return;if(1!==t){this.yp(),this.rp.applySuggestedBitmapSize();const t=Tn(this.rp);null!==t&&(t.useBitmapCoordinateSpace((t=>{this.kp(t),this.ye(t)})),this.Cp(t),this.Tp(t))}this.hp.applySuggestedBitmapSize();const i=Tn(this.hp);null!==i&&(i.useBitmapCoordinateSpace((({context:t,bitmapSize:i})=>{t.clearRect(0,0,i.width,i.height)})),this.Pp(i))}Rp(){return this.rp.bitmapSize}Dp(t,i,n){const s=this.Rp();s.width>0&&s.height>0&&t.drawImage(this.rp.canvasElement,i,n)}gt(){var t;null===(t=this.Ii)||void 0===t||t.Ma()}lp(t){if(null===this.Ii||this.Ii.Ni()||!this.un.handleScale.axisPressedMouseMove.price)return;const i=this.tn.ip().Ut(),n=this.tn.xp();this.Kf=!0,i.a_(n,this.Ii,t.localY)}ap(t){if(null===this.Ii||!this.un.handleScale.axisPressedMouseMove.price)return;const i=this.tn.ip().Ut(),n=this.tn.xp(),s=this.Ii;i.o_(n,s,t.localY)}op(){if(null===this.Ii||!this.un.handleScale.axisPressedMouseMove.price)return;const t=this.tn.ip().Ut(),i=this.tn.xp(),n=this.Ii;this.Kf&&(this.Kf=!1,t.__(i,n))}_p(t){if(null===this.Ii||!this.un.handleScale.axisPressedMouseMove.price)return;const i=this.tn.ip().Ut(),n=this.tn.xp();this.Kf=!1,i.__(n,this.Ii)}up(t){this.un.handleScale.axisDoubleClickReset.price&&this.Fe()}cp(t){if(null===this.Ii)return;!this.tn.ip().Ut().F().handleScale.axisPressedMouseMove.price||this.Ii.th()||this.Ii.oo()||this.Op(1)}dp(t){this.Op(0)}gp(){const t=[],i=null===this.Ii?void 0:this.Ii;return(n=>{for(let s=0;s<n.length;++s){const e=n[s].Pn(this.tn.xp(),i);for(let i=0;i<e.length;i++)t.push(e[i])}})(this.tn.xp().So()),t}kp({context:t,bitmapSize:i}){const{width:n,height:s}=i,e=this.tn.xp().Ut(),r=e.U(),h=e.ed();r===h?N(t,0,0,n,s,r):$(t,0,0,n,s,r,h)}ye({context:t,bitmapSize:i,horizontalPixelRatio:n}){if(null===this.Zf||null===this.Ii||!this.Ii.F().borderVisible)return;t.fillStyle=this.Ii.F().borderColor;const s=Math.max(1,Math.floor(this.vp().k*n));let e;e=this.sp?i.width-s:0,t.fillRect(e,0,s,i.height)}Cp(t){if(null===this.Zf||null===this.Ii)return;const i=this.Ii.Ma(),n=this.Ii.F(),s=this.vp(),e=this.sp?this.Zf.width-s.C:0;n.borderVisible&&n.ticksVisible&&t.useBitmapCoordinateSpace((({context:t,horizontalPixelRatio:r,verticalPixelRatio:h})=>{t.fillStyle=n.borderColor;const l=Math.max(1,Math.floor(h)),a=Math.floor(.5*h),o=Math.round(s.C*r);t.beginPath();for(const n of i)t.rect(Math.floor(e*r),Math.round(n.va*h)-a,o,l);t.fill()})),t.useMediaCoordinateSpace((({context:t})=>{var r;t.font=this.bp(),t.fillStyle=null!==(r=n.textColor)&&void 0!==r?r:this.io.textColor,t.textAlign=this.sp?"right":"left",t.textBaseline="middle";const h=this.sp?Math.round(e-s.L):Math.round(e+s.C+s.L),l=i.map((i=>this.Gf.Mi(t,i.za)));for(let n=i.length;n--;){const s=i[n];t.fillText(s.za,h,s.va+l[n])}}))}yp(){if(null===this.Zf||null===this.Ii)return;let t=this.Zf.height/2;const i=[],n=this.Ii.So().slice(),s=this.tn.xp(),e=this.vp();this.Ii===s.Je()&&this.tn.xp().So().forEach((t=>{s.Ge(t)&&n.push(t)}));const r=this.Ii.ua()[0],h=this.Ii;n.forEach((n=>{const e=n.Pn(s,h);e.forEach((t=>{t.Bi(null),t.Li()&&i.push(t)})),r===n&&e.length>0&&(t=e[0].yi())})),i.forEach((t=>t.Bi(t.yi())));this.Ii.F().alignLabels&&this.Bp(i,e,t)}Bp(t,i,n){if(null===this.Zf)return;const s=t.filter((t=>t.yi()<=n)),e=t.filter((t=>t.yi()>n));s.sort(((t,i)=>i.yi()-t.yi())),s.length&&e.length&&e.push(s[0]),e.sort(((t,i)=>t.yi()-i.yi()));for(const n of t){const t=Math.floor(n.At(i)/2),s=n.yi();s>-t&&s<t&&n.Bi(t),s>this.Zf.height-t&&s<this.Zf.height+t&&n.Bi(this.Zf.height-t)}for(let t=1;t<s.length;t++){const n=s[t],e=s[t-1],r=e.At(i,!1),h=n.yi(),l=e.Oi();h>l-r&&n.Bi(l-r)}for(let t=1;t<e.length;t++){const n=e[t],s=e[t-1],r=s.At(i,!0),h=n.yi(),l=s.Oi();h<l+r&&n.Bi(l+r)}}Tp(t){if(null===this.Zf)return;const i=this.gp(),n=this.vp(),s=this.sp?"right":"left";i.forEach((i=>{if(i.zi()){i.Mt(h(this.Ii)).X(t,n,this.Gf,s)}}))}Pp(t){if(null===this.Zf||null===this.Ii)return;const i=this.tn.ip().Ut(),n=[],s=this.tn.xp(),e=i.Ec().Pn(s,this.Ii);e.length&&n.push(e);const r=this.vp(),l=this.sp?"right":"left";n.forEach((i=>{i.forEach((i=>{i.Mt(h(this.Ii)).X(t,r,this.Gf,l)}))}))}Op(t){this.ep.style.cursor=1===t?"ns-resize":"default"}Ua(){const t=this.mp();this.Jf<t&&this.tn.ip().Ut().Al(),this.Jf=t}bp(){return T(this.io.fontSize,this.io.fontFamily)}}function Hn(t,i,n,s){t.K&&t.K(i,n,s)}function Un(t,i,n,s){t.X(i,n,s)}function qn(t,i){return t.Tn(i)}function Yn(t,i){return t.Ji(i)}function Xn(t,i){return void 0!==t.Zl?t.Zl(i):[]}class Zn{constructor(t,i){this.Zf=Mn({width:0,height:0}),this.Lp=null,this.zp=null,this.Ap=null,this.Ep=!1,this.Ip=new m,this.Vp=0,this.Np=!1,this.Fp=null,this.Wp=!1,this.jp=null,this.$p=null,this.Qf=!1,this.tp=()=>{this.Qf||null===this.Hp||this.Hi().Wh()},this.np=()=>{this.Qf||null===this.Hp||this.Hi().Wh()},this.Up=t,this.Hp=i,this.Hp.b_().l(this.qp.bind(this),this,!0),this.Yp=document.createElement("td"),this.Yp.style.padding="0",this.Yp.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.Xp=document.createElement("td"),this.Xp.style.padding="0",this.Zp=document.createElement("td"),this.Zp.style.padding="0",this.Yp.appendChild(n),this.rp=An(n,Mn({width:16,height:16})),this.rp.subscribeSuggestedBitmapSizeChanged(this.tp);const s=this.rp.canvasElement;s.style.position="absolute",s.style.zIndex="1",s.style.left="0",s.style.top="0",this.hp=An(n,Mn({width:16,height:16})),this.hp.subscribeSuggestedBitmapSizeChanged(this.np);const e=this.hp.canvasElement;e.style.position="absolute",e.style.zIndex="2",e.style.left="0",e.style.top="0",this.Kp=document.createElement("tr"),this.Kp.appendChild(this.Xp),this.Kp.appendChild(this.Yp),this.Kp.appendChild(this.Zp),this.Gp(),this.fp=new In(this.hp.canvasElement,this,{bf:()=>null===this.Fp&&!this.Up.F().handleScroll.vertTouchDrag,gf:()=>null===this.Fp&&!this.Up.F().handleScroll.horzTouchDrag})}M(){null!==this.Lp&&this.Lp.M(),null!==this.zp&&this.zp.M(),this.hp.unsubscribeSuggestedBitmapSizeChanged(this.np),this.hp.dispose(),this.rp.unsubscribeSuggestedBitmapSizeChanged(this.tp),this.rp.dispose(),null!==this.Hp&&this.Hp.b_().v(this),this.fp.M()}xp(){return h(this.Hp)}Jp(t){null!==this.Hp&&this.Hp.b_().v(this),this.Hp=t,null!==this.Hp&&this.Hp.b_().l(Zn.prototype.qp.bind(this),this,!0),this.Gp()}ip(){return this.Up}pp(){return this.Kp}Gp(){if(null!==this.Hp&&(this.Qp(),0!==this.Hi().wt().length)){if(null!==this.Lp){const t=this.Hp.h_();this.Lp.Gi(h(t))}if(null!==this.zp){const t=this.Hp.l_();this.zp.Gi(h(t))}}}tv(){null!==this.Lp&&this.Lp.gt(),null!==this.zp&&this.zp.gt()}Jo(){return null!==this.Hp?this.Hp.Jo():0}Qo(t){this.Hp&&this.Hp.Qo(t)}df(t){if(!this.Hp)return;this.iv();const i=t.localX,n=t.localY;this.nv(i,n,t)}Bf(t){this.iv(),this.sv(),this.nv(t.localX,t.localY,t)}ff(t){if(!this.Hp)return;this.iv();const i=t.localX,n=t.localY;this.nv(i,n,t);const s=this.ir(i,n);this.Hi().Dc(s&&{Oc:s.Oc,ev:s.ev})}Tf(t){null!==this.Hp&&(this.iv(),this.rv(t))}xf(t){this.iv(),this.hv(t),this.nv(t.localX,t.localY,t)}Cf(t){null!==this.Hp&&(this.iv(),this.Np=!1,this.lv(t))}kf(t){null!==this.Hp&&this.rv(t)}$f(t){if(this.Np=!0,null===this.Fp){const i={x:t.localX,y:t.localY};this.av(i,i,t)}}jf(t){null!==this.Hp&&(this.iv(),this.Hp.Ut().Dc(null),this.ov())}_v(){return this.Ip}Ef(){this.Vp=1,this.Hi().Hn()}If(t,i){if(!this.Up.F().handleScale.pinch)return;const n=5*(i-this.Vp);this.Vp=i,this.Hi().Wc(t.st,n)}Df(t){if(this.Np=!1,this.Wp=null!==this.Fp,this.sv(),null!==this.Fp){const i=this.Hi().Ec();this.jp={x:i.Xt(),y:i.Zt()},this.Fp={x:t.localX,y:t.localY}}}wf(t){if(null===this.Hp)return;const i=t.localX,n=t.localY;if(null===this.Fp)this.hv(t);else{this.Wp=!1;const s=h(this.jp),e=s.x+(i-this.Fp.x),r=s.y+(n-this.Fp.y);this.nv(e,r,t)}}yf(t){0===this.ip().F().trackingMode.exitMode&&(this.Wp=!0),this.uv(),this.lv(t)}ir(t,i){const n=this.Hp;if(null===n)return null;const s=n.So();for(const e of s){const s=this.cv(e.Tn(n),t,i);if(null!==s)return{Oc:e,Yf:s.Yf,ev:s.ev}}return null}dv(t,i){h("left"===i?this.Lp:this.zp).wp(Mn({width:t,height:this.Zf.height}))}fv(){return this.Zf}wp(t){xn(this.Zf,t)||(this.Zf=t,this.Qf=!0,this.rp.resizeCanvasElement(t),this.hp.resizeCanvasElement(t),this.Qf=!1,this.Yp.style.width=t.width+"px",this.Yp.style.height=t.height+"px")}pv(){const t=h(this.Hp);t.r_(t.h_()),t.r_(t.l_());for(const i of t.ua())if(t.Ge(i)){const n=i.Ot();null!==n&&t.r_(n),i.Dn()}}Rp(){return this.rp.bitmapSize}Dp(t,i,n){const s=this.Rp();s.width>0&&s.height>0&&t.drawImage(this.rp.canvasElement,i,n)}Sp(t){if(0===t)return;if(null===this.Hp)return;if(t>1&&this.pv(),null!==this.Lp&&this.Lp.Sp(t),null!==this.zp&&this.zp.Sp(t),1!==t){this.rp.applySuggestedBitmapSize();const t=Tn(this.rp);null!==t&&(t.useBitmapCoordinateSpace((t=>{this.kp(t)})),this.Hp&&(this.vv(t),this.mv(t),this.bv(t,qn),this.bv(t,Yn)))}this.hp.applySuggestedBitmapSize();const i=Tn(this.hp);null!==i&&(i.useBitmapCoordinateSpace((({context:t,bitmapSize:i})=>{t.clearRect(0,0,i.width,i.height)})),this.bv(i,Xn),this.gv(i))}wv(){return this.Lp}Mv(){return this.zp}qp(){null!==this.Hp&&this.Hp.b_().v(this),this.Hp=null}rv(t){const i=t.localX,n=t.localY;this.Ip.g()&&this.Ip.m(this.Hi().yt().Tu(i),{x:i,y:n},t)}kp({context:t,bitmapSize:i}){const{width:n,height:s}=i,e=this.Hi(),r=e.U(),h=e.ed();r===h?N(t,0,0,n,s,h):$(t,0,0,n,s,r,h)}vv(t){const i=h(this.Hp).g_().jh().Mt();null!==i&&i.X(t,!1)}mv(t){const i=this.Hi().Ac();this.xv(t,qn,Hn,i),this.xv(t,qn,Un,i)}gv(t){this.xv(t,qn,Un,this.Hi().Ec())}bv(t,i){const n=h(this.Hp).So();for(const s of n)this.xv(t,i,Hn,s);for(const s of n)this.xv(t,i,Un,s)}xv(t,i,n,s){const e=h(this.Hp),r=i(s,e),l=e.Ut().Rc(),a=null!==l&&l.Oc===s,o=null!==l&&a&&void 0!==l.ev?l.ev.sr:void 0;for(const i of r){const s=i.Mt();null!==s&&n(s,t,a,o)}}cv(t,i,n){for(const s of t){const t=s.Mt();if(null!==t&&t.ir){const e=t.ir(i,n);if(null!==e)return{Yf:s,ev:e}}}return null}Qp(){if(null===this.Hp)return;const t=this.Up,i=this.Hp.h_().F().visible,n=this.Hp.l_().F().visible;i||null===this.Lp||(this.Xp.removeChild(this.Lp.pp()),this.Lp.M(),this.Lp=null),n||null===this.zp||(this.Zp.removeChild(this.zp.pp()),this.zp.M(),this.zp=null);const s=t.Ut().Gc();i&&null===this.Lp&&(this.Lp=new $n(this,t.F(),s,"left"),this.Xp.appendChild(this.Lp.pp())),n&&null===this.zp&&(this.zp=new $n(this,t.F(),s,"right"),this.Zp.appendChild(this.zp.pp()))}Sv(t){return t.Hf&&this.Np||null!==this.Fp}yv(t){return Math.max(0,Math.min(t,this.Zf.width-1))}kv(t){return Math.max(0,Math.min(t,this.Zf.height-1))}nv(t,i,n){this.Hi().Xc(this.yv(t),this.kv(i),n,h(this.Hp))}ov(){this.Hi().Zc()}uv(){this.Wp&&(this.Fp=null,this.ov())}av(t,i,n){this.Fp=t,this.Wp=!1,this.nv(i.x,i.y,n);const s=this.Hi().Ec();this.jp={x:s.Xt(),y:s.Zt()}}Hi(){return this.Up.Ut()}lv(t){if(!this.Ep)return;const i=this.Hi(),n=this.xp();if(i.d_(n,n.fn()),this.Ap=null,this.Ep=!1,i.Uc(),null!==this.$p){const t=performance.now(),n=i.yt();this.$p.pr(n.Ou(),t),this.$p.ju(t)||i.Yn(this.$p)}}iv(){this.Fp=null}sv(){if(!this.Hp)return;if(this.Hi().Hn(),document.activeElement!==document.body&&document.activeElement!==document.documentElement)h(document.activeElement).blur();else{const t=document.getSelection();null!==t&&t.removeAllRanges()}!this.Hp.fn().Ni()&&this.Hi().yt().Ni()}hv(t){if(null===this.Hp)return;const i=this.Hi(),n=i.yt();if(n.Ni())return;const s=this.Up.F(),e=s.handleScroll,r=s.kineticScroll;if((!e.pressedMouseMove||t.Hf)&&(!e.horzTouchDrag&&!e.vertTouchDrag||!t.Hf))return;const h=this.Hp.fn(),l=performance.now();if(null!==this.Ap||this.Sv(t)||(this.Ap={x:t.clientX,y:t.clientY,Hh:l,Cv:t.localX,Tv:t.localY}),null!==this.Ap&&!this.Ep&&(this.Ap.x!==t.clientX||this.Ap.y!==t.clientY)){if(t.Hf&&r.touch||!t.Hf&&r.mouse){const t=n.Ks();this.$p=new zn(.2/t,7/t,.997,15/t),this.$p.bd(n.Ou(),this.Ap.Hh)}else this.$p=null;h.Ni()||i.u_(this.Hp,h,t.localY),i.$c(t.localX),this.Ep=!0}this.Ep&&(h.Ni()||i.c_(this.Hp,h,t.localY),i.Hc(t.localX),null!==this.$p&&this.$p.bd(n.Ou(),l))}}class Kn{constructor(t,i,n,s,e){this.vt=!0,this.Zf=Mn({width:0,height:0}),this.tp=()=>this.Sp(3),this.sp="left"===t,this.wc=n.Gc,this.un=i,this.Pv=s,this.Rv=e,this.ep=document.createElement("div"),this.ep.style.width="25px",this.ep.style.height="100%",this.ep.style.overflow="hidden",this.rp=An(this.ep,Mn({width:16,height:16})),this.rp.subscribeSuggestedBitmapSizeChanged(this.tp)}M(){this.rp.unsubscribeSuggestedBitmapSizeChanged(this.tp),this.rp.dispose()}pp(){return this.ep}fv(){return this.Zf}wp(t){xn(this.Zf,t)||(this.Zf=t,this.rp.resizeCanvasElement(t),this.ep.style.width=`${t.width}px`,this.ep.style.height=`${t.height}px`,this.vt=!0)}Sp(t){if(t<3&&!this.vt)return;if(0===this.Zf.width||0===this.Zf.height)return;this.vt=!1,this.rp.applySuggestedBitmapSize();const i=Tn(this.rp);null!==i&&i.useBitmapCoordinateSpace((t=>{this.kp(t),this.ye(t)}))}Rp(){return this.rp.bitmapSize}Dp(t,i,n){const s=this.Rp();s.width>0&&s.height>0&&t.drawImage(this.rp.canvasElement,i,n)}ye({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(!this.Pv())return;t.fillStyle=this.un.timeScale.borderColor;const e=Math.floor(this.wc.F().k*n),r=Math.floor(this.wc.F().k*s),h=this.sp?i.width-e:0;t.fillRect(h,0,e,r)}kp({context:t,bitmapSize:i}){N(t,0,0,i.width,i.height,this.Rv())}}function Gn(t,i){return t.j_>i.j_?t:i}class Jn{constructor(t){this.Dv=null,this.Ov=null,this.S=null,this.Bv=!1,this.Zf=Mn({width:0,height:0}),this.Lv=new m,this.Gf=new Wt(5),this.Qf=!1,this.tp=()=>{this.Qf||this.Up.Ut().Wh()},this.np=()=>{this.Qf||this.Up.Ut().Wh()},this.Up=t,this.un=t.F().layout,this.zv=document.createElement("tr"),this.Av=document.createElement("td"),this.Av.style.padding="0",this.Ev=document.createElement("td"),this.Ev.style.padding="0",this.ep=document.createElement("td"),this.ep.style.height="25px",this.ep.style.padding="0",this.Iv=document.createElement("div"),this.Iv.style.width="100%",this.Iv.style.height="100%",this.Iv.style.position="relative",this.Iv.style.overflow="hidden",this.ep.appendChild(this.Iv),this.rp=An(this.Iv,Mn({width:16,height:16})),this.rp.subscribeSuggestedBitmapSizeChanged(this.tp);const i=this.rp.canvasElement;i.style.position="absolute",i.style.zIndex="1",i.style.left="0",i.style.top="0",this.hp=An(this.Iv,Mn({width:16,height:16})),this.hp.subscribeSuggestedBitmapSizeChanged(this.np);const n=this.hp.canvasElement;n.style.position="absolute",n.style.zIndex="2",n.style.left="0",n.style.top="0",this.zv.appendChild(this.Av),this.zv.appendChild(this.ep),this.zv.appendChild(this.Ev),this.Vv(),this.Up.Ut().Go().l(this.Vv.bind(this),this),this.fp=new In(this.hp.canvasElement,this,{bf:()=>!0,gf:()=>!1})}M(){this.fp.M(),null!==this.Dv&&this.Dv.M(),null!==this.Ov&&this.Ov.M(),this.hp.unsubscribeSuggestedBitmapSizeChanged(this.np),this.hp.dispose(),this.rp.unsubscribeSuggestedBitmapSizeChanged(this.tp),this.rp.dispose()}pp(){return this.zv}Nv(){return this.Dv}Fv(){return this.Ov}Bf(t){if(this.Bv)return;this.Bv=!0;const i=this.Up.Ut();!i.yt().Ni()&&this.Up.F().handleScale.axisPressedMouseMove.time&&i.Fc(t.localX)}Df(t){this.Bf(t)}Lf(){const t=this.Up.Ut();!t.yt().Ni()&&this.Bv&&(this.Bv=!1,this.Up.F().handleScale.axisPressedMouseMove.time&&t.Yc())}xf(t){const i=this.Up.Ut();!i.yt().Ni()&&this.Up.F().handleScale.axisPressedMouseMove.time&&i.qc(t.localX)}wf(t){this.xf(t)}Cf(){this.Bv=!1;const t=this.Up.Ut();t.yt().Ni()&&!this.Up.F().handleScale.axisPressedMouseMove.time||t.Yc()}yf(){this.Cf()}rf(){this.Up.F().handleScale.axisDoubleClickReset.time&&this.Up.Ut().Zn()}if(){this.rf()}df(){this.Up.Ut().F().handleScale.axisPressedMouseMove.time&&this.Op(1)}jf(){this.Op(0)}fv(){return this.Zf}Wv(){return this.Lv}jv(t,i,n){xn(this.Zf,t)||(this.Zf=t,this.Qf=!0,this.rp.resizeCanvasElement(t),this.hp.resizeCanvasElement(t),this.Qf=!1,this.ep.style.width=`${t.width}px`,this.ep.style.height=`${t.height}px`,this.Lv.m(t)),null!==this.Dv&&this.Dv.wp(Mn({width:i,height:t.height})),null!==this.Ov&&this.Ov.wp(Mn({width:n,height:t.height}))}$v(){const t=this.Hv();return Math.ceil(t.k+t.C+t.T+t.I+t.B+t.Uv)}gt(){this.Up.Ut().yt().Ma()}Rp(){return this.rp.bitmapSize}Dp(t,i,n){const s=this.Rp();s.width>0&&s.height>0&&t.drawImage(this.rp.canvasElement,i,n)}Sp(t){if(0===t)return;if(1!==t){this.rp.applySuggestedBitmapSize();const i=Tn(this.rp);null!==i&&(i.useBitmapCoordinateSpace((t=>{this.kp(t),this.ye(t)})),this.Cp(i)),null!==this.Dv&&this.Dv.Sp(t),null!==this.Ov&&this.Ov.Sp(t)}this.hp.applySuggestedBitmapSize();const i=Tn(this.hp);null!==i&&(i.useBitmapCoordinateSpace((({context:t,bitmapSize:i})=>{t.clearRect(0,0,i.width,i.height)})),this.qv([this.Up.Ut().Ec()],i))}kp({context:t,bitmapSize:i}){N(t,0,0,i.width,i.height,this.Up.Ut().ed())}ye({context:t,bitmapSize:i,verticalPixelRatio:n}){if(this.Up.F().timeScale.borderVisible){t.fillStyle=this.Yv();const s=Math.max(1,Math.floor(this.Hv().k*n));t.fillRect(0,0,i.width,s)}}Cp(t){const i=this.Up.Ut().yt(),n=i.Ma();if(!n||0===n.length)return;let s=n.reduce(Gn,n[0]).j_;s>30&&s<50&&(s=30);const e=this.Hv(),r=i.F();r.borderVisible&&r.ticksVisible&&t.useBitmapCoordinateSpace((({context:t,horizontalPixelRatio:i,verticalPixelRatio:s})=>{t.strokeStyle=this.Yv(),t.fillStyle=this.Yv();const r=Math.max(1,Math.floor(i)),h=Math.floor(.5*i);t.beginPath();const l=Math.round(e.C*s);for(let s=n.length;s--;){const e=Math.round(n[s].va*i);t.rect(e-h,0,r,l)}t.fill()})),t.useMediaCoordinateSpace((({context:t})=>{const i=e.k+e.C+e.I+e.T/2;t.textAlign="center",t.textBaseline="middle",t.fillStyle=this.$(),t.font=this.bp();for(const e of n)if(e.j_<s){const n=e.zu?this.Xv(t,e.va,e.za):e.va;t.fillText(e.za,n,i)}t.font=this.Zv();for(const e of n)if(e.j_>=s){const n=e.zu?this.Xv(t,e.va,e.za):e.va;t.fillText(e.za,n,i)}}))}Xv(t,i,n){const s=this.Gf.xi(t,n),e=s/2,r=Math.floor(i-e)+.5;return r<0?i+=Math.abs(0-r):r+s>this.Zf.width&&(i-=Math.abs(this.Zf.width-(r+s))),i}qv(t,i){const n=this.Hv();for(const s of t)for(const t of s.Qi())t.Mt().X(i,n)}Yv(){return this.Up.F().timeScale.borderColor}$(){return this.un.textColor}W(){return this.un.fontSize}bp(){return T(this.W(),this.un.fontFamily)}Zv(){return T(this.W(),this.un.fontFamily,"bold")}Hv(){null===this.S&&(this.S={k:1,V:NaN,I:NaN,B:NaN,ji:NaN,C:5,T:NaN,P:"",Wi:new Wt,Uv:0});const t=this.S,i=this.bp();if(t.P!==i){const n=this.W();t.T=n,t.P=i,t.I=3*n/12,t.B=3*n/12,t.ji=9*n/12,t.V=0,t.Uv=4*n/12,t.Wi.Fe()}return this.S}Op(t){this.ep.style.cursor=1===t?"ew-resize":"default"}Vv(){const t=this.Up.Ut(),i=t.F();i.leftPriceScale.visible||null===this.Dv||(this.Av.removeChild(this.Dv.pp()),this.Dv.M(),this.Dv=null),i.rightPriceScale.visible||null===this.Ov||(this.Ev.removeChild(this.Ov.pp()),this.Ov.M(),this.Ov=null);const n={Gc:this.Up.Ut().Gc()},s=()=>i.leftPriceScale.borderVisible&&t.yt().F().borderVisible,e=()=>t.ed();i.leftPriceScale.visible&&null===this.Dv&&(this.Dv=new Kn("left",i,n,s,e),this.Av.appendChild(this.Dv.pp())),i.rightPriceScale.visible&&null===this.Ov&&(this.Ov=new Kn("right",i,n,s,e),this.Ev.appendChild(this.Ov.pp()))}}const Qn=!!Pn&&!!navigator.userAgentData&&navigator.userAgentData.brands.some((t=>t.brand.includes("Chromium")))&&!!Pn&&((null===(ts=null===navigator||void 0===navigator?void 0:navigator.userAgentData)||void 0===ts?void 0:ts.platform)?"Windows"===navigator.userAgentData.platform:navigator.userAgent.toLowerCase().indexOf("win")>=0);var ts;class is{constructor(t,i){var n;this.Kv=[],this.Gv=0,this.Ia=0,this.Fo=0,this.Jv=0,this.Qv=0,this.tm=null,this.im=!1,this.Ip=new m,this.mc=new m,this.nm=null,this.sm=t,this.un=i,this.zv=document.createElement("div"),this.zv.classList.add("tv-lightweight-charts"),this.zv.style.overflow="hidden",this.zv.style.width="100%",this.zv.style.height="100%",(n=this.zv).style.userSelect="none",n.style.webkitUserSelect="none",n.style.msUserSelect="none",n.style.MozUserSelect="none",n.style.webkitTapHighlightColor="transparent",this.rm=document.createElement("table"),this.rm.setAttribute("cellspacing","0"),this.zv.appendChild(this.rm),this.hm=this.lm.bind(this),ns(this.un)&&this.am(!0),this.Hi=new bn(this.gc.bind(this),this.un),this.Ut().Ic().l(this.om.bind(this),this),this._m=new Jn(this),this.rm.appendChild(this._m.pp());const s=i.autoSize&&this.um();let e=this.un.width,r=this.un.height;if(s||0===e||0===r){const i=t.getBoundingClientRect();e=e||i.width,r=r||i.height}this.dm(e,r),this.fm(),t.appendChild(this.zv),this.pm(),this.Hi.yt().qu().l(this.Hi.Al.bind(this.Hi),this),this.Hi.Go().l(this.Hi.Al.bind(this.Hi),this)}Ut(){return this.Hi}F(){return this.un}vm(){return this.Kv}bm(){return this._m}M(){this.am(!1),0!==this.Gv&&window.cancelAnimationFrame(this.Gv),this.Hi.Ic().v(this),this.Hi.yt().qu().v(this),this.Hi.Go().v(this),this.Hi.M();for(const t of this.Kv)this.rm.removeChild(t.pp()),t._v().v(this),t.M();this.Kv=[],h(this._m).M(),null!==this.zv.parentElement&&this.zv.parentElement.removeChild(this.zv),this.mc.M(),this.Ip.M(),this.gm()}dm(t,i,n=!1){if(this.Ia===i&&this.Fo===t)return;const s=function(t){const i=Math.floor(t.width),n=Math.floor(t.height);return Mn({width:i-i%2,height:n-n%2})}(Mn({width:t,height:i}));this.Ia=s.height,this.Fo=s.width;const e=this.Ia+"px",r=this.Fo+"px";h(this.zv).style.height=e,h(this.zv).style.width=r,this.rm.style.height=e,this.rm.style.width=r,n?this.wm(tt.ss(),performance.now()):this.Hi.Al()}Sp(t){void 0===t&&(t=tt.ss());for(let i=0;i<this.Kv.length;i++)this.Kv[i].Sp(t.jn(i).Nn);this.un.timeScale.visible&&this._m.Sp(t.Wn())}Fh(t){const i=ns(this.un);this.Hi.Fh(t);const n=ns(this.un);n!==i&&this.am(n),this.pm(),this.Mm(t)}_v(){return this.Ip}Ic(){return this.mc}xm(){null!==this.tm&&(this.wm(this.tm,performance.now()),this.tm=null);const t=this.Sm(null),i=document.createElement("canvas");i.width=t.width,i.height=t.height;const n=h(i.getContext("2d"));return this.Sm(n),i}ym(t){if("left"===t&&!this.km())return 0;if("right"===t&&!this.Cm())return 0;if(0===this.Kv.length)return 0;return h("left"===t?this.Kv[0].wv():this.Kv[0].Mv()).Mp()}Tm(){return this.un.autoSize&&null!==this.nm}Mm(t){(void 0!==t.autoSize||!this.nm||void 0===t.width&&void 0===t.height)&&(t.autoSize&&!this.nm&&this.um(),!1===t.autoSize&&null!==this.nm&&this.gm(),t.autoSize||void 0===t.width&&void 0===t.height||this.dm(t.width||this.Fo,t.height||this.Ia))}Sm(t){let i=0,n=0;const s=this.Kv[0],e=(i,n)=>{let s=0;for(let e=0;e<this.Kv.length;e++){const r=this.Kv[e],l=h("left"===i?r.wv():r.Mv()),a=l.Rp();null!==t&&l.Dp(t,n,s),s+=a.height}};if(this.km()){e("left",0);i+=h(s.wv()).Rp().width}for(let s=0;s<this.Kv.length;s++){const e=this.Kv[s],r=e.Rp();null!==t&&e.Dp(t,i,n),n+=r.height}if(i+=s.Rp().width,this.Cm()){e("right",i);i+=h(s.Mv()).Rp().width}const r=(i,n,s)=>{h("left"===i?this._m.Nv():this._m.Fv()).Dp(h(t),n,s)};if(this.un.timeScale.visible){const i=this._m.Rp();if(null!==t){let e=0;this.km()&&(r("left",e,n),e=h(s.wv()).Rp().width),this._m.Dp(t,e,n),e+=i.width,this.Cm()&&r("right",e,n)}n+=i.height}return Mn({width:i,height:n})}Pm(){let t=0,i=0,n=0;for(const s of this.Kv)this.km()&&(i=Math.max(i,h(s.wv()).mp())),this.Cm()&&(n=Math.max(n,h(s.Mv()).mp())),t+=s.Jo();i=On(i),n=On(n);const s=this.Fo,e=this.Ia,r=Math.max(s-i-n,0),l=this.un.timeScale.visible;let a=l?this._m.$v():0;var o;a=(o=a)+o%2;const _=0+a,u=e<_?0:e-_,c=u/t;let d=0;for(let t=0;t<this.Kv.length;++t){const s=this.Kv[t];s.Jp(this.Hi.zc()[t]);let e=0,h=0;h=t===this.Kv.length-1?u-d:Math.round(s.Jo()*c),e=Math.max(h,2),d+=e,s.wp(Mn({width:r,height:e})),this.km()&&s.dv(i,"left"),this.Cm()&&s.dv(n,"right"),s.xp()&&this.Hi.Vc(s.xp(),e)}this._m.jv(Mn({width:l?r:0,height:a}),l?i:0,l?n:0),this.Hi.t_(r),this.Jv!==i&&(this.Jv=i),this.Qv!==n&&(this.Qv=n)}am(t){t?this.zv.addEventListener("wheel",this.hm,{passive:!1}):this.zv.removeEventListener("wheel",this.hm)}Rm(t){switch(t.deltaMode){case t.DOM_DELTA_PAGE:return 120;case t.DOM_DELTA_LINE:return 32}return Qn?1/window.devicePixelRatio:1}lm(t){if(!(0!==t.deltaX&&this.un.handleScroll.mouseWheel||0!==t.deltaY&&this.un.handleScale.mouseWheel))return;const i=this.Rm(t),n=i*t.deltaX/100,s=-i*t.deltaY/100;if(t.cancelable&&t.preventDefault(),0!==s&&this.un.handleScale.mouseWheel){const i=Math.sign(s)*Math.min(1,Math.abs(s)),n=t.clientX-this.zv.getBoundingClientRect().left;this.Ut().Wc(n,i)}0!==n&&this.un.handleScroll.mouseWheel&&this.Ut().jc(-80*n)}wm(t,i){var n;const s=t.Wn();3===s&&this.Dm(),3!==s&&2!==s||(this.Om(t),this.Bm(t,i),this._m.gt(),this.Kv.forEach((t=>{t.tv()})),3===(null===(n=this.tm)||void 0===n?void 0:n.Wn())&&(this.tm.Qn(t),this.Dm(),this.Om(this.tm),this.Bm(this.tm,i),t=this.tm,this.tm=null)),this.Sp(t)}Bm(t,i){for(const n of t.Jn())this.ts(n,i)}Om(t){const i=this.Hi.zc();for(let n=0;n<i.length;n++)t.jn(n).Fn&&i[n].v_()}ts(t,i){const n=this.Hi.yt();switch(t.Un){case 0:n.Xu();break;case 1:n.Zu(t.Bt);break;case 2:n.Kn(t.Bt);break;case 3:n.Gn(t.Bt);break;case 4:n.Au();break;case 5:t.Bt.ju(i)||n.Gn(t.Bt.$u(i))}}gc(t){null!==this.tm?this.tm.Qn(t):this.tm=t,this.im||(this.im=!0,this.Gv=window.requestAnimationFrame((t=>{if(this.im=!1,this.Gv=0,null!==this.tm){const i=this.tm;this.tm=null,this.wm(i,t);for(const n of i.Jn())if(5===n.Un&&!n.Bt.ju(t)){this.Ut().Yn(n.Bt);break}}})))}Dm(){this.fm()}fm(){const t=this.Hi.zc(),i=t.length,n=this.Kv.length;for(let t=i;t<n;t++){const t=r(this.Kv.pop());this.rm.removeChild(t.pp()),t._v().v(this),t.M()}for(let s=n;s<i;s++){const i=new Zn(this,t[s]);i._v().l(this.Lm.bind(this),this),this.Kv.push(i),this.rm.insertBefore(i.pp(),this._m.pp())}for(let n=0;n<i;n++){const i=t[n],s=this.Kv[n];s.xp()!==i?s.Jp(i):s.Gp()}this.pm(),this.Pm()}zm(t,i,n){var s;const e=new Map;if(null!==t){this.Hi.wt().forEach((i=>{const n=i.zn().ol(t);null!==n&&e.set(i,n)}))}let r;if(null!==t){const i=null===(s=this.Hi.yt().Ui(t))||void 0===s?void 0:s.H_;void 0!==i&&(r=i)}const h=this.Ut().Rc(),l=null!==h&&h.Oc instanceof Pi?h.Oc:void 0,a=null!==h&&void 0!==h.ev?h.ev.nr:void 0;return{_t:r,Ys:null!=t?t:void 0,Am:null!=i?i:void 0,Em:l,Im:e,Vm:a,Nm:null!=n?n:void 0}}Lm(t,i,n){this.Ip.m((()=>this.zm(t,i,n)))}om(t,i,n){this.mc.m((()=>this.zm(t,i,n)))}pm(){const t=this.un.timeScale.visible?"":"none";this._m.pp().style.display=t}km(){return this.Kv[0].xp().h_().F().visible}Cm(){return this.Kv[0].xp().l_().F().visible}um(){return"ResizeObserver"in window&&(this.nm=new ResizeObserver((t=>{const i=t.find((t=>t.target===this.sm));i&&this.dm(i.contentRect.width,i.contentRect.height)})),this.nm.observe(this.sm,{box:"border-box"}),!0)}gm(){null!==this.nm&&this.nm.disconnect()}}function ns(t){return Boolean(t.handleScroll.mouseWheel||t.handleScale.mouseWheel)}function ss(t,i,n,s){const e=n.value,r={Ys:i,_t:t,Bt:[e,e,e,e],H_:s};return void 0!==n.color&&(r.D=n.color),r}function es(t){return void 0!==t.Bt}function rs(t){return(i,n,s,e)=>{return void 0===(r=s).open&&void 0===r.value?{_t:i,Ys:n,H_:e}:t(i,n,s,e);var r}}const hs={Candlestick:rs((function(t,i,n,s){const e={Ys:i,_t:t,Bt:[n.open,n.high,n.low,n.close],H_:s};return void 0!==n.color&&(e.D=n.color),void 0!==n.borderColor&&(e.Lt=n.borderColor),void 0!==n.wickColor&&(e.Gh=n.wickColor),e})),Bar:rs((function(t,i,n,s){const e={Ys:i,_t:t,Bt:[n.open,n.high,n.low,n.close],H_:s};return void 0!==n.color&&(e.D=n.color),e})),Area:rs((function(t,i,n,s){const e=n.value,r={Ys:i,_t:t,Bt:[e,e,e,e],H_:s};return void 0!==n.lineColor&&(r.ot=n.lineColor),void 0!==n.topColor&&(r.bs=n.topColor),void 0!==n.bottomColor&&(r.gs=n.bottomColor),r})),Baseline:rs((function(t,i,n,s){const e=n.value,r={Ys:i,_t:t,Bt:[e,e,e,e],H_:s};return void 0!==n.topLineColor&&(r.be=n.topLineColor),void 0!==n.bottomLineColor&&(r.ge=n.bottomLineColor),void 0!==n.topFillColor1&&(r.de=n.topFillColor1),void 0!==n.topFillColor2&&(r.fe=n.topFillColor2),void 0!==n.bottomFillColor1&&(r.pe=n.bottomFillColor1),void 0!==n.bottomFillColor2&&(r.ve=n.bottomFillColor2),r})),Histogram:rs(ss),Line:rs(ss)};function ls(t){return hs[t]}function as(t){return 60*t*60*1e3}function os(t){return 60*t*1e3}const _s=[{Fm:(us=1,1e3*us),j_:10},{Fm:os(1),j_:20},{Fm:os(5),j_:21},{Fm:os(30),j_:22},{Fm:as(1),j_:30},{Fm:as(3),j_:31},{Fm:as(6),j_:32},{Fm:as(12),j_:33}];var us;function cs(t,i){if(t.getUTCFullYear()!==i.getUTCFullYear())return 70;if(t.getUTCMonth()!==i.getUTCMonth())return 60;if(t.getUTCDate()!==i.getUTCDate())return 50;for(let n=_s.length-1;n>=0;--n)if(Math.floor(i.getTime()/_s[n].Fm)!==Math.floor(t.getTime()/_s[n].Fm))return _s[n].j_;return 0}function ds(t,i=0){if(0===t.length)return;let n=0===i?null:t[i-1]._t.Hh,s=null!==n?new Date(1e3*n):null,e=0;for(let r=i;r<t.length;++r){const i=t[r],h=new Date(1e3*i._t.Hh);null!==s&&(i.W_=cs(h,s)),e+=i._t.Hh-(n||i._t.Hh),n=i._t.Hh,s=h}if(0===i&&t.length>1){const i=Math.ceil(e/(t.length-1)),n=new Date(1e3*(t[0]._t.Hh-i));t[0].W_=cs(new Date(1e3*t[0]._t.Hh),n)}}function fs(t){if(!gn(t))throw new Error("time must be of type BusinessDay");const i=new Date(Date.UTC(t.year,t.month-1,t.day,0,0,0,0));return{Hh:Math.round(i.getTime()/1e3),L_:t}}function ps(t){if(!wn(t))throw new Error("time must be of type isUTCTimestamp");return{Hh:t}}function vs(t){return 0===t.length?null:gn(t[0].time)?fs:ps}function ms(t){return wn(t)?ps(t):gn(t)?fs(t):fs(bs(t))}function bs(t){const i=new Date(t);if(isNaN(i.getTime()))throw new Error(`Invalid date string=${t}, expected format=yyyy-mm-dd`);return{day:i.getUTCDate(),month:i.getUTCMonth()+1,year:i.getUTCFullYear()}}function gs(t){M(t.time)&&(t.time=bs(t.time))}function ws(t){return{Ys:0,Wm:new Map,Xl:t}}function Ms(t){if(void 0!==t&&0!==t.length)return{jm:t[0]._t.Hh,$m:t[t.length-1]._t.Hh}}function xs(t){let i;return t.forEach((t=>{void 0===i&&(i=t.H_)})),r(i)}function Ss(t){void 0===t.H_&&(t.H_=t.time)}class ys{constructor(){this.Hm=new Map,this.Um=new Map,this.qm=new Map,this.Ym=[]}M(){this.Hm.clear(),this.Um.clear(),this.qm.clear(),this.Ym=[]}Xm(t,i){let n=0!==this.Hm.size,s=!1;const e=this.Um.get(t);if(void 0!==e)if(1===this.Um.size)n=!1,s=!0,this.Hm.clear();else for(const i of this.Ym)i.pointData.Wm.delete(t)&&(s=!0);let r=[];if(0!==i.length){const n=i;n.forEach((t=>Ss(t))),function(t){t.forEach(gs)}(i);const e=h(vs(i)),l=ls(t.il());r=n.map((i=>{const n=e(i.time);let r=this.Hm.get(n.Hh);void 0===r&&(r=ws(n),this.Hm.set(n.Hh,r),s=!0);const h=l(n,r.Ys,i,i.H_);return r.Wm.set(t,h),h}))}n&&this.Zm(),this.Km(t,r);let l=-1;if(s){const t=[];this.Hm.forEach((i=>{t.push({W_:0,_t:i.Xl,pointData:i,H_:xs(i.Wm)})})),t.sort(((t,i)=>t._t.Hh-i._t.Hh)),l=this.Gm(t)}return this.Jm(t,l,function(t,i){const n=Ms(t),s=Ms(i);if(void 0!==n&&void 0!==s)return{Nl:n.$m>=s.$m&&n.jm>=s.jm}}(this.Um.get(t),e))}td(t){return this.Xm(t,[])}Qm(t,i){const n=i;Ss(n),gs(i);const s=h(vs([i]))(i.time),e=this.qm.get(t);if(void 0!==e&&s.Hh<e.Hh)throw new Error(`Cannot update oldest data, last time=${e.Hh}, new time=${s.Hh}`);let r=this.Hm.get(s.Hh);const l=void 0===r;void 0===r&&(r=ws(s),this.Hm.set(s.Hh,r));const a=ls(t.il())(s,r.Ys,i,n.H_);r.Wm.set(t,a),this.tb(t,a);const o={Nl:es(a)};if(!l)return this.Jm(t,-1,o);const _={W_:0,_t:r.Xl,pointData:r,H_:xs(r.Wm)},u=mt(this.Ym,_._t.Hh,((t,i)=>t._t.Hh<i));this.Ym.splice(u,0,_);for(let t=u;t<this.Ym.length;++t)ks(this.Ym[t].pointData,t);return ds(this.Ym,u),this.Jm(t,u,o)}tb(t,i){let n=this.Um.get(t);void 0===n&&(n=[],this.Um.set(t,n));const s=0!==n.length?n[n.length-1]:null;null===s||i._t.Hh>s._t.Hh?es(i)&&n.push(i):es(i)?n[n.length-1]=i:n.splice(-1,1),this.qm.set(t,i._t)}Km(t,i){0!==i.length?(this.Um.set(t,i.filter(es)),this.qm.set(t,i[i.length-1]._t)):(this.Um.delete(t),this.qm.delete(t))}Zm(){for(const t of this.Ym)0===t.pointData.Wm.size&&this.Hm.delete(t._t.Hh)}Gm(t){let i=-1;for(let n=0;n<this.Ym.length&&n<t.length;++n){const s=this.Ym[n],e=t[n];if(s._t.Hh!==e._t.Hh){i=n;break}e.W_=s.W_,ks(e.pointData,n)}if(-1===i&&this.Ym.length!==t.length&&(i=Math.min(this.Ym.length,t.length)),-1===i)return-1;for(let n=i;n<t.length;++n)ks(t[n].pointData,n);return ds(t,i),this.Ym=t,i}ib(){if(0===this.Um.size)return null;let t=0;return this.Um.forEach((i=>{0!==i.length&&(t=Math.max(t,i[i.length-1].Ys))})),t}Jm(t,i,n){const s={nb:new Map,yt:{Cu:this.ib()}};if(-1!==i)this.Um.forEach(((i,e)=>{s.nb.set(e,{ar:i,sb:e===t?n:void 0})})),this.Um.has(t)||s.nb.set(t,{ar:[],sb:n}),s.yt.eb=this.Ym,s.yt.rb=i;else{const i=this.Um.get(t);s.nb.set(t,{ar:i||[],sb:n})}return s}}function ks(t,i){t.Ys=i,t.Wm.forEach((t=>{t.Ys=i}))}function Cs(t){return{value:t.Bt[3],time:t.H_}}function Ts(t){const i=Cs(t);return void 0!==t.D&&(i.color=t.D),i}function Ps(t){return{open:t.Bt[0],high:t.Bt[1],low:t.Bt[2],close:t.Bt[3],time:t.H_}}const Rs={Area:function(t){const i=Cs(t);return void 0!==t.ot&&(i.lineColor=t.ot),void 0!==t.bs&&(i.topColor=t.bs),void 0!==t.gs&&(i.bottomColor=t.gs),i},Line:Ts,Baseline:function(t){const i=Cs(t);return void 0!==t.be&&(i.topLineColor=t.be),void 0!==t.ge&&(i.bottomLineColor=t.ge),void 0!==t.de&&(i.topFillColor1=t.de),void 0!==t.fe&&(i.topFillColor2=t.fe),void 0!==t.pe&&(i.bottomFillColor1=t.pe),void 0!==t.ve&&(i.bottomFillColor2=t.ve),i},Histogram:Ts,Bar:function(t){const i=Ps(t);return void 0!==t.D&&(i.color=t.D),i},Candlestick:function(t){const i=Ps(t),{D:n,Lt:s,Gh:e}=t;return void 0!==n&&(i.color=n),void 0!==s&&(i.borderColor=s),void 0!==e&&(i.wickColor=e),i}};function Ds(t){return Rs[t]}const Os={autoScale:!0,mode:0,invertScale:!1,alignLabels:!0,borderVisible:!0,borderColor:"#2B2B43",entireTextOnly:!1,visible:!1,ticksVisible:!1,scaleMargins:{bottom:.1,top:.2}},Bs={color:"rgba(0, 0, 0, 0)",visible:!1,fontSize:48,fontFamily:C,fontStyle:"",text:"",horzAlign:"center",vertAlign:"center"},Ls={width:0,height:0,autoSize:!1,layout:{background:{type:"solid",color:"#FFFFFF"},textColor:"#191919",fontSize:12,fontFamily:C},crosshair:{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},grid:{vertLines:{color:"#D6DCDE",style:0,visible:!0},horzLines:{color:"#D6DCDE",style:0,visible:!0}},overlayPriceScales:Object.assign({},Os),leftPriceScale:Object.assign(Object.assign({},Os),{visible:!1}),rightPriceScale:Object.assign(Object.assign({},Os),{visible:!0}),timeScale:{rightOffset:0,barSpacing:6,minBarSpacing:.5,fixLeftEdge:!1,fixRightEdge:!1,lockVisibleTimeRangeOnResize:!1,rightBarStaysOnScroll:!1,borderVisible:!0,borderColor:"#2B2B43",visible:!0,timeVisible:!1,secondsVisible:!0,shiftVisibleRangeOnNewBar:!0,ticksVisible:!1},watermark:Bs,localization:{locale:Pn?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}},zs={upColor:"#26a69a",downColor:"#ef5350",wickVisible:!0,borderVisible:!0,borderColor:"#378658",borderUpColor:"#26a69a",borderDownColor:"#ef5350",wickColor:"#737375",wickUpColor:"#26a69a",wickDownColor:"#ef5350"},As={upColor:"#26a69a",downColor:"#ef5350",openVisible:!0,thinBars:!0},Es={color:"#2196f3",lineStyle:0,lineWidth:3,lineType:0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:"",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:"",lastPriceAnimation:0},Is={topColor:"rgba( 46, 220, 135, 0.4)",bottomColor:"rgba( 40, 221, 100, 0)",invertFilledArea:!1,lineColor:"#33D778",lineStyle:0,lineWidth:3,lineType:0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:"",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:"",lastPriceAnimation:0},Vs={baseValue:{type:"price",price:0},topFillColor1:"rgba(38, 166, 154, 0.28)",topFillColor2:"rgba(38, 166, 154, 0.05)",topLineColor:"rgba(38, 166, 154, 1)",bottomFillColor1:"rgba(239, 83, 80, 0.05)",bottomFillColor2:"rgba(239, 83, 80, 0.28)",bottomLineColor:"rgba(239, 83, 80, 1)",lineWidth:3,lineStyle:0,lineType:0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:"",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:"",lastPriceAnimation:0},Ns={color:"#26a69a",base:0},Fs={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}};class Ws{constructor(t,i){this.hb=t,this.lb=i}applyOptions(t){this.hb.Ut().Bc(this.lb,t)}options(){return this.Ii().F()}width(){return Q(this.lb)?this.hb.ym(this.lb):0}Ii(){return h(this.hb.Ut().Lc(this.lb)).Ot}}class js{constructor(t){this.Bh=t}applyOptions(t){this.Bh.Fh(t)}options(){return this.Bh.F()}ab(){return this.Bh}}const $s={corners:[],lowPrice:0,highPrice:0,earlyTime:0,lateTime:0,borderColor:"#0FF",borderWidth:1,borderStyle:0,fillColor:"#0FF",fillOpacity:1,borderVisible:!0,axisLabelVisible:!1,title:""},Hs={color:"#FF0000",price:0,lineStyle:2,lineWidth:1,lineVisible:!0,axisLabelVisible:!0,title:"",axisLabelColor:"",axisLabelTextColor:""};class Us{constructor(t){this.Uh=t}applyOptions(t){this.Uh.Fh(t)}options(){return this.Uh.F()}ob(){return this.Uh}}class qs{constructor(t,i,n){this.Ts=t,this._b=i,this.ub=n}priceFormatter(){return this.Ts.ia()}priceToCoordinate(t){const i=this.Ts.Tt();return null===i?null:this.Ts.Ot().Dt(t,i.Bt)}coordinateToPrice(t){const i=this.Ts.Tt();return null===i?null:this.Ts.Ot().pn(t,i.Bt)}barsInLogicalRange(t){if(null===t)return null;const i=new an(new rn(t.from,t.to)).Z_(),n=this.Ts.zn();if(n.Ni())return null;const s=n.ol(i.Ms(),1),e=n.ol(i.ci(),-1),r=h(n.hl()),l=h(n.Ln());if(null!==s&&null!==e&&s.Ys>e.Ys)return{barsBefore:t.from-r,barsAfter:l-t.to};const a={barsBefore:null===s||s.Ys===r?t.from-r:s.Ys-r,barsAfter:null===e||e.Ys===l?l-t.to:l-e.Ys};return null!==s&&null!==e&&(a.from=s._t.L_||s._t.Hh,a.to=e._t.L_||e._t.Hh),a}setData(t){this.Ts.il(),this._b.cb(this.Ts,t)}update(t){this.Ts.il(),this._b.fb(this.Ts,t)}dataByIndex(t,i){const n=this.Ts.zn().ol(t,i);return null===n?null:Ds(this.seriesType())(n)}setMarkers(t){const i=t.map((t=>Object.assign(Object.assign({},t),{originalTime:t.time,time:ms(t.time)})));this.Ts.Wl(i)}markers(){return this.Ts.jl().map((t=>{const{originalTime:i,time:n}=t,s=function(t,i){var n={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&i.indexOf(s)<0&&(n[s]=t[s]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var e=0;for(s=Object.getOwnPropertySymbols(t);e<s.length;e++)i.indexOf(s[e])<0&&Object.prototype.propertyIsEnumerable.call(t,s[e])&&(n[s[e]]=t[s[e]])}return n}(t,["originalTime","time"]);return Object.assign({time:i},s)}))}applyOptions(t){this.Ts.Fh(t)}options(){return S(this.Ts.F())}priceScale(){return this.ub.priceScale(this.Ts.Ot().la())}createPriceLine(t){const i=b(S(Hs),t),n=this.Ts.$l(i);return new Us(n)}removePriceLine(t){this.Ts.Hl(t.ob())}createBox(t){const i=b(S($s),t),n=this.Ts.Ul(i);return new js(n)}removeBox(t){this.Ts.ql(t.ab())}seriesType(){return this.Ts.il()}}class Ys{constructor(t,i){this.pb=new m,this.ru=new m,this.Lv=new m,this.Hi=t,this.$o=t.yt(),this._m=i,this.$o.Hu().l(this.vb.bind(this)),this.$o.Uu().l(this.mb.bind(this)),this._m.Wv().l(this.bb.bind(this))}M(){this.$o.Hu().v(this),this.$o.Uu().v(this),this._m.Wv().v(this),this.pb.M(),this.ru.M(),this.Lv.M()}scrollPosition(){return this.$o.Ou()}scrollToPosition(t,i){i?this.$o.Wu(t,1e3):this.Hi.Gn(t)}scrollToRealTime(){this.$o.Fu()}getVisibleRange(){var t,i;const n=this.$o.gu();return null===n?null:{from:null!==(t=n.from.L_)&&void 0!==t?t:n.from.Hh,to:null!==(i=n.to.L_)&&void 0!==i?i:n.to.Hh}}setVisibleRange(t){const i={from:ms(t.from),to:ms(t.to)},n=this.$o.Su(i);this.Hi.nd(n)}getVisibleLogicalRange(){const t=this.$o.bu();return null===t?null:{from:t.Ms(),to:t.ci()}}setVisibleLogicalRange(t){e(t.from<=t.to,"The from index cannot be after the to index."),this.Hi.nd(t)}resetTimeScale(){this.Hi.Zn()}fitContent(){this.Hi.Xu()}logicalToCoordinate(t){const i=this.Hi.yt();return i.Ni()?null:i.Et(t)}coordinateToLogical(t){return this.$o.Ni()?null:this.$o.Tu(t)}timeToCoordinate(t){const i=ms(t),n=this.$o.$h(i,!1);return null===n?null:this.$o.Et(n)}coordinateToTime(t){var i;const n=this.Hi.yt(),s=n.Tu(t),e=n.vn(s);return null===e?null:null!==(i=e.L_)&&void 0!==i?i:e.Hh}width(){return this._m.fv().width}height(){return this._m.fv().height}subscribeVisibleTimeRangeChange(t){this.pb.l(t)}unsubscribeVisibleTimeRangeChange(t){this.pb.p(t)}subscribeVisibleLogicalRangeChange(t){this.ru.l(t)}unsubscribeVisibleLogicalRangeChange(t){this.ru.p(t)}subscribeSizeChange(t){this.Lv.l(t)}unsubscribeSizeChange(t){this.Lv.p(t)}applyOptions(t){this.$o.Fh(t)}options(){return S(this.$o.F())}vb(){this.pb.g()&&this.pb.m(this.getVisibleRange())}mb(){this.ru.g()&&this.ru.m(this.getVisibleLogicalRange())}bb(t){this.Lv.m(t.width,t.height)}}function Xs(t){if(void 0===t||"custom"===t.type)return;const i=t;void 0!==i.minMove&&void 0===i.precision&&(i.precision=function(t){if(t>=1)return 0;let i=0;for(;i<8;i++){const n=Math.round(t);if(Math.abs(n-t)<1e-8)return i;t*=10}return i}(i.minMove))}function Zs(t){return function(t){if(x(t.handleScale)){const i=t.handleScale;t.handleScale={axisDoubleClickReset:{time:i,price:i},axisPressedMouseMove:{time:i,price:i},mouseWheel:i,pinch:i}}else if(void 0!==t.handleScale){const{axisPressedMouseMove:i,axisDoubleClickReset:n}=t.handleScale;x(i)&&(t.handleScale.axisPressedMouseMove={time:i,price:i}),x(n)&&(t.handleScale.axisDoubleClickReset={time:n,price:n})}const i=t.handleScroll;x(i)&&(t.handleScroll={horzTouchDrag:i,vertTouchDrag:i,mouseWheel:i,pressedMouseMove:i})}(t),t}class Ks{constructor(t,i){this.gb=new ys,this.wb=new Map,this.Mb=new Map,this.xb=new m,this.Sb=new m;const n=void 0===i?S(Ls):b(S(Ls),Zs(i));this.hb=new is(t,n),this.hb._v().l((t=>{this.xb.g()&&this.xb.m(this.yb(t()))}),this),this.hb.Ic().l((t=>{this.Sb.g()&&this.Sb.m(this.yb(t()))}),this);const s=this.hb.Ut();this.kb=new Ys(s,this.hb.bm())}remove(){this.hb._v().v(this),this.hb.Ic().v(this),this.kb.M(),this.hb.M(),this.wb.clear(),this.Mb.clear(),this.xb.M(),this.Sb.M(),this.gb.M()}resize(t,i,n){this.autoSizeActive()||this.hb.dm(t,i,n)}addAreaSeries(t){return this.Cb("Area",Is,t)}addBaselineSeries(t){return this.Cb("Baseline",Vs,t)}addBarSeries(t){return this.Cb("Bar",As,t)}addCandlestickSeries(t={}){return function(t){void 0!==t.borderColor&&(t.borderUpColor=t.borderColor,t.borderDownColor=t.borderColor),void 0!==t.wickColor&&(t.wickUpColor=t.wickColor,t.wickDownColor=t.wickColor)}(t),this.Cb("Candlestick",zs,t)}addHistogramSeries(t){return this.Cb("Histogram",Ns,t)}addLineSeries(t){return this.Cb("Line",Es,t)}removeSeries(t){const i=r(this.wb.get(t)),n=this.gb.td(i);this.hb.Ut().td(i),this.Tb(n),this.wb.delete(t),this.Mb.delete(i)}cb(t,i){this.Tb(this.gb.Xm(t,i))}fb(t,i){this.Tb(this.gb.Qm(t,i))}subscribeClick(t){this.xb.l(t)}unsubscribeClick(t){this.xb.p(t)}subscribeCrosshairMove(t){this.Sb.l(t)}unsubscribeCrosshairMove(t){this.Sb.p(t)}priceScale(t){return new Ws(this.hb,t)}timeScale(){return this.kb}applyOptions(t){this.hb.Fh(Zs(t))}options(){return this.hb.F()}takeScreenshot(){return this.hb.xm()}autoSizeActive(){return this.hb.Tm()}Cb(t,i,n={}){Xs(n.priceFormat);const s=b(S(Fs),S(i),n),e=this.hb.Ut().Jc(t,s),r=new qs(e,this,this);return this.wb.set(r,e),this.Mb.set(e,r),r}Tb(t){const i=this.hb.Ut();i.Kc(t.yt.Cu,t.yt.eb,t.yt.rb),t.nb.forEach(((t,i)=>i.tt(t.ar,t.sb))),i.Ru()}Pb(t){return r(this.Mb.get(t))}yb(t){const i=new Map;t.Im.forEach(((t,n)=>{const s=Ds(n.il())(t);e(function(t){return void 0!==t.open||void 0!==t.value}(s)),i.set(this.Pb(n),s)}));const n=void 0===t.Em?void 0:this.Pb(t.Em);return{time:t._t,logical:t.Ys,point:t.Am,hoveredSeries:n,hoveredObjectId:t.Vm,seriesData:i,sourceEvent:t.Nm}}}var Gs=Object.freeze({__proto__:null,get ColorType(){return dn},get CrosshairMode(){return G},get LastPriceAnimationMode(){return un},get LineStyle(){return i},get LineType(){return t},get MismatchDirection(){return yi},get PriceLineSource(){return cn},get PriceScaleMode(){return qi},get TickMarkType(){return on},get TrackingModeExitMode(){return _n},createChart:function(t,i){let n;if(M(t)){const i=document.getElementById(t);e(null!==i,`Cannot find element in DOM with id=${t}`),n=i}else n=t;return new Ks(n,i)},isBusinessDay:gn,isUTCTimestamp:wn,version:function(){return"4.1.2"}});window.LightweightCharts=Gs}();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment