(window.webpackJsonp=window.webpackJsonp||[]).push([["library"],{"+2Ad":function(e,t,i){"use strict";i.r(t),i.d(t,"setupChartScreenshotHint",(function(){return o}));var s=i("YFKU"),r=i("FQhm"),n=i("Eyy1");function o(e,t){const o=Object(s.t)("Link to the chart image copied to clipboard {emoji}").format({emoji:"👍"}),a=Object(s.t)("Chart image copied to clipboard {emoji}").format({emoji:"👍"});r.on("onServerScreenshotCopiedToClipboard",()=>h(o),null),r.on("onClientScreenshotCopiedToClipboard",()=>h(a),null);let l=null;const c=e.getContainer();function h(e){l?l.show(e):Promise.all([i.e("react"),i.e(84),i.e("chart-screenshot-hint")]).then(i.bind(null,"USSy")).then(i=>{l||(l=new i.ChartScreenshotHintRenderer(Object(n.ensureNotNull)(c),{bottomPadding:t.seriesControlBarEnabled}),l.show(e))})}}},"+6II":function(e,t,i){"use strict";var s=i("8+VR");let r=0,n=0,o=0;function a(){clearTimeout(r),clearTimeout(n),clearTimeout(o)}function l(e,t){r=setTimeout(e,t)}const c="tooltip-root-element";let h;function u(){const e=document.getElementById(c);e?h=e:(h=document.createElement("div"),h.id=c,document.body.appendChild(h))}function d(){h&&(h.innerHTML="")}"interactive"===document.readyState?u():document.addEventListener("DOMContentLoaded",u);var p=i("Eyy1");const _={default:"",white:"theme-white","round-shadow":"theme-round-shadow"},m=Object.keys(_);var f=i("CPmC"),g=i("/DW5"),b=i("gWrr"),v=i("Ialn"),S=(i("HbRj"),i("XAms")),y=i("Hr11"),w=i("qFKp"),P=i("Wo0S");function C(e){const t=e.hasAttribute("data-tooltip")?e.getAttribute("data-tooltip"):e.getAttribute("title");return t&&(Object(f.b)(e,"text",t),e.removeAttribute("title")),Object(f.a)(e,"text")||""}function x(e){const t=E.cloneNode(!0),i=V(t),{content:s}=e;switch(s.type){case"element":i.innerHTML="",i.appendChild(s.data);break;case"html":i.innerHTML=s.data;break;case"text":if(e.hotkey){const e=D.cloneNode(!0);e.innerText=s.data,i.appendChild(e)}else i.innerText=s.data}if(e.hotkey){const t="none"!==s.type,r=k.cloneNode(!0),n=Object(g.a)(e.hotkey),o=n.keys.map(e=>`${e}`);r.innerHTML=function(e,t){return e.replace(/{\d}|{hotkey_\d}/gi,e=>{const i=Number(e.match(/\d/));return t[i]})}(n.text,o).replace(/\s\+\s/g,`+`),i.classList.add(P["common-tooltip__body--with-hotkey"]),t&&r.classList.add(P["common-tooltip__hotkey-block--divider"]),i.appendChild(r)}return t.addEventListener("contextmenu",S.a),t}function T(e,t){const i=t.rect;if(!i)return;!function(e,t){const i=m.includes(t)?_[t]:"";e.classList.remove(...m.map(e=>_[e]).filter(e=>!!e)),i&&!e.classList.contains(i)&&e.classList.add(i)}(e,t.colorTheme||"default"),t.addClass&&e.classList.add(t.addClass);const s=V(e),r=e.querySelector("."+P["common-tooltip__button-container"]);s.classList.toggle(P["common-tooltip__body--width_wide"],Boolean(t.wide)),s.classList.toggle(P["common-tooltip__body--no-padding"],Boolean(t.noPadding)),s.classList.toggle(P["common-tooltip__body--width_narrow"],Boolean(t.narrow)),
s.classList.toggle(P["common-tooltip__body--no-buttons"],!0),s.style.left=M(0),s.style.width=M(s.clientWidth+(Boolean(t.noPadding)?0:2));const n=document.body.clientWidth,o=w.CheckMobile.iOS()||Object(w.supportTouch)()&&Object(w.isMac)()?window.innerHeight:document.body.clientHeight,a=t.vertical,l=t.extendMargin||a&&i.w<20||!a&&i.h<20;e.classList.toggle(P["common-tooltip--farther"],l),e.classList.toggle(P["common-tooltip--vertical"],a),e.classList.toggle(P["common-tooltip--horizontal"],!a);const c=function(e){return e.querySelector("."+P["common-tooltip__ear-holder"])}(e),h=e.offsetHeight;if(a){const a=10,l=o-10,u=12,d=a+u,p=l-u,_=Object(y.clamp)(i.y+i.h/2,d,p)-h/2,m=_+h;e.style.left=M(i.x+i.w),e.style.top=M(_),_l&&(s.style.top=r.style.top=M(l-m));const{right:f}=(e.querySelector(":last-child")||s).getBoundingClientRect(),g=f+10>n;e.classList.toggle(P["common-tooltip--direction_reversed"],g),e.classList.toggle(P["common-tooltip--direction_normal"],!g);let b=g?"after":"before";Object(v.isRtl)()?(b=t.otr?"after":b,b=t.otl?"before":b):(b=t.otr?"before":b,b=t.otl?"after":b),c.classList.toggle(P["common-tooltip__ear-holder--before"],"before"===b),c.classList.toggle(P["common-tooltip__ear-holder--after"],"after"===b),"after"===b&&(e.style.left="auto",e.style.right=M(n-i.x))}else{const a=i.x-(s.offsetWidth-i.w)/2,l=n-10-e.offsetWidth,u=Math.max(10,Math.min(a,l));e.style.left=M(u);const d=l\n\t\t\n\t\t\n\t\n`,L=`\n\t\n`,A=`\n\t\n`,E=Object(b.b)(O),k=Object(b.b)(L),D=Object(b.b)(A);function V(e){return e.querySelector("."+P["common-tooltip__body"])}function B(e,t){return 10+eH(t);if(i()){const e=e=>{e.target instanceof Element&&e.target.contains(t)&&s(null,!0)},s=(r,n=!1)=>{t.removeEventListener("common-tooltip-update",i),t.removeEventListener("mouseleave",s),t.removeEventListener("mousedown",s),document.removeEventListener("scroll",e,{capture:!0}),F&&(F.destroy(),F=null),G(n)};t.addEventListener("common-tooltip-update",i),t.addEventListener("mouseleave",s),t.addEventListener("mousedown",s),document.addEventListener("scroll",e,{capture:!0}),null===F&&(F=Object(R.createGroup)({desc:"Tooltip"}),F.add({desc:"Hide",hotkey:27,handler:s}));break}}}),!0);const W=new MutationObserver(()=>{if(j&&j.options.target){let e;e="isConnected"in j.options.target?j.options.target.isConnected:document.body.contains(j.options.target),e||G()}}),H=(e,t={})=>{const{content:i,...s}=Y(t),r=function(e){const t=C(e),i=e.getBoundingClientRect(),s={h:i.height,w:i.width,x:i.left,y:i.top},r=e.getAttribute("data-color-theme")||"",n=e.classList.contains("common-tooltip-html"),o=parseInt(e.getAttribute("data-tooltip-delay")||""),a=parseInt(e.getAttribute("data-tooltip-debounce")||"");let l={type:"none"};return t&&(l={type:n?"html":"text",data:t}),{above:e.classList.contains("common-tooltip-above"),below:e.classList.contains("common-tooltip-below"),otl:e.classList.contains("common-tooltip-otl"),otr:e.classList.contains("common-tooltip-otr"),vertical:e.classList.contains("common-tooltip-vertical"),hotkey:e.getAttribute("data-tooltip-hotkey"),narrow:e.classList.contains("common-tooltip-narrow"),wide:e.classList.contains("common-tooltip-wide"),colorTheme:r,tooltipDelay:o,tooltipDebounce:a,rect:s,content:l,target:e}}(e),n=Object.assign(r,s);return"none"!==i.type&&(n.content=i),!("none"===n.content.type&&!n.hotkey)&&(n.target=e,U(n),!0)},U=e=>{const t=Y(e),i=x(t);var s;if(j={options:t,element:i},s=i,d(),h&&h.appendChild(s),a(),!N)return I(i),void l(()=>q(i),function(e){return"number"!=typeof e.tooltipDelay||isNaN(e.tooltipDelay)?500:e.tooltipDelay}(t));const{tooltipDebounce:r}=e;"number"!=typeof r||isNaN(r)?q(i):l(()=>q(i),r)};function z(){d(),N=!1,j=null}const G=e=>{if(a(),W.disconnect(),!j)return;if(!e&&!N)return;const{element:t,options:i}=j,s=()=>{t.removeEventListener("mouseleave",s),I(t),e?z():o=setTimeout(()=>{z()},250)};var r,l;i.tooltipHideDelay?(r=()=>{t.querySelector(":hover")?t.addEventListener("mouseleave",s):s()},l=i.tooltipHideDelay,n=setTimeout(r,l)):s()};function q(e){const{options:t}=Object(p.ensureNotNull)(j);if(T(e,t),function(e){e.classList.toggle(P["common-tooltip--hidden"],!1)}(e),W.observe(document,{childList:!0,subtree:!0}),N=!0,t.forceHideOnMove){const e=()=>{
document.removeEventListener("mousemove",e),G()};document.addEventListener("mousemove",e)}}function Y(e){if(function(e){return"content"in e}(e))return e;const{inner:t,html:i,text:s,...r}=e;let n={type:"none"};return t&&(n={type:"element",data:t}),s&&(n={type:i?"html":"text",data:s}),{content:n,...r}}},"+6ja":function(e,t,i){"use strict";i.r(t),i.d(t,"availableTimezones",(function(){return o})),i.d(t,"timezoneIsAvailable",(function(){return a})),i.d(t,"timezoneTitle",(function(){return l}));i("YFKU");var s=i("/+9u");const r=[{id:"Etc/UTC",title:window.t("UTC")},{id:"exchange",title:window.t("Exchange")}],n=[{id:"Africa/Cairo",title:window.t("Cairo"),offset:0},{id:"Africa/Johannesburg",title:window.t("Johannesburg"),offset:0},{id:"Africa/Lagos",title:window.t("Lagos"),offset:0},{id:"America/Argentina/Buenos_Aires",title:window.t("Buenos Aires"),offset:0},{id:"America/Bogota",title:window.t("Bogota"),offset:0},{id:"America/Caracas",title:window.t("Caracas"),offset:0},{id:"America/Chicago",title:window.t("Chicago"),offset:0},{id:"America/El_Salvador",title:window.t("San Salvador"),offset:0},{id:"America/Juneau",title:window.t("Juneau"),offset:0},{id:"America/Lima",title:window.t("Lima"),offset:0},{id:"America/Los_Angeles",title:window.t("Los Angeles"),offset:0},{id:"America/Mexico_City",title:window.t("Mexico City"),offset:0},{id:"America/New_York",title:window.t("New York"),offset:0},{id:"America/Phoenix",title:window.t("Phoenix"),offset:0},{id:"America/Santiago",title:window.t("Santiago"),offset:0},{id:"America/Sao_Paulo",title:window.t("Sao Paulo"),offset:0},{id:"America/Toronto",title:window.t("Toronto"),offset:0},{id:"America/Vancouver",title:window.t("Vancouver"),offset:0},{id:"US/Mountain",title:window.t("Denver"),offset:0},{id:"Asia/Almaty",title:window.t("Almaty"),offset:0},{id:"Asia/Ashkhabad",title:window.t("Ashkhabad"),offset:0},{id:"Asia/Bahrain",title:window.t("Bahrain"),offset:0},{id:"Asia/Bangkok",title:window.t("Bangkok"),offset:0},{id:"Asia/Chongqing",title:window.t("Chongqing"),offset:0},{id:"Asia/Dubai",title:window.t("Dubai"),offset:0},{id:"Asia/Ho_Chi_Minh",title:window.t("Ho Chi Minh"),offset:0},{id:"Asia/Hong_Kong",title:window.t("Hong Kong"),offset:0},{id:"Asia/Jakarta",title:window.t("Jakarta"),offset:0},{id:"Asia/Jerusalem",title:window.t("Jerusalem"),offset:0},{id:"Asia/Kolkata",title:window.t("Kolkata"),offset:0},{id:"Asia/Kuwait",title:window.t("Kuwait"),offset:0},{id:"Asia/Muscat",title:window.t("Muscat"),offset:0},{id:"Asia/Qatar",title:window.t("Qatar"),offset:0},{id:"Asia/Riyadh",title:window.t("Riyadh"),offset:0},{id:"Asia/Seoul",title:window.t("Seoul"),offset:0},{id:"Asia/Shanghai",title:window.t("Shanghai"),offset:0},{id:"Asia/Singapore",title:window.t("Singapore"),offset:0},{id:"Asia/Taipei",title:window.t("Taipei"),offset:0},{id:"Asia/Tehran",title:window.t("Tehran"),offset:0},{id:"Asia/Tokyo",title:window.t("Tokyo"),offset:0},{id:"Atlantic/Reykjavik",title:window.t("Reykjavik"),offset:0},{id:"Australia/Adelaide",title:window.t("Adelaide"),offset:0},{id:"Australia/Brisbane",
title:window.t("Brisbane"),offset:0},{id:"Australia/Perth",title:window.t("Perth"),offset:0},{id:"Australia/Sydney",title:window.t("Sydney"),offset:0},{id:"Europe/Amsterdam",title:window.t("Amsterdam"),offset:0},{id:"Europe/Athens",title:window.t("Athens"),offset:0},{id:"Europe/Belgrade",title:window.t("Belgrade"),offset:0},{id:"Europe/Berlin",title:window.t("Berlin"),offset:0},{id:"Europe/Brussels",title:window.t("Brussels"),offset:0},{id:"Europe/Copenhagen",title:window.t("Copenhagen"),offset:0},{id:"Europe/Dublin",title:window.t("Dublin"),offset:0},{id:"Europe/Helsinki",title:window.t("Helsinki"),offset:0},{id:"Europe/Istanbul",title:window.t("Istanbul"),offset:0},{id:"Europe/Lisbon",title:window.t("Lisbon"),offset:0},{id:"Europe/London",title:window.t("London"),offset:0},{id:"Europe/Luxembourg",title:window.t("Luxembourg"),offset:0},{id:"Europe/Madrid",title:window.t("Madrid"),offset:0},{id:"Europe/Malta",title:window.t("Malta"),offset:0},{id:"Europe/Moscow",title:window.t("Moscow"),offset:0},{id:"Europe/Oslo",title:window.t("Oslo"),offset:0},{id:"Europe/Paris",title:window.t("Paris"),offset:0},{id:"Europe/Riga",title:window.t("Riga"),offset:0},{id:"Europe/Rome",title:window.t("Rome"),offset:0},{id:"Europe/Stockholm",title:window.t("Stockholm"),offset:0},{id:"Europe/Tallinn",title:window.t("Tallinn"),offset:0},{id:"Europe/Vilnius",title:window.t("Vilnius"),offset:0},{id:"Europe/Warsaw",title:window.t("Warsaw"),offset:0},{id:"Europe/Zurich",title:window.t("Zurich"),offset:0},{id:"Pacific/Auckland",title:window.t("New Zealand"),offset:0},{id:"Pacific/Chatham",title:window.t("Chatham Islands"),offset:0},{id:"Pacific/Fakaofo",title:window.t("Tokelau"),offset:0},{id:"Pacific/Honolulu",title:window.t("Honolulu"),offset:0},{id:"Pacific/Norfolk",title:window.t("Norfolk Island"),offset:0}];for(const e of n){const t=Object(s.a)(e.id);e.title=`(${t.string}) ${e.title}`,e.offset=t.offset}n.sort((e,t)=>{const i=e.offset-t.offset;return 0!==i?i:e.title.localeCompare(t.title)});const o=r.concat(n);function a(e){for(let t=0;t{i.setValue(e())});return i.readonly().spawn(()=>t.unsubscribeAll(s))}},"+FzY":function(e,t,i){"use strict";i.d(t,"a",(function(){return r}));var s=i("VymR");function r(e,t){let i="";return s.a.parse(e,e=>(i=s.a.base+("svg"===t?`svg/${e}.svg`:`72x72/${e}.png`),!1)),i}},"+GxX":function(e,t,i){"use strict";var s=i("VVxS").TVLocalStorage,r=i("aIyQ");i("qFKp");var n=new r;TradingView.FeatureToggle={force_prefix:"forcefeaturetoggle.",onChanged:new r,enableFeature:function(e){s.setItem(this.force_prefix+e,"true"),n.fire(e)},disableFeature:function(e){s.setItem(this.force_prefix+e,"false"),n.fire(e)},resetFeature:function(e){s.removeItem(this.force_prefix+e),n.fire(e)},onFeaturesStateChanged:function(){return n}},
TradingView.isFeatureEnabled=function(e){function t(e){try{var t=(void 0)(e+function(){if(window.user&&window.user.id)return window.user.id;var e=s.getItem("featuretoggle_seed");return null!==e||(e=Math.floor(1e6*Math.random()),s.setItem("featuretoggle_seed",e)),e}());return new DataView(t).getUint32(0,!0)/4294967296}catch(e){return.5}}return function(i){return!("local"!==window.environment||!function(e){return-1===["broker_FXCM_token_v2","broker_TRADESTATION_V3","broker_TRADOVATE_dev","black_friday_mainpage","black_friday_popup","datawindow","trading-fast-renew-oauth-token","switching_trial_year_to_month_disabled","switching_year_to_month_disabled","default_year_billing_cycle_switcher","marketing-analytics","disable_obs_streaming","google-ads","visible_address_fields_by_default","slow-support-warning","hide-trading-floating-toolbar","tvcoins_donations","save-short-streams","details_disable_bid_ask","vat_disabled","pro_plan_upgrades_disabled","pro_plan_downgrades_disabled","video-ideas-new-api","unit_conversion","disable_recaptcha_on_signup","braintree-trial-implementation","braintree-gopro-in-order-dialog","trial-weekly","braintree-apple-pay","braintree-google-pay","braintree-apple-pay-trial","braintree-google-pay-trial","hide_gopro_popup_upgrade_button","yandex_metric_enabled","broker_id_session","remove_line_tools_from_content","chart_storage_with_broker_name","autosave_line_tools_immediately","log_removing_line_tools_group","oanda-european-accounts-warning","mobile_show_bottom_panel","disable_save_settings","enable_non_unique_watch_sections","desktop_version_notification_enabled","paperrest_2fa","paperrest_preview","favorites-in-broker-dropdown","streams_stats_profile","hide_ecomonic_events","aggregating_page_pings","hide_alert_counter","mobile_menu_alert_button","show_reverse_on_active_source_only","mobile_trading_web","mobile_trading_ios","mobile_trading_android","hide_real_brokers_on_mobile","percentage_values_for_percentage_scale","hide_historical_price_label","hide_ranges_label_colors","new_align_trading_sources"].indexOf(e)&&-1===e.indexOf("-maintenance")&&!1===/broker_[A-Z]+[a-zA-Z0-9_]+_dev/g.test(e)}(i))||(!e[i]||-1!==e[i])&&(!!("true"===s.getItem(TradingView.FeatureToggle.force_prefix+i)||window.is_authenticated&&"undefined"!=typeof user&&user.settings&&"true"===user.settings[TradingView.FeatureToggle.force_prefix+i])||!("false"===s.getItem(TradingView.FeatureToggle.force_prefix+i)||window.is_authenticated&&"undefined"!=typeof user&&user.settings&&"false"===user.settings[TradingView.FeatureToggle.force_prefix+i])&&(!!e[i]&&(1===e[i]||t(i)<=e[i])))}}(window.featureToggleState||{}),t.FeatureToggle=TradingView.FeatureToggle,t.isFeatureEnabled=TradingView.isFeatureEnabled,t.onFeaturesStateChanged=TradingView.FeatureToggle.onFeaturesStateChanged.bind(TradingView.FeatureToggle)},"+PIq":function(e,t,i){"use strict";i.r(t);var s=i("ocLq");function r(e,t,i){const r={slope:NaN,average:NaN,intercept:NaN,stdDev:NaN,upDev:NaN,downDev:NaN,pearsons:NaN};return 0===e.length||(function(e,t){let i=0,s=0,r=0,n=0
;for(let t=0;tn&&(n=d),d=u-i[s],d>o&&(o=d),d=e[s];const _=d-r.average,m=u-p;d-=u,a+=d*d,l+=_*_,c+=m*m,h+=_*m,u+=r.slope}r.stdDev=Math.sqrt(a/(0===d?1:d)),r.pearsons=s.Std.isZero(l)||s.Std.isZero(c)?0:h/Math.sqrt(l*c),r.upDev=n,r.downDev=o}(e,t,i,r)),r}i.d(t,"regressionTrendStudyItem",(function(){return n}));const n={name:"Regression Trend",metainfo:{_metainfoVersion:51,description:"Regression Trend",format:{type:"inherit"},id:"RegressionTrend@tv-basicstudies-144",is_hidden_study:!0,is_price_study:!0,shortDescription:"Reg Trend",defaults:{inputs:{"first bar time":0,"last bar time":0,"lower diviation":-2,source:"close","upper diviation":2,"use lower diviation":!0,"use upper diviation":!0}},inputs:[{defval:2,id:"upper diviation",max:500,min:-500,name:"Upper Deviation",type:"float"},{defval:-2,id:"lower diviation",max:500,min:-500,name:"Lower Deviation",type:"float"},{defval:!0,id:"use upper diviation",name:"Use Upper Deviation",type:"bool"},{defval:!0,id:"use lower diviation",name:"Use Lower Deviation",type:"bool"},{defval:0,id:"first bar time",isHidden:!0,max:253370764800,min:-253370764800,name:"First bar time",type:"time"},{defval:0,id:"last bar time",isHidden:!0,max:253370764800,min:-253370764800,name:"Last bar time",type:"time"},{defval:"close",id:"source",name:"Source",options:["open","high","low","close","hl2","hlc3","ohlc4"],type:"source"}],plots:[]},constructor:class{constructor(){this._resultSent=!1}init(e,t){this._resultSent=!1,this._data={baseLine:{startPrice:NaN,endPrice:NaN},upLine:{startPrice:NaN,endPrice:NaN},downLine:{startPrice:NaN,endPrice:NaN},pearsons:NaN,startIndex__t:NaN,endIndex__t:NaN}}main(e,t){const i=t(6),n=e.new_unlimited_var(s.Std.time(e)),o=e.new_unlimited_var(s.Std.high(e)),a=e.new_unlimited_var(s.Std.low(e)),l=e.new_unlimited_var(s.Std[i](e));if(!e.symbol.isLastBar)return null;if(this._resultSent)return null;const c=t(0),h=t(1),u=t(2),d=t(3),p=t(4),_=t(5),m=n.indexOf(p),f=n.indexOf(_),g=[],b=[],v=[],S=[];for(let e=m;e>=f;--e)g.push(n.get(e)),b.push(o.get(e)),v.push(a.get(e)),S.push(l.get(e));return this._updateData(g,u,c,d,h,p,_,r(S,b,v)),this._resultSent=!0,{type:"non_series_data",nonseries:!0,data:{data:this._data}}}_updateData(e,t,i,s,r,n,o,a){const l=e.length-1;this._data.baseLine.startPrice=a.intercept,this._data.baseLine.endPrice=a.intercept+a.slope*l;const c=a.intercept+(t?a.stdDev*i:a.upDev);this._data.upLine.startPrice=c,this._data.upLine.endPrice=c+a.slope*l;const h=a.intercept+(s?a.stdDev*r:-a.downDev);this._data.downLine.startPrice=h,this._data.downLine.endPrice=h+a.slope*l,this._data.pearsons=a.pearsons,this._data.startIndex__t=n,this._data.endIndex__t=o}}}},"+Qfv":function(e,t,i){"use strict";i.r(t)
;var s=i("Eyy1"),r=i("O+9b"),n=i("ocLq"),o=i("23IT"),a=i("KG+6"),l=i("LxhU"),c=i("8LSp"),h=i("iu9X"),u=i("c7G1"),d=i("WYmP"),p=i("hXqA"),_=i("WTyR"),m=i("972a"),f=i("aR4w");class g extends f.a{constructor(e,t,i,s,r,n,o,a,l,c,h,u){super(e,t,i,n,o,a,!1,l,c,()=>h,u,s,r,!1),this._firstBarTime=s,this._lastBarTime=r}update(e){this._supplyRowsLayout(this._ctx),this.timeInRequestedRange(e)&&super.update(e)}timeInRequestedRange(e){const t=this._timeScale().get(e);return this._firstBarTime<=t&&t=this._firstBarTime){const e=this._developingPocSeries.getLeftOrEqual(n),t=this._developingVAHighSeries.getLeftOrEqual(n),i=this._developingVALowSeries.getLeftOrEqual(n);r.data.push([e,t,i])}else r.data.push([NaN,NaN,NaN])}return r}time(){return this._timeSeries}open(){return this._openSeries}high(){return this._highSeries}low(){return this._lowSeries}close(){return this._closeSeries}volume(){return this._volumeSeries}developingPoc(){return this._developingPocSeries}developingVAHigh(){return this._developingVAHighSeries}developingVALow(){return this._developingVALowSeries}}function S(e){return{constructor:v,name:e.description,metainfo:{_metainfoVersion:51,shortDescription:"VPFR",format:{type:"volume"},is_price_study:!0,defaults:{graphics:{hhists:{histBars2:{colors:["#1592e6","#fbc123"],direction:a.a.LeftToRight,percentWidth:30,showValues:!1,transparencies:[76,76],valuesColor:"#424242",visible:!0},histBarsVA:{colors:["#1592e6","#fbc123"],direction:a.a.LeftToRight,percentWidth:30,showValues:!1,transparencies:[30,30],valuesColor:"#424242",visible:!0}},horizlines:{pocLines:{color:"#ff0000",style:m.b.Solid,visible:!0,width:2}},polygons:{histBoxBg:{color:"#37a6ef",transparency:94}}},inputs:{first_bar_time:0,last_bar_time:0,rows:24,rowsLayout:"Number Of Rows",subscribeRealtime:!0,vaVolume:70,volume:"Up/Down"},styles:{developingPoc:{color:"#ff0000",linestyle:m.b.Solid,linewidth:1,plottype:o.LineStudyPlotStyle.StepLine,trackPrice:!1,transparency:0,visible:!1},developingVAHigh:{color:"#0000ff",linestyle:m.b.Solid,linewidth:1,plottype:o.LineStudyPlotStyle.StepLine,trackPrice:!1,transparency:0,visible:!1},developingVALow:{color:"#0000ff",linestyle:m.b.Solid,linewidth:1,plottype:o.LineStudyPlotStyle.StepLine,trackPrice:!1,transparency:0,visible:!1}}},graphics:{hhists:{histBars2:{location:a.b.Absolute,
title:"Volume Profile",titles:["Up Volume","Down Volume"]},histBarsVA:{location:a.b.Absolute,title:"Value Area",titles:["Value Area Up","Value Area Down"]}},horizlines:{pocLines:{name:"POC",showPrice:!0}},polygons:{histBoxBg:{mouseTouchable:!1,name:"Histogram Box",showBorder:!1}}},inputs:[{defval:"Number Of Rows",id:"rowsLayout",name:"Rows Layout",options:["Number Of Rows","Ticks Per Row"],type:"text"},{defval:24,id:"rows",max:1e6,min:1,name:"Row Size",type:"integer"},{defval:"Up/Down",id:"volume",name:"Volume",options:["Up/Down","Total"],type:"text"},{defval:0,id:"first_bar_time",isHidden:!0,max:253370764800,min:-253370764800,name:"First Bar Time",type:"time"},{defval:0,id:"last_bar_time",isHidden:!0,max:253370764800,min:-253370764800,name:"Last Bar Time",type:"time"},{defval:70,id:"vaVolume",max:100,min:0,name:"Value Area Volume",type:"integer"},{defval:!0,id:"subscribeRealtime",isHidden:!0,name:"SubscribeRealtime",type:"bool"}],plots:[{id:"developingPoc",type:"line"},{id:"developingVAHigh",type:"line"},{id:"developingVALow",type:"line"}],styles:{developingPoc:{histogramBase:0,title:"Developing Poc"},developingVAHigh:{histogramBase:0,title:"Developing VA High"},developingVALow:{histogramBase:0,title:"Developing VA Low"}},...e}}}const y=S({id:"VbPFixed@tv-volumebyprice-57",description:"Volume Profile Fixed Range"}),w=S({id:"VbPFixed@tv-basicstudies-152",description:"Fixed Range",is_hidden_study:!0})},"+cnz":function(e,t){e.exports=''},"+hLl":function(e,t,i){"use strict";i.r(t),i.d(t,"LineToolBrush",(function(){return o}));var s=i("Ocx9"),r=i("DVnF"),n=i("j3hX");class o extends r.a{constructor(e,t){super(e,t||o.createProperties()),this._loadPaneViews(e)}properties(){return super.properties()}smooth(){return this.properties().childs().smooth.value()}name(){return"Brush"}hasEditableCoordinates(){return!1}static createProperties(e){const t=new s.DefaultProperty("linetoolbrush",e);return o._configureProperties(t),t}_loadPaneViews(e){i.e("lt-pane-views").then(i.bind(null,"00XE")).then(t=>{this._setPaneViews([new t.BrushPaneView(this,e)])})}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(27),i.e(62),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"ZSes")).then(e=>e.BrushDefinitionsViewModel)}static _configureProperties(e){r.a._configureProperties(e),e.addChild("backgroundsColors",new n.LineToolColorsProperty([e.childs().backgroundColor],e.childs().fillBackground))}}},"+jnJ":function(e,t,i){"use strict";i.d(t,"a",(function(){return a}));i("YFKU");var s=i("8+VR"),r=i("m/cY"),n=i("Vdly");function o(e){return"alwaysOn"===e||"alwaysOff"===e?e:"visibleOnMouseOver"}function a(e,t){let i,a;function l(){if(!i){i=Object(r.a)();let s=n.getValue(e);void 0===s&&void 0!==t&&(s=n.getValue(t)),i.setValue(o(s)),i.subscribe(i,t=>{n.setValue(e,o(t.value()))})}return i}return{property:l,availableValues:function(){return[{id:"visibleOnMouseOver",
value:"visibleOnMouseOver",title:window.t("Visible on Mouse Over")},{id:"alwaysOn",value:"alwaysOn",title:window.t("Always Visible")},{id:"alwaysOff",value:"alwaysOff",title:window.t("Always Invisible")}]},actualBehavior:function(){if(!a){a=Object(r.a)();const e=l(),t=()=>{let t=e.value();"alwaysOn"!==t&&"alwaysOff"!==t&&(t=s.mobiletouch?"alwaysOn":"visibleOnMouseOver"),a&&a.setValue(t)};e.subscribe(a,t),t()}return a}}}},"/+9u":function(e,t,i){"use strict";i.d(t,"a",(function(){return r}));var s=i("jCNj");function r(e,t=Date.now()){const i=Object(s.get_timezone)(e).offset_utc(t);let r="";const n=i/1e3/60/60;n%1&&(r=":"+n%1*60);let o="";return o=n>0?"+"+(n-n%1)+r:0===n?"":String(n-n%1+r),{offset:i,string:"UTC"+o}}},"//lZ":function(e,t,i){"use strict";i.r(t),i.d(t,"doAnimate",(function(){return n}));const s={from:0,duration:250,easing:i("9uLv").c.easeOutCubic};class r{constructor(e){this._doing=!0,this._completed=!1,this._options={...s,...e};const t=performance.now();window.requestAnimationFrame(e=>{this._animation(t,this._options.from,e)})}stop(){this._doing=!1}completed(){return this._completed}_animation(e,t,i){if(!this._doing)return void this._finishAnimation();const s=(i=!i||i<1e12?performance.now():i)-e,r=s>=this._options.duration||t===this._options.to,n=(o=this._options.from,a=this._options.to,l=this._options.easing(s/this._options.duration),o*(1-l)+a*l);var o,a,l;const c=r?this._options.to:n,h=c-t;this._options.onStep(h,c),r?this._finishAnimation():window.requestAnimationFrame(t=>{this._animation(e,c,t)})}_finishAnimation(){this._options.onComplete&&this._options.onComplete(),this._completed=!0}}function n(e){return new r(e)}},"//lt":function(e,t,i){"use strict";var s;i.r(t),i.d(t,"PaneCursorType",(function(){return s})),function(e){e[e.Default=0]="Default",e[e.Pointer=1]="Pointer",e[e.Eraser=2]="Eraser",e[e.Dot=3]="Dot",e[e.Grabbing=4]="Grabbing",e[e.ZoomIn=5]="ZoomIn",e[e.VerticalResize=6]="VerticalResize",e[e.HorizontalResize=7]="HorizontalResize",e[e.DiagonalNeSwResize=8]="DiagonalNeSwResize",e[e.DiagonalNwSeResize=9]="DiagonalNwSeResize"}(s||(s={}))},"/3z9":function(e,t,i){"use strict";i.r(t),i.d(t,"isMacKeyboard",(function(){return r})),i.d(t,"Modifiers",(function(){return n})),i.d(t,"modifiersFromEvent",(function(){return o})),i.d(t,"hashFromEvent",(function(){return a})),i.d(t,"humanReadableModifiers",(function(){return l})),i.d(t,"humanReadableHash",(function(){return h}));var s=i("qFKp");const r=Object(s.isMac)()||s.CheckMobile.iOS();var n;function o(e){let t=0;return e.shiftKey&&(t+=1024),e.altKey&&(t+=512),e.ctrlKey&&(t+=256),e.metaKey&&(t+=2048),t}function a(e){return o(e)|e.keyCode}function l(e){let t="";return 256&e&&(t+=r?"^":"Ctrl + "),512&e&&(t+=r?"⌥":"Alt + "),1024&e&&(t+=r?"⇧":"Shift + "),2048&e&&(t+=r?"⌘":"Win + "),t}!function(e){e[e.None=0]="None",e[e.Alt=512]="Alt",e[e.Shift=1024]="Shift",e[e.Mod=r?2048:256]="Mod",e[e.Control=256]="Control",e[e.Meta=2048]="Meta"}(n||(n={}));const c={9:"⇥",13:"↵",27:"Esc",8:r?"⌫":"Backspace",32:"Space",35:"End",36:"Home",37:"←",38:"↑",39:"→",40:"↓",
45:"Ins",46:"Del",188:",",191:"/"};for(let e=1;e<=16;e++)c[e+111]="F"+e;function h(e){let t=l(e);const i=255&e;return t+=i in c?c[i]:String.fromCharCode(i),t}},"/5ju":function(e,t,i){"use strict";i.r(t);var s=i("Kxc7"),r=i("hY0g"),n=i.n(r),o=i("FQhm"),a=i("htUT"),l=i("/z0S"),c=i("YFKU");i("HbRj"),i("+GxX");i("zUrt");async function h(){return!0}var u=i("fZEr");class d{constructor(e,t){this._visibility=new n.a(!1),this._chartWidgetCollection=e,this._doSave=t}hide(){var e;null===(e=this._hide)||void 0===e||e.call(this),this._visibility.setValue(!1)}visible(){return this._visibility.readonly()}}class p extends d{cloneChart(){this._cloneChart().then(()=>this._visibility.setValue(!0))}show(){Object(l.a)(this.cloneChart.bind(this),{source:"Clone chart"})}async _cloneChart(){const e=this._chartWidgetCollection,t=await h(),i=e.metaInfo.name.value();t&&(this._hide=await Object(u.showRename)({title:Object(c.t)("Copy Chart Layout"),text:Object(c.t)("Enter a new chart layout name")+":",maxLength:64,initValue:Object(c.t)("{title} copy",{context:"ex: AAPL chart copy"}).format({title:e.metaInfo.name.value()}),onRename:({newValue:t,dialogClose:r})=>{s.enabled("saveload_storage_customization")&&(e.metaInfo.uid.deleteValue(),e.metaInfo.id.deleteValue(),e.metaInfo.name.setValue(t),this._doSave(void 0,void 0,()=>{e.metaInfo.name.setValue(i)})),r()},onClose:()=>this._visibility.setValue(!1)}))}}class _ extends d{show(e,t,i){this._saveNewChart(e,t,i).then(()=>this._visibility.setValue(!0))}async _saveNewChart(e,t,i){const s=this._chartWidgetCollection,r=s.metaInfo.name.value();await h()&&(this._hide=await Object(u.showRename)({title:Object(c.t)("Save New Chart Layout"),text:Object(c.t)("Enter a new chart layout name")+":",maxLength:64,initValue:r,onRename:({newValue:n,dialogClose:o})=>{s.metaInfo.name.setValue(n),this._doSave(e,t,()=>{s.metaInfo.name.setValue(r),null==i||i()}),o()},onClose:()=>this._visibility.setValue(!1)}))}}class m extends d{show(){this._renameChart(),this._visibility.setValue(!0)}_renameChart(){Object(l.a)(async()=>{const e=this._chartWidgetCollection,t=e.metaInfo.name.value();this._hide=await Object(u.showRename)({title:Object(c.t)("Rename Chart Layout"),text:Object(c.t)("Enter a new chart layout name")+":",maxLength:64,initValue:t,onRename:({newValue:i,dialogClose:s})=>{e.metaInfo.name.setValue(i),this._doSave(void 0,void 0,()=>{e.metaInfo.name.setValue(t)}),s()},onClose:()=>this._visibility.setValue(!1)})},{source:"Rename chart"})}}i.d(t,"SaveChartService",(function(){return f}));class f{constructor(e,t){this._autosaveTimer=null,this._watchedAutoSaveEnabled=new n.a,this._toggleAutoSaveEnabledHandler=this._toggleAutoSaveEnabled.bind(this),this._doSave=(e,t,i,s)=>{const r=this._chartWidgetCollection;void 0!==e&&e(),this._chartSaver.saveChartSilently(e=>{var i;i=r.metaInfo.uid.value(),"/chart/"===location.pathname&&(location.href="/chart/"+i),void 0!==t&&t(e)},()=>{void 0!==i&&i()},{autoSave:Boolean(s)})},this._chartWidgetCollection=e,this._chartSaver=t,this._createController=new _(e,this._doSave),
this._renameController=new m(e,this._doSave),this._saveAsController=new p(e,this._doSave),this._chartChangesWatcher=new a.ChartChangesWatcher(e.undoHistory,t,o),e.saveKeysPressed().subscribe(this,this.saveChartOrShowTitleDialog),this._chartChangesWatcher.getOnChange().subscribe(this,this._onStateChanged)}autoSaveEnabled(){return this._watchedAutoSaveEnabled}destroy(){0}getCreateController(){return this._createController}getRenameController(){return this._renameController}getSaveAsController(){return this._saveAsController}cloneChart(){this._saveAsController.cloneChart()}saveChartAs(){this._saveAsController.show()}renameChart(){this._renameController.show()}saveNewChart(e,t,i){this._createController.show(e,t,i)}saveExistentChart(e,t,i){this._doSave(e,t,i)}hasChanges(){return this._chartChangesWatcher.hasChanges()}saveChartOrShowTitleDialog(e,t,i){const s=window.saver.isSaveInProcess(),r=this._chartChangesWatcher.hasChanges(),n=!!this._chartWidgetCollection.metaInfo.id.value();window.is_authenticated&&(s||!r&&n)||Object(l.a)(()=>{null!=this._chartWidgetCollection.metaInfo.id.value()?this.saveExistentChart(e,t,i):this.saveNewChart(e,t,i)},{source:"Save chart",sourceMeta:"Chart"})}whenReadyToSave(e){this._chartSaver.whenReadyToSave(e)}saveToJSON(){return this._chartSaver.saveToJSON()}saveChartSilently(e,t,i){this._chartSaver.saveChartSilently(e,t,i)}setAutoSaveEnabled(e){window.is_authenticated&&window.saver.isSaveInProcess()||Object(l.a)(()=>{this._watchedAutoSaveEnabled.setValue(e)},{source:"AutoSave chart"})}saveChartLineTools(e,t){return this._chartSaver.saveChartLineTools(e,t)}_autoSaveEnabledSettingHandler(e){0}_toggleAutoSaveEnabled(e){0}_enableAutoSave(){0}_disableAutoSave(){0}_onStateChanged(e){e?this._startAutosave():this._stopAutosave()}_startAutosave(){s.enabled("charts_auto_save")&&null===this._autosaveTimer&&(this._autosaveTimer=setTimeout(()=>{this._autosaveTimer=null,this._chartWidgetCollection.metaInfo.id.value()&&this._doSave(void 0,void 0,void 0,!0)},6e4))}_stopAutosave(){null!==this._autosaveTimer&&(clearInterval(this._autosaveTimer),this._autosaveTimer=null)}}},"/DW5":function(e,t,i){"use strict";i.d(t,"b",(function(){return r})),i.d(t,"a",(function(){return n}));var s=i("CLNU");function r(e){return Object(s.clean)(JSON.stringify(e))}function n(e){return JSON.parse(Object(s.clean)(e,!0))}},"/DxK":function(e,t,i){"use strict";i.r(t),i.d(t,"LineToolHorzLine",(function(){return l}));var s=i("tc+8"),r=i.n(s),n=i("Ocx9"),o=i("Ss5c"),a=i("p1SQ");class l extends o.LineDataSource{constructor(e,t){super(e,t||l.createProperties()),this._priceAxisView=new a.LineToolHorzLinePriceAxisView(this),i.e("lt-pane-views").then(i.bind(null,"ckl+")).then(({HorzLinePaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}state(e){const t=super.state(e);return t.points&&0!==t.points.length&&(t.points[0].offset=0),t}pointsCount(){return 1}name(){return"Horizontal Line"}priceAxisViews(e,t){
return this.isSourceHidden()?null:t===this.priceScale()&&this.properties().showPrice.value()&&this._model.paneForSource(this)===e?[this._priceAxisView]:null}timeAxisViews(){return null}timeAxisPoints(){return[]}updateAllViews(){super.updateAllViews(),this._priceAxisView.update()}canHasAlert(){return!0}template(){const e=super.template();return e.text=this.properties().childs().text.value(),e.showLabel=this.properties().childs().showLabel.value(),e}static createProperties(e){const t=new n.DefaultProperty("linetoolhorzline",e);return l._configureProperties(t),t}_getAlertPlots(){return[this.points()[0].price]}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(27),i.e(62),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"NEbb")).then(e=>e.HorizontalLineDefinitionsViewModel)}_applyTemplateImpl(e){super._applyTemplateImpl(e),this.properties().childs().text.setValue(e.text||""),this.properties().childs().showLabel.setValue(Boolean(e.showLabel))}static _configureProperties(e){o.LineDataSource._configureProperties(e),e.hasChild("text")||e.addChild("text",new r.a("")),e.addExclusion("text"),e.addExclusion("showLabel")}}},"/G2Z":function(e,t,i){"use strict";(function(e){i("xdS3");var t,s=i("Eyy1").assert;i("fPdn"),i("wZIs"),i("WmDe"),JSON.parse(urlParams.disabledFeatures).forEach((function(t){e.setEnabled(t,!1)})),JSON.parse(urlParams.enabledFeatures).forEach((function(t){e.setEnabled(t,!0)})),null!=(t=window.parent[window.urlParams.uid].settingsAdapter)?(TVSettings.setSettingsAdapter(t),TVSettings.sync()):e.enabled("use_localstorage_for_settings")&&TVSettings.sync();var r=i("UlDV").RestrictedToolsetBootloader,n=i("I4UZ").HeaderToolbarBootloader,o=i("9zVu").DrawingToolbarBootloader,a=i("OiSa").isDrawingToolbarVisible;(0,i("8+VR").setClasses)();var l=i("EsvI"),c=i("oiZD").setTheme,h=i("JcHK"),u=i("Ery9"),d=i("lxNp"),p=i("n0Bl").migrateShortcut,_=i("RXmj").ChartSaver,m=i("/5ju").SaveChartService,f=i("lA7n").LoadChartService,g=i("F58L").StudyTemplates,b=i("54XG").FavoriteStudyTemplateService,v=i("PT1i").linking,S=i("FQhm"),y=i("kcTO").formatterOptions,w=i("iboI").customFormatters,P=i("JT5O").StudyMarket,C=i("FBuY").TVXWindowEvents,x=i("jofe").createDeferredPromise,T=i("FIi8").deepExtend,I=i("e3/o").randomHash,M=i("/qn+").convertPropertyToWatchedValue,O=i("1ANp").property,L=i("RspR").property,A=i("3t3b").dateFormatProperty,E=i("UXvI").default,k=i("LxhU").Interval,D=i("lW/c").Root,V=i("NsVT").ChartPage,B=i("IWXC").destroyQuoteSessions,R=i("uDHo").TIMEFRAMETYPE,N=new V(new D(window).allocate()),j=N.allocate({areaName:"center"}),F=(N.allocate({areaName:"tradingpanel"}),window.parent[urlParams.uid].brokerFactory,Boolean(!1)),W=i("vPbs").CHART_WIDGET_COLLECTION_SERVICE,H=i("eqEH");i("Wh/T");var U=i("/Y2c"),z=i("g5Qf").createFavoriteDrawingToolbar,G=i("x5Tw").setupChartEventHint,q=i("+2Ad").setupChartScreenshotHint,Y=i("EX27"),K=i("0YCj"),J=i("9nLJ");i("2cgs"),i("vIQA")
;var Z=i("K5cv").setSearchRequestDelay,X=i("dfhE"),$=i("ocLq"),Q=i("qE4g").addBrandingSource,ee=i("6vtU").setAdditionalSymbolInfoFields,te=i("kNVT").setSymbolSearchCompleteOverrideFunction,ie=i("fRER").DropdownApi,se=window.parent[urlParams.uid].getCustomIndicators,re=x(),ne=x(),oe=e.enabled("left_toolbar");if(Promise.all([re.promise,ne.promise]).then((function(){window.ChartApiInstance.start()})),"function"==typeof se){var ae=se($);ae&&ae.then?ae.then((function(e){if(!Array.isArray(e))return console.warn("custom_indicators_getter should be a function that returns a Promise object which result is an array of custom indicators"),void re.resolve();JSServer.studyLibrary.push.apply(JSServer.studyLibrary,e),re.resolve(),console.log("{0} custom indicators loaded.".format(e.length))})).catch((function(e){console.warn("Error loading custom indicators "+e),re.resolve()})):(console.warn("custom_indicators_getter should be a function that returns a Promise object"),re.resolve())}else re.resolve();window.widgetReady=function(e){S.subscribe("onChartReady",e)};var le=urlParams.theme&&urlParams.theme.toLowerCase();function ce(e){window.__defaultsOverrides=window.__defaultsOverrides||{},T(window.__defaultsOverrides,e),void 0!==TradingView.defaultProperties&&void 0!==TradingView.defaultProperties.chartproperties&&(window.applyDefaultsOverrides(TradingView.defaultProperties.chartproperties),window.applyDefaultOverridesToLinetools())}!function(e){l.themes[e]&&c(e)}(le),window.applyStudiesOverrides=function(e){e&&(window.chartWidgetCollection?window.chartWidgetCollection.applyStudiesOverrides(e):K.mergeDefaultsOverrides(e))},window.applyOverrides=function(e){ce(e),window.chartWidgetCollection&&window.chartWidgetCollection.applyOverrides(e)},window.doWhenApiIsReady=function(e){window.tradingViewApi?e():ne.promise.then(e)},window.applyTradingCustomization=function(e){for(var t in e.order)TradingView.defaultProperties.linetoolorder[t]=e.order[t];for(var t in e.position)TradingView.defaultProperties.linetoolposition[t]=e.position[t]},window.changeTheme=function(e,t){var i=l.themes[e.toLowerCase()];return i?window.tradingViewApi.themes().setStdTheme(i.name,!0,t&&t.disableUndo):Promise.resolve()},window.getTheme=function(){return window.tradingViewApi.themes().getCurrentThemeName()},window.is_authenticated=!1;JSON.parse(window.urlParams.brokerConfig);window.t("charts by TradingView"),window.t("powered by TradingView"),window.t("by TradingView");var he=null,ue=x(),de=null,pe=function(){if(e.setEnabled("charting_library_debug_mode","true"===urlParams.debug),e.setEnabled("chart_property_page_trading",!1),e.enabled("remove_library_container_border")){var t=document.querySelector("#library-container");null!==t&&(t.style.border="0px",t.style.padding="1px")}e.enabled("no_min_chart_width")&&(window.document.body.style.minWidth="0px"),null!=urlParams.studiesOverrides&&K.mergeDefaultsOverrides(JSON.parse(urlParams.studiesOverrides)),s(void 0===TradingView.defaultProperties,"Default properties are inited before applying overrides"),
ce(JSON.parse(urlParams.overrides)),urlParams.numeric_formatting=urlParams.numeric_formatting&&JSON.parse(urlParams.numeric_formatting),urlParams.numeric_formatting&&"string"==typeof urlParams.numeric_formatting.decimal_sign&&(y.decimalSign=urlParams.numeric_formatting.decimal_sign[0]),window.ChartApiInstance=new Y(window.parent[urlParams.uid].datafeed),window.parent[urlParams.uid].customFormatters&&(window.parent[urlParams.uid].customFormatters.timeFormatter&&(w.timeFormatter=window.parent[urlParams.uid].customFormatters.timeFormatter),window.parent[urlParams.uid].customFormatters.dateFormatter&&(w.dateFormatter=window.parent[urlParams.uid].customFormatters.dateFormatter),window.parent[urlParams.uid].customFormatters.tickMarkFormatter&&(w.tickMarkFormatter=window.parent[urlParams.uid].customFormatters.tickMarkFormatter)),window.ChartApiInstance.setStudiesAccessController(window.ChartApiInstance.createStudiesAccessController(urlParams.studiesAccess));var c=urlParams.chartContent?JSON.parse(urlParams.chartContent).json:void 0,u=urlParams.chartContentExtendedData?JSON.parse(urlParams.chartContentExtendedData):c?c.extendedData:void 0,d=urlParams.interval||"D",p=function(e){var t=/(\d+)(\w+)/;return e.map((function(e){var i=t.exec(e.text),s=i[2].toLowerCase(),r=parseInt(i[1]),n="y"===s?12*r+"M":r+s,o=k.parse(e.resolution);return{text:window.t(e.title)||r+window.t(s,{context:"dates",count:r}),description:e.description||"",value:{value:n.toUpperCase(),type:R.PeriodBack},targetResolution:o.value(),requiresIntraday:o.isIntraday()}}))}(JSON.parse(urlParams.timeFrames)),x={resizerBridge:j,padding:e.enabled("border_around_the_chart")?2:0,content:c,widgetOptions:{addToWatchlistEnabled:!1,hideIdeas:!0,addVolume:window.ChartApiInstance.studiesAccessController.isToolEnabled("Volume"),muteSessionErrors:!0,timezone:urlParams.timezone,defSymbol:urlParams.symbol,defInterval:d,compareSymbols:urlParams.compareSymbols&&JSON.parse(urlParams.compareSymbols),defTimeframe:urlParams.timeframe,paneContextMenuEnabled:e.enabled("pane_context_menu"),paneContextMenu:{mainSeriesTrade:F},priceScaleContextMenuEnabled:e.enabled("scales_context_menu"),currencyConversionEnabled:e.enabled("pricescale_currency"),unitConversionEnabled:e.enabled("pricescale_unit"),legendWidgetEnabled:e.enabled("legend_widget"),legendWidget:{contextMenu:{settings:e.enabled("show_chart_property_page"),showOpenMarketStatus:e.enabled("display_market_status")}},sourceStatusesWidget:{errorSolution:!1},marketStatusWidgetEnabled:e.enabled("display_market_status"),marketStatusWidget:{preMarketSolution:!1,postMarketSolution:!1},chartWarningWidget:{subscriptionFullInfo:!1},timeScaleWidget:{contextMenuEnabled:e.enabled("scales_context_menu"),timezoneMenuEnabled:e.enabled("timezone_menu"),priceAxisLabelsOptions:{showLabels:e.enabled("main_series_scale_menu")}},timeScale:{preserveBarSpacing:!1,lockVisibleTimeRangeOnResize:e.enabled("lock_visible_time_range_on_resize"),rightBarStaysOnScroll:e.enabled("right_bar_stays_on_scroll"),
minBarSpacing:urlParams.time_scale&&JSON.parse(urlParams.time_scale).min_bar_spacing},goToDateEnabled:e.enabled("go_to_date"),crossHair:{menuEnabled:e.enabled("chart_crosshair_menu")},handleScale:{mouseWheel:e.enabled("mouse_wheel_scale"),pinch:e.enabled("pinch_scale"),axisPressedMouseMove:{time:e.enabled("axis_pressed_mouse_move_scale"),price:e.enabled("axis_pressed_mouse_move_scale")}},handleScroll:{mouseWheel:e.enabled("mouse_wheel_scroll"),pressedMouseMove:e.enabled("pressed_mouse_move_scroll"),horzTouchDrag:e.enabled("horz_touch_drag_scroll"),vertTouchDrag:e.enabled("vert_touch_drag_scroll")},shiftVisibleRangeOnNewBar:e.enabled("shift_visible_range_on_new_bar"),croppedTickMarks:e.enabled("cropped_tick_marks"),countdownEnabled:e.enabled("countdown"),indicatorsDialogShortcutEnabled:e.enabled("insert_indicator_dialog_shortcut")},seriesControlBarEnabled:e.enabled("timeframes_toolbar"),seriesControlBar:{timeFramesWidgetEnabled:!0,timeFramesWidget:{goToDateEnabled:e.enabled("go_to_date"),availableTimeFrames:function(e,t){return e?t!==X.STATUS_DELAYED&&t!==X.STATUS_DELAYED_STREAMING&&t!==X.STATUS_READY?[]:p.filter((function(t){return!(t.requiresIntraday&&!e.has_intraday)&&!(e.supported_resolutions&&!e.supported_resolutions.includes(t.targetResolution))})):[]}},timeWidgetEnabled:!0,timeWidget:{timezoneMenuEnabled:e.enabled("timezone_menu")},adjustForDividendsButtonEnabled:!1,sessionIdButtonEnabled:!1,percentageScaleButtonEnabled:!0,logScaleButtonEnabled:!0,autoScaleButtonEnabled:!0,fullscreenButtonEnabled:!0,mobileChangeLayoutEnabled:!1},globalEvents:!0,snapshotUrl:urlParams.snapshotUrl,mobileForceChartMaximizeEnabled:!1,saveChartEnabled:e.enabled("save_shortcut")};oe&&(z(),x.widgetOptions.isDrawingToolbarVisible=a),u&&(x.metaInfo={id:u.uid,name:u.name,description:u.description,uid:u.uid,username:"",tags:""}),window.parent[urlParams.uid].additionalSymbolInfoFields&&ee(window.parent[urlParams.uid].additionalSymbolInfoFields),window.parent[urlParams.uid].symbolSearchComplete&&te(window.parent[urlParams.uid].symbolSearchComplete);var T=window.chartWidgetCollection=new U(x);Q(T),window.studyMarket=new P(T),void 0!==H&&H.registerService(W,T),T.activeChartWidget.subscribe((function(e){S.emit("activeChartChanged",T.getAll().indexOf(e))})),window.saver=new _(T);var I=new m(T,window.saver),M=new f(T);window.chartWidget=T.activeChartWidget.value(),window.pro=new TradingView.Pro;var O=function(t){if(!e.enabled("header_widget"))return null;var s=N.allocate({areaName:"top"}),o=new(0,i("htUT").ChartChangesWatcher)(t.chartWidgetCollection.undoHistory,window.saver,S),a=JSON.parse(urlParams.favorites);a.intervals=a.intervals.map((function(e){var t=""+e;return t.match(/1[DWMYdwmy]/)&&(t=t.slice(1)),t}));var l=null;e.enabled("study_templates")&&(l=new b(C,TVSettings),de=new g({chartWidgetCollection:t.chartWidgetCollection,favoriteStudyTemplatesService:l}));var c=void 0,h=urlParams.header_widget_buttons_mode;"fullsize"===h&&(c=["full"]);"compact"===h&&(c=["small"]);return new n(new r,{chartSaver:window.saver,
chartApiInstance:ChartApiInstance,chartWidgetCollection:t.chartWidgetCollection,defaultFavoriteStyles:a.chartTypes,defaultFavoriteIntervals:a.intervals,hideStudyTemplates:!0,resizerBridge:s,studyMarket:window.studyMarket,studyTemplates:de,favoriteStudyTemplatesService:l,allowedModes:c,saveChartService:t.saveChartService,loadChartService:t.loadChartService,chartChangesWatcher:o,onClick:we,snapshotUrl:t.snapshotUrl})}({chartWidgetCollection:T,saveChartService:I,loadChartService:M,snapshotUrl:urlParams.snapshotUrl});null!==O?O.load().then((function(e){he=e.getComponent(),ue.resolve()})):(ue.promise.catch((function(){})),ue.reject("header widget is not loaded"));var L=function(e){if(oe){var t=urlParams.toolbarbg&&/^[0-9a-f]+$/i.test(urlParams.toolbarbg)?String(urlParams.toolbarbg):void 0;if(t){var i=document.createElement("style");i.textContent="body,.chart-controls-bar,#footer-chart-panel{background-color:#"+t+" !important}",document.head.appendChild(i)}return new o({bgColor:t,chartWidgetCollection:e,drawingsAccess:urlParams.drawingsAccess?JSON.parse(urlParams.drawingsAccess):void 0,resizerBridge:N.allocate({areaName:"left"}),onClick:we})}return null}(T),A=null;window.tradingViewApi=new J({chartWidgetCollection:T,chartApiInstance:window.ChartApiInstance,saveChartService:I,loadChartService:M});if(v.bindToChartWidgetCollection(T),TradingView.isNaN(urlParams.studyCountLimit)||(TradingView.STUDY_COUNT_LIMIT=Math.max(2,+urlParams.studyCountLimit)),!TradingView.isNaN(urlParams.ssreqdelay)){var D=Math.max(0,+urlParams.ssreqdelay);Z(D)}window.ChartApiInstance.connect(),Promise.all([i.e("react"),i.e(1),i.e(4),i.e(6),i.e(11),i.e(12),i.e(13),i.e(14),i.e(17),i.e(21),i.e(22),i.e(24),i.e(28),i.e(33),i.e(41),i.e(48),i.e(51),i.e(52),i.e(60),i.e(67),i.e(75),i.e(0),i.e(5),i.e(30),i.e(38),i.e("line-tools-icons"),i.e(53),i.e(54),i.e("floating-toolbars")]).then(i.t.bind(null,"tPkB",7)).then(({default:e})=>{window.lineToolPropertiesToolbar=new e(T)});var V=document.querySelector(".tv-content");function B(){L&&L.load(),A&&A.load().then((function(e){window.footerWidget=e.getComponent()}))}null!==V&&V.addEventListener("contextmenu",(function(e){null!==e.target&&"input"!==e.target.tagName.toLowerCase()&&"textarea"!==e.target.tagName.toLowerCase()&&e.preventDefault()})),ne.resolve(),T.undoHistory.undoStack().onChange().subscribe(null,E((function(){S.emit("onAutoSaveNeeded")}),1e3*(urlParams.autoSaveDelay||5),{leading:!1,trailing:!0})),window.chartWidget.withModel(null,(function(){if(ChartApiInstance.on("realtime_tick",(function(e){S.emit("onTick",e)})),!l.savedThemeName()&&le){var t=l.getStdTheme(le);t&&t.content&&void 0===c&&T.applyTheme(t.content,!1,!1,le,!0,!0).then(()=>window.applyOverrides(window.__defaultsOverrides))}e.enabled("charting_library_debug_mode")&&S.subscribeToAll((function(){var e=Array.prototype.slice.call(arguments);console.log('Event "{0}", arguments: {1}'.format(e[0],JSON.stringify(e.slice(1))))})),G&&(G(T),G=null),q&&(q(T,{seriesControlBarEnabled:e.enabled("timeframes_toolbar")}),q=null)})),
h.isAnyChartWidgetInitialized(T)?B():h.waitAnyChartWidgetInitialized(T,B),S.subscribe("chart_load_requested",(function(e){window.tradingViewApi.loadChart({json:JSON.parse(e.content),extendedData:e})}))};window.addEventListener("unload",(function(){window.ChartApiInstance&&window.ChartApiInstance.disconnect(),window.chartWidgetCollection&&(window.chartWidgetCollection.destroy(),window.chartWidgetCollection=null),B(),window.ChartApiInstance&&(window.ChartApiInstance.destroy(),window.ChartApiInstance=null)})),e.enabled("saveload_storage_customization")&&(window.parent[urlParams.uid].saveLoadAdapter?u.setCustomAdapter(window.parent[urlParams.uid].saveLoadAdapter):void 0!==urlParams.chartsStorageUrl&&urlParams.chartsStorageUrl&&void 0!==urlParams.clientId&&urlParams.clientId?u.initialize(urlParams.clientId,urlParams.userId,urlParams.chartsStorageUrl,urlParams.chartsStorageVer||"1.0"):(e.setEnabled("saveload_storage_customization",!1),e.setEnabled("header_saveload",!1)));var _e=x();function me(){_e.resolve()}window.parent[urlParams.uid].loadLastChart&&e.enabled("saveload_storage_customization")?u.getCharts().then((function(e){if(0!==e.length){var t=e.sort((function(e,t){return t.modified_iso-e.modified_iso}))[0];u.getChartContent(t).then((function(e){var t=JSON.parse(e.content);t.extendedData=e,urlParams.chartContent=JSON.stringify({json:t}),me()})).catch(me)}else me()})).catch(me):me();var fe,ge,be=x();Promise.all([be.promise,_e.promise]).then((function(){var t,i,s,r,n,o,a=document.querySelector(".loading-indicator");if(a&&(a.style.display="none"),setTimeout(pe,0),e.enabled("14851")&&Math.random()<=.02){t=window,i=document,s="script",r="ga",t.GoogleAnalyticsObject=r,t.ga=t.ga||function(){(t.ga.q=t.ga.q||[]).push(arguments)},t.ga.l=1*new Date,n=i.createElement(s),o=i.getElementsByTagName(s)[0],n.async=1,n.src="//www.google-analytics.com/analytics.js",o.parentNode.insertBefore(n,o);var l=document.URL.match(new RegExp("(:?.*://)([^/]+)/.*"))[2];ga("create","UA-112911840-1","auto"),ga("set","anonymizeIp",!0),ga("set",{hostname:l,page:l,referrer:l}),ga("send","pageview")}})),fe=!0,window.parent[urlParams.uid].datafeed.onReady((function(e){fe&&console.warn("`onReady` should return result asynchronously. Use `setTimeout` with 0 interval to execute the callback function."),window.configurationData=e,be.resolve()})),fe=!1,window.getFunctionFromArguments=function(e){return window.parent[urlParams.uid][e]},window.createShortcutAction=(ge=d.createGroup({desc:"API"}),function(e,t){ge.add({hotkey:p(e),handler:t})}),window.initializationFinished=function(){window.chartWidgetCollection.undoHistory.clearStack()},window.headerReady=function(){return ue.promise},window.createButton=function(e){if(null===he)throw new Error("Cannot create button: header widget is not ready or is not loaded - use `headerReady` to wait until header is ready");var t=(e=e||{}).align||"left";return he.addButton(I(),t)},window.createDropdown=function(e){if(void 0===e)throw new Error("Cannot create dropdown without any parameters. Please refer to the documentation")
;void 0===e.align&&(e.align="left");const t=I();return he?(he.addDropdown(t,e),Promise.resolve(new ie(he,t))):ue.promise.then(()=>(he.addDropdown(t,e),new ie(he,t)))},window.getAllFeatures=function(){const t=e.getAllFeatures();return Object.keys(t).forEach((function(e){isNaN(parseFloat(e))||delete t[e]})),t};var ve=null;window.getNavigationButtonsVisibility=function(){return null===ve&&(ve=M(O())),ve};var Se=null;window.getPaneButtonsVisibility=function(){return null===Se&&(Se=M(L())),Se};var ye=null;function we(e){var t=TradingView.bottomWidgetBar;t&&t.turnOffMaximize()}window.getDateFormat=function(){return null===ye&&(ye=M(A)),ye}}).call(this,i("Kxc7"))},"/McG":function(e){
e.exports=JSON.parse('{"content":{"chartProperties":{"scalesProperties":{"textColor":"#131722","lineColor":"rgba(42, 46, 57, 0.14)","backgroundColor":"#ffffff"},"paneProperties":{"vertGridProperties":{"color":"rgba(42, 46, 57, 0.06)"},"horzGridProperties":{"color":"rgba(42, 46, 57, 0.06)"},"crossHairProperties":{"color":"#9598A1"},"background":"#ffffff","backgroundGradientStartColor":"#ffffff","backgroundGradientEndColor":"#ffffff"}},"sessions":{"graphics":{"backgrounds":{"outOfSession":{"color":"#2962FF","transparency":92},"preMarket":{"color":"#FF9800","transparency":92},"postMarket":{"color":"#2962FF","transparency":92}},"vertlines":{"sessBreaks":{"color":"#4985e7","style":2,"width":1}}}},"mainSourceProperties":{"baseLineColor":"#B2B5BE","candleStyle":{"borderColor":"#378658","upColor":"#26a69a","wickColor":"#737375","wickUpColor":"#26a69a","wickDownColor":"#ef5350","downColor":"#ef5350","borderUpColor":"#26a69a","borderDownColor":"#ef5350"},"haStyle":{"borderColor":"#378658","upColor":"#26a69a","wickColor":"#737375","wickUpColor":"#26a69a","wickDownColor":"#ef5350","downColor":"#ef5350","borderUpColor":"#26a69a","borderDownColor":"#ef5350"},"barStyle":{"downColor":"#ef5350","upColor":"#26a69a"},"pnfStyle":{"downColor":"#ef5350","upColor":"#26a69a","upColorProjection":"#a9dcc3","downColorProjection":"#f5a6ae"},"baselineStyle":{"baselineColor":"rgba( 117, 134, 150, 1)","topFillColor1":"rgba( 38, 166, 154, 0.28)","topFillColor2":"rgba( 38, 166, 154, 0.05)","bottomFillColor1":"rgba( 239, 83, 80, 0.05)","bottomFillColor2":"rgba( 239, 83, 80, 0.28)","topLineColor":"rgba( 38, 166, 154, 1)","bottomLineColor":"rgba( 239, 83, 80, 1)"},"areaStyle":{"transparency":100,"color1":"rgba(41, 98, 255, 0.28)","color2":"#2962FF","linecolor":"#2962FF","linewidth":2,"linestyle":0},"renkoStyle":{"upColor":"#26a69a","downColor":"#ef5350","borderUpColor":"#26a69a","borderDownColor":"#ef5350","upColorProjection":"#a9dcc3","downColorProjection":"#f5a6ae","borderUpColorProjection":"#a9dcc3","borderDownColorProjection":"#f5a6ae","wickUpColor":"#26a69a","wickDownColor":"#ef5350"},"lineStyle":{"color":"#2962FF","linewidth":2,"linestyle":0},"kagiStyle":{"downColor":"#ef5350","upColor":"#26a69a","upColorProjection":"#a9dcc3","downColorProjection":"#f5a6ae"},"pbStyle":{"upColor":"#26a69a","downColor":"#ef5350","borderUpColor":"#26a69a","borderDownColor":"#ef5350","upColorProjection":"#a9dcc3","downColorProjection":"#f5a6ae","borderUpColorProjection":"#a9dcc3","borderDownColorProjection":"#f5a6ae"},"rangeStyle":{"upColor":"#26a69a","downColor":"#ef5350","upColorProjection":"#a9dcc3","downColorProjection":"#f5a6ae"}}}}')},"/ToI":function(e,t,i){"use strict";i.d(t,"b",(function(){return o})),i.d(t,"a",(function(){return a}));var s=i("Eyy1"),r=i("3u3j");class n extends r.a{constructor(e,t,i,s){super(e,t,s),this._sourcePaneRemoved=!1,this._targetPaneIndex=e.panes().indexOf(i)}redo(){
const e=this._chartModel.panes()[this._initialPaneIndex],t=this._chartModel.panes()[this._targetPaneIndex],i=e!==t,r=this._targetPriceScale(t),n=Object(s.ensureNotNull)(this._chartModel.dataSourceForId(this._sourceId)),o=this._chartModel.children(n,!0);for(const e of o)i?(this._chartModel.detachSource(e),t.addDataSource(e,r,!1)):t.move(e,r);i?(this._sourcePaneRemoved=this._chartModel.detachSource(n),t.addDataSource(n,r,!1)):t.move(n,r);const a=t.priceScalePosition(r);t.movePriceScale(r,a,this._targetPriceScaleIndex(n)),this._chartModel.fullUpdate()}undo(){this._sourcePaneRemoved&&this._chartModel.createPane(this._initialPaneIndex);const e=this._chartModel.panes()[this._initialPaneIndex],t=e!==this._chartModel.panes()[this._targetPaneIndex],i=Object(s.ensureNotNull)(this._chartModel.dataSourceForId(this._sourceId));let r=e.getPriceScaleById(this._initialPriceScaleId);null===r&&(r=e.createPriceScaleAtPosition(this._initialPriceScalePosition,this._initialPriceScaleIndex));const n=this._chartModel.children(i,!0);for(const i of n)t?(this._chartModel.detachSource(i),e.addDataSource(i,r,!1)):e.move(i,r);t?(this._chartModel.detachSource(i),e.addDataSource(i,r,!1)):e.move(i,r),Object(s.ensureNotNull)(i.priceScale()).restoreState(this._originalPriceScaleState()),this._chartModel.fullUpdate()}}class o extends n{constructor(e,t,i,s,r){super(e,t,i,r),this._targetPriceScalePosition=s}_targetPriceScale(e){const t=e.createPriceScaleAtPosition(this._targetPriceScalePosition);return t.restoreState(this._newPriceScaleState("overlay"===this._targetPriceScalePosition)),t}_targetPriceScaleIndex(e){return e===this._chartModel.mainSeries()?0:void 0}}class a extends n{constructor(e,t,i,s,r){super(e,t,i,r),this._targetPriceScaleId=s.id()}_targetPriceScale(e){return Object(s.ensureNotNull)(e.getPriceScaleById(this._targetPriceScaleId))}_targetPriceScaleIndex(e){}}},"/Y2c":function(e,t,i){"use strict";(function(t){var s=i("Eyy1").assert,r=i("jofe").createDeferredPromise,n=(i("qFKp").CheckMobile,i("VNzU").layouts),o=i("Zo2/"),a=i("qFKp").supportTouch,l=i("qFKp").isIE,c=i("qFKp").isEdge,h=i("x8jL").createUndoHistory,u=i("mMWL"),d=i("lxNp"),p=i("/3z9"),_=i("FQhm"),m=i("PzPU"),f=i("Kxc7"),g=i("ijBy").SetChartLayoutCommand,b=i("hY0g"),v=i("HySD").ResizerDetacherState,S=i("HV/F").delegateToPromise,y=i("sEk5"),w=i("lJvs"),P=i("txPx").getLogger("Chart.ChartWidgetCollection"),C=(i("JWMC").trackEvent,i("wamh").ChangeToolBarsThemeUndoCommand);const{getCurrentTheme:x}=i("EsvI");var T=i("dfhE"),I=i("ufwo").rangesAreEqual,M=i("0psP").GeneralChartPropertiesRenderer,O=i("NSoL").clientSnapshot,L=i("pPtI").setLastUsedResolution,A=i("TCfT").CompareDialogRenderer,E=i("mNbo").isOnMobileAppPage,k=i("E3Wt"),D=k.applyIndicatorsToAllChartsImpl,V=k.applyIndicatorToAllChartsImpl,B=k.lineToolsAndGroupsDTOsImpl,R=k.getStateForChartImpl,N=k.getAsyncStateForChartImpl,j=k.resetLineToolsInvalidatedImpl,F=k.applyLineToolUpdateNotificationImpl,W=k.createClipboardHandler,H=k.chartsSymbolsImpl,U={saveChartEnabled:!0,takeScreenshotEnabled:!0,publishedChartsEnabled:!0}
;e.exports=function(e){var k=this,z=Object.assign({},U,e),G=1,q=2,Y=0,K=0,J=new b,Z=z.readOnly||!1,X=[],$=0,Q=new b,ee=new b,te=null,ie="s",se=new b,re=[],ne=!1,oe=!1,ae=!1,le=new b(!1),ce=new b(!1),he=new b(!1),ue=new b(TVSettings.getBool("chart.syncCrosshair",!0)),de=d.createGroup({desc:"Layout"}),pe=null,_e=ue.value();ue.subscribe((function(e){_e=e=!!e,TVSettings.setValue("chart.syncCrosshair",e);for(var t=0;t{var i=z.resizerBridge,s=[i.container.spawn(),i.width.spawn(),i.height.spawn()],r=i.container.value(),n=new t,o=function(){n.fire()};s.forEach((function(e){e.subscribe(o)})),Ee=new e(Ae,n,(function(){var e=r.getBoundingClientRect(),t=Re();return t.top=e.top+t.top,t.left=e.left+t.left,t}),k,ChartApiInstance,ve,z.seriesControlBar),ke=function(){null!==Ee&&(Ee.destroy(),Ee=null,Ae.remove(),Ae=null),s.forEach((function(e){e.destroy()})),n.destroy()}}));var De=new M(k),Ve=new A(k);function Be(){return{undoHistory:we,chartWidgetsDefs:X,chartsCountToSave:Ne,actualLayoutCount:je,savedChartWidgetOptions:re,activeChartWidget:J,options:z,parent:Pe,toastsFactory:null}}function Re(){var e=Y+K,t=Ae?Ae.offsetHeight:0;return{width:fe.value()-2*e,height:ge.value()-G-t-e,top:G,left:e}}function Ne(){return je()}function je(){return n[ie].count}function Fe(e,t,i,s,r){return R(Be(),e,t,i,s,r)}function We(){var e;e=be?[be]:X.slice(0,te.count).filter((function(e){return!e.hiddenInLayout.value()}));for(var t=0;te.chartWidget.hasModel())&&(et(),_.emit("layout_changed"))}function Xe(e,t){const i=Ge(Object.assign({},ve,re.shift()||function(){const e=J.value();if(e){const t=e.state();return t.chartId=Je(Ke),t.shouldBeSavedEvenIfHidden=!1,{content:t}}}(),0===e||le.value()?void 0:{defSymbol:null}));return i.modelCreated().subscribe(null,t||Ze,!0),i}function $e(e){e.hiddenInLayout.setValue(!0);const t=e.container.value();t.parentNode&&t.parentNode.removeChild(t),e.fullscreen.setValue(!1)}function Qe(e){e in n||(e="s"),Me(),Oe();var t=ie,i=n[e].count;_.emit("layout_about_to_be_changed",e),me.setValue(e),ie=e,te=n[e];for(var s=i;s1),r.fullscreen.setValue(be===r)}else r&&$e(r)}We(),et(),
function(){for(var e=te.count,t=e,i=0;i1)}(),Ze(),X.forEach((function(e){e.chartWidget.onZoom().subscribe(this,(function(e){Te.fire(e)}))})),X.forEach((function(e){e.chartWidget.onScroll().subscribe(this,(function(){Ie.fire()}))})),ee.value()<1&&i>0&&X[i-1].rdState.bridge().attach()}function et(){var e=Math.min(te.count,X.length)-1;if(e<0)J.deleteValue();else{var t=$;t<0&&(t=0),t>e&&(t=e),J.setValue(X[t].chartWidget)}}function tt(){for(var e=X.length;e--;){var t=e===$;X[e].container.value().classList.toggle("active",t),X[e].container.value().classList.toggle("inactive",!t)}}function it(e){}fe.subscribe(We),ge.subscribe(We),this.updateLayout=We;var st=new t,rt=new b,nt=new b,ot=null;function at(e){var t=e.mainSeries().properties();t.style.subscribe(null,lt),lt(t.style),e.model().onSelectedSourceChanged().subscribe(null,ct),ct(e.selection().allSources())}function lt(e){rt.setValue(e.value())}function ct(){var e=ot.model();nt.setValue(e.selection().allSources())}function ht(e){for(var t=!1,i=0;i{_.emit("onClientScreenshotCopiedToClipboard")})}}))),z.saveChartEnabled&&de.add({desc:"Save Chart Layout",hotkey:p.Modifiers.Mod+83,handler:function(){st.fire()}});var ft=new Map,gt=new Map;const bt=W(Be());function vt(e){if(f.enabled("charting_library_base"))return e;if("s"===e||ve.containsData||Z||(void 0)((void 0).MULTIPLE_CHARTS)&&(void 0)((void 0).MULTIPLE_CHARTS).limit>=n[e].count)return e;return"s"}function St(e,t){if(oe=!0,ae=Boolean(t),re=[],e){e.charts||(e={layout:"s",charts:[e]});var i=new Set;e.charts.forEach((function(e){e.chartId&&i.add(e.chartId)})),e.charts.forEach((function(e){if(!e.chartId){var t=Je((function(e){return i.has(e)}));i.add(t),e.chartId=t}})),ie=vt(e.layout||"s");for(var s=0;se.chartWidget?e.chartWidget:new Promise(e=>{const i=Xe(t,()=>e(i));$e(X[t])}))).then(t=>{o?(r&&new C(a,s,n).redo(),t.forEach((function(t){t.model().model().restoreTheme(e,i,o)}))):(we.beginUndoMacro("Apply Chart Theme"),r&&we.pushUndoCommand(new C(a,s,n)),t.forEach((function(t){t.model().model().restoreTheme(e,i)})),we.endUndoMacro())})},applyIndicatorsToAllCharts:function(e){D(Be(),e)},applyIndicatorsToAllChartsAvailable:function(){return!Z&&je()>1},applyIndicatorToAllCharts:function(e,t,i,s){V(Be(),e,t,i,s)},setActive:mt,inlineChartsCount:ee.readonly(),revertToInline:function(){Ye(null);for(var e=0;e0||e.isStatusBad())Ct();else{var i=e.dataEvents(),s=function(){Ct(),i.barReceived().unsubscribe(null,s),i.completed().unsubscribe(null,s),i.error().unsubscribe(null,s)};i.barReceived().subscribe(null,s),i.completed().subscribe(null,s),i.error().subscribe(null,s)}}))}})),a()){
var xt=u.tool.setValue;u.tool.setValue=function(){k.selectedSources.value()&&k.activeChartWidget.value().model().lineBeingCreated()&&k.activeChartWidget.value().model().cancelCreatingLine(),xt.apply(u.tool,arguments)}}Promise.all(X.map((function(e){return S(e.chartWidget.modelCreated()).promise}))).then((function(){return Promise.all(X.map((function(e){return S(e.chartWidget.model().mainSeries().dataEvents().symbolResolved()).promise})))})).then((function(){window.saver&&window.is_authenticated&&z.widgetOptions.justCloned&&window.saver.saveChartSilently()})).catch(P.logError.bind(P))}}).call(this,i("aIyQ"))},"/YGI":function(e,t,i){"use strict";i.r(t);var s,r=i("0YCj"),n=i.n(r);!function(e){e.StudyCannotBeChild="cannot_be_child",e.StubWasRemoved="stub_was_removed",e.CannotGetMetainfo="cannot_get_metainfo",e.Cancelled="cancelled",e.Unknown="unknown"}(s||(s={}));var o=i("txPx");i.d(t,"StudyInserter",(function(){return l}));const a=Object(o.getLogger)("Chart.Studies.StudyInserter");class l{constructor(e,t,i){this._parentSource=void 0,this._propsState=void 0,this._preferredPriceScale=void 0,this._allowChangeCurrency=!1,this._allowChangeUnit=!1,this._paneSize=void 0,this._forceOverlay=!1,this._studyMetaInfoRepository=t,this._inserterImpl=i,this._studyDescriptor=e}setParentSource(e){this._parentSource=e||void 0}setPaneSize(e){this._paneSize=e}setPreferredPriceScale(e){this._preferredPriceScale=e}setAllowChangeCurrency(e){this._allowChangeCurrency=e}setAllowChangeUnit(e){this._allowChangeUnit=e}setForceOverlay(e){this._forceOverlay=e}setPropertiesState(e){this._propsState=e}setTargetPriceScaleMode(e){this._targetPriceScaleMode=e}async insert(e,t){const i=void 0!==(r=this._inserterImpl).createStub&&void 0!==r.removeStub?this._inserterImpl.createStub():null;var r;let n,o=!0;try{n=await this._studyMetaInfoRepository.findById(this._studyDescriptor)}catch(e){return a.logWarn("Cannot get study "+JSON.stringify(this._studyDescriptor)),Promise.reject(s.CannotGetMetainfo)}finally{null!==i&&(o=this._inserterImpl.removeStub(i))}if(!o)return Promise.reject(s.StubWasRemoved);if(void 0!==t&&t.cancelled)return Promise.reject(s.Cancelled);if(!this._canApplyStudyToParent(n))return Promise.reject(s.StudyCannotBeChild);const l={...n.defaults.inputs},c=void 0!==e?await e(l,n.inputs,n):{};if(void 0!==t&&t.cancelled)return Promise.reject(s.Cancelled);const h=this._insertStudy(n,c);return null===h?Promise.reject(s.Unknown):h}_insertStudy(e,t){return this._inserterImpl.createStudy(e,t,null,this._propsState,this._forceOverlay,this._parentSource,this._preferredPriceScale,this._allowChangeCurrency,this._allowChangeUnit,this._paneSize,this._targetPriceScaleMode)}_canApplyStudyToParent(e){return void 0===this._parentSource||n.a.canBeChild(e)}}},"/bs+":function(e,t,i){"use strict";i.d(t,"a",(function(){return r})),i.d(t,"b",(function(){return n}));var s=i("E6p6");function r(e,t,i){if(i.isDays())return t;if(e.moveTo(1e3*t),i.isIntraday()){const i=e.indexOfBar(1e3*t);if(i<0)throw new Error(t+" is out of the instrument session ");return e.endOfBar(i)/1e3}
return e.startOfBar(s.SessionStage.LASTBAR_SESSION)/1e3}function n(e,t,i){if(i.isDays())return t;const s=1e3*t-1;if(e.moveTo(s),i.isIntraday()){const i=e.indexOfBar(s);if(i<0)throw new Error(t+" is out of the instrument session ");return e.startOfBar(i)/1e3}return t=e.startOfBar(0)/1e3}},"/hKg":function(e,t,i){"use strict";i.r(t),i.d(t,"PaneRendererCandles",(function(){return l}));var s=i("Eyy1"),r=i("VdBB"),n=i("gAom"),o=i("Zp/P"),a=i("ExCE");class l extends a.a{constructor(e){super(),this._barSpacing=1,this._barWidth=1,this._borderVisible=!1,this._barBorderWidth=1,this._wickVisible=!1,this._bodyVisible=!0,this._borderColor=void 0,this._wickColor=void 0,this._hittest=void 0,e&&this.setData(e)}setData(e){this._bars=e.bars,this._barSpacing=e.barSpacing,this._borderVisible=e.borderVisible,this._bodyVisible=e.bodyVisible,this._wickVisible=e.wickVisible,this._borderColor=e.borderColor,this._wickColor=e.wickColor,this._hittest=e.hittest}hitTest(e){return this._wickVisible||this._borderVisible||this._bodyVisible?super.hitTest(e):null}draw(e,t){if(0===this._bars.length)return;const i=t.pixelRatio;if(this._barWidth=Object(o.optimalCandlestickWidth)(this._barSpacing,i),this._barWidth>=2){Math.floor(i)%2!=this._barWidth%2&&this._barWidth--}this._wickVisible&&this._drawWicks(e,i),this._borderVisible&&this._drawBorder(e,i),this._bodyVisible&&this._drawCandles(e,i)}_getTolerance(){return Object(o.interactionTolerance)().series+this._barBorderWidth/2}_getBarSpacing(){return this._barSpacing}_getHitTest(){return this._hittest||new r.HitTestResult(r.HitTestResult.REGULAR)}_isPointAtBar(e,t,i){const s=this._bodyVisible||this._borderVisible,r=this._wickVisible;if(!s&&!r)return!1;if(s){const s=r?Math.min(e.high,e.low):Math.min(e.open,e.close),n=r?Math.max(e.high,e.low):Math.max(e.open,e.close);return s-i<=t&&t<=n+i}{const s=Math.min(e.open,e.close),r=Math.max(e.open,e.close);return e.high-i<=t&&t<=s+i||r-i<=t&&t<=e.low+i}}_drawWicks(e,t){const i=this._bars;let r="",n=Math.min(Math.floor(t),Math.floor(this._barSpacing*t));n=Math.max(Math.floor(t),Math.min(n,this._barWidth));const o=Math.floor(.5*n);let a=null;for(const l of i){const i=l.wickColor?l.wickColor:Object(s.ensureDefined)(this._wickColor);i!==r&&(e.fillStyle=i,r=i);const c=Math.round(Math.min(l.open,l.close)*t),h=Math.round(Math.max(l.open,l.close)*t),u=Math.round(l.high*t),d=Math.round(l.low*t);let p=Math.round(t*l.time)-o;const _=p+n-1;null!==a&&(p=Math.max(a+1,p),p=Math.min(p,_));const m=_-p+1;e.fillRect(p,u,m,c-u),e.fillRect(p,h+1,m,d-h),a=_}}_calculateBorderWidth(e){let t=Math.floor(1*e);this._barWidth<=2*t&&(t=Math.floor(.5*(this._barWidth-1)));const i=Math.max(Math.floor(e),t);return this._barWidth<=2*i?Math.max(Math.floor(e),Math.floor(1*e)):i}_drawBorder(e,t){let i="";const r=this._calculateBorderWidth(t);let o=null;for(const a of this._bars){if(a.borderColor!==i&&(e.fillStyle=a.borderColor?a.borderColor:Object(s.ensureDefined)(this._borderColor),i=a.borderColor),this._bodyVisible&&a.hollow)continue;let l=Math.round(a.time*t)-Math.floor(.5*this._barWidth)
;const c=l+this._barWidth-1,h=Math.round(Math.min(a.open,a.close)*t),u=Math.round(Math.max(a.open,a.close)*t);if(null!==o&&(l=Math.max(o+1,l),l=Math.min(l,c)),this._barSpacing*t>2*r)Object(n.fillRectInnerBorder)(e,l,h,c-l+1,u-h+1,r);else{const t=c-l+1;e.fillRect(l,h,t,u-h+1)}o=c}}_drawCandles(e,t){let i="";const s=this._calculateBorderWidth(t);for(const r of this._bars){if(this._borderVisible&&this._barWidth<=2*s&&!r.hollow)continue;let o=Math.round(Math.min(r.open,r.close)*t),a=Math.round(Math.max(r.open,r.close)*t),l=Math.round(r.time*t)-Math.floor(.5*this._barWidth),c=l+this._barWidth-1;if(r.color!==i){const t=r.color;e.fillStyle=t,i=t}if(r.hollow)e.fillStyle=r.color,Object(n.fillRectInnerBorder)(e,l,o,c-l+1,a-o+1,s);else{if(this._borderVisible&&(l+=s,o+=s,c-=s,a-=s),o>a)continue;e.fillRect(l,o,c-l+1,a-o+1)}}}}},"/kal":function(e,t){e.exports=''},"/qn+":function(e,t,i){"use strict";i.r(t),i.d(t,"convertPropertyToWatchedValue",(function(){return n}));var s=i("hY0g"),r=i.n(s);function n(e){const t=new r.a(e.value());let i=!1;e.subscribe(t,()=>{i||(i=!0,t.setValue(e.value()),i=!1)});const s=()=>{i||(i=!0,e.setValue(t.value()),i=!1)};return t.subscribe(s),t.spawn(()=>{e.unsubscribeAll(t),t.unsubscribe(s)})}},"/tGj":function(e,t,i){"use strict";function s(e){return e.symbolSource()===e}i.r(t),i.d(t,"isSymbolSource",(function(){return s}))},"/z0S":function(e,t,i){"use strict";i.d(t,"a",(function(){return r}));var s=i("Kxc7");function r(e,t){s.enabled("saveload_requires_authentication")?window.runOrSignIn(e,t):e()}},"08i5":function(e,t,i){"use strict";var s,r;i.r(t),i.d(t,"AlertStatus",(function(){return s})),i.d(t,"Direction",(function(){return r})),function(e){e[e.Waiting=0]="Waiting",e[e.Success=1]="Success",e[e.Failure=2]="Failure"}(s||(s={})),function(e){e[e.Up=1]="Up",e[e.Down=2]="Down"}(r||(r={}))},"0C7r":function(e,t,i){"use strict";i.r(t),i.d(t,"intervalsVisibilitiesDefaults",(function(){return s}));const s={ticks:!0,seconds:!0,secondsFrom:1,secondsTo:59,minutes:!0,minutesFrom:1,minutesTo:59,hours:!0,hoursFrom:1,hoursTo:24,days:!0,daysFrom:1,daysTo:366,weeks:!0,weeksFrom:1,weeksTo:52,months:!0,monthsFrom:1,monthsTo:12,ranges:!0}},"0F0w":function(e,t,i){"use strict";i.r(t);var s=i("aIyQ"),r=i.n(s),n=i("Eyy1"),o=i("hY0g"),a=i.n(o),l=i("e3/o"),c=i("txPx");const h=Object(c.getLogger)("ChartApi.AbstractSession");var u=i("ogJP");i.d(t,"ChartSession",(function(){return d}));Object(c.getLogger)("ChartSession");class d extends class{constructor(e,t,i){this._isConnected=new a.a(!1),this._state=0,this._isConnectForbidden=!1,this._sessionId="",this._sessionIdChanged=new r.a,this._chartApi=e,this._sessionPrefix=t,this._shouldReconnectAfterCriticalError=i}destroy(){
this._logNormal("Destroying session"),this._isConnected.unsubscribe(),this.disconnect(),this._sessionIdChanged.destroy(),delete this._chartApi,this._logNormal("Session has been destroyed")}isConnected(){return this._isConnected}sessionId(){return this._sessionId}onSessionIdChanged(){return this._sessionIdChanged}connect(){0===this._state&&(Object(n.assert)(!this._isConnectForbidden,"Cannot call connect because it is forbidden at this moment"),this._setSessionId(`${this._sessionPrefix}_${Object(l.randomHash)()}`),this._logNormal("Connecting session - wait until transport stay connected"),this._state=1,this._chartApi.createSession(this._sessionId,this))}disconnect(){0!==this._state&&(Object(n.assert)(""!==this._sessionId,"sessionId must not be invalid"),this._logNormal("Disconnecting session..."),this._forbidConnectWhile(()=>{this._chartApi.connected()&&this._sendRemoveSession(),this._processDestroyingOnServer()}))}onMessage(e){switch(e.method){case"connected":return void this._onChartApiConnected();case"disconnected":return void this._onChartApiDisconnected();case"critical_error":const t=String(e.params[0]),i=String(e.params[1]);return void this._onCriticalError(t,i)}this._onMessage(e)}_getChartApi(){return this._chartApi}_generateLogMessage(e){return`[${this._sessionId}] ${e}`}_onCriticalError(e,t){this._logError(`Critical error. Reason=${e}, info=${t}.`),this._forbidConnectWhile(()=>{this._processDestroyingOnServer()}),this._shouldReconnectAfterCriticalError?(this._logNormal("Reconnecting after critical error..."),this.connect()):this._logNormal("Reconnecting after critical error skipped")}_onChartApiConnected(){Object(n.assert)(1===this._state,"Session is not registered"),this._logNormal("Transport is connected. Creating session on the server"),this._sendCreateSession(),this._state=2,this._isConnected.setValue(!0)}_onChartApiDisconnected(){this._logNormal("Transport is disconnected. Reconnecting..."),this._forbidConnectWhile(()=>{this._processDestroyingOnServer()}),this.connect()}_setSessionId(e){const t=this._sessionId;this._logNormal(`Changing sessionId: old=${t}, new=${e}`),this._sessionId=e,this._sessionIdChanged.fire(e,t)}_logNormal(e){h.logNormal(this._generateLogMessage(e))}_logError(e){h.logError(this._generateLogMessage(e))}_processDestroyingOnServer(){this._state=0,this._isConnected.setValue(!1),this._chartApi.removeSession(this._sessionId),this._setSessionId("")}_forbidConnectWhile(e){this._isConnectForbidden=!0,e(),this._isConnectForbidden=!1}}{constructor(e,t=!1){super(e,"cs",!1),this._sessionDisabled=!1,this._handler=null,this._criticalError=new r.a,this._disableStatistics=t}destroy(){this._criticalError.destroy(),this._handler=null,super.destroy()}serverTimeOffset(){return this._getChartApi().serverTimeOffset()}switchTimezone(e){return this._getChartApi().switchTimezone(this.sessionId(),e)}defaultResolutions(){return this._getChartApi().defaultResolutions()}availableCurrencies(){return this._getChartApi().availableCurrencies()}availableUnits(){return this._getChartApi().availableUnits()}
resolveSymbol(e,t,i){return this._getChartApi().resolveSymbol(this.sessionId(),e,t,i)}requestFirstBarTime(e,t,i){return this._getChartApi().requestFirstBarTime(this.sessionId(),e,t,i)}createSeries(e,t,i,s,r,n,o){return this._getChartApi().createSeries(this.sessionId(),e,t,i,s,r,n,o)}modifySeries(e,t,i,s,r,n){return this._getChartApi().modifySeries(this.sessionId(),e,t,i,s,r,n)}removeSeries(e){return!!this.isConnected().value()&&this._getChartApi().removeSeries(this.sessionId(),e)}requestMoreData(e,t,i){return"number"==typeof e?this._getChartApi().requestMoreData(this.sessionId(),e):this._getChartApi().requestMoreData(this.sessionId(),e,t,i)}requestMoreTickmarks(e,t,i){return Object(u.isNumber)(e)?this._getChartApi().requestMoreTickmarks(this.sessionId(),e):this._getChartApi().requestMoreTickmarks(this.sessionId(),e,t,i)}requestMetadata(e,t){(()=>{this._getChartApi().requestMetadata(this.sessionId(),e,t)})()}isCanCreateStudy(e){return this._getChartApi().isCanCreateStudy(e)}createStudy(e,t,i,s,r,n,o){return this._getChartApi().createStudy(this.sessionId(),e,t,i,s,r,n,o)}rebindStudy(e,t,i,s,r,n,o){return this._getChartApi().rebindStudy(this.sessionId(),e,t,i,s,r,n,o)}modifyStudy(e,t,i,s){return this._getChartApi().modifyStudy(this.sessionId(),e,t,i,s)}removeStudy(e,t){return this._getChartApi().removeStudy(this.sessionId(),e,t)}createPointset(e,t,i,s,r,n){return this._getChartApi().createPointset(this.sessionId(),e,t,i,s,r,n)}modifyPointset(e,t,i,s){return this._getChartApi().modifyPointset(this.sessionId(),e,t,i,s)}removePointset(e){return this._getChartApi().removePointset(this.sessionId(),e)}setVisibleTimeRange(e,t,i,s,r,n){this._getChartApi().setVisibleTimeRange(this.sessionId(),e,t,i,s,!0,r,n)}criticalError(){return this._criticalError}connect(e=null){null!==e&&(this._handler=e),super.connect()}setHandler(e){this._handler=e}connected(){return this.isConnected().value()&&!this._sessionDisabled}disable(){this._sessionDisabled=!0}chartApi(){return this._getChartApi()}_sendCreateSession(){Object.keys(this).forEach(e=>{/^(s|st|symbol_)\d+$/.test(e)&&delete this[e]}),this._getChartApi().chartCreateSession(this.sessionId(),this._disableStatistics)}_sendRemoveSession(){this._getChartApi().chartDeleteSession(this.sessionId())}_onMessage(e){this._handler&&this._handler(e)}_onCriticalError(e,t){this._criticalError.fire(e,t),super._onCriticalError(e,t)}}},"0Pxc":function(e,t,i){"use strict";var s=i("aO4+").Point,r=i("GEp6").distanceToLine,n=i("hfHJ"),o=n.rotationMatrix,a=n.scalingMatrix,l=n.translationMatrix,c=n.transformPoint,h=i("Ss5c").LineDataSource,u=i("Ocx9").DefaultProperty,d=i("j3hX").LineToolColorsProperty;class p extends h{constructor(e,t){super(e,t||p.createProperties()),this.version=p.version,i.e("lt-pane-views").then(i.t.bind(null,"dKqZ",7)).then(({ArcPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}startChanging(e,t){if(super.startChanging(e,t),0===e||1===e){var i=this.pointToScreenPoint(this._points[0])[0],n=this.pointToScreenPoint(this._points[1])[0],o=this.pointToScreenPoint(this._points[2])[0]
;this._dist=r(i,n,o).distance;var a=n.subtract(i),l=new s(-a.y,a.x),c=i.add(n).scaled(.5);o.subtract(c).dotProduct(l)<0&&(this._dist=-this._dist)}}pointsCount(){return 3}name(){return"Arc"}hasEditableCoordinates(){return!1}setPoint(e,t){var i=Object.assign({},t),n=this.pointToScreenPoint(this._points[0])[0],h=this.pointToScreenPoint(this._points[1])[0],u=this.pointToScreenPoint(this._points[2])[0];switch(e){case 0:n=this.pointToScreenPoint(i)[0];var d=h.subtract(n),p=n.add(h).scaled(.5);m=(m=new s(-d.y,d.x)).normalized(),u=p.add(m.scaled(this._dist)),u=this.screenPointToPoint(u),this._points[0]=i,this._points[2]=u;break;case 1:var _=r(n,h,u).distance;d=(h=this.pointToScreenPoint(i)[0]).subtract(n),p=n.add(h).scaled(.5);m=(m=new s(-d.y,d.x)).normalized(),u=p.add(m.scaled(this._dist)),u=this.screenPointToPoint(u),this._points[1]=i,this._points[2]=u;break;case 2:i=this.pointToScreenPoint(i)[0];var m;_=r(n,h,i).distance,d=h.subtract(n),p=n.add(h).scaled(.5);m=(m=new s(-d.y,d.x)).normalized(),u=p.add(m.scaled(_));var f=p.add(m.scaled(-_)),g=d.length(),b=d.x/g,v=d.y/g,S=Math.acos(b);v<0&&(S=-S);var y=l(-p.x,-p.y);i=c(y,i);var w=c(y,u);y=o(-S),i=c(y,i),w=c(y,w),y=a(1,g/(2*_)),i=c(y,i),w=c(y,w);var P=i.y*w.y>=0?new s(u.x,u.y):new s(f.x,f.y);P=this.screenPointToPoint(P),this._points[2]=P}this.normalizePoints()}migrateVersion(e,t,i){if(1===e&&2===this._points.length){var s=(2*this._points[0].price+3*this._points[1].price)/5;this._points.append({price:s,index:this._points[1].index})}if(1===e&&2===this._timePoint.length){var r={price:s=(2*this._timePoint[0].price+3*this._timePoint[1].price)/5,offset:this._timePoint[1].offset,time_t:this._timePoint[1].time_t};this._timePoint.append(r)}}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(27),i.e(62),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"Zd1D"))).GeneralFiguresDefinitionsViewModel}static createProperties(e){var t=new u("linetoolarc",e);return p._configureProperties(t),t}static _configureProperties(e){h._configureProperties(e),e.addChild("linesColors",new d([e.color]))}}p.version=2,t.LineToolArc=p},"0YCj":function(e,t,i){"use strict";(function(e,t){i("Eyy1").assert;var s=i("txPx").getLogger("Chart.Study.MetaInfo"),r=i("9iCb").applyOverridesToStudyDefaults,n={};function o(e){TradingView.merge(this,{palettes:{},inputs:[],plots:[],graphics:{},defaults:{}}),TradingView.merge(this,e);var t=e.fullId||e.id;TradingView.merge(this,o.parseIdString(t)),this.name=this.id}o.VERSION_STUDY_ARG_SOURCE=41,o.METAINFO_FORMAT_VERSION_SOS_V2=42,o.VERSION_PINE_PROTECT_TV_4164=43,o.CURRENT_METAINFO_FORMAT_VERSION=52,o.VERSION_NEW_STUDY_PRECISION_FORMAT=46,o.CHILD_STUDY_ALLOWED_PLOT_TYPES=["line"],o.canPlotBeSourceOfChildStudy=function(e){return o.CHILD_STUDY_ALLOWED_PLOT_TYPES.includes(e)},o.CHILD_STUDY_EXCLUDE_IDS=["CorrelationCoefficient@tv-basicstudies","Correlation - Log@tv-basicstudies-1"],o.CHILD_STUDY_PARENT_EXCLUDE_IDS=[],o.FilledArea={},o.FilledArea.TYPE_PLOTS="plot_plot",o.FilledArea.TYPE_HLINES="hline_hline",o.versionOf=function(e){
var t="_metainfoVersion"in e&&isNumber(e._metainfoVersion)?e._metainfoVersion:0;return t<0&&s.logError("Metainfo format version cannot be negative: "+t),t},o.parseIdString=function(e){var t={};if(-1===e.indexOf("@"))t.shortId=e,t.packageId="tv-basicstudies",t.id=e+"@"+t.packageId,t.version=1;else{var i=e.split("@");t.shortId=i[0];var s=i[1].split("-");if(3===s.length)t.packageId=s.slice(0,2).join("-"),t.id=t.shortId+"@"+t.packageId,t.version=s[2];else if(1===s.length&&"decisionbar"===s[0])t.packageId="les-"+s[0],t.id=t.shortId+"@"+t.packageId,t.version=1;else{if(1!==s.length)throw new Error("unexpected study id:"+e);t.packageId="tv-"+s[0],t.id=t.shortId+"@"+t.packageId,t.version=1}}if(t.fullId=t.id+"-"+t.version,"tv-scripting"===t.packageId){var r=t.shortId;if(0===r.indexOf("Script$")||0===r.indexOf("StrategyScript$")){var n=r.indexOf("_");t.productId=n>=0?r.substring(0,n):t.packageId}else t.productId=t.packageId}else t.productId=t.packageId;return t},o.getPackageName=function(e){return(/^[^@]+@([^-]+-[^-]+)/.exec(e||"")||[0,"tv-basicstudies"])[1]},o.cutDollarHash=function(e){var t=e.indexOf("$"),i=e.indexOf("@");return-1===t?e:e.substr(0,t)+(i>=0?e.substr(i):"")},o.hasUserIdSuffix=function(e){return/^USER;[\d\w]+;\d+$/.test(e)},o.isStandardPine=function(e){return/^(Strategy)?Script\$STD;.*@tv-scripting$/.test(e)},o.getSourceIdByInputs=function(e,t){if(!Array.isArray(e)||!t)return null;for(var i=0;i0){var l=a.replace(/^[^\$]+/,i);s.inputs[n.id].setValue(l)}}}},o.patchChildStudyMetaInfoState=function(e){e.state&&function e(t){if("object"==typeof t)for(var i in t)"string"==typeof t[i]&&/^[^\$]+\$\d+$/.test(t[i])?t[i]=t[i].replace(/^[^\$]+/,"{pid}"):e(t[i])}(e.state.inputs),e.state.isChildStudy=!0},o.prototype.parseValue=function(e,t){return"bool"===e?TradingView.parseBool(t):t},o.prototype.defaultInputs=function(){for(var e=[],t=0;t0?e[0].id:null},o.prototype.createDefaults=function(){if(this.defaults){var e=TradingView.clone(this.defaults);e.precision="default";var t=o.getStudyPropertyRootName(this);defaults.create(t,e)}},o.prototype.removeDefaults=function(){defaults.remove(o.getStudyPropertyRootName(this))},o.findStudyMetaInfoByDescription=function(e,t){if(e){
for(var i=0;i{this._setVisibility(e)},this._chartWidgetCollection=e}show(){const e=this._chartWidgetCollection,t=e.activeChartWidget.value()
;return t.generalPropertiesDefinitions().then(s=>Promise.all([i.e("redux"),i.e("react"),i.e(1),i.e(3),i.e(4),i.e(6),i.e(8),i.e(9),i.e(11),i.e(12),i.e(13),i.e(14),i.e(16),i.e(17),i.e(19),i.e(21),i.e(22),i.e(23),i.e(26),i.e(29),i.e(33),i.e(34),i.e(35),i.e(36),i.e(39),i.e(45),i.e(68),i.e(87),i.e(0),i.e(2),i.e(5),i.e(7),i.e(10),i.e(15),i.e(18),i.e(20),i.e(25),i.e(27),i.e(30),i.e(31),i.e(32),i.e(37),i.e(44),i.e("general-chart-properties-dialog")]).then(i.bind(null,"PI1I")).then(i=>{var r,n;const o=new i.GeneralChartPropertiesDialogRenderer({chartWidgetCollection:e,propertyPages:s,activePageId:this._activePageId,model:t.model()});return null===(r=this._dialog)||void 0===r||r.hide(),null===(n=this._dialog)||void 0===n||n.visible().unsubscribe(this._subscribe),this._dialog=o,o.visible().subscribe(this._subscribe),o.show(),this._activePageId=void 0,o}))}hide(){var e;null===(e=this._dialog)||void 0===e||e.hide()}isVisible(){return this.visible().value()}focusOnText(){}setActivePage(e){this._activePageId=e}}},"0qMc":function(e,t,i){"use strict";i.r(t),i.d(t,"lineToolsLocalizedNames",(function(){return r}));i("YFKU");var s=i("+GxX");const r={LineTool5PointsPattern:window.t("XABCD Pattern"),LineToolABCD:window.t("ABCD Pattern"),LineToolArc:window.t("Arc"),LineToolArrow:window.t("Arrow"),LineToolArrowMarkDown:window.t("Arrow Mark Down"),LineToolArrowMarkLeft:window.t("Arrow Mark Left"),LineToolArrowMarkRight:window.t("Arrow Mark Right"),LineToolArrowMarkUp:window.t("Arrow Mark Up"),LineToolBalloon:window.t("Balloon"),LineToolBarsPattern:window.t("Bars Pattern"),LineToolBezierCubic:window.t("Double Curve"),LineToolBezierQuadro:window.t("Curve"),LineToolBrush:window.t("Brush"),LineToolCallout:window.t("Callout"),LineToolCircleLines:window.t("Cyclic Lines"),LineToolCypherPattern:window.t("Cypher Pattern"),LineToolDateAndPriceRange:window.t("Date and Price Range"),LineToolDateRange:window.t("Date Range"),LineToolDisjointAngle:window.t("Disjoint Channel"),LineToolElliottCorrection:window.t("Elliott Correction Wave (ABC)"),LineToolElliottDoubleCombo:window.t("Elliott Double Combo Wave (WXY)"),LineToolElliottImpulse:window.t("Elliott Impulse Wave (12345)"),LineToolElliottTriangle:window.t("Elliott Triangle Wave (ABCDE)"),LineToolElliottTripleCombo:window.t("Elliott Triple Combo Wave (WXYXZ)"),LineToolEllipse:window.t("Ellipse"),LineToolExtended:window.t("Extended Line"),LineToolFibChannel:window.t("Fib Channel"),LineToolFibCircles:window.t("Fib Circles"),LineToolFibRetracement:window.t("Fib Retracement"),LineToolFibSpeedResistanceArcs:window.t("Fib Speed Resistance Arcs"),LineToolFibSpeedResistanceFan:window.t("Fib Speed Resistance Fan"),LineToolFibSpiral:window.t("Fib Spiral"),LineToolFibTimeZone:window.t("Fib Time Zone"),LineToolFibWedge:window.t("Fib Wedge"),LineToolFlagMark:window.t("Flag Mark"),LineToolImage:window.t("Image"),LineToolFlatBottom:window.t("Flat Top/Bottom"),LineToolAnchoredVWAP:window.t("Anchored VWAP"),LineToolGannComplex:window.t("Gann Square"),LineToolGannFixed:window.t("Gann Square Fixed"),
LineToolGannFan:window.t("Gann Fan"),LineToolGannSquare:window.t("Gann Box"),LineToolHeadAndShoulders:window.t("Head and Shoulders"),LineToolHorzLine:window.t("Horizontal Line"),LineToolHorzRay:window.t("Horizontal Ray"),LineToolIcon:window.t("Icon"),LineToolInsidePitchfork:window.t("Inside Pitchfork"),LineToolNote:window.t("Note"),LineToolNoteAbsolute:window.t("Anchored Note"),LineToolSignpost:window.t("Signpost"),LineToolParallelChannel:window.t("Parallel Channel"),LineToolPitchfan:window.t("Pitchfan"),LineToolPitchfork:window.t("Pitchfork"),LineToolPolyline:window.t("Polyline"),LineToolPath:window.t("Path"),LineToolPrediction:window.t("Forecast"),LineToolPriceLabel:window.t("Price Label"),LineToolArrowMarker:window.t("Arrow Marker"),LineToolPriceRange:window.t("Price Range"),LineToolProjection:window.t("Projection"),LineToolRay:window.t("Ray"),LineToolRectangle:window.t("Rectangle"),LineToolRegressionTrend:window.t("Regression Trend"),LineToolRiskRewardLong:window.t("Long Position"),LineToolRiskRewardShort:window.t("Short Position"),LineToolFixedRangeVolumeProfile:window.t("Fixed Range Volume Profile"),LineToolRotatedRectangle:window.t("Rotated Rectangle"),LineToolSchiffPitchfork:window.t("Modified Schiff Pitchfork"),LineToolSchiffPitchfork2:window.t("Schiff Pitchfork"),LineToolSineLine:window.t("Sine Line"),LineToolText:window.t("Text",{context:"tool"}),LineToolTextAbsolute:window.t("Anchored Text"),LineToolThreeDrivers:window.t("Three Drives Pattern"),LineToolTimeCycles:window.t("Time Cycles"),LineToolTrendAngle:window.t("Trend Angle"),LineToolTrendBasedFibExtension:window.t("Trend-Based Fib Extension"),LineToolTrendBasedFibTime:window.t("Trend-Based Fib Time"),LineToolTrendLine:window.t("Trend Line"),LineToolInfoLine:window.t("Info Line"),LineToolTriangle:window.t("Triangle"),LineToolTrianglePattern:window.t("Triangle Pattern"),LineToolVertLine:window.t("Vertical Line"),LineToolCrossLine:window.t("Cross Line"),LineToolHighlighter:window.t("Highlighter"),LineToolPriceNote:window.t("Price Note"),LineToolVbPFixed:window.t("Volume Profile Fixed Range")};Object(s.isFeatureEnabled)("remove-line-tool-ghost-feed")||(r.LineToolGhostFeed=window.t("Ghost Feed"))},"1AAW":function(e,t,i){"use strict";i.d(t,"a",(function(){return n}));var s=i("hY0g"),r=i.n(s);function n(e,...t){const i=(...t)=>e(...t.map(e=>e.value())),s=new r.a(i(...t)),n=()=>s.setValue(i(...t)),o=t.map(e=>e.spawn());for(const e of o)e.subscribe(n);return s.readonly().spawn(()=>o.forEach(e=>e.destroy()))}},"1ANp":function(e,t,i){"use strict";i.r(t),i.d(t,"navigationButtonsVisibilityKey",(function(){return r})),i.d(t,"property",(function(){return n})),i.d(t,"availableValues",(function(){return o})),i.d(t,"actualBehavior",(function(){return a}));var s=i("+jnJ");const r="NavigationButtons.visibility",{property:n,availableValues:o,actualBehavior:a}=Object(s.a)(r)},"1IXQ":function(e,t,i){"use strict";i("jJ9X")
;var s=i("aO4+").Point,r=i("/3z9"),n=i("qFKp").CheckMobile,o=i("7KDR"),a=o.Action,l=o.Separator,c=i("ikwP").hardResizeCanvas,h=i("S8xo").MouseEventHandler,u=i("YmeR").ActionBinder,d=i("T6Of").LimitedPrecisionNumericFormatter,p=i("HZKX").createLinesAction,_=i("xzdg").PriceAxisWidgetBase,m=i("Kxc7"),f=window.t("Merge All Scales Into One");class g extends _{constructor(e,t,i,s,r,n,o,a){super(e,t,i,r,n,s,a),this._axisInfo=o,this._offset=0,this.restoreDefaultCursor(),this.update(),this._mouseEventHandler=new h(this._topCanvasBinding.canvas,this,{treatVertTouchDragAsPageScroll:!1,treatHorzTouchDragAsPageScroll:!0}),this.contextMenu=null,this.actions=null}destroy(){null!==this.actions&&this.actions.reset&&this.actions.reset.destroy(),this._mouseEventHandler.destroy(),super.destroy()}dataSourceAtPoint(e,t){var i=this._grouppedSources(),r=i.sources.concat(Array.from(i.topLevelSources)).concat(this._pane.state().customSources()),n=null,o=null;if(!this._priceScale)return null;function a(e,t){var i=o?o.result():0;e.result()>i&&(o=e,n=t)}for(var l=new s(e,t),c=this._pane.state(),h=r.length-1;h>=0;--h){var u=r[h],d=u.priceAxisViews(c,this._priceScale);if(d&&0!==d.length)for(var p=d.length-1;p>=0;--p){var _=d[p].renderer();if(null!==_&&void 0!==_.hitTest){var m=_.hitTest(l,this._size.w,this._isLeft?"left":"right");null!==m&&a(m,u)}}}return n}_initActions(e){if(this._pane.hasState()&&null===this.actions){this.actions={};var t=this,s=this._pane.chart().model();this.actions.reset=new a({label:window.t("Reset Price Scale"),icon:i("LdoW"),shortcut:"Alt+R",shortcutHint:r.humanReadableHash(r.Modifiers.Alt+82),statName:"ResetScale",onExecute:g.prototype.reset.bind(this)}),this.actions.setAutoScale=new a({label:window.t("Auto (Fits Data To Screen)"),checkable:!0,checked:!0,statName:"ToggleAutoScale",onExecute:function(){s.togglePriceScaleAutoScaleMode(t.priceScale()),t._updateScalesActions()}}),this.actions.setPercentage=new a({label:window.t("Percent",{context:"scale_menu"}),checkable:!0,checked:this.priceScale().isPercentage(),statName:"TogglePercantage",onExecute:function(){s.togglePriceScalePercentageScaleMode(t.priceScale()),t._updateScalesActions()}}),this.actions.setIndexedTo100=new a({label:window.t("Indexed to 100",{context:"scale_menu"}),checkable:!0,checked:this.priceScale().isIndexedTo100(),statName:"ToggleIndexedTo100",onExecute:function(){s.togglePriceScaleIndexedTo100ScaleMode(t.priceScale()),t._updateScalesActions()}}),this.actions.setLog=new a({label:window.t("Logarithmic",{context:"scale_menu"}),checkable:!0,checked:this.priceScale().isLog(),statName:"ToggleLogScale",onExecute:function(){s.togglePriceScaleLogScaleMode(t.priceScale()),t._updateScalesActions()}}),this.actions.setRegular=new a({label:window.t("Regular",{context:"scale_menu"}),checkable:!0,checked:this.priceScale().isRegular(),statName:"ToggleRegularScale",onExecute:function(){s.setPriceScaleRegularScaleMode(t.priceScale()),t._updateScalesActions()}}),this.actions.alignLabels=new a({label:window.t("No Overlapping Labels",{context:"scale_menu"}),checkable:!0,
checked:!1,statName:"TogglePreciseLabels"}),this.actions.alignLabels.binding=new u(this.actions.alignLabels,this.priceScale().properties().alignLabels,this._pane.chart().model(),"No Overlapping Labels"),this.actions.invertScale=new a({label:window.t("Invert Scale",{context:"scale_menu"}),checkable:!0,checked:this.priceScale().isInverted(),statName:"Invert Scale",onExecute:function(){s.invertPriceScale(t.priceScale()),t._updateScalesActions()}}),this._updateScalesActions()}}_logAction(){return this._isMainSeriesAxis()?this._pane.chart().actions().logSeriesScale:this.actions.setLog}_percentageAction(){return this._isMainSeriesAxis()?this._pane.chart().actions().percentSeriesScale:this.actions.setPercentage}_indexedTo100Action(){return this._isMainSeriesAxis()?this._pane.chart().actions().indexedTo100SeriesScale:this.actions.setIndexedTo100}_autoScaleAction(){return this._isMainSeriesAxis()?this._pane.chart().actions().autoSeriesScale:this.actions.setAutoScale}_regularScaleAction(){return this._isMainSeriesAxis()?this._pane.chart().actions().regularSeriesScale:this.actions.setRegular}_lockScaleAction(){var e=this._pane.chart().actions().lockSeriesScale,t=v(this.priceScale(),this._pane.chart().model().model().mainSeriesScaleRatio());return e.update({hint:t}),e}_invertAction(){return this._isMainSeriesAxis()?this._pane.chart().actions().invertSeriesScale:this.actions.invertScale}_isMainSeriesAxis(){return this.priceScale().hasMainSeries()}_updateMainSeriesScalesActions(){this._isMainSeriesAxis()&&null!==this.actions&&this._updateScalesActions()}_updateScalesActions(){var e=this.priceScale(),t=this._isMainSeriesAxis(),i=e.mainSource().properties(),s=t&&e.isLockScale(),r=t&&i.style.value()===TradingView.Series.STYLE_PNF;this.actions.setRegular.update({checked:e.isRegular(),disabled:s||r}),this.actions.setPercentage.update({checked:e.isPercentage(),disabled:s||r}),this.actions.setIndexedTo100.update({checked:e.isIndexedTo100(),disabled:s||r}),this.actions.setLog.update({checked:e.isLog(),disabled:s||r}),this.actions.setAutoScale.update({checked:e.isAutoScale(),disabled:e.properties().autoScaleDisabled.value()})}_createMergeScalesAction(){var e=this._pane.chart().actions(),t=this._pane.chart().model().model().priceScaleSlotsCount();if(t.left+t.right===1)return 0===t.left?e.moveScaleToLeft:e.moveScaleToRight;var i=[];return i.push(e.mergeLeftScalesAction),i.push(e.mergeRightScalesAction),new a({label:f,subItems:i})}getContextMenuActions(){this._initActions();var e=this._pane.chart().actions(),t=[];if(t.push(this.actions.reset,new l,this._autoScaleAction()),this._isMainSeriesAxis()&&t.push(this._lockScaleAction()),t.push(e.scaleSeriesOnly,this._invertAction(),new l,this._regularScaleAction(),this._percentageAction(),this._indexedTo100Action(),this._logAction(),new l),n.any()||(t.push(this._createMergeScalesAction()),t.push(new l)),!m.enabled("fundamental_widget")){t.push(new a({label:window.t("Labels"),
subItems:[e.showSymbolLabelsAction,e.showSeriesLastValue,null,null,e.showHighLowPriceLabels,e.showAverageClosePriceLabel,null,e.showStudyPlotNamesAction,e.showStudyLastValue,null,null,this.actions.alignLabels].filter(Boolean)}))}return t.push(p(this._pane.chart())),this._options.countdownEnabled&&t.push(e.showCountdown),this._options.currencyConversionEnabled&&t.push(e.showCurrency),this._options.unitConversionEnabled&&t.push(e.showUnit),this._pane.chart().model().crossHairSource().isMenuEnabled()&&t.push(e.addPlusButton),!TradingView.onWidget()&&m.enabled("show_chart_property_page")&&m.enabled("chart_property_page_scales")&&e.scalesProperties&&t.push(new l,e.scalesProperties),t}setSizeAndOffset(e,t){if(e.w<0||e.h<0)throw new Error("Try to set invalid size to PriceAxisWidget "+JSON.stringify(e));this._size.equals(e)||(this._size=e,this._canvasBinding.resizeCanvas({width:e.w,height:e.h}),this._topCanvasBinding.resizeCanvas({width:e.w,height:e.h}),this._cell.style.width=e.w+"px",this._cell.style.height=e.h+"px",this._cell.style.minWidth=e.w+"px"),this._offset!==t&&(this._offset=t,this._cell.style.left=t+"px")}getWidth(){return this._size.w}update(){}hardResetCanvas(){null!==this._size&&(c(this._canvasBinding,this._size),c(this._topCanvasBinding,this._size))}_isMainPane(){return this._pane.state().containsMainSeries()}restoreDefaultCursor(){this.setCursor("")}setCursor(e){var t="";"grabbing"!==e&&"ns-resize"!==e||(t="price-axis--cursor-"+e),this._currentCursorClassName!==t&&(this._currentCursorClassName&&this._cell.classList.remove(this._currentCursorClassName),t&&this._cell.classList.add(t),this._currentCursorClassName=t,this._cell.style.cursor)}axisInfo(){return this._axisInfo}}function b(e){var t=new d(e);return function(e,i){return isNumber(i)&&!e.isLog()?t.format(i):""}}var v=b(4);e.exports={PriceAxisWidget:g,scaleRatioForContextMenuTransformer:b}},"1Wlv":function(e,t,i){"use strict";(function(e){var s=i("Yj6H").PriceScaleBase,r=i("7ktv").PriceDataSource,n=i("Qb4w").PriceRange,o=i("e3/o").randomHash,a=i("3ClC").isStudy,l=i("TTFo"),c=l.fromLog,h=l.toLog;class u extends s{constructor(t,i){super(i),this._scalesProperties=t,this.m_scrollStartPoint=null;var s=this;this._modeChanged=new e,this._properties.isInverted.listeners().subscribe(this,u.prototype._onIsInvertedChanged),this._properties.listeners().subscribe(null,(function(){if(s.mainSource()&&s.mainSource().model()){var e=s.mainSource().model().paneForSource(s.mainSource());s.mainSource().model().updatePane(e)}})),this._scalesProperties.listeners().subscribe(this,(function(){this._marksCache=null})),this.setId(o())}_convertPriceRangeFromLog(e){if(null===e)return null;var t=c(e.minValue()),i=c(e.maxValue());return new n(t,i)}_convertPriceRangeToLog(e){if(null===e)return null;var t=h(e.minValue()),i=h(e.maxValue());return new n(t,i)}_canConvertPriceRangeFromLog(e){if(null===e)return!1;var t=c(e.minValue()),i=c(e.maxValue());return isFinite(t)&&isFinite(i)}mode(){return{autoScale:this._properties.autoScale.value(),lockScale:this._properties.lockScale.value(),
percentage:this._properties.percentage.value(),indexedTo100:this._properties.indexedTo100.value(),log:this._properties.log.value()}}setMode(e){var t={},i=this.mode(),s=this._properties.state(),r=null;void 0!==e.autoScale&&e.autoScale!==s.autoScale&&(t.autoScale=e.autoScale,this._setAutoScaleValueWithDependentProperties(e.autoScale)),void 0!==e.lockScale&&e.lockScale!==s.lockScale&&(t.lockScale=e.lockScale,this._setLockScaleValueWithDependentProperties(e.lockScale)),void 0!==e.percentage&&e.percentage!==s.percentage&&(t.percentage=e.percentage,this._setPercentageValueWithDependentProperties(e.percentage),this._invalidatedForRange.isValid=!1),void 0!==e.indexedTo100&&e.indexedTo100!==s.indexedTo100&&(t.indexedTo100=e.indexedTo100,this._setIndexedTo100ValueWithDependentProperties(e.indexedTo100),this._invalidatedForRange.isValid=!1),void 0!==e.log&&e.log!==s.log&&(t.log=e.log,this._setLogValueWithDependentProperties(e.log)),s.log&&!this._properties.log.value()&&(this._canConvertPriceRangeFromLog(this.m_priceRange)?null!==(r=this._convertPriceRangeFromLog(this.m_priceRange))&&this.setPriceRange(r):this.properties().autoScale.setValue(!0)),!s.log&&this._properties.log.value()&&null!==(r=this._convertPriceRangeToLog(this.m_priceRange))&&this.setPriceRange(r),s.autoScale!==this._properties.autoScale.value()&&this._properties.autoScale.listeners().fire(this._properties.autoScale),s.autoScaleDisabled!==this._properties.autoScaleDisabled.value()&&this._properties.autoScaleDisabled.listeners().fire(this._properties.autoScaleDisabled),s.lockScale!==this._properties.lockScale.value()&&this._properties.lockScale.listeners().fire(this._properties.lockScale),s.percentage!==this._properties.percentage.value()&&(this._properties.percentage.listeners().fire(this._properties.percentage),this.updateFormatter()),s.indexedTo100!==this._properties.indexedTo100.value()&&(this._properties.indexedTo100.listeners().fire(this._properties.indexedTo100),this.updateFormatter()),s.percentageDisabled!==this._properties.percentageDisabled.value()&&this._properties.percentageDisabled.listeners().fire(this._properties.percentageDisabled),s.log!==this._properties.log.value()&&this._properties.log.listeners().fire(this._properties.log),s.logDisabled!==this._properties.logDisabled.value()&&this._properties.logDisabled.listeners().fire(this._properties.logDisabled),void 0===t.log&&void 0===t.percentage&&void 0===t.lockScale&&void 0===t.autoScale&&void 0===t.indexedTo100||this._modeChanged.fire(i,this.mode())}modeChanged(){return this._modeChanged}fontSize(){return this._scalesProperties.fontSize.value()}isEmpty(){return this._makeSureItIsValid(),0===this.m_height||!this.m_priceRange||this.m_priceRange.isEmpty()}startScroll(e){this.isAutoScale()||null===this.m_scrollStartPoint&&null===this._priceRangeSnapshot&&(this.isEmpty()||(this.m_scrollStartPoint=e,this._priceRangeSnapshot=this.priceRange().clone()))}scrollTo(e){if(!this.isAutoScale()&&null!==this.m_scrollStartPoint){var t=this.priceRange().length()/(this.internalHeight()-1),i=e-this.m_scrollStartPoint
;this.isInverted()&&(i*=-1);var s=i*t,r=this._priceRangeSnapshot.clone();r.shift(s),this.setPriceRange(r,!0),this._marksCache=null}}endScroll(){this.isAutoScale()||null!==this.m_scrollStartPoint&&(this.m_scrollStartPoint=null,this._priceRangeSnapshot=null)}_onIsInvertedChanged(){this._marksCache=null,this._markBuilder.rebuildTickMarks()}canDetachSource(e){return this.m_dataSources.some((function(t){return t!==e&&t instanceof r&&!(a(t)&&t.isLinkedToSeries())}))}}t.PriceScale=u}).call(this,i("aIyQ"))},"1pHB":function(e,t){e.exports=''},"2+aH":function(e,t,i){"use strict";i.r(t);var s=i("Eyy1"),r=i("aO4+"),n=i("fgLi"),o=i("hY0g"),a=i.n(o),l=i("HGP3"),c=i("KcY8"),h=i("Ulff");class u extends c.a{constructor(e,t,i){super(),this._source=e,this._priceScale=t,this._priceProvider=i}setHitTestData(e){this._hitTestData=e}additionalPadding(e){return 0}_updateRendererData(e,t,i){e.visible=!1,t.visible=!1;const s=this._priceScale.mainSource(),r=null!==s?s.firstValue():null;if(!this._isVisible()||this._priceScale.isEmpty()||null===r)return;const n=this._priceProvider(this._priceScale);if(null===n)return;i.background=this._bgColor(),i.textColor=this.generateTextColor(i.background);const o=this.additionalPadding(this._priceScale.fontSize());i.additionalPaddingTop=o,i.additionalPaddingBottom=o,i.coordinate=this._priceScale.priceToCoordinate(n,r),e.text=this._priceScale.formatPrice(n,r),e.visible=!0,t.visible=!0,t.hitTestData=this._hitTestData}}const d={normalBgColor:l.colorsPalette["color-cold-gray-750"],hoveredBgColor:l.colorsPalette["color-cold-gray-600"]},p={normalBgColor:l.colorsPalette["color-cold-gray-900"],hoveredBgColor:l.colorsPalette["color-cold-gray-650"]};class _ extends u{additionalPadding(e){return 2/12*e}_isVisible(){return this._source.visible&&null!==this._source.pane}_bgColor(){return this._getThemedColors().normalBgColor}_updateRendererData(e,t,i){const s=t.visible;super._updateRendererData(e,t,i),this._source.isHovered()?t.backgroung=this._getThemedColors().hoveredBgColor:t.backgroung=void 0,s||(t.visible=s)}_getThemedColors(){return this._source.model().isDark()?d:p}}class m extends u{_isVisible(){return null!==this._source.measurePane()}_bgColor(){return h.a.common}}var f=i("mMWL"),g=i("YFKU"),b=i("FQhm"),v=i("KtbP"),S=i("JWMC"),y=(i("7KDR"),i("5VQP")),w=(i("Kxc7"),i("/tGj"));function P(e){const t=e.priceScale();return null===t?0:t.isPercentage()||t.isIndexedTo100()?2:1}class C extends v.PanePriceAxisView{constructor(e,t,i,s,r){super(e,t,s),this._crossHairMenuCachedState=null,this._hasActions=!1,this._tooltipText=null,this._gaOrigin="CH menu",this._crosshairPriceAxisView=e,e.setPaneRendererLabelIcon(0),this._crosshair=t,this._scale=i,
this._options=r}_updateImpl(e,t){super._updateImpl(e,t);const i=this._crosshair.y,s=this._chartModel.properties().scalesProperties.fontSize.value(),r=this._chartModel.timeScale().width(),n=this._crosshair.model().priceAxisRendererOptions(),o=s+2*this._crosshairPriceAxisView.additionalPadding(s)+n.paddingTop+n.paddingBottom,a=o,l=i-o/2,c=r-a,h=this._crosshair.pane,u=this._mainDataSourceOnPane(),d=u&&u.symbolSource(),p=!!d&&(d.isConvertedToOtherCurrency()||d.isConvertedToOtherUnit());if(null!==u){const e=P(u),t=u.idForAlert(),i=this._crossHairMenuCachedState;null!==i&&i.id===t&&i.priceScale===e&&i.isCurrencyOrUnitConverted===p||(this._updateTooltipAndActionsAvaliability(u,e,p),this._crossHairMenuCachedState={id:t,priceScale:e,isCurrencyOrUnitConverted:p})}const _=null!==u&&Object(w.isSymbolSource)(u)?u.symbol():null,m=Boolean(_)||!1;this._crosshairPriceAxisView.setPaneLabelVisible(m);const f=null!==h&&0!==h.leftPriceScales().length&&m,g=null!==h&&0!==h.rightPriceScales().length&&m,b=r-a/2,v=this._tooltipText?{text:this._tooltipText,rect:{x:b,y:l,w:0,h:0}}:void 0;this._data={left:f,right:g,xl:0,xr:c,y:l,containerWidth:a,containerHeight:o,clickHandler:this._handleClick.bind(this),tooltip:v},this._crosshairPriceAxisView.setHitTestData(this._data)}_priceScale(){return this._scale}_updateTooltipAndActionsAvaliability(e,t,i){this._tooltipText=null,this._hasActions=!1;if(!(1===t))return;const s=!i&&!1;let r=0;s&&r++;let n=0;1===r&&(s?(n=1,this._tooltipText=window.t("Add Alert")):this._tooltipText=window.t("Add Horizontal Line")),this._crosshairPriceAxisView.setPaneRendererLabelIcon(n),this._hasActions=0!==r}_handleClick(e,t,i){Object(S.trackEvent)(this._gaOrigin,"click");const s=this._mainDataSourceOnPane(),r=null!==s&&Object(w.isSymbolSource)(s)?s.symbol():null,n={pageX:i.pageX,pageY:i.pageY,clientX:i.clientX,clientY:i.clientY,screenX:i.screenX,screenY:i.screenY,price:this._crosshair.price,symbol:r};b.emit("onPlusClick",n)}_getMenuItems(e){return Promise.resolve([])}_createAlertMenuItems(e){return Promise.resolve([])}_createTradingMenuItems(){return Promise.resolve([])}_createAddHorizontalLineMenuItem(){return[]}_getActionAddAlert(e){return null}_getActionAddHorizontalLine(e){return null}_getValue(e,t){const i=e.priceScale(),s=e.firstValue();if(null===i||null===s)return null;return i.isPercentage()||i.isIndexedTo100()?null:i.coordinateToPrice(t,s)}_formatValue(e,t){return t.formatter().format(e)}_addAlert(e,t){}_addHorizontalLineTool(e,t){}_showContextMenu(e,t,i,r){const n="left"===r;setTimeout(()=>{y.ContextMenuManager.createMenu(e).then(e=>{e.show((e,t)=>{const r=Object(s.ensureDefined)(this._data),o=Object(s.ensureNotNull)(i.view).innerHeight,a=n?r.xl:r.xr,l=i.localX-a,c={left:i.clientX-l,right:i.clientX-l+r.containerWidth,top:i.clientY-r.containerHeight/2,bottom:i.clientY+r.containerHeight/2};return{clientX:n?c.left:c.right-e,clientY:o=0&&Object(L.drawVerticalLine)(e,n,0,l),r&&o>=0&&Object(L.drawHorizontalLine)(e,o,0,a),this._data.drawCenter&&(e.beginPath(),e.arc(n,o,Math.round(3*i),0,2*Math.PI,!0),e.fillStyle=this._data.color,e.fill()),e.restore()}}var E=i("CW80");const k=l.colorsPalette["color-tv-blue-500"],D=l.colorsPalette["color-tv-blue-500"];class V{constructor(e,t){this._rendererData={},this._renderer=new A(this._rendererData),this._source=e,this._pane=t}update(){}renderer(e,t){const i=this._source.selectPointMode().value(),r=this._source.visible&&(this._source.areLinesVisible||i)&&!this._source.linesShouldBeHidden(),n=this._rendererData;if(!r||null===this._pane)return null;const o=this._source.paneForPointSelect(),a=null!==o?this._source.pane===o&&this._pane===o:this._pane===this._source.pane;if(i&&this._source.isOnHoveredChartWidget()&&a){const e=Object(s.ensureNotNull)(this._source.pointToSelect());n.color=k,n.lineWidth=1,n.lineStyle=T.LINESTYLE_SOLID,n.horzLinesVisible=!0,n.vertLinesVisible=!0,n.drawCenter=!0,"time"===e?(n.horzLinesVisible=!1,n.drawCenter=!1):"price"===e&&(n.vertLinesVisible=!1,n.drawCenter=!1)}else{const e=this._source.properties(),t=this._source.model().currentTool(),i=Object(I.lastEventIsTouch)()&&(Object(E.isLineToolName)(t)||Object(f.toolIsMeasure)(t));let s;s=i?D:e.childs().color.value();const r=e.childs().transparency.value();!i&&r>0&&(s=Object(x.generateColor)(s,r)),n.color=s,n.horzLinesVisible=this._pane===this._source.pane,n.vertLinesVisible=!0,n.lineWidth=e.childs().width.value(),n.lineStyle=e.childs().style.value(),n.drawCenter=i&&this._pane===this._source.pane}return n.w=this._pane.width(),n.h=this._pane.height(),n.x=void 0!==this._source.lockedX&&isFinite(this._source.lockedX)&&this._source.lockedX||this._source.x,n.y=this._source.y,this._renderer}}var B=i("IjC5");const R={backgroundColor:Object(x.generateColor)(l.colorsPalette["color-tv-blue-500"],70),borderColor:Object(x.generateColor)(l.colorsPalette["color-tv-blue-500"],20)};class N{constructor(e){this._renderer=new B.RectangleRenderer,this._rectangle=null,this._crosshair=e}update(){const e=this._crosshair.selection();null!==e&&null!==this._crosshair.pane?this._rectangle=this._crosshair.pane.logicalRectToPixels(e):this._rectangle=null}renderer(e,t){if(!this._rectangle)return null;const i={backcolor:R.backgroundColor,color:R.borderColor,fillBackground:!0,
linewidth:1,points:[this._rectangle.min,this._rectangle.max],extendLeft:!1,extendRight:!1};return this._renderer.setData(i),this._renderer}}var j=i("Ialn"),F=i("GH0z"),W=i("5C6T"),H=i("nda6"),U=i("nEwK"),z=i("pJOz"),G=i("qgcf"),q=i("Zy3/"),Y=i("a7Ha"),K=i("zDbI");const J=Object(g.t)("{count} bars"),Z=Object(g.t)("Vol"),X=new F.PercentageFormatter,$=new H.TimeSpanFormatter,Q=new U.VolumeFormatter,ee=Object(l.getHexColorByName)("color-tv-blue-500"),te={bgColorPositive:Object(x.generateColor)(ee,80),bgColorNegative:"rgba(239,83,80,0.2)",colorPositive:"#1E53E5",colorNegative:"#EF5350",labelBgColorPositive:ee,labelBgColorNegative:"#EF5350"};class ie{constructor(e,t){this._pipFormatter=null,this._lastSymbolInfo=null,this._horzTrenRenderer=new z.TrendLineRenderer,this._vertTrenRenderer=new z.TrendLineRenderer,this._bgRenderer=new B.RectangleRenderer,this._labelRenderer=new G.TextRenderer,this._p1=null,this._p2=null,this._label=null,this._source=e,this._pane=t}update(){const[e,t]=this._source.measurePoints();if(void 0===t)return this._p1=null,void(this._p2=null);const i=Object(s.ensureNotNull)(this._source.measurePane()),n=e.price,o=t.price,a=t.price-n,l=t.index-e.index,c=Object(j.forceLTRStr)(""+l),h=Object(s.ensureNotNull)(i.mainDataSource());let u=Object(s.ensureNotNull)(h.formatter()).format(a);if(Math.abs(n)>1e-8){const e=a/Math.abs(n);u+=" ("+X.format(100*e)+")"}const d=Object(j.forceLTRStr)(u);this._label=d+"\n"+J.format({count:c});const p=Object(s.ensureNotNull)(h.firstValue()),_=this._source.model().timeScale().indexToCoordinate(e.index),m=this._source.model().timeScale().indexToCoordinate(t.index),f=i.defaultPriceScale().priceToCoordinate(n,p),g=i.defaultPriceScale().priceToCoordinate(o,p);this._p1=new r.Point(_,f),this._p2=new r.Point(m,g);const b=this._source.model().timeScale().indexToUserTime(e.index),v=this._source.model().timeScale().indexToUserTime(t.index);let S=null;if(null!==b&&null!==v){const e=this._pane.model().mainSeries().symbolInfo();null!==e&&e!==this._lastSymbolInfo&&(this._pipFormatter=new W.PipFormatter(e.pricescale,e.minmov,e.type,e.minmove2),this._lastSymbolInfo=e),S=(v.valueOf()-b.valueOf())/1e3}const y=this._pipFormatter?this._pipFormatter.format(a):null,w=null!==y?" , "+y:"",P=null!==S?$.format(S):null,C=null!==P?", "+Object(j.startWithLTR)(P):"";this._label=Object(j.forceLTRStr)(d+w)+"\n"+J.format({count:c})+C;const x=this._source.measureVolume();Number.isNaN(x)||(this._label+=`\n${Z} ${Q.format(x)}`);const I=o=50?Y.LineEnd.Arrow:Y.LineEnd.Normal}
;this._horzTrenRenderer.setData(s)}{const e=Math.round(A.x),t=new r.Point(e,this._p1.y),i=new r.Point(e,this._p2.y),s={points:[t,i],color:M,linewidth:1,linestyle:T.LINESTYLE_SOLID,extendleft:!1,extendright:!1,leftend:Y.LineEnd.Normal,rightend:Math.abs(t.y-i.y)>=50?Y.LineEnd.Arrow:Y.LineEnd.Normal};this._vertTrenRenderer.setData(s)}const E={x:0,y:10},k=.5*(this._p1.x+this._p2.x),D=this._p2.y,V=new r.Point(k,D),B=(R=Object(s.ensureNotNull)(this._label),{points:[V],text:R,color:"#FFFFFF",horzAlign:"center",vertAlign:"middle",font:K.CHART_FONT_FAMILY,offsetX:E.x,offsetY:E.y,bold:!1,italic:!1,fontsize:12,padding:8,highlightBorder:!1,backgroundColor:O,backgroundTransparency:10,backgroundVertInflate:5,backgroundHorzInflate:5,backgroundRoundRect:4});var R;this._labelRenderer.setData(B);const N=this._labelRenderer.measure(),F=Object(G.calculateLabelPosition)(N,this._p1,this._p2,E,this._pane.height());this._labelRenderer.setPoints([F])}renderer(){if(null===this._p1||null===this._p2)return null;const e=new q.CompositeRenderer;return e.append(this._bgRenderer),e.append(this._horzTrenRenderer),e.append(this._vertTrenRenderer),e.append(this._labelRenderer),e}}var se=i("cPgM");class re extends se.ScaledPaneRenderer{constructor(e){super(),this._data=e}hitTest(e){return null}_drawImpl(e){e.translate(this._data.x-this._data.width/2,this._data.y-this._data.height/2),e.strokeStyle="rgba(153,153,153,.3)",e.lineWidth=2,e.beginPath(),this._drawShackle(e),e.stroke(),e.closePath(),e.strokeStyle="rgba(153,153,153,.7)",e.lineWidth=1,e.beginPath(),e.rect(0,this._data.height-this._data.bodyHeight+.5,this._data.width,this._data.bodyHeight),e.closePath(),e.stroke(),e.translate(0,-1),e.strokeStyle="#777",e.beginPath(),this._drawShackle(e),e.stroke(),e.closePath(),e.fillStyle="rgba(255,255,255,.7)",e.beginPath(),e.rect(1,this._data.height-this._data.bodyHeight+1.5,this._data.width-2,this._data.bodyHeight-2),e.fill(),e.beginPath(),e.rect(.5,this._data.height-this._data.bodyHeight+1,this._data.width-1,this._data.bodyHeight-1),e.stroke(),e.closePath(),e.fillStyle="#777",e.fillRect(this._data.width/2-.5,this._data.height-this._data.bodyHeight/2,1,2)}_drawShackle(e){const t=(this._data.width-3)/2,i=this._data.height-this._data.bodyHeight;e.moveTo(1.5,t),e.arc(this._data.width/2,t,t,Math.PI,2*Math.PI),i>t&&(e.moveTo(1.5,t),e.lineTo(1.5,i),e.moveTo(this._data.width-1.5,t),e.lineTo(this._data.width-1.5,i))}}class ne{constructor(e,t,i){this._horzVisible=!1,this._source=e,this._pane=t,this._axis=i||"x"}update(){}renderer(e,t){const i=this._source.visible&&this._source.areLinesVisible,r=Object(f.lockTimeAxis)().value(),n=i&&this._horzVisible,o=i||r;if("y"===this._axis&&!n||!o)return null;const a="y"===this._axis?this._pane.width()-4.5:Object(s.ensureDefined)(this._source.lockedX)+1,l="y"===this._axis?this._source.y:this._pane.height()-5.5-1;return new re({x:a,y:l,width:9,height:11,bodyHeight:7})}}var oe=i("qFKp"),ae=i("aIyQ"),le=i.n(ae),ce=i("GDWD"),he=i("ivNn"),ue=i("4miz");const de=window.t("n/a");class pe extends ue.b{constructor(e){super(),
this._invalidated=!0,this._dateItem=new ue.a(window.t("Date"),""),this._timeItem=new ue.a(window.t("Time"),""),this._model=e,this._items.push(this._dateItem),this._items.push(this._timeItem)}update(){this._invalidated=!0}items(){return this._invalidated&&(this._updateImpl(),this._invalidated=!1),this._items}_updateImpl(){const e=this._model.mainSeries().isDWM();if(this._timeItem.setVisible(!e),this._timeItem.setValue(de),this._dateItem.setValue(de),this._model.timeScale().isEmpty())return;let t=this._model.crossHairSource().appliedIndex();if(!Object(he.isNumber)(t)){const e=this._model.mainSeries().data().last();if(null===e)return;t=e.index}const i=this._model.timeScale().indexToUserTime(t);null!==i&&(this._dateItem.setValue(this._model.dateFormatter().format(i)),e||this._timeItem.setValue(this._model.timeFormatter().format(i)))}}var _e=i("cgFQ");class me extends _e.a{constructor(e,t,i=!1){super(e),this._indexProvider=t,this._highlighted=i}_getBgColor(){const e=this._model.isDark();return this._highlighted?h.a.common:e?l.colorsPalette["color-cold-gray-750"]:l.colorsPalette["color-cold-gray-900"]}_getIndex(){return this._model.crossHairSource().visible?this._indexProvider():null}}var fe=i("585y");i.d(t,"Crosshair",(function(){return be}));const ge={menuEnabled:!1,menuForMainSourceOnly:!1,disableTradingMenuActions:!1,disableDrawHorizLineMenuAction:!1};class be extends n.DataSource{constructor(e,t,i){super(),this.pane=null,this.price=NaN,this.index=NaN,this.visible=!0,this.areLinesVisible=!0,this.x=NaN,this.y=NaN,this._measuringEnabled=new le.a,this._measurePane=null,this._startMeasurePoint=null,this._endMeasurePoint=null,this._lastValidMeasurePoint=null,this._isOnHoveredChartWidget=!1,this._selectPointMode=new a.a(!1),this._selectionPane=null,this._selectionView=new N(this),this._selectionStartPoint=null,this._measurePaneView=null,this._timeLockPaneView=null,this._priceAxisViews=new Map,this._panePriceAxisViews=new Map,this._startMeasurePriceAxisViews=new Map,this._endMeasurePriceAxisViews=new Map,this._originX=NaN,this._originY=NaN,this._subscribed=!1,this._movedDelegate=new le.a,this._pointSelectedDelegate=new le.a,this._requestedPoint=null,this._paneForRequestedPoint=null,this._volumeCalculator=null,this._model=e,this._options=Object.assign({},ge,i||{}),this._linesShouldBeHidden=this._model.readOnly(),this._dataWindowView=new pe(e),this.setSelectionEnabled(!1);const r=e=>t=>t===Object(s.ensureNotNull)(this._measurePane).defaultPriceScale()?e():null;this._currentPosPriceProvider=e=>{const t=Object(s.ensureNotNull)(this.pane);if(e===t.defaultPriceScale())return this.price;const i=Object(s.ensureNotNull)(t.defaultPriceScale().mainSource()).firstValue();if(null===i)return null;const r=t.defaultPriceScale().priceToCoordinate(this.price,i),n=Object(s.ensureNotNull)(e.mainSource()).firstValue();return null===n?null:e.coordinateToPrice(r,n)},this._startMeasurePriceProvider=r(()=>Object(s.ensureNotNull)(this._startMeasurePoint).price),
this._endMeasurePriceProvider=r(()=>Object(s.ensureNotNull)(this._lastMeasurePoint()).price),this._properties=t;this._timeAxisView=new me(e,()=>this.appliedIndex(),!1),this._startMeasureTimeAxisView=new me(e,()=>Object(s.ensureNotNull)(this._startMeasurePoint).index,!0),this._endMeasureTimeAxisView=new me(e,()=>Object(s.ensureNotNull)(this._lastMeasurePoint()).index,!0),e.readOnly()||f.cursorTool.subscribe(e=>this.areLinesVisible="arrow"!==e,{callWithLast:!0})}destroy(){null!==this._volumeCalculator&&this._volumeCalculator.destroy()}moved(){return this._movedDelegate}originX(){return this._originX}originY(){return this._originY}saveOriginCoords(e,t){this._originX=e,this._originY=t}clearOriginCoords(){this._originX=NaN,this._originY=NaN}currentPoint(){return new r.Point(this.x,this.y)}model(){return this._model}appliedIndex(){return Number.isFinite(this.lockedIndex)?this.lockedIndex:this.index}startMeasurePoint(){return this._startMeasurePoint||null}endMeasurePoint(){return this._endMeasurePoint||null}measureVolume(){if(null===this._volumeCalculator)return NaN;const[e,t]=this.measurePoints();return void 0===t?NaN:this._volumeCalculator.volume(e.index,t.index)}measurePane(){return this._measurePane||null}startMeasuring(e,t){this._startMeasurePoint=e,this._measurePane=t,this._measuringEnabled.fire(!0),t.containsMainSeries()&&(Object(s.assert)(null===this._volumeCalculator),this._volumeCalculator=new fe.a(this.model().mainSeries()))}finishMeasure(e){this._endMeasurePoint=e}clearMeasure(){delete this._measurePane,delete this._startMeasurePoint,delete this._endMeasurePoint,delete this._lastValidMeasurePoint,this._model.lightUpdate(),null!==this._volumeCalculator&&(this._volumeCalculator.destroy(),this._volumeCalculator=null),this._measuringEnabled.fire(!1)}measuringEnabled(){return this._measuringEnabled}measurePoints(){this.updateAllViews();const e=[Object(s.ensureNotNull)(this._startMeasurePoint)],t=this._lastMeasurePoint();return null!==t&&e.push(t),e}startSelection(e){this._selectionStartPoint=this.currentLogicalPoint(),this._selectionPane=e}clearSelection(){this._selectionStartPoint=null,this._selectionPane=null}selection(){return this._selectionStartPoint?{p1:this._selectionStartPoint,p2:this.currentLogicalPoint()}:null}currentLogicalPoint(){return{index:this.appliedIndex(),price:this.price}}selectPointMode(){return this._selectPointMode}cancelRequestSelectPoint(){this._selectPointMode.value()&&this._setSelectPointModeState(!1)}requestSelectPoint(e,t){Object(s.assert)(!this._selectPointMode.value(),"Point already requested"),t&&(Object(s.assert)(-1!==this._model.panes().indexOf(t),"Chartmodel doesn't contains specified pane"),this._paneForRequestedPoint=t,this._model.panesCollectionChanged().subscribe(this,this._paneCollectionChanged)),this._requestedPoint=e,this._setSelectPointModeState(!0)}onPointSelected(){return this._pointSelectedDelegate}trySelectCurrentPoint(){const e=Object(s.ensureNotNull)(this._requestedPoint);if(!this._model.mainSeries().bars().contains(this.index)&&"price"!==e)return
;const t=Object(s.ensureNotNull)(this.pane);if(this._paneForRequestedPoint&&this._paneForRequestedPoint!==t)return;let i,r;if("price"===e||(i=this._model.timeScale().indexToTimePoint(this.index),null!==i)){if("time"!==e){const e=t.mainDataSource();if(null===e)return;const i=e.firstValue(),s=e.priceScale();if(null===i||null===s)return;r=s.coordinateToPrice(this.y,i)}this._setSelectPointModeState(!1),this._pointSelectedDelegate.fire({time:i,price:r},t)}}isOnHoveredChartWidget(){return this._isOnHoveredChartWidget}setOnHoveredChartWidget(e){this._isOnHoveredChartWidget=e}clearPosition(){this.visible=!1,this.index=NaN,this.price=NaN,this.x=NaN,this.y=NaN,this.pane=null,this.clearOriginCoords()}setPosition(e,t,i){return this._subscribed||(this._model.mainSeries().onRestarted().subscribe(this,this.clearMeasure),this._subscribed=!0),this.setLockedPosition(i),this.visible=!0,this._tryToUpdateViews(e,t,i)}setLinesShouldBeHidden(e){this._linesShouldBeHidden=e}linesShouldBeHidden(){return this._linesShouldBeHidden}handleContextMenuEvent(e){this._selectPointMode.value()&&this._setSelectPointModeState(!1)}properties(){return this._properties}priceAxisViews(e,t){const i=null===this._requestedPoint||"time"!==this._requestedPoint||!this._isOnHoveredChartWidget,s=[];return this.pane===e&&i&&s.push(this._createPriceAxisViewOnDemand(this._priceAxisViews,this._panePriceAxisViews,e,t,this._currentPosPriceProvider,_,!0)[0]),this._startMeasurePoint&&s.push(this._createPriceAxisViewOnDemand(this._startMeasurePriceAxisViews,null,e,t,this._startMeasurePriceProvider,m)[0]),this._lastMeasurePoint()&&s.push(this._createPriceAxisViewOnDemand(this._endMeasurePriceAxisViews,null,e,t,this._endMeasurePriceProvider,m)[0]),s}timeAxisViews(){const e=[],t=null===this._requestedPoint||"price"!==this._requestedPoint||!this._isOnHoveredChartWidget;return!this._linesShouldBeHidden&&(this.visible||Object(f.lockTimeAxis)().value())&&t&&e.push(this._timeAxisView),this._startMeasurePoint&&e.push(this._startMeasureTimeAxisView),this._lastMeasurePoint()&&e.push(this._endMeasureTimeAxisView),e}paneViews(e){if(void 0===e)return null;const t=[new V(this,e)];if(e===this._selectionPane&&t.push(this._selectionView),e===this._measurePane&&(null===this._measurePaneView&&(this._measurePaneView=new ie(this,e)),this._measurePaneView.update(),t.push(this._measurePaneView)),ce.addPlusButtonProperty.value()){const i=e===this.pane,s=!oe.CheckMobile.any()||window.screen.width>=320,r=f.tool.value(),n=Object(E.isLineToolName)(r),o=null!==this._model.lineBeingEdited()||null!==this._model.lineBeingCreated()||this._model.sourcesBeingMoved().length>0||null!==this._model.customSourceBeingMoved()||Object(f.toolIsMeasure)(r);if(i&&this._isOnHoveredChartWidget&&!this._selectPointMode.value()&&s&&!n&&!o){const i=e.mainDataSource();if(null!==i){const s=i.priceScale();if(null!==s){const i=this._createPriceAxisViewOnDemand(this._priceAxisViews,this._panePriceAxisViews,e,s,this._currentPosPriceProvider,_,!0)[1];null!==i&&t.push(i)}}}}
return Object(f.lockTimeAxis)().value()&&(null===this._timeLockPaneView&&(this._timeLockPaneView=new ne(this,e)),t.push(this._timeLockPaneView)),t}dataWindowView(){return this._dataWindowView}updateAllViews(){this._priceAxisViews.forEach(e=>{e.forEach(e=>e.update())}),this._panePriceAxisViews.forEach(e=>{e.forEach(e=>e.update())}),this._startMeasurePoint&&(this._startMeasurePriceAxisViews.forEach(e=>{e.forEach(e=>e.update())}),this._startMeasureTimeAxisView.update()),this._lastMeasurePoint()&&(this._endMeasurePriceAxisViews.forEach(e=>{e.forEach(e=>e.update())}),this._endMeasureTimeAxisView.update()),this._timeAxisView.update(),this._selectionView.update(),this._dataWindowView.update()}setLockedPosition(e){delete this.lockedIndex,delete this.lockedX,e!==this._measurePane&&Object(f.lockTimeAxis)().value()&&(this.lockedIndex=this._model.timeScale().points().roughIndex(f.lockTimeAxisTime.value()),null!==this.lockedIndex&&(this.lockedX=this._model.timeScale().indexToCoordinate(this.lockedIndex)))}isMenuEnabled(){return this._options.menuEnabled}isHoveredEnabled(){return ce.addPlusButtonProperty.value()}isHovered(){return this._model.hoveredSource()===this}pointToSelect(){return this._requestedPoint}paneForPointSelect(){return this._paneForRequestedPoint}_lastMeasurePoint(){return this._endMeasurePoint?this._endMeasurePoint:(null!==this.pane&&this._measurePane===this.pane&&(this._lastValidMeasurePoint={price:this._model.magnet().align(this.price,this.index,this.pane),index:this.index}),this._lastValidMeasurePoint||null)}_createPriceAxisViewOnDemand(e,t,i,r,n,o,a=!1){let l=e.get(i),c=null!==t?t.get(i):void 0;void 0===l&&(l=new Map,e.set(i,l),this._options.menuEnabled&&null!==t&&(c=new Map,t.set(i,c)),a&&i.onDestroyed().subscribe(this,()=>this._onPaneDestroyed(i)));let h=l.get(r);if(void 0===h){if(h=new o(this,r,n),l.set(r,h),void 0!==c){const e=new C(h,this,r,this._model,this._options);c.set(r,e)}a&&r.lastSourceRemoved().subscribe(this,()=>this._onPriceScaleCleared(r))}let u=null;return void 0!==c&&(u=Object(s.ensureDefined)(c.get(r))),[h,u]}_onPaneDestroyed(e){e.onDestroyed().unsubscribeAll(this),this._priceAxisViews.delete(e),this._panePriceAxisViews.delete(e),this._startMeasurePriceAxisViews.delete(e),this._endMeasurePriceAxisViews.delete(e)}_onPriceScaleCleared(e){e.lastSourceRemoved().unsubscribeAll(this),this._priceAxisViews.forEach(t=>t.delete(e)),this._panePriceAxisViews.forEach(t=>t.delete(e)),this._startMeasurePriceAxisViews.forEach(t=>t.delete(e)),this._endMeasurePriceAxisViews.forEach(t=>t.delete(e))}_tryToUpdateViews(e,t,i){return!!this._tryToUpdateData(e,t,i)&&(this.updateAllViews(),this._movedDelegate.fire({index:this.index,price:this.price}),!0)}_tryToUpdateData(e,t,i){const r=this.x,n=this.y,o=this.price,a=this.index,l=this.pane,c=this._priceScaleByPane(i);if(this.index=e,this.x=isNaN(e)?NaN:this._model.timeScale().indexToCoordinate(e),null!==c&&null!==i){this.pane=i,this.price=t;const e=Object(s.ensureNotNull)(i.mainDataSource()).firstValue();this.y=null===e?NaN:c.priceToCoordinate(t,e)
}else this.pane=null,this.price=NaN,this.y=NaN;return r!==this.x||n!==this.y||a!==this.index||o!==this.price||l!==this.pane}_priceScaleByPane(e){return e&&!e.defaultPriceScale().isEmpty()?e.defaultPriceScale():null}_setSelectPointModeState(e){e||(this._requestedPoint=null,this._paneForRequestedPoint&&(this._paneForRequestedPoint=null,this._model.panesCollectionChanged().unsubscribe(this,this._paneCollectionChanged))),this._selectPointMode.setValue(e),this._model.lightUpdate()}_paneCollectionChanged(e){const t=this._paneForRequestedPoint;null!==t&&-1===e.indexOf(t)&&this.cancelRequestSelectPoint()}}},"22xp":function(e,t,i){"use strict";i.r(t);var s=i("Eyy1"),r=i("9uLv"),n=i("txPx"),o=i("//lZ"),a=i("aIyQ"),l=i.n(a),c=i("Kxc7"),h=i("Hr11"),u=i("ogJP"),d=i("FIi8"),p=i("ZJKN");class _{constructor(e,t){Object(s.assert)(e<=t,"The left value should be greater than or equal to the right value"),this._left=e,this._right=t}left(){return this._left}right(){return this._right}length(){return this._right-this._left+1}contains(e){return this._left<=e&&e<=this._right}equals(e){return this._left===e.left()&&this._right===e.right()}static compare(e,t){return null===e||null===t?e===t:e.equals(t)}}const m=Object(n.getLogger)("Chart.TimePoints");class f{constructor(){this._zoffset=0,this._items=[]}clear(){this._zoffset=0,this._items=[]}size(){return this._items.length}firstIndex(){return this._offsetToIndex(0)}lastIndex(){return this._offsetToIndex(this._items.length-1)}merge(e,t,i){if(0===i.length)return m.logError("merge: 'values' does not contain any time points"),[];if(t>this._zoffset&&e+t>0)return m.logError("merge: when the first time point index is updated, we should fill the time points starting from the first one"),[];if(0===this._items.length)return this._items=i,this._zoffset=t,[{change:"rebuild",index:this._validOffsetToIndex(0)}];const s=e+this._zoffset;if(s<0){const r=Math.abs(s);if(i.lengththis._items.length){const e=o-this._items.length;for(let t=n;tthis._items[this._items.length-1])return t?this._validOffsetToIndex(this._items.length-1):null;for(let i=0;io){const i=e-o;if(i<500&&null!=t)return t(l,i);return l+i*c}return null}roughIndex(e,t=null){const i=this._items;if(!i.length||i.length<2)return null;const s=i.length-1,r=this._validOffsetToIndex(0),n=this._validOffsetToIndex(s),o=i[0],a=i[s];if(e>=o&&e<=a)return this.closestIndexLeft(e);const l=(a-o)/(n-r);if(ea){const i=e-a;let s=Math.trunc(i/l);if(s<500&&null!==t){const i=t(a,e);i.success&&(s=i.result)}return n+s}return null}closestIndexLeft(e){const t=this._items;if(!t.length)return null;if(Number.isNaN(e))return null;let i=t.length-1;if(e>=t[i])return this._validOffsetToIndex(i);let s=0;const r=t[s];if(es+1;){const r=s+i>>1,n=t[r];if(n>e)i=r;else{if(!(n{this.setRightOffset(e.value())}),this._options.preserveBarSpacing&&(this._barSpacing=this._scalesProperties.childs().barSpacing.value()||6),this._barSpacingChanged.subscribe(this,this._maxRightOffsetOnChanged),this._widthChanged.subscribe(this,this._maxRightOffsetOnChanged)}destroy(){this._barSpacingChanged.unsubscribeAll(this),this._barSpacingChanged.destroy(),this._widthChanged.unsubscribeAll(this),this._widthChanged.destroy()}isEmpty(){return 0===this._width||0===this._points.size()}update(e,t,i,s){this._visibleBarsInvalidated=!0,i.length>0&&this._points.merge(e,t,i),this._tickMarks.merge(s),this._correctOffset()}addTail(e,t,i){this._tickMarks.removeTail(t);const r=e.params,n=Object(s.ensureDefined)(this._tickMarks.maxIndex)+(i?0:1);for(let e=0;e0&&(i*=this._width/e.width)),this._tryToUpdateBarSpacing(this._barSpacing,i),this._correctOffset(),this._rightOffsetChanged.fire(this._rightOffset)}marks(){if(this.isEmpty())return null;const e=this._barSpacing,t=5*((this._scalesProperties.childs().fontSize.value()||0)+4),i=Math.round(t/e),r=Object(s.ensureNotNull)(this.visibleBarsStrictRange()),n=Math.max(r.firstBar(),r.firstBar()-i),o=Math.max(r.lastBar(),r.lastBar()-i),a=this._tickMarks.build(e,t),l=[];for(const e of a){if(!(n<=e.index&&e.index<=o))continue;const t=this._tickMarks.indexToTime(e.index);null!==t&&l.push({coord:this.indexToCoordinate(e.index),label:this.formatLabel(t,e.span),span:e.span,major:e.label>=P.DAY_SPAN})}return l}visibleBarsStrictRange(){return this._visibleBarsInvalidated&&(this._visibleBarsInvalidated=!1,this._updateVisibleBars()),this._visibleBars.strictRange()}visibleBarsStrictRangeChanged(){return this._visibleBarsChanged}logicalRangeChanged(){return this._logicalRangeChanged}tickMarks(){return this._tickMarks}points(){return this._points}width(){return this._width}setWidth(e,t){if(!Number.isFinite(e)||e<=0)return void E.logWarn("setWidth: invalid argument: "+e);if(this._width===e)return;if(this._visibleBarsInvalidated=!0,(t||this._options.lockVisibleTimeRangeOnResize)&&this._width){const t=this._barSpacing*e/this._width;this._tryToUpdateBarSpacing(this._barSpacing,t)}if(null!==this._leftEdgeIndex){if(Object(s.ensureNotNull)(this.visibleBarsStrictRange()).firstBar()<=this._leftEdgeIndex){const t=this._width-e;this._rightOffset-=Math.round(t/this._barSpacing)+1}}this._width=e,this._widthChanged.fire(e);const i=this._rightOffset;this._correctOffset(),this._rightOffset!==i&&this._rightOffsetChanged.fire(this._rightOffset),this._requestMoreData()}setLeftEdgeFix(e){this._leftEdgeIndex=e;const t=this.visibleBarsStrictRange();if(null===t)return;const i=t.firstBar()-e;if(i<0){const e=this._rightOffset-i-1;this.scrollToOffsetAnimated(e,500)}}indexToCoordinate(e){if(this.isEmpty())return 0;if(!Object(u.isInteger)(e))return 0;const t=this.baseIndex()+this._rightOffset-e;return this._width-(t+.5)*this._barSpacing-1}indexToUserTime(e){return this._tickMarks.indexToTime(e)}timePointToIndex(e){return this._points.indexOf(e,!0)}indexToTimePoint(e){return this._points.valueAt(e)}timeToCoordinate(e){const t=this._points.closestIndexLeft(e);if(null===t)return null;const i=Object(s.ensureNotNull)(this._points.valueAt(t)),r=this.indexToCoordinate(t);if(r<=0||r>=this._width)return null;const n=this.barSpacing(),o=this.baseIndex(),a=r+(e-i)/(Object(s.ensureNotNull)(this._points.valueAt(o))-Object(s.ensureNotNull)(this._points.valueAt(o-1)))*n+1;return a<=0||a>=this._width?null:a}barIndexesToCoordinates(e){const t=this.baseIndex();for(const i of e){const e=i.time,s=t+this._rightOffset-e,r=this._width-(s+.5)*this._barSpacing-1;i.time=r,i.exactTime=r}}timedValuesToCoordinates(e){const t=this.baseIndex()+this._rightOffset,i=this._width-t*this._barSpacing-.5*this._barSpacing-1
;for(const t of e)t.x=i+t.x*this._barSpacing}indexesToCoordinates(e,t){if(this.isEmpty())return;void 0===t&&(t=e.length);const i=this.baseIndex()+this._rightOffset,s=this._width-i*this._barSpacing-.5*this._barSpacing-1,r=this._barSpacing,n=e;for(let i=0;i{void 0!==t&&t(),this._requestMoreData()};if(e){const e=this._rightOffset,t=this.maxRightOffset();t>0&&i>t&&(i=t);const n=this._model;Object(o.doAnimate)({from:e,to:i,duration:1e3,easing:r.c.easeInOutQuint,onComplete:s,onStep:(e,t)=>{this._visibleBarsInvalidated=!0,this._updateRightOffset(t),n.recalculateAllPanes(),n.lightUpdate(),n.recalcVisibleRangeStudies()}})}else this._visibleBarsInvalidated=!0,this._updateRightOffset(i),s()}scrollToOffsetAnimated(e,t){if(!isFinite(e))throw new RangeError("offset is required and must be finite number");const i=void 0===t?400:t;if(!isFinite(i)||i<=0)throw new RangeError("animationDuration (optional) must be finite positive number");const s=this._rightOffset,r=Date.now(),n=()=>{this._visibleBarsInvalidated=!0;const t=(Date.now()-r)/i;if(t>=1)return this._updateRightOffset(e),this._visibleBarsInvalidated=!0,this._model.recalculateAllPanes(),void this._model.lightUpdate();const o=s+(e-s)*t;this._updateRightOffset(o),this._model.recalculateAllPanes(),setTimeout(n,20)};n()}defaultRightOffsetProperty(){return this._defaultRightOffsetProperty}rightOffsetDefaultValue(){return 10}barSpacing(){return this._barSpacing}setBarSpacing(e){Number.isFinite(e)?(e=this.getValidBarSpacing(e),this._tryToUpdateBarSpacing(this._barSpacing,e)&&(this._correctOffset(),this._options.preserveBarSpacing&&(Object(y.saveDefaultProperties)(!0),this._scalesProperties.childs().barSpacing.setValue(this._barSpacing),Object(y.saveDefaultProperties)(!1)))):E.logWarn("setBarSpacing: invalid argument: "+e)}barSpacingChanged(){return this._barSpacingChanged}getValidBarSpacing(e){return null==e&&(e=this.barSpacing()),ethis.maxBarSpacing()?this.maxBarSpacing():e}isValidBarSpacing(e){return e>=this.minBarSpacing()&&e<=this.maxBarSpacing()}preserveBarSpacing(){return this._options.preserveBarSpacing}normalizeBarIndex(e){let t=0,i=0;const r=this.baseIndex(),n=Object(s.ensureNotNull)(this._points.firstIndex());return er?(t=Object(s.ensureNotNull)(this._points.valueAt(r)),i=e-r):(t=Object(s.ensureNotNull)(this._points.valueAt(e)),i=0),{time_t:t,offset:i}}denormalizeTimePoint(e){const t=this._points.indexOf(e.time_t,!1);if(null!==t)return t+e.offset}rightOffset(){return this._rightOffset}rightOffsetChanged(){return this._rightOffsetChanged}minRightOffset(){const e=this.points().firstIndex(),t=this._baseIndex;if(null===e||null===t)return null;if(null!==this._leftEdgeIndex){
const e=this.width()/this._barSpacing;return this._leftEdgeIndex-t+e-1}return e-t-1+A}maxRightOffset(){return this.width()/this._barSpacing-A}maxRightOffsetChanged(){return this._maxRightOffsetChanged}onReset(){return this._resetDelegate}scrollStartPoint(){return this._scrollStartPoint}baseIndex(){return this._baseIndex||0}zoom(e,t,i){if(!Number.isFinite(e)||!Number.isFinite(t))return void E.logWarn(`zoom: invalid arguments: ${e}, ${t}, ${i}`);const s=this.coordinateToIndex(e),r=this.barSpacing(),n=r+t*(r/10);this.setBarSpacing(n);(void 0!==i?!i:this._options.rightBarStaysOnScroll)||this.setRightOffset(this.rightOffset()-.5+(s-this._coordinateToFloatIndex(e))),this._requestMoreData()}zoomToBarsRange(e,t){if(null!==this._leftEdgeIndex&&(e=Math.max(e,this._leftEdgeIndex)),t<=e)return;const i=this.baseIndex(),s=this._rightOffset;this._rightOffset=t-i;const r=Math.max(t-e+1,A);this.setBarSpacing(this.width()/r),this._visibleBarsInvalidated=!0,this._correctOffset(),this._rightOffset!==s&&this._rightOffsetChanged.fire(this._rightOffset),this._requestMoreData()}coordinateToIndex(e){return Math.ceil(this._coordinateToFloatIndex(e))}coordinateToVisibleIndex(e){let t;if(0===e){const e=this._coordinateToFloatIndex(-1);t=Math.floor(e)+1}else t=this.coordinateToIndex(e);const i=this.visibleBarsStrictRange();return null===i||i.contains(t)||(t=Math.min(Math.max(i.firstBar(),t),i.lastBar())),t}canZoomIn(){return this.barSpacing()this._options.minBarSpacing}minBarSpacing(){return this._options.minBarSpacing}maxBarSpacing(){return L?this.width():50}resetRightOffset(){this.setRightOffset(this._defaultRightOffsetProperty.value())}reset(){this._visibleBarsInvalidated=!0,this._points=new f,this._scrollStartPoint=null,this._scaleStartPoint=null,this._clearCommonTransitionsStartState(),this._tickMarks.reset(),this._leftEdgeIndex=null,this._resetDelegate.fire(),this.disconnect()}disconnect(){this._requestingMoreData=!1,this._requestedTickmarksCount=0,this._endOfData=!1}setBaseIndex(e){Number.isFinite(e)?(this._visibleBarsInvalidated=!0,this._baseIndex=e,this._correctOffset()):E.logDebug("setBaseIndex: invalid argument: "+e)}setRightOffset(e){Number.isFinite(e)?(this._visibleBarsInvalidated=!0,this._updateRightOffset(e)):E.logWarn("setRightOffset: invalid argument: "+e)}correctBarSpacing(){this.isEmpty()||this.points().size()this.formatLabelImpl(e,t)),this._formattedBySpan.set(t,i)),i.format(new Date(e))}formatLabelImpl(e,t){if(!(e&&e instanceof Date))return"incorrect time";const i=function(e,t){if(ee&&(this._rightOffset=e,this._visibleBarsInvalidated=!0);const t=this.minRightOffset();null!==t&&this._rightOffset]/g,r=e=>`${e.charCodeAt(0)};`;function n(e){return e.replace(s,r)}function o(e=""){return e.replace(/(<([^>]+)>)/gi,"")}function a(e=""){return e.replace(/\s+/g,"")}function l(e=""){
return e.replace(/\b\w/g,e=>e.toUpperCase())}},"29fS":function(e,t,i){"use strict";i.r(t),i.d(t,"PaneRendererBars",(function(){return n}));var s=i("Zp/P"),r=i("ExCE");class n extends r.a{constructor(e){super(),this._bars=e.bars,this._barSpacing=e.barSpacing,this._dontDrawOpen=e.dontDrawOpen,this._thinBars=e.thinBars}draw(e,t){e.save();const i=t.pixelRatio;if(this._barWidth=this._calcBarWidth(i),this._barWidth>=2){Math.max(1,Math.floor(i))%2!=this._barWidth%2&&this._barWidth--}this._barLineWidth=this._thinBars?Math.min(this._barWidth,Math.floor(i)):this._barWidth;let s=null;const r=this._barLineWidth<=this._barWidth&&this._barSpacing>=Math.floor(1.5*t.pixelRatio);for(const t of this._bars){s!==t.color&&(e.fillStyle=t.color,s=t.color);const n=Math.floor(.5*this._barLineWidth),o=Math.round(t.time*i),a=o-n,l=this._barLineWidth,c=a+l-1,h=Math.min(t.high,t.low),u=Math.max(t.high,t.low),d=Math.round(h*i)-n,p=Math.round(u*i)+n,_=Math.max(p-d,this._barLineWidth);e.fillRect(a,d,l,_);const m=Math.ceil(1.5*this._barWidth);if(r){const s=o-m,r=o+m,h=Math.min(a-s,r-c);if(!this._dontDrawOpen){let r=Math.max(d,Math.round(t.open*i)-n),o=r+l-1;o>d+_-1&&(o=d+_-1,r=o-l+1),e.fillRect(s,r,h,o-r+1)}let u=Math.max(d,Math.round(t.close*i)-n),p=u+l-1;p>d+_-1&&(p=d+_-1,u=p-l+1),e.fillRect(c+1,u,h,p-u+1)}}e.restore()}_getTolerance(){const e=this._calcBarWidth(1),t=this._thinBars?Math.min(e,1):e;return Object(s.interactionTolerance)().series+t/2}_getBarSpacing(){return this._barSpacing}_calcBarWidth(e){const t=Math.floor(e);return Math.max(t,Math.floor(Object(s.optimalBarWidth)(this._barSpacing,e)))}}},"2EnG":function(e,t,i){"use strict";i.r(t),i.d(t,"StandardPivotPointsImageCache",(function(){return n}));var s=i("ikwP"),r=i("Eyy1");class n{constructor(e,t,i,r){this._priceAxisFontSize=11,this._prices=[],this._labelWidth=0,this._paneRenderParams=e,this._recreateCanvasAndContext(new s.Size(0,0)),this.reset({font:t,fontSize:i,backColors:r})}destroy(){delete this._canvas,delete this._cache}canvas(){return this._canvas}reset(e){this._renderParams=e,this._prices=[],this._cache.font=e.fontSize+"px "+e.font,this._labelWidth=["P","S1","R1","S2","R2","S3","R3","S4","R4","S5","R5","/"].reduce((e,t)=>{const i=this._cache.measureText(t).width;return Math.max(i,e)},0)}rowHeight(){return this._priceAxisFontSize+4}labelRectByIndex(e){return{left:0,top:Math.round(this._topByIndex(e)),width:Math.round(this._labelWidth+4),height:Math.round(this._renderParams.fontSize+8)}}setPrices(e){let t=!1;const i=(e,t)=>{const i=void 0===e,s=void 0===t;return(!i&&!s||i===s)&&Object(r.ensureDefined)(e).formatted===Object(r.ensureDefined)(t).formatted};if(e.length!==this._prices.length)t=!0;else for(let s=0;s{this._cache.translate(.5,.5),
this._cache.font=this._renderParams.fontSize+"px "+this._renderParams.font,this._cache.textBaseline="middle";for(let e=0;e{this._setPaneViews([new e(this,this._model)])})}isSynchronizable(){return!1}onModeChanged(){var e=this.patternPriceDiff();e*=this._pressCoeff,this._points[1].price=this._timePoint[1].price=this._points[0].price+e}additionalActions(e){var t=this;return[new r({checked:this.properties().mirrored.value(),checkable:!0,label:window.t("Mirrored"),payload:{target:this},onExecute:function(t){var i=t.getPayload().target;e.setProperty(i.properties().mirrored,!i.properties().mirrored.value(),"Bats Pattern Mirroring"),i.updateAllViews(),i._model.updateSource(i)}}),new r({checked:this.properties().flipped.value(),checkable:!0,label:window.t("Flipped"),payload:{target:this},onExecute:function(t){var i=t.getPayload().target;e.setProperty(i.properties().flipped,!i.properties().flipped.value(),"Bats Pattern Flipping"),i.updateAllViews(),i._model.updateSource(i)}}),new r({checkable:!0,label:window.t("Restore Size"),onExecute:function(i){var s=t.points()[0],r=t.patternPriceDiff(),n=s.price+r,o=s.index+t._pattern.length-1;e.startChangingLinetool(t,{price:n,index:o},1,{}),e.changeLinePoint({price:n,index:o},{}),e.endChangingLinetool()}})]}pointsCount(){return 2}_preparePoint(e,t){e=this._alignPointToRangeOfActualData(e);var i=this._model.mainSeries();this.properties().mode.value()===a.Bars?e.price=i.bars().valueAt(e.index)[TradingView.HIGH_PLOT]:e.price=i.bars().valueAt(e.index)[TradingView.CLOSE_PLOT];var r=this.priceScale(),n=this.ownerSource().firstValue(),o=.05*r.height(),l=r.priceToCoordinate(e.price,n)-o;return e.price=r.coordinateToPrice(l,n),s.prototype._preparePoint.call(this,e,t)}state(e){
var t=s.prototype.state.call(this,e);return t.pattern=this._pattern,t}restoreData(e){e.pattern&&(this._pattern=e.pattern)}name(){return"Bars Pattern"}hasEditableCoordinates(){return!1}cloneData(e){this._pattern=TradingView.clone(e._pattern)}mirror(){for(var e=this._pattern,t=e[0][TradingView.HIGH_PLOT],i=Math.min(e[0][TradingView.LOW_PLOT],e[0][TradingView.HIGH_PLOT]),s=Math.max(e[0][TradingView.LOW_PLOT],e[0][TradingView.HIGH_PLOT]),r=1;rthis.points()[1].index&&(this._points[0].price=this._points[1].price),this._pattern=[];for(var c=a;c<=l;c++){var h=this._model.mainSeries().data().valueAt(c);this._pattern.push(TradingView.clone(h))}if(this._pattern.length>0){var u=this.patternPriceDiff();this._points[1].price=this._points[0].price+u,
this._points[1].index=this._points[0].index+(l-a),this.normalizePoints(),this.createServerPoints()}}return i}setPoint(e,t,i){1===e&&t.index<=this._points[0].index&&(t.index=this._points[0].index+1),0===e&&t.index>=this._points[1].index&&(t.index=this._points[1].index-1),super.setPoint(e,t,i)}migrateVersion(e,t,i){if(1===e&&this._pattern.length>0){var s=this.patternPriceDiff();2===this._timePoint.length&&(this._timePoint[1].price=this._timePoint[0].price+s),2===this._points.length&&(this._points[1].price=this._points[0].price+s)}}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(27),i.e(62),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"8ioM"))).BarsPatternDefinitionsViewModel}static createProperties(e){var t=new n("linetoolbarspattern",e);return l._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e),e.addExclusion("mirrored"),e.addExclusion("flipped")}}l.version=2,t.LineToolBarsPattern=l},"2cgs":function(e,t,i){"use strict";var s=i("ocLq");JSServer.studyLibrary=[{name:"Accumulation/Distribution",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Accumulation/Distribution",shortDescription:"Accum/Dist",is_price_study:!1,inputs:[],id:"Accumulation/Distribution@tv-basicstudies-1",scriptIdPart:"",name:"Accumulation/Distribution",format:{type:"volume"}},constructor:function(){this.f_0=function(e,t,i,r){return s.Std.or(s.Std.and(s.Std.eq(e,t),s.Std.eq(e,i)),s.Std.eq(t,i))?0:(2*e-i-t)/(t-i)*r},this.main=function(e,t){this._context=e,this._input=t;var i=this.f_0(s.Std.close(this._context),s.Std.high(this._context),s.Std.low(this._context),s.Std.volume(this._context));return[s.Std.cum(i,this._context)]}}},{name:"Accumulative Swing Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:10}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"ASI",histogramBase:0,joinPoints:!1}},description:"Accumulative Swing Index",shortDescription:"ASI",is_price_study:!1,inputs:[{id:"in_0",name:"Limit Move Value",defval:10,type:"float",min:.1,max:1e5}],id:"Accumulative Swing Index@tv-basicstudies-1",scriptIdPart:"",name:"Accumulative Swing Index",format:{type:"volume"}},constructor:function(){this.f_0=function(e,t){var i=t.new_var(s.Std.open(t)),r=t.new_var(s.Std.high(t)),n=t.new_var(s.Std.low(t)),o=t.new_var(s.Std.close(t)),a=s.Std.abs(r-o.get(1)),l=s.Std.abs(n-o.get(1)),c=s.Std.abs(r-n),h=s.Std.abs(o.get(1)-i.get(1)),u=s.Std.max(a,l),d=s.Std.iff(a>=s.Std.max(l,c),a-.5*l+.25*h,s.Std.iff(l>=s.Std.max(a,c),l-.5*a+.25*h,c+.25*h));return s.Std.iff(0===d,0,(o-o.get(1)+.5*(o-i)+.25*(o.get(1)-i.get(1)))/d*u/e*50)},this.f_1=function(e,t){
var i=this.f_0(e,t);return s.Std.cum(i,t)},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0);return[this.f_1(i,this._context)]}}},{name:"Advance/Decline",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:10}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Advance/Decline",shortDescription:"AD",is_price_study:!1,inputs:[{id:"in_0",name:"length",defval:10,type:"integer",min:1,max:2e3}],id:"Advance/Decline@tv-basicstudies-1",scriptIdPart:"",name:"Advance/Decline",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t){return s.Std.gt(e,t)},this.f_1=function(e,t){return s.Std.lt(e,t)},this.f_2=function(e,t){return 0===t?e:e/t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this.f_0(s.Std.close(this._context),s.Std.open(this._context)),n=this._context.new_var(r),o=s.Std.sum(n,i,this._context),a=this.f_1(s.Std.close(this._context),s.Std.open(this._context)),l=this._context.new_var(a),c=s.Std.sum(l,i,this._context);return[this.f_2(o,c)]}}},{name:"Arnaud Legoux Moving Average",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:9,in_1:.85,in_2:6}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Arnaud Legoux Moving Average",shortDescription:"ALMA",is_price_study:!0,inputs:[{id:"in_0",name:"Window Size",defval:9,type:"integer",min:0,max:5e3},{id:"in_1",name:"Offset",defval:.85,type:"float",min:-1e12,max:1e12},{id:"in_2",name:"Sigma",defval:6,type:"float",min:-1e12,max:1e12}],id:"Arnaud Legoux Moving Average@tv-basicstudies-1",scriptIdPart:"",name:"Arnaud Legoux Moving Average",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._input(0),n=this._input(1),o=this._input(2),a=this._context.new_var(i);return[s.Std.alma(a,r,n,o)]}}},{name:"Aroon",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FB8C00"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:14}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],styles:{plot_0:{title:"Upper",histogramBase:0,joinPoints:!1},plot_1:{title:"Lower",histogramBase:0,joinPoints:!1}},description:"Aroon",shortDescription:"Aroon",is_price_study:!1,inputs:[{id:"in_0",name:"length",defval:14,type:"integer",min:1,max:2e3}],id:"Aroon@tv-basicstudies-1",scriptIdPart:"",name:"Aroon",format:{precision:2,type:"percent"}},constructor:function(){this.f_0=function(e,t){return 100*(e+t)/t},
this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=s.Std.high(this._context),n=i+1,o=this._context.new_var(r),a=s.Std.highestbars(o,n,this._context),l=this.f_0(a,i),c=s.Std.low(this._context),h=this._context.new_var(c),u=s.Std.lowestbars(h,n,this._context);return[l,this.f_0(u,i)]}}},{name:"Average Price",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,id:"AveragePrice@tv-basicstudies-1",scriptIdPart:"",name:"Average Price",description:"Average Price",shortDescription:"Average Price",is_price_study:!0,plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#2196F3"}},inputs:{}},styles:{plot_0:{title:"Plot"}},inputs:[],format:{type:"inherit"}},constructor:function(){this.main=function(e,t){return this._context=e,this._input=t,[s.Std.ohlc4(this._context)]}}},{name:"Average Directional Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF5252"}},inputs:{in_0:14,in_1:14}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"ADX",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Average Directional Index",shortDescription:"ADX",is_price_study:!1,inputs:[{id:"in_0",name:"ADX Smoothing",defval:14,type:"integer",min:-1e12,max:1e12},{id:"in_1",name:"DI Length",defval:14,type:"integer",min:-1e12,max:1e12}],id:"average_directional_Index@tv-basicstudies-1",scriptIdPart:"",name:"Average Directional Index",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e){var t=this._context.new_var(s.Std.high(this._context)),i=s.Std.change(t),r=this._context.new_var(s.Std.low(this._context)),n=-s.Std.change(r),o=this._context.new_var(s.Std.tr(void 0,this._context)),a=s.Std.rma(o,e,this._context),l=this._context.new_var(s.Std.and(s.Std.gt(i,n),s.Std.gt(i,0))?i:0),c=s.Std.fixnan(100*s.Std.rma(l,e,this._context)/a,this._context),h=this._context.new_var(s.Std.and(s.Std.gt(n,i),s.Std.gt(n,0))?n:0);return[c,s.Std.fixnan(100*s.Std.rma(h,e,this._context)/a,this._context)]},this.f_1=function(e,t){var i=this.f_0(e),r=i[0],n=i[1],o=r+n,a=this._context.new_var(s.Std.abs(r-n)/(s.Std.eq(o,0)?1:o));return[100*s.Std.rma(a,t,this._context)]},this.main=function(e,t){return this._context=e,this._input=t,this._context.setMinimumAdditionalDepth(this._input(0)+this._input(1)),this.f_1(this._input(0),this._input(1))}}},{name:"Average True Range",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#B71C1C"}},inputs:{in_0:14}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Average True Range",shortDescription:"ATR",is_price_study:!1,inputs:[{id:"in_0",name:"length",defval:14,type:"integer",min:1,max:2e3}],id:"Average True Range@tv-basicstudies-1",
scriptIdPart:"",name:"Average True Range",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=s.Std.tr(this._context),n=this._context.new_var(r);return[s.Std.rma(n,i,this._context)]}}},{name:"Awesome Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:1,trackPrice:!1,transparency:0,visible:!0,color:"#000080"}},palettes:{palette_0:{colors:{0:{color:"#F44336",width:1,style:0},1:{color:"#009688",width:1,style:0}}}},inputs:{}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",palette:"palette_0",target:"plot_0",type:"colorer"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Awesome Oscillator",shortDescription:"AO",is_price_study:!1,palettes:{palette_0:{colors:{0:{name:"Color 0"},1:{name:"Color 1"}}}},inputs:[],id:"Awesome Oscillator@tv-basicstudies-1",scriptIdPart:"",name:"Awesome Oscillator",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t){return e-t},this.f_1=function(e){return s.Std.le(e,0)?0:1},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.hl2(this._context),r=this._context.new_var(i),n=s.Std.sma(r,5,this._context),o=this._context.new_var(i),a=s.Std.sma(o,34,this._context),l=this.f_0(n,a),c=l,h=this._context.new_var(l),u=s.Std.change(h);return[c,this.f_1(u)]}}},{name:"Balance of Power",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF5252"}},inputs:{}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Balance of Power",shortDescription:"Balance of Power",is_price_study:!1,inputs:[],id:"Balance of Power@tv-basicstudies-1",scriptIdPart:"",name:"Balance of Power",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t,i,s){return(e-t)/(i-s)},this.main=function(e,t){return this._context=e,this._input=t,[this.f_0(s.Std.close(this._context),s.Std.open(this._context),s.Std.high(this._context),s.Std.low(this._context))]}}},{name:"Bollinger Bands",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_2:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},filledAreasStyle:{fill_0:{color:"#2196F3",transparency:95,visible:!0}},inputs:{in_0:20,in_1:2}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"Median",histogramBase:0,joinPoints:!1},plot_1:{title:"Upper",histogramBase:0,joinPoints:!1},plot_2:{title:"Lower",histogramBase:0,joinPoints:!1}},description:"Bollinger Bands",shortDescription:"BB",is_price_study:!0,filledAreas:[{
id:"fill_0",objAId:"plot_1",objBId:"plot_2",type:"plot_plot",title:"Plots Background"}],inputs:[{id:"in_0",name:"length",defval:20,type:"integer",min:1,max:1e4},{id:"in_1",name:"mult",defval:2,type:"float",min:.001,max:50}],id:"Bollinger Bands@tv-basicstudies-1",scriptIdPart:"",name:"Bollinger Bands",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t){return e*t},this.f_1=function(e,t){return e+t},this.f_2=function(e,t){return e-t},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._input(0),n=this._input(1),o=this._context.new_var(i),a=s.Std.sma(o,r,this._context),l=this._context.new_var(i),c=s.Std.stdev(l,r,this._context),h=this.f_0(n,c);return[a,this.f_1(a,h),this.f_2(a,h)]}}},{name:"Bollinger Bands %B",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#26A69A"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:1},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],filledAreasStyle:{fill_0:{color:"#26A69A",transparency:90,visible:!0}},inputs:{in_0:20,in_1:2}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Bollinger Bands %B",shortDescription:"BB %B",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"length",defval:20,type:"integer",min:1,max:1e4},{id:"in_1",name:"mult",defval:2,type:"float",min:.001,max:50}],id:"Bollinger Bands %B@tv-basicstudies-1",scriptIdPart:"",name:"Bollinger Bands %B",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t){return e*t},this.f_1=function(e,t){return e+t},this.f_2=function(e,t){return e-t},this.f_3=function(e,t,i){return(e-t)/(i-t)},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._input(0),n=this._input(1),o=this._context.new_var(i),a=s.Std.sma(o,r,this._context),l=this._context.new_var(i),c=s.Std.stdev(l,r,this._context),h=this.f_0(n,c),u=this.f_1(a,h),d=this.f_2(a,h);return[this.f_3(i,d,u)]}}},{name:"Bollinger Bands Width",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"}},inputs:{in_0:20,in_1:2}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Bollinger Bands Width",shortDescription:"BBW",is_price_study:!1,inputs:[{id:"in_0",name:"length",defval:20,type:"integer",min:1,max:1e4},{id:"in_1",name:"mult",defval:2,type:"float",min:.001,max:50}],id:"Bollinger Bands Width@tv-basicstudies-1",scriptIdPart:"",name:"Bollinger Bands Width",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t){return e*t},this.f_1=function(e,t){
return e+t},this.f_2=function(e,t){return e-t},this.f_3=function(e,t,i){return(e-t)/i},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._input(0),n=this._input(1),o=this._context.new_var(i),a=s.Std.sma(o,r,this._context),l=this._context.new_var(i),c=s.Std.stdev(l,r,this._context),h=this.f_0(n,c),u=this.f_1(a,h),d=this.f_2(a,h);return[this.f_3(u,d,a)]}}},{name:"Chaikin Money Flow",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#43A047"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:20}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Chaikin Money Flow",shortDescription:"CMF",is_price_study:!1,bands:[{id:"hline_0",name:"Zero"}],inputs:[{id:"in_0",name:"length",defval:20,type:"integer",min:1,max:2e3}],id:"Chaikin Money Flow@tv-basicstudies-1",scriptIdPart:"",name:"Chaikin Money Flow",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t,i,r){return s.Std.or(s.Std.and(s.Std.eq(e,t),s.Std.eq(e,i)),s.Std.eq(t,i))?0:(2*e-i-t)/(t-i)*r},this.f_1=function(e,t){return e/t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this.f_0(s.Std.close(this._context),s.Std.high(this._context),s.Std.low(this._context),s.Std.volume(this._context)),n=this._context.new_var(r),o=s.Std.sum(n,i,this._context),a=s.Std.volume(this._context),l=this._context.new_var(a),c=s.Std.sum(l,i,this._context);return[this.f_1(o,c)]}}},{name:"Chaikin Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#EC407A"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:3,in_1:10}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Chaikin Oscillator",shortDescription:"Chaikin Osc",is_price_study:!1,bands:[{id:"hline_0",name:"Zero"}],inputs:[{id:"in_0",name:"short",defval:3,type:"integer",min:1,max:2e3},{id:"in_1",name:"long",defval:10,type:"integer",min:1,max:2e3}],id:"Chaikin Oscillator@tv-basicstudies-1",scriptIdPart:"",name:"Chaikin Oscillator",format:{type:"volume"}},constructor:function(){this.f_0=function(e,t){return e-t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=s.Std.accdist(this._context),o=this._context.new_var(n),a=s.Std.ema(o,i,this._context),l=this._context.new_var(n),c=s.Std.ema(l,r,this._context);return[this.f_0(a,c)]}}},{name:"Chaikin Volatility",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!1,id:"Chaikin Volatility@tv-basicstudies-1",scriptIdPart:"",name:"Chaikin Volatility",description:"Chaikin Volatility",shortDescription:"Chaikin Volatility",plots:[{id:"plot_0",type:"line"}],
defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#AB47BC"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{periods:10,rocLookback:10}},styles:{plot_0:{title:"Plot"}},bands:[{id:"hline_0",name:"Zero"}],inputs:[{id:"periods",type:"integer",name:"Periods"},{id:"rocLookback",type:"integer",name:"Rate of Change Lookback"}],format:{type:"volume"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this.period=this._input(0),this.rocLookback=this._input(1)},this.main=function(e,t){this._context=e,this._input=t,this._context.setMinimumAdditionalDepth(this.period+this.rocLookback);var i=this._context.new_var(s.Std.high(this._context)-s.Std.low(this._context)),r=this._context.new_var(s.Std.ema(i,this.period,this._context));return[s.Std.roc(r,this.rocLookback)]}}},{name:"Chande Kroll Stop",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"}},inputs:{in_0:10,in_1:1,in_2:9}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],styles:{plot_0:{title:"Long",histogramBase:0,joinPoints:!1},plot_1:{title:"Short",histogramBase:0,joinPoints:!1}},description:"Chande Kroll Stop",shortDescription:"Chande Kroll Stop",is_price_study:!0,inputs:[{id:"in_0",name:"p",defval:10,type:"integer",min:1,max:4999},{id:"in_1",name:"x",defval:1,type:"integer",min:1,max:1e12},{id:"in_2",name:"q",defval:9,type:"integer",min:1,max:1e12}],id:"Chande Kroll Stop@tv-basicstudies-1",scriptIdPart:"",name:"Chande Kroll Stop",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t,i){return e-t*i},this.f_1=function(e,t,i){return e+t*i},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=this._input(2),o=s.Std.high(this._context),a=this._context.new_var(o),l=s.Std.highest(a,i,this._context),c=s.Std.atr(i,this._context),h=this.f_0(l,r,c),u=this._context.new_var(o),d=s.Std.lowest(u,i,this._context),p=this.f_1(d,r,c),_=this._context.new_var(h),m=s.Std.highest(_,n,this._context),f=this._context.new_var(p);return[s.Std.lowest(f,n,this._context),m]}}},{name:"Chande Momentum Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:9}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Chande Momentum Oscillator",shortDescription:"ChandeMO",is_price_study:!1,inputs:[{id:"in_0",name:"length",defval:9,type:"integer",min:1,max:2e3}],id:"Chande Momentum Oscillator@tv-basicstudies-1",scriptIdPart:"",name:"Chande Momentum Oscillator",format:{type:"price",precision:2}},constructor:function(){this.f_0=function(e){return s.Std.ge(e,0)?e:0},
this.f_1=function(e){return s.Std.ge(e,0)?0:-e},this.f_2=function(e,t){return 100*e/t},this.f_3=function(e,t){return this.f_2(e-t,e+t)},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=s.Std.close(this._context),n=this._context.new_var(r),o=s.Std.change(n),a=this.f_0(o),l=this.f_1(o),c=this._context.new_var(a),h=s.Std.sum(c,i,this._context),u=this._context.new_var(l),d=s.Std.sum(u,i,this._context);return[this.f_3(h,d)]}}},{name:"Chop Zone",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:5,trackPrice:!1,transparency:0,visible:!0,color:"#000080"}},palettes:{palette_0:{colors:{0:{color:"#26C6DA",width:1,style:0},1:{color:"#43A047",width:1,style:0},2:{color:"#A5D6A7",width:1,style:0},3:{color:"#009688",width:1,style:0},4:{color:"#D50000",width:1,style:0},5:{color:"#E91E63",width:1,style:0},6:{color:"#FF6D00",width:1,style:0},7:{color:"#FFB74D",width:1,style:0},8:{color:"#FDD835",width:1,style:0}}}},inputs:{}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",palette:"palette_0",target:"plot_0",type:"colorer"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Chop Zone",shortDescription:"Chop Zone",is_price_study:!1,palettes:{palette_0:{colors:{0:{name:"Color 0"},1:{name:"Color 1"},2:{name:"Color 2"},3:{name:"Color 3"},4:{name:"Color 4"},5:{name:"Color 5"},6:{name:"Color 6"},7:{name:"Color 7"},8:{name:"Color 8"}},valToIndex:{0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8}}},inputs:[],id:"chop_zone@tv-basicstudies-1",scriptIdPart:"",name:"Chop Zone",format:{precision:0,type:"price"}},constructor:function(){this.f_0=function(){var e=s.Std.close(this._context),t=s.Std.hlc3(this._context),i=this._context.new_var(s.Std.high(this._context)),r=s.Std.highest(i,30,this._context),n=s.Std.lowest(i,30,this._context),o=25/(r-n)*n,a=this._context.new_var(e),l=this._context.new_var(s.Std.ema(a,34,this._context)),c=(l.get(1)-l.get(0))/t*o,h=s.Std.sqrt(1+c*c),u=s.Std.round(180*s.Std.acos(1/h)/3.141592653589793),d=s.Std.iff(s.Std.gt(c,0),-u,u),p=s.Std.and(s.Std.gt(d,-2.14),s.Std.le(d,-.71))?7:8,_=s.Std.and(s.Std.gt(d,-3.57),s.Std.le(d,-2.14))?6:p,m=s.Std.and(s.Std.gt(d,-5),s.Std.le(d,-3.57))?5:_,f=s.Std.le(d,-5)?4:m,g=s.Std.and(s.Std.lt(d,2.14),s.Std.ge(d,.71))?3:f,b=s.Std.and(s.Std.lt(d,3.57),s.Std.ge(d,2.14))?2:g,v=s.Std.and(s.Std.lt(d,5),s.Std.ge(d,3.57))?1:b;return[1,s.Std.ge(d,5)?0:v]},this.main=function(e,t){return this._context=e,this._input=t,this.f_0()}}},{name:"Choppiness Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:61.8},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:38.2}],filledAreasStyle:{fill_0:{color:"#2196F3",transparency:90,visible:!0}},inputs:{in_0:14}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},
description:"Choppiness Index",shortDescription:"CHOP",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"length",defval:14,type:"integer",min:1,max:2e3}],id:"Choppiness Index@tv-basicstudies-1",scriptIdPart:"",name:"Choppiness Index",format:{type:"price",precision:2}},constructor:function(){this.f_0=function(e,t,i,r){return 100*s.Std.log10(e/(t-i))/r},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=s.Std.atr(1,this._context),n=this._context.new_var(r),o=s.Std.sum(n,i,this._context),a=s.Std.high(this._context),l=this._context.new_var(a),c=s.Std.highest(l,i,this._context),h=s.Std.low(this._context),u=this._context.new_var(h),d=s.Std.lowest(u,i,this._context),p=s.Std.log10(i);return[this.f_0(o,c,d,p)]}}},{name:"Commodity Channel Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},smoothedMA:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!1}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:100},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:-100}],filledAreasStyle:{fill_0:{color:"#2196F3",transparency:90,visible:!0}},inputs:{in_0:20,smoothingLine:"SMA",smoothingLength:20}},plots:[{id:"plot_0",type:"line"},{id:"smoothedMA",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1},smoothedMA:{title:"Smoothed MA",histogramBase:0,joinPoints:!1}},description:"Commodity Channel Index",shortDescription:"CCI",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"length",defval:20,type:"integer",min:1,max:2e3},{id:"smoothingLine",name:"Smoothing Line",defval:"SMA",type:"text",options:["SMA","EMA","WMA"]},{id:"smoothingLength",name:"Smoothing Length",defval:20,type:"integer",min:1,max:1e4}],id:"Commodity Channel Index@tv-basicstudies-1",scriptIdPart:"",name:"Commodity Channel Index",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t,i){return(e-t)/(.015*i)},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.hlc3(this._context),r=this._input(0),n=this._input(1),o=this._input(2);this._context.setMinimumAdditionalDepth(r+o);var a,l=this._context.new_var(i),c=s.Std.sma(l,r,this._context),h=this._context.new_var(i),u=s.Std.dev(h,r,this._context),d=this.f_0(i,c,u),p=this._context.new_var(d);return"EMA"===n?a=s.Std.ema(p,o,this._context):"WMA"===n?a=s.Std.wma(p,o,this._context):"SMA"===n&&(a=s.Std.sma(p,o,this._context)),[d,a]}}},{name:"Connors RSI",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,
transparency:0,visible:!0,color:"#2196F3"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:70},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:30}],filledAreasStyle:{fill_0:{color:"#2196F3",transparency:90,visible:!0}},inputs:{in_0:3,in_1:2,in_2:100}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"CRSI",histogramBase:0,joinPoints:!1}},description:"Connors RSI",shortDescription:"CRSI",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"RSI Length",defval:3,type:"integer",min:1},{id:"in_1",name:"UpDown Length",defval:2,type:"integer",min:1},{id:"in_2",name:"ROC Length",defval:100,type:"integer",min:1}],id:"Connors RSI@tv-basicstudies-1",scriptIdPart:"",name:"Connors RSI",format:{precision:2,type:"price"}},constructor:function(){var e;this.f_1=function(e,t,i){var r=i.new_var(s.Std.max(s.Std.change(e),0));return s.Std.rma(r,t,i)},this.f_2=function(e,t,i){var r=i.new_var(-s.Std.min(s.Std.change(e),0));return s.Std.rma(r,t,i)},this.f_3=(e=0,function(t){var i=t.get(0),r=t.get(1);return e=i===r?0:i>r?s.Std.nz(e)<=0?1:s.Std.nz(e)+1:s.Std.nz(e)>=0?-1:s.Std.nz(e)-1,this._context.new_var(e)}),this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._context.new_var(i),n=this._input(0),o=this._input(1),a=this._input(2);this._context.setMinimumAdditionalDepth(a);var l=s.Std.rsi(this.f_1(r,n,this._context),this.f_2(r,n,this._context)),c=this.f_3(r),h=s.Std.rsi(this.f_1(c,o,this._context),this.f_2(c,o,this._context)),u=this._context.new_var(s.Std.roc(r,1)),d=s.Std.percentrank(u,a);return[s.Std.avg(l,h,d)]}}},{name:"Coppock Curve",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:10,in_1:14,in_2:11}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Coppock Curve",shortDescription:"Coppock Curve",is_price_study:!1,inputs:[{id:"in_0",name:"WMA Length",defval:10,type:"integer",min:-1e12,max:5e3},{id:"in_1",name:"Long RoC Length",defval:14,type:"integer",min:1,max:4999},{id:"in_2",name:"Short RoC Length",defval:11,type:"integer",min:1,max:4999}],id:"Coppock Curve@tv-basicstudies-1",scriptIdPart:"",name:"Coppock Curve",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t){return e+t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=this._input(2);this._context.setMinimumAdditionalDepth(i+Math.max(r,n));var o=s.Std.close(this._context),a=this._context.new_var(o),l=s.Std.roc(a,r),c=this._context.new_var(o),h=s.Std.roc(c,n),u=this.f_0(l,h),d=this._context.new_var(u);return[s.Std.wma(d,i,this._context)]}}},{name:"Correlation Coeff",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{
styles:{plot_0:{linestyle:0,linewidth:1,plottype:4,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:"AAPL",in_1:20}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Correlation Coefficient",shortDescription:"CC",is_price_study:!1,inputs:[{id:"in_0",name:"sym",defval:"AAPL",type:"symbol"},{id:"in_1",name:"length",defval:20,type:"integer",min:1,max:2e3}],id:"Correlation Coeff@tv-basicstudies-1",scriptIdPart:"",name:"Correlation Coeff",format:{precision:2,type:"price"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this._context.new_sym(this._input(0),s.Std.period(this._context))},this.main=function(e,t){this._context=e,this._input=t;var i=this._context.new_unlimited_var(this._context.symbol.time),r=(this._input(0),s.Std.period(this._context),s.Std.close(this._context)),n=this._input(1);this._context.select_sym(1);var o=this._context.new_unlimited_var(this._context.symbol.time),a=s.Std.close(this._context),l=this._context.new_unlimited_var(a);this._context.select_sym(0);var c=l.adopt(o,i,0),h=this._context.new_var(r),u=this._context.new_var(c);return[s.Std.correlation(h,u,n,this._context)]}}},{name:"Correlation - Log",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!1,id:"Correlation - Log@tv-basicstudies-1",scriptIdPart:"",name:"Correlation - Log",description:"Correlation - Log",shortDescription:"Correlation - Log",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#2196F3"}},inputs:{instrument:"INTC",instrument2:"AMZN",periods:25}},styles:{plot_0:{title:"Plot"}},inputs:[{id:"instrument",name:"Instrument 1",type:"symbol",defval:"INTC",confirm:!0},{id:"instrument2",name:"Instrument 2",type:"symbol",defval:"AMZN",confirm:!0},{id:"periods",name:"Periods",type:"integer",defval:25}],format:{precision:2,type:"price"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this._context.new_sym(this._input(0),s.Std.period(this._context)),this._context.new_sym(this._input(1),s.Std.period(this._context)),this.period=this._input(2)},this.correlationLog=function(e,t,i,r){var n=s.Std.sma(e,i,r),o=s.Std.sma(t,i,r),a=r.new_var(e.get()*t.get());return(s.Std.sma(a,i,r)-n*o)/Math.sqrt(s.Std.variance2(e,n,i)*s.Std.variance2(t,o,i))},this.main=function(e,t){this._context=e,this._input=t,this._context.select_sym(1);var i=this._context.new_var(this._context.symbol.time);this._context.select_sym(2);var r=this._context.new_var(s.Std.close(this._context)),n=this._context.new_var(s.Std.log(r.get()/r.get(1))),o=this._context.new_var(this._context.symbol.time);this._context.select_sym(1);var a=this._context.new_var(s.Std.close(this._context)),l=this._context.new_var(s.Std.log(a.get()/a.get(1))),c=this._context.new_var(n.adopt(o,i,0)),h=this.correlationLog(l,c,this.period,this._context);return[s.Std.round(1e3*h)/1e3]}}},{name:"Detrended Price Oscillator",metainfo:{
_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#43A047"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:21,in_1:!1}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"DPO",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Detrended Price Oscillator",shortDescription:"DPO",is_price_study:!1,is_hidden_study:!1,id:"detrended_price_oscillator@tv-basicstudies-1",bands:[{id:"hline_0",name:"Zero",isHidden:!1}],inputs:[{id:"in_0",name:"Period",defval:21,type:"integer",min:1,max:1e12},{id:"in_1",name:"isCentered",defval:!1,type:"bool"}],scriptIdPart:"",name:"Detrended Price Oscillator",format:{type:"price",precision:2}},constructor:function(){this.f_0=function(){var e=this._input(0),t=this._input(1),i=Math.floor(e/2+1);this._context.setMinimumAdditionalDepth(e+i);var r=this._context.new_var(s.Std.close(this._context)),n=this._context.new_var(s.Std.sma(r,e,this._context)),o=this._context.new_var(s.Std.close(this._context)).get(i)-n,a=s.Std.close(this._context)-n.get(i);return[t?o:a,t?-i:0]},this.main=function(e,t){this._context=e,this._input=t;var i=this.f_0();return[{value:i[0],offset:i[1]}]}}},{name:"Directional Movement Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"},plot_2:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#F50057"}},inputs:{in_0:14,in_1:14}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"+DI",histogramBase:0,joinPoints:!1},plot_1:{title:"-DI",histogramBase:0,joinPoints:!1},plot_2:{title:"ADX",histogramBase:0,joinPoints:!1}},description:"Directional Movement",shortDescription:"DMI",is_price_study:!1,inputs:[{id:"in_0",name:"DI Length",defval:14,type:"integer",min:1,max:2e3},{id:"in_1",name:"ADX Smoothing",defval:14,type:"integer",min:1,max:50}],id:"Directional Movement Index@tv-basicstudies-1",scriptIdPart:"",name:"Directional Movement Index",format:{precision:4,type:"price"}},constructor:function(){this.f_0=function(e){return-e},this.f_1=function(e,t){return s.Std.and(s.Std.gt(e,t),s.Std.gt(e,0))?e:0},this.f_2=function(e,t){return 100*e/t},this.f_3=function(e,t){return e+t},this.f_4=function(e,t,i){return s.Std.abs(e-t)/(s.Std.eq(i,0)?1:i)},this.f_5=function(e){return 100*e},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1);this._context.setMinimumAdditionalDepth(i+r)
;var n=s.Std.high(this._context),o=this._context.new_var(n),a=s.Std.change(o),l=s.Std.low(this._context),c=this._context.new_var(l),h=s.Std.change(c),u=this.f_0(h),d=s.Std.tr(this._context),p=this._context.new_var(d),_=s.Std.rma(p,i,this._context),m=this.f_1(a,u),f=this._context.new_var(m),g=s.Std.rma(f,i,this._context),b=this.f_2(g,_),v=s.Std.fixnan(b,this._context),S=this.f_1(u,a),y=this._context.new_var(S),w=s.Std.rma(y,i,this._context),P=this.f_2(w,_),C=s.Std.fixnan(P,this._context),x=this.f_3(v,C),T=this.f_4(v,C,x),I=this._context.new_var(T),M=s.Std.rma(I,r,this._context);return[v,C,this.f_5(M)]}}},{name:"Donchian Channels",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_2:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"}},filledAreasStyle:{fill_0:{color:"#2196F3",transparency:95,visible:!0}},inputs:{in_0:20}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"Lower",histogramBase:0,joinPoints:!1},plot_1:{title:"Upper",histogramBase:0,joinPoints:!1},plot_2:{title:"Basis",histogramBase:0,joinPoints:!1}},description:"Donchian Channels",shortDescription:"DC",is_price_study:!0,filledAreas:[{id:"fill_0",objAId:"plot_1",objBId:"plot_0",type:"plot_plot",title:"Plots Background"}],inputs:[{id:"in_0",name:"length",defval:20,type:"integer",min:1,max:2e3}],id:"Donchian Channels@tv-basicstudies-1",scriptIdPart:"",name:"Donchian Channels",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=s.Std.low(this._context),n=this._context.new_var(r),o=s.Std.lowest(n,i,this._context),a=s.Std.high(this._context),l=this._context.new_var(a),c=s.Std.highest(l,i,this._context);return[o,c,s.Std.avg(c,o)]}}},{name:"Double Exponential Moving Average",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#43A047"}},inputs:{in_0:9}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Double EMA",shortDescription:"DEMA",is_price_study:!0,inputs:[{id:"in_0",name:"length",defval:9,type:"integer",min:1,max:1e4}],id:"Double Exponential Moving Average@tv-basicstudies-1",scriptIdPart:"",name:"Double Exponential Moving Average",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t){return 2*e-t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0);this._context.setMinimumAdditionalDepth(2*i);var r=s.Std.close(this._context),n=this._context.new_var(r),o=s.Std.ema(n,i,this._context),a=this._context.new_var(o),l=s.Std.ema(a,i,this._context);return[this.f_0(o,l)]}}},{name:"Ease of Movement",metainfo:{
_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#43A047"}},inputs:{in_0:1e4,in_1:14}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Ease Of Movement",shortDescription:"EOM",is_price_study:!1,inputs:[{id:"in_0",name:"Divisor",defval:1e4,type:"integer",min:1,max:1e9},{id:"in_1",name:"length",defval:14,type:"integer",min:1,max:2e3}],id:"Ease of Movement@tv-basicstudies-1",scriptIdPart:"",name:"Ease of Movement",format:{type:"volume"}},constructor:function(){this.f_0=function(e,t,i,s,r){return e*t*(i-s)/r},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=s.Std.hl2(this._context),o=this._context.new_var(n),a=s.Std.change(o),l=this.f_0(i,a,s.Std.high(this._context),s.Std.low(this._context),s.Std.volume(this._context)),c=this._context.new_var(l);return[s.Std.sma(c,r,this._context)]}}},{name:"Elders Force Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#F44336"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:13}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Elder's Force Index",shortDescription:"EFI",is_price_study:!1,bands:[{id:"hline_0",name:"Zero"}],inputs:[{id:"in_0",name:"length",defval:13,type:"integer",min:1,max:2e3}],id:"Elders Force Index@tv-basicstudies-1",scriptIdPart:"",name:"Elders Force Index",format:{type:"volume"}},constructor:function(){this.f_0=function(e,t){return e*t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=s.Std.close(this._context),n=this._context.new_var(r),o=s.Std.change(n),a=this.f_0(o,s.Std.volume(this._context)),l=this._context.new_var(a);return[s.Std.ema(l,i,this._context)]}}},{name:"EMA Cross",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#43A047"},plot_2:{linestyle:0,linewidth:4,plottype:3,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:9,in_1:26}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"Short",histogramBase:0,joinPoints:!1},plot_1:{title:"Long",histogramBase:0,joinPoints:!1},plot_2:{title:"Crosses",histogramBase:0,joinPoints:!1}},description:"EMA Cross",shortDescription:"EMA Cross",is_price_study:!0,inputs:[{id:"in_0",name:"Short",defval:9,type:"integer",min:1,max:2e3},{id:"in_1",name:"Long",defval:26,type:"integer",min:1,max:2e3}],id:"EMA Cross@tv-basicstudies-1",scriptIdPart:"",name:"EMA Cross",format:{type:"inherit"}},constructor:function(){
this.f_0=function(e,t){return e?t:s.Std.na()},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=s.Std.close(this._context),o=this._context.new_var(n),a=s.Std.ema(o,i,this._context),l=this._context.new_var(n),c=s.Std.ema(l,r,this._context),h=a,u=c,d=s.Std.cross(a,c,this._context);return[h,u,this.f_0(d,a)]}}},{name:"Envelopes",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_2:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},filledAreasStyle:{fill_0:{color:"#2196F3",transparency:95,visible:!0}},inputs:{in_0:20,in_1:10,in_2:10,in_3:"Simple",in_4:"close"}},plots:[{id:"plot_1",type:"line"},{id:"plot_0",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"Average",histogramBase:0,joinPoints:!1},plot_1:{title:"Upper",histogramBase:0,joinPoints:!1},plot_2:{title:"Lower",histogramBase:0,joinPoints:!1}},description:"Envelopes",shortDescription:"Envelopes",is_price_study:!0,filledAreas:[{id:"fill_0",objAId:"plot_1",objBId:"plot_2",type:"plot_plot",title:"Plots Background"}],inputs:[{id:"in_0",name:"Length",defval:20,type:"integer",min:1,max:2e3},{id:"in_1",name:"Upper Percentage",defval:2,type:"float",min:0},{id:"in_2",name:"Lower Percentage",defval:2,type:"float",min:0},{id:"in_3",name:"Method",type:"text",defval:"Simple",options:["Simple","Exponential","Weighted"]},{id:"in_4",name:"Source",defval:"close",type:"source",options:["open","high","low","close","hl2","hlc3","ohlc4"]}],id:"Envelope@tv-basicstudies-1",scriptIdPart:"",name:"Envelopes",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t){return e*(1+t)},this.f_1=function(e,t){return e*(1-t)},this.main=function(e,t){this._context=e,this._input=t;var i=this._context.new_var(s.Std[this._input(4)](this._context)),r=s.Std.sma(i,this._input(0),this._context);return"Exponential"===this._input(3)?r=s.Std.ema(i,this._input(0),this._context):"Weighted"===this._input(3)&&(r=s.Std.wma(i,this._input(0),this._context)),[this.f_0(r,this._input(1)/100),r,this.f_1(r,this._input(2)/100)]}}},{name:"Standard Error",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!1,id:"Standard Error@tv-basicstudies-1",scriptIdPart:"",name:"Standard Error",description:"Standard Error",shortDescription:"Standard Error",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#FF6D00"}},inputs:{length:14}},styles:{plot_0:{title:"Plot"}},inputs:[{id:"length",type:"integer",name:"Length"}],format:{precision:2,type:"price"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this.period=this._input(0)},this.main=function(e,t){this._context=e,this._input=t
;for(var i,r,n=this._context.new_var(s.Std.close(this._context)),o=0,a=0,l=0;l0?1:3,i=s.Std.change(this._context.new_var(e));return t-(s.Std.le(i,0)?0:1)},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std[this._input(2)](this._context),r=this._input(0),n=this._input(1),o=this._input(3);this._context.setMinimumAdditionalDepth(Math.max(r,n)+o);var a=this._context.new_var(i),l=s.Std.ema(a,r,this._context),c=this._context.new_var(i),h=s.Std.ema(c,n,this._context),u=this.f_0(l,h),d=this._context.new_var(u),p=s.Std.ema(d,o,this._context),_=this.f_0(u,p);return[_,u,p,this.f_1(_)]}}},{name:"Moving Average Exponential",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},smoothedMA:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!1}},inputs:{length:9,source:"close",offset:0,smoothingLine:"SMA",smoothingLength:9}},plots:[{id:"plot_0",type:"line"},{id:"smoothedMA",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1},smoothedMA:{title:"Smoothed MA",histogramBase:0,joinPoints:!1}},description:"Moving Average Exponential",shortDescription:"EMA",is_price_study:!0,inputs:[{id:"length",name:"Length",defval:9,type:"integer",min:1,max:1e4},{id:"source",name:"Source",defval:"close",type:"source",options:["open","high","low","close","hl2","hlc3","ohlc4"]},{id:"offset",name:"Offset",defval:0,type:"integer",min:-1e4,max:1e4},{id:"smoothingLine",name:"Smoothing Line",defval:"SMA",type:"text",options:["SMA","EMA","WMA"]},{id:"smoothingLength",name:"Smoothing Length",defval:9,type:"integer",min:1,max:1e4}],id:"Moving Average Exponential@tv-basicstudies-1",scriptIdPart:"",name:"Moving Average Exponential",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=s.Std[this._input(1)](this._context),r=this._input(0),n=this._input(2),o=this._input(3),a=this._input(4);this._context.setMinimumAdditionalDepth(r+a);var l,c=this._context.new_var(i),h=s.Std.ema(c,r,this._context),u=this._context.new_var(h);return"EMA"===o?l=s.Std.ema(u,a,this._context):"WMA"===o?l=s.Std.wma(u,a,this._context):"SMA"===o&&(l=s.Std.sma(u,a,this._context)),[{value:h,offset:n},{value:l,offset:n}]}}},{name:"Moving Average Weighted",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:9,in_1:"close",in_2:0}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Moving Average Weighted",shortDescription:"WMA",is_price_study:!0,inputs:[{id:"in_0",name:"Length",defval:9,type:"integer",min:1,max:2e3},{id:"in_1",name:"Source",defval:"close",type:"source",options:["open","high","low","close","hl2","hlc3","ohlc4"]},{id:"in_2",name:"Offset",defval:0,type:"integer",min:-1e4,max:1e4}],id:"Moving Average Weighted@tv-basicstudies-1",scriptIdPart:"",name:"Moving Average Weighted",format:{
type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=s.Std[this._input(1)](this._context),r=this._input(0),n=this._input(2),o=this._context.new_var(i);return[{value:s.Std.wma(o,r,this._context),offset:n}]}}},{name:"Moving Average Double",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,id:"Moving Average Double@tv-basicstudies-1",scriptIdPart:"",name:"Moving Average Double",description:"Moving Average Double",shortDescription:"Moving Average Double",is_price_study:!0,plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#FF6D00"},plot_1:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#2196F3"}},inputs:{firstPeriods:14,secondPeriods:21,method:"Simple"}},styles:{plot_0:{title:"Plot 1"},plot_1:{title:"Plot 2"}},inputs:[{id:"firstPeriods",name:"1st Period",type:"integer",defval:14,min:1,max:1e4},{id:"secondPeriods",name:"2nd Period",type:"integer",defval:21,min:1,max:1e4},{id:"method",name:"Method",type:"text",defval:"Simple",options:["Simple","Exponential","Weighted"]}],format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i,r,n=this._context.new_var(s.Std.close(this._context));return"Exponential"===this._input(2)?(i=s.Std.ema(n,this._input(0),this._context),r=s.Std.ema(n,this._input(1),this._context)):"Weighted"===this._input(2)?(i=s.Std.wma(n,this._input(0),this._context),r=s.Std.wma(n,this._input(1),this._context)):(i=s.Std.sma(n,this._input(0),this._context),r=s.Std.sma(n,this._input(1),this._context)),[i,r]}}},{name:"Moving Average Triple",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!0,id:"Moving Average Triple@tv-basicstudies-1",scriptIdPart:"",name:"Moving Average Triple",description:"Moving Average Triple",shortDescription:"Moving Average Triple",plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,transparency:0,trackPrice:!1,color:"#FF6D00"},plot_1:{linestyle:0,visible:!0,linewidth:1,transparency:0,plottype:0,trackPrice:!1,color:"#2196F3"},plot_2:{linestyle:0,visible:!0,linewidth:1,transparency:0,plottype:0,trackPrice:!1,color:"#26C6DA"}},inputs:{firstPeriods:14,secondPeriods:21,thirdPeriods:35,method:"Simple"}},styles:{plot_0:{title:"Plot 1"},plot_1:{title:"Plot 2"},plot_2:{title:"Plot 3"}},inputs:[{id:"firstPeriods",name:"1st Period",type:"integer",defval:14,min:1,max:1e4},{id:"secondPeriods",name:"2nd Period",type:"integer",defval:21,min:1,max:1e4},{id:"thirdPeriods",name:"3rd Period",type:"integer",defval:35,min:1,max:1e4},{id:"method",name:"Method",type:"text",defval:"Simple",options:["Simple","Exponential","Weighted"]}],format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t
;var i,r,n,o=this._context.new_var(s.Std.close(this._context));return"Exponential"===this._input(3)?(i=s.Std.ema(o,this._input(0),this._context),r=s.Std.ema(o,this._input(1),this._context),n=s.Std.ema(o,this._input(2),this._context)):"Weighted"===this._input(3)?(i=s.Std.wma(o,this._input(0),this._context),r=s.Std.wma(o,this._input(1),this._context),n=s.Std.wma(o,this._input(2),this._context)):(i=s.Std.sma(o,this._input(0),this._context),r=s.Std.sma(o,this._input(1),this._context),n=s.Std.sma(o,this._input(2),this._context)),[i,r,n]}}},{name:"Moving Average Adaptive",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!0,id:"Moving Average Adaptive@tv-basicstudies-1",scriptIdPart:"",name:"Moving Average Adaptive",description:"Moving Average Adaptive",shortDescription:"Moving Average Adaptive",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,transparency:0,trackPrice:!1,color:"#AB47BC"}},inputs:{periods:10}},styles:{plot_0:{title:"Plot 1"}},inputs:[{id:"periods",name:"Period",type:"integer",defval:10,min:1,max:1e4}],format:{type:"inherit"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this.periods=this._input(0)},this.ama=function(e,t){var i=this.periods,r=this._context.new_var(),n=e.get(),o=s.Std.stdev(t,i,this._context),a=s.Std.log(n/e.get(i))/(o*Math.sqrt(i)),l=.1*Math.abs(a),c=(n-r.get(1))*l+r.get(1);return r.set(isNaN(c)?n:c),c},this.main=function(e,t){this._context=e,this._input=t;var i=this._context.new_var(s.Std.close(this._context)),r=this._context.new_var(s.Std.log(i.get()/i.get(1)));return[this.ama(i,r)]}}},{name:"Moving Average Hamming",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!0,id:"Moving Average Hamming@tv-basicstudies-1",scriptIdPart:"",name:"Moving Average Hamming",description:"Moving Average Hamming",shortDescription:"Moving Average Hamming",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,transparency:0,trackPrice:!1,color:"#4CAF50"}},inputs:{periods:10}},styles:{plot_0:{title:"Plot 1"}},inputs:[{id:"periods",name:"Period",type:"integer",defval:10,min:1,max:1e4}],format:{type:"inherit"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this.periods=this._input(0);for(var i=[],s=0,r=1;r<=this.periods;++r){var n=Math.sin((1+r)/this.periods*Math.PI/2);i.unshift(n),s+=n}this.hmaFactors=i,this.hmaFactorsSum=s},this.hma=function(e){for(var t=this.periods,i=0,s=0;sthis._context.new_var(r).get(1)?1:0,[100*s.Std.sma(this._context.new_var(i),this.rollingPeriod,this._context)]}}},{name:"Net Volume",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Net Volume",shortDescription:"Net Volume",is_price_study:!1,inputs:[],id:"Net Volume@tv-basicstudies-1",scriptIdPart:"",name:"Net Volume",format:{type:"volume"}},constructor:function(){this.f_0=function(e,t,i){return s.Std.gt(e,0)?t:s.Std.lt(i,0)?-t:0*t},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._context.new_var(i),n=s.Std.change(r);return[this.f_0(n,s.Std.volume(this._context),n)]}}},{name:"On Balance Volume",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},smoothedMA:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!1}},inputs:{smoothingLine:"SMA",smoothingLength:9}},plots:[{id:"plot_0",type:"line"},{id:"smoothedMA",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1},smoothedMA:{title:"Smoothed MA",histogramBase:0,joinPoints:!1}},description:"On Balance Volume",shortDescription:"OBV",is_price_study:!1,inputs:[{id:"smoothingLine",name:"Smoothing Line",defval:"SMA",type:"text",options:["SMA","EMA","WMA"]},{id:"smoothingLength",name:"Smoothing Length",defval:9,type:"integer",min:1,max:1e4}],id:"On Balance Volume@tv-basicstudies-1",scriptIdPart:"",name:"On Balance Volume",format:{type:"volume"}},constructor:function(){this.f_0=function(e,t,i){return s.Std.gt(e,0)?t:s.Std.lt(i,0)?-t:0*t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=s.Std.close(this._context),o=this._context.new_var(n),a=s.Std.change(o),l=this.f_0(a,s.Std.volume(this._context),a),c=s.Std.cum(l,this._context);this._context.setMinimumAdditionalDepth(r);var h,u=this._context.new_var(c);return"EMA"===i?h=s.Std.ema(u,r,this._context):"WMA"===i?h=s.Std.wma(u,r,this._context):"SMA"===i&&(h=s.Std.sma(u,r,this._context)),[c,h]}}},{name:"Parabolic SAR",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:3,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:.02,in_1:.02,in_2:.2}},
plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Parabolic SAR",shortDescription:"SAR",is_price_study:!0,inputs:[{id:"in_0",name:"start",defval:.02,type:"float",min:-1e12,max:1e12},{id:"in_1",name:"increment",defval:.02,type:"float",min:-1e12,max:1e12},{id:"in_2",name:"maximum",defval:.2,type:"float",min:-1e12,max:1e12}],id:"Parabolic SAR@tv-basicstudies-1",scriptIdPart:"",name:"Parabolic SAR",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=this._input(2);return[s.Std.sar(i,r,n,this._context)]}}},{name:"Price Channel",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#F50057"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#F50057"},plot_2:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:20,in_1:0}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"Highprice Line",histogramBase:0,joinPoints:!1},plot_1:{title:"Lowprice Line",histogramBase:0,joinPoints:!1},plot_2:{title:"Centerprice Line",histogramBase:0,joinPoints:!1}},description:"Price Channel",shortDescription:"PC",is_price_study:!0,inputs:[{id:"in_0",name:"Length",defval:20,type:"integer",min:1,max:2e3},{id:"in_1",name:"Offset Length",defval:0,type:"integer",min:1,max:2e3}],id:"Price Channel@tv-basicstudies-1",scriptIdPart:"",name:"Price Channel",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.high(this._context),r=this._context.new_var(i),n=s.Std.low(this._context),o=this._context.new_var(n),a=this._input(0),l=this._input(1),c=s.Std.highest(r,a,this._context),h=s.Std.lowest(o,a,this._context);return[{value:c,offset:l},{value:h,offset:l},{value:s.Std.avg(c,h),offset:l}]}}},{name:"Price Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#009688"}},inputs:{in_0:10,in_1:21}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Price Oscillator",shortDescription:"PPO",is_price_study:!1,inputs:[{id:"in_0",name:"shortlen",defval:10,type:"integer",min:1,max:2e3},{id:"in_1",name:"longlen",defval:21,type:"integer",min:1,max:2e3}],id:"Price Oscillator@tv-basicstudies-1",scriptIdPart:"",name:"Price Oscillator",format:{type:"price",precision:2}},constructor:function(){this.f_0=function(e,t){return(e-t)/t*100},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._input(0),n=this._input(1),o=this._context.new_var(i),a=s.Std.sma(o,r,this._context),l=this._context.new_var(i),c=s.Std.sma(l,n,this._context);return[this.f_0(a,c)]}}
},{name:"Price Volume Trend",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"PVT",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Price Volume Trend",shortDescription:"PVT",is_price_study:!1,is_hidden_study:!1,id:"price_volume_trend@tv-basicstudies-1",inputs:[],scriptIdPart:"",name:"Price Volume Trend",format:{type:"volume"}},constructor:function(){this.f_0=function(){var e=this._context.new_var(s.Std.close(this._context));return[s.Std.cum(s.Std.change(e)/e.get(1)*s.Std.volume(this._context),this._context)]},this.main=function(e,t){return this._context=e,this._input=t,[this.f_0()[0]]}}},{name:"Rate Of Change",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:9}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"ROC",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Rate Of Change",shortDescription:"ROC",is_price_study:!1,bands:[{id:"hline_0",name:"Zero Line",isHidden:!1}],inputs:[{id:"in_0",name:"length",defval:9,type:"integer",min:1,max:1e12}],id:"rate_of_change@tv-basicstudies-1",scriptIdPart:"",name:"Rate Of Change",format:{precision:2,type:"price"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._context.new_var(s.Std.close(this._context)),r=this._input(0);return[100*(i.get(0)-i.get(r))/i.get(r)]}}},{name:"Relative Strength Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#7E57C2"},smoothedMA:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!1}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:70},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:30}],filledAreasStyle:{fill_0:{color:"#7E57C2",transparency:90,visible:!0}},inputs:{length:14,smoothingLine:"SMA",smoothingLength:14}},plots:[{id:"plot_0",type:"line"},{id:"smoothedMA",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1},smoothedMA:{title:"Smoothed MA",histogramBase:0,joinPoints:!1}},description:"Relative Strength Index",shortDescription:"RSI",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"length",name:"Length",defval:14,type:"integer",min:1,max:2e3},{id:"smoothingLine",name:"Smoothing Line",defval:"SMA",type:"text",options:["SMA","EMA","WMA"]},{id:"smoothingLength",name:"Smoothing Length",defval:14,type:"integer",min:1,max:1e4}],id:"Relative Strength Index@tv-basicstudies-1",scriptIdPart:"",
name:"Relative Strength Index",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e){return s.Std.max(e,0)},this.f_1=function(e){return-s.Std.min(e,0)},this.f_2=function(e,t){return s.Std.eq(e,0)?100:s.Std.eq(t,0)?0:100-100/(1+t/e)},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._input(0),n=this._input(1),o=this._input(2);this._context.setMinimumAdditionalDepth(r+o);var a,l=this._context.new_var(i),c=s.Std.change(l),h=this.f_0(c),u=this._context.new_var(h),d=s.Std.rma(u,r,this._context),p=this.f_1(c),_=this._context.new_var(p),m=s.Std.rma(_,r,this._context),f=this.f_2(m,d),g=this._context.new_var(f);return"EMA"===n?a=s.Std.ema(g,o,this._context):"WMA"===n?a=s.Std.wma(g,o,this._context):"SMA"===n&&(a=s.Std.sma(g,o,this._context)),[{value:f},{value:a}]}}},{name:"Relative Vigor Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#009688"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#F44336"}},inputs:{in_0:10}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],styles:{plot_0:{title:"RVGI",histogramBase:0,joinPoints:!1},plot_1:{title:"Signal",histogramBase:0,joinPoints:!1}},description:"Relative Vigor Index",shortDescription:"RVGI",is_price_study:!1,inputs:[{id:"in_0",name:"Length",defval:10,type:"integer",min:1,max:2e3}],id:"Relative Vigor Index@tv-basicstudies-1",scriptIdPart:"",name:"Relative Vigor Index",format:{precision:4,type:"price"}},constructor:function(){this.f_0=function(e,t){return e-t},this.f_1=function(e,t){return e/t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this.f_0(s.Std.close(this._context),s.Std.open(this._context)),n=this._context.new_var(r),o=s.Std.swma(n,this._context),a=this._context.new_var(o),l=s.Std.sum(a,i,this._context),c=this.f_0(s.Std.high(this._context),s.Std.low(this._context)),h=this._context.new_var(c),u=s.Std.swma(h,this._context),d=this._context.new_var(u),p=s.Std.sum(d,i,this._context),_=this.f_1(l,p),m=this._context.new_var(_);return[_,s.Std.swma(m,this._context)]}}},{name:"Relative Volatility Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#7E57C2"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:80},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:20}],filledAreasStyle:{fill_0:{color:"#7E57C2",transparency:90,visible:!0}},inputs:{in_0:10}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Relative Volatility Index",shortDescription:"RVI",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{
id:"in_0",name:"length",defval:10,type:"integer",min:1,max:2e3}],id:"Relative Volatility Index@tv-basicstudies-1",scriptIdPart:"",name:"Relative Volatility Index",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t){return s.Std.le(e,0)?0:t},this.f_1=function(e,t){return s.Std.gt(e,0)?0:t},this.f_2=function(e,t){return e/(e+t)*100},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0);this._context.setMinimumAdditionalDepth(i+12);var r=s.Std.close(this._context),n=this._context.new_var(r),o=s.Std.stdev(n,i,this._context),a=this._context.new_var(r),l=s.Std.change(a),c=this.f_0(l,o),h=this._context.new_var(c),u=s.Std.ema(h,14,this._context),d=this.f_1(l,o),p=this._context.new_var(d),_=s.Std.ema(p,14,this._context);return[this.f_2(u,_)]}}},{name:"SMI Ergodic Indicator/Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"},plot_2:{linestyle:0,linewidth:1,plottype:1,trackPrice:!1,transparency:0,visible:!0,color:"#FF5252"}},inputs:{in_0:5,in_1:20,in_2:5}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"Indicator",histogramBase:0,joinPoints:!1},plot_1:{title:"Signal",histogramBase:0,joinPoints:!1},plot_2:{title:"Oscillator",histogramBase:0,joinPoints:!1}},description:"SMI Ergodic Indicator/Oscillator",shortDescription:"SMIIO",is_price_study:!1,inputs:[{id:"in_0",name:"shortlen",defval:5,type:"integer",min:1,max:2e3},{id:"in_1",name:"longlen",defval:20,type:"integer",min:1,max:2e3},{id:"in_2",name:"siglen",defval:5,type:"integer",min:1,max:2e3}],id:"SMI Ergodic Indicator/Oscillator@tv-basicstudies-1",scriptIdPart:"",name:"SMI Ergodic Indicator/Oscillator",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t){return e-t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=this._input(2);this._context.setMinimumAdditionalDepth(i+r+n);var o=s.Std.close(this._context),a=this._context.new_var(o),l=s.Std.tsi(a,i,r,this._context),c=this._context.new_var(l),h=s.Std.ema(c,n,this._context);return[l,h,this.f_0(l,h)]}}},{name:"Smoothed Moving Average",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#673AB7"}},inputs:{in_0:7,in_1:"close"}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Smoothed Moving Average",shortDescription:"SMMA",is_price_study:!0,inputs:[{id:"in_0",name:"Length",defval:7,type:"integer",min:1,max:1e12},{id:"in_1",name:"Source",defval:"close",type:"source",options:["open","high","low","close","hl2","hlc3","ohlc4"]}],id:"smoothed_moving_average@tv-basicstudies-1",scriptIdPart:"",
name:"Smoothed Moving Average",format:{type:"inherit"}},constructor:function(){this.f_0=function(){var e=this._input(0),t=s.Std[this._input(1)](this._context);return[s.Std.smma(t,e,this._context)]},this.main=function(e,t){return this._context=e,this._input=t,this.f_0()}}},{name:"Standard Deviation",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,id:"Standard Deviation@tv-basicstudies-1",scriptIdPart:"",name:"Standard Deviation",description:"Standard Deviation",shortDescription:"Standard Deviation",is_price_study:!1,plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#009688"}},inputs:{periods:5,deviations:1}},styles:{plot_0:{title:"Plot"}},inputs:[{id:"periods",name:"Periods",type:"integer"},{id:"deviations",name:"Deviations",type:"float"}],format:{precision:2,type:"price"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=this._context.new_var(s.Std.close(this._context));return[s.Std.stdev(n,i,this._context)*r]}}},{name:"Stochastic",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:80},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:20}],filledAreasStyle:{fill_0:{color:"#2196F3",transparency:90,visible:!0}},inputs:{in_0:14,in_1:1,in_2:3}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],styles:{plot_0:{title:"%K",histogramBase:0,joinPoints:!1},plot_1:{title:"%D",histogramBase:0,joinPoints:!1}},description:"Stochastic",shortDescription:"Stoch",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"K",defval:14,type:"integer",min:1,max:1e4},{id:"in_1",name:"D",defval:1,type:"integer",min:1,max:1e4},{id:"in_2",name:"smooth",defval:3,type:"integer",min:1,max:1e4}],id:"Stochastic@tv-basicstudies-1",scriptIdPart:"",name:"Stochastic",format:{precision:2,type:"price"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=this._input(2);this._context.setMinimumAdditionalDepth(i+r+n);var o=s.Std.close(this._context),a=s.Std.high(this._context),l=s.Std.low(this._context),c=this._context.new_var(o),h=this._context.new_var(a),u=this._context.new_var(l),d=s.Std.stoch(c,h,u,i,this._context),p=this._context.new_var(d),_=s.Std.sma(p,r,this._context),m=this._context.new_var(_);return[_,s.Std.sma(m,n,this._context)]}}},{name:"Stochastic RSI",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,
trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:80},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:20}],filledAreasStyle:{fill_0:{color:"#2196F3",transparency:90,visible:!0}},inputs:{in_0:14,in_1:14,in_2:3,in_3:3}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],styles:{plot_0:{title:"%K",histogramBase:0,joinPoints:!1},plot_1:{title:"%D",histogramBase:0,joinPoints:!1}},description:"Stochastic RSI",shortDescription:"Stoch RSI",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"lengthRSI",defval:14,type:"integer",min:1,max:1e4},{id:"in_1",name:"lengthStoch",defval:14,type:"integer",min:1,max:1e4},{id:"in_2",name:"smoothK",defval:3,type:"integer",min:1,max:1e4},{id:"in_3",name:"smoothD",defval:3,type:"integer",min:1,max:1e4}],id:"Stochastic RSI@tv-basicstudies-1",scriptIdPart:"",name:"Stochastic RSI",format:{precision:2,type:"price"}},constructor:function(){this.f_1=function(e,t,i){var r=i.new_var(s.Std.max(s.Std.change(e),0));return s.Std.rma(r,t,i)},this.f_2=function(e,t,i){var r=i.new_var(-s.Std.min(s.Std.change(e),0));return s.Std.rma(r,t,i)},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._input(0),n=this._input(1),o=this._input(2),a=this._input(3);e.setMinimumAdditionalDepth(r+n+o+a);var l=this._context.new_var(i),c=s.Std.rsi(this.f_1(l,r,this._context),this.f_2(l,r,this._context)),h=this._context.new_var(c),u=this._context.new_var(c),d=this._context.new_var(c),p=s.Std.stoch(h,u,d,n,this._context),_=this._context.new_var(p),m=s.Std.sma(_,o,this._context),f=this._context.new_var(m);return[m,s.Std.sma(f,a,this._context)]}}},{name:"TRIX",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#F44336"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:18}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"TRIX",histogramBase:0,joinPoints:!1}},description:"TRIX",shortDescription:"TRIX",is_price_study:!1,bands:[{id:"hline_0",name:"Zero"}],inputs:[{id:"in_0",name:"length",defval:18,type:"integer",min:1,max:2e3}],id:"TRIX@tv-basicstudies-1",scriptIdPart:"",name:"TRIX",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e){return s.Std.log(e)},this.f_1=function(e){return 1e4*e},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0);e.setMinimumAdditionalDepth(3*i)
;var r=this.f_0(s.Std.close(this._context)),n=this._context.new_var(r),o=s.Std.ema(n,i,this._context),a=this._context.new_var(o),l=s.Std.ema(a,i,this._context),c=this._context.new_var(l),h=s.Std.ema(c,i,this._context),u=this._context.new_var(h),d=s.Std.change(u);return[this.f_1(d)]}}},{name:"Triple EMA",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:9}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Triple EMA",shortDescription:"TEMA",is_price_study:!0,inputs:[{id:"in_0",name:"length",defval:9,type:"integer",min:1,max:1e4}],id:"Triple EMA@tv-basicstudies-1",scriptIdPart:"",name:"Triple EMA",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t,i){return 3*(e-t)+i},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0);this._context.setMinimumAdditionalDepth(3*i);var r=s.Std.close(this._context),n=this._context.new_var(r),o=s.Std.ema(n,i,this._context),a=this._context.new_var(o),l=s.Std.ema(a,i,this._context),c=this._context.new_var(l),h=s.Std.ema(c,i,this._context);return[this.f_0(o,l,h)]}}},{name:"True Strength Indicator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#E91E63"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:25,in_1:13,in_2:13}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1},plot_1:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"True Strength Indicator",shortDescription:"True Strength Indicator",is_price_study:!1,bands:[{id:"hline_0",name:"Zero"}],inputs:[{id:"in_0",name:"long",defval:25,type:"integer",min:1,max:4999},{id:"in_1",name:"short",defval:13,type:"integer",min:1,max:4999},{id:"in_2",name:"siglen",defval:13,type:"integer",min:1,max:4999}],id:"True Strength Indicator@tv-basicstudies-1",scriptIdPart:"",name:"True Strength Indicator",format:{precision:4,type:"price"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=this._input(2);this._context.setMinimumAdditionalDepth(this._input(0)+this._input(1)+this._input(2));var o=s.Std.close(this._context),a=this._context.new_var(o),l=s.Std.tsi(a,r,i,this._context),c=this._context.new_var(l);return[l,s.Std.ema(c,n,this._context)]}}},{name:"Trend Strength Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!1,id:"Trend Strength Index@tv-basicstudies-1",scriptIdPart:"",name:"Trend Strength Index",description:"Trend Strength Index",shortDescription:"Trend Strength Index",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{
plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#FF5252"}},inputs:{periods:14}},styles:{plot_0:{title:"Plot"}},inputs:[{id:"periods",type:"integer",name:"Periods"}],format:{type:"inherit"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this.period=this._input(0),this.invertedPeriod=1/this.period,this.sumX=(this.period-1)*this.period/2,this.sumXX=(this.period-1)*this.period*(2*this.period-1)/6,this.invertedPeriodSumXSumX=this.invertedPeriod*this.sumX*this.sumX},this.trendStrengthIndex=function(){for(var e=this._context.new_var(s.Std.close(this._context)),t=s.Std.sum(e,this.period,this._context),i=0,r=0,n=0;n0?1:-1:a/(l=Math.sqrt(l))},this.main=function(e,t){return this._context=e,this._input=t,[this.trendStrengthIndex()]}}},{name:"Typical Price",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,id:"TypicalPrice@tv-basicstudies-1",scriptIdPart:"",name:"Typical Price",description:"Typical Price",shortDescription:"Typical Price",is_price_study:!0,plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#FF6D00"}},inputs:{}},styles:{plot_0:{title:"Plot"}},inputs:[],format:{type:"inherit"}},constructor:function(){this.main=function(e,t){return this._context=e,this._input=t,[s.Std.hlc3(this._context)]}}},{name:"Ultimate Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#F44336"}},inputs:{in_0:7,in_1:14,in_2:28}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"UO",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Ultimate Oscillator",shortDescription:"UO",is_price_study:!1,inputs:[{id:"in_0",name:"length7",defval:7,type:"integer",min:1,max:1e12},{id:"in_1",name:"length14",defval:14,type:"integer",min:1,max:1e12},{id:"in_2",name:"length28",defval:28,type:"integer",min:1,max:1e12}],id:"ultimate_oscillator@tv-basicstudies-1",scriptIdPart:"",name:"Ultimate Oscillator",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t,i){var r=this._context.new_var(e),n=this._context.new_var(t);return[s.Std.sum(r,i,this._context)/s.Std.sum(n,i,this._context)]},this.f_1=function(){var e=this._input(0),t=this._input(1),i=this._input(2),r=this._context.new_var(s.Std.close(this._context)),n=s.Std.max(s.Std.high(this._context),r.get(1)),o=this._context.new_var(s.Std.close(this._context)),a=s.Std.min(s.Std.low(this._context),o.get(1)),l=s.Std.close(this._context)-a,c=n-a,h=this.f_0(l,c,e),u=this.f_0(l,c,t),d=this.f_0(l,c,i);return[100*(4*h[0]+2*u[0]+d[0])/7]},this.main=function(e,t){return this._context=e,this._input=t,this.f_1()}}},{name:"Volatility Close-to-Close",metainfo:{
_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!1,id:"Volatility Close-to-Close@tv-basicstudies-1",scriptIdPart:"",name:"Volatility Close-to-Close",description:"Volatility Close-to-Close",shortDescription:"Volatility Close-to-Close",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#2196F3"}},inputs:{periods:10,daysPerYear:252}},styles:{plot_0:{title:"Plot"}},inputs:[{id:"periods",name:"Periods",type:"integer",defval:10},{id:"daysPerYear",name:"Days Per Year",type:"integer",defval:252}],format:{precision:2,type:"percent"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this.period=this._input(0),this.daysPerYear=this._input(1)},this.stdev=function(e,t,i){var r=this.variance(e,t,i);return s.Std.sqrt(r)},this.variance=function(e,t,i){var r=s.Std.sma(e,t,i);return this.variance2(e,r,t)},this.variance2=function(e,t,i){var s,r,n=0;for(s=0;s0&&(l=.12*this.square(e.get()-r.get(1))/this.marketClosedPercentage+.88*l/(1-this.marketClosedPercentage)),l/=a,l*=this.secondsPerYear;var c=this._context.new_var(l);return 100*Math.sqrt(s.Std.sum(c,this.period,this._context)/this.period)},this.main=function(e,t){return this._context=e,this._input=t,[this.volatilityOHLC()]}}},{name:"Volatility Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!0,id:"Volatility Index@tv-basicstudies-1",scriptIdPart:"",name:"Volatility Index",description:"Volatility Index",shortDescription:"Volatility Index",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#FF5252"}},inputs:{periods:10,atrMult:3,method:"Wilder Smoothing"}},styles:{plot_0:{title:"Plot"}},inputs:[{id:"periods",name:"Periods",type:"integer"},{id:"atrMult",name:"ATR Mult",type:"float"},{id:"method",name:"Method",type:"text",defval:"Exponential",options:["Exponential","Wilder Smoothing"]}],format:{type:"inherit"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this.period=this._input(0),this.atrMult=this._input(1),this.maMethod=this._input(2),this.nextsar=null,this.position=null,this.sic=null,this.bars=[],this.count=0,this.lastSar=null,this._context.setMinimumAdditionalDepth("Exponential"===this.maMethod?2*this.period+2:this.period)},this.computeATR=function(){var e=s.Std.high(this._context)-s.Std.low(this._context),t=s.Std.high(this._context)-this.bars[this.bars.length-2],i=this.bars[this.bars.length-2]-s.Std.low(this._context);return this.tr=Math.max(e,t,i),"Exponential"===this.maMethod?this.atr=s.Std.ema(this._context.new_var(this.tr),this.period,this._context):this.atr=this.tr/this.period+(1-1/this.period)*this.atr,
this.atr*this.atrMult},this.calculateVolatility=function(){if(s.Std.close(this._context)===this.bars[this.bars.length-1])return this.lastSar;if(this.bars.push(s.Std.close(this._context)),1===this.count)this.atr=s.Std.high(this._context)-s.Std.low(this._context),this.sic=s.Std.close(this._context);else if(this.countthis.sic&&(this.sic=s.Std.close(this._context))}else if(this.count===this.period){e=s.Std.high(this._context)-s.Std.low(this._context),t=s.Std.high(this._context)-this.bars[this.bars.length-2],i=this.bars[this.bars.length-2]-s.Std.low(this._context);this.atr+=Math.max(e,t,i),this.atr*=1/this.period,s.Std.close(this._context)>this.sic&&(this.sic=s.Std.close(this._context)),this.position="LONG",this.nextsar=this.sic-this.atr*this.atrMult}else{var r=this.nextsar;"LONG"===this.position?s.Std.close(this._context)r?(this.position="LONG",this.sic=s.Std.close(this._context),this.nextsar=this.sic-this.computeATR()):(this.position="SHORT",this.sic=Math.min(s.Std.close(this._context),this.sic),this.nextsar=this.sic+this.computeATR())),this.lastSar=r}return this.count++,r},this.main=function(e,t){return this._context=e,this._input=t,this._context.select_sym(0),[this.calculateVolatility()]}}},{name:"VWAP",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:0,transparency:0,visible:!0,color:"#2196F3"}}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"VWAP",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"VWAP",shortDescription:"VWAP",is_price_study:!0,inputs:[],id:"VWAP@tv-basicstudies-1",scriptIdPart:"",name:"VWAP",format:{type:"inherit"}},constructor:function(){this.f_1=function(e){e.hist=null,e.add_hist()},this.init=function(e,t){this._isNewSession=null},this.main=function(e,t){this._context=e,this._input=t;var i=e.new_var(),r=e.new_var(),n=this._context.symbol.time;return n&&(null===this._isNewSession&&(this._isNewSession=s.Std.createNewSessionCheck(e)),this._isNewSession(n)&&(this.f_1(i),this.f_1(r))),i.set(s.Std.nz(i.get(1))+s.Std.hlc3(this._context)*s.Std.volume(this._context)),r.set(s.Std.nz(r.get(1))+s.Std.volume(this._context)),[i.get(0)/r.get(0)]}}},{name:"VWMA",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:20}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"VWMA",
shortDescription:"VWMA",is_price_study:!0,inputs:[{id:"in_0",name:"len",defval:20,type:"integer",min:1,max:1e4}],id:"VWMA@tv-basicstudies-1",scriptIdPart:"",name:"VWMA",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._input(0),n=this._context.new_var(i);return[s.Std.vwma(n,r,this._context)]}}},{name:"Volume Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:5,in_1:10}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Volume Oscillator",shortDescription:"Volume Osc",is_price_study:!1,bands:[{id:"hline_0",name:"Zero"}],inputs:[{id:"in_0",name:"shortlen",defval:5,type:"integer",min:1,max:4999},{id:"in_1",name:"longlen",defval:10,type:"integer",min:1,max:4999}],id:"Volume Oscillator@tv-basicstudies-1",scriptIdPart:"",name:"Volume Oscillator",format:{precision:2,type:"percent"}},constructor:function(){this.f_0=function(e,t){return 100*(e-t)/t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=s.Std.volume(this._context),o=this._context.new_var(n),a=s.Std.ema(o,i,this._context),l=this._context.new_var(n),c=s.Std.ema(l,r,this._context);return[this.f_0(a,c)]}}},{name:"Vortex Indicator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#E91E63"}},inputs:{in_0:14}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],styles:{plot_0:{title:"VI +",histogramBase:0,joinPoints:!1,isHidden:!1},plot_1:{title:"VI -",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Vortex Indicator",shortDescription:"VI",is_price_study:!1,is_hidden_study:!1,id:"vortex_indicator@tv-basicstudies-1",inputs:[{id:"in_0",name:"Period",defval:14,type:"integer",min:2,max:1e12}],scriptIdPart:"",name:"Vortex Indicator",format:{precision:4,type:"price"}},constructor:function(){this.f_0=function(){var e=this._input(0),t=this._context.new_var(s.Std.low(this._context)),i=this._context.new_var(s.Std.abs(s.Std.high(this._context)-t.get(1))),r=s.Std.sum(i,e,this._context),n=this._context.new_var(s.Std.high(this._context)),o=this._context.new_var(s.Std.abs(s.Std.low(this._context)-n.get(1))),a=s.Std.sum(o,e,this._context),l=this._context.new_var(s.Std.atr(1,this._context)),c=s.Std.sum(l,e,this._context);return[r/c,a/c]},this.main=function(e,t){return this._context=e,this._input=t,this.f_0()}}},{name:"Willams %R",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#7E57C2"}
},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:-20},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:-80}],filledAreasStyle:{fill_0:{color:"#7E57C2",transparency:90,visible:!0}},inputs:{in_0:14}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Williams %R",shortDescription:"%R",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"length",defval:14,type:"integer",min:1,max:2e3}],id:"Willams %R@tv-basicstudies-1",scriptIdPart:"",name:"Willams %R",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t,i){return 100*(e-t)/(t-i)},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=s.Std.high(this._context),n=this._context.new_var(r),o=s.Std.highest(n,i,this._context),a=s.Std.low(this._context),l=this._context.new_var(a),c=s.Std.lowest(l,i,this._context);return[this.f_0(s.Std.close(this._context),o,c)]}}},{name:"Williams Alligator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#E91E63"},plot_2:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#66BB6A"}},inputs:{in_0:21,in_1:13,in_2:8,in_3:8,in_4:5,in_5:3}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"Jaw",histogramBase:0,joinPoints:!1},plot_1:{title:"Teeth",histogramBase:0,joinPoints:!1},plot_2:{title:"Lips",histogramBase:0,joinPoints:!1}},description:"Williams Alligator",shortDescription:"Alligator",is_price_study:!0,inputs:[{id:"in_0",name:"Jaw Length",defval:21,type:"integer",min:1,max:2e3},{id:"in_1",name:"Teeth Length",defval:13,type:"integer",min:1,max:2e3},{id:"in_2",name:"Lips Length",defval:8,type:"integer",min:1,max:2e3},{id:"in_3",name:"Jaw Offset",defval:8,type:"integer",min:1,max:2e3},{id:"in_4",name:"Teeth Offset",defval:5,type:"integer",min:1,max:2e3},{id:"in_5",name:"Lips Offset",defval:3,type:"integer",min:1,max:2e3}],id:"Williams Alligator@tv-basicstudies-1",scriptIdPart:"",name:"Williams Alligator",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=this._input(2),o=this._input(3),a=this._input(4),l=this._input(5),c=s.Std.hl2(this._context);return[{value:s.Std.smma(c,i,this._context),offset:o},{value:s.Std.smma(c,r,this._context),offset:a},{value:s.Std.smma(c,n,this._context),offset:l}]}}},{name:"Williams Fractals",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,defaults:{styles:{plot_0:{plottype:"shape_triangle_down",visible:!0,location:"BelowBar",transparency:0,color:"#F44336"},plot_1:{
plottype:"shape_triangle_up",visible:!0,location:"AboveBar",transparency:0,color:"#009688"}},inputs:{in_0:2}},plots:[{id:"plot_0",type:"shapes"},{id:"plot_1",type:"shapes"}],styles:{plot_0:{title:"Down fractals",isHidden:!1},plot_1:{title:"Up fractals",isHidden:!1}},description:"Williams Fractal",shortDescription:"Fractals",is_price_study:!0,is_hidden_study:!1,id:"Williams Fractals@tv-basicstudies-1",inputs:[{id:"in_0",name:"Periods",defval:2,type:"integer",min:2,max:1e12}],scriptIdPart:"",name:"Williams Fractals",isCustomIndicator:!0,format:{type:"inherit"}},constructor:function(){this.f_0=function(){for(var e=this._input(0),t=this._context.new_var(s.Std.high(this._context)),i=!0,r=!0,n=!0,o=!0,a=!0,l=!0,c=1;c<=e;c++)i=s.Std.and(i,s.Std.lt(t.get(e-c),t.get(e))),r=s.Std.and(r,s.Std.lt(t.get(e+c),t.get(e))),n=s.Std.and(n,s.Std.and(s.Std.le(t.get(e+1),t.get(e)),s.Std.lt(t.get(e+c+1),t.get(e)))),o=s.Std.and(o,s.Std.and(s.Std.le(t.get(e+1),t.get(e)),s.Std.and(s.Std.le(t.get(e+2),t.get(e)),s.Std.lt(t.get(e+c+2),t.get(e))))),a=s.Std.and(a,s.Std.and(s.Std.le(t.get(e+1),t.get(e)),s.Std.and(s.Std.le(t.get(e+2),t.get(e)),s.Std.and(s.Std.le(t.get(e+3),t.get(e)),s.Std.lt(t.get(e+c+3),t.get(e)))))),l=s.Std.and(l,s.Std.and(s.Std.le(t.get(e+1),t.get(e)),s.Std.and(s.Std.le(t.get(e+2),t.get(e)),s.Std.and(s.Std.le(t.get(e+3),t.get(e)),s.Std.and(s.Std.le(t.get(e+4),t.get(e)),s.Std.lt(t.get(e+c+4),t.get(e)))))));var h=s.Std.or(r,s.Std.or(n,s.Std.or(o,s.Std.or(a,l)))),u=s.Std.and(i,h),d=this._context.new_var(s.Std.low(this._context)),p=1,_=1,m=1,f=1,g=1,b=1;for(c=1;c<=e;c++)p=s.Std.and(p,s.Std.gt(d.get(e-c),d.get(e))),_=s.Std.and(_,s.Std.gt(d.get(e+c),d.get(e))),m=s.Std.and(m,s.Std.and(s.Std.ge(d.get(e+1),d.get(e)),s.Std.gt(d.get(e+c+1),d.get(e)))),f=s.Std.and(f,s.Std.and(s.Std.ge(d.get(e+1),d.get(e)),s.Std.and(s.Std.ge(d.get(e+2),d.get(e)),s.Std.gt(d.get(e+c+2),d.get(e))))),g=s.Std.and(g,s.Std.and(s.Std.ge(d.get(e+1),d.get(e)),s.Std.and(s.Std.ge(d.get(e+2),d.get(e)),s.Std.and(s.Std.ge(d.get(e+3),d.get(e)),s.Std.gt(d.get(e+c+3),d.get(e)))))),b=s.Std.and(b,s.Std.and(s.Std.ge(d.get(e+1),d.get(e)),s.Std.and(s.Std.ge(d.get(e+2),d.get(e)),s.Std.and(s.Std.ge(d.get(e+3),d.get(e)),s.Std.and(s.Std.ge(d.get(e+4),d.get(e)),s.Std.gt(d.get(e+c+4),d.get(e)))))));var v=s.Std.or(_,s.Std.or(m,s.Std.or(f,s.Std.or(g,b))));return[s.Std.and(p,v),u]},this.main=function(e,t){this._context=e,this._input=t;var i=this.f_0();return[{value:i[0],offset:-this._input(0)},{value:i[1],offset:-this._input(0)}]}}},{name:"Guppy Multiple Moving Average",metainfo:{isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,description:"Guppy Multiple Moving Average",shortDescription:"GMMA",is_price_study:!0,id:"Guppy Multiple Moving Average@tv-basicstudies-1",_metainfoVersion:52,format:{type:"inherit"},defaults:{inputs:{traderEMA1Length:3,traderEMA2Length:5,traderEMA3Length:8,traderEMA4Length:10,traderEMA5Length:12,traderEMA6Length:15,investorEMA1Length:30,investorEMA2Length:35,investorEMA3Length:40,investorEMA4Length:45,investorEMA5Length:50,investorEMA6Length:60},styles:{
traderEMA1:{color:"#00FFFF",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:15,visible:!0},traderEMA2:{color:"#00FFFF",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:12,visible:!0},traderEMA3:{color:"#00FFFF",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:9,visible:!0},traderEMA4:{color:"#00FFFF",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:6,visible:!0},traderEMA5:{color:"#00FFFF",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:3,visible:!0},traderEMA6:{color:"#00FFFF",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0},investorEMA1:{color:"#FF0000",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:15,visible:!0},investorEMA2:{color:"#FF0000",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:12,visible:!0},investorEMA3:{color:"#FF0000",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:9,visible:!0},investorEMA4:{color:"#FF0000",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:6,visible:!0},investorEMA5:{color:"#FF0000",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:3,visible:!0},investorEMA6:{color:"#FF0000",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0}}},inputs:[{defval:3,id:"traderEMA1Length",max:1e3,min:1,name:"Trader EMA 1 length",type:"integer"},{defval:5,id:"traderEMA2Length",max:1e3,min:1,name:"Trader EMA 2 length",type:"integer"},{defval:8,id:"traderEMA3Length",max:1e3,min:1,name:"Trader EMA 3 length",type:"integer"},{defval:10,id:"traderEMA4Length",max:1e3,min:1,name:"Trader EMA 4 length",type:"integer"},{defval:12,id:"traderEMA5Length",max:1e3,min:1,name:"Trader EMA 5 length",type:"integer"},{defval:15,id:"traderEMA6Length",max:1e3,min:1,name:"Trader EMA 6 length",type:"integer"},{defval:30,id:"investorEMA1Length",max:1e3,min:1,name:"Investor EMA 1 length",type:"integer"},{defval:35,id:"investorEMA2Length",max:1e3,min:1,name:"Investor EMA 2 length",type:"integer"},{defval:40,id:"investorEMA3Length",max:1e3,min:1,name:"Investor EMA 3 length",type:"integer"},{defval:45,id:"investorEMA4Length",max:1e3,min:1,name:"Investor EMA 4 length",type:"integer"},{defval:50,id:"investorEMA5Length",max:1e3,min:1,name:"Investor EMA 5 length",type:"integer"},{defval:60,id:"investorEMA6Length",max:1e3,min:1,name:"Investor EMA 6 length",type:"integer"}],plots:[{id:"traderEMA1",type:"line"},{id:"traderEMA2",type:"line"},{id:"traderEMA3",type:"line"},{id:"traderEMA4",type:"line"},{id:"traderEMA5",type:"line"},{id:"traderEMA6",type:"line"},{id:"investorEMA1",type:"line"},{id:"investorEMA2",type:"line"},{id:"investorEMA3",type:"line"},{id:"investorEMA4",type:"line"},{id:"investorEMA5",type:"line"},{id:"investorEMA6",type:"line"}],styles:{traderEMA1:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Trader EMA 1"},traderEMA2:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Trader EMA 2"},traderEMA3:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Trader EMA 3"},traderEMA4:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Trader EMA 4"},
traderEMA5:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Trader EMA 5"},traderEMA6:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Trader EMA 6"},investorEMA1:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Investor EMA 1"},investorEMA2:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Investor EMA 2"},investorEMA3:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Investor EMA 3"},investorEMA4:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Investor EMA 4"},investorEMA5:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Investor EMA 5"},investorEMA6:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Investor EMA 6"}}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._context.new_var(s.Std.close(this._context)),r=this._input(0),n=this._input(1),o=this._input(2),a=this._input(3),l=this._input(4),c=this._input(5),h=s.Std.ema(i,r,this._context),u=s.Std.ema(i,n,this._context),d=s.Std.ema(i,o,this._context),p=s.Std.ema(i,a,this._context),_=s.Std.ema(i,l,this._context),m=s.Std.ema(i,c,this._context),f=this._input(6),g=this._input(7),b=this._input(8),v=this._input(9),S=this._input(10),y=this._input(11);return[h,u,d,p,_,m,s.Std.ema(i,f,this._context),s.Std.ema(i,g,this._context),s.Std.ema(i,b,this._context),s.Std.ema(i,v,this._context),s.Std.ema(i,S,this._context),s.Std.ema(i,y,this._context)]}}}]},"2ijp":function(e,t,i){"use strict";i.d(t,"a",(function(){return n}));var s=i("l4sv"),r=i("8Uy/");class n{constructor(){this._lineRendererData={y:0,color:"rgba(0, 0, 0, 0)",linewidth:1,linestyle:r.LINESTYLE_SOLID,visible:!1},this._lineRenderer=new s.HorizontalLineRenderer,this._invalidated=!0,this._lineRenderer.setData(this._lineRendererData)}update(){this._invalidated=!0}renderer(){return this._invalidated&&(this._updateImpl(),this._invalidated=!1),this._lineRenderer}}},"2jXJ":function(e,t,i){"use strict";i.r(t),i.d(t,"supportedLineTools",(function(){return s}));const s={cursor:{name:"cursor",onlySelectable:!0},dot:{name:"dot",onlySelectable:!0},arrow_cursor:{name:"arrow",onlySelectable:!0},eraser:{name:"eraser",onlySelectable:!0},measure:{name:"measure",onlySelectable:!0},zoom:{name:"zoom",onlySelectable:!0},brush:{name:"LineToolBrush"},highlighter:{name:"LineToolHighlighter"},text:{name:"LineToolText"},anchored_text:{name:"LineToolTextAbsolute"},note:{name:"LineToolNote"},anchored_note:{name:"LineToolNoteAbsolute"},signpost:{name:"LineToolSignpost"},callout:{name:"LineToolCallout"},balloon:{name:"LineToolBalloon"},arrow_up:{name:"LineToolArrowMarkUp"},arrow_down:{name:"LineToolArrowMarkDown"},arrow_left:{name:"LineToolArrowMarkLeft"},arrow_right:{name:"LineToolArrowMarkRight"},price_label:{name:"LineToolPriceLabel"},price_note:{name:"LineToolPriceNote"},arrow_marker:{name:"LineToolArrowMarker"},flag:{name:"LineToolFlagMark"},vertical_line:{name:"LineToolVertLine"},horizontal_line:{name:"LineToolHorzLine"},cross_line:{name:"LineToolCrossLine"},horizontal_ray:{name:"LineToolHorzRay"},trend_line:{name:"LineToolTrendLine"},info_line:{name:"LineToolInfoLine"},trend_angle:{
name:"LineToolTrendAngle"},arrow:{name:"LineToolArrow"},ray:{name:"LineToolRay"},extended:{name:"LineToolExtended"},parallel_channel:{name:"LineToolParallelChannel"},disjoint_angle:{name:"LineToolDisjointAngle"},flat_bottom:{name:"LineToolFlatBottom"},pitchfork:{name:"LineToolPitchfork"},schiff_pitchfork_modified:{name:"LineToolSchiffPitchfork"},schiff_pitchfork:{name:"LineToolSchiffPitchfork2"},inside_pitchfork:{name:"LineToolInsidePitchfork"},pitchfan:{name:"LineToolPitchfan"},gannbox:{name:"LineToolGannSquare"},gannbox_square:{name:"LineToolGannComplex"},gannbox_fixed:{name:"LineToolGannFixed"},gannbox_fan:{name:"LineToolGannFan"},fib_retracement:{name:"LineToolFibRetracement"},fib_trend_ext:{name:"LineToolTrendBasedFibExtension"},fib_speed_resist_fan:{name:"LineToolFibSpeedResistanceFan"},fib_timezone:{name:"LineToolFibTimeZone"},fib_trend_time:{name:"LineToolTrendBasedFibTime"},fib_circles:{name:"LineToolFibCircles"},fib_spiral:{name:"LineToolFibSpiral"},fib_speed_resist_arcs:{name:"LineToolFibSpeedResistanceArcs"},fib_wedge:{name:"LineToolFibWedge"},fib_channel:{name:"LineToolFibChannel"},xabcd_pattern:{name:"LineTool5PointsPattern"},cypher_pattern:{name:"LineToolCypherPattern"},abcd_pattern:{name:"LineToolABCD"},triangle_pattern:{name:"LineToolTrianglePattern"},"3divers_pattern":{name:"LineToolThreeDrivers"},head_and_shoulders:{name:"LineToolHeadAndShoulders"},elliott_impulse_wave:{name:"LineToolElliottImpulse"},elliott_triangle_wave:{name:"LineToolElliottTriangle"},elliott_triple_combo:{name:"LineToolElliottTripleCombo"},elliott_correction:{name:"LineToolElliottCorrection"},elliott_double_combo:{name:"LineToolElliottDoubleCombo"},cyclic_lines:{name:"LineToolCircleLines"},time_cycles:{name:"LineToolTimeCycles"},sine_line:{name:"LineToolSineLine"},long_position:{name:"LineToolRiskRewardLong"},short_position:{name:"LineToolRiskRewardShort"},forecast:{name:"LineToolPrediction"},date_range:{name:"LineToolDateRange"},price_range:{name:"LineToolPriceRange"},date_and_price_range:{name:"LineToolDateAndPriceRange"},bars_pattern:{name:"LineToolBarsPattern"},ghost_feed:{name:"LineToolGhostFeed"},projection:{name:"LineToolProjection"},rectangle:{name:"LineToolRectangle"},rotated_rectangle:{name:"LineToolRotatedRectangle"},ellipse:{name:"LineToolEllipse"},triangle:{name:"LineToolTriangle"},polyline:{name:"LineToolPolyline"},path:{name:"LineToolPath"},curve:{name:"LineToolBezierQuadro"},double_curve:{name:"LineToolBezierCubic"},arc:{name:"LineToolArc"},icon:{name:"LineToolIcon"},regression_trend:{name:"LineToolRegressionTrend"},fixed_range_volume_profile:{name:"LineToolFixedRangeVolumeProfile"}}},"2jby":function(e,t,i){"use strict";i.r(t),i.d(t,"reorderCollection",(function(){return S})),i.d(t,"reorderDataSourcesStateZOrder",(function(){return y})),i.d(t,"reorderDataSourcesZOrder",(function(){return w})),i.d(t,"newLineToolZOrder",(function(){return x})),i.d(t,"newLineToolStateZOrder",(function(){return T})),i.d(t,"newStudyZOrder",(function(){return I})),i.d(t,"isReorderRequired",(function(){return L})),
i.d(t,"moveAtIndex",(function(){return E})),i.d(t,"moveAfterItem",(function(){return k})),i.d(t,"moveBeforeItem",(function(){return D})),i.d(t,"moveAfterSource",(function(){return V})),i.d(t,"moveBeforeSource",(function(){return B})),i.d(t,"moveAfterSourceState",(function(){return R})),i.d(t,"moveBeforeSourceState",(function(){return N}));var s=i("CW80"),r=i("3ClC"),n=i("qJq3"),o=i("s1Gx"),a=i("Vs8b"),l=i("Y7w9");function c(e){return e instanceof n.Series}function h(e){return Object(s.isLineTool)(e)&&!e.isSpeciallyZOrderedSource()}function u(e){return Object(r.isStudy)(e)&&!e.isSpeciallyZOrderedSource()}function d(e,t){return e.zorder-t.zorder}function p(e,t){return e.zorder()-t.zorder()}function _(e,t){Object(a.isMainSeriesState)(e)?e.zorder=0:e.zorder=t}function m(e,t){e.setZorder(t)}function f(e){return e.zorder}function g(e){return e.zorder()}function b(e,t,i,s,r,n,o){let a=0;for(let l=t;l>=0;--l){const t=e[l];void 0!==o&&o(t)||(n(t)?(r(t,i),a=Math.max(a,M(i)),s=i-1,i-=1e4,0===s&&(i-=1e4)):(r(t,s),a=Math.max(a,O(s)),s-=1))}return a}function v(e,t,i,s,r,n,o){let a=0;for(let l=t;l0||o%1e4<-1)return o+1;for(const e of P(o,c))s(e,r(e)-1);return o}function x(e,t){return C(e,h,u,m,g,t)}function T(e,t){return C(e,a.isLineToolState,a.isStudyState,_,f,t)}function I(e){let t=-1e4;for(const i of e)u(i)&&(t=Math.min(t,i.zorder()-1e4));return 0===t?-1e4:t}function M(e){return Math.abs(e/o.specialZOrderBase)}function O(e){return Math.abs(e%1e4/1e4)}function L(e,t){return null!==e&&M(e)>=.7||null!==t&&O(t)>.7}function A(e,t){const i=1e4*((s=e/1e4)>=0?Math.ceil(s):Math.floor(s));var s;return i===e?i+1e4*t:i}function E(e,t,i,s,r,n,a,c,h){if(s(t[0]))return void(i0?Object(l.moveAfter)(e,t,i-1):Object(l.moveBefore)(e,t,0),p=d,_=d+t.length-1,m=p>0?c(u[p-1]):c(u[p])-1,f=_=0&&f>0)v(u,p,A(m,1),m+1,a,r,s);else if(f<=0&&m<0)b(u,_,A(f,-1),f-1,a,r,s);else{let e=-o.specialZOrderBase;for(const t of u)s(t)?e=1:(a(t,e),e+=1);S(u,s,r,n,a,h)}}function k(e,t,i,s,r,n,o,a,l){const c=e.indexOf(i)+1;E(e,t,c,s,r,n,o,a,l)}
function D(e,t,i,s,r,n,o,a,l){const c=e.indexOf(i);E(e,t,c,s,r,n,o,a,l)}function V(e,t,i){k(e,t,i,c,u,h,m,g,p)}function B(e,t,i){D(e,t,i,c,u,h,m,g,p)}function R(e,t,i){k(e,t,i,a.isMainSeriesState,a.isStudyState,a.isLineToolState,_,f,d)}function N(e,t,i){D(e,t,i,a.isMainSeriesState,a.isStudyState,a.isLineToolState,_,f,d)}},"2kV1":function(e,t,i){"use strict";i.r(t),i.d(t,"StudyStatusView",(function(){return r}));var s=i("nBJD");class r extends s.a{constructor(e){super(e.statusProvider())}color(){return this._statusProvider.color()}getSplitTitle(){return this._statusProvider.getSplitTitle()}update(){this._text=this._statusProvider.text()}}},"2uTr":function(e,t,i){"use strict";function s(e){return e+"…"}i.r(t),i.d(t,"appendEllipsis",(function(){return s}))},"3/8U":function(e,t,i){"use strict";i.d(t,"a",(function(){return n}));var s=i("HGP3"),r=i("Tmoa");const n=Object(r.generateColor)(s.colorsPalette["color-tv-blue-500"],75)},"38az":function(e,t,i){"use strict";var s=i("k9/m").PlotRowSearchMode,r=i("Tmoa").rgbaFromInteger;function n(){this.backColorers=[]}function o(e){n.call(this),this._series=e}function a(e,t){n.call(this),this._study=e,this._plotIndex=t}n.prototype.barStyle=function(e,t,i){for(var s={},r=this.backColorers.length-1;r>=0;r--)this.backColorers[r].applyBarStyle(e,t,s,i);return this.applyBarStyle(e,t,s,i),s},n.prototype.pushBackBarColorer=function(e){this.backColorers.push(e)},n.prototype.applyBarStyle=function(e,t,i){throw new Error("This function is supposed to be reimplemented in a subclass")},inherit(o,n),o.upColor=function(e,t){switch(e.style.value()){case TradingView.Series.STYLE_LINE:return e.lineStyle.color.value();case TradingView.Series.STYLE_AREA:return e.areaStyle.linecolor.value();case TradingView.Series.STYLE_BARS:return e.barStyle.upColor.value();case TradingView.Series.STYLE_CANDLES:return e.candleStyle.upColor.value();case TradingView.Series.STYLE_HOLLOW_CANDLES:return e.hollowCandleStyle.upColor.value();case TradingView.Series.STYLE_HEIKEN_ASHI:return e.haStyle.upColor.value();case TradingView.Series.STYLE_BASELINE:return e.baselineStyle.topLineColor.value();case TradingView.Series.STYLE_HILO:return e.hiloStyle.color.value()}throw new Error("Unknown series style")},o.downColor=function(e,t){switch(e.style.value()){case TradingView.Series.STYLE_LINE:return e.lineStyle.color.value();case TradingView.Series.STYLE_AREA:return e.areaStyle.linecolor.value();case TradingView.Series.STYLE_BARS:return e.barStyle.downColor.value();case TradingView.Series.STYLE_CANDLES:return e.candleStyle.downColor.value();case TradingView.Series.STYLE_HOLLOW_CANDLES:return e.hollowCandleStyle.downColor.value();case TradingView.Series.STYLE_HEIKEN_ASHI:return e.haStyle.downColor.value();case TradingView.Series.STYLE_BASELINE:return e.baselineStyle.bottomLineColor.value();case TradingView.Series.STYLE_HILO:return e.hiloStyle.color.value()}throw new Error("Unknown series style")},o.prototype._applyLineStyle=function(e,t,i,s,r){i.barColor=o.upColor(r)},o.prototype._applyAreaStyle=function(e,t,i,s,r){
i.barColor=o.upColor(r)},o.prototype._applyBarStyle=function(e,t,i,s,r){var n=o.upColor(r),a=o.downColor(r),l=this.findBar(e,!1,s);if(r.barStyle.barColorsOnPrevClose.value()){var c=this.findPrevBar(e,!1,s);i.barColor=c[TradingView.CLOSE_PLOT]<=l[TradingView.CLOSE_PLOT]?n:a,i.barBorderColor=c[TradingView.CLOSE_PLOT]<=l[TradingView.CLOSE_PLOT]?n:a}else i.barColor=l[TradingView.OPEN_PLOT]<=l[TradingView.CLOSE_PLOT]?n:a,i.barBorderColor=l[TradingView.OPEN_PLOT]<=l[TradingView.CLOSE_PLOT]?n:a},o.prototype._applyCandleStyle=function(e,t,i,s,r){var n,a=o.upColor(r,t),l=o.downColor(r,t),c=r.candleStyle.borderUpColor?r.candleStyle.borderUpColor.value():r.candleStyle.borderColor.value(),h=r.candleStyle.borderDownColor?r.candleStyle.borderDownColor.value():r.candleStyle.borderColor.value(),u=r.candleStyle.wickUpColor?r.candleStyle.wickUpColor.value():r.candleStyle.wickColor.value(),d=r.candleStyle.wickDownColor?r.candleStyle.wickDownColor.value():r.candleStyle.wickColor.value(),p=this.findBar(e,!1,s);r.candleStyle.barColorsOnPrevClose.value()?n=this.findPrevBar(e,!1,s)[TradingView.CLOSE_PLOT]<=p[TradingView.CLOSE_PLOT]:n=p[TradingView.OPEN_PLOT]<=p[TradingView.CLOSE_PLOT];i.barColor=n?a:l,i.barBorderColor=n?c:h,i.barWickColor=n?u:d},o.prototype._applyHollowCandleStyle=function(e,t,i,s,r){var n=o.upColor(r,t),a=o.downColor(r,t),l=r.hollowCandleStyle.borderUpColor?r.hollowCandleStyle.borderUpColor.value():r.hollowCandleStyle.borderColor.value(),c=r.hollowCandleStyle.borderDownColor?r.hollowCandleStyle.borderDownColor.value():r.hollowCandleStyle.borderColor.value(),h=r.hollowCandleStyle.wickUpColor?r.hollowCandleStyle.wickUpColor.value():r.hollowCandleStyle.wickColor.value(),u=r.hollowCandleStyle.wickDownColor?r.hollowCandleStyle.wickDownColor.value():r.hollowCandleStyle.wickColor.value(),d=this.findBar(e,!1,s);this.findPrevBar(e,!1,s)[TradingView.CLOSE_PLOT]<=d[TradingView.CLOSE_PLOT]?(i.barColor=n,i.barBorderColor=l,i.barWickColor=h):(i.barColor=a,i.barBorderColor=c,i.barWickColor=u),i.isBarHollow=d[TradingView.OPEN_PLOT]<=d[TradingView.CLOSE_PLOT]},o.prototype._applyHAStyle=function(e,t,i,s,r){var n,a=o.upColor(r,t),l=o.downColor(r,t),c=r.haStyle.borderUpColor.value(),h=r.haStyle.borderDownColor.value(),u=r.haStyle.wickUpColor.value(),d=r.haStyle.wickDownColor.value(),p=this.findBar(e,t,s);r.haStyle.barColorsOnPrevClose.value()?n=this.findPrevBar(e,t,s)[TradingView.CLOSE_PLOT]<=p[TradingView.CLOSE_PLOT]:n=p[TradingView.OPEN_PLOT]<=p[TradingView.CLOSE_PLOT];i.barColor=n?a:l,i.barBorderColor=n?c:h,i.barWickColor=n?u:d},o.prototype._applyBaseLineStyle=function(e,t,i,s,r){var n=this.findBar(e,t,s),a=r.baselineStyle,l=this._series.priceScale(),c=Math.round(l.height()*(Math.abs(100-a.baseLevelPercentage.value())/100)),h=this._series.firstValue(),u=l.coordinateToPrice(c,h);n[TradingView.CLOSE_PLOT]>u?i.barColor=o.upColor(r,t):i.barColor=o.downColor(r,t)},o.prototype._applyHiLoStyle=function(e,t,i,s,r){i.barColor=o.upColor(r,t),i.barBorderColor=r.hiloStyle.borderColor.value()},o.prototype.applyBarStyle=function(e,t,i,s){i||(i={}),
i.barColor=null,i.barBorderColor=null,i.barWickColor=null,i.isBarHollow=null,i.isBarUp=null,i.upColor=null,i.downColor=null,i.isTwoColorBar=null,i.isMergedBar=null;var r=this._series.properties();switch(r.style.value()){case TradingView.Series.STYLE_LINE:this._applyLineStyle(e,t,i,s,r);break;case TradingView.Series.STYLE_AREA:this._applyAreaStyle(e,t,i,s,r);break;case TradingView.Series.STYLE_BARS:this._applyBarStyle(e,t,i,s,r);break;case TradingView.Series.STYLE_CANDLES:this._applyCandleStyle(e,t,i,s,r);break;case TradingView.Series.STYLE_HOLLOW_CANDLES:this._applyHollowCandleStyle(e,t,i,s,r);break;case TradingView.Series.STYLE_HEIKEN_ASHI:this._applyHAStyle(e,t,i,s,r);break;case TradingView.Series.STYLE_BASELINE:this._applyBaseLineStyle(e,t,i,s,r);break;case TradingView.Series.STYLE_HILO:this._applyHiLoStyle(e,t,i,s,r)}return i},o.prototype.getSeriesBars=function(e){return e?this._series.nsBars():this._series.bars()},o.prototype._findBarFieldValue=function(e,t,i){var s=this.getSeriesBars(i).valueAt(e);if(null!==s)return s[t]},o.prototype.findBar=function(e,t,i){return i?i.value:this.getSeriesBars(t).valueAt(e)||[]},o.prototype.findPrevBar=function(e,t,i){if(i&&i.previousValue)return i.previousValue;var r=this._series.bars().search(e-1,s.NearestLeft,TradingView.CLOSE_PLOT);return null!==r?r.value:[]},inherit(a,n),a.prototype.getBars=function(){return this._study.series().bars()},a.prototype.firstColoredBar=function(e){for(var t=e,i=0;ie+l)return i;var c=s.styles[a.id];if(c.visible&&!c.visible.value())return i;var h=o.valueAt(e-l);if(null===h)return i;var u=h[this._plotIndex+1];if(null==u)return i;if(u=Math.round(u),n.isRGB)i.barColor=r(u),i.upColor=i.barColor,i.downColor=i.barColor;else{var d=n.plots[this._plotIndex].palette,p=s.palettes[d],_=n.palettes[d].valToIndex?n.palettes[d].valToIndex[u]:u,m=p.colors[_].color.value();i.barColor=m,i.upColor=m.color,i.downColor=m.color}return i},t.SeriesBarColorer=o,t.StudyBarColorer=a},"3ClC":function(e,t,i){"use strict";i.r(t);var s=i("0YCj"),r=i.n(s),n=i("GVHu"),o=i("PL0c"),a=i("cKqi"),l=i("YzC7"),c=i("TMWk"),h=i("8sOK");class u extends n.Study{constructor(e,t,i,s){super(e,t,i,s),this.properties().styles.vol_ma.visible.listeners().subscribe(this,()=>this.invalidateTitleCache())}base(){return 1}destroy(){this.properties().styles.vol_ma.visible.listeners().unsubscribeAll(this),super.destroy()}_titleInputs(){const e={symbolsForDisplay:!0,skipHiddenInputs:!0,
fakeInputsForDisplay:!0,asObject:!1};return this.properties().styles.vol_ma.visible.value()?this.inputs(e):this.inputs({...e,skippedInputs:["length"]})}}var d=i("Eyy1"),p=i("Qb4w");class _ extends n.Study{priceRange(e,t){let i=!1;this.graphics().hhists().forEach((e,t)=>{i=i||this.properties().child("graphics").child("hhists").child(t).child("showValues").value()});const s=function(e,t,i,s){let r=null;return e.forEach((e,s)=>{e.forEach(e=>{e.firstBarTime<=i&&e.lastBarTime>=t&&(null===r?r={low:{l:e.priceLow,h:e.priceHigh},high:{h:e.priceHigh}}:(e.priceLowa.setValue(o())),a.listeners().subscribe(null,()=>s.setValue("date_format",a.value()))},"3u3j":function(e,t,i){"use strict";i.d(t,"a",(function(){return n}));var s=i("Eyy1"),r=i("RDU5");class n extends r.UndoCommand{constructor(e,t,i){super(i),this._chartModel=e,this._sourceId=t.id();const r=Object(s.ensureNotNull)(t.priceScale());this._initialPriceScaleId=r.id(),this._initialPriceScaleState=Object(s.ensureNotNull)(t.priceScale()).state();const n=Object(s.ensureNotNull)(e.paneForSource(t));this._initialPriceScalePosition=n.priceScalePosition(r),this._initialPriceScaleIndex=n.priceScaleIndex(r,this._initialPriceScalePosition),this._initialPaneIndex=e.panes().indexOf(n)}_newPriceScaleState(e){
const t={...this._initialPriceScaleState};return delete t.m_isLockScale,delete t.id,delete t.m_topMargin,delete t.m_bottomMargin,t}_originalPriceScaleState(){return this._initialPriceScaleState}}},"4GHa":function(e,t){e.exports=''},"4TVt":function(e,t,i){"use strict";i.r(t),i.d(t,"LineToolPriceAxisView",(function(){return o}));var s=i("Eyy1"),r=i("KcY8"),n=i("Ulff");class o extends r.a{constructor(e,t){super(),this._active=!1,this._source=e,this._data=t}setActive(e){this._active=e}_updateRendererData(e,t,i){e.visible=!1;const s=this._source.model();if(!s.timeScale()||s.timeScale().isEmpty())return;const r=this._source.priceScale();if(null===r||r.isEmpty())return;if(!s.selection().isSelected(this._source)&&!this._source.isForcedDrawPriceAxisLabel())return;if(null===s.timeScale().visibleBarsStrictRange())return;const o=this._source.priceAxisPoints(),a=this._data.pointIndex;if(o.length<=a)return;const l=o[a];if(!isFinite(l.price))return;const c=this._source.ownerSource(),h=null!==c?c.firstValue():null;if(null===h)return;let u=this._active?n.a.active:n.a.common;this._data.backgroundProperty?u=this._data.backgroundProperty.value():this._data.backgroundPropertyGetter&&(u=this._data.backgroundPropertyGetter()),i.background=u,i.borderColor="#2E84A6",i.textColor=this.generateTextColor(u),i.coordinate=r.priceToCoordinate(l.price,h),e.text=this._formatPrice(l.price,h),e.visible=!0}_formatPrice(e,t){return Object(s.ensureNotNull)(this._source.priceScale()).formatPrice(e,t)}}},"4bfY":function(e,t,i){"use strict";var s=i("Ss5c").LineDataSource,r=i("5rJj"),n=i("j3hX"),o=n.LineToolWidthsProperty,a=n.LineToolColorsProperty;class l extends s{constructor(e,t){super(e,t||l.createProperties()),i.e("lt-pane-views").then(i.t.bind(null,"FzRY",7)).then(({FibCirclesPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}levelsCount(){return l.LevelsCount}pointsCount(){return 2}name(){return"Fib Circles"}processErase(e,t){var i="level"+t,s=this.properties()[i].visible;e.setProperty(s,!1,"Erase level line")}static createProperties(e){var t=new r("linetoolfibcircles",e,!1,{range:[1,11]});return l._configureProperties(t),t}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(27),i.e(62),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"6U6r"))).FibCirclesDefinitionsViewModel}_snapTo45DegreesAvailable(){return!0}static _configureProperties(e){s._configureProperties(e);for(var t=[e.child("trendline").child("linewidth")],i=[e.child("trendline").child("color")],r=1;r<=l.LevelsCount;r++)t.push(e.child("level"+r).child("linewidth")),i.push(e.child("level"+r).child("color"));e.addChild("linesColors",new a(i)),e.addChild("linesWidths",new o(t))}}l.LevelsCount=11,t.LineToolFibCircles=l},"4kQX":function(e,t,i){"use strict";i.r(t),i.d(t,"TimeFormatter",(function(){return n}))
;var s=i("iboI"),r=i("kcTO");class n{constructor(e){this._formatStr=e||"%h:%m:%s"}format(e){return s.customFormatters.timeFormatter?s.customFormatters.timeFormatter.format(e):this._formatStr.replace("%h",Object(r.numberToStringWithLeadingZero)(e.getUTCHours(),2)).replace("%m",Object(r.numberToStringWithLeadingZero)(e.getUTCMinutes(),2)).replace("%s",Object(r.numberToStringWithLeadingZero)(e.getUTCSeconds(),2))}formatLocal(e){return s.customFormatters.timeFormatter?s.customFormatters.timeFormatter.formatLocal?s.customFormatters.timeFormatter.formatLocal(e):s.customFormatters.timeFormatter.format(e):this._formatStr.replace("%h",Object(r.numberToStringWithLeadingZero)(e.getHours(),2)).replace("%m",Object(r.numberToStringWithLeadingZero)(e.getMinutes(),2)).replace("%s",Object(r.numberToStringWithLeadingZero)(e.getSeconds(),2))}}},"4miz":function(e,t,i){"use strict";i.d(t,"a",(function(){return s})),i.d(t,"b",(function(){return r}));class s{constructor(e,t){this._visible=!0,this._title=e,this._value=t}title(){return this._title}setTitle(e){this._title=e}text(){return this._value}value(){return this._value}setValue(e){this._value=e}visible(){return this._visible}setVisible(e){this._visible=e}color(){return this._color}setColor(e){this._color=e}}class r{constructor(){this._items=[],this._header="",this._title=""}header(){return this._header}title(){return this._title}items(){return this._items}update(){}}},"4o++":function(e,t,i){"use strict";var s;i.r(t),i.d(t,"MagnetMode",(function(){return s})),function(e){e[e.WeakMagnet=0]="WeakMagnet",e[e.StrongMagnet=1]="StrongMagnet"}(s||(s={}))},"4u8j":function(e,t,i){"use strict";var s=i("Ss5c").LineDataSource,r=i("5rJj"),n=i("j3hX"),o=n.LineToolWidthsProperty,a=n.LineToolColorsProperty;class l extends s{constructor(e,t){super(e,t||l.createProperties()),i.e("lt-pane-views").then(i.t.bind(null,"ZJWf",7)).then(({GannFanPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}levelsCount(){return l.LevelsCount}pointsCount(){return 2}name(){return"Gann Fan"}processErase(e,t){var i="level"+t,s=this.properties()[i].visible;e.setProperty(s,!1,"Erase level line")}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(27),i.e(62),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"ASG6"))).GannFanDefinitionsViewModel}static createProperties(e){var t=new r("linetoolgannfan",e,!1,{range:[1,9]});return l._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e);for(var t=[],i=[],r=1;r<=l.LevelsCount;r++)t.push(e.child("level"+r).child("linewidth")),i.push(e.child("level"+r).child("color"));e.addChild("linesColors",new a(i)),e.addChild("linesWidths",new o(t))}}l.LevelsCount=9,t.LineToolGannFan=l},"4vW/":function(e,t,i){"use strict";var s;i.r(t),i.d(t,"ColorType",(function(){return s})),function(e){e.Solid="solid",e.Gradient="gradient"}(s||(s={}))},"53h+":function(e,t,i){"use strict";i.r(t),i.d(t,"findSuitableResolutionToBuildFrom",(function(){return a}));var s=i("LxhU");function r(e){throw console.error(e),e}function n(e,t){
const i=t.multiplier();for(let s=e.length-1;s>=0;s--){const r=Number(e[s]);if(i%r==0)return`${r}${t.letter()}`}return null}function o(e,t){const i=n(e,t);if(null!==i)return i;r(`Misconfiguration error: it is trying to request ${t.value()} but we cannot build it from lower resolution`)}function a(e,t){const i=s.Interval.parse(e);if((i.isWeeks()||i.isMonths())&&t.has_weekly_and_monthly){let e=["1"];i.isWeeks()&&void 0!==t.weekly_multipliers&&(e=t.weekly_multipliers),i.isMonths()&&void 0!==t.monthly_multipliers&&(e=t.monthly_multipliers);const s=n(e,i);if(null!==s)return s}if(i.isDWM()&&(void 0===t.has_daily||t.has_daily))return i.isDays()&&void 0!==t.daily_multipliers?o(t.daily_multipliers,i):(void 0===t.daily_multipliers||t.daily_multipliers.includes("1")||r("Misconfiguration error: it is trying to request a resolution but symbol does not support it"),"1D");if(i.isDWM()&&r(`Misconfiguration error: it is trying to request ${i.value()} but we cannot build it from lower resolution`),i.isMinutes()&&!t.has_intraday&&r("Misconfiguration error: it is trying to request intraday resolution but symbol does not support it"),i.isSeconds()&&!t.has_seconds&&r("Misconfiguration error: it is trying to request seconds resolution but symbol does not support it"),i.isTicks())return(!t.has_ticks||i.multiplier()>1)&&r(`Misconfiguration error: it is trying to request ${i.multiplier()} ticks resolution but symbol does not support it`),"1T";const a=i.isSeconds()?t.seconds_multipliers:t.intraday_multipliers;return void 0!==a?o(a,i):i.value()}},"54XG":function(e,t,i){"use strict";i.r(t),i.d(t,"FavoriteStudyTemplateService",(function(){return r}));var s=i("ulZB");class r extends s.b{constructor(e,t){super(e,t,"FAVORITE_STUDY_TEMPLATES_CHANGED","StudyTemplates.quicks",[])}remove(e){this.set(this.get().filter(t=>t!==e))}}},"585y":function(e,t,i){"use strict";i.d(t,"a",(function(){return s}));class s{constructor(e){this._value=null,this._series=e,this._series.dataEvents().dataUpdated().subscribe(this,this._onSeriesUpdated)}destroy(){this._series.dataEvents().dataUpdated().unsubscribeAll(this)}volume(e,t){if(null!==this._value&&this._value.from===e&&this._value.to===t)return this._value.value;let i=0;const s=this._series.data().bars(),r=s.firstIndex(),n=s.lastIndex();if(null!==r&&en&&t>n)i=NaN;else{const s=this._series.data().bars().rangeIterator(Math.min(e,t),Math.max(e,t));for(;s.hasNext();){const e=s.next().value[5];if(void 0===e){i=NaN;break}i+=e}}return this._value={from:e,to:t,value:i},i}_onSeriesUpdated(e,t){if(null===this._value)return;if(t)return void(this._value=null);const i=this._series.data().bars().lastIndex();(null===i||i<=this._value.to)&&(this._value=null)}}},"5B3K":function(e,t,i){"use strict";i.r(t),i.d(t,"StudyError",(function(){return s}));class s extends Error{constructor(e){super(e),this.studyError=!0}}},"5C6T":function(e,t,i){"use strict";i.r(t),i.d(t,"PipFormatter",(function(){return r}));var s=i("kcTO");class r extends s.PriceFormatter{constructor(e,t,i,s){t||(t=1),"forex"!==i&&"cfd"!==i||!s?(super(1),
this._isForex=!1):(super(s),this._isForex=!0),this._pipPriceScale=e,this._pipMinMove=t,this._pipMinMove2=s}format(e,t,i){let s=this._isForex?this._pipMinMove2:this._pipMinMove;return void 0===s&&(s=NaN),super.format(e*this._pipPriceScale/s,t,i)}}},"5JMW":function(e,t,i){"use strict";i.r(t),i.d(t,"isLineToolRiskReward",(function(){return a})),i.d(t,"LineDataSourceApi",(function(){return c}));var s=i("Eyy1"),r=i("ogJP");const n=new Map([["LineToolRiskRewardLong",2],["LineToolRiskRewardShort",2],["LineToolBezierQuadro",3],["LineToolBezierCubic",4]]);function o(e){const t=n.get(e.toolname);if(void 0!==t)return t;const i=e.pointsCount();return-1===i?e.points().length:i}function a(e){return"LineToolRiskRewardLong"===e||"LineToolRiskRewardShort"===e}const l=["alwaysShowStats","entryPrice","inputs.first bar time","inputs.last bar time","interval","linesWidths","points","snapTo45Degrees","stopPrice","symbol","symbolStateVersion","currencyId","unitId","targetPrice","zOrderVersion"];class c{constructor(e,t,i){this._source=e,this._model=t,this._pointsConverter=i}isSelectionEnabled(){return this._source.isSelectionEnabled()}setSelectionEnabled(e){this._source.setSelectionEnabled(e)}isSavingEnabled(){return this._source.isSavedInChart()}setSavingEnabled(e){this._source.setSavingInChartEnabled(e)}isShowInObjectsTreeEnabled(){return this._source.showInObjectTree()}setShowInObjectsTreeEnabled(e){this._source.setShowInObjectsTreeEnabled(e)}isUserEditEnabled(){return this._source.userEditEnabled()}setUserEditEnabled(e){this._source.setUserEditEnabled(e)}bringToFront(){this._model.bringToFront([this._source])}sendToBack(){this._model.sendToBack([this._source])}getProperties(){return this._source.properties().state(l,!0)}setProperties(e){this._setProps(this._source.properties(),e,"")}getPoints(){let e=this._source.points();const t=o(this._source);return e.length>t&&(Object(s.assert)(a(this._source.toolname)),e=e.slice(0,t)),this._pointsConverter.dataSourcePointsToPriced(e)}setPoints(e){if(this._source.isFixed())return;const t=o(this._source);if(t!==e.length)throw new Error(`Wrong points count. Required: ${t}, provided: ${e.length}`);const i=this._pointsConverter.apiPointsToDataSource(e);this._model.startChangingLinetool(this._source),this._model.changeLinePoints(this._source,i),this._model.endChangingLinetool(!0),this._source.createServerPoints()}ownerSourceId(){return Object(s.ensureNotNull)(this._source.ownerSource()).id()}changePoint(e,t){if(this._source.isFixed())return;const i=this._pointsConverter.apiPointsToDataSource([e])[0];this._model.startChangingLinetool(this._source,{...i},t),this._model.changeLinePoint({...i}),this._model.endChangingLinetool(!1),this._source.createServerPoints()}isHidden(){return this._source.isSourceHidden()}getRawPoints(){return this._source.points()}setRawPoint(e,t){this._model.startChangingLinetool(this._source,{...t},e),this._model.changeLinePoint({...t}),this._model.endChangingLinetool(!1)}move(e,t){this._model.startMovingSources([this._source],{logical:e},null,new Map),this._model.moveSources({
logical:t},new Map),this._model.endMovingSources(!1)}dataAndViewsReady(){return this._source.dataAndViewsReady()}zorder(){return this._source.zorder()}symbol(){return this._source.properties().symbol.value()}currency(){return this._source.properties().currencyId.value()}unit(){return this._source.properties().unitId.value()}_setProps(e,t,i){for(const s in t){if(!t.hasOwnProperty(s))continue;const n=0===i.length?s:`${i}.${s}`;if(e.hasOwnProperty(s)){const i=t[s];Object(r.isHashObject)(i)?this._setProps(e[s],i,n):e[s].setValue(i)}else console.warn(`Unknown property "${n}"`)}}}},"5VQP":function(e,t,i){"use strict";i.r(t),i.d(t,"ContextMenuManager",(function(){return s}));var s,r=i("tWVy");!function(e){const t=[];function s(){Object(r.b)()}e.createMenu=async function(e,r={},n){const o=new((await Promise.all([i.e("react"),i.e(6),i.e(11),i.e(21),i.e(22),i.e(24),i.e(28),i.e(48),i.e(52),i.e(60),i.e(0),i.e(5),i.e(54),i.e("context-menu-renderer")]).then(i.bind(null,"cbq4"))).ContextMenuRenderer)(e,r,()=>{const e=t.indexOf(o);-1!==e&&t.splice(e,1),void 0!==n&&n()},s);return t.push(o),o},e.hideAll=s,e.getShown=function(){for(let e=0;e=48&&e<=57}class c{constructor(){this.entries=[],this.firstDayOfWeek=s.MONDAY,this.weekEndsCount=-1,this.maxTradingDayLength=0}parseSessions(e,t){var i;if(this._clear(),this.timezone=e,"24x7"===(t=this._parseFirstDayOfWeek(t)).toLowerCase())for(const e of u)this.entries.push(c._createSessionEntry(e,0,0,0,0));else{let e=!1;const i=new Map;for(const s of t.split("|")){const t=s.split(":");if(1!==t.length&&2!==t.length){a.logError("Bad session section: "+s);continue}const r=1===t.length;if(r){if(e){a.logError("Duplicated default section: "+s);continue}e=!0}const n=r?h:c._parseWorkingDays(t[1]);for(const e of n)r&&i.has(e)||i.set(e,t[0])}for(const e of u){const t=i.get(e);if(void 0!==t)for(const i of t.split(","))this.entries.push(c._parseSessionEntry(e,i))}}this.entries.sort(p);const s=new Map;for(const e of this.entries){const t=e.dayOfWeek();s.set(t,e.length()+(null!==(i=s.get(t))&&void 0!==i?i:0))}
this.maxTradingDayLength=0,s.forEach(e=>{this.maxTradingDayLength=Math.max(this.maxTradingDayLength,e)}),this.weekEndsCount=7-s.size}static parseHolidaysAndCorrections(e,t,i){const r=new Map,n=new Map,o=e=>{const t=this._parseDay(e),i=t.toString(),s=n.get(i);return void 0!==s?s:(n.set(i,t),t)};if(""!==t){const e=[];for(const i of t.split(",")){if(8!==i.length)throw new Error("bad holiday date: "+i);const t=o(i);r.set(t,e)}}if(""===i)return r;const a=s.get_timezone("Etc/UTC");for(const e of i.split(";")){const t=e.split(":");if(2!==t.length)throw new Error("bad correction section: "+e);const i=[];if("dayoff"!==t[0])for(const e of t[0].split(","))i.push(this._parseSessionEntry(1,e));for(const e of t[1].split(",")){if(8!==e.length)throw new Error("bad correction date: "+e);const t=o(e),n=s.get_day_of_week(s.get_cal(a,t.year,t.month-1,t.day)),l=[];for(const e of i)l.push(new _(n,e.startOffset(),e.length()));r.set(t,l)}}return r}_clear(){this.entries=[],this.timezone="",this.firstDayOfWeek=s.MONDAY,this.weekEndsCount=-1}_parseFirstDayOfWeek(e){const t=e.split(";");if(t.length>2)return a.logError("Only one `first day` specification expected @ session "+e),e;if(1===t.length)return e;let i=1;let r=t[0].indexOf("-")>=0?NaN:parseInt(t[0]);return isNaN(r)&&(i=0,r=parseInt(t[1])),rs.SATURDAY?(a.logError(`Unexpected day index @ session: ${e}; day index ${r}`),e):(this.firstDayOfWeek=r,t[i])}static _parseDay(e){const t=parseInt(e.substring(0,4)),i=parseInt(e.substring(4,6)),s=parseInt(e.substring(6,8));return new o.a(t,i,s)}static _parseSessionEntry(e,t){let i=t.split("-");2!==i.length&&(a.logError("Bad sessions entry: "+t),i=["0000","0000"]);let s=0,r=i[0];if(r.includes("F")){const e=r.split("F");r=e[0],s=""!==e[1]?parseInt(e[1]):1}let n=0,o=i[1];if(o.includes("F")){const e=o.split("F");o=e[0],n=""!==e[1]?parseInt(e[1]):1}if(!this._isCorrectSession(r)||!this._isCorrectSession(o))throw new Error("Incorrect entry syntax: "+t);const l=r,h=o;return this._createSessionEntry(e,c._minutesFromHHMM(l),c._minutesFromHHMM(h),s,n)}static _isCorrectSession(e){return 4===e.length&&l(e.charCodeAt(0))&&l(e.charCodeAt(1))&&l(e.charCodeAt(2))&&l(e.charCodeAt(3))}static _parseWorkingDays(e){const t=[];for(let i=0;i0&&(t-=r*s.minutesPerDay),n>0&&(i-=n*s.minutesPerDay);return new _(e,t,i-t)}}i.d(t,"workingDays",(function(){return h})),i.d(t,"workingDaysAndWeekEnds",(function(){return u})),i.d(t,"compareSessionEntries",(function(){return p})),i.d(t,"SessionEntry",(function(){return _})),i.d(t,"EntryIndex",(function(){return m})),i.d(t,"SessionSpec",(function(){return g}));const h=[s.MONDAY,s.TUESDAY,s.WEDNESDAY,s.THURSDAY,s.FRIDAY],u=[s.SUNDAY,s.MONDAY,s.TUESDAY,s.WEDNESDAY,s.THURSDAY,s.FRIDAY,s.SATURDAY];function d(e,t){return e.compareTo(t)<0}function p(e,t){return e.compareTo(t)}class _{constructor(e,t,i){this._dayOfWeek=e,
this._start=t,this._length=i}start(){return this._start+s.minutesPerDay*this.sessionStartDaysOffset()}startOffset(){return this._start}sessionStartDaysOffset(){return this._start>=0?0:this._start%s.minutesPerDay==0?-Math.ceil(this._start/s.minutesPerDay):-Math.floor(this._start/s.minutesPerDay)}sessionEndDaysOffset(){const e=this._start+this._length;return e>=0?0:e%s.minutesPerDay==0?-Math.ceil(e/s.minutesPerDay):-Math.floor(e/s.minutesPerDay)}isOvernight(){return this._start<0}dayOfWeek(){return this._dayOfWeek}sessionStartDayOfWeek(){let e=this._dayOfWeek-this.sessionStartDaysOffset();return es.SATURDAY&&(e=1),e}length(){return this._length}weight(){return this._dayOfWeek*s.minutesPerDay+this._start}compareTo(e){const t=this.weight(),i=t+this._length,s=e.weight(),r=s+e._length;return t<=s&&ss?1:-1}contains(e){const t=60*s.get_hours(e)+s.get_minutes(e);let i=s.get_day_of_week(e)-this._dayOfWeek;i>0&&(i-=7);const r=i*s.minutesPerDay+t;return r>=this._start&&r-1===e.day.compareTo(t));return i===e.length?null:e[i]}class g{constructor(e="Etc/UTC",t="0000-0000",i="",r=""){this._entries=[],this._firstDayOfWeek=s.MONDAY,this._entriesHash=new Map,this._holidayAndCorrectionMap=new Map,this._holidaySessions=[];const n=new c;n.parseSessions(e,t),this._entries=n.entries,this._timezone=n.timezone,this._firstDayOfWeek=n.firstDayOfWeek,this._weekEndsCount=n.weekEndsCount,this._maxTradingDayLength=n.maxTradingDayLength;const o=c.parseHolidaysAndCorrections(e,i,r),a=s.get_timezone(e);this._isThereCorrections=""!==i||""!==r,o.forEach((e,t)=>{this._holidayAndCorrectionMap.set(t.toString(),e),this._holidaySessions.push({day:t,sessions:e});const i=this.getWeekIndex(t.toCalendar(a));this._entriesHash.set(i,null)}),this._holidaySessions.sort((e,t)=>e.day.compareTo(t.day))}entries(){return this._entries}timezone(){return this._timezone}firstDayOfWeek(){return this._firstDayOfWeek}addSessionEntry(e,t,i,r,n){0===i&&(i=s.minutesPerDay),r===n&&i<=t&&(r+=1),r>0&&(t-=r*s.minutesPerDay),n>0&&(i-=n*s.minutesPerDay);const o=i-t;this._entries.push(new _(e,t,o))}longestSessionLength(){let e=0,t=0;for(const t of this._holidaySessions)t.sessions.forEach(t=>{e=Math.max(e,t.length())});return this._entries.forEach(e=>{t=Math.max(t,e.length())}),Math.max(e,t)}isWeekEnd(e){const t=Object(r.lowerbound)(this._entries,new _(e,0,0),(e,t)=>e.dayOfWeek()this._entries.length-1||this._entries[t].dayOfWeek()!==e}isCalWeekEnd(e){const t=s.get_day_of_week(e);if(!this._isThereCorrections)return this.isWeekEnd(t);const i=o.a.fromCalendar(e),r=this._holidayAndCorrectionMap.get(i.toString());return void 0===r?this.isWeekEnd(t):0===r.length}hasWeekEnds(){return this.weekEndsCount()>0}weekEndsCount(){
return this._weekEndsCount}maxTradingDayLength(){return this._maxTradingDayLength}holidaysFromYearStart(e){if(!this._isThereCorrections)return 0;const t=s.get_timezone(this._timezone),i=new o.a(s.get_year(e),s.JANUARY,1),r=o.a.fromCalendar(e);let n=0;const a=this._selectHolidays(i,r);for(let e=0;et.start()%e==0&&t.length()%e==0)}indexOfSession(e,t,i){const n=this._getEntriesForWeek(e);let o=Object(r.lowerbound)(n,new _(t,i,0),d);if(o!==n.length)return new m(e,o,n);let a=e;const l=7-t+this._firstDayOfWeek-1;for(i=-(s.minutesPerDay-i+l*s.minutesPerDay);;){a++;const e=this._getEntriesForWeek(a);if(0!==e.length)return o=Object(r.lowerbound)(e,new _(this._firstDayOfWeek,i,0),d),new m(a,o,e)}}findSession(e,t,i,s=0){const r=this.indexOfSession(e,t,i),n=r.entries;let o=r.entryIndex;if(0!==s){const e=n[o].dayOfWeek(),t=s>0?1:-1;for(;;){const i=o+t;if(i<0||i>=n.length||n[i].dayOfWeek()!==e)break;o=i}}return new m(r.weekIndex,o,n)}getWeekIndex(e){if(!this._isThereCorrections)return 0;const t=s.get_day_of_week(e)-s.SUNDAY,i=s.get_timezone("Etc/UTC"),r=s.get_cal(i,s.get_year(e),s.get_month(e),s.get_day_of_month(e)-t);return Math.floor((r.getTime()+621672192e5)/1e3/86400/7)}correctTradingDay(e){const t=s.get_day_of_week(e),i=60*s.get_hours(e)+s.get_minutes(e),r=this.getWeekIndex(e),n=this.findSession(r,t,i,0),o=n.getEntry().dayOfWeek()-t+7*(n.weekIndex-r);return 0!==o&&s.add_date(e,o),e}alignToSessionStart(e,t=0){const i=s.get_day_of_week(e),r=60*s.get_hours(e)+s.get_minutes(e),n=this.getWeekIndex(e),o=this.findSession(n,i,r,t),a=o.getEntry(),l=a.dayOfWeek()-i+7*(o.weekIndex-n);0!==l&&s.add_date(e,l);const c=a.startOffset();return s.set_hms(e,c/60,c%60,0,0,s.get_timezone(this._timezone)),a.length()}businessDaysToCalendarDays(e,t){let i=this.getWeekIndex(e),r=s.get_day_of_week(e),n=0,o=0;for(;oi);)e[a].dayOfWeek()=t)return n}i++,r=s.SUNDAY}return n}calendarDaysToBusinessDays(e,t){let i=this.getWeekIndex(e),r=s.get_day_of_week(e),n=0,o=0;for(;ni);)e[a].dayOfWeek()=t)return o}i++,r=s.SUNDAY}return o}alignToNearestSessionStart(e,t){return this._alignToNearestSessionValue(e,t,this._entrySessionStart.bind(this))}alignToNearestSessionEnd(e,t){return this._alignToNearestSessionValue(e,t,this._entrySessionEnd.bind(this))}leftBorderOfDailyBar(e){const t=this._getEntriesForDay(e);return 0===t.length?null:(t.sort(p),this._getLeftEntryBorder(e,t[0]))}bordersOfDailyBar(e){const t=this._getEntriesForDay(e);if(0===t.length)return null;t.sort(p);const i=this._getLeftEntryBorder(e,t[0]),r=t[t.length-1],n=s.clone(e)
;let o=60*(r.startOffset()+r.length())-1;const a=Math.floor(o/3600);return o-=3600*a,s.set_hms(n,a,o/60,o%60,0,s.get_timezone(this._timezone)),{from:i,to:n}}getEntriesForWeekByCalendar(e){const t=this.getWeekIndex(e);return this._getEntriesForWeek(t)}_getEntriesForWeek(e){let t=this._entriesHash.get(e);if(void 0===t)return this._entries;if(null!==t)return t;const i=s.get_timezone(this._timezone);t=this._entries.slice();const r=this._weekIndexToCalendar(e),n=this._weekIndexToCalendar(e+1),a=o.a.fromCalendar(r),l=o.a.fromCalendar(n),c=this._selectHolidays(a,l);for(const e of c){const r=e.day.toCalendar(i),n=s.get_day_of_week(r);t=t.filter(e=>e.dayOfWeek()!==n),t=t.concat(e.sessions)}return t.sort(p),this._entriesHash.set(e,t),t}_selectHolidays(e,t){const i=[];let s=e;for(;;){const e=f(this._holidaySessions,s);if(null===e)return i;if(!e.day.before(t))return i;i.push(e),s=e.day.addDays(1)}}_weekIndexToCalendar(e){const t=1e3*(86400*e*7+86400)-621672192e5,i=s.get_cal_from_unix_timestamp_ms(s.get_timezone("Etc/UTC"),t),r=s.get_timezone("Etc/UTC");return s.get_cal(r,s.get_year(i),s.get_month(i),s.get_day_of_month(i))}_alignToNearestSessionValue(e,t,i){const r=s.get_day_of_week(e),n=60*s.get_hours(e)+s.get_minutes(e),o=this.getWeekIndex(e);let a=this.findSession(o,r,n);if(a.getEntry().contains(e)&&o===a.weekIndex||1===t)return i(a,s.clone(e),t);let l=a.entryIndex-1;if(l<0){let e=a.weekIndex,t=a.entries;for(;l<0;)e--,t=this._getEntriesForWeek(e),l+=t.length;a=new m(e,l,t)}else a=new m(a.weekIndex,l,a.entries);return i(a,s.clone(e),t)}_entrySessionStart(e,t,i){return this._entrySessionValue(e,t,i,e=>60*e.start())}_entrySessionEnd(e,t,i){return this._entrySessionValue(e,t,i,e=>60*(e.start()+e.length())-1)}_entrySessionValue(e,t,i,r){let n=s.get_day_of_week(t);const o=e.getEntry();let a=o.dayOfWeek()-o.sessionStartDaysOffset();const l=this.getWeekIndex(t);let c=e.weekIndex-l,h=!1;if(a0&&i>=0||c<0&&i<0)&&s.add_date(t,7*c),!o.contains(t)){let e=a-n;h&&i<0&&(e=-(7-a+n)),s.add_date(t,e),n=s.get_day_of_week(t)}o.isOvernight()&&n===o.dayOfWeek()&&s.add_date(t,-o.sessionStartDaysOffset());let u=r(o);const d=Math.floor(u/3600);return u-=3600*d,s.set_hms(t,d,u/60,u%60,0,s.get_timezone(this._timezone)),t}_getEntriesForDay(e){const t=s.get_day_of_week(e);return this._getEntriesForWeek(this.getWeekIndex(e)).filter(e=>e.dayOfWeek()===t)}_getLeftEntryBorder(e,t){const i=s.clone(e),r=t.startOffset();return s.set_hms(i,r/60,r%60,0,0,s.get_timezone(this._timezone)),i}}},"5rJj":function(e,t,i){"use strict";(function(t){var s=i("ogJP").isSameType,r=i("Ocx9").DefaultProperty;function n(e,t,i,s){this._map=Object.assign({},this._map,s),t&&(t=this.unpackLevels(t)),r.call(this,e,t,i)}inherit(n,r),n.prototype.state=function(e,i){e=e||[];var s=t.prototype.state.call(this,e);return i?s:this.packLevels(s)},n.prototype.clone=function(){for(var e=this.state(),t=new n(this._defaultName,e),i=0;i=t.length)return null;if(t[i.index]===s.INVALID_TIME_POINT_INDEX)return null}return{points:e.points.map(e=>({index:t[e.index],offset:e.offset,level:e.level}))}}function o(e,t,i){return{id:t,points:e.points.map(e=>({...e,index:Object(r.ensureTimePointIndexIndex)(i.indexOf(e.index))}))}}},"68at":function(e,t,i){"use strict";var s=i("5rJj"),r=i("7ADh").LineToolFibWedgeBase,n=i("j3hX").LineToolColorsProperty;class o extends r{constructor(e,t){super(e,t||o.createProperties()),i.e("lt-pane-views").then(i.t.bind(null,"jlk4",7)).then(({ProjectionLinePaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}levelsCount(){return 1}name(){return"Projection"}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(27),i.e(62),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"LzAw"))).ProjectionDefinitionsViewModel}static createProperties(e){var t=new s("linetoolprojection",e,!1,{range:[1,1]});return o._configureProperties(t),t}static _configureProperties(e){r._configureProperties(e),e.addChild("linesColors",new n([e.trendline.color]))}}t.LineToolProjection=o},"6I19":function(e,t,i){"use strict";i.d(t,"b",(function(){return w})),i.d(t,"c",(function(){return P})),i.d(t,"a",(function(){return C}));var s=i("Eyy1"),r=i("ivNn"),n=i("eJTA"),o=i("YFKU"),a=i("qFKp"),l=i("Tmoa"),c=i("Ialn"),h=i("k9/m"),u=i("CW80"),d=i("mMWL"),p=i("GH0z"),_=i("38az"),m=i("7qT/"),f=i("xCUR");const g=a.CheckMobile.any(),b=g&&!0,v=new p.PercentageFormatter,S=window.t("n/a"),y=`${S} (${S}%)`;function w(e,t){const i=Object(n.parseRgb)(t),s=Object(n.parseRgb)(e);return Object(n.distanceRgb)(i,s)<70?Object(n.rgbToHexString)(Object(n.invertRgb)(i)):t}function P(e){if(null===e)return null
;const t=e.properties().child("background");return void 0===t?null:t.value()}class C{constructor(e,t){this._series=e,this._model=t,this._emptyValues=[{title:Object(o.t)("Open"),visible:!1,value:"",index:0,id:""},{title:Object(o.t)("High"),visible:!1,value:"",index:1,id:""},{title:Object(o.t)("Low"),visible:!1,value:"",index:2,id:""},{title:Object(o.t)("Close"),visible:!1,value:"",index:3,id:""},{title:"",visible:!1,value:"",index:4,id:""},{title:"",visible:!1,value:"",index:5,id:""},{title:Object(o.t)("Change"),visible:!1,value:"",index:6,id:""}]}getItems(){return this._emptyValues}getValues(e){const t=this._showLastPriceAndChangeOnly(),i=this._emptyValues.map(e=>({...e,visible:!t}));i[0].value=S,i[1].value=S,i[2].value=S,i[3].value=S,i[6].value=y,i[5].visible=!1;const n=i[4];if(n.value=S,n.visible=!1,this._model.timeScale().isEmpty()||0===this._series.bars().size()||this._series.priceScale().isEmpty())return i;Object(r.isNumber)(e)||(e=Object(s.ensureNotNull)(this._series.data().last()).index);const o=this._series.nearestIndex(e,h.PlotRowSearchMode.NearestLeft);if(void 0===o)return i;const a=this._series.data().valueAt(o),u=P(this._series.model().paneForSource(this._series));if(null===a||null===u)return i;const d=a[1],p=a[2],m=a[3],g=a[4];if(null==d||null==p||null==m||null==g)return i;const{values:C}=this._changesData(g,o,t),x=Object(f.a)(this._series);if(Object(f.b)(this._series))i[6].value="";else if(void 0!==C){const e=this._series.formatter();i[6].value=Object(c.forceLTRStr)(`${e.format(C.change,!0)} (${v.format(C.percentChange,!0)})`)}t?(i[5].value=x(g),i[5].visible=!0,i[6].visible=!0):(i[0].value=x(d),i[1].value=x(p),i[2].value=x(m),i[3].value=x(g),i[4].value=x(this._series.barFunction()(a)));let T=null;if(t&&!b)T=void 0===C||C.change>=0?_.SeriesBarColorer.upColor(this._series.properties()):_.SeriesBarColorer.downColor(this._series.properties());else{const e=this._series.barColorer().barStyle(o,!1);T=w(u,null!=e.barBorderColor?e.barBorderColor:e.barColor)}T=Object(l.resetTransparency)(w(u,T));for(const e of i)e.color=T;return i}_showLastPriceAndChangeOnly(){return g&&(null===this._model.crossHairSource().pane||Object(u.isLineToolName)(d.tool.value())||null!==this._model.lineBeingEdited())}_changesData(e,t,i){if(i&&!b){const e=this._series.quotes();if(null!==e)return{values:{change:e.change,percentChange:e.change_percent}}}else{const i=this._series.data().valueAt(t-1),s=i&&i[4]||null;if(null!==s)return{values:{change:e-s,percentChange:Object(m.a)(s,e)}}}return{}}}},"6KAu":function(e,t,i){"use strict";function s(){return Promise.all([i.e("react"),i.e(1),i.e(3),i.e(16),i.e(93),i.e(0),i.e(2),i.e(15),i.e("change-interval-dialog")]).then(i.bind(null,"iT0o"))}i.d(t,"a",(function(){return s}))},"6ctS":function(e,t){
e.exports=''},"6sst":function(e,t,i){"use strict";i.r(t),i.d(t,"OverlayStudyPriceLineAxisView",(function(){return r}));var s=i("TmNs");class r extends s.PriceLineAxisView{constructor(e){super(),this._study=e}_value(){return this._study.lastValueData("",!0)}_priceLineColor(e){return e}_lineWidth(){return 1}_isVisible(){const e=this._study.model().properties().scalesProperties.showSeriesLastValue.value();return this._study.properties().childs().showPriceLine.value()&&e}}},"6vtU":function(e,t,i){"use strict";i.r(t),i.d(t,"setAdditionalSymbolInfoFields",(function(){return r})),i.d(t,"getAdditionalSymbolInfoFields",(function(){return n}));let s=[];function r(e){s=e}function n(){return s}},"704P":function(e,t,i){"use strict";(function(e){var s=i("Ss5c").LineDataSource,r=i("jkoZ"),n=i("Ocx9").DefaultProperty,o=i("k9/m").PlotRowSearchMode,a=i("s1Gx").sortSourcesPreOrdered.LineToolExecution;class l{constructor(e,t){this._pane=e,this._timeScale=t}static recreateOrderedByBarsSourcesCache(e){l.clearOrderedByBarsSourcesCache();for(var t=l.prototype,i=e.sourcesByGroup().all(),s=0;s_.lastBar()||i<_.firstBar())return{x:-1,y:-1};for(var m=this._cachedByBarIndexOrderedExecutions[i]||this._pane.sourcesByGroup().all(),f=m.length-1;f>=0;--f){var g=m[f];if(g instanceof h&&g._adapter._index===i&&g._adapter.getDirection()===r){if(g===e._line)break;var b=g._adapter._height();s=n?s+b:s-b}}return{x:t.indexToCoordinate(i),y:s}}}l.prototype._cachedByBarIndexOrderedExecutions={};class c{constructor(e){this._line=e}_height(){var e=this.getArrowHeight(),t=this.getArrowSpacing();this.getText()&&r.fontHeight(this.getFont());return e+t+0+10}getIndex(){return this._line._model.timeScale().baseIndex()-this._line.points()[0].index}setIndex(e){var t=this._line._model.timeScale().baseIndex()-Math.abs(e);this._line.startMoving({logical:this._line.points()[0]});var i=TradingView.merge({},this._line.points()[0]);return i.index=t,this._line.move({logical:i}),this._line.endMoving(),this}getTime(){return this._unixtime}setTime(e){
return this._unixtime=e,this._line.restorePoints([{offset:0,price:this.getPrice(),time_t:this._unixtime}],[]),this._line.createServerPoints(),this}getPrice(){return this._line.points().length>0?this._line.points()[0].price:this._line._timePoint.length>0?this._line._timePoint[0].price:void 0}setPrice(e){return this._line.points().length>0&&(this._line.points()[0].price=e),this._line._timePoint.length>0&&(this._line._timePoint[0].price=e),this}getText(){return this._line.properties().text.value()}setText(e){return this._line.properties().text.setValue(e||""),this._line.updateAllViewsAndRedraw(),this}getArrowHeight(){return this._line.properties().arrowHeight.value()}setArrowHeight(e){return this._line.properties().arrowHeight.setValue(e||5),this}getArrowSpacing(){return this._line.properties().arrowSpacing.value()}setArrowSpacing(e){return this._line.properties().arrowSpacing.setValue(e||1),this}getDirection(){return this._line.properties().direction.value()}setDirection(e){return this._line.properties().direction.setValue(e||"buy"),this}getArrowColor(){var e=this._line.properties();return"buy"===this.getDirection()?e.arrowBuyColor.value():e.arrowSellColor.value()}setArrowColor(e){return"buy"===this.getDirection()?this.setArrowBuyColor(e):this.setArrowSellColor(e),this}setArrowBuyColor(e){return this._line.properties().arrowBuyColor.setValue(e),this}setArrowSellColor(e){return this._line.properties().arrowSellColor.setValue(e),this}getTextColor(){return r.getColorFromProperties(this._line.properties().textColor,this._line.properties().textTransparency)}setTextColor(e){return r.setColorToProperties(e,this._line.properties().textColor,this._line.properties().textTransparency),this}getFont(){return r.getFontFromProperties(this._line.properties().fontFamily,this._line.properties().fontSize,this._line.properties().fontBold,this._line.properties().fontItalic)}setFont(e){return r.setFontToProperties(e,this._line.properties().fontFamily,this._line.properties().fontSize,this._line.properties().fontBold,this._line.properties().fontItalic),this}setTooltip(e){return null==e?e="":e+="",this._line.properties().tooltip.setValue(e),this}getTooltip(){return this._line.properties().tooltip.value()}remove(){this._line._model.removeSource(this._line),delete this._line}getPoints(){return this._line.points()}}class h extends s{constructor(e,t){super(e,t||h.createProperties()),this._adapter=new c(this),this.customization.forcePriceAxisLabel=!1,this.customization.disableErasing=!0,this.customization.showInObjectTree=!1,this.setSelectionEnabled(!1),i.e("lt-pane-views").then(i.t.bind(null,"tjxb",7)).then(({ExecutionPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}zorder(){return a}isSpeciallyZOrderedSource(){return!0}pointsCount(){return h.POINTS_COUNT}name(){return"Execution"}hasContextMenu(){return!1}state(){return null}updateAllViews(){return this._isVisible()?s.prototype.updateAllViews.call(this):null}priceAxisViews(e,t){return this._isVisible()?s.prototype.priceAxisViews.call(this,e,t):null}_isVisible(){
return this._model.properties().tradingProperties.showExecutions.value()}paneViews(){return TradingView.printing&&!e.enabled("snapshot_trading_drawings")?null:this._model.properties().tradingProperties.showExecutions.value()?s.prototype.paneViews.call(this):null}userEditEnabled(){return!1}showInObjectTree(){return!1}cloneable(){return!1}copiable(){return!1}isSynchronizable(){return!1}static createProperties(e){var t=new n("linetoolexecution",e,!1,!1);return h._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e)}}h.POINTS_COUNT=1,t.ExecutionsPositionController=l,t.LineToolExecution=h}).call(this,i("Kxc7"))},"7ADh":function(e,t,i){"use strict";i.r(t),i.d(t,"LineToolFibWedgeBase",(function(){return o}));var s=i("Eyy1"),r=i("aO4+"),n=i("Ss5c");class o extends n.LineDataSource{pointsCount(){return 3}hasEditableCoordinates(){return!1}setPoint(e,t){if(super.setPoint(e,t),!this._recursiveGuard)try{if(this._recursiveGuard=!0,2===e){const e=this.pointToScreenPoint(this._points[0])[0];let t=this.pointToScreenPoint(this._points[1])[0];const i=this.pointToScreenPoint(this._points[2])[0].subtract(e).length();let s=t.subtract(e);s.length()<=0&&(s=new r.Point(1,0)),t=e.add(s.normalized().scaled(i));const n=this.screenPointToPoint(t),o=this._pointsProperty.childs().points[1];o.childs().price.setValue(n.price),o.childs().bar.setValue(n.index)}else{const e=this.pointToScreenPoint(this._points[0])[0],t=this.pointToScreenPoint(this._points[1])[0];let i=this.pointToScreenPoint(this._points[2])[0];const s=t.subtract(e).length();let n=i.subtract(e);n.length()<=0&&(n=new r.Point(1,0)),i=e.add(n.normalized().scaled(s));const o=this.screenPointToPoint(i),a=this._pointsProperty.childs().points[2];a.childs().price.setValue(o.price),a.childs().bar.setValue(o.index)}}finally{this._recursiveGuard=!1}}addPoint(e){if(2===this._points.length){const t=this.pointToScreenPoint(this._points[0])[0],i=this.pointToScreenPoint(this._points[1])[0];let r=this.pointToScreenPoint(e)[0];const n=i.subtract(t).length(),o=r.subtract(t).normalized();r=t.add(o.scaled(n));const a=Object(s.ensureNotNull)(this.ownerSource()),l=Object(s.ensureNotNull)(a.firstValue()),c=Object(s.ensureNotNull)(this.priceScale()).coordinateToPrice(r.y,l);e={index:Math.round(this._model.timeScale().coordinateToIndex(r.x)),price:c}}return n.LineDataSource.prototype.addPoint.call(this,e)}}},"7ETO":function(e,t,i){"use strict";i.r(t);var s=i("ocLq");class r{main(e){const t=e.new_var(s.Std.open(e)),i=e.new_var(s.Std.close(e)),r=t.get(1),n=i.get(1),o=s.Std.ohlc4(e),a=s.Std.na(t.get(1))?(s.Std.open(e)+s.Std.close(e))/2:(r+n)/2;t.set(a),i.set(o);const l=s.Std.max(s.Std.high(e),s.Std.max(a,o)),c=s.Std.min(s.Std.low(e),s.Std.min(a,o)),h=s.Std.volume(e),u=e.symbol;return[u.time,a,l,c,o,h,u.updatetime,u.isBarClosed]}}function n(e){if(0===e.type.indexOf("BarSetHeikenAshi@tv-basicstudies-"))return new r;const t="unknown builder type: "+e.type;throw console.error(t),new Error(t)}i.d(t,"getChartStyleStudy",(function(){return n}))},"7Fue":function(e,t,i){"use strict"
;i.d(t,"a",(function(){return r})),i.d(t,"b",(function(){return n}));const s=["horizlines","vertlines","lines","hlines","textmarks","shapemarks","backgrounds","polygons","trendchannels","hhists","dwglabels","dwglines","dwgboxes","dwgtables","dwgtablecells"];function r(e){return!s.some(t=>e[t]().size>0)}function n(e){const t=new Map;return e.forEach((e,i)=>{e.forEach(e=>{const s={...e,styleId:i},r=e.firstBarTime;let n=t.get(r);void 0===n&&(n=new Set,t.set(r,n)),n.add(s)})}),t}},"7KDR":function(e,t,i){"use strict";i.r(t),i.d(t,"Action",(function(){return l})),i.d(t,"ActionAsync",(function(){return c})),i.d(t,"Separator",(function(){return h})),i.d(t,"Loader",(function(){return u}));var s=i("zRdu"),r=i("aIyQ"),n=i.n(r),o=i("/3z9"),a=i("e3/o");class l{constructor(e,t=a.guid()){this.type=s.a.Action,this._destroyed=!1,this._binding=null,this.id=t,this._onUpdate=new n.a,this._options=e,this.update(e)}execute(){this._options.checkable&&this.update({checked:!this._options.checked}),this._options.onExecute&&this._options.onExecute(this)}getLabel(){return this._options.label||""}getSubItems(){return this._options.subItems||[]}isDisabled(){return!0===this._options.disabled}isActive(){return!0===this._options.active}isCheckable(){return!0===this._options.checkable}isChecked(){return!0===this._options.checked}getPayload(){return this._options.payload}update(e){this._destroyed||(this._unbindShortcut(),e.hotkeyHash&&(this._options.shortcutHint=Object(o.humanReadableHash)(e.hotkeyHash)),this._options=Object.assign(this._options,e),this._bindShortcut(),this._onUpdate.fire(this))}onUpdate(){return this._onUpdate}getState(){return{label:this.getLabel(),disabled:this.isDisabled(),active:this.isActive(),subItems:this.getSubItems(),checkable:this.isCheckable(),checked:this.isChecked(),doNotCloseOnClick:this._options.doNotCloseOnClick||!1,shortcutHint:this._options.shortcutHint,hint:this._options.hint,icon:this._options.icon,iconChecked:this._options.iconChecked,toolbox:this._options.toolbox,showToolboxOnHover:this._options.showToolboxOnHover||!1,statName:this._options.statName,name:this._options.name,fullWidthLabel:this._options.fullWidthLabel,invisibleHotkey:this._options.invisibleHotkey}}getBinding(){return this._binding}setBinding(e){this._binding=e}destroy(){this._destroyed=!0,this._onUpdate.destroy(),null!==this._binding&&this._binding.destroy(),this._unbindShortcut()}options(){return this._options}_bindShortcut(){if(!this._options.hotkeyGroup||!this._options.hotkeyHash)return;const e="string"==typeof this._options.label?this._options.label:this._options.name;this._hotkeyAction=this._options.hotkeyGroup.add({hotkey:this._options.hotkeyHash,desc:e,handler:()=>this.execute(),isDisabled:()=>this.isDisabled()})}_unbindShortcut(){this._hotkeyAction&&(this._hotkeyAction.destroy(),delete this._hotkeyAction)}}class c extends l{constructor(e,t){super({},t),this.type=s.a.ActionAsync,this._loader=e,this._loaded=!1}loadOptions(){return this._loadingPromise||(this._loadingPromise=this._loader().then(e=>{this.update(e),this._loaded=!0})),
this._loadingPromise}isLoaded(){return this._loaded}}class h{constructor(e,t=a.guid()){this.type=s.a.Separator,this.id=t,this._hint=e}getHint(){return this._hint}}class u{constructor(e=a.guid()){this.type=s.a.Loader,this.id=e}}},"7MWe":function(e,t,i){"use strict";i.r(t),i.d(t,"PriceScaleChangeUndoCommand",(function(){return a}));var s=i("Eyy1"),r=i("txPx"),n=i("RDU5");const o=Object(r.getLogger)("Chart.ChartUndoModel");class a extends n.UndoCommand{constructor(e,t,i,s,r){super("Scale price",!1),this._newPriceScaleState=null,this._model=e,this._paneIndex=e.panes().indexOf(t),this._priceScaleId=i.id(),this._state=s,this._timestamp=r?performance.now():null}undo(){if(null!==this._newPriceScaleState)return void o.logDebug("PriceScaleChangeUndoCommand.undo: Command is already undone");const[e,t]=this._paneAndScale();this._newPriceScaleState=t.state(),this._model.restorePriceScaleState(e,t,this._state)}redo(){if(null===this._newPriceScaleState)return void o.logDebug("PriceScaleChangeUndoCommand.redo: Command is not undone");const[e,t]=this._paneAndScale();this._model.restorePriceScaleState(e,t,this._newPriceScaleState),this._newPriceScaleState=null}canMerge(e){return e instanceof a&&null!==this._timestamp&&null!==e._timestamp&&null===this._newPriceScaleState&&e._model===this._model&&e._paneIndex===this._paneIndex&&e._priceScaleId===this._priceScaleId&&Math.abs(e._timestamp-this._timestamp)<1e3}merge(e){this._timestamp=e._timestamp}_paneAndScale(){const e=this._model.panes()[this._paneIndex],t=Object(s.ensureNotNull)(e.getPriceScaleById(this._priceScaleId));return[e,t]}}},"7RN7":function(e,t,i){"use strict";i.d(t,"b",(function(){return s})),i.d(t,"a",(function(){return r}));const s=52,r=5},"7dm8":function(e,t,i){"use strict";i.d(t,"a",(function(){return r})),i.d(t,"b",(function(){return n})),i.d(t,"c",(function(){return o})),i.d(t,"d",(function(){return a})),i.d(t,"e",(function(){return l}));var s=i("ocLq");class r{init(e,t){e.new_sym(t(1),s.Std.period(e)),this._source=t(0),this._scaleFactor1=1,this._scaleFactor2=1}main(e,t){const i=e.symbol.time,r=s.Std[this._source](e);e.select_sym(1);const n=s.Std[this._source](e),o=e.new_unlimited_var(n),a=e.new_unlimited_var(e.symbol.time);if(e.select_sym(0),isNaN(i))return null;let l=a.indexOf(i);-1!==l&&a.get(l)!==i&&(l=-1);const c=l<0?NaN:o.get(l);return[this._doCalculation(this._scaleFactor1,r,this._scaleFactor2,c)]}}const n={styles:{plot1:{linestyle:0,linewidth:2,plottype:0,trackPrice:!1,transparency:35,visible:!0,color:"#800080"}},precision:2,inputs:{source:"close",symbol2:""}},o=[{defval:"close",id:"source",name:"Source",options:["open","high","low","close","hl2","hlc3","ohlc4"],type:"text"},{id:"symbol2",name:"Symbol",type:"symbol",confirm:!0}],a=[{id:"plot1",type:"line"}],l={plot1:{title:"Plot",histogramBase:0}}},"7ktv":function(e,t,i){"use strict";i.r(t),i.d(t,"PriceDataSource",(function(){return a}));var s=i("fgLi"),r=i("aIyQ"),n=i.n(r),o=i("/tGj");class a extends s.DataSource{constructor(e){super(),this._formatterChanged=new n.a,this._priceStepChanged=new n.a,
this._currencyChanged=new n.a,this._unitChanged=new n.a,this._priceRangeReadyChanged=new n.a,this._metaInfo=null,this._priceStep=null,this._priceRangeReady=!0,this._model=e}barColorer(){return null}base(){return 0}model(){return this._model}currencyChanged(){return this._currencyChanged}isCurrencySource(){return!0}unitChanged(){return this._unitChanged}isUnitSource(){return!0}priceRange(e,t){return null}isDraggable(){return!this._metaInfo||!this._metaInfo.linkedToSeries}priceLineColor(e){return e}formatterChanged(){return this._formatterChanged}priceStep(e){return this._priceStep}priceStepChanged(){return this._priceStepChanged}hasStateForAlert(){return!1}isIncludedInAutoScale(){return!0}correctScaleMargins(e){return e}priceRangeReady(){return this._priceRangeReady}priceRangeReadyChanged(){return this._priceRangeReadyChanged}disablePriceRangeReady(){const e=this.priceScale();null===e||e.isAutoScale()||e.mainSource()!==this||(this._priceRangeReady=!1,e.recalculatePriceRangeOnce()),this._priceRangeReadyChanged.fire(!1)}_enablePriceRangeReady(){this._priceRangeReady=!0,this._priceRangeReadyChanged.fire(!0)}_onSourceCurrencyChanged(){Object(o.isSymbolSource)(this)||this._currencyChanged.fire()}_onSourceUnitChanged(){Object(o.isSymbolSource)(this)||this._unitChanged.fire()}_onSourcePriceRangeReadyChanged(e){Object(o.isSymbolSource)(this)||e||this.disablePriceRangeReady()}}},"7nsU":function(e,t,i){"use strict";i.r(t),i.d(t,"showConfirmInputsDialog",(function(){return r}));var s=i("YFKU");async function r(e,t,r,n,o="default"){let a=!1,l=!1;try{const s=await Promise.all([i.e("redux"),i.e("react"),i.e(1),i.e(3),i.e(4),i.e(6),i.e(8),i.e(9),i.e(12),i.e(13),i.e(14),i.e(16),i.e(17),i.e(19),i.e(21),i.e(23),i.e(26),i.e(33),i.e(34),i.e(35),i.e(36),i.e(39),i.e(50),i.e(59),i.e(95),i.e(0),i.e(2),i.e(5),i.e(7),i.e(10),i.e(15),i.e(18),i.e(20),i.e(25),i.e(30),i.e(31),i.e(32),i.e(37),i.e(46),i.e(55),i.e("new-confirm-inputs-dialog")]).then(i.bind(null,"T4SC"));a=await s.selectInputValuesOnChart(e,t,o)}catch(e){l=!0}l?n():a?r(t.defaults.inputs||{}):Promise.all([i.e("redux"),i.e("react"),i.e(1),i.e(3),i.e(4),i.e(6),i.e(8),i.e(9),i.e(12),i.e(13),i.e(14),i.e(16),i.e(17),i.e(19),i.e(21),i.e(23),i.e(26),i.e(33),i.e(34),i.e(35),i.e(36),i.e(39),i.e(50),i.e(59),i.e(95),i.e(0),i.e(2),i.e(5),i.e(7),i.e(10),i.e(15),i.e(18),i.e(20),i.e(25),i.e(30),i.e(31),i.e(32),i.e(37),i.e(46),i.e(55),i.e("new-confirm-inputs-dialog")]).then(i.bind(null,"iqv3")).then(i=>{const a=new i.ConfirmInputsDialogRenderer(function(e){if("symbol"===e)return Object(s.t)("Add Symbol");return Object(s.t)("Confirm Inputs")}(o),t,e.model(),o,r,n);return a.show(),a})}},"7qI1":function(e,t,i){"use strict";i.r(t),i.d(t,"LineToolRectangle",(function(){return c}));var s=i("aO4+"),r=i("Ocx9"),n=i("tc+8"),o=i.n(n),a=i("Ss5c"),l=i("j3hX");class c extends a.LineDataSource{constructor(e,t){const s=t||c.createProperties();super(e,s),i.e("lt-pane-views").then(i.bind(null,"GW0y")).then(({RectanglePaneView:t})=>{const i=[new t(this,e)];this._setPaneViews(i)})}pointsCount(){return 2}
textColorsProperty(){return this.properties().childs().showLabel.value()?super.textColorsProperty():null}properties(){return super.properties()}name(){return"Rectangle"}setPoint(e,t,i){if(e<2&&super.setPoint(e,t,i),i&&i.shift()){const i=this._getAnchorPointForIndex(e);if(e>=4)return this._correctMiddlePoints(e,t,i),void this.normalizePoints();this._snapPoint45Degree(t,i)}switch(e){case 2:this._points[1].price=t.price,this._points[0].index=t.index;break;case 3:this._points[0].price=t.price,this._points[1].index=t.index;break;case 4:this._points[0].index=t.index;break;case 5:this._points[1].index=t.index;break;case 6:this._points[0].price=t.price;break;case 7:this._points[1].price=t.price}this.normalizePoints()}getPoint(e){return e<2?super.getPoint(e):this._getAnchorPointForIndex(e)}template(){const e=super.template();return e.text=this.properties().childs().text.value(),e}static createProperties(e){const t=new r.DefaultProperty("linetoolrectangle",e);return c._configureProperties(t),t}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(27),i.e(62),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"K4wI")).then(e=>e.RectangleDefinitionsViewModel)}_applyTemplateImpl(e){super._applyTemplateImpl(e),this.properties().childs().text.setValue(e.text)}_snapPoint45Degree(e,t,i){const s=this.m_priceScale,r=this.ownerSource();if(null===s||null===r)return;const n=r.firstValue();if(null===n)return;const o=this._model.timeScale(),a=this.pointToScreenPoint(e)[0],l=this.pointToScreenPoint(t)[0],c=a.x-l.x,h=a.y-l.y,u=c<0?-1:1,d=h<0?-1:1,p=Math.max(Math.abs(c),Math.abs(h)),_=Math.round(o.coordinateToIndex(l.x+p*u)),m=Math.abs(o.indexToCoordinate(_)-l.x),f=s.coordinateToPrice(l.y+m*d,n);e.index=_,e.price=f}_correctMiddlePoints(e,t,i){e<6?this._correctRightLeftMiddlePoint(e,t,i):this._correctTopBottomMiddlePoint(e,t,i)}_correctRightLeftMiddlePoint(e,t,i){const r=this.pointToScreenPoint(t)[0],n=this.pointToScreenPoint(i)[0],o=this.pointToScreenPoint(this._points[0])[0],a=this.pointToScreenPoint(this._points[1])[0];let l=r.x-n.x;if(0===l)return;const c=o.xt.push(...i.primitivesData(e))),t}deleteErasedItems(){this._forEach(e=>e.deleteErasedItems())}markPostedItems(){this._forEach(e=>e.markPostedItems())}isNaN(){return this._all(e=>e.isNaN())}dirty(){null!==this._owner&&this._owner.dirty()}setOwner(e){this._owner=e}_forEach(e){for(const t of this._stable)e(t);null!==this._variable&&e(this._variable)}_all(e){for(const t of this._stable)if(!e(t))return!1;return null===this._variable||e(this._variable)}}},"8OdW":function(e,t,i){"use strict";i.r(t),i.d(t,"MINUTE_SPAN",(function(){return s})),i.d(t,"HOUR_SPAN",(function(){return r})),i.d(t,"DAY_SPAN",(function(){return n})),i.d(t,"WEEK_SPAN",(function(){return o})),i.d(t,"MONTH_SPAN",(function(){return a})),i.d(t,"YEAR_SPAN",(function(){return l})),i.d(t,"DEFAULT_BAR_SPACING",(function(){return c}));const s=20,r=30,n=40,o=50,a=60,l=70,c=6},"8Uy/":function(e,t,i){"use strict";i.r(t),i.d(t,"LINESTYLE_SOLID",(function(){return s})),i.d(t,"LINESTYLE_DOTTED",(function(){return r})),i.d(t,"LINESTYLE_DASHED",(function(){return n})),i.d(t,"LINESTYLE_LARGE_DASHED",(function(){return o})),
i.d(t,"LINESTYLE_SPARSE_DOTTED",(function(){return a})),i.d(t,"LINESTYLE_SMALL_DASHED",(function(){return l}));const s=0,r=1,n=2,o=3,a=4,l=5},"8gnj":function(e,t,i){"use strict";var s=i("LxhU").Interval,r=i("OLhd").isAlignmentEnabled,n=i("7ETO").getChartStyleStudy,o=i("5fI3").decodeExtendedSymbol,a=i("53h+").findSuitableResolutionToBuildFrom,l=function(){var e=i("ocLq"),t=e.StudyEngine,l=e.BarBuilder,c=e.BarSet;function h(e){this.host=e,this.cache={}}function u(e){throw console.error(e),e}h.prototype.getCache=function(e){return this.cache[e]},h.prototype.putCache=function(e,t){this.cache[e]=t},h.prototype.subscribe=function(e,t,i,s,r,n,o,a,l,c){var h=l(o),u=function(e,t,i,s,r,n,o,a){var l=r.has_empty_bars?"_":"";return n+e+s+(t||"")+(i||"")+l+"_"+o.countBack+"_"+o.to+"_"+Boolean(a)}(e,t,i,s,o,a,h,c),d=this.getCache(u);return d||(d=this.createItem(e,t,i,s,o,h,a,c),this.putCache(u,d)),d.listeners.addListener(r,n),{key:u,listener:r}},h.prototype.unsubscribe=function(e){var t=this.getCache(e.key);t&&t.listeners.removeListener(e.listener)},h.prototype.removeUnused=function(){var e=[];for(var t in this.cache){if(this.cache[t])0===this.cache[t].listeners.listenersCount()&&e.push(t)}if(0!==e.length){for(var i=0;i=1;--t){var i=this._ticker.slice(0,t);if(e(i)){this._root=i,this._contract=this._ticker.slice(t);break}}},f.prototype.exchange=function(e){if(this.hasOwnProperty("_ticker")||this.parse(),!(arguments.length>0))return this._exchange;null==e?delete this._exchange:this._exchange=e+""},f.prototype.ticker=function(e){if(this.hasOwnProperty("_ticker")||this.parse(),!(arguments.length>0))return this._ticker;null==e?delete this._ticker:this._ticker=e+"",delete this._root,delete this._contract},f.prototype.root=function(e){if(this.hasOwnProperty("_root")||this.parseAsFutures(),!(arguments.length>0))return this._root;null==e?delete this._root:(this._root=e+"",this._root&&(this._ticker=this._root+(this._contract||"")))},f.prototype.contract=function(e){if(this.hasOwnProperty("_contract")||this.parseAsFutures(),!(arguments.length>0))return this._root;null==e?delete this._contract:(this._contract=e+"",this._root&&(this._ticker=this._root+this._contract))},t(g,i),g.prototype.toString=function(){return this.hasOwnProperty("_normalizedValue")?this._normalizedValue:this.value},g.prototype.parse=function(){this._normalizedValue=this.value.replace(/^0+|\.0*$/g,"").replace(/(\.\d*?)0+$/,"$1").replace(/^(\.|$)/,"0$1")},b.prototype.toString=function(){return this.value},t(v,f),v.prototype.isIncomplete=!0,v.prototype.incompleteSuggest=function(){if("'"!==this.value)return String("'")},t(S,g),S.prototype.isIncomplete=!0;var y=new RegExp(e.map((function(e){return"("+("string"==typeof e.pattern?e.pattern.replace(/[\^$()[\]{}*+?|\\]/g,"\\$&"):e.pattern.source)+")"})).concat(".").join("|"),"g");function w(t,i){var s,r=[];e:for(;s=y.exec(t);){for(var o=e.length;o--;)if(s[o+1]){if(e[o].ctor){var a=new e[o].ctor(s[o+1]);a._offset=s.index,r.push(a)}continue e}var l=new b(s[0]);l._offset=s.index,r.push(l)}if(i&&i.recover){var c;for(o=r.length;o--;){var h=r[o];if(h instanceof g||h instanceof f){if(void 0!==c){var u=new f(""),d=r.splice(o,c-o+1,u);u.value=d.map((function(e){return e.value})).join("")}c=o}else h instanceof n||(c=void 0)}}return r}function P(e){for(var t=[],i=0;in.precedence&&(s[s.length-1].minPrecedence=n.precedence);else if(n instanceof o)s.push(t={minPrecedence:1/0,openBraceIndex:r});else if(n instanceof a){var c=e[(t=s.pop()).openBraceIndex-1],h=e[r+1];h instanceof l&&!(h.precedence<=t.minPrecedence)||!(!(c instanceof l)||c.precedencet.minPrecedence&&(s[s.length-1].minPrecedence=t.minPrecedence))}}for(r=i.length;r--;)e.splice(i[r],1);return e}function x(e){if("string"!=typeof e)throw new TypeError("expression must be a string");return(e=w(e)).filter((function(e){return e instanceof f})).map((function(e){return e.exchange()})).filter((function(e){return e}))}function T(e){return 1!==(e=x(e)).length?null:e[0]}function I(e,t){return(e=x(e)).some((function(e){return t.includes((e||"").toUpperCase())}))}function M(e){return e.join("")}return{tokenize:w,validate:function(e){if(s.enabled("charting_library_base"))return{currentState:"var"};for(var t="init",i={warnings:[],errors:[],isEmpty:!0},r=[],c=0;cr.supportedLineTools[e].name===t)||null)};var t}function a(e){return{id:e.id(),name:e.metaInfo().description}}function l(e){return{id:e.id(),name:"Main Series"}}function c(e,t){return t===e.mainSeries()?l(e.mainSeries()):Object(s.isStudy)(t)?a(t):Object(n.isLineTool)(t)?o(t):null}},"972a":function(e,t,i){"use strict";var s,r,n,o;i.d(t,"c",(function(){return s})),i.d(t,"a",(function(){return r})),i.d(t,"b",(function(){return o})),function(e){e.AboveBar="AboveBar",e.BelowBar="BelowBar",e.Top="Top",e.Bottom="Bottom",e.Right="Right",e.Left="Left",e.Absolute="Absolute",e.AbsoluteUp="AbsoluteUp",e.AbsoluteDown="AbsoluteDown"}(s||(s={})),function(e){e.Left="left",e.Center="center",e.Right="right"}(r||(r={})),function(e){e.Top="top",e.Middle="middle",e.Bottom="bottom"}(n||(n={})),function(e){e[e.Solid=0]="Solid",e[e.Dotted=1]="Dotted",e[e.Dashed=2]="Dashed"}(o||(o={}))},"99ZO":function(e,t,i){"use strict";var s,r;i.r(t),i.d(t,"WeekDays",(function(){return s})),i.d(t,"Months",(function(){return r})),function(e){e[e.SUNDAY=1]="SUNDAY",e[e.MONDAY=2]="MONDAY",e[e.TUESDAY=3]="TUESDAY",e[e.WEDNESDAY=4]="WEDNESDAY",e[e.THURSDAY=5]="THURSDAY",e[e.FRIDAY=6]="FRIDAY",e[e.SATURDAY=7]="SATURDAY"}(s||(s={})),function(e){e[e.JANUARY=0]="JANUARY",e[e.FEBRUARY=1]="FEBRUARY",e[e.MARCH=2]="MARCH",e[e.APRIL=3]="APRIL",e[e.MAY=4]="MAY",e[e.JUNE=5]="JUNE",e[e.JULY=6]="JULY",e[e.AUGUST=7]="AUGUST",e[e.SEPTEMBER=8]="SEPTEMBER",e[e.OCTOBER=9]="OCTOBER",e[e.NOVEMBER=10]="NOVEMBER",e[e.DECEMBER=11]="DECEMBER"}(r||(r={}))},"9Jkk":function(e,t,i){"use strict";i.r(t);var s=i("Eyy1"),r=i("XlJ7"),n=i("x0JF"),o=i("Y7w9"),a=i("Zp/P"),l=i("VdBB"),c=i("cPgM");class h extends c.ScaledPaneRenderer{constructor(){super(...arguments),
this._data=null,this._barWidth=null}setData(e){this._data=e,this._barWidth=Math.max(1,Math.round(Object(a.optimalHiLoWidth)(e.barSpacing)))}hitTest(e){if(null===this._data||null===this._barWidth)return null;const t=this._data.bars,i=.5*this._data.barSpacing;if(0===t.length)return null;if(e.xt[t.length-1].time+i)return null;const s=t[Object(o.lowerbound)(t,e.x-i,(e,t)=>e.times.time+i)return null;const r=Object(a.interactionTolerance)().series+this._barWidth/2,n=Math.min(s.high,s.low),c=Math.max(s.high,s.low),h=this._data.fontSize;return n-r-h<=e.y&&e.y<=n+r||c-r<=e.y&&e.y<=c+r+h?new l.HitTestResult(l.HitTestResult.REGULAR):null}_drawImpl(e){if(null===this._data||null===this._barWidth)return;e.save(),e.translate(.5,.5),e.textAlign="center",e.fillStyle=this._data.labelColor,e.font=Object(r.makeFont)(this._data.fontSize,this._data.font);const t=this._data.bars,i=this._data.inverted;for(let s=0;se.highLabelWidth<=r&&e.lowLabelWidth<=r),o={bars:this._bars(),wickVisible:!1,bodyVisible:s.drawBody.value(),barSpacing:r,borderVisible:s.showBorders.value(),barWidth:Object(a.optimalHiLoWidth)(r),font:m.CHART_FONT_FAMILY,fontSize:s.fontSize.value(),labelColor:s.labelColor.value(),inverted:this._series().priceScale().isInverted(),labelsPadding:3},l=new d.CompositeRenderer;return this._candlesRenderer.setData(o),l.append(this._candlesRenderer),n&&(this._labelsRenderer.setData(o),l.append(this._labelsRenderer)),this._model().selection().isSelected(this._series())&&this._isMarkersEnabled&&l.append(new p.SelectionRenderer(this._selectionData)),l}topPixelMargin(){return this._margin()}bottomPixelMargin(){return this._margin()}_margin(){const e=this._series().properties().hiloStyle;return e.showLabels.value()?e.fontSize.value()+6:0}_barUpdater(e,t,i,s){const r=i[2],n=i[3];return!(!f(r)||!f(n))&&(s.high=s.open=r,s.low=s.close=n,t&&(s.highLabel=e.format(r),
s.highLabelWidth=this._getLabelWidth(s.highLabel),s.lowLabel=e.format(n),s.lowLabelWidth=this._getLabelWidth(s.lowLabel)),!0)}_needLabels(){const e=this._model().timeScale().barSpacing();return this._series().properties().hiloStyle.showLabels.value()&&e>5}_getLabelWidth(e){return this._widthsCache.measureText(this._context,e)}}},"9QkW":function(e,t,i){"use strict";var s=i("7ADh").LineToolFibWedgeBase,r=i("5rJj"),n=i("j3hX"),o=n.LineToolWidthsProperty,a=n.LineToolColorsProperty;class l extends s{constructor(e,t){super(e,t||l.createProperties()),i.e("lt-pane-views").then(i.t.bind(null,"1SUO",7)).then(({FibWedgePaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}isSynchronizable(){return!1}levelsCount(){return l.LevelsCount}name(){return"Fib Wedge"}processErase(e,t){var i="level"+t,s=this.properties()[i].visible;e.setProperty(s,!1,"Erase level line")}static createProperties(e){var t=new r("linetoolfibwedge",e,!1,{range:[1,11]});return l._configureProperties(t),t}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(27),i.e(62),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"6mGk"))).FibWedgeDefinitionsViewModel}static _configureProperties(e){s._configureProperties(e);for(var t=[e.child("trendline").child("linewidth")],i=[e.child("trendline").child("color")],r=1;r<=l.LevelsCount;r++)t.push(e.child("level"+r).child("linewidth")),i.push(e.child("level"+r).child("color"));e.addChild("linesColors",new a(i)),e.addChild("linesWidths",new o(t))}}l.LevelsCount=11,t.LineToolFibWedge=l},"9dnG":function(e,t){e.exports=''},"9iCb":function(e,t,i){"use strict";i.r(t),i.d(t,"applyOverridesToStudy",(function(){return h})),i.d(t,"applyOverridesToStudyDefaults",(function(){return u}));var s=i("Eyy1"),r=i("23IT"),n=i("txPx");const o=Object(n.getLogger)("Chart.Model.StudyPropertiesOverrider");var a,l;function c(e,t,i,s){const r=i.split(".");if(0===r.length||0===r[0].length)return;const n=function(e){const t=e.split(":");return{name:t[0],type:2===t.length?t[1]:null}}(r[0]),c=n.name,h=n.type,u=null!==h,d=!u||"band"===h,p=!u||"area"===h,_=!u||"input"===h,m=!u||"plot"===h?l.getPlotIdByTitle(e,c):null,f=d?l.getBandIndexByName(e,c):null,g=p?l.getFilledAreaIdByTitle(e,c):null,b=_?l.getInputByName(e,c):null,v=t.hasOwnProperty(c);if((null!==m?1:0)+(null!==f?1:0)+(null!==g?1:0)+(null!==b?1:0)+(v?1:0)>1)return void o.logWarn(`Study '${e.description}' has ambiguous identifier '${c}'`);const S=r[1];if(null!==m){if(1===r.length)return void o.logWarn(`Path of sub-property of '${c}' plot for study '${e.description}' must be not empty`);const i=r.slice(1)
;a.applyPlotProperty(e,t,m,i,s)}else if(null!==b)a.applyInputValue(t,b,s);else if(null!==f){if(void 0===S)return void o.logWarn(`Property name of '${c}' band for study '${e.description}' must be set`);a.applyBandProperty(t,f,S,s)}else if(null!==g){if(void 0===S)return void o.logWarn(`Property name of '${c}' area for study '${e.description}' must be set`);a.applyFilledAreaProperty(t,g,S,s)}else v?a.setRootProperty(t,r,s):o.logWarn(`Study '${e.description}' has no plot or input '${c}'`)}function h(e,t){const i=e.properties(),s=i.state();for(const i in t)t.hasOwnProperty(i)&&c(e.metaInfo(),s,i,t[i]);i.mergeAndFire(s)}function u(e,t,i){for(const s in e){if(!e.hasOwnProperty(s))continue;const r=s.indexOf(".");if(-1===r)continue;const n=s.substr(0,r),a=l.getMetaInfoByDescription(t,n);if(null===a){o.logWarn("There is no such study "+n);continue}const h=i(a);null!==h?c(a,h,s.substr(r+1),e[s]):o.logWarn("Cannot apply overrides for study "+n)}}!function(e){const t={line:r.LineStudyPlotStyle.Line,histogram:r.LineStudyPlotStyle.Histogram,cross:r.LineStudyPlotStyle.Cross,area:r.LineStudyPlotStyle.Area,columns:r.LineStudyPlotStyle.Columns,circles:r.LineStudyPlotStyle.Circles,line_with_breaks:r.LineStudyPlotStyle.LineWithBreaks,area_with_breaks:r.LineStudyPlotStyle.AreaWithBreaks};e.applyPlotProperty=function(e,i,n,a,l){if(void 0===i.styles)return void o.logWarn("Study does not have styles");const c=a[0];if("color"===c){return void function(e,t,i,r,n){if(void 0!==e.styles)if(null===t&&!isNaN(r)&&r>0)o.logWarn("Study plot does not have color #"+r);else{if(0===r||isNaN(r)){Object(s.ensureDefined)(e.styles[i]).color=String(n),r=0}null!==t&&(Object(s.ensureDefined)(t.colors[r]).color=String(n))}else o.logWarn("Study does not have styles")}(i,function(e,t,i){if(void 0===e.plots)return null;for(const s of e.plots){if(!Object(r.isColorerPlot)(s)||void 0===t.palettes)continue;const e=t.palettes[s.palette];if(s.target===i&&void 0!==e)return e}return null}(e,i,n),n,a.length>1?parseInt(a[1]):NaN,l)}const h=i.styles[n];if(void 0!==h&&h.hasOwnProperty(c)){if("plottype"===c){const e=t[String(l)];if(void 0===e)return void o.logWarn("Unsupported plot type for plot: "+l);l=e}h[c]=l}else o.logWarn(`Study plot does not have property '${c}'`)},e.applyBandProperty=function(e,i,s,r){if(void 0===e.bands)return void o.logWarn("Study does not have bands");const n=e.bands[i];if(void 0!==n&&n.hasOwnProperty(s)){if("plottype"===s){const e=t[String(r)];if(void 0===e)return void o.logWarn("Unsupported plot type for band: "+r);r=e}n[s]=r}else o.logWarn(`Study band does not have property '${s}'`)},e.applyFilledAreaProperty=function(e,t,i,s){if(void 0===e.filledAreasStyle)return void o.logWarn("Study does not have areas");const r=e.filledAreasStyle[t];void 0!==r&&r.hasOwnProperty(i)?r[i]=s:o.logWarn(`Study area does not have property '${i}'`)},e.applyInputValue=function(e,t,i){void 0!==e.inputs&&e.inputs.hasOwnProperty(t)?e.inputs[t]=i:o.logWarn(`Study does not have input '${t}'`)},e.setRootProperty=function(e,t,i){if(0===t.length)return;let s=e
;for(const e of t.slice(0,-1)){if(null==s||!s.hasOwnProperty(e))break;s=s[e]}const r=t[t.length-1];null!=s&&s.hasOwnProperty(r)?s[r]=i:o.logWarn("Study does not have property "+t.join("."))}}(a||(a={})),function(e){e.getInputByName=function(e,t){if(void 0===e.inputs)return null;t=t.toLowerCase();for(const i of e.inputs)if(i.name.toLowerCase()===t)return i.id;return null},e.getPlotIdByTitle=function(e,t){if(void 0===e.styles)return null;t=t.toLowerCase();for(const i in e.styles){const s=e.styles[i];if((void 0!==s&&void 0!==s.title?s.title:i).toLowerCase()===t)return i}return null},e.getFilledAreaIdByTitle=function(e,t){if(void 0===e.filledAreas)return null;t=t.toLowerCase();for(const i of e.filledAreas)if(i.title.toLowerCase()===t)return i.id;return null},e.getBandIndexByName=function(e,t){if(void 0===e.bands)return null;t=t.toLowerCase();for(let i=0;i=this.chartsCount())throw Error("Incorrect index: "+e);return this._getChartWidgetApi(this._chartWidgetCollection.getAll()[e])}getSymbolInterval(e){var t={symbol:r.symbol.value(),interval:r.interval.value()};return e&&e(t),t}saveChart(e){if(this._saveChartService){var t=this;this._saveChartService.whenReadyToSave((function(){var i=t._saveChartService.saveToJSON();return e&&e(JSON.parse(i.content))}))}}loadChart(e){this._chartApiInstance.disconnect(),this._chartWidgetCollection.loadContent(e.json),this._chartWidgetCollection.purgeUnusedWidgets(),e.extendedData&&(this._chartWidgetCollection.metaInfo.id.setValue(e.extendedData.uid),this._chartWidgetCollection.metaInfo.uid.setValue(e.extendedData.uid),this._chartWidgetCollection.metaInfo.name.setValue(e.extendedData.name)),this._chartApiInstance.connect(),r.symbol.setValue(this.activeChart().symbol()),a.emit("chart_loaded")}getStudiesList(){return this._chartApiInstance.allStudiesMetadata().filter((function(e){return!e.is_hidden_study})).map((function(e){return e.description}))}getStudyInputs(e){{const t=w.findStudyMetaInfoByDescription(this._chartApiInstance.allStudiesMetadata(),e);return P(t)}}getSavedCharts(e){u.getCharts().then(e)}loadChartFromServer(e){u.loadChart(e)}saveChartToServer(e,t,i){this._saveChartService&&this._saveChartService.saveChartSilently(e,t,i)}setAutosave(e){this._saveChartService&&this._saveChartService.autoSaveEnabled().setValue(e)}removeChartFromServer(e,t){u.removeChart(e).then(t)}getIntervals(){var e=[],t=h.getCustomResolutions();return null!==this._chartApiInstance&&(e=this._chartApiInstance.defaultResolutions()),h.mergeResolutions(e,t)}closePopupsAndDialogs(){for(var e=document.querySelectorAll("._tv-dialog-title-close"),t=0;tnew e.DrawingToolbarRenderer(this._opts.resizerBridge.container.value(),{...this._opts}))}}},AE9l:function(e,t,i){},"AWC/":function(e,t,i){e.exports={container:"container-e6Js9pSl",inner:"inner-e6Js9pSl","border-left":"border-left-e6Js9pSl","border-right":"border-right-e6Js9pSl","border-top":"border-top-e6Js9pSl","border-bottom":"border-bottom-e6Js9pSl","top-right-radius":"top-right-radius-e6Js9pSl","top-left-radius":"top-left-radius-e6Js9pSl","bottom-right-radius":"bottom-right-radius-e6Js9pSl","bottom-left-radius":"bottom-left-radius-e6Js9pSl"}},"Aba+":function(e,t,i){},ApcL:function(e,t,i){"use strict";i.r(t);var s=i("ogJP"),r=i("vTIA");var n=i("txPx"),o=i("oXaB"),a=i("wZIs"),l=i("sDZI"),c=i("FIi8"),h=i("4vW/");i.d(t,"gridPreferencesDefault",(function(){return d})),i.d(t,"crossHairPreferencesDefault",(function(){return p})),i.d(t,"legendPreferencesDefault",(function(){return _})),i.d(t,"priceScalePreferencesDefault",(function(){return m})),i.d(t,"panePreferencesDefault",(function(){return f})),i.d(t,"scalesPreferencesBaseDefault",(function(){return g})),i.d(t,"scalesPreferencesToApplyDefault",(function(){return b})),i.d(t,"chartEventsSourceBreaksPreferencesDefault",(function(){return v})),i.d(t,"chartEventsSourcePreferencesDefault",(function(){return S})),i.d(t,"timeScalePreferencesDefault",(function(){return y})),i.d(t,"statusViewPreferencesDefault",(function(){return w})),i.d(t,"highLowAvgPreferencesDefault",(function(){return P})),i.d(t,"mainSeriesPreferencesDefault",(function(){return C})),i.d(t,"chartPreferencesBaseDefault",(function(){return x})),i.d(t,"chartPreferencesToApplyDefault",(function(){return T})),i.d(t,"chartPreferencesToRestoreDefault",(function(){return I})),i.d(t,"createPreferencesObject",(function(){return M})),i.d(t,"preferencesByWhiteList",(function(){return O})),i.d(t,"defaultsPreferencesByWhiteList",(function(){return L}));const u=Object(n.getLogger)("Chart.ApplyPreferencesToAllCharts"),d={color:"",style:0},p={color:"",style:0,transparency:0,width:0},_={showStudyArguments:!1,showStudyTitles:!1,showStudyValues:!1,showSeriesTitle:!1,showSeriesOHLC:!1,showLegend:!1,showBarChange:!0,showBackground:!0,backgroundTransparency:0,wrapText:!1},m={autoScale:!1,autoScaleDisabled:!1,lockScale:!1,percentage:!1,percentageDisabled:!1,log:!1,logDisabled:!1,alignLabels:!1,isInverted:!1,
indexedTo100:!1},f={backgroundType:h.ColorType.Solid,background:"",backgroundGradientStartColor:"",backgroundGradientEndColor:"",topMargin:0,bottomMargin:0,rightOffset:0,horzGridProperties:Object(c.deepExtend)({},d),vertGridProperties:Object(c.deepExtend)({},d),crossHairProperties:Object(c.deepExtend)({},p),legendProperties:Object(c.deepExtend)({},_),axisProperties:Object(c.deepExtend)({},m)},g={lineColor:"",textColor:"",fontSize:0,scaleSeriesOnly:!1,showSeriesLastValue:!1,seriesLastValueMode:o.PriceAxisLastValueMode.LastValueAccordingToScale,showSeriesPrevCloseValue:!1,showStudyLastValue:!1,showSymbolLabels:!1,showStudyPlotLabels:!1,showBidAskLabels:!1,showPrePostMarketPriceLabel:!0,showFundamentalLastValue:!1,showFundamentalNameLabel:!1,showCurrency:!0,showUnit:!0},b={...g},v={color:"",visible:!1,style:0,width:0},S={visible:!1,futureOnly:!1,breaks:Object(c.deepExtend)({},v)},y={defaultRightOffset:0},w={fontSize:16,showExchange:!0,showInterval:!0,symbolTextSource:"description"},P={highLowPriceLinesVisible:!1,highLowPriceLabelsVisible:!1,averageClosePriceLineVisible:!1,averageClosePriceLabelVisible:!1},C={style:0,minTick:0,showPriceLine:!1,priceLineWidth:0,priceLineColor:"",showPrevClosePriceLine:!1,showCountdown:!0,prevClosePriceLineWidth:0,sessionId:"regular",prevClosePriceLineColor:"",esdShowDividends:!1,esdShowSplits:!1,esdShowEarnings:!1,esdShowBreaks:!1,dividendsAdjustment:!1,statusViewStyle:Object(c.deepExtend)({},w),priceAxisProperties:Object(c.deepExtend)({},m),highLowAvgPrice:Object(c.deepExtend)({},P),candleStyle:Object(c.deepExtend)({},{upColor:"",downColor:"",drawWick:!1,drawBorder:!1,drawBody:!0,borderColor:"",borderUpColor:"",borderDownColor:"",wickColor:"",wickUpColor:"",wickDownColor:"",barColorsOnPrevClose:!1}),hollowCandleStyle:Object(c.deepExtend)({},{upColor:"",downColor:"",drawWick:!1,drawBorder:!1,drawBody:!0,borderColor:"",borderUpColor:"",borderDownColor:"",wickColor:"",wickUpColor:"",wickDownColor:""}),barStyle:Object(c.deepExtend)({},{upColor:"",downColor:"",barColorsOnPrevClose:!1,dontDrawOpen:!1,thinBars:!0}),lineStyle:Object(c.deepExtend)({},{color:"",linestyle:0,linewidth:0,styleType:0}),areaStyle:Object(c.deepExtend)({},{color1:"",color2:"",linecolor:"",linestyle:0,linewidth:0,transparency:0}),baselineStyle:Object(c.deepExtend)({},{topFillColor1:"",topFillColor2:"",bottomFillColor1:"",bottomFillColor2:"",topLineColor:"",bottomLineColor:"",topLineWidth:0,bottomLineWidth:0,transparency:0,baseLevelPercentage:0}),hiloStyle:Object(c.deepExtend)({},{color:"",showBorders:!1,borderColor:"",showLabels:!1,labelColor:"",fontSize:0,drawBody:!0}),haStyle:Object(c.deepExtend)({},{upColor:"",downColor:"",drawWick:!1,drawBorder:!1,drawBody:!0,borderColor:"",borderUpColor:"",borderDownColor:"",wickColor:"",wickUpColor:"",wickDownColor:"",showRealLastPrice:!1,barColorsOnPrevClose:!1,inputs:{}}),renkoStyle:Object(c.deepExtend)({},{upColor:"",downColor:"",borderUpColor:"",borderDownColor:"",upColorProjection:"",downColorProjection:"",borderUpColorProjection:"",borderDownColorProjection:"",wickUpColor:"",
wickDownColor:"",inputs:{boxSize:0,style:"",atrLength:0,wicks:!1,sources:"",source:""}}),pbStyle:Object(c.deepExtend)({},{upColor:"",downColor:"",borderUpColor:"",borderDownColor:"",upColorProjection:"",downColorProjection:"",borderUpColorProjection:"",borderDownColorProjection:"",inputs:{source:"",lb:0}}),kagiStyle:Object(c.deepExtend)({},{upColor:"",downColor:"",upColorProjection:"",downColorProjection:"",inputs:{style:"",atrLength:0,reversalAmount:0}}),pnfStyle:Object(c.deepExtend)({},{upColor:"",downColor:"",upColorProjection:"",downColorProjection:"",inputs:{reversalAmount:0,boxSize:0,style:"",atrLength:0}}),rangeStyle:Object(c.deepExtend)({},{upColor:"",downColor:"",upColorProjection:"",downColorProjection:"",thinBars:!1,inputs:{range:0,phantomBars:!1}})},x={priceScaleSelectionStrategyName:"auto",timeScale:Object(c.deepExtend)({},y),mainSeries:Object(c.deepExtend)({},C),sessions:Object(c.deepExtend)({},l.sessionsPreferencesDefault),paneProperties:Object(c.deepExtend)({},f),chartEventsSourceProperties:Object(c.deepExtend)({},S),tradingProperties:Object(c.deepExtend)({},r.tradingPreferencesDefault)},T={timezone:"",scalesProperties:Object(c.deepExtend)({},b),...x},I={scalesProperties:Object(c.deepExtend)({},g),...x};function M(e,t,i,r,n=!0){if(void 0===t[e])return u.logDebug(`We haven't had this property ${r}.${e} yet, please, remove it from whiteList`),null;if(Object(s.isObject)(i[e])){const s=Object.keys(i[e]);let o="";return s.map(s=>({[s]:M(s,t[e],i[e],`${r}.${e}`,n)})).reduce((e,t)=>(o=Object.keys(t)[0],e[o]=t[o],e),{})}return n?t[e].value():t[e]}function O(e,t,i=T){const s={timezone:"",priceScaleSelectionStrategyName:"auto",timeScale:{defaultRightOffset:e.timeScale().defaultRightOffsetProperty().value()},mainSeries:{},sessions:{},paneProperties:{},scalesProperties:{},chartEventsSourceProperties:{},tradingProperties:{}},r=["timeScale","mainSeries","sessions"],n=i.mainSeries,o=Object.keys(i),a=Object.keys(n),l=t.properties(),c=e.properties(),h=i.sessions,u=Object.keys(h),d=e.sessions().properties();return a.forEach(e=>{s.mainSeries[e]=M(e,l,n,"mainSeries")}),u.forEach(e=>{s.sessions[e]=M(e,d,h,"sessions")}),o.forEach(e=>{r.includes(e)||(s[e]=M(e,c,i,"preferences"))}),s}function L(e,t,i=I){const s={timeScale:{defaultRightOffset:e.timeScale().rightOffsetDefaultValue()},mainSeries:{},sessions:Object(c.deepExtend)({},l.sessionsPreferencesDefault),paneProperties:{},scalesProperties:{},chartEventsSourceProperties:{},tradingProperties:{},priceScaleSelectionStrategyName:"auto"},r=["timeScale","mainSeries","sessions"],n=i.mainSeries,o=Object.keys(i),h=Object.keys(n),u=Object(a.factoryDefaults)("chartproperties.mainSeriesProperties"),d=Object(a.factoryDefaults)("chartproperties");return h.forEach(e=>{s.mainSeries[e]=M(e,u,n,"mainSeries",!1)}),o.forEach(e=>{r.includes(e)||(s[e]=M(e,d,i,"preferences",!1))}),s}},Az04:function(e,t,i){"use strict";var s=i("aO4+").Point,r=i("GEp6").distanceToLine,n=i("Ss5c").LineDataSource,o=i("Ocx9").DefaultProperty,a=i("j3hX").LineToolColorsProperty;class l extends n{constructor(e,t){
super(e,t||l.createProperties()),i.e("lt-pane-views").then(i.t.bind(null,"lZ9F",7)).then(({RotatedRectanglePaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}startChanging(e,t){if(super.startChanging(e,t),0===e||1===e){var i=this._getPaneViews()[0],s=i._points[0],n=i._points[1],o=i._points[2];this._distance=r(s,n,o).distance}}setPoint(e,t,i){if(super.setPoint(e,t,i),0===e||1===e){var r=this._getPaneViews()[0];r.update();var n=r._points[0],o=r._points[1].subtract(n),a=new s(o.y,-o.x).normalized().scaled(this._distance),l=n.add(a),c=this.screenPointToPoint(l);this._points[2]=c}}endChanging(e,t){delete this._distance,super.endChanging(e,t)}pointsCount(){return 3}name(){return"Rotated Rectangle"}hasEditableCoordinates(){return!1}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(27),i.e(62),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"Zd1D"))).GeneralFiguresDefinitionsViewModel}_snapTo45DegreesAvailable(){return!0}static createProperties(e){var t=new o("linetoolrotatedrectangle",e);return l._configureProperties(t),t}static _configureProperties(e){n._configureProperties(e),e.addChild("linesColors",new a([e.color]))}}t.LineToolRotatedRectangle=l},"B4/o":function(e,t,i){"use strict";(function(e){var s=i("QIuV").LineToolTrading,r=i("4TVt").LineToolPriceAxisView,n=i("jkoZ"),o=i("Ss5c").LineDataSource,a=i("Ocx9").DefaultProperty,l=i("s1Gx").sortSourcesPreOrdered.LineToolOrder;function c(e){return null==e?e="":e+="",e}class h{constructor(e){this._line=e,this._data={bodyText:"order",quantityText:"0"},this._editable=!0,this._cancellable=!0,this._mode="",this._direction="buy",this._active=!0}setMode(e){return this._mode=e,this._line.updateAllViewsAndRedraw(),this}setDirection(e){return this._direction=e,this._line.updateAllViewsAndRedraw(),this}setActive(e){return this._active=e,this._line.updateAllViewsAndRedraw(),this}setEditable(e){return this._editable=e,this._line.updateAllViewsAndRedraw(),this}getEditable(){return this._editable}setCancellable(e){return this._cancellable=e,this._line.updateAllViewsAndRedraw(),this}getCancellable(){return this._cancellable}hasMoveCallback(){return this.isFunction(this._onMoveCallback)}hasModifyCallback(){return this.isFunction(this._onModifyCallback)}getPrice(){return this._line.points().length>0?this._line.points()[0].price:this._line._timePoint.length>0?this._line._timePoint[0].price:void 0}setPrice(e){if(this._line.points().length>0){var t=this._line.points()[0];t.price=e,this._line._points[0]=t,this._line.normalizePoints(),this._line.updateAllViewsAndRedraw()}return this._line._timePoint.length>0&&(this._line._timePoint[0].price=e),this}getText(){return this._data.bodyText}setText(e){return this._data.bodyText=e||"",this._line.updateAllViewsAndRedraw(),this}setTooltip(e){return this._line.properties().tooltip.setValue(c(e)),this}getTooltip(){return this._line.properties().tooltip.value()}setModifyTooltip(e){return this._line.properties().modifyTooltip.setValue(c(e)),this}getModifyTooltip(){
return this._line.properties().modifyTooltip.value()}setCancelTooltip(e){return this._line.properties().cancelTooltip.setValue(c(e)),this}getCancelTooltip(){return this._line.properties().cancelTooltip.value()}getQuantity(){return this._data.quantityText}setQuantity(e){return this._data.quantityText=e||"",this._line.updateAllViewsAndRedraw(),this}getExtendLeft(){var e=this._line.properties().extendLeft.value();return"inherit"===e?this._line._model.properties().tradingProperties.extendLeft.value():e}setExtendLeft(e){return this._line.properties().extendLeft.setValue(e),this}getLineLength(){var e=this._line.properties().lineLength.value();return"inherit"===e?this._line._model.properties().tradingProperties.lineLength.value():e}setLineLength(e){return this._line.properties().lineLength.setValue(Math.max(0,Math.min(e,100))),this}getLineColor(){var e=this._line.properties();return"buy"===this._direction?this._active?e.lineActiveBuyColor.value():e.lineInactiveBuyColor.value():this._active?e.lineActiveSellColor.value():e.lineInactiveSellColor.value()}setLineColor(e){return"buy"===this._direction?this._active?this.setLineActiveBuyColor(e):this.setLineInactiveBuyColor(e):this._active?this.setLineActiveSellColor(e):this.setLineInactiveSellColor(e),this}setLineActiveBuyColor(e){return this._line.properties().lineActiveBuyColor.setValue(e),this}setLineInactiveBuyColor(e){return this._line.properties().lineInactiveBuyColor.setValue(e),this}setLineActiveSellColor(e){return this._line.properties().lineActiveSellColor.setValue(e),this}setLineInactiveSellColor(e){return this._line.properties().lineInactiveSellColor.setValue(e),this}getLineStyle(){var e=this._line.properties().lineStyle.value();return"inherit"===e?this._line._model.properties().tradingProperties.lineStyle.value():e}setLineStyle(e){return this._line.properties().lineStyle.setValue(e),this}getLineWidth(){var e=this._line.properties().lineWidth.value();return"inherit"===e?this._line._model.properties().tradingProperties.lineWidth.value():e}setLineWidth(e){return this._line.properties().lineWidth.setValue(e),this}getBodyBorderColor(){var e=this._line.properties();return"buy"===this._direction?this._active?e.bodyBorderActiveBuyColor.value():e.bodyBorderInactiveBuyColor.value():this._active?e.bodyBorderActiveSellColor.value():e.bodyBorderInactiveSellColor.value()}setBodyBorderColor(e){return"buy"===this._direction?this._active?this.setBodyBorderActiveBuyColor(e):this.setBodyBorderInactiveBuyColor(e):this._active?this.setBodyBorderActiveSellColor(e):this.setBodyBorderInactiveSellColor(e),this}setBodyBorderActiveBuyColor(e){return this._line.properties().bodyBorderActiveBuyColor.setValue(e),this}setBodyBorderInactiveBuyColor(e){return this._line.properties().bodyBorderInactiveBuyColor.setValue(e),this}setBodyBorderActiveSellColor(e){return this._line.properties().bodyBorderActiveSellColor.setValue(e),this}setBodyBorderInactiveSellColor(e){return this._line.properties().bodyBorderInactiveSellColor.setValue(e),this}getBodyBackgroundColor(){
return n.getColorFromProperties(this._line.properties().bodyBackgroundColor,this._line.properties().bodyBackgroundTransparency)}setBodyBackgroundColor(e){return n.setColorToProperties(e,this._line.properties().bodyBackgroundColor,this._line.properties().bodyBackgroundTransparency),this}getBodyTextColor(){var e=this._line.properties();return"limit"===this._mode?this._active?e.bodyTextActiveLimitColor.value():e.bodyTextInactiveLimitColor.value():"stop"===this._mode?this._active?e.bodyTextActiveStopColor.value():e.bodyTextInactiveStopColor.value():"buy"===this._direction?this._active?e.bodyTextActiveBuyColor.value():e.bodyTextInactiveBuyColor.value():this._active?e.bodyTextActiveSellColor.value():e.bodyTextInactiveSellColor.value()}setBodyTextColor(e){return"limit"===this._mode?this._active?this.setBodyTextActiveLimitColor(e):this.setBodyTextInactiveLimitColor(e):"stop"===this._mode?this._active?this.setBodyTextActiveStopColor(e):this.setBodyTextInactiveStopColor(e):"buy"===this._direction?this._active?this.setBodyTextActiveBuyColor(e):this.setBodyTextInactiveBuyColor(e):this._active?this.setBodyTextActiveSellColor(e):this.setBodyTextInactiveSellColor(e),this}setBodyTextInactiveLimitColor(e){return this._line.properties().bodyTextInactiveLimitColor.setValue(e),this}setBodyTextActiveLimitColor(e){return this._line.properties().bodyTextActiveLimitColor.setValue(e),this}setBodyTextInactiveStopColor(e){return this._line.properties().bodyTextInactiveStopColor.setValue(e),this}setBodyTextActiveStopColor(e){return this._line.properties().bodyTextActiveStopColor.setValue(e),this}setBodyTextInactiveBuyColor(e){return this._line.properties().bodyTextInactiveBuyColor.setValue(e),this}setBodyTextActiveBuyColor(e){return this._line.properties().bodyTextActiveBuyColor.setValue(e),this}setBodyTextInactiveSellColor(e){return this._line.properties().bodyTextInactiveSellColor.setValue(e),this}setBodyTextActiveSellColor(e){return this._line.properties().bodyTextActiveSellColor.setValue(e),this}getBodyFont(){return n.getFontFromProperties(this._line.properties().bodyFontFamily,this._line.properties().bodyFontSize,this._line.properties().bodyFontBold,this._line.properties().bodyFontItalic)}setBodyFont(e){return n.setFontToProperties(e,this._line.properties().bodyFontFamily,this._line.properties().bodyFontSize,this._line.properties().bodyFontBold,this._line.properties().bodyFontItalic),this}getQuantityBorderColor(){var e=this._line.properties();return"buy"===this._direction?this._active?e.quantityBorderActiveBuyColor.value():e.quantityBorderInactiveBuyColor.value():this._active?e.quantityBorderActiveSellColor.value():e.quantityBorderInactiveSellColor.value()}setQuantityBorderColor(e){return"buy"===this._direction?this._active?this.setQuantityBorderActiveBuyColor(e):this.setQuantityBorderInactiveBuyColor(e):this._active?this.setQuantityBorderActiveSellColor(e):this.setQuantityBorderInactiveSellColor(e),this}setQuantityBorderActiveBuyColor(e){return this._line.properties().quantityBorderActiveBuyColor.setValue(e),this}
setQuantityBorderInactiveBuyColor(e){return this._line.properties().quantityBorderInactiveBuyColor.setValue(e),this}setQuantityBorderActiveSellColor(e){return this._line.properties().quantityBorderActiveSellColor.setValue(e),this}setQuantityBorderInactiveSellColor(e){return this._line.properties().quantityBorderInactiveSellColor.setValue(e),this}getQuantityBackgroundColor(){var e=this._line.properties();return"buy"===this._direction?this._active?e.quantityBackgroundActiveBuyColor.value():e.quantityBackgroundInactiveBuyColor.value():this._active?e.quantityBackgroundActiveSellColor.value():e.quantityBackgroundInactiveSellColor.value()}setQuantityBackgroundColor(e){return"buy"===this._direction?this._active?this.setQuantityBackgroundActiveBuyColor(e):this.setQuantityBackgroundInactiveBuyColor(e):this._active?this.setQuantityBackgroundActiveSellColor(e):this.setQuantityBackgroundInactiveSellColor(e),this}setQuantityBackgroundActiveBuyColor(e){return this._line.properties().quantityBackgroundActiveBuyColor.setValue(e),this}setQuantityBackgroundInactiveBuyColor(e){return this._line.properties().quantityBackgroundInactiveBuyColor.setValue(e),this}setQuantityBackgroundActiveSellColor(e){return this._line.properties().quantityBackgroundActiveSellColor.setValue(e),this}setQuantityBackgroundInactiveSellColor(e){return this._line.properties().quantityBackgroundInactiveSellColor.setValue(e),this}getQuantityTextColor(){return n.getColorFromProperties(this._line.properties().quantityTextColor,this._line.properties().quantityTextTransparency)}setQuantityTextColor(e){return n.setColorToProperties(e,this._line.properties().quantityTextColor,this._line.properties().quantityTextTransparency),this}getQuantityFont(){return n.getFontFromProperties(this._line.properties().quantityFontFamily,this._line.properties().quantityFontSize,this._line.properties().quantityFontBold,this._line.properties().quantityFontItalic)}setQuantityFont(e){return n.setFontToProperties(e,this._line.properties().quantityFontFamily,this._line.properties().quantityFontSize,this._line.properties().quantityFontBold,this._line.properties().quantityFontItalic),this}getCancelButtonBorderColor(){var e=this._line.properties();return"buy"===this._direction?this._active?e.cancelButtonBorderActiveBuyColor.value():e.cancelButtonBorderInactiveBuyColor.value():this._active?e.cancelButtonBorderActiveSellColor.value():e.cancelButtonBorderInactiveSellColor.value()}setCancelButtonBorderColor(e){return"buy"===this._direction?this._active?this.setCancelButtonBorderActiveBuyColor(e):this.setCancelButtonBorderInactiveBuyColor(e):this._active?this.setCancelButtonBorderActiveSellColor(e):this.setCancelButtonBorderInactiveSellColor(e),this}setCancelButtonBorderActiveBuyColor(e){return this._line.properties().cancelButtonBorderActiveBuyColor.setValue(e),this}setCancelButtonBorderInactiveBuyColor(e){return this._line.properties().cancelButtonBorderInactiveBuyColor.setValue(e),this}setCancelButtonBorderActiveSellColor(e){
return this._line.properties().cancelButtonBorderActiveSellColor.setValue(e),this}setCancelButtonBorderInactiveSellColor(e){return this._line.properties().cancelButtonBorderInactiveSellColor.setValue(e),this}getCancelButtonBackgroundColor(){return n.getColorFromProperties(this._line.properties().cancelButtonBackgroundColor,this._line.properties().cancelButtonBackgroundTransparency)}setCancelButtonBackgroundColor(e){return n.setColorToProperties(e,this._line.properties().cancelButtonBackgroundColor,this._line.properties().cancelButtonBackgroundTransparency),this}getCancelButtonIconColor(){var e=this._line.properties();return"buy"===this._direction?this._active?e.cancelButtonIconActiveBuyColor.value():e.cancelButtonIconInactiveBuyColor.value():this._active?e.cancelButtonIconActiveSellColor.value():e.cancelButtonIconInactiveSellColor.value()}setCancelButtonIconColor(e){return"buy"===this._direction?this._active?this.setCancelButtonIconActiveBuyColor(e):this.setCancelButtonIconInactiveBuyColor(e):this._active?this.setCancelButtonIconActiveSellColor(e):this.setCancelButtonIconInactiveSellColor(e),this}setCancelButtonIconActiveBuyColor(e){return this._line.properties().cancelButtonIconActiveBuyColor.setValue(e),this}setCancelButtonIconInactiveBuyColor(e){return this._line.properties().cancelButtonIconInactiveBuyColor.setValue(e),this}setCancelButtonIconActiveSellColor(e){return this._line.properties().cancelButtonIconActiveSellColor.setValue(e),this}setCancelButtonIconInactiveSellColor(e){return this._line.properties().cancelButtonIconInactiveSellColor.setValue(e),this}block(){this._blocked=!0,this._line.updateAllViewsAndRedraw()}unblock(){this._blocked=!1,this._line.updateAllViewsAndRedraw()}getBlocked(){return this._blocked}isFunction(e){return"function"==typeof e}onCancel(e,t){return t?this.isFunction(t)&&(this._onCancelData=e,this._onCancelCallback=t):this.isFunction(e)&&(this._onCancelCallback=e),this}callOnCancel(){this.isFunction(this._onCancelCallback)&&this._onCancelCallback.call(this,this._onCancelData)}isOnCancelCallbackPresent(){return this.isFunction(this._onCancelCallback)}onModify(e,t){return t?this.isFunction(t)&&(this._onModifyData=e,this._onModifyCallback=t):this.isFunction(e)&&(this._onModifyCallback=e),this}callOnModify(){this.isFunction(this._onModifyCallback)&&this._onModifyCallback.call(this,this._onModifyData)}onMove(e,t){return t?this.isFunction(t)&&(this._onMoveData=e,this._onMoveCallback=t):this.isFunction(e)&&(this._onMoveCallback=e),this}callOnMove(){this.isFunction(this._onMoveCallback)&&this._onMoveCallback.call(this,this._onMoveData)}onContextMenu(e,t){return t?this.isFunction(t)&&(this._onContextMenuData=e,this._onContextMenuCallback=t):this.isFunction(e)&&(this._onContextMenuCallback=e),this}shouldShowContextMenu(){return this.isFunction(this._onContextMenuCallback)}callOnContextMenu(){if(this.isFunction(this._onContextMenuCallback))return this._onContextMenuCallback.call(this,this._onContextMenuData)}remove(){this._line._model.removeSource(this._line),delete this._line}}class u extends s{
constructor(e,t){super(e,t||u.createProperties()),this._adapter=new h(this),this.setSelectionEnabled(!0),i.e("lt-pane-views").then(i.bind(null,"LMGK")).then(({OrderPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}zorder(){return l}isSpeciallyZOrderedSource(){return!0}setPoint(e,t,i){this._points[e]=t,this.normalizePoints()}addPoint(e,t){return this._points.push(e),this._lastPoint=null,this.normalizePoints(),this.createServerPoints(),!0}name(){return"Order"}endMoving(e){var t=this._startMovingPoint&&this._currentMovingPoint&&this._startMovingPoint.logical.price!==this._currentMovingPoint.logical.price;super.endMoving(),!e&&t&&this._adapter.callOnMove()}createPriceAxisView(e){var t={pointIndex:e,backgroundPropertyGetter:()=>this._adapter.getLineColor()};return this._priceAxisView=new r(this,t),this._priceAxisView}paneViews(){return TradingView.printing&&!e.enabled("snapshot_trading_drawings")?null:this._model.properties().tradingProperties.showOrders.value()?o.prototype.paneViews.call(this):null}priceAxisViews(t,i){return TradingView.printing&&!e.enabled("snapshot_trading_drawings")?null:this._model.properties().tradingProperties.showOrders.value()?o.prototype.priceAxisViews.call(this,t,i):null}adapter(){return this._adapter}hasContextMenu(){return this._adapter.shouldShowContextMenu()}contextMenuItems(){return this._adapter.callOnContextMenu()}movable(){return Boolean(this._adapter._onMoveCallback)}static createProperties(e){var t=new a("linetoolorder",e,!1,!1);return u._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e)}}t.LineToolOrder=u}).call(this,i("Kxc7"))},BBCR:function(e,t){e.exports=''},BOPY:function(e,t,i){"use strict";var s=i("aO4+").Point,r=i("f6yo").pointInCircle,n=i("VdBB").HitTestResult,o=i("zDbI").CHART_FONT_FAMILY,a=i("cPgM").ScaledPaneRenderer;class l extends a{constructor(e,t){super(),this._barWidth=e.barWidth,this._plates=e.plates,this._tooltip=e.tooltip,this._model=t}_drawImpl(e){e.save();for(var t=0;t=7&&(e.textAlign="center",e.textBaseline="middle",e.font="bold "+t.labelFontSize+"px "+o,e.fillStyle=t.labelFontColor,e.fillText(t.label,t.x,t.y))}hitTest(e){for(var t,i=this._plates.length-1;i>=0;--i)if(t=this._hitTestDot(this._plates[i],e))return t;return null}_hitTestDot(e,t){var i=this._dotTransform(e),o=new s(i.x,i.y);return r(t,o,Math.max(i.radius,8))?new n(n.REGULAR,e):null}}l.prototype.themes={green:{border:"#78C143",background:"#8DDD54"},red:{border:"#CC4545",background:"#ED5A5A"},neutral:{border:"#EAC300",background:"#FFD400"},yellow:{border:"#EAC300",background:"#FFD400"},blue:{border:"#047ACE",background:"#0496FF"}},t.BarsMarksContainerPaneView=class{constructor(e,t){this.source=e,this._rendererFactory=t}update(){}renderer(e,t){return this._rendererFactory(this.source)}},t.BarsMarksContainerRenderer=l},BZtw:function(e,t,i){"use strict";var s=i("Eyy1"),r=i("ogJP"),n=i("5fI3"),o=i("LxhU"),a=i("XPit"),l=i("hsV8"),c=i("YWnQ"),h=i("aIyQ"),u=i.n(h);class d{constructor(){this._loading=new u.a,this._completed=new u.a,this._error=new u.a,this._symbolError=new u.a,this._symbolResolved=new u.a,this._seriesError=new u.a,this._symbolNotPermitted=new u.a,this._symbolGroupNotPermitted=new u.a,this._chartTypeNotPermitted=new u.a,this._intradaySpreadNotPermitted=new u.a,this._intradayExchangeNotPermitted=new u.a,this._customIntervalNotPermitted=new u.a,this._secondsIntervalNotPermitted=new u.a,this._tickMarksRangeChanged=new u.a,this._barReceived=new u.a,this._seriesTimeFrame=new u.a,this._dataUpdated=new u.a}destroy(){this._loading.destroy(),this._completed.destroy(),this._error.destroy(),this._symbolError.destroy(),this._symbolResolved.destroy(),this._seriesError.destroy(),this._symbolNotPermitted.destroy(),this._symbolGroupNotPermitted.destroy(),this._chartTypeNotPermitted.destroy(),this._intradaySpreadNotPermitted.destroy(),this._intradayExchangeNotPermitted.destroy(),this._customIntervalNotPermitted.destroy(),this._secondsIntervalNotPermitted.destroy(),this._tickMarksRangeChanged.destroy(),
this._barReceived.destroy(),this._seriesTimeFrame.destroy(),this._dataUpdated.destroy()}loading(){return this._loading}completed(){return this._completed}error(){return this._error}symbolError(){return this._symbolError}symbolResolved(){return this._symbolResolved}seriesError(){return this._seriesError}symbolNotPermitted(){return this._symbolNotPermitted}symbolGroupNotPermitted(){return this._symbolGroupNotPermitted}chartTypeNotPermitted(){return this._chartTypeNotPermitted}intradaySpreadNotPermitted(){return this._intradaySpreadNotPermitted}intradayExchangeNotPermitted(){return this._intradayExchangeNotPermitted}customIntervalNotPermitted(){return this._customIntervalNotPermitted}secondsIntervalNotPermitted(){return this._secondsIntervalNotPermitted}tickMarksRangeChanged(){return this._tickMarksRangeChanged}barReceived(){return this._barReceived}seriesTimeFrame(){return this._seriesTimeFrame}dataUpdated(){return this._dataUpdated}fireCompleted(e,t){this._completed.fire(e,t)}fireLoading(e){this._loading.fire(e)}fireError(){this._error.fire()}fireSymbolError(e){this._symbolError.fire(e),this.fireError()}fireSymbolResolved(e){this._symbolResolved.fire(e)}fireSeriesError(e){this._seriesError.fire(e),this.fireError()}fireSymbolNotPermitted(e){this._symbolNotPermitted.fire(e),this.fireError()}fireSymbolGroupNotPermitted(e){this._symbolGroupNotPermitted.fire(e),this.fireError()}fireChartTypeNotPermitted(e){this._chartTypeNotPermitted.fire(e),this.fireError()}fireIntradaySpreadNotPermitted(){this._intradaySpreadNotPermitted.fire(),this.fireError()}fireIntradayExchangeNotPermitted(){this._intradayExchangeNotPermitted.fire(),this.fireError()}fireCustomIntervalNotPermitted(){this._customIntervalNotPermitted.fire(),this.fireError()}fireSecondsIntervalNotPermitted(){this._secondsIntervalNotPermitted.fire(),this.fireError()}fireTickMarksRangeChanged(e){this._tickMarksRangeChanged.fire(e)}fireBarReceived(e){this._barReceived.fire(e)}fireSeriesTimeFrame(e,t,i,s,r){this._seriesTimeFrame.fire(e,t,i,s,r)}fireDataUpdated(e,t){this._dataUpdated.fire(e,t)}}var p=i("txPx");i.d(t,"a",(function(){return b}));const _=Object(p.getLogger)("Chart.SeriesDataSource");var m;!function(e){e[e.Idle=0]="Idle",e[e.AwaitingConnection=1]="AwaitingConnection",e[e.AwaitingFirstDataUpdate=2]="AwaitingFirstDataUpdate",e[e.Active=3]="Active"}(m||(m={}));let f=1;let g=1;class b{constructor(e,t,i){var r;this._instanceId=null,this._symbolInstanceId=null,this._symbol=null,this._resolution=null,this._timeFrame=null,this._data=new a.SeriesData,this._dataEvents=new d,this._status=m.Idle,this._turnaroundCounter=1,this._boundOnGatewayIsConnectedChanged=this._onGatewayIsConnectedChanged.bind(this),this._ongoingDataUpdate=Promise.resolve(),this._gateway=e,this._turnaroundPrefix=t,this._createSeriesParams=(r=null!=i?i:{count:300}).startDate?r.endDate||r.count?r.endDate?["from_to",r.startDate,r.endDate]:["bar_count",r.startDate,Object(s.ensure)(r.count)]:["from_to",r.startDate]:r.count||300,this._gateway.isConnected().subscribe(this._boundOnGatewayIsConnectedChanged)}
destroy(){this.stop(),this._gateway.isConnected().unsubscribe(this._boundOnGatewayIsConnectedChanged)}modifySeries(e,t,i=null,n=!1){n&&(_.logNormal("Due to force flag clearing symbol & resolution to force re-requesting data."),this._symbol=null,this._resolution=null);const a=this._symbol,l=this._resolution;if(this._symbol=e,this._resolution=t,null===this._instanceId)return void(this._timeFrame=i);const c=!Object(r.deepEquals)(a,e)[0],h=null===l||!o.Interval.isEqual(l,t);(c||h||null!==i)&&(this._timeFrame=null,(c||h)&&this._turnaroundCounter++,c&&this._resolveSymbol(),this._gateway.modifySeries(this._instanceId,this.turnaround(),Object(s.ensureNotNull)(this._symbolInstanceId),this._resolution,i,this._onMessage.bind(this)))}requestMoreData(e){null!==this._instanceId&&this._gateway.requestMoreData(this._instanceId,e,this._onMessage.bind(this))}requestMoreTickmarks(e){null!==this._instanceId&&this._gateway.requestMoreTickmarks(this._instanceId,e,this._onMessage.bind(this))}isStarted(){return this._status!==m.Idle}isActive(){return this._status===m.Active}start(){this.isStarted()?_.logNormal("start: data source is already started, nothing to do"):(Object(s.assert)(null!==this._symbol,"symbol must be set before start"),Object(s.assert)(null!==this._resolution,"resolution must be set before start"),this._gateway.isConnected().value()?this._createSeries():this._changeStatusTo(m.AwaitingConnection))}stop(){this.isStarted()?(null!==this._instanceId&&(this._gateway.removeSeries(this._instanceId),this._instanceId=null),this._changeStatusTo(m.Idle)):_.logNormal("stop: data source is already stopped, nothing to do")}instanceId(){return this._instanceId}data(){return this._data}clearData(){this.isStarted()?this._enqueueUpdate(()=>this._clearDataImpl()):this._clearDataImpl()}dataEvents(){return this._dataEvents}turnaround(){return`${this._turnaroundPrefix}${this._turnaroundCounter}`}symbolInstanceId(){return this._symbolInstanceId}moveData(e){this._enqueueUpdate(()=>this._data.moveData(e))}_clearDataImpl(){this._data.clear()}_resolveSymbol(){null!==this._symbol&&(this._symbolInstanceId="sds_sym_"+f++,this._gateway.resolveSymbol(this._symbolInstanceId,Object(n.encodeExtendedSymbolOrGetSimpleSymbolString)(this._symbol),this._onMessage.bind(this)))}_changeStatusTo(e){Object(s.assert)(this._status!==e,"Source and destination status should be distinct"),_.logNormal(`Status changed from ${m[this._status]} to ${m[e]}`),this._status=e}_createSeries(){Object(s.assert)(this._status!==m.Active,'Status should not be "Active" when creating a study'),this._instanceId="sds_"+g++,this._resolveSymbol(),this._gateway.createSeries(this._instanceId,this.turnaround(),Object(s.ensureNotNull)(this._symbolInstanceId),Object(s.ensureNotNull)(this._resolution),this._createSeriesParams,this._timeFrame,this._onMessage.bind(this)),this._timeFrame=null,this._changeStatusTo(m.AwaitingFirstDataUpdate)}_onGatewayIsConnectedChanged(e){e?this._onGatewayConnected():this._onGatewayDisconnected()}_onGatewayConnected(){
this._status===m.AwaitingConnection&&this._createSeries()}_onGatewayDisconnected(){this._status!==m.Idle&&this._status!==m.AwaitingConnection&&(this._instanceId=null,this._changeStatusTo(m.AwaitingConnection)),this._turnaroundCounter=1}_onMessage(e){this._enqueueUpdate(()=>this._onMessageImpl(e))}async _onMessageImpl(e){switch(e.method){case"symbol_resolved":{const[t,i]=e.params;if(t!==this._symbolInstanceId){_.logNormal(`Resolve for old symbol, expected: ${this._symbolInstanceId}, actual ${e.params[0]}`);break}this._onSymbolResolved(i);break}case"symbol_error":if(e.params[0]!==this._symbolInstanceId){_.logNormal(`Symbol error for old symbol, expected: ${this._symbolInstanceId}, actual ${e.params[0]}`);break}this._onSymbolError(e);break;case"series_timeframe":{const[t,i,s,r,n,o,a]=e.params;if(!this._checkTurnaround(t,i)){_.logNormal(`Time frame for old data, expected: ${this._symbolInstanceId} (${this.turnaround()}), actual ${t} (${i})`);break}this._onSeriesTimeFrame(s,r,n,o,a);break}case"series_error":{const[t,i]=e.params;if(!this._checkTurnaround(t,i)){_.logNormal(`Series error for old data, expected: ${this._symbolInstanceId} (${this.turnaround()}), actual ${t} (${i})`);break}this._onSeriesError(e.params[2]);break}case"series_loading":{const[t,i]=e.params;if(!this._checkTurnaround(t,i))break;this._onSeriesLoading(e.time);break}case"series_completed":{const[t,i,s]=e.params;if(!this._checkTurnaround(t,s)){_.logNormal(`Series completed for old data, expected: ${this._symbolInstanceId} (${this.turnaround()}), actual ${t} (${s})`);break}this._onSeriesCompleted(i,e.time);break}case"data_update":if(!this._checkTurnaround(e.params.customId,e.params.turnaround)){_.logNormal(`Data update for old data, expected: ${this._symbolInstanceId} (${this.turnaround()}), actual ${e.params.customId} (${e.params.turnaround})`);break}await this._onDataUpdate(e.params.plots,e.params.nonseries,e.params.lastBar);break;case"clear_data":if(e.params.turnaround!==this.turnaround()){_.logNormal(`Clear data for old data, expected: ${this.turnaround()}, actual ${e.params.turnaround}`);break}this._clearDataImpl(),this._dataEvents.fireDataUpdated(void 0,!1)}}_onSeriesError(e){let t,i;if("string"==typeof e)i={error:e},t=e;else if(i=e,e.ctx){const i={};Object.entries(e.ctx).forEach(([e,t])=>{i[e]=t.toString()}),t=e.error.format(i)}else t=e.error;if(t.startsWith("study_not_auth:")){const e=t.split(":",2)[1].split("@",2)[0];["BarSetRenko","BarSetPriceBreak","BarSetKagi","BarSetPnF"].includes(e)?this._dataEvents.fireChartTypeNotPermitted(e):"BarSetSpread"===e?this._dataEvents.fireIntradaySpreadNotPermitted():"BarSetRange"===e&&this._dataEvents.fireCustomIntervalNotPermitted()}else"resolution_not_entitled"===t?this._dataEvents.fireIntradayExchangeNotPermitted():"custom_resolution"===t?this._dataEvents.fireCustomIntervalNotPermitted():"seconds_not_entitled"===t&&this._dataEvents.fireSecondsIntervalNotPermitted();this._dataEvents.fireSeriesError(i)}_onSeriesTimeFrame(e,t,i,s,r){this._dataEvents.fireSeriesTimeFrame(e,t,i,null==s||s,r)}_onSymbolError(e){
if(e.params[1]===c.permissionDenied)switch(e.params[2]){case c.SymbolErrorPermissionDeniedReason.Symbol:this._dataEvents.fireSymbolNotPermitted(e.params[3]);break;case c.SymbolErrorPermissionDeniedReason.GroupPermission:this._dataEvents.fireSymbolGroupNotPermitted(e.params[3]);break;default:this._dataEvents.fireSymbolNotPermitted(e.params[2])}this._dataEvents.fireSymbolError(e.params[1])}_onSymbolResolved(e){this._dataEvents.fireSymbolResolved(e)}async _onDataUpdate(e,t,i){this._onDataUnpacked(e,i,await async function(e){if(void 0===e)return{projectionPlots:[],boxSize:null};if(""===e.d||"nochange"===e.indexes)return null;const t=await Object(l.unpackNonSeriesData)(e.d);if(null===t||t.indexes_replace)return null;const i=e.indexes,{bars:s,price:r,boxSize:n,reversalAmount:o}=t.data,a=(s||[]).map(e=>{let t;return"factor"in e?t=e.factor:"additionalPrice"in e&&(t=e.additionalPrice),{index:i[e.time],value:[0,e.open,e.high,e.low,e.close,e.volume,t]}});return{lastPrice:r,projectionPlots:a,reversalAmount:o,boxSize:n}}(t))}_enqueueUpdate(e){return this._ongoingDataUpdate=this._ongoingDataUpdate.then(e,e),this._ongoingDataUpdate}_onDataUnpacked(e,t,i){if(this._status===m.Idle)return;this._status===m.AwaitingFirstDataUpdate&&(this._changeStatusTo(m.Active),this._clearDataImpl());const s=this._data.bars().size(),r=this._data.bars().firstIndex(),n=this._data.bars().merge(e);null!==i&&(this._data.nsBars().clear(),this._data.nsBars().merge(i.projectionPlots),this._data.lastProjectionPrice=i.lastPrice,null!==i.boxSize&&(this._data.boxSize=i.boxSize),this._data.reversalAmount=i.reversalAmount);const o=null===r||null!==n&&n.index{i&&e.classList.remove(i),e.classList.add(t);const r=i=>{i.target===e&&i.animationName===t&&(e.removeEventListener(i.type,r),s(i))};e.addEventListener("animationend",r,!1),e.addEventListener("webkitAnimationEnd",r,!1),e.addEventListener("MSAnimationEnd",r,!1)})}function n(e){return r(e,"tv-transition--fade-in","tv-transition--fade-out")}i.d(t,"UserDefinedBarsMarksTooltip",(function(){return o}));class o extends class{constructor(){this._source=null,this._tooltipHovered=!1,this._layout=null,this._container=null,this._context=null,this._plateArrowSize=14}showPlate(e,t){if(this._currentId!==e.id||!this._layout||null===this._layout.parentNode){this._currentId=e.id,this._createLayout();const i=Object(s.ensureNotNull)(this._layout);this._getContainer(t).appendChild(i),i.addEventListener("mouseenter",()=>{this._tooltipHovered=!0,n(Object(s.ensureNotNull)(this._layout))}),i.addEventListener("mouseleave",()=>{this._tooltipHovered=!1})}const i=Object(s.ensureNotNull)(this._layout);let r=Math.round(e.barWidth/2);r>15&&(r=15),r<10&&(r=10),this._updatePlate(e);const o=t.canvas.getBoundingClientRect(),a=e.x-i.offsetWidth{t.remove(),e()})}setSource(e){this._source=e}_getContainer(e){return this._container&&this._context===e||(this._context=e,this._container=e.canvas.parentElement),Object(s.ensureNotNull)(this._container)}_removeLayout(){var e;this._tooltipHovered||null===(e=this._layout)||void 0===e||e.remove()}_toggleLayout(e){Object(s.ensureNotNull)(this._layout).style.visibility=e?"visible":"hidden"}}{constructor(){super(...arguments),this._layoutText=null}_createLayout(){this._layout=document.createElement("div"),this._layout.classList.add("bar-mark-tooltip"),this._layoutText=document.createElement("div"),this._layoutText.classList.add("text"),this._layout.appendChild(this._layoutText)}_updatePlate(e){this._currentId=e.id;const t=Object(s.ensureNotNull)(this._layout);t.style.borderColor=e.theme.border,t.style.marginTop=e.tooltipMargin+"px";const i=Object(s.ensureNotNull)(this._layoutText);i.innerHTML=e.text,t.appendChild(i)}}},CHw2:function(e,t,i){
"use strict";var s=i("WPQD").LineToolTrendLine,r=i("Ocx9").DefaultProperty;class n extends s{constructor(e,t){super(e,t||n.createProperties())}name(){return"Extended Line"}static createProperties(e){var t=new r("linetoolextended",e);return n._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e)}}t.LineToolExtended=n},CJIV:function(e,t,i){"use strict";var s=i("Ss5c").LineDataSource,r=i("p1SQ").LineToolHorzLinePriceAxisView,n=i("tc+8"),o=i("Ocx9").DefaultProperty;class a extends s{constructor(e,t){super(e,t||a.createProperties()),this._priceAxisView=new r(this),i.e("lt-pane-views").then(i.t.bind(null,"1oDZ",7)).then(({HorzRayPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}pointsCount(){return 1}name(){return"Horizontal Ray"}priceAxisViews(e,t){return this.isSourceHidden()?null:t===this.priceScale()&&this.properties().showPrice.value()&&this._model.paneForSource(this)===e?[this._priceAxisView]:null}updateAllViews(){super.updateAllViews(),this._priceAxisView.update()}canHasAlert(){return!0}_getAlertPlots(){var e=this._points[0],t={index:e.index+1,price:e.price};return[this._linePointsToAlertPlot([e,t],null,!1,!0)]}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(27),i.e(62),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"e0H+"))).HorizontalRayDefinitionsViewModel}template(){var e=s.prototype.template.call(this);return e.text=this.properties().childs().text.value(),e}_applyTemplateImpl(e){super._applyTemplateImpl(e),this.properties().childs().text.setValue(e.text)}static createProperties(e){var t=new o("linetoolhorzray",e);return a._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e),e.hasChild("text")||e.addChild("text",new n("")),e.addExclusion("text")}}t.LineToolHorzRay=a},CLNU:function(e,t,i){(function(e){TradingView.cleanButAmpersand=function(e,t){var i=t?["&"]:["&"];return TradingView.clean(e,t,i)},TradingView.strip_tags=function(e){return e&&e.replace?e.replace(/(<([^>]+)>)/gi,""):e},TradingView.encodeSpread=function(e){return encodeURIComponent(e)},TradingView.clean=function(e,t,i){var s=[["&","&"],["<","<"],[">",">"],['"',"""],["'","'"],["'","'"]],r=e;if(!e||!e.replace)return r;for(var n=0;ne.add(new r.Point(h.xCoordOffset,h.yCoordOffset))):u).forEach(e=>c.addFixedPoint(e));const d=t.normalizedPoints(),p=i?function(e,t,i){const r=Object(s.ensureNotNull)(t.priceScale()),n=Object(s.ensureNotNull)(t.firstValue());return e.map(e=>{const t=e.price,s=r.priceToCoordinate(t,n)+i.yCoordOffset,o=r.coordinateToPrice(s,n);return{time_t:e.time_t,price:o,offset:e.offset+i.barOffset}})}(d,l,h):d,_=t.points();return c.restorePoints(p,_),c.cloneData&&c.cloneData(t),c.checkAlert&&c.checkAlert(),c}function L(e,t){return e.dataSources().find(e=>x(e)&&e.linkKey().value()===t)||null}},Cf1E:function(e,t,i){"use strict";function s(e){if(void 0===e)return"";if(e instanceof Error){let t=e.message;return e.stack&&(t+=" "+e.stack),t}return"string"==typeof e?e.toString():JSON.stringify(e)}i.d(t,"a",(function(){return s}))},CsKN:function(e,t,i){"use strict";i.r(t),i.d(t,"SetScaleRatioPropertiesCommand",(function(){return n}));var s=i("RDU5"),r=i("Ocx9");class n extends s.UndoCommand{constructor(e,t,i,s){super(i),this._property=e,this._newValue=t,this._model=s,this._priceScale=this._model.mainSeries().priceScale(),this._oldValue=this._property.value(),this._oldMode=this._priceScale.mode()}redo(){this._oldValue=this._property.value(),this._oldMode=this._priceScale.mode(),Object(r.saveDefaultProperties)(!0),this._priceScale.setMode({autoScale:!1,percentage:!1,log:!1}),this._property.setValue(this._newValue),Object(r.saveDefaultProperties)(!1),this._model.recalculateAllPanes(),this._model.lightUpdate()}undo(){Object(r.saveDefaultProperties)(!0),this._property.setValue(this._oldValue),this._priceScale.setMode(this._oldMode),Object(r.saveDefaultProperties)(!1),this._model.recalculateAllPanes(),this._model.lightUpdate()}}},CwKc:function(e,t){
e.exports=''},CxTi:function(e,t,i){e.exports={css_value_currency_label_top:"6",css_value_currency_label_radius:"4",css_value_currency_label_text_horizontal_padding:"4",css_value_border_color_light:"#D1D4DC",css_value_border_color_dark:"#363A45","price-axis-currency-label-wrapper":"price-axis-currency-label-wrapper-25tFaE37","price-axis-currency-label":"price-axis-currency-label-25tFaE37",readonly:"readonly-25tFaE37",multiline:"multiline-25tFaE37","price-axis-currency-label-dropdown":"price-axis-currency-label-dropdown-25tFaE37","price-axis-currency-label-text":"price-axis-currency-label-text-25tFaE37","price-axis-currency-label-arrow-down":"price-axis-currency-label-arrow-down-25tFaE37"}},DVnF:function(e,t,i){"use strict";i.d(t,"a",(function(){return r}));var s=i("Ss5c");class r extends s.LineDataSource{constructor(){super(...arguments),this._finished=!1}pointsCount(){return-1}finished(){return this._finished}finish(){this._finished=!0,this._lastPoint=null,this.normalizePoints(),this.createServerPoints()}hasEditableCoordinates(){return!1}addPoint(e,t,i){if(this._finished)return!0;if(this._lastPoint=null,this._points.length>0){const t=this._points[this._points.length-1],i=this.pointToScreenPoint(t)[1];if(this.pointToScreenPoint(e)[1].subtract(i).length()<2)return this._finished}return super.addPoint(e),this._finished}restorePoints(e,t,i){super.restorePoints(e,t,i),this._finished=!0}}},Daqx:function(e,t,i){"use strict";i.d(t,"a",(function(){return o}));const s=["Z","Y","X","W","V","U","T","S"],r=["A","B","C","D","E","F","G","H"];class n{constructor(e){this.label=e}equals(e){return null!==e&&this.label===e.label}}function o(e,t){const i="left"===e?s:r;return new n(tt.id()===e)
;void 0!==t&&this._chartModel.removePane(t)}createdPaneId(){return this._paneId}}var a=i("txPx"),l=i("25b6"),c=i("qHEz");const h=Object(a.getLogger)("Clipboard");class u{constructor(e){this._e=e}write(e){return Object(c.a)(this._toRaw(e),this._e)}_toRaw(e){const t={files:[]};t.text=e.text,void 0!==e.app?t.html=this._serializeAppData(e.app,e.text):e.html&&(t.html=e.html);for(const i of e.files||[])t.files.push(i);return t}_serializeAppData(e,t){return`${t?Object(l.b)(t.slice(0,256)):"📈"}`}}class d{constructor(e){this._e=e}async read(){this._e&&0===this._e.eventPhase&&(h.logWarn("Cannot use an already dispatched ClipboardEvent for reading"),this._e=null);const e=this._e?this._readUsingEvent(this._e):await this._readUsingApi();return this._fromRaw(e)}_readUsingEvent(e){const t=Object(s.ensure)(e.clipboardData);e.preventDefault();const i={files:[]};for(let e=0;e0&&(t.files=e.files),t}_parseAppData(e){if(-1===e.slice(0,1024).indexOf("data-tradingview-clip"))return;const t=(new DOMParser).parseFromString(e,"text/html").querySelector("[data-tradingview-clip]");return t?t.getAttribute("data-tradingview-clip")||"":void 0}_readBlobAsText(e){return new Promise((t,i)=>{const s=new FileReader;s.onloadend=()=>{t(s.result)},s.onerror=()=>{i(s.error)},s.readAsText(e)})}}var p=i("d700");function _(e){const t=e.target;return null!==t&&1===t.nodeType&&Object(p.b)(t)}function m(e){const t=e.target;if(null===t)return!1;const i=(t.ownerDocument||t).getSelection();return null!==i&&!i.isCollapsed}class f extends class{constructor(e){this._callbacks=Object.assign({},e),this._boundOnCopy=this._onCopyEv.bind(this),this._boundOnCut=this._onCutEv.bind(this),this._boundOnPaste=this._onPasteEv.bind(this)}listen(){document.addEventListener("copy",this._boundOnCopy),document.addEventListener("cut",this._boundOnCut),document.addEventListener("paste",this._boundOnPaste)}async peek(){if("granted"!==(await navigator.permissions.query({name:"clipboard-read"})).state)throw new Error("clipboard-read is not granted");return new d(null).read()}uiRequestCopy(e){
this._callbacks.copyRequested&&this._callbacks.copyRequested(new u(null),e)}uiRequestCut(e){this._callbacks.cutRequested&&this._callbacks.cutRequested(new u(null),e)}uiRequestPaste(e){this._callbacks.pasteRequested&&this._callbacks.pasteRequested(new d(null),e)}destroy(){document.removeEventListener("copy",this._boundOnCopy),document.removeEventListener("cut",this._boundOnCut),document.removeEventListener("paste",this._boundOnPaste)}_onCopyEv(e){e.defaultPrevented||this._callbacks.copyRequested&&this._callbacks.copyRequested(new u(e))}_onCutEv(e){e.defaultPrevented||this._callbacks.cutRequested&&this._callbacks.cutRequested(new u(e))}_onPasteEv(e){e.defaultPrevented||this._callbacks.pasteRequested&&this._callbacks.pasteRequested(new d(e))}}{_onCopyEv(e){if(!_(e)&&!m(e))return super._onCopyEv(e)}_onCutEv(e){if(!_(e)&&!m(e))return super._onCutEv(e)}_onPasteEv(e){if(!_(e))return super._onPasteEv(e)}}i.d(t,"applyIndicatorsToAllChartsImpl",(function(){return g})),i.d(t,"applyIndicatorToAllChartsImpl",(function(){return b})),i.d(t,"lineToolsAndGroupsDTOsImpl",(function(){return S})),i.d(t,"getStateForChartImpl",(function(){return y})),i.d(t,"getAsyncStateForChartImpl",(function(){return w})),i.d(t,"resetLineToolsInvalidatedImpl",(function(){return P})),i.d(t,"applyLineToolUpdateNotificationImpl",(function(){return C})),i.d(t,"createClipboardHandler",(function(){return x})),i.d(t,"setBrokerImpl",(function(){return T})),i.d(t,"chartsSymbolsImpl",(function(){return I}));Object(r.t)("Please give us a clipboard writing permission in your browser or press {keystroke}");function g(e,t){const i=t.model().model().studyTemplate();e.undoHistory.beginUndoMacro("Apply Indicators to Entire Layout");for(let s=0;se.id()===n))}const c=t.pasteSourceFromClip(a,i,!0);if(c&&1===c.length){const e=c[0];if(r.asCompare){const i=Object(s.ensureNotNull)(t.mainSeries().priceScale());t.moveToScale(e,Object(s.ensureDefined)(a),i,n),t.setPriceScaleMode({percentage:!0},i,"")}}t.model().lightUpdate()}}e.undoHistory.endUndoMacro()}function v(e){let t=1;for(;e.has(""+t);)t++;return""+t}function S(e){const t=new Map,i=e.chartsCountToSave(),s=new Set;for(let r=0;re.chartWidget).find(e=>e.id()===t))||void 0===s||s.applyLineToolUpdateNotification(i)}function x(e){return new f({copyRequested:(t,i)=>{e.activeChartWidget.value().model().clipboardCopy(t,i)},cutRequested:(t,i)=>{e.activeChartWidget.value().model().clipboardCut(t,i)},pasteRequested:(t,i)=>{(i?i.model().undoModel():e.activeChartWidget.value().model()).clipboardPaste(t,i)}})}function T(e,t){0}function I(e){const t={};return e.chartWidgetsDefs.map(e=>e.chartWidget).forEach(e=>t[e.id()]=function(e){var t,i;const s={},r=e.model().mainSeries(),n=r.properties(),o=r.symbolInfo();s.resolution=r.properties().interval.value(),s.symbol_type=null!==o&&o.type||"",s.exchange=null!==o&&o.exchange||"",s.listed_exchange=null!==o&&o.listed_exchange||"";const a=null!==(t=null==o?void 0:o.legs)&&void 0!==t?t:[];if(null!==o&&r.isSpread()){const e=a[0];let t=o.base_name[0];t=t.split(":")[1],s.symbol=e,s.short_name=t,s.expression=o.full_name}else s.symbol=null!==o&&o.ticker||n.symbol.value(),s.short_name=n.shortName.value();const l=null!==(i=null==o?void 0:o.base_name)&&void 0!==i?i:[];return s.legs=a.map((e,t)=>({symbol:e,pro_symbol:l[t]})),s}(e)),t}},E6p6:function(e,t,i){"use strict";var s;i.r(t),i.d(t,"SessionStage",(function(){return s})),function(e){e[e.PRE_SESSION=-1]="PRE_SESSION",e[e.POST_SESSION=-2]="POST_SESSION",e[e.LASTBAR_SESSION=-3]="LASTBAR_SESSION"}(s||(s={}))},EJcV:function(e,t,i){"use strict";var s=i("rQHv"),r=i("ocLq"),n=i("8gnj"),o=i("XRI5").SymbolExtrapolator,a=i("ViuT").SessionTimeScale,l=i("gzUS").PointsetsManager,c=i("IiTo"),h=i("OLhd").createDwmAligner,u=i("LxhU").Interval,d=i("FQhm"),p=i("TlGQ").visitObject,_=i("ogJP").isObject;i("2cgs"),i("MrEN");var m=i("WIS0").DatafeedRequestsCachedProcessor,f=i("+6ja").timezoneIsAvailable,g=i("OLhd").isAlignmentEnabled,b=i("5fI3"),v=b.isEncodedExtendedSymbol,S=b.decodeExtendedSymbol,y=i("n5al").extractSymbolNameFromSymbolInfo,w=i("dUJ+").replaceGraphicsTimesWithTimePointIndexIndex,P=i("Kxc7");function C(e){var t=e.findIndex((function(e){return-5e6!==e.index}));return-1===t?[]:0===t?e:e.slice(t)}function x(e,t){return e+"_"+t}var T=function(e){var t=this;this._studiesCache={},this._objectsDataCache={},this._studiesNonSeriesTimes={},this._metainfoCache=[],this._barsCoefficientsCache={},this._externalDatafeed=e,
e.getVolumeProfileResolutionForPeriod&&r.overwriteVolumeProfileResolutionForPeriodGetter((function(t,i,s,r){return e.getVolumeProfileResolutionForPeriod(t,i,s,r)})),this._datafeedConfiguration=null,this._marketStatusWatchers={},this._resolveRequests={},this._resolvePromisesBySymbolId=new Map,this._symbolIdToSymbolRequestString=new Map,this._callbacks={},this._serverTimeOffset=0,t._logMessage("Datafeed settings received: {0}".format(JSON.stringify(window.configurationData))),t._datafeedConfiguration=t._adoptConfigurationData(window.configurationData),t._fireEvent("configuration_received"),t._externalDatafeed.getServerTime&&t._externalDatafeed.getServerTime((function(e){t._serverTimeOffset=e-(new Date).valueOf()/1e3})),this._invalidatedPointsetSessions=new Set,this._refreshPointsetsTimerId=null,this._pointsetsManagers={},this._quotesInfo=[],this._depthInfo=[],this._endOfData={},this._computeStudyCounter=0,this._symbolExtrapolators={},this._timeScales={},this._cachedDatafeed=new m(e,this.serverTimeOffset.bind(this),this._datafeedConfiguration.reset_cache_timeout),n.setupFeed({resolve:function(e,i,s,r){t._resolveSymbolByName(e,i,s,r)},subscribe:function(e,i,s,r,n){return t._cachedDatafeed.subscribe(e,i,s,function(e,i,s){var r=new c.SessionInfo(e.timezone,e.session,e.session_holidays,e.corrections),n=c.newBarBuilder(i,r,r);return function(e){if(e&&e.count()){var i=1e3*t.getCurrentUTCTime();n.moveTo(i),n.indexOfBar(i)>=0&&e.setLastBarClosed(!1)}s(e)}}(e,i,r),n)},unsubscribe:function(e){return t._cachedDatafeed.unsubscribe(e)}})};function I(e,t){return e+"_"+t}function M(e,t,i){return e+(t?"_#_"+t:"")+(i?"_#_"+i:"")}T.prototype._getSymbolExtrapolator=function(e,t,i){var s=u.normalize(i),r=function(e,t,i){return e+","+t.full_name+","+i}(e,t,s),n=this._symbolExtrapolators[r];return void 0===n&&(n=new o(t,s),this._symbolExtrapolators[r]=n),n},T.prototype._barsCoefficients=function(e,t){if(void 0===S(e).type)return{};var i=e+t;return this._barsCoefficientsCache[i]||(this._barsCoefficientsCache[i]={}),this._barsCoefficientsCache[i]},T.prototype.destroy=function(){this._cachedDatafeed.destroy(),this._externalDatafeed=null,Object.keys(this._pointsetsManagers).forEach((function(e){this._pointsetsManagers[e].destroy()}),this),this._pointsetsManagers={}},T.prototype.purgeCache=function(){this._endOfData={},this._resolveRequests={},this._objectsDataCache={},this._studiesNonSeriesTimes={},this._studiesCache={},this._resolvePromisesBySymbolId.clear(),this._symbolIdToSymbolRequestString.clear(),Object.keys(this._pointsetsManagers).forEach((function(e){this._pointsetsManagers[e].destroy()}),this),this._pointsetsManagers={},Object.keys(this._timeScales).forEach((function(e){this._timeScales[e].destroy()}),this),this._timeScales={},Object.keys(this._symbolExtrapolators).forEach((function(e){this._symbolExtrapolators[e].destroy()}),this),this._symbolExtrapolators={}},T.prototype.purgeDataCache=function(){this._cachedDatafeed.purgeCache()},T.prototype._logMessage=function(e){P.enabled("charting_library_debug_mode")&&console.log(e)},
T.prototype.on=function(e,t){return this._callbacks.hasOwnProperty(e)||(this._callbacks[e]=[]),this._callbacks[e].push(t),this},T.prototype._fireEvent=function(e,t,i){if(this._callbacks.hasOwnProperty(e)){for(var s=this._callbacks[e],r=0;r_[a].timeMs;l?_.push({index:f(s,_.length),value:[s/1e3].concat(r),timeMs:s}):(_[a].index=f(s,a),_[a].value=[s/1e3].concat(r),_[a].timeMs=s),p||d.onRealtimeCallback([_[_.length-1]],l,_.length,b,i)}(e,t,i)},nonseriesOut:function(e,t){d.onNonSeriesDataUpdate(t,i)},setNoMoreData:function(){v=!0},recalc:function(e,s){p=!1,_.endOfData=v,t.error&&null!==t.error()||(null!==l&&(S._objectsDataCache[l]=_),d.onDataReadyCallback(_,b,i,s))}});if(!S._studiesCache[e]||!S._studiesCache[e][n])throw Error("This should never happen");S._studiesCache[e][n].engine=y}catch(e){if(!e.studyError)throw e;d.onErrorCallback(e.message)}}else d.onErrorCallback("Unsupported resolution. Did you forget to set has_intraday to true?")}(w,C)},T.prototype._createStudy=function(e,t,i,s,r,n,o,a){var l=this;function c(e,t,i){e=C(e),l._timeScales[s].fillIndexesInRows(e),TradingView.ChartapiMessagerInstances[s].onDataUpdate(r,n,e,t),TradingView.ChartapiMessagerInstances[s].onStudyCompleted(r,n)}function h(e){var t={};if(0!==e.size){var i={},n=l._studiesCache[s][r].metainfo;e.forEach((function(e,t){i[n.plots[t].id]=e})),t.data={offsets:i}}return t}a=function(e){if(Array.isArray(e))return e;for(var t=[],i=l._studiesCache[s][r].metainfo.inputs,n=0;n=0},T.prototype.ensureExtendedTo=function(e,t,i){if(!this._studiesCache[t][e])throw Error("This should never happen");var s=this;setTimeout((function(){s._recreateSourcesForDataRange(t,{to:i})}),0)},T.prototype.extendSeriesRange=function(e,t){var i=this._timeScales[e].firstSeriesBarTime();if(null!==i){var s=this._mainSeriesRecord(e);if(u.isDWM(s.resolution)&&null!=s.symbolInfo){var r=h(s.resolution,s.symbolInfo);null!==r&&(i=r.timeToExchangeTradingDay(i))}var n=this._symbolIdToSymbolRequestString.get(x(e,s.symbolId)),o=this._barsCoefficients(n,s.resolution),a=o.barsCoefficient||1;if(!o.barsCoefficient){var l=this._getSeriesData(e,s.guid);null!==l&&(o.expectedBarsCount=l.length+t)}var c=this;setTimeout((function(){c._recreateSourcesForDataRange(e,{to:i,countBack:(t+2)*a})}),0)}else this._logMessage("Nothing to extend - there is no points on time scale")},T.prototype.seriesTurnaround=function(e,t){return this._studiesCache[e]&&this._studiesCache[e][t]&&this._studiesCache[e][t].turnaround},T.prototype._seriesDataRange=function(e,t){var i=this._studiesCache[e][t];return null!==i.firstLoadedTimeMs?{to:i.firstLoadedTimeMs,countBack:0}:i.dataRange},T.prototype._applyTimeScaleUpdate=function(e,t){if(null!==t){var i=[];for(var s in this._studiesCache[e]){var r=this._studiesCache[e][s];if(r&&"study"===r.type){var n=this._studiesNonSeriesTimes[e][s];if(n){var o={indexes:this._timeScales[e].convertTimesToIndexes(n),data:{indexes_replace:!0}};i.push({objId:s,turnaround:r.turnaround,data:[],nonSeriesData:o})}}}TradingView.ChartapiMessagerInstances[e].onTimescaleUpdate(t,i),Promise.resolve().then(function(){var t=this._mainSeriesRecord(e);if(null!==t&&null!=t.symbolInfo){var i=this._getSymbolExtrapolator(e,t.symbolInfo,t.resolution);this._pointsetsManagers[e].getUpdatesForSymbol(t.symbolInfo.full_name,t.resolution,i,this._timeScales[e]).forEach((function(t,i){TradingView.ChartapiMessagerInstances[e].onPointsetDataUpdate(i,null,t)}))}}.bind(this))}},T.prototype._updateMainTsBuilder=function(e){var t=this._mainSeriesRecord(e);if(null!==t&&null!=t.symbolInfo){var i=this._getSymbolExtrapolator(e,t.symbolInfo,t.resolution);this._timeScales[e].setMainSymbolExtrapolator(i)}},T.prototype._updateTimeScaleState=function(e){var t=!0,i=!0;for(var s in this._studiesCache[e]){var r=this._studiesCache[e][s];"series"===r.type&&(i=i&&this._isEndOfData(e,s,r.turnaround),t=t&&r.completed)}this._timeScales[e].isCompleted()!==t&&(this._timeScales[e].setCompleted(t),t&&TradingView.ChartapiMessagerInstances[e].onTimescaleCompleted(i))},T.prototype._mainSeriesRecord=function(e){var t=null,i=null;for(var s in this._studiesCache[e]){var r=this._studiesCache[e][s];if("series"===r.type&&(null===t&&(t=r),r.isMain)){i=r;break}}return null===i&&(i=t),null!==i&&(i.isMain=!0),i},T.prototype._seriesCount=function(e){var t=0;for(var i in this._studiesCache[e]){"series"===this._studiesCache[e][i].type&&(t+=1)}return t},T.prototype._prepareSeriesNonSeriesData=function(e,t,i){
var s=i.data[i.data.length-1],r=this._getSeriesData(e,t),n=null===r?[]:i.data;return{data:{data:{reversalAmount:i.reversalAmount,boxSize:i.boxSize,price:s?s[4]:i.price,bars:n.map((function(e,t){return{time:t,open:e[1],high:e[2],low:e[3],close:e[4],volume:e[5],factor:e[6],additionalPrice:e[6]}}))}},indexes:this._timeScales[e].convertTimesToIndexes(n.map((function(e){var t=e[0]||0;return t<0?r[r.length+t].timeMs:i.projectionTime+t})))}},T.prototype.createSeries=function(e,t,i,s,n,o,a){this._setEndOfData(e,t,i,!1);var l=new r.OHLCV;this._studiesCache[e]=this._studiesCache[e]||{};var c=this._getSeriesData(e,t),h=this._studiesCache[e][t],d=this._seriesCount(e),p=this._mainSeriesRecord(e);if(!h||u.isEqual(h.resolution,n)&&h.symbolId===s)void 0!==o.countBack&&null!==c&&0!==c.length&&(o.to=c[0].timeMs),h&&null!=h.firstLoadedTimeMs?o.to=void 0!==o.to?Math.min(h.firstLoadedTimeMs,o.to):h.firstLoadedTimeMs:h||0===d||null!==p&&(null!=p.firstLoadedTimeMs?(o.to=p.firstLoadedTimeMs,o.countBack=0):o=Object.assign({},p.dataRange));else if(1===d)void 0!==o.countBack&&null!==c&&(o.countBack+=c.length);else{var _=this._timeScales[e].firstSeriesBarTime();(void 0===o.to||null!==_&&_n||(TradingView.ChartapiMessagerInstances[e].onSeriesTimeframeUpdate(t,i,_,n,a),l&&setTimeout(l,0))}}}if(this._studyEngine.isTimeScaleExtendedTo(e,1e3*r))p();else{var m=TradingView.ChartapiMessagerInstances[e].seriesCompleted,f=TradingView.ChartapiMessagerInstances[e].seriesError;void 0!==this._setVisibleRangeTimeout[e]&&clearTimeout(this._setVisibleRangeTimeout[e]),this._setVisibleRangeTimeout[e]=setTimeout(function(){delete this._setVisibleRangeTimeout[e],m.subscribe(null,g,!0),f.subscribe(null,b,!0),this._studyEngine.ensureExtendedTo(t,e,1e3*r)}.bind(this),0)}function g(e,s){e===t&&s===i&&(m.unsubscribe(null,g),f.unsubscribe(null,b),p())}function b(e,s){e===t&&s===i&&m.unsubscribe(null,g)}},JSServer.ChartApi.prototype._applyTimeFrame=function(e,t,i,s,o){var a,l,c={},h=!0;if(o.type===p.PeriodBack){var u=this._studyEngine.getSeriesLastBarTime(e,i);if(null===u)return;l=u/1e3;var d=n.parse(o.value),m=this._studyEngine.getSeriesSymbolInfo(e,i);a=r.alignPeriodsBackForVisibleRange(m.session,m.session_holidays,m.corrections,d.letter(),d.multiplier(),1,u)/1e3;var f=_(this._studyEngine.getSeriesInterval(e,i),m);null!==f&&(l=f.timeToExchangeTradingDay(1e3*l)/1e3,a=f.timeToExchangeTradingDay(1e3*a)/1e3),c={applyDefaultRightMargin:!0},h=!1}else a=o.from,l=o.to;this.setVisibleTimeRange(e,i,s,a,l,h,c)},JSServer.ChartApi.prototype.modifySeries=function(e,t,i,s,r,n,o){var a=this;this._notificationHandlers[e][t]=new h((function(r){"series_completed"===r.method&&null!==n&&(a._applyTimeFrame(e,s,t,i,n),n=null),o(r)}),t),this._studyEngine.modifySeries(e,t,s,r,i)},JSServer.ChartApi.prototype.requestMoreData=function(e,t){this._studyEngine.extendSeriesRange(e,t)},JSServer.ChartApi.prototype.setStudiesAccessController=function(e){this.studiesAccessController=e},JSServer.ChartApi.prototype.setWatchlistSettings=function(e){this._watchlistSettings=e},JSServer.ChartApi.prototype.allStudiesMetadata=function(){return this._studyEngine.studiesMetadata()},JSServer.ChartApi.prototype.requestMetadata=function(e,t,i){this._notificationHandlers[e][t]=new h(i,t);var s=this.studiesAccessController.getEnabledTools();TradingView.ChartapiMessagerInstances[e].onRequestMetadata(t,s)},JSServer.ChartApi.prototype.isCanCreateStudy=function(){return this.studyCounter{if(Object(u.isPlotWithTechnicalValues)(t))return;const s=t.id;this._emptyValues.push({id:s,index:i,title:this._study.guiPlotName(s),value:"",visible:!1});const r=Object(u.isOhlcPlot)(t)?t.target:t.id;this._colorProviders.set(r,Object(p.createStudyPlotColorProvider)(e.metaInfo(),e.properties(),r))})}getItems(){return this._emptyValues}getValues(e){const t=this._emptyValues.map(e=>({...e}));let i=null;const r=this._study.data().lastIndex();if(null!==r)for(const e of t){if(!this._study.properties().styles[e.id].visible.value())continue;const t=this._study.nearestIndex(r,l.PlotRowSearchMode.NearestLeft,e.index+1);if(void 0===t)continue;const s=t+this._study.offset(e.id);i=null!==i?Math.max(s,i):s}(null===e||null!==i&&e>i)&&(e=i);const n=this._hideValues(),a=this._study.isVisible()&&!n?b:"";for(const e of t)e.value=a;if(n)return t;if(v&&t.length&&(t[t.length-1].value=""),this._study.metaInfo().graphics.hhists)return this._getValuesForHHist(t,e);const c=this._study.priceScale();if(!this._study.isVisible()||null===e||null===c||c.isEmpty()||this._model.timeScale().isEmpty())return t;const h=this._study.metaInfo().plots,p=Object(_.a)(this._study),m={};for(const i of t){let t=i.id;const n=this._study.properties().styles[t].visible.value();if(i.visible=n,!n)continue;const a=i.index,c=e-this._study.offset(t),_=null!==r&&c>r?l.PlotRowSearchMode.NearestLeft:l.PlotRowSearchMode.Exact,f=this._study.nearestIndex(c,_);if(void 0===f)continue;let g=m[t];if(void 0===g&&(g=this._study.getMinFirstBarIndexForPlot(t),Number.isFinite(g)&&(m[t]=g)),g>f)continue;const b=this._study.data().last(),v=this._study.data().valueAt(f)||(null!==b?b.value:null);if(null===v)continue;const S=v[a+1];if(!Object(s.isNumber)(S))continue;const y=S>0;i.value=p(S);const w=this._study.properties().styles[t];let P=w.color.value();const C=h[a];Object(u.isOhlcPlot)(C)?(t=C.target||t,P=this._study.properties().ohlcPlots[t].color.value()):Object(u.isArrowsPlot)(C)&&(P=y?w.colorup.value():w.colordown.value());let x=P;const T=this._colorProviders.get(t),I=T&&T.getPlotPointStyle(v);I&&(Object(u.isArrowsPlot)(C)?(y&&void 0!==I.colors[d.ColorerType.Up]&&(x=I.colors[d.ColorerType.Up]),y||void 0===I.colors[d.ColorerType.Down]||(x=I.colors[d.ColorerType.Down])):void 0!==I.colors[d.ColorerType.Main]&&(x=I.colors[d.ColorerType.Main])),"transparent"===x&&(x=P),
x=Object(o.resetTransparency)(x),i.color=x}return t}_hideValues(){return g&&(null===this._model.crossHairSource().pane||Object(c.isLineToolName)(h.tool.value())||null!==this._model.lineBeingEdited())}_getValuesForHHist(e,t){e.forEach(e=>{e.visible=this._study.isVisible(),e.value=b});const i=this._study.priceScale(),r=this._model.timeScale();if(null===i||i.isEmpty()||r.isEmpty()||this._hideValues())return e;if(null===t||!isFinite(t)){const i=this._study.data().last();if(null===i)return e;t=i.index}const n=this._model.crossHairSource(),o=n.price;if(!isFinite(n.y)&&null===(t=function(e,t){var i;const s=null===(i=e.visibleBarsStrictRange())||void 0===i?void 0:i.lastBar();if(!s)return null;const r=t.data().search(s,l.PlotRowSearchMode.NearestLeft);return r?r.index:null}(this._model.timeScale(),this._model.mainSeries())))return e;const a=function(e,t,i,s){if(0===e.size)return null;if(!i){const e=Object(m.ensureNotNull)(s.data().valueAt(t));i=s.barFunction()(e)}const r=function(e,t){let i=null;return e.forEach((e,s)=>{s<=t&&(null===i||s>i)&&(i=s)}),i}(e,t);if(null===r)return null;const n=e.get(r);if(!n||0===n.size)return null;return function(e,t){let i=null;return e.forEach(e=>{e.priceLow<=t&&t{if(t1&&t===u.colors.childCount()){const t=a.rate.reduce((e,t)=>e+t,0);return e.value=d.format(t),void(e.color=u.valuesColor.value())}e.value=""}}),e}}},Ecpn:function(e,t,i){"use strict";i.d(t,"a",(function(){return r}));const s={VbPFixed:!0,PivotPointsStandard:!0,VbPVisible:!0};function r(e){return e in s}},EqoR:function(e,t,i){"use strict";var s=i("5rJj"),r=i("aDyP").LineToolPitchfork;class n extends r{constructor(e,t){super(e,t||n.createProperties())}name(){return"Inside Pitchfork"}static createProperties(e){var t=new s("linetoolinsidepitchfork",e,!1,{range:[0,8]});return n._configureProperties(t),t}static _configureProperties(e){r._configureProperties(e)}}t.LineToolInsidePitchfork=n},Ery9:function(e,t,i){"use strict";i.r(t),i.d(t,"setCustomAdapter",(function(){return _})),i.d(t,"initialize",(function(){return m})),i.d(t,"updateUser",(function(){return f})),i.d(t,"getChartsCount",(function(){return g})),i.d(t,"getCharts",(function(){return b})),i.d(t,"removeChart",(function(){return v})),i.d(t,"saveChart",(function(){return S})),i.d(t,"getChartContent",(function(){return y})),i.d(t,"loadChart",(function(){return w})),i.d(t,"removeStudyTemplate",(function(){return P})),i.d(t,"getStudyTemplateContent",(function(){return C})),
i.d(t,"saveStudyTemplate",(function(){return x})),i.d(t,"getStudyTemplatesList",(function(){return T})),i.d(t,"invalidateStudyTemplatesList",(function(){return I})),i.d(t,"getStudyTemplateContentById",(function(){return M})),i.d(t,"getStandardStudyTemplateContentById",(function(){return O})),i.d(t,"removeStudyTemplateById",(function(){return L})),i.d(t,"renameStudyTemplate",(function(){return A})),i.d(t,"replaceStudyTemplate",(function(){return E})),i.d(t,"getDrawingTemplates",(function(){return k})),i.d(t,"loadDrawingTemplate",(function(){return D})),i.d(t,"removeDrawingTemplate",(function(){return V})),i.d(t,"saveDrawingTemplate",(function(){return B}));var s=i("FQhm"),r=i("txPx"),n=i("Cf1E");const o=Object(r.getLogger)("Chart.SaveloadAdapter.Library");let a,l,c,h,u=null,d=null;function p(e){return`${c}/${encodeURIComponent(h)}/${e}?client=${encodeURIComponent(a)}&user=${encodeURIComponent(l)}`}function _(e){u=e}function m(e,t,i,s){a=e,l=t,c=i,h=s}function f(e){l=e}function g(e,t){throw new Error("Not implemented")}async function b(){const e=e=>e.map(e=>({id:e.id,name:e.name,image_url:String(e.id),modified_iso:e.timestamp,short_symbol:e.symbol,interval:e.resolution}));if(u)return u.getAllCharts().then(e);try{const t=await fetch(""+p("charts"),{credentials:"same-origin"});if(!t.ok)throw new Error(`Getting chart content response was not OK. Status: ${t.status}.`);const i=await t.json();if("ok"!==i.status)throw new Error("Get chart content request failed: "+i.message);return e(i.data)}catch(e){throw o.logWarn(Object(n.a)(e)),e}}async function v(e){if(u)u.removeChart(e);else try{const t=await fetch(`${p("charts")}&chart=${encodeURIComponent(e)}`,{method:"DELETE",credentials:"same-origin"});if(!t.ok)throw new Error(`Remove chart response was not OK. Status: ${t.status}.`);const i=await t.json();if("ok"!==i.status)throw new Error("Remove drawing template request failed: "+i.message)}catch(e){throw o.logWarn(Object(n.a)(e)),e}}async function S(e,t,i,s,r){const a=r.id.value(),l={name:e,content:JSON.stringify(s),symbol:t,resolution:i};if(u)return u.saveChart({...l,id:a});try{const e=new FormData;for(const t in l)e.append(t,l[t]);let t=p("charts");null!=a&&(t+="&chart="+encodeURIComponent(a));const i=await fetch(t,{credentials:"same-origin",method:"POST",body:e});if(!i.ok)throw new Error(`Saving chart content response was not OK. Status: ${i.status}.`);const s=await i.json();if("ok"!==s.status)throw new Error("Saving chart content request failed: "+s.message);return s.id}catch(e){throw o.logWarn(Object(n.a)(e)),e}}async function y(e){const t=t=>{const i=JSON.parse(t);return i.uid=e.id,i};if(u)return u.getChartContent(e.id).then(e=>t(e));try{const i=await fetch(`${p("charts")}&chart=${encodeURIComponent(e.id)}`,{credentials:"same-origin"});if(!i.ok)throw new Error(`Getting chart content response was not OK. Status: ${i.status}.`);const s=await i.json();if("ok"!==s.status)throw new Error("Get chart content request failed: "+s.message);return t(s.data.content)}catch(e){throw o.logWarn(Object(n.a)(e)),e}}function w(e){
y(e).then(e=>{s.emit("chart_load_requested",e)},()=>{o.logWarn("Error loading chart")})}async function P(e){try{if(u)return u.removeStudyTemplate({name:e});const t=await fetch(`${p("study_templates")}&template=${encodeURIComponent(e)}`,{method:"DELETE",credentials:"same-origin"});if(!t.ok)throw new Error(`Remove study template response was not OK. Status: ${t.status}.`);const i=await t.json();if("ok"!==i.status)throw new Error("Remove study template request failed: "+i.message)}catch(e){throw o.logWarn(Object(n.a)(e)),e}}async function C(e){try{if(u){return{content:await u.getStudyTemplateContent({name:e})}}const t=await fetch(`${p("study_templates")}&template=${encodeURIComponent(e)}`,{credentials:"same-origin"});if(!t.ok)throw new Error(`Get study template response was not OK. Status: ${t.status}.`);const i=await t.json();if("ok"!==i.status)throw new Error("Get study template request failed: "+i.message);return i.data}catch(e){throw o.logWarn(Object(n.a)(e)),e}}async function x(e){try{if(u)return u.saveStudyTemplate(e).then(()=>({error:""})).catch(e=>({error:null!=e?Object(n.a)(e):"error"}));const t=new FormData;t.append("name",e.name),t.append("content",e.content);const i=await fetch(p("study_templates"),{method:"POST",body:t,credentials:"same-origin"});if(!i.ok)throw new Error(`Save study template response was not OK. Status: ${i.status}.`);const s=await i.json();return{error:"ok"===s.status?"":s.status}}catch(e){throw o.logWarn(Object(n.a)(e)),e}}async function T(){try{if(d)return d;d=[];const e=e=>(d=e.map(e=>({is_default:!1,name:e.name})),d);if(u)return u.getAllStudyTemplates().then(e);const t=await fetch(p("study_templates"),{method:"GET",credentials:"same-origin"});if(!t.ok)throw new Error(`Study templates list response was not OK. Status: ${t.status}.`);const i=await t.json();if("ok"!==i.status)throw new Error("Study templates list request failed: "+i.message);return e(i.data)}catch(e){throw o.logWarn(Object(n.a)(e)),e}}function I(){d=null}function M(e,t){throw new Error("Not implemented")}function O(e,t){throw new Error("Not implemented")}function L(e,t){throw new Error("Not implemented")}function A(e,t,i){throw new Error("Not implemented")}function E(e,t,i){throw new Error("Not implemented")}async function k(e){throw new Error("Not implemented")}async function D(e,t){throw new Error("Not implemented")}async function V(e,t){throw new Error("Not implemented")}async function B(e,t,i){throw new Error("Not implemented")}},EsvI:function(e,t,i){"use strict";i.r(t);i("bSeV");var s=i("eJTA"),r=i("wZIs"),n=i("Vdly");function o(){return Object(n.getValue)("current_theme.name")||null}var a=i("wVAQ"),l=i("txPx");const c=Object(l.getLogger)("Themes.Provider");let h=null;function u(e){return Object(a.fetch)("/theme/?themeName="+encodeURIComponent(e),{credentials:"include",method:"GET"}).then(e=>e.json()).then(e=>{const t={};return e.content&&(t.content=JSON.parse(e.content)),t})}var d=i("zM7N"),p=i("oiZD");var _=i("YFKU"),m=i("IMMp"),f=i("HGP3");const g={[d.a.Light]:{name:d.a.Light,label:()=>Object(_.t)("Light",{
context:"colorThemeName"}),order:2,getThemedColor:e=>Object(f.getHexColorByName)(e)},[d.a.Dark]:{name:d.a.Dark,label:()=>Object(_.t)("Dark",{context:"colorThemeName"}),order:1,getThemedColor:e=>{const t=m[e]||e;return Object(f.getHexColorByName)(t)}}};function b(e){return!e.isPrivate}function v(){return g[p.watchedTheme.value()]||g.light}function S(e){return v().getThemedColor(e)}async function y(e,t,i,s,n=!0,o=!1,a=!1){const l=await(t?Promise.resolve(O(e)):x(e));if(void 0!==l.content){const h=!t;a&&(void 0!==(c=l.content).chartProperties&&Object(r.applyDefaultsOverrides)(c.chartProperties),void 0!==c.mainSourceProperties&&Object(r.applyDefaultsOverrides)(c.mainSourceProperties,void 0,!0,"mainSeriesProperties")),await s.applyTheme(l.content,h,i,e,t,n,o)}var c;return l}function w(){Object(p.setTheme)(o()||"light")}function P(){return o()}function C(){var e;e=v().name,Object(n.setValue)("current_theme.name",e,{forceFlush:!0})}function x(e){return u(e)}function T(){return h||Object(a.fetch)("/themes/",{credentials:"include",method:"GET"}).then(e=>(h=e.json(),h))}function I(){return d.c()}function M(e){return I().includes(e)}function O(e){return d.b(e)||{content:void 0}}function L(e,t){const i=t||v().name,s=d.b(i),r=0!==e.length&&e.split(".");return s&&s.content&&r?r.reduce((e,t)=>e[t],s.content):null}function A(e,t,i){const r=L(e,i);return null!==r&&Object(s.areEqualRgba)(Object(s.parseRgba)(r),Object(s.parseRgba)(String(t)))}function E(e,t){return function(e,t){const i=new FormData;return i.append("content",JSON.stringify(t)),i.append("name",e),h=null,Object(a.fetch)("/save-theme/",{credentials:"include",method:"POST",body:i}).then(e=>e.json(),e=>c.logError(e))}(e,t)}function k(e){return function(e){const t=new FormData;return t.append("name",e),h=null,Object(a.fetch)("/remove-theme/",{credentials:"include",method:"POST",body:t}).then(e=>e.json(),e=>c.logError(e))}(e)}function D(e){return function(e){return u(e).then(e=>Boolean(e.content))}(e)}function V(e){return d.e(e)}function B(e){return d.d(e)}function R(e){return{content:{chartProperties:{paneProperties:e.model().properties().paneProperties.state(),scalesProperties:e.model().properties().scalesProperties.state()},sessions:e.model().sessions().properties().state(),mainSourceProperties:e.model().mainSeries().properties().state()}}}i.d(t,"isPublicTheme",(function(){return b})),i.d(t,"getCurrentTheme",(function(){return v})),i.d(t,"getThemedColor",(function(){return S})),i.d(t,"loadTheme",(function(){return y})),i.d(t,"restoreTheme",(function(){return w})),i.d(t,"savedThemeName",(function(){return P})),i.d(t,"syncTheme",(function(){return C})),i.d(t,"getTheme",(function(){return x})),i.d(t,"getThemeNames",(function(){return T})),i.d(t,"getStdThemeNames",(function(){return I})),i.d(t,"isStdThemeName",(function(){return M})),i.d(t,"getStdTheme",(function(){return O})),i.d(t,"getStdThemedValue",(function(){return L})),i.d(t,"isStdThemedDefaultValue",(function(){return A})),i.d(t,"saveTheme",(function(){return E})),i.d(t,"removeTheme",(function(){return k})),
i.d(t,"isThemeExist",(function(){return D})),i.d(t,"translateStdThemeName",(function(){return V})),i.d(t,"isStdTheme",(function(){return B})),i.d(t,"extractThemeFromModel",(function(){return R})),i.d(t,"DEFAULT_THEME",(function(){return"light"})),i.d(t,"themes",(function(){return g}))},ExCE:function(e,t,i){"use strict";i.d(t,"a",(function(){return r}));var s=i("VdBB");class r{constructor(){this._bars=[]}hitTest(e){const t=this._bars,i=this._getBarSpacing(),s=i/2;if(0===t.length)return null;const r=this._getTolerance(),n=t[0],o=t[t.length-1];if(e.xo.time+s+r)return null;let a=0,l=t.length-1,c=-1;for(;a<=l;){const i=Math.floor((a+l)/2),h=t[i];let u=s;if(h!==n&&h!==o||(u+=r),Math.abs(h.time-e.x)<=u){c=i;break}e.x-h.time>s?a=i+1:l=i-1}if(-1!==c){const n=Math.ceil(r/i);if(0!==n){const i=Math.max(0,c-n),o=Math.min(t.length-1,c+n);for(let n=i;n<=o;n++)if(Math.abs(e.x-t[n].time)<=s+r&&this._isPointAtBar(t[n],e.y,r))return this._getHitTest()}else if(this._isPointAtBar(t[c],e.y,r))return this._getHitTest()}return null}_getHitTest(){return new s.HitTestResult(s.HitTestResult.REGULAR)}_isPointAtBar(e,t,i){const s=Math.min(e.high,e.low),r=Math.max(e.high,e.low);return s-i<=t&&t<=r+i}}},EyEd:function(e,t,i){"use strict";var s=i("lCO3").Version,r=i("txPx").getLogger("Chart.StudyMigration");function n(e){this._studyId=e,this._maxToVers=s.ZERO,this._maxFromVers=s.ZERO,this._migrs=[]}n.prototype.addMigration=function(e,t,i){var r=s.parse(e),n=s.parse(t);r.isGreater(this._maxFromVers)&&(this._maxFromVers=r),n.isGreater(this._maxToVers)&&(this._maxToVers=n),this._migrs.push({fromVers:r,toVers:n,rules:i})},n.prototype.updateInputs=function(e,t,i){if(!i)return i;for(var s=TradingView.clone(i),n=e;n.isLess(t);){var o=this._findMigration(n);if(null==o)break;if(r.logNormal("Migrating study inputs from "+o.fromVers+" to "+o.toVers+" version, studyId: "+this._studyId+", migration: "+JSON.stringify(o)+", inputs: "+JSON.stringify(i)),s=this._applyMigration(s,o),!n.isLess(o.toVers))throw new Error("Problems in study migration process... Possible infinite cycle has been detected and stopped.");n=o.toVers}return n>e&&r.logNormal("Study inputs migration is done, studyId: "+this._studyId+", inputs: "+JSON.stringify(s)),s},n.prototype._findMigration=function(e){for(var t=-1,i=this._maxFromVers,s=0;s=0||t.indexOf(e)>=0},n._applyInputChangedMinMaxRule=function(e,t){if("adjustValIfNeeded"!==t.action)throw new Error("Unknown action "+t.action+" for rule with type "+t.type);var i=e[t.inputId];return it.maxVal&&(e[t.inputId]=t.maxVal),r.logNormal("Input "+t.inputId+"="+i+" adjusted to value "+e[t.inputId]),e},n._applyInputChangedOptionsRule=function(e,t){if(!(["text"].indexOf(t.inputType)>=0&&"resetToDefValIfNeeded"===t.action))throw new Error("Unexpected rule.inputType="+t.inputType+" in rule.action="+t.action);var i=e[t.inputId];return t.options.indexOf(i)<0&&(e[t.inputId]=t.defVal,r.logNormal("Input "+t.inputId+"="+i+" reset to default value "+t.defVal)),e},e.exports=n},Eyy1:function(e,t,i){"use strict";function s(e){if(void 0===e)throw new Error("Value is undefined");return e}function r(e){if(null===e)throw new Error("Value is null");return e}Object.defineProperty(t,"__esModule",{value:!0}),t.ensureNever=t.ensure=t.ensureNotNull=t.ensureDefined=t.assert=void 0,t.assert=function(e,t){if(!e)throw new Error("Assertion failed"+(t?": "+t:""))},t.ensureDefined=s,t.ensureNotNull=r,t.ensure=function(e){return r(s(e))},t.ensureNever=function(e){}},F58L:function(e,t,i){"use strict";i.r(t),i.d(t,"StudyTemplates",(function(){return _}));var s=i("YFKU"),r=i("zUrt"),n=i("JWMC"),o=i("aIyQ"),a=i.n(o),l=i("hY0g"),c=i.n(l),h=i("fZEr"),u=i("txPx");const d=Object(u.getLogger)("Platform.StudyTemplates"),p=Object(s.t)("Do you really want to delete Study Template '{name}' ?");class _{constructor(e){this._chartWidgetCollection=e.chartWidgetCollection,this._favoriteStudyTemplatesService=e.favoriteStudyTemplatesService,window.loginStateChange.subscribe(null,r.backend.invalidateStudyTemplatesList),this._list=new c.a([]),this._onChange=new a.a,this._list.subscribe(()=>this._onChange.fire())}findRecordByName(e){return this._list.value().find(t=>t.name===e)||null}showSaveAsDialog(){const e=this._chartWidgetCollection.activeChartWidget.value().model()
;Promise.all([i.e("react"),i.e(1),i.e(3),i.e(4),i.e(8),i.e(9),i.e(13),i.e(16),i.e(17),i.e(21),i.e(23),i.e(28),i.e(36),i.e(85),i.e(0),i.e(2),i.e(15),i.e("study-template-dialog")]).then(i.bind(null,"IDfV")).then(t=>{new t.StudyTemplateSaver({controller:e,onSave:e=>{this._list.setValue(e)}}).show()})}applyTemplate(e){const t=this.findRecordByName(e);null!==t?window.runOrSignIn(()=>{const e=this._chartWidgetCollection.activeChartWidget.value(),i=i=>{Object(n.trackEvent)("GUI","Load Study Template"),e.model().applyStudyTemplate(JSON.parse(i.content),t.name)};void 0!==t.id?t.is_default?r.backend.getStandardStudyTemplateContentById(t.id,i):r.backend.getStudyTemplateContentById(t.id,i):r.backend.getStudyTemplateContent(t.name).then(i)},{source:"Study templates apply"}):d.logNormal(`Template ${e} not found in cache`)}deleteStudyTemplate(e){const t=this.findRecordByName(e);null!==t?this._removeTemplate(t):d.logNormal(`Template ${e} not found in cache`)}list(){return this._list.value()}getOnChange(){return this._onChange}refreshStudyTemplateList(e){r.backend.getStudyTemplatesList().then(t=>{this._list.setValue(t),void 0!==e&&e()})}invalidate(){r.backend.invalidateStudyTemplatesList()}_removeTemplate(e){window.runOrSignIn(()=>{Object(h.showConfirm)({text:p.format({name:e.name}),onConfirm:({dialogClose:t})=>new Promise(i=>{const s=()=>{this.refreshStudyTemplateList(()=>{const s=this.list();this._list.setValue(s.filter(t=>t!==e)),this._favoriteStudyTemplatesService&&this._favoriteStudyTemplatesService.remove(e.name),i(),t()})};r.backend.invalidateStudyTemplatesList(),void 0!==e.id?r.backend.removeStudyTemplateById(e.id,s):r.backend.removeStudyTemplate(e.name).then(s)})})},{source:"Study templates delete"})}}},FA0h:function(e,t,i){"use strict";function s(){return Promise.all([i.e("redux"),i.e("react"),i.e(1),i.e(3),i.e(4),i.e(8),i.e(9),i.e(13),i.e(14),i.e(19),i.e(26),i.e(0),i.e(2),i.e(7),i.e(10),i.e(18),i.e(20),i.e(25),i.e("symbol-search-dialog")]).then(i.bind(null,"GcSm"))}i.d(t,"a",(function(){return s}))},FBsw:function(e,t,i){"use strict";i.r(t),i.d(t,"OverlayPriceAxisView",(function(){return l}));var s=i("Kxc7"),r=i("KcY8"),n=i("n5al"),o=i("oXaB");const a=s.enabled("force_exchange_as_title");class l extends r.a{constructor(e){super(),this._source=e}_updateRendererData(e,t,i){e.visible=!1,t.visible=!1;const s=this._source.lastValueData("close",!1);if(s.noData)return;const r=this._source.model(),n=this._source.priceScale();if(null===n)return;if(!r.isPriceScaleVisible(n))return;i.background=s.color,i.textColor=this.generateTextColor(s.color),i.coordinate=s.coordinate,i.floatCoordinate=s.floatCoordinate;const a=this._source.model().properties().scalesProperties,l=n.isPercentage();a.showSeriesLastValue.value()&&(e.text=l?s.formattedPricePercentage:s.formattedPriceAbsolute,a.seriesLastValueMode.value()!==o.PriceAxisLastValueMode.LastPriceAndPercentageValue?e.secondLine="":e.secondLine=l?s.formattedPriceAbsolute:s.formattedPricePercentage,e.visible=!0),t.text="",a.showSymbolLabels.value()&&(t.text=this._paneText(),
t.visible=t.text.length>0)}_paneText(){let e="";const t=this._source.symbolInfo();return a?e=Object(n.displayedSymbolExchange)(t):this._source.model().properties().scalesProperties.showSymbolLabels.value()&&(e=Object(n.displayedSymbolName)(t)),e}}},FBuY:function(e,t,i){"use strict";i.r(t),i.d(t,"TVXWindowEvents",(function(){return o}));i("HbRj");var s=i("txPx"),r=i("VVxS");const n=Object(s.getLogger)("XWindowEvents");var o;!function(e){const t="tvxwevents.",i={};let s;window.BroadcastChannel?(s=new BroadcastChannel("tvxwevents"),s.addEventListener("message",(function(e){const{data:{event:t,value:s}}=e;i[t]&&i[t].forEach(e=>{e(s)})})),function(){const e=[],i=performance.now();for(let i=0;i{t(e.newValue)});r.TVLocalStorage.removeItem(n)})),e.on=function(e,t){i[e]||(i[e]=[]),i[e].push(t)},e.off=function(e,t){if(!i[e])return;const s=i[e].indexOf(t);-1!==s&&(1===i[e].length?delete i[e]:i[e].splice(s,1))},e.emit=function(e,i=Date.now()){try{s?s.postMessage({event:e,value:i}):r.TVLocalStorage.setItem(t+e,i.toString())}catch(e){n.logError(e.message)}}}(o||(o={}))},FDyI:function(e,t,i){"use strict";i.r(t);var s=i("Eyy1"),r=i("LxhU"),n=i("IiTo"),o=i("/bs+");class a{constructor(e){this._timeScale=e}coordinateToTime(e){const t=this._timeScale.coordinateToIndex(e);return this._timeScale.indexToTimePoint(t)}barSpacingChanged(){return this._timeScale.barSpacingChanged()}rightOffsetChanged(){return this._timeScale.rightOffsetChanged()}barSpacing(){return this._timeScale.barSpacing()}rightOffset(){return this._timeScale.rightOffset()}width(){return this._timeScale.width()}}var l=i("aIyQ"),c=i.n(l),h=i("96Yh"),u=i("pOzK"),d=i("CsKN");function p(e,t){const i=()=>{e.completed().unsubscribe(null,s),t(!1)},s=()=>{e.error().unsubscribe(null,i),t(!0)};e.completed().subscribe(null,i,!0),e.error().subscribe(null,s,!0)}var _=i("OLhd");i.d(t,"ChartWidgetApiBase",(function(){return m}));class m{constructor(e,t){this._visibleBarsChanged=new c.a,this._crosshairMoved=new c.a,this._ranges=null,this._alignerResolution=r.Interval.parse(""),this._alignerSymbolInfo=null,this._dwmAligner=null,this._chartWidget=e,this._activateChart=t,this._chartWidget.model().crossHairSource().moved().subscribe(this,this._onCrosshairMoved)}getPriceToBarRatio(){return this._chartWidget.model().model().mainSeriesScaleRatioProperty().value()}setPriceToBarRatio(e,t){const i=this._chartWidget.model(),s=i.model(),r=s.mainSeriesScaleRatioProperty()
;(null==t?void 0:t.disableUndo)?new d.SetScaleRatioPropertiesCommand(r,e,"",s).redo():i.setScaleRatioProperty(r,e,"Change Price to Bar Ratio")}isPriceToBarRatioLocked(){return this._chartWidget.model().model().mainSeries().priceScale().isLockScale()}setPriceToBarRatioLocked(e,t){const i=this._chartWidget.model(),s=i.model(),r=s.mainSeries().priceScale();(null==t?void 0:t.disableUndo)?new u.SetPriceScaleModeCommand({lockScale:e},r,"",s).redo():i.setPriceScaleMode({lockScale:e},r,"Toggle Lock Scale")}onDataLoaded(){return this._makeSubscriptionFromDelegate(this._chartWidget.model().mainSeries().dataEvents().completed())}onSymbolChanged(){return this._makeSubscriptionFromDelegate(this._chartWidget.model().mainSeries().dataEvents().symbolResolved())}onIntervalChanged(){return this._makeSubscriptionFromDelegate(this._chartWidget.model().mainSeries().onIntervalChanged())}onVisibleRangeChanged(){return this._makeSubscriptionFromDelegate(this._visibleBarsChanged)}onChartTypeChanged(){return this._makeSubscriptionFromDelegate(this._chartWidget.model().mainSeries().onStyleChanged())}onSeriesTimeframe(){return this._makeSubscriptionFromDelegate(this._chartWidget.model().mainSeries().dataEvents().seriesTimeFrame())}whenChartReady(e){this._chartWidget.withModel(this,e)}crossHairMoved(){return this._makeSubscriptionFromDelegate(this._crosshairMoved)}setSymbol(e,t){if(e===this.symbol())return void(null==t||t());const i=e=>{!e&&t&&t()},s=this._chartWidget.model().mainSeries().dataEvents();t&&p(s,i),this._activateChart(),this._chartWidget.setSymbol(e)}setResolution(e,t){const i=r.Interval.normalize(e);if(null===i||i===this.resolution())return void(null==t||t());const s=e=>{!e&&t&&t()},n=this._chartWidget.model().mainSeries().dataEvents();t&&p(n,s),this._activateChart(),this._chartWidget.setResolution(i)}setChartType(e,t){const i=this._chartWidget.model().mainSeries().properties().style;if(i.value()===e)return void(null==t||t());const s=e=>{!e&&t&&t()},r=this._chartWidget.model().mainSeries().dataEvents();t&&p(r,s),this._chartWidget.model().setChartStyleProperty(i,e,"Change Series Style")}getAllStudies(){return this._chartWidget.model().model().allStudies(!0).map(h.studyEntityInfo)}getAllPanesHeight(){const e=this._chartWidget.model().model().panes();if(this._chartWidget.isMaximizedPane()){let t=0,i=0;e.forEach(e=>{t+=e.height(),i+=e.stretchFactor()});const s=i/t;return e.map(e=>Math.round(e.stretchFactor()/s*100)/100)}return e.map(e=>e.height())}setAllPanesHeight(e){const t=this._chartWidget.model().model(),i=t.panes();Object(s.assert)(i.length===e.length,"There`s a mismatch between the number of heights you provided and the number of panes.");const r=i.reduce((e,t)=>e+t.stretchFactor(),0)/e.reduce((e,t)=>e+t);e.forEach((e,t)=>{const s=e*r;i[t].setStretchFactor(s)}),t.fullUpdate()}sessions(){return this._chartWidget.model().model().sessions()}getTimeScaleLogicalRange(){return this._chartWidget.model().timeScale().logicalRange()}exportData(e){const t={...e};return void 0!==t.from&&(t.from=this._convertTimeFromPublic(t.from)),
void 0!==t.to&&(t.to=this._convertTimeFromPublic(t.to)),i.e("export-data").then(i.bind(null,"SIoL")).then(e=>e.exportData(this._chartWidget.model().model(),t))}barTimeToEndOfPeriod(e){const t=this._prepareEndOfPeriodArgs();return Object(o.a)(t.barBuilder,e,t.intervalObj)}endOfPeriodToBarTime(e){const t=this._prepareEndOfPeriodArgs();return Object(o.b)(t.barBuilder,e,t.intervalObj)}properties(){return this._chartWidget.properties()}setBarSpacing(e){this._chartWidget.model().timeScale().setBarSpacing(e)}scrollChartByBar(e){this._chartWidget.model().scrollChartByBar(e)}mergeAllScales(e){this._chartWidget.model().mergeAllScales(e)}chartPainted(){return this._chartWidget.chartPainted()}axesSizeReady(){for(const e of this._chartWidget.paneWidgets()){for(const t of e.leftPriceAxisesContainer().axes())if(!t.sizeReady())return!1;for(const t of e.rightPriceAxisesContainer().axes())if(!t.sizeReady())return!1}return!0}applyOverrides(e){this._chartWidget.applyOverrides(e)}addOverlayStudy(e,t,i){return this._chartWidget.addOverlayStudy(e,t,i)}ranges(){throw new Error("not implemented")}getTimeScale(){return new a(this._chartWidget.model().timeScale())}_destroy(){this._chartWidget.hasModel()&&this._chartWidget.model().crossHairSource().moved().unsubscribeAll(this)}_createStudy(e){return Promise.reject("Pine and java studies are not supported")}_convertTimeToPublic(e){const t=this._getSeriesAligner();return null!==t?t.timeToExchangeTradingDay(1e3*e)/1e3:e}_convertIndexToPublicTime(e){const t=this._chartWidget.model(),i=t.timeScale();if(i.isEmpty())return null;const r=i.points(),n=Object(s.ensureNotNull)(r.firstIndex()),o=Object(s.ensureNotNull)(r.lastIndex());let a=null;if(n<=e&&e<=o)a=r.valueAt(e);else if(e>o){const r=t.mainSeries().syncModel();if(null!==r){const t=Object(s.ensureNotNull)(i.indexToTimePoint(o));a=r.projectTime(t,e-o)}}return null!==a&&(a=this._convertTimeToPublic(a)),a}_convertTimeFromPublic(e){const t=this._getSeriesAligner();return null!==t?t.timeToSessionStart(1e3*e)/1e3:e}_getSeriesAligner(){const e=this._chartWidget.model().mainSeries(),t=e.interval(),i=r.Interval.parse(t),s=e.symbolInfo();return this._alignerResolution.isEqualTo(i)&&this._alignerSymbolInfo===s||(this._dwmAligner=null===s?null:Object(_.createDwmAligner)(t,s),this._alignerResolution=i,this._alignerSymbolInfo=s),this._dwmAligner}_onCrosshairMoved(e){const t=this._convertIndexToPublicTime(e.index);null!==t&&this._crosshairMoved.fire({price:e.price,time:t})}_makeSubscriptionFromDelegate(e){return{subscribe:e.subscribe.bind(e),unsubscribe:e.unsubscribe.bind(e),unsubscribeAll:e.unsubscribeAll.bind(e)}}_prepareEndOfPeriodArgs(){const e=this._chartWidget.model().model(),t=e.timezone(),i=Object(s.ensureNotNull)(e.mainSeries().symbolInfo()),o=e.mainSeries().interval(),a=new n.SessionInfo(t,i.session,i.session_holidays,i.corrections);return{barBuilder:Object(n.newBarBuilder)(o,a,a),intervalObj:r.Interval.parse(o)}}}},FIi8:function(e,t,i){"use strict";function s(e,...t){return e&&"object"==typeof e?(0===t.length||t.forEach(t=>{
null!=t&&"object"==typeof t&&Object.keys(t).forEach(i=>{const n=e[i],o=t[i];if(o===e)return;const a=Array.isArray(o);if(o&&(r(o)||a)){let t;t=a?n&&Array.isArray(n)?n:[]:n&&r(n)?n:{},e[i]=s(t,o)}else void 0!==o&&(e[i]=o)})}),e):e}function r(e){if(!e||"[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);if(!t)return!0;const i=Object.hasOwnProperty.toString,s=t.hasOwnProperty("constructor")&&t.constructor;return"function"==typeof s&&i.call(s)===i.call(Object)}i.r(t),i.d(t,"deepExtend",(function(){return s}))},FKaq:function(e,t,i){"use strict";i.r(t),i.d(t,"SetPriceScaleSelectionStrategyCommand",(function(){return a}));var s=i("Eyy1"),r=i("RDU5"),n=i("MWAT");class o{constructor(e){this._leftScales=e.leftPriceScales().map(e=>e.id()),this._rightScales=e.rightPriceScales().map(e=>e.id())}restorePane(e){this._leftScales.reverse().map(t=>Object(s.ensureNotNull)(e.getPriceScaleById(t))).forEach(t=>e.movePriceScale(t,"left")),this._rightScales.reverse().map(t=>Object(s.ensureNotNull)(e.getPriceScaleById(t))).forEach(t=>e.movePriceScale(t,"right"))}}class a extends r.UndoCommand{constructor(e,t,i){super(i),this._chartModel=e,this._targetStrategy=Object(n.createPriceScaleSelectionStrategy)(t),this._initialState=e.panes().map(e=>new o(e))}redo(){this._chartModel.panes().forEach(e=>e.setPriceScaleSelectionStrategy(this._targetStrategy)),this._chartModel.fullUpdate()}undo(){const e=this._chartModel.panes();for(let t=0;t{e.apply(null,i)}),n.hasOwnProperty(e)&&n[e].fire.apply(n[e],t)}function p(e){a[e]&&console.warn(`Something went wrong: emitOnce called multiple times with same event (${e})`),a[e]=!0,d.apply(null,arguments)}},FZIs:function(e,t,i){"use strict";var s;i.d(t,"a",(function(){return s})),function(e){e.Light="light",e.Dark="dark"}(s||(s={}))},FaJS:function(e,t,i){"use strict";i.r(t),i.d(t,"scaleRatio",(function(){return r})),i.d(t,"priceRangeByScaleRatio",(function(){return n})),i.d(t,"barSpacingByScaleRatio",(function(){return o}));var s=i("Qb4w");function r(e,t){if(t.isLog()||e.isEmpty()||t.isEmpty())return null;const i=function(e){if(e.isEmpty())return null;const t=e.priceRange();if(null===t)return null;const i=t.length();return e.internalHeight()/i}(t);if(null===i)return null;return e.getValidBarSpacing()/Math.max(1e-10,i)}function n(e,t,i){if(e.isLog()||null===i||e.isEmpty())return null;const r=e.priceRange()
;if(null===r||r.isEmpty())return null;const n=e.internalHeight()/(t/i),o=r.length();if(n===o)return r;const a=(n-o)/2;return new s.PriceRange(r.minValue()-a,r.maxValue()+a)}function o(e,t){if(e.isLog()||null===t||e.isEmpty())return null;const i=e.priceRange();if(null===i)return null;const s=i.length();return e.internalHeight()/s*t}},Fdrt:function(e,t,i){"use strict";i.r(t),i.d(t,"PaneRendererStandardPivotLabel",(function(){return r}));var s=i("VdBB");class r{constructor(e,t,i){this._drawRects=[],this._cacheProvider=e,this._point=t,this._label=i}draw(e,t){const i=this._cacheProvider(t);e.save(),e.setTransform(1,0,0,1,0,0);const s=t.pixelRatio;this._drawRects=[];const r=t=>{const r=i.labelRectByIndex(t),n={left:Math.round(this._point.x-r.width+o),top:Math.round(this._point.y-r.height/2),width:r.width,height:r.height};return e.drawImage(i.canvas(),Math.round(r.left*s),Math.round(r.top*s),r.width*s,r.height*s,Math.round(n.left*s),Math.round(n.top*s),n.width*s,n.height*s),this._drawRects.push(n),r.width},n=this._label.split("/");let o=0;for(let e=0;e0&&(o+=r(t+11)/2),o+=r(t)/2}e.restore()}hitTest(e){for(const t of this._drawRects)if(e.x>=t.left&&e.x<=t.left+t.width&&e.y>=t.top&&e.y<=t.top+t.height)return new s.HitTestResult(s.HitTestResult.REGULAR);return null}}},Fixu:function(e,t,i){"use strict";i.d(t,"c",(function(){return r})),i.d(t,"d",(function(){return n})),i.d(t,"b",(function(){return o})),i.d(t,"a",(function(){return a}));i("Eyy1"),i("dfhE");function s(e,t){0}function r(e){s()}function n(e){s()}function o(e){s()}function a(e){0}},FsE7:function(e,t,i){"use strict";var s=i("Ss5c").LineDataSource,r=i("5rJj"),n=i("j3hX"),o=n.LineToolWidthsProperty,a=n.LineToolColorsProperty;class l extends s{constructor(e,t){super(e,t||l.createProperties()),this.version=l.version,i.e("lt-pane-views").then(i.t.bind(null,"wgWl",7)).then(({FibTimeZonePaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}levelsCount(){return l.LevelsCount}migrateVersion(e,t,i){if(1===e){i.properties.level1.color.setValue(i.properties.baselinecolor.value());for(var s=2;s<=11;s++)i.properties["level"+s].color.setValue(i.properties.linecolor.value());for(s=1;s<=11;s++)i.properties["level"+s].linewidth.setValue(i.properties.linewidth.value()),i.properties["level"+s].linestyle.setValue(i.properties.linestyle.value())}}pointsCount(){return 2}name(){return"Fib Time Zone"}processErase(e,t){var i="level"+t,s=this.properties()[i].visible;e.setProperty(s,!1,"Erase level line")}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(27),i.e(62),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"SMr9"))).FibTimezoneDefinitionsViewModel}static createProperties(e){var t=new r("linetoolfibtimezone",e,!1,{range:[1,11]});return l._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e);for(var t=[],i=[],r=1;r<=l.LevelsCount;r++)t.push(e.child("level"+r).child("linewidth")),i.push(e.child("level"+r).child("color"))
;for(t=[],i=[],r=1;r<=l.LevelsCount;r++)t.push(e.child("level"+r).child("linewidth")),i.push(e.child("level"+r).child("color"));e.addChild("linesColors",new a(i)),e.addChild("linesWidths",new o(t))}}l.version=2,l.LevelsCount=11,t.LineToolFibTimeZone=l},"GD+X":function(e,t,i){"use strict";i.d(t,"a",(function(){return s}));class s{constructor(e,t){this._chartUndoModel=e,this._chartModel=e.model(),this._priceScale=t}getMode(){const e=this._priceScale.properties().childs();return e.percentage.value()?2:e.indexedTo100.value()?3:e.log.value()?1:0}setMode(e){this._priceScale.setMode({percentage:2===e,log:1===e,indexedTo100:3===e})}isInverted(){return this._priceScale.isInverted()}setInverted(e){this._priceScale.properties().childs().isInverted.setValue(e)}getVisiblePriceRange(){return this._priceScale.priceRangeInPrice()}setVisiblePriceRange(e){this._priceScale.setPriceRangeInPrice(e),this._chartModel.lightUpdate()}hasMainSeries(){return this._priceScale.hasMainSeries()}getStudies(){return this._priceScale.getStudies().map(e=>e.id())}currency(){const e=this._priceScale.currency(this._chartModel.availableCurrencies());return null===e?null:{selectedCurrency:e.selectedCurrency,readOnly:e.readOnly}}setCurrency(e){this._chartUndoModel.setPriceScaleCurrency(this._priceScale,e)}unit(){const e=this._priceScale.unit(this._chartModel.availableUnits());return null===e?null:{selectedUnit:e.selectedUnit,readOnly:0===e.availableGroups.size,availableGroups:Array.from(e.availableGroups)}}setUnit(e){this._chartUndoModel.setPriceScaleUnit(this._priceScale,e)}}},GDWD:function(e,t,i){"use strict";i.r(t),i.d(t,"addPlusButtonProperty",(function(){return o})),i.d(t,"restoreAddPlusButtonSettingsValue",(function(){return a}));var s=i("Vdly"),r=i("m/cY");function n(){return s.getBool("add_plus_button",!0)}const o=Object(r.a)(n());function a(){o.setValue(!0),s.remove("add_plus_button")}s.onSync.subscribe(null,()=>o.setValue(n())),o.listeners().subscribe(null,()=>s.setValue("add_plus_button",o.value()))},GEp6:function(e,t,i){"use strict";function s(e,t,i){var s=t.subtract(e),r=i.subtract(e).dotProduct(s)/s.dotProduct(s);return{coeff:r,distance:e.addScaled(s,r).subtract(i).length()}}Object.defineProperty(t,"__esModule",{value:!0}),t.distanceToSegment=t.distanceToLine=void 0,t.distanceToLine=s,t.distanceToSegment=function(e,t,i){var r=s(e,t,i);if(0<=r.coeff&&r.coeff<=1)return r;var n=e.subtract(i).length(),o=t.subtract(i).length();return n{r(t),e()}}function o(e){s.isChrome&&e.addEventListener("mousedown",e=>{if(1===e.button)return e.preventDefault(),!1})}},GVHu:function(e,t,i){"use strict";(function(e,s){var r=i("Eyy1"),n=r.assert,o=r.ensureNotNull,a=i("hsV8").unpackNonSeriesData,l=i("n5al").symbolTitle,c=i("38az").StudyBarColorer,h=i("hezA").StudyPriceAxisView,u=i("jenN"),d=u.emptyStudyGraphics,p=u.loadStudyGraphics,_=u.saveStudyGraphics,m=u.LiveStudyGraphics,f=u.createGraphicsPriceAxisViews,g=i("XzZr").ChartApiInterface,b=i("Ocx9").DefaultProperty,v=i("kcTO").PriceFormatter,S=i("nEwK").VolumeFormatter,y=i("GH0z").PercentageFormatter,w=i("k9/m"),P=w.PlotList,C=w.PlotRowSearchMode,x=i("0YCj"),T=(i("cBZt").extractStudyId,i("FQhm")),I=i("23IT"),M=I.LineStudyPlotStyle,O=i("TmNs").StudyPriceLineAxisView,L=i("w4Ji").studyPlotFunctionMap,A=i("w4Ji").studyEmptyPlotValuePredicate,E=i("jy4L").makeNextStudyId,k=i("Kxc7"),D=i("IcDj").StudyBase,V=i("i6cO").ColorerType,B=i("H0vP").InvalidationMask,R=i("bmVy"),N=R.StudyStatusType,j=(R.convertStudyStatusToString,i("Tmoa").colorToInteger),F=i("UAFa").createStudyPlotColorProvider,W=i("0C7r").intervalsVisibilitiesDefaults,H=i("txPx").getLogger("Chart.Study"),U=k.enabled("datasource_copypaste"),z=k.enabled("study_symbol_ticker_description"),G=k.enabled("hide_unresolved_symbols_in_legend");function q(e,t,i){var s=new b(t,i,!0);s.addExclusion("visible"),s.addExclusion("precision"),s.addExclusion("minTick"),s.addExclusion("intervalsVisibilities");for(var r=0;r=0?o:0}}return this._isChildStudy&&x.patchChildStudyMetaInfoState(i),i}_plotsForAlert(){var e=this,t=this._metaInfo,i=[I.isLinePlot,I.isShapesPlot,I.isCharsPlot,I.isArrowsPlot,I.isOhlcPlot,I.isAlertConditionPlot];return t.plots.map((function(e,t){return e.pinePlotIndex=t,e})).filter((function(e){return i.some((function(t){return t(e)}))})).map((function(i){var s={id:i.id,type:i.type,pinePlotIndex:i.pinePlotIndex,offset:e.offset(i.id)};return t.styles&&void 0!==t.styles[i.id]&&(s.title=t.styles[i.id].title||"",s.text=t.styles[i.id].text||""),i.target&&t.ohlcPlots&&t.ohlcPlots[i.target]&&(s.ohlcTitle=t.ohlcPlots[i.target].title),s}))}_collectDepsForAlert(){throw new Error("Not implemented")}idForAlert(){return D.prototype.idForAlert.call(this)}dependenciesForAlerts(){throw new Error("Not implemented")}_hasAvailableAlertPlots(){return!1}_hasAlertablePlots(){return(this.metaInfo().plots||[]).some((function(e){return"line"===e.type}))}_hasAlertConditions(){if(this.metaInfo().plots.some(I.isAlertConditionPlot))return!0;var e=this.stateForAlert();return Boolean(e.alerts&&e.alerts.conditions)}_hasAlertFunction(){const e=this.metaInfo();return Boolean(e.hasAlertFunction)}_isAlertFeatureEnabled(){return!1}hasStateForAlert(){return this._isAlertFeatureEnabled()&&!this.isFailed()&&(this.metaInfo().isTVScript?this._hasAlertConditions()||this._hasAvailableAlertPlots()||this._hasAlertFunction():this._hasAlertablePlots())}stateForAlert(){throw new Error("Not implemented")}isSavedInStudyTemplates(){for(var e=0;e=0?t+="-101!":t+="-"+this._metaInfo.version,t}_startAfterSymbolsResolved(e,t){if(!this.isStarted()||this._restarting){if(this._isChildStudy){if(!this._source.isStarted()||this._source.isRestarting())return void this._source.onStart.subscribe(this,this._startAfterSymbolsResolved,!0);x.setChildStudyMetaInfoPropertiesSourceId(this._metaInfo,this._source.sourceId(),this._properties)}if(delete this._restarting,this._allInputsAreValid()&&(this._inputs=this.inputs({keepOptionalSymbolsEmpty:!0}),this._createStudyOnServer(),this._subscribeToSessionId(),this.onStart.fire(),!0===e&&this._children))for(var i=0;i=e){var i=o(this._series.bars().lastIndex())-e;t=o(this._series.bars().valueAt(i))[TradingView.TIME_PLOT]}return t}inputsForAlert(){var e=this.offset(),t=this.inputs();return e&&t.push(e),t}inputsForAlertState(){return this.inputs()}_prepareInputValue(e,t){var i=e.id;if(t.valuesAsIsFromProperties)return this._properties.inputs[i].value();if("symbol"===e.type){var s=t&&t.symbolsForDisplay,r=this._properties.inputs[i].value(),n=s?r:this._getSymbolForApi(r),o=this._resolvedSymbols&&this._resolvedSymbols[this._getSymbolForResolve(n)];if(""===n&&e.optional){if(t&&t.keepOptionalSymbolsEmpty)return n;n=this._model.mainSeries().symbol(),o=this._model.mainSeries().symbolInfo()}if(s)if(o)if(z){switch(this._model.mainSeries().properties().statusViewStyle.symbolTextSource.value()){case"description":n=o.description;break;case"ticker-and-description":n=`${o.name}, ${o.description}`;break;case"ticker":n=o.name}}else n=l(o,t.noExchanges);else G&&(n="");else o&&(n=o.ticker||o.full_name),!this.isPine()&&t&&t.symbolsForChartApi&&(n=this.getSymbolString(n));return n}if("bar_time"===e.type){var a=this._properties.inputs[i].value();if(a<0){var c=this._rightOffsetToUnixTime(-a);a=c&&c>=0?c:a}return a}if(this._metaInfo.isTVScript||this._metaInfo.pine){if("text"===i)return this._metaInfo.defaults.inputs.text;if("pineId"===i)return this._metaInfo.scriptIdPart;if("pineVersion"===i)return this._metaInfo.pine?this._metaInfo.pine.version:"-1";if("color"===e.type&&this._metaInfo.isRGB){var h=this._properties.inputs[i].value();return j(h)}return this._properties.inputs[i].value()}return this._properties.inputs[i].value()}_rebindToSource(e,t){var i=this.parentSource();if(this._isChildStudy){var s;this._source.unsetChild(this);var r=null;if(e===this._model.mainSeries())delete this._source,delete this._isChildStudy,delete this._ownerSource,s=this._series.seriesSource().instanceId(),r=g.REBIND_STUDY_CHILD_TO_STANDALONE;else{if(!(e instanceof J))return H.logError("Unable to rebind study to source of this type"),!1;this._ownerSource=e,this._source=e,s=this._source.sourceId(),this._source.setChild(this),this._source.isHibernated()&&this._source.start()}this._incrementTurnaround(),this.disablePriceRangeReady(),this._chartApi.rebindStudy(this._studyId,this._turnaround,s,this._studyName,t,this._handler,r)}else{if(!(e instanceof J))return H.logError("Unable to rebind study to source of this type"),!1;var n=e.isHibernated();n&&e.start();var o=!1
;if(this._canCreateStudyWithRebindType(g.REBIND_STUDY_STANDALONE_TO_CHILD)&&(this._incrementTurnaround(),this.disablePriceRangeReady(),o=this._chartApi.rebindStudy(this._studyId,this._turnaround,e.sourceId(),this._studyName,t,this._handler,g.REBIND_STUDY_STANDALONE_TO_CHILD)),!o)return n&&e.stop(),!1;this._isChildStudy=!0,this._ownerSource=e,this._source=e,this._source.setChild(this),this._childStudyByRebind.fire()}var a=this.m_priceScale,l=e.priceScale();if(a!==l){var c=this._model.paneForSource(this),h=this._model.paneForSource(e);c===h&&h.move(this,l,!0)}const u=this.parentSource();return i.formatterChanged().unsubscribe(this,this._onSourceFormatterChanged),u.formatterChanged().subscribe(this,this._onSourceFormatterChanged),i.priceStepChanged().unsubscribe(this,this._onSourcePriceStepChanged),u.priceStepChanged().subscribe(this,this._onSourcePriceStepChanged),i.currencyChanged().unsubscribeAll(this),u.currencyChanged().subscribe(this,this._onSourceCurrencyChanged),i.unitChanged().unsubscribeAll(this),u.unitChanged().subscribe(this,this._onSourceUnitChanged),i.priceRangeReadyChanged().unsubscribeAll(this),u.priceRangeReadyChanged().subscribe(this,this._onSourcePriceRangeReadyChanged),this._recreatePriceFormattingDependencies(),!0}childStudyByRebind(){return this._childStudyByRebind}_changeInputsImpl(e,t){var i=this.source(),s=this._properties.inputs&&this._properties.inputs.state(),r=x.getSourceIdByInputs(this._metaInfo.inputs,s),n=!0;if(r)if("high"===r||"open"===r||"low"===r||"close"===r||"hl2"===r||"ohl3"===r||"ohlc4"===r)i=this._model.mainSeries();else for(var o=this._model.dataSources().filter((function(e){return e instanceof J&&e.canHaveChildren()})),a=0;a0){var s=this.barColorer().firstColoredBar(e[0].index);this._model.mainSeries().invalidateBarStylesCache(s)}null!==t&&this._postProcessGraphics();var r=this._model.paneForSource(this);this._model.recalculatePane(r),this._updateSources()}transformData(e){}moveData(e){this._ongoingDataUpdate=this._ongoingDataUpdate.then(function(){this._invalidateLastNonEmptyPlotRowCache(),this.data().move(e)}.bind(this))}replaceData(e,t,i){this._invalidateLastNonEmptyPlotRowCache(),this.data().remove(e+1),this.data().addTail(i,t)}_updateSources(){this._model.updateSource(this),this.hasBarColorer()&&this._model.updateSource(this._model.mainSeries())}static processPlotOffsets(e,t){t&&t.indexes_replace||(e._plotOffsets=t&&t.offsets||{})}_processPlotOffsets(e){J.processPlotOffsets(this,e)}_mergeData(e){this._invalidateLastNonEmptyPlotRowCache(),this.data().merge(e)}_postProcessGraphics(){this._graphicsPriceAxisViews=f(this),this._concatPriceAxisViews()}static offset(e,t){var i=0;return e._plotOffsets&&void 0!==e._plotOffsets[t]&&(i+=e._plotOffsets[t]),void 0!==e._plotOffsetsMetaInfoOverride[t]?i+=e._plotOffsetsMetaInfoOverride[t]:e.properties().offsets&&void 0!==e.properties().offsets[t]&&(i+=e.properties().offsets[t].val.value()),e.properties().offset&&(i+=e.properties().offset.val.value()),i}offset(e){return J.offset(this,e)}paneViews(){return this.isSourceHidden()?null:this._paneViews}labelPaneViews(){return this.isSourceHidden()?null:this._labelPaneViews}dataWindowView(){return this._dataWindowView}legendView(){return this._legendView}statusView(){return this._statusView}priceAxisViews(e,t){return this.properties().oldShowLastValue&&!this.properties().oldShowLastValue.value()?null:e.findTargetPriceAxisViews(this,t,this._priceAxisViews,this._priceLinesAxisViews)}_showLastValueOnPriceScale(){
return this._model.properties().scalesProperties.showStudyLastValue.value()}hasBarColorer(){for(var e=0;e=0&&(e="_v"+this._metaInfo.pine.version),{symbol:this.series().actualSymbol(),resolution:this.series().interval(),study:this._metaInfo.shortId+e}}_sendTelemetryReport(e,t,i){void 0===i&&(i=this._getTelemetryAdditionalData());var s=Object.assign(t,{additional:i});(void 0).sendChartReport(e,s)}_sendTelemetryCounter(e,t){this._sendTelemetryReport(e,{count:1},t)}onAboutToBeDestroyed(){return this._aboutToBeDestroyed}destroy(){this._aboutToBeDestroyed.fire(),this._isDestroyed=!0,this._legendView&&this._legendView.destroy(),null!==this._definitionsViewModel&&(this._definitionsViewModel.destroy(),this._definitionsViewModel=null),
this._properties.precision.listeners().unsubscribe(this,this._precisionChanged),this._showStudyArgumentsProperty.listeners().unsubscribe(this,this.invalidateTitleCache),this._properties.description.listeners().unsubscribe(this,this.invalidateTitleCache),this._properties.shortDescription&&this._properties.shortDescription.listeners().unsubscribe(this,this.invalidateTitleCache),this._model.mainSeries().dataEvents().symbolResolved().unsubscribeAll(this),this._properties.showInDataWindow.listeners().unsubscribe(this._model,this._model.fullUpdate),this.hasBarColorer()&&this._properties.visible.listeners().unsubscribe(this._model.mainSeries(),this._model.mainSeries().invalidateBarStylesCache),this._model.mainSeries().dataEvents().symbolResolved().unsubscribe(this,this._recreatePriceFormattingDependencies),super.destroy()}desiredPriceScalePosition(){return this.metaInfo().isTVScriptStub?"overlay":this.metaInfo().linkedToSeries?"as-series":void 0===this.metaInfo().priceScale?null:["right","left","overlay"][this.metaInfo().priceScale]}guiPlotName(e){var t=this.properties().styles;return t&&t[e]&&t[e].title?t[e].title.value():this.title()}defaultPlotIdForAlert(){return this._metaInfo.plots.length?this._metaInfo.plots[0].id:null}formatterChanged(){return this._formatterChanged}copiable(){return U&&!this.isChildStudy()}setPriceScale(e){super.setPriceScale(e),T.emit("study_event",this.id(),"price_scale_changed")}disconnect(){this._studyId=null}}TradingView.Study=J,t.Study=J,t.prepareStudyProperties=function(t,s,r,o,a){return function(t,s,r,o,a,l){var c=function(t,s,r,o){var a=i("K4L1");if(x.versionOf(t)<1)throw new Error("This function cannot work with metainfo of the old format version. Required format version >= 1");var l=TradingView.clone(defaults("study"));Y(l,t);var c=x.getStudyPropertyRootName(t),h=TradingView.clone(defaults(c,o));h.intervalsVisibilities=TradingView.clone(W),("Overlay"===t.shortId||"Compare"===t.shortId)&&(h.currencyId=null,h.unitId=null);t.isTVScript&&t.TVScriptSourceCode!==h.TVScriptSourceCode&&(h=TradingView.clone(TradingView.factoryDefaults(c,o)));TradingView.merge(l,h),s&&(n(!(s instanceof e),"propsState should not be an instance of Property"),TradingView.merge(l,s));var u=TradingView.clone(t),d={};a.mergeInputsObjPart(d,u.defaults.inputs),a.mergeInputsObjPart(d,l.inputs),l.inputs=d,delete u.inputs,delete u.defaults.inputs;var p={};if(TradingView.merge(p,u.defaults),TradingView.merge(p,TradingView.factoryDefaults(c)),TradingView.merge(p,l),TradingView.merge(p,u),delete p.defaults,l=p,null!==r){var _=r.model().studiesColorRotatorFactory().getColorRotator(t);null!==_&&("Overlay@tv-basicstudies"===t.id?l.lineStyle.color=_.getColor(l.lineStyle.color,t):TradingView.merge(l,function(e,t){for(var i in e.styles){var s=e.styles[i].color;s&&(e.styles[i].color=t.getColor(s))}return e}(l,_)))}s&&TradingView.merge(l.styles,s.styles);return l}(t,s,r,o),h=x.getSourceInputIds(t);if(h.length>0){var u=h[0];l instanceof J?c.inputs[u]="{pid}$0":void 0!==c.inputs[u]&&-1!==c.inputs[u].indexOf("$")&&(c.inputs[u]="close")}
return q(t,a,c)}(t,s,r,o,x.getStudyPropertyRootName(t),a)},t.prepareStudyPropertiesForLoadChart=function(e,t,s,r,n,o){return function(e,t,s,r,n,o,a){var l=function(e,t,s,r,n){var o=i("K4L1");e.version&&s.version&&e.version!==s.version&&H.logWarn("Serialized metaInfo version "+e.version+" is not equal to the saved state version "+s.version);var a=TradingView.clone(defaults("study"));a.intervalsVisibilities=TradingView.clone(W),TradingView.merge(a,TradingView.factoryDefaults(x.getStudyPropertyRootName(e))),Y(a,e),TradingView.merge(a,s),a=n.updateStudyState(a,e,t);var l=TradingView.clone(t||e);if(l&&x.versionOf(l)>=1){var c={};o.mergeInputsObjPart(c,(l.defaults||{}).inputs),o.mergeInputsObjPart(c,a.inputs),a.inputs=c,delete l.inputs,l.defaults&&delete l.defaults.inputs;var h={};TradingView.merge(h,l.defaults),TradingView.merge(h,TradingView.factoryDefaults(x.getStudyPropertyRootName(l))),TradingView.merge(h,a),delete l.defaults,TradingView.merge(h,l),a=h}return a}(e,t,s,0,n);return q(t||e,o,l)}(e,t,s,0,n,x.getStudyPropertyRootName(e))}}).call(this,i("tc+8"),i("aIyQ"))},GVQo:function(e,t,i){"use strict";i.d(t,"a",(function(){return o}));var s=i("Eyy1"),r=i("3ClC"),n=i("CW80");function o(e,t){if(1===t.length&&Object(r.isStudy)(t[0])){const e=t[0];return{title:e.title(),sources:[{source:Object(s.ensureNotNull)(e.state()),type:"study"}]}}const i={sources:[],title:""};return i.sources=t.filter(e=>e.copiable()&&Object(n.isLineTool)(e)).map(t=>{const i={type:"drawing",geometry:t.geometry(),source:{...t.state(!1),points:t.normalizedPoints()},modelId:e};return delete i.source.alertId,i}),i.sources.length>0?(1===i.sources.length?i.title=t[0].title&&t[0].title():i.title="Drawings",i):null}},GhVi:function(e,t,i){"use strict";(function(t){function i(){this._marksByIndex=new Map,this._marksBySpan=[],this.changed=new t,this.minIndex=void 0,this.maxIndex=void 0}i.prototype.reset=function(){this._resetImpl(),this.changed.fire()},i.prototype._resetImpl=function(){this._marksByIndex=new Map,this._marksBySpan=[],this.minIndex=void 0,this.maxIndex=void 0,this._cache=void 0},i.prototype.merge=function(e){if(0!==e.length){var t=e[0].index,i=e[e.length-1].index;t<=this.minIndex&&i>=this.maxIndex&&this._resetImpl();for(var s=this._marksBySpan,r=new Set,n=0;n=this.maxIndex&&this.maxIndex--,this.maxIndex2;){if(1e3*this._marksByIndex.get(t).time===e)return t;if(1e3*this._marksByIndex.get(i).time===e)return i;var s=Math.round((t+i)/2);1e3*this._marksByIndex.get(s).time>e?i=s:t=s}return t},i.prototype.build=function(e,t){var i=Math.ceil(t/e);if(this._maxbar===i&&this._cache)return this._cache;this._maxbar=i;for(var s=[],r=this._marksBySpan.length;r--;)if(this._marksBySpan[r]){var n=s;s=[];for(var o=n.length,a=0,l=this._marksBySpan[r],c=l.length,h=1/0,u=-1/0,d=0;d=i&&_-u>=i&&(s.push(p),u=_)}for(;aMath.max(t.get(e)||o,this._invalidationLevel)}priceScaleSideMaxLevel(e){const t="left"===e?this._leftPriceScalesInvalidationMap:this._rightPriceScalesInvalidationMap;let i=this._invalidationLevel;return t.size>0&&t.forEach(e=>{e>i&&(i=e)}),i}merge(e){this._invalidationLevel=Math.max(this._invalidationLevel,e._invalidationLevel),this._paneInvalidationLevel=Math.max(this._paneInvalidationLevel,e._paneInvalidationLevel),e._leftPriceScalesInvalidationMap.forEach((e,t)=>{const i=this._leftPriceScalesInvalidationMap.get(t)||o;this._leftPriceScalesInvalidationMap.set(t,Math.max(i,e))}),e._rightPriceScalesInvalidationMap.forEach((e,t)=>{const i=this._rightPriceScalesInvalidationMap.get(t)||o;this._rightPriceScalesInvalidationMap.set(t,Math.max(i,e))})}}
i.d(t,"InvalidationLevel",(function(){return s})),i.d(t,"defaultInvalidationLevel",(function(){return o})),i.d(t,"InvalidationMask",(function(){return a})),function(e){e[e.None=0]="None",e[e.Cursor=1]="Cursor",e[e.Light=2]="Light",e[e.Full=3]="Full"}(s||(s={}));const o=s.None;class a{constructor(e=o){this._panesOrderChanged=!1,this._keepVisibleTimeRangeOnResize=!1,this._timeAxisInvalidationLevel=o,this._invalidatedPanes=new Map,this._additionalActions=[],this._invalidationLevel=e}invalidateAll(e){this._invalidationLevel!==e&&(this._invalidationLevel=Math.max(this._invalidationLevel,e),this._invalidatedPanes.forEach(e=>{e.invalidateAll(this._invalidationLevel)}))}invalidateAllPane(e,t){this._invalidatedPanes.has(e)||this._invalidatedPanes.set(e,new n(this._invalidationLevel)),Object(r.ensureDefined)(this._invalidatedPanes.get(e)).invalidateAll(t)}invalidatePriceScale(e,t,i,s){this._invalidatedPanes.has(e)||this._invalidatedPanes.set(e,new n(this._invalidationLevel)),Object(r.ensureDefined)(this._invalidatedPanes.get(e)).invalidatePriceScale(t,i,s)}invalidateTimeScale(e){this._timeAxisInvalidationLevel=Math.max(this._timeAxisInvalidationLevel,e)}invalidatePanesOrder(){this._panesOrderChanged=!0}lockVisibleTimeRangeOnResize(){this._keepVisibleTimeRangeOnResize=!0}fullInvalidation(){return this._invalidationLevel}maxPaneInvalidation(){const e=[];return this._invalidatedPanes.forEach(t=>{e.push(t.fullInvalidation())}),Math.max(...e,this._invalidationLevel)}invalidateForPane(e){return this._invalidatedPanes.get(e)||new n(this._invalidationLevel)}invalidateForTimeScale(){return Math.max(this._timeAxisInvalidationLevel,this._invalidationLevel)}validationActions(){return this._additionalActions}addValidationAction(e){this._additionalActions.push(e)}merge(e){this._invalidationLevel=Math.max(this._invalidationLevel,e._invalidationLevel),this._panesOrderChanged=this._panesOrderChanged||e._panesOrderChanged,this._keepVisibleTimeRangeOnResize=this._keepVisibleTimeRangeOnResize||e._keepVisibleTimeRangeOnResize,this._invalidatedPanes.forEach(e=>{e.invalidateAll(this._invalidationLevel)}),e._invalidatedPanes.forEach((e,t)=>{this._invalidatedPanes.has(t)||this._invalidatedPanes.set(t,new n(this._invalidationLevel)),Object(r.ensureDefined)(this._invalidatedPanes.get(t)).merge(e)}),this._timeAxisInvalidationLevel=Math.max(this._timeAxisInvalidationLevel,e._timeAxisInvalidationLevel);for(let t=0;t{const t=function e(t,i=[]){const s=o[t];if(!s)return null;if(c.test(s))return s;const r=s;return i.push(t),-1!==i.indexOf(r)?(console.warn("Colors definitions cycled"),s):i.length>l?(console.warn("Too many variables-link in HEX-color search: "+i[0]),null):e(r,i)}(e);a[e]=Object(n.ensureNotNull)(t)});const h=a;function u(e){const t=h[e];if(!t)throw new Error("No such color "+e);return t}i.d(t,"colorsPalette",(function(){return h})),i.d(t,"getHexColorByName",(function(){return u}))},HGup:function(e,t,i){"use strict";i.d(t,"a",(function(){return o})),i.d(t,"c",(function(){return a})),i.d(t,"b",(function(){return l}));var s=i("Eyy1"),r=i("3u3j");class n extends r.a{constructor(e,t,i){super(e,t,i)}redo(){const e=Object(s.ensureNotNull)(this._chartModel.dataSourceForId(this._sourceId)),t=Object(s.ensureNotNull)(this._chartModel.paneForSource(e)),i=this._chartModel.children(e,!0);t.bulkActionMacro(()=>{i.forEach(e=>this._chartModel.detachSource(e)),this._chartModel.detachSource(e)});const r=this._chartModel.createPane(this.targetPaneIndex()),n=r.findSuitableScale(e);r.bulkActionMacro(()=>{r.addDataSource(e,n,!1),i.forEach(e=>r.addDataSource(e,n,!1))}),Object(s.ensureNotNull)(e.priceScale()).restoreState(this._newPriceScaleState(r.isOverlay(e))),this._chartModel.fullUpdate(),this._chartModel.setShouldBeSavedEvenIfHidden(!0)}undo(){const e=Object(s.ensureNotNull)(this._chartModel.dataSourceForId(this._sourceId)),t=Object(s.ensureNotNull)(this._chartModel.paneForSource(e)),i=this._chartModel.children(e,!0);t.bulkActionMacro(()=>{i.forEach(e=>this._chartModel.detachSource(e));const t=this._chartModel.detachSource(e);Object(s.assert)(t,"Undo of detaching must remove pane")});const r=this._chartModel.panes()[this._initialPaneIndex];let n=r.getPriceScaleById(this._initialPriceScaleId);null===n&&(n=r.createPriceScaleAtPosition(this._initialPriceScalePosition,this._initialPriceScaleIndex)),r.bulkActionMacro(()=>{r.addDataSource(e,n,!0),i.forEach(e=>r.addDataSource(e,n,!1))}),Object(s.ensureNotNull)(e.priceScale()).restoreState(this._originalPriceScaleState()),this._chartModel.fullUpdate()}}class o extends n{constructor(e,t,i){super(e,t,i)}targetPaneIndex(){return this._initialPaneIndex+1}}class a extends n{constructor(e,t,i){super(e,t,i)}targetPaneIndex(){return this._initialPaneIndex}}class l extends n{constructor(e,t,i){super(e,t,i)}targetPaneIndex(){return this._chartModel.panes().length}}},HLXm:function(e,t,i){"use strict";function s(e){"LineToolGannComplex"!==e.type||void 0!==e.version&&1!==e.version||(e.type="LineToolGannFixed")}i.r(t),i.d(t,"migrateState",(function(){return s}))},"HV/F":function(e,t,i){"use strict";function s(e){const t={};return{promise:new Promise((i,s)=>{e.subscribe(t,i,!0)}),destroy:()=>{e.unsubscribeAll(t)}}}i.r(t),i.d(t,"delegateToPromise",(function(){return s}))},HY7u:function(e,t,i){},HZKX:function(e,t,i){"use strict";i.r(t),i.d(t,"defaultContextMenuOptions",(function(){return Te})),i.d(t,"createActionAddAlert",(function(){return Me})),i.d(t,"createActionTrade",(function(){
return Oe})),i.d(t,"createActionOrder",(function(){return Le})),i.d(t,"createMTPredictorActions",(function(){return Ae})),i.d(t,"createLinesAction",(function(){return Ee})),i.d(t,"ActionsProvider",(function(){return ke}));var s=i("Eyy1"),r=i("txPx"),n=(i("nc0P"),i("ogJP")),o=i("Kxc7"),a=i("7KDR"),l=i("YmeR"),c=i("Daqx"),h=i("3ClC"),u=i("QloM"),d=i("Qq0B"),p=i("z61+"),_=i("/3z9"),m=i("L/Ed"),f=i("cKqi"),g=i("YzC7"),b=i("pvsv"),v=i("GVQo"),S=i("CW80"),y=i("/tGj"),w=i("2uTr"),P=i("YFKU"),C=i("//lZ"),x=i("9uLv");const T=Object(r.getLogger)("Chart.ActionsProvider"),I=(Object(P.t)("Add Alert"),Object(P.t)("Add Alert on {series}"),Object(P.t)("Add Alert on {drawing}"),Object(w.appendEllipsis)(Object(P.t)("Edit {title} Alert"))),M=Object(P.t)("Extend Alert Lines"),O=Object(P.t)("Show alert label lines"),L=Object(P.t)("Hide alert label lines"),A=(Object(P.t)("Trade"),Object(w.appendEllipsis)(Object(P.t)("Create Limit Order")),Object(P.t)("Show")),E=Object(P.t)("Hide"),k=(Object(P.t)("MTPredictor"),Object(P.t)("Apply Manual Risk/Reward"),Object(P.t)("Apply Manual Decision Point"),Object(P.t)("Analyze Trade Setup"),Object(P.t)("Apply Elliott Wave"),Object(P.t)("Apply Elliott Wave Intermediate"),Object(P.t)("Apply Elliott Wave Major"),Object(P.t)("Apply Elliott Wave Minor"),Object(P.t)("Apply WPT Up Wave"),Object(P.t)("Up Wave 1 or A"),Object(P.t)("Up Wave 2 or B"),Object(P.t)("Up Wave C"),Object(P.t)("Up Wave 3"),Object(P.t)("Up Wave 4"),Object(P.t)("Up Wave 5"),Object(P.t)("Apply WPT Down Wave"),Object(P.t)("Down Wave 1 or A"),Object(P.t)("Down Wave 2 or B"),Object(P.t)("Down Wave C"),Object(P.t)("Down Wave 3"),Object(P.t)("Down Wave 4"),Object(P.t)("Down Wave 5"),Object(P.t)("Pinned To Scale {label} (Hidden)")),D=Object(P.t)("Pinned To Right Scale (Hidden)"),V=Object(P.t)("Pin To Scale {label} (Hidden)"),B=Object(P.t)("Pin To Right Scale (Hidden)"),R=Object(P.t)("Pinned To Scale {label}"),N=Object(P.t)("Pinned To Right Scale"),j=Object(P.t)("Pin To Scale {label}"),F=Object(P.t)("Pin To Right Scale"),W=Object(P.t)("Pinned To Left Scale (Hidden)"),H=Object(P.t)("Pin To Left Scale (Hidden)"),U=Object(P.t)("Pinned To Left Scale"),z=Object(P.t)("Pin To Left Scale"),G=Object(P.t)("Pin To New Left Scale"),q=Object(P.t)("Pin To New Right Scale"),Y=Object(P.t)("Pin To Scale (Now {label})"),K=Object(P.t)("Pin To Scale (Now No Scale)"),J=Object(P.t)("Pin To Scale (Now Left)"),Z=Object(P.t)("Pin To Scale (Now Right)"),X=Object(P.t)("No Scale (Fullscreen)"),$=Object(P.t)("Move To"),Q=Object(P.t)("Existing Pane Above"),ee=Object(P.t)("New Pane Above"),te=Object(P.t)("Existing Pane Below"),ie=Object(P.t)("New Pane Below"),se=Object(P.t)("Bring to Front"),re=Object(P.t)("Send to Back"),ne=Object(P.t)("Bring Forward"),oe=Object(P.t)("Send Backward"),ae=Object(P.t)("Visual Order"),le=Object(P.t)("Lines"),ce=Object(w.appendEllipsis)(Object(P.t)("Add Indicator/Strategy on {studyTitle}")),he=(Object(w.appendEllipsis)(Object(P.t)("Add Financial metric for {instrumentName}")),
Object(w.appendEllipsis)(Object(P.t)("Settings"))),ue=Object(P.t)("Apply Default"),de=Object(w.appendEllipsis)(Object(P.t)("Save As")),pe=Object(P.t)("Copy"),_e=Object(P.t)("Clone"),me=Object(P.t)("Template"),fe=(Object(P.t)("Sync To All Charts"),Object(P.t)("Go to {lineToolName}")),ge=Object(P.t)("Unlock"),be=Object(P.t)("Lock"),ve=(Object(P.t)("Show Earnings"),Object(P.t)("Show Dividends"),Object(P.t)("Show Splits"),Object(P.t)("Show All Ideas")),Se=Object(P.t)("Show Ideas of Followed Users"),ye=Object(P.t)("Show My Ideas Only"),we=Object(w.appendEllipsis)(Object(P.t)("Settings")),Pe=Object(P.t)("Hide Events on Chart"),Ce=Object(P.t)("Add this Symbol to Entire Layout"),xe=Object(P.t)("Add this Indicator to Entire Layout"),Te=(Object(P.t)("Add this Strategy to Entire Layout"),Object(P.t)("Add this Financial Metric to Entire Layout"),{general:!0,mainSeries:!0,mainSeriesTrade:!0,esdStudies:!0,studies:!0,fundamentals:!0,lineTools:!0,publishedCharts:!0,ordersAndPositions:!0,alerts:!0,chartEvents:!0,objectTree:!0,gotoLineTool:!1});function Ie(e){return Object(y.isSymbolSource)(e)?e.symbolTitle(!0,!0):e.title(!0)}function Me(e,t){return null}function Oe(e,t,i){return null}function Le(e){throw new Error("not supported")}function Ae(e,t,i,s){return null}function Ee(e){const t=e.actions(),i=[t.showPriceLine];return i.push(t.showHighLowPriceLines),i.push(t.showAverageClosePriceLine),new a.Action({label:le,statName:"Lines",subItems:i})}class ke{constructor(e,t){this._chartWidget=e,this._options=Object(n.merge)(Object(n.clone)(Te),t||{})}async contextMenuActionsForSources(e){const t=e[0],i=this._options;if(t===this._chartWidget.model().mainSeries()&&i.mainSeries)return this._contextMenuActionsForSeries(t);if(Object(h.isStudy)(t)&&i.studies)return this._contextMenuActionsForStudy(t);if(Object(S.isLineTool)(t)&&i.lineTools){const t=e.filter(S.isLineTool);return this._contextMenuActionsForLineTool(t)}return[]}_isReadOnly(){return this._chartWidget.readOnly()}_createActionHide(e){return new a.Action({label:E,icon:i("dmHa"),statName:"HideSelectedObject",onExecute:this._chartWidget.hideDataSources.bind(this._chartWidget,[e])})}_createActionShow(e){const t=new a.Action({checkable:!0,label:A,icon:i("6ctS"),statName:"ToggleShow"}),s=new l.ActionBinder(t,e.properties().visible,this._chartWidget.model(),A);return t.setBinding(s),s.setValue(e.properties().visible.value()),t}_createActionScale(e){const t=Object(s.ensureNotNull)(e.priceScale()),r=this._chartWidget.model().model(),n=Object(s.ensureNotNull)(r.paneForSource(e)),o=n.priceScalePosition(t),l=("left"===o?n.leftPriceScales():n.rightPriceScales()).indexOf(t),h=r.priceScaleSlotsCount().totallySlots<2?"dontneedname":"needname",u="overlay"===o?"":Object(c.a)(o,l).label,d=Y.format({label:u}),p={"left-needname":d,"left-dontneedname":J,"right-needname":d,"right-dontneedname":Z,"overlay-needname":K,"overlay-dontneedname":K}[o+"-"+h];return new a.Action({label:p,icon:i("/kal"),subItems:this._createActionScaleItems(e)})}_createActionScaleDetach(e,t,i,r){
const n=this._chartWidget.model().model(),o=Object(s.ensureNotNull)(n.paneForSource(e));if(!o.canCreateNewPriceScale())return null;const l=Object(s.ensureNotNull)(e.priceScale()),h=l.canDetachSource(e),u=o.priceScalePosition(l),d=h||u!==t;if(!d)return null;const p=n.priceScaleSlotsCount(),_={left:{labelled:j,sided:G},right:{labelled:j,sided:q}},m="left"===t?o.leftPriceScales().length:o.rightPriceScales().length,f=p[t]>m?"labelled":"sided",g=Object(c.a)(t,m).label,b=_[t][f].format({label:g});return new a.Action({checkable:!1,disabled:!d,label:b,statName:r,payload:e,onExecute:i})}_onDetachLeft(e){const t=e.getPayload(),i=this._chartWidget.model().model(),r=Object(s.ensureNotNull)(i.paneForSource(t));this._chartWidget.model().detachToLeft(t,r)}_onDetachRight(e){const t=e.getPayload(),i=this._chartWidget.model().model(),r=Object(s.ensureNotNull)(i.paneForSource(t));this._chartWidget.model().detachToRight(t,r)}_createActionScaleDetachLeft(e){return this._createActionScaleDetach(e,"left",this._onDetachLeft.bind(this),"ToggleScaleLeft")}_createActionScaleDetachRight(e){return this._createActionScaleDetach(e,"right",this._onDetachRight.bind(this),"ToggleScaleRight")}_onMoveToScale(e){const t=e.getPayload();if(t.datasource.priceScale()===t.priceScale)return;const i=this._chartWidget.model().model(),r=Object(s.ensureNotNull)(i.paneForSource(t.datasource));this._chartWidget.model().moveToScale(t.datasource,r,t.priceScale,t.undoText)}_createMoveToScaleAction(e,t,i,s){const r=e.priceScale()===t;return new a.Action({checkable:!0,checked:r,label:i,statName:"ToggleScale",payload:{datasource:e,priceScale:t,undoText:s},onExecute:this._onMoveToScale.bind(this)})}_onNoScale(e){const t=e.getPayload().datasource,i=this._chartWidget.model().model(),r=Object(s.ensureNotNull)(i.paneForSource(t));r.isOverlay(t)||this._chartWidget.model().detachNoScale(t,r)}_createActionNoScale(e){const t=this._chartWidget.model().model(),i=Object(s.ensureNotNull)(t.paneForSource(e)),r=i.actionNoScaleIsEnabled(e);return new a.Action({checkable:!0,checked:i.isOverlay(e),label:X,disabled:!r,statName:"ToggleNoScale",payload:{datasource:e},onExecute:this._onNoScale.bind(this)})}_createActionScaleItems(e){const t=[],i=this._chartWidget.model().model(),r=Object(s.ensureNotNull)(i.paneForSource(e)),n=i.priceScaleSlotsCount().totallySlots>1,o=r.rightPriceScales(),l=r.leftPriceScales(),h=this._createActionScaleDetachRight(e),u=this._createActionScaleDetachLeft(e),d=o.length+l.length+(null===h?0:1)+(null===u?0:1)>2,p={right:{hidden:{checked:{labelled:k,sided:D},unchecked:{labelled:V,sided:B}},visible:{checked:{labelled:R,sided:N},unchecked:{labelled:j,sided:F}}},left:{hidden:{checked:{labelled:k,sided:W},unchecked:{labelled:V,sided:H}},visible:{checked:{labelled:R,sided:U},unchecked:{labelled:j,sided:z}}}},_={left:r.visibleLeftPriceScales(),right:r.visibleRightPriceScales()},m=(t,i)=>{const s=("right"===i?o:l)[t],r=_[i].includes(s)?"visible":"hidden",a=e.priceScale()===s?"checked":"unchecked",h=n?"labelled":"sided",u=p[i],d={labelled:u.visible.unchecked.labelled,
sided:u.visible.unchecked.sided},m=Object(c.a)(i,t).label;return{actionText:u[r][a][h].format({label:m}),undoText:d[h].format({label:m})}};t.push(...o.map((t,i)=>{const s=m(i,"right");return this._createMoveToScaleAction(e,t,s.actionText,s.undoText)})),null!==h&&t.push(h);d&&(o.length>0||null!==h)&&t.push(new a.Separator);t.push(...l.map((t,i)=>{const s=m(i,"left");return this._createMoveToScaleAction(e,t,s.actionText,s.undoText)})),null!==u&&t.push(u);d&&(l.length>0||null!==u)&&t.push(new a.Separator);return t.push(this._createActionNoScale(e)),t}_createVisualOrderAction(e){const t=this._chartWidget.model(),s=t.availableZOrderOperations(e),r=[new a.Action({label:se,statName:"BringToFront",disabled:!s.bringToFrontEnabled,onExecute:()=>t.bringToFront(e)}),new a.Action({label:re,statName:"SendToBack",disabled:!s.sendToBackEnabled,onExecute:()=>t.sendToBack(e)}),new a.Action({label:ne,statName:"BringForward",disabled:!s.bringForwardEnabled,onExecute:()=>t.bringForward(e)}),new a.Action({label:oe,statName:"SendBackward",disabled:!s.sendBackwardEnabled,onExecute:()=>t.sendBackward(e)})];return new a.Action({label:ae,icon:i("9dnG"),statName:"VisualOrder",subItems:r})}_createActionMergeUp(e){const t=this._chartWidget.model();return t.model().isMergeUpAvailableForSource(e)?new a.Action({label:Q,statName:"MergeUp",onExecute:()=>t.mergeSourceUp(e)}):null}_createActionUnmergeUp(e){const t=this._chartWidget.model();return t.model().isUnmergeAvailableForSource(e)?new a.Action({label:ee,statName:"UnmergeUp",onExecute:()=>t.unmergeSourceUp(e)}):null}_createActionMergeDown(e){const t=this._chartWidget.model();return t.model().isMergeDownAvailableForSource(e)?new a.Action({label:te,statName:"MergeDown",onExecute:()=>t.mergeSourceDown(e)}):null}_createActionUnmergeDown(e){const t=this._chartWidget.model();return t.model().isUnmergeAvailableForSource(e)?new a.Action({label:ie,statName:"UnmergeDown",onExecute:()=>t.unmergeSourceDown(e)}):null}_mergeContentMenuItems(e){return[this._createActionMergeUp(e),this._createActionUnmergeUp(e),this._createActionMergeDown(e),this._createActionUnmergeDown(e)].filter(n.notNull)}_createActionMove(e){const t=this._mergeContentMenuItems(e);return t.length>0?new a.Action({label:$,icon:i("BBCR"),subItems:t}):null}_contextMenuActionsForSeries(e){const t=[],i=e.properties().visible.value(),r=this._chartWidget.model().model(),n=(Object(s.ensureNotNull)(r.paneForSource(e)),this._chartWidget.actions());if(this._isReadOnly())t.push(i?this._createActionHide(e):this._createActionShow(e)),t.push(new a.Separator),t.push(this._createActionScale(e));else{0,t.length>0&&!(t[t.length-1]instanceof a.Separator)&&t.push(new a.Separator),o.enabled("symbol_info")&&t.push(n.showSymbolInfoDialog);r.mainSeries().symbolInfo();0,t.length>0&&!(t[t.length-1]instanceof a.Separator)&&t.push(new a.Separator),t.push(this._createVisualOrderAction([e]));const s=this._createActionMove(e);null!==s&&t.push(s),t.push(this._createActionScale(e)),t.push(i?this._createActionHide(e):this._createActionShow(e)),t.push(new a.Separator),
t.push(Ee(this._chartWidget)),t.push(new a.Separator);window.widgetbar&&(!window.widgetbar._customization||window.widgetbar._customization.watchlist)&&n.addToWatchlist&&t.push(n.addToWatchlist),o.enabled("text_notes")&&t.push(n.addToTextNotes),t[t.length-1]instanceof a.Separator||t.push(new a.Separator),t[t.length-1]instanceof a.Separator&&t.pop()}return t}_createActionAddChildStudy(e){const t=this._chartWidget.model().model();return new a.Action({label:ce.format({studyTitle:Ie(e)}),icon:i("CwKc"),statName:"ApplyIndicator",onExecute:()=>{const i=this._chartWidget.showIndicators(Object(h.isStudy)(e)?e:void 0);if(i&&Object(h.isStudy)(e)){const e=()=>{trackEvent("SOS","Apply SOS","Apply by RC menu")},s=t.studyInserted();s.subscribe(this,e),i.visible().subscribe(t=>{t||s.unsubscribe(this,e)},{once:!0})}}})}_createActionAddFundamentals(e){return null}_createActionShowSymbolInfoDialog(e,t){return new a.Action({label:Object(w.appendEllipsis)(Object(P.t)("Symbol Info")),icon:i("1pHB"),checkable:!1,statName:"SymbolInfo",onExecute:()=>{const i=e.symbol(),s={symbolInfo:e.symbolInfo(),unitName:e=>t.name(e)};Object(b.showSymbolInfoDialog)(i,s)}})}_createActionShowProperties(e){return new a.Action({label:he,icon:i("MXV9"),statName:"EditSelectedObject",onExecute:()=>this._chartWidget.showSourceProperties(e)})}_contextMenuActionsForStudy(e){const t=this._chartWidget.actions(),i=e.properties().visible.value(),s=[];if(!e.userEditEnabled())return s;if(this._chartWidget.readOnly())s.push(i?this._createActionHide(e):this._createActionShow(e)),s.push(new a.Separator),e.constructor instanceof d.NonSeriesStudy||s.push(this._createActionScale(e));else{0,o.enabled("study_on_study")&&e.canHaveChildren()&&s.push(this._createActionAddChildStudy(e));const r=this._createApplyToEntireLayoutCommand(e);if(null!==r&&s.push(r),s.length>0&&!(s[s.length-1]instanceof a.Separator)&&s.push(new a.Separator),o.enabled("symbol_info")&&(e instanceof g.a||e instanceof f.study_Overlay)&&null!==e.symbolInfo()&&(s.push(this._createActionShowSymbolInfoDialog(e,this._chartWidget.model().model().availableUnits())),s.push(new a.Separator)),s.push(this._createVisualOrderAction([e])),!(e.constructor instanceof d.NonSeriesStudy)){const t=this._createActionMove(e);null!==t&&s.push(t),s.push(this._createActionScale(e))}s.push(new a.Separator);const n=e.metaInfo();if(e.copiable()){const t=new a.Action({label:pe,shortcutHint:Object(_.humanReadableHash)(_.Modifiers.Mod+67),statName:"Copy",onExecute:()=>{this._chartWidget.chartWidgetCollection().clipboard.uiRequestCopy([e])}});s.push(t)}s.push(i?this._createActionHide(e):this._createActionShow(e)),s.push(t.studyRemove),s.push(new a.Separator),o.enabled("property_pages")&&new p.a(n).hasUserEditableOptions()&&s.push(this._createActionShowProperties(e)),s[s.length-1]instanceof a.Separator&&s.pop()}return s}_createEditAlertDrawingAction(e){return new a.Action({label:I.format({title:e.title()}),icon:TbbiEditAlertSvg,statName:"EditAlert",onExecute:()=>{window.runOrSignIn(()=>{e.editAlert("pane_context_menu_edit_alert")},{
source:"Alert edit from pane context menu"})}})}_createLineToolTemplateAction(e){if(!window.lineToolPropertiesToolbar)return null;const t=window.lineToolPropertiesToolbar.templatesList();return void 0===t?null:new a.ActionAsync(()=>{const i=[],s=new a.Action({label:de,statName:"SaveAs",onExecute:()=>{t.showSaveDialog(i=>{const s=JSON.stringify(e.template());t.saveTemplate(i,s)})}});i.push(s);const r=new a.Action({label:ue,statName:"ApplyDefault",onExecute:()=>{this._chartWidget.model().restorePropertiesForSource(e),window.lineToolPropertiesToolbar.onSourceChanged(e)}});return i.push(r),new Promise(e=>{t.templatesLoaded().then(()=>{const e=t.getData();e.length>0&&i.push(new a.Separator),e.forEach((e,s)=>{const r=new a.Action({label:e,statName:"ApplyTemplate",onExecute:()=>t.loadTemplate(e),toolbox:{type:m.ToolboxType.Delete,action:()=>{t.deleteAction(e)}},showToolboxOnHover:!0});i.push(r)})},e=>{T.logWarn(e)}).then(()=>{e({label:me,statName:"Template",subItems:i})})})})}_createActionToggleLockObject(e){const t=e.properties().frozen.value();return new a.Action({label:t?ge:be,statName:"ToggleLockSelectedObject",checkable:!0,icon:i(t?"fs3R":"qckB"),onExecute:()=>this._chartWidget.toggleLockSelectedObject()})}async _contextMenuActionsForLineTool(e){const t=[],r=this._chartWidget.actions(),l=this._chartWidget.model().model(),c=()=>{t.push(this._createVisualOrderAction(e))},h=()=>{const s=e.filter(e=>e.cloneable());if(s.length>0){const e=new a.Action({label:_e,icon:i("K8V9"),shortcutHint:Object(_.humanReadableModifiers)(_.Modifiers.Mod)+"Drag",doNotBindShortcut:!0,statName:"Clone",onExecute:()=>this._chartWidget.model().cloneLineTools(s,!1)},"Clone");t.push(e)}return!!s.length},u=()=>{const i=e.filter(e=>e.copiable());if(i.length>0){const e=new a.Action({label:pe,shortcutHint:Object(_.humanReadableHash)(_.Modifiers.Mod+67),statName:"Copy",onExecute:()=>this._chartWidget.chartWidgetCollection().clipboard.uiRequestCopy(i)},"Copy");t.push(e)}return!!i.length},d=e=>{const i=new a.Action({label:fe.format({lineToolName:e.title()}),statName:"GoToLineTool",checkable:!1,onExecute:async t=>{const i=l.timeScale().logicalRange();if(null===i)return;const r=this._chartWidget.model(),o=l.timeScale().barSpacing();let a=i.left();const c=e.points().map(e=>e.index);let h=l.timeScale().points().firstIndex();const u=l.timeScale().points().lastIndex();if(null===h||null===u)return;const d=i.length()/2;if(0===c.length||c.some(e=>i.contains(e)))return;const p=()=>{const t=e.points().map(e=>e.index),i=t.filter(e=>e<=u).reduce((e,t)=>null===e?t:Math.max(e,t),null);return null!==i?i:t.reduce((e,t)=>Math.min(e,t))};let _,m=p();if(h-d>m){const t=e.points().map(e=>e.time).filter(n.notUndefined).map(e=>e.valueOf()/1e3);if(0===t.length)return;const i=t.reduce((e,t)=>Math.min(e,t),t[0]);await l.gotoTime(i),m=p();a=Object(s.ensureNotNull)(l.timeScale().logicalRange()).left(),h=Object(s.ensureNotNull)(l.timeScale().points().firstIndex())}h-d>m?(_=(a-h+d)*o,l.mainSeries().setGotoDateResult({timestamp:Object(s.ensureNotNull)(l.timeScale().points().valueAt(h)),
eod:!0})):_=(a-m+1+d)*o,r.startScrollTime(0),Object(C.doAnimate)({onStep:(e,t)=>r.scrollTimeTo(t),from:0,to:Math.round(_),easing:x.c.easeInOutCubic,duration:x.b,onComplete:()=>r.endScrollTime()})}});t.push(i)};if(1===e.length){const i=e[0];if(this._chartWidget.readOnly())t.push(r.lineHide);else if(i.userEditEnabled()){if(o.enabled("alerts")&&!this._chartWidget.onWidget()&&i.hasAlert&&i.hasAlert.value()&&(t.push(this._createEditAlertDrawingAction(i)),t.push(new a.Separator)),!o.enabled("charting_library_base")){const e=this._createLineToolTemplateAction(i);null!==e&&t.push(e)}c(),this._options.objectTree&&r.paneObjectTree&&t.push(r.paneObjectTree),t.push(new a.Separator);let e=h();e=u()||e,e=e,e&&t.push(new a.Separator),t.push(this._createActionToggleLockObject(i)),t.push(r.lineHide),t.push(r.lineRemove),i.points().length>0&&this._options.gotoLineTool&&(t.push(new a.Separator),d(i));const s=await this._chartWidget.propertiesDefinitionsForSource(i);if(o.enabled("property_pages")&&null!==s&&(t.push(new a.Separator),t.push(r.format)),i.additionalActions){t.push(new a.Separator);const e=i.additionalActions(this._chartWidget.model());t.push(...e)}}}else this._options.objectTree&&r.paneObjectTree&&t.push(r.paneObjectTree),c(),t.push(new a.Separator),h(),u(),t.push(new a.Separator),t.push(r.lineHide),t.push(r.lineRemove);return t}_createEarningsShow(){return null}_createDividendsShow(){return null}_createSplitsShow(){return null}_contextMenuActionsForESD(){return[]}_contextMenuActionsForPublishedTimeline(e){const t=this._chartWidget.actions(),i=[];if(i.push(t.lineHide),window.is_authenticated){const t=e.properties().filter,s=new a.Action({checked:t.value()===PublishedChartsFilter.None,checkable:!0,label:ve,name:"ToggleAllIdeas",statName:"ToggleAllIdeas",onExecute:()=>this._chartWidget.model().setProperty(t,PublishedChartsFilter.None,ve)}),r=new a.Action({checked:t.value()===PublishedChartsFilter.Following,checkable:!0,label:Se,name:"ToggleIdeasOfPeopleAndUser",statName:"ToggleIdeasOfPeopleAndUser",onExecute:()=>this._chartWidget.model().setProperty(t,PublishedChartsFilter.Following,Se)}),n=new a.Action({checked:t.value()===PublishedChartsFilter.Private,checkable:!0,label:ye,name:"ToggleUserIdeas",statName:"ToggleUserIdeas",onExecute:()=>this._chartWidget.model().setProperty(t,PublishedChartsFilter.Private,ye)});i.push(new a.Separator,s,r,n)}return i}_contextMenuActionsForTradingDrawings(e){return e.contextMenuItems()}_createAlertToggleHorzLineLabelAction(e){const t=getGlobalAlertSettingsProperty().childs().line.childs().visible,i=t.value()?L:O;return new a.Action({checkable:!0,label:M,checked:t.value(),statName:"ToggleExtendAlertLine",onExecute:()=>this._chartWidget.model().setProperty(t,!t.value(),i)})}_contextMenuActionsForAlertLabel(e){const t=e.alert(),i=[];return t.get("active")?i.push(AlertActionCreator.stopAlert(t)):i.push(AlertActionCreator.restartAlert(t,"alert_label_context_menu_restart")),i.push(AlertActionCreator.editAlert(t,"alert_label_context_menu_edit")),i.push(AlertActionCreator.deleteAlert(t)),
i.push(new a.Separator),i.push(this._createAlertToggleHorzLineLabelAction(e)),i}_contextMenuActionsForChartEvents(e){const t=[];if(o.enabled("property_pages")){const e=new a.Action({label:we,statName:"Format",onExecute:()=>this._chartWidget.showGeneralChartProperties(u.TabNames.eventsAndAlerts)});t.push(e)}const i=new a.Action({label:Pe,name:"HideEvents",statName:"HideEvents",onExecute:()=>this._chartWidget.model().setProperty(e.properties().visible,!1,Pe)});return t.push(i),t}_createApplyToEntireLayoutCommand(e){if(!this._chartWidget.chartWidgetCollection().applyIndicatorsToAllChartsAvailable())return null;const t=this._chartWidget.model().model();if(e.parentSource()!==t.mainSeries())return null;const i=Object(s.ensureNotNull)(t.paneForSource(e)),r=t.paneForSource(t.mainSeries())===i,n=e instanceof g.a&&e.priceScale()===t.mainSeries().priceScale()&&Object(s.ensureNotNull)(e.priceScale()).isPercentage(),o=r?void 0:t.panes().indexOf(i);let l=xe,c="AddStudyToEntireLayout";return Object(y.isSymbolSource)(e)&&(l=Ce,c="AddSymbolToEntireLayout"),new a.Action({label:l,statName:c,onExecute:()=>{const i=Object(s.ensureNotNull)(Object(v.a)(t.id(),[e])),a=this._chartWidget.chartWidgetCollection(),c={isOnMainPane:r,asCompare:n,paneIndex:o};a.applyIndicatorToAllCharts(this._chartWidget,i,c,l)}},"applyStudyToEntireLayout")}}},Hr11:function(e,t,i){"use strict";function s(e,t){return e<=t}function r(e,t){return e>=t}function n(e,t,i){return Math.min(Math.max(e,t),i)}function o(e){return e<0?-1:e>0?1:0}function a(e){if(e<0)return!1;for(let t=e;t>1;t/=10)if(t%10!=0)return!1;return!0}function l(e,t,i){return t-e<=i}function c(e,t,i){return Math.abs(e-t)t?1:0}function d(e,t=u){if(e.length<1)throw Error("array is empty");let i=e[0];for(let s=0;s0&&(i=e[s]);return i}function _(e){const t=Math.ceil(e);return t%2!=0?t-1:t}function m(e){return e>0?Math.floor(e):Math.ceil(e)}i.r(t),i.d(t,"lessThan",(function(){return s})),i.d(t,"greaterThan",(function(){return r})),i.d(t,"clamp",(function(){return n})),i.d(t,"sign",(function(){return o})),i.d(t,"isBaseDecimal",(function(){return a})),i.d(t,"greaterOrEqual",(function(){return l})),i.d(t,"equal",(function(){return c})),i.d(t,"log10",(function(){return h})),i.d(t,"defComparator",(function(){return u})),i.d(t,"min",(function(){return d})),i.d(t,"max",(function(){return p})),i.d(t,"ceiledEven",(function(){return _})),i.d(t,"toInt",(function(){return m}))},HySD:function(e,t,i){"use strict";i.r(t),i.d(t,"ResizerDetacherState",(function(){return o}));var s=i("Eyy1"),r=i("hY0g"),n=i.n(r);class o{constructor(e){this._alive=new n.a,this._container=new n.a,this._width=new n.a,this._height=new n.a,this._fullscreen=new n.a,this._detachable=new n.a,this._fullscreenable=new n.a,this._visible=new n.a,this._availWidth=new n.a,this._availHeight=new n.a,
this._owner=new n.a,this._ownersStack=[],this.owner=this._owner.readonly(),this._bridge={alive:this._alive.readonly(),container:this._container.readonly(),width:this._width.readonly(),height:this._height.readonly(),fullscreen:this._fullscreen.readonly(),detachable:this._detachable.readonly(),fullscreenable:this._fullscreenable.readonly(),visible:this._visible.readonly(),availWidth:this._availWidth.readonly(),availHeight:this._availHeight.readonly(),remove:()=>{const e=this._owner.value();e&&e.remove&&e.remove()},negotiateWidth:e=>{const t=this._owner.value();t&&t.negotiateWidth&&t.negotiateWidth(e)},negotiateHeight:e=>{const t=this._owner.value();t&&t.negotiateHeight&&t.negotiateHeight(e)},requestFullscreen:()=>{const e=this._owner.value();e&&e.requestFullscreen&&e.requestFullscreen()},exitFullscreen:()=>{const e=this._owner.value();e&&e.exitFullscreen&&e.exitFullscreen()},detach:e=>{const t=this._owner.value();t&&t.detach&&t.detach(e)},attach:()=>{const e=this._owner.value();e&&e.attach&&e.attach()}},e&&this.pushOwner(e)}bridge(){return this._bridge}pushOwner(e){if(!e.alive.value())return;for(const e of this._ownersStack)this._unsubscribeOwner(e);const t={owner:e};this._ownersStack.push(t),this._subscribeOwner(t)}_subscribeOwner(e){const t=e.owner;if(e.deathWatcher||(this._alive.setValue(!0),e.deathWatcher=t.alive.spawn(),e.deathWatcher.subscribe(t=>{t||this._deadHandler(e)})),this._owner.setValue(t),!e.subscriptions){const i=e.subscriptions=[];this._visible.setValue(!1);const s=(e,t)=>{if(e){const s=e.spawn();i.push(s),s.subscribe(e=>{t.setValue(e)},{callWithLast:!0})}else t.deleteValue()};s(t.container,this._container),s(t.width,this._width),s(t.height,this._height),s(t.fullscreen,this._fullscreen),s(t.detachable,this._detachable),s(t.fullscreenable,this._fullscreenable),s(t.availWidth,this._availWidth),s(t.availHeight,this._availHeight),s(t.visible,this._visible)}}_unsubscribeOwner(e,t){if(e.subscriptions){for(const t of e.subscriptions)t.unsubscribe();e.subscriptions=null}t&&e.deathWatcher&&(e.deathWatcher.unsubscribe(),e.deathWatcher=null)}_deadHandler(e){const t=this._ownersStack.indexOf(e);Object(s.assert)(-1!==t,"sanitized owner should be in stack");for(let e=this._ownersStack.length-1;e>=t;e--)this._unsubscribeOwner(this._ownersStack[e],!0);this._ownersStack.length=t,t>0?this._subscribeOwner(this._ownersStack[t-1]):(this._alive.setValue(!1),this._owner.deleteValue())}}},I4UZ:function(e,t,i){"use strict";i.r(t),i.d(t,"HeaderToolbarBootloader",(function(){return o}));var s=i("yMne"),r=i("YuHv"),n=i("cZRT");class o extends n.a{constructor(e,t){super(),this._toolsBootloader=e,this._headerProps=t,this._headerProps.resizerBridge.negotiateHeight(s.b),this._headerProps.resizerBridge.container.value().appendChild(Object(r.a)())}_startLoading(){return Promise.all([this._toolsBootloader.load(),this._loadHeaderToolbar()]).then(([e,t])=>new t(this._headerProps.resizerBridge.container.value(),{...this._headerProps,tools:e}))}_loadHeaderToolbar(){
return Promise.all([i.e("react"),i.e(14),i.e(42),i.e(79),i.e(7),i.e(10),i.e(40),i.e("header-toolbar")]).then(i.bind(null,"KMbc")).then(e=>e.HeaderToolbarRenderer)}}},IDnv:function(e,t,i){"use strict";i.r(t),i.d(t,"extrapolateBarsFrontToTime",(function(){return r})),i.d(t,"extrapolateBarsFrontByCount",(function(){return n})),i.d(t,"extrapolateBarsFrontByCountAllPoints",(function(){return o})),i.d(t,"extrapolateBars",(function(){return a}));var s=i("E6p6");function r(e,t,i,s,n=!1){if(t>i){const o=r(e,i,t,s,n);return o.count=-o.count,o}return a(e,t,1,(e,t)=>t>i||0!==s&&e>s,n)}function n(e,t,i,s=!1){const r=i<0?-1:1;return a(e,t,r,(e,t)=>e>=i*r,s)}function o(e,t,i){const s=i<0?-1:1;return a(e,t,s,(e,t)=>e>=i*s,!0).times}function a(e,t,i,r,n){let o=0,a=t;e.moveTo(a);let l=0,c=Number.MAX_VALUE,h=!1,u=t;const d=[];for(;!r(o,a);){if(l>15)throw new Error("Internal error 0x10 while extrapolating.");const r=e.indexOfBar(a);if(r===s.SessionStage.PRE_SESSION&&1===i)a=e.startOfBar(0),e.moveTo(a);else if(r===s.SessionStage.PRE_SESSION&&-1===i)a=e.startOfBar(s.SessionStage.PRE_SESSION),e.moveTo(a);else if(r===s.SessionStage.POST_SESSION&&1===i)a=e.startOfBar(s.SessionStage.POST_SESSION),e.moveTo(a);else{if(r===s.SessionStage.POST_SESSION&&-1===i)throw new Error("Internal error 0x12 while extrapolating.");{const p=e.startOfBar(r);if(p>t&&i>0||t>p&&i<0){if(h&&c===p)throw new Error("Internal error 0x11 while extrapolating.");h=!0,c=p,l=0,o++,u=p,n&&d.push(u)}if(0===r&&-1===i)a=p-1;else{a=e.startOfBar(r+i);const t=e.startOfBar(s.SessionStage.POST_SESSION);a>t&&(e.moveTo(t),a=e.startOfBar(0))}}}l++}return{time:u,times:d,count:o}}},IMMp:function(e){
e.exports=JSON.parse('{"color-bg-primary":"color-cold-gray-850","color-bg-primary-hover":"color-cold-gray-800","color-bg-secondary":"color-cold-gray-900","color-bg-highlight":"color-cold-gray-900","color-bg-scroll-buttons":"color-cold-gray-800","color-legacy-bg-scroll-buttons":"color-cold-gray-550","color-legacy-bg-widget":"color-cold-gray-900","color-text-primary":"color-cold-gray-200","color-text-secondary":"color-cold-gray-500","color-text-tertiary":"color-cold-gray-400","color-text-disabled":"color-cold-gray-650","color-accent-content":"color-white","color-divider":"color-cold-gray-700","color-divider-hover":"color-cold-gray-800","color-box-shadow":"color-cold-gray-900","color-active-hover-text":"color-cold-gray-300","color-alert-text":"color-cold-gray-200","color-border":"color-cold-gray-750","color-border-chat-fields":"color-cold-gray-750","color-border-hover":"color-cold-gray-650","color-border-table":"color-cold-gray-800","color-brand":"color-tv-blue-500","color-brand-hover":"color-tv-blue-600","color-brand-active":"color-tv-blue-700","color-button-hover-bg":"color-cold-gray-850","color-chart-page-bg":"color-cold-gray-800","color-common-tooltip-bg":"color-cold-gray-650","color-danger":"color-ripe-red-600","color-danger-hover":"color-ripe-red-500","color-danger-active":"color-ripe-red-400","color-depthrenderer-fill-style":"color-cold-gray-150","color-depthrenderer-stroke-style":"color-cold-gray-650","color-disabled-border-and-color":"color-cold-gray-800","color-disabled-input":"color-cold-gray-750","color-empty-container-message":"color-cold-gray-500","color-highlight-new":"color-tv-blue-a800","color-icons":"color-cold-gray-500","color-input-bg":"color-cold-gray-800","color-input-textarea-readonly":"color-cold-gray-650","color-input-placeholder-text":"color-cold-gray-700","color-input-publish-bg":"color-cold-gray-900","color-item-active-blue":"color-tv-blue-a800","color-item-hover-active-bg":"color-cold-gray-800","color-item-hover-bg":"color-cold-gray-800","color-item-hover-blue":"color-tv-blue-a800","color-item-selected-blue":"color-tv-blue-a800","color-item-active-text":"color-cold-gray-200","color-item-active-bg":"color-tv-blue-500","color-link":"color-tv-blue-500","color-link-hover":"color-tv-blue-600","color-link-active":"color-tv-blue-700","color-list-item":"color-cold-gray-500","color-list-nth-child-bg":"color-cold-gray-850","color-news-highlight":"color-cold-gray-800","color-pane-bg":"color-cold-gray-900","color-pane-secondary-bg":"color-cold-gray-850","color-placeholder":"color-cold-gray-650","color-popup-menu-item-hover-bg":"color-cold-gray-800","color-popup-menu-separator":"color-cold-gray-700","color-row-hover-active-bg":"color-cold-gray-800","color-sb-scrollbar-body-bg":"color-cold-gray-650","color-screener-description":"color-cold-gray-200","color-section-separator-border":"color-cold-gray-750","color-search-button-hover":"color-cold-gray-700","color-separator-table-chat":"color-cold-gray-750","color-success":"color-minty-green-700","color-success-hover":"color-minty-green-600","color-success-active":"color-minty-green-500","color-tag-active-bg":"color-cold-gray-750","color-tag-hover-bg":"color-cold-gray-800","color-text-regular":"color-cold-gray-200","color-toolbar-button-text":"color-cold-gray-500","color-toolbar-button-text-hover":"color-cold-gray-450","color-toolbar-button-text-active":"color-tv-blue-500","color-toolbar-button-text-active-hover":"color-tv-blue-600","color-toolbar-button-background-hover":"color-cold-gray-800","color-toolbar-button-background-secondary-hover":"color-cold-gray-750","color-toolbar-toggle-button-background-active":"color-tv-blue-500","color-toolbar-toggle-button-background-active-hover":"color-tv-blue-600","color-toolbar-interactive-element-text-normal":"color-cold-gray-300","color-toolbar-interactive-element-text-hover":"color-cold-gray-250","color-toolbar-opened-element-bg":"color-cold-gray-800","color-tooltip-bg":"color-cold-gray-750","color-tv-button-checked":"color-cold-gray-500","color-tv-dialog-caption":"color-cold-gray-50","color-tv-dropdown-item-hover-bg":"color-cold-gray-800","color-underlined-text":"color-cold-gray-300","color-widget-pages-bg":"color-cold-gray-900","color-warning":"color-tan-orange-700","color-forex-icon":"color-white","color-list-item-active-bg":"color-tv-blue-500","color-list-item-hover-bg":"color-cold-gray-800","color-list-item-text":"color-cold-gray-200","color-price-axis-label-back":"color-cold-gray-800","color-price-axis-label-text":"color-cold-gray-500","color-price-axis-gear":"color-cold-gray-500","color-price-axis-gear-hover":"color-cold-gray-400","color-price-axis-highlight":"color-cold-gray-800","color-bid":"color-tv-blue-500","color-scroll-bg":"color-cold-gray-750","color-scroll-border":"color-cold-gray-850","color-widget-border":"color-cold-gray-800","color-scroll-buttons-arrow":"color-white","color-control-intent-default":"color-cold-gray-650","color-control-intent-success":"color-minty-green-600","color-control-intent-primary":"color-tv-blue-500","color-control-intent-warning":"color-tan-orange-500","color-control-intent-danger":"color-ripe-red-700","color-growing":"color-minty-green-600","color-falling":"color-ripe-red-600","color-pre-market":"color-tan-orange-600","color-pre-market-bg":"color-tan-orange-400","color-post-market":"color-tv-blue-500","color-post-market-bg":"color-tv-blue-400","color-market-open":"color-minty-green-500","color-market-open-bg":"color-minty-green-400","color-market-closed":"color-cold-gray-400","color-market-holiday":"color-cold-gray-400","color-invalid-symbol":"color-ripe-red-400","color-invalid-symbol-hover":"color-ripe-red-500","color-replay-mode":"color-tv-blue-500","color-replay-mode-icon":"color-tv-blue-50","color-replay-mode-hover":"color-tv-blue-600","color-notaccurate-mode":"color-berry-pink-700","color-notaccurate-mode-bg":"color-berry-pink-400","color-delay-mode":"color-tan-orange-700","color-delay-mode-bg":"color-tan-orange-400","color-eod-mode":"color-grapes-purple-700","color-eod-mode-bg":"color-grapes-purple-400","color-data-problem":"color-ripe-red-600","color-data-problem-bg":"color-ripe-red-400","color-data-problem-hover":"color-ripe-red-500","color-list-item-bg-highlighted":"color-tv-blue-a900","color-list-item-bg-selected":"color-tv-blue-a800","color-list-item-bg-highlighted-hover":"color-tv-blue-a800","color-list-item-bg-selected-hover":"color-tv-blue-a700","color-screener-header-bg":"color-cold-gray-850","color-screener-header-bg-hover":"color-cold-gray-800","color-overlay":"color-cold-gray-950","color-card-border":"color-cold-gray-700","color-card-border-hover":"color-cold-gray-600"}')
},IWXC:function(e,t,i){"use strict";i.r(t),i.d(t,"getQuoteSessionInstance",(function(){return o})),i.d(t,"setQuoteSessionInstance",(function(){return a})),i.d(t,"getQuoteSessionNoEnsure",(function(){return l})),i.d(t,"destroyQuoteSessions",(function(){return c}));var s=i("hGf4"),r=i.n(s);const n={};function o(e="full"){return n[e]||a(e,new r.a(e)),n[e]}function a(e="full",t){n[e]=t}function l(e="full"){return n[e]}function c(){for(const e in n)if(n.hasOwnProperty(e)){const t=n[e];void 0!==t&&t.destroy(),delete n[e]}}},Ialn:function(e,t,i){"use strict";i.r(t),i.d(t,"isRtl",(function(){return r})),i.d(t,"stripLTRMarks",(function(){return o})),i.d(t,"startWithLTR",(function(){return a})),i.d(t,"forceLTRStr",(function(){return l})),i.d(t,"forceLTRStrSsr",(function(){return c})),i.d(t,"forceRTLStr",(function(){return h})),i.d(t,"getLTRScrollLeft",(function(){return u})),i.d(t,"getLTRScrollLeftOffset",(function(){return d})),i.d(t,"detectAutoDirection",(function(){return m}));var s=i("oYVD");const r=()=>"rtl"===window.document.dir,n=new RegExp("|||","g");function o(e){return""!==e&&r()&&null!=e?e.replace(n,""):e}function a(e){return""!==e&&r()&&null!=e?""+e:e}function l(e){return""!==e&&r()&&null!=e?""+e+"":e}function c(e){return""+e+""}function h(e){return""!==e&&r()&&null!=e?""+e+"":e}function u(e){return Object(s.getNormalizedScrollLeft)(e,"rtl")}function d(e,t){const i=Object(s.detectScrollType)();if("indeterminate"===i)return 0;switch(i){case"negative":t=e.clientWidth-e.scrollWidth+t;break;case"reverse":t=e.scrollWidth-e.clientWidth-t}return t}const p=/[^\u0000-\u0040\u005B-\u0060\u007B-\u00BF\u00D7\u00F7\u02B9-\u02FF\u2000-\u200E\u2010-\u2029\u202C\u202F-\u2BFF]/,_=/[\u0590-\u07FF\u200F\u202B\u202E\uFB1D-\uFDFD\uFE70-\uFEFC]/;function m(e){const t=p.exec(e);return t?_.test(t[0])?"rtl":"ltr":""}},IcDj:function(e,t,i){"use strict";i.r(t);var s=i("Eyy1"),r=i("txPx"),n=i("aIyQ"),o=i.n(n),a=i("7ktv"),l=i("Qb4w"),c=i("k9/m"),h=i("0YCj"),u=i.n(h),d=i("jenN"),p=i("972a"),_=i("it7y"),m=i("e1Hy");class f extends _.StudyDataWindowView{constructor(e,t){super(e,t),this._showStudyValues=t.properties().paneProperties.legendProperties.showStudyValues,this._showStudyValues.subscribe(this,this.update)}isValuesVisible(){return this._showStudyValues.value()}additional(){return null}destroy(){this._showStudyValues.unsubscribeAll(this)}_createValuesProvider(e,t){return new m.a(e,t)}}var g=i("mMWL"),b=i("2kV1"),v=i("5fI3"),S=i("jy4L"),y=i("YWnQ"),w=i("W+6j"),P=i("ogJP"),C=i("zXvd"),x=i("23IT"),T=i("Kxc7"),I=i("aO4+"),M=i("Tmoa"),O=i("Zy3/");class L{constructor(e){this._data=e}draw(e,t){}drawBackground(e,t){e.save();const i=this._data,s=t.pixelRatio;let r=null;const n=Math.round(this._data.w*s);for(let t=0;t0){i.items[t-1].index===o.index-1&&null!==r&&(l=r+1)}const c=a+n,h=c-l+1;e.fillRect(l,Math.round(i.y*s),h,Math.round(i.h*s)),r=c}e.restore()}hitTest(e){return null}}var A=i("i6cO"),E=i("UAFa")
;class k{constructor(e,t,i,r){this._items=[],this._invalidated=!0,this._isMarkersEnabled=T.enabled("source_selection_markers"),this._study=e,this._series=t,this._model=i,this._plotName=r;const n=this._study.metaInfo().plots;for(let e=0;e0?(i-=n,r+=n):(i+=n,r-=n);const o=this._study.getMinFirstBarIndexForPlot(this._plotName);if(o>r)return;i=Math.max(o,i);const a=this._study.data().rangeIterator(i,r);for(;a.hasNext();){const e=a.next();let i=e.index;const r=e.value;i+=n;const o=new I.Point(Math.floor(i)-.5,NaN);let l=Object(P.isNumber)(t)?t:50;l=Math.min(l,100),l=Math.max(l,0);const c=this._colorProvider.getPlotPointStyle(r);void 0!==c.colors[A.ColorerType.Background]&&(o.color=Object(M.generateColor)(Object(s.ensureDefined)(c.colors[A.ColorerType.Background]),l)),o.index=i,this._items.push(o)}this._model.timeScale().timedValuesToCoordinates(this._items)}}var D=i("CLNU"),V=i("vq8G"),B=i("Nu4p"),R=i("Hr11"),N=i("VdBB"),j=i("o2pV"),F=i("XPit"),W=i("f6yo");function H(e,t,i){const s=e.get(t);return void 0!==s?s:(e.set(t,i),i)}function U(e,t,i,s){const r=H(e,t,new Map);return H(r,i,s)}class z{constructor(){this._map=new Map,this._size=0}size(){return this._size}clear(){this._map.clear(),this._size=0}}var G,q,Y=i("XlJ7"),K=i("c44N"),J=i("ikwP");!function(e){e.Left="left",e.Right="right",e.Center="center"}(G||(G={})),function(e){e.Top="top",e.Bottom="bottom",e.Middle="middle"}(q||(q={}));class Z{constructor(e,t,i,r,n,o="center"){this._cacheRenderParams=null,this._canvasesMap={},this._lines=e.split(/[^\S\r\n]*(?:\r\n|\r|\n)/),this._font=function(e,t,i,s){
return Object(Y.makeFont)(s,i,`${e?"bold ":""}${t?"italic ":""}`)}(t,i,r,n),this._fontSize=n,this._verticalPadding=~~(n/6),this._textAlign=o;const a=Object(J.createDisconnectedCanvas)(document,new J.Size(0,0),1),l=Object(s.ensureNotNull)(a.getContext("2d"));l.font=this._font;let c=0;for(const e of this._lines){const t=l.measureText(e).width;c=Math.max(c,t)}this.textImageWidth=c+1,this.textImageHeight=this._lines.length*n+this._verticalPadding}paintTo(e,t,i,s,r,n,o){const a=this._getTextImage(i,t);if(0===a.width||0===a.height)return;const l=function(e,t,i){let s=e;switch(t){case"left":break;case"right":s-=i;break;case"center":s-=i/2}return Math.round(s)}(s,n,this.textImageWidth),c=function(e,t,i){let s=e;switch(t){case"top":break;case"bottom":s-=i;break;case"middle":s-=i/2}return Math.round(s)}(r,o,this.textImageHeight);Object(J.drawScaled)(e,t.pixelRatio,()=>{e.drawImage(a,l,c,this.textImageWidth,this.textImageHeight)})}_getTextImage(e,t){if(null!==this._cacheRenderParams&&Object(K.areEqualPaneRenderParams)(this._cacheRenderParams,t)||(this._canvasesMap={},this._cacheRenderParams=t),this._canvasesMap[e])return this._canvasesMap[e];{const t=Object(J.createDisconnectedCanvas)(document,new J.Size(this.textImageWidth,this.textImageHeight),this._cacheRenderParams.pixelRatio),i=Object(s.ensureNotNull)(t.getContext("2d"));let r;switch(i.textBaseline="top",i.font=this._font,i.fillStyle=e,this._textAlign){case"left":r=0,i.textAlign="left";break;case"right":r=this.textImageWidth-1,i.textAlign="right";break;default:r=this.textImageWidth/2,i.textAlign="center"}let n=this._verticalPadding;return Object(J.drawScaled)(i,this._cacheRenderParams.pixelRatio,()=>{for(const e of this._lines)i.fillText(e,r,n),n+=this._fontSize}),this._canvasesMap[e]=t,t}}}class X extends z{constructor(e){super(),this._maxSize=e,this._keysQueue=[]}get(e){if(!e.text||!e.fontSize||!e.align)return null;const t=e.fontSize,i=e.text,s=e.align,r=U(this._map,t,s,new Map);let n=r.get(i);return void 0!==n||(this._size>=this._maxSize?this._deleteFirstKey():++this._size,this._keysQueue.push([t,i,s]),n=new Z(e.text,e.bold,e.italic,e.font,e.fontSize,e.align),r.set(i,n)),n}_deleteFirstKey(){const e=this._keysQueue.shift(),t=e[0],i=e[1],s=this._map.get(t);s.delete(i),0===s.size&&this._map.delete(t)}}var $=i("zDbI");class Q{constructor(e,t={skipRenderingOptimizations:!1}){this._height=void 0!==e.height?e.height:e.width,this._width=void 0!==e.width?e.width:e.height,this._items=[],this._barSpacing=0,this._textCache=t.textCache||new X(5e3),this._drawOperation=t.skipRenderingOptimizations?this._drawWithoutOptimizations.bind(this):this._drawWithOptimizations.bind(this),this._color=e.color,this._borderColor=e.borderColor,this._vertOffset=e.vertOffset||0,e.text&&(this._text=e.text,this._fontSize=e.fontSize,this._textColor=e.textColor,this._textAlign=e.textAlign||"center"),void 0!==e.items&&void 0!==e.barSpacing&&this.setData(e.items,e.barSpacing)}draw(e,t){this._preDrawInit(),this._drawOperation(e,t)}hitTest(e){const t=N.HitTestResult.REGULAR;let i=null
;for(const s of this._items){if(!s)continue;const r=this._calcBoundingBox(s);if(r&&Object(W.pointInBox)(e,r)){const e={tooltip:this._getTooltip(s,r)};i=new N.HitTestResult(t,e)}}return i}setData(e,t){this._setBaseData(e,t)}_calcBoundingBox(e){const t=e.vertOffset,i=this._getTextCache(e);if(!i)return;const s=i.textImageWidth,r=i.textImageHeight,n=s/2,o=e.y+t+e.textVertOffset,a=t>0?0:-r,l=t>0?r:0,c=new I.Point(e.x-n,o+a),h=new I.Point(e.x+n,o+l);return Object(I.box)(c,h)}_unionBox(e,t){const i=Math.min(e.min.x,t.min.x),s=Math.max(e.max.x,t.max.x),r=Math.min(e.min.y,t.min.y),n=Math.max(e.max.y,t.max.y),o=new I.Point(i,r),a=new I.Point(s,n);return Object(I.box)(o,a)}_getTooltip(e,t){if(e.tooltip)return{content:{type:"text",data:e.tooltip},tooltipDelay:200,extendMargin:!0,rect:{x:t.min.x,y:t.min.y,w:Math.abs(t.max.x-t.min.x),h:Math.abs(t.max.y-t.min.y)}}}_setBaseData(e,t){this._items.length=0,this._barSpacing=t;for(const t of e){const e=void 0===t.width?Object(s.ensureDefined)(this._width):t.width,i=void 0===t.height?Object(s.ensureDefined)(this._height):t.height,r=void 0===t.vertOffset?this._vertOffset:t.vertOffset,n=r>0?i:-i;this._items.push({width:e,height:i,vertOffset:r,textVertOffset:n,shapeWidth:0,shapeHeight:0,stepX:0,stepY:0,...t})}}_drawItemText(e,t,i){const s=this._getTextCache(i);if(null===s)return;const r=i.x,n=i.vertOffset,o=i.y+n+i.textVertOffset;let a;a=i.style&&void 0!==i.style.textColor?i.style.textColor:this._textColor,s.paintTo(e,t,a,r,o,G.Center,n>0?q.Top:q.Bottom)}_drawWithOptimizations(e,t){let i,s,r=null,n=!1;for(const o of this._items)o.style&&void 0!==o.style.color?(i=o.style.color||"rgba(0, 0, 0, 0)",s=o.style.borderColor||"rgba(0, 0, 0, 0)"):(i=this._color,s=this._borderColor),r!==i&&(r=i,n&&this._endPath(e),this._startPath(e,t,i,s)),this._drawItemShape(e,t,o),n=!0;n&&this._endPath(e);for(const i of this._items)this._drawItemText(e,t,i)}_drawWithoutOptimizations(e,t){let i,r;for(const n of this._items){const o=Object(s.ensureDefined)(n.style);i=o.color||"rgba(0, 0, 0, 0)",r=o.borderColor||"rgba(0, 0, 0, 0)",this._startPath(e,t,i,r),this._drawItemShape(e,t,n),this._endPath(e),this._drawItemText(e,t,n)}}_drawItemShape(e,t,i){Object(J.drawScaled)(e,t.pixelRatio,()=>this._drawItemShapeUsingCSSPixels(e,i))}_drawItemShapeUsingCSSPixels(e,t){}_preDrawInit(){}_startPath(e,t,i,s){}_endPath(e){}_getTextCache(e){const t=e.text||this._text,i=e.fontSize||this._fontSize,s=e.textAlign||this._textAlign;return this._textCache.get({text:t,bold:!1,italic:!1,font:$.CHART_FONT_FAMILY,fontSize:i,align:s})}}class ee extends Q{_startPath(e,t,i,s){e.beginPath(),e.lineWidth=this._lineWidth(t),e.lineCap="butt",e.strokeStyle=i}_endPath(e){e.stroke()}_lineWidth(e){return Math.max(1,Math.floor(2*e.pixelRatio))}}class te extends Q{_startPath(e,t,i,s){e.beginPath(),e.lineWidth=this._lineWidth(t),e.lineCap="butt",e.fillStyle=i,e.strokeStyle=s}_endPath(e){e.fill(),e.stroke()}_lineWidth(e){return Math.max(1,Math.floor(e.pixelRatio))}}class ie extends te{constructor(){super(...arguments),this._sign=0,this._thinArrow=!1,
this._thinArrowLineWidth=0,this._headHeight=0,this._arrowWidth=0}setData(e,t){this._setBaseData(e,t)}_drawItemShape(e,t,i){const s=t.pixelRatio,r=this._lineWidth(t)%2?.5:0,n=this._sign,o=this._arrowWidth,a=this._headHeight,l=Math.abs(i.height),c=Math.round(i.x*s)+r,h=i.vertOffset,u=Math.round((i.y+h+n*l/2)*s)+r,d=Object(R.ceiledEven)(o*s),p=d/2,_=Math.round(l*s),m=Math.round(a*s);e.translate(c,u),this._thinArrow?(e.moveTo(0,0),e.lineTo(-p,-p*n),e.moveTo(0,0),e.lineTo(p,-p*n),e.moveTo(0,0),e.lineTo(0,-_*n),e.moveTo(-p,-_*n),e.lineTo(p,-_*n)):(e.moveTo(0,0),_=0?e.vertOffset:e.vertOffset-e.shapeHeight}}),le.set("PaneRendererLabelDown",class extends re{_calcBoundingBox(e){const t=e.x-e.shapeWidth/2,i=e.x+e.shapeWidth/2,s=e.y-e.shapeHeight+e.vertOffset,r=e.y+e.vertOffset,n=new I.Point(t,s),o=new I.Point(i,r);return Object(I.box)(n,o)}_drawItemShape(e,t,i){const s=t.pixelRatio,r=this._lineWidth(t)%2?.5:0,n=Math.max(1,Math.floor(s))%2?.5:0,o=this._getArrowSize(i);let a=Math.round(o*s);(n+a)%1!=r%1&&(a+=.5);let l=Math.round(i.shapeWidth/2*s);(n+l)%1!=r%1&&(l+=.5);const c=Math.round(i.x*s)+n,h=Math.round((i.y+i.vertOffset)*s)+r,u=c+a,d=Math.round((i.y+i.vertOffset-o)*s)+r,p=c-a,_=c+l,m=Math.round((i.y+i.vertOffset-i.shapeHeight)*s)+r,f=c-l;e.moveTo(u,d),e.lineTo(c,h),e.lineTo(p,d),i.shapeWidth<=2*o?(e.lineTo(f,d),this._drawCorner(e,f,m,oe.leftUp,s),this._drawCorner(e,_,m,oe.rightUp,s),e.lineTo(_,d)):(this._drawCorner(e,f,d,oe.leftDown,s),this._drawCorner(e,f,m,oe.leftUp,s),this._drawCorner(e,_,m,oe.rightUp,s),this._drawCorner(e,_,d,oe.rightDown,s)),e.lineTo(u,d)}_getVerticalTextOffset(e){return-e.shapeHeight/2-this._getArrowSize(e)/2}_calcVertOffset(e){return Math.sign(e.vertOffset)<=0?e.vertOffset:e.vertOffset+e.shapeHeight}}),le.set("PaneRendererSquare",class extends te{_drawItemShape(e,t,i){const s=t.pixelRatio,r=Math.max(1,Math.floor(s))%2?.5:0,n=this._lineWidth(t)%2?.5:0;let o=Math.round(i.height/2*s);(r+o)%1!=n%1&&(o+=.5);const a=Math.round(i.x*s)+r,l=Math.round((i.y+i.vertOffset)*s)+r,c=a-o,h=l-o,u=a+o,d=l+o;e.rect(c,h,u-c,d-h)}_calcBoundingBox(e){const t=e.height,i=Math.round(t/2),s=e.x-i,r=e.vertOffset,n=e.y+r-i,o=s,a=s+t,l=n,c=n+t,h=new I.Point(o,l),u=new I.Point(a,c);let d=Object(I.box)(h,u);const p=super._calcBoundingBox(e);return p&&(d=this._unionBox(d,p)),d}}),le.set("PaneRendererTriangleApexUp",class extends ae{_drawItemShape(e,t,i){const s=i.width,r=i.height,n=Math.round(r/3),o=i.vertOffset-2*n,a=t.pixelRatio,l=this._lineWidth(t)%2?.5:0,c=Math.max(1,Math.floor(a)),h=c%2?.5:0;let u=Math.round(s*a);u%2!=c%2&&(u+=1);const d=Math.round(i.x*a)+h,p=Math.round((i.y+o)*a),_=d+u/2,m=Math.round((i.y+o+r)*a)+l,f=d-u/2;e.moveTo(d,p),e.lineTo(_,m),e.lineTo(f,m),e.lineTo(d,p)}}),le.set("PaneRendererTriangleApexDown",class extends ae{_drawItemShape(e,t,i){const s=i.width,r=i.height,n=Math.round(r/3),o=i.vertOffset-n,a=t.pixelRatio,l=this._lineWidth(t)%2?.5:0,c=Math.max(1,Math.floor(a)),h=c%2?.5:0;let u=Math.round(s*a);u%2!=c%2&&(u+=1)
;const d=Math.round(i.x*a)+h,p=Math.round((i.y+o)*a)+l,_=d+u/2,m=Math.round((i.y+o+r)*a),f=d-u/2;e.moveTo(f,p),e.lineTo(_,p),e.lineTo(d,m),e.lineTo(f,p)}}),le.set("PaneRendererXCross",class extends ee{_drawItemShapeUsingCSSPixels(e,t){const i=t.width,s=t.height,r=t.x-i/2,n=t.vertOffset,o=t.y-s/2+n;e.moveTo(r,o),e.lineTo(r+i,o+s),e.moveTo(r,o+s),e.lineTo(r+i,o)}_calcBoundingBox(e){const t=e.width,i=e.height,s=e.x-t/2,r=e.vertOffset,n=e.y-i/2+r,o=s,a=s+t,l=n,c=n+i,h=new I.Point(o,l),u=new I.Point(a,c);let d=Object(I.box)(h,u);const p=super._calcBoundingBox(e);return p&&(d=this._unionBox(d,p)),d}});class ce{constructor(e,t,i,s){this._items=[],this._invalidated=!1,this._renderer=null,this._isMarkersEnabled=T.enabled("source_selection_markers"),this._selectionData=null,this._plotIndex=null,this._topCoord=0,this._bottomCoord=0,this._study=e,this._series=t,this._model=i,this._plotName=s;const r=e.metaInfo().plots;for(let e=0;e0?(r-=o,n+=o):(r+=o,n-=o);const a=this._study.getMinFirstBarIndexForPlot(this._plotName);if(a>n)return;r=Math.max(a,r);const l=this._study.data(),h=this._study.firstValue();if(null===h)return;const u=l.rangeIterator(r,n),d=this._getTranspValue();let p=[];const _=this._model.selection().isSelected(this._study);_?(p=this._selectionIndexer.indexes(),this._selectionData={points:[],hittestResult:N.HitTestResult.REGULAR,vertOffset:0,bgColors:[],barSpacing:e.barSpacing(),visible:!0}):(this._selectionIndexer.clear(),this._selectionData=null);const m=this._series.properties().style.value(),f=2===m?"lineStyle":3===m?"areaStyle":null;let g,b;f?(g=this._series.properties()[f].priceSource.value(),b=g):(g="high",b="low");const v=t.isInverted(),S=t.coordinateToPrice(t.height()*t.topMargin(),h),y=t.coordinateToPrice(t.height()*(1-t.bottomMargin()),h);this._topCoord=v?y:S,this._bottomCoord=v?S:y
;const w=Object(s.ensureNotNull)(this._model.paneForSource(this._study)).height(),P=this._study.properties().styles[this._plotName],C=P.color.value(),x=P.textColor?P.textColor.value():void 0,T=C,I=C,M=void 0===x?void 0:x,O=Object(s.ensureNotNull)(this._plotIndex),L=Object(A.createEmptyStyle)();for(;u.hasNext();){const e=u.next(),t=e.index,i=e.value,s=Math.floor(t+o),r=i[O+1];if(null==r)continue;const n=this._createItem(s,r,g,b);if(null!==n){if(this._colorProvider.isColorDefined()){n.style={color:T,borderColor:I,textColor:M};const e=this._colorProvider.getPlotPointStyle(i,L);this._fillItemWithPointStyle(n,e,d)}_&&-1!==p.indexOf(t)&&null!==this._selectionData&&(this._selectionData.points.push(n),this._selectionData.bgColors.push(this._model.backgroundColorAtYPercentFromTop(n.y/w))),this._items.push(n)}}this._convertItemsToCoordinates()}_fillItemWithPointStyle(e,t,i){const r=Object(s.ensureDefined)(e.style);if(void 0!==t.colors[A.ColorerType.Main]){r.color=Object(M.generateColor)(Object(s.ensureDefined)(t.colors[A.ColorerType.Main]),i);const e=i>9?i-10:0;r.borderColor=Object(M.generateColor)(r.color,e)}void 0!==t.colors[A.ColorerType.Text]&&(r.textColor=Object(M.generateColor)(Object(s.ensureDefined)(t.colors[A.ColorerType.Text]),i))}_updateRenderer(e){this._updateImpl();const t=this._model.timeScale(),i={},s=this._getTranspValue(),r=t.barSpacing(),n=this._calculateShapeHeight(r),o=this._study.properties().styles[this._plotName].location.value(),a=this._calculateVerticalOffset(o,n+n/2);i.barSpacing=r,i.items=this._items,i.color=Object(M.generateColor)(this._study.properties().styles[this._plotName].color.value(),s),i.height=n,i.vertOffset=a;const l=this._study.properties().styles[this._plotName].plottype.value(),c=B.a[l],h=new O.CompositeRenderer;c&&h.append(this._createRenderer(c.paneRendererClass,i)),this._model.selection().isSelected(this._study)&&this._isMarkersEnabled&&null!==this._selectionData&&(this._selectionData.vertOffset=a,h.append(new V.SelectionRenderer(this._selectionData))),this._renderer=h}_createRenderer(e,t){const i=le.get(e);return new(Object(s.ensureDefined)(i))(t)}_getSeriesVal(e,t){const i=Object(F.barFunction)(e),s=this._series.data().valueAt(t);return null===s?null:i(s)}_getTranspValue(){let e=0;this._study.properties().transparency&&(e=this._study.properties().transparency.value(),e=Object(P.isNumber)(e)?e:50);const t=this._study.properties().styles[this._plotName];return t.transparency&&(e=t.transparency.value(),e=Object(P.isNumber)(e)?e:50),Object(R.clamp)(e,0,100)}_createItem(e,t,i,r){const n=this._study.properties().styles[this._plotName].location.value();if((null===t||0===t)&&n!==p.c.Absolute)return null;let o;switch(n){case p.c.AboveBar:const a=this._getSeriesVal(i,e);if(null===a)return null;o=a;break;case p.c.BelowBar:const l=this._getSeriesVal(r,e);if(null===l)return null;o=l;break;case p.c.Top:o=this._topCoord;break;case p.c.Bottom:o=this._bottomCoord;break;case p.c.Absolute:o=Object(s.ensureNotNull)(t);break;default:throw new Error("Bad value: "+n)}return new I.Point(e,o)}
_convertItemsToCoordinates(){const e=this._model.timeScale(),t=this._study.priceScale();e.timedValuesToCoordinates(this._items);const i=Object(s.ensureNotNull)(this._study.firstValue());Object(s.ensureNotNull)(t).pointsArrayToCoordinates(this._items,i)}_calculateVerticalOffset(e,t){let i=0;switch(e){case p.c.AboveBar:case p.c.Bottom:i=-t;break;case p.c.BelowBar:case p.c.Top:i=t}return Object(s.ensureNotNull)(this._study.priceScale()).isInverted()&&(i*=-1),i}_calculateShapeHeight(e,t){let i=e;switch(t){case x.PlotSymbolSize.Tiny:i=.3*e;break;case x.PlotSymbolSize.Small:i=.6*e;break;case x.PlotSymbolSize.Normal:i=e;break;case x.PlotSymbolSize.Large:i=1.5*e;break;case x.PlotSymbolSize.Huge:i=2*e}return i}}class he extends ce{renderer(){const e=this._study.properties().styles[this._plotName];return e.visible&&e.visible.value()&&this._scalesReady()?(this._invalidated&&(this._updateRenderer(e),this._invalidated=!1),this._renderer):null}_updateRenderer(e){this._updateImpl();const t=this._model.timeScale(),i={},s=this._getTranspValue(),r=t.barSpacing();let n;if(e.size){const t=e.size.value();n=this._calculateShapeHeight(25,t)}else n=Math.round(r/2);n=Math.max(n,1);const o=e.location.value(),a=Object(M.generateColor)(e.color.value(),s),l=s>19?s-10:0,c=this._calculateVerticalOffset(o,Math.round(1.5*n));i.barSpacing=r,i.items=this.items(),i.color=a,i.borderColor=Object(M.generateColor)(e.color.value(),l),i.height=n,i.vertOffset=c;const h=e.plottype.value(),u=B.a[h],d=new O.CompositeRenderer,p=e.text?e.text.value():void 0;if(void 0!==p&&""!==p.trim()){let t=p.trim().replace(/\\n/gm,"\n");t=Object(D.cleanButAmpersand)(t,!0),i.text=t,i.fontSize=12;const r=e.textColor?e.textColor.value():void 0;i.textColor=r?Object(M.generateColor)(r,s):a}d.append(super._createRenderer(u.paneRendererClass,i)),this._model.selection().isSelected(this._study)&&this._isMarkersEnabled&&null!==this._selectionData&&(this._selectionData.vertOffset=c,d.append(new V.SelectionRenderer(this._selectionData))),this._renderer=d}}var ue=i("/SnT"),de=i.n(ue),pe=i("Zp/P");class _e extends Q{constructor(e,t){super(e,t),this._heightEnsured=Object(s.ensureDefined)(this._height);const i=e.char.slice(0,40);this._ch=de()(i)[0]||" ",this._fontFamily=e.fontFamily||$.CHART_FONT_FAMILY,this._charCache=new Z(this._ch,!1,!1,this._fontFamily,this._heightEnsured)}hitTest(e){const t=Object(pe.interactionTolerance)().series+this._heightEnsured/2;for(const i of this._items){if(new I.Point(i.x,i.y+i.vertOffset).subtract(e).length()<=t)return new N.HitTestResult(N.HitTestResult.REGULAR)}return null}_drawItemShape(e,t,i){const s=i.x,r=i.vertOffset>0?1:-1,n=i.y+i.vertOffset-r*Math.round(this._heightEnsured/2);let o;o=i.style&&void 0!==i.style.color?i.style.color:this._color,this._charCache.paintTo(e,t,o,s,n,G.Center,i.vertOffset>0?q.Top:q.Bottom)}_startPath(e,t,i,s){}_endPath(e){}}class me extends ce{renderer(){const e=this._study.properties().styles[this._plotName];if(!e.visible||!e.visible.value())return null;if(!this._scalesReady())return null;const t=this._model.timeScale()
;this._invalidated&&(this._updateImpl(),this._invalidated=!1);const i={},s=this._getTranspValue(),r=t.barSpacing();let n;if(e.size){const t=e.size.value();n=this._calculateShapeHeight(50,t)}else n=Math.round(r);const o=e.location.value(),a=Object(M.generateColor)(e.color.value(),s),l=this._calculateVerticalOffset(o,n);i.items=this.items(),i.barSpacing=r,i.char=e.char.value(),i.height=n,i.vertOffset=l,i.color=a;const c=new O.CompositeRenderer,h=e.text?e.text.value():void 0;if(void 0!==h&&""!==h.trim()){let t=h.trim().replace(/\\n/gm,"\n");t=Object(D.cleanButAmpersand)(t,!0),i.text=t,i.fontSize=12;const r=e.textColor?e.textColor.value():void 0;i.textColor=r?Object(M.generateColor)(r,s):a}return c.append(new _e(i)),this._model.selection().isSelected(this._study)&&this._isMarkersEnabled&&null!==this._selectionData&&(this._selectionData.vertOffset=l,c.append(new V.SelectionRenderer(this._selectionData))),c}}var fe=i("eJTA");class ge extends I.Point{constructor(e,t,i,s){super(e,t),this.height=i,this.isUp=s,this.style={}}}function be(e){return Math.round(e/4)}function ve(e){return Math.round(e/2)}class Se{constructor(e){this._data=e}draw(e,t){var i;const s=t.pixelRatio,r=this._data,n=ve(r.barSpacing),o=be(r.barSpacing),a=n<4,l=Math.max(n/2,1),c=Object(R.ceiledEven)(n*s),h=c/2,u=Math.round(n*s);e.lineCap="butt",e.lineWidth=Math.max(1,Math.floor(s));const d=e.lineWidth%2?.5:0;for(const t of r.items){const n=t.isUp?-1:1,p=Math.round(Math.abs(t.height)*s),_=Math.round(t.x*s)+d,m=Math.round((t.y-n*o)*s)+d;e.beginPath(),e.translate(_,m);const f=null!==(i=t.style&&t.style.color)&&void 0!==i?i:t.isUp?r.colorup:r.colordown;a?(e.moveTo(0,0),e.lineTo(-h,-h*n),e.moveTo(0,0),e.lineTo(h,-h*n),e.moveTo(0,0),e.lineTo(0,-p*n),e.moveTo(-h,-p*n),e.lineTo(h,-p*n),e.lineWidth=l,e.strokeStyle=f,e.stroke()):(e.moveTo(0,0),pthis._maxAbsValue&&(this._maxAbsValue=Math.abs(t));const r=t>0;let n;if(r){const t=this._getSeriesVal(s,e);if(null===t)return null;n=t}else{const t=this._getSeriesVal(i,e);if(null===t)return null;n=t}return new ge(e,n,t,r)}_convertItemsToCoordinates(){const e=this._model.timeScale(),t=Object(s.ensureNotNull)(this._study.priceScale());e.timedValuesToCoordinates(this._items),t.pointsArrayToCoordinates(this._items,Object(s.ensureNotNull)(this._study.firstValue()));let i=Math.abs(this._study.properties().styles[this._plotName].minHeight.value()),r=Math.abs(this._study.properties().styles[this._plotName].maxHeight.value());if(i>r){const e=i;i=r,r=e}const n=(r-i)/this._maxAbsValue,o=this._items;for(let e=0;er)return;i=Math.max(n,i);const o=this._study.data(),a=this._study.firstValue();if(null===a)return;const l=o.rangeIterator(i,r),h=this._study.properties().ohlcPlots[this._plotName],u=new Map,d=(e,t)=>{const i=e+"@"+t;if(!u.has(i)){const s=Object(M.generateColor)(e,t);return u.set(i,s),s}return u.get(i)},p=Object(A.createEmptyStyle)();for(;l.hasNext();){const e=l.next();let t=e.index;const i=e.value;t=Math.floor(t);let r=!0;const n=new Map;for(let e=1;e<=4;++e){const t=this._ohlcPlotIndexes.get(e);if(void 0===t){r=!1;break}const s=i[t+1];if(null==s){r=!1;break}n.set(e,s)}if(!r)continue;const o=Object(s.ensureDefined)(n.get(1)),a=Object(s.ensureDefined)(n.get(4)),c=Object(s.ensureDefined)(n.get(2)),u=Object(s.ensureDefined)(n.get(3)),_=Math.max(o,c,u,a),m=Math.min(o,c,u,a);let f=Object(s.ensureDefined)(d(h.color.value(),0));const g=this._colorProvider.getPlotPointStyle(i,p);void 0!==g.colors[A.ColorerType.Main]&&(f=Object(s.ensureDefined)(g.colors[A.ColorerType.Main]));const b={time:Math.round(t),open:o,high:_,low:m,close:a,color:f,wickColor:g.colors[A.ColorerType.Wick],borderColor:g.colors[A.ColorerType.Border],hollow:null};this._bars.push(b)}if(e.barPricesToCoordinates(this._bars,a),this._model.timeScale().barIndexesToCoordinates(this._bars),this._model.selection().isSelected(this._study)){const t=this._selectionIndexer.indexes();this._selectionData={points:[],hittestResult:N.HitTestResult.REGULAR,bgColors:[],visible:!0,barSpacing:this._model.timeScale().barSpacing()};const i=Object(s.ensureNotNull)(this._model.paneForSource(this._study)).height(),r=Object(s.ensureDefined)(this._ohlcPlotIndexes.get(4));for(let s=0;sthis._actualLength?this._items[this._actualLength]:null;return null!==e&&Boolean(e.invalidateCache)&&e.invalidateCache(),e}invalidateCache(){this._invalidations+=1,3e3===this._invalidations&&(this._items.splice(this._actualLength),this._invalidations=0),this._actualLength=0}at(e){return this._items[e]}data(){return this._items}length(){return this._actualLength}}class Ve{constructor(){this._map=new Map,this._usedKeys=new Set,this._invalidations=0}invalidateCache(){this._invalidations+=1,50===this._invalidations&&(this._deleteUnused(),this._invalidations=0),this._usedKeys.clear(),this._map.forEach((e,t)=>e.invalidateCache())}get(e){const t=this._map.get(e);return void 0!==t&&this._usedKeys.add(e),t}set(e,t){this._usedKeys.add(e),this._map.set(e,t)}forEach(e){this._map.forEach((t,i)=>{this._usedKeys.has(i)&&e(t,i)})}delete(e){const t=this._map.get(e);void 0!==t&&t.invalidateCache(),this._usedKeys.delete(e)}_deleteUnused(){const e=[];this._map.forEach((t,i)=>{this._usedKeys.has(i)||e.push(i)});for(const t of e)this._map.delete(t)}}class Be extends De{constructor(){super(),this.points1=new De,this.points2=new De,
this.push(this.points1),this.push(this.points2)}addPoints1Point(e,t){let i=this.points1.newItem();null!==i?(i.x=e,i.y=t):i={x:e,y:t},this.points1.push(i)}addPoints2Point(e,t){let i=this.points2.newItem();null!==i?(i.x=e,i.y=t):i={x:e,y:t},this.points2.push(i)}invalidateCache(){this.points1.invalidateCache(),this.points2.invalidateCache()}}class Re extends ke.ScaledPaneRenderer{constructor(){super(...arguments),this._data=null}setData(e){this._data=e}hitTest(e,t){return null}_drawImpl(e,t){if(null===this._data)return;const i=.25*this._data.barSpacing,s=this._data.transparency;this._data.colorAreas.forEach((t,r)=>{e.beginPath();for(let s=0;s=0;t--)e.lineTo(r.points2.at(t).x,r.points2.at(t).y)}else{const t=r.points2.at(0).x,s=r.points2.at(0).y;e.lineTo(n+i,o),e.lineTo(t+i,s),e.lineTo(t-i,s),e.lineTo(n-i,o)}}e.closePath(),e.fillStyle=Object(M.generateColor)(r,s),e.fill()})}}var Ne=i("ZJKN");class je extends De{constructor(){super(...arguments),this._startIndex=0}setStartIndex(e){this._startIndex=e}at(e){const t=e-this._startIndex;for(;t>=this._actualLength;){if(this._items.length<=t)this._items.push({plot1Value:void 0,plot2Value:void 0,colorIndex:void 0});else{const e=this._items[this._actualLength];e.plot1Value=void 0,e.plot2Value=void 0,e.colorIndex=void 0}this._actualLength+=1}return this._items[t]}}class Fe{constructor(e,t=!1){this._isHlineFill=!1,this._bandAKey=null,this._bandBKey=null,this._colorPlotIndex=null,this._colorValues=[],this._colors=new De,this._areaRenderer=new Re,this._invalidated=!0,this._plIndex1=null,this._plIndex2=null,this._level1=0,this._level2=0,this._studyValuesCache=new je,this._points1=new De,this._points2=new De,this._timePoints=new De,this._colorAreas=new Ve,this._source=e,this._fillGaps=t}update(){this._invalidated=!0}renderer(e,t){return this._invalidated&&(this._updateImpl(),this._invalidated=!1),this._areaRenderer}_correctVisibleRange(e){const t=this._source.data(),i=t.search(e.firstBar(),c.PlotRowSearchMode.NearestLeft,this._plotIndex1()),s=t.search(e.firstBar(),c.PlotRowSearchMode.NearestLeft,this._plotIndex2()),r=t.search(e.lastBar(),c.PlotRowSearchMode.NearestRight,this._plotIndex1()),n=t.search(e.lastBar(),c.PlotRowSearchMode.NearestRight,this._plotIndex2()),o=null!==i?i.index:e.firstBar(),a=null!==s?s.index:e.firstBar(),l=null!==r?r.index:e.lastBar(),h=null!==n?n.index:e.lastBar();return[Math.min(o,a),Math.max(l,h)]}_plotNames(){return this._source.metaInfo().plots.map(e=>e.id)}_plotIndex1(){return null===this._plIndex1&&(this._plIndex1=this._plotNames().indexOf(this._plotAId())+1),this._plIndex1}_plotIndex2(){return null===this._plIndex2&&(this._plIndex2=this._plotNames().indexOf(this._plotBId())+1),this._plIndex2}_updateImpl(){var e,t,i
;if(this._areaRenderer.setData(null),!this._visible())return;const r=this._source.priceScale(),n=this._source.model(),o=n.timeScale();if(!r||r.isEmpty()||o.isEmpty())return;if(n.mainSeries().bars().isEmpty())return;const a=this._source.firstValue();if(null===a)return;if(this._isHlineFill){const e=this._source.properties().bands[Object(s.ensureNotNull)(this._bandAKey)],t=this._source.properties().bands[Object(s.ensureNotNull)(this._bandBKey)];this._level1=r.priceToCoordinate(e.value.value(),a),this._level2=r.priceToCoordinate(t.value.value(),a)}const l=o.visibleBarsStrictRange();if(null===l)return;this._timePoints.invalidateCache(),this._points1.invalidateCache(),this._points2.invalidateCache(),null===(e=this._colors)||void 0===e||e.invalidateCache(),this._colorAreas.invalidateCache();const[c,h]=this._correctVisibleRange(l),u=this._isPerBarColoringSupported()?this._colors:null,d=this._source.offset(this._plotAId()),p=this._source.offset(this._plotBId()),_=Math.min(d,p),m=Math.max(d,p),f=this._plotIndex1(),g=this._plotIndex2(),b=this._source.data();if(b.isEmpty())return;let v,S;const y=Object(s.ensureNotNull)(b.firstIndex()),w=Object(s.ensureNotNull)(b.lastIndex()),C=y-Math.max(0,-_),x=w+Math.max(0,m),T=Math.max(c-1,C),I=Math.min(h+1,x),M=this._studyValuesCache;M.invalidateCache();const O=T-m,L=b.rangeIterator(O,I-_),A=Math.max(l.firstBar()-1,Math.min(O-m-1,O-1+_));M.setStartIndex(A);const E=new Ne.BarsRange(l.firstBar()-1,l.lastBar()+1);for(;L.hasNext();){const e=L.next(),t=e.index,i=e.value,r=i[f],n=i[g],o=t+d,a=t+p;if(o===a&&E.contains(o)){const e=M.at(o);e.plot1Value=r,e.plot2Value=n}else{if(E.contains(o)){M.at(o).plot1Value=r}if(E.contains(a)){M.at(a).plot2Value=n}}if(null!==u){const e=t-1+_;if(l.contains(e)){const t=i[Object(s.ensureNotNull)(this._colorPlotIndex)+1];M.at(e).colorIndex=t}}}const k=this._timePoints,D=this._points1,V=this._points2;let B=null;const R=A+M.length();for(let e=A;e<=R;e++){if(!this._fillGaps&&(null===v||null===S)){const t=e-1;k.push(t),D.push(NaN),V.push(NaN),null==u||u.push(null)}const s=M.at(e);if(null!==u){const e=s.colorIndex;B=null==e?null:this._getColorByPlotValue(e)}if(this._isHlineFill){k.push(e),null!==u&&u.push(B);continue}const r=null!==(t=s.plot1Value)&&void 0!==t?t:null,n=null!==(i=s.plot2Value)&&void 0!==i?i:null;(null!==r||null!==n||Number.isFinite(v)||Number.isFinite(S))&&(v=r,S=n,D.push(r),V.push(n),k.push(e),null!==u&&u.push(B))}r.pricesArrayToCoordinates(D.data(),a,D.length()),r.pricesArrayToCoordinates(V.data(),a,V.length()),o.indexesToCoordinates(k.data(),k.length());const N=this._transparency();let j=Object(P.isNumber)(N)?N:50;j=Math.min(j,100),j=Math.max(j,0);const F={barSpacing:this._source.model().timeScale().barSpacing(),transparency:j,colorAreas:this._getFilledAreas(k,D,V,u)};this._areaRenderer.setData(F)}_getFilledAreas(e,t,i,s){const r=this._isHlineFill;if(!r&&(0===t.length()||0===i.length()))return new Ve;const n=this._colorAreas;let o=null,a=null;const l=this._color();for(let c=0;c{null===this._bandAKey&&i.id===e&&(this._bandAKey=s),null===this._bandBKey&&i.id===t&&(this._bandBKey=s)})}}var Ke=i("bmVy"),Je=i("eCE5");i.d(t,"StudyBase",(function(){return st}))
;const Ze=Object(r.getLogger)("Chart.Study"),Xe=window.t("Invalid Symbol");const $e={symbolsForDisplay:!1,symbolsForChartApi:!0,skipHiddenInputs:!1,skipFakeInputs:!1,skipBooleanInputs:T.enabled("dont_show_boolean_study_arguments"),asObject:!0,skippedGroups:[],skippedInputs:[],noExchanges:!1,noResolution:!1,keepOptionalSymbolsEmpty:!1,skipColorInputs:!1,skipTimeInputs:!1,skipOptionalEmptySymbolInputs:!1},Qe=T.enabled("study_symbol_ticker_description");function et(e,t){const i=e.plots[t];if(!i||!Object(x.isOhlcPlot)(i))return!1;const s=i.target,r=e.defaults.styles&&e.defaults.styles[s],n=e.defaults.ohlcPlots&&e.defaults.ohlcPlots[s],o=e.ohlcPlots&&e.ohlcPlots[s];return r&&Object(x.isOhlcPlotStyleBars)(r)||n&&Object(x.isOhlcPlotStyleBars)(n)||!!o&&Object(x.isOhlcPlotStyleBars)(o)}function tt(e,t){const i=e.plots[t];if(!i||!Object(x.isOhlcPlot)(i))return!1;const s=i.target,r=e.defaults.styles&&e.defaults.styles[s],n=e.defaults.ohlcPlots&&e.defaults.ohlcPlots[s],o=e.ohlcPlots&&e.ohlcPlots[s];return r&&Object(x.isOhlcPlotStyleCandles)(r)||n&&Object(x.isOhlcPlotStyleCandles)(n)||!!o&&Object(x.isOhlcPlotStyleCandles)(o)}function it(e,t){Object(s.assert)(void 0!==e,"zOrder must be defined"),Object(s.assert)(!t.has(e),"zOrder must be unique")}class st extends a.PriceDataSource{constructor(e,t,i,s){super(e),this.onStart=new o.a,this._symbolsResolved=new o.a,this._statusChanged=new o.a,this._paneViews=[],this._priceAxisViews=[],this._resolvedSymbols={},this._resolvedSymbolsByInput={},this._isChildStudy=!1,this._status={type:Ke.StudyStatusType.Undefined},this._studyId=null,this._isSubscribedToSessionId=!1,this._titleStrCache={},this._titleInPartsCache={},this._children=[],this._numericFormatter=new C.NumericFormatter,this._priceAxisViewsBase=[],this._priceLinesAxisViews=[],this._labelPaneViews=[],this._ownFirstValue=null,this._pendingResolveSymbols=new Map,this._onIsActualIntervalChange=new o.a,this._lastNonEmptyPlotRowCache={},this._chartApi=e.chartApi(),this._properties=t,this._metaInfo=s,this._series=this._model.mainSeries(),this._series.onIntervalChanged().subscribe(this,this._calcIsActualInterval),this._showStudyArgumentsProperty=e.properties().paneProperties.legendProperties.showStudyArguments,i instanceof st&&(this._source=i,this._isChildStudy=!0,this._source.setChild(this));const r=this.parentSource();r.currencyChanged().subscribe(this,this._onSourceCurrencyChanged),r.unitChanged().subscribe(this,this._onSourceUnitChanged),r.priceRangeReadyChanged().subscribe(this,this._onSourcePriceRangeReadyChanged),r.formatterChanged().subscribe(this,this._onSourceFormatterChanged),r.priceStepChanged().subscribe(this,this._onSourcePriceStepChanged),Qe&&this._model.mainSeries().properties().statusViewStyle.symbolTextSource.listeners().subscribe(this,()=>{this.invalidateTitleCache(!0)}),this._properties.subscribe(this,this._onPropertiesChanged),this._properties.visible.subscribe(this,this._visibleChanged),this._properties.visible.subscribe(this,this.processHibernate),
this._properties.intervalsVisibilities.subscribe(this,this._calcIsActualInterval);for(let e=0;e0)return!0;for(const t of Object.keys(e.graphics))for(const i of Object.keys(e.graphics[t])){const e=this.properties().graphics[t][i];if(!e.visible||e.visible.value())return!0}return!(!e.isTVScriptStrategy&&!e.hasAlertFunction)}inputs(e){const t=Object(P.merge)(Object(P.clone)($e),e||{});return t.skipOptionalEmptySymbolInputs&&(t.keepOptionalSymbolsEmpty=!0),this._buildInputs(t)}status(){return this._status}title(e,t,i,s){i=void 0===i?!this._showStudyArgumentsProperty.value():i;const r=JSON.stringify([e,t,i,s]);if(this._titleStrCache[r])return this._titleStrCache[r];if(this._titleInPartsCache[r])return this._joinTitlesParts(this._titleInPartsCache[r]);const n=this._title(e,t,i,s);return this._titleStrCache[r]=n,n}titleInParts(e,t,i,s){i=void 0===i?!this._showStudyArgumentsProperty.value():i;const r=JSON.stringify([e,t,i,s]);if(this._titleInPartsCache[r])return this._titleInPartsCache[r];const n=this._titleInParts(e,t,i,s);return this._titleInPartsCache[r]=n,n}invalidateTitleCache(e){if(this._titleStrCache={},this._titleInPartsCache={},!0===e&&this._children)for(let t=0;t{const i=this._properties.bands[t];if(i&&i.visible.value()){const t=new ze(i,this),r=o?Object(s.ensureDefined)(e.zorder):a.size;it(r,a),a.set(r,{paneViews:[t]})}}),this._properties.bandsBackground&&(Object(s.assert)(!o,"'usePlotsZOrder' flag does not supported"),a.set(a.size,{paneViews:[new qe(this)]}));const l=this._paneViews;Object(d.createGraphicsPaneViews)(this,this.model()).then(e=>{for(let t=0;tn.plots.some(t=>Object(x.isColorerPlot)(t)&&t.target===e);if(this._properties.filledAreas&&n.filledAreas)for(let e=0;ee-t);for(let e=0;e0?" ("+t+")":"")}_titleInParts(e,t,i,s){let r="";r=e?this.metaInfo().shortDescription||this._properties.shortDescription&&this._properties.shortDescription.value()||"Study":this.metaInfo().description||this._properties.description&&this._properties.description.value()||"Study",t=t||{};const n=[window.t(r,{context:"study"})];let o=[];if(!i){const i=this._getMTFResolutionInputTitle();null!==i&&i.length>0&&n.push(i);const r=this.metaInfo(),a=this._titleInputs(s,!0)||[];if(a.length>0){const i={};if(this._isChildStudy)for(let t=0;t=0&&this._source){const t=this._source.metaInfo(),r=this._source.title(e,{},!0,s);if(1===t.plots.length)i[a]=r;else{const e=a.split("$")[1],s=t.plots[parseInt(e)].id,n=t.styles&&t.styles[s],o=n&&n.title||s;i[a]=r+": "+o}}break}o=a.map(e=>{let s=Object(P.isNumber)(e)?this._numericFormatter.format(e):i&&i[e.toString()]||e.toString();return t&&t[s.toString()]&&(s=t[s.toString()]),s})}}return[n.join(" · "),o]}_getMTFResolutionInputTitle(){const e=this.metaInfo();for(let t=0;tthis._symbolsResolved.fire()):e}return Promise.all(t).catch(e=>(this._setStatus({type:Ke.StudyStatusType.Error,errorDescription:{error:Xe}}),this.stop(!0),this._model.updateSource(this),Promise.reject("Invalid symbol, "+e))).then(()=>{null!==this._studyId&&this.stop(!0),this.start(!0),
this._symbolsResolved.fire(),this._recheckLineToolsActuality()})}_getSymbolForApi(e){return e}_resolveSymbol(e,t){if(""===e)return Promise.resolve();let i=this._pendingResolveSymbols.get(e);return void 0!==i||(i=new Promise((i,s)=>{this._chartApi.resolveSymbol(Object(S.makeNextSymbolId)(),e,r=>{switch(this._pendingResolveSymbols.delete(e),r.method){case"symbol_resolved":this._setStatus({type:Ke.StudyStatusType.Undefined}),this._resolvedSymbols[e]=r.params[1],this._resolvedSymbolsByInput[t]=r.params[1],this._onSymbolResolved(e,t,r.params[1]),this.invalidateTitleCache(!0),i();break;case"symbol_error":if(this._setStatus({type:Ke.StudyStatusType.Error,errorDescription:{error:r.params[1]}}),r.params[1]===y.permissionDenied&&r.params[2])switch(r.params[2]){case y.SymbolErrorPermissionDeniedReason.Symbol:if(r.params[3])return void this._resolveSymbol(r.params[3],t).then(i);break;default:return void this._resolveSymbol(r.params[2],t).then(i)}0,s()}})}),this._pendingResolveSymbols.set(e,i)),i}_recheckLineToolsActuality(){const e=this._model.paneForSource(this);null!==e&&e.sourcesByGroup().lineSourcesForAllSymbols().forEach(e=>{e.ownerSource()===this&&e.calcIsActualSymbol()})}_getSymbolObject(e){const t={symbol:e};return t.session=this.sessionId(),t}_onSymbolResolved(e,t,i){0}_setStatus(e){this._status=e,this._statusView&&this._statusView.update(),this._model.updateSource(this),this._statusChanged.fire(e)}_bandsFirstValue(e){const t=Object(s.ensureNotNull)(this._metaInfo);if(!t.bands)return null;for(let i=0;ivoid 0!==i[e],1e3),null===i?null:(this._lastNonEmptyPlotRowCache[e]=i,i)}_applyPlotToPrecalculatedAutoscaleInfo(e,t,i,s){const r=s.id,n=this.properties().styles[r],o=Object(x.isShapesPlot)(s)||Object(x.isCharsPlot)(s);i.useMainSeriesRange=i.useMainSeriesRange||Object(x.isArrowsPlot)(s)
;let a=Object(x.isLinePlot)(s)||Object(x.isOhlcPlot)(s);if(o){const e=n.location.value(),t=[p.c.Absolute,p.c.Top,p.c.Bottom].indexOf(e)<0;i.useMainSeriesRange=i.useMainSeriesRange||o&&t,a=a||e===p.c.Absolute}if(!a)return i;const l={name:r,offset:this.offset(r)},h=n.plottype.value();if(!this.properties().skipHistogramBaseOnAutoScale&&[x.LineStudyPlotStyle.Histogram,x.LineStudyPlotStyle.Columns,x.LineStudyPlotStyle.Area].indexOf(h)>=0){const s=n.histogramBase.value(),r=this.data().minMaxOnRangeCached(e,t,[l]);return Object(P.isNumber)(s)&&null!==r&&(i.baseValueMinMax=Object(c.mergeMinMax)(i.baseValueMinMax,{min:s,max:s}),i.baseValueMinMax=Object(c.mergeMinMax)(i.baseValueMinMax,r)),i}return i.fields.push(l),i}_fillPrecalculatedAutoscaleInfo(e,t){return Object(s.ensureNotNull)(this._metaInfo).plots.filter(e=>!Object(x.isPlotWithTechnicalValues)(e)).filter(e=>{const t=e.id;let i;if(Object(x.isOhlcPlot)(e)){const t=e.target;i=this.properties().ohlcPlots[t]}else i=this.properties().styles[t];return i.visible.value()}).reduce((i,s)=>this._applyPlotToPrecalculatedAutoscaleInfo(e,t,i,s),{fields:[],useMainSeriesRange:!1,baseValueMinMax:null})}_buildInputs(e){Object(s.assert)(!!e,"options not set");let t={};try{t=this._prepareInputs(e)}catch(e){Ze.logWarn("Failed to prepare study inputs: "+e)}if(e.asObject){const e={};return Object.keys(t).forEach(i=>{null!=t[i]&&(e[i]=t[i])}),e}{const e=[];return Object.keys(t).forEach(i=>{null!=t[i]&&e.push(t[i])}),e}}_prepareInput(e,t){const i=this._prepareInputValue(e,t);return!e.isFake||t.fakeInputsForDisplay||t.onlyAtomValues?i:{v:i,f:!0,t:e.type}}_calcIsActualInterval(){const e=this._isActualInterval;this._isActualInterval=Object(Je.a)(this._series.intervalObj(),this.properties().intervalsVisibilities),e!==this._isActualInterval&&(this._onIsActualIntervalChange.fire(),this._visibleChanged(),this.processHibernate())}_visibleChanged(){this._series.invalidateBarColorerCache()}_getNonPriceParent(){const e=this.source();if(e instanceof st){const t=e.metaInfo();return t.is_price_study&&"Compare@tv-basicstudies"!==t.id?e._getNonPriceParent():e}return null}}},IiTo:function(e,t,i){"use strict";i.r(t);var s=i("jCNj"),r=i("LxhU"),n=i("Hr11"),o=i("ZmuQ"),a=i("E6p6");class l extends o.a{constructor(e,t){super(),this._sessionStartMs=-Number.MAX_VALUE,this._sessionEndMs=-Number.MAX_VALUE,this._periodSec=e,this._session=t}alignTimeIfPossible(e){const t=this.alignTime(e);return isNaN(t)?e:t}indexOfBar(e){return e=this._sessionEndMs?a.SessionStage.POST_SESSION:Object(n.toInt)(s.time_seconds_diff(e,this._sessionStartMs)/this._periodSec)}startOfBar(e){if(e===a.SessionStage.PRE_SESSION){const e=s.get_cal_from_unix_timestamp_ms(this._session.timezone,this._sessionStartMs-1),t=this._session.spec.alignToNearestSessionEnd(e,-1);return s.cal_to_utc(this._session.timezone,t)}if(e===a.SessionStage.POST_SESSION)return this._sessionEndMs;if(e<0)throw new Error("Negative offset is not supported");return this._sessionStartMs+s.time_seconds(this._periodSec*e)}
endOfBar(e){if(e<0)throw new Error("Index cannot be negative");const t=this.startOfBar(e)+1e3*this._periodSec;return t>this._sessionEndMs?this._sessionEndMs:t}isLastBar(e,t){return t>=this._sessionStartMs+s.time_seconds(this._periodSec*(e+1)-1)}moveTo(e){const t=this._session.timezone,i=s.utc_to_cal(t,e),r=this._session.spec.alignToSessionStart(i);this._sessionStartMs=s.cal_to_utc(t,i),s.add_minutes(i,r),this._sessionEndMs=s.cal_to_utc(t,i)}indexOfLastBarInSession(){return Object(n.toInt)((this._sessionEndMs-1-this._sessionStartMs)/1e3/this._periodSec)}moveNext(){this.moveTo(this._sessionEndMs)}}var c=i("OBgQ");function h(e,t){const i=s.clone(t),r=e.businessDaysToCalendarDays(i,1);r>1&&s.add_date(i,r-1);const n=e.leftBorderOfDailyBar(i);if(null===n)throw new Error("Cannot calculate left border of daily bar");return s.cal_to_utc(s.get_timezone(e.timezone()),n)}class u extends o.a{constructor(e,t,i,s,r=!1){super(),this._periodStart=-Number.MAX_VALUE,this._periodEnd=-Number.MAX_VALUE,this._periodLastBarStart=-Number.MAX_VALUE,this._periodStartDay=new c.a(0,0,0),this._periodEndDay=new c.a(0,0,0),this._period=i,this._sessionTgt=e,this._builder=s,this._useBusinessDays=r,this._sessionSrc=r?new o.b("Etc/UTC","24x7"):t||e}builder(){return this._builder}alignTimeIfPossible(e){return this.tradingDayToSessionStart(e)}tradingDayToSessionStart(e){return this.moveTo(e),this.startOfBar(0)}indexOfBar(e){if(this._useBusinessDays){const t=c.a.fromCalendar(s.get_cal_from_unix_timestamp_ms(this._sessionSrc.timezone,e));return t.before(this._periodStartDay)?a.SessionStage.PRE_SESSION:this._periodEndDay.before(t)?a.SessionStage.POST_SESSION:0}return e=this._periodEnd?a.SessionStage.POST_SESSION:0}startOfBar(e){if(e===a.SessionStage.PRE_SESSION){const e=s.get_cal_from_unix_timestamp_ms(this._sessionTgt.timezone,this._periodStart-1),t=this._sessionTgt.spec.alignToNearestSessionEnd(e,-1);return s.cal_to_utc(this._sessionTgt.timezone,t)-1}return e===a.SessionStage.POST_SESSION||e>0?this._periodEnd:e===a.SessionStage.LASTBAR_SESSION?this._periodLastBarStart:this._periodStart}moveTo(e){const t=s.get_cal_from_unix_timestamp_ms(this._sessionSrc.timezone,e);this._sessionSrc.spec.correctTradingDay(t);const i=s.get_year(t),r=this._indexOfPeriodInYear(t),n=r+this._period,o=this._sessionTgt.spec,a=this._sessionTgt.timezone,l=this._builder.startOfPeriod(a,r,i);this._periodStart=h(o,l);const u=s.clone(l),d=o.businessDaysToCalendarDays(u,1);d>1&&s.add_date(u,d-1),this._periodStartDay=c.a.fromCalendar(u);const p=this._builder.startOfPeriod(a,n,i);this._periodEnd=h(o,p);const _=s.clone(p);for(s.add_date(_,-1);o.isCalWeekEnd(_);)s.add_date(_,-1);this._periodEndDay=c.a.fromCalendar(_),s.add_date(p,-1),function(e,t){for(;e.isCalWeekEnd(t);)s.add_date(t,-1)}(this._sessionTgt.spec,p),this._periodLastBarStart=h(o,p),(this._periodLastBarStart=this._periodLastBarStart}currentRange(){return{from:this._periodStartDay,to:this._periodEndDay}}indexOfBarInYear(e){const t=s.get_cal_from_unix_timestamp_ms(this._sessionSrc.timezone,e),i=s.get_year(t),r=this._builder.indexOfPeriod(t),o=this._sessionTgt.timezone;let a=this._builder.startOfPeriod(o,r,i),l=h(this._sessionTgt.spec,a);return a=s.get_cal_from_unix_timestamp_ms(s.get_timezone("Etc/UTC"),l),i=0&&(r-=7),Object(n.toInt)((r+i)/7))}class _{indexOfPeriod(e){return s.get_day_of_year(e)-1}startOfPeriod(e,t,i){const r=s.days_per_year(i);return s.get_cal(s.get_timezone("Etc/UTC"),i,s.JANUARY,1+Math.min(t,r))}}class m extends _{constructor(e){super(),this._sessionsSpec=e}indexOfPeriod(e){return super.indexOfPeriod(e)-function(e,t){const i=p(e,t),r=s.get_cal(s.get_timezone("Etc/UTC"),s.get_year(t),s.JANUARY,1);s.add_date(r,7*i);const n=i*e.weekEndsCount()+e.holidaysFromYearStart(r),o=s.get_day_of_year(t)-s.get_day_of_year(r);return n+o-e.calendarDaysToBusinessDays(r,o)}(this._sessionsSpec,e)}startOfPeriod(e,t,i){const r=7-this._sessionsSpec.weekEndsCount(),o=Math.max(0,Object(n.toInt)(t/r)-1),a=s.get_cal(s.get_timezone("Etc/UTC"),i,s.JANUARY,1),l=s.get_days_per_year(a);if(s.add_date(a,7*o),(t-=r*o-this._sessionsSpec.holidaysFromYearStart(a))>0){const e=this._sessionsSpec.businessDaysToCalendarDays(a,t);s.add_date(a,e)}let c=s.get_day_of_year(a)-1;return is.get_days_per_year(r)?this.startOfPeriod(e,0,i+1):(s.add_date(r,a),r)}}class b{indexOfPeriod(e){
return s.get_month(e)}startOfPeriod(e,t,i){if(t<0){const e=Object(n.toInt)((11-t)/12);i-=e,t+=12*e}else t>s.DECEMBER&&(i++,t=s.JANUARY);return s.get_cal(s.get_timezone("Etc/UTC"),i,t,1)}}function v(e,t,i,s=!1){const n=r.Interval.parse(e),o=n.multiplier();return n.isMinutes()?new l(60*o,t):n.isSeconds()?new l(o,t):n.isTicks()?new l(1,t):n.isRange()?new l(60*o,t):new u(t,i,o,function(e,t){switch(e){case r.ResolutionKind.Days:return new f(t);case r.ResolutionKind.Weeks:return new g(t);case r.ResolutionKind.Months:return new b}throw new Error("Unknown dwm resolution: "+e)}(n.kind(),t),s)}function S(e,t,i,s,r,n,o){return w(e,t,i,s,r,n,o,0)}function y(e,t,i,s,r,n,o){return w(e,t,i,s,r,n,o,1)}function w(e,t,i,s,n,a,l,c){const h=r.Interval.parse(n+s);if(h.isMonths()){const e=new Date(l);return 0===c&&e.setUTCDate(1),function(e,t){T(e,Math.floor(t/12));let i=e.getUTCMonth()-t%12;i<0&&(T(e,1),i+=12);e.setUTCMonth(i);for(;e.getUTCMonth()!==i;)I(e,1)}(e,a*h.multiplier()),e.getTime()}const u=new o.b("Etc/UTC",e,t,i),d=h.inMilliseconds(),p=h.isDWM();let _;_=p?864e5:60*u.spec.maxTradingDayLength()*1e3;let m=0;m=h.isWeeks()?7:7-u.spec.weekEndsCount();const f=_/d,g=m*f;let b;if(a=f&&(g=_/6048e5*f),Math.ceil(g)}function C(e,t){const i=s.clone(t);return e.alignToSessionStart(i),s.cal_to_utc(s.get_timezone(e.timezone()),i)}function x(e,t){const i=s.utc_to_cal(t.timezone,+e);let r=s.get_day_of_week(i),n=s.get_minutes_from_midnight(i);const o=t.spec.findSession(t.spec.getWeekIndex(i),r,n).getEntry();return o.isOvernight()&&n>o.startOffset()+o.length()&&r===o.dayOfWeek()-1&&(r++,n-=1440),r===o.dayOfWeek()&&n>=o.startOffset()&&nh||h<=0||c>=o?null:[new r.Point(c,e.y),new r.Point(h,t.y)]}_hitTestBackground(e,t,i,s){const o=this._extendAndClipLineSegment(t,i,s);return null!==o&&Object(n.pointInBox)(e,Object(r.box)(o[0],o[1]))?this._backHitTestResult:null}}},InMJ:function(e,t,i){"use strict";var s=i("Ss5c").LineDataSource,r=i("Ocx9").DefaultProperty;class n extends s{constructor(e,t){super(e,t||n.createProperties()),this.version=n.version,i.e("lt-pane-views").then(i.t.bind(null,"gr7S",7)).then(({FlatBottomPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}pointsCount(){return 3}name(){return"Flat Bottom"}hasEditableCoordinates(){return!1}addPoint(e,t){return t&&t.shift()&&2===this.points().length&&this._snapPoint45Degree(e,this.points()[this.points().length-2]),s.prototype.addPoint.call(this,e)}setLastPoint(e,t){
return t&&t.shift()&&2===this.points().length&&this._snapPoint45Degree(e,this.points()[this.points().length-2]),s.prototype.setLastPoint.call(this,e)}setPoint(e,t,i){if(i&&i.shift()&&1===e){this._snapPoint45Degree(t,this.points()[0])}if(2===e)this._points[1].index=t.index;else if(3===e)return this._points[0].index=t.index,this._points[2].price=t.price,void this.normalizePoints();super.setPoint(e,t)}getPoint(e){return e<3?s.prototype.getPoint.call(this,e):3===e?{index:this._points[0].index,price:this._points[2].price}:void 0}canHasAlert(){return!0}_getAlertPlots(){var e=this._points[0],t=this._points[1],i=[];e.index<=t.index?(i.push(e),i.push(t)):(i.push(t),i.push(e));var s=this._points[2];s.time=t.time,s.index=t.index;var r,n,o,a,l={price:s.price,time:e.time,index:e.index},c=[];s.index<=l.index?(c.push(s),c.push(l)):(c.push(l),c.push(s)),i[0].price>c[0].price?(r=i,n=c):c[0].price>i[0].price||c[1].price>i[1].price?(r=c,n=i):(r=i,n=c);var h=this.properties().extendLeft.value(),u=this.properties().extendRight.value();return e.index<=t.index?(o=h,a=u):(o=u,a=h),[this._linePointsToAlertPlot(r,"Upper",o,a),this._linePointsToAlertPlot(n,"Lower",h,a)]}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(27),i.e(62),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"vm8R"))).GeneralTrendFiguresDefinitionsViewModel}static createProperties(e){var t=new r("linetoolflatbottom",e);return n._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e)}}n.version=1,t.LineToolFlatBottom=n},J2xC:function(e,t,i){e.exports={"css-value-header-toolbar-height":"38px"}},JT5O:function(e,t,i){"use strict";i.r(t),i.d(t,"StudyMarket",(function(){return n}));var s=i("hY0g"),r=i.n(s);class n{constructor(e,t){this._visibility=new r.a(!1),this._dialogPromise=null,this._dialog=null,this._chartWidgetCollection=e,this._options=t}visible(){return this._visibility.readonly()}show(e){var t;null===this._dialog&&this._requestDialog(e),null===(t=this._dialog)||void 0===t||t.open(e,void 0)}hide(){var e;null===(e=this._dialog)||void 0===e||e.hide()}resetAllPages(){var e;null===(e=this._dialog)||void 0===e||e.resetAllStudies()}_requestDialog(e){if(null===this._dialogPromise){let t;t=Promise.all([i.e("react"),i.e(1),i.e(3),i.e(4),i.e(8),i.e(9),i.e(17),i.e(19),i.e(24),i.e(68),i.e(78),i.e(0),i.e(2),i.e(18),i.e("study-market")]).then(i.bind(null,"zbLM")).then(e=>new e.IndicatorsLibraryContainer(this._chartWidgetCollection,this._options)),this._dialogPromise=t.then(t=>{this._dialog=t,this._dialog.visible().subscribe(e=>{this._visibility.setValue(e)}),this._dialog.open(e)})}return this._dialogPromise}}},JWMC:function(e,t,i){"use strict";i.r(t),i.d(t,"trackEvent",(function(){return l}));i("bSeV");var s=i("FQhm"),r=i("Kxc7"),n=i("txPx");const o=Object(n.getLogger)("Common.TrackEvent"),a=[/Study_(Drawing)_(.*)/,/(Study)_(.*)@tv-basicstudies/,/(Study)_(.*)/,/(Chart Style) (.*)/],l=(e,t,i)=>{if(r.enabled("charting_library_base"))return void((e,t,i)=>{t=t||e||i||"";let r="";for(let e=0;ee.isInitialized())}function r(e,t){const i=e.getAll(),s=()=>{t(),i.forEach(e=>{e.chartWidgetInitialized.unsubscribe(null,s)})};i.forEach(e=>{e.chartWidgetInitialized.subscribe(null,s,!0)})}i.r(t),i.d(t,"isAnyChartWidgetInitialized",(function(){return s})),i.d(t,"waitAnyChartWidgetInitialized",(function(){return r}))},JjUe:function(e,t,i){"use strict";i.r(t),i.d(t,"OverlayDataWindowView",(function(){return h}));var s=i("ivNn"),r=i("4miz"),n=i("qFKp"),o=i("e92V"),a=i("mMWL"),l=i("e1Hy");const c=n.CheckMobile.any();class h extends r.b{constructor(e,t){super(),this._invalidated=!0,this._study=e,this._model=t,this._valueProvider=this._createValuesProvider(e,t),this._items=this._valueProvider.getItems().map(e=>new r.a(e.title,"")),this.update()}items(){return this._invalidated&&(this._updateImpl(),this._invalidated=!1),this._items}update(){this._invalidated=!0}study(){return this._study}_updateImpl(){this._header=this._study.title();let e;this._showLastPriceAndChangeOnly()?e=this._study.data().lastIndex():(e=this._model.crossHairSource().appliedIndex(),Object(s.isNumber)(e)||(e=this._study.data().lastIndex()));const t=this._valueProvider.getValues(e);for(let e=0;e{t===r&&i.showChangeIntervalDialog(e)});return t}},K4L1:function(e,t,i){"use strict";var s=i("Eyy1").assert,r=i("lCO3").Version,n=i("txPx").getLogger("Chart.Study.Versioning"),o=i("Wt0y"),a=i("0YCj"),l=i("TcSq").extractPineId,c=i("Si3H").migrateMetaInfoAndPropState;function h(e,t){if(!e)throw new Error("No studies metainfo");var s=i("EyEd");if(this._studiesMetainfo=e,!t)throw new Error("No studies migrations");this._studiesMigrations=t,this._migrations={};for(var r=0;r=22)return t;for(var i={},s=0,r=0;;){var n=t[r];if(void 0===n)break;var o=t[n.id];n.isFake&&(n.id="in_"+s++),i[r]=n,i[n.id]=o,r++}return i}]}h.prototype.updateMetaInfo=function(e){if(!e)return e;s(!e.isTVScript,"This method should update only built-in java indicators metaInfo. For Pine indicators use updateMetaInfoAsync");for(var t=null,i=this._studiesMetainfo,r=0;r=12&&l<=26){var c={};for(o=0;o=12&&c<=26){var u=r.columns;r.columns=[];for(var d=0;dt&&n.logWarn("Bad integer input max value in metaInfo id="+e.id+" title="+e.description))}},h._fixInputsMaxValue=function(e,t){if(!TradingView.isAbsent(t)){var i=h.INPUT_MAX_VALUE;if(t.inputs)for(var s=0;si&&(a.max=i))}if(e&&e.inputs){var r=h.splitInputs(e.inputs),n=r.arr;for(var o in n){var a;"integer"===(a=n[o]).type&&(a.max&&a.max>i&&(a.max=i))}e.inputs=TradingView.merge(r.obj,r.arr)}}},h.prototype.patchPropsStateAndMetaInfo=function(e,t,i){"Script$BOOKER"!==t.productId||t.alerts||delete e.alerts,h._fixInputsOrder(e,t),h._fixInputsMaxValue(e,t);var s=h.splitInputs(e.inputs);e.inputs=s.obj;var r=a.versionOf(t);ri&&(i=r))}e[i+1]=t},h.splitInputs=function(e){var t={},i={};for(var s in e)isNumber(parseInt(s,10))?t[s]=e[s]:i[s]=e[s];return{arr:t,obj:i}},h.findInputKeyById=function(e,t){var i=null;for(var s in e)if(isNumber(parseInt(s,10))&&e[s].id===t){i=s;break}return i},h.getInputKeyById=function(e,t){var i=h.findInputKeyById(e,t);if(!i)throw new Error("Cannot find input with id: "+t);return i},e.exports=h},K5cv:function(e,t,i){"use strict";let s;function r(){return s}function n(e){s=e}i.r(t),i.d(t,"getSearchRequestDelay",(function(){return r})),i.d(t,"setSearchRequestDelay",(function(){return n}))},K8V9:function(e,t){e.exports=''},K9GE:function(e,t,i){"use strict";i.d(t,"b",(function(){return s})),i.d(t,"c",(function(){return r})),i.d(t,"a",(function(){return n}));const s=350,r={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>e*(2-e),easeInOutQuad:e=>e<.5?2*e*e:(4-2*e)*e-1,easeInCubic:e=>e*e*e,easeOutCubic:e=>--e*e*e+1,easeInOutCubic:e=>e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1,easeInQuart:e=>e*e*e*e,easeOutQuart:e=>1- --e*e*e*e,easeInOutQuart:e=>e<.5?8*e*e*e*e:1-8*--e*e*e*e,easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>1+--e*e*e*e*e,easeInOutQuint:e=>e<.5?16*e*e*e*e*e:1+16*--e*e*e*e*e};class n{constructor(e,t,i,s){this._mX1=e,this._mY1=t,this._mX2=i,this._mY2=s}easingFunc(e){return this._mX1===this._mY1&&this._mX2===this._mY2?e:this._calcBezier(this._getTForX(e))}_a(e,t){return 1-3*t+3*e}_b(e,t){return 3*t-6*e}_c(e){return 3*e}_calcBezier(e){return((this._a(this._mY1,this._mY2)*e+this._b(this._mY1,this._mY2))*e+this._c(this._mY1))*e}_getSlope(e){return 3*this._a(this._mX1,this._mX2)*e*e+2*this._b(this._mX1,this._mX2)*e+this._c(this._mX1)}_getTForX(e){let t=e;for(let i=0;i<4;++i){const i=this._getSlope(t);if(0===i)return t;t-=(this._calcBezier(t)-e)/i}return t}}},"KG+6":function(e,t,i){"use strict"
;i.d(t,"a",(function(){return s})),i.d(t,"b",(function(){return r})),i.d(t,"d",(function(){return l})),i.d(t,"c",(function(){return c}));var s,r,n=i("Eyy1"),o=i("tqok"),a=i("hsV8");function l(e,t){if(e.firstBarTime>=t.length||e.lastBarTime>=t.length)return null;const i=t[e.firstBarTime],s=t[e.lastBarTime];return i===o.INVALID_TIME_POINT_INDEX||s===o.INVALID_TIME_POINT_INDEX?null:(Object(n.assert)(i<=s,"firstBarTime should not exceed lastBarTime"),Object(n.assert)(e.priceLow<=e.priceHigh,"priceLow should not exceed priceHigh"),{firstBarTime:i,lastBarTime:s,rate:e.rate,priceHigh:e.priceHigh,priceLow:e.priceLow})}function c(e,t,i){const s=Object(a.ensureTimePointIndexIndex)(i.indexOf(e.firstBarTime)),r=Object(a.ensureTimePointIndexIndex)(i.indexOf(e.lastBarTime));return{id:t,...e,firstBarTime:s,lastBarTime:r}}!function(e){e.LeftToRight="left_to_right",e.RightToLeft="right_to_left"}(s||(s={})),function(e){e.Relative="relative",e.Absolute="absolute"}(r||(r={}))},KcY8:function(e,t,i){"use strict";var s=i("aO4+"),r=i("f6yo"),n=i("VaSN"),o=i("Tmoa"),a=i("Ialn"),l=i("ikwP"),c=i("VdBB"),h=i("gAom"),u=i("//lt");class d{constructor(e,t){this.setData(e,t)}setData(e,t){this._data={...e},this._commonData={...t}}draw(e,t,i,s,r,n){if(!this._data.visible)return;e.save(),e.font=t.font;const c=void 0!==this._data.labelIcon,u=this._data.ignoreOffset?0:t.offsetSize,d=t.borderSize,p=t.paddingTop+this._commonData.additionalPaddingTop,_=t.paddingBottom+this._commonData.additionalPaddingBottom,m=t.paddingInner,f=t.paddingOuter,g=t.fontSize;let b=this._data.text,v=this._data.textColor||this._commonData.textColor,S=this._data.secondLine||"",y=this._commonData.secondLineTextColor||v,w=this._data.thirdLine||"";const P=this._commonData.thirdLineTextColor||v;0===S.length&&(S=w,y=P,w=""),0===b.length&&(b=S,v=y,S=w,y=P,w="");const C=i.yMidCorrection(e,b)*n,x=Math.ceil(i.measureText(e,b)),T=g+p+_,I=Boolean(S),M=Boolean(w),O=I?Math.ceil(i.measureText(e,S)):0,L=M?Math.ceil(i.measureText(e,w)):0,A=d+m+f+x+u,E=O>0?d+m+f+O+u:0,k=L>0?d+m+f+L+u:0,D=Math.max(A,E,k),V=Math.max(1,Math.floor(n));let B=Math.round(T*n);B%2!=V%2&&(B+=1);const R=Math.round((g+t.lineSpacing)*n),N=Math.round(2*(g+t.lineSpacing)*n),j=Math.max(1,Math.floor(d*n)),F=this._data.separatorVisible?j:0,W=this._data.borderVisible?j:0,H=c?B:Math.round(D*n),U=Math.round(u*n),z=Math.ceil(s*n),G=Math.ceil(m*n);let q=this._commonData.coordinate;this._commonData.fixedCoordinate&&(q=this._commonData.fixedCoordinate),q=Math.round(q*n)-Math.floor(.5*n);const Y=Math.floor(q+V/2-B/2),K=Y+B,J="right"===r,Z=J?z-F:F,X=z;let $,Q=Z;const ee=Object(o.resetTransparency)(this._data.backgroung||this._commonData.background);e.fillStyle=ee;const te=2*n;if(e.textAlign=J?"right":"left",e.textBaseline="middle",J?(Q=Z-H,$=Z-U-G-1):(Q=Z+H,$=Z+U+G),b||c){const i=M?B+N:I?B+R:B;if(((t,s,r)=>{J?Object(h.drawRoundRectWithInnerBorder)(e,Q,Y,H,i,t,[te,0,0,te],W,s,r):Object(h.drawRoundRectWithInnerBorder)(e,Z,Y,H,i,t,[0,te,te,0],W,s,r)})(ee,this._commonData.borderColor||ee,this._commonData.borderStyle),
this._data.separatorVisible&&(e.fillStyle=t.paneBackgroundColor,e.fillRect(J?X-F:0,Y,F,K-Y)),c){switch(this._data.labelIcon){case 0:this._drawPlusIcon(e,Z,Q,Y,q,K,V);break;case 1:this._drawClockIcon(e,Z,Q,q,V,n)}return}e.save(),e.translate($,(Y+K)/2+C),Object(l.drawScaled)(e,n,()=>{e.fillStyle=v,e.fillText(b,0,0)}),e.restore()}I&&(e.fillStyle=y,e.save(),e.translate($,(Y+K)/2+C+R),Object(l.drawScaled)(e,n,()=>{e.fillText(Object(a.startWithLTR)(S),0,0)}),e.restore()),M&&(e.fillStyle=P,e.save(),e.translate($,(Y+K)/2+C+N),Object(l.drawScaled)(e,n,()=>{e.fillText(Object(a.startWithLTR)(w),0,0)}),e.restore()),e.restore()}height(e){const t=this._data,i=(t.text?1:0)+(t.secondLine?1:0)+(t.thirdLine?1:0);return t.visible&&0!==i?i*e.fontSize+(i-1)*e.lineSpacing+e.paddingTop+this._commonData.additionalPaddingTop+e.paddingBottom+this._commonData.additionalPaddingBottom:0}hitTest(e){const t=this._data.hitTestData;if(void 0===t||!this._data.visible)return null;const i=Object(n.lastEventIsTouch)()?10:0,o=Object(s.box)(new s.Point(t.xl-i,t.y-i),new s.Point(t.xl+t.containerWidth+i,t.y+t.containerHeight+i)),a=t.left&&Object(r.pointInBox)(e,o),l=Object(s.box)(new s.Point(t.xr-i,t.y-i),new s.Point(t.xr+t.containerWidth+i,t.y+t.containerHeight+i)),h=t.right&&Object(r.pointInBox)(e,l);if(a||h){const i=a?"left":"right";return new c.HitTestResult(c.HitTestResult.CUSTOM,{cursorType:u.PaneCursorType.Default,clickHandler:void 0===t.clickHandler?void 0:t.clickHandler.bind(this,e,i),tapHandler:void 0===t.clickHandler?void 0:t.clickHandler.bind(this,e,i),tooltip:t.tooltip})}return null}_drawPlusIcon(e,t,i,s,r,n,o){e.fillStyle=this._commonData.textColor,e.strokeStyle=this._commonData.textColor,e.lineWidth=o;const a=Math.abs(t-i);let l=Math.round(.35*a);l%2!=o%2&&(l+=1);let c=Math.round(.65*a);c%2!=o%2&&(c+=1);const h=Math.floor((a-l)/2),u=Math.min(t,i),d=u+Math.floor(a/2-o/2);e.fillRect(u+h,r,l,o),e.fillRect(d,s+h,o,l),e.beginPath(),e.arc(d+o/2,r+o/2,c/2,0,2*Math.PI,!1),e.stroke()}_drawClockIcon(e,t,i,s,r,n){e.fillStyle=this._commonData.textColor,e.lineWidth=r;const o=Math.abs(t-i);let a=Math.round(.35*o);a%2!=r%2&&(a+=1);let l=Math.round(.65*o);l%2!=r%2&&(l+=1);const c=Math.min(t,i)+Math.floor(o/2-r/2);e.save(),e.translate(c+r/2-l/2,s+r/2-l/2),e.scale(n,n);const h=new Path2D("M7.5 0.8a1 1 0 0 0 0 13.4 1 1 0 0 0 0-13.4zm0 1a1 1 0 0 1 0 11 1 1 0 0 1 0-11zm-.97-.25A3.5 3.5 0 0 0 3.5 0 3.5 3.5 0 0 0 0 3.5a3.5 3.5 0 0 0 1.75 3.03l.5-.86A2.5 2.5 0 0 1 1 3.5 2.5 2.5 0 0 1 3.5 1a2.5 2.5 0 0 1 2.17 1.25zm6.72 4.78A3.5 3.5 0 0 0 15 3.5 3.5 3.5 0 0 0 11.5 0a3.5 3.5 0 0 0-3.03 1.75l.86.5A2.5 2.5 0 0 1 11.5 1 2.5 2.5 0 0 1 14 3.5a2.5 2.5 0 0 1-1.25 2.17zM7 5h1v5H7zm3 2v1H5V7z");e.fill(h),e.restore()}}i.d(t,"a",(function(){return p}));class p{constructor(e){this._commonRendererData={coordinate:0,textColor:"#FFF",background:"#000",additionalPaddingBottom:0,additionalPaddingTop:0},this._axisRendererData={text:"",visible:!1,separatorVisible:!1,borderVisible:!1,ignoreOffset:!1},this._paneRendererData={text:"",visible:!1,separatorVisible:!0,borderVisible:!1,
ignoreOffset:!0},this._invalidated=!0,this._axisRenderer=new(e||d)(this._axisRendererData,this._commonRendererData),this._paneRenderer=new(e||d)(this._paneRendererData,this._commonRendererData)}text(){return this._updateRendererDataIfNeeded(),this._axisRendererData.text}secondLineText(){return this._updateRendererDataIfNeeded(),this._axisRendererData.secondLine}thirdLineText(){return this._updateRendererDataIfNeeded(),this._axisRendererData.thirdLine}background(){return this._updateRendererDataIfNeeded(),this._commonRendererData.background}color(){return this._updateRendererDataIfNeeded(),this.generateTextColor(this.background())}generateTextColor(e){return Object(o.colorFromBackground)(e)}coordinate(){return this._updateRendererDataIfNeeded(),this._commonRendererData.coordinate}floatCoordinate(){return this._updateRendererDataIfNeeded(),this._commonRendererData.floatCoordinate||this._commonRendererData.coordinate}update(){this._invalidated=!0}height(e){return this._updateRendererDataIfNeeded(),Math.max(this._axisRenderer.height(e),this._paneRenderer.height(e))}getFixedCoordinate(){return this._commonRendererData.fixedCoordinate||0}setFixedCoordinate(e){this._commonRendererData.fixedCoordinate=e}isVisible(){return this._updateRendererDataIfNeeded(),this._axisRendererData.visible||this._paneRendererData.visible}isAxisLabelVisible(){return this._updateRendererDataIfNeeded(),this._axisRendererData.visible}isPaneLabelVisible(){return this._updateRendererDataIfNeeded(),this._paneRendererData.visible}renderer(){return this._updateRendererDataIfNeeded(),this._axisRenderer}paneRenderer(){return this._updateRendererDataIfNeeded(),this._paneRenderer}setPaneRendererLabelIcon(e){this._paneRendererData.labelIcon=e}setPaneLabelVisible(e){this._paneRendererData.visible=e,this._invalidated=!0}ignoreAlignment(){return!1}_updateRendererDataIfNeeded(){this._invalidated&&(this._updateRendererData(this._axisRendererData,this._paneRendererData,this._commonRendererData),this._invalidated=!1),this._axisRenderer.setData(this._axisRendererData,this._commonRendererData),this._paneRenderer.setData(this._paneRendererData,this._commonRendererData)}}},Khfk:function(e,t,i){"use strict";i.r(t),i.d(t,"LollipopRenderer",(function(){return h}));var s=i("f6yo"),r=i("aO4+"),n=i("jFln"),o=i("8Uy/"),a=i("gAom"),l=i("ikwP"),c=i("Zp/P");class h{constructor(e,t,i){this._data=e,this._hittest=t,this._textWidthCache=i}draw(e,t){const i=t.pixelRatio,s=this._data.centerPoint,n=Math.round(s.x*i),o=Math.round(s.y*i),a=Math.max(1,Math.floor(i))%2/2,l=new r.Point(n+a,o-a);this._drawLollipop(e,l,t),this._drawLabel(e,l,t.pixelRatio)}hitTest(e,t){const i=Object(c.interactionTolerance)().esd,n=this._data.centerPoint.y-this._data.style.height/2-i,o=this._data.centerPoint.x-this._data.style.width/2-i,a=Object(r.box)(new r.Point(o,n),new r.Point(o+this._data.style.width+2*i,n+this._data.style.height+2*i));return Object(s.pointInBox)(e,a)?this._hittest:null}_drawLollipop(e,t,i){const s=this._data.style,r=i.pixelRatio,l=Math.max(1,Math.floor(r));let c=Math.round(s.width*r)
;c%2!=l%2&&(c+=1);const h=c/2;s.fillCircle&&s.backgroundColor&&(e.fillStyle=s.backgroundColor,Object(a.createCircle)(e,t.x,t.y,h),e.fill());const u=Math.round(s.lineWidth*r);e.strokeStyle=s.strokeStyle,e.lineWidth=u,Object(n.setLineStyle)(e,o.LINESTYLE_SOLID);const d=h-Math.round(1*r+u/2);Object(a.createCircle)(e,t.x,t.y,d),s.fillCircle&&s.fillStyle&&(e.fillStyle=s.fillStyle,e.fill()),e.stroke()}_drawLabel(e,t,i){const s=this._data.style.text,r=s.label;e.textAlign="center",e.textBaseline="middle",e.fillStyle=s.strokeStyle,e.font=s.font;const n=this._textWidthCache.yMidCorrection(e,r);e.translate(t.x,t.y+((s.deltaY||0)+n)*i),Object(l.drawScaled)(e,i,()=>{e.fillText(r,0,0)})}}},KnF9:function(e,t,i){"use strict";i.d(t,"a",(function(){return r}));var s=i("qFKp");class r{constructor(e){this._shift=!1,this._control=!1,this._alt=!1,void 0!==e&&(this._shift=Boolean(e.shiftKey),this._control=Boolean(Object(s.isMac)()?e.metaKey:e.ctrlKey),this._alt=Boolean(e.altKey))}shift(){return this._shift}control(){return this._control}alt(){return this._alt}shiftOnly(){return this._shift&&!this._control&&!this._alt}controlOnly(){return this._control&&!this._shift&&!this._alt}altOnly(){return this._alt&&!this._shift&&!this._control}controlShift(){return this._shift&&this._control&&!this._alt}static create(e=!1,t=!1,i=!1){return new r({shiftKey:e,ctrlKey:t,metaKey:t,altKey:i})}}},KtbP:function(e,t,i){"use strict";i.r(t),i.d(t,"PanePriceAxisView",(function(){return n}));var s=i("u+0B");class r{constructor(e){this._priceAxisViewRenderer=null,this._rendererOptions=null,this._align="right",this._width=0,this._textWidthCache=e}setParams(e,t,i,s){this._priceAxisViewRenderer=e,this._rendererOptions=t,this._width=i,this._align=s}draw(e,t){null!==this._rendererOptions&&null!==this._priceAxisViewRenderer&&this._priceAxisViewRenderer.draw(e,this._rendererOptions,this._textWidthCache,this._width,this._align,t.pixelRatio)}hitTest(e){var t,i;return void 0===(null===(t=this._priceAxisViewRenderer)||void 0===t?void 0:t.hitTest)?null:null===(i=this._priceAxisViewRenderer)||void 0===i?void 0:i.hitTest(e,this._width,this._align)}}class n{constructor(e,t,i){this._renderer=null,this._invalidated=!0,this._priceAxisView=e,this._textWidthCache=new s.TextWidthCache(50),this._dataSource=t,this._chartModel=i,this._fontSize=-1,this._panePriceAxisViewRenderer=new r(this._textWidthCache)}update(){this._invalidated=!0}renderer(e,t){return this._invalidated&&this._updateImpl(e,t),this._renderer}_updateImpl(e,t){this._priceAxisView.update(),this._renderer=null;const i=this._chartModel.crossHairSource(),s=this._dataSource===i?i.pane:this._chartModel.paneForSource(this._dataSource);if(null===s)return;const r=this._priceScale();if(null===r)return;let n=s.priceScalePosition(r);if("overlay"===n&&(n=s.priceScalePosition(s.defaultPriceScale())),"overlay"===n)return;const o=this._chartModel.priceAxisRendererOptions();o.fontSize!==this._fontSize&&(this._fontSize=o.fontSize,this._textWidthCache.reset()),
this._panePriceAxisViewRenderer.setParams(this._priceAxisView.paneRenderer(),o,t,n),this._renderer=this._panePriceAxisViewRenderer,this._invalidated=!1}_priceScale(){return this._dataSource.priceScale()}}},"L/Ed":function(e,t,i){"use strict";var s;i.r(t),i.d(t,"ToolboxType",(function(){return s})),function(e){e[e.Delete=0]="Delete"}(s||(s={}))},L6rT:function(e,t,i){"use strict";function s(e){return e.reduce((function(e,t,i){return~e.indexOf(t)||e.push(t),e}),[])}i.r(t),i.d(t,"uniq",(function(){return s}))},LAp3:function(e,t,i){"use strict";i.d(t,"a",(function(){return a}));var s=i("ogJP"),r=i("5rJj"),n=i.n(r);class o extends n.a{constructor(e,t){super(e,t,!1,{names:["width","color","visible"]})}_iterateLevels(e,t){for(const i in e.levels)if(e.levels[i]&&Object(s.isSameType)(e.levels[i],t.typecheck())){let s=t.tpl();for(const r in this._map.names)this._map.names.hasOwnProperty(r)&&(s=t.fill(r,this._map.names[r],e.levels[i],s));e.levels[i]=s}return e}}function a(e,t){return new o(e,t)}},LdoW:function(e,t){e.exports=''},LxhU:function(e,t,i){"use strict";i.r(t),i.d(t,"ResolutionKind",(function(){return n})),i.d(t,"SpecialResolutionKind",(function(){return o})),i.d(t,"Interval",(function(){return h})),i.d(t,"isHour",(function(){return d}));const s=/^(\d*)([TSHDWMR])$/,r=/^(\d+)$/;var n,o;!function(e){e.Ticks="ticks",e.Seconds="seconds",e.Minutes="minutes",e.Days="days",e.Weeks="weeks",e.Months="months",e.Range="range",e.Invalid="invalid"}(n||(n={})),function(e){e.Hours="hours"}(o||(o={}));const a={};a[n.Ticks]=1e3,a[n.Seconds]=1e3,a[n.Minutes]=60*a[n.Seconds],a[n.Days]=1440*a[n.Minutes],a[n.Weeks]=7*a[n.Days];const l={T:n.Ticks,S:n.Seconds,D:n.Days,W:n.Weeks,M:n.Months,R:n.Range},c=new Set([n.Ticks,n.Seconds,n.Minutes]);class h{constructor(e,t){this._kind=n.Invalid,this._multiplier=0,e!==n.Invalid&&t>0&&(this._kind=e,this._multiplier=t)}kind(){return this._kind}multiplier(){return this._multiplier}isValid(){return this.kind()!==n.Invalid&&this.multiplier()>0}isDWM(){return this.isValid()&&!this.isRange()&&!this.isIntraday()&&!this.isTicks()}isIntraday(){const e=c.has(this.kind());return this.isValid()&&e}isSeconds(){return this.kind()===n.Seconds}isMinutes(){return this.kind()===n.Minutes}isMinuteHours(){return this.kind()===n.Minutes&&d(this.multiplier())}isDays(){return this.kind()===n.Days}isWeeks(){return this.kind()===n.Weeks}isMonths(){return this.kind()===n.Months}isRange(){return this.kind()===n.Range}isTicks(){return this.kind()===n.Ticks}isTimeBased(){return!this.isRange()}letter(){return this.isValid()&&this.kind()!==n.Minutes?this.kind()[0].toUpperCase():""}value(){return this.isValid()?this.kind()===n.Minutes?this.multiplier()+"":this.multiplier()+this.letter():""}isEqualTo(e){if(!(e instanceof h))throw new Error("Argument is not an Interval")
;return!(!this.isValid()||!e.isValid())&&(this.kind()===e.kind()&&this.multiplier()===e.multiplier())}inMilliseconds(e=Date.now()){if(!this.isValid()||this.isRange())return NaN;if(this.isMonths()){const t=new Date(e);t.setUTCMonth(t.getUTCMonth()+(this.multiplier()||1));return+t-e}const t=this.multiplier();return a[this.kind()]*t}static isEqual(e,t){return e===t||h.parse(e).isEqualTo(h.parse(t))}static parse(e){e=(e+"").toUpperCase().split(",")[0];let t=s.exec(e);return null!==t?"H"===t[2]?new h(n.Minutes,60*u(t[1])):new h(l[t[2]],u(t[1])):(t=r.exec(e),null!==t?new h(n.Minutes,u(t[1])):new h(n.Invalid,0))}static kind(e){return h.parse(e).kind()}static isValid(e){return h.parse(e).isValid()}static isDWM(e){return h.parse(e).isDWM()}static isIntraday(e){return h.parse(e).isIntraday()}static isSeconds(e){return h.parse(e).isSeconds()}static isMinutes(e){return h.parse(e).isMinutes()}static isMinuteHours(e){return h.parse(e).isMinuteHours()}static isDays(e){return h.parse(e).isDays()}static isWeeks(e){return h.parse(e).isWeeks()}static isMonths(e){return h.parse(e).isMonths()}static isRange(e){return h.parse(e).isRange()}static isTicks(e){return h.parse(e).isTicks()}static isTimeBased(e){return h.parse(e).isTimeBased()}static normalize(e){const t=h.parse(e);return t.isValid()?t.value():null}}function u(e){return 0===e.length?1:parseInt(e,10)}function d(e){return e>=60&&!(e%60)}},"M7/j":function(e,t,i){"use strict";i.r(t),i.d(t,"itemsRangeIsValid",(function(){return h})),i.d(t,"splitItems",(function(){return u})),i.d(t,"PaneRendererBaseline",(function(){return d}));var s=i("aO4+"),r=i("hBTJ"),n=i("GEp6"),o=i("Zp/P"),a=i("Y7w9"),l=i("cPgM"),c=i("VdBB");function h(e){if(0===e.length)return!1;const t=e.findIndex(e=>Object(o.coordinateIsValid)(e.y));if(-1===t)return!1;let i=e.length-1;for(;i>t&&!Object(o.coordinateIsValid)(e[i].y);)i--;return!(t>i)}function u(e,t){const i=[],n=[];let a=null;for(let l=0;l=t&&n.push(c),a=c;else{if(null===a)continue;c=a}if(Object(o.coordinateIsValid)(h.y)&&(c.y>t&&h.yt))if(Math.abs(c.x-h.x)<1){const e=new s.Point(c.x,t);i.push(e),n.push(e)}else{const e=Object(r.intersectLineSegments)(c,h,new s.Point(c.x,t),new s.Point(h.x,t));if(null!==e){const t=c.add(h.subtract(c).scaled(e));i.push(t),n.push(t)}}}return{topItems:i,bottomItems:n}}class d extends l.ScaledPaneRenderer{constructor(){super(...arguments),this._data=null}setData(e){this._data=e}hitTest(e){if(null===this._data)return null;const{items:t,topLineWidth:i,bottomLineWidth:r}=this._data,l=Object(o.interactionTolerance)().series+(i+r)/4,h=Object(a.lowerbound)(t,e,(e,t)=>e.x<=t.x),u=Math.max(1,h-1),d=Math.min(t.length-1,h+1);for(let i=u;i<=d;++i){const r=t[i-1],o=t[i],{distance:a}=Object(n.distanceToSegment)(new s.Point(r.x,r.y),new s.Point(o.x,o.y),new s.Point(e.x,e.y));if(a<=l)return new c.HitTestResult(c.HitTestResult.REGULAR)}return null}_drawImpl(e){if(null===this._data)return
;const{items:t,baseLevelCoordinate:i,bottom:s,bottomFillColor1:r,bottomFillColor2:n,topFillColor1:o,topFillColor2:a,topLineColor:l,bottomLineColor:c,topLineWidth:d,bottomLineWidth:p}=this._data;if(!h(t))return;const{topItems:_,bottomItems:m}=u(t,i);e.lineCap="round",e.lineJoin="round",0!==_.length&&(e.beginPath(),e.moveTo(_[0].x,i),this._makeLine(e,_,!0,0),e.closePath(),e.fillStyle=this._makeLinearGradient(e,o,a,i-s,i),e.fill(),e.beginPath(),this._makeLine(e,_,!1,0),e.lineWidth=d,e.strokeStyle=l,e.stroke()),0!==m.length&&(e.beginPath(),e.moveTo(m[0].x,i),this._makeLine(e,m,!0,1),e.closePath(),e.fillStyle=this._makeLinearGradient(e,r,n,i,i+s),e.fill(),e.beginPath(),this._makeLine(e,m,!1,1),e.lineWidth=p,e.strokeStyle=c,e.stroke())}_makeLine(e,t,i,s){if(null===this._data)return;const r=t.findIndex(e=>Object(o.coordinateIsValid)(e.y));if(-1===r)return;const{barSpacing:n,baseLevelCoordinate:a}=this._data,l=.25*n;let c;const h=t.length;for(let n=r;n=a&&h.y>=a){e.moveTo(h.x,h.y);continue}}else if(c&&c.y<=a&&h.y<=a){e.moveTo(h.x,h.y);continue}if(c&&Object(o.coordinateIsValid)(c.y))e.lineTo(h.x,h.y),i&&!Object(o.coordinateIsValid)(u.y)&&e.lineTo(h.x,a);else if(u&&Object(o.coordinateIsValid)(u.y))i?(n!==r&&e.lineTo(h.x,a),e.lineTo(h.x,h.y)):e.moveTo(h.x,h.y);else if(i){if(0===n)continue;n!==r&&e.lineTo(h.x-l,a),e.lineTo(h.x-l,h.y),e.lineTo(h.x+l,h.y),e.lineTo(h.x+l,a)}else e.moveTo(h.x-l,h.y),e.lineTo(h.x+l,h.y);c=h}}}_makeLinearGradient(e,t,i,s,r){const n=e.createLinearGradient(0,s,0,r);return n.addColorStop(0,t),n.addColorStop(1,i),n}}},MA5A:function(e,t,i){"use strict";i.r(t),i.d(t,"LineToolCrossLine",(function(){return a}));var s=i("Ocx9"),r=i("p1SQ"),n=i("GmZZ"),o=i("Ss5c");class a extends o.LineDataSource{constructor(e,t){super(e,t||a.createProperties()),this._priceAxisView=new r.LineToolHorzLinePriceAxisView(this),this._timeAxisView=new n.a(this),i.e("lt-pane-views").then(i.bind(null,"amUF")).then(({CrossLinePaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}pointsCount(){return 1}name(){return"Cross Line"}priceAxisViews(e,t){return this.isSourceHidden()?null:t===this.priceScale()&&this.properties().showPrice.value()&&this._model.paneForSource(this)===e?[this._priceAxisView]:null}timeAxisViews(){return this.isSourceHidden()?null:this.properties().showTime.value()?[this._timeAxisView]:null}updateAllViews(){super.updateAllViews(),this._priceAxisView.update(),this._timeAxisView.update()}canHasAlert(){return!1}lineColor(){return this.properties().linecolor.value()}lineWidth(){return this.properties().linewidth.value()}lineStyle(){return this.properties().linestyle.value()}static createProperties(e){const t=new s.DefaultProperty("linetoolcrossline",e);return a._configureProperties(t),t}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(27),i.e(62),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"xrdl")).then(e=>e.CrossLineDefinitionsViewModel)}static _configureProperties(e){
o.LineDataSource._configureProperties(e)}}},MROS:function(e,t,i){"use strict";i.r(t),i.d(t,"ModelSelection",(function(){return o}));var s=i("Y7w9"),r=i("GxN8"),n=i("CW80");class o{constructor(){this._items=[],this._set=new Set}isEmpty(){return 0===this._items.length}add(e){if(this._items.length>0&&!Object(n.isLineTool)(this._items[0])&&this.clear(),Object(n.isLineTool)(e)){const t=Object(s.lowerbound)(this._items,e,(e,t)=>e.zorder()!Object(r.a)(e))}checkLineToolSelection(){this._items.forEach(e=>Object(n.isLineTool)(e)&&e.calcIsActualSymbol()),this._items=this._items.filter(e=>!Object(n.isLineTool)(e)||e.isActualSymbol())}remove(e){this._items=this._items.filter(t=>t!==e),this._set.delete(e)}clear(){this._items=[],this._set.clear()}notFixedSources(){return this._items.filter(e=>!Object(n.isLineTool)(e)||!e.isFixed())}}},MSvv:function(e,t,i){"use strict";i.r(t),i.d(t,"StudyLineDataSource",(function(){return g}));var s=i("Eyy1"),r=i("ogJP"),n=i("k9/m"),o=i("Ss5c"),a=i("Ocx9"),l=i("0YCj"),c=i.n(l),h=i("jenN"),u=i("ZAxB"),d=i("gvrv"),p=i("w4Ji"),_=i("GVHu"),m=i("jCNj"),f=i("OLhd");class g extends o.LineDataSource{constructor(e,t,s,r){super(e,r),this._indexes=null,this._inputs=null,this._pointsetPoints=null,this._loadedPlots=null,this._loadedGraphics=null,this._beingCreatedPaneView=null,this._anchorsPaneView=null,this._definitionsViewModel=null,this._alignerCache=null,Promise.all([i.e("lt-pane-views").then(i.bind(null,"pGCE")),i.e("lt-pane-views").then(i.bind(null,"AOzI"))]).then(t=>{const{LineToolBeingCreatedPaneView:i}=t[0],{StudyLineDataSourceAnchorsPaneView:s}=t[1];this._beingCreatedPaneView=new i(this,e),this._anchorsPaneView=new s(this,this.model()),this._model.lightUpdate()}),this._metaInfo=t,this._dataSource=new d.a(e.chartApi(),e.mainSeries().seriesSource(),s,t),this._dataSource.dataCleared().subscribe(this,this._onDataCleared),this._dataSource.dataUpdated().subscribe(this,this._onDataUpdated)}destroy(){this._dataSource.dataUpdated().unsubscribe(this,this._onDataUpdated),this._dataSource.dataCleared().unsubscribe(this,this._onDataCleared),this._dataSource.destroy(),null!==this._definitionsViewModel&&(this._definitionsViewModel.destroy(),this._definitionsViewModel=null),this._unsubscribeApplyInputsOnSeriesCompleted(),this._isDestroyed=!0,super.destroy()}stop(){super.stop(),this._isDestroyed||(this._dataSource.stop(),this.clearData())}start(){super.start(),this._isDestroyed||null===this._inputs||this._dataSource.start()}metaInfo(){return this._metaInfo}graphicsInfo(){return this._metaInfo.graphics}series(){return this._model.mainSeries()}translatedType(){return this._metaInfo.description}
name(){return this._metaInfo.description}studyId(){return this._metaInfo.id}setPoint(e,t,i){super.setPoint(e,this._preparePoint(t,i))}move(e){}clearData(){this._clearAllDataExceptPointsetPoints(),this._pointsetPoints=null,this.updateAllViews()}data(){return this.plots()}plots(){return this._loadedPlots||this._dataSource.plots()}graphics(){return this._loadedGraphics||this._dataSource.graphics()}firstValue(){return this._model.mainSeries().firstValue()}state(e){const t=super.state(e);let i;this.metaInfo()instanceof c.a?i=this.metaInfo().state():(i=Object(r.clone)(this.metaInfo()),i.id=c.a.parseIdString(i.id+(i.version?"-"+i.version:"")).fullId);const s={...t,metaInfo:i};return e&&(s.data=this.plots().state(),s.nonseriesindexes=this._indexes,s.graphics=Object(h.saveStudyGraphics)(this.graphics())),s}restoreData(e){void 0!==e.data&&(this._loadedPlots=new n.PlotList(Object(p.studyPlotFunctionMap)(this._metaInfo),p.studyEmptyPlotValuePredicate),this._loadedPlots.restoreState(e.data)),this._indexes=e.nonseriesindexes?e.nonseriesindexes:null,this._loadedGraphics=e.graphics?Object(h.loadStudyGraphics)(e.graphics):null}getPropertyDefinitionsViewModel(){return null===this._definitionsViewModel?this._getPropertyDefinitionsViewModelClass().then(e=>null===e||this._isDestroyed?null:(null===this._definitionsViewModel&&(this._definitionsViewModel=new e(this._model.undoModel(),this)),this._definitionsViewModel)):Promise.resolve(this._definitionsViewModel)}paneViews(e){let t=[];if(this.isSourceHidden())return t;if(this._isReady()&&this._changeStatesStack.isEmpty()){const i=super.paneViews(e);null!==i&&(t=t.concat(i))}else null!==this._beingCreatedPaneView&&t.push(this._beingCreatedPaneView);return null!==this._anchorsPaneView&&t.push(this._anchorsPaneView),t}propertiesChanged(e){super.propertiesChanged(e),this._onStudyInputsMayChange()}dataAndViewsReady(){return super.dataAndViewsReady()&&this._isReady()}endChanging(e,t){const i=super.endChanging(e,t);return i.indexesChanged?this.clearData():this._updateAnchorsPrice(),i}moveData(e){this._dataSource.moveData(e)}static createPropertiesFromStudyMetaInfoAndState(e,t,i,s){const r=Object(_.prepareStudyPropertiesForLoadChart)(e,t,i,null,s);return g._configureProperties(r),r}_isReady(){return!0}_updateAllPaneViews(){var e,t;super._updateAllPaneViews(),null===(e=this._beingCreatedPaneView)||void 0===e||e.update(),null===(t=this._anchorsPaneView)||void 0===t||t.update()}_getPointTime(e,t){const i=e.index,s=this._model.timeScale().indexToTimePoint(i);if(null!==s)return s;if(t||void 0===e.time)return null;const r=this._model.mainSeries().symbolInfo();if(null===r)return null;let n=this._model.properties().timezone.value();"exchange"===n&&(n=r.timezone);const o=Object(m.cal_to_utc)(Object(m.get_timezone)(n),e.time);return this._getStartBarAligner()(o)/1e3}_updateAnchorsPrice(){}_onPointsetUpdated(e){super._onPointsetUpdated(e),this._pointsetPoints=this._points.map(e=>({price:e.price,index:e.index,time:e.time})),this._onStudyInputsMayChange()}_onDataCleared(){this.updateAllViews(),
this._model.updateSource(this)}_onDataUpdated(e,t,i){this._updateAnchorsPrice(),this.updateAllViews(),this._model.updateSource(this)}_onStudyInputsMayChange(){let e=null;null!==this._pointsetPoints&&this._pointsetPoints.length===this.pointsCount()&&(e=this._studyInputs(this._pointsetPoints),null===e&&(this._clearAllDataExceptPointsetPoints(),this.updateAllViews())),this._areInputsEqual(this._inputs,e)||this._applyStudyInputs(e)}_onMainSeriesSymbolResolved(){super._onMainSeriesSymbolResolved(),this._alignerCache=null}_preparePoint(e,t){return super._preparePoint(this._alignPointToRangeOfActualData(e),t)}_getPropertyDefinitionsViewModelClass(){return Promise.resolve(null)}_subscribeApplyInputsOnSeriesCompleted(){this._unsubscribeApplyInputsOnSeriesCompleted(),this._model.mainSeries().dataEvents().completed().subscribe(this,()=>this._onStudyInputsMayChange(),!0)}_unsubscribeApplyInputsOnSeriesCompleted(){this._model.mainSeries().dataEvents().completed().unsubscribeAll(this)}static _createPropertiesFromStudyIdAndState(e,t){const i=c.a.getStudyPropertyRootNameById(e),s=new a.DefaultProperty(i,t);return g._configureProperties(s),s}static _createPropertiesFromStudyMetaInfo(e,t){const i=Object(_.prepareStudyProperties)(e,null,null,t);return g._configureProperties(i),i}static _configureProperties(e){o.LineDataSource._configureProperties(e)}_areInputsEqual(e,t){return null===t?null===e:null!==e&&Object(u.a)(this._metaInfo.inputs,e,t)}_applyStudyInputs(e){const t=this._inputs;this._inputs=e,null!==e&&(this._unsubscribeApplyInputsOnSeriesCompleted(),this._dataSource.setInputs(e),null===t&&this.isStarted()&&!this._dataSource.isStarted()&&this._dataSource.start())}_clearAllDataExceptPointsetPoints(){this._inputs=null,this._dataSource.clearData(),this._loadedPlots=null,this._indexes=null,this._loadedGraphics=null}_getStartBarAligner(){const e=this._model.mainSeries().interval();return null!==this._alignerCache&&this._alignerCache.resolution===this._model.mainSeries().interval()||(this._alignerCache={resolution:e,aligner:Object(f.createTimeToBarTimeAligner)(e,Object(s.ensureNotNull)(this._model.mainSeries().symbolInfo()))}),this._alignerCache.aligner}}},MWAT:function(e,t,i){"use strict";i.r(t),i.d(t,"PriceScaleSelectionStrategyEvenly",(function(){return o})),i.d(t,"PriceScaleSelectionStrategyAllRight",(function(){return a})),i.d(t,"PriceScaleSelectionStrategyAllLeft",(function(){return l})),i.d(t,"createPriceScaleSelectionStrategy",(function(){return h})),i.d(t,"allPriceScaleSelectionStrategyInfo",(function(){return u}));var s=i("Eyy1"),r=i("3ClC");class n{constructor(e){this._priceScalesLimit=8,this._metaInfo=e}metaInfo(){return this._metaInfo}findSuitableScale(e,t,i,s){if(void 0!==s)return this._tryToGetDesiredPriceScale(e,t,s,i);if(Object(r.isStudy)(t)){const s=t.metaInfo();if("Volume"===s.shortId&&e.containsMainSeries())return e.createPriceScaleAtPosition("overlay");const n=t.desiredPriceScalePosition();if(null!==n)return this._tryToGetDesiredPriceScale(e,t,n,i)
;if(void 0!==i&&(Object(r.isStudy)(i)||e.isMainPane())&&s.is_price_study)return this._getPriceScaleTheSameAsForSource(i,e)}let n=!1;if(Object(r.isStudy)(t)){const i=t.metaInfo().groupingKey;if(void 0!==i){const t=e.model().findNonOverlayStudyWithGroupingKey(i,e);if(null!==t)return this._getPriceScaleTheSameAsForSource(t.study,t.pane)}n=Boolean(t.metaInfo().is_price_study)}else t===e.model().mainSeries()&&(n=!0);if(n){const t=this._findFirstScaleForPriceStudy(e);if(null!==t)return t}return this.createNewPriceScaleIfPossible(e)}canCreateNewPriceScale(e){return e.leftPriceScales().length+e.rightPriceScales().lengthi&&this._priceScaleIsPrice(e.rightPriceScales()[i],t))return e.rightPriceScales()[i];if(e.leftPriceScales().length>i&&this._priceScaleIsPrice(e.leftPriceScales()[i],t))return e.leftPriceScales()[i]}return null}_targetPriceScaleIndex(e,t){if(e.mainSource()===t.mainSeries())return 0}_tryToGetDesiredPriceScale(e,t,i,r){switch(i){case"left":return this.canCreateNewPriceScale(e)?e.createPriceScaleAtPosition("left"):e.createPriceScaleAtPosition("overlay");case"right":return this.canCreateNewPriceScale(e)?e.createPriceScaleAtPosition("right"):e.createPriceScaleAtPosition("overlay");case"as-series":return void 0!==r?Object(s.ensureNotNull)(r.priceScale()):e.isMainPane()?Object(s.ensureNotNull)(Object(s.ensureNotNull)(e.mainDataSource()).priceScale()):this.createNewPriceScaleIfPossible(e);case"overlay":return e.createPriceScaleAtPosition("overlay")}}}class o extends n{constructor(e){super(e)}apply(e){if(e.containsMainSeries()){const t=Object(s.ensureNotNull)(Object(s.ensureNotNull)(e.mainDataSource()).priceScale());e.movePriceScale(t,"right",0)}const t=e.model();for(;e.leftPriceScales().length>e.rightPriceScales().length;){const i=e.leftPriceScales()[e.leftPriceScales().length-1];e.movePriceScale(i,"right",this._targetPriceScaleIndex(i,t))}for(;e.rightPriceScales().length-e.leftPriceScales().length>1;){const i=e.rightPriceScales()[e.rightPriceScales().length-1];e.movePriceScale(i,"left",this._targetPriceScaleIndex(i,t))}}createNewPriceScaleIfPossible(e){if(!this.canCreateNewPriceScale(e))return e.createPriceScaleAtPosition("overlay");const t=e.leftPriceScales().lengthe.movePriceScale(i,"right",this._targetPriceScaleIndex(i,t)))}createNewPriceScaleIfPossible(e){return this.canCreateNewPriceScale(e)?e.createPriceScaleAtPosition("right"):e.createPriceScaleAtPosition("overlay")}}class l extends n{constructor(e){
super(e)}apply(e){const t=e.model();e.rightPriceScales().slice(0).forEach(i=>e.movePriceScale(i,"left",this._targetPriceScaleIndex(i,t)))}createNewPriceScaleIfPossible(e){return this.canCreateNewPriceScale(e)?e.createPriceScaleAtPosition("left"):e.createPriceScaleAtPosition("overlay")}}const c=[{name:"left",title:window.t("Stack On The Left"),ctor:l},{name:"right",title:window.t("Stack On The Right"),ctor:a},{name:"auto",title:window.t("Auto"),ctor:o}];function h(e){const t=Object(s.ensureDefined)(c.find(t=>t.name===e));return new t.ctor(t)}function u(){return c}},MXV9:function(e,t){e.exports=''},MY2c:function(e,t,i){"use strict";i.d(t,"a",(function(){return l}));var s=i("RDU5"),r=i("aIyQ"),n=i.n(r),o=i("txPx");const a=Object(o.getLogger)("Common.UndoStack");class l{constructor(){this._commands=[],this._onChange=new n.a}onChange(){return this._onChange}isEmpty(){return 0===this._commands.length}clear(){this.isEmpty()||(this._commands.length=0,this._onChange.fire())}push(e){if(!(e instanceof s.UndoCommand))throw new TypeError("argument must be an instance of UndoCommand");this._commands.push(e),this._onChange.fire(e)}pop(){if(this.isEmpty())return void a.logDebug("pop: undo stack is empty");const e=this._commands.pop();return this._onChange.fire(e),e}head(){if(!this.isEmpty())return this._commands[this._commands.length-1]}}},MbIA:function(e,t,i){"use strict";i.d(t,"a",(function(){return o}));var s=i("4kQX"),r=i("gQ5K");const n={dateFormat:"yyyy-MM-dd",timeFormat:"%h:%m:%s",dateTimeSeparator:" "};class o{constructor(e={}){const t=Object.assign({},n,e);this._dateFormatter=new r.DateFormatter(t.dateFormat),this._timeFormatter=new s.TimeFormatter(t.timeFormat),this._separator=t.dateTimeSeparator}format(e){return`${this._dateFormatter.format(e)}${this._separator}${this._timeFormatter.format(e)}`}formatLocal(e){return`${this._dateFormatter.formatLocal(e)}${this._separator}${this._timeFormatter.formatLocal(e)}`}}},MrEN:function(e,t,i){"use strict";var s=i("aIyQ"),r=function(e,t){this._server=e,this._session=t,this.seriesCompleted=new s,this.seriesError=new s}
;r.prototype.onRequestMetadata=function(e,t){this._server.receiveLocalResponse({method:"studies_metadata",params:[this._session,e,{errors:[],hash:"",metainfo:t,migrations:[]}]})},r.prototype.onSymbolResolved=function(e,t){this._server.receiveLocalResponse({method:"symbol_resolved",params:[this._session,e,t]})},r.prototype.onSymbolError=function(e,t){this._server.receiveLocalResponse({method:"symbol_error",params:[this._session,e,t]})},r.prototype.onStudyError=function(e,t,i){this._server.receiveLocalResponse({method:"study_error",params:[this._session,e,t,i]})},r.prototype.onSeriesLoading=function(e,t){this._server.receiveLocalResponse({method:"series_loading",params:[this._session,e,t]})},r.prototype.onSeriesCompleted=function(e,t,i){this._server.receiveLocalResponse({method:"series_completed",params:[this._session,e,i,t]}),this.seriesCompleted.fire(e,t)},r.prototype.onSeriesError=function(e,t,i){this._server.receiveLocalResponse({method:"series_error",params:[this._session,e,t,i]}),this.seriesError.fire(e,t)},r.prototype.onStudyCompleted=function(e,t){this._server.receiveLocalResponse({method:"study_completed",params:[this._session,e,t]})},r.prototype.onStudyLoading=function(e,t){this._server.receiveLocalResponse({method:"study_loading",params:[this._session,e,t]})},r.prototype.onTickmarksUpdated=function(e,t){var i={method:"tickmark_update",params:[this._session,{index:e,zoffset:0,changes:[],marks:t,index_diff:[]}]};this._server.receiveLocalResponse(i)},r.prototype.onTimescaleUpdate=function(e,t){var i={method:"timescale_update",params:[this._session,this._prepareDataUpdateObjects(t),{index:e.pointsIndex,zoffset:0,changes:e.points,marks:e.marks,index_diff:e.indexChange,baseIndex:e.baseIndex}]};this._server.receiveLocalResponse(i)},r.prototype.onTimescaleCompleted=function(e){this._server.receiveLocalResponse({method:"timescale_completed",params:[this._session,e]})},r.prototype.onSeriesTimeframeUpdate=function(e,t,i,s,r){var n={method:"series_timeframe",params:[this._session,e,t,i,s,null,!0,r]};this._server.receiveLocalResponse(n)},r.prototype.onPointsetDataUpdate=function(e,t,i){this.onDataUpdate(e,t,i,null)},r.prototype._prepareDataUpdateObjects=function(e){var t={};return e.forEach((function(e){t[e.objId]={series:e.data,turnaround:e.turnaround},e.nonSeriesData&&(e.nonSeriesData.data?t[e.objId].nonseries={d:JSON.stringify(e.nonSeriesData.data),indexes:e.nonSeriesData.indexes}:t[e.objId].nonseries={d:"",indexes:[]})})),t},r.prototype.onDataUpdate=function(e,t,i,s){var r={method:"data_update",params:[this._session,this._prepareDataUpdateObjects([{objId:e,turnaround:t,data:i,nonSeriesData:s}])]};this._server.receiveLocalResponse(r)},r.prototype.onQuotesData=function(e){this._server.receiveLocalResponse({method:"quote_symbol_data",params:e})},r.prototype.onDepthData=function(e){this._server.receiveLocalResponse({method:"dd",params:e})},r.prototype.onDepthUpdate=function(e){this._server.receiveLocalResponse({method:"dpu",params:e})},r.prototype.onClearData=function(e){this._server.receiveLocalResponse({
method:"clear_data",params:[this._session,e]})},TradingView.ChartapiMessagerInstances=[],e.exports=r},"N+BX":function(e,t,i){"use strict";i.r(t),i.d(t,"LineToolBezierCubic",(function(){return n}));var s=i("Ocx9"),r=i("Ss5c");class n extends r.LineDataSource{constructor(e,t){const s=t||n.createProperties();super(e,s),this._controlPoints=null,i.e("lt-pane-views").then(i.bind(null,"a6on")).then(t=>{this._setPaneViews([new t.BezierCubicPaneView(this,e)])})}pointsCount(){return 2}name(){return"Double Curve"}properties(){return super.properties()}setLastPoint(e,t){super.setLastPoint(e,t),this._controlPoints=this._calculateControlPoints()}addPoint(e,t,i){const s=super.addPoint(e,t,i);if(s){const e=this._calculateControlPoints();this._controlPoints=null,this._points.push(e[0]),this._points.push(e[1]),i||(this.normalizePoints(),this.createServerPoints()),this._createPointProperty(2),this._createPointProperty(3)}return s}restorePoints(e,t,i){super.restorePoints(e,t,i),this._createPointProperty(2),this._createPointProperty(3)}controlPoints(){return this._controlPoints}static createProperties(e){const t=new s.DefaultProperty("linetoolbeziercubic",e);return n._configureProperties(t),t}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(27),i.e(62),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"b4fl")).then(e=>e.GeneralBezierDefinitionsViewModel)}static _configureProperties(e){r.LineDataSource._configureProperties(e)}_calculateControlPoints(){const e=this.pointToScreenPoint(this.points()[0])[0],t=this.pointToScreenPoint(this.points()[1])[0],i=t.subtract(e).scaled(.5).transposed().scaled(.3),s=e.add(t).scaled(.33),r=e.add(t).scaled(.67),n=s.add(i),o=r.subtract(i);return[this.screenPointToPoint(n),this.screenPointToPoint(o)]}}},N1UO:function(e,t,i){"use strict";i.r(t),i.d(t,"StudyApi",(function(){return v}));var s=i("Eyy1"),r=i("aIyQ"),n=i.n(r),o=i("ogJP"),a=i("9iCb"),l=i("xo8u"),c=i("gaBL"),h=i("HGup"),u=i("jRfx"),d=i("/ToI"),p=i("HZKX"),_=i("SwuQ"),m=i("Yt+L"),f=i("GD+X"),g=i("bmVy"),b=i("pZDF");class v{constructor(e,t){this._onStudyCompleted=new n.a,this._onStudyError=new n.a,this._study=e,this._chartWidget=t,this._undoModel=this._chartWidget.model(),this._model=this._undoModel.model(),this._study.onAboutToBeDestroyed().subscribe(this,()=>{this._study.onStatusChanged().unsubscribeAll(this),this._study.onAboutToBeDestroyed().unsubscribeAll(this)}),this._study.onStatusChanged().subscribe(this,e=>{switch(e.type){case g.StudyStatusType.Completed:this._onStudyCompleted.fire();break;case g.StudyStatusType.Error:this._onStudyError.fire()}})}isUserEditEnabled(){return this._study.userEditEnabled()}setUserEditEnabled(e){this._study.setUserEditEnabled(e)}getInputsInfo(){return Object(b.getStudyInputsInfo)(this._study.metaInfo())}getInputValues(){const e=this._study.inputs({symbolsForChartApi:!1,asObject:!0});return Object.keys(e).map(t=>{const i=e[t];return{id:t,value:Object(o.isObject)(i)?i.v:i}})}setInputValues(e){const t=this.getInputValues();for(const i of e){
void 0!==t.find(e=>e.id===i.id)?this._study.properties().inputs[i.id].setValue(i.value):console.warn(`There is no such input: "${i.id}"`)}}mergeUp(){this._model.isMergeUpAvailableForSource(this._study)&&new u.c(this._model,this._study,"").redo()}mergeDown(){this._model.isMergeDownAvailableForSource(this._study)&&new u.a(this._model,this._study,"").redo()}unmergeUp(){this._model.isUnmergeAvailableForSource(this._study)&&new h.c(this._model,this._study,"").redo()}unmergeDown(){this._model.isUnmergeAvailableForSource(this._study)&&new h.a(this._model,this._study,"").redo()}onDataLoaded(){return this._onStudyCompleted}onStudyError(){return this._onStudyError}mergeUpWithUndo(){this._model.isMergeUpAvailableForSource(this._study)&&this._undoModel.mergeSourceUp(this._study)}mergeDownWithUndo(){this._model.isMergeDownAvailableForSource(this._study)&&this._undoModel.mergeSourceDown(this._study)}unmergeUpWithUndo(){this._model.isUnmergeAvailableForSource(this._study)&&this._undoModel.unmergeSourceUp(this._study)}unmergeDownWithUndo(){this._model.isUnmergeAvailableForSource(this._study)&&this._undoModel.unmergeSourceDown(this._study)}priceScale(){return new f.a(this._undoModel,Object(s.ensureNotNull)(this._study.priceScale()))}symbolSource(){const e=Object(s.ensureNotNull)(this._study.symbolSource());return{symbol:e.symbol(),currencyId:e.currency(),unitId:e.unit()}}changePriceScale(e){const t=Object(s.ensureNotNull)(this._model.paneForSource(this._model.mainSeries())),i=Object(s.ensureNotNull)(this._model.paneForSource(this._study));switch(e){case"no-scale":Object(s.assert)(i.actionNoScaleIsEnabled(this._study),"Unable to leave a pane without any non-overlay price scale"),new d.b(this._model,this._study,i,"overlay","").redo();break;case"as-series":Object(s.assert)(i===t,"Study should be on the main pane"),new d.a(this._model,this._study,i,this._model.mainSeries().priceScale(),"").redo();break;case"new-left":new d.b(this._model,this._study,i,"left","").redo();break;case"new-right":new d.b(this._model,this._study,i,"right","").redo();break;default:const r=this._model.dataSourceForId(e);if(null===r)throw new Error(`There is no study with entityId='${e}'`);const n=i===this._model.paneForSource(r);Object(s.assert)(n,"Both studies should be on the same pane");const o=Object(s.ensureNotNull)(r.priceScale()),a=Object(c.sourceNewCurrencyOnPinningToPriceScale)(this._study,o,this._model),h=Object(_.sourceNewUnitOnPinningToPriceScale)(this._study,o,this._model);new d.a(this._model,this._study,i,o,"").redo(),null!==a&&new l.a(o,a,this._undoModel.chartWidget(),"").redo(),null!==h&&new m.a(o,h,this._undoModel.chartWidget(),"").redo()}}isVisible(){return this._study.properties().visible.value()}setVisible(e){this._study.properties().visible.setValue(e)}bringToFront(){this._model.bringToFront([this._study])}sendToBack(){this._model.sendToBack([this._study])}applyOverrides(e){Object(a.applyOverridesToStudy)(this._study,e)}dataLength(){
return this._study.status().type!==g.StudyStatusType.Completed?0:this._study.metaInfo().plots.length>0?this._study.data().size():this._model.mainSeries().bars().size()}isLoading(){return this._study.isLoading()}async applyToEntireLayout(){const e=new p.ActionsProvider(this._chartWidget),t=(await e.contextMenuActionsForSources([this._study])).find(e=>"applyStudyToEntireLayout"===e.id);t&&t.execute()}}},N22A:function(e,t,i){"use strict";i.d(t,"a",(function(){return n}));var s=i("eqEH");const r={id:"TradingService"};function n(){return Object(s.hasService)(r)?Object(s.service)(r):null}},NJRZ:function(e,t,i){"use strict";i.r(t),i.d(t,"LineTool5PointsPattern",(function(){return a}));var s=i("Eyy1"),r=i("Ocx9"),n=i("Ss5c"),o=i("j3hX");class a extends n.LineDataSource{constructor(e,t){super(e,t||a.createProperties()),this._loadPaneViews(e)}pointsCount(){return 5}name(){return"XABCD Pattern"}properties(){return super.properties()}static createProperties(e){const t=new r.DefaultProperty("linetool5pointspattern",e);return a._configureProperties(t),t}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(27),i.e(62),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"/HOw")).then(e=>e.PatternWithBackgroundDefinitionViewModel)}_loadPaneViews(e){i.e("lt-pane-views").then(i.bind(null,"6MfG")).then(t=>{this._setPaneViews([new t.Pattern5pointsPaneView(this,e)])})}static _configureProperties(e){n.LineDataSource._configureProperties(e),e.addChild("linesColors",new o.LineToolColorsProperty([Object(s.ensureDefined)(e.child("color"))])),e.addChild("textsColors",new o.LineToolColorsProperty([Object(s.ensureDefined)(e.child("textcolor"))]))}}},NSoL:function(e,t,i){"use strict";i.r(t),i.d(t,"clientSnapshot",(function(){return y}));var s=i("aO4+"),r=i("eJTA"),n=i("zM7N"),o=i("Y7w9"),a=i("ikwP"),l=i("zDbI"),c=i("XlJ7"),h=i("EsvI"),u=i("Dq3s"),d=i("Kxc7"),p=i("4GHa");const _=!d.enabled("widget_logo");function m(e,t=null,i=null){let s={};if("number"==typeof e)return{relativePositions:{[e]:{l:t,t:i}},nextElementLeft:e,nextElementTop:e};const[r,...n]=e;if("v"===r){let e=null;for(const r of n){const n=m(r,t,i);s={...s,...n.relativePositions},i=n.nextElementTop,e=n.nextElementLeft}t=e}if("h"===r){let e=null;for(const r of n){const n=m(r,t,i);s={...s,...n.relativePositions},t=n.nextElementLeft,e=n.nextElementTop}i=e}return{relativePositions:s,nextElementTop:i,nextElementLeft:t}}const f=function(e){const t={};for(const i of Object.keys(e)){const s=m(e[i]).relativePositions;t[i]=s}return t}(u);function g(e,t,i,s){return Object(a.drawScaled)(e,s,()=>{e.fillText(i,t.x/s,t.y/s)}),e.measureText(i).width*s}function b(e){return e.map(e=>({...e,title:""}))}function v(e,t){const i=[{text:e.trim()}];for(const e of t)e.visible&&(""!==i[i.length-1].text&&i.push({text:" "}),e.title&&i.push({text:e.title}),i.push({text:e.value,color:e.color}));return i}class S{constructor(e,t){this._logoTextColor=null,this._snapshotData=e,t=t||{},this._options={backgroundColor:h.themes[e.theme].getThemedColor("color-bg-primary"),
borderColor:h.themes[e.theme].getThemedColor("color-border"),font:l.CHART_FONT_FAMILY,fontSize:12,legendMode:"vertical",hideResolution:!1,header:void 0,...t};const i=f[e.layout],s=e.charts.map(e=>function(e){const t=e.panes[0],i=t.canvas.width+t.leftAxis.canvas.width+t.rightAxis.canvas.width;let s=0;for(const t of e.panes)s+=t.canvas.height;return void 0!==e.timeAxis&&(s+=e.timeAxis.canvas.height),new a.Size(i,s)}(e));if(this._pixelRatio=e.hidpiRatio,this._chartsGeometry=e.charts.map((e,t)=>function e(t,i,s,r){let n=Math.round(10*r),o=Math.round(10*r);const a=s[t];if(null!==a.l){const t=e(a.l,i,s,r);n=t.x+t.width+Math.round(5*r)}if(null!==a.t){const t=e(a.t,i,s,r);o=t.y+t.height+Math.round(5*r)}const l=i[t];return{x:n,y:o,width:l.w,height:l.h}}(t,s,i,this._pixelRatio)),!_){let i=e.theme;void 0!==t.backgroundColor&&(i="black"===Object(r.rgbToBlackWhiteString)(Object(r.parseRgb)(t.backgroundColor),150)?n.a.Dark:n.a.Light),this._logoTextColor=h.themes[i].getThemedColor("color-text-primary")}this._headerDefaultTextColor=h.themes[e.theme].getThemedColor("color-text-primary")}async getImage(){const e=this._pixelRatio;let t=0,i=0,r=0;if(this._options.header){r=Math.ceil(1.4*this._options.fontSize*e)*this._options.header.length}i+=r;let n=0,o=0;for(const e of this._chartsGeometry)n=Math.max(n,e.x+e.width),o=Math.max(o,e.y+e.height);const h=i;t+=n,i+=o,t+=Math.round(10*e);const u=_?Math.round(10*e):Math.round(35*e),d=i;i+=u;const m=Object(a.createDisconnectedCanvas)(document,new a.Size(t,i),1),f=Object(a.getContext2D)(m);f.font=Object(c.makeFont)(this._options.fontSize,this._options.font),f.textBaseline="top",f.fillStyle=this._options.backgroundColor,f.fillRect(0,0,t,i),this._options.header&&this._drawHeader(f,t,new s.Point(Math.round(10*e),Math.round(10*e)));for(let e=0;e{const s=new Image;s.width=e,s.height=t,s.onload=()=>{i({image:s,width:e,height:t})},s.src=n})}(Math.round(20*e),Math.round(15*e),this._logoTextColor);f.fillStyle=this._logoTextColor,f.font=Object(c.makeFont)(13,l.CHART_FONT_FAMILY);const i=d+Math.round(u/2-t.height/2);!function(e,t,i,s,r){e.save(),e.drawImage(s.image,t,i,s.width,s.height),e.textBaseline="bottom";const n=(t+s.width)/r+3,o=(i+s.height)/r;Object(a.drawScaled)(e,r,()=>{e.fillText("TradingView",n,o)}),e.restore()}(f,Math.round(10*e),i,t,e)}return m}_drawChart(e,t,i,r){i.save(),i.translate(t.x+r.x,t.y+r.y);let n=0;for(const t of e.panes){let r=0;const o=t.leftAxis.canvas.width+Math.round(8*this._pixelRatio),a=n,l=n+Math.round(10*this._pixelRatio);t.leftAxis.contentWidth>0&&(i.drawImage(t.leftAxis.canvas,r,n),
r+=t.leftAxis.canvas.width),i.drawImage(t.canvas,r,n),r+=t.canvas.width,t.rightAxis.contentWidth>0&&i.drawImage(t.rightAxis.canvas,r,n),"pane"===t.type&&(i.fillStyle=e.colors.text,this._drawLegend(t,i,new s.Point(o,l),a)),n+=t.canvas.height}if(void 0!==e.timeAxis){let t=0;e.timeAxis.lhsStub.contentWidth>0&&(i.drawImage(e.timeAxis.lhsStub.canvas,t,n),t+=e.timeAxis.lhsStub.canvas.width),i.drawImage(e.timeAxis.canvas,t,n),t+=e.timeAxis.canvas.width,e.timeAxis.rhsStub.contentWidth>0&&i.drawImage(e.timeAxis.rhsStub.canvas,t,n)}i.strokeStyle=this._options.borderColor,i.strokeRect(0,0,t.width,t.height),i.restore()}_drawHeader(e,t,i){const{header:r}=this._options;if(!r)return;e.save(),e.fillStyle=this._headerDefaultTextColor;const n=Math.ceil(1.4*this._options.fontSize*this._pixelRatio);r.forEach((r,o)=>{this._drawLegendLine(e,new s.Point(i.x,i.y+n*o),t,[{...r,text:r.text.trim()}],!0)}),e.restore()}_drawLegend(e,t,i,r){let n=!0;const o=Math.ceil(1.4*this._options.fontSize*this._pixelRatio);let a=i.x,l=i.y;if(e.mainSeriesText&&l+oe.text).join("");let l=t.x;const c=function(e,t,i,s){if(e.measureText(t).width*s<=i)return{text:t,elided:!1};const r=e.measureText("...").width*s,n=[];for(let e=0;ee.measureText(t.slice(0,o+1)).width*s+r>i);return{text:(t=t.slice(0,a)).trim(),elided:!0}}(e,a,i-l,this._pixelRatio);if(c.elided&&!n)return null;const h=[];let u=0;for(const e of r){if(u+e.text.length>c.text.length)break;h.push(e.text),u+=e.text.length}const d=h.join("").trim().length;u=0;for(const i of r){if(u+i.text.length>d)break;i.color&&(e.save(),e.fillStyle=i.color),l+=g(e,new s.Point(l,t.y),i.text,this._pixelRatio),i.color&&e.restore(),u+=i.text.length}return c.elided&&(l+=g(e,new s.Point(l,t.y),"...",this._pixelRatio)),l}}async function y(e,t){return new S(e,t).getImage()}},NhkU:function(e,t,i){"use strict";var s=i("Ss5c").LineDataSource,r=i("5rJj"),n=i("j3hX"),o=n.LineToolWidthsProperty,a=n.LineToolColorsProperty;class l extends s{constructor(e,t){super(e,t||l.createProperties()),i.e("lt-pane-views").then(i.t.bind(null,"l5Au",7)).then(({PitchfanLinePaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}levelsCount(){return l.LevelsCount}pointsCount(){return 3}name(){return"Pitchfan"}processErase(e,t){var i="level"+t,s=this.properties()[i].visible;e.setProperty(s,!1,"Erase level line")}async _getPropertyDefinitionsViewModelClass(){
return(await Promise.all([i.e(27),i.e(62),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"D+Nk"))).PitchBaseDefinitionsViewModel}static createProperties(e){var t=new r("linetoolpitchfan",e,!1,{range:[0,8]});return l._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e);for(var t=[e.child("median").child("linewidth")],i=[e.child("median").child("color")],r=0;r<=l.LevelsCount;r++)t.push(e.child("level"+r).child("linewidth")),i.push(e.child("level"+r).child("color"));e.addChild("linesColors",new a(i)),e.addChild("linesWidths",new o(t))}}l.LevelsCount=8,t.LineToolPitchfan=l},NsVT:function(e,t,i){"use strict";i.r(t);var s=i("hY0g"),r=i.n(s),n=i("HySD");function o(e,t){let i=0;for(const{min:s,max:r}of t){if(e0&&t.push({min:e,max:s})}return t.sort((e,t)=>e.min-t.min||e.max-t.max),t}function l(e,t){if(e.length!==t.length)return!1;for(let i=e.length;i--;){if(e[i].min!==t[i].min)return!1;if(e[i].max!==t[i].max)return!1}return!0}var c=i("+GxX"),h=i("Kxc7");i.d(t,"ChartPage",(function(){return d}));const u=h.enabled("no_min_chart_width");class d{constructor(e){this._processVisibility=e=>{const t=e.container.value();return this._affectsLayout(e.name)?(t&&t.classList.toggle("js-hidden",!1),!0):(t&&t.classList.toggle("js-hidden",!0),!1)},this._setWidth=(e,t)=>{let i=t;this._fullscreenArea!==e.name&&(e.availWidth.setValue(t),e.canNegotiate.width&&(i=o(t,e.negotiations.width)));const s=e.container.value();return s&&(s.style.width=i+"px"),e.width.setValue(i),i},this._setHeight=(e,t)=>{let i=t;this._fullscreenArea!==e.name&&(e.availHeight.setValue(t),e.canNegotiate.height&&(i=o(t,e.negotiations.height)));const s=e.container.value();return s&&(s.style.height=i+"px"),e.height.setValue(i),i};const t=e.container.value();if(!t)throw new Error("bridge.container.value() must be an element");this._container=t,this._availableAreas=["left","tradingpanel","right","top","bottom","center","topleft","extratop"],this._areas={},this._bridge=e,this._width=e.width,this._height=e.height,this._width.subscribe(()=>this.recalculate()),this._height.subscribe(()=>this.recalculate()),this._bridge.visible.subscribe(()=>this._updateVisibility()),this._bridge.fullscreen.subscribe(()=>this._onParentFullscreenChange()),this.recalculate()}allocate(e){const t=e&&e.areaName;if(-1===this._availableAreas.indexOf(t))throw new Error("unknown options.areaName");this.free(t);const i=this._createDOM(t),s={name:t,canNegotiate:{width:"left"===t||"right"===t||"tradingpanel"===t||"topleft"===t,height:"top"===t||"bottom"===t||"topleft"===t||"extratop"===t},negotiations:{width:[],height:[]},remove:()=>{for(const e in this._areas)this._areas[e]===s&&this.free(e)},negotiateWidth:e=>{if(!s.canNegotiate.width)return;const t=a(e)
;l(s.negotiations.width,t)||(s.negotiations.width=t,this.recalculate())},negotiateHeight:e=>{if(!s.canNegotiate.height)return;const t=a(e);l(s.negotiations.height,t)||(s.negotiations.height=t,this.recalculate())},requestFullscreen:()=>{this._fullscreenArea||("right"!==t&&"center"!==t||(this._fullscreenArea=t),"center"===t&&this._bridge.requestFullscreen(),this._updateFullscreen())},exitFullscreen:()=>{t===this._fullscreenArea&&(this._fullscreenArea=void 0,"center"===t&&this._bridge.exitFullscreen(),this._updateFullscreen())},width:new r.a,height:new r.a,availWidth:new r.a,availHeight:new r.a,alive:new r.a(!0),container:new r.a(i),visible:new r.a(!0),fullscreen:new r.a(!0),rdState:new n.ResizerDetacherState};return s.rdState.pushOwner(s),this._areas[t]=s,s.rdState.owner.subscribe(e=>{const i=s.container.value();if(e!==s)i&&(i.innerHTML="",i.parentElement&&i.parentElement.removeChild(i));else{let e=null;for(let i=this._availableAreas.indexOf(t);i--;){const t=this._availableAreas[i];if(this._affectsLayout(t)){e=this._areas[t].container.value();break}}i&&(e&&i.parentElement?i.insertAdjacentElement("afterend",e):this._container.appendChild(i))}this.recalculate()},{callWithLast:!0}),s.rdState.bridge()}free(e){const t=this._areas[e];if(!t)return;this._areas[e]=void 0;const i=t.container.value();i&&i.parentElement&&i.parentElement.removeChild(i),t.alive.setValue(!1)}recalculate(){const e={};this._recalcSingleRunToken=e;const t=this._areas.topleft,i=this._areas.left,s=this._areas.tradingpanel,r=this._areas.right,n=this._areas.top,o=this._areas.bottom,a=this._areas.center,l=this._areas.extratop,c=this._width.value(),h=this._height.value();let d=0,p=0,_=0,m=0,f=0,g=0,b=0,v=0;if(e===this._recalcSingleRunToken&&l&&this._processVisibility(l)&&(v=this._setHeight(l,h),this._setWidth(l,c)),e===this._recalcSingleRunToken&&t&&this._processVisibility(t)){b=this._setHeight(t,h),g=this._setWidth(t,c),g&&(g+=4);const e=t.container.value();e&&(e.style.top=v+"px")}if(e===this._recalcSingleRunToken&&i&&this._processVisibility(i)){const e=i.container.value();e&&(e.style.top=b+v+"px"),this._setHeight(i,h-b-v),_=this._setWidth(i,c),_&&(_+=4)}if(e===this._recalcSingleRunToken&&s&&this._processVisibility(s)){this._setHeight(s,h);let e=c-_;u||(e-=300),f=this._setWidth(s,e)}if(e===this._recalcSingleRunToken&&r&&this._processVisibility(r)){this._setHeight(r,h-v);let e=c-_-f;u||(e-=300),m=this._setWidth(r,e);const t=r.container.value();t&&(t.style.top=v+"px")}const S=f+m,y=S?4:0;if(e===this._recalcSingleRunToken&&n&&this._processVisibility(n)){const e=Math.max(g,_),t=n.container.value();t&&(t.style.left=e+"px",t.style.top=v+"px");const i=c-e-f-m-y;this._setWidth(n,i),d=this._setHeight(n,h)}let w=0;const P=c-_-f-m-y;if(e===this._recalcSingleRunToken&&o&&this._processVisibility(o)){const e=o.container.value();e&&(e.style.left=_+"px",e.classList.toggle("no-border-top-left-radius",!_),e.classList.toggle("no-border-top-right-radius",!S)),this._setWidth(o,P);const t=h-d-v;w=Math.min(300,t-0),p=this._setHeight(o,t)+4}
if(e===this._recalcSingleRunToken&&a&&this._processVisibility(a)){const e=a.container.value();e&&(e.style.left=_+"px",e.style.top=d+v+"px",e.classList.toggle("no-border-bottom-left-radius",!p||!_),e.classList.toggle("no-border-bottom-right-radius",!S||!p)),this._setWidth(a,P);const t=h-d-p-v;this._setHeight(a,Math.max(t,w))}if(e===this._recalcSingleRunToken&&s&&this._affectsLayout("tradingpanel")){const e=s.container.value();e&&(e.style.right=m+"px",e.style.top=v+"px")}e===this._recalcSingleRunToken&&this._updateVisibility()}_affectsLayout(e){const t=this._areas[e];if(!t)return!1;if(t.rdState.owner.value()!==t)return!1;if(this._fullscreenArea&&this._fullscreenArea!==e)return p(e);if(this._width.value()<=567||this._height.value()<=445){const t=["center","top","left","topleft","extratop"];if(Object(c.isFeatureEnabled)("mobile_show_bottom_panel")&&t.push("bottom"),!t.includes(e))return!1}return!0}_updateVisibility(){const e=this._bridge.visible.value();for(let t=0;t6e3&&s.Std.error('Histogram is too large, please reduce "Row Size" input.')}_getRowsLayout(e,t){return"Number Of Rows"===e?new o(t):new a(t)}}},OBgQ:function(e,t,i){"use strict";i.d(t,"a",(function(){return r}));var s=i("jCNj");class r{constructor(e,t,i){this.year=e,this.month=t,this.day=i}toString(){
return`${this.year}-${this.month}-${this.day}`}compareTo(e){return this.year>e.year||this.year===e.year&&this.month>e.month||this.year===e.year&&this.month===e.month&&this.day>e.day?1:this.year===e.year&&this.month===e.month&&this.day===e.day?0:-1}before(e){return-1===this.compareTo(e)}toCalendar(e){return s.get_cal(s.get_timezone("Etc/UTC"),this.year,this.month-1,this.day)}addDays(e){const t=this.toCalendar(s.get_timezone("Etc/UTC"));return s.add_date(t,e),r.fromCalendar(t)}static fromCalendar(e){return new r(s.get_year(e),s.get_month(e)+1,s.get_day_of_month(e))}}},OH2X:function(e,t,i){"use strict";t.LineToolFibRetracement=i("t2ex").LineToolFibRetracement,t.LineToolFibChannel=i("xnA2").LineToolFibChannel,t.LineToolFibSpeedResistanceArcs=i("Yjuu").LineToolFibSpeedResistanceArcs,t.LineToolProjection=i("68at").LineToolProjection,t.LineToolTrendBasedFibExtension=i("ZtA1").LineToolTrendBasedFibExtension,t.LineToolElliott=i("xz+e").LineToolElliott,t.LineToolFibCircles=i("4bfY").LineToolFibCircles,t.LineToolVertLine=i("n40Z").LineToolVertLine,t.LineToolCrossLine=i("MA5A").LineToolCrossLine,t.LineToolBarsPattern=i("2bPF").LineToolBarsPattern,t.LineToolTrendBasedFibTime=i("yUly").LineToolTrendBasedFibTime,t.LineToolFibTimeZone=i("FsE7").LineToolFibTimeZone,t.LineToolCircleLines=i("tG6Q").LineToolCircleLines,t.LineToolDateRange=i("WkYF").LineToolDateRange,t.LineToolPriceRange=i("RDDl").LineToolPriceRange,t.LineToolDateAndPriceRange=i("UCMi").LineToolDateAndPriceRange,t.LineToolParallelChannel=i("qcGP").LineToolParallelChannel,t.LineToolTrendAngle=i("nW7S").LineToolTrendAngle,t.LineToolTrendLine=i("WPQD").LineToolTrendLine,t.LineToolInfoLine=i("yi8X").LineToolInfoLine,t.LineToolArrowMark=i("TohL").LineToolArrowMark,t.LineToolExecution=i("704P").LineToolExecution,t.LineToolPitchfan=i("NhkU").LineToolPitchfan,t.LineToolGannSquare=i("Z0Sh").LineToolGannSquare,t.LineToolFibSpeedResistanceFan=i("zZ5f").LineToolFibSpeedResistanceFan,t.LineToolGannComplex=i("nd9+").LineToolGannComplex,t.LineToolGannFixed=i("TBaH").LineToolGannFixed,t.LineToolGannFan=i("4u8j").LineToolGannFan,t.LineToolFibWedge=i("9QkW").LineToolFibWedge,t.LineToolPitchfork=i("aDyP").LineToolPitchfork,t.LineToolDisjointAngle=i("oIoN").LineToolDisjointChannel,t.LineToolFlatBottom=i("InMJ").LineToolFlatBottom,t.LineToolIcon=i("icPo").LineToolIcon,t.LineToolRotatedRectangle=i("Az04").LineToolRotatedRectangle,t.LineToolFibSpiral=i("i80N").LineToolFibSpiral,t.LineToolHeadAndShoulders=i("aILO").LineToolHeadAndShoulders,t.LineToolTriangle=i("isVH").LineToolTriangle,t.LineToolTrianglePattern=i("lNN+").LineToolTrianglePattern,t.LineTool5PointsPattern=i("NJRZ").LineTool5PointsPattern,t.LineToolThreeDrivers=i("PYn8").LineToolThreeDrivers,t.LineToolABCD=i("pKDv").LineToolABCD,t.LineToolPolyline=i("hP9j").LineToolPolyline,t.LineToolPath=i("YdVo").LineToolPath,t.LineToolPrediction=i("Wh6B").LineToolPrediction,t.LineToolPriceLabel=i("zqZp").LineToolPriceLabel,t.LineToolArrowMarker=i("wiuq").LineToolArrowMarker,t.LineToolNote=i("gLxC").LineToolNote,
t.LineToolNoteAbsolute=i("gLxC").LineToolNoteAbsolute,t.LineToolSignpost=i("gASG").LineToolSignpost,t.LineToolBrush=i("+hLl").LineToolBrush,t.LineToolArc=i("0Pxc").LineToolArc,t.LineToolCallout=i("odCa").LineToolCallout,t.LineToolBalloon=i("me8f").LineToolBalloon,t.LineToolText=i("V3Oj").LineToolText,t.LineToolHorzLine=i("/DxK").LineToolHorzLine,t.LineToolHorzRay=i("CJIV").LineToolHorzRay,t.LineToolRectangle=i("7qI1").LineToolRectangle,t.LineToolEllipse=i("V086").LineToolEllipse,t.LineToolTimeCycles=i("kIXa").LineToolTimeCycles,t.LineToolSineLine=i("bv/X").LineToolSineLine,t.LineToolGhostFeed=i("XUCF").LineToolGhostFeed,t.LineToolBezierQuadro=i("Xyly").LineToolBezierQuadro,t.LineToolBezierCubic=i("N+BX").LineToolBezierCubic,t.LineToolArrow=i("QQu0").LineToolArrow,t.LineToolRay=i("5ZUI").LineToolRay,t.LineToolExtended=i("CHw2").LineToolExtended,t.LineToolSchiffPitchfork=i("v5F8").LineToolSchiffPitchfork,t.LineToolSchiffPitchfork2=i("XFad").LineToolSchiffPitchfork2,t.LineToolInsidePitchfork=i("EqoR").LineToolInsidePitchfork,t.LineToolTextAbsolute=i("V3Oj").LineToolTextAbsolute,t.LineToolArrowMarkLeft=i("TohL").LineToolArrowMarkLeft,t.LineToolArrowMarkRight=i("TohL").LineToolArrowMarkRight,t.LineToolArrowMarkUp=i("TohL").LineToolArrowMarkUp,t.LineToolArrowMarkDown=i("TohL").LineToolArrowMarkDown,t.LineToolFlagMark=i("aIha").LineToolFlagMark,t.LineToolCypherPattern=i("bTqm").LineToolCypherPattern,t.LineToolElliottImpulse=i("xz+e").LineToolElliottImpulse,t.LineToolElliottTriangle=i("xz+e").LineToolElliottTriangle,t.LineToolElliottTripleCombo=i("xz+e").LineToolElliottTripleCombo,t.LineToolElliottCorrection=i("xz+e").LineToolElliottCorrection,t.LineToolElliottDoubleCombo=i("xz+e").LineToolElliottDoubleCombo,t.LineToolRiskRewardLong=i("tDUI").LineToolRiskRewardLong,t.LineToolRiskRewardShort=i("tDUI").LineToolRiskRewardShort,t.LineToolPosition=i("ziJ5").LineToolPosition,t.LineToolOrder=i("B4/o").LineToolOrder,t.LineToolHighlighter=i("SMvR").LineToolHighlighter,t.LineToolPriceNote=i("Zl0W").LineToolPriceNote},"OK+B":function(e,t,i){"use strict";var s=i("Eyy1").assert,r=i("eJTA"),n=r.rgba,o=r.rgbaToString,a=r.parseRgb,l=(i("vTIA").TradingSourcesHorizontalAlignment,i("cWHH")),c=i("1Wlv").PriceScale,h=i("8sOK").StudyStub,u=i("CW80"),d=u.createLineTool,p=u.createLineToolProperties,_=u.createStudyLineToolProperties,m=u.isLineToolName,f=u.isStudyLineToolName,g=i("Ss5c").LineDataSource,b=i("OH2X").LineToolBarsPattern,v=i("OH2X").LineToolCallout,S=i("CW80").isLineTool,y=i("HLXm"),w=i("GVHu"),P=w.Study,C=w.prepareStudyPropertiesForLoadChart,x=i("3ClC").createStudy,T=i("qJq3").Series,I=i("dfhE"),M=i("n5al"),O=i("0YCj"),L=i("Kxc7"),A=i("txPx").getLogger("Chart.Serialization"),E=i("OH2X").LineToolParallelChannel,k=i("OH2X").LineToolTrendAngle,D=i("OH2X").LineToolGhostFeed,V=i("OH2X").LineToolElliott,B=i("7ktv").PriceDataSource,R=i("iDOr").Pane,N=i("Tmoa"),j=i("jofe").createDeferredPromise,F=i("ApcL").preferencesByWhiteList,W=(A=i("txPx").getLogger("Chart.Serialization"),i("mPvX").LineToolsGroupModel),H=i("bmVy").StudyStatusType
;const{isLineToolState:U,isMainSeriesState:z,isStudyState:G}=i("Vs8b"),{reorderDataSourcesStateZOrder:q}=i("2jby");l.prototype.state=function(e,t,i,s){for(var r={panes:[]},n=0;n1&&r.push(l)),o=(o+1)%t.length}return r},l.prototype.restoreState=function(e,t,i){new Y(this).reset();var s={};if(!e.panes)return void A.logDebug("ChartModel.restoreState: invalid state");if(!Array.isArray(e.panes))return void A.logDebug("ChartModel.restoreState: invalid state");if(e.panes.length<1)return void A.logDebug("ChartModel.restoreState: invalid state");if(this._shouldBeSavedEvenIfHidden=void 0===e.shouldBeSavedEvenIfHidden||e.shouldBeSavedEvenIfHidden,e.chartProperties&&!e.chartProperties.timezone&&(e.chartProperties.timezone=e.timezone),e.chartProperties){var r=TradingView.factoryDefaults("chartproperties").scalesProperties;if(TradingView.merge(r,e.chartProperties.scalesProperties),!("showLastValue"in r)||"showSeriesLastValue"in r||"showStudyLastValue"in r||(r.showSeriesLastValueProperty=r.showLastValue,r.showStudyLastValueProperty=r.showLastValue),"showSeriesLastValue"in r&&(s.showSeriesLastValueProperty=!0),"showStudyLastValue"in r&&(s.showStudyLastValueProperty=!0),e.chartProperties.paneProperties.vertGridProperties=e.chartProperties.paneProperties.vertGridProperties||TradingView.clone(e.chartProperties.paneProperties.gridProperties),
e.chartProperties.paneProperties.horzGridProperties=e.chartProperties.paneProperties.horzGridProperties||TradingView.clone(e.chartProperties.paneProperties.gridProperties),"backgroundType"in e.chartProperties.paneProperties||(e.chartProperties.paneProperties.backgroundType="solid"),this._properties.paneProperties.mergeAndFire(e.chartProperties.paneProperties),this._properties.scalesProperties.mergeAndFire(r),e.chartProperties.timezone&&this._properties.timezone.setValue(e.chartProperties.timezone),e.chartProperties.chartEventsSourceProperties&&this._properties.chartEventsSourceProperties&&this._properties.chartEventsSourceProperties.mergeAndFire(e.chartProperties.chartEventsSourceProperties),e.chartProperties.tradingProperties&&this._properties.tradingProperties){e.chartProperties.tradingProperties.lineLength;0,this._properties.tradingProperties.mergeAndFire(e.chartProperties.tradingProperties)}this._timeScale.restoreState(e.timeScale,t),this._updateDateTimeFormatter()}if(e.timeScale&&this._timeScale.restoreState(e.timeScale,t),!this.readOnly()){var n=this._getExceedingChildStudies(e.panes);if(n.length){for(var o=e.panes.length-1;o>=0;--o){for(var a=(d=e.panes[o]).sources.length-1;a>=0;--a){var l=d.sources[a];~n.indexOf(l)&&d.sources.splice(a,1)}d.sources.length||e.panes.splice(o,1)}0}}const c=e.version||0;var h=e.panes;this.panes()[0].restoreState(h[0],t,c,s,i,!0);var u=1;for(o=1;ob&&m%100==0?{lines_limit_exceeded:!0,line_tools_count:m}:(this.panes().forEach(function(e){this._dataSourceCollectionChanged.fire(e)}.bind(this)),this._lineToolsGroupModel.fireChangedAll(),{})},R.prototype.state=function(e,t,i,s,r,n){var o={},a=new Map;function l(e){if(a.has(e))return a.get(e);var o=null,l=i&&!e.isSavedInStudyTemplates()||!e.state||S(e)&&n||!(o=e.state(t,r))||!e.isSavedInChart(t)||s&&e.isActualSymbol&&!e.isActualSymbol()||e.isPhantom()?null:o;return a.set(e,l),l}if(e){o.sources=[];for(var c=0;cr.tradingDayToSessionStart(e),timeToExchangeTradingDay:e=>{const t=s.utc_to_cal(i.timezone,e),r=i.spec.correctTradingDay(t);return s.set_hms(r,0,0,0,0,s.get_timezone("Etc/UTC")),r.getTime()}}}function h(){return!r.enabled("disable_resolution_rebuild")}function u(e,t){if(!h())return e=>e;const i=new o.b(t.timezone,t.session,t.session_holidays,t.corrections),s=Object(a.newBarBuilder)(e,i,i,!1);return e=>s.alignTimeIfPossible(e)}},Ocx9:function(e,t,i){"use strict";(function(e){var s=i("wZIs"),r=i("tc+8");function n(e,t,i,r){var n=e?s.defaults:s.factoryDefaults,a=t.startsWith("study_")?TradingView.clone(n("study")):{},l=TradingView.clone(n(t,r));return t.startsWith("study_")&&l.inputs&&delete l.inputs.symbol,"linetoolicon"===t&&e&&(l.icon=s.defaults(t).icon),l=o(l,i),TradingView.merge(a,l),a}function o(e,t){var i={};for(var s in e)t.indexOf(s)<0&&(i[s]=e[s]);return i}function a(t,i,s,o){var l;void 0===o&&(o=!0),this._defaultName=t,s?l=i:(l=n(o,t,[],null),i&&TradingView.merge(l,i)),r.call(this,l),this._defaultName=t,this._useUserPreferences=o,this.listeners().subscribe(this,a.prototype.onPropertyChanged),this._exclusions=[],this._restoreFactoryDefaultsEvent=new e}inherit(a,r),a._saveDefaults=!1,a.prototype.preferences=function(){return this.state(this._exclusions)},a.prototype.mergePreferences=function(e){this.mergeAndFire(o(e,this._exclusions))},a.prototype.addExclusion=function(e){this._exclusions.indexOf(e)<0&&this._exclusions.push(e)},a.prototype.restoreFactoryDefaults=function(){var e=n(!1,this._defaultName,this._exclusions,null);this.mergeAndFire(e),this._defaultName.startsWith("study_")&&!this._defaultName.startsWith("study_VbPFixed")||this.saveDefaults(),this._restoreFactoryDefaultsEvent.fire()},a.prototype.onRestoreFactoryDefaults=function(){return this._restoreFactoryDefaultsEvent},a.prototype.onPropertyChanged=function(){!a._saveDefaults||this._defaultName.startsWith("study_")&&!this._defaultName.startsWith("study_VbPFixed")||this.saveDefaults()},a.prototype.saveDefaults=function(){this._useUserPreferences&&s.saveDefaults(this._defaultName,this.preferences())},a.prototype.clone=function(e){for(var t=new a(this._defaultName,this.state(),e&&e.replaceByState,this._useUserPreferences),i=0;i'},OwDf:function(e,t,i){"use strict";i.r(t),i.d(t,"PivotPointsStandardLastPricesView",(function(){return o}));var s=i("k9/m");const r=["p","s1","r1","s2","r2","s3","r3","s4","r4","s5","r5"],n={P:"P",S1:"S1/R1",S2:"S2/R2",S3:"S3/R3",S4:"S4/R4",S5:"S5/R5",R1:"S1/R1",R2:"S2/R2",R3:"S3/R3",R4:"S4/R4",R5:"S5/R5"};class o{constructor(e){this._visiblePivots=new Set,this._invidated=!0,this._prices=[],this._source=e}visiblePivots(){return this._visiblePivots}update(){this._invidated=!0}prices(){return this._invidated&&(this._updateImpl(),this._invidated=!1),this._prices}_updateImpl(){this._visiblePivots.clear();const e=this._source.model(),t=this._source.priceScale();if(null===t)return;if(e.timeScale().isEmpty()||t.isEmpty())return;const i=e.timeScale().visibleBarsStrictRange();if(null===i)return;if(!this._source.customData()||!this._source.customData().pivots)return;const o=e.mainSeries().bars().search(i.lastBar(),s.PlotRowSearchMode.NearestLeft);if(null===o)return;const a=o.index,l=this._source.customData().pivots,c=this._source.indexes(),h=this._source.properties(),u=this._source.firstValue();for(let e=0;e=a||o)){this._visiblePivots.add(l[e]),this._prices=[];for(let i=0;io)){var u={},d=this._source.properties().levelsStyle.visibility;d.P.value()&&this.mergeLabel(u,e[l].p,"P"),d["S1/R1"].value()&&(this.mergeLabel(u,e[l].s1,"S1"),this.mergeLabel(u,e[l].r1,"R1")),d["S2/R2"].value()&&(this.mergeLabel(u,e[l].s2,"S2"),
this.mergeLabel(u,e[l].r2,"R2")),d["S3/R3"].value()&&(this.mergeLabel(u,e[l].s3,"S3"),this.mergeLabel(u,e[l].r3,"R3")),d["S4/R4"].value()&&(this.mergeLabel(u,e[l].s4,"S4"),this.mergeLabel(u,e[l].r4,"R4")),d["S5/R5"].value()&&(this.mergeLabel(u,e[l].s5,"S5"),this.mergeLabel(u,e[l].r5,"R5"));var p=i.indexToCoordinate(c),_=i.indexToCoordinate(h);for(var m in u){var f=parseFloat(m),g=s.priceToCoordinate(f,a);this._pivots.push({x1:p,x2:_,y:g,label:u[m].text,labelIds:u[m].ids,src:e[l]})}}}}}}renderer(){this._invalidated&&(this._updateImpl(),this._invalidated=!1);for(var e=new h,t=this._source.properties().levelsStyle.colors,i=this._source.properties().levelsStyle.widths,r=this._source.visiblePivots(),n=0;ni)){var l=[],c=this._properties.levelsStyle.visibility;c.P.value()&&l.push(s[o].p),c["S1/R1"].value()&&l.push(s[o].s1,s[o].r1),c["S2/R2"].value()&&l.push(s[o].s2,s[o].r2),c["S3/R3"].value()&&l.push(s[o].s3,s[o].r3),c["S4/R4"].value()&&l.push(s[o].s4,s[o].r4),c["S5/R5"].value()&&l.push(s[o].s5,s[o].r5);for(var h=0;h{this.unbindFromChartWidget(),this.bindToChartWidget(e)},{callWithLast:!0})}bindToSearchCharts(e){this.unbindFromSearchCharts(),this._searchCharts=e,e.onSearchBySymbol.subscribe(this,this._onSearchBySymbol),e.loadingSymbol.subscribe(e=>{!1===e&&(this._feedBySymbolDebounceCounter=0)}),this._watchedSymbol.subscribe(this._onSymbolLinkBound)}unbindFromSearchCharts(){this._searchCharts&&(this._searchCharts.onSearchBySymbol.unsubscribe(this,this._onSearchBySymbol),this._watchedSymbol.unsubscribe(this._onSymbolLinkBound),this._searchCharts=null)}setPreventFeedBySymbol(e){this._preventFeedBySymbol=e}_onSearchBySymbol(e){if(!e.resolved_symbol)throw new Error("no resolved_symbol");this._selfEmit=!0,this._watchedSymbol.setValue(e.resolved_symbol),this._selfEmit=!1}_onSymbolLink(e){if(!this._selfEmit){if(!this._searchCharts){const e="No search charts defined";throw l.logError(e),new Error(e)}this._preventFeedBySymbol||this._loadSearchCharts(e)}}_loadSearchCharts(e){if(!this._searchCharts){const e="No search charts defined";throw l.logError(e),new Error(e)}
if(this._searchChartsLoadDebounced)return void(this._feedBySymbolDebounceCounter<100&&(this._feedBySymbolDebounceCounter++,this._searchChartsLoadDebounced(e)));const t=e=>this._searchCharts?(!0===this._searchCharts.loadingSymbol.value()?this._feedBySymbolDebounceCounter<100&&(this._feedBySymbolDebounceCounter++,this._searchChartsLoadDebounced=Object(s.default)(t,2e3),this._searchChartsLoadDebounced(e)):this._searchChartsLoadDebounced=null,this._searchCharts.feedBySymbol.call(this._searchCharts,e)):()=>{};!0===this._searchCharts.loadingSymbol.value()?this._feedBySymbolDebounceCounter<100&&(this._feedBySymbolDebounceCounter++,this._searchChartsLoadDebounced=Object(s.default)(t,2e3),this._searchChartsLoadDebounced(e)):this._searchCharts.feedBySymbol(e)}_mainSeries(){if(!this._activeChartWidget)throw new Error("ChartWidget is undefined");return this._activeChartWidget.model().mainSeries()}_properties(){return this._mainSeries().properties()}_symbolProperty(){return this._properties().symbol}_intervalProperty(){return this._properties().interval}_watchedSymbolListener(e){this._symbolProperty().value()!==e&&this._chartWidgetCollection.setSymbol(e)}_sendSnowplowAnalytics(){if(!window.user.do_not_track)throw new Error("unsupported")}_onSymbolPropertyChange(){const e=this._symbolProperty().value()!==this._watchedSymbol.value();this._watchedSymbol.setValue(this._symbolProperty().value()),e&&this._chartWidgetCollection.setSymbol(this._symbolProperty().value())}_onSymbolResolved(e){const t=this._mainSeries().symbolInfo();t&&this._applyValuesFromSymbolInfo(t)}_applyValuesFromSymbolInfo(e){const t=e.pro_name||o.enabled("trading_terminal")&&(e.full_name||e.name)||"";this._proSymbol.setValue(t),e.aliases&&this._symbolNamesList.setValue(e.aliases)}_updateSeriesSymbolInfo(){this._seriesShortSymbol.setValue(this._properties().shortName.value());const e=this._mainSeries().symbolInfo();e?(this._applyValuesFromSymbolInfo(e),e.hasOwnProperty("supported_resolutions")?this._watchedSupportedResolutions.setValue(e.supported_resolutions):this._watchedSupportedResolutions.setValue(void 0),this._watchedIntraday.setValue(!!e.has_intraday),this._watchedSeconds.setValue(!!e.has_seconds),this._watchedTicks.setValue(!!e.has_ticks)):(this._watchedIntraday.deleteValue(),this._watchedSeconds.deleteValue(),this._watchedTicks.deleteValue(),this._proSymbol.deleteValue())}_watchedIntervalListener(e){this._intervalProperty().value()!==e&&this._chartWidgetCollection.setResolution(e)}_onIntervalPropertyChange(){const e=this._intervalProperty().value()!==this._watchedInterval.value();this._watchedInterval.setValue(this._intervalProperty().value()),e&&this._chartWidgetCollection.setResolution(this._intervalProperty().value())}_onChartModelCreated(e){if(!this._activeChartWidget)throw new Error("ChartWidget is undefined");this._chartWidgetBindingState=c.BoundToModel,this._activeChartWidget.modelCreated().unsubscribe(this,this._onChartModelCreated);const t=this._symbolProperty();t.subscribe(this,this._onSymbolPropertyChange),this._watchedSymbol.setValue(t.value()),
this._watchedSymbol.subscribe(this._watchedSymbolListenerBound);const i=this._mainSeries();i.dataEvents().symbolResolved().subscribe(this,this._onSymbolResolved),this._watchedSymbol.hook=e=>(i.symbolSameAsCurrent(e)&&(e=i.symbol()),e),i.dataEvents().symbolResolved().subscribe(this,this._updateSeriesSymbolInfo),i.dataEvents().symbolError().subscribe(this,this._updateSeriesSymbolInfo),i.dataEvents().symbolNotPermitted().subscribe(this,this._updateSeriesSymbolInfo),i.dataEvents().symbolGroupNotPermitted().subscribe(this,this._updateSeriesSymbolInfo),this._updateSeriesSymbolInfo();const s=this._intervalProperty();s.subscribe(this,this._onIntervalPropertyChange),this._watchedInterval.setValue(s.value()),this._watchedInterval.subscribe(this._watchedIntervalListenerBound),this._activeChartWidget.readOnly()&&(this._watchedSymbol.writeLock=!0)}}window.TradingView=window.TradingView||{};const u=new h;window.TradingView.Linking=u},PYn8:function(e,t,i){"use strict";i.r(t),i.d(t,"LineToolThreeDrivers",(function(){return o}));var s=i("Ocx9"),r=i("Ss5c"),n=i("j3hX");class o extends r.LineDataSource{constructor(e,t){const s=t||o.createProperties();super(e,s),i.e("lt-pane-views").then(i.bind(null,"S6aM")).then(t=>{this._setPaneViews([new t.LineToolThreeDrivesPaneView(this,e)])})}pointsCount(){return 7}name(){return"Three Drives Pattern"}properties(){return super.properties()}static createProperties(e){const t=new s.DefaultProperty("linetoolthreedrivers",e);return o._configureProperties(t),t}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(27),i.e(62),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"aMeN")).then(e=>e.PatternWithoutBackgroundDefinitionsViewModel)}static _configureProperties(e){r.LineDataSource._configureProperties(e),e.addChild("linesColors",new n.LineToolColorsProperty([e.childs().color])),e.addChild("textsColors",new n.LineToolColorsProperty([e.childs().textcolor])),e.addChild("linesWidths",new n.LineToolWidthsProperty([e.childs().linewidth])),e.hasChild("backgroundsColors")&&e.removeProperty("backgroundsColors")}}},PzPU:function(e,t,i){"use strict";i.r(t),i.d(t,"copyToClipboardImageOfChart",(function(){return r})),i.d(t,"getImageOfChartSilently",(function(){return n})),i.d(t,"copyToClipboardClientScreenshot",(function(){return o})),i.d(t,"downloadClientScreenshot",(function(){return a}));const s=()=>i.e("take-chart-image-impl").then(i.bind(null,"13es"));function r(e,t={}){return s().then(i=>i.copyToClipboardImageOfChart(e,t))}function n(e,t={}){return s().then(i=>i.getImageOfChartSilently(e,t))}function o(e){return s().then(t=>t.copyToClipboardClientScreenshot(e))}function a(e){return s().then(t=>t.downloadClientScreenshot(e))}},Q19o:function(e,t,i){"use strict"
;var s=i("Eyy1").ensureNotNull,r=i("jA0t"),n=i("9iCb").applyOverridesToStudy,o=i("0YCj"),a=i("5JMW"),l=a.LineDataSourceApi,c=a.isLineToolRiskReward,h=i("N1UO").StudyApi,u=i("ltKl").SeriesApi,d=i("QrSB").SelectionApi,p=i("mf9N").PaneApi,_=i("OLhd").createDwmAligner,m=i("LxhU").Interval,f=i("2jXJ").supportedLineTools,g=i("vwKG").showTooManyStudiesNotice,b=i("ogJP"),v=b.isNumber,S=b.deepEquals,y=i("CW80").createLineToolProperties,w=i("CW80").prepareLineToolPropertiesByOwnerSource,P=i("96Yh").lineToolEntityInfo,C=i("lReN").LineToolsGroupControllerApi,x=i("ocrj").RemoveSourcesCommand,T=i("e92V").isLineDrawnWithPressedButton,I=i("FDyI").ChartWidgetApiBase,M=i("mMWL");function O(e,t){return t.map((function(t){return e.dataSourceForId(t)}))}e.exports=class extends I{constructor(e,t){super(e,t),this._panes=new WeakMap,this._studies=new WeakMap,this._lineDataSources=new WeakMap,this._selectionApi=null,this._prevVisibleRange=null,this._chartWidget.onAboutToBeDestroyed().subscribe(this,this._destroy,!0),this._chartWidget.withModel(this,(function(){this._chartWidget.model().timeScale().logicalRangeChanged().subscribe(this,this._onLogicalRangeChanged)}))}id(){return this._chartWidget.id()}_getPaneApi(e){var t=this._panes.get(e);return void 0===t&&(t=new p(e,this._chartWidget),this._panes.set(e,t)),t}_getStudyApi(e){var t=this._studies.get(e);return void 0===t&&(t=new h(e,this._chartWidget),this._studies.set(e,t)),t}_getLineDataSourceApi(e){var t=this._lineDataSources.get(e);return void 0===t&&(t=new l(e,this._chartWidget.model().model(),{apiPointsToDataSource:this._convertUserPointsToDataSource.bind(this),dataSourcePointsToPriced:e=>{var t=this._chartWidget.model().mainSeries().syncModel(),i=this._chartWidget.model().timeScale();return e.map(e=>{var s=i.normalizeBarIndex(e.index);return{price:e.price,time:this._convertTimeToPublic(t.projectTime(s.time_t,s.offset))}})}}),this._lineDataSources.set(e,t)),t}executeActionById(e){this._chartWidget.executeActionById(e)}getCheckableActionState(e){return this._chartWidget.getCheckableActionState(e)}setZoomEnabled(e){this._chartWidget.model().model().setZoomEnabled(e)}setScrollEnabled(e){this._chartWidget.model().model().setScrollEnabled(e)}refreshMarks(){this._chartWidget.refreshMarks()}clearMarks(){this._chartWidget.clearMarks()}symbol(){return this._chartWidget.getSymbol()}symbolExt(){var e=this._chartWidget.model().mainSeries().symbolInfo();return e?{symbol:e.name,full_name:e.full_name,exchange:e.exchange,description:e.description,type:e.type,pro_name:e.pro_name}:null}resolution(){return this._chartWidget.model().mainSeries().properties().interval.value()}resetData(){this._chartWidget.model().mainSeries().rerequestData()}setEntityVisibility(e,t){console.warn("`setEntityVisibility` is deprecated. Use shape/study API instead");var i=this._chartWidget.model().model().dataSourceForId(e);if(i){var s=i.properties();s&&s.visible&&s.visible.setValue(t)}}availableZOrderOperations(e){var t=O(this._chartWidget.model().model(),e);return this._chartWidget.model().availableZOrderOperations(t)}
sendToBack(e){var t=O(this._chartWidget.model().model(),e);this._chartWidget.model().sendToBack(t)}bringToFront(e){var t=O(this._chartWidget.model().model(),e);this._chartWidget.model().bringToFront(t)}insertAfter(e,t){var i=this._chartWidget.model().model(),s=O(i,e),r=i.dataSourceForId(t);this._chartWidget.model().insertAfter(s,r)}insertBefore(e,t){var i=this._chartWidget.model().model(),s=O(i,e),r=i.dataSourceForId(t);this._chartWidget.model().insertBefore(s,r)}bringForward(e){var t=O(this._chartWidget.model().model(),e);this._chartWidget.model().bringForward(t)}sendBackward(e){var t=O(this._chartWidget.model().model(),e);this._chartWidget.model().sendBackward(t)}showPropertiesDialog(e){var t=this._chartWidget.model().model().dataSourceForId(e);if(null===t)throw new Error("Study or shape "+e+" does not exist");this._chartWidget.showChartPropertiesForSource(t)}getAllShapes(){return this._chartWidget.model().model().allLineTools().map(P).filter((function(e){return null!==e.name}))}removeAllShapes(){this._chartWidget.removeAllDrawingTools()}removeAllStudies(){this._chartWidget.removeAllStudies()}removeEntity(e,t){var i=this._chartWidget.model().chartModel().dataSourceForId(e);i?t&&t.disableUndo?new x(this._chartWidget.model().chartModel(),[i],"").redo():this._chartWidget.model().removeSource(i,!0,!0):console.warn("Can't find a source with id: "+e)}removeEntityWithUndo(e){var t=this._chartWidget.model().chartModel().dataSourceForId(e);this._chartWidget.model().removeSource(t,!1)}selection(){return null===this._selectionApi&&(this._selectionApi=new d(this._chartWidget.model().model())),this._selectionApi}createStudyTemplate(e){return this._chartWidget.model().model().studyTemplate(e.saveSymbol,e.saveInterval)}drawOnAllCharts(e){M.drawOnAllCharts.setValue(e)}applyStudyTemplate(e){this._chartWidget.model().applyStudyTemplate(e,""+1e3*Math.random())}setVisibleRange(e,t){return new Promise(function(i){this._chartWidget.setVisibleTimeRange(e.from,e.to,t,i)}.bind(this))}getVisibleRange(){var e={from:0,to:0},t=this._chartWidget.model().timeScale();if(t.isEmpty())return e;var i=t.coordinateToVisibleIndex(0),s=t.coordinateToVisibleIndex(t.width()-1),r=this._convertIndexToPublicTime(s);return null===r||(e.from=this._convertIndexToPublicTime(Math.max(t.points().firstIndex(),i)),e.to=r),e}getVisiblePriceRange(){return console.warn("`getVisiblePriceRange` is deprecated. Use Price Scale API instead"),this._chartWidget.model().mainSeries()?this._chartWidget.model().mainSeries().priceScale().priceRangeInPrice():null}scrollPosition(){return this._chartWidget.model().timeScale().rightOffset()}defaultScrollPosition(){return this._chartWidget.model().timeScale().defaultRightOffsetProperty().value()}_createTradingPrimitive(e,t){var i=this;var r,n,o=this._chartWidget.model().model(),a=o.paneForSource(o.mainSeries());return(t?o:this._chartWidget.model()).createLineTool(a,(r=TradingView.CLOSE_PLOT,{index:(n=s(i._chartWidget.model().mainSeries().bars().last())).index,price:n.value[r]}),e)._adapter}createOrderLine(e){e=e||{}
;return this._createTradingPrimitive("LineToolOrder",e.disableUndo)}createPositionLine(e){e=e||{};return this._createTradingPrimitive("LineToolPosition",e.disableUndo)}createExecutionShape(e){e=e||{};return this._createTradingPrimitive("LineToolExecution",e.disableUndo)}createShape(e,t){return this.createMultipointShape([e],t)}_alignPoints(e){var t=this._chartWidget.model().model(),i=t.mainSeries(),s=i.interval();if(t.timeScale().isEmpty()||!m.isDWM(s))return e;var r=_(s,i.symbolInfo());return null===r?e:e.map((function(e){return r.timeToSessionStart(1e3*e)/1e3}))}_convertUserPointsToDataSource(e){var t=this._chartWidget.model().model(),i=t.mainSeries(),s=t.timeScale().points(),r=i.data();if(t.timeScale().isEmpty())return null;var n=e.map((function(e){return e.time||0})),o=this._alignPoints(n);function a(e,t,n){var o=s.closestIndexLeft(e)||0,a={index:o},l=s.valueAt(o);if(e>l&&o===s.lastIndex())(c=i.syncModel().distance(l,e)).success&&(a.index=a.index+c.result);else if(e2)throw new Error("Wrong points count for "+t.shape+". Required 1 or 2");2===l.length&&(p.startChanging(1,l[1]),p.setPoint(1,l[1]),p.endChanging())}else{var _=p.pointsCount();if(_!==l.length&&-1!==_)throw new Error("Wrong points count for "+t.shape+". Required "+_);for(var m=T(h.name),g=1;gthis._minValue&&e.maxValue(){e.map(s.bind(null,this._model)).forEach(e=>t.addSourceToSelection(e))}):this.add([e])}canBeAddedToSelection(e){const t=s(this._model,e);return this._model.selection().canBeAddedToSelection(t)}set(e){Array.isArray(e)?this._model.selectionMacro(t=>{t.clearSelection(),e.map(s.bind(null,this._model)).forEach(e=>t.addSourceToSelection(e))}):this.set([e])}remove(e){Array.isArray(e)?this._model.selectionMacro(t=>{e.map(s.bind(null,this._model)).forEach(e=>t.removeSourceFromSelection(e))}):this.remove([e])}contains(e){const t=s(this._model,e);return this._model.selection().isSelected(t)}allSources(){return this._model.selection().dataSources().map(e=>e.id())}isEmpty(){return this._model.selection().isEmpty()}clear(){this._model.selectionMacro(e=>{e.clearSelection()})}onChanged(){return this._model.onSelectedSourceChanged()}}},Qtjj:function(e,t,i){"use strict";i.r(t),i.d(t,"TimeSynchronizer",(function(){return l}));var s=i("LxhU"),r=i("jCNj"),n=i.n(r),o=i("IiTo");let a=null;class l{constructor(e,t){var i,r;this._sourceTargetBarBuilder=null,this._cache=new Map,this._source=e,this._target=t,this._isResolutionTheSame=s.Interval.isEqual(e.getResolution(),t.getResolution()),this._isSessionTheSame=(i=e.getSymbolInfo(),r=t.getSymbolInfo(),i.timezone===r.timezone&&i.session===r.session),this._shouldCorrectTradingDay=s.Interval.isDWM(e.getResolution())&&!this._isSessionTheSame}sourceTimeToTargetTime(e){if(this._isSessionTheSame&&this._isResolutionTheSame)return e;if(!this._source.isValid()||!this._target.isValid())return e;let t=this._cache.get(e);if(void 0===t){let i=1e3*e;if(this._shouldCorrectTradingDay){let e=n.a.utc_to_cal(this._source.getSession().timezone,i);e=this._source.getSession().spec.correctTradingDay(e);const t=new Date(e);n.a.set_hms(t,0,0,0,0,this._source.getSession().timezone),i=t.valueOf()}const s=this._sourceTargetBuilder();s.moveTo(i);const r=s.indexOfBar(i);t=s.startOfBar(Math.max(0,r))/1e3,this._cache.set(e,t)}return t}_sourceTargetBuilder(){if(null===this._sourceTargetBarBuilder){const e=this._isSessionTheSame?this._target.getSession():(null===a&&(a=new o.SessionInfo("Etc/UTC","24x7")),a);this._sourceTargetBarBuilder=Object(o.newBarBuilder)(this._target.getResolution(),this._target.getSession(),e)}return this._sourceTargetBarBuilder}}},RBvv:function(e){
e.exports=JSON.parse('{"color-bg-primary":"color-white","color-bg-primary-hover":"color-cold-gray-100","color-bg-secondary":"color-white","color-bg-highlight":"color-cold-gray-50","color-bg-scroll-buttons":"color-cold-gray-100","color-legacy-bg-scroll-buttons":"color-cold-gray-850","color-legacy-bg-widget":"color-white","color-text-primary":"color-cold-gray-900","color-text-secondary":"color-cold-gray-500","color-text-tertiary":"color-cold-gray-400","color-text-disabled":"color-cold-gray-300","color-accent-content":"color-cold-gray-900","color-box-shadow":"color-cold-gray-300","color-divider":"color-cold-gray-150","color-divider-hover":"color-cold-gray-100","color-active-hover-text":"color-cold-gray-900","color-alert-text":"color-cold-gray-900","color-border-table":"color-cold-gray-100","color-brand":"color-tv-blue-500","color-brand-active":"color-tv-blue-700","color-brand-hover":"color-tv-blue-600","color-chart-page-bg":"color-cold-gray-150","color-common-tooltip-bg":"color-cold-gray-800","color-danger":"color-ripe-red-400","color-danger-hover":"color-ripe-red-500","color-danger-active":"color-ripe-red-600","color-depthrenderer-stroke-style":"color-cold-gray-100","color-highlight-new":"color-tan-orange-50","color-input-bg":"color-white","color-input-publish-bg":"color-white","color-link":"color-tv-blue-500","color-link-hover":"color-tv-blue-600","color-link-active":"color-tv-blue-700","color-list-nth-child-bg":"color-cold-gray-50","color-pane-bg":"color-white","color-pane-secondary-bg":"color-cold-gray-100","color-popup-menu-item-hover-bg":"color-cold-gray-100","color-popup-menu-separator":"color-cold-gray-150","color-screener-description":"color-cold-gray-650","color-success":"color-minty-green-500","color-success-hover":"color-minty-green-600","color-success-active":"color-minty-green-700","color-toolbar-button-text":"color-cold-gray-900","color-toolbar-button-text-hover":"color-cold-gray-900","color-toolbar-button-text-active":"color-tv-blue-500","color-toolbar-button-text-active-hover":"color-tv-blue-600","color-toolbar-button-background-hover":"color-cold-gray-100","color-toolbar-button-background-secondary-hover":"color-cold-gray-150","color-toolbar-toggle-button-background-active":"color-tv-blue-500","color-toolbar-toggle-button-background-active-hover":"color-tv-blue-600","color-toolbar-interactive-element-text-normal":"color-cold-gray-900","color-toolbar-interactive-element-text-hover":"color-cold-gray-900","color-toolbar-opened-element-bg":"color-cold-gray-100","color-tooltip-bg":"color-cold-gray-800","color-tv-dialog-caption":"color-cold-gray-650","color-tv-dropdown-item-hover-bg":"color-cold-gray-100","color-underlined-text":"color-cold-gray-500","color-widget-pages-bg":"color-white","color-warning":"color-tan-orange-500","color-growing":"color-minty-green-400","color-falling":"color-ripe-red-400","color-forex-icon":"color-cold-gray-750","color-list-item-active-bg":"color-tv-blue-400","color-list-item-hover-bg":"color-tv-blue-50","color-list-item-text":"color-cold-gray-800","color-price-axis-label-back":"color-cold-gray-150","color-price-axis-label-text":"color-cold-gray-650","color-price-axis-gear":"color-cold-gray-900","color-price-axis-gear-hover":"color-black","color-price-axis-highlight":"color-cold-gray-150","color-bid":"color-tv-blue-500","color-border":"color-cold-gray-150","color-border-chat-fields":"color-cold-gray-250","color-border-hover":"color-cold-gray-250","color-button-hover-bg":"color-cold-gray-150","color-depthrenderer-fill-style":"color-cold-gray-650","color-disabled-border-and-color":"color-cold-gray-150","color-disabled-input":"color-cold-gray-150","color-empty-container-message":"color-cold-gray-500","color-icons":"color-cold-gray-500","color-input-textarea-readonly":"color-cold-gray-650","color-input-placeholder-text":"color-cold-gray-350","color-item-active-blue":"color-tv-blue-50","color-item-hover-active-bg":"color-tv-blue-100","color-item-hover-bg":"color-tv-blue-100","color-item-hover-blue":"color-tv-blue-100","color-item-selected-blue":"color-tv-blue-50","color-item-active-text":"color-white","color-item-active-bg":"color-tv-blue-500","color-list-item":"color-cold-gray-450","color-news-highlight":"color-tv-blue-100","color-placeholder":"color-cold-gray-350","color-row-hover-active-bg":"color-cold-gray-100","color-sb-scrollbar-body-bg":"color-cold-gray-200","color-section-separator-border":"color-cold-gray-300","color-separator-table-chat":"color-cold-gray-150","color-tag-active-bg":"color-cold-gray-200","color-tag-hover-bg":"color-cold-gray-150","color-text-regular":"color-cold-gray-700","color-tv-button-checked":"color-cold-gray-550","color-scroll-bg":"color-cold-gray-400","color-scroll-border":"color-cold-gray-100","color-widget-border":"color-cold-gray-100","color-scroll-buttons-arrow":"color-white","color-control-intent-default":"color-cold-gray-200","color-control-intent-success":"color-minty-green-600","color-control-intent-primary":"color-tv-blue-500","color-control-intent-warning":"color-tan-orange-500","color-control-intent-danger":"color-ripe-red-500","color-pre-market":"color-tan-orange-600","color-pre-market-bg":"color-tan-orange-400","color-post-market":"color-tv-blue-500","color-post-market-bg":"color-tv-blue-400","color-market-open":"color-minty-green-500","color-market-open-bg":"color-minty-green-400","color-market-closed":"color-cold-gray-400","color-market-holiday":"color-cold-gray-400","color-invalid-symbol":"color-ripe-red-400","color-invalid-symbol-hover":"color-ripe-red-700","color-replay-mode":"color-tv-blue-500","color-replay-mode-icon":"color-white","color-replay-mode-hover":"color-tv-blue-600","color-notaccurate-mode":"color-berry-pink-700","color-notaccurate-mode-bg":"color-berry-pink-400","color-delay-mode":"color-tan-orange-700","color-delay-mode-bg":"color-tan-orange-400","color-eod-mode":"color-grapes-purple-700","color-eod-mode-bg":"color-grapes-purple-400","color-data-problem":"color-ripe-red-600","color-data-problem-bg":"color-ripe-red-400","color-data-problem-hover":"color-ripe-red-700","color-list-item-bg-highlighted":"color-tv-blue-50","color-list-item-bg-selected":"color-tv-blue-100","color-list-item-bg-highlighted-hover":"color-tv-blue-100","color-list-item-bg-selected-hover":"color-tv-blue-200","color-screener-header-bg":"color-white","color-screener-header-bg-hover":"color-cold-gray-100","color-marker-flagged":"color-ripe-red-400","color-marker-flagged-hovered":"color-ripe-red-600","color-ask":"color-ripe-red-400","color-sell":"color-ripe-red-400","color-buy":"color-tv-blue-500","color-neutral":"color-cold-gray-500","color-pro":"color-minty-green-400","color-pro-hover":"color-minty-green-600","color-pro-plus":"color-tv-blue-500","color-pro-plus-hover":"color-tv-blue-600","color-pro-premium":"color-tan-orange-500","color-pro-premium-hover":"color-tan-orange-700","color-trial":"color-cold-gray-500","color-trial-hover":"color-cold-gray-600","color-mod":"color-ripe-red-400","color-mod-hover":"color-ripe-red-600","color-top":"color-banana-yellow-700","color-top-hover":"color-banana-yellow-800","color-ad":"color-banana-yellow-a700","color-broker-featured":"color-minty-green-400","color-broker-featured-hover":"color-minty-green-600","color-alert-status-active":"color-minty-green-400","color-alert-status-stopped":"color-ripe-red-500","color-alert-status-triggered":"color-tan-orange-500","color-covid19-confirmed":"color-ripe-red-500","color-covid19-recovered":"color-minty-green-500","color-covid19-deaths":"color-cold-gray-450","color-overlay":"color-cold-gray-400","color-search-button-hover":"color-cold-gray-150","color-brand-light":"color-tv-blue-500","color-common-tooltip-text":"color-cold-gray-100","color-replay-data-mode":"color-radical-red","color-legacy-success":"color-keppel-1","color-collapse-tabs-border":"color-athens-gray-3","color-site-widget-hover":"color-athens-gray-1","color-attention":"color-sunglow","color-card-border":"color-cold-gray-150","color-card-border-hover":"color-cold-gray-300"}')
},RDDl:function(e,t,i){"use strict";i.r(t),i.d(t,"LineToolPriceRange",(function(){return n}));var s=i("Ocx9"),r=i("Ss5c");class n extends r.LineDataSource{constructor(e,t){super(e,t||n.createProperties()),i.e("lt-pane-views").then(i.bind(null,"VghZ")).then(e=>{this._setPaneViews([new e.PriceRangePaneView(this,this._model)])})}pointsCount(){return 2}properties(){return super.properties()}name(){return"Price Range"}static createProperties(e){const t=new s.DefaultProperty("linetoolpricerange",e);return n._configureProperties(t),t}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(27),i.e(62),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"Ax76"))).GeneralDatePriceRangeDefinitionsViewModel}static _configureProperties(e){r.LineDataSource._configureProperties(e)}}},RDU5:function(e,t,i){"use strict";i.r(t),i.d(t,"UndoCommand",(function(){return s}));class s{constructor(e,t=!0){this._customFlags={},this._text=e,this._executeOnPush=t}text(){return this._text}executeOnPush(){return this._executeOnPush}customFlag(e){return this._customFlags[e]}setCustomFlag(e,t){this._customFlags[e]=t}canMerge(e){return!1}merge(e){throw new Error("Should be re-implemented in child classes")}}},RTYN:function(e,t,i){"use strict";i.r(t),i.d(t,"PositionAveragePriceAxisView",(function(){return r}));var s=i("4TVt");class r extends s.LineToolPriceAxisView{_formatPrice(e,t){return this._source.formatter().format(e)}}},RXmj:function(e,t,i){"use strict";(function(e){var s=i("FIi8").deepExtend,r=i("ogJP").deepEquals,n=i("zUrt").backend,o=i("l+oz").ChartSaverBase;window.t("The publication preview could not be loaded. Please disable your browser extensions and try again.");function a(e,t){e.content=JSON.stringify(t)}t.ChartSaver=class extends o{constructor(t){super(t),this._chartAboutToBeSavedDelegate=new e,this._chartSavedDelegate=new e,this._prevChartState=null,this._chartSizeLimitExceededDelegate=new e}chartSizeLimitExceeded(){return this._chartSizeLimitExceededDelegate}chartAboutToBeSaved(){return this._chartAboutToBeSavedDelegate}chartSaved(){return this._chartSavedDelegate}whenReadyToSave(e){var t=this._chartWidgetCollection.activeChartWidget.value().model().mainSeries();if(t.hasDelayedSymbolIntervalChange()){var i,s=null;i=function(){t.dataEvents().symbolError().unsubscribe(null,s,!0),e()},s=function(){t.dataEvents().symbolResolved().unsubscribe(null,i,!0)},t.dataEvents().symbolResolved().subscribe(null,i,!0),t.dataEvents().symbolError().subscribe(null,s,!0)}else e()}saveToJSON(){var e=this._getCommonSavingInfo(!1);return a(e,this._getChartWidgetCollectionState(!1,!0)),e}_fillAsyncInfo(e,t){var i=JSON.parse(e.content),r=this._chartWidgetCollection;return(t?r.asyncState():r.activeChartWidget.value().asyncState()).then((function(t){return e.content=JSON.stringify(s(i,t)),e}))}_getChartWidgetCollectionState(e,t,i,s,r){return e||(t=!0,s=!1),t?this._chartWidgetCollection.state(!!e,i,s,r):this._chartWidgetCollection.activeChartWidget.value().state(!!e,i,s,r)}publishChart(e){}publishScript(e,t,i){}onPublish(e,t){}
saveChartLineTools(e,t){var i=(void 0)(),s=this._chartWidgetCollection.metaInfo.uid.value();return i.saveLineToolsAndGroups(s,e,t)}_saveLineToolsToStorage(){return Promise.resolve()}_saveChartImpl(e,t,i,s,r,o){var a=i,l=s;if(a=function(s){t.id.value()||(t.id.setValue(s),t.uid.setValue(s)),"function"==typeof i&&i(t,e)},!e.name)return console.warn("Saving chart with empty name is not allowed"),void s();n.saveChart(e.name,e.short_name,e.resolution,e,t).then(a.bind(this)).catch(l.bind(this))}_saveChart(e,t,i,s){var n=this._chartWidgetCollection.metaInfo,o=function(o){return r(this._prevChartState,o)[0]&&null!=n.id.value()?(this._chartSavedDelegate.fire(!0),void(t&&t(n,o))):this._saveChartImpl(o,n,t,i,s,e)}.bind(this);this._saveLineToolsToStorage().then((function(){var t=e(!0);return o(t)})).catch((function(t){var i=e(!1);return o(i)}))}saveChartSilently(e,t,i){i=i||{};var s=function(e){var t=e&&(void 0)("remove_line_tools_from_content"),s=this._getChartWidgetCollectionState(!1,void 0,void 0,void 0,t),r=this._getCommonSavingInfo(!1,t);return a(r,s),i.chartName&&(r.name=i.chartName),r.name&&0!==r.name.length||!i.defaultChartName||(r.name=i.defaultChartName),i.autoSave&&(r.autoSave=!0),r}.bind(this);this._isSaveInProcess=!0,this._chartAboutToBeSavedDelegate.fire(),this._saveChart(s,function(t,i){this._chartWidgetCollection.metaInfo.name.setValue(i.name),this._prevChartState=i,this._chartSavedDelegate.fire(!0),this._isSaveInProcess=!1,e&&e({uid:t.uid.value(),data:i}),delete this._prevChartState.savingToken}.bind(this),function(){this._chartSavedDelegate.fire(!1),this._isSaveInProcess=!1,t&&t.apply(null,arguments)}.bind(this),i)}isSaveInProcess(){return this._isSaveInProcess}}}).call(this,i("aIyQ"))},RspR:function(e,t,i){"use strict";i.r(t),i.d(t,"property",(function(){return n})),i.d(t,"availableValues",(function(){return o})),i.d(t,"actualBehavior",(function(){return a}));var s=i("+jnJ"),r=i("1ANp");const{property:n,availableValues:o,actualBehavior:a}=Object(s.a)("PaneButtons.visibility",r.navigationButtonsVisibilityKey)},S8xo:function(e,t,i){"use strict";i.r(t),i.d(t,"MouseEventHandler",(function(){return h}));var s=i("qFKp"),r=i("Eyy1"),n=i("ogJP"),o=i("GUQs"),a=i("VaSN");const l=s.isSafari?"click":"auxclick",c={treatVertTouchDragAsPageScroll:!1,treatHorzTouchDragAsPageScroll:!1};class h{constructor(e,t,i){this._clickCount=0,this._clickTimeoutId=null,this._clickPosition={x:Number.NEGATIVE_INFINITY,y:Number.POSITIVE_INFINITY},this._tapCount=0,this._tapTimeoutId=null,this._tapPosition={x:Number.NEGATIVE_INFINITY,y:Number.POSITIVE_INFINITY},this._longTapTimeoutId=null,this._longTapActive=!1,this._mouseMoveStartPosition=null,this._touchMoveStartPosition=null,this._touchMoveExceededManhattanDistance=!1,this._cancelClick=!1,this._cancelTap=!1,this._unsubscribeOutsideMouseEvents=null,this._unsubscribeOutsideTouchEvents=null,this._unsubscribeMobileSafariEvents=null,this._unsubscribeMousemove=null,this._unsubscribeRootMouseEvents=null,this._unsubscribeRootTouchEvents=null,this._startPinchMiddlePoint=null,
this._startPinchDistance=0,this._pinchPrevented=!1,this._preventTouchDragProcess=!1,this._mousePressed=!1,this._lastTouchEventTimeStamp=0,this._activeTouchId=null,this._acceptMouseLeave=!s.CheckMobile.iOS(),this._onFirefoxOutsideMouseUp=e=>{this._mouseUpHandler(e)},this._onMobileSafariDoubleClick=e=>{if(this._firesTouchEvents(e)){const t=this._makeCompatEvent(e);if(++this._tapCount,this._tapTimeoutId&&this._tapCount>1){const{manhattanDistance:i}=this._touchMouseMoveWithDownInfo(u(e),this._tapPosition);i<30&&!this._cancelTap&&this._processTouchEvent(t,this._handler.doubleTapEvent),this._resetTapTimeout()}}else{const t=this._makeCompatEvent(e);if(++this._clickCount,this._clickTimeoutId&&this._clickCount>1){const{manhattanDistance:i}=this._touchMouseMoveWithDownInfo(u(e),this._clickPosition);i<5&&!this._cancelClick&&this._processMouseEvent(t,this._handler.mouseDoubleClickEvent),this._resetClickTimeout()}}},this._target=e,this._handler=t,this._options=Object(n.merge)(Object(n.clone)(c),i||{}),this._init()}destroy(){null!==this._unsubscribeOutsideMouseEvents&&(this._unsubscribeOutsideMouseEvents(),this._unsubscribeOutsideMouseEvents=null),null!==this._unsubscribeOutsideTouchEvents&&(this._unsubscribeOutsideTouchEvents(),this._unsubscribeOutsideTouchEvents=null),null!==this._unsubscribeMousemove&&(this._unsubscribeMousemove(),this._unsubscribeMousemove=null),null!==this._unsubscribeRootMouseEvents&&(this._unsubscribeRootMouseEvents(),this._unsubscribeRootMouseEvents=null),null!==this._unsubscribeRootTouchEvents&&(this._unsubscribeRootTouchEvents(),this._unsubscribeRootTouchEvents=null),null!==this._unsubscribeMobileSafariEvents&&(this._unsubscribeMobileSafariEvents(),this._unsubscribeMobileSafariEvents=null),this._clearLongTapTimeout(),this._resetClickTimeout()}_mouseEnterHandler(e){this._unsubscribeMousemove&&this._unsubscribeMousemove();const t=this._mouseMoveHandler.bind(this);if(this._unsubscribeMousemove=()=>{this._target.removeEventListener("mousemove",t)},this._target.addEventListener("mousemove",t),this._firesTouchEvents(e))return;const i=this._makeCompatEvent(e);this._processMouseEvent(i,this._handler.mouseEnterEvent),this._acceptMouseLeave=!0}_resetClickTimeout(){null!==this._clickTimeoutId&&clearTimeout(this._clickTimeoutId),this._clickCount=0,this._clickTimeoutId=null,this._clickPosition={x:Number.NEGATIVE_INFINITY,y:Number.POSITIVE_INFINITY}}_resetTapTimeout(){null!==this._tapTimeoutId&&clearTimeout(this._tapTimeoutId),this._tapCount=0,this._tapTimeoutId=null,this._tapPosition={x:Number.NEGATIVE_INFINITY,y:Number.POSITIVE_INFINITY}}_mouseMoveHandler(e){if(this._mousePressed||null!==this._touchMoveStartPosition)return;if(this._firesTouchEvents(e))return;const t=this._makeCompatEvent(e);this._processMouseEvent(t,this._handler.mouseMoveEvent),this._acceptMouseLeave=!0}_touchMoveHandler(e){const t=_(e.changedTouches,Object(r.ensureNotNull)(this._activeTouchId));if(null===t)return;if(this._lastTouchEventTimeStamp=p(e),null!==this._startPinchMiddlePoint)return;if(this._preventTouchDragProcess)return
;this._pinchPrevented=!0;const i=this._touchMouseMoveWithDownInfo(u(t),Object(r.ensureNotNull)(this._touchMoveStartPosition)),{xOffset:s,yOffset:n,manhattanDistance:a}=i;if(this._touchMoveExceededManhattanDistance||!(a<5)){if(!this._touchMoveExceededManhattanDistance){const e=.5*s,t=n>=e&&!this._options.treatVertTouchDragAsPageScroll,i=e>n&&!this._options.treatHorzTouchDragAsPageScroll;t||i||(this._preventTouchDragProcess=!0),this._touchMoveExceededManhattanDistance=!0,this._cancelTap=!0,this._clearLongTapTimeout(),this._resetTapTimeout()}if(!this._preventTouchDragProcess){const i=this._makeCompatEvent(e,t);this._processTouchEvent(i,this._handler.touchMoveEvent),Object(o.a)(e)}}}_mouseMoveWithDownHandler(e){if(0!==e.button)return;const t=this._touchMouseMoveWithDownInfo(u(e),Object(r.ensureNotNull)(this._mouseMoveStartPosition)),{manhattanDistance:i}=t;if(i>=5&&(this._cancelClick=!0,this._resetClickTimeout()),this._cancelClick){const t=this._makeCompatEvent(e);this._processMouseEvent(t,this._handler.pressedMouseMoveEvent)}}_touchMouseMoveWithDownInfo(e,t){const i=Math.abs(t.x-e.x),s=Math.abs(t.y-e.y);return{xOffset:i,yOffset:s,manhattanDistance:i+s}}_touchEndHandler(e){let t=_(e.changedTouches,Object(r.ensureNotNull)(this._activeTouchId));if(null===t&&0===e.touches.length&&(t=e.changedTouches[0]),null===t)return;this._activeTouchId=null,this._lastTouchEventTimeStamp=p(e),this._clearLongTapTimeout(),this._touchMoveStartPosition=null,this._unsubscribeRootTouchEvents&&(this._unsubscribeRootTouchEvents(),this._unsubscribeRootTouchEvents=null);const i=this._makeCompatEvent(e,t);if(this._processTouchEvent(i,this._handler.touchEndEvent),++this._tapCount,this._tapTimeoutId&&this._tapCount>1){const{manhattanDistance:e}=this._touchMouseMoveWithDownInfo(u(t),this._tapPosition);e<30&&!this._cancelTap&&this._processTouchEvent(i,this._handler.doubleTapEvent),this._resetTapTimeout()}else this._cancelTap||(this._processTouchEvent(i,this._handler.tapEvent),this._handler.tapEvent&&Object(o.a)(e));0===this._tapCount&&Object(o.a)(e),0===e.touches.length&&this._longTapActive&&(this._longTapActive=!1,Object(o.a)(e))}_mouseUpHandler(e){if(0!==e.button)return;const t=this._makeCompatEvent(e);if(this._mouseMoveStartPosition=null,this._mousePressed=!1,this._unsubscribeRootMouseEvents&&(this._unsubscribeRootMouseEvents(),this._unsubscribeRootMouseEvents=null),s.isFF){this._target.ownerDocument.documentElement.removeEventListener("mouseleave",this._onFirefoxOutsideMouseUp)}if(!this._firesTouchEvents(e))if(this._processMouseEvent(t,this._handler.mouseUpEvent),++this._clickCount,this._clickTimeoutId&&this._clickCount>1){const{manhattanDistance:i}=this._touchMouseMoveWithDownInfo(u(e),this._clickPosition);i<5&&!this._cancelClick&&this._processMouseEvent(t,this._handler.mouseDoubleClickEvent),this._resetClickTimeout()}else this._cancelClick||this._processMouseEvent(t,this._handler.mouseClickEvent)}_clearLongTapTimeout(){null!==this._longTapTimeoutId&&(clearTimeout(this._longTapTimeoutId),this._longTapTimeoutId=null)}_touchStartHandler(e){
if(null!==this._activeTouchId)return;const t=e.changedTouches[0];this._activeTouchId=t.identifier,this._lastTouchEventTimeStamp=p(e);const i=this._target.ownerDocument.documentElement;this._cancelTap=!1,this._touchMoveExceededManhattanDistance=!1,this._preventTouchDragProcess=!1,this._touchMoveStartPosition=u(t),this._unsubscribeRootTouchEvents&&(this._unsubscribeRootTouchEvents(),this._unsubscribeRootTouchEvents=null);{const t=this._touchMoveHandler.bind(this),s=this._touchEndHandler.bind(this);this._unsubscribeRootTouchEvents=()=>{i.removeEventListener("touchmove",t),i.removeEventListener("touchend",s)},i.addEventListener("touchmove",t,{passive:!1}),i.addEventListener("touchend",s,{passive:!1}),this._clearLongTapTimeout(),this._longTapTimeoutId=setTimeout(this._longTapHandler.bind(this,e),240)}const s=this._makeCompatEvent(e,t);this._processTouchEvent(s,this._handler.touchStartEvent),this._tapTimeoutId||(this._tapCount=0,this._tapTimeoutId=setTimeout(this._resetTapTimeout.bind(this),500),this._tapPosition=u(t))}_wheelClickHandler(e){if(1!==e.button)return;if(this._firesTouchEvents(e))return;const t=this._makeCompatEvent(e);this._processMouseEvent(t,this._handler.wheelClickEvent)}_mouseDownHandler(e){if(0!==e.button)return;const t=this._target.ownerDocument.documentElement;s.isFF&&t.addEventListener("mouseleave",this._onFirefoxOutsideMouseUp),this._cancelClick=!1,this._mouseMoveStartPosition=u(e),this._unsubscribeRootMouseEvents&&(this._unsubscribeRootMouseEvents(),this._unsubscribeRootMouseEvents=null);{const e=this._mouseMoveWithDownHandler.bind(this),i=this._mouseUpHandler.bind(this);this._unsubscribeRootMouseEvents=()=>{t.removeEventListener("mousemove",e),t.removeEventListener("mouseup",i)},t.addEventListener("mousemove",e),t.addEventListener("mouseup",i)}if(this._mousePressed=!0,this._firesTouchEvents(e))return;const i=this._makeCompatEvent(e);this._processMouseEvent(i,this._handler.mouseDownEvent),this._clickTimeoutId||(this._clickCount=0,this._clickTimeoutId=setTimeout(this._resetClickTimeout.bind(this),500),this._clickPosition=u(e))}_init(){this._target.addEventListener("mouseenter",this._mouseEnterHandler.bind(this)),this._target.addEventListener("touchcancel",this._clearLongTapTimeout.bind(this));{const e=this._target.ownerDocument,t=e=>{this._handler.mouseDownOutsideEvent&&(e.target&&this._target.contains(e.target)||this._handler.mouseDownOutsideEvent())};this._unsubscribeOutsideTouchEvents=()=>{e.removeEventListener("touchstart",t)},this._unsubscribeOutsideMouseEvents=()=>{e.removeEventListener("mousedown",t)},e.addEventListener("mousedown",t),e.addEventListener("touchstart",t,{passive:!0})}s.CheckMobile.iOS()&&(this._unsubscribeMobileSafariEvents=()=>{this._target.removeEventListener("dblclick",this._onMobileSafariDoubleClick)},this._target.addEventListener("dblclick",this._onMobileSafariDoubleClick)),this._target.addEventListener("mouseleave",this._mouseLeaveHandler.bind(this)),this._target.addEventListener("contextmenu",this._contextMenuHandler.bind(this)),
this._target.addEventListener("touchstart",this._touchStartHandler.bind(this),{passive:!0}),Object(o.b)(this._target),this._target.addEventListener("mousedown",this._mouseDownHandler.bind(this)),this._target.addEventListener(l,this._wheelClickHandler.bind(this)),this._initPinch(),this._target.addEventListener("touchmove",()=>{},{passive:!1})}_initPinch(){void 0===this._handler.pinchStartEvent&&void 0===this._handler.pinchEvent&&void 0===this._handler.pinchEndEvent||(this._target.addEventListener("touchstart",e=>this._checkPinchState(e.touches),{passive:!0}),this._target.addEventListener("touchmove",e=>{if(2===e.touches.length&&null!==this._startPinchMiddlePoint&&void 0!==this._handler.pinchEvent){const t=d(e.touches[0],e.touches[1])/this._startPinchDistance;this._handler.pinchEvent(this._startPinchMiddlePoint,t),Object(o.a)(e)}},{passive:!1}),this._target.addEventListener("touchend",e=>{this._checkPinchState(e.touches)}))}_checkPinchState(e){1===e.length&&(this._pinchPrevented=!1),2!==e.length||this._pinchPrevented||this._longTapActive?this._stopPinch():this._startPinch(e)}_startPinch(e){const t=this._target.getBoundingClientRect()||{left:0,top:0};this._startPinchMiddlePoint={x:(e[0].clientX-t.left+(e[1].clientX-t.left))/2,y:(e[0].clientY-t.top+(e[1].clientY-t.top))/2},this._startPinchDistance=d(e[0],e[1]),void 0!==this._handler.pinchStartEvent&&this._handler.pinchStartEvent(),this._clearLongTapTimeout()}_stopPinch(){null!==this._startPinchMiddlePoint&&(this._startPinchMiddlePoint=null,void 0!==this._handler.pinchEndEvent&&this._handler.pinchEndEvent())}_mouseLeaveHandler(e){if(this._unsubscribeMousemove&&this._unsubscribeMousemove(),this._firesTouchEvents(e))return;if(!this._acceptMouseLeave)return;const t=this._makeCompatEvent(e);this._processMouseEvent(t,this._handler.mouseLeaveEvent),this._acceptMouseLeave=!s.CheckMobile.iOS()}_longTapHandler(e){const t=_(e.touches,Object(r.ensureNotNull)(this._activeTouchId));if(null===t)return;const i=this._makeCompatEvent(e,t);this._processTouchEvent(i,this._handler.longTapEvent),this._processTouchEvent(i,this._handler.touchContextMenuEvent),this._cancelTap=!0,this._longTapActive=!0}_contextMenuHandler(e){if(Object(o.a)(e),null!==this._touchMoveStartPosition)return;if(this._firesTouchEvents(e))return;const t=this._makeCompatEvent(e);this._processMouseEvent(t,this._handler.contextMenuEvent),this._cancelClick=!0}_firesTouchEvents(e){return e.sourceCapabilities&&void 0!==e.sourceCapabilities.firesTouchEvents?e.sourceCapabilities.firesTouchEvents:p(e){"touchstart"!==e.type&&Object(o.a)(e)}}}}function u(e){return{x:e.pageX,y:e.pageY}}function d(e,t){const i=e.clientX-t.clientX,s=e.clientY-t.clientY;return Math.sqrt(i*i+s*s)}function p(e){return e.timeStamp||performance.now()}function _(e,t){for(let i=0;ie.HighlighterDefinitionsViewModel)}_loadPaneViews(e){i.e("lt-pane-views").then(i.bind(null,"uRW3")).then(t=>{this._setPaneViews([new t.HighlighterPaneView(this,e)])})}static _configureProperties(e){r.a._configureProperties(e)}}},Si3H:function(e,t,i){"use strict";i.r(t);var s=i("Eyy1"),r=i("0YCj"),n=i.n(r),o=i("ogJP");i.d(t,"migrateMetaInfoAndPropState",(function(){return l}));const a=[new class{targetMetaInfoVersion(){return 47}migrateMetaInfo(e){const t=e,i=e;if(i._metainfoVersion=47,!t.defaults||void 0===t.defaults.precision)return void(i.format={type:"inherit"});const s=t.defaults&&t.defaults.precision,r=Object(o.isNumber)(s)?s:parseInt(s);0===r?i.format={type:"volume"}:isFinite(r)?i.format={type:"price",precision:r}:i.format={type:"inherit"},delete t.defaults.precision}migratePropState(e){}},new class{targetMetaInfoVersion(){return 50}migrateMetaInfo(e){const t=e,i=e;if(i._metainfoVersion=50,void 0===t.defaults||void 0===t.defaults.ohlcPlots||void 0===t.ohlcPlots)return;const r=t.ohlcPlots,n=t.defaults.ohlcPlots,o=Object(s.ensureDefined)(Object(s.ensureDefined)(i.defaults).ohlcPlots);for(const e of Object.keys(n)){const t=n[e];if("ohlc_candles"===t.plottype){let i=!1;const s=r[e];void 0!==s&&(i=!!s.drawBorder,delete s.drawBorder),o[e]={borderColor:"#000000",drawBorder:i,...t}}}}migratePropState(e){}}];function l(e,t){const i=n.a.versionOf(e),r=e;void 0===r._serverMetaInfoVersion&&(r._serverMetaInfoVersion=i),a.forEach(r=>{i<0||i>=r.targetMetaInfoVersion()||(r.migrateMetaInfo(e),void 0!==t&&r.migratePropState(t),Object(s.assert)(e._metainfoVersion===r.targetMetaInfoVersion()))})}a.sort((function(e,t){return e.targetMetaInfoVersion()-t.targetMetaInfoVersion()}))},SqfW:function(e,t,i){"use strict";i.d(t,"b",(function(){return n})),i.d(t,"a",(function(){return o}));var s=i("tqok"),r=i("hsV8");function n(e,t){if(e.index>=t.length)return null;const i=t[e.index];return i===s.INVALID_TIME_POINT_INDEX?null:{startPrice:e.startPrice,endPrice:e.endPrice,
index:i,extendTop:e.extendTop,extendBottom:e.extendBottom}}function o(e,t,i){const s=Object(r.ensureTimePointIndexIndex)(i.indexOf(e.index));return{id:t,...e,index:s}}},Ss5c:function(e,t,i){"use strict";var s=i("aO4+").Point,r=i("dOnf").deepCopy,n=i("4TVt").LineToolPriceAxisView,o=i("fJhV").LineDataSourceTimeAxisView,a=i("mMWL"),l=i("LxhU").Interval,c=i("txPx").getLogger("Chart.LineDataSource"),h=i("FQhm"),u=i("aIyQ"),d=i("tc+8"),p=i("Ocx9").DefaultProperty,_=i("Kxc7"),m=i("0qMc").lineToolsLocalizedNames,f=_.enabled("datasource_copypaste"),g=i("ng+v").LineDataSourceBase,b=i("0C7r").intervalsVisibilitiesDefaults;class v extends g{constructor(e,t){super(e,t),this._onTemplateApplying=new u,this._onTemplateApplied=new u,this._properties.hasChild("interval")||this._properties.addChild("interval",new d(e.mainSeries().interval())),this.calcIsActualSymbol(),this._properties.intervalsVisibilities.listeners().subscribe(this,v.prototype.calcIsActualSymbol);var i=this;if(this._properties.listeners().subscribe(this,(function(e){i.propertiesChanged()})),this._createPointsProperties(),this.pointsCount()>0)for(var s=0;s=i.multiplier()&&(t=e.key)})),t}priceScale(){return this._ownerSource?this._ownerSource.m_priceScale:null}symbol(){return this._properties.symbol.value()}properties(){return this._properties}isSavedInStudyTemplates(){return!1}state(e){var t={type:TradingView.className(this.constructor),id:this.id(),state:this.properties().state(this._propertiesStateExclusions()),points:r(this._timePoint),zorder:this.zorder()};return this.linkKey().value()&&(t.linkKey=this.linkKey().value()),delete t.state.points,e&&(t.indexes=this._points),this.ownerSource()&&(t.ownerSource=this.ownerSource().id()),this.isFixed()&&(t.positionPercents=this._positionPercents||this.calcPositionPercents()),
"version"in this&&1!==this.version&&(t.version=this.version),this.hasAlert.value()&&(t.alertId=this._alertId),t}_propertiesStateExclusions(){return null}template(){return this.properties().preferences()}applyTemplate(e){this._onTemplateApplying.fire(e),this._applyTemplateImpl(e),this.calcIsActualSymbol(),this.updateAllViews(),this.model().lightUpdate(),this._onTemplateApplied.fire()}_applyTemplateImpl(e){var t=this.properties();t.mergePreferences(e),t.saveDefaults(),this.propertiesChanged()}restoreExternalState(e){this.properties().mergeAndFire(e)}restorePositionPercents(e){this._positionPercents=e}propertiesChanged(e){this.calcIsActualInterval(),this.updateAllViewsAndRedraw(),e||this._syncLineStyleIfNeeded()}syncLineStyleState(){const e=this.properties().state(this._syncStateExclusions);return delete e.interval,e}_syncLineStyleIfNeeded(){!this._syncLineStyleMuted&&this.linkKey().value()&&a.changeLineStyle({linkKey:this.linkKey().value(),state:this.syncLineStyleState(),model:this._model})}_muteSyncLineStyle(){this._syncLineStyleMuted=!0}_unmuteSyncLineStyleWithoutApplyingChanges(){this.propertiesChanged(),this._syncLineStyleMuted=!1}fixedPoints(){var e=[];if(this._positionPercents&&!this.priceScale().isEmpty())for(var t=0;t{this._setPaneViews([new e(this,this.model())])}),this.properties().childs().reverse.subscribe(this,this._reversePoints)}pointsCount(){return 2}name(){return"Gann Square Fixed"}properties(){return super.properties()}axisPoints(){const e=this.points(),t=this.getScreenPoints();return e.length<2||t.length<2?[]:[e[0],this.screenPointToPoint(t[1])]}getScreenPoints(){const e=this.points();if(e.length<2)return[];const t=this._calcAngle();if(null===t)return[];const[i,r]=e,n=this.pointToScreenPoint(i)[0],o=this.pointToScreenPoint(r)[0],a=Math.sqrt(Math.pow(n.x-o.x,2)+Math.pow(n.y-o.y,2)),l=new s.Point(Math.cos(t),-Math.sin(t)),c=l.normalized(),h=c.x<0?-1:1,u=c.y<0?-1:1;return[n.addScaled(l,a),n.add(new s.Point(5*a*h,5*a*u))]}levelsCount(){return this.properties().childs().levels.childCount()}levels(){const e=[],t=this.properties().childs(),i=t.levels.childCount();for(let s=0;se.GannComplexAndFixedDefinitionsViewModel)}static _configureProperties(e){r.LineDataSource._configureProperties(e);const t=[],i=[],s=e.childs();{const e=s.levels.childCount();for(let r=0;r0&&(n=-n),n}_reversePoints(){const[e,t]=this._points;this._points[0]=t,this._points[1]=e,this.normalizePoints(),this.restart()}}},TCfT:function(e,t,i){"use strict";i.r(t);var s=i("sQaR");i.d(t,"CompareDialogRenderer",(function(){return r}));class r extends s.a{constructor(e){super(),this._dialog=null,this._subscribe=e=>{this._setVisibility(e)},this._chartWidgetCollection=e}show(){this._load().then(e=>{var t,i;null===(t=this._dialog)||void 0===t||t.hide(),null===(i=this._dialog)||void 0===i||i.visible().unsubscribe(this._subscribe),this._dialog=e,e.visible().subscribe(this._subscribe),e.show()})}hide(){var e;null===(e=this._dialog)||void 0===e||e.hide()}_load(){return Promise.all([i.e("compare-model").then(i.bind(null,"cK0E")),Promise.all([i.e("redux"),i.e("react"),i.e(1),i.e(3),i.e(4),i.e(8),i.e(9),i.e(11),i.e(12),i.e(13),i.e(14),i.e(19),i.e(21),i.e(26),i.e(69),i.e(82),i.e(0),i.e(2),i.e(7),i.e(10),i.e(18),i.e(20),i.e(25),i.e("add-compare-dialog")]).then(i.bind(null,"a+BI"))]).then(([e,t])=>{const i=new e.CompareModel(this._chartWidgetCollection);return t.getCompareDialogRenderer(i)})}}},TMWk:function(e,t,i){"use strict";var s=i("Eyy1").assert,r=i("ogJP").clone,n=i("GVHu").Study,o=i("k9/m").PlotList,a=i("w4Ji").studyPlotFunctionMap,l=i("w4Ji").studyEmptyPlotValuePredicate;class c{constructor(e,t,i){this._strategyPlotIndex=e,this._targetPlotIndex=t,this._startIndex=i}rebuildData(e){var t=this._targetPlotIndex+1,i=this._strategyPlotIndex+1,s=null,r=null;e.range(this._startIndex||e.firstIndex(),e.lastIndex()).each((function(n,o){var a=o[t],l=o[i]?Math.round(o[i]):null;if(o[t]=null,o[i]=null,!l||l>0)return!1;var c=n+l,h={pointIndex:c,value:a};if(r){if(r.pointIndex!==h.pointIndex){c>=0&&(e.valueAt(c)[t]=a);var u=!1;s&&(u=s.value<=r.value&&r.value<=a||s.value>=r.value&&r.value>=a),u?r.pointIndex>=0&&(e.valueAt(r.pointIndex)[t]=null):s=r,r=h}}else r=h;return!1}))}}t.study_ScriptWithDataOffset=class extends n{constructor(e,t,i,s){super(e,t,i,s),this._underlyingData=new o(a(s),l)}clearData(){super.clearData(),this._underlyingData.clear()}_mergeData(e){
this._invalidateLastNonEmptyPlotRowCache();var t=this._underlyingData.firstIndex();this._underlyingData.merge(e),t!==this._underlyingData.firstIndex()&&(this.m_data=new o(a(this._metaInfo),l));var i=this.m_data.lastIndex();this._underlyingData.range(i,this._underlyingData.lastIndex()).each(function(e,t){return this.m_data.add(e,r(t)),!1}.bind(this)),this._plotsForStrategyProcessing().forEach((function(e){new c(e.strategyIndex,e.targetIndex,i).rebuildData(this.m_data)}),this)}_plotsForStrategyProcessing(){var e=[];return this._metaInfo.plots.forEach((function(t,i){if("dataoffset"===t.type){var r=this._metaInfo.plots.findIndex((function(e){return e.id===t.target}));s(r>=0,"target plot not found for strategy plot "+t.id);var n={strategyIndex:i,targetIndex:r};e.push(n)}}),this),e}}},TTFo:function(e,t,i){"use strict";i.r(t),i.d(t,"fromPercent",(function(){return n})),i.d(t,"toPercent",(function(){return o})),i.d(t,"toPercentRange",(function(){return a})),i.d(t,"fromIndexedTo100",(function(){return l})),i.d(t,"toIndexedTo100",(function(){return c})),i.d(t,"toIndexedTo100Range",(function(){return h})),i.d(t,"toLog",(function(){return u})),i.d(t,"fromLog",(function(){return d}));var s=i("Qb4w"),r=i("Hr11");function n(e,t){return t<0&&(e=-e),e/100*t+t}function o(e,t){const i=100*(e-t)/t;return t<0?-i:i}function a(e,t){const i=o(e.minValue(),t),r=o(e.maxValue(),t);return new s.PriceRange(i,r)}function l(e,t){return t<0&&(e=-e),(e-=100)/100*t+t}function c(e,t){const i=100*(e-t)/t+100;return t<0?-i:i}function h(e,t){const i=c(e.minValue(),t),r=c(e.maxValue(),t);return new s.PriceRange(i,r)}function u(e){const t=Math.abs(e);if(t<1e-8)return 0;const i=Object(r.log10)(t+1e-4)+4;return e<0?-i:i}function d(e){const t=Math.abs(e);if(t<1e-8)return 0;const i=Math.pow(10,t-4)-1e-4;return e<0?-i:i}},TcSq:function(e,t,i){"use strict";function s(e){return e===r(e)}function r(e){const t=e.indexOf("$"),i=e.indexOf("@");return t<0&&i>=0?null:e.substring(Math.max(t+1,0),i>=0?i:e.length)}function n(e){return e.startsWith("PUB;")}function o(e){return e.startsWith("USER;")}function a(e){return e.startsWith("STD;")}function l(e){return e.includes("Candlestick%1Pattern%1")}function c(e){return e.startsWith("EDGR_")}i.r(t),i.d(t,"isPineIdString",(function(){return s})),i.d(t,"extractPineId",(function(){return r})),i.d(t,"isPublishedPineId",(function(){return n})),i.d(t,"isCustomPineId",(function(){return o})),i.d(t,"isStandardPineId",(function(){return a})),i.d(t,"isCandleStickId",(function(){return l})),i.d(t,"isEdgrPineId",(function(){return c}))},TlGQ:function(e,t,i){"use strict";i.r(t),i.d(t,"visitObject",(function(){return n}));var s=i("ogJP");function r(e,t,i){return Object(s.isArray)(e)?function(e,t,i){return e.map(e=>{const s=r(e,t,i),n=t(s);return void 0!==n?n:s})}(e,t,i):Object(s.isObject)(e)&&(Object(s.isHashObject)(e)||i&&i.visitInstances)?function(e,t,i){const s={};return Object.keys(e).forEach(n=>{const o=r(e[n],t,i),a=t(o);s[n]=void 0!==a?a:o}),s}(e,t,i):e}function n(e,t,i){const s=r(e,t,i),n=t(s);return void 0!==n?n:s}},
TmNs:function(e,t,i){"use strict";i.r(t);var s=i("KcY8"),r=i("Eyy1"),n=i("jFln"),o=i("8Uy/"),a=i("gAom");class l{constructor(e,t){this.setData(e,t)}setData(e,t){this._data=e,this._commonData=t}draw(e,t,i,s,l,c){if(!this._data.visible)return;let h=this._commonData.coordinate;void 0!==this._commonData.fixedCoordinate&&(h=this._commonData.fixedCoordinate),e.lineWidth=Math.max(1,Math.floor(Object(r.ensureDefined)(this._data.linewidth)*c)),e.lineCap="butt",Object(n.setLineStyle)(e,void 0===this._data.linestyle?o.LINESTYLE_DOTTED:this._data.linestyle),e.strokeStyle=this._commonData.textColor,Object(a.drawHorizontalLine)(e,Math.round(h*c),0,Math.ceil(s*c))}height(e){return 0}}i.d(t,"PriceLineAxisView",(function(){return c})),i.d(t,"SeriesPriceLineAxisView",(function(){return h})),i.d(t,"StudyPriceLineAxisView",(function(){return u}));class c extends s.a{constructor(e){super(e||l)}ignoreAlignment(){return!0}_updateRendererData(e,t,i){if(t.visible=!1,e.visible=!1,!this._isVisible())return;const s=this._value();s.noData||(i.background="",i.textColor=this._priceLineColor(s.color),i.coordinate=s.coordinate,i.floatCoordinate=s.floatCoordinate,e.linewidth=this._lineWidth(),e.linestyle=this._lineStyle(),e.backgroundAreaVisible=this._backgroundAreaVisible(),e.backgroundAreaColor=this._backgroundAreaColor(),e.backgroundAreaHeight=this._backgroundAreaHeight(),e.visible=!0)}_lineStyle(){return o.LINESTYLE_DOTTED}_backgroundAreaVisible(){return!1}_backgroundAreaColor(){return""}_backgroundAreaHeight(){return 0}}class h extends c{constructor(e){super(),this._series=e}_value(){return this._series.lastValueData(void 0,!0)}_priceLineColor(e){return this._series.priceLineColor(e)}_lineWidth(){return this._series.properties().priceLineWidth.value()}_isVisible(){const e=this._series.model().properties().scalesProperties.showSeriesLastValue.value();return this._series.properties().showPriceLine.value()&&e}}class u extends c{constructor(e,t){super(),this._study=e,this._plotname=t}_value(){return this._study.lastValueData(this._plotname,!0)}_lineWidth(){return this._study.properties().styles[this._plotname].linewidth.value()}_lineStyle(){return o.LINESTYLE_DOTTED}_priceLineColor(e){return e}_isVisible(){const e=this._study.model().properties().scalesProperties.showStudyLastValue.value();return this._study.properties().styles[this._plotname].trackPrice.value()&&e}}},Tmoa:function(e,t,i){"use strict";i.r(t),i.d(t,"generateColor",(function(){return r})),i.d(t,"alphaToTransparency",(function(){return n})),i.d(t,"transparencyToAlpha",(function(){return o})),i.d(t,"applyTransparency",(function(){return a})),i.d(t,"resetTransparency",(function(){return l})),i.d(t,"getLuminance",(function(){return c})),i.d(t,"isHexColor",(function(){return h})),i.d(t,"colorFromBackground",(function(){return u})),i.d(t,"gradientColorAtPercent",(function(){return d})),i.d(t,"isColorDark",(function(){return p})),i.d(t,"rgbaFromInteger",(function(){return _})),i.d(t,"rgbaToInteger",(function(){return m})),i.d(t,"colorToInteger",(function(){return f}));var s=i("eJTA")
;function r(e,t,i){if(t=t||0,!h(e))return i?Object(s.rgbaToString)(Object(s.rgba)(Object(s.parseRgb)(e),Object(s.normalizeAlphaComponent)(o(t)))):e;const[r,n,a]=Object(s.parseRgb)(e),l=Object(s.normalizeAlphaComponent)(o(t));return Object(s.rgbaToString)([r,n,a,l])}function n(e){return 100*(1-e)}function o(e){if(e<0||e>100)throw new Error("invalid transparency");return 1-e/100}function a(e,t){if("transparent"===e)return e;const i=Object(s.parseRgba)(e),r=i[3];return Object(s.rgbaToString)(Object(s.rgba)(i[0],i[1],i[2],o(t)*r))}function l(e){return"transparent"===e||h(e)?e:Object(s.rgbaToString)(Object(s.rgba)(Object(s.parseRgb)(e),Object(s.normalizeAlphaComponent)(1)))}function c(e){const t=Object(s.parseRgb)(e).map(e=>(e/=255)<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4));return Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}function h(e){return 0===e.indexOf("#")}function u(e){return"black"===Object(s.rgbToBlackWhiteString)(Object(s.parseRgb)(e),150)?"#ffffff":"#000000"}function d(e,t,i){const[r,n,o,a]=Object(s.parseRgba)(e),[l,c,h,u]=Object(s.parseRgba)(t),d=Object(s.rgba)(Math.round(r+i*(l-r)),Math.round(n+i*(c-n)),Math.round(o+i*(h-o)),a+i*(u-a));return Object(s.rgbaToString)(d)}function p(e){return c(l(e))<.5}function _(e){const t=(e=Math.round(e))%256;e-=t;const i=(e/=256)%256;e-=i;const s=(e/=256)%256;e-=s;return`rgba(${t},${i},${s},${(e/=256)/255})`}function m(e){const t=Math.round(255*e[3]);return e[0]+256*e[1]+65536*e[2]+16777216*t}function f(e){const t=Object(s.tryParseRgba)(e);return null===t?0:m(t)}},TohL:function(e,t,i){"use strict";i.r(t),i.d(t,"LineToolArrowMark",(function(){return l})),i.d(t,"LineToolArrowMarkLeft",(function(){return c})),i.d(t,"LineToolArrowMarkUp",(function(){return h})),i.d(t,"LineToolArrowMarkRight",(function(){return u})),i.d(t,"LineToolArrowMarkDown",(function(){return d}));var s=i("Ocx9"),r=i("Ss5c"),n=i("tc+8"),o=i.n(n),a=i("j3hX");class l extends r.LineDataSource{constructor(e,t,s){const r=t||l.createProperties(null,s);super(e,r),this._textPaneView=null,i.e("lt-pane-views").then(i.bind(null,"ct+2")).then(({ArrowMarkPaneView:t})=>{const i=[new t(this,e)];this._setPaneViews(i)})}paneViews(e){const t=super.paneViews();return null!==t&&this._textPaneView&&t.push(this._textPaneView),t}pointsCount(){return 1}template(){const e=super.template();return e.text=this.properties().childs().text.value(),e}static createProperties(e,t){const i=new s.DefaultProperty(t,e);return l._configureProperties(i),i}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(27),i.e(62),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"5sLb")).then(e=>e.ArrowMarkDefinitionsViewModel)}_applyTemplateImpl(e){super._applyTemplateImpl(e),this.properties().childs().text.setValue(e.text)}static _configureProperties(e){r.LineDataSource._configureProperties(e),e.addChild("linesColors",new a.LineToolColorsProperty([e.childs().arrowColor])),e.addChild("textsColors",new a.LineToolColorsProperty([e.childs().color])),e.hasChild("text")||e.addChild("text",new o.a("")),e.addExclusion("text")}}
l.version=2;class c extends l{constructor(e,t){super(e,t,"linetoolarrowmarkleft")}direction(){return"left"}name(){return"Arrow Mark Left"}textAlignParams(){return{horzAlign:"left",vertAlign:"middle",offsetX:22,offsetY:3}}static createProperties(e){return l.createProperties(e,"linetoolarrowmarkleft")}}class h extends l{constructor(e,t){super(e,t,"linetoolarrowmarkup")}direction(){return"up"}name(){return"Arrow Mark Up"}textAlignParams(){return{horzAlign:"center",vertAlign:"top",offsetX:0,offsetY:20}}static createProperties(e){return l.createProperties(e,"linetoolarrowmarkup")}}class u extends l{constructor(e,t){super(e,t,"linetoolarrowmarkright")}direction(){return"right"}name(){return"Arrow Mark Right"}textAlignParams(){return{horzAlign:"right",vertAlign:"middle",offsetX:22,offsetY:3,forceTextAlign:!0}}static createProperties(e){return l.createProperties(e,"linetoolarrowmarkright")}}class d extends l{constructor(e,t){super(e,t,"linetoolarrowmarkdown")}direction(){return"down"}name(){return"Arrow Mark Down"}textAlignParams(){return{horzAlign:"center",vertAlign:"bottom",offsetX:0,offsetY:20}}static createProperties(e){return l.createProperties(e,"linetoolarrowmarkdown")}}},"U0+/":function(e,t,i){"use strict";i.r(t),i.d(t,"StudyMetaInfoRepository",(function(){return h}));i("YFKU");var s=i("Eyy1"),r=i("0YCj"),n=i.n(r),o=i("Si3H"),a=i("lCO3"),l=i("txPx");const c=Object(l.getLogger)("Chart.Studies.StudyMetaInfoRepository",{color:"#606"});class h{constructor(e){this._nextRequestNumber=1,this._rawStudiesMetaInfo=[],this._isReady=!1,this._metaInfoQueryQueue=[],this._javaMetaInfoQueryQueue=[],this._javaStudiesMetaInfo=[],this._pineMetaInfoCache=[],this._studiesMigrations=[],this._gateway=e}requestMetaInfo(){this._requestStarted();const e=this._makeNextRequestId();return c.logNormal("Requesting metainfo #"+e),new Promise(t=>{c.logNormal("Requesting studies metadata #"+e),this._gateway.requestMetadata(e,i=>{c.logNormal(`Requesting studies metadata #${e} finished`);const s=i.params[1].metainfo.slice();this._processLibraryMetaInfo(s),this._requestFinished(),t()})})}findById(e){if(!this._isReady)return this._enqueueMetaInfoQuery(e);const t=this._findStudyMetaInfo(e);return null!==t?Promise.resolve(t):"pine"===e.type?this._compilePine(e):Promise.reject(`unexpected study id=${e.studyId} with type=${e.type}`)}findByIdSync(e){return this._findStudyMetaInfo(e)}isReady(){return this._isReady}findAllJavaStudies(){return this._isReady?Promise.resolve(this._javaStudiesMetaInfo):this._enqueueJavaMetaInfoQuery()}getInternalMetaInfoArray(){return this._javaStudiesMetaInfo}getMigrations(){return this._studiesMigrations}addPineMetaInfo(e){return d(this._pineMetaInfoCache,e)}_processMigrations(e){throw new Error("not implemented")}_processSiteMetaInfo(e,t){throw new Error("not implemented")}_processLibraryMetaInfo(e){for(const t of e)u(t),d(this._javaStudiesMetaInfo,t);this._javaStudiesMetaInfo=this._javaStudiesMetaInfo.sort((e,t)=>{const i=e.description_localized||e.description,s=t.description_localized||t.description;return i>s?1:i{this._metaInfoQueryQueue.push({studyDescriptor:e,resolver:t})})}_enqueueJavaMetaInfoQuery(){return new Promise(e=>{this._javaMetaInfoQueryQueue.push({resolver:e})})}_processPendingMetaInfoQueries(){for(;this._metaInfoQueryQueue.length;){const e=this._metaInfoQueryQueue.shift();this.findById(e.studyDescriptor).then(e.resolver)}}_processPendingFullMetaInfoQueries(){for(;this._javaMetaInfoQueryQueue.length;){this._javaMetaInfoQueryQueue.shift().resolver(this._javaStudiesMetaInfo)}}_findStudyMetaInfo(e){return"java"===e.type?this._javaStudiesMetaInfo.find(t=>t.id===e.studyId)||null:this._pineMetaInfoCache.find(t=>t.scriptIdPart===e.pineId&&(void 0===e.pineVersion||Object(s.ensureDefined)(t.pine).version===e.pineVersion))||null}_makeNextRequestId(){return"metadata_"+this._nextRequestNumber++}_compilePine(e){throw new Error("unsupported")}}function u(e){e.description_localized=window.t(e.description,{context:"study"})}function d(e,t){const i=new n.a(t);Object(o.migrateMetaInfoAndPropState)(i);let s=!0;const r=e.findIndex(e=>e.id===i.id);if(-1===r)e.push(i);else{const t=e[r],n=void 0!==t.pine?a.Version.parse(t.pine.version):null,o=void 0!==i.pine?a.Version.parse(i.pine.version):null;null===o||null===n||o.isGreaterOrEqual(n)?(t.removeDefaults(),e[r]=i):s=!1}return s&&i.createDefaults(),i}},UAFa:function(e,t,i){"use strict";i.r(t);var s=i("i6cO"),r=i("23IT"),n=i("Eyy1");const o=new Map([[s.ColorerType.Main,"color"],[s.ColorerType.Text,"textColor"],[s.ColorerType.Border,"borderColor"],[s.ColorerType.Wick,"wickColor"],[s.ColorerType.Up,"colorup"],[s.ColorerType.Down,"colordown"]]);class a{constructor(e){this._plotStyle=e}getPlotPointStyle(e,t){const i=t?Object(s.clearStyle)(t):Object(s.createEmptyStyle)();return o.forEach((e,t)=>{this._plotStyle[e]&&(i.colors[t]=this._plotStyle[e].value())}),i.lineWidth=this._plotStyle.linewidth?this._plotStyle.linewidth.value():void 0,i.lineStyle=this._plotStyle.linestyle?this._plotStyle.linestyle.value():void 0,i}isColorDefined(){return!0}singleColor(){return!0}getDefaultPlotPointStyle(){return null}}class l{constructor(e,t,i,s){this._palettes=new Map,this._metaInfo=e,this._properties=t,this._indexes=s,this._plotStyle=t.styles[i];const r=Object(n.ensureDefined)(this._metaInfo.palettes);s.forEach((t,i)=>{const s=e.plots[t];if(s&&"palette"in s){const e=r[s.palette],t=this._properties.palettes[s.palette];e&&t&&this._palettes.set(i,{palette:e,props:t})}})}getPlotPointStyle(e,t){const i=t?Object(s.clearStyle)(t):Object(s.createEmptyStyle)();if(this._palettes.has(s.ColorerType.Main)){const t=Object(n.ensureDefined)(this._indexes.get(s.ColorerType.Main)),r=e[t+1];if(null!=r){
const e=Object(n.ensureDefined)(this._palettes.get(s.ColorerType.Main)),t=e.palette,o=e.props,a=Object(n.ensureDefined)(t.valToIndex?t.valToIndex[r]:r),l=o.colors[a];i.lineWidth=l.width.value(),i.lineStyle=l.style.value()}}return Object.keys(s.ColorerType).forEach(t=>{const s=parseInt(t);if(this._palettes.has(s)){const t=Object(n.ensureDefined)(this._indexes.get(s)),r=e[t+1];if(null!=r){const e=Object(n.ensureDefined)(this._palettes.get(s)),t=Object(n.ensureDefined)(e.palette.valToIndex?e.palette.valToIndex[r]:r),o=e.props.colors[t];i.colors[s]=o.color.value()}else i.colors[s]="transparent"}else if(this._plotStyle){const e=o.get(s);void 0!==e&&this._plotStyle[e]&&(i.colors[s]=this._plotStyle[e].value())}}),i}getDefaultPlotPointStyle(){const e=Object(n.ensureDefined)(this._palettes.get(s.ColorerType.Main)).props.colors[0];if(null!=e){return{colors:[e.color.value(),void 0,void 0,void 0,void 0,void 0,void 0],lineWidth:e.width.value()}}return null}isColorDefined(){return!!this._palettes.size}singleColor(){return!1}}var c=i("Tmoa");class h{constructor(e){this._indexes=e}getPlotPointStyle(e,t){const i=t?Object(s.clearStyle)(t):Object(s.createEmptyStyle)();return this._indexes.forEach((t,s)=>{const r=e[t+1];if(null!=r){const e=Object(c.rgbaFromInteger)(r);i.colors[s]=e}else i.colors[s]="transparent"}),i}isColorDefined(){return!0}singleColor(){return!1}getDefaultPlotPointStyle(){return null}}i.d(t,"createStudyPlotColorProvider",(function(){return d}));const u=new Map([[s.ColorerType.Main,function(e,t){const i=Object(r.isColorerPlot)(t)||Object(r.isOhlcColorerPlot)(t);return"target"in t&&t.target===e&&i}],[s.ColorerType.Text,function(e,t){const i=Object(r.isTextColorerPlot)(t);return"target"in t&&t.target===e&&i}],[s.ColorerType.Background,function(e,t){return Object(r.isBgColorerPlot)(t)&&t.id===e}],[s.ColorerType.Border,function(e,t){const i=Object(r.isCandleBorderColorerPlot)(t);return"target"in t&&t.target===e&&i}],[s.ColorerType.Wick,function(e,t){const i=Object(r.isCandleWickColorerPlot)(t);return"target"in t&&t.target===e&&i}],[s.ColorerType.Up,function(e,t){const i=Object(r.isUpColorerPlot)(t);return"target"in t&&t.target===e&&i}],[s.ColorerType.Down,function(e,t){const i=Object(r.isDownColorerPlot)(t);return"target"in t&&t.target===e&&i}]]);function d(e,t,i){const{colorers:s}=function(e,t){const i=e.plots,s=i.findIndex(e=>e.id===t),r=new Map;return i.forEach((e,i)=>{u.forEach((s,n)=>{s(t,e)&&r.set(n,i)})}),{plotIndex:-1===s?null:s,colorers:r}}(e,i);if(s.size)return e.isRGB?new h(s):new l(e,t,i,s);{const e=t.ohlcPlots;if(e&&e[i])return new a(e[i]);const s=t.styles[i];return new a(s)}}},UCMi:function(e,t,i){"use strict";i.r(t),i.d(t,"LineToolDateAndPriceRange",(function(){return a}));var s=i("Eyy1"),r=i("Ocx9"),n=i("Ss5c"),o=i("585y");class a extends n.LineDataSource{constructor(e,t){super(e,t||a.createProperties()),this._volumeCalculator=null,i.e("lt-pane-views").then(i.bind(null,"UcQu")).then(e=>{this._setPaneViews([new e.DateAndPriceRangePaneView(this,this._model)])})}destroy(){super.destroy(),
null!==this._volumeCalculator&&this._volumeCalculator.destroy()}pointsCount(){return 2}properties(){return super.properties()}name(){return"Date and Price Range"}volume(){if(null===this._volumeCalculator)return NaN;const e=this.points();return this._volumeCalculator.volume(e[0].index,e[1].index)}setOwnerSource(e){e===this._model.mainSeries()&&(Object(s.assert)(null===this._volumeCalculator),this._volumeCalculator=new o.a(this._model.mainSeries())),super.setOwnerSource(e)}static createProperties(e){const t=new r.DefaultProperty("linetooldateandpricerange",e);return a._configureProperties(t),t}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(27),i.e(62),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"Ax76"))).GeneralDatePriceRangeDefinitionsViewModel}static _configureProperties(e){n.LineDataSource._configureProperties(e)}}},UCjq:function(e,t,i){"use strict";i.r(t);var s=i("YFKU"),r=i("Eyy1"),n=i("aO4+"),o=i("qFKp"),a=i("VaSN"),l=i("FQhm"),c=i("ogJP"),h=i("FIi8"),u=i("VdBB"),d=i("vTIA"),p=i("KnF9"),_=i("3ClC"),m=i("GxN8"),f=i("CW80"),g=i("mMWL"),b=i("bOGh"),v=i("fTGZ"),S=i("ikwP"),y=i("gAom"),w=i("mE5r"),P=i("1IXQ");function C(e,t){return e.position-t.position}function x(e,t,i){const s=(e.position-t.position)/(e.time-t.time);return Math.sign(s)*Math.min(Math.abs(s),i)}class T{constructor(e,t,i,s){this._position1=null,this._position2=null,this._position3=null,this._position4=null,this._animationStartPosition=null,this._durationMsecs=0,this._speedPxPerMsec=0,this._terminated=!1,this._minSpeed=e,this._maxSpeed=t,this._dumpingCoeff=i,this._minMove=s}addPosition(e,t){if(null!==this._position1){if(this._position1.time===t)return void(this._position1.position=e);if(Math.abs(this._position1.position-e)50)return;let i=0;const s=x(this._position1,this._position2,this._maxSpeed),r=C(this._position1,this._position2),n=[s],o=[r];if(i+=r,null!==this._position3){const e=x(this._position2,this._position3,this._maxSpeed);if(Math.sign(e)===Math.sign(s)){const t=C(this._position2,this._position3);if(n.push(e),o.push(t),i+=t,null!==this._position4){const e=x(this._position3,this._position4,this._maxSpeed);if(Math.sign(e)===Math.sign(s)){const t=C(this._position3,this._position4);n.push(e),o.push(t),i+=t}}}}let a=0;for(let e=0;ethis._state&&this._chartModel().lightUpdate(),this._topCanvasConfiguredHandler=()=>this._state&&this._chartModel().lightUpdate(),this._recalculateLegendVisibility=()=>{const e=Object(r.ensureNotNull)(this._hideWholeLegend),t=this._chartModel().crossHairSource().measurePane();null!==t?e.setValue(t===this._state):e.setValue(Object(g.toolIsMeasure)(g.tool.value()))},this._chart=e,this._state=t,this._options=Object(c.merge)(Object(c.clone)(oe),i),this._paneWidgetsSharedState=s,this._state&&(this._state.onDestroyed().subscribe(this,this._onStateDestroyed,!0),this._state.dataSourcesCollectionChanged().subscribe(this,this._onDataSourcesCollectionChanged));const n={contextMenuEnabled:this._options.priceScaleContextMenuEnabled,pressedMouseMoveScale:this._options.handleScale.axisPressedMouseMove.price,mouseWheelScale:this._options.handleScale.mouseWheel,currencyConversionEnabled:this._options.currencyConversionEnabled,unitConversionEnabled:this._options.unitConversionEnabled,countdownEnabled:this._options.countdownEnabled,croppedTickMarks:this._options.croppedTickMarks};void 0!==this._options.priceScaleContextMenu&&(n.contextMenu=this._options.priceScaleContextMenu);const o=(e,t,i,s,r)=>new P.PriceAxisWidget(this,this._chartUndoModel(),i,t,e,n,s,r),l=e.properties().childs().scalesProperties,h=this._chartModel().rendererOptionsProvider(),u={backgroundBasedTheme:e.backgroundBasedTheme(),rendererOptionsProvider:h,getBackgroundTopColor:()=>this._chartModel().backgroundTopColor().value(),getBackgroundBottomColor:()=>this._chartModel().backgroundColor().value()},d={showLabels:!1};this._lhsPriceAxisesContainer=new w.a(l,"left",o,u,d),this._rhsPriceAxisesContainer=new w.a(l,"right",o,u,d),this._paneCell=document.createElement("td"),this._paneCell.classList.add("chart-markup-table","pane"),this._div=document.createElement("div"),this._div.classList.add("chart-gui-wrapper"),this._paneCell.appendChild(this._div),this._canvasBinding=Object(S.createBoundCanvas)(this._div,new S.Size(16,16)),this._canvasBinding.subscribeCanvasConfigured(this._canvasConfiguredHandler);const p=this._canvasBinding.canvas;p.style.position="absolute",p.style.left="0",p.style.top="0",this._topCanvasBinding=Object(S.createBoundCanvas)(this._div,new S.Size(16,16)),this._topCanvasBinding.subscribeCanvasConfigured(this._topCanvasConfiguredHandler);const _=this._topCanvasBinding.canvas;_.style.position="absolute",_.style.left="0",_.style.top="0",this._rowElement=document.createElement("tr"),this._rowElement.appendChild(this._lhsPriceAxisesContainer.getElement()),this._rowElement.appendChild(this._paneCell),this._rowElement.appendChild(this._rhsPriceAxisesContainer.getElement()),this._options.legendWidgetEnabled&&(this._options.customLegendWidgetFactories&&(this._customLegendWidgetsFactoryMap=this._options.customLegendWidgetFactories),this._loadAndCreateLegendWidget()),this._state&&!this._chart.readOnly()&&this._options.controlsEnabled&&this._loadAndCreatePaneControlsWidget(),Object(z.a)().subscribe(this._onMagnetStateChangedListener),
Object(Y.d)().subscribe(this._onShiftKeyStateChangedListener),this._paneCell.addEventListener("dragover",e=>{e.dataTransfer&&Array.from(e.dataTransfer.files).some(blobImageFilter)&&e.preventDefault()})}destroy(){this._chart.onPaneWidgetDestroyed(this),this._customLegendWidgetsFactoryMap.clear(),this._topCanvasBinding.unsubscribeCanvasConfigured(this._topCanvasConfiguredHandler),this._topCanvasBinding.destroy(),this._canvasBinding.unsubscribeCanvasConfigured(this._canvasConfiguredHandler),this._canvasBinding.destroy(),null!==this._hideNotMainSourcesInLegendSpawn&&this._hideNotMainSourcesInLegendSpawn.destroy(),this._legendWidget&&(this._legendWidget.destroy(),this._legendWidget=null),null!==this._paneControlsResizeObserver&&this._paneControlsResizeObserver.disconnect(),null!==this._paneControls&&(this._paneControls.destroy(),this._paneControls=null),this._lhsPriceAxisesContainer.destroy(),this._rhsPriceAxisesContainer.destroy(),this.hasState()&&(this.state().onDestroyed().unsubscribeAll(this),this.state().dataSourcesCollectionChanged().unsubscribeAll(this)),Object(z.a)().unsubscribe(this._onMagnetStateChangedListener),Object(Y.d)().unsubscribe(this._onShiftKeyStateChangedListener),this._paneWidgetsSharedState.onPaneDestroyed(this),null!==this._hideWholeLegend&&(g.tool.unsubscribe(this._recalculateLegendVisibility),this._chartModel().crossHairSource().measuringEnabled().unsubscribeAll(this))}size(){return this._size}setSize(e){Object(r.assert)(e.w>=0&&e.h>=0,"Try to set invalid size to PaneWidget "+JSON.stringify(e)),this._size.equals(e)||(this._size=e,this._canvasBinding.resizeCanvas({width:e.w,height:e.h}),this._topCanvasBinding.resizeCanvas({width:e.w,height:e.h}),this._paneCell.style.width=e.w+"px",this._paneCell.style.height=e.h+"px",this._div.style.width=e.w+"px",this._div.style.height=e.h+"px",this._rowElement.classList.toggle("js-hidden",0===e.h),null!==this._legendWidget&&this._legendWidget.updateWidgetModeBySize(e),null!==this._paneControls&&this._paneControls.updateWidgetModeByWidth(e.w))}width(){return this._size.w}height(){return this._size.h}backgroundColor(){return this._chartModel().backgroundColor().value()}processDoubleClickOnSource(e,t){e.id()!==this._lastFinishedToolId&&this._showEditDialogForSource(e,t)}setCursorForTool(e,t,i){if(t&&t.control()&&e)return void this._setCursorClassName("pointer");if(void 0!==i){switch(i){case j.PaneCursorType.VerticalResize:this._setCursorClassName("ns-resize");break;case j.PaneCursorType.HorizontalResize:this._setCursorClassName("ew-resize");break;case j.PaneCursorType.DiagonalNeSwResize:this._setCursorClassName("nesw-resize");break;case j.PaneCursorType.DiagonalNwSeResize:this._setCursorClassName("nwse-resize");break;case j.PaneCursorType.Default:this._setCursorClassName("default");break;case j.PaneCursorType.Pointer:this._setCursorClassName("pointer");break;case j.PaneCursorType.Grabbing:this._setCursorClassName("grabbing")}return}const s=g.tool.value();if(Object(g.toolIsCursor)(s)){
if(null!==this._paneWidgetsSharedState.draggingSource()||this._isScrolling||this._chartUndoModel()&&this._chartUndoModel().model().sourcesBeingMoved().length)return void this._setCursorClassName("grabbing");if(e&&this._options.sourceSelectionEnabled)return void this._setCursorClassName("pointer")}if("eraser"===s)return void this._setCursorClassName("eraser");if("zoom"===s)return void this._setCursorClassName("zoom-in");const r=g.cursorTool.value();"dot"!==r?"arrow"!==r?this._setCursorClassName(""):this._setCursorClassName("default"):this._setCursorClassName("dot")}showContextMenuForSelection(e){const t=this._chartUndoModel().selection();if(t.isEmpty())return;const i=t.dataSources().filter(e=>e.hasContextMenu());this.showContextMenuForSources(i,e)}async showContextMenuForSources(e,t,i){if(!e.length)return Promise.resolve(null);const s=e[0],r=Object(c.merge)(Object(c.clone)(this._options.contextMenu),i||{}),n=new E.ActionsProvider(this._chart,r);if(s===this._chartUndoModel().crossHairSource())return s.handleContextMenuEvent(t),Promise.resolve(null);{const i=await n.contextMenuActionsForSources(e);return 0===i.length?Promise.resolve(null):k.ContextMenuManager.createMenu(i).then(e=>(e.show(t),e))}}leftPriceAxisesContainer(){return this._lhsPriceAxisesContainer}rightPriceAxisesContainer(){return this._rhsPriceAxisesContainer}setPriceAxisSizes(e,t,i){this._priceAxisesContainer(e).setSizes(t,i)}state(){return Object(r.ensureNotNull)(this._state)}hasState(){return null!==this._state}setState(e){this._state!==e&&(this.hasState()&&(this.state().onDestroyed().unsubscribeAll(this),this.state().dataSourcesCollectionChanged().unsubscribeAll(this)),this._state=e,this.hasState()&&(this.state().onDestroyed().subscribe(this,this._onStateDestroyed,!0),this.state().dataSourcesCollectionChanged().subscribe(this,this._onDataSourcesCollectionChanged),this.updatePriceAxisWidgets()))}getScreenshotData(e){const t=[],i=[];let s,r=[];const n=this.state().sourcesByGroup().allExceptSpecialSources().slice().reverse(),o=this._chart.properties().childs().paneProperties.childs().legendProperties.childs();for(const a of n){const n=a.statusView();Object(_.isStudy)(a)&&(o.showLegend.value()||(null==e?void 0:e.showCollapsedStudies))?a.properties().visible.value()&&n&&o.showStudyTitles.value()&&(t.push(a.statusProvider(null==e?void 0:e.status).text()),i.push(a.valuesProvider().getValues(null))):a===this._chartModel().mainSeries()&&n&&o.showSeriesTitle.value()&&(s=a.statusProvider((null==e?void 0:e.status)||{}).text(),r=a.valuesProvider().getValues(null))}return{type:"pane",leftAxis:this._lhsPriceAxisesContainer.getScreenshotData(),rightAxis:this._rhsPriceAxisesContainer.getScreenshotData(),content:this._canvasBinding.canvas.toDataURL(),canvas:this._canvasBinding.canvas,contentWidth:this._size.w,contentHeight:this._size.h,studies:t,studiesValues:i,containsMainSeries:this.containsMainSeries(),mainSeriesText:s,mainSeriesValues:r}}hardResetCanvas(){this._size.equals(new S.Size(0,0))||(Object(S.hardResizeCanvas)(this._canvasBinding,this._size),
Object(S.hardResizeCanvas)(this._topCanvasBinding,this._size),this._lhsPriceAxisesContainer.hardResetCanvas(),this._rhsPriceAxisesContainer.hardResetCanvas())}updatePriceAxisWidgets(){if(!this.hasState())return;const e=this._chartModel(),t=e.paneForSource(e.mainSeries());if(!t)return;const i=e.priceScaleSlotsCount(),s=this.state(),r=s.visibleLeftPriceScales(),n=s.visibleRightPriceScales();this._lhsPriceAxisesContainer.setScales(r,i.left,t.leftPriceScales().length,i.left+i.right),this._rhsPriceAxisesContainer.setScales(n,i.right,t.rightPriceScales().length,i.left+i.right)}update(){this.hasState()&&(this._lhsPriceAxisesContainer.update(),this._rhsPriceAxisesContainer.update(),null!==this._legendWidget&&this._legendWidget.update(),this.updateControls())}updateStatusWidget(e=q.InvalidationLevel.None){this.hasState()&&null!==this._legendWidget&&(e===q.InvalidationLevel.Full?this._legendWidget.updateLayout():this._legendWidget.update())}updateControls(){this.hasState()&&null!==this._paneControls&&this._paneControls.update()}updateThemedColors(e,t){this._themedTopColor=e,this._themedBottomColor=t,this._updateByThemedColors()}statusWidget(){return this._legendWidget}getElement(){return this._rowElement}canvasElement(){return this._canvasBinding.canvas}hasCanvas(e){return this._canvasBinding.canvas===e||this._topCanvasBinding.canvas===e}pinchStartEvent(){null===this._paneWidgetsSharedState.scrollingPane()&&null===this._paneWidgetsSharedState.pinchingPane()&&(this._onTouchEvent(),this._options.handleScale.pinch&&(this._terminateActiveAnimations(),this._prevPinchScale=1,this._pinching=!0,this._wasPinched=!0,this._paneWidgetsSharedState.setPinchingPane(this)))}pinchEvent(e,t){if(null!==this._paneWidgetsSharedState.scrollingPane()||this._paneWidgetsSharedState.pinchingPane()!==this)return;if(this._onTouchEvent(),!this._options.handleScale.pinch)return;const i=10*(t-this._prevPinchScale);this._prevPinchScale=t,this._chartModel().zoomTime(e.x,i,!0),this._prevPinchScale=t}pinchEndEvent(){null===this._paneWidgetsSharedState.scrollingPane()&&this._paneWidgetsSharedState.pinchingPane()===this&&(this._onTouchEvent(),this._pinching=!1,this._paneWidgetsSharedState.setPinchingPane(null))}mouseClickEvent(e){this._onMouseEvent(),this._mouseClickOrTapEvent(e)}tapEvent(e){this._preventTouchEventsExceptPinch()||(this._onTouchEvent(),this._mouseClickOrTapEvent(e))}mouseDownEvent(e){this._onMouseEvent(),this.hasState()&&this._mouseDownOrTouchStartEvent(e,Object(r.ensureNotNull)(this._dataSourceAtPoint(e.localX,e.localY)))}touchStartEvent(e){if(this._paneWidgetsSharedState.startTouch(this),this._preventTouchEventsExceptPinch())return;const t=this._chartModel().crossHairSource(),i=!this._trackCrosshairOnlyAfterLongTap&&t.pane===this._state&&Number.isFinite(t.originX())&&Number.isFinite(t.originY())&&Math.abs(t.originX()-e.localX)+Math.abs(t.originY()-e.localY)<5;this._onTouchEvent(),this._chart.setActivePaneWidget(this);const s=Object(r.ensureNotNull)(this._dataSourceAtPoint(e.localX,e.localY))
;i&&(s.source===t||t.selectPointMode().value()?this.startTrackingMode(new n.Point(e.localX,e.localY),new n.Point(e.localX,e.localY)):!this._chart.readOnly()&&Object(f.isLineTool)(s.source)&&s.source.userEditEnabled()&&this._chartUndoModel().selectionMacro(e=>{var t;e.clearSelection(),e.addSourceToSelection(s.source,null===(t=s.hittest)||void 0===t?void 0:t.data())})),this._mouseDownOrTouchStartEvent(e,s),this._mouseOrTouchMoveEvent(e)}mouseUpEvent(e){this._onMouseEvent(),this._mouseUpOrTouchEndEvent(e)}touchEndEvent(e){this._paneWidgetsSharedState.endTouch(this),this._preventTouchEventsExceptPinch()||(this._onTouchEvent(),this._mouseOrTouchLeaveEvent(e),this._mouseUpOrTouchEndEvent(e))}mouseMoveEvent(e){this._onMouseEvent(),this._mouseOrTouchMoveEvent(e)}pressedMouseMoveEvent(e){this._onMouseEvent(),this._pressedMouseOrTouchMoveEvent(e)}touchMoveEvent(e){this._preventTouchEventsExceptPinch()||(this._onTouchEvent(),this._pressedMouseOrTouchMoveEvent(e))}mouseLeaveEvent(e){this._onMouseEvent(),this._mouseOrTouchLeaveEvent(e)}mouseDoubleClickEvent(e){this._onMouseEvent(),this._mouseDoubleClickOrDoubleTapEvent(e)}wheelClickEvent(e){var t,i;if(this._chart.readOnly())return;const s=this._dataSourceAtPoint(e.localX,e.localY);if(null===s||s.isCustom||null===s.source)return;if(((null===(t=s.hittest)||void 0===t?void 0:t.result())||0)<=u.HitTestResult.MOVEPOINT_BACKGROUND)return;const n=new p.a(e),o=null===(i=s.hittest)||void 0===i?void 0:i.eraseMarker();if(n.control()&&void 0!==o&&s.source.processErase)return void s.source.processErase(this._chartUndoModel(),o);const a=this._chartUndoModel();a.selection().isSelected(s.source)||a.selectionMacro(e=>{e.clearSelection();const t=Object(r.ensureNotNull)(s.source);e.addSourceToSelection(t,ne(s,t))}),this._chart.removeSelectedSources()}doubleTapEvent(e){this._preventTouchEventsExceptPinch()||(this._onTouchEvent(),this._mouseDoubleClickOrDoubleTapEvent(e))}longTapEvent(e){this._preventTouchEventsExceptPinch()||(this._onTouchEvent(),this._longTap=!0,null===this._startTrackPoint&&this._trackingModeShouldBeActive()&&this.startTrackingMode(new n.Point(e.localX,e.localY),new n.Point(e.localX,e.localY),new p.a(e)))}mouseEnterEvent(e){this._onMouseEvent(),this.hasState()&&(this._chart.setActivePaneWidget(this),this._setCursorPosition(e.localX,e.localY,new p.a(e)))}contextMenuEvent(e){this._onMouseEvent(),this._contextMenuEvent(e)}touchContextMenuEvent(e){this._preventTouchEventsExceptPinch()||(this._onTouchEvent(),this._contextMenuEvent(e))}mouseDownOutsideEvent(){this._processOutsideClick({hittest:null,isCustom:!1,renderer:null,source:null})}cancelZoom(){this._chartModel().crossHairSource().clearSelection(),this._firstZoomPoint=null,this._preventCrossHairMove()&&this._clearCursorPosition()}startTrackingMode(e,t,i){this._startChangeLineToolParams=null,this._startMoveSourceParams=null,this._currentChangingLineToolHitTest=null,this._chartUndoModel().selectionMacro(e=>e.clearSelection()),this._startTrackPoint=e,this._exitTrackingModeOnNextTry=!1,this._setCursorPosition(t.x,t.y,i),
this._initCrossHairPosition=this._chartModel().crossHairSource().currentPoint()}setDragToAnotherPaneCursor(){this._setCursorClassName("grabbing")}cloneLineTools(e,t){return this._chartUndoModel().cloneLineTools(e,t)}exitTrackingMode(){null!==this._state&&null!==this._startTrackPoint&&(this._exitTrackingModeOnNextTry=!0,this._tryExitTrackingMode())}trackingModeEnabled(){return null!==this._state&&null!==this._startTrackPoint}addCustomWidgetToLegend(e,t){this._options.legendWidgetEnabled&&(this._customLegendWidgetsFactoryMap.set(e,t),null!==this._legendWidget&&this._legendWidget.addCustomWidgetToLegend(e,t))}containsMainSeries(){return!!this.hasState()&&this.state().containsMainSeries()}paint(e,t){if(!this._chartUndoModel()||!this.hasState())return;this._state&&(e.priceScaleSideMaxLevel("left")>q.InvalidationLevel.Cursor||e.priceScaleSideMaxLevel("right")>q.InvalidationLevel.Cursor)&&(this._recalculatePriceScales(),this._chartModel().updateCrosshairPositionByOriginCoords());const i=e.fullInvalidation();if(i>q.InvalidationLevel.Cursor){const e=this._chartModel().crossHairSource(),t=e.originX(),i=e.originY();if(e.pane===this._state&&Number.isFinite(t)&&Number.isFinite(i)){const e=this._dataSourceAtPoint(t,i);null!==e&&this._updateHoveredSource(e,Object(Y.b)())}}if(this._lhsPriceAxisesContainer.paint(e.getterForPriceScaleInvalidationLevelBySide("left")),this._rhsPriceAxisesContainer.paint(e.getterForPriceScaleInvalidationLevelBySide("right")),i!==q.InvalidationLevel.None){if(i>q.InvalidationLevel.Cursor){const e=Object(r.ensureNotNull)(this._canvasBinding.canvas.getContext("2d"));e.setTransform(1,0,0,1,0,0);const i=this._canvasRenderParams();this._drawBackground(e,i),this._state&&this._drawSources(e,i,t)}if(this._state){const e=Object(r.ensureNotNull)(this._topCanvasBinding.canvas.getContext("2d"));e.setTransform(1,0,0,1,0,0);const t=this._topCanvasRenderParams();e.clearRect(0,0,Math.ceil(this._size.w*t.pixelRatio),Math.ceil(this._size.h*t.pixelRatio)),this._drawSeriesTopViews(e,t),this._drawCrossHair(e,t),this._drawActiveLineTools(e,t)}}}cancelCreatingLineTool(){const e=this._chartUndoModel(),t=this._chartUndoModel().lineBeingCreated();if(t)if(t.pointsCount()<=0){const i=t.points();if(i.length>2){const s=i[i.length-2];e.continueCreatingLine(s),this._finishTool(t)}else e.cancelCreatingLine()}else e.cancelCreatingLine();null!==this._firstZoomPoint&&this.cancelZoom(),this.setCursorForTool()}cancelMeasuring(){this._chartUndoModel().crossHairSource().clearMeasure(),Object(g.resetToCursor)(),this.setCursorForTool()}_topCanvasRenderParams(){return{pixelRatio:this._topCanvasBinding.pixelRatio,physicalWidth:this._topCanvasBinding.canvas.width,physicalHeight:this._topCanvasBinding.canvas.height,cssWidth:this._chartModel().timeScale().width(),cssHeight:this.height()}}_canvasRenderParams(){return{pixelRatio:this._canvasBinding.pixelRatio,physicalWidth:this._canvasBinding.canvas.width,physicalHeight:this._canvasBinding.canvas.height,cssWidth:this._chartModel().timeScale().width(),cssHeight:this.height()}}_tryExitTrackingMode(e){
this._exitTrackingModeOnNextTry&&(this._startTrackPoint=null,e||this._clearCursorPosition())}_tryStartMeasure(e,t,i,s,r){return!(!Object(g.toolIsMeasure)(g.tool.value())||t.startMeasurePoint())&&(e.isTouch||this._preventCrossHairMove()||this._setCursorPosition(e.localX,e.localY,i),s=this._chartModel().magnet().align(s,r,this.state()),t.startMeasuring({price:s,index:r},this.state()),!0)}_tryFinishMeasure(e,t){if(t.startMeasurePoint()&&!t.endMeasurePoint()){let i=t.price;const s=t.index;return i=this._chartModel().magnet().align(i,s,this.state()),t.finishMeasure({price:i,index:s}),e.isTouch?Object(g.resetToCursor)():this._needResetMeasureLater=!0,this._preventCrossHairMove()&&this._clearCursorPosition(),!0}return!1}_tryStartZoom(e,t,i,s){const r=this._chart.model().model().zoomEnabled();if("zoom"===g.tool.value()&&r){const r=this._chartUndoModel(),n=r.timeScale().indexToCoordinate(i)-.5*r.timeScale().barSpacing();return this._firstZoomPoint={price:t,index:i,x:n,y:e.localY},this._preventCrossHairMove()||this._setCursorPosition(e.localX,e.localY,s),this._chartModel().crossHairSource().startSelection(this.state()),!0}return!1}_finishZoom(e){const t=this.state(),i=t.defaultPriceScale(),s=Object(r.ensureNotNull)(t.mainDataSource()).firstValue(),n=i.coordinateToPrice(e.localY,Object(r.ensureNotNull)(s)),o=this._chartUndoModel(),a=Math.round(o.timeScale().coordinateToIndex(e.localX)),l=Object(r.ensureNotNull)(this._firstZoomPoint);a!==l.index&&o.zoomToViewport(l.index,a,l.price,n,t),this._chartModel().crossHairSource().clearSelection(),this._firstZoomPoint=null,Object(g.resetToCursor)(),this._preventCrossHairMove()&&this._clearCursorPosition()}_tryFinishZoom(e){return null!==this._firstZoomPoint&&(this._finishZoom(e),!0)}_tryHandleEraserMouseDown(e,t){if(e.source&&"eraser"===g.tool.value()&&!e.isCustom&&(!(i=e.source)||!i.customization||!i.customization.disableErasing)){const i=this._chartUndoModel();if(null!==e.hittest&&(Object(f.isLineTool)(e.source)||Object(_.isStudy)(e.source))){const s=e.hittest.eraseMarker();return t.control()&&void 0!==s&&e.source.processErase?e.source.processErase(i,s):i.removeSource(e.source,!1),!0}}var i;return!1}_tryStartChangingLineTool(e,t,i,s){var n,o;if(e.isTouch&&null!==this._startTrackPoint)return!1;const a=t.hittest;if((!e.isTouch||!this._preventSourceChange)&&a&&Object(f.isLineTool)(t.source)&&a.result()===u.HitTestResult.CHANGEPOINT){const l=this._chartUndoModel(),c=Object(r.ensure)(null===(n=this.state().mainDataSource())||void 0===n?void 0:n.firstValue()),h=Object(r.ensureNotNull)(t.source.priceScale()).coordinateToPrice(e.localY,c);l.selectionMacro(e=>{e.clearSelection(),e.addSourceToSelection(t.source,a.data())});const u=l.model().magnet().align(h,s,this.state()),d=null===(o=a.data())||void 0===o?void 0:o.pointIndex;return this._startChangeLineToolParams={source:t.source,startPoint:{index:s,price:u},screenPoint:{x:e.localX,y:e.localY},pointIndex:d,envState:i},!0}return this._startChangeLineToolParams=null,!1}_tryStartCloning(e,t,i,s){if(i.control()){
const t=this._chartUndoModel().selection().dataSources().filter(e=>e.cloneable());if(s&&s.cloneable()&&t.push(s),t.length>0)return this._clonningAtMoveLineTools=t.map(e=>e.id()),this._startCloningPoint=new n.Point(e.localX,e.localY),!0}return!1}_tryFinishClonning(e,t,i){const s=this._chartUndoModel(),o=this._chartModel();if(t.control()&&this._clonningAtMoveLineTools){const a=new n.Point(e.localX,e.localY),l=Object(r.ensureNotNull)(this._startCloningPoint).subtract(a).length(),c=[];for(const e of this._clonningAtMoveLineTools){const t=o.dataSourceForId(e);null!==t&&c.push(t)}if(0===c.length)return!1;if(l>8){const o=this.cloneLineTools(c,!0).map(e=>Object(r.ensureNotNull)(s.model().dataSourceForId(e)));s.selectionMacro(e=>{e.clearSelection();let t=null;o.forEach(s=>{null===t&&(t=ne(i,s)),e.addSourceToSelection(s,t)})});const a=new n.Point(e.localX,e.localY),l=Object(r.ensureNotNull)(o[0].priceScale()),h=Object(r.ensureNotNull)(this.state().mainDataSource()).firstValue(),u={index:s.timeScale().coordinateToIndex(e.localX),price:l.coordinateToPrice(e.localY,Object(r.ensureNotNull)(h))};s.startMovingSources(o,{logical:u,screen:a},null,t),this._clonningAtMoveLineTools=null,this._startCloningPoint=null}return!0}return!1}_mouseDownEventForLineTool(e,t,i,s){var o,a;const l=g.tool.value();if(!this.hasState()||Object(B.isLineToolDrawWithoutPoints)(l))return;const c=this._chartUndoModel();let h=!1,u=null;Object(g.hideAllDrawings)().value()&&Object(g.hideAllIndicators)().setValue(!1),Object(g.hideAllDrawings)().setValue(!1),Object(g.lockDrawings)().setValue(!1),e.isTouch&&(Object(f.isLineToolName)(l)&&!Object(B.isLineDrawnWithPressedButton)(l)||c.lineBeingCreated())&&this._initToolCreationModeParams(e);const d=c.lineBeingCreated();if(d&&!Object(B.isLineDrawnWithPressedButton)(d.toolname)){const l=Object(r.ensure)(null===(o=d.ownerSource())||void 0===o?void 0:o.firstValue());if(e.isTouch){if(!this._startTouchPoint){this._startTouchPoint=new n.Point(e.pageX,e.pageY);const t=d.points(),i=t[t.length-1],s=c.timeScale().indexToCoordinate(i.index),o=Object(r.ensureNotNull)(d.priceScale()).priceToCoordinate(i.price,l);return void(this._initCrossHairPosition=new n.Point(s,o))}}else{u=d;const n=c.model().paneForSource(d);if(n!==this._state&&null!==n){const i=this._externalPaneXCoord(n,e.localX),s=this._externalPaneYCoord(n,e.localY);h=c.continueCreatingLine({index:Math.round(c.timeScale().coordinateToIndex(i)),price:Object(r.ensure)(null===(a=d.priceScale())||void 0===a?void 0:a.coordinateToPrice(s,l))},t)}else{const e=c.model().magnet().align(s,i,this.state());h=c.continueCreatingLine({index:i,price:e},t)}}}else if(!e.isTouch||Object(B.isLineDrawnWithPressedButton)(l)){const e={index:i,price:c.model().magnet().align(s,i,this.state())};u=c.createLineTool(this.state(),e,l),c.lineBeingCreated()||(h=!0)}const p=Object(r.ensureNotNull)(this._dataSourceAtPoint(e.localX,e.localY));u&&c.selectionMacro(e=>{var t;return e.addSourceToSelection(Object(r.ensureNotNull)(u),null===(t=p.hittest)||void 0===t?void 0:t.data())}),h&&u&&(this._finishTool(u,p),
e.preventDefault())}_handleSelectionMouseDownAndGetJustDeselectedSource(e,t,i){const s=this._chartUndoModel();let r=null;if(null===t.source||t.source.isSelectionEnabled()){let n=e.isTouch?Boolean(t.hittest&&t.hittest.result()>=u.HitTestResult.MOVEPOINT_BACKGROUND):Boolean(t.hittest&&t.hittest.result()>u.HitTestResult.MOVEPOINT_BACKGROUND);this._preventSourceChange&&(n=!1),s.selectionMacro(e=>{var s;n&&t.source?(i.control()||e.selection().isSelected(t.source)||e.clearSelection(),i.control()&&e.selection().isSelected(t.source)?(r=t.source,e.removeSourceFromSelection(t.source)):e.addSourceToSelection(t.source,null===(s=t.hittest)||void 0===s?void 0:s.data()),e.selection().allSources().length>1&&Object(W.trackEvent)("GUI","Multiselect","Click Select")):i.control()||e.clearSelection()})}return r}_processMouseMoveWhileZoom(e,t){this._preventCrossHairMove()||this._setCursorPosition(e.localX,e.localY,t)}_updateCommonTooltip(e,t){let i=null;if(null!==e&&null!==e.hittest){const t=e.hittest.data();t&&(i=t.tooltip||null)}const s=this._lastCommonTooltipData;if(null===s&&null===i)return;if(null===i||""===i.text)return this._lastCommonTooltipData=null,void Object(F.a)(t);if(s&&i.text===s.text&&i.rect&&s.rect&&i.rect.x===s.rect.x&&i.rect.y===s.rect.y&&i.rect.w===s.rect.w&&i.rect.h===s.rect.h)return;this._lastCommonTooltipData=i;const r=Object(c.clone)(i);if(void 0!==r.rect){const e=this._paneCell.getBoundingClientRect();r.rect.x+=e.left,r.rect.y+=e.top}Object(F.b)(r)}_setCursorPositionOnExternalPane(e,t,i,s){t=this._externalPaneXCoord(e,t),i=this._externalPaneYCoord(e,i);this._chart.paneByState(e)._setCursorPosition(t,i,s)}_setCursorPosition(e,t,i){this._chartModel().setAndSaveCurrentPosition(this._correctXCoord(e),this._correctYCoord(t),this.state(),i)}_setCursorClassName(e){let t="";e&&(t="pane--cursor-"+e),this._currentCursorClassName!==t&&(this._currentCursorClassName&&this._paneCell.classList.remove(this._currentCursorClassName),t&&this._paneCell.classList.add(t),this._currentCursorClassName=t,this._paneCell.style.cursor)}_processMouseUpOrTouchEndHandler(e){var t;null===(t=Object(r.ensureNotNull)(this._dataSourceAtPoint(e.localX,e.localY)).hittest)||void 0===t||t.tryCallMouseUpOrTouchEndHandler(e)}_crossHairShouldBeVisible(){const e=this._chartModel().crossHairSource();return Object(f.isLineToolName)(g.tool.value())||Object(g.toolIsMeasure)(g.tool.value())||e.startMeasurePoint()&&!e.endMeasurePoint()||null!==this._firstZoomPoint||null!==this._chartModel().lineBeingEdited()||null!==this._chartModel().lineBeingCreated()}_clearCursorPosition(){this._chartModel().clearCurrentPosition()}_dataSourceAtPoint(e,t){let i=null,s=null,r=null;if(!this.hasState())return null;const o=this.state(),a=o.height(),l=o.width();let c=!1;if(this._currentChangingLineToolHitTest)return this._currentChangingLineToolHitTest;const h=(e,t,n,o)=>{const a=r?r.result():0;e.result()>a&&(r=e,i=t,s=n,c=o)},u=this._canvasRenderParams(),p=new n.Point(e,t),_=this._chartUndoModel();this._hitTestChartSources(u,[_.crossHairSource()],p,h),
this._hitTestCustomSources(u,o.customSources(d.CustomSourceLayer.Topmost),p,h);const m=o.sourcesByGroup();this._hitTestChartSources(u,m.tradingSources(),p,h),this._hitTestCustomSources(u,o.customSources(d.CustomSourceLayer.Foreground),p,h);const f=[...this._chartModel().multiPaneSources(o),...m.hitTestSources()];if(this._hitTestChartSources(u,f,p,h),this.containsMainSeries()){const e=_.barsMarksSources();for(let t=0;t=0;--r){const l=t[r],c=l.paneViews(n);if(0!==c.length)for(let t=c.length-1;t>=0;--t){const r=c[t].renderer(o,a);if(null!==r){const t=r.hitTest(i,e);null!==t&&s(t,l,r,!0)}}}}_hitTestChartSources(e,t,i,s){const n=Object(r.ensureNotNull)(this._state),o=n.height(),a=n.width();for(let r=t.length;0{if((null===n||n.terminated())&&(null===o||o.terminated()))return;const e=Date.now();let t=null===n||n.finished(e);const i=null===o||o.finished(e);if(null!==n&&!n.terminated()){const i=r.rightOffset();s.scrollTimeTo(n.getPosition(e)),i===r.rightOffset()&&(t=!0,this._scrollXAnimation=null)}null===o||o.terminated()||null===this._scrollPriceScale||s.scrollPriceTo(this.state(),this._scrollPriceScale,o.getPosition(e)),t&&i?this._finishScroll():requestAnimationFrame(a)};requestAnimationFrame(a)}return t}_terminateActiveAnimations(){const e=Date.now(),t=null===this._scrollXAnimation||this._scrollXAnimation.finished(e),i=null===this._scrollYAnimation||this._scrollYAnimation.finished(e);null===this._scrollXAnimation&&null===this._scrollYAnimation||t&&i||this._finishScroll(),null!==this._scrollXAnimation&&(this._scrollXAnimation.terminate(),this._scrollXAnimation=null),
null!==this._scrollYAnimation&&(this._scrollYAnimation.terminate(),this._scrollYAnimation=null)}_preventScroll(){return this._trackCrosshairOnlyAfterLongTap&&this._longTap||this._contextMenuOpenedOnLastTap||Object(f.isLineToolName)(g.tool.value())||Boolean(this._chartUndoModel().lineBeingCreated())||null!==this._startTrackPoint}_isSelectPointModeEnabled(){return this._chartUndoModel().crossHairSource().selectPointMode().value()}_preventCrossHairMove(){return!!this._trackCrosshairOnlyAfterLongTap&&(null===this._chart.trackingModePaneWidget()&&(!!this._contextMenuOpenedOnLastTap||!this._crossHairShouldBeVisible()&&null===this._startTrackPoint))}_finishTool(e,t=null){const i=this._chartUndoModel(),s=g.tool.value();if(Object(g.resetToCursor)(),this._preventCrossHairMove()&&this._clearCursorPosition(),i.selectionMacro(i=>{i.addSourceToSelection(e,ne(t,e))}),Object(B.isTextToolName)(s)){const t=i.createUndoCheckpoint();this._chart.showChartPropertiesForSource(e,R.TabNames.text,void 0,t)}this._lastFinishedToolId=e.id(),Object(V.c)(e)}_alignSourcesThatBeingMoved(e,t,i,s){const r=this._chartUndoModel(),o=r.timeScale().coordinateToIndex(t);r.model().sourcesBeingMoved().forEach(e=>{const a=e.convertYCoordinateToPriceForMoving(i,this.state().mainDataSource());null!==a&&(this.setCursorForTool(),r.moveSources({screen:new n.Point(t,i),logical:{index:o,price:a}},s))})}_resetMeasureIfRequired(){this._needResetMeasureLater&&(Object(g.resetToCursor)(),this._needResetMeasureLater=!1)}_drawBackground(e,t){const i=Math.ceil(t.pixelRatio*this._size.w),s=Math.ceil(t.pixelRatio*this._size.h),r=this._chartModel(),n=r.backgroundTopColor().value(),o=r.backgroundColor().value();n===o?Object(S.clearRect)(e,0,0,i+1,s+1,o):Object(y.clearRectWithGradient)(e,0,0,i+1,s+1,n,o)}_drawWatermark(e,t){const i=this._chartModel().watermarkSource();if(null===i)return;const s=this.state();if(!s.containsMainSeries())return;const r=i.paneViews(),n=s.height(),o=s.width();for(const i of r){e.save();const s=i.renderer(n,o);s&&s.draw(e,t),e.restore()}}_drawCrossHair(e,t){const i=this._chartUndoModel().crossHairSource();!i.visible&&Object(g.lockTimeAxis)().value()&&(i.setLockedPosition(Object(r.ensureNotNull)(this._state)),i.updateAllViews()),this._drawSourceImpl(e,t,te,ee,i)}_drawActiveLineTools(e,t){const i=this._chartModel(),s=[i.lineBeingCreated(),i.lineBeingEdited(),...i.sourcesBeingMoved(),i.customSourceBeingMoved()].filter(e=>!!e);for(const r of s){(i.paneForSource(r)===this.state()||Object(m.a)(r)&&r.isMultiPaneEnabled())&&this._drawSourceImpl(e,t,te,ee,r)}}_drawSeriesTopViews(e,t){this.state().containsMainSeries()&&this._drawSourceImpl(e,t,ie,ee,this._chartUndoModel().mainSeries())}_drawSources(e,t,i){const s=this.state(),r=s.model(),n=s.sourcesByGroup(),o=n.tradingSources(),a=[...r.multiPaneSources(s),...n.generalSources()],l=n.phantomSources(),h=s.customSources(d.CustomSourceLayer.Background).slice(),u=s.customSources(d.CustomSourceLayer.Foreground).slice(),p=s.customSources(d.CustomSourceLayer.Topmost).slice();{const e=r.panes()
;for(let t=e.length-1;t>=0;t--)e[t].createDrawingsCaches()}this._drawSourceImpl(e,t,te,ee,r.gridSource()),this._drawWatermark(e,t);for(const i of h)this._drawSourceImpl(e,t,te,Q,i);for(const i of a)this._drawSourceImpl(e,t,te,Q,i);for(const i of u)this._drawSourceImpl(e,t,te,Q,i);for(const i of l)this._drawSourceImpl(e,t,te,Q,i);const _=new Set;[r.lineBeingCreated(),r.lineBeingEdited(),...r.sourcesBeingMoved(),r.customSourceBeingMoved()].filter(c.notNull).forEach(e=>_.add(e.id()));let f=r.hoveredSource();null!==f&&($(f)||_.has(f.id())||Object(m.a)(f)&&!a.includes(f)?f=null:_.add(f.id()));const g=r.selection().allSources().filter(e=>!(Object(m.a)(e)&&!a.includes(e))&&(!_.has(e.id())&&!$(e)));g.forEach(e=>_.add(e.id()));{for(const i of h)this._drawSourceImpl(e,t,te,ee,i,_);for(const i of a)this._drawSourceImpl(e,t,te,ee,i,_);for(const i of u)this._drawSourceImpl(e,t,te,ee,i,_);const i=r.activeStrategySource().value();i&&this.containsMainSeries()&&this._drawSourceImpl(e,t,re,ee,i)}for(const i of o)this._drawSourceImpl(e,t,te,Q,i);for(const i of p)this._drawSourceImpl(e,t,te,Q,i);for(const i of o)this._drawSourceImpl(e,t,te,Q,i);for(const i of p)this._drawSourceImpl(e,t,te,Q,i);for(const i of a)this._drawSourceImpl(e,t,se,ee,i,_);for(const i of u)this._drawSourceImpl(e,t,se,ee,i,_);this._drawBarsMarks(e,t,i);for(const i of o)this._drawSourceImpl(e,t,te,ee,i,_);for(const i of p)this._drawSourceImpl(e,t,te,ee,i,_);for(const i of g)this._drawSourceImpl(e,t,te,ee,i);for(const i of g)this._drawSourceImpl(e,t,se,ee,i);f&&(this._drawSourceImpl(e,t,te,ee,f),this._drawSourceImpl(e,t,se,ee,f));for(const i of l)this._drawSourceImpl(e,t,te,ee,i,_);{const e=r.panes();for(let t=e.length-1;t>=0;t--)e[t].clearDrawingCaches()}}_drawSourceImpl(e,t,i,s,r,n){if(n&&n.has(r.id()))return;const o=this.state(),a=o.height(),l=o.width(),c=i(r,this.state());if(c)for(const i of c){const r=i.renderer(a,l);r&&(e.save(),s(r,e,t),e.restore())}}_drawBarsMarks(e,t,i){if(this.containsMainSeries()&&!i){const i=this._chartUndoModel().barsMarksSources();for(const s of i)this._drawSourceImpl(e,t,te,ee,s)}}_updateByThemedColors(){null!==this._legendWidget&&this._legendWidget.updateThemedColors(this._themedTopColor),null!==this._paneControls&&this._paneControls.updateThemedColors(this._themedTopColor)}_scrollUndoCommandInStack(){const e=this._chartUndoModel().undoHistory().undoStack();if(e.isEmpty())return!1;const t=e.head();if(!(t instanceof b.a))return!1;if(t.isEmpty())return!1;const i=t.commands()[0];return i instanceof A.PriceScaleChangeUndoCommand||i instanceof L.a}_onStateDestroyed(){this.setState(null)}_getHideNotMainSourcesValue(){return le&&!this._chart.isActive()&&!this._chart.crossHairSyncEnabled()}_onDataSourcesCollectionChanged(){this._startMoveSourceParams=null}_processMouseEnterLeaveMoveHandlers(e,t){var i,s,r,n;null!==this._prevHoveredHittest&&this._prevHoveredHittest.renderer!==e.renderer&&(Object(u.tryCallHandler)(t,null===(s=null===(i=this._prevHoveredHittest.hittest)||void 0===i?void 0:i.data())||void 0===s?void 0:s.mouseLeaveHandler),
this._prevHoveredHittest=null),t.isTouch||(e.hittest&&(null===(r=this._prevHoveredHittest)||void 0===r?void 0:r.renderer)!==e.renderer&&(e.hittest.tryCallMouseEnterHandler(t),this._prevHoveredHittest=e),null===(n=e.hittest)||void 0===n||n.tryCallMouseMoveHandler(t))}_startChangeOrMoveLineToolIfNeeded(){if(null!==this._startChangeLineToolParams){const e=this._startChangeLineToolParams;this._chartUndoModel().startChangingLinetool(e.source,e.startPoint,e.pointIndex,e.envState)}if(null!==this._startMoveSourceParams){const e=this._startMoveSourceParams;this._chartUndoModel().startMovingSources(e.source,e.startPoint,e.itemIndex,e.envState)}this._startMoveSourceParams=null,this._startChangeLineToolParams=null}_trackingModeShouldBeActive(){return!(!this._trackCrosshairOnlyAfterLongTap||this._contextMenuOpenedOnLastTap||this._crossHairShouldBeVisible())&&this._longTap}_processOutsideClick(e){let t=null;const i=this._chartModel();if(e.source&&(t=e.isCustom?i.customSourceName(e.source):e.source.id()),null!==this._lastClickedSource&&this._lastClickedSource.id!==t){const e=this._lastClickedSource.id;let t=this._lastClickedSource.isCustom?i.customSourceForName(e):i.dataSourceForId(e);null!==t||this._lastClickedSource.isCustom||(t=this._chartUndoModel().barMarksSourceForId(e)),null!==t&&t.onClickOutside&&(t.onClickOutside(),this._chartModel().updateSource(t))}this._lastClickedSource=null!==t?{id:t,isCustom:e.isCustom}:null}_mouseClickOrTapEvent(e){var t,i,s;if(!this.hasState())return;const n=this._dataSourceAtPoint(e.localX,e.localY),o=n&&n.source,a=this._chartUndoModel(),c=Boolean(null===(i=null===(t=null==n?void 0:n.hittest)||void 0===t?void 0:t.data())||void 0===i?void 0:i.hideCrosshairLinesOnHover);this._processOutsideClick(Object(r.ensureNotNull)(n)),!this._isSelectPointModeEnabled()||c||e.isTouch&&this.trackingModeEnabled()&&!this._exitTrackingModeOnNextTry||a.crossHairSource().trySelectCurrentPoint(),(null===(s=null==n?void 0:n.hittest)||void 0===s?void 0:s.tryCallClickOrTapHandler(e))&&a.model().updateSource(Object(r.ensureNotNull)(o)),!e.isTouch||this._isSelectPointModeEnabled()||n&&n.source===a.crossHairSource()||this._tryExitTrackingMode(),o instanceof v.BarsMarksContainer&&n&&n.hittest&&n.hittest.data()&&o.onClicked(Object(r.ensureNotNull)(n.hittest).data()),o&&Object(f.isLineTool)(o)&&Object(l.emit)("drawing_event",o.id(),"click"),this._resetMeasureIfRequired()}_mouseDownOrTouchStartEvent(e,t){var i;if(e.isTouch&&(this._longTap=!1,this._exitTrackingModeOnNextTry=null!==this._startTrackPoint,this._paneWidgetsSharedState.clearDraggingSource()),this._contextMenuOpenedOnLastTap=!1,this._lastFinishedToolId=null,this._terminateActiveAnimations(),e.isTouch&&this._switchTrackingModeFromAnotherPaneIfNeeded(e),document.activeElement!==document.body&&document.activeElement!==document.documentElement)document.activeElement&&document.activeElement.blur?document.activeElement.blur():document.body.focus();else{const e=document.getSelection();null!==e&&e.removeAllRanges()}Object(l.emit)("mouse_down",{clientX:e.clientX,
clientY:e.clientY,pageX:e.pageX,pageY:e.pageY,screenX:e.screenX,screenY:e.screenY}),this._updateCommonTooltip(null);const s=this._chartUndoModel(),o=new p.a(e);s.mainSeries().clearGotoDateResult(),this.hideInplaceEditor();const c=this.state().defaultPriceScale();if(c.isEmpty()||s.timeScale().isEmpty())return;const h=s.crossHairSource();if(!e.isTouch&&!Object(B.isLineDrawnWithPressedButton)(g.tool.value())){const t=s.lineBeingCreated(),i=null!==t?s.model().paneForSource(t):null;null!==i&&i!==this._state?this._setCursorPositionOnExternalPane(i,e.localX,e.localY,o):this._setCursorPosition(e.localX,e.localY,o)}e.isTouch&&Object(f.isLineToolName)(g.tool.value())&&(Object(B.isLineDrawnWithPressedButton)(g.tool.value())||null!==h.pane?Object(B.isLineDrawnWithPressedButton)(g.tool.value())&&this._clearCursorPosition():this._chart.updateCrossHairPositionIfNeeded());const d=Object(r.ensureNotNull)(this.state().mainDataSource()).firstValue();if(null===d)return void(this._chart.readOnly()||(this._handleSelectionMouseDownAndGetJustDeselectedSource(e,t,o),t.source&&t.source instanceof D.PriceDataSource&&t.source.isDraggable()&&this._paneWidgetsSharedState.trySetDraggingSource(t.source,this)));const _=c.coordinateToPrice(e.localY,d),m=this._chartModel().timeScale().coordinateToIndex(e.localX);if(h.startMeasurePoint()&&h.endMeasurePoint()&&h.clearMeasure(),o.shift()&&Object(g.toolIsCursor)(g.tool.value())&&s.selection().isEmpty()&&g.tool.setValue("measure"),(e.isTouch||!this._tryStartMeasure(e,h,o,_,m))&&(e.isTouch||!this._tryFinishMeasure(e,h))&&!this._tryFinishZoom(e)&&!this._tryStartZoom(e,_,m,o)){if(e.isTouch&&(null!==this._startTrackPoint?(this._initCrossHairPosition=h.currentPoint(),this._startTrackPoint=new n.Point(e.localX,e.localY)):this._isSelectPointModeEnabled()&&null===this._chart.trackingModePaneWidget()&&this.startTrackingMode(new n.Point(e.localX,e.localY),new n.Point(e.localX,e.localY),new p.a(e))),e.isTouch&&(this._preventSourceChange=null===t.source||!s.selection().isSelected(t.source)),!this._isSelectPointModeEnabled()&&!this._isScrolling){if(e.isTouch&&(Object(g.toolIsMeasure)(g.tool.value())||null!==h.measurePane()))return void this._initToolCreationModeParams(e);if(Object(f.isLineToolName)(g.tool.value())||s.lineBeingCreated())return o.shift()||s.selectionMacro(e=>e.clearSelection()),void this._mouseDownEventForLineTool(e,o,m,_)}if(null===(i=t.hittest)||void 0===i||i.tryCallMouseDownOrTouchStartHandler(e),!this._chart.readOnly()){const i=this._handleSelectionMouseDownAndGetJustDeselectedSource(e,t,o);if(t.hittest&&t.source){const i=t.hittest.data();if(t.isCustom){if(t.hittest.hasPressedMoveHandler(e))return void s.model().setMovingCustomSource(t.source,i)}else if((null==i?void 0:i.areaName)===u.AreaName.SourceItemMove){const r=null==i?void 0:i.activeItem;if(void 0!==r)return void s.startCustomMoving(t.source,r,e)}}if(this._tryHandleEraserMouseDown(t,o))return;const r=t.source&&Object(f.isLineTool)(t.source)&&t.source.isLocked&&t.source.isLocked();if(!(Object(g.lockDrawings)().value()||r)&&!t.isCustom){
if(t.source&&!t.source.userEditEnabled())return;if(this._tryStartChangingLineTool(e,t,o,m))return void(this._currentChangingLineToolHitTest=t);if(this._currentChangingLineToolHitTest=null,t.hittest&&((b=t.hittest.result())===u.HitTestResult.MOVEPOINT||b===u.HitTestResult.MOVEPOINT_BACKGROUND&&Object(a.lastEventIsTouch)())){if(this._tryStartCloning(e,t,o,i))return;if(this._tryStartMovingLineTool(e,t,o,m))return}}if(t.source&&t.source instanceof D.PriceDataSource&&t.source.isDraggable()&&this._paneWidgetsSharedState.trySetDraggingSource(t.source,this))return}var b;t&&t.hittest&&t.hittest.result()===u.HitTestResult.REGULAR||(this._processing=!0)}}_mouseUpOrTouchEndEvent(e){var t,i;if(!this.hasState())return;const s=e.isTouch&&null!==this._startTrackPoint,n=e.isTouch&&this._wasPinched;e.isTouch&&(this._wasPinched=!1,this._longTap=!1),this._startMoveSourceParams=null,this._startChangeLineToolParams=null,this._currentChangingLineToolHitTest=null;const o=this._chartUndoModel(),c=o.model().customSourceMovingHitTestData();null!==c||o.customMoveBeingProcessed()||this._processMouseUpOrTouchEndHandler(e),this._isSelecting=!1;const h=o.model(),d=h.crossHairSource(),_=this._dataSourceAtPoint(e.localX,e.localY),m=null==_?void 0:_.hittest;if(d.selection()&&null===this._firstZoomPoint){const e=this.state().lineToolsForArea(d.selection());o.selectionMacro(t=>{let i=null;e.forEach(e=>{null===i&&(i=ne(_,e)),t.addSourceToSelection(e,i)})}),d.clearSelection(),Object(W.trackEvent)("GUI","Multiselect","Area Select")}Object(l.emit)("mouse_up",{clientX:e.clientX,clientY:e.clientY,pageX:e.pageX,pageY:e.pageY,screenX:e.screenX,screenY:e.screenY});const b=e.isTouch&&this._touchMove;e.isTouch&&(this._touchMove=!1);const v=new p.a(e),S=g.tool.value();if(e.isTouch&&!b&&(Object(g.toolIsMeasure)(S)||null!==d.measurePane())){if(null===d.measurePane()&&d.pane!==this._state)return void this._setCursorPosition(e.localX,e.localY);if(this._tryStartMeasure(e,d,v,d.price,d.index))return;if(this._tryFinishMeasure(e,d))return}if(e.isTouch&&!b&&!Object(B.isLineDrawnWithPressedButton)(S)&&Object(f.isLineToolName)(S)&&!o.lineBeingCreated()){if(this._chart.justActivated())return;if(d.pane!==this._state)return void this._setCursorPosition(e.localX,e.localY,v);const i=d.currentPoint(),s=this.state().defaultPriceScale(),n=Object(r.ensure)(null===(t=this.state().mainDataSource())||void 0===t?void 0:t.firstValue()),a={index:Math.round(o.timeScale().coordinateToIndex(i.x)),price:s.coordinateToPrice(i.y,n)},l=Object(r.ensureNotNull)(o.createLineTool(this.state(),a,S));return o.selectionMacro(e=>{e.addSourceToSelection(l)}),o.lineBeingCreated()||(this._finishTool(l,_),e.preventDefault()),void(this._startTouchPoint=null)}const y=o.lineBeingCreated();if(y&&!Object(B.isLineDrawnWithPressedButton)(y.toolname)&&e.isTouch&&this._startTouchPoint){if(this._startTouchPoint=null,!b){const t=y.points()[y.points().length-1],i=o.continueCreatingLine({index:t.index,price:t.price},new p.a(e));this._initCrossHairPosition=null,i&&(this._finishTool(y,_),e.preventDefault())}return}
if(null!==this._firstZoomPoint&&this._firstZoomPoint.draggingMode)return void this._finishZoom(e);if(this._processing=!1,o.customMoveBeingProcessed()&&o.endCustomMoving(),null!==c&&(c.beingMoved&&(Object(u.tryCallHandler)(e,c.mouseUpHandler,c.touchEndHandler),this.setCursorForTool()),h.setMovingCustomSource(null,null)),h.lineBeingEdited())return o.endChangingLinetool(!1),void(this._preventCrossHairMove()&&this._clearCursorPosition());if(Object(B.isLineDrawnWithPressedButton)(S)&&!this._isSelectPointModeEnabled()){const t=o.lineBeingCreated();null!==t&&(Object(V.c)(t),t.finish());const s=this.state().defaultPriceScale();if(s.isEmpty())return;if(!t)return;const n=Object(r.ensure)(null===(i=t.ownerSource())||void 0===i?void 0:i.firstValue()),a=s.coordinateToPrice(e.localY,n),l={index:Math.round(o.timeScale().coordinateToIndex(e.localX)),price:a};return void o.continueCreatingLine(l)}if(h.sourcesBeingMoved().length)return o.endMovingSource(!1),h.sourcesBeingMoved().filter(f.isLineTool).forEach(e=>{this.setCursorForTool(e)}),void h.invalidate(q.InvalidationMask.cursor());if(!this._chart.readOnly()){const t=e.localX>=0&&e.localXu.HitTestResult.MOVEPOINT_BACKGROUND||Object(a.lastEventIsTouch)())&&o.selectionMacro(e=>{e.clearSelection();const t=Object(r.ensureNotNull)(_.source);e.addSourceToSelection(t,ne(_,t))}),e.isTouch&&(this._touchMove=!1)}_mouseOrTouchMoveEvent(e){if(!this.hasState())return;this._resetMeasureIfRequired();const t=Object(r.ensureNotNull)(this._dataSourceAtPoint(e.localX,e.localY));this._processMouseEnterLeaveMoveHandlers(t,e);const i=this._chartUndoModel();if(!i)return;const s=e.localX,o=e.localY;this._prevMoveEventPosition=new n.Point(s,o);const a=new p.a(e);if(null===this._firstZoomPoint){if(this._updateHoveredSource(t,a,e),!e.isTouch&&i.lineBeingCreated()){const e=i.lineBeingCreated(),t=null===e?null:i.model().paneForSource(e)
;if(null!==t&&t!==this._state)return void this._setCursorPositionOnExternalPane(t,s,o,a)}e.isTouch||this._setCursorPosition(s,o,a)}else this._processMouseMoveWhileZoom(e,a)}_pressedMouseOrTouchMoveEvent(e){var t;if(!this.hasState()||this._pinching)return;this._resetMeasureIfRequired(),this._startChangeOrMoveLineToolIfNeeded(),e.isTouch&&(this._touchMove=!0,this._preventSourceChange=!1);const i=new p.a(e),s=this._chartUndoModel(),o=s.crossHairSource(),a=e.localX,l=e.localY;if(this._prevMoveEventPosition=new n.Point(a,l),null!==this._firstZoomPoint)return this._processMouseMoveWhileZoom(e),void(this._firstZoomPoint.draggingMode=!0);const c=g.tool.value();if(e.isTouch&&this._startTouchPoint&&Object(f.isLineToolName)(c)&&!Object(B.isLineDrawnWithPressedButton)(c)&&!s.lineBeingCreated()&&!this._isSelectPointModeEnabled())return void this._updateCrosshairPositionInToolCreationMode(e,this.state());const h=o.measurePane();if(e.isTouch&&this._startTouchPoint&&(Object(g.toolIsMeasure)(c)||null!==h))return void this._updateCrosshairPositionInToolCreationMode(e,h||this.state());const d=s.lineBeingCreated();if(e.isTouch&&d&&!Object(B.isLineDrawnWithPressedButton)(d.toolname)){if(this._startTouchPoint){const t=Object(r.ensureNotNull)(s.lineBeingCreated()),i=Object(r.ensureNotNull)(s.model().paneForSource(t));this._updateCrosshairPositionInToolCreationMode(e,i)}return}if(e.isTouch&&null!==this._startTrackPoint){this._exitTrackingModeOnNextTry=!1;const e=Object(r.ensureNotNull)(this._initCrossHairPosition),t=new n.Point(a,l).subtract(this._startTrackPoint),s=e.add(t);this._setCursorPosition(s.x,s.y,i)}else e.isTouch&&this._preventCrossHairMove()||this._setCursorPosition(a,l,i);const _=this._isSelectPointModeEnabled();if(Object(f.isLineToolName)(c)&&!Object(B.isLineDrawnWithPressedButton)(c)&&!_&&!i.control())return;if(Object(B.isLineDrawnWithPressedButton)(c)&&!_){const i=this.state().defaultPriceScale();if(i.isEmpty())return;const o=s.lineBeingCreated();if(!o)return;const a=new n.Point(e.localX,e.localY),l=Object(r.ensure)(null===(t=o.ownerSource())||void 0===t?void 0:t.firstValue());return a.price=i.coordinateToPrice(e.localY,l),a.index=Math.round(s.timeScale().coordinateToIndex(e.localX)),void s.continueCreatingLine(a)}if(null!==this._paneWidgetsSharedState.draggingSource()){const t=e.target,i=this._chart.paneByCanvas(t);i&&(i!==this?i.setDragToAnotherPaneCursor():i.setCursorForTool());const s=this._chart.timeAxisByCanvas(t);s&&s.setCursor("grabbing")}if(s.timeScale().isEmpty())return;const m=this._options.handleScroll;if((!m.pressedMouseMove||e.isTouch)&&(!m.horzTouchDrag&&!m.vertTouchDrag||!e.isTouch))return;if(s.customMoveBeingProcessed())return void s.processCustomMove(e);const b=s.model().customSourceMovingHitTestData();if(null!==b&&(this._updateCommonTooltip(null,!0),s.model().processingCustomSourceMove(),Object(u.tryCallHandler)(e,b.pressedMouseMoveHandler,b.touchMoveHandler),!Object(u.shouldDefaultActionBeExecuted)(e,b,"pressedMouseMoveHandler","touchMoveHandler")))return
;if(s.model().lineBeingEdited())return void this._setCursorPosition(a,l,i);if(s.model().sourcesBeingMoved().length)return void this._alignSourcesThatBeingMoved(s.model().sourcesBeingMoved(),e.localX,e.localY,i);const v=this._dataSourceAtPoint(e.localX,e.localY);if(this._tryFinishClonning(e,new p.a(e),v))return;const S=Object(g.toolIsMeasure)(c)||o.startMeasurePoint()&&o.endMeasurePoint();this._chart.readOnly()||!i.control()||Object(f.isLineToolName)(c)||S?(this._processScroll(e),this._preventScroll()&&!this._preventCrossHairMove()&&null===this._startTrackPoint&&this._setCursorPosition(e.localX,e.localY,new p.a(e))):this._isSelecting||(o.startSelection(this.state()),this._isSelecting=!0)}_mouseOrTouchLeaveEvent(e){var t,i;if(!this.hasState())return;const s=this._chartUndoModel();if(!s)return;const r=s.crossHairSource();e.isTouch||null!==r.measurePane()&&null===r.endMeasurePoint()||this._clearCursorPosition(),s.model().setHoveredSource(null,null),null!==this._prevHoveredHittest&&(Object(u.tryCallHandler)(e,null===(i=null===(t=this._prevHoveredHittest.hittest)||void 0===t?void 0:t.data())||void 0===i?void 0:i.mouseLeaveHandler),this._prevHoveredHittest=null),this._updateCommonTooltip(null),this._chart.unsetActivePaneWidget()}_mouseDoubleClickOrDoubleTapEvent(e){var t;if(!this.hasState())return;const i=!this._chart.readOnly()&&!Object(f.isLineToolName)(g.tool.value())&&Object(r.ensureNotNull)(this._dataSourceAtPoint(e.localX,e.localY))||null;if(null===i)return;if(i.isCustom)return void(null===(t=i.hittest)||void 0===t||t.tryCallDblClickOrDblTapHandler(e));let s=i.hittest&&i.source||null;s&&i.hittest&&i.hittest.result()<=u.HitTestResult.MOVEPOINT_BACKGROUND&&!e.isTouch&&(s=null),s&&!s.isSelectionEnabled()&&(s=null),s?this.processDoubleClickOnSource(s,i.hittest?i.hittest:void 0):this._chart.readOnly()||Object(f.isLineToolName)(g.tool.value())||this._chartUndoModel().lineBeingCreated()||!this._chartUndoModel().selection().isEmpty()||this._chart.toggleMaximizePane(this)}_contextMenuEvent(e){var t;const i=this._chartUndoModel();if(i.crossHairSource().startMeasurePoint()&&!this._trackCrosshairOnlyAfterLongTap)return i.crossHairSource().clearMeasure(),void Object(g.resetToCursor)(!0);if(this._pinching)return;if(null===this._firstZoomPoint||this._trackCrosshairOnlyAfterLongTap||this.cancelZoom(),this.hideInplaceEditor())return;if(!Object(g.toolIsCursor)(g.tool.value())||this._isSelectPointModeEnabled()){if(e.isTouch)return;return Object(g.resetToCursor)(!0),this.setCursorForTool(),void(i.lineBeingCreated()&&i.cancelCreatingLine())}if(!this._options.contextMenuEnabled)return;const s=this._dataSourceAtPoint(e.localX,e.localY),r=s?s.source:null;if(e.isTouch&&null!==this._startTrackPoint){if(this._preventSourceChange)return;this._clearCursorPosition()}e.isTouch&&(this._contextMenuOpenedOnLastTap=!0,this._startTrackPoint=null),this._contextMenuX=e.localX,this._contextMenuY=e.localY;const n=s&&s.hittest?s.hittest.result():0,o=n>=u.HitTestResult.REGULAR||n>=u.HitTestResult.MOVEPOINT_BACKGROUND&&e.isTouch;this._chart.updateActions(),
i.selectionMacro(t=>{null!==r&&o?t.selection().isSelected(r)||(t.clearSelection(),t.addSourceToSelection(r,ne(s,r))):(this._options.contextMenu.general&&this._contextMenu(e).then(t=>{null!==t&&t.show(e)}),t.clearSelection())}),s&&o&&null!==r&&(Object(m.a)(r)&&r.hasContextMenu()?r.isSelectionEnabled()?this.showContextMenuForSelection(e):this.showContextMenuForSources([r],e):null===(t=s.hittest)||void 0===t||t.tryCallContextMenuHandler(e))}_onMouseEvent(){this._preventSourceChange=!1,this._startTrackPoint=null,this._trackCrosshairOnlyAfterLongTap=!1}_onTouchEvent(){this._trackCrosshairOnlyAfterLongTap=!0}_switchTrackingModeFromAnotherPaneIfNeeded(e){const t=this._chart.trackingModePaneWidget();if(null!==t&&t!==this){const i=this._chartModel().crossHairSource().currentPoint();t._exitTrackingModeOnNextTry=!0,t._tryExitTrackingMode(!0),this.startTrackingMode(new n.Point(e.localX,e.localY),new n.Point(i.x,e.localY),new p.a(e))}}_contextMenu(e){const t=e=>e instanceof H.Separator,i=this._customActions();if(N.enabled("disable_no_source_context_menu"))return Promise.resolve(null);const s=this._initActions(e).filter(e=>null!==e);i.remove.forEach(e=>{for(let t=0;t0;e--)t(r[e])&&t(r[e-1])&&r.splice(e,1);return r.length&&t(r[0])&&r.splice(0,1),r.length&&t(r[r.length-1])&&r.splice(r.length-1,1),k.ContextMenuManager.createMenu(r,{statName:"ChartContextMenu"})}_initActions(e){var t;const i=this._chart.actions(),r=[];r.push(i.chartReset),r.push(new H.Separator),N.enabled("datasource_copypaste")&&!this.state().isEmpty()&&(r.push(new H.Action({label:Object(s.t)("Paste %s").replace("%s","").trim(),shortcutHint:Object(G.humanReadableHash)(G.Modifiers.Mod+86),statName:"Paste",onExecute:()=>this._chart.chartWidgetCollection().clipboard.uiRequestPaste(this.state())})),r.push(new H.Separator)),r[r.length-1]instanceof H.Separator||r.push(new H.Separator);return window.widgetbar&&(!window.widgetbar._customization||window.widgetbar._customization.watchlist)&&i.addToWatchlist&&r.push(i.addToWatchlist),N.enabled("text_notes")&&r.push(i.addToTextNotes),r[r.length-1]instanceof H.Separator||r.push(new H.Separator),r.push(this._createLockTimeAxisAction(e)),r.push(new H.Separator),r.push(Object(E.createLinesAction)(this._chart)),N.enabled("charting_library_base")||r.push(i.applyColorTheme),r[r.length-1]instanceof H.Separator||r.push(new H.Separator),this._chart.applyIndicatorsToAllChartsAvailable()&&(r.push(i.applyStudiesToAllCharts),r.push(new H.Separator)),r.push(i.paneRemoveAllDrawingTools),r.push(i.paneRemoveAllStudies),r.push(new H.Separator),(null===(t=window.pro)||void 0===t?void 0:t.hasPackage("mtp-mtpredictor"))&&this.state().containsMainSeries()&&r.push(Object(E.createMTPredictorActions)(this._chart,this.state(),this._contextMenuX,this._contextMenuY),new H.Separator),r.push(i.hideAllMarks),r.push(new H.Separator),N.enabled("show_chart_property_page")&&r.push(i.chartProperties),
r[r.length-1]instanceof H.Separator&&r.pop(),r}_loadAndCreateLegendWidget(){Promise.all([i.e("react"),i.e(72),i.e(7),i.e("chart-widget-gui")]).then(i.bind(null,"sAH5")).then(e=>{if(this._isDestroyed)return;const t=e.LegendWidget,i=Object(h.deepExtend)({},this._options.legendWidget);i.canShowSourceCode=!this._chart.onWidget()&&!o.CheckMobile.any(),i.readOnlyMode=i.readOnlyMode||this._chart.readOnly(),i.statusesWidgets={sourceStatusesEnabled:this._options.sourceStatusesWidgetEnabled,sourceStatuses:this._options.sourceStatusesWidget||{},marketStatusEnabled:this._options.marketStatusWidgetEnabled,marketStatus:this._options.marketStatusWidget||{},dataUpdateModeEnabled:this._options.chartWarningWidgetEnabled,dataUpdateMode:this._options.chartWarningWidget||{},dataProblemEnabled:this._options.dataProblemWidgetEnabled};const s=new M.a(this._getHideNotMainSourcesValue());this._hideNotMainSourcesInLegendSpawn=Object(O.a)(()=>({}),this._chart.chartWidgetCollection().activeChartWidget,this._chart.chartWidgetCollection().lock.crosshair),this._hideNotMainSourcesInLegendSpawn.subscribe(()=>{s.setValue(this._getHideNotMainSourcesValue())}),this._hideWholeLegend=new M.a(!1),g.tool.subscribe(this._recalculateLegendVisibility),this._chartModel().crossHairSource().measuringEnabled().subscribe(this,this._recalculateLegendVisibility),this._legendWidget=new t(this._chartUndoModel(),this,this._chart.backgroundTopTheme(),s,this._hideWholeLegend,i,{showContextMenuForSelection:this.showContextMenuForSelection.bind(this),showContextMenuForSources:this.showContextMenuForSources.bind(this),updateActions:this._chart.updateActions.bind(this._chart),showChartPropertiesForSource:this._chart.showChartPropertiesForSource.bind(this._chart),showGeneralChartProperties:this._chart.showGeneralChartProperties.bind(this._chart),showObjectsTreeDialog:this._chart.showObjectsTreeDialog.bind(this._chart)}),this._div.appendChild(this._legendWidget.getElement()),this._legendWidget.updateLayout(),this._legendWidget.updateWidgetModeBySize(this._size),this._legendWidget.updateThemedColors(this._themedTopColor);for(const e of Array.from(this._customLegendWidgetsFactoryMap.keys()))this._legendWidget.addCustomWidgetToLegend(e,Object(r.ensureDefined)(this._customLegendWidgetsFactoryMap.get(e)))})}_loadAndCreatePaneControlsWidget(){Promise.all([Promise.all([i.e("react"),i.e(72),i.e(7),i.e("chart-widget-gui")]).then(i.bind(null,"lvAK")),Promise.all([i.e("react"),i.e(72),i.e(7),i.e("chart-widget-gui")]).then(i.bind(null,"MjAr"))]).then(([e,t])=>{if(this._isDestroyed)return;const i=e.PaneControlsWidget;this._paneControls=new i(this._chartUndoModel(),this,{backgroundThemeName:this._chart.backgroundTopTheme()},{toggleMaximizePane:this._chart.toggleMaximizePane.bind(this._chart)},this._div),this._paneControls.updateWidgetModeByWidth(this._size.w),this._paneControls.updateThemedColors(this._themedTopColor),this._paneControlsResizeObserver=new t.default(this._handleRestrictLegendWidth.bind(this)),this._paneControlsResizeObserver.observe(this._paneControls.getElement())})}
_handleRestrictLegendWidth(e){if(null===this._legendWidget||null===this._paneControls)return;const t=e[e.length-1].contentRect.width,i=0===t?0:t+J+Z;this._legendWidget.addMargin(i)}_onMagnetStateChanged(){this._chart.isActive()&&this._isToolActionActiveOnPane(!0)&&this._chartModel().crossHairSource().visible&&this._updateLineToolUsingMagnetOrShift()}_onShiftKeyStateChanged(){this._chart.isActive()&&this._isToolActionActiveOnPane(!1)&&this._chartModel().crossHairSource().visible&&this._updateLineToolUsingMagnetOrShift(p.a.create(Object(Y.d)().value()))}_isToolActionActiveOnPane(e){const t=this._chartModel(),i=t.lineBeingCreated()||t.lineBeingEdited()||t.sourcesBeingMoved().length>0&&t.sourcesBeingMoved()[0];return i?t.paneForSource(i)===this._state:e&&Object(f.isLineToolName)(g.tool.value())&&t.crossHairSource().pane===this._state}_updateLineToolUsingMagnetOrShift(e){if(null===this._prevMoveEventPosition)return;const{x:t,y:i}=this._prevMoveEventPosition,s=this._chartModel().sourcesBeingMoved();s.length>0?this._alignSourcesThatBeingMoved(s,t,i,e):this._setCursorPosition(t,i,e)}_showEditDialogForSource(e,t){if(this._options.propertyPagesEnabled&&e.userEditEnabled())if(e===this._chartUndoModel().mainSeries())this._chart.showGeneralChartProperties(R.TabNames.symbol);else if(Object(f.isLineTool)(e)||Object(_.isStudy)(e)){let i;const s=null==t?void 0:t.data();if(null!=s){const e=s.areaName;void 0!==e&&(i=ae.get(e))}this._chart.showChartPropertiesForSource(e,i).then(e=>{this._editDialog=e})}}_initToolCreationModeParams(e){this._startTouchPoint=new n.Point(e.pageX,e.pageY),this._initCrossHairPosition=this._chartModel().crossHairSource().currentPoint()}_updateCrosshairPositionInToolCreationMode(e,t){if(t!==this._state){const i=this._chart.paneByState(t);return i._startTouchPoint=this._startTouchPoint,i._initCrossHairPosition=this._initCrossHairPosition,void i._updateCrosshairPositionInToolCreationMode(e,t)}const i=this._chartModel().crossHairSource();this._chart.justActivated()&&(this._initCrossHairPosition=i.currentPoint());const s=e.pageX,o=e.pageY,a=Object(r.ensureNotNull)(this._initCrossHairPosition),l=new n.Point(s,o).subtract(Object(r.ensureNotNull)(this._startTouchPoint)),c=a.add(l);this._setCursorPosition(c.x,c.y,new p.a(e))}_priceAxisesContainer(e){return"left"===e?this._lhsPriceAxisesContainer:this._rhsPriceAxisesContainer}_recalculatePriceScales(){const e=this.state();for(const t of e.leftPriceScales())e.recalculatePriceScale(t);for(const t of e.rightPriceScales())e.recalculatePriceScale(t);for(const t of e.sourcesByGroup().overlayPriceScaleSources())Object(f.isLineTool)(t)||e.recalculatePriceScale(t.priceScale())}_createLockTimeAxisAction(e){const t=Object(g.lockTimeAxis)().value();return new H.Action({label:Object(s.t)("Lock Vertical Line On Time Axis"),statName:"LockCursorInTime",checkable:!0,checked:t,onExecute:()=>this._toggleLockTimeAxis(e.localX,!t)})}_toggleLockTimeAxis(e,t){if(t){const t=this._chartUndoModel().timeScale(),i=t.coordinateToIndex(e),s=t.points().roughTime(i)
;null!==s&&g.lockTimeAxisTime.setValue(s)}Object(g.lockTimeAxis)().setValue(t)}_preventTouchEventsExceptPinch(){return this._paneWidgetsSharedState.hasTouchesOnOtherPanes(this)||null!==this._paneWidgetsSharedState.pinchingPane()}_updateHoveredSource(e,t,i){var s,r,n;const o=this._chartUndoModel(),a=o.model();let l=!1;const c=e&&e.source,h=this._chart.readOnly();if(h&&!Object(f.isLineTool)(e.source)||this._editDialog&&this._editDialog.visible().value())h&&(a.setHoveredSource(null,null),this.setCursorForTool());else{const d=g.tool.value();let p=null;if(!this._processing&&(Object(g.toolIsCursor)(d)||"eraser"===d&&!h||t.control()||!o.lineBeingCreated())){const{hittest:t}=e;l=Boolean(null===(s=null==t?void 0:t.data())||void 0===s?void 0:s.hideCrosshairLinesOnHover)||!!c&&Object(f.isLineTool)(c)&&-1!==X.indexOf(c.toolname),t&&t.result()>u.HitTestResult.MOVEPOINT_BACKGROUND?(p=c,!(null==c?void 0:c.isHoveredEnabled())||"eraser"===d&&c===o.mainSeries()?a.setHoveredSource(null,null):a.setHoveredSource(c,null==t?void 0:t.data())):a.setHoveredSource(null,null)}h?this.setCursorForTool(p,t,j.PaneCursorType.Default):this._options.sourceSelectionEnabled&&(this._isSelectPointModeEnabled()?this._setCursorClassName("pointer"):this.setCursorForTool(p,t,null===(n=null===(r=null==e?void 0:e.hittest)||void 0===r?void 0:r.data())||void 0===n?void 0:n.cursorType));const _=o.model().customSourceBeingMoved(),m=null!==_?[_]:o.model().sourcesBeingMoved(),b=e.source;if((!m.length||null!==b&&-1===m.indexOf(b))&&this._updateCommonTooltip(e),!h&&null!==e.hittest&&i&&e.hittest.hasPressedMoveHandler(i)){switch((e.hittest.data()||{}).cursorType){case j.PaneCursorType.VerticalResize:this._setCursorClassName("ns-resize");break;case j.PaneCursorType.HorizontalResize:this._setCursorClassName("we-resize");break;case j.PaneCursorType.DiagonalNeSwResize:this._setCursorClassName("nesw-resize");break;case j.PaneCursorType.DiagonalNwSeResize:this._setCursorClassName("nwse-resize")}}}this._preventCrossHairMove()&&this._clearCursorPosition(),this._chartModel().crossHairSource().setLinesShouldBeHidden(l)}}},UHyS:function(e,t,i){"use strict";i.r(t),i.d(t,"StandardPivotPointsPriceAxisView",(function(){return n}));var s=i("KcY8");const r=["P","S1","R1","S2","R2","S3","R3","S4","R4","S5","R5"];class n extends s.a{constructor(e,t){super(),this._source=e,this._data=t;const i=t.name;this._completeName="P"===i.toUpperCase()?"P":`S${i[1]}/R${i[1]}`}_updateRendererData(e,t,i){e.visible=!1,t.visible=!1;const s=this._source.properties();if(!s.visible.value())return;const n=this._completeName,o=s.levelsStyle.visibility;if(!o[n]||!o[n].value())return;const a=this._source.model().timeScale(),l=this._source.priceScale();if(a.isEmpty()||null===a.visibleBarsStrictRange()||null!==l&&l.isEmpty())return;const c=this._source.customData();if(!c||!c.pivots)return;const h=this._source.pricesView().prices()[r.indexOf(this._data.name.toUpperCase())];if(!h)return;i.background=h.color,i.textColor=this.generateTextColor(h.color),i.coordinate=h.coordinate,i.floatCoordinate=h.floatCoordinate
;const u=this._source.model().properties().scalesProperties;u.showStudyLastValue.value()&&(e.text=h.formatted,e.visible=!0),u.showStudyPlotLabels.value()&&(t.text=this._source.priceLabelText(this._data.name),t.visible=!0)}}},USzt:function(e,t,i){"use strict";i.d(t,"a",(function(){return c}));var s=i("Eyy1"),r=i("cBZt"),n=i("MSvv"),o=i("jenN"),a=i("wYrq");const l=Object(r.studyIdString)("VbPFixed","tv-volumebyprice");class c extends n.StudyLineDataSource{constructor(e,t,i,s){const r=i||e.studyMetaInfoRepository().findByIdSync({type:"java",studyId:l}),n=t||c._createPropertiesFromStudyMetaInfo(r,e.studyVersioning());super(e,r,"vbpfixed_",n),Object(o.createGraphicsPaneViews)(this,e).then(t=>{if(s=e.mainSeries(),r.plots.length>0){const i=new a.a(this,s,e,r.plots[0].id);t.push(i)}if(r.plots.length>1){const i=new a.a(this,s,e,r.plots[1].id);t.push(i)}if(r.plots.length>2){const i=new a.a(this,s,e,r.plots[2].id);t.push(i)}this._setPaneViews(t)}),this.clearData()}pointsCount(){return 2}boundToSymbol(){return!1}offset(e){return 0}getMinFirstBarIndexForPlot(){return-1/0}calcIsActualSymbol(){this._isActualSymbol=!0,this._isActualCurrency=!0,this._isActualUnit=!0,this.calcIsActualInterval()}cloneable(){return!1}isSynchronizable(){return!1}static createProperties(e){const t=super._createPropertiesFromStudyIdAndState(l,e);return c._configureProperties(t),t}static studyId(){return l}_studyInputs(e){Object(s.assert)(2===e.length,"all the line tool points should be defined");const[t,i]=e,r=Math.max(t.index,i.index),n=this._model.mainSeries().bars().lastIndex(),o=this._getPointTime(t.index<=i.index?t:i,!0),a=this._getPointTime(i.index>=t.index?i:t,!0);return null===o||null===a?(this._subscribeApplyInputsOnSeriesCompleted(),null):{rowsLayout:this.properties().inputs.rowsLayout.value(),rows:this.properties().inputs.rows.value(),volume:this.properties().inputs.volume.value(),vaVolume:this.properties().inputs.vaVolume.value(),first_bar_time:1e3*o,last_bar_time:1e3*a,subscribeRealtime:n===r}}_isReady(){return!Object(o.isStudyGraphicsEmpty)(this.graphics())}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(27),i.e(61),i.e(62),i.e("study-property-pages-with-definitions")]).then(i.bind(null,"cKLu")).then(e=>e.StudyLineDataSourceDefinitionsViewModel)}_updateAnchorsPrice(){let e=null,t=null;this.graphics().hhists().forEach(i=>{i.forEach(i=>{const s=i.priceLow,r=i.priceHigh;(!e||st)&&(t=r)})}),null!==e&&null!==t&&(this._timePoint.length&&(this._timePoint[0].price=t,this._timePoint[1].price=e),this._points.length&&(this._points[0].price=t,this._points[1].price=e))}}},UlDV:function(e,t,i){"use strict";i.r(t),i.d(t,"RestrictedToolsetBootloader",(function(){return r}));var s=i("cZRT");class r extends s.a{_startLoading(){
return Promise.all([i.e("react"),i.e(1),i.e(4),i.e(6),i.e(11),i.e(12),i.e(13),i.e(14),i.e(22),i.e(24),i.e(28),i.e(29),i.e(41),i.e(51),i.e(52),i.e(64),i.e(66),i.e(69),i.e(70),i.e(71),i.e(0),i.e(5),i.e(7),i.e(10),i.e(38),i.e(57),i.e("restricted-toolset")]).then(i.bind(null,"miV2")).then(e=>e.getRestrictedToolSet())}}},Ulff:function(e,t,i){"use strict";i.d(t,"a",(function(){return s}));const s={common:i("HGP3").colorsPalette["color-tv-blue-500"],active:"#143EB3"}},UqOQ:function(e,t,i){"use strict";i.d(t,"a",(function(){return l}));var s=i("aIyQ"),r=i.n(s),n=i("e3/o");function o(e){return e.properties().visible.value()}function a(e){return!o(e)}class l{constructor(e,t,i){this._onChanged=new r.a,this._lineToolsSet=new Set,this._lineTools=[...e],this._lineToolsSet=new Set(this._lineTools),this._name=t,this.id=i||Object(n.randomHashN)(6),this.instanceId=Object(n.randomHashN)(6)}lineTools(){return this._lineTools}name(){return this._name}setName(e){this._doAndFireOnChange(()=>{this._name=e})}isActualSymbol(){return this._lineTools.length>0&&this._lineTools[0].isActualSymbol()&&this._lineTools[0].isActualCurrency()&&this._lineTools[0].isActualUnit()}symbol(){return this._lineTools[0].symbol()}currencyId(){var e;return null!==(e=this._lineTools[0].properties().childs().currencyId.value())&&void 0!==e?e:null}unitId(){var e;return null!==(e=this._lineTools[0].properties().childs().unitId.value())&&void 0!==e?e:null}containsLineTool(e){return this._lineToolsSet.has(e)}addLineTools(e){this._doAndFireOnChange(t=>{e.forEach(i=>{this._lineToolsSet.add(i),t.push(...e.map(e=>e.id()))}),this._lineTools.push(...e)})}excludeLineTool(e){this._doAndFireOnChange(t=>{this._lineToolsSet.delete(e);const i=this._lineTools.indexOf(e);this._lineTools.splice(i,1),t.push(e.id())})}excludeLineTools(e){this._doAndFireOnChange(t=>{const i=new Set(e);e.forEach(e=>this._lineToolsSet.delete(e)),this._lineTools=this._lineTools.filter(e=>!i.has(e)),t.push(...e.map(e=>e.id()))})}state(){return{id:this.id,name:this._name,tools:this._lineTools.map(e=>e.id())}}visibility(){const e=this._lineTools.some(o),t=this._lineTools.some(a);return e&&!t?"Visible":t&&!e?"Invisible":"Partial"}locked(){const e=this._lineTools.some(e=>e.properties().frozen.value()),t=this._lineTools.some(e=>!e.properties().frozen.value());return e&&!t?"Locked":t&&!e?"Unlocked":"Partial"}isActualInterval(){const e=this._lineTools.some(e=>e.isActualInterval()),t=this._lineTools.some(e=>!e.isActualInterval());return e&&!t?"IsActualInterval":t&&!e?"IsNotActualInterval":"Partial"}onChanged(){return this._onChanged}static fromState(e,t){const i=[];for(const s of t.tools){const t=e.dataSourceForId(s);null!==t&&i.push(t)}return i.length>0?new l(i,t.name,t.id):null}_doAndFireOnChange(e){const t=[],i=this.visibility(),s=this.locked(),r=this.name(),n=this.isActualInterval();e(t);const o={affectedLineTools:t,visibilityChanged:this.visibility()!==i,lockedChanged:s!==this.locked(),titleChanged:r!==this.name(),isActualIntervalChanged:n!==this.isActualInterval()};this._onChanged.fire(o)}}},
V086:function(e,t,i){"use strict";var s=i("aO4+").Point,r=i("GEp6").distanceToLine,n=i("Ss5c").LineDataSource,o=i("Ocx9").DefaultProperty,a=i("j3hX").LineToolColorsProperty;class l extends n{constructor(e,t){super(e,t||l.createProperties()),this.version=l.version,i.e("lt-pane-views").then(i.t.bind(null,"obU/",7)).then(({EllipsePaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}startChanging(e,t){if(super.startChanging(e,t),0===e||1===e){var i=this.pointToScreenPoint(this._points[0])[0],s=this.pointToScreenPoint(this._points[1])[0],n=this.pointToScreenPoint(this._points[2])[0];this._dist=r(i,s,n).distance||0}}_preparePoint(e,t){var i=this._preparePointInternal(e,t,!1);return t&&t.shift()&&this._points[0].index===this._points[1].index&&this._fixVerticalDiameterPoints(this._points[1],this._points[0],i),i}_preparePointInternal(e,t,i){var r=Object.assign({},e);if(t&&t.shift()){var n=this.points().length;if(!this._fakePointAdded&&3===n&&!i)return r;if(this._fakePointAdded||2===n||i){this._snapPoint45Degree(e,this._points[0]),this._fakePointAdded?this._points[1]=e:i||(this._fakePointAdded=!0,super._addPointIntenal(e));var o=this.pointToScreenPoint(this._points[0])[0],a=this.pointToScreenPoint(this._points[1])[0],l=a.x-o.x,c=a.y-o.y,h=Math.sqrt(l*l+c*c)/2,u=a.subtract(o),d=o.add(a).scaled(.5),p=new s(-u.y,u.x);p=p.normalized();var _=d.add(p.scaled(h));r=this.screenPointToPoint(_),(TradingView.isNaN(r.price)||TradingView.isNaN(r.index))&&(r=this.screenPointToPoint(d))}}else this._fakePointAdded&&(this._points.splice(1,1),this._fakePointAdded=!1);return r}_fixVerticalDiameterPoints(e,t,i){var s=this.pointToScreenPoint(e)[0],r=this.pointToScreenPoint(t)[0],n=this._model.timeScale(),o=n.indexToCoordinate(e.index),a=n.indexToCoordinate(i.index),l=2*Math.abs(o-a);l*=t.price>e.price?1:-1,e.price=this.screenPointToPoint({x:s.x,y:r.y+l}).price}addPoint(e,t,i){var s=n.prototype.addPoint.call(this,e,t,i);return s&&(this._fakePointAdded=!1),s}setPoint(e,t,i){var n=Object.assign({},t),o=this.pointToScreenPoint(this._points[0])[0],a=this.pointToScreenPoint(this._points[1])[0],l=this.pointToScreenPoint(this._points[2])[0];switch(e){case 0:if(i&&i.shift()){this._snapPoint45Degree(n,this._points[1]),this._points[0]=n,this._points[2]=this._preparePointInternal(this._points[2],i,!0),this._points[0].index===this._points[1].index&&this._fixVerticalDiameterPoints(this._points[0],this._points[1],this._points[2]);break}o=this.pointToScreenPoint(n)[0];var c=a.subtract(o),h=o.add(a).scaled(.5);d=(d=new s(-c.y,c.x)).normalized(),l=h.add(d.scaled(this._dist)),l=this.screenPointToPoint(l),this._points[0]=n,this._points[2]=l;break;case 1:if(i&&i.shift()){this._snapPoint45Degree(n,this._points[0]),this._points[1]=n,this._points[2]=this._preparePointInternal(this._points[2],i,!0),this._points[0].index===this._points[1].index&&this._fixVerticalDiameterPoints(this._points[1],this._points[0],this._points[2]);break}c=(a=this.pointToScreenPoint(n)[0]).subtract(o),h=o.add(a).scaled(.5);d=(d=new s(-c.y,c.x)).normalized(),l=h.add(d.scaled(this._dist)),
l=this.screenPointToPoint(l),this._points[1]=n,this._points[2]=l;break;case 2:n=this.pointToScreenPoint(n)[0];var u=r(o,a,n).distance;c=a.subtract(o),h=o.add(a).scaled(.5);d=(d=new s(-c.y,c.x)).normalized(),l=h.add(d.scaled(u)),l=this.screenPointToPoint(l),this._points[2]=l;break;case 3:n=this.pointToScreenPoint(n)[0];var d;u=r(o,a,n).distance,c=a.subtract(o),h=o.add(a).scaled(.5);d=(d=new s(-c.y,c.x)).normalized(),l=h.add(d.scaled(u)),l=this.screenPointToPoint(l),this._points[2]=l}this.normalizePoints()}pointsCount(){return 3}name(){return"Ellipse"}hasEditableCoordinates(){return!1}migrateVersion(e,t,i){if(1===e&&2===this._points.length){var s=this._points[0].price,r=.5*(this._points[0].price+this._points[1].price);this._points[0]={price:r,index:this._points[0].index},this._points[1]={price:r,index:this._points[1].index},this._points.push({price:s,index:this._points[0].index})}if(1===e&&2===this._timePoint.length){s=this._timePoint[0].price,r=.5*(this._timePoint[0].price+this._timePoint[1].price);this._timePoint[0].price=r,this._timePoint[1].price=r;var n={price:s,offset:this._timePoint[0].offset,time_t:this._timePoint[0].time_t};this._timePoint.push(n)}}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(27),i.e(62),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"Zd1D"))).GeneralFiguresDefinitionsViewModel}static createProperties(e){var t=new o("linetoolellipse",e);return l._configureProperties(t),t}static _configureProperties(e){n._configureProperties(e),e.addChild("linesColors",new a([e.childs().color]))}}l.version=2,t.LineToolEllipse=l},V3Oj:function(e,t,i){"use strict";i.r(t),i.d(t,"LineToolText",(function(){return h})),i.d(t,"LineToolTextAbsolute",(function(){return u}));var s=i("Eyy1"),r=i("aO4+"),n=i("Ss5c"),o=i("tc+8"),a=i.n(o),l=i("Ocx9"),c=i("j3hX");class h extends n.LineDataSource{constructor(e,t){const s=t||h.createProperties();super(e,s),this._barSpacing=e.timeScale().barSpacing(),this._recalculatePointsOnCenter=!1,i.e("lt-pane-views").then(i.bind(null,"mr3a")).then(({TextPaneView:t})=>{const i=this._recalculatePointsOnCenter?(e,t)=>{this._recalculatePointsOnCenter&&this._recalculateCenterPosition(e,t)}:void 0;this._setPaneViews([new t(this,e,void 0,void 0,void 0,void 0,void 0,i)])})}centerPosition(){this._recalculatePointsOnCenter=!0}setPoint(e,t,i){const s=this.properties().childs();let r;if(0===e&&s.wordWrapWidth.value()){const e=this.model().timeScale();r=this.isFixed()?this.fixedPoints()[0].x:e.indexToCoordinate(this.points()[0].index);const i=e.indexToCoordinate(t.index)-r-~~(s.fontsize.value()/6);if(!isFinite(i))return;s.wordWrapWidth.setValue(Math.max(100,i))}}pointsCount(){return 1}name(){return"Text"}setPriceScale(e){super.setPriceScale(e),e&&e.priceRange()&&(this._priceDencity=e.height()/Object(s.ensureNotNull)(e.priceRange()).length(),this._isPriceDencityLog=e.isLog())}restoreSize(){const e=Object(s.ensureNotNull)(this.priceScale());this._barSpacing=this.model().timeScale().barSpacing(),
this._priceDencity=e.height()/Object(s.ensureNotNull)(e.priceRange()).length(),this.redraw()}redraw(){this.updateAllViews(),this._model.updateSource(this)}properties(){return super.properties()}template(){const e=super.template();return e.text=this.properties().childs().text.value(),e}state(e){const t=super.state(e);return e&&(t.state.fixedSize=!1),t}barSpacing(){return this._barSpacing}priceDencity(){return this._priceDencity}isPriceDencityLog(){return this._isPriceDencityLog}hasEditableCoordinates(){return!1}static createProperties(e){const t=new l.DefaultProperty("linetooltext",e);return h._configureProperties(t),t}_applyTemplateImpl(e){super._applyTemplateImpl(e),this.properties().childs().text.setValue(e.text)}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(27),i.e(62),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"QWxu")).then(e=>e.TextDefinitionsViewModel)}static _configureProperties(e){n.LineDataSource._configureProperties(e),e.hasChild("text")||e.addChild("text",new a.a(window.t("Text"))),e.addExclusion("text"),e.addChild("linesColors",new c.LineToolColorsProperty([e.childs().borderColor])),e.addChild("textsColors",new c.LineToolColorsProperty([e.childs().color])),e.addExclusion("linesColors"),e.addExclusion("textsColors")}_recalculateCenterPosition(e,t){const i=(this.isFixed()?this.fixedPoints():this.pointToScreenPoint(this._points[0]))[0],s=new r.Point(i.x-e/2,i.y-t/2),n=this.screenPointToPoint(s);this.setPoints([n]),this.normalizePoints(),this.createServerPoints(),this.redraw()}}class u extends h{constructor(e,t){super(e,t||u.createProperties())}name(){return"Anchored Text"}hasEditableCoordinates(){return!1}isFixed(){return!0}static createProperties(e){const t=new l.DefaultProperty("linetooltextabsolute",e);return u._configureProperties(t),t}static _configureProperties(e){h._configureProperties(e)}}},VNzU:function(e,t,i){"use strict";i.r(t);i("Dq3s");i.d(t,"layouts",(function(){return r})),i.d(t,"isSingleLayout",(function(){return n})),i.d(t,"isMultipleLayout",(function(){return o}));let s;s={};const r={...{s:{title:"1 chart",count:1,sizer:(e,t)=>{if(0!==t)throw new RangeError("invalid index");return e}}},...s};function n(e){return"s"===e}function o(e){return!n(e)}},VVxS:function(e,t,i){"use strict";const{getLogger:s}=i("txPx"),r=s("TVLocalStorage");var n=function(){try{this.isAvailable=!0,this.localStorage=window.localStorage,this.localStorage.setItem("tvlocalstorage.available","true")}catch(e){delete this.isAvailable,delete this.localStorage}this._updateLength();try{this._report()}catch(e){}};n.prototype._report=function(){if(this.isAvailable){const e=10,t=[];for(let e=0;et.length-e.length);const i=t.slice(0,e);t.sort((e,t)=>t.key.length-e.key.length);const s=t.slice(0,e);r.logNormal("Total amount of keys in Local Storage: "+this.length),r.logNormal(`Top ${e} keys with longest values: ${JSON.stringify(i)}`),
r.logNormal(`Top ${e} longest key names: ${JSON.stringify(s)}`);try{navigator.storage.estimate().then(e=>{r.logNormal("Storage estimate: "+JSON.stringify(e))})}catch(e){}}},n.prototype.length=0,n.prototype.isAvailable=!1,n.prototype.localStorage={"tvlocalstorage.available":"false"},n.prototype._updateLength=function(){if(this.isAvailable)this.length=this.localStorage.length;else{var e,t=0;for(e in this.localStorage)this.localStorage.hasOwnProperty(e)&&t++;this.length=t}},n.prototype.key=function(e){return this.isAvailable?this.localStorage.key(e):Object.keys(this.localStorage)[e]},n.prototype.getItem=function(e){return this.isAvailable?this.localStorage.getItem(e):void 0===this.localStorage[e]?null:this.localStorage[e]},n.prototype.setItem=function(e,t){this.isAvailable?this.localStorage.setItem(e,t):this.localStorage[e]=t,this._updateLength()},n.prototype.removeItem=function(e){this.isAvailable?this.localStorage.removeItem(e):delete this.localStorage[e],this._updateLength()},n.prototype.clear=function(){this.isAvailable?this.localStorage.clear():this.localStorage={},this._updateLength()};var o=function(e){this.storage=e};o.prototype.getItem=function(e){return Promise.resolve(this.storage.getItem(e))},o.prototype.setItem=function(e,t){return Promise.resolve(this.storage.setItem(e,t))},window.TVLocalStorage=new n,window.TVLocalStorageAsync=new o(window.TVLocalStorage),e.exports={TVLocalStorage:window.TVLocalStorage,TVLocalStorageAsync:window.TVLocalStorageAsync}},VaSN:function(e,t,i){"use strict";i.r(t),i.d(t,"lastEventIsTouch",(function(){return n})),i.d(t,"lastEventIsMouse",(function(){return o})),i.d(t,"setLastEventIsTouch",(function(){return a}));var s=i("qFKp");let r=Object(s.supportTouch)();function n(){return r}function o(){return r}function a(e){r=e}},VdBB:function(e,t,i){"use strict";function s(e,t,i){if(e.isTouch){if(void 0!==i)return!0}else if(void 0!==t)return!0;return!1}function r(e,t,i){if(e.isTouch){if(void 0!==i)return i(e),!0}else if(void 0!==t)return t(e),!0;return!1}function n(e,t,i,s){return void 0!==t.executeDefaultAction&&(e.isTouch?Boolean(t.executeDefaultAction[s]):Boolean(t.executeDefaultAction[i]))}var o;i.r(t),i.d(t,"hasMouseOrTouchHandler",(function(){return s})),i.d(t,"tryCallHandler",(function(){return r})),i.d(t,"shouldDefaultActionBeExecuted",(function(){return n})),i.d(t,"AreaName",(function(){return o})),i.d(t,"HitTestResult",(function(){return a})),function(e){e.Style="Style",e.Text="Text",e.SourceItemMove="SourceItemMove"}(o||(o={}));class a{constructor(e,t,i){this._result=e,this._data=t||null,this._eraseMarker=i}result(){return this._result}data(){return this._data}hasPressedMoveHandler(e){return null!==this._data&&s(e,this._data.pressedMouseMoveHandler,this._data.touchMoveHandler)}tryCallMouseDownOrTouchStartHandler(e){return null!==this._data&&r(e,this._data.mouseDownHandler,this._data.touchStartHandler)}tryCallMouseUpOrTouchEndHandler(e){return null!==this._data&&r(e,this._data.mouseUpHandler,this._data.touchEndHandler)}tryCallMouseEnterHandler(e){
return null!==this._data&&r(e,this._data.mouseEnterHandler)}tryCallMouseLeaveHandler(e){return null!==this._data&&r(e,this._data.mouseLeaveHandler)}tryCallMouseMoveHandler(e){return null!==this._data&&r(e,this._data.mouseMoveHandler)}tryCallClickOrTapHandler(e){return null!==this._data&&r(e,this._data.clickHandler,this._data.tapHandler)}tryCallDblClickOrDblTapHandler(e){return null!==this._data&&r(e,this._data.doubleClickHandler,this._data.doubleTapHandler)}tryCallContextMenuHandler(e){return null!==this._data&&r(e,this._data.contextMenuHandler,this._data.touchContextMenuHandler)}eraseMarker(){return this._eraseMarker}}a.MOVEPOINT_BACKGROUND=1,a.REGULAR=2,a.MOVEPOINT=3,a.CHANGEPOINT=4,a.CUSTOM=5},Vdly:function(e,t,i){"use strict";(function(e){i("qFKp");i("wVAQ").fetch;var t=i("dTSQ").regExpEscape,s=i("FBuY").TVXWindowEvents,r=i("VVxS").TVLocalStorage,n=i("aIyQ"),o=i("Kxc7"),a=["s.tradingview.com","betacdn.tradingview.com"],l=o.enabled("use_localstorage_for_settings"),c=window.TVSettings=function(){var e=!1,i=null;function h(){return!i&&l}try{e=!TradingView.onWidget()&&parent&&parent!==window&&!!parent.IS_DEMO_PAGE}catch(e){}if(e){var u={"widgetbar.layout-settings":{widgets:{},settings:{minimized:!0}},notShowMainWizard:!0},d=function(e,t,i){var s=u[e];return null==s?t:s},p=function(){};return{loaded:!1,loadedModel:!1,getValue:d,getJSON:d,getBool:d,getFloat:d,getInt:d,setValue:p,setJSON:p,remove:p,keys:function(){return Object.keys(u)},keysMask:function(){return[]},sync:p,onSync:{subscribe:function(){}}}}window.environment;var _,m=TradingView.onWidget()?"tradingview-widget":"tradingview",f=m+".",g={},b=[/^widgetbar\.widget\.watchlist.+/,/.+quicks$/,/^widgetbar\.layout-settings$/,/^ChartSideToolbarWidget\.visible$/,/^onwidget\.watchlist$/,/^domepanel.visible$/,/^orderpanel.visible$/,/^chart\.favoriteDrawings$/,/^chart\.favoriteDrawingsPosition$/,/^loadChartDialog.favorites$/,/^ChartFavoriteDrawingToolbarWidget\.visible/,/^trading\.chart\.proterty$/,/^trading_floating_toolbar\.position$/,/^trading\.orderWidgetMode\./,/^symbolWatermark$/,/^pinereference\.size$/,/^pinereference\.position$/,/^hint\.+/,/^ChartDrawingToolbarWidget\.visible/];const v=["current_theme.name"];function S(e){return f+e}function y(e){return e.substring(f.length)}function w(e,t){var i=g[e];return null==i?t:i}function P(e,t,i){i=i||{};var s=""+t;return g[e]!==s&&(g[e]=s,x(e)),i.forceFlush&&!_&&(_=setTimeout((function(){_=void 0,T()}),10)),c}function C(e,t){return t=t||{},null!=g[e]&&(delete g[e],x(e)),t.forceFlush&&T(),c}function x(e){if(i)null==g[e]?i.removeValue(e):i.setValue(e,g[e]);else if(h())try{null==g[e]?r.removeItem(S(e)):r.setItem(S(e),g[e])}catch(e){}else 0;s.emit("settings",JSON.stringify({key:e,value:g[e]}))}function T(e){}function I(){return Object.keys(g)}function M(e){for(var t=0;t=0;n--)e.test(s[n])&&r.push(s[n]),e.lastIndex=0;return r},sync:function(e){null!==e?(i?L(i.initialSettings||{}):h()?(function(){if(TradingView.onWidget()&&a.includes(window.location.host))for(var e=r.length;e--;){var t=r.key(e);if(0===t.indexOf("tradingview.")){var i=t.replace("tradingview.",m+".");r.setItem(i,r.getItem(t)),r.removeItem(t)}}}(),function(){for(const e of v)g[e]&&!r.getItem(S(e))&&r.setItem(S(e),g[e])}(),function(){g={};for(var e=!o.enabled("save_chart_properties_to_local_storage"),t=r.length;t--;){var i=r.key(t);if(i&&O(i)){var s=i.substring(f.length);e&&!M(s)||(g[s]=r.getItem(i))}}}()):L(e||{}),A.fire()):!0},onSync:A,setSettingsAdapter:function(e){i=e}}}();e&&e.exports&&(e.exports=c)}).call(this,i("YuTi")(e))},VgjZ:function(e,t,i){"use strict";i.r(t),i.d(t,"PriceAxisRendererOptionsProvider",(function(){return n}));var s=i("XlJ7"),r=i("zDbI");class n{constructor(e){this._rendererOptions={borderSize:1,offsetSize:5,fontSize:NaN,font:"",color:"",paneBackgroundColor:"",paddingBottom:0,paddingInner:0,paddingOuter:0,paddingTop:0,lineSpacing:0},this._chartModel=e}options(){const e=this._rendererOptions,t=this._chartModel.properties(),i=t.scalesProperties.fontSize.value();return e.fontSize!==i&&(e.fontSize=i,e.font=Object(s.makeFont)(i,r.CHART_FONT_FAMILY,""),e.paddingTop=2.5/12*i,e.paddingBottom=e.paddingTop,e.paddingInner=i/12*e.offsetSize,e.paddingOuter=i/12*e.offsetSize,e.lineSpacing=2/12*i),e.color=t.scalesProperties.textColor.value(),e.paneBackgroundColor=t.paneProperties.background.value(),this._rendererOptions}}},ViuT:function(e,t,i){"use strict";i.r(t);var s=i("Eyy1"),r=i("Kxc7"),n=i("jCNj"),o=i("Y7w9"),a=i("OLhd"),l=i("tqok"),c=i("/bs+");function h(e){return 60*e*60*1e3}function u(e){return 60*e*1e3}const d=[{divisor:1,weight:18},{divisor:(p=1,1e3*p),weight:19},{divisor:u(1),weight:20},{divisor:u(5),weight:21},{divisor:u(30),weight:22},{divisor:h(1),
weight:30},{divisor:h(3),weight:31},{divisor:h(6),weight:32},{divisor:h(12),weight:33}];var p;function _(e,t){if(null!==t){if(e.getUTCFullYear()!==t.getUTCFullYear())return 70;if(e.getUTCMonth()!==t.getUTCMonth())return 60;if(e.getUTCDate()!==t.getUTCDate())return 50;const i=t.getTime(),s=e.getTime();for(let e=d.length-1;e>=0;--e)if(Math.floor(i/d[e].divisor)!==Math.floor(s/d[e].divisor))return d[e].weight}return 18}function m(e,t,i=0){if(0===e.length)return[];let s=i,r=i;const n=[];for(;s=t.length?(n.push({old:s,new:l.INVALID_TIME_POINT_INDEX}),s++):e[s].timeMs===t[r].timeMs?(s!==r&&n.push({old:s,new:r}),s++,r++):e[s].timeMs{if(e.new===t.new&&e.new===l.INVALID_TIME_POINT_INDEX)return e.old-t.old;if(e.new===l.INVALID_TIME_POINT_INDEX)return-1;if(t.new===l.INVALID_TIME_POINT_INDEX)return 1;const i=e.old-e.new,s=t.old-t.new;return i>0?s>0?e.old-t.old:-1:s<0?t.new-e.new:1})}function f(e,t){return{span:e.markWeight,time:e.displayTime,index:t}}i.d(t,"SessionTimeScale",(function(){return b}));const g=r.enabled("end_of_period_timescale_marks");class b{constructor(){this._completed=!0,this._mainSymbolExtrapolator=null,this._pointDataByTimePoint=new Map,this._seriesIds=new Set,this._displayTimezone=null,this._minFutureBarsCount=0,this._sortedTimePoints=[]}destroy(){this.clearTimeScale()}setCompleted(e){this._completed=e}isCompleted(){return this._completed}clearTimeScale(){return this._pointDataByTimePoint.clear(),this._seriesIds.clear(),this._sortedTimePoints=[],{baseIndex:0,pointsIndex:0,indexChange:[],marks:[],points:[]}}indexOfTime(e){if(0===this._sortedTimePoints.length)return null===this._mainSymbolExtrapolator?null:this._mainSymbolExtrapolator.indexOfTime(e);if(ethis._sortedTimePoints[this._sortedTimePoints.length-1].timeMs){if(null===this._mainSymbolExtrapolator)return null;const t=this._mainSymbolExtrapolator.indexOfTime(e),i=this._mainSymbolExtrapolator.indexOfTime(this._sortedTimePoints[this._sortedTimePoints.length-1].timeMs);if(null===t||null===i)return null;const s=t.index-i.index-1;return{index:this._sortedTimePoints.length+s,timeMs:t.timeMs}}let t=Object(o.lowerbound)(this._sortedTimePoints,e,(e,t)=>e.timeMs({timeMs:e,markWeight:0,displayTime:NaN}));this._fillPointsData(i,0,0!==this._sortedTimePoints.length?this._sortedTimePoints[this._sortedTimePoints.length-1].displayTime:null);const r=[];for(let t=e;tf(e,i+t));return r.concat(n)}setTimezone(e){this._displayTimezone="exchange"===e?null:Object(n.get_timezone)(e),this._fillPointsData(this._sortedTimePoints,0)}fillIndexesInRows(e){if(0===e.length)return;let t=-1,i=Object(o.lowerbound)(this._sortedTimePoints,Math.round(1e3*e[0].value[0]),(e,t)=>e.timeMse.timeMs{for(;i=this._sortedTimePoints.length){const t=this.indexOfTime(e);if(null===t)return l.INVALID_TIME_POINT_INDEX;i=t.timeMs!==e?t.index+1:t.index}return Object(s.assert)(i>t,"data must have unique sorted times"),t=i,i})}firstSeriesBarTime(){return 0===this._sortedTimePoints.length?null:this._sortedTimePoints[0].timeMs}replaceSeriesBarsTimesTail(e,t){if(0===t.length)return null;if(!this._seriesIds.has(e))return this.setSeriesBarsTimes(e,t);const i=[],s=Object(o.lowerbound)(this._sortedTimePoints,t[0],(e,t)=>e.timeMs({timeMs:e.timeMs,pointData:e.pointData,markWeight:0,displayTime:NaN}));for(let e=s;ee.timeMs-t.timeMs);const a=this._updateTimeScalePointsTail(n);return this._applyTimeScaleChanges(a,!1)}setSeriesBarsTimes(e,t){let i=0!==this._pointDataByTimePoint.size;if(this._seriesIds.has(e))if(1===this._seriesIds.size)i=!1,this._pointDataByTimePoint.clear();else for(const t of this._sortedTimePoints)t.pointData.series.delete(e);this._addBarsTimesToSeries(e,t,!1);const s=this._seriesIds.size;0===t.length?this._seriesIds.delete(e):this._seriesIds.add(e),i&&this._cleanupPointsData(this._sortedTimePoints)
;const r=sthis._seriesIds.size,o=r&&2===this._seriesIds.size||n&&1===this._seriesIds.size,a=[];this._pointDataByTimePoint.forEach((e,t)=>{a.push({markWeight:0,timeMs:t,displayTime:NaN,pointData:e})}),a.sort((e,t)=>e.timeMs-t.timeMs);const l=this._updateTimeScalePoints(a);return this._applyTimeScaleChanges(l,o)}_updateFutureBars(){if(0===this._minFutureBarsCount||null===this._mainSymbolExtrapolator)return;if(0!==this._sortedTimePoints.length){const e=this._sortedTimePoints[this._sortedTimePoints.length-1].timeMs;this._mainSymbolExtrapolator.ensureExtrapolatedToFutureTime(e)}const e=this._futureBarsFirstPointIndex();this._mainSymbolExtrapolator.setMinFutureBarsCount(e+this._minFutureBarsCount)}_addBarsTimesToSeries(e,t,i){const s=i?[]:null;for(const i of t){const t=this._pointDataByTimePoint.get(i);if(void 0===t){const t=new Set;t.add(e);const r={index:0,series:t};this._pointDataByTimePoint.set(i,r),null!==s&&s.push({timeMs:i,pointData:r})}else t.series.add(e)}return s}_futureBarsFirstPointIndex(){if(null===this._mainSymbolExtrapolator||0===this._sortedTimePoints.length)return 0;const e=this._mainSymbolExtrapolator.futureBars();return Object(o.upperbound_int)(e,this._sortedTimePoints[this._sortedTimePoints.length-1].timeMs)}_futureBars(){return null===this._mainSymbolExtrapolator?[]:this._mainSymbolExtrapolator.futureBars().slice(this._futureBarsFirstPointIndex(),this._futureBarsFirstPointIndex()+1e3)}_cleanupPointsData(e){for(const t of e)0===t.pointData.series.size&&this._pointDataByTimePoint.delete(t.timeMs)}_updateTimeScalePoints(e){let t=-1;for(let i=0;ie.timeMs=this._sortedTimePoints.length)continue;this._sortedTimePoints[n].timeMs!==r.timeMs&&-1===i&&(i=n)}const s=t+e.length;if(i=v(i,this._sortedTimePoints.length,s),-1===i)return null;this._fillPointsData(e,0,0===t||0===this._sortedTimePoints.length?null:this._sortedTimePoints[t-1].displayTime);const r=m(this._sortedTimePoints.slice(t),e).map(e=>({old:e.old+t,new:e.new===l.INVALID_TIME_POINT_INDEX?e.new:e.new+t}));{const i=this._sortedTimePoints;let r=0;for(;t+r1&&null===i){const t=Math.ceil(n/(e.length-1)),i=new Date(1e3*(e[0].displayTime-t));e[0].markWeight=_(new Date(1e3*e[0].displayTime),i)}}(e,t,i)}_applyTimeScaleChanges(e,t){if(null===e)return t?(this._fillPointsData(this._sortedTimePoints,0),{points:[],pointsIndex:0,baseIndex:this._getBaseIndex(),indexChange:[],marks:this.tickMarks(0)}):null;let i=e.pointsIndex;if(0!==i&&t&&(this._fillPointsData(this._sortedTimePoints,0),i=0),0===this._sortedTimePoints.length)return{baseIndex:0,pointsIndex:0,indexChange:[],marks:[],points:[]};const s=[];for(let t=e.pointsIndex;t{this._destroyed||this._processPendingSubscribers()},0),s}removeSubscription(e){const t=this._pendingSubscribers.find(t=>t.key===e);if(t)return void this._pendingSubscribers.splice(this._pendingSubscribers.indexOf(t),1);const i=this._subscribers.find(t=>t.key===e);if(i)return this._subscribers.splice(this._subscribers.indexOf(i),1),void(this._subscribers.length||(this._resetCacheTimeout=setTimeout(()=>{this._resetCacheTimeout=null,this._purgeCache(),this._unsubscribeRealtime()},this._resetCacheTimePeriod)));console.warn("Unknown subscription symbol={0}, resolution={1}, key={2}".format(this._symbolInfo.name,this._resolution,e))}_logMessage(e,t){if(a.enabled("charting_library_debug_mode")||t){const t=this._symbolInfo.currency_code,i=this._symbolInfo.unit_id;console.log(`FEED [${this._symbolInfo.name}|${this._resolution}${t?"|"+t:""}${i?"|"+i:""}]: ${e}`)}}_clearResetCacheTimeout(){null!==this._resetCacheTimeout&&(clearTimeout(this._resetCacheTimeout),this._resetCacheTimeout=null)}_purgeCache(){this._logMessage("Reset cache"),this._cache={bars:[]},this._errorMessage=null,this._leftDate=null,this._endOfData=!1,this._updateDatesFromExpirationDate()}_updateDatesFromExpirationDate(){void 0!==this._symbolInfo.expiration_date&&(this._nextTime=1e3*this._symbolInfo.expiration_date,this._leftDate=1e3*(this._symbolInfo.expiration_date+1))}_dealignTime(e){return null===this._dwmAligner?e:this._dwmAligner.timeToExchangeTradingDay(e)}_normalizeRange(e){const t=void 0!==e.to?e.to:this._dealignTime(this._now());if(0===this._cache.bars.length||void 0!==e.to&&t<=Object(s.ensureNotNull)(this._leftDate))return{countBack:e.countBack,to:t};const i=null!==this._dwmAligner?this._dwmAligner.timeToSessionStart(t):t,r=Object(n.lowerbound)(this._cache.bars,i,(e,t)=>e.time{e.onErrorCallback(t)})}let t=this._normalizeRange(e[0].range);for(const i of e.map(e=>this._normalizeRange(e.range)))(i.tot.countBack)&&(t=i);this._logMessage(`Leftmost subscriber requires ${t.countBack} bars prior ${d(t.to)}`);!(null===this._leftDate||t.to{const t=this._moveSubscriberToRealtime(e);this._returnHistoryDataToSubscriber(e,t)}),this._subscribeRealtimeIfNeeded()):this._ensureRequestedTo(t)}_moveSubscriberToRealtime(e){const t={key:e.key,onHistoryCallback:e.onHistoryCallback,barset:null};return this._subscribers.push(t),t}_isSymbolExpired(){return this._symbolInfo.expired||void 0!==this._symbolInfo.expiration_date}_subscribeRealtimeIfNeeded(){!this._subscribers.length||this._realtimeOn||this._isSymbolExpired()||this._subscribeRealtime()}_subscribeRealtime(){if(this._symbolInfo.expired||this._realtimeOn)return;this._realtimeOn=!0,this._datafeed.subscribeBars(this._symbolInfo,this._resolution,e=>{null!==this._dwmAligner&&(e.time=this._dwmAligner.timeToSessionStart(e.time)),this._putToCacheNewBar(e),this._subscribers.forEach(t=>{const i=t.barset;if(null===i)throw new Error("subscriber.barset is null");i.add(e),t.onHistoryCallback(i)})},u(this._symbolInfo,this._resolution),()=>{this._unsubscribeRealtime();const e=this._leftDate;this._purgeCache(),null!==e&&this._ensureRequestedTo({to:e,countBack:0})}),this._logMessage("Subscribed to realtime")}_unsubscribeRealtime(){!this._isSymbolExpired()&&this._realtimeOn&&(this._datafeed.unsubscribeBars(u(this._symbolInfo,this._resolution)),this._logMessage("Unsubscribed from realtime"),this._realtimeOn=!1)}_returnHistoryDataToSubscriber(e,t){const i=this._normalizeRange(e.range),s=this._createBarsetForRange(i);s.count()>0?this._logMessage("Bars to return for request {0}: total {1} bars in [{2} ... {3}] ".format(e.key,s.count(),d(s.bars[0].time),d(s.bars[s.count()-1].time))):this._logMessage("Request {0}. Nothing to return.".format(e.key)),t.barset=s,this._endOfData&&null!==this._leftDate&&i.to<=this._leftDate&&(s.endOfData=!0),e.onHistoryCallback(s)}_createBarsetForRange(e){const t=null!==this._dwmAligner?this._dwmAligner.timeToSessionStart(e.to):e.to,i=Object(n.lowerbound)(this._cache.bars,t,(e,t)=>e.time{if(!this._destroyed)if(a)this._logMessage("getBars callback is already called before",!0);else{if(a=!0,e.length>0){const t=` [${d(e[0].time)} ... ${d(e[e.length-1].time)}]`;this._logMessage(`Receiving bars: total ${e.length} bars in ${t}, requested range: ${o}`)}else this._logMessage("Receiving bars: barset is empty, requested range: "+o);this._requesting=!1,this._processBars(e,t)}},e=>{this._destroyed||(a?this._logMessage("getBars callback is already called before",!0):(a=!0,this._requesting=!1,this._errorMessage=e||null,this._processPendingSubscribers()))})}_processBars(e,t){this._checkBars(e),this._alignBarsTime(e),e.length>0?(this._emptyResponsesCount=0,this._processFullBarset(e,t)):(this._emptyResponsesCount+=1,this._processEmptyBarset(t)),this._processPendingSubscribers()}_processEmptyBarset(e){e&&e.nextTime?(this._logMessage("Next time received: `{0}`".format(d(1e3*e.nextTime))),this._nextTime=1e3*e.nextTime):e&&e.noData?(this._logMessage("EOD received"),this._setEndOfData()):this._logMessage("nextTime or noData should present in metainfo when empty barset is returned"),50===this._emptyResponsesCount&&(this._logMessage("EOD detected due 50 empty responses in a row"),this._setEndOfData())}_setEndOfData(){this._endOfData=!0,
this._cache.bars.length&&(this._leftDate=this._dealignTime(this._cache.bars[0].time))}_processFullBarset(e,t){this._putToCache(e)?null!==this._leftDate&&0!==this._cache.bars.length&&(this._interval.isTicks()?this._leftDate=this._dealignTime(this._cache.bars[0].time):this._leftDate=Math.min(this._leftDate,this._dealignTime(this._cache.bars[0].time))):this._logMessage("Incremental update failed. Starting full update. Returned data should be in the requested range.",!0),t&&t.nextTime?console.warn("nextTime should be set when there is no data in the requested period only"):t&&t.noData&&console.warn("noData should be set when there is no data in the requested period and earlier only")}_getNextSubscriptionId(){return this._nextSubscriptionId++}_checkBars(e,t=!1){if(a.enabled("charting_library_debug_mode"))for(let i=1;i"number"!=typeof e[i][t]||!isFinite(e[i][t]))&&console.error("Wrong bars values: all OHLC values should be numbers")}}_putToCache(e){if(0===e.length)return!0;if(this._cache.bars.length===e.length&&this._cache.bars[0].time===e[0].time&&this._cache.bars[this._cache.bars.length-1].time===e[e.length-1].time)return this._logMessage("Time range of received data is the same as cached one. Skip the update."),!0;if(0!==this._cache.bars.length&&e[e.length-1].time===this._cache.bars[0].time&&this._cache.bars.splice(0,1),0!==this._cache.bars.length&&e[e.length-1].time>=this._cache.bars[0].time){const t=this._cache.bars[this._cache.bars.length-1].time===e[e.length-1].time;if(this._cache.bars=[],!t)return this._leftDate=null,!1;this._logMessage("Received history up to now instead of incremental update. Return exactly what is requested.")}return this._cache.bars=[...e,...this._cache.bars],this._checkBars(this._cache.bars,!0),!0}_putToCacheNewBar(e){const t=this._cache.bars.length,i=e.time,s=0===t?NaN:this._cache.bars[t-1].time;0===t||st.destroy()),this._threads={},delete this._datafeed}purgeCache(){this._forEachThread((e,t)=>t.destroy()),this._threads={}}subscribe(e,t,i,s,r){const n=u(e,t);this._threads[n]||(this._threads[n]=this._createThread(e,t));return n+'"'+this._threads[n].addSubscription(i,s,r)}unsubscribe(e){
const t=e.split('"');if(2!==t.length)return void console.warn("Wrong guid format");const i=t[0],s=parseInt(t[1]);this._threads.hasOwnProperty(i)?this._threads[i].removeSubscription(s):console.warn("Data thread doesnt exist: "+e)}_createThread(e,t){return new p(this._datafeed,e,t,this._serverTimeOffsetGetter,Object(c.createDwmAligner)(t,e),this._resetCacheTimePeriod)}_forEachThread(e){Object.keys(this._threads).forEach(t=>e(t,this._threads[t]))}}},WPQD:function(e,t,i){"use strict";(function(e){var s=i("Ss5c").LineDataSource,r=i("Ocx9").DefaultProperty;class n extends s{constructor(e,t){super(e,t||n.createProperties()),this._trendLinePaneView=null,i.e("lt-pane-views").then(i.t.bind(null,"ocVb",7)).then(({TrendLinePaneView:e})=>{this._trendLinePaneView=new e(this,this._model),this._setPaneViews([this._trendLinePaneView])})}dataAndViewsReady(){return s.prototype.dataAndViewsReady.call(this)&&this._trendLinePaneView&&this._trendLinePaneView.iconsReady()}stop(){super.stop()}pointsCount(){return 2}name(){return"Trend Line"}canHasAlert(){return!0}_getAlertPlots(){return[this._linePointsToAlertPlot(this._points,null,this.properties().extendLeft.value(),this.properties().extendRight.value())]}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(27),i.e(62),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"auWl"))).TrendLineDefinitionsViewModel}template(){var e=s.prototype.template.call(this);return e.text=this.properties().childs().text.value(),e.showLabel=this.properties().childs().showLabel.value(),e}_applyTemplateImpl(e){super._applyTemplateImpl(e),this.properties().childs().text.setValue(e.text||""),this.properties().childs().showLabel.setValue(Boolean(e.showLabel))}_snapTo45DegreesAvailable(){return!0}static createProperties(e){var t=new r("linetooltrendline",e);return n._configureProperties(t),t}static _configureProperties(t){s._configureProperties(t),t.hasChild("text")||t.addChild("text",new e("")),t.addExclusion("text"),t.addExclusion("showLabel")}}t.LineToolTrendLine=n}).call(this,i("tc+8"))},WTyR:function(e,t,i){"use strict";i.d(t,"a",(function(){return r}));var s=i("ocLq");class r{constructor(e){this._haveAnyVolume=!1,this._isDisabled=!1,this._seriesGetter=e}update(e,t){if(this._haveAnyVolume||this._isDisabled)return;const i=this._seriesGetter.volume().get(e);0!==i&&Number.isFinite(i)&&(this._haveAnyVolume=!0),t&&(this._haveAnyVolume||s.Std.error("The data vendor doesn't provide volume data for this symbol."),this._isDisabled=!0)}}},WYmP:function(e,t,i){"use strict";i.d(t,"a",(function(){return n}));var s=i("oamr"),r=i("dhFz");class n{constructor(){this._items=[],this._owner=null}primitivesData(e){const t=[];for(const i of this._items)e.isIgnoredObj(i)||t.push(i.primitiveData());return t}get(e){return this._items[e]}set(e,t){return this.dirty(),t.setOwner(this),this._items[e]=t,t}addAtIndex(e,t){this.dirty(),t.setOwner(this),this._items[e]=t}clear(){this._unsetOwner(this._items),this._items=[],this.dirty()}addAllFromNumber(e,t){this.setOwner(t),this._items.splice(e,0,...t._items)
;return this._setCachedDataValid(!1),!0}addAll(e){this.setOwner(e),this._items.push(...e._items);return this._setCachedDataValid(!1),!0}remove(e){const t=this._items[e];return this._items.splice(e,1),t.unsetOwner(this),this.dirty(),t}getItems(){return this._items}size(){return this._items.length}add(e){e.setOwner(this),this._items.push(e);return this._setCachedDataValid(!1),!0}deleteErasedItems(){this._items=this._items.filter(e=>!e.isErased())}markPostedItems(){for(const e of this._items)e.markAsPosted()}isNaN(){if(0===this._items.length)return!0;for(const e of this._items){if(!Object(r.a)(e))return!1;if(!e.isNaN())return!1}return!0}setOwner(e){this._owner=e}dirty(){null!==this._owner&&this._owner.dirty()}_unsetOwner(e){for(const t of e)t instanceof s.a&&t.unsetOwner(this)}_setCachedDataValid(e){e||this.dirty()}}},"Wh/T":function(e,t,i){"use strict";var s=i("Kxc7");window.onload=function(){location.hostname.indexOf(".")>=0&&!function(){try{return/^(192|172|10)\.[0-9][0-9][0-9]\.[0-9][0-9][0-9]\.[0-9][0-9][0-9]/.test(location.hostname)||/^.*((?:\.local)|localhost)$/.test(location.hostname)}catch(e){return!1}}()&&setTimeout((function(){try{var e=function(){var e=0;return JSON.parse(urlParams.logo).image&&(e="C",s.enabled("link_to_tradingview")||(e="D")),e}();window.ga&&(0!==e&&window.ga("send","event","s",e),urlParams.utm||window.ga("send","event","l"))}catch(e){}}),3e4)}},Wh6B:function(e,t,i){"use strict";var s=i("Eyy1").ensureNotNull,r=i("Ss5c").LineDataSource,n=i("Ocx9").DefaultProperty,o=i("08i5");class a extends r{constructor(e,t){super(e,t||a.createProperties()),this._predictionPaneView=null,i.e("lt-pane-views").then(i.t.bind(null,"Ay2m",7)).then(({PredictionPaneView:e})=>{this._predictionPaneView=new e(this,this._model),this._setPaneViews([this._predictionPaneView])})}dataAndViewsReady(){return r.prototype.dataAndViewsReady.call(this)&&this._predictionPaneView&&this._predictionPaneView.iconsReady()}isSynchronizable(){return!1}status(){return this._properties.status.value()}setStatus(e){return this._properties.status.setValue(e)}pointsCount(){return 2}name(){return"Forecast"}restorePoints(e,t,i){super.restorePoints(e,t,i),this.checkAlert()}checkAlert(){if(!(this._points.length<2||this._model.mainSeries().bars().isEmpty())){var e=this._points[1];if(this.status())e.index>this._model.timeScale().baseIndex()&&this.setStatus(o.AlertStatus.Waiting);else{var t=this._model.mainSeries().bars().valueAt(e.index);if(null!==t){var i=this.direction();if(i===o.Direction.Up&&t[TradingView.HIGH_PLOT]>=e.price)this.setStatus(o.AlertStatus.Success);else if(i===o.Direction.Down&&t[TradingView.LOW_PLOT]<=e.price)this.setStatus(o.AlertStatus.Success);else{var r=s(this._model.mainSeries().bars().lastIndex());e.index!==r&&this.setStatus(o.AlertStatus.Failure)}}}}}addPoint(e){var t=r.prototype.addPoint.call(this,e);return t&&this.checkAlert(),t}endChanging(){super.endChanging(),this.setStatus(o.AlertStatus.Waiting),this.checkAlert()}onData(e){super.onData(e),this.checkAlert()}endMoving(){super.endMoving(),
this.setStatus(o.AlertStatus.Waiting),this.checkAlert()}direction(){if(this.points().length<2)return o.Direction.Up;var e=this.points()[0];return this.points()[1].price>e.price?o.Direction.Up:o.Direction.Down}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(27),i.e(62),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"Pwwq"))).PredictionDefinitionsViewModel}cloneable(){return!1}static createProperties(e){var t=new n("linetoolprediction",e);return a._configureProperties(t),t}static _configureProperties(e){r._configureProperties(e),e.merge({status:o.AlertStatus.Waiting})}}t.LineToolPrediction=a},WkOR:function(e,t,i){"use strict";i.d(t,"a",(function(){return n})),i.d(t,"b",(function(){return a}));var s=i("Kxc7");const r=s.enabled("uppercase_instrument_names");function n(e,t){return void 0===e?void 0===t:void 0!==t&&(r?e.toUpperCase()===t.toUpperCase():e===t)}function o(e,t){return e.some(e=>n(t,e))}function a(e,t,i){if(n(t,e))return!0;if(i){if(n(i.full_name,e)||n(i.pro_name,e))return!0;if(n(i.ticker,e))return!0;if(i.aliases&&o(i.aliases,e))return!0;if(i.alternatives&&o(i.alternatives,e))return!0;if(0===e.indexOf("FRA:")&&n(i.pro_name,e.replace("FRA:","FWB:")))return!0}return!1}},WkYF:function(e,t,i){"use strict";i.r(t),i.d(t,"LineToolDateRange",(function(){return a}));var s=i("Eyy1"),r=i("Ocx9"),n=i("Ss5c"),o=i("585y");class a extends n.LineDataSource{constructor(e,t){super(e,t||a.createProperties()),this._volumeCalculator=null,i.e("lt-pane-views").then(i.bind(null,"3xLB")).then(e=>{this._setPaneViews([new e.DateRangePaneView(this,this._model)])})}destroy(){super.destroy(),null!==this._volumeCalculator&&this._volumeCalculator.destroy()}pointsCount(){return 2}properties(){return super.properties()}name(){return"Date Range"}volume(){if(null===this._volumeCalculator)return NaN;const e=this.points();return this._volumeCalculator.volume(e[0].index,e[1].index)}setOwnerSource(e){e===this._model.mainSeries()&&(Object(s.assert)(null===this._volumeCalculator),this._volumeCalculator=new o.a(this._model.mainSeries())),super.setOwnerSource(e)}static createProperties(e){const t=new r.DefaultProperty("linetooldaterange",e);return a._configureProperties(t),t}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(27),i.e(62),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"Ax76"))).GeneralDatePriceRangeDefinitionsViewModel}static _configureProperties(e){n.LineDataSource._configureProperties(e)}}},WmDe:function(e,t,i){"use strict";TradingView.Pro=function(){this.hasPackage=function(){return!1}},window.user={is_pro:!1,settings:{}},TradingView.Pro.prototype.isPaidPro=function(){return!1},TradingView.Pro.prototype.isSupportAvailable=function(){return!1},TradingView.Pro.prototype.getStudies=function(){return[]},TradingView.Pro.prototype.getProduct=function(){return{}},TradingView.Pro.prototype.getStudiesOrder=function(){return[]}},Wo0S:function(e,t,i){e.exports={"common-tooltip":"common-tooltip-36YLR71G","common-tooltip--hidden":"common-tooltip--hidden-36YLR71G",
"common-tooltip--horizontal":"common-tooltip--horizontal-36YLR71G","common-tooltip--farther":"common-tooltip--farther-36YLR71G","common-tooltip--vertical":"common-tooltip--vertical-36YLR71G","common-tooltip-farther":"common-tooltip-farther-36YLR71G","common-tooltip--direction_normal":"common-tooltip--direction_normal-36YLR71G","common-tooltip__body":"common-tooltip__body-36YLR71G","common-tooltip__button-container":"common-tooltip__button-container-36YLR71G","common-tooltip__body--no-buttons":"common-tooltip__body--no-buttons-36YLR71G","common-tooltip__button":"common-tooltip__button-36YLR71G","common-tooltip--direction_reversed":"common-tooltip--direction_reversed-36YLR71G","common-tooltip__ear-holder":"common-tooltip__ear-holder-36YLR71G","common-tooltip__ear-holder--below":"common-tooltip__ear-holder--below-36YLR71G","common-tooltip__ear-holder--above":"common-tooltip__ear-holder--above-36YLR71G","common-tooltip__ear-holder--before":"common-tooltip__ear-holder--before-36YLR71G","common-tooltip__ear-holder--after":"common-tooltip__ear-holder--after-36YLR71G","common-tooltip__body--with-hotkey":"common-tooltip__body--with-hotkey-36YLR71G","common-tooltip__body--width_wide":"common-tooltip__body--width_wide-36YLR71G","common-tooltip__body--width_narrow":"common-tooltip__body--width_narrow-36YLR71G","common-tooltip__body--no-padding":"common-tooltip__body--no-padding-36YLR71G","common-tooltip__hotkey-block":"common-tooltip__hotkey-block-36YLR71G","common-tooltip__hotkey-block--divider":"common-tooltip__hotkey-block--divider-36YLR71G","common-tooltip__hotkey-text":"common-tooltip__hotkey-text-36YLR71G","common-tooltip__hotkey-button":"common-tooltip__hotkey-button-36YLR71G","common-tooltip__plus-sign":"common-tooltip__plus-sign-36YLR71G"}},Wt0y:function(e,t,i){"use strict";function s(e=location.host){return-1!==["i18n.tradingview.com","partial.tradingview.com","www.tradingview.com","wwwcn.tradingview.com"].indexOf(e)||-1!==["d33t3vvu2t2yu5.cloudfront.net","dwq4do82y8xi7.cloudfront.net","s.tradingview.com","s3.tradingview.com"].indexOf(e)||e.match(/^[a-z]{2}\.tradingview\.com/)||e.match(/prod-[^.]+.tradingview.com/)?"battle":e.includes("tradingview.com")||e.includes("staging")?"staging":e.match(/webcharts/)?"staging_local":(e.match(/^localhost(:\d+)?$/),"local")}function r(){return"local"===s()}function n(){return"battle"===s()}function o(){return!n()}i.r(t),i.d(t,"environment",(function(){return s})),i.d(t,"isLocal",(function(){return r})),i.d(t,"isProd",(function(){return n})),i.d(t,"isDebug",(function(){return o}))},X0WL:function(e,t,i){"use strict";i.d(t,"a",(function(){return s}));class s{constructor(e){this._colorProperty=e}size(){return"13px"}bold(){return!1}color(){return this._colorProperty.value()}}},XAms:function(e,t,i){"use strict";function s(e){e.preventDefault()}i.d(t,"a",(function(){return s})),i.d(t,"b",(function(){return n}))
;const r=["input:not([type])",'input[type="text"]','input[type="email"]','input[type="password"]','input[type="search"]','input[type="number"]','input[type="url"]',"textarea","a[href]",'*[contenteditable="true"]',"[data-allow-context-menu]"];function n(e){const t=e.target;t&&!t.closest(r.join(", "))&&e.preventDefault()}},XFad:function(e,t,i){"use strict";var s=i("5rJj"),r=i("aDyP").LineToolPitchfork;class n extends r{constructor(e,t){super(e,t||n.createProperties())}name(){return"Schiff Pitchfork"}static createProperties(e){var t=new s("linetoolschiffpitchfork2",e,!1,{range:[0,8]});return n._configureProperties(t),t}static _configureProperties(e){r._configureProperties(e)}}t.LineToolSchiffPitchfork2=n},XPit:function(e,t,i){"use strict";i.r(t),i.d(t,"TimePointIndexSearchMode",(function(){return s})),i.d(t,"seriesPlotFunctionMap",(function(){return l})),i.d(t,"barFunction",(function(){return c})),i.d(t,"SeriesData",(function(){return u}));var s,r=i("Eyy1"),n=i("k9/m");!function(e){e[e.FromLeft=-1]="FromLeft",e[e.FromRight=1]="FromRight"}(s||(s={}));const o={open:e=>e[1],high:e=>e[2],low:e=>e[3],close:e=>e[4],hl2:e=>(e[2]+e[3])/2,hlc3:e=>(e[2]+e[3]+e[4])/3,ohlc4:e=>(e[1]+e[2]+e[3]+e[4])/4},a=["open","high","low","close","hl2","hlc3","ohlc4"];function l(){const e=new Map;return a.forEach((t,i)=>{e.set(t,c(t))}),e}function c(e){return o[e]}function h(e,t){return null==e[t]}class u{constructor(){this.m_bars=new n.PlotList(l(),h),this.m_nsBars=new n.PlotList(l(),h)}bars(){return this.m_bars}nsBars(){return this.m_nsBars}size(){return this.m_bars.size()+this.m_nsBars.size()}each(e){this.m_bars.each(e),this.m_nsBars.each(e)}clear(){this.m_bars.clear(),this.m_nsBars.clear(),this.lastProjectionPrice=void 0}isEmpty(){return this.m_bars.isEmpty()&&this.m_nsBars.isEmpty()}first(){return this.m_bars.isEmpty()?this.m_nsBars.first():this.m_bars.first()}last(){return this.m_nsBars.isEmpty()?this.m_bars.last():this.m_nsBars.last()}search(e,t){return this.nsBars().isEmpty()?this.bars().search(e,t):this.bars().isEmpty()||Object(r.ensureNotNull)(this.nsBars().firstIndex())<=e?this.nsBars().search(e,t):this.bars().search(e,t)}valueAt(e){const t=this.search(e);return null!==t?t.value:null}plotValueToTimePointIndex(e,t,i){if(i===s.FromRight){const i=(i,s)=>{const r=s[t];return null!=r&&e>=r},s=this.m_bars.findLast(i);if(null!==s)return s.index;const r=this.m_nsBars.findLast(i);return null!==r?r.index:this.m_bars.firstIndex()}if(i===s.FromLeft){const i=(i,s)=>{const r=s[t];return null!=r&&e<=r},s=this.m_bars.findFirst(i);if(null!==s)return s.index;const r=this.m_nsBars.findFirst(i);return null!==r?r.index:this.m_bars.lastIndex()}throw new Error("plotValueToTimePointIndex: unsupported search mode")}moveData(e){this.m_bars.move(e),this.m_nsBars.move(e)}}},XRI5:function(e,t,i){"use strict";i.r(t),i.d(t,"SymbolExtrapolator",(function(){return c}));var s=i("Eyy1"),r=i("Y7w9"),n=i("IiTo"),o=i("IDnv"),a=i("LxhU");function l(e,t){return e.length>t}class c{constructor(e,t,i=2e5){this._firstRealBarTimeMs=null,this._historyBarsCache=[],
this._projectionFirstIndex=1/0,this._barsTimes=[],this._minFutureBarsCount=0,this._lastRealBarTimeMs=null,this._futureBarsCache=[],this._symbolInfo=e,this._interval=a.Interval.parse(t),this._extrapolateLimit=i,this._barBuilder=Object(n.newBarBuilder)(t,new n.SessionInfo(e.timezone,e.session,e.session_holidays,e.corrections),null)}destroy(){this.clear()}interval(){return this._interval}barBuilder(){return this._barBuilder}symbolInfo(){return this._symbolInfo}clear(){this._firstRealBarTimeMs=null,this._historyBarsCache=[],this._barsTimes=[],this._lastRealBarTimeMs=null,this._futureBarsCache=[],this._minFutureBarsCount=0,this._projectionFirstIndex=1/0}firstFutureBarIndex(){return this._barsTimes.length}futureBars(){return this._futureBarsCache}replaceBarsTimesTail(e,t=e.length){if(0===e.length)return;if(0===this._barsTimes.length)return void this.setBarsTimes(e,t);const i=e[0],n=this._barsTimes[this._barsTimes.length-1],o=i>n?this._barsTimes.length:Object(r.lowerbound_int)(this._barsTimes,i);0!==o?(this._barsTimes.splice(o,this._barsTimes.length,...e),this._projectionFirstIndex=t===e.length?this._barsTimes.length:this._barsTimes.indexOf(e[t]),Object(s.assert)(-1!==this._projectionFirstIndex,"something went wrong"),n!==e[e.length-1]&&this._setLastRealBarTime(e[e.length-1])):this.setBarsTimes(e,t)}setBarsTimes(e,t=e.length){const i=this._barsTimes;if(this._barsTimes=e.slice(),this._projectionFirstIndex=0===this._barsTimes.length?1/0:t,0===e.length)return this._historyBarsCache=[],this._futureBarsCache=[],this._firstRealBarTimeMs=null,void(this._lastRealBarTimeMs=null);0!==i.length&&i[i.length-1]===e[e.length-1]||this._setLastRealBarTime(e[e.length-1]),0!==i.length&&i[0]===e[0]||(this._historyBarsCache=[],this._firstRealBarTimeMs=e[0])}extrapolateTimeWithOffsetToTime(e,t){if(0===t)return{timeMs:e,exact:!0};0===this._barsTimes.length&&(t<0?null===this._firstRealBarTimeMs?this._firstRealBarTimeMs=e:(this._extendHistoryCacheToTimeFromRight(Math.min(e,null!==this._lastRealBarTimeMs?this._lastRealBarTimeMs:1/0)),this._ensureExtrapolatedToHistoryTime(e)):null===this._lastRealBarTimeMs?this._lastRealBarTimeMs=e:(this._extendFutureCacheToTimeFromLeft(Math.max(e,null!==this._firstRealBarTimeMs?this._firstRealBarTimeMs:1/0)),this._ensureExtrapolatedToFutureTime(e)));const i=this.indexOfTime(e);if(null===i)return null;const s=this._timeOfBarIndex(i.index+t);return null===s?null:((i.index<0||this._projectionFirstIndex<=i.index)&&(s.exact=!1),s)}indexOfTime(e){if(null!==this._firstRealBarTimeMs&ðis._lastRealBarTimeMs){this._ensureExtrapolatedToFutureTime(e);let t=Object(r.lowerbound_int)(this._futureBarsCache,e)
;if(0!==this._futureBarsCache.length&&t===this._futureBarsCache.length&&e>this._futureBarsCache[this._futureBarsCache.length-1])return null;this._futureBarsCache[t]!==e&&(t-=1);const i=Math.max(1,this._barsTimes.length)+t;return{index:i,timeMs:i===this._barsTimes.length-1?Object(s.ensureNotNull)(this._lastRealBarTimeMs):this._futureBarsCache[t]}}if(0===this._barsTimes.length)return null!==this._firstRealBarTimeMs&&this._firstRealBarTimeMs<=e||null!==this._lastRealBarTimeMs&&e<=this._lastRealBarTimeMs?{index:0,timeMs:Object(s.ensureNotNull)(this._timeOfBarIndex(0)).timeMs}:null;let t=Object(r.lowerbound_int)(this._barsTimes,e);return this._barsTimes[t]!==e&&(t-=1),{index:t,timeMs:this._barsTimes[t]}}setMinFutureBarsCount(e){this._minFutureBarsCount=e,0!==this._barsTimes.length&&this._ensureExtrapolatedToFutureBar(e)}ensureExtrapolatedToFutureTime(e){this._ensureExtrapolatedToFutureTime(e)}_setLastRealBarTime(e){const t=this._futureBarsCache.length,i=Object(r.upperbound_int)(this._futureBarsCache,e);0===i?this._extendFutureCacheToTimeFromLeft(e):(this._lastRealBarTimeMs=e,this._futureBarsCache=this._futureBarsCache.slice(i)),this._ensureExtrapolatedToFutureBar(Math.max(t,this._minFutureBarsCount))}_timeOfBarIndex(e){var t;if(e<0){const t=Math.abs(e);this._ensureExtrapolatedToHistoryBar(t);const i=this._historyBarsCache.length-t;return i<0?null:{timeMs:this._historyBarsCache[i],exact:!1}}if(0===e&&0===this._barsTimes.length)return{timeMs:Object(s.ensureNotNull)(null!==(t=this._firstRealBarTimeMs)&&void 0!==t?t:this._lastRealBarTimeMs),exact:!1};if(e>=this._barsTimes.length){const t=e-Math.max(1,this._barsTimes.length);return this._ensureExtrapolatedToFutureBar(t+1),t>=this._futureBarsCache.length?null:{timeMs:this._futureBarsCache[t],exact:!1}}return{timeMs:this._barsTimes[e],exact:e=e)return;if(Object(s.assert)(0===this._barsTimes.length,"bars should be empty"),this._firstRealBarTimeMs=e,
0===this._historyBarsCache.length)return;const t=Object(o.extrapolateBarsFrontToTime)(this._barBuilder,this._historyBarsCache[this._historyBarsCache.length-1],e-1,this._extrapolateLimit,!0).times;this._historyBarsCache=this._historyBarsCache.concat(t)}_ensureExtrapolatedToFutureBar(e){return!(this._futureBarsCache.length>=e||l(this._futureBarsCache,this._extrapolateLimit))&&this._extendFutureCacheFromRight((t,i)=>Object(o.extrapolateBarsFrontByCount)(this._barBuilder,t,e-i,!0).times)}_ensureExtrapolatedToFutureTime(e){null!==this._lastRealBarTimeMs&&this._lastRealBarTimeMs>=e||l(this._futureBarsCache,this._extrapolateLimit)||0!==this._futureBarsCache.length&&this._futureBarsCache[this._futureBarsCache.length-1]>=e||(this._extendFutureCacheFromRight((t,i)=>Object(o.extrapolateBarsFrontToTime)(this._barBuilder,t,e,this._extrapolateLimit,!0).times),this._futureBarsCache[this._futureBarsCache.length-1]=e||l(this._historyBarsCache,this._extrapolateLimit)||this._extendHistoryCacheFromLeft((t,i)=>Object(o.extrapolateBarsFrontByCount)(this._barBuilder,t,-(e-i),!0).times.reverse())}_ensureExtrapolatedToHistoryTime(e){null!==this._firstRealBarTimeMs&&this._firstRealBarTimeMs<=e||l(this._historyBarsCache,this._extrapolateLimit)||0!==this._historyBarsCache.length&&this._historyBarsCache[0]<=e||(this._extendHistoryCacheFromLeft((t,i)=>{const s=Object(o.extrapolateBarsFrontToTime)(this._barBuilder,t-1,e-1,this._extrapolateLimit,!0).times;return s[s.length-1]===t?s.slice(0,-1):s}),(0===this._historyBarsCache.length||this._historyBarsCache[0]>e)&&this._ensureExtrapolatedToHistoryBar(this._historyBarsCache.length+1))}}},XUCF:function(e,t,i){"use strict";var s=i("Hr11").sign,r=i("Ss5c").LineDataSource,n=i("Ocx9").DefaultProperty;class o{constructor(e,t,i){this._source=e,this._index=t,this._bars=i||[]}setBars(e){this._bars=e||[]}clone(e){return new o(e,this._index,TradingView.clone(this._bars))}createBar(){var e=this._source.properties().averageHL.value(),t=this._source.properties().variance.value()/100,i=this._source._model.mainSeries().base(),s=Math.random(),r=e*(1-2*s)*t,n=e*(1+(.5-(s=Math.random()))*t),o=r-n/2,a=o+n;return{o:(o+Math.random()*n)/i,h:a/i,l:o/i,c:(o+Math.random()*n)/i}}generate(){this._bars=[];var e=this._source.points(),t=e[this._index],i=e[this._index+1];if(t&&i&&t.index!==i.index){this._avgHL=this._source.properties().averageHL.value(),this._variance=this._source.properties().variance.value()/100;for(var r=this._index?t.index+1:t.index,n=s(i.index-t.index),o=r;o!==i.index;o+=n)this._bars.push(this.createBar())}}bars(){return this._bars}setSize(e){if(e{this._setPaneViews([new e(this,this._model)])})}isSynchronizable(){return!1}_handleRestoringFactoryDefaults(){var e=Math.round(this.calculateATR());this.properties().averageHL.setValue(e)}destroy(){this.properties().onRestoreFactoryDefaults().unsubscribe(this,this._handleRestoringFactoryDefaults),super.destroy()}regenerate(){this._currentAverageHL=this._properties.averageHL.value(),this._currentVariance=this._properties.variance.value(),this._segments.forEach((function(e){e.generate()})),this.updateAllViews(),this._model.updateSource(this)}propertiesChanged(){super.propertiesChanged(),this._currentAverageHL===this._properties.averageHL.value()&&this._currentVariance===this._properties.variance.value()||this.regenerate()}pointsCount(){return-1}name(){return"Ghost Feed"}segmentBars(e){return this._segments[e].bars()}segments(){return this._segments}generateBars(e){this._segments.length<=e&&this._segments.push(new o(this,e)),this._segments[e].generate()}addPoint(e){if(this._points.length>0&&this._points[this._points.length-1].index===e.index){this._lastPoint=null,this.normalizePoints(),this.createServerPoints();for(var t=0;t1&&this.generateBars(this._points.length-2),i||this._finished}finish(){this._finished=!0,this._lastPoint=null,this.normalizePoints(),this.createServerPoints()}setPoint(e,t,i){if(super.setPoint(e,t,i),e>0){var s=this.points()[e-1],r=t.index-s.index;this._segments[e-1].setSize(Math.abs(r))}if(e{this._setPaneViews([new t.BezierQuadroPaneView(this,e)])})}pointsCount(){return 2}properties(){return super.properties()}name(){return"Curve"}setLastPoint(e,t){super.setLastPoint(e,t),this._controlPoint=this._calculateControlPoint()}addPoint(e,t,i){const s=super.addPoint(e,t,i);if(s){const e=this._calculateControlPoint();this._points.push(e),this._controlPoint=null,i||(this.normalizePoints(),this.createServerPoints()),this._createPointProperty(2)}return s}restorePoints(e,t,i){super.restorePoints(e,t,i),this._createPointProperty(2)}controlPoint(){return this._controlPoint}
static createProperties(e){const t=new s.DefaultProperty("linetoolbezierquadro",e);return n._configureProperties(t),t}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(27),i.e(62),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"b4fl")).then(e=>e.GeneralBezierDefinitionsViewModel)}static _configureProperties(e){r.LineDataSource._configureProperties(e)}_calculateControlPoint(){const e=this.pointToScreenPoint(this.points()[0])[0],t=this.pointToScreenPoint(this.points()[1])[0],i=t.subtract(e).scaled(.5).transposed().scaled(.3),s=e.add(t).scaled(.5).add(i);return this.screenPointToPoint(s)}}},XzZr:function(e,t,i){"use strict";var s=i("ogJP").declareClassAsPureInterface;function r(){}TradingView.WEB_SOCKET_WAS_CONNECTED=!1,r.REBIND_STUDY_STANDALONE_TO_CHILD=1,r.REBIND_STUDY_CHILD_TO_STANDALONE=2,r.prototype.defaultWatchlistSymbols=function(){},r.prototype.defaultResolutions=function(){},r.prototype.availableCurrencies=function(){},r.prototype.availableUnits=function(){},r.prototype.supportedSymbolsTypes=function(){},r.prototype.supportedExchangesList=function(){},r.prototype.symbolsGrouping=function(){},r.prototype.quoteCreateSession=function(e){},r.prototype.quoteDeleteSession=function(e){},r.prototype.quoteSetFields=function(e,t){},r.prototype.quoteAddSymbols=function(e,t){},r.prototype.quoteRemoveSymbols=function(e,t){},r.prototype.quoteFastSymbols=function(e,t){},r.prototype.depthCreateSession=function(e,t,i){},r.prototype.depthDeleteSession=function(e){},r.prototype.depthSetSymbol=function(e,t){},r.prototype.depthClearSymbol=function(e){},r.prototype.depthSetScale=function(e,t){},r.prototype.chartCreateSession=function(e,t){},r.prototype.chartDeleteSession=function(e){},r.prototype.createSession=function(e,t){},r.prototype.removeSession=function(e){},r.prototype.connected=function(){},r.prototype.connect=function(){},r.prototype.disconnect=function(){},r.prototype.switchTimezone=function(e,t){},r.prototype.resolveSymbol=function(e,t,i,s,r){},r.prototype.createSeries=function(e,t,i,s,r,n,o,a){},r.prototype.removeSeries=function(e,t,i){},r.prototype.modifySeries=function(e,t,i,s,r,n,o){},r.prototype.requestMoreData=function(e,t,i,s){},r.prototype.requestMetadata=function(e,t,i){},r.prototype.isCanCreateStudy=function(e,t){},r.prototype.createStudy=function(e,t,i,s,r,n,o){},r.prototype.rebindStudy=function(e,t,i,s,r,n,o,a){},r.prototype.removeStudy=function(e,t,i){},r.prototype.modifyStudy=function(e,t,i,s,r){},r.prototype.createPointset=function(e,t,i,s,r,n,o){},r.prototype.modifyPointset=function(e,t,i,s,r){},r.prototype.removePointset=function(e,t,i){},r.prototype.requestMoreTickmarks=function(e,t,i,s){},r.prototype.requestFirstBarTime=function(e,t,i,s){},r.prototype._invokeHandler=function(e,t){},r.prototype._sendRequest=function(e,t){},r.prototype._onMessage=function(e){},r.prototype._dispathNotification=function(e){},r.prototype._invokeNotificationHandler=function(e,t,i){},r.prototype._notifySessions=function(e){},r.prototype.unpack=function(e){},
r.prototype.searchSymbols=function(e,t,i,s,r,n,o,a,l,c){},r.prototype.serverTimeOffset=function(){},r.prototype.getMarks=function(e,t,i,s,r){},r.prototype.getTimescaleMarks=function(e,t,i,s,r){},s(r,"ChartApiInterface"),e.exports.HandlerInfo=function(e,t){this.handler=e,this.customId=t},e.exports.ChartApiInterface=r},Y5iK:function(e,t,i){"use strict";i.r(t),i.d(t,"MainSeriesScaleRatioProperty",(function(){return n}));var s=i("aIyQ"),r=i.n(s);class n{constructor(e){this._changed=new r.a,this._model=e}getStepChangeValue(){return.1}getMinValue(){return 1e-7}getMaxValue(){return 99999999}value(){return this._model.mainSeriesScaleRatio()}setValue(e,t){(e!==this.value()||t)&&(this._model.setMainSeriesScaleRatio(e),this._onChanged())}state(){return null}clone(){return new n(this._model)}listeners(){return this._changed}subscribe(e,t){this._changed.subscribe(e,t)}unsubscribe(e,t){this._changed.unsubscribe(e,t)}unsubscribeAll(e){this._changed.unsubscribeAll(e)}_onChanged(){this._changed.fire(this)}}},Y7w9:function(e,t,i){"use strict";function s(e,t){return e>1,o=s+r;i(e[o],t)?(s=o+1,n-=r+1):n=r}return s}function n(e,t,i=0,n=e.length){return r(e,t,s,i,n)}function o(e,t,i,s=0,r=e.length){let n=r-s;for(;0>1,o=s+r;i(t,e[o])?n=r:(s=o+1,n-=r+1)}return s}function a(e,t,i=0,r=e.length){return o(e,t,s,i,r)}function l(e,t){return e.filter(e=>!t.includes(e))}function c(e,t){const i=e.indexOf(t);return i<0?e.slice():[t].concat(e.slice(0,i)).concat(e.slice(i+1))}function h(e,t,i){const s=new Set(t),r=[],o=[],a=[];return e.forEach((e,t)=>{s.has(e)?o.push(e):(r.push(e),a.push(t))}),i=i{s.has(e)?o.push(e):(r.push(e),a.push(t))}),i=i<=e.length-1?n(a,i):r.length,r.splice(i,0,...o),{newItems:r,movedItemsStartIndex:i}}function d(e,t){const i=new Set;return e.forEach(e=>{t.has(e)&&i.add(e)}),i}i.r(t),i.d(t,"lowerbound",(function(){return r})),i.d(t,"lowerbound_int",(function(){return n})),i.d(t,"upperbound",(function(){return o})),i.d(t,"upperbound_int",(function(){return a})),i.d(t,"subtract",(function(){return l})),i.d(t,"moveToHead",(function(){return c})),i.d(t,"moveAfter",(function(){return h})),i.d(t,"moveBefore",(function(){return u})),i.d(t,"intersect",(function(){return d}))},YCFM:function(e,t,i){},YWnQ:function(e,t,i){"use strict";var s;i.r(t),i.d(t,"SymbolErrorPermissionDeniedReason",(function(){return s})),i.d(t,"permissionDenied",(function(){return r})),function(e){e.Symbol="symbol",e.GroupPermission="group"}(s||(s={}));const r="permission denied"},YdVo:function(e,t,i){"use strict";i.r(t),i.d(t,"LineToolPath",(function(){return c}));var s=i("Eyy1"),r=i("aO4+"),n=i("Ocx9"),o=i("Zp/P"),a=i("Ss5c"),l=i("j3hX");class c extends a.LineDataSource{constructor(e,t){const s=t||c.createProperties();super(e,s),i.e("lt-pane-views").then(i.bind(null,"JeuX")).then(t=>{
this._setPaneViews([new t.PathPaneView(this,e)])})}pointsCount(){return-1}properties(){return super.properties()}name(){return"Path"}hasEditableCoordinates(){return!1}addPoint(e,t,i){var n;const a=Object(s.ensureNotNull)(this.priceScale()),l=this._model.timeScale().indexToCoordinate(e.index),c=e.price,h=Object(s.ensure)(null===(n=this.ownerSource())||void 0===n?void 0:n.firstValue()),u=a.priceToCoordinate(c,h);if(this._points.length>0){const e=this._points[this._points.length-1],t=this._model.timeScale().indexToCoordinate(e.index),i=e.price,s=a.priceToCoordinate(i,h);if(new r.Point(l,u).subtract(new r.Point(t,s)).length()