UNPKG

unity-lightweight-charts

Version:
7 lines 185 kB
/*! * @license * TradingView Lightweight Charts™ v4.2.2 * Copyright (c) 2024 TradingView, Inc. * Licensed under Apache License 2.0 https://www.apache.org/licenses/LICENSE-2.0 */ !function(){"use strict";const t={upColor:"#26a69a",downColor:"#ef5350",wickVisible:!0,borderVisible:!0,borderColor:"#378658",borderUpColor:"#26a69a",borderDownColor:"#ef5350",wickColor:"#737375",wickUpColor:"#26a69a",wickDownColor:"#ef5350"},i={upColor:"#26a69a",downColor:"#ef5350",openVisible:!0,thinBars:!0},s={color:"#2196f3",lineStyle:0,lineWidth:3,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:"",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:"",lastPriceAnimation:0,pointMarkersVisible:!1},n={topColor:"rgba( 46, 220, 135, 0.4)",bottomColor:"rgba( 40, 221, 100, 0)",invertFilledArea:!1,lineColor:"#33D778",lineStyle:0,lineWidth:3,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:"",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:"",lastPriceAnimation:0,pointMarkersVisible:!1},e={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,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:"",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:"",lastPriceAnimation:0,pointMarkersVisible:!1},r={color:"#26a69a",base:0},h={color:"#2196f3"},l={title:"",visible:!0,lastValueVisible:!0,priceLineVisible:!0,priceLineSource:0,priceLineWidth:1,priceLineColor:"",priceLineStyle:2,baseLineVisible:!0,baseLineWidth:1,baseLineColor:"#B2B5BE",baseLineStyle:0,priceFormat:{type:"price",precision:2,minMove:.01}};var a,o;function u(t,i){const s={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(s)}function c(t,i,s,n){t.beginPath();const e=t.lineWidth%2?.5:0;t.moveTo(s,i+e),t.lineTo(n,i+e),t.stroke()}function _(t,i){if(!t)throw new Error("Assertion failed"+(i?": "+i:""))}function d(t){if(void 0===t)throw new Error("Value is undefined");return t}function f(t){if(null===t)throw new Error("Value is null");return t}function v(t){return f(d(t))}!function(t){t[t.Simple=0]="Simple",t[t.WithSteps=1]="WithSteps",t[t.Curved=2]="Curved"}(a||(a={})),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"}(o||(o={}));const p={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 m(t){return t<0?0:t>255?255:Math.round(t)||0}function b(t){return t<=0||t>1?Math.min(Math.max(t,0),1):Math.round(1e4*t)/1e4}const g=/^#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?$/i,w=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i,M=/^rgb\(\s*(-?\d{1,10})\s*,\s*(-?\d{1,10})\s*,\s*(-?\d{1,10})\s*\)$/,x=/^rgba\(\s*(-?\d{1,10})\s*,\s*(-?\d{1,10})\s*,\s*(-?\d{1,10})\s*,\s*(-?\d*\.?\d+)\s*\)$/;function S(t){(t=t.toLowerCase())in p&&(t=p[t]);{const i=x.exec(t)||M.exec(t);if(i)return[m(parseInt(i[1],10)),m(parseInt(i[2],10)),m(parseInt(i[3],10)),b(i.length<5?1:parseFloat(i[4]))]}{const i=w.exec(t);if(i)return[m(parseInt(i[1],16)),m(parseInt(i[2],16)),m(parseInt(i[3],16)),1]}{const i=g.exec(t);if(i)return[m(17*parseInt(i[1],16)),m(17*parseInt(i[2],16)),m(17*parseInt(i[3],16)),1]}throw new Error(`Cannot parse color: ${t}`)}function k(t){return.199*t[0]+.687*t[1]+.114*t[2]}function C(t){const i=S(t);return{t:`rgb(${i[0]}, ${i[1]}, ${i[2]})`,i:k(i)>160?"black":"white"}}class y{constructor(){this.h=[]}subscribe(t,i,s){const n={l:t,o:i,u:!0===s};this.h.push(n)}unsubscribe(t){const i=this.h.findIndex((i=>t===i.l));i>-1&&this.h.splice(i,1)}unsubscribeAll(t){this.h=this.h.filter((i=>i.o!==t))}_(t,i,s){const n=[...this.h];this.h=this.h.filter((t=>!t.u)),n.forEach((n=>n.l(t,i,s)))}v(){return this.h.length>0}p(){this.h=[]}}function P(t,...i){for(const s of i)for(const i in s)void 0!==s[i]&&("object"!=typeof s[i]||void 0===t[i]||Array.isArray(s[i])?t[i]=s[i]:P(t[i],s[i]));return t}function T(t){return"number"==typeof t&&isFinite(t)}function R(t){return"number"==typeof t&&t%1==0}function D(t){return"string"==typeof t}function B(t){return"boolean"==typeof t}function O(t){const i=t;if(!i||"object"!=typeof i)return i;let s,n,e;for(n in s=Array.isArray(i)?[]:{},i)i.hasOwnProperty(n)&&(e=i[n],s[n]=e&&"object"==typeof e?O(e):e);return s}function L(t){return null!==t}function A(t){return null===t?void 0:t}const V="-apple-system, BlinkMacSystemFont, 'Trebuchet MS', Roboto, Ubuntu, sans-serif";function z(t,i,s){return void 0===i&&(i=V),`${s=void 0!==s?`${s} `:""}${t}px ${i}`}class E{constructor(t){this.m={borderSize:1,tickLength:5,fontSize:NaN,font:"",fontFamily:"",color:"",paneBackgroundColor:"",paddingBottom:0,paddingInner:0,paddingOuter:0,paddingTop:0,baselineOffset:0},this.g=t}options(){const t=this.m,i=this.M(),s=this.S();return t.fontSize===i&&t.fontFamily===s||(t.fontSize=i,t.fontFamily=s,t.font=z(i,s),t.paddingTop=2.5/12*i,t.paddingBottom=t.paddingTop,t.paddingInner=i/12*t.tickLength,t.paddingOuter=i/12*t.tickLength,t.baselineOffset=0),t.color=this.k(),t.paneBackgroundColor=this.C(),this.m}k(){return this.g.options().layout.textColor}C(){return this.g.backgroundTopColor()}M(){return this.g.options().layout.fontSize}S(){return this.g.options().layout.fontFamily}}class I{constructor(){this.P=[]}T(t){this.P=t}draw(t,i,s){this.P.forEach((n=>{n.draw(t,i,s)}))}}class N{draw(t,i,s){t.useBitmapCoordinateSpace((t=>this.R(t,i,s)))}}class F extends N{constructor(){super(...arguments),this.D=null}B(t){this.D=t}R({context:t,horizontalPixelRatio:i,verticalPixelRatio:s}){if(null===this.D||null===this.D.O)return;const n=this.D.O,e=this.D,r=Math.max(1,Math.floor(i))%2/2,h=h=>{t.beginPath();for(let l=n.to-1;l>=n.from;--l){const n=e.L[l],a=Math.round(n.x*i)+r,o=n.y*s,u=h*s+r;t.moveTo(a,o),t.arc(a,o,u,0,2*Math.PI)}t.fill()};e.A>0&&(t.fillStyle=e.V,h(e.I+e.A)),t.fillStyle=e.N,h(e.I)}}function W(){return{L:[{x:0,y:0,time:0,price:0}],N:"",V:"",I:0,A:0,O:null}}const j={from:0,to:1};class H{constructor(t,i){this.F=new I,this.W=[],this.j=[],this.H=!0,this.g=t,this.$=i,this.F.T(this.W)}update(t){const i=this.g.serieses();i.length!==this.W.length&&(this.j=i.map(W),this.W=this.j.map((t=>{const i=new F;return i.B(t),i})),this.F.T(this.W)),this.H=!0}renderer(){return this.H&&(this.U(),this.H=!1),this.F}U(){const t=2===this.$.options().mode,i=this.g.serieses(),s=this.$.appliedIndex(),n=this.g.timeScale();i.forEach(((i,e)=>{var r;const h=this.j[e],l=i.markerDataAtIndex(s);if(t||null===l||!i.visible())return void(h.O=null);const a=f(i.firstValue());h.N=l.backgroundColor,h.I=l.radius,h.A=l.borderWidth,h.L[0].price=l.price,h.L[0].y=i.priceScale().priceToCoordinate(l.price,a.value),h.V=null!==(r=l.borderColor)&&void 0!==r?r:this.g.backgroundColorAtYPercentFromTop(h.L[0].y/i.priceScale().height()),h.L[0].time=s,h.L[0].x=n.indexToCoordinate(s),h.O=j}))}}function $(t,i,s,n,e,r){t.fillRect(i+r,s,n-2*r,r),t.fillRect(i+r,s+e-r,n-2*r,r),t.fillRect(i,s,r,e),t.fillRect(i+n-r,s,r,e)}function U(t,i,s,n,e,r){t.save(),t.globalCompositeOperation="copy",t.fillStyle=r,t.fillRect(i,s,n,e),t.restore()}function q(t,i){return t.map((t=>0===t?t:t+i))}function Y(t,i,s,n,e,r){t.beginPath(),t.roundRect?t.roundRect(i,s,n,e,r):(t.lineTo(i+n-r[1],s),0!==r[1]&&t.arcTo(i+n,s,i+n,s+r[1],r[1]),t.lineTo(i+n,s+e-r[2]),0!==r[2]&&t.arcTo(i+n,s+e,i+n-r[2],s+e,r[2]),t.lineTo(i+r[3],s+e),0!==r[3]&&t.arcTo(i,s+e,i,s+e-r[3],r[3]),t.lineTo(i,s+r[0]),0!==r[0]&&t.arcTo(i,s,i+r[0],s,r[0]))}const Z=21;function X(t,i,s,n,e,r,h=0,l=[0,0,0,0],a="",o="#FFFFFF",u=!1,c=!1,_){if(t.save(),!h||!a||a===r)return Y(t,i,s,n,e,l),t.fillStyle=r,t.fill(),void t.restore();const d=h/2,f=u?12:0;if(Y(t,i+d,s+d,n-h,e-h,q(l,-d)),"transparent"!==r){const a=c?Z+f+1:0,_=c?n+f:n;Y(t,i+h-a,s+h,_-2*h,e-2*h,q(l,-h)),t.fillStyle=r,t.fill(),u&&function(t,i,s,n,e,r){t.fillStyle=e,t.beginPath();const h=n-8;[[0,0],[0,h/2],[0,h],[4,0],[4,h/2],[4,h]].forEach((n=>{t.moveTo(i+4+n[0],s+4+n[1]),t.arc(i+4+n[0],s+4+n[1],1,0,2*Math.PI,!0)})),t.fillStyle=r,t.fill(),t.strokeStyle=r||"#FFFFFF",t.lineWidth=1,t.stroke()}(t,i+h-a,s,e,r,o),c&&function(t,i,s,n,e,r){t.fillStyle=e,t.fillRect(i,s,n,n),t.beginPath(),t.moveTo(i+4,s+4),t.lineTo(i+n-4,s+n-4),t.moveTo(i+n-4,s+4),t.lineTo(i+4,s+n-4),t.strokeStyle=r||"#FFFFFF",t.lineWidth=1.5,t.stroke()}(t,i+_-e-a,s,e,r,o)}if("transparent"!==a){Y(t,i+d-(c?Z+f+1:0),s+d,(c?n+f:n)-h,e-h,q(l,-d)),t.lineWidth=h,t.strokeStyle=a,t.closePath(),t.stroke()}t.restore()}function K(t,i,s,n,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,s,n,e),t.restore()}class G extends N{constructor(t){super(),this.q=t}R({context:t,bitmapSize:i,horizontalPixelRatio:s,verticalPixelRatio:n}){if(null===this.q)return;const e=this.q.Z.Y,r=this.q.X.Y;if(!e&&!r)return;const h=Math.round(this.q.K*s),l=Math.round(this.q.G*n);t.lineCap="butt",e&&h>=0&&(t.lineWidth=Math.floor(this.q.Z.A*s),t.strokeStyle=this.q.Z.J,t.fillStyle=this.q.Z.J,u(t,this.q.Z.tt),function(t,i,s,n){t.beginPath();const e=t.lineWidth%2?.5:0;t.moveTo(i+e,s),t.lineTo(i+e,n),t.stroke()}(t,h,0,i.height)),r&&l>=0&&(t.lineWidth=Math.floor(this.q.X.A*n),t.strokeStyle=this.q.X.J,t.fillStyle=this.q.X.J,u(t,this.q.X.tt),c(t,l,0,i.width),this.q.it&&function(t,i,s,n,e,r){const h=i-1;t.fillStyle=e,t.fillRect(h,s,n,n);const l=n/2;t.beginPath(),t.arc(h+l,s+l,l-3,0,2*Math.PI),t.setLineDash([]),t.moveTo(h+l,s+7),t.lineTo(h+l,s+n-7),t.moveTo(h+7,s+l),t.lineTo(h+n-7,s+l),t.strokeStyle=r||"#FFFFFF",t.lineWidth=1,t.stroke()}(t,i.width-Z,l-10,Z,this.q.st,this.q.nt))}}class J{constructor(t){this.H=!0,this.et={Z:{A:1,tt:0,J:"",Y:!1},X:{A:1,tt:0,J:"",Y:!1},nt:"",st:"",it:!1,K:0,G:0},this.rt=new G(this.et),this.ht=t}lt(){this.H=!0}renderer(){return this.H&&(this.U(),this.H=!1),this.rt}U(){const t=this.ht.visible(),i=f(this.ht.pane()),s=i.model().options(),n=s.crosshair,e=this.et;if(2===n.mode)return e.X.Y=!1,void(e.Z.Y=!1);e.X.Y=t&&this.ht.horzLineVisible(i),e.Z.Y=t&&this.ht.vertLineVisible(),e.X.A=n.horzLine.width,e.X.tt=n.horzLine.style,e.X.J=n.horzLine.color,e.Z.A=n.vertLine.width,e.Z.tt=n.vertLine.style,e.Z.J=n.vertLine.color,e.st=n.horzLine.labelBackgroundColor,e.nt=s.layout.textColor,e.it=s.showAddButton,e.K=this.ht.appliedX(),e.G=this.ht.appliedY()}}class Q{constructor(t,i){this.setData(t,i)}setData(t,i){this.q=t,this.ot=i}height(t,i){return this.q.visible?t.fontSize+t.paddingTop+t.paddingBottom:0}draw(t,i,s,n,e,r,h){if(!this.q.visible||0===this.q.text.length)return;this.ut=h;const l=this.q.color,a=this.ot.background,o=t.useBitmapCoordinateSpace((t=>{const h=t.context;h.font=i.font;const o=this.ct(t,i,s,n,r),u=o._t,c=(t,i)=>{o.dt?X(h,u.ft,u.vt,u.bt,u.gt,t,u.wt,[u.I,0,0,u.I],i,l,e,r):X(h,u.Mt,u.vt,u.bt,u.gt,t,u.wt,[0,u.I,u.I,0],i,l,e,r)};return c(a,"transparent"),this.q.tickVisible&&(h.fillStyle=l,h.fillRect(u.Mt,u.xt,u.St-u.Mt,u.kt)),c("transparent",a),this.q.borderVisible&&(h.fillStyle=i.paneBackgroundColor,h.fillRect(o.dt?u.Ct-u.wt:0,u.vt,u.wt,u.yt-u.vt)),o}));t.useMediaCoordinateSpace((({context:t})=>{const s=o.Pt;if(h){t.font="13px icomoon",t.textAlign="left",t.textBaseline="middle",t.fillStyle=h;const i=this.q.moveTextToInvisibleTick&&r?s.Tt-16-Z:s.Tt;return void t.fillText("",i-13,(s.vt+s.yt)/2+s.Rt-1)}t.font=i.font,t.textAlign=o.dt?"right":"left",t.textBaseline="middle",t.fillStyle=l;const n=this.q.moveTextToInvisibleTick&&r?s.Tt-16-Z:s.Tt;t.fillText(this.q.text,n,(s.vt+s.yt)/2+s.Rt-1)}))}ct(t,i,s,n,e){var r;const{context:h,bitmapSize:l,mediaSize:a,horizontalPixelRatio:o,verticalPixelRatio:u}=t,c=this.q.tickVisible||!this.q.moveTextToInvisibleTick?i.tickLength:0,_=this.q.separatorVisible?i.borderSize:0,d=i.paddingTop+this.ot.additionalPaddingTop,f=i.paddingBottom+this.ot.additionalPaddingBottom,v=i.paddingInner,p=i.paddingOuter,m=this.q.text,b=i.fontSize,g=s.yMidCorrection(h,m),w=this.ut?13:Math.ceil(s.measureText(h,m)),M=b+d+f,x=i.borderSize+v+p+w+c+(e?16:0),S=Math.max(1,Math.floor(u));let k=Math.round(M*u);k%2!=S%2&&(k+=1);const C=_>0?Math.max(1,Math.floor(_*o)):0,y=Math.round(x*o),P=Math.round(c*o),T=null!==(r=this.ot.fixedCoordinate)&&void 0!==r?r:this.ot.coordinate,R=Math.round(T*u)-Math.floor(.5*u),D=Math.floor(R+S/2-k/2),B=D+k,O="right"===n,L=O?a.width-_:_,A=O?l.width-C:C;let V,z,E;return O?(V=A-y,z=A-P,E=L-c-v-_):(V=A+y,z=A+P,E=L+c+v),{dt:O,_t:{vt:D,xt:R,yt:B,bt:y,gt:k,I:2*o,wt:C,ft:V,Mt:A,St:z,kt:S,Ct:l.width},Pt:{vt:D/u,yt:B/u,Tt:E,Rt:g}}}}class tt{constructor(t){this.Dt={coordinate:0,background:"#000",additionalPaddingBottom:0,additionalPaddingTop:0},this.Bt={text:"",visible:!1,tickVisible:!0,moveTextToInvisibleTick:!1,borderColor:"",color:"#FFF",borderVisible:!1,separatorVisible:!1},this.Ot={text:"",visible:!1,tickVisible:!1,moveTextToInvisibleTick:!0,borderColor:"",color:"#FFF",borderVisible:!0,separatorVisible:!0},this.H=!0,this.Lt=new(t||Q)(this.Bt,this.Dt),this.At=new(t||Q)(this.Ot,this.Dt)}text(){return this.Vt(),this.Bt.text}coordinate(){return this.Vt(),this.Dt.coordinate}update(){this.H=!0}height(t,i=!1){return Math.max(this.Lt.height(t,i),this.At.height(t,i))}getFixedCoordinate(){return this.Dt.fixedCoordinate||0}setFixedCoordinate(t){this.Dt.fixedCoordinate=t}isVisible(){return this.Vt(),this.Bt.visible||this.Ot.visible}isAxisLabelVisible(){return this.Vt(),this.Bt.visible}renderer(t){return this.Vt(),this.Bt.tickVisible=this.Bt.tickVisible&&t.options().ticksVisible,this.Ot.tickVisible=this.Ot.tickVisible&&t.options().ticksVisible,this.Lt.setData(this.Bt,this.Dt),this.At.setData(this.Ot,this.Dt),this.Lt}paneRenderer(){return this.Vt(),this.Lt.setData(this.Bt,this.Dt),this.At.setData(this.Ot,this.Dt),this.At}Vt(){this.H&&(this.Bt.tickVisible=!0,this.Ot.tickVisible=!1,this.zt(this.Bt,this.Ot,this.Dt))}}class it extends tt{constructor(t,i,s){super(),this.ht=t,this.Et=i,this.It=s}zt(t,i,s){if(t.visible=!1,2===this.ht.options().mode)return;const n=this.ht.options().horzLine;if(!n.labelVisible)return;const e=this.Et.firstValue();if(!this.ht.visible()||this.Et.isEmpty()||null===e)return;const r=C(n.labelBackgroundColor);s.background=r.t,t.color=r.i;const h=2/12*this.Et.fontSize();s.additionalPaddingTop=h,s.additionalPaddingBottom=h;const l=this.It(this.Et);s.coordinate=l.Nt,t.text=this.Et.formatPrice(l.Ft,e),t.visible=!0}}const st=/[1-9]/g;class nt{constructor(){this.q=null}setData(t){this.q=t}draw(t,i){if(null===this.q||!1===this.q.visible||0===this.q.text.length)return;const s=t.useMediaCoordinateSpace((({context:t})=>(t.font=i.font,Math.round(i.widthCache.measureText(t,f(this.q).text,st)))));if(s<=0)return;const n=i.paddingHorizontal,e=s+2*n,r=e/2,h=this.q.width;let l=this.q.coordinate,a=Math.floor(l-r)+.5;a<0?(l+=Math.abs(0-a),a=Math.floor(l-r)+.5):a+e>h&&(l-=Math.abs(h-(a+e)),a=Math.floor(l-r)+.5);const o=a+e,u=Math.ceil(0+i.borderSize+i.tickLength+i.paddingTop+i.fontSize+i.paddingBottom);t.useBitmapCoordinateSpace((({context:t,horizontalPixelRatio:s,verticalPixelRatio:n})=>{const e=f(this.q);t.fillStyle=e.background;const r=Math.round(a*s),h=Math.round(0*n),l=Math.round(o*s),c=Math.round(u*n),_=Math.round(2*s);if(t.beginPath(),t.moveTo(r,h),t.lineTo(r,c-_),t.arcTo(r,c,r+_,c,_),t.lineTo(l-_,c),t.arcTo(l,c,l,c-_,_),t.lineTo(l,h),t.fill(),e.tickVisible){const r=Math.round(e.coordinate*s),l=h,a=Math.round((l+i.tickLength)*n);t.fillStyle=e.color;const o=Math.max(1,Math.floor(s)),u=Math.floor(.5*s);t.fillRect(r-u,l,o,a-l)}})),t.useMediaCoordinateSpace((({context:t})=>{const s=f(this.q),e=0+i.borderSize+i.tickLength+i.paddingTop+i.fontSize/2;t.font=i.font,t.textAlign="left",t.textBaseline="middle",t.fillStyle=s.color;const r=i.widthCache.yMidCorrection(t,"Apr0");t.translate(a+n,e+r),t.fillText(s.text,0,0)}))}}class et{constructor(t,i,s){this.H=!0,this.rt=new nt,this.et={visible:!1,background:"#4c525e",color:"white",text:"",width:0,coordinate:NaN,tickVisible:!0},this.$=t,this.Wt=i,this.It=s}lt(){this.H=!0}renderer(){return this.H&&(this.U(),this.H=!1),this.rt.setData(this.et),this.rt}U(){const t=this.et;if(t.visible=!1,2===this.$.options().mode)return;const i=this.$.options().vertLine;if(!i.labelVisible)return;const s=this.Wt.timeScale();if(s.isEmpty())return;t.width=s.width();const n=this.It();if(null===n)return;t.coordinate=n.Nt;const e=s.indexToTimeScalePoint(this.$.appliedIndex());t.text=s.formatDateTime(f(e)),t.visible=!0;const r=C(i.labelBackgroundColor);t.background=r.t,t.color=r.i,t.tickVisible=s.options().ticksVisible}}class rt{constructor(){this._priceScale=null,this.jt=0}zorder(){return this.jt}setZorder(t){this.jt=t}priceScale(){return this._priceScale}setPriceScale(t){this._priceScale=t}labelPaneViews(t){return[]}timeAxisViews(){return[]}visible(){return!0}}var ht;!function(t){t[t.Normal=0]="Normal",t[t.Magnet=1]="Magnet",t[t.Hidden=2]="Hidden"}(ht||(ht={}));class lt extends rt{constructor(t,i){super(),this.Ht=null,this.$t=NaN,this.Ut=0,this.qt=!0,this.Yt=new Map,this.Zt=!1,this.Xt=NaN,this.Kt=NaN,this.Gt=NaN,this.Jt=NaN,this.Wt=t,this.Qt=i,this.ti=new H(t,this);this.ii=((t,i)=>s=>{const n=i(),e=t();if(s===f(this.Ht).defaultPriceScale())return{Ft:e,Nt:n};{const t=f(s.firstValue());return{Ft:s.coordinateToPrice(n,t),Nt:n}}})((()=>this.$t),(()=>this.Kt));const s=((t,i)=>()=>{const s=this.Wt.timeScale().indexToTime(t()),n=i();return s&&Number.isFinite(n)?{si:s,Nt:n}:null})((()=>this.Ut),(()=>this.appliedX()));this.ni=new et(this,t,s),this.ei=new J(this)}options(){return this.Qt}saveOriginCoord(t,i){this.Gt=t,this.Jt=i}clearOriginCoord(){this.Gt=NaN,this.Jt=NaN}originCoordX(){return this.Gt}originCoordY(){return this.Jt}setPosition(t,i,s){this.Zt||(this.Zt=!0),this.qt=!0,this.ri(t,i,s)}appliedIndex(){return this.Ut}appliedX(){return this.Xt}appliedY(){return this.Kt}visible(){return this.qt}clearPosition(){this.qt=!1,this.hi(),this.$t=NaN,this.Xt=NaN,this.Kt=NaN,this.Ht=null,this.clearOriginCoord()}paneViews(t){return null!==this.Ht?[this.ei,this.ti]:[]}horzLineVisible(t){return t===this.Ht&&this.Qt.horzLine.visible}vertLineVisible(){return this.Qt.vertLine.visible}priceAxisViews(t,i){this.qt&&this.Ht===t||this.Yt.clear();const s=[];return this.Ht===t&&s.push(this.li(this.Yt,i,this.ii)),s}timeAxisViews(){return this.qt?[this.ni]:[]}pane(){return this.Ht}updateAllViews(){this.ei.lt(),this.Yt.forEach((t=>t.update())),this.ni.lt(),this.ti.update()}ai(t){return t&&!t.defaultPriceScale().isEmpty()?t.defaultPriceScale():null}ri(t,i,s){this.oi(t,i,s)&&this.updateAllViews()}oi(t,i,s){const n=this.Xt,e=this.Kt,r=this.$t,h=this.Ut,l=this.Ht,a=this.ai(s);this.Ut=t,this.Xt=isNaN(t)?NaN:this.Wt.timeScale().indexToCoordinate(t),this.Ht=s;const o=null!==a?a.firstValue():null;return null!==a&&null!==o?(this.$t=i,this.Kt=a.priceToCoordinate(i,o)):(this.$t=NaN,this.Kt=NaN),n!==this.Xt||e!==this.Kt||h!==this.Ut||r!==this.$t||l!==this.Ht}hi(){const t=this.Wt.serieses().map((t=>t.bars().lastIndex())).filter(L),i=0===t.length?null:Math.max(...t);this.Ut=null!==i?i:NaN}li(t,i,s){let n=t.get(i);return void 0===n&&(n=new it(this,i,s),t.set(i,n)),n}}function at(t){return"left"===t||"right"===t}class ot{constructor(t){this.ui=new Map,this.ci=[],this._i=t}di(t,i){const s=function(t,i){return void 0===t?i:{fi:Math.max(t.fi,i.fi),vi:t.vi||i.vi}}(this.ui.get(t),i);this.ui.set(t,s)}pi(){return this._i}mi(t){const i=this.ui.get(t);return void 0===i?{fi:this._i}:{fi:Math.max(this._i,i.fi),vi:i.vi}}bi(){this.gi(),this.ci=[{wi:0}]}Mi(t){this.gi(),this.ci=[{wi:1,xi:t}]}Si(t){this.ki(),this.ci.push({wi:5,xi:t})}gi(){this.ki(),this.ci.push({wi:6})}Ci(){this.gi(),this.ci=[{wi:4}]}yi(t){this.gi(),this.ci.push({wi:2,xi:t})}Pi(t){this.gi(),this.ci.push({wi:3,xi:t})}Ti(){return this.ci}Ri(t){for(const i of t.ci)this.Di(i);this._i=Math.max(this._i,t._i),t.ui.forEach(((t,i)=>{this.di(i,t)}))}static Bi(){return new ot(2)}static Oi(){return new ot(3)}Di(t){switch(t.wi){case 0:this.bi();break;case 1:this.Mi(t.xi);break;case 2:this.yi(t.xi);break;case 3:this.Pi(t.xi);break;case 4:this.Ci();break;case 5:this.Si(t.xi);break;case 6:this.ki()}}ki(){const t=this.ci.findIndex((t=>5===t.wi));-1!==t&&this.ci.splice(t,1)}}const ut=".";function ct(t,i){if(!T(t))return"n/a";if(!R(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 _t{constructor(t,i){if(i||(i=1),T(t)&&R(t)||(t=100),t<0)throw new TypeError("invalid base");this.Et=t,this.Li=i,this.Ai()}format(t){const i=t<0?"−":"";return t=Math.abs(t),i+this.Vi(t)}Ai(){if(this.zi=0,this.Et>0&&this.Li>0){let t=this.Et;for(;t>1;)t/=10,this.zi++}}Vi(t){const i=this.Et/this.Li;let s=Math.floor(t),n="";const e=void 0!==this.zi?this.zi:NaN;if(i>1){let r=+(Math.round(t*i)-s*i).toFixed(this.zi);r>=i&&(r-=i,s+=1),n=ut+ct(+r.toFixed(this.zi)*this.Li,e)}else s=Math.round(s*i)/i,e>0&&(n=ut+ct(0,e));return s.toFixed(0)+n}}class dt extends _t{constructor(t=100){super(t)}format(t){return`${super.format(t)}%`}}class ft{constructor(t){this.Ei=t}format(t){let i="";return t<0&&(i="-",t=-t),t<995?i+this.Ii(t):t<999995?i+this.Ii(t/1e3)+"K":t<999999995?(t=1e3*Math.round(t/1e3),i+this.Ii(t/1e6)+"M"):(t=1e6*Math.round(t/1e6),i+this.Ii(t/1e9)+"B")}Ii(t){let i;const s=Math.pow(10,this.Ei);return i=(t=Math.round(t*s)/s)>=1e-15&&t<1?t.toFixed(this.Ei).replace(/\.?0+$/,""):String(t),i.replace(/(\.[1-9]*)0+$/,((t,i)=>i))}}function vt(t,i,s,n,e,r,h){if(0===i.length||n.from>=i.length||n.to<=0)return;const{context:l,horizontalPixelRatio:a,verticalPixelRatio:o}=t,u=i[n.from];let c=r(t,u),_=u;if(n.to-n.from<2){const i=e/2;l.beginPath();const s={K:u.K-i,G:u.G},n={K:u.K+i,G:u.G};l.moveTo(s.K*a,s.G*o),l.lineTo(n.K*a,n.G*o),h(t,c,s,n)}else{const e=(i,s)=>{h(t,c,_,s),l.beginPath(),c=i,_=s};let d=_;l.beginPath(),l.moveTo(u.K*a,u.G*o);for(let h=n.from+1;h<n.to;++h){d=i[h];const n=r(t,d);switch(s){case 0:l.lineTo(d.K*a,d.G*o);break;case 1:l.lineTo(d.K*a,i[h-1].G*o),n!==c&&(e(n,d),l.lineTo(d.K*a,i[h-1].G*o)),l.lineTo(d.K*a,d.G*o);break;case 2:{const[t,s]=gt(i,h-1,h);l.bezierCurveTo(t.K*a,t.G*o,s.K*a,s.G*o,d.K*a,d.G*o);break}}1!==s&&n!==c&&(e(n,d),l.moveTo(d.K*a,d.G*o))}(_!==d||_===d&&1===s)&&h(t,c,_,d)}}const pt=6;function mt(t,i){return{K:t.K-i.K,G:t.G-i.G}}function bt(t,i){return{K:t.K/i,G:t.G/i}}function gt(t,i,s){const n=Math.max(0,i-1),e=Math.min(t.length-1,s+1);var r,h;return[(r=t[i],h=bt(mt(t[s],t[n]),pt),{K:r.K+h.K,G:r.G+h.G}),mt(t[s],bt(mt(t[e],t[i]),pt))]}function wt(t,i,s,n,e){const{context:r,horizontalPixelRatio:h,verticalPixelRatio:l}=i;r.lineTo(e.K*h,t*l),r.lineTo(n.K*h,t*l),r.closePath(),r.fillStyle=s,r.fill()}class Mt extends N{constructor(){super(...arguments),this.D=null}B(t){this.D=t}R(t){var i;if(null===this.D)return;const{L:s,O:n,Ni:e,A:r,tt:h,Fi:l}=this.D,a=null!==(i=this.D.Wi)&&void 0!==i?i:this.D.ji?0:t.mediaSize.height;if(null===n)return;const o=t.context;o.lineCap="butt",o.lineJoin="round",o.lineWidth=r,u(o,h),o.lineWidth=1,vt(t,s,l,n,e,this.Hi.bind(this),wt.bind(null,a))}}function xt(t,i,s){return Math.min(Math.max(t,i),s)}function St(t,i,s){return i-t<=s}function kt(t){const i=Math.ceil(t);return i%2==0?i-1:i}class Ct{$i(t,i){const s=this.Ui,{qi:n,Yi:e,Zi:r,Xi:h,Ki:l,Wi:a}=i;if(void 0===this.Gi||void 0===s||s.qi!==n||s.Yi!==e||s.Zi!==r||s.Xi!==h||s.Wi!==a||s.Ki!==l){const s=t.context.createLinearGradient(0,0,0,l);if(s.addColorStop(0,n),null!=a){const i=xt(a*t.verticalPixelRatio/l,0,1);s.addColorStop(i,e),s.addColorStop(i,r)}s.addColorStop(1,h),this.Gi=s,this.Ui=i}return this.Gi}}class yt extends Mt{constructor(){super(...arguments),this.Ji=new Ct}Hi(t,i){return this.Ji.$i(t,{qi:i.topColor,Yi:"",Zi:"",Xi:i.bottomColor,Ki:t.bitmapSize.height})}}function Pt(t,i){const s=t.context;s.strokeStyle=i,s.stroke()}class Tt extends N{constructor(){super(...arguments),this.D=null}B(t){this.D=t}R(t){if(null===this.D)return;const{L:i,O:s,Ni:n,Fi:e,A:r,tt:h,Qi:l}=this.D;if(null===s)return;const a=t.context;a.lineCap="butt",a.lineWidth=r*t.verticalPixelRatio,u(a,h),a.lineJoin="round";const o=this.ts.bind(this);void 0!==e&&vt(t,i,e,s,n,o,Pt),l&&function(t,i,s,n,e){const{horizontalPixelRatio:r,verticalPixelRatio:h,context:l}=t;let a=null;const o=Math.max(1,Math.floor(r))%2/2,u=s*h+o;for(let s=n.to-1;s>=n.from;--s){const n=i[s];if(n){const i=e(t,n);i!==a&&(l.beginPath(),null!==a&&l.fill(),l.fillStyle=i,a=i);const s=Math.round(n.K*r)+o,c=n.G*h;l.moveTo(s,c),l.arc(s,c,u,0,2*Math.PI)}}l.fill()}(t,i,l,s,o)}}class Rt extends Tt{ts(t,i){return i.lineColor}}function Dt(t,i,s,n,e=0,r=i.length){let h=r-e;for(;0<h;){const r=h>>1,l=e+r;n(i[l],s)===t?(e=l+1,h-=r+1):h=r}return e}const Bt=Dt.bind(null,!0),Ot=Dt.bind(null,!1);function Lt(t,i){return t.time<i}function At(t,i){return i<t.time}function Vt(t,i,s){const n=i.left(),e=i.right(),r=Bt(t,n,Lt),h=Ot(t,e,At);if(!s)return{from:r,to:h};let l=r,a=h;return r>0&&r<t.length&&t[r].time>=n&&(l=r-1),h>0&&h<t.length&&t[h-1].time<=e&&(a=h+1),{from:l,to:a}}class zt{constructor(t,i,s){this.ss=!0,this.ns=!0,this.es=!0,this.rs=[],this.hs=null,this.ls=t,this.os=i,this.us=s}update(t){this.ss=!0,"data"===t&&(this.ns=!0),"options"===t&&(this.es=!0)}renderer(){return this.ls.visible()?(this.cs(),null===this.hs?null:this._s):null}ds(){this.rs=this.rs.map((t=>Object.assign(Object.assign({},t),this.ls.barColorer().barStyle(t.time))))}fs(){this.hs=null}cs(){this.ns&&(this.vs(),this.ns=!1),this.es&&(this.ds(),this.es=!1),this.ss&&(this.ps(),this.ss=!1)}ps(){const t=this.ls.priceScale(),i=this.os.timeScale();if(this.fs(),i.isEmpty()||t.isEmpty())return;const s=i.visibleStrictRange();if(null===s)return;if(0===this.ls.bars().size())return;const n=this.ls.firstValue();null!==n&&(this.hs=Vt(this.rs,s,this.us),this.bs(t,i,n.value),this.gs())}}class Et extends zt{constructor(t,i){super(t,i,!0)}bs(t,i,s){i.indexesToCoordinates(this.rs,A(this.hs)),t.pointsArrayToCoordinates(this.rs,s,A(this.hs))}ws(t,i){return{time:t,price:i,x:NaN,y:NaN}}vs(){const t=this.ls.barColorer();this.rs=this.ls.bars().rows().map((i=>{const s=i.value[3];return this.Ms(i.index,s,t)}))}}class It extends Et{constructor(t,i){super(t,i),this._s=new I,this.xs=new yt,this.Ss=new Rt,this._s.T([this.xs,this.Ss])}Ms(t,i,s){return Object.assign(Object.assign({},this.ws(t,i)),s.barStyle(t))}gs(){const t=this.ls.options();this.xs.B({Fi:t.lineType,L:this.rs,tt:t.lineStyle,A:t.lineWidth,Wi:null,ji:t.invertFilledArea,O:this.hs,Ni:this.os.timeScale().barSpacing()}),this.Ss.B({Fi:t.lineVisible?t.lineType:void 0,L:this.rs,tt:t.lineStyle,A:t.lineWidth,O:this.hs,Ni:this.os.timeScale().barSpacing(),Qi:t.pointMarkersVisible?t.pointMarkersRadius||t.lineWidth/2+2:void 0})}}class Nt extends N{constructor(){super(...arguments),this.q=null,this.ks=0,this.Cs=0}B(t){this.q=t}R({context:t,horizontalPixelRatio:i,verticalPixelRatio:s}){if(null===this.q||0===this.q.ys.length||null===this.q.O)return;if(this.ks=this.Ps(i),this.ks>=2){Math.max(1,Math.floor(i))%2!=this.ks%2&&this.ks--}this.Cs=this.q.Ts?Math.min(this.ks,Math.floor(i)):this.ks;let n=null;const e=this.Cs<=this.ks&&this.q.Rs>=Math.floor(1.5*i);for(let r=this.q.O.from;r<this.q.O.to;++r){const h=this.q.ys[r];n!==h.barColor&&(t.fillStyle=h.barColor,n=h.barColor);const l=Math.floor(.5*this.Cs),a=Math.round(h.x*i),o=a-l,u=this.Cs,c=o+u-1,_=Math.min(h.highY,h.lowY),d=Math.max(h.highY,h.lowY),f=Math.round(_*s)-l,v=Math.round(d*s)+l,p=Math.max(v-f,this.Cs);t.fillRect(o,f,u,p);const m=Math.ceil(1.5*this.ks);if(e){if(this.q.Ds){const i=a-m;let n=Math.max(f,Math.round(h.openY*s)-l),e=n+u-1;e>f+p-1&&(e=f+p-1,n=e-u+1),t.fillRect(i,n,o-i,e-n+1)}const i=a+m;let n=Math.max(f,Math.round(h.closeY*s)-l),e=n+u-1;e>f+p-1&&(e=f+p-1,n=e-u+1),t.fillRect(c+1,n,i-c,e-n+1)}}}Ps(t){const i=Math.floor(t);return Math.max(i,Math.floor(function(t,i){return Math.floor(.3*t*i)}(f(this.q).Rs,t)))}}class Ft extends zt{constructor(t,i){super(t,i,!1)}bs(t,i,s){i.indexesToCoordinates(this.rs,A(this.hs)),t.barPricesToCoordinates(this.rs,s,A(this.hs))}Bs(t,i,s){return{time:t,open:i.value[0],high:i.value[1],low:i.value[2],close:i.value[3],x:NaN,openY:NaN,highY:NaN,lowY:NaN,closeY:NaN}}vs(){const t=this.ls.barColorer();this.rs=this.ls.bars().rows().map((i=>this.Ms(i.index,i,t)))}}class Wt extends Ft{constructor(){super(...arguments),this._s=new Nt}Ms(t,i,s){return Object.assign(Object.assign({},this.Bs(t,i,s)),s.barStyle(t))}gs(){const t=this.ls.options();this._s.B({ys:this.rs,Rs:this.os.timeScale().barSpacing(),Ds:t.openVisible,Ts:t.thinBars,O:this.hs})}}class jt extends Mt{constructor(){super(...arguments),this.Ji=new Ct}Hi(t,i){const s=this.D;return this.Ji.$i(t,{qi:i.topFillColor1,Yi:i.topFillColor2,Zi:i.bottomFillColor1,Xi:i.bottomFillColor2,Ki:t.bitmapSize.height,Wi:s.Wi})}}class Ht extends Tt{constructor(){super(...arguments),this.Os=new Ct}ts(t,i){const s=this.D;return this.Os.$i(t,{qi:i.topLineColor,Yi:i.topLineColor,Zi:i.bottomLineColor,Xi:i.bottomLineColor,Ki:t.bitmapSize.height,Wi:s.Wi})}}class $t extends Et{constructor(t,i){super(t,i),this._s=new I,this.Ls=new jt,this.As=new Ht,this._s.T([this.Ls,this.As])}Ms(t,i,s){return Object.assign(Object.assign({},this.ws(t,i)),s.barStyle(t))}gs(){const t=this.ls.firstValue();if(null===t)return;const i=this.ls.options(),s=this.ls.priceScale().priceToCoordinate(i.baseValue.price,t.value),n=this.os.timeScale().barSpacing();this.Ls.B({L:this.rs,A:i.lineWidth,tt:i.lineStyle,Fi:i.lineType,Wi:s,ji:!1,O:this.hs,Ni:n}),this.As.B({L:this.rs,A:i.lineWidth,tt:i.lineStyle,Fi:i.lineVisible?i.lineType:void 0,Qi:i.pointMarkersVisible?i.pointMarkersRadius||i.lineWidth/2+2:void 0,Wi:s,O:this.hs,Ni:n})}}class Ut extends N{constructor(){super(...arguments),this.q=null,this.ks=0}B(t){this.q=t}R(t){if(null===this.q||0===this.q.ys.length||null===this.q.O)return;const{horizontalPixelRatio:i}=t;if(this.ks=function(t,i){if(t>=2.5&&t<=4)return Math.floor(3*i);const s=1-.2*Math.atan(Math.max(4,t)-4)/(.5*Math.PI),n=Math.floor(t*s*i),e=Math.floor(t*i),r=Math.min(n,e);return Math.max(Math.floor(i),r)}(this.q.Rs,i),this.ks>=2){Math.floor(i)%2!=this.ks%2&&this.ks--}const s=this.q.ys;this.q.Vs&&this.zs(t,s,this.q.O),this.q.Es&&this.Is(t,s,this.q.O);const n=this.Ns(i);(!this.q.Es||this.ks>2*n)&&this.Fs(t,s,this.q.O)}zs(t,i,s){if(null===this.q)return;const{context:n,horizontalPixelRatio:e,verticalPixelRatio:r}=t;let h="",l=Math.min(Math.floor(e),Math.floor(this.q.Rs*e));l=Math.max(Math.floor(e),Math.min(l,this.ks));const a=Math.floor(.5*l);let o=null;for(let t=s.from;t<s.to;t++){const s=i[t];s.barWickColor!==h&&(n.fillStyle=s.barWickColor,h=s.barWickColor);const u=Math.round(Math.min(s.openY,s.closeY)*r),c=Math.round(Math.max(s.openY,s.closeY)*r),_=Math.round(s.highY*r),d=Math.round(s.lowY*r);let f=Math.round(e*s.x)-a;const v=f+l-1;null!==o&&(f=Math.max(o+1,f),f=Math.min(f,v));const p=v-f+1;n.fillRect(f,_,p,u-_),n.fillRect(f,c+1,p,d-c),o=v}}Ns(t){let i=Math.floor(1*t);this.ks<=2*i&&(i=Math.floor(.5*(this.ks-1)));const s=Math.max(Math.floor(t),i);return this.ks<=2*s?Math.max(Math.floor(t),Math.floor(1*t)):s}Is(t,i,s){if(null===this.q)return;const{context:n,horizontalPixelRatio:e,verticalPixelRatio:r}=t;let h="";const l=this.Ns(e);let a=null;for(let t=s.from;t<s.to;t++){const s=i[t];s.barBorderColor!==h&&(n.fillStyle=s.barBorderColor,h=s.barBorderColor);let o=Math.round(s.x*e)-Math.floor(.5*this.ks);const u=o+this.ks-1,c=Math.round(Math.min(s.openY,s.closeY)*r),_=Math.round(Math.max(s.openY,s.closeY)*r);if(null!==a&&(o=Math.max(a+1,o),o=Math.min(o,u)),this.q.Rs*e>2*l)$(n,o,c,u-o+1,_-c+1,l);else{const t=u-o+1;n.fillRect(o,c,t,_-c+1)}a=u}}Fs(t,i,s){if(null===this.q)return;const{context:n,horizontalPixelRatio:e,verticalPixelRatio:r}=t;let h="";const l=this.Ns(e);for(let t=s.from;t<s.to;t++){const s=i[t];let a=Math.round(Math.min(s.openY,s.closeY)*r),o=Math.round(Math.max(s.openY,s.closeY)*r),u=Math.round(s.x*e)-Math.floor(.5*this.ks),c=u+this.ks-1;if(s.barColor!==h){const t=s.barColor;n.fillStyle=t,h=t}this.q.Es&&(u+=l,a+=l,c-=l,o-=l),a>o||n.fillRect(u,a,c-u+1,o-a+1)}}}class qt extends Ft{constructor(){super(...arguments),this._s=new Ut}Ms(t,i,s){return Object.assign(Object.assign({},this.Bs(t,i,s)),s.barStyle(t))}gs(){const t=this.ls.options();this._s.B({ys:this.rs,Rs:this.os.timeScale().barSpacing(),Vs:t.wickVisible,Es:t.borderVisible,O:this.hs})}}class Yt{constructor(t,i){this.Ws=t,this.Et=i}draw(t,i,s){this.Ws.draw(t,this.Et,i,s)}}class Zt extends zt{constructor(t,i,s){super(t,i,!1),this.ei=s,this._s=new Yt(this.ei.renderer(),(i=>{const s=t.firstValue();return null===s?null:t.priceScale().priceToCoordinate(i,s.value)}))}js(t){return this.ei.priceValueBuilder(t)}Hs(t){return this.ei.isWhitespace(t)}vs(){const t=this.ls.barColorer();this.rs=this.ls.bars().rows().map((i=>Object.assign(Object.assign({si:i.index,K:NaN},t.barStyle(i.index)),{$s:i.data})))}bs(t,i){i.indexesToCoordinates(this.rs,A(this.hs))}gs(){this.ei.update({bars:this.rs.map(Xt),barSpacing:this.os.timeScale().barSpacing(),visibleRange:this.hs},this.ls.options())}}function Xt(t){return{x:t.x,time:t.time,originalData:t.$s,barColor:t.Us}}class Kt extends N{constructor(){super(...arguments),this.q=null,this.qs=[]}B(t){this.q=t,this.qs=[]}R({context:t,horizontalPixelRatio:i,verticalPixelRatio:s}){if(null===this.q||0===this.q.L.length||null===this.q.O)return;this.qs.length||this.Ys(i);const n=Math.max(1,Math.floor(s)),e=Math.round(this.q.Zs*s)-Math.floor(n/2),r=e+n;for(let i=this.q.O.from;i<this.q.O.to;i++){const h=this.q.L[i],l=this.qs[i-this.q.O.from],a=Math.round(h.y*s);let o,u;t.fillStyle=h.Us,a<=e?(o=a,u=r):(o=e,u=a-Math.floor(n/2)+n),t.fillRect(l.Xs,o,l.Ct-l.Xs+1,u-o)}}Ys(t){if(null===this.q||0===this.q.L.length||null===this.q.O)return void(this.qs=[]);const i=Math.ceil(this.q.Rs*t)<=1?0:Math.max(1,Math.floor(t)),s=Math.round(this.q.Rs*t)-i;this.qs=new Array(this.q.O.to-this.q.O.from);for(let i=this.q.O.from;i<this.q.O.to;i++){const n=this.q.L[i],e=Math.round(n.x*t);let r,h;if(s%2){const t=(s-1)/2;r=e-t,h=e+t}else{const t=s/2;r=e-t,h=e+t-1}this.qs[i-this.q.O.from]={Xs:r,Ct:h,Ks:e,Gs:n.x*t,si:n.time}}for(let t=this.q.O.from+1;t<this.q.O.to;t++){const s=this.qs[t-this.q.O.from],n=this.qs[t-this.q.O.from-1];s.si===n.si+1&&(s.Xs-n.Ct!==i+1&&(n.Ks>n.Gs?n.Ct=s.Xs-i-1:s.Xs=n.Ct+i+1))}let n=Math.ceil(this.q.Rs*t);for(let t=this.q.O.from;t<this.q.O.to;t++){const i=this.qs[t-this.q.O.from];i.Ct<i.Xs&&(i.Ct=i.Xs);const s=i.Ct-i.Xs+1;n=Math.min(s,n)}if(i>0&&n<4)for(let t=this.q.O.from;t<this.q.O.to;t++){const i=this.qs[t-this.q.O.from];i.Ct-i.Xs+1>n&&(i.Ks>i.Gs?i.Ct-=1:i.Xs+=1)}}}class Gt extends Et{constructor(){super(...arguments),this._s=new Kt}Ms(t,i,s){return Object.assign(Object.assign({},this.ws(t,i)),s.barStyle(t))}gs(){const t={L:this.rs,Rs:this.os.timeScale().barSpacing(),O:this.hs,Zs:this.ls.priceScale().priceToCoordinate(this.ls.options().base,f(this.ls.firstValue()).value)};this._s.B(t)}}class Jt extends Et{constructor(){super(...arguments),this._s=new Rt}Ms(t,i,s){return Object.assign(Object.assign({},this.ws(t,i)),s.barStyle(t))}gs(){const t=this.ls.options(),i={L:this.rs,tt:t.lineStyle,Fi:t.lineVisible?t.lineType:void 0,A:t.lineWidth,Qi:t.pointMarkersVisible?t.pointMarkersRadius||t.lineWidth/2+2:void 0,O:this.hs,Ni:this.os.timeScale().barSpacing()};this._s.B(i)}}const Qt=/[2-9]/g;class ti{constructor(t=50){this.Js=0,this.Qs=1,this.tn=1,this.sn={},this.nn=new Map,this.en=t}reset(){this.Js=0,this.nn.clear(),this.Qs=1,this.tn=1,this.sn={}}measureText(t,i,s){return this.rn(t,i,s).width}yMidCorrection(t,i,s){const n=this.rn(t,i,s);return((n.actualBoundingBoxAscent||0)-(n.actualBoundingBoxDescent||0))/2}rn(t,i,s){const n=s||Qt,e=String(i).replace(n,"0");if(this.nn.has(e))return d(this.nn.get(e)).hn;if(this.Js===this.en){const t=this.sn[this.tn];delete this.sn[this.tn],this.nn.delete(t),this.tn++,this.Js--}t.save(),t.textBaseline="middle";const r=t.measureText(e);return t.restore(),0===r.width&&i.length||(this.nn.set(e,{hn:r,ln:this.Qs}),this.sn[this.Qs]=e,this.Js++,this.Qs++),r}}class ii{constructor(t,i,s,n){this.an=null,this.m=null,this.on="right",this.un=t,this.cn=Boolean(s),this._n=Boolean(i),this.ut=n}dn(t,i,s){this.an=t,this.m=i,this.on=s}draw(t){null!==this.m&&null!==this.an&&this.an.draw(t,this.m,this.un,this.on,this._n,this.cn,this.ut)}}class si{constructor(t,i,s,n){this.fn=t,this.un=new ti(50),this.vn=i,this.g=s,this.pn=null==n?void 0:n.order,this.mn=null==n?void 0:n.alert,this._n=Boolean(null==n?void 0:n.draggable),this.cn=Boolean(this.pn||this.mn)&&!(null==n?void 0:n.hideCloseButton),this.ut=null==n?void 0:n.iconColor,this.bn=null==n?void 0:n.labelPosition,this.M=-1,this.rt=new ii(this.un,this._n,this.cn,this.ut)}renderer(){const t=this.g.paneForSource(this.vn);if(null===t)return null;const i=t.isOverlay(this.vn)?t.defaultVisiblePriceScale():this.vn.priceScale();if(null===i)return null;const s=t.priceScalePosition(i);if("overlay"===s)return null;const n=this.g.priceAxisRendererOptions();return n.fontSize!==this.M&&(this.M=n.fontSize,this.un.reset()),this.rt.dn(this.fn.paneRenderer(),n,this.bn||s),this.rt}}class ni extends N{constructor(){super(...arguments),this.q=null}B(t){this.q=t}hitTest(t,i){var s;if(!(null===(s=this.q)||void 0===s?void 0:s.Y))return null;const{G:n,A:e,gn:r}=this.q;return i>=n-e-7&&i<=n+e+7?{hitTestData:this.q,externalId:r}:null}R({context:t,bitmapSize:i,horizontalPixelRatio:s,verticalPixelRatio:n}){if(null===this.q)return;if(!1===this.q.Y)return;const e=Math.round(this.q.G*n);e<0||e>i.height||(t.lineCap="butt",t.strokeStyle=this.q.J,t.lineWidth=Math.floor(this.q.A*s),u(t,this.q.tt),c(t,e,0,i.width))}}class ei{constructor(t){this.wn={G:0,J:"rgba(0, 0, 0, 0)",A:1,tt:0,Y:!1},this.Mn=new ni,this.H=!0,this.ls=t,this.os=t.model(),this.Mn.B(this.wn)}lt(){this.H=!0}renderer(){return this.ls.visible()?(this.H&&(this.xn(),this.H=!1),this.Mn):null}}class ri extends ei{constructor(t){super(t)}xn(){this.wn.Y=!1;const t=this.ls.priceScale(),i=t.mode().mode;if(2!==i&&3!==i)return;const s=this.ls.options();if(!s.baseLineVisible||!this.ls.visible())return;const n=this.ls.firstValue();null!==n&&(this.wn.Y=!0,this.wn.G=t.priceToCoordinate(n.value,n.value),this.wn.J=s.baseLineColor,this.wn.A=s.baseLineWidth,this.wn.tt=s.baseLineStyle)}}class hi extends N{constructor(){super(...arguments),this.q=null}B(t){this.q=t}Sn(){return this.q}R({context:t,horizontalPixelRatio:i,verticalPixelRatio:s}){const n=this.q;if(null===n)return;const e=Math.max(1,Math.floor(i)),r=e%2/2,h=Math.round(n.Gs.x*i)+r,l=n.Gs.y*s;t.fillStyle=n.kn,t.beginPath();const a=Math.max(2,1.5*n.Cn)*i;t.arc(h,l,a,0,2*Math.PI,!1),t.fill(),t.fillStyle=n.yn,t.beginPath(),t.arc(h,l,n.I*i,0,2*Math.PI,!1),t.fill(),t.lineWidth=e,t.strokeStyle=n.Pn,t.beginPath(),t.arc(h,l,n.I*i+e/2,0,2*Math.PI,!1),t.stroke()}}const li=[{Tn:0,Rn:.25,Dn:4,Bn:10,On:.25,Ln:0,An:.4,Vn:.8},{Tn:.25,Rn:.525,Dn:10,Bn:14,On:0,Ln:0,An:.8,Vn:0},{Tn:.525,Rn:1,Dn:14,Bn:14,On:0,Ln:0,An:0,Vn:0}];function ai(t,i,s,n){return function(t,i){if("transparent"===t)return t;const s=S(t),n=s[3];return`rgba(${s[0]}, ${s[1]}, ${s[2]}, ${i*n})`}(t,s+(n-s)*i)}function oi(t,i){const s=t%2600/2600;let n;for(const t of li)if(s>=t.Tn&&s<=t.Rn){n=t;break}_(void 0!==n,"Last price animation internal logic error");const e=(s-n.Tn)/(n.Rn-n.Tn);return{yn:ai(i,e,n.On,n.Ln),Pn:ai(i,e,n.An,n.Vn),I:(r=e,h=n.Dn,l=n.Bn,h+(l-h)*r)};var r,h,l}class ui{constructor(t){this.rt=new hi,this.H=!0,this.zn=!0,this.En=performance.now(),this.In=this.En-1,this.Nn=t}Fn(){this.In=this.En-1,this.update()}Wn(){if(this.update(),2===this.Nn.options().lastPriceAnimation){const t=performance.now(),i=this.In-t;if(i>0)return void(i<650&&(this.In+=2600));this.En=t,this.In=t+2600}}update(){this.H=!0}jn(){this.zn=!0}Y(){return 0!==this.Nn.options().lastPriceAnimation}Hn(){switch(this.Nn.options().lastPriceAnimation){case 0:return!1;case 1:return!0;case 2:return performance.now()<=this.In}}renderer(){return this.H?(this.U(),this.H=!1,this.zn=!1):this.zn&&(this.$n(),this.zn=!1),this.rt}U(){this.rt.B(null);const t=this.Nn.model().timeScale(),i=t.visibleStrictRange(),s=this.Nn.firstValue();if(null===i||null===s)return;const n=this.Nn.lastValueData(!0);if(n.noData||!i.contains(n.index))return;const e={x:t.indexToCoordinate(n.index),y:this.Nn.priceScale().priceToCoordinate(n.price,s.value)},r=n.color,h=this.Nn.options().lineWidth,l=oi(this.Un(),r);this.rt.B({kn:r,Cn:h,yn:l.yn,Pn:l.Pn,I:l.I,Gs:e})}$n(){const t=this.rt.Sn();if(null!==t){const i=oi(this.Un(),t.kn);t.yn=i.yn,t.Pn=i.Pn,t.I=i.I}}Un(){return this.Hn()?performance.now()-this.En:2599}}function ci(t,i){return kt(Math.min(Math.max(t,12),30)*i)}function _i(t,i){switch(t){case"arrowDown":case"arrowUp":return ci(i,1);case"circle":return ci(i,.8);case"square":return ci(i,.7)}}function di(t){return function(t){const i=Math.ceil(t);return i%2!=0?i-1:i}(ci(t,1))}function fi(t){return Math.max(ci(t,.1),3)}function vi(t,i,s){return i?t:s?Math.ceil(t/2):0}function pi(t,i,s,n,e){const r=_i("square",s),h=(r-1)/2,l=t-h,a=i-h;return n>=l&&n<=l+r&&e>=a&&e<=a+r}function mi(t,i,s,n){const e=(_i("arrowUp",n)-1)/2*s.qn,r=(kt(n/2)-1)/2*s.qn;i.beginPath(),t?(i.moveTo(s.K-e,s.G),i.lineTo(s.K,s.G-e),i.lineTo(s.K+e,s.G),i.lineTo(s.K+r,s.G),i.lineTo(s.K+r,s.G+e),i.lineTo(s.K-r,s.G+e),i.lineTo(s.K-r,s.G)):(i.moveTo(s.K-e,s.G),i.lineTo(s.K,s.G+e),i.lineTo(s.K+e,s.G),i.lineTo(s.K+r,s.G),i.lineTo(s.K+r,s.G-e),i.lineTo(s.K-r,s.G-e),i.lineTo(s.K-r,s.G)),i.fill()}function bi(t,i,s,n,e,r){return pi(i,s,n,e,r)}class gi extends N{constructor(){super(...arguments),this.q=null,this.un=new ti,this.M=-1,this.S="",this.Yn=""}B(t){this.q=t}dn(t,i){this.M===t&&this.S===i||(this.M=t,this.S=i,this.Yn=z(t,i),this.un.reset())}hitTest(t,i){if(null===this.q||null===this.q.O)return null;for(let s=this.q.O.from;s<this.q.O.to;s++){const n=this.q.L[s];if(Mi(n,t,i))return{hitTestData:n.Zn,externalId:n.gn}}return null}R({context:t,horizontalPixelRatio:i,verticalPixelRatio:s},n,e){if(null!==this.q&&null!==this.q.O){t.textBaseline="middle",t.font=this.Yn;for(let n=this.q.O.from;n<this.q.O.to;n++){const e=this.q.L[n];void 0!==e.Xn&&(e.Xn.Kn=this.un.measureText(t,e.Xn.Gn),e.Xn.Jn=this.M,e.Xn.K=e.x-e.Xn.Kn/2),wi(e,t,i,s)}}}}function wi(t,i,s,n){i.fillStyle=t.J,void 0!==t.Xn&&function(t,i,s,n,e,r){t.save(),t.scale(e,r),t.fillText(i,s,n),t.restore()}(i,t.Xn.Gn,t.Xn.K,t.Xn.G,s,n),function(t,i,s){if(0===t.Qn)return;switch(t.te){case"arrowDown":return void mi(!1,i,s,t.Qn);case"arrowUp":return void mi(!0,i,s,t.Qn);case"circle":return void function(t,i,s){const n=(_i("circle",s)-1)/2;t.beginPath(),t.arc(i.K,i.G,n*i.qn,0,2*Math.PI,!1),t.fill()}(i,s,t.Qn);case"square":return void function(t,i,s){const n=_i("square",s),e=(n-1)*i.qn/2,r=i.K-e,h=i.G-e;t.fillRect(r,h,n*i.qn,n*i.qn)}(i,s,t.Qn)}t.te}(t,i,function(t,i,s){const n=Math.max(1,Math.floor(i))%2/2;return{K:Math.round(t.x*i)+n,G:t.G*s,qn:i}}(t,s,n))}function Mi(t,i,s){return!(void 0===t.Xn||!function(t,i,s,n,e,r){const h=n/2;return e>=t&&e<=t+s&&r>=i-h&&r<=i+h}(t.Xn.K,t.Xn.G,t.Xn.Kn,t.Xn.Jn,i,s))||function(t,i,s){if(0===t.Qn)return!1;switch(t.te){case"arrowDown":case"arrowUp":return bi(0,t.x,t.G,t.Qn,i,s);case"circle":return function(t,i,s,n,e){const r=2+_i("circle",s)/2,h=t-n,l=i-e;return Math.sqrt(h*h+l*l)<=r}(t.x,t.G,t.Qn,i,s);case"square":return pi(t.x,t.G,t.Qn,i,s)}}(t,i,s)}function xi(t,i,s,n,e,r,h,l,a){const o=T(s)?s:s.close,u=T(s)?s:s.high,c=T(s)?s:s.low,_=T(i.size)?Math.max(i.size,0):1,d=di(l.barSpacing())*_,f=d/2;switch(t.Qn=d,i.position){case"inBar":return t.G=h.priceToCoordinate(o,a),void(void 0!==t.Xn&&(t.Xn.G=t.G+f+r+.6*e));case"aboveBar":return t.G=h.priceToCoordinate(u,a)-f-n.ie,void 0!==t.Xn&&(t.Xn.G=t.G-f-.6*e,n.ie+=1.2*e),void(n.ie+=d+r);case"belowBar":return t.G=h.priceToCoordinate(c,a)+f+n.se,void 0!==t.Xn&&(t.Xn.G=t.G+f+r+.6*e,n.se+=1.2*e),void(n.se+=d+r)}i.position}class Si{constructor(t,i){this.H=!0,this.ne=!0,this.ee=!0,this.re=null,this.he=null,this.rt=new gi,this.Nn=t,this.Wt=i,this.q={L:[],O:null}}update(t){this.H=!0,this.ee=!0,"data"===t&&(this.ne=!0,this.he=null)}renderer(t){if(!this.Nn.visible())return null;this.H&&this.le();const i=this.Wt.options().layout;return this.rt.dn(i.fontSize,i.fontFamily),this.rt.B(this.q),this.rt}ae(){if(this.ee){if(this.Nn.indexedMarkers().length>0){const t=this.Wt.timeScale().barSpacing(),i=fi(t),s=1.5*di(t)+2*i,n=this.oe();this.re={above:vi(s,n.aboveBar,n.inBar),below:vi(s,n.belowBar,n.inBar)}}else this.re=null;this.ee=!1}return this.re}oe(){return null===this.he&&(this.he=this.Nn.indexedMarkers().reduce(((t,i)=>(t[i.position]||(t[i.position]=!0),t)),{inBar:!1,aboveBar:!1,belowBar:!1})),this.he}le(){const t=this.Nn.priceScale(),i=this.Wt.timeScale(),s=this.Nn.indexedMarkers();this.ne&&(this.q.L=s.map((t=>({time:t.time,x:0,G:0,Qn:0,te:t.shape,J:t.color,Zn:t.internalId,gn:t.id,Xn:void 0}))),this.ne=!1);const n=this.Wt.options().layout;this.q.O=null;const e=i.visibleStrictRange();if(null===e)return;const r=this.Nn.firstValue();if(null===r)return;if(0===this.q.L.length)return;let h=NaN;const l=fi(i.barSpacing()),a={ie:l,se:l};this.q.O=Vt(this.q.L,e,!0);for(let e=this.q.O.from;e<this.q.O.to;e++){const o=s[e];o.time!==h&&(a.ie=l,a.se=l,h=o.time);const u=this.q.L[e];u.x=i.indexToCoordinate(o.time),void 0!==o.text&&o.text.length>0&&(u.Xn={Gn:o.text,K:0,G:0,Kn:0,Jn:0});const c=this.Nn.dataAt(o.time);null!==c&&xi(u,o,c,a,n.fontSize,l,t,i,r.value)}this.H=!1}}class ki extends ei{constructor(t){super(t)}xn(){const t=this.wn;t.Y=!1;const i=this.ls.options();if(!i.priceLineVisible||!this.ls.visible())return;const s=this.ls.lastValueData(0===i.priceLineSource);s.noData||(t.Y=!0,t.G=s.coordinate,t.J=this.ls.priceLineColor(s.color),t.A=i.priceLineWidth,t.tt=i.priceLineStyle)}}class Ci extends tt{constructor(t){super(),this.ht=t}zt(t,i,s){t.visible=!1,i.visible=!1;const n=this.ht;if(!n.visible())return;const e=n.options(),r=e.lastValueVisible,h=""!==n.title(),l=0===e.seriesLastValueMode,a=n.lastValueData(!1);if(a.noData)return;r&&(t.text=this.ue(a,r,l),t.visible=0!==t.text.length),(h||l)&&(i.text=this.ce(a,r,h,l),i.visible=i.text.length>0);const o=n.priceLineColor(a.color),u=C(o);s.background=u.t,s.coordinate=a.coordinate,i.borderColor=n.model().backgroundColorAtYPercentFromTop(a.coordinate/n.priceScale().height()),t.borderColor=o,t.color=u.i,i.color=u.i}ce(t,i,s,n){let e="";const r=this.ht.title();return s&&0!==r.length&&(e+=`${r} `),i&&n&&(e+=this.ht.priceScale().isPercentage()?t.formattedPriceAbsolute:t.formattedPricePercentage),e.trim()}ue(t,i,s){return i?s?this.ht.priceScale().isPercentage()?t.formattedPricePercentage:t.formattedPriceAbsolute:t.text:""}}function yi(t,i,s,n){const e=Number.isFinite(i),r=Number.isFinite(s);return e&&r?t(i,s):e||r?e?i:s:n}class Pi{constructor(t,i){this._e=t,this.de=i}equals(t){return null!==t&&(this._e===t._e&&this.de===t.de)}clone(){return new Pi(this._e,this.de)}minValue(){return this._e}maxValue(){return this.de}length(){return this.de-this._e}isEmpty(){return this.de===this._e||Number.isNaN(this.de)||Number.isNaN(this._e)}merge(t){return null===t?this:new Pi(yi(Math.min,this.minValue(),t.minValue(),-1/0),yi(Math.max,this.maxValue(),t.maxValue(),1/0))}scaleAroundCenter(t){if(!T(t))return;if(0===this