(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[5093],{82725:e=>{e.exports={"animation-minimize-corner-left-top":"animation-minimize-corner-left-top-1yUqeyiZ","animation-minimize-corner-right-top":"animation-minimize-corner-right-top-1yUqeyiZ","animation-minimize-corner-right-bottom":"animation-minimize-corner-right-bottom-1yUqeyiZ","animation-minimize-corner-left-bottom":"animation-minimize-corner-left-bottom-1yUqeyiZ","animation-maximize-corner-left-top":"animation-maximize-corner-left-top-1yUqeyiZ","animation-maximize-corner-right-top":"animation-maximize-corner-right-top-1yUqeyiZ","animation-maximize-corner-right-bottom":"animation-maximize-corner-right-bottom-1yUqeyiZ","animation-maximize-corner-left-bottom":"animation-maximize-corner-left-bottom-1yUqeyiZ"}},48913:e=>{e.exports={wrapper:"wrapper-1Srpa2Xw",timezone:"timezone-1Srpa2Xw",sessionDayWrapper:"sessionDayWrapper-1Srpa2Xw",nowWrapper:"nowWrapper-1Srpa2Xw",now:"now-1Srpa2Xw",sessionDay:"sessionDay-1Srpa2Xw",weekDay:"weekDay-1Srpa2Xw",sessionDaySegments:"sessionDaySegments-1Srpa2Xw",timeMarkWrapper:"timeMarkWrapper-1Srpa2Xw",timeMarkSegment:"timeMarkSegment-1Srpa2Xw",timeMark:"timeMark-1Srpa2Xw",timeMarkSegmentAlignByEnds:"timeMarkSegmentAlignByEnds-1Srpa2Xw",segment:"segment-1Srpa2Xw",small:"small-1Srpa2Xw",start:"start-1Srpa2Xw",end:"end-1Srpa2Xw",active:"active-1Srpa2Xw",green:"green-1Srpa2Xw",orange:"orange-1Srpa2Xw",blue:"blue-1Srpa2Xw",gray:"gray-1Srpa2Xw",tooltip:"tooltip-1Srpa2Xw",time:"time-1Srpa2Xw"}},92271:e=>{e.exports={marginlegendhoriz:"4px",legend:"legend-1WIwNaDF",item:"item-1WIwNaDF",withAction:"withAction-1WIwNaDF",selected:"selected-1WIwNaDF",last:"last-1WIwNaDF",text:"text-1WIwNaDF",noWrapWrapper:"noWrapWrapper-1WIwNaDF",noWrap:"noWrap-1WIwNaDF",series:"series-1WIwNaDF",valuesAdditionalWrapper:"valuesAdditionalWrapper-1WIwNaDF",valueItem:"valueItem-1WIwNaDF",valueTitle:"valueTitle-1WIwNaDF",valueValue:"valueValue-1WIwNaDF",valuesWrapper:"valuesWrapper-1WIwNaDF",directionColumn:"directionColumn-1WIwNaDF",titleWrapper:"titleWrapper-1WIwNaDF",button:"button-1WIwNaDF",statusesWrapper:"statusesWrapper-1WIwNaDF",buttonsWrapper:"buttonsWrapper-1WIwNaDF",buttons:"buttons-1WIwNaDF",noActions:"noActions-1WIwNaDF",title:"title-1WIwNaDF",intervalTitle:"intervalTitle-1WIwNaDF",disabled:"disabled-1WIwNaDF",disabledOnInterval:"disabledOnInterval-1WIwNaDF",withCustomTextColor:"withCustomTextColor-1WIwNaDF",study:"study-1WIwNaDF",mainTitle:"mainTitle-1WIwNaDF",descTitle:"descTitle-1WIwNaDF",hideValues:"hideValues-1WIwNaDF",has5Buttons:"has5Buttons-1WIwNaDF",stayInHoveredMode:"stayInHoveredMode-1WIwNaDF",withTail:"withTail-1WIwNaDF",loading:"loading-1WIwNaDF",loader:"loader-1WIwNaDF",withDot:"withDot-1WIwNaDF",providerTitle:"providerTitle-1WIwNaDF",exchangeTitle:"exchangeTitle-1WIwNaDF",styleTitle:"styleTitle-1WIwNaDF",brandTitle:"brandTitle-1WIwNaDF",minHideIntervalTitle:"minHideIntervalTitle-1WIwNaDF",microHideIntervalTitle:"microHideIntervalTitle-1WIwNaDF",hideExchangeProviderTitles:"hideExchangeProviderTitles-1WIwNaDF", hideBrandingTitle:"hideBrandingTitle-1WIwNaDF",flagged:"flagged-1WIwNaDF",medium:"medium-1WIwNaDF",minimized:"minimized-1WIwNaDF",micro:"micro-1WIwNaDF",onlyOneButtonCanBeStick:"onlyOneButtonCanBeStick-1WIwNaDF",touchMode:"touchMode-1WIwNaDF",buttonIcon:"buttonIcon-1WIwNaDF",flag:"flag-1WIwNaDF",invisibleHover:"invisibleHover-1WIwNaDF",eye:"eye-1WIwNaDF",eyeLoading:"eyeLoading-1WIwNaDF","eye-animation":"eye-animation-1WIwNaDF",intervalEye:"intervalEye-1WIwNaDF",markerContainer:"markerContainer-1WIwNaDF",flagWrapper:"flagWrapper-1WIwNaDF",sourcesWrapper:"sourcesWrapper-1WIwNaDF",legendMainSourceWrapper:"legendMainSourceWrapper-1WIwNaDF",sources:"sources-1WIwNaDF",toggler:"toggler-1WIwNaDF pane-button-xPfK7aM7",onlyOneSourceShown:"onlyOneSourceShown-1WIwNaDF",counter:"counter-1WIwNaDF",iconArrow:"iconArrow-1WIwNaDF",objectTree:"objectTree-1WIwNaDF",closed:"closed-1WIwNaDF",objectsTreeCanBeShown:"objectsTreeCanBeShown-1WIwNaDF"}},92176:e=>{e.exports={loader:"loader-18GTjpi-",loaderItem:"loaderItem-18GTjpi-","loader-animation":"loader-animation-18GTjpi-",touchMode:"touchMode-18GTjpi-"}},37504:e=>{e.exports={"css-value-pane-controls-padding-left":"1px","css-value-pane-controls-padding-right":"5px",paneControls:"paneControls-2RChU0rC",hasTopMargin:"hasTopMargin-2RChU0rC",hidden:"hidden-2RChU0rC",forceHidden:"forceHidden-2RChU0rC",button:"button-2RChU0rC pane-button-xPfK7aM7",buttonIcon:"buttonIcon-2RChU0rC",minimize:"minimize-2RChU0rC",newButton:"newButton-2RChU0rC",touchMode:"touchMode-2RChU0rC",maximize:"maximize-2RChU0rC","maximize-animation-up-bracket":"maximize-animation-up-bracket-2RChU0rC","maximize-animation-down-bracket":"maximize-animation-down-bracket-2RChU0rC","minimize-animation-up-bracket":"minimize-animation-up-bracket-2RChU0rC","minimize-animation-down-bracket":"minimize-animation-down-bracket-2RChU0rC",up:"up-2RChU0rC","up-animation":"up-animation-2RChU0rC",down:"down-2RChU0rC","down-animation":"down-animation-2RChU0rC",buttonsWrapper:"buttonsWrapper-2RChU0rC"}},71996:e=>{e.exports={blockHidden:"blockHidden-xPfK7aM7","pane-button":"pane-button-xPfK7aM7"}},34104:e=>{e.exports={"css-value-small-size":"18px","css-value-border-radius-small-size":"9px","css-value-large-size":"22px","css-value-border-radius-large-size":"11px",statuses:"statuses-1NfuygY0",statusItem:"statusItem-1NfuygY0",small:"small-1NfuygY0",large:"large-1NfuygY0",blinking:"blinking-1NfuygY0",oneWidgetsVisible:"oneWidgetsVisible-1NfuygY0",twoWidgetsVisible:"twoWidgetsVisible-1NfuygY0",threeWidgetsVisible:"threeWidgetsVisible-1NfuygY0","blinking-animation":"blinking-animation-1NfuygY0",marketStatusOpen:"marketStatusOpen-1NfuygY0",marketStatusClose:"marketStatusClose-1NfuygY0",marketStatusPre:"marketStatusPre-1NfuygY0",marketStatusPost:"marketStatusPost-1NfuygY0",marketStatusHoliday:"marketStatusHoliday-1NfuygY0",invalidSymbol:"invalidSymbol-1NfuygY0",replayMode:"replayMode-1NfuygY0",notAccurate:"notAccurate-1NfuygY0",delay:"delay-1NfuygY0",eod:"eod-1NfuygY0",dataProblemHigh:"dataProblemHigh-1NfuygY0",dataProblemLow:"dataProblemLow-1NfuygY0"}}, 30194:(e,t,s)=>{"use strict";s.r(t),s.d(t,{ControlBarNavigation:()=>$});var i=s(16282),l=s(79881),a=s(96404),o=s(27490),n=s(49044),r=s(76553),d=s(67235),h=s(19598),u=s(43367),c=s(42998),_=(s(87438),s(2885)),p=s(57271),m=s(56635),g=s(59437),b=s(77679),v=s(52495),w=s(60737),y=s(11005),S=s(74077),M=s(14836),f=s(55270),C=s(94964);s(82725);const E=(0,c.humanReadableModifiers)(c.Modifiers.Alt,!1),k=(0,c.humanReadableModifiers)(c.Modifiers.Shift,!1),V=(0,c.humanReadableModifiers)(c.Modifiers.Mod,!1),W=(0,h.hotKeySerialize)({keys:[E,"R"],text:"{0} + {1}"}),T=(0,h.hotKeySerialize)({keys:[E,"Click",E,"Enter"],text:"{0} + {1}, {2} + {3}"}),x=(0,h.hotKeySerialize)({keys:[w],text:"{0}"}),D=(0,h.hotKeySerialize)({keys:[y],text:"{0}"}),L=(0,h.hotKeySerialize)({keys:[V,S],text:"{0} + {1}"}),A=(0,h.hotKeySerialize)({keys:[V,M],text:"{0} + {1}"}),H=(0,h.hotKeySerialize)({keys:[E,k,y],text:"{0} + {1} + {2}"}),B=(0,l.t)("Zoom Out"),N=(0,l.t)("Zoom In"),P=(0,l.t)("Maximize chart"),I=(0,l.t)("Restore chart"),z=(0,l.t)("Scroll to the Left"),O=(0,l.t)("Scroll to the Right"),F=(0,l.t)("Reset Chart"),R=(0,l.t)("Scroll to the Most Recent Bar"),U=`
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t${p}\n\t\t\t
\n\t\t\t
\n\t\t\t\t${g}\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t${f}\n\t\t\t
\n\t\t\t
\n\t\t\t\t${C}\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t${_}\n\t\t\t
\n\t\t\t
\n\t\t\t\t${b}\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t${m}\n\t\t\t
\n\t\t
\n\t
\n
`,j=`
\n\t${v}\n
`,Y=u.CheckMobile.any(),G={zoomInOut:!0,maximize:!0,scrollLeftRight:!0,resetScale:!0,goToRealtime:!0};class ${constructor(e,t,s){this._widget=(0,i.ensureNotNull)((0, d.parseHtml)(U).querySelector(".control-bar-wrapper")),this._controlBar=(0,i.ensureNotNull)(this._widget.querySelector(".control-bar")),this._back=(0,i.ensureNotNull)((0,d.parseHtml)(j).querySelector(".control-bar__btn--back-present")),this._btnGroups=Array.from(this._controlBar.querySelectorAll(".js-btn-group")),this._backButtonVisible=!1,this._boundMouseHandler=null,this._chartModel=null,this._checkIntervalId=0,this._controlBarVisible=!1,this._priceAxisChanged=null,this._resetAvailabilityChanged=null,this._priceAxisName="right",this._rafId=0,this._visibilityTypeProperty=null,this._boundUpdateMaximizeButtonsVisibility=this._updateMaximizeButtonsVisibility.bind(this),this._boundToggleFullscreenButtons=this._toggleFullscreenButtons.bind(this),this._paneWidth=0,this._leftPriceScaleWidth=0,this._rightPriceScaleWidth=0,this._chart=e,this._parent=t,this._options=Object.assign({},G,s),this._visibilityPrioritizedGroups=this._initGroupDescriptions(),this._init(),this._initHandlers(),this.updatePosition()}destroy(){if(null!==this._visibilityTypeProperty&&(this._visibilityTypeProperty.unsubscribe(this,this._onVisibilityTypeChange),this._visibilityTypeProperty=null),null!==this._boundMouseHandler&&(this._parent.removeEventListener("mousemove",this._boundMouseHandler,!1),this._parent.removeEventListener("mouseleave",this._boundMouseHandler,!1),this._boundMouseHandler=null),null!==this._priceAxisChanged&&(this._priceAxisChanged.unsubscribe(this,this._updateBackBtnPosition),this._priceAxisChanged=null),clearInterval(this._checkIntervalId),null!==this._resetAvailabilityChanged){this._resetAvailabilityChanged.unsubscribe(this,this._updateResetScalesButtonVisibility);const e=this._chart.getResizerDetacher();e.fullscreenable.unsubscribe(this._boundUpdateMaximizeButtonsVisibility),e.fullscreen.unsubscribe(this._boundToggleFullscreenButtons),this._resetAvailabilityChanged=null}this._chart=null}updatePosition(){const e=this._chart.paneWidgets();if(0===e.length)return;this._paneWidth=e[0].width(),this._leftPriceScaleWidth=this._chart.getPriceAxisMaxWidthByName("left"),this._rightPriceScaleWidth=this._chart.getPriceAxisMaxWidthByName("right");const t=this._chart.timeAxisHeight()+this._bottomMargin();this._widget.style.bottom=t+"px",this._back.style.bottom=t+"px",this._updateBtnGroupVisibility()}_bottomMargin(){var e;const t=this._chart.paneWidgets();return(null!==(e=this._chart.maximizedPaneWidget())&&void 0!==e?e:t[t.length-1]).containsMainSeries()?32:5}_init(){if(u.CheckMobile.any())for(const e of this._btnGroups)e.classList.add("js-hidden");this._buttons={zoomIn:this._widget.querySelector(".control-bar__btn--zoom-in"),zoomOut:this._widget.querySelector(".control-bar__btn--zoom-out"),moveLeft:this._widget.querySelector(".control-bar__btn--move-left"),moveRight:this._widget.querySelector(".control-bar__btn--move-right"),turn:this._widget.querySelector(".control-bar__btn--turn-button"),maximize:this._widget.querySelector(".control-bar__btn--maximize"),minimize:this._widget.querySelector(".control-bar__btn--minimize")}, this._initVisibility(),this._parent.appendChild(this._widget),this._parent.appendChild(this._back),this._backButtonVisible=!1,this._priceAxisName=(0,r.isRtl)()?"left":"right",this._chart.withModel(this,()=>{this._chartModel=this._chart.model(),this._priceAxisChanged=this._chart.getPriceAxisWidthChangedByName(this._priceAxisName),this._resetAvailabilityChanged=this._chartModel.model().isScalesResetAvailableChanged(),this._priceAxisChanged.subscribe(this,this._updateBackBtnPosition),this._resetAvailabilityChanged.subscribe(this,this._updateResetScalesButtonVisibility);const e=this._chart.getResizerDetacher();e.fullscreenable.subscribe(this._boundUpdateMaximizeButtonsVisibility),e.fullscreen.subscribe(this._boundToggleFullscreenButtons),this._updateMaximizeButtonsVisibility(),this._updateBackBtnPosition(),this._back.addEventListener("click",()=>{null!==this._chartModel&&this._chartModel.timeScale().scrollToRealtime(!0)}),this._checkIntervalId=setInterval(()=>this._check(),1e3)})}_initHandlers(){const e=a.mobiletouch?"touchstart":"mousedown",t=a.mobiletouch?["touchend"]:["mouseup","mouseout"];this._buttons.moveLeft.addEventListener(e,e=>{e.preventDefault(),this._chart.scrollHelper().moveByBar(1),this._trackEvent("Move Left")}),this._buttons.moveRight.addEventListener(e,e=>{e.preventDefault(),this._chart.scrollHelper().moveByBar(-1),this._trackEvent("Move Right")});for(const e of t)this._buttons.moveLeft.addEventListener(e,()=>this._chart.scrollHelper().stopMoveByBar()),this._buttons.moveRight.addEventListener(e,()=>this._chart.scrollHelper().stopMoveByBar());this._buttons.turn.addEventListener("click",e=>{e.preventDefault(),this._chart.GUIResetScales(),this._trackEvent("Reset to Default Settings")}),this._buttons.zoomOut.addEventListener("click",e=>{e.preventDefault(),null!==this._chartModel&&this._chartModel.zoomOut(),this._trackEvent("Zoom Out")}),this._buttons.zoomIn.addEventListener("click",e=>{e.preventDefault(),null!==this._chartModel&&this._chartModel.zoomIn(),this._trackEvent("Zoom In")}),this._buttons.maximize.addEventListener("click",e=>{e.preventDefault(),this._chart.setActive(!0),this._chart.getResizerDetacher().requestFullscreen(),this._trackEvent(" Maximize Chart")}),this._buttons.minimize.addEventListener("click",e=>{e.preventDefault(),this._chart.getResizerDetacher().exitFullscreen(),this._trackEvent(" Restore Chart")});const s=e=>e.addEventListener("contextmenu",e=>e.preventDefault());s(this._buttons.moveLeft),s(this._buttons.moveRight),s(this._buttons.turn),s(this._buttons.zoomOut),s(this._buttons.zoomIn),s(this._buttons.minimize),s(this._buttons.maximize)}_initGroupDescriptions(){return[{shouldBeHiddenOnMobile:!1,available:this._isMaximizeButtonAvailable.bind(this),className:"js-btn-group-maximize",element:this._getBtnGroup("js-btn-group-maximize"),totalWidth:50},{shouldBeHiddenOnMobile:!1,available:()=>this._options.resetScale,className:"js-btn-group-reset-scale",element:this._getBtnGroup("js-btn-group-reset-scale"),totalWidth:50},{ shouldBeHiddenOnMobile:!o.enabled("show_zoom_and_move_buttons_on_touch"),available:()=>this._options.zoomInOut,className:"js-btn-group-zoom",element:this._getBtnGroup("js-btn-group-zoom"),totalWidth:86},{shouldBeHiddenOnMobile:!o.enabled("show_zoom_and_move_buttons_on_touch"),available:()=>this._options.scrollLeftRight,className:"js-btn-group-scroll",element:this._getBtnGroup("js-btn-group-scroll"),totalWidth:86}]}_check(){if(null===this._chartModel||!this._options.goToRealtime)return;const e=this._chartModel.timeScale().rightOffset()<0;e!==this._backButtonVisible&&(this._backButtonVisible=e,this._back.classList.toggle("control-bar__btn--btn-hidden",!this._backButtonVisible))}_initVisibility(){this._visibilityTypeProperty=(0,n.actualBehavior)(),this._visibilityTypeProperty.subscribe(this,this._onVisibilityTypeChange),this._onVisibilityTypeChange()}_onVisibilityTypeChange(){if(null===this._visibilityTypeProperty)return;const e=this._visibilityTypeProperty.value();"alwaysOn"===e||"alwaysOff"===e?(this._controlBarVisible="alwaysOn"===e,null!==this._boundMouseHandler&&(this._parent.removeEventListener("mousemove",this._boundMouseHandler,!1),this._parent.removeEventListener("mouseleave",this._boundMouseHandler,!1),this._boundMouseHandler=null)):(this._controlBarVisible=!1,this._boundMouseHandler||(this._boundMouseHandler=this._visibilityMouseHandler.bind(this),this._parent.addEventListener("mousemove",this._boundMouseHandler),this._parent.addEventListener("mouseleave",this._boundMouseHandler))),this._updateControlBarVisibility()}_visibilityMouseHandler(e){if(e.buttons)return;if(null!==this._chartModel&&this._chartModel.lineBeingCreated())return;let t="mouseleave"!==e.type;if("mousemove"===e.type){const s=this._widget.getBoundingClientRect(),i=100-this._bottomMargin();t=e.clientX>=s.left-100&&e.clientX<=s.right+100&&e.clientY>=s.top-i&&e.clientY<=s.bottom+100}this._controlBarVisible!==t&&(this._controlBarVisible=t,null===this._rafId&&(this._rafId=this._controlBar.ownerDocument.defaultView.requestAnimationFrame(this._updateControlBarVisibility.bind(this))))}_updateControlBarVisibility(){this._rafId=null,this._controlBar.classList.toggle("control-bar--hidden",!this._controlBarVisible)}_updateBackBtnPosition(){if("left"===this._priceAxisName||"right"===this._priceAxisName){const e=this._chart.getPriceAxisMaxWidthByName(this._priceAxisName)+14;e&&(this._back.style.marginRight=e+"px")}}_updateBtnGroupVisibility(){const e=this._leftPriceScaleWidth+this._paneWidth,t=(e+this._rightPriceScaleWidth)/2;let s=2*Math.min(e-t,t-this._leftPriceScaleWidth)-50-50,i=!1;for(const e of this._visibilityPrioritizedGroups){e.enoughSpaceForGroup=!1;e.available()&&(!Y||!e.shouldBeHiddenOnMobile)&&(s-=e.totalWidth,e.enoughSpaceForGroup=s>=0&&!i,i=i||!e.enoughSpaceForGroup),!e.enoughSpaceForGroup!==e.element.classList.contains("js-hidden")&&e.element.classList.toggle("js-hidden",!e.enoughSpaceForGroup)}this._updateControlBarPosition()}_getBtnGroup(e){return(0,i.ensureDefined)(this._btnGroups.find(t=>t.classList.contains(e)))} _updateControlBarPosition(){const e=this._visibilityPrioritizedGroups.reduce((e,t)=>e+(t.enoughSpaceForGroup?t.totalWidth:0),0),t=(this._paneWidth+this._leftPriceScaleWidth+this._rightPriceScaleWidth)/2-Math.ceil(e/2);this._widget.style.left=t+"px"}_updateResetScalesButtonVisibility(){if(null===this._chartModel)return;const e=this._chartModel.model().isScalesResetAvailable();this._buttons.turn.classList.toggle("control-bar__btn--btn-hidden",!e)}_updateMaximizeButtonsVisibility(){this._updateBtnGroupVisibility()}_toggleFullscreenButtons(){const e=this._chart.getResizerDetacher().fullscreen.value();this._buttons.maximize.classList.toggle("js-hidden",e),this._buttons.minimize.classList.toggle("js-hidden",!e)}_isMaximizeButtonAvailable(){return this._options.maximize,!1}_trackEvent(e){0}}},56786:(e,t,s)=>{"use strict";s.r(t),s.d(t,{LegendWidget:()=>$i});var i=s(16282),l=s(32856),a=s.n(l),o=s(47903),n=s(16932),r=s(14563),d=s(27490),h=s(92882),u=s(1529),c=s(3330),_=s(29448),p=s(52541),m=s(71996);var g=s(92176);class b extends class{constructor(e,t={}){this._loadingEl=document.createElement("span"),this._renderLoading(t),this.toggleVisibility(!1),e.appendChild(this._loadingEl)}toggleVisibility(e){this._loadingEl.classList.toggle(m.blockHidden,!e)}_renderLoading(e){const{className:t}=e;t&&this._loadingEl.classList.add(t)}}{_renderLoading(e){super._renderLoading(e),this._loadingEl.innerHTML=`\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t`,this._loadingEl.classList.add(g.loader)}}var v=s(43367);function w(e,t){null===e.firstChild?e.textContent=t:e.firstChild.nodeValue=t}var y=s(92271);const S=v.CheckMobile.any();class M{constructor(e,t,s){this._el=null,this._firstBlockWrapper=null,this._titleParentEl=null,this._titleElements=[],this._valuesParentEl=null,this._valuesAdditionalWrapperEl=null,this._valuesElements=[],this._actionsParentEl=null,this._actionAdditionalWrapperEl=null,this._stayInHoveredMode=!1,this._mode=4,this._statusesWrapper=null,this._resizeObserver=null,this._hideInvisibleHover=null,this._hideValues=null,this._allButtonsWidth=null,this._lastStatusesWrapperWidth=null,this._lastActionsWrapperWidth=null,this._showActionsHandler=null,this._hideActionsHandler=null,this._selectedSourceHandler=null,this._mouseEventHandlers=[],this._disableTimeout=null,this._loader=null,this._updateDisabledState=(e=this._disabled.value())=>{null!==this._el&&(this._el.classList.toggle(y.disabled,e),this._updateLoadingState(),this._updateStatusWidgetVisibility(e),this._updateTitleMaxWidth())},this._updateLoadingState=(e=this._loading.value())=>{if(null!==this._el){const t=this._el.classList;t.toggle(y.eyeLoading,e&&!this._disabled.value()),t.toggle(y.loading,e)}null!==this._loader&&this._loader.toggleVisibility(e)},this._model=e,this._parentEl=t,this._disabled=this._model.disabled().spawn(),this._disabled.subscribe(this._updateDisabledState),this._disabledOnInterval=this._model.disabledOnInterval().spawn(), this._disabledOnInterval.subscribe(this._updateDisabledOnIntervalState.bind(this)),this._selected=this._model.selected().spawn(),this._selected.subscribe(this._updateSelectedState.bind(this)),this._loading=this._model.loading().spawn(),this._loading.subscribe(function(e,t){let s=0;return i=>{clearTimeout(s),i?e():s=setTimeout(e,t)}}(this._updateLoadingState,700)),this._isTitleHidden=this._model.isTitleHidden().spawn(),this._isValuesHidden=this._model.isValuesHidden().spawn(),this._isRowHidden=this._model.isRowHidden().spawn(),this._isTitleHidden.subscribe(this._updateShowTitles.bind(this)),this._isValuesHidden.subscribe(this._updateShowValues.bind(this)),this._isRowHidden.subscribe(this._updateShowLine.bind(this)),this._createTitlesSpawns();for(let e=0;e({visible:e.visible.spawn(),title:void 0===e.title?null:e.title.spawn()}));for(let e=0;e{e.preventDefault(),e.stopPropagation()})))}destroy(){var e,t;this._disabled.destroy(),this._disabledOnInterval.destroy(), this._selected.destroy(),this._loading.destroy(),this._isTitleHidden.destroy(),this._isValuesHidden.destroy(),this._isRowHidden.destroy(),this._customTextColor.destroy(),null!==this._disableTimeout&&clearTimeout(this._disableTimeout);for(const e of this._titlesSpawns)e.title.destroy();if(null!==this._titleParentEl){for(const e of this._mouseEventHandlers)e.destroy();this._titleElements=[],this._withActions&&null!==this._selectedSourceHandler&&null!==this._showActionsHandler&&null!==this._hideActionsHandler&&(this._titleParentEl.removeEventListener("touchend",this._selectedSourceHandler),this._titleParentEl.removeEventListener("mousedown",this._selectedSourceHandler),S||(this._titleParentEl.removeEventListener("mouseenter",this._showActionsHandler),this._titleParentEl.removeEventListener("mouseleave",this._hideActionsHandler))),this._titleParentEl=null}for(const e of this._actionsSpawnArray){e.visible.destroy();const t=e.title;null!==t&&t.destroy()}if(null!==this._actionAdditionalWrapperEl&&(this._withActions&&null!==this._showActionsHandler&&null!==this._hideActionsHandler&&!S&&(this._actionAdditionalWrapperEl.removeEventListener("mouseenter",this._showActionsHandler),this._actionAdditionalWrapperEl.removeEventListener("mouseleave",this._hideActionsHandler)),this._actionAdditionalWrapperEl=null),this._actionsParentEl=null,this._removeValuesSpawnsSubscriptions(),this._values.destroy(),null!==this._valuesParentEl&&(this._valuesElements=[],this._valuesParentEl=null),null===(e=this._hideInvisibleHover)||void 0===e||e.destroy(),null===(t=this._hideValues)||void 0===t||t.destroy(),null!==this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null),null!==this._el){(0,i.ensureNotNull)(this._el.parentNode).removeChild(this._el),this._el=null}}getHeight(){return null===this._el?null:24}updateMode(e){this._mode===e&&null!==this._allButtonsWidth||(this._mode=e,this._updateAllButtonsWidth())}_render(){this._renderTitle(),this._renderActions(),this._renderValues(),this._el=document.createElement("div"),this._firstBlockWrapper=document.createElement("div"),this._firstBlockWrapper.classList.add(y.noWrapWrapper),this._firstBlockWrapper.appendChild((0,i.ensureNotNull)(this._titleParentEl)),null!==this._actionsParentEl&&this._firstBlockWrapper.appendChild(this._actionsParentEl),this._el.appendChild(this._firstBlockWrapper),this._el.appendChild((0,i.ensureNotNull)(this._valuesParentEl)),this._parentEl.append(this._el)}_renderTitle(){null===this._titleParentEl&&(this._titleParentEl=document.createElement("div"),this._titleParentEl.classList.add(y.titleWrapper));const e=this._titleParentEl;for(let t=0;t0?(l.appendChild(document.createTextNode(s)),l.classList.add(y.withDot)):l.classList.add(m.blockHidden),e.appendChild(l),this._titleElements.push(l)}}_renderActions(){ if(!this._withActions)return;null===this._actionsParentEl&&(this._actionsParentEl=document.createElement("div"),this._actionsParentEl.classList.add(y.buttonsWrapper),this._parentEl.append(this._actionsParentEl),this._actionAdditionalWrapperEl=document.createElement("div"),this._actionAdditionalWrapperEl.classList.add(y.buttons),this._actionsParentEl.appendChild(this._actionAdditionalWrapperEl));const e=(0,i.ensureNotNull)(this._actionAdditionalWrapperEl),t=h.trackingModeIsAvailable?"large":"small";for(const s of this._model.actions()){const i=(0,c.createActionElement)(s,y.button,y.buttonIcon,m.blockHidden,t);e.appendChild(i)}}_isWidthButtonsMode(){return null!==this._el&&(this._el.classList.contains(y.withAction)||this._disabled.value()||this._selected.value()||this._stayInHoveredMode)}_updateTitlesHandler(e,t){const s=(0,i.ensureNotNull)(this._titleElements[e]),l=0===t.length;s.classList.toggle(m.blockHidden,l),s.classList.toggle(y.withDot,!l),w(s,t)}_updateStates(e){this._updateDisabledState(),this._updateDisabledOnIntervalState(),this._updateSelectedState(),this._updateLoadingState(),e&&this._clearDisableState()}_updateValuesHTMLElHandler(e,t){w((0,i.ensure)(this._valuesElements[e].value),t),this._updateShowValues()}_updateValueColorHandler(e,t=""){(0,i.ensure)(this._valuesElements[e].value).style.color=t}_updateValueVisibleHandler(e,t){const s=(0,i.ensure)(this._valuesElements[e].value).closest("."+y.valueItem);null!==s&&s.classList.toggle(m.blockHidden,!t)}_updateShowLine(){null!==this._el&&this._el.classList.toggle(m.blockHidden,this._isRowHidden.value())}_createValuesSpawns(){this._valuesSpawnArray=this._values.value().map(e=>({value:e.value.spawn(),color:e.color.spawn(),visible:e.visible.spawn()}))}_removeValuesSpawnsSubscriptions(){for(const e of this._valuesSpawnArray)e.value.destroy(),e.color.destroy(),e.visible.destroy();this._valuesSpawnArray=[]}_addValuesSpawnsSubscriptions(){for(let e=0;ee.value.value().length>0)}_addStatusesWidget(e,t,s){this._statusesWrapper=document.createElement("div"),this._statusesWrapper.classList.add(y.statusesWrapper),this._statusesWrapper.appendChild(e),(0,i.ensureNotNull)(this._firstBlockWrapper).appendChild(this._statusesWrapper),this._hideInvisibleHover=t.spawn(),this._hideInvisibleHover.subscribe(this._updateInvisibleHoverMode.bind(this),{callWithLast:!0}),this._hideValues=s.spawn(),this._hideValues.subscribe(this._updateHideValuesMode.bind(this),{callWithLast:!0}),this._updateStatusWidgetVisibility(this._disabled.value()), this._resizeObserver=new u.default(this._handlerRestrictTitleWidth.bind(this)),null!==this._actionsParentEl&&this._resizeObserver.observe(this._actionsParentEl),this._resizeObserver.observe(this._statusesWrapper)}_updateTitleMaxWidth(){if(null===this._firstBlockWrapper)return;const e=this._allButtonsWidth||0,t=(this._lastActionsWrapperWidth||0)+(this._lastStatusesWrapperWidth||0);this._isWidthButtonsMode()?this._firstBlockWrapper.style.maxWidth=`calc(100% - ${Math.max(e,t)}px)`:this._firstBlockWrapper.style.maxWidth=t>0?`calc(100% - ${t}px)`:""}_updateAllButtonsWidth(){this._allButtonsWidth=this._getButtonsCount()*O+1,this._updateTitleMaxWidth()}_updateInvisibleHoverMode(e){null!==this._el&&this._el.classList.toggle(y.invisibleHover,!e)}_updateHideValuesMode(e){null!==this._el&&this._el.classList.toggle(y.hideValues,e)}_showActions(){if(null===this._el||!this._withActions)return;this._el.classList.add(y.withAction);const e=null!==this._valuesParentEl&&null!==this._titleParentEl&&this._valuesParentEl.offsetTop===this._titleParentEl.offsetTop;this._el.classList.toggle(y.withTail,e),this._updateTitleMaxWidth()}_hideActions(){null!==this._el&&this._withActions&&!this._stayInHoveredMode&&(this._el.classList.remove(y.withAction),null!==this._valuesParentEl&&this._valuesParentEl.classList.remove(y.withTail),this._updateTitleMaxWidth())}_handlerRestrictTitleWidth(e){if(null===this._actionsParentEl||null===this._firstBlockWrapper)return;let t=null,s=null;for(const i of e)i.target===this._statusesWrapper&&(t=i.contentRect.width),i.target===this._actionsParentEl&&(s=i.contentRect.width);t===this._lastStatusesWrapperWidth&&s===this._lastActionsWrapperWidth||(null!==t&&(this._lastStatusesWrapperWidth=t),null!==s&&(this._lastActionsWrapperWidth=s),this._updateTitleMaxWidth())}_clearDisableState(){null!==this._el&&(this._el.classList.remove(y.eyeLoading),this._el.classList.remove(y.disabled),this._updateStatusWidgetVisibility(this._disabled.value()),this._updateTitleMaxWidth())}_updateDisabledOnIntervalState(){var e;null===(e=this._el)||void 0===e||e.classList.toggle(y.disabledOnInterval,this._disabledOnInterval.value())}_updateSelectedState(){null!==this._el&&this._withActions&&this._el.classList.toggle(y.selected,this._selected.value())}_updateShowTitles(){null!==this._titleParentEl&&(this._titleParentEl.classList.toggle(m.blockHidden,this._isTitleHidden.value()),null!==this._actionsParentEl&&this._actionsParentEl.classList.toggle(m.blockHidden,this._isTitleHidden.value()))}_updateValues(){this._removeValuesSpawnsSubscriptions(),this._createValuesSpawns(),null!==this._valuesParentEl&&null!==this._valuesAdditionalWrapperEl&&(this._valuesElements=[],this._valuesAdditionalWrapperEl.innerHTML=""),this._renderValues(),this._addValuesSpawnsSubscriptions(),this._updateShowValues()}_updateActionVisibilities(e){null!==this._actionsParentEl&&this._actionsParentEl.querySelectorAll("."+y.button)[e].classList.toggle(m.blockHidden,!this._actionsSpawnArray[e].visible.value())}_updateActionTitle(e){const t=this._actionsSpawnArray[e].title ;null!==this._actionsParentEl&&null!==t&&this._actionsParentEl.querySelectorAll("."+y.button)[e].setAttribute("title",t.value())}_updateCustomTextColor(){const e=this._customTextColor.value()||"";for(const t of this._titleElements)null!==t&&(t.style.color=e);const t=(0,i.ensureNotNull)(this._valuesParentEl).querySelectorAll("."+y.valueTitle);for(let s=0;s{this._valuesSpawnArray[t].title=e.title.spawn() })}_removeValuesSpawnsSubscriptions(){for(const e of this._valuesSpawnArray)e.title.destroy();super._removeValuesSpawnsSubscriptions()}_addValuesSpawnsSubscriptions(){super._addValuesSpawnsSubscriptions();for(let e=0;ee.value.value().length>0||(e.title.value()||"").length>0)}_updateValuesTitleHTMLElHandler(e,t=""){const s=(0,i.ensure)(this._valuesElements[e].title);w(s,t),s.classList.toggle(m.blockHidden,0===t.length),this._updateShowValues()}_isWidthButtonsMode(){return null!==this._el&&(void 0!==this._flagged&&Boolean(this._flagged.value())||super._isWidthButtonsMode())}_updateFlaggedState(){if(void 0===this._flagged)return;(0,i.ensureNotNull)(this._el).classList.toggle(y.flagged,Boolean(this._flagged.value())),this._updateTitleMaxWidth()}}const C=v.isSafari?"click":"auxclick";class E extends M{constructor(e,t,s){super(e,t,s),this._wheelClickHandler=null,this._canUpdateRowVisibility=!0,this._globalRowVisibility=this._model.globalVisibility().spawn(),this._globalRowVisibility.subscribe(this._updateShowLine.bind(this),{callWithLast:!0}),this._has5Buttons=this._model.isPineScriptDataSource().spawn(),this._has5Buttons.subscribe(this._update5ButtonsStyles.bind(this)),this._updateStates(!this._disabled.value()),s.statusWidgetEl&&this._addStatusesWidget(s.statusWidgetEl,s.hideInvisibleHover,s.hideValues),this._selected.subscribe(this._updateTitleMaxWidth.bind(this)),s.withActions&&(this._wheelClickHandler=this._onWheelClicked.bind(this),null!==this._titleParentEl&&this._titleParentEl.addEventListener(C,this._wheelClickHandler))}destroy(){super.destroy(),this._has5Buttons.destroy(),this._globalRowVisibility&&this._globalRowVisibility.destroy(),null!==this._wheelClickHandler&&null!==this._titleParentEl&&this._titleParentEl.removeEventListener(C,this._wheelClickHandler)}_updateShowLine(){if(null===this._el||!this._canUpdateRowVisibility)return;const e=!this._globalRowVisibility.value();e?this._el.classList.toggle(m.blockHidden,e):super._updateShowLine()}_getButtonsCount(){switch(this._mode){case 4:return this._has5Buttons.value()?5:4;case 3:return 3;default:return 2}}_render(){super._render();const e=(0,i.ensureNotNull)(this._el);e.classList.add(y.item,y.study),e.dataset.name="legend-source-item"}_createTitlesSpawns(){const e=this._model.titles();this._titlesSpawns=[{title:e.title.spawn(),class:y.mainTitle},{title:e.args.spawn(),class:y.descTitle}]}_renderValues(){null===this._valuesParentEl&&(this._valuesParentEl=document.createElement("div"),this._valuesParentEl.classList.add(y.valuesWrapper),this._valuesAdditionalWrapperEl=document.createElement("div"),this._valuesAdditionalWrapperEl.classList.add(y.valuesAdditionalWrapper),this._valuesParentEl.appendChild(this._valuesAdditionalWrapperEl));const e=(0,i.ensureNotNull)(this._valuesAdditionalWrapperEl),t=this._values.value();for(const s of t){const t=document.createElement("div") ;t.classList.add(y.valueItem),t.classList.toggle(m.blockHidden,!s.visible.value());const i=document.createElement("div");i.classList.add(y.valueValue),i.style.color=s.color.value()||"",i.appendChild(document.createTextNode(s.value.value())),t.appendChild(i),this._valuesElements.push({value:i}),e.appendChild(t)}}_update5ButtonsStyles(e){null!==this._el&&(this._el.classList.toggle(y.has5Buttons,e),this._updateAllButtonsWidth())}_onWheelClicked(e){1===e.button&&this._model.onRemoveSource()}}var k=s(79881),V=s(87438);function W(e){(0,V.trackEvent)("GUI","Legend action",e)}var T=s(42277),x=s(13335),D=s(93741),L=s(24335);const A=(0,k.t)("Hide Indicator Legend"),H=(0,k.t)("Show Indicator Legend"),B=(0,k.t)("Show Object Tree");class N{constructor(e,t,s){this._el=null,this._counterEl=null,this._arrowIconEL=null,this._objectTreeEl=null,this._mode=0,this._parentEl=e,this._themedColor=t.spawn(),this._themedColor.subscribe(this._updateThemedColor.bind(this)),this._sourceCount=s.visibleDataSourceCount.spawn(),this._sourceCount.subscribe(this._updateSourceCount.bind(this)),this._isStateOpen=s.isDataSourcesCollapsed.spawn(),this._isStateOpen.subscribe(this._updateState.bind(this)),this._showObjectsTree=s.showObjectsTree.spawn(),this._showObjectsTree.subscribe(this._updateObjectTreeVisibility.bind(this)),this._render(),this._updateState(),this._updateThemedColor(this._themedColor.value()),this._updateObjectTreeVisibility(this._showObjectsTree.value()),this._toggleStateHandler=(0,p.wrapHandlerWithPreventEvent)(s.onCollapseDataSources),this._showObjectTreeHandler=(0,p.wrapHandlerWithPreventEvent)(s.onShowObjectsTreeDialog),null!==this._el&&(this._el.addEventListener("touchend",this._toggleStateHandler),this._el.addEventListener("click",this._toggleStateHandler),this._el.addEventListener("contextmenu",e=>{e.preventDefault(),e.stopPropagation()})),null!==this._objectTreeEl&&(this._objectTreeEl.addEventListener("touchend",this._showObjectTreeHandler),this._objectTreeEl.addEventListener("click",this._showObjectTreeHandler))}destroy(){this._sourceCount.destroy(),this._isStateOpen.destroy(),null!==this._objectTreeEl&&(this._objectTreeEl.removeEventListener("touchend",this._showObjectTreeHandler),this._objectTreeEl.removeEventListener("click",this._showObjectTreeHandler),this._objectTreeEl=null),this._arrowIconEL=null,this._counterEl=null,null!==this._el&&(this._el.removeEventListener("touchend",this._toggleStateHandler),this._el.removeEventListener("click",this._toggleStateHandler),this._el.innerHTML="",this._el=null)}setMode(e){this._mode=e?1:0,this._updateTooltip()}_render(){this._el=document.createElement("div"),this._el.className=y.toggler+" apply-common-tooltip",this._arrowIconEL=document.createElement("div"),this._arrowIconEL.classList.add(y.iconArrow),this._arrowIconEL.innerHTML=h.trackingModeIsAvailable?x:T,this._el.appendChild(this._arrowIconEL),this._objectTreeEl=document.createElement("div"),this._objectTreeEl.classList.add(y.objectTree),this._objectTreeEl.innerHTML=h.trackingModeIsAvailable?L:D, this._el.appendChild(this._objectTreeEl),this._counterEl=document.createElement("div"),this._counterEl.classList.add(y.counter),this._counterEl.appendChild(document.createTextNode(String(this._sourceCount.value()))),this._el.appendChild(this._counterEl),this._parentEl.appendChild(this._el)}_updateThemedColor(e){if(null!==this._el)if(e.length>0){const[t,s,i]=(0,r.parseRgb)(e);this._el.style.backgroundColor=(0,r.rgbaToString)([t,s,i,(0,r.normalizeAlphaComponent)(.8)])}else this._el.style.removeProperty("background-color")}_updateSourceCount(e){w((0,i.ensureNotNull)(this._counterEl),String(e));const t=(0,i.ensureNotNull)(this._el),s=e<1;t.classList.toggle(m.blockHidden,s);const l=1===e;t.classList.toggle(y.onlyOneSourceShown,l)}_updateState(){const e=!this._isStateOpen.value();this._parentEl.classList.toggle(y.closed,e),this._updateTooltip(),W((e?"Hide":"Show")+" not main sources")}_tooltip(){return 1===this._mode?B:this._isStateOpen.value()?A:H}_updateTooltip(){null!==this._el&&this._el.setAttribute("title",this._tooltip())}_updateObjectTreeVisibility(e){(0,i.ensureNotNull)(this._el).classList.toggle(y.objectsTreeCanBeShown,e)}}var P=s(74384),I=s(59726);function z(e,t){const s=new(a())(t(e.value()));e.subscribe(e=>{s.setValue(t(e))});return s.readonly().spawn(()=>e.unsubscribe())}const O=h.trackingModeIsAvailable?44:28,F=d.enabled("object_tree_legend_mode");class R{constructor(e,t){this._renderToggler=null,this._mainDataSourceRenderer=null,this._dataSourceRenderers=[],this._parentEl=document.createElement("div"),this._mainDataSourceEl=null,this._dataSourcesEl=null,this._dataSourcesAdditionalWrapperEl=null,this._collapsedDataSourcesWrapperEl=null,this._collapsedDataSourcesEl=null,this._outsideEventForCollapsedTooltip=null,this._options=e,this._togglerOptions=t,this._isStudiesLegendHidden=e.isStudiesLegendHidden.spawn(),this._isStudiesLegendHidden.subscribe(this._updateLegendVisibility.bind(this)),this._isAllLegendHidden=e.isAllLegendHidden.spawn(),this._isAllLegendHidden.subscribe(this._updateLegendVisibility.bind(this)),this._updateLegendVisibility(),this._themedColor=e.themedColor.spawn(),this._themedColor.subscribe(this._setCustomBg.bind(this)),this._showBackground=e.showBackground.spawn(),this._showBackground.subscribe(this._setCustomBg.bind(this)),this._backgroundTransparency=e.backgroundTransparency.spawn(),this._backgroundTransparency.subscribe(this._setCustomBg.bind(this)),this._collapsedDataSourcesCountSpawn=e.collapsedDataSourcesCount.spawn(),this._collapsedDataSourcesCountSpawn.subscribe(this._updateCollapsedSourcesCount.bind(this)),this._showCollapsedDataSourcesTooltipHandler=this._showCollapsedDataSourcesTooltip.bind(this),this._parentEl.classList.add(y.legend),this._parentEl.classList.toggle(y.noWrap,!h.trackingModeIsAvailable),this._parentEl.classList.toggle(y.noActions,!this._options.withActions),this._parentEl.classList.toggle(y.touchMode,h.trackingModeIsAvailable),this._parentEl.dataset.name="legend",this._parentEl.style.setProperty("--legend-source-item-button-width",O+"px");const s=t=>{ t.preventDefault(),e.showLegendWidgetContextMenu(t)};this._mouseEventHandler=new _.MouseEventHandler(this._parentEl,{contextMenuEvent:s,touchContextMenuEvent:s})}destroy(){if(this._isStudiesLegendHidden.destroy(),this._isAllLegendHidden.destroy(),this._themedColor.destroy(),this._showBackground.destroy(),this._backgroundTransparency.destroy(),this._collapsedDataSourcesCountSpawn.destroy(),h.trackingModeIsAvailable&&null!==this._collapsedDataSourcesWrapperEl&&this._collapsedDataSourcesWrapperEl.removeEventListener("touchend",this._showCollapsedDataSourcesTooltipHandler),this._outsideEventForCollapsedTooltip&&this._outsideEventForCollapsedTooltip(),null!==this._dataSourcesAdditionalWrapperEl&&(this._dataSourcesAdditionalWrapperEl.innerHTML="",this._dataSourcesAdditionalWrapperEl=null),null!==this._dataSourcesEl&&(this._dataSourcesEl.innerHTML="",this._dataSourcesEl=null),null!==this._renderToggler&&(this._renderToggler.destroy(),this._renderToggler=null),null!==this._mainDataSourceRenderer&&(this._mainDataSourceRenderer.destroy(),this._mainDataSourceRenderer=null),0!==this._dataSourceRenderers.length){for(const e of this._dataSourceRenderers)e.destroy();this._dataSourceRenderers=[]}this._mouseEventHandler.destroy(),this._parentEl.innerHTML="",delete this._parentEl}addMainDataSource(e,t){this._renderMainDataSourceEl(),this._mainDataSourceRenderer=new f(e,(0,i.ensureNotNull)(this._mainDataSourceEl),{withActions:this._options.withActions,customTextColor:this._options.customTextColor,statusWidgetEl:t.getElement(),hideInvisibleHover:z(t.visibleWidgetsCount,e=>Boolean(e)),hideValues:t.errorWidgetIsShown}),this._updateLegendVisibility(),e.onDestroy().subscribe(this,()=>{null!==this._mainDataSourceRenderer&&(this._mainDataSourceRenderer.destroy(),this._mainDataSourceRenderer=null)},!0)}addDataSources(e,t){this._renderDataSourcesEl();const s=(0,i.ensureNotNull)(this._dataSourcesAdditionalWrapperEl);for(let i=0;iBoolean(e)),hideValues:t[i].errorWidgetIsShown});this._dataSourceRenderers.push(a),this._updateLegendVisibility(),l.onDestroy().subscribe(this,()=>{const e=this._dataSourceRenderers.indexOf(a);-1!==e&&(this._dataSourceRenderers[e].destroy(),this._dataSourceRenderers.splice(e,1))},!0)}}addCustomWidget(e,t){if(0===t.block){this._renderMainDataSourceEl();const s=(0,i.ensureNotNull)(this._mainDataSourceEl);1===t.position&&e.renderTo(s,s.firstChild),0===t.position&&e.renderTo(s)}if(1===t.block){this._renderDataSourcesEl();const s=(0,i.ensureNotNull)(this._dataSourcesAdditionalWrapperEl);1===t.position&&e.renderTo(s,s.firstChild),0===t.position&&e.renderTo(s)}}firstTitle(){return this._parentEl.firstElementChild}getElement(){return this._parentEl}updateMode(e){const t=F&&e<133?1:e<205?2:e<222?3:4;null!==this._mainDataSourceRenderer&&this._mainDataSourceRenderer.updateMode(t) ;for(const e of this._dataSourceRenderers)e.updateMode(t);this._parentEl.classList.toggle(y.medium,3===t),this._parentEl.classList.toggle(y.minimized,2===t),this._parentEl.classList.toggle(y.micro,1===t),null!==this._renderToggler&&this._renderToggler.setMode(1===t);const s=h.trackingModeIsAvailable||e<542;this._parentEl.classList.toggle(y.directionColumn,s)}getMainSourceHeight(){return null===this._mainDataSourceRenderer?0:this._mainDataSourceRenderer.getHeight()}getDataSourceHeight(){return 0===this._dataSourceRenderers.length?0:this._dataSourceRenderers[0].getHeight()}_renderMainDataSourceEl(){null===this._mainDataSourceEl&&(this._mainDataSourceEl=document.createElement("div"),this._mainDataSourceEl.classList.add(y.legendMainSourceWrapper),this._parentEl.insertBefore(this._mainDataSourceEl,this._dataSourcesEl))}_renderDataSourcesEl(){null===this._dataSourcesEl&&(this._dataSourcesEl=document.createElement("div"),this._dataSourcesEl.classList.add(y.sourcesWrapper),this._renderToggle(this._dataSourcesEl),this._dataSourcesAdditionalWrapperEl=document.createElement("div"),this._dataSourcesAdditionalWrapperEl.classList.add(y.sources),this._dataSourcesEl.appendChild(this._dataSourcesAdditionalWrapperEl),this._renderCollapsedCounter(this._dataSourcesAdditionalWrapperEl),this._parentEl.appendChild(this._dataSourcesEl))}_renderToggle(e){this._options.showToggleButton&&(this._renderToggler=new N(e,this._options.themedColor,this._togglerOptions))}_renderCollapsedCounter(e){this._collapsedDataSourcesWrapperEl=document.createElement("div"),this._collapsedDataSourcesWrapperEl.className=`${y.item} ${y.last}`,this._collapsedDataSourcesEl=document.createElement("span"),this._collapsedDataSourcesEl.className=y.text+" apply-common-tooltip",this._collapsedDataSourcesWrapperEl.append(this._collapsedDataSourcesEl),e.append(this._collapsedDataSourcesWrapperEl),h.trackingModeIsAvailable&&this._collapsedDataSourcesWrapperEl.addEventListener("touchend",this._showCollapsedDataSourcesTooltipHandler),this._updateCollapsedSourcesCount(this._collapsedDataSourcesCountSpawn.value())}_showCollapsedDataSourcesTooltip(){(0,P.showOnElement)(this._collapsedDataSourcesEl,{text:this._options.collapsedDataSourcesTitle.value()}),this._addOutsideEventForHideTooltip()}_addOutsideEventForHideTooltip(){null!==this._outsideEventForCollapsedTooltip&&this._outsideEventForCollapsedTooltip(),this._outsideEventForCollapsedTooltip=(0,I.addOutsideEventListener)(new CustomEvent("timestamp").timeStamp,this._collapsedDataSourcesWrapperEl,()=>{null!==this._outsideEventForCollapsedTooltip&&this._outsideEventForCollapsedTooltip(),(0,P.hide)()},window.document,{touchEnd:!0})}_updateCollapsedSourcesCount(e){if(null===this._collapsedDataSourcesWrapperEl||null===this._collapsedDataSourcesEl)return;const t=0===e;this._collapsedDataSourcesWrapperEl.classList.toggle(m.blockHidden,t),t||(w(this._collapsedDataSourcesEl,"+"+e),this._collapsedDataSourcesEl.setAttribute("title",this._options.collapsedDataSourcesTitle.value()))}_updateLegendVisibility(){ this._parentEl.classList.toggle(m.blockHidden,this._isAllLegendHidden.value()),null!==this._dataSourcesEl&&this._dataSourcesEl.classList.toggle(m.blockHidden,this._isStudiesLegendHidden.value())}_setCustomBg(){const e=this._showBackground.value(),t=this._themedColor.value(),s=this._backgroundTransparency.value();let i="";if(e){const[e,l,a]=(0,r.parseRgb)(t);i=(0,r.rgbaToString)([e,l,a,(0,r.normalizeAlphaComponent)(1-s/100)])}this._parentEl.style.color=i}}var U=s(79039),j=s(69881),Y=s(50968),G=s(90963),$=s(5729),X=s.n($),Z=s(76553),q=s(45053);function K(e){return void 0!==e?Y.resetTransparency(e):e}const J=new G.TranslatedString("show {title}",(0,k.t)("show {title}")),Q=new G.TranslatedString("hide {title}",(0,k.t)("hide {title}")),ee=(0,k.t)("Show"),te=(0,k.t)("Hide");class se{constructor(e,t,s,i,l){this._values=new(a())([]),this._actions=[],this._onDestroy=new(X()),this._loading=new(a())(!1),this._moreActionCM=null,this._updateLoadingStatus=()=>{this._loading.setValue(this._source.isLoading())},this._model=e,this._source=t,this._options=s,this._callbacks=i,this._contextMenuOptions=l,this._disabled=new(a())(this._getDisabledState()),this._disabledOnInterval=new(a())(this._getDisabledOnIntervalState()),this._selected=new(a())(!1),this._isTitleHidden=new(a())(this._getTitleHiddenValue()),this._isValuesHidden=new(a())(this._getValuesHiddenValue()),this._isRowHidden=new(a())(this._getRowHiddenValue()),(0,q.combine)(()=>({}),this._isTitleHidden,this._isValuesHidden,this._disabled).subscribe(this._updateRowVisibilities.bind(this)),this._values.subscribe(()=>{this._isValuesHidden.setValue(this._getValuesHiddenValue())})}destroy(){}onDestroy(){return this._onDestroy}titles(){return this._titles}values(){return this._values.readonly()}actions(){return this._actions}disabled(){return this._disabled.readonly()}disabledOnInterval(){return this._disabledOnInterval.readonly()}selected(){return this._selected.readonly()}loading(){return this._loading.readonly()}isTitleHidden(){return this._isTitleHidden.readonly()}isValuesHidden(){return this._isValuesHidden.readonly()}isRowHidden(){return this._isRowHidden.readonly()}update(){this._updateTitles(),this._updateValues(),this._updateStates()}updateSource(e){this._source!==e&&(this._source=e,this.update(),this._isTitleHidden.setValue(this._getTitleHiddenValue()),this._isValuesHidden.setValue(this._getValuesHiddenValue()))}onToggleDisabled(){const e=this._source.properties().childs().visible,t=!e.value();this._model.setProperty(e,t,(t?J:Q).format({title:new G.TranslatedString(this._source.name(),this._source.title())})),W((t?"Show":"Hide")+" source")}onShowSettings(e){this._source.userEditEnabled()&&(this.setSourceSelected(),this._callbacks.showChartPropertiesForSource(this._source,e),W("Settings for source"))}onShowMoreActions(e){return this._options.readOnlyMode?Promise.resolve(null):(this._callbacks.updateActions(),W("Show source context menu"),this._callbacks.showContextMenuForSources([this._source],this._calcNewPosition(e),this._contextMenuOptions))}setSourceSelected(){ this._model.selectionMacro(e=>{e.clearSelection(),e.addSourceToSelection(this._source)})}_moreActionHandler(e){e.preventDefault(),null!==this._moreActionCM&&this._moreActionCM.isShown()?this._moreActionCM=null:(this.setSourceSelected(),this.onShowMoreActions(e).then(e=>{this._moreActionCM=e}))}_updateStates(){this._disabled.setValue(this._getDisabledState()),this._disabledOnInterval.setValue(this._getDisabledOnIntervalState()),this._selected.setValue(this._model.selection().isSelected(this._source)),this._updateLoadingStatus()}_hasValues(){return this._values.value().length>0}_getEyeTitle(){return this._disabled.value()?ee:te}_getDisabledState(){return!this._source.properties().visible.value()}_updateRowVisibilities(){this._isRowHidden.setValue(this._getRowHiddenValue())}_getRowHiddenValue(){return this._options.readOnlyMode&&this._disabled.value()||this._isTitleHidden.value()&&(this._isValuesHidden.value()||this._disabled.value())}_calcNewPosition(e){let t={};if(e.hasOwnProperty("touches")&&e.touches.length>0)t={clientX:e.touches[0].clientX,clientY:e.touches[0].clientY};else if(null!==e.target){const s=e.target.getBoundingClientRect();t={clientX:(0,Z.isRtl)()?s.right:s.left,clientY:s.top+s.height+3}}else{const s=e;t={clientX:s.clientX,clientY:s.clientY}}return t}}var ie=s(89366),le=s(36858),ae=s(90710),oe=s(42340),ne=s(1037);const re=(0,k.t)("More"),de=(0,k.t)("Flag Symbol"),he=(0,k.t)("Unflag Symbol"),ue=d.enabled("show_hide_button_in_legend"),ce=d.enabled("hide_resolution_in_legend");class _e extends se{constructor(e,t,s,i,l){super(e,t,s,i,l),this._titles={title:new(a())(""),description:new(a())(""),interval:new(a())(""),provider:new(a())(""),exchange:new(a())(""),chartStyle:new(a())(""),branding:new(a())("")},this._symbolMarker=null,this._symbolMarkerIcon=null,this._flagged=new(a())(null),this._symbolAction=null,this._symbol=null,this._isOneButtonCanBeStick=!1,this._createActions(),this._updateSymbolMarker();const o=this._model.model().properties().childs().paneProperties.childs().legendProperties.childs();o.showSeriesTitle.subscribe(this,()=>{this._isTitleHidden.setValue(this._getTitleHiddenValue())}),this._valuesVisibleProperty=(0,j.combineProperty)((e,t,s)=>e||t||s,o.showSeriesOHLC,o.showBarChange,o.showVolume),this._valuesVisibleProperty.subscribe(null,()=>{this._isValuesHidden.setValue(this._getValuesHiddenValue())}),this.update(),this._source.onStatusChanged().subscribe(this,this._updateLoadingStatus)}destroy(){super.destroy(),this._model.model().properties().childs().paneProperties.childs().legendProperties.childs().showSeriesTitle.unsubscribeAll(this),this._source.onStatusChanged().unsubscribeAll(this),this._valuesVisibleProperty.destroy(),this._onDestroy.fire()}flagged(){return this._flagged.readonly()}onShowSettings(){this._source.userEditEnabled()&&this._callbacks.showGeneralChartProperties(ie.TabNames.symbol)}isOneButtonCanBeStick(){return this._isOneButtonCanBeStick}_updateTitles(){var e;const t=(0,i.ensureNotNull)(this._source.statusView()).getSplitTitle();this._titles.title.setValue((0, U.clean)(t.title,!0)),this._titles.description.setValue((0,U.clean)(t.description,!0)),ce||this._titles.interval.setValue((0,U.clean)(t.interval,!0)),this._titles.provider.setValue((0,U.clean)(t.provider,!0)),this._titles.exchange.setValue((0,U.clean)(t.exchange,!0)),this._titles.chartStyle.setValue((0,U.clean)(t.chartStyle,!0)),this._titles.branding.setValue((0,U.clean)(null!==(e=t.branding)&&void 0!==e?e:"",!0))}_updateValues(){const e=this._source.legendView(),t=this._values.value(),s=e.marketTitle(),i=e.marketTitle().length>0;if(0===t.length){const t={value:new(a())(""),color:new(a())(""),visible:new(a())(i),title:new(a())(s)},l=e.items().map(e=>({value:new(a())(e.value()),color:new(a())(K(e.color())),visible:new(a())(e.visible()),title:new(a())(e.title())}));this._values.setValue([t].concat(l))}else{t[0].title.setValue(s),t[0].visible.setValue(i);const l=e.items();for(let e=0;e{e.title.setValue(this._getEyeTitle())})}this._actions.push({iconMap:new Map([["large",ne],["small",oe]]),action:this._moreActionHandler.bind(this),visible:new(a())(!0),title:new(a())(re),dataset:{name:"legend-more-action"}})}_getMarkerTitle(){return null!==this._symbolMarker?this._symbolMarker.isMarked()?he:de:""}_symbolActionHandler(){null!==this._symbolMarker&&(this._updateSymbolMarker(),W("Change flag state"))}_updateSymbolMarker(){this._isOneButtonCanBeStick=!0}}var pe=s(17e3),me=s(87614);var ge=s(98824),be=s(65447),ve=s(76297),we=s(93655),ye=s(71902),Se=s(98957),Me=s(33508),fe=s(32643);(0,be.getLogger)("Chart.LegendWidget");const Ce=(0,k.t)("Settings"),Ee=(0,k.t)("Source code"),ke=(0,k.t)("Remove"),Ve=(0,k.t)("More"),We=((0,k.t)("Error"),(0,k.t)("Could not get Pine source code."),(0,k.t)("Show interval settings")),Te=(d.enabled("study_buttons_in_legend"),d.enabled("show_hide_button_in_legend")),xe=d.enabled("property_pages"),De=d.enabled("format_button_in_legend"),Le=d.enabled("delete_button_in_legend");class Ae extends se{constructor(e,t,s,i,l){super(e,t,s,i,l),this._titles={title:new(a())(""),args:new(a())("")},this._error=new(a())(!1),this._isPineScriptDataSource=new(a())(!1),this._pineAction=null,this._globalVisibility=new(a())(!0),this._createActions() ;const o=this._model.model().properties().childs().paneProperties.childs().legendProperties.childs(),n=[o.showSeriesTitle,o.showStudyTitles];for(const e of n)e.subscribe(this,()=>{this._isTitleHidden.setValue(this._getTitleHiddenValue())});const r=[o.showSeriesOHLC,o.showBarChange,o.showStudyValues];for(const e of r)e.subscribe(this,()=>{this._isValuesHidden.setValue(this._getValuesHiddenValue())});this.update()}destroy(){super.destroy();const e=this._model.model().properties().childs().paneProperties.childs().legendProperties.childs();e.showSeriesTitle.unsubscribeAll(this),e.showStudyTitles.unsubscribeAll(this),e.showSeriesOHLC.unsubscribeAll(this),e.showBarChange.unsubscribeAll(this),e.showStudyValues.unsubscribeAll(this),this._onDestroy.fire()}error(){return this._error.readonly()}isPineScriptDataSource(){return this._isPineScriptDataSource.readonly()}updateSource(e){this._source!==e&&(this._values.setValue([]),super.updateSource(e),this._updateAbleShowSourceCode())}onRemoveSource(){var e;this._source.isUserDeletable()&&(this._source.hasChildren()?(e=this._model.removeSource.bind(this._model,this._source,!1),(0,me.showConfirm)({title:(0,k.t)("Confirm Remove Study Tree"),text:(0,k.t)("Do you really want to delete study and all of it's children?"),onConfirm:({dialogClose:t})=>{e(),t()}})):this._model.removeSource(this._source,!1),W("Remove sources"))}onShowSourceCode(){0}setGlobalVisibility(e){this._globalVisibility.setValue(e)}globalVisibility(){return this._globalVisibility.readonly()}getFullTitle(){return[this._titles.title,this._titles.args].map(e=>e.value()).join(" ")}_updateTitles(){const e=(0,i.ensureNotNull)(this._source.statusView()).getSplitTitle();this._titles.title.setValue((0,U.clean)(e[0],!0));const t=Array.isArray(e[1])?e[1].join(" "):e[1]||"";this._titles.args.setValue((0,U.clean)(t,!0))}_updateValues(){const e=this._source.legendView();if(null===e)return;if(0===e.items().length)return;const t=this._values.value();if(0===t.length){const t=e.items().map(e=>({value:new(a())(e.value()),color:new(a())(K(e.color())),visible:new(a())(e.visible())}));this._values.setValue(t)}else{const s=e.items();for(let e=0;e{e.title.setValue(this._getEyeTitle())});const t={iconMap:new Map([["large",ae],["small",le]]),action:(0,p.wrapHandlerWithPreventEvent)(this.onShowSettings.bind(this,ie.TabNames.visibility)),visible:new(a())(this._getDisabledOnIntervalState()),className:y.intervalEye,title:new(a())(We),dataset:{name:"legend-interval-show-hide-action"}};this._actions.push(t),this._disabledOnInterval.subscribe(s=>{t.visible.setValue(s),e.visible.setValue(!s)})}xe&&De&&(!(0,pe.isStudy)(this._source)||new ge.MetaInfoHelper(this._source.metaInfo()).hasUserEditableOptions())&&this._actions.push({iconMap:new Map([["large",ve],["small",ve]]),action:(0,p.wrapHandlerWithPreventEvent)(this.onShowSettings.bind(this)),visible:new(a())(!0),title:new(a())(Ce),dataset:{name:"legend-settings-action"}}),Le&&this._actions.push({iconMap:new Map([["large",Se],["small",ye]]),action:(0,p.wrapHandlerWithPreventEvent)(this.onRemoveSource.bind(this)),visible:new(a())(!0),title:new(a())(ke),dataset:{name:"legend-delete-action"}}),this._actions.push({iconMap:new Map([["large",ne],["small",oe]]),action:this._moreActionHandler.bind(this),visible:new(a())(!0),title:new(a())(Ve),dataset:{name:"legend-more-action"}})}}}var He=s(46374),Be=s(6799),Ne=s(10616),Pe=s(22675),Ie=s(78544);function ze(e,t,s){e.setProperty(t,!t.value(),s)}const Oe=new G.TranslatedString("change symbol description visibility",(0,k.t)("change symbol description visibility")),Fe=new G.TranslatedString("change open market status visibility",(0,k.t)("change open market status visibility")),Re=new G.TranslatedString("change OHLC values visibility",(0,k.t)("change OHLC values visibility")),Ue=new G.TranslatedString("change bar change visibility",(0,k.t)("change bar change visibility")),je=new G.TranslatedString("change indicator titles visibility",(0,k.t)("change indicator titles visibility")),Ye=new G.TranslatedString("change indicator arguments visibility",(0,k.t)("change indicator arguments visibility")),Ge=new G.TranslatedString("change indicator values visibility",(0,k.t)("change indicator values visibility")),$e=new G.TranslatedString("change volume values visibility",(0,k.t)("change volume values visibility")),Xe=(0,k.t)("Symbol"),Ze=(0, k.t)("Open market status"),qe=(0,k.t)("OHLC values"),Ke=(0,k.t)("Bar change values"),Je=(0,k.t)("Volume"),Qe=(0,k.t)("Indicator titles"),et=(0,k.t)("Indicator arguments"),tt=(0,k.t)("Indicator values"),st=(0,Pe.appendEllipsis)((0,k.t)("Settings"));var it=s(49382),lt=s(94975),at=s(59104),ot=s(75533),nt=s(10165),rt=s(84540),dt=s(12125);function ht(e){return e===nt.WeekDays.SUNDAY?nt.WeekDays.SATURDAY:e-1}function ut(e){return e===nt.WeekDays.SATURDAY?nt.WeekDays.SUNDAY:e+1}function ct(e,t){const s=ht(t);return 0===e[s].entries.length?ct(e,s):{dayIndex:s,entries:e[s].entries}}function _t(e,t){const s=ut(t);return 0===e[s].entries.length?_t(e,s):{dayIndex:s,entries:e[s].entries}}function pt(e){for(;e>rt.minutesPerDay;)e-=rt.minutesPerDay;const t=e%60,s=(e-t)/60;return(0,at.numberToStringWithLeadingZero)(s,2)+":"+(0,at.numberToStringWithLeadingZero)(t,2)}const mt={[nt.WeekDays.MONDAY]:{title:ot.weekDaysShortNames[nt.WeekDays.MONDAY],isActive:!1,entries:[]},[nt.WeekDays.TUESDAY]:{title:ot.weekDaysShortNames[nt.WeekDays.TUESDAY],isActive:!1,entries:[]},[nt.WeekDays.WEDNESDAY]:{title:ot.weekDaysShortNames[nt.WeekDays.WEDNESDAY],isActive:!1,entries:[]},[nt.WeekDays.THURSDAY]:{title:ot.weekDaysShortNames[nt.WeekDays.THURSDAY],isActive:!1,entries:[]},[nt.WeekDays.FRIDAY]:{title:ot.weekDaysShortNames[nt.WeekDays.FRIDAY],isActive:!1,entries:[]},[nt.WeekDays.SATURDAY]:{title:ot.weekDaysShortNames[nt.WeekDays.SATURDAY],isActive:!1,entries:[]},[nt.WeekDays.SUNDAY]:{title:ot.weekDaysShortNames[nt.WeekDays.SUNDAY],isActive:!1,entries:[]}};function gt(e,t){return e.start.value===t.start.value&&e.end.value===t.end.value}function bt(e,t){return gt(e[0],t[0])}function vt(e){const t=e.start(),s=e.length(),i=e.sessionStartDayOfWeek(),l=e.sessionEndDayOfWeek(),a=pt(t),o=pt(t+s);return s>rt.minutesPerDay?`${ot.weekDaysShortNames[i]} ${a} — ${ot.weekDaysShortNames[l]} ${o}`:`${a} — ${o}`}function wt(e,t,s,i){return Math.abs(i-s)>1?`${ot.weekDaysShortNames[s]} ${e.title} — ${ot.weekDaysShortNames[i]} ${t.title}`:`${e.title} — ${t.title}`}function yt(e,t,s){for(const i of t){let t=i.sessionStartDayOfWeek();const l=i.start(),a=i.length(),o=l+a,n=[];if(o<=rt.minutesPerDay)n.push([l,o]);else{const e=Math.min(rt.minutesPerDay-l,a);n.push([l,l+e]),n.push([0,a-e])}for(let l=0;le.start.value0?n[e-1]:null,a=0===e;if(0===s.start.value||0===s.start.value&&1===s.end.value||null!==l&&s.start.value===l.end.value){m++;continue}const r=a?c.entries[c.entries.length-1]:(0,i.ensureNotNull)(l),d={start:{value:a?0:n[e-1].end.value,title:a?t:n[e-1].end.title,isFirstOrLastPoint:!(a&&h.length>0)||1===h[h.length-1].end.value},end:{value:s.start.value,title:s.start.title,isFirstOrLastPoint:!0},type:3,tooltip:wt(r.end,s.start,c.dayIndex,o),showStartForLastEntry:!1,showEndForFirstEntry:!1};n.splice(m,0,d),m=e+2}const g=n[n.length-1];1!==g.end.value&&n.push({start:{value:g.end.value,title:g.end.title,isFirstOrLastPoint:!0},end:{value:1,title:pt(rt.minutesPerDay),isFirstOrLastPoint:!(u.length>0)||0===u[0].start.value},type:3,tooltip:wt(g.end,_.entries[0].start,o,_.dayIndex),showStartForLastEntry:!1,showEndForFirstEntry:!1})}}(n),function(e){for(const i of Object.keys(e)){const l=parseInt(i),a=e[l].entries;if(1===a.length)continue;const o=ht(l),n=ut(l),r=a[0],d=a[a.length-1];r.start.isFirstOrLastPoint||(r.showStartForLastEntry=(t=a,s=e[o].entries,gt(t[t.length-1],s[s.length-1]))),d.end.isFirstOrLastPoint||(d.showEndForFirstEntry=bt(a,e[n].entries))}var t,s}(n),this.sessionsDays.setValue(n),this.todaySession.setValue(n[l])}_createSubSessionSpecs(e){if(null===e)return new Map;if(void 0===e.subsessions)return new Map([[0,new dt.SessionSpec(e.timezone,e.session,e.session_holidays,e.corrections)]]);const t=["regular","premarket","postmarket"],s=new Map;for(const i of t){let t=null;switch(i){case"regular":t=0;break;case"premarket":t=1;break;case"postmarket":t=2}if(null!==t){const l=e.subsessions.find(e=>e.id===i);void 0!==l&&s.set(t,new dt.SessionSpec(e.timezone,l["session-display"]||l.session,e.session_holidays,l["session-correction"]))}}return s}_updateTodayWithOffsets(e){if(null===e)return void(this._todayInExchangeTime=null);const t=1e3*window.ChartApiInstance.serverTimeOffset() ;this._todayInExchangeTime=rt.get_cal_from_unix_timestamp_ms(rt.get_timezone(e.timezone),Date.now()+t)}}var Mt=s(67294),ft=s(94184),Ct=s(27278),Et=s(45259),kt=s(48913);const Vt=new WeakMap;function Wt(e){return Vt.has(e)||Vt.set(e,(0,Et.randomHash)()),(0,i.ensureDefined)(Vt.get(e))}const Tt=new Map([[0,kt.green],[1,kt.orange],[2,kt.blue],[3,kt.gray]]),xt=new Map([[0,(0,k.t)("Market open")],[1,(0,k.t)("Pre-market")],[2,(0,k.t)("Post-market")],[3,(0,k.t)("Market closed")]]),Dt=(0,k.t)("Exchange timezone");function Lt(e){const{segment:t,forceStart:s,forceEnd:i}=e,l=t.end.value-t.start.value,a=l<.03,o={left:100*t.start.value+"%",width:`calc(${100*l}% + ${a?2:0}px)`},n=ft(kt.segment,Tt.get(t.type),(s||t.start.isFirstOrLastPoint)&&kt.start,(i||t.end.isFirstOrLastPoint)&&kt.end,a&&kt.small,"common-tooltip-html","apply-common-tooltip"),r=function(e,t){return`
\n\t\t${xt.get(t)}\n\t\t${e}\n\t
`}(t.tooltip,t.type);return Mt.createElement("div",{className:n,style:o,"data-tooltip":r})}function At(e){const{sessionDay:t}=e,s=t.entries.map((e,s)=>Mt.createElement(Lt,{key:Wt(e)+"Segment",segment:e,forceStart:0===s&&3===e.type,forceEnd:s===t.entries.length-1&&3===e.type})),i=ft(kt.sessionDay,t.isActive&&kt.active);return Mt.createElement("div",{className:i},Mt.createElement("div",{className:kt.weekDay},t.title),Mt.createElement("div",{className:kt.sessionDaySegments},s))}function Ht(e){const{sessionDays:t,currentTimeMark:s}=e,i=[],l=parseInt(Object.keys(t).filter(e=>t[parseInt(e)].isActive)[0]),a=t[l],o=a.entries.filter(e=>e.start.value<=s&&e.end.value>=s)[0];!o.start.isFirstOrLastPoint&&o.showStartForLastEntry?i.push(a.entries[a.entries.length-1].start):i.push(o.start);const n=!o.end.isFirstOrLastPoint&&o.showEndForFirstEntry?a.entries[0].end:o.end;if(i[0].value!==n.value&&i.push(n),0===i.length)return null;i.sort((e,t)=>e.value-t.value);const r=i.map(e=>Mt.createElement("div",{key:Wt(e),className:kt.timeMark},e.title)),d=100*(2===i.length?i[1].value-i[0].value:0),h=ft(d>12&&kt.timeMarkSegmentAlignByEnds,kt.timeMarkSegment);return Mt.createElement("div",{className:kt.sessionDay},Mt.createElement("div",{className:kt.weekDay}),Mt.createElement("div",{className:kt.timeMarkWrapper},Mt.createElement("div",{className:h,style:{left:100*i[0].value+"%",width:d+"%"}},r)))}class Bt{constructor(e){this._fullSessionScheduleViewModel=new St(e)}destroy(){this._fullSessionScheduleViewModel.destroy()}renderer(e,t){return function(e){const{key:t,className:s,now:i,timezone:l}=e,a=(0,Ct.useWatchedValueReadonly)({watchedValue:e.sessionDays}),o=Object.values(a).filter(e=>e.isActive)[0],n=ft(s,kt.wrapper);return Mt.createElement("div",{key:t,className:n},Mt.createElement("div",{className:kt.sessionDayWrapper},Mt.createElement(At,{sessionDay:o}),Mt.createElement("div",{className:kt.nowWrapper},Mt.createElement("div",{className:kt.now,style:{left:100*i+"%"}}))),Mt.createElement(Ht,{sessionDays:a,currentTimeMark:i}),Mt.createElement("div",{className:kt.timezone },`${Dt}: ${l}`))}({key:e,className:t,sessionDays:this._fullSessionScheduleViewModel.sessionsDays,now:this._fullSessionScheduleViewModel.currentTimeValue(),timezone:this._fullSessionScheduleViewModel.timezone()})}updateSource(e){}}var Nt=s(53312),Pt=s(5225),It=s(34104);class zt{constructor(e){this.isBlinkingMode=new(a())(!1),this._status=new(a())(null),this._fullTooltip=new(a())(null),this._iconClassNames=new(a())(null),this._visible=new(a())(!1),this._tooltip=new(a())(null),this._icon=new(a())(null),this._className=new(a())(null),this._infoMaps=e,this._size=e.size||"small",this._status.subscribe(this._updateByStatus.bind(this),{callWithLast:!0}),this._className.subscribe(this._updateIconClassName.bind(this))}turnOffBlinkingMode(){}status(){return this._status}tooltip(){return this._tooltip}icon(){return this._icon}className(){return this._className}visible(){return this._visible}size(){return this._size}fullInfo(){return this._fullTooltip}_getTooltip(e){var t,s;return null!==(s=null===(t=this._infoMaps.tooltipMap)||void 0===t?void 0:t.get(e))&&void 0!==s?s:null}_getIcon(e){let t;const s=this._infoMaps.iconMap.get(e);return void 0!==s&&(t=s.get(this._size)),t||null}_getClassName(e){return this._infoMaps.classNameMap.get(e)||null}_getTitle(e){var t,s;return null!==(s=null===(t=this._infoMaps.titleMap)||void 0===t?void 0:t.get(e))&&void 0!==s?s:null}_getTitleColor(e){var t,s;return null!==(s=null===(t=this._infoMaps.titleColorMap)||void 0===t?void 0:t.get(e))&&void 0!==s?s:null}async _getHtml(e){var t,s,i;return null!==(i=null===(s=null===(t=this._infoMaps.htmlMap)||void 0===t?void 0:t.get(e))||void 0===s?void 0:s.map(Pt.htmlEscape))&&void 0!==i?i:null}_getAction(e){var t,s;return null!==(s=null===(t=this._infoMaps.actionMap)||void 0===t?void 0:t.get(e))&&void 0!==s?s:null}async _updateFullTooltipByStatus(e){const t=await this._getHtml(e);this._status.value()===e&&this._fullTooltip.setValue([{icon:this._icon.value(),iconClassName:this._iconClassNames.value(),title:this._getTitle(e),titleColor:this._getTitleColor(e),html:t,size:this._size,action:this._getAction(e)}])}_updateByStatus(e){if(null===e)return this._icon.setValue(null),this._tooltip.setValue(null),void this._visible.setValue(!1);this._icon.setValue(this._getIcon(e)),this._className.setValue(this._getClassName(e)),this._tooltip.setValue(this._getTooltip(e)),this._visible.setValue(!0),this._updateFullTooltipByStatus(e)}_updateIconClassName(e){null!==e?this._iconClassNames.setValue([It.statusItem,e]):this._iconClassNames.setValue(null)}}var Ot=s(64222);const Ft=[];function Rt(){return Ot.getJSON("tv.alreadyBlinkedStatuses",Ft)}const Ut=new(a())(Rt());function jt(e){const t=Ot.getJSON("tv.alreadyBlinkedStatuses",Ft);t.includes(e)||(t.push(e),Ot.setJSON("tv.alreadyBlinkedStatuses",t),Ut.setValue(Rt()))}Ot.onSync.subscribe(null,()=>Ut.setValue(Rt()));const Yt=Ut;var Gt=s(97849),$t=s(38531),Xt=s(11483),Zt=s(79632),qt=s(57567),Kt=s(70034),Jt=s(5749);const Qt=(0, be.getLogger)("Chart.LegendWidget"),es=["TFEXDelayForGuest","MOEXDelayForGuest","CHIXAuDelayForGuest","LSEDelayForGuest","NGMDelayForGuest","DEForGuest","ICESGDelayForGuest"],ts=new Map([["DelayToRealtime",new Map([["small",$t],["large",Xt]])],["DelayNoRealtime",new Map([["small",$t],["large",Xt]])],["TFEXDelayForGuest",new Map([["small",$t],["large",Xt]])],["MOEXDelayForGuest",new Map([["small",$t],["large",Xt]])],["CHIXAuDelayForGuest",new Map([["small",$t],["large",Xt]])],["LSEDelayForGuest",new Map([["small",$t],["large",Xt]])],["NGMDelayForGuest",new Map([["small",$t],["large",Xt]])],["ICESGDelayForGuest",new Map([["small",$t],["large",Xt]])],["DEForGuest",new Map([["small",$t],["large",Xt]])],["EOD",new Map([["small",Zt],["large",qt]])],["TickByTick",new Map([["small",Kt],["large",Jt]])],["BATSToRealtime",new Map([["small",Kt],["large",Jt]])],["DelayWithoutMarketAgreement",new Map([["small",$t],["large",Xt]])]]),ss=new Map([["DelayToRealtime",It.delay],["DelayNoRealtime",It.delay],["TFEXDelayForGuest",It.delay],["MOEXDelayForGuest",It.delay],["CHIXAuDelayForGuest",It.delay],["LSEDelayForGuest",It.delay],["NGMDelayForGuest",It.delay],["ICESGDelayForGuest",It.delay],["DEForGuest",It.delay],["EOD",It.eod],["TickByTick",It.notAccurate],["BATSToRealtime",It.notAccurate],["DelayWithoutMarketAgreement",It.delay]]),is=new Map([["DelayToRealtime",Nt.colorsPalette["color-delay-mode"]],["DelayNoRealtime",Nt.colorsPalette["color-delay-mode"]],["TFEXDelayForGuest",Nt.colorsPalette["color-delay-mode"]],["MOEXDelayForGuest",Nt.colorsPalette["color-delay-mode"]],["CHIXAuDelayForGuest",Nt.colorsPalette["color-delay-mode"]],["LSEDelayForGuest",Nt.colorsPalette["color-delay-mode"]],["NGMDelayForGuest",Nt.colorsPalette["color-delay-mode"]],["ICESGDelayForGuest",Nt.colorsPalette["color-delay-mode"]],["DEForGuest",Nt.colorsPalette["color-delay-mode"]],["EOD",Nt.colorsPalette["color-eod-mode"]],["TickByTick",Nt.colorsPalette["color-notaccurate-mode"]],["BATSToRealtime",Nt.colorsPalette["color-notaccurate-mode"]],["DelayWithoutMarketAgreement",Nt.colorsPalette["color-delay-mode"]]]),ls=(0,k.t)("Data is delayed"),as=(0,k.t)("End of day data"),os=(0,k.t)("One update per second"),ns=(0,k.t)("Cboe BZX"),rs=(0,k.t)("{exchange} by {originalExchange}"),ds=(0,Pt.htmlEscape)((0,k.t)("{symbolName} data is delayed by {time} minutes.")),hs=(0,Pt.htmlEscape)((0,k.t)("{listedExchange} real-time data is available for free to registered users.")),us=(0,Pt.htmlEscape)((0,k.t)("To get real-time data for {description}, please buy the real-time data package.")),cs=(0,Pt.htmlEscape)((0,k.t)("Real-time data for {description} is not supported right now. We may support it in the future.")),_s=(0,Pt.htmlEscape)((0,k.t)("Data is updated once a day.")),ps=(0,Pt.htmlEscape)((0,k.t)("Data on our Basic plan is updated once per second, even if there are more updates on the market.")),ms=(0,Pt.htmlEscape)((0,k.t)("Data is updated once per second, even if there are more updates on the market.")),gs=(0,Pt.htmlEscape)((0, k.t)("Paid plans feature faster data updates.")),bs=(0,Pt.htmlEscape)((0,k.t)("Real-time data for {symbolName} is provided by {exchange} exchange.")),vs=(0,Pt.htmlEscape)((0,k.t)("This data is real-time, but it’s slightly different to its official counterpart coming from primary exchanges.")),ws=(0,Pt.htmlEscape)((0,k.t)("This data is real-time, but it’s slightly different to its official counterpart coming from {exchange}.")),ys=(0,Pt.htmlEscape)((0,k.t)("If you'd like {listedExchange} real-time data you'll need to complete an Exchange Agreement. Don't worry, it only takes a few clicks"));(0,k.t)("Create a free account"),(0,k.t)("Learn more"),(0,Pt.htmlEscape)((0,k.t)("Fill out Exchange Agreements"));class Ss extends zt{constructor(e,t,s){super({iconMap:ts,classNameMap:ss,titleColorMap:is,size:t}),this._dataUpdatedMode=new(a())(null).spawn(),this._options=s,this._model=e,this._dataModeBlinkingStatuses=Yt.spawn(),this._dataModeBlinkingStatuses.subscribe(this._updateBlinkingMode.bind(this)),this.turnOffBlinkingMode=this._turnOffBlinking.bind(this),this.setModel(e)}destroy(){this._dataUpdatedMode.destroy(),this._dataModeBlinkingStatuses.destroy()}setModel(e){if(this._dataUpdatedMode.destroy(),null===e)return this._model=e,void(this._dataUpdatedMode=new(a())(null).spawn());this._dataUpdatedMode=e.status().spawn(),this._dataUpdatedMode.subscribe(this._updateStatus.bind(this),{callWithLast:!0})}_getTooltip(){const e=this._getShortTexts();return null===e?null:Object.values(e).join(" · ")}async _updateFullTooltipByStatus(){const e=this._dataUpdatedMode.value();if(null===e)return void this._fullTooltip.setValue(null);const t=this._getShortTexts(),s=await this._getHtmls(),i=await this._getActions();if(e!==this._dataUpdatedMode.value())return;const l=[];for(const a of e)l.push({icon:this._getIcon(a),iconClassName:this._iconClassNames.value(),title:t&&t[a],titleColor:this._getTitleColor(a),html:s&&s[a],size:this._size,action:i&&i[a]});this._fullTooltip.setValue(l)}_updateStatus(e){const t=null!==e?e[0]:null;super._updateByStatus(t),this._updateBlinkingMode()}async _getHtmls(){const e=this._dataUpdatedMode.value();if(null===e||null===this._model)return Promise.resolve(null);const t={},s=this._model.symbolName();let i=null,l=null;try{i=await this._model.description(),l=this._model.exchange()}catch(e){Qt.logError("Can't get exchange description, reason: "+(0,Gt.errorToString)(e))}for(const a of e)if(t[a]=[],["DelayToRealtime","DelayNoRealtime","DelayWithoutMarketAgreement",...es].includes(a)&&(t[a].push(ds.format({symbolName:s,time:this._model.time().toString()})),this._options.subscriptionFullInfo&&null!==i&&"DelayToRealtime"===a&&t[a].push(us.format({description:`${i}`})),null!==i&&"DelayNoRealtime"===a&&t[a].push(cs.format({description:`${i}`})),"DelayWithoutMarketAgreement"===a&&t[a].push(ys.format({listedExchange:this._model.listedExchange()})),this._options.subscriptionFullInfo&&es.includes(a)&&t[a].push(hs.format({listedExchange:this._model.listedExchange()}))),"EOD"===a&&(t[a]=[_s]), "TickByTick"===a&&(t[a].push(this._options.subscriptionFullInfo?ps:ms),this._options.subscriptionFullInfo&&t[a].push(gs)),null!==l&&"BATSToRealtime"===a){let e=this._model.listedExchange();0,t[a].push(bs.format({symbolName:s,exchange:l}),""!==e?ws.format({exchange:e}):vs)}return Object.keys(t).length>0?t:null}async _getActions(){if(null===this._dataUpdatedMode.value()||null===this._model)return null;const e={};return Object.keys(e).length>0?e:null}_getShortTexts(){var e;const t=this._dataUpdatedMode.value();if(null===t||null===this._model)return null;const s={};for(const i of t)if(["DelayToRealtime","DelayNoRealtime",...es,"DelayWithoutMarketAgreement"].includes(i)&&(s[i]=ls),"EOD"===i&&(s[i]=as),"TickByTick"===i&&(s[i]=os),"BATSToRealtime"===i){let t=null!==(e=this._model.firstReplacedByBatsExchange())&&void 0!==e?e:"";0,s[i]=""!==t?rs.format({exchange:t,originalExchange:ns}):ns}return Object.keys(s).length>0?s:null}_updateBlinkingMode(){const e=this._dataUpdatedMode.value();if(null===e)return;const t=this._dataModeBlinkingStatuses.value();for(const s of e)if(!t.includes(s))return void this.isBlinkingMode.setValue(!0);this.isBlinkingMode.setValue(!1)}_turnOffBlinking(){const e=this._dataUpdatedMode.value();if(null!==e)for(const t of e)jt(t)}}var Ms=s(24453),fs=s(30336);const Cs=(0,k.t)("Study Error"),Es=new Map([[!0,new Map([["small",Ms],["large",fs]])],[!1,new Map([["small",""],["large",""]])]]),ks=new Map([[!0,It.dataProblemLow],[!1,null]]),Vs=new Map([[!0,Cs],[!1,null]]),Ws=new Map([[!0,Cs],[!1,null]]),Ts=new Map([[!0,Nt.colorsPalette["color-data-problem"]],[!1,null]]);class xs extends zt{constructor(e,t,s){super({iconMap:Es,classNameMap:ks,tooltipMap:Vs,titleMap:Ws,titleColorMap:Ts,size:t}),this._dataSourceErrorStatus=new(a())(null).spawn(),this._lastError=null,this._options=s,this.setSource(e)}destroy(){this._dataSourceErrorStatus.destroy()}setSource(e){this._dataSourceErrorStatus.destroy(),this._dataSourceErrorStatus=e.errorStatus().spawn(),this._dataSourceErrorStatus.subscribe(this._updateStatus.bind(this),{callWithLast:!0})}_getTooltip(e){const t=this._dataSourceErrorStatus.value();if(e&&null!==t){const e=t.title;if(void 0!==e)return e}return super._getTooltip(e)}_getTitle(e){const t=this._dataSourceErrorStatus.value();if(e&&null!==t){const e=t.title;if(void 0!==e)return e}return super._getTitle(e)}async _getHtml(e){const t=this._dataSourceErrorStatus.value();return null!==t?[(0,Pt.htmlEscape)(t.error)]:null}_getAction(e){this._dataSourceErrorStatus.value();return null}_updateStatus(e){const t=this._status.value();null!==e?(this._status.setValue(!0),t&&this._lastError!==e.error&&this._updateByStatus(!0),this._lastError=e.error):(this._status.setValue(null),this._lastError=null)}}const Ds=(0, k.t)("Data error"),Ls=new Map([["high",new Map([["small",Ms],["large",fs]])],["low",new Map([["small",Ms],["large",fs]])]]),As=new Map([["high",It.dataProblemHigh],["low",It.dataProblemLow]]),Hs=new Map([["high",Ds],["low",Ds]]),Bs=new Map([["high",Nt.colorsPalette["color-data-problem"]],["low",Nt.colorsPalette["color-data-problem"]]]);class Ns extends zt{constructor(e,t){super({tooltipMap:Hs,iconMap:Ls,classNameMap:As,titleMap:Hs,titleColorMap:Bs,size:t}),this._dataProblem=new(a())(null).spawn(),this._isDataProblemCritical=new(a())(!1),this.setModel(e)}destroy(){this._dataProblem.destroy()}isDataProblemCritical(){return this._isDataProblemCritical}setModel(e){this._dataProblem.destroy(),null!==e?(this._dataProblem=e.status().spawn(),this._dataProblem.subscribe(this._updateStatus.bind(this),{callWithLast:!0})):this._dataProblem=new(a())(null).spawn()}async _getHtml(e){const t=this._dataProblem.value();return null===t?null:[(0,Pt.htmlEscape)(t.text)]}_updateStatus(e){var t;const s=null!==(t=null==e?void 0:e.severity)&&void 0!==t?t:null;this._status.setValue(s),this._isDataProblemCritical.setValue(function(e){return"high"===e}(s))}}class Ps extends zt{constructor(e,t){super(t),this._booleanStatus=new(a())(!1).spawn(),this.updateStatus(e)}destroy(){this._booleanStatus.destroy()}updateStatus(e){this._booleanStatus.destroy(),this._booleanStatus=e.spawn(),this._booleanStatus.subscribe(this._updateStatus.bind(this),{callWithLast:!0})}_updateStatus(e){e?this._status.setValue(!0):this._status.setValue(null)}}var Is=s(13008),zs=s(22226);const Os=(0,k.t)("Invalid Symbol"),Fs=(0,k.t)("This symbol doesn't exist, please pick another one."),Rs=new Map([[!0,new Map([["small",Is],["large",zs]])],[!1,new Map([["small",""],["large",""]])]]),Us=new Map([[!0,It.invalidSymbol],[!1,null]]),js=new Map([[!0,Os],[!1,null]]),Ys=new Map([[!0,Os],[!1,null]]),Gs=new Map([[!0,Nt.colorsPalette["color-invalid-symbol"]],[!1,null]]),$s=new Map([[!0,[Fs]],[!1,null]]),Xs=new Map([[!0,null],[!1,null]]);class Zs{constructor(e){this._el=document.createElement("div"),this._prevCustomClass=null,this._icon=e.icon.spawn(),this._icon.subscribe(this._updateIcon.bind(this),{callWithLast:!0}),this._className=e.className.spawn(),this._className.subscribe(this._updateClassName.bind(this),{callWithLast:!0}),this._visible=e.visible.spawn(),this._visible.subscribe(this._updateVisibility.bind(this),{callWithLast:!0}),this._size=e.size||"small",this._render(e.parentEl),e.isBlinking&&(this._isBlinking=e.isBlinking.spawn(),this._isBlinking.subscribe(this._updateBlinkingMode.bind(this),{callWithLast:!0}),this._turnOffBlinking=e.turnOffBlinking)}destroy(){this._visible.destroy(),this._icon.destroy(),this._isBlinking&&this._isBlinking.destroy(),this._el.remove()}onClick(){this._turnOffBlinking&&this._turnOffBlinking()}visible(){return this._visible}_render(e){this._el.classList.add(It.statusItem,It[this._size]),e.appendChild(this._el)}_updateVisibility(e){this._el.classList.toggle("js-hidden",!e)}_updateIcon(e){this._el.innerHTML=e||""}_updateClassName(e){ this._prevCustomClass!==e&&(null!==this._prevCustomClass&&this._el.classList.remove(this._prevCustomClass),null!==e&&this._el.classList.add(e),this._prevCustomClass=e)}_updateBlinkingMode(e){this._el.classList.toggle(It.blinking,e)}}class qs{constructor(e,t,s,i){this.element=document.createElement("div"),this._blinkingSpawns=[],this._iconsRenderers=[];const l=[It.statuses,"apply-common-tooltip","common-tooltip-wide"];h.trackingModeIsAvailable&&l.push(It.touchMode),this.element.classList.add(...l,It[e]),this._visibleWidgetsCount=t.spawn(),this._visibleWidgetsCount.subscribe(this._updateSpecialClassAndTooltip.bind(this)),this._tooltips=s.spawn(),this._tooltips.subscribe(this._updateTooltip.bind(this)),this._onClickCallback=i.onClick,this._onClickHandler=this._onClick.bind(this),this.element.addEventListener("click",this._onClickHandler)}destroy(){for(const e of this._iconsRenderers)e.destroy();for(const e of this._blinkingSpawns)e.destroy();this._visibleWidgetsCount.destroy(),this._tooltips.destroy(),this.element.removeEventListener("click",this._onClickHandler),this.element.remove()}addStatusModel(e){this._iconsRenderers.push(new Zs({visible:e.visible,icon:e.model.icon(),className:e.model.className(),size:e.model.size(),parentEl:this.element,isBlinking:e.model.isBlinkingMode,turnOffBlinking:e.model.turnOffBlinkingMode}));const t=e.model.isBlinkingMode.spawn();t.subscribe(this._updateBlinkingMode.bind(this)),this._blinkingSpawns.push(t),this._updateBlinkingMode()}_onClick(e){e.preventDefault();const t=this._iconsRenderers.filter(e=>e.visible().value());for(const e of t)e.onClick();let s=14;t.length>1&&(s-=2);const i=this.element.getBoundingClientRect(),l={x:i.left-s,y:i.bottom+4};this._onClickCallback(l)}_updateTooltip(){this.element.setAttribute("title",this._tooltips.value().join(" · "))}_updateSpecialClassAndTooltip(){const e=this._visibleWidgetsCount.value();this.element.classList.toggle(It.oneWidgetsVisible,1===e),this.element.classList.toggle(It.twoWidgetsVisible,2===e),this.element.classList.toggle(It.threeWidgetsVisible,3===e),this._updateTooltip()}_updateBlinkingMode(){const e=this._blinkingSpawns.some(e=>e.value());this.element.classList.toggle(It.blinking,e)}}var Ks=s(36973),Js=s(12633),Qs=s(4346),ei=s(20296),ti=s(81669),si=s(8867),ii=s(83363),li=s(44685);const ai=(0,k.t)("Market open"),oi=(0,k.t)("Pre-market"),ni=(0,k.t)("Post-market"),ri=(0,k.t)("Market closed"),di=(0,k.t)("Holiday"),hi=(0,k.t)("All's well — Market is open."),ui=(0,k.t)("Morning. Market is open for pre-market trading."),ci=(0,k.t)("Evening. Market is open for post-market trading."),_i=(0,k.t)("Time for a walk — this market is closed."),pi=(0,k.t)("Market is currently on holiday. Lucky them."),mi=(0,k.t)("less than 1 minute"),gi=(0,k.t)("{days} and {hours}"),bi=(0,k.t)("{hours} and {minutes}"),vi=(0,k.t)("Market opens in {remainingTime}."),wi=(0,k.t)("Market closes in {remainingTime}."),yi=(0,k.t)("It'll go to post-market trading in {remainingTime}."),Si=(0, k.t)("It'll open for pre-market trading in {remainingTime}."),Mi=new Map([["market",new Map([["small",Js],["large",Qs]])],["pre_market",new Map([["small",ii],["large",li]])],["post_market",new Map([["small",ti],["large",si]])],["out_of_session",new Map([["small",Ks],["large",Ks]])],["holiday",new Map([["small",ei],["large",ei]])]]),fi=new Map([["market",It.marketStatusOpen],["pre_market",It.marketStatusPre],["post_market",It.marketStatusPost],["out_of_session",It.marketStatusClose],["holiday",It.marketStatusHoliday]]),Ci=new Map([["market",ai],["pre_market",oi],["post_market",ni],["out_of_session",ri],["holiday",di]]),Ei=new Map([["market",ai],["pre_market",oi],["post_market",ni],["out_of_session",ri],["holiday",di]]),ki=new Map([["market",Nt.colorsPalette["color-market-open"]],["pre_market",Nt.colorsPalette["color-pre-market"]],["post_market",Nt.colorsPalette["color-post-market"]],["out_of_session",Nt.colorsPalette["color-market-closed"]],["holiday",Nt.colorsPalette["color-market-holiday"]]]),Vi={market:hi,pre_market:ui,post_market:ci,out_of_session:_i,holiday:pi};function Wi(e){return(0,k.t)("{number} minute",{plural:"{number} minutes",count:e}).format({number:e.toString()})}function Ti(e){return(0,k.t)("{number} hour",{plural:"{number} hours",count:e}).format({number:e.toString()})}function xi(e){const t=Math.floor(e/86400),s=Math.floor((e-86400*t)/3600),i=Math.floor((e-86400*t-3600*s)/60);return 0===t&&0===s&&0===i?mi:t>0?gi.format({days:(l=t,(0,k.t)("{number} day",{plural:"{number} days",count:l}).format({number:l.toString()})),hours:Ti(s)}):s>0?bi.format({hours:Ti(s),minutes:Wi(i)}):Wi(i);var l}const Di={market:e=>("post_market"===e.status?yi:wi).format({remainingTime:xi(e.remainingSeconds)}),pre_market:e=>vi.format({remainingTime:xi(e.remainingSeconds)}),post_market:e=>wi.format({remainingTime:xi(e.remainingSeconds)}),out_of_session:e=>("pre_market"===e.status?Si:vi).format({remainingTime:xi(e.remainingSeconds)}),holiday:e=>("pre_market"===e.status?Si:vi).format({remainingTime:xi(e.remainingSeconds)})},Li=new Map([["market",null],["pre_market",null],["post_market",null],["out_of_session",null],["holiday",null]]);class Ai extends zt{constructor(e,t){super({tooltipMap:Ci,iconMap:Mi,classNameMap:fi,titleMap:Ei,titleColorMap:ki,actionMap:Li,size:t}),this._model=null,this._marketStatus=new(a())(null).spawn(),this._sessionEdge=new(a())(null).spawn(),this._updateTooltip=()=>{const e=this._status.value();null!==e&&this._updateFullTooltipByStatus(e)},this.setModel(e)}destroy(){this._marketStatus.destroy(),this._sessionEdge.destroy(),this._model=null}setModel(e){if(this._marketStatus.destroy(),this._sessionEdge.destroy(),null===e)return this._marketStatus=new(a())(null).spawn(),void(this._sessionEdge=new(a())(null).spawn());this._model=e,this._marketStatus=e.status().spawn(),this._marketStatus.subscribe(this._updateStatus.bind(this),{callWithLast:!0}),this._sessionEdge=e.nextSessionEdge().spawn(),this._sessionEdge.subscribe(this._updateTooltip),this._updateTooltip()}async _getHtml(e){const t=[(0, Pt.htmlEscape)(Vi[e])],s=this._marketStatus.value();if(null!==this._model&&null!==s){const s=this._model.nextSessionEdge().value();null!==s&&t.push({text:Di[e](s),bold:!0})}return t}_updateStatus(e){this._status.setValue(e)}}class Hi{constructor(e,t){var s,i;this.visibleWidgetsCount=new(a())(0),this.errorWidgetIsShown=new(a())(!1),this._size=h.trackingModeIsAvailable?"large":"small",this._tooltips=new(a())([]),this._visibilitySpawns=[],this._tooltipSpawns=[],this._statusWidgetInfos=[],this._renderer=new qs(this._size,this.visibleWidgetsCount,this._tooltips,{onClick:this._handleToggleDropdown.bind(this)}),this._symbolInvalidViewModel=null,this._dataSourceErrorStatusViewModel=null,this._marketStatusViewModel=null,this._dataUpdatedModeViewModel=null,this._dataProblemViewModel=null,this._sessionWidget=null,this._dataSourceHasErrorVisible=null,this._dataSourceErrorCanBeShown=new(a())(!1),this._marketStatusCanBeShown=new(a())(!1),this._dataUpdatedModeCanBeShown=new(a())(!1),this._dataProblemCanBeShown=new(a())(!1),this._isDataProblemCritical=null,this._container=document.createElement("div"),this._menuOpened=!1,this._menuPosition=null,this._handleDropdownMenuClose=()=>{var e;this._menuOpened=!1,null===(e=this._source.symbol())||void 0===e||e.unsubscribe(this._handleDropdownMenuClose),this._updateDropdownMenu()},this._source=e,this._symbol=null!==(i=null===(s=e.symbol())||void 0===s?void 0:s.spawn())&&void 0!==i?i:null,this._options=t,this._recreateWidgets(),this._addSubscriptionForSymbolInvalid(),null!==this._dataSourceHasErrorVisible&&(this._dataSourceHasErrorVisible.subscribe(this._updateStatusWidgetsVisibilities.bind(this)),this._dataSourceHasErrorVisible.subscribe(this._updateErrorWidgetIsShown.bind(this))),this._options.dataProblemEnabled&&null!==this._isDataProblemCritical&&this._isDataProblemCritical.subscribe(this._updateStatusWidgetsVisibilities.bind(this));for(const e of this._tooltipSpawns)e.subscribe(this._updateTooltips.bind(this));for(const e of this._visibilitySpawns)e.subscribe(this._updateVisibleWidgetsCount.bind(this)),e.subscribe(this._updateTooltips.bind(this));this._updateErrorWidgetIsShown(),this._updateStatusWidgetsVisibilities(),this._updateVisibleWidgetsCount(),this._updateTooltips()}destroy(){var e,t;this._source.destroy(),null===(e=this._symbol)||void 0===e||e.destroy(),null===(t=this._isDataProblemCritical)||void 0===t||t.destroy();for(const e of this._tooltipSpawns)e.destroy();for(const e of this._visibilitySpawns)e.destroy();this.visibleWidgetsCount.unsubscribe();for(const e of this._statusWidgetInfos)e.model.destroy();this._renderer.destroy()}getElement(){return this._renderer.element}updateSource(e){var t,s,i;this._source!==e&&(null===(t=this._symbol)||void 0===t||t.destroy(),this._source.destroy(),this._source=e,this._symbol=null!==(i=null===(s=e.symbol())||void 0===s?void 0:s.spawn())&&void 0!==i?i:null,this._recreateWidgets(),this._updateStatusWidgetsVisibilities(),this._updateErrorWidgetIsShown(),this._updateVisibleWidgetsCount(),this._updateTooltips())} _updateStatusWidgetsVisibilities(){const e=this._isForceStatusActive();this._dataSourceErrorCanBeShown.setValue(!e),this._marketStatusCanBeShown.setValue(!e),this._dataUpdatedModeCanBeShown.setValue(!e),this._dataProblemCanBeShown.setValue(!this._isPrimaryWidgetShown())}_isPrimaryWidgetShown(){var e,t;return null!==(t=null===(e=this._source.isSymbolInvalid())||void 0===e?void 0:e.value())&&void 0!==t&&t}_isForceStatusActive(){var e,t;return this._isPrimaryWidgetShown()||null!==(t=null===(e=this._isDataProblemCritical)||void 0===e?void 0:e.value())&&void 0!==t&&t}_updateVisibleWidgetsCount(){const e=this._statusWidgetInfos.filter(e=>e.visible.value());this.visibleWidgetsCount.setValue(e.length)}_updateTooltips(){const e=[];for(let t=0;t0&&e.push(s)}this._tooltips.setValue(e)}_recreateWidgets(){var e;if(this._options.sourceStatusesEnabled){const e=this._source.isSymbolInvalid();if(null!==e)if(null===this._symbolInvalidViewModel){this._symbolInvalidViewModel=new Ps(e,{tooltipMap:js,iconMap:Rs,classNameMap:Us,titleMap:Ys,titleColorMap:Gs,htmlMap:$s,actionMap:Xs,size:this._size});const t=this._symbolInvalidViewModel.visible().spawn();this._visibilitySpawns.push(t),this._tooltipSpawns.push(this._symbolInvalidViewModel.tooltip().spawn());const s={visible:t,model:this._symbolInvalidViewModel};this._statusWidgetInfos.push(s),this._renderer.addStatusModel(s)}else this._symbolInvalidViewModel.updateStatus(e),this._addSubscriptionForSymbolInvalid();if(null===this._dataSourceErrorStatusViewModel){this._dataSourceErrorStatusViewModel=new xs(this._source,this._size,this._options.sourceStatuses),this._dataSourceHasErrorVisible=(0,q.combine)(()=>this._dataSourceErrorCanBeShown.value()&&(0,i.ensureNotNull)(this._dataSourceErrorStatusViewModel).visible().value(),this._dataSourceErrorCanBeShown,this._dataSourceErrorStatusViewModel.visible()),this._visibilitySpawns.push(this._dataSourceHasErrorVisible),this._tooltipSpawns.push(this._dataSourceErrorStatusViewModel.tooltip().spawn());const e={visible:this._dataSourceHasErrorVisible,model:this._dataSourceErrorStatusViewModel};this._statusWidgetInfos.push(e),this._renderer.addStatusModel(e)}else this._dataSourceErrorStatusViewModel.setSource(this._source)}if(this._options.marketStatusEnabled){const t=this._source.marketStatusModel();if(null===this._marketStatusViewModel){this._marketStatusViewModel=new Ai(t,this._size);const e=(0,q.combine)(()=>this._marketStatusCanBeShown.value()&&(0,i.ensureNotNull)(this._marketStatusViewModel).visible().value(),this._marketStatusCanBeShown,this._marketStatusViewModel.visible());this._visibilitySpawns.push(e),this._tooltipSpawns.push(this._marketStatusViewModel.tooltip().spawn());const s={visible:e,model:this._marketStatusViewModel};null!==t&&(this._sessionWidget=new Bt(this._source),s.additionalWidgets=[this._sessionWidget]),this._statusWidgetInfos.push(s),this._renderer.addStatusModel(s) }else this._marketStatusViewModel.setModel(t),null===(e=this._sessionWidget)||void 0===e||e.updateSource(this._source)}if(this._options.dataUpdateModeEnabled){const e=this._source.dataUpdatedModeModel();if(null===this._dataUpdatedModeViewModel){this._dataUpdatedModeViewModel=new Ss(e,this._size,this._options.dataUpdateMode);const t=(0,q.combine)(()=>this._dataUpdatedModeCanBeShown.value()&&(0,i.ensureNotNull)(this._dataUpdatedModeViewModel).visible().value(),this._dataUpdatedModeCanBeShown,this._dataUpdatedModeViewModel.visible());this._visibilitySpawns.push(t),this._tooltipSpawns.push(this._dataUpdatedModeViewModel.tooltip().spawn());const s={visible:t,model:this._dataUpdatedModeViewModel};this._statusWidgetInfos.push(s),this._renderer.addStatusModel(s)}else this._dataUpdatedModeViewModel.setModel(e)}if(this._options.dataProblemEnabled){const e=this._source.dataProblemModel();if(null===this._dataProblemViewModel){this._dataProblemViewModel=new Ns(e,this._size),this._isDataProblemCritical=this._dataProblemViewModel.isDataProblemCritical().spawn();const t=(0,q.combine)(()=>this._dataProblemCanBeShown.value()&&(0,i.ensureNotNull)(this._dataProblemViewModel).visible().value(),this._dataProblemCanBeShown,this._dataProblemViewModel.visible());this._visibilitySpawns.push(t),this._tooltipSpawns.push(this._dataProblemViewModel.tooltip().spawn());const s={visible:t,model:this._dataProblemViewModel};this._statusWidgetInfos.push(s),this._renderer.addStatusModel(s)}else this._dataProblemViewModel.setModel(e)}}_addSubscriptionForSymbolInvalid(){const e=this._source.isSymbolInvalid();this._options.sourceStatusesEnabled&&null!==e&&(e.subscribe(this._updateStatusWidgetsVisibilities.bind(this)),e.subscribe(this._updateErrorWidgetIsShown.bind(this),{callWithLast:!0}))}_updateErrorWidgetIsShown(){var e,t,s,i;const l=null!==(t=null===(e=this._source.isSymbolInvalid())||void 0===e?void 0:e.value())&&void 0!==t&&t,a=null!==(i=null===(s=this._dataSourceHasErrorVisible)||void 0===s?void 0:s.value())&&void 0!==i&&i;this.errorWidgetIsShown.setValue(l||a)}_handleToggleDropdown(e){var t,s;this._menuPosition=e,this._menuOpened=!this._menuOpened,this._menuOpened&&(null===(t=this._source.symbol())||void 0===t||t.subscribe(this._handleDropdownMenuClose),s="Open full tooltip for statuses: "+this._tooltips.value().join(", "),(0,V.trackEvent)("GUI","Statuses widget's action",s)),this._updateDropdownMenu()}_updateDropdownMenu(){Promise.all([s.e(7610),s.e(3894),s.e(9917),s.e(5514),s.e(306),s.e(4940),s.e(8643)]).then(s.bind(s,36783)).then(e=>{e.render(this._menuOpened,this._container,this._renderer.element,this._statusWidgetInfos,this._handleDropdownMenuClose,(0,i.ensureNotNull)(this._menuPosition))})}}s(51759);var Bi=s(98445);class Ni{constructor(e,t){this._symbol=null,this._symbolInfo=new(a())(null).spawn(),this._source=e,e.properties().hasChild("symbol")&&(this._symbol=(0,j.createWVFromGetterAndSubscription)(()=>e.properties().symbol.value(),e.properties().symbol.listeners()));const s=[];if((0,pe.isStudy)(e)||(0, pe.isStudyStub)(e))this._isSymbolInvalid=(0,Bi.createWVFromGetterAndSubscriptions)(()=>e.isSymbolInvalid()&&e.isActualInterval(),s),s.push(e.onStatusChanged(),e.onIsActualIntervalChange());else{(0,i.assert)(e===t.mainSeries());const l=t.mainSeries();this._isSymbolInvalid=(0,j.createWVFromGetterAndSubscription)(()=>l.isSymbolInvalid(),l.onStatusChanged()),s.push(l.onStatusChanged()),this._symbolInfo=(0,j.createWVFromGetterAndSubscription)(l.symbolInfo.bind(l),l.dataEvents().symbolResolved())}this._dataSourceErrorStatus=(0,Bi.createWVFromGetterAndSubscriptions)(()=>this._source.statusProvider({}).errorStatus(),s)}destroy(){var e,t;null===(e=this._symbol)||void 0===e||e.destroy(),null===(t=this._isSymbolInvalid)||void 0===t||t.destroy(),this._dataSourceErrorStatus.destroy(),this._symbolInfo.destroy()}symbol(){return this._symbol}isSymbolInvalid(){return this._isSymbolInvalid}errorStatus(){return this._dataSourceErrorStatus}symbolInfo(){return this._symbolInfo}marketStatusModel(){return this._source.marketStatusModel()}dataProblemModel(){return this._source.dataProblemModel()}dataUpdatedModeModel(){return this._source.dataUpdatedModeModel()}}var Pi=s(18866);const Ii=(0,k.t)("Replay mode"),zi=(0,k.t)("You're in Replay mode. You're in Replay mode. You're in Replay mode.");new Map([[!0,new Map([["small",Pi],["large",Pi]])],[!1,new Map([["small",""],["large",""]])]]),new Map([[!0,It.replayMode],[!1,null]]),new Map([[!0,Ii],[!1,null]]),new Map([[!0,Ii],[!1,null]]),new Map([[!0,Nt.colorsPalette["color-replay-mode"]],[!1,null]]),new Map([[!0,[zi]],[!1,null]]),new Map([[!0,null],[!1,null]]);class Oi extends Hi{constructor(e,t,s){super(new Ni(e,t),s),this._isInReplay=new(a())(!1).readonly().spawn(),this._isInReplayCanBeShown=null,this._inited=!1}destroy(){super.destroy()}_updateStatusWidgetsVisibilities(){super._updateStatusWidgetsVisibilities()}_isPrimaryWidgetShown(){var e,t;return super._isPrimaryWidgetShown()||null!==(t=null===(e=this._isInReplay)||void 0===e?void 0:e.value())&&void 0!==t&&t}}var Fi=s(99182),Ri=s(58848);const Ui={readOnlyMode:!1,contextMenu:{settings:!0,mainSeries:!0,studies:!0,showOpenMarketStatus:!1},symbolMarkerEnabled:!1,showToggleButton:!0,canShowSourceCode:!1,statusesWidgets:{sourceStatusesEnabled:!1,sourceStatuses:{errorSolution:!0},marketStatusEnabled:!1,marketStatus:{preMarketSolution:!0,postMarketSolution:!0},dataUpdateModeEnabled:!1,dataUpdateMode:{subscriptionFullInfo:!0},dataProblemEnabled:!1}},ji=(d.enabled("hide_legend_by_default"),d.enabled("fundamental_widget")),Yi=d.enabled("legend_context_menu"),Gi=2*parseInt(y.marginlegendhoriz);class $i{constructor(e,t,s,i,l,n,r){this._mainSeriesViewModel=null,this._dataSourceViewModels=[],this._visibleDataSourceCount=new(a())(0),this._themedColor=new(a())(""),this._mainSeriesRowHidden=null,this._dataSourceRowsHidden=[],this._customWidgetsVisibilities=[],this._allLegendHidden=new(a())(!1),this._studiesLegendHidden=new(a())(!1),this._customWidgetsHeights=[],this._onLegendVisibilityToggled=null,this._availableHeight=0, this._collapsedDataSourcesCount=new(a())(0),this._collapsedDataSourcesTitle=new(a())(""),this._mainSeriesStatusWidget=null,this._dataSourcesStatusesWidgets=[],this._size=null,this._customLegendWidgetsFactoriesMap=new Map,this._customLegendWidgetsMap=new Map,this._margin=0,this._model=e,this._paneWidget=t,this._options=(0,o.merge)((0,o.clone)(Ui),n),this._callbacks=r,this._mainSeriesViewModelsOptions={readOnlyMode:this._options.readOnlyMode,symbolMarkerEnabled:this._options.symbolMarkerEnabled},this._dataSourceViewModelsOptions={...this._mainSeriesViewModelsOptions,canShowSourceCode:this._options.canShowSourceCode},this._backgroundThemeName=s;const d=this._showLegendCalculatedProperty();this._isDataSourcesCollapsed=new(a())(d.value()),d.subscribe(this,()=>{this._isDataSourcesCollapsed.setValue(d.value())});const h=new(a())(this._getCustomTextColorValue()),u=this._model.model().properties().childs();u.scalesProperties.childs().textColor.subscribe(this,()=>{h.setValue(this._getCustomTextColorValue())});const c=u.paneProperties.childs().legendProperties.childs().showBackground,_=new(a())(c.value());c.subscribe(this,()=>{_.setValue(c.value())});const p=u.paneProperties.childs().legendProperties.childs().backgroundTransparency,m=new(a())(p.value());p.subscribe(this,()=>{m.setValue(p.value())}),this._hideNotMainSources=i.spawn(),this._hideNotMainSources.subscribe(this._updateLegendVisibilities.bind(this)),this._hideWholeLegend=l.spawn(),this._hideWholeLegend.subscribe(this._updateLegendVisibilities.bind(this)),this._isPaneMain=new(a())(this._getIsPaneMainValue()),this._updateCollapsedSourcesModeThrottle=(0,Ri.default)(this._updateCollapsedSourcesMode.bind(this),100),this._renderer=new R({withActions:!this._options.readOnlyMode,showToggleButton:this._options.showToggleButton,isStudiesLegendHidden:this._studiesLegendHidden.readonly(),isAllLegendHidden:this._allLegendHidden.readonly(),customTextColor:h.readonly(),themedColor:this._themedColor.readonly(),showBackground:_.readonly(),backgroundTransparency:m.readonly(),collapsedDataSourcesCount:this._collapsedDataSourcesCount.readonly(),collapsedDataSourcesTitle:this._collapsedDataSourcesTitle.readonly(),showLegendWidgetContextMenu:this.onShowLegendWidgetContextMenu.bind(this)},{visibleDataSourceCount:this._visibleDataSourceCount.readonly(),isDataSourcesCollapsed:this._isDataSourcesCollapsed.readonly(),showObjectsTree:this._isPaneMain.readonly(),onCollapseDataSources:this.onCollapseDataSources.bind(this),onShowObjectsTreeDialog:this._callbacks.showObjectsTreeDialog})}destroy(){this._hideNotMainSources.destroy(),this._hideWholeLegend.destroy(),null!==this._mainSeriesViewModel&&this._destroyMainDataSource();for(const e of this._dataSourceViewModels)e.destroy();for(const e of this._dataSourcesStatusesWidgets)e.destroy();this._clearSubscriptions();for(const e of Array.from(this._customLegendWidgetsMap.keys()))this._destroyCustomWidgetFromLayerBlock(e);this._customLegendWidgetsMap.clear(),this._renderer.destroy(),delete this._renderer, this._showLegendCalculatedProperty().unsubscribeAll(this),this._showLegendOriginalProperty().unsubscribeAll(this);const e=this._model.model().properties().childs();e.scalesProperties.childs().textColor.unsubscribeAll(this),e.paneProperties.childs().legendProperties.childs().showBackground.unsubscribeAll(this),e.paneProperties.childs().legendProperties.childs().backgroundTransparency.unsubscribeAll(this)}addCustomWidgetToLegend(e,t){const s=this._customLegendWidgetsFactoriesMap.get(t.block)||new Map,i=s.get(t.position)||[];i.push(e),s.set(t.position,i),this._customLegendWidgetsFactoriesMap.set(t.block,s),this.updateLayout(),this._updateCustomWidgetModeBySize()}onShowLegendWidgetContextMenu(e,t){if(this._options.readOnlyMode||!Yi)return Promise.resolve();W("Show legend context menu");const s=new Map;for(const e of Array.from(this._customLegendWidgetsMap.keys())){const t=(0,i.ensureDefined)(this._customLegendWidgetsMap.get(e)),l=new Map;for(const e of Array.from(t.keys())){const s=(0,i.ensureDefined)(t.get(e)),a=l.get(e)||[];for(const e of s)a.push(...e.contextMenuActions());l.set(e,a)}s.set(e,l)}return function(e,t,s,i,l,a){const o=[],n=i.get(0);if(void 0!==n){const e=n.get(1);void 0!==e&&e.length>0&&(o.push(...e),o.push(new He.Separator))}const r=e.model().properties().childs().paneProperties.childs().legendProperties.childs();if(o.push(new He.Action({actionId:"Chart.Legend.ToggleSymbolVisibility",checkable:!0,checked:r.showSeriesTitle.value(),label:Xe,statName:"Show Symbol",onExecute:()=>ze(e,r.showSeriesTitle,Oe)})),t.showOpenMarketStatus&&o.push(new He.Action({actionId:"Chart.Legend.ToggleOpenMarketStatusVisibility",checkable:!0,checked:Ne.showMarketOpenStatusProperty.value(),label:Ze,statName:"Show Open market status",onExecute:()=>ze(e,Ne.showMarketOpenStatusProperty,Fe)})),o.push(new He.Action({actionId:"Chart.Legend.ToggleOhlcValuesVisibility",checkable:!0,checked:r.showSeriesOHLC.value(),label:qe,statName:"Show OHLC Values",onExecute:()=>ze(e,r.showSeriesOHLC,Re)})),o.push(new He.Action({actionId:"Chart.Legend.ToggleBarChangeValuesVisibility",checkable:!0,checked:r.showBarChange.value(),label:Ke,statName:"Show Bar Change Values",onExecute:()=>ze(e,r.showBarChange,Ue)})),o.push(new He.Action({actionId:"Chart.Legend.ToggleVolumeVisibility",checkable:!0,checked:r.showVolume.value(),label:Je,statName:"Show Volume",onExecute:()=>ze(e,r.showVolume,$e)})),o.push(new He.Separator),void 0!==n){const e=n.get(0);void 0!==e&&e.length>0&&(o.push(...e),o.push(new He.Separator))}const d=i.get(1);if(void 0!==d){const e=d.get(1);void 0!==e&&e.length>0&&(o.push(...e),o.push(new He.Separator))}if(o.push(new He.Action({actionId:"Chart.Legend.ToggleIndicatorTitlesVisibility",checkable:!0,checked:r.showStudyTitles.value(),label:Qe,statName:"Show Indicator Titles",onExecute:()=>ze(e,r.showStudyTitles,je)})),o.push(new He.Action({actionId:"Chart.Legend.ToggleIndicatorArgumentsVisibility",checkable:!0,checked:r.showStudyArguments.value(),label:et,statName:"Show Indicator Arguments",onExecute:()=>ze(e,r.showStudyArguments,Ye)})), o.push(new He.Action({actionId:"Chart.Legend.ToggleIndicatorValuesVisibility",checkable:!0,checked:r.showStudyValues.value(),label:tt,statName:"Show Indicator Values",onExecute:()=>ze(e,r.showStudyValues,Ge)})),void 0!==d){const e=d.get(0);void 0!==e&&e.length>0&&(o.push(...e),o.push(new He.Separator))}return t.settings&&(o.push(new He.Separator),o.push(new He.Action({actionId:"Chart.Dialogs.ShowGeneralSettings.LegendTab",label:st,icon:Ie,statName:"Settings...",onExecute:()=>s(ie.TabNames.legend)}))),Be.ContextMenuManager.showMenu(o,l,void 0,{menuName:"LegendPropertiesContextMenu"},a)}(this._model,this._options.contextMenu,this._callbacks.showGeneralChartProperties,s,e,t)}onCollapseDataSources(){const e=this._showLegendOriginalProperty();e.setValue(!e.value())}updateLayout(){const e=this._paneWidget.state().sourcesByGroup().priceSources().filter(e=>null!==e.statusView());if(0===e.length)return;const t=this._model.mainSeries(),s=e.indexOf(t);s>-1?(e.splice(s,1),ji||null!==this._mainSeriesViewModel||(this._mainSeriesViewModel=new _e(this._model,t,this._mainSeriesViewModelsOptions,this._callbacks,this._options.contextMenu),this._mainSeriesStatusWidget=new Oi(t,this._model.model(),this._options.statusesWidgets),this._renderer.addMainDataSource(this._mainSeriesViewModel,this._mainSeriesStatusWidget)),this._addCustomWidgetForLayerBlock(0)):null!==this._mainSeriesViewModel&&(this._destroyMainDataSource(),this._destroyCustomWidgetFromLayerBlock(0));const l=[],a=[],o=this._dataSourceViewModels.length;if(0===o)for(let t=e.length-1;t>=0;t--)l.push(new Ae(this._model,e[t],this._dataSourceViewModelsOptions,this._callbacks,this._options.contextMenu)),a.push(new Hi(new Ni(e[t],this._model.model()),this._options.statusesWidgets));else{let t=0;for(let s=e.length-1;s>=0;s--)this._dataSourceViewModels[t]?(this._dataSourceViewModels[t].updateSource(e[s]),this._dataSourcesStatusesWidgets[t].updateSource(new Ni(e[s],this._model.model()))):(l.push(new Ae(this._model,e[s],this._dataSourceViewModelsOptions,this._callbacks,this._options.contextMenu)),a.push(new Hi(new Ni(e[s],this._model.model()),this._options.statusesWidgets))),t++;for(;this._dataSourceViewModels.length>t;)(0,i.ensureDefined)(this._dataSourceViewModels.pop()).destroy();for(;this._dataSourcesStatusesWidgets.length>t;)(0,i.ensureDefined)(this._dataSourcesStatusesWidgets.pop()).destroy()}0!==l.length&&(this._renderer.addDataSources(l,a),this._dataSourceViewModels.push(...l),this._dataSourcesStatusesWidgets.push(...a)),o!==this._dataSourceViewModels.length&&this._updateCollapsedSourcesMode(),this._dataSourceViewModels.length>0?this._addCustomWidgetForLayerBlock(1):this._destroyCustomWidgetFromLayerBlock(1),this._recreateSubscriptions(),this._isPaneMain.setValue(this._getIsPaneMainValue()),this.update(),this._updateWidgetModeByWidth()}update(){null!==this._mainSeriesViewModel&&this._mainSeriesViewModel.update();for(const e of this._dataSourceViewModels)e.update()}updateThemedColors(e){null===e&&(e=(0, Fi.getStdThemedValue)("chartProperties.paneProperties.background",this._backgroundThemeName.value())),this._themedColor.setValue(e||"")}firstTitle(){return this._renderer.firstTitle()}getElement(){return this._renderer.getElement()}addMargin(e){if(this._margin===e)return;this._margin=e;this._renderer.getElement().style.maxWidth=0===this._margin?"":`calc(100% - ${this._margin+Gi}px)`,this._updateWidgetModeBySize()}updateWidgetModeBySize(e){this._size=e,this._updateWidgetModeBySize()}_updateWidgetModeBySize(){this._updateWidgetModeByWidth(),this._updateWidgetModeByHeight(),this._updateCustomWidgetModeBySize()}_updateWidgetModeByWidth(){if(null===this._size)return;const e=this._availableWidth();this._renderer.updateMode(e),this._paneWidget.hasState()&&this._paneWidget.state().containsMainSeries()&&this._model.mainSeries().setTextSourceIsAlwaysTickerRestrictionEnabled(e<=132)}_updateWidgetModeByHeight(){null!==this._size&&(this._availableHeight=.8*this._size.h,this._updateCollapsedSourcesModeThrottle())}_updateCustomWidgetModeBySize(){if(null===this._size)return;const e=new n.Size(this._availableWidth(),this._size.h);for(const t of Array.from(this._customLegendWidgetsMap.values()))for(const s of Array.from(t.values()))for(const t of s)t.updateWidgetModeBySize(e)}_destroyMainDataSource(){(0,i.ensureNotNull)(this._mainSeriesStatusWidget).destroy(),this._mainSeriesStatusWidget=null,(0,i.ensureNotNull)(this._mainSeriesViewModel).destroy(),this._mainSeriesViewModel=null}_updateCollapsedSourcesMode(){const e=this._dataSourceViewModels.length;if(this._availableHeight>0&&e>2){const t=Number(this._renderer.getMainSourceHeight()),s=this._renderer.getDataSourceHeight(),i=this._getCustomWidgetsHeight();if(null!==s){const l=Math.floor((this._availableHeight-t-i)/s),a=Math.max(l,2)-1;if(e>a+1){let t="";for(let s=0;se.value()),t=this._hideNotMainSources.value()||e;this._studiesLegendHidden.setValue(t);const s=null===this._mainSeriesRowHidden||this._mainSeriesRowHidden.value(),i=this._customWidgetsVisibilities.some(e=>e.value());this._allLegendHidden.setValue(e&&s&&!i)}_updateVisibleDataSourceCount(){const e=this._dataSourceRowsHidden.filter(e=>!e.value()).length;this._visibleDataSourceCount.setValue(e)}_setLegendVisibilityToggled(){0}_getIsPaneMainValue(){return this._paneWidget.containsMainSeries()}_showLegendCalculatedProperty(){return this._model.model().showLegend()}_showLegendOriginalProperty(){return this._model.model().properties().childs().paneProperties.childs().legendProperties.childs().showLegend}_addCustomWidgetForLayerBlock(e){const t=this._customLegendWidgetsFactoriesMap.get(e);if(void 0===t)return;const s=this._customLegendWidgetsMap.get(e)||new Map;let i=!1;for(const l of Array.from(t.keys())){const a=s.get(l)||[],o=t.get(l)||[];for(let t=a.length;t{"use strict";s.r(t),s.d(t,{PaneControlsWidget:()=>F});var i=s(96404),l=s(79881),a=s(42028),o=s(17e3),n=s(16282),r=s(14563),d=s(92882),h=s(3330),u=s(37504),c=s(71996);class _{constructor(e,t,s){this._parentEl=document.createElement("div"),this._listActionsWrapperEl=null,this._listActionsElements={},this._actionsSpawns={},this._onMouseEnterLeaveEventHandler=null,this._mouseOverWidget=!1,this._wrapEl=e, this._onMouseEnterLeaveEventHandler=this._onMouseEnterLeaveEvent.bind(this),this._wrapEl.addEventListener("mouseenter",this._onMouseEnterLeaveEventHandler),this._wrapEl.addEventListener("mouseleave",this._onMouseEnterLeaveEventHandler),this._actions=t,this._globalVisibility=s.globalVisibility.spawn(),this._globalVisibility.subscribe(this._updatePaneControlsWidgetVisibility.bind(this)),this._visibilityType=s.visibilityType.spawn(),this._visibilityType.subscribe(this._updatePaneControlsWidgetVisibility.bind(this)),this._doNotSwitchToContextMenuMode=s.doNotSwitchToContextMenuMode,this._themedColor=s.themedColor.spawn(),this._themedColor.subscribe(this._updateThemedColor.bind(this));for(const[e,t]of Object.entries(this._actions)){const s=e;this._actionsSpawns[s]={visible:t.visible.spawn(),title:void 0===t.title?null:t.title.spawn()},this._actionsSpawns[s].visible.subscribe(this._updateActionVisibilities.bind(this,s));const i=this._actionsSpawns[s].title;null!==i&&i.subscribe(this._updateActionTitle.bind(this,s))}this._render(),this._updatePaneControlsWidgetVisibility(),this._updateThemedColor(this._themedColor.value()),this._parentEl.classList.toggle(u.touchMode,d.trackingModeIsAvailable),this._parentEl.addEventListener("contextmenu",e=>e.preventDefault())}destroy(){this._visibilityType.destroy(),this._themedColor.destroy();for(const e of Object.keys(this._actionsSpawns)){const t=e;this._actionsSpawns[t].visible.destroy();const s=this._actionsSpawns[t].title;null!==s&&s.destroy()}null!==this._onMouseEnterLeaveEventHandler&&(this._wrapEl.removeEventListener("mouseenter",this._onMouseEnterLeaveEventHandler),this._wrapEl.removeEventListener("mouseleave",this._onMouseEnterLeaveEventHandler),this._onMouseEnterLeaveEventHandler=null),this._parentEl.innerHTML="",delete this._parentEl}getElement(){return this._parentEl}updateWidgetModeByWidth(e){const t=!this._doNotSwitchToContextMenuMode.value()&&e<356,s=!this._doNotSwitchToContextMenuMode.value()&&e<666.65,i=(0,n.ensureNotNull)(this._listActionsWrapperEl),l=(0,n.ensureNotNull)(this._listActionsElements.more);i.classList.toggle(c.blockHidden,t||s),l.classList.toggle(c.blockHidden,t||!s||!this._actions.more.visible.value())}_render(){this._renderActions(),this._parentEl.classList.add(u.paneControls),this._wrapEl.append(this._parentEl)}_renderActions(){null===this._listActionsWrapperEl&&(this._listActionsWrapperEl=document.createElement("div"),this._listActionsWrapperEl.classList.add(u.buttonsWrapper),this._parentEl.append(this._listActionsWrapperEl));const e=d.trackingModeIsAvailable?"large":"small";this._listActionsElements.up=(0,h.createActionElement)(this._actions.up,u.button,u.buttonIcon,c.blockHidden,e),this._listActionsElements.down=(0,h.createActionElement)(this._actions.down,u.button,u.buttonIcon,c.blockHidden,e),this._listActionsElements.close=(0,h.createActionElement)(this._actions.close,u.button,u.buttonIcon,c.blockHidden,e),this._listActionsElements.maximize=(0,h.createActionElement)(this._actions.maximize,u.button,u.buttonIcon,c.blockHidden,e), this._listActionsElements.minimize=(0,h.createActionElement)(this._actions.minimize,u.button,u.buttonIcon,c.blockHidden,e),this._listActionsWrapperEl.append(this._listActionsElements.up,this._listActionsElements.down,this._listActionsElements.close,this._listActionsElements.maximize,this._listActionsElements.minimize),this._listActionsElements.more=(0,h.createActionElement)(this._actions.more,u.button,u.buttonIcon,c.blockHidden,e);for(const e of Object.keys(this._listActionsElements))(0,n.ensureNotNull)(this._listActionsElements[e]).classList.add(u.newButton);this._parentEl.append(this._listActionsElements.more)}_updateActionVisibilities(e,t){(0,n.ensureNotNull)(this._listActionsElements[e]).classList.toggle(c.blockHidden,!t)}_updateActionTitle(e,t){(0,n.ensureNotNull)(this._listActionsElements[e]).setAttribute("title",t)}_onMouseEnterLeaveEvent(e){this._mouseOverWidget="mouseenter"===e.type,"visibleOnMouseOver"===this._visibilityType.value()&&this._updatePaneControlsWidgetVisibility()}_updatePaneControlsWidgetVisibility(){let e,t=!1;switch(this._visibilityType.value()){case"alwaysOff":e=!1,t=!0;break;case"alwaysOn":e=this._globalVisibility.value();break;case"visibleOnMouseOver":e=this._globalVisibility.value()&&this._mouseOverWidget}this._parentEl.classList.toggle(u.hidden,!e),this._parentEl.classList.toggle(u.forceHidden,!this._globalVisibility.value()||t)}_updateThemedColor(e){if(e.length>0){const[t,s,i]=(0,r.parseRgb)(e);this._parentEl.style.color=(0,r.rgbaToString)([t,s,i,(0,r.normalizeAlphaComponent)(.8)])}else this._parentEl.style.removeProperty("color")}}var p=s(46374),m=s(6799),g=s(38749),b=s(90708),v=s(82334),w=s(23906);const y=(0,l.t)("Double click");var S=s(32856),M=s.n(S),f=s(99182),C=s(19598),E=s(64844),k=s(72897),V=s(50379),W=s(89364),T=s(26924),x=s(63970),D=s(72110);const L=i.mobiletouch,A=(0,l.t)("Delete pane"),H=(0,l.t)("Move pane up"),B=(0,l.t)("Move pane down"),N=(0,l.t)("Maximize pane"),P=(0,l.t)("Restore pane"),I=(0,l.t)("Manage panes"),z=(0,l.t)("Double click"),O=(0,C.hotKeySerialize)({keys:[""],text:z});class F{constructor(e,t,s,i,l){this._actions={},this._moreCMShown=!1,this._themedColor=new(M())(""),this._model=e,this._paneWidget=t,this._callbacks=i,this._closeButtonVisibility=new(M())(this._getCloseButtonVisibility()),this._upButtonVisibility=new(M())(this._getUpButtonVisibility()),this._downButtonVisibility=new(M())(this._getDownButtonVisibility()),this._maximizeButtonVisibility=new(M())(this._getMaximizeButtonVisibility()),this._minimizeButtonVisibility=new(M())(this._getMinimizeButtonVisibility()),this._createActions(),this._visibilityTypeProperty=(0,a.actualBehavior)(),this._visibilityTypeProperty.subscribe(this,e=>{this._visibilityType.setValue(e.value())}),this._visibilityType=new(M())(this._visibilityTypeProperty.value()),this._isPaneMaximize=new(M())(this._getIsPaneMaximizeValue()),this._isWidgetShow=new(M())(this._getIsWidgetShow()),this._backgroundThemeName=s.backgroundThemeName,this._renderer=new _(l,this._actions,{visibilityType:this._visibilityType.readonly(), globalVisibility:this._isWidgetShow.readonly(),doNotSwitchToContextMenuMode:this._isPaneMaximize.readonly(),themedColor:this._themedColor.readonly()})}destroy(){this._visibilityTypeProperty.unsubscribeAll(this),this._renderer.destroy()}getElement(){return this._renderer.getElement()}action(){return this._actions}update(){this._updateButtonsVisibility(),this._isPaneMaximize.setValue(this._getIsPaneMaximizeValue()),this._isWidgetShow.setValue(this._getIsWidgetShow())}updateWidgetModeByWidth(e){this._renderer.updateWidgetModeByWidth(e)}updateThemedColors(e){null===e&&(e=(0,f.getStdThemedValue)("chartProperties.paneProperties.background",this._backgroundThemeName.value())),this._themedColor.setValue(e||"")}_updateButtonsVisibility(){this._closeButtonVisibility.setValue(this._getCloseButtonVisibility()),this._upButtonVisibility.setValue(this._getUpButtonVisibility()),this._downButtonVisibility.setValue(this._getDownButtonVisibility()),this._maximizeButtonVisibility.setValue(this._getMaximizeButtonVisibility()),this._minimizeButtonVisibility.setValue(this._getMinimizeButtonVisibility())}_createActions(){this._actions.up={iconMap:new Map([["large",k],["small",k]]),action:this._onUpDownButton.bind(this,"up"),visible:this._upButtonVisibility,title:new(M())(H),className:u.up,dataset:{name:"pane-button-up"}},this._actions.down={iconMap:new Map([["large",V],["small",V]]),action:this._onUpDownButton.bind(this,"down"),visible:this._downButtonVisibility,title:new(M())(B),className:u.down,dataset:{name:"pane-button-down"}},this._actions.close={iconMap:new Map([["large",E],["small",E]]),action:this._onCloseButton.bind(this),visible:this._closeButtonVisibility,title:new(M())(A),dataset:{name:"pane-button-close"}},this._actions.maximize={iconMap:new Map([["large",x],["small",W]]),action:this._onToggleMaximizeButton.bind(this),visible:this._maximizeButtonVisibility,title:new(M())(N),hotKeyTitle:O,className:u.maximize,dataset:{name:"pane-button-maximize"}},this._actions.minimize={iconMap:new Map([["large",x],["small",W]]),action:this._onToggleMaximizeButton.bind(this),visible:this._minimizeButtonVisibility,title:new(M())(P),hotKeyTitle:O,className:u.minimize,dataset:{name:"pane-button-minimize"}},this._actions.more={iconMap:new Map([["large",D],["small",T]]),action:this._showButtonsInContextMenu.bind(this),visible:new(M())(!L),title:new(M())(I),dataset:{name:"pane-button-more"}}}_getCloseButtonVisibility(){const e=this._paneWidget.state();let t=!1;return e.containsMainSeries()||e.isMaximized()||L||(t=e.dataSources().some(e=>(0,o.isStudy)(e))),t}_onCloseButton(){const e=this._model.model().panes().indexOf(this._paneWidget.state());this._model.removePane(e)}_getUpButtonVisibility(){const e=this._paneWidget.state();return this._model.model().panes().indexOf(e)>0&&!e.isMaximized()&&!L}_getDownButtonVisibility(){const e=this._paneWidget.state(),t=this._model.model().panes();return t.indexOf(e)1&&!e.isMaximized()&&!L}_getMinimizeButtonVisibility(){const e=this._paneWidget.state();return this._model.model().panes().length>1&&e.isMaximized()}_onToggleMaximizeButton(){this._callbacks.toggleMaximizePane(this._paneWidget)}_showButtonsInContextMenu(e){e.preventDefault(),this._moreCMShown||function(e,t,s){const i=[];if(e.maximize.visible.value()){const t=(0,n.ensure)(e.maximize.title),s=(0,n.ensureNotNull)(e.maximize.action);i.push(new p.Action({actionId:"Chart.PaneControls.MaximizePane",icon:w,label:t.value(),statName:"Maximize Pane",shortcutHint:y,onExecute:()=>s()}))}else if(e.minimize.visible.value()){const t=(0,n.ensure)(e.minimize.title),s=(0,n.ensureNotNull)(e.minimize.action);i.push(new p.Action({actionId:"Chart.PaneControls.MinimizePane",icon:w,label:t.value(),statName:"Minimize Pane",shortcutHint:y,onExecute:()=>s()}))}if(e.up.visible.value()){const t=(0,n.ensure)(e.up.title),s=(0,n.ensureNotNull)(e.up.action);i.push(new p.Action({actionId:"Chart.PaneControls.MovePaneUp",icon:b,label:t.value(),statName:"Move pane up",onExecute:()=>s()}))}if(e.down.visible.value()){const t=(0,n.ensure)(e.down.title),s=(0,n.ensureNotNull)(e.down.action);i.push(new p.Action({actionId:"Chart.PaneControls.MovePaneDown",icon:v,label:t.value(),statName:"Move pane down",onExecute:()=>s()}))}if(e.close.visible.value()){const t=(0,n.ensure)(e.close.title),s=(0,n.ensureNotNull)(e.close.action);i.push(new p.Action({actionId:"Chart.PaneControls.DeletePane",icon:g,label:t.value(),statName:"Delete pane",onExecute:()=>s()}))}const l=(0,n.ensureNotNull)(t.target).getBoundingClientRect();return m.ContextMenuManager.showMenu(i,{clientX:l.right,clientY:l.top+l.height+3,attachToXBy:"right"},void 0,void 0,s)}(this._actions,e,()=>{this._moreCMShown=!1}).then(()=>{this._moreCMShown=!0})}_getIsPaneMaximizeValue(){return this._paneWidget.state().isMaximized()}_getIsWidgetShow(){return this._model.model().panes().length>1}}},3330:(e,t,s)=>{"use strict";s.d(t,{createActionElement:()=>l});var i=s(47903);function l(e,t,s,l,a){const o=document.createElement("div");o.className=t,o.classList.toggle(l,!e.visible.value()),Object.assign(o.dataset,e.dataset),void 0!==e.className&&o.classList.add(e.className),void 0!==e.title&&(o.classList.add("apply-common-tooltip"),o.setAttribute("title",e.title.value()),void 0!==e.hotKeyTitle&&(o.dataset.tooltipHotkey=e.hotKeyTitle)),o.addEventListener("touchend",e.action),o.addEventListener("mousedown",t=>{0===t.button&&e.action(t)});const n=document.createElement("div");n.classList.add(s);const r=e.iconMap.get(a)||"";return(0,i.isString)(r)?n.innerHTML=r:n.appendChild(r),o.appendChild(n),o}},92882:(e,t,s)=>{"use strict";s.d(t,{trackingModeIsAvailable:()=>i});const i=s(43367).CheckMobile.any()},59726:(e,t,s)=>{"use strict";function i(e,t,s,i,l){function a(l){if(e>l.timeStamp)return;const a=l.target;void 0!==s&&null!==t&&null!==a&&a.ownerDocument===i&&(t.contains(a)||s(l))} return l.click&&i.addEventListener("click",a,!1),l.mouseDown&&i.addEventListener("mousedown",a,!1),l.touchEnd&&i.addEventListener("touchend",a,!1),l.touchStart&&i.addEventListener("touchstart",a,!1),()=>{i.removeEventListener("click",a,!1),i.removeEventListener("mousedown",a,!1),i.removeEventListener("touchend",a,!1),i.removeEventListener("touchstart",a,!1)}}s.d(t,{addOutsideEventListener:()=>i})},75533:(e,t,s)=>{"use strict";s.d(t,{weekDaysShortNames:()=>a,weekDaysMiniNames:()=>o});var i=s(79881),l=s(10165);l.Months.JANUARY,(0,i.t)("January"),l.Months.FEBRUARY,(0,i.t)("February"),l.Months.MARCH,(0,i.t)("March"),l.Months.APRIL,(0,i.t)("April"),l.Months.MAY,(0,i.t)("May"),l.Months.JUNE,(0,i.t)("June"),l.Months.JULY,(0,i.t)("July"),l.Months.AUGUST,(0,i.t)("August"),l.Months.SEPTEMBER,(0,i.t)("September"),l.Months.OCTOBER,(0,i.t)("October"),l.Months.NOVEMBER,(0,i.t)("November"),l.Months.DECEMBER,(0,i.t)("December"),l.Months.JANUARY,(0,i.t)("Jan"),l.Months.FEBRUARY,(0,i.t)("Feb"),l.Months.MARCH,(0,i.t)("Mar"),l.Months.APRIL,(0,i.t)("Apr"),l.Months.MAY,(0,i.t)("May",{context:"short"}),l.Months.JUNE,(0,i.t)("Jun"),l.Months.JULY,(0,i.t)("Jul"),l.Months.AUGUST,(0,i.t)("Aug"),l.Months.SEPTEMBER,(0,i.t)("Sep"),l.Months.OCTOBER,(0,i.t)("Oct"),l.Months.NOVEMBER,(0,i.t)("Nov"),l.Months.DECEMBER,(0,i.t)("Dec"),l.WeekDays.SUNDAY,(0,i.t)("Sunday"),l.WeekDays.MONDAY,(0,i.t)("Monday"),l.WeekDays.TUESDAY,(0,i.t)("Tuesday"),l.WeekDays.WEDNESDAY,(0,i.t)("Wednesday"),l.WeekDays.THURSDAY,(0,i.t)("Thursday"),l.WeekDays.FRIDAY,(0,i.t)("Friday"),l.WeekDays.SATURDAY,(0,i.t)("Saturday");const a={[l.WeekDays.SUNDAY]:(0,i.t)("Sun"),[l.WeekDays.MONDAY]:(0,i.t)("Mon"),[l.WeekDays.TUESDAY]:(0,i.t)("Tue"),[l.WeekDays.WEDNESDAY]:(0,i.t)("Wed"),[l.WeekDays.THURSDAY]:(0,i.t)("Thu"),[l.WeekDays.FRIDAY]:(0,i.t)("Fri"),[l.WeekDays.SATURDAY]:(0,i.t)("Sat")},o={[l.WeekDays.SUNDAY]:(0,i.t)("Su",{context:"day_of_week"}),[l.WeekDays.MONDAY]:(0,i.t)("Mo",{context:"day_of_week"}),[l.WeekDays.TUESDAY]:(0,i.t)("Tu",{context:"day_of_week"}),[l.WeekDays.WEDNESDAY]:(0,i.t)("We",{context:"day_of_week"}),[l.WeekDays.THURSDAY]:(0,i.t)("Th",{context:"day_of_week"}),[l.WeekDays.FRIDAY]:(0,i.t)("Fr",{context:"day_of_week"}),[l.WeekDays.SATURDAY]:(0,i.t)("Sa",{context:"day_of_week"})}},27278:(e,t,s)=>{"use strict";s.d(t,{useWatchedValueReadonly:()=>l});var i=s(67294);const l=(e,t=!1)=>{const s="watchedValue"in e?e.watchedValue:void 0,l="defaultValue"in e?e.defaultValue:e.watchedValue.value(),[a,o]=(0,i.useState)(s?s.value():l);return(t?i.useLayoutEffect:i.useEffect)(()=>{if(s){o(s.value());const e=e=>o(e);return s.subscribe(e),()=>s.unsubscribe(e)}return()=>{}},[s]),a}},98957:e=>{e.exports=''},71902:e=>{ e.exports=''},90710:e=>{e.exports=''},36858:e=>{ e.exports='' },1037:e=>{e.exports=''},42340:e=>{e.exports=''},24335:e=>{e.exports=''},93741:e=>{e.exports=''},93655:e=>{e.exports=''},76297:e=>{ e.exports=''},64844:e=>{e.exports=''},38749:e=>{e.exports=''},82334:e=>{e.exports=''},23906:e=>{e.exports=''},90708:e=>{e.exports=''},72110:e=>{e.exports=''},26924:e=>{ e.exports=''},50379:e=>{e.exports=''},63970:e=>{e.exports=''},89364:e=>{e.exports=''},72897:e=>{e.exports=''},30336:e=>{e.exports=''},24453:e=>{e.exports=''},22226:e=>{e.exports=''},13008:e=>{e.exports=''},11483:e=>{e.exports=''}, 38531:e=>{e.exports=''},57567:e=>{e.exports=''},79632:e=>{e.exports=''},36973:e=>{e.exports=''},4346:e=>{e.exports=''},12633:e=>{e.exports=''},20296:e=>{e.exports=''},8867:e=>{e.exports=''},81669:e=>{e.exports=''},44685:e=>{e.exports=''},83363:e=>{e.exports=''}, 5749:e=>{e.exports=''},70034:e=>{e.exports=''},18866:e=>{e.exports=''},13335:e=>{e.exports=''},42277:e=>{e.exports=''},14836:e=>{e.exports=''},60737:e=>{e.exports=''},2885:e=>{e.exports=''},55270:e=>{ e.exports=''},94964:e=>{e.exports=''},57271:e=>{e.exports=''},59437:e=>{e.exports=''},56635:e=>{e.exports=''},11005:e=>{e.exports=''},52495:e=>{e.exports=''},77679:e=>{ e.exports=''},74077:e=>{e.exports=''}}]);