"use strict";(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[6002,76332],{173777:(e,t,i)=>{i.d(t,{SEPARATOR_PREFIX:()=>n});const n="###"},461909:(e,t,i)=>{function n(e){if(void 0===e)return null;const t=e.match(/(delayed_streaming)_([\d]{1,4})/);return null===t?null:{mode:t[1],interval:parseInt(t[2])}}function _(e){const t=n(e.update_mode);return null===t||(e.update_mode=t.mode,e.update_mode_seconds=t.interval),e}i.r(t),i.d(t,{normalizeUpdateMode:()=>_,parseUpdateMode:()=>n})},66974:(e,t,i)=>{function n(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 _(){return"local"===n()}function s(){return"battle"===n()}function r(){return!s()}i.r(t),i.d(t,{environment:()=>n,isDebug:()=>r,isLocal:()=>_,isProd:()=>s})},778016:(e,t,i)=>{i.d(t,{enabled:()=>a,getConfig:()=>l});i(650151);var n=i(409352),_=i(102710),s=i(833813),r=i(822122),o=i(255453);function a(e,t,i){let n=window.user;i&&(n=i);const _=l(e,t,n);return!!_&&!(_[s.ProductFeatures.DISABLE_ON_TRIAL]&&(!n||n.is_trial))}function c(e){const t=n[e];return t?t.extends?Object.assign({},c(t.extends),t):t:null}function l(e,t,i){var n;let s=c(t||function(e){let t=window.user;e&&(t=e);let i=(null==t?void 0:t.pro_plan)||r.ProPlans.Free;const n=i!==r.ProPlans.Free&&!(0,o.isTrialProduct)(i);return n||(i=(0,o.getProductForTrial)(i)),n&&t&&!t.new_pro_product_line&&(i=`__legacy_${i}`),i}(i));if(!s)return null;const a=null===(n=window.TradingView)||void 0===n?void 0:n.widgetCustomer;return a&&_[a]&&(s=Object.assign({},s,_[a])),s&&s[e]||null}},833813:(e,t,i)=>{var n;i.d(t,{ProductFeatures:()=>n}),function(e){e.DISABLE_ON_TRIAL="disable_on_trial",e.CUSTOM_INTERVALS="CUSTOM_INTERVALS",e.CHART_STORAGE="CHART_STORAGE",e.MULTIPLE_CHARTS="MULTIPLE_CHARTS",e.MULTIPLE_WATCHLISTS="MULTIPLE_WATCHLISTS",e.IMPORT_WATCHLISTS="IMPORT_WATCHLISTS",e.EXPORT_WATCHLISTS="EXPORT_WATCHLISTS",e.WATCHLIST_SYMBOLS="WATCHLIST_SYMBOLS",e.INDICATORS_ON_CHART="INDICATORS_ON_CHART",e.STUDY_ON_STUDY="STUDY_ON_STUDY",e.TICK_BY_TICK_PUSH_DATA="TICK_BY_TICK_PUSH_DATA",e.SERVER_SIDE_ALERTS="SERVER_SIDE_ALERTS",e.PUBLISH_INVITE_ONLY_SCRIPTS="PUBLISH_INVITE_ONLY_SCRIPTS",e.PUBLISH_PROTECTED_SCRIPTS="PUBLISH_PROTECTED_SCRIPTS",e.SCREENER_ALERTS="SCREENER_ALERTS",e.SCREENER_AUTO_REFRESH="SCREENER_AUTO_REFRESH",e.SCREENER_EXPORT_DATA="SCREENER_EXPORT_DATA",e.SCREENER_INTERVALS="SCREENER_INTERVALS",e.SCREENER_NEW_EXPORT_CSV_DATA="SCREENER_NEW_EXPORT_CSV_DATA",e.SIMULTANEOUS_CONNECTIONS="SIMULTANEOUS_CONNECTIONS",e.BACKEND_CONNECTIONS="BACKEND_CONNECTIONS",e.STUDY_TEMPLATES="STUDY_TEMPLATES",e.CAN_EDIT_PUBLIC_CHATS="CAN_EDIT_PUBLIC_CHATS", e.NO_SPONSORED_ADS="NO_SPONSORED_ADS",e.IDC_AVAILABLE_DELAY="IDC_AVAILABLE_DELAY",e.STATUS="STATUS",e.ALERTS_NO_EXPIRATION="ALERTS_NO_EXPIRATION",e.MULTIFLAGGED_SYMBOLS_LISTS="MULTIFLAGGED_SYMBOLS_LISTS",e.BAR_REPLAY_INTRADAY="BAR_REPLAY_INTRADAY",e.TV_VOLUMEBYPRICE="TV_VOLUMEBYPRICE",e.ALERTS_WEBHOOK="ALERTS_WEBHOOK",e.DEEP_FUNDAMENTALS_HISTORY="DEEP_FUNDAMENTALS_HISTORY",e.EXPORT_CHART_DATA="EXPORT_CHART_DATA",e.EXPORT_FINANCIALS_DATA="EXPORT_FINANCIALS_DATA",e.ALERTS_ON_SECONDS="ALERTS_ON_SECONDS",e.PERMANENT_STREAM_RECORDS="PERMANENT_STREAM_RECORDS",e.IDEA_SOCIAL_LINKS="IDEA_SOCIAL_LINKS",e.EXTENDED_SOCIAL_LINKS="EXTENDED_SOCIAL_LINKS",e.DEEP_HISTORY_BACKTEST="DEEP_HISTORY_BACKTEST",e.BACKTESTING_EXPORT="BACKTESTING_EXPORT",e.USE_BAR_MAGNIFIER="USE_BAR_MAGNIFIER",e.HISTORICAL_BARS="HISTORICAL_BARS",e.KAGI_RENKO="KAGI_RENKO",e.INTRADAY_SPREAD="INTRADAY_SPREAD",e.SECONDS_INTERVALS="SECONDS_INTERVALS",e.MULTICOLOR_FLAGGED_SYMBOLS="MULTICOLOR_FLAGGED_SYMBOLS",e.INTRADAY_EXCHANGE="INTRADAY_EXCHANGE",e.CUSTOM_CHATS="CUSTOM_CHATS",e.VOLUME_PROFILE="VOLUME_PROFILE",e.TPO_PERIODIC="TPO_PERIODIC",e.PRIMITIVE_ALERTS="PRIMITIVE_ALERTS",e.COMPLEX_ALERTS="COMPLEX_ALERTS",e.TV_PROSTUDIES="TV_PROSTUDIES",e.CHART_PATTERNS="CHART_PATTERNS",e.SMS_2FA_VERIFICATION="SMS_2FA_VERIFICATION",e.SOCIAL_ACTIVITY="SOCIAL_ACTIVITY",e.TICK_INTERVALS="TICK_INTERVALS",e.CUSTOM_FORMULAS="CUSTOM_FORMULAS",e.CUSTOM_RANGE_BARS="CUSTOM_RANGE_BARS",e.BUY_PRO_DATA="BUY_PRO_DATA",e.FASTEST_DATA_FLOW="FASTEST_DATA_FLOW",e.FIRST_PRIORITY_SUPPORT="FIRST_PRIORITY_SUPPORT"}(n||(n={}))},588948:(e,t,i)=>{i.d(t,{getInitData:()=>_});i(650151);(0,i(201089).getLogger)("Common.InitData");const n=window.initData||{};function _(){return n}},314802:(e,t,i)=>{i.d(t,{isOnMobileAppPage:()=>_});var n=i(16188);function _(e,t=!1){const{searchParams:i}=new URL(String(location));let _="true"===i.get("mobileapp_new"),s="true"===i.get("mobileapp");if(!t){const e=n.get("tv_app")||"";_||(_=["android","android_nps"].includes(e)),s||(s="ios"===e)}return!("new"!==e&&"any"!==e||!_)||!("new"===e||!s)}},659863:(e,t,i)=>{new class{constructor(e,t){this._test=e[t]={}}provide(e,t){this._test[e]=t}}(window,"qaGlobals")},519073:(e,t,i)=>{function n(e){return void 0!==e&&e.includes("crypto")}i.d(t,{hasCryptoTypespec:()=>n})},175203:(e,t,i)=>{i.d(t,{telemetry:()=>l});var n=i(707957),_=i(120780),s=i(638456),r=i(314802);i(659863);const o=(0,i(201089).getLogger)("Common.Telemetry"),a={default:15e3,site:3e5},c=["before_websocket_connection_time_frame","websocket_connection_time_frame","first_series_full_time_frame","page_full_load_time_frame","page_load_time_frame"];const l=new class{constructor(){this.reportSent=new n.Delegate,this.timeCounters={series:{marks:[]},study:{},pine:{}},this._timeoutIds={},this._commonAdditionalData={cluster:null,userId:"0"},this._reportStash={}}setSessionInfo(e){const t=this._parseCluster(e);null!==t&&(this._commonAdditionalData.cluster=t)}sendReport(e,t,i){var n;if(!this._isAbleToSendReport(t))return;const _=this._getSubserviceType(e),s=this._getHost(e,_) ;if(null!==s){if(i=void 0===i?{count:1}:i,this._addReportToStash(i,t,s),!this._timeoutIds[e]){const t=null!==(n=a[e])&&void 0!==n?n:a.default;this._timeoutIds[e]=setTimeout(this._sendTelemetryToService.bind(this,e,s),t)}}else o.logError(`Unable to get host for counter: ${t}, metric type: ${e}, serivce type: ${_}`)}sendChartReport(e,t,i=!0){this._sendServiceSpecifiedReport("charts",e,t,i)}sendLineToolsStorageReport(e,t,i=!0){this._sendServiceSpecifiedReport("line_tools_storage",e,t,i)}_sendServiceSpecifiedReport(e,t,i,n=!0){this._updateUserInfo(),i=void 0===i?{count:1}:i,n&&(i=this._appendCommonAdditionalInfo(i,["cluster","userId"])),this.sendReport(e,t,i)}_updateUserInfo(){const e="user"in window&&"id"in window.user?window.user.id:"0";this._commonAdditionalData.userId=String(e)}_isAbleToSendReport(e){const t=window.TELEMETRY_HOSTS,i=c.includes(e),n=Boolean(window.TradingView.onChartPage||(0,s.onWidget)());return t&&(!i||n)}_sendTelemetryToService(e,t){if(this._reportStash.hasOwnProperty(t)){const e=this._cropParams(this._reportStash[t]),i=this._renameAllParams(e),n={event:"report_stash",params:this._cleanAllParams(i)};o.logDebug(`Report to host: ${t}; stash: ${JSON.stringify(this._reportStash[t])}`),this.reportSent.fire(this._reportStash[t]),delete this._reportStash[t],(0,_.fetch)(`${t}/report`,{method:"POST",body:JSON.stringify(n)})}this._timeoutIds[e]=null}_getHost(e,t){const i=window.TELEMETRY_HOSTS,n=i[e]&&i[e][t];return Boolean(n)?n:null}_getSubserviceType(e){if(!["charts","site"].includes(e))return"all";let t="free";const i=window.user.is_pro;return"charts"===e&&(0,r.isOnMobileAppPage)("old")?t=i?"ios_pro":"ios_free":"charts"===e&&(0,r.isOnMobileAppPage)("new")?t=i?"android_pro":"android_free":(0,s.onWidget)()?t="widget":i&&(t="pro"),t}_parseCluster(e){let t;try{t=JSON.parse(e).session_id}catch(e){return o.logError("Could not parse cluster id (session id)"),null}const i=/(.*@)(.*)/gi.exec(t);return null!==i&&i.length>=3?i[2]:null}_appendCommonAdditionalInfo(e,t){return t.forEach((t=>{t in this._commonAdditionalData&&(e.additional=e.additional||{},e.additional[t]=this._commonAdditionalData[t])})),e}_cropParams(e){var t;for(const i in e)e.hasOwnProperty(i)&&e[i].length>1e3&&(e.too_much_metrics_frame=null!==(t=e.too_much_metrics_frame)&&void 0!==t?t:[],e.too_much_metrics_frame.push({value:e[i].length,additional:{event:i}}),delete e[i]);return e}_renameAllParams(e){const t={};for(const i in e)e.hasOwnProperty(i)&&(t[i]=[],e[i].forEach((e=>{t[i].push(this._renameEntryParams(e))})));return t}_renameEntryParams(e){const t={count:"c",value:"v",text:"t",additional:"a"};return Object.keys(e).reduce(((i,n)=>(i[t[n]]=e[n],i)),{})}_cleanAllParams(e){const t={};for(const i in e)if(e.hasOwnProperty(i)){t[i]=[];const n={c:0};e[i].forEach((e=>{const _=this._cleanEntryParams(e),s=Object.keys(_).length;1===s&&void 0!==_.c?n.c+=_.c:s>0&&t[i].push(_)})),n.c>0&&t[i].push(n),0===t[i].length&&delete t[i]}return t}_cleanEntryParams(e){const t=Object.keys(e).reduce(((t,i)=>"c"!==i&&"t"!==i||e[i]?(t[i]=e[i],t):t),{}) ;return"c"in t||"v"in t||"t"in t?t:{}}_addReportToStash(e,t,i){i in this._reportStash||(this._reportStash[i]={}),t in this._reportStash[i]||(this._reportStash[i][t]=[]),Object.keys(e).length>0&&this._reportStash[i][t].push(e)}}},779923:(e,t,i)=>{async function n(e,t){const n=await Promise.all([i.e(62253),i.e(22666),i.e(92108),i.e(9817),i.e(92191),i.e(34465),i.e(69121),i.e(66639),i.e(30006),i.e(88194),i.e(26855),i.e(43610),i.e(96899),i.e(29998),i.e(745),i.e(38890)]).then(i.bind(i,894185));return n.showSimpleDialog(e,n.warningModule,t)}i.d(t,{showWarning:()=>n})},889267:(e,t,i)=>{var n=i(244842),_=i(173777);const s={number:/\d+(?:\.\d*|(?![a-zA-Z0-9_!:.&]))|\.\d+/,incompleteNumber:/\./,symbol:n.enabled("charting_library_base")?/(?:[^-+\/*^\s]'|[a-zA-Z0-9_\u0370-\u1FFF_\u2E80-\uFFFF^])(?:[^-+\/*^\s]'|[a-zA-Z0-9_\u0020\u0370-\u1FFF_\u2E80-\uFFFF_!:.&])*|'.+?'/:/(?:[^-+\/*^\s]'|[a-zA-Z0-9_\u0370-\u1FFF_\u2E80-\uFFFF])(?:[^-+\/*^\s]'|[a-zA-Z0-9_\u0020\u0370-\u1FFF_\u2E80-\uFFFF_!|:.&])*|'.+?'/,incompleteSymbol:/'[^']*/,separatorPrefix:_.SEPARATOR_PREFIX,openBrace:"(",closeBrace:")",plus:"+",minus:"-",multiply:"*",divide:"/",power:"^",whitespace:/[\0-\x20\s]+/,unparsed:null};new RegExp(Object.values(s).map((e=>{return null===e?"":`(${"string"==typeof e?(t=e,t.replace(/[\^$()[\]{}*+?|\\]/g,"\\$&")):e.source})`;var t})).filter((e=>""!==e)).concat(".").join("|"),"g")},799402:(e,t,i)=>{i.d(t,{AuthToken:()=>o});var n=i(707957),_=i(201089),s=i(120780);const r=(0,_.getLogger)("ChartApi.AuthToken",{color:"#173"});class o{constructor(){this.invalidated=new n.Delegate,this._tid=0,window.loginStateChange||(window.loginStateChange=new n.Delegate),window.loginStateChange.subscribe(this,(e=>{e||(this._set(window.user.auth_token),this.invalidated.fire())})),this._set(window.user.auth_token)}get(e){return window.is_authenticated?!e&&performance.now(){if(!window.is_authenticated)throw new Error("User logged out while the request was in flight");return this._set(e),e})).catch((e=>(r.logError(`Error fetching new token: ${e&&e.message}`),""))):Promise.resolve("")}reset(){this._set(void 0),this.invalidated.fire()}_set(e){if(window.is_authenticated&&void 0!==e){const t=function(e){if(""===e)return 144e5;try{const t=JSON.parse(atob(e.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"))),i=1e3*(t.exp-t.iat);if(!isFinite(i))throw new Error("invalid expiration");return Math.max(i-3e5,3e5)}catch(t){return r.logError(`${e} is invalid: ${t.message}`),144e5}}(e);this._cache={token:e,monoValidThru:performance.now()+t,wallValidThru:Date.now()+t},clearTimeout(this._tid),this._tid=setTimeout((()=>this.reset()),t),r.logInfo(`Cached for ${t} ms: ${e}`)}else this._cache={token:"",monoValidThru:-1/0,wallValidThru:-1/0},clearTimeout(this._tid),r.logInfo("Cache dropped")}_fetch(e,t){return r.logNormal(`Fetching a new token, grabSession=${e}`),(0,s.fetch)("/quote_token/",{ method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:e?"grabSession=true":""}).then((e=>{if(!e.ok)throw new Error(`Response status is not ok: ${e.status}`);return e.json().then(String)}),(i=>{if(t>=3)throw i;return r.logWarn("Request failed, will retry"),function(e){return new Promise((t=>setTimeout(t,1e3*e)))}(t).then((()=>this._fetch(e,t+1)))}))}}},315347:(e,t,i)=>{var n,_;i.d(t,{TIMEFRAMETYPE:()=>_}),function(e){e.extractErrorReason=function(e){return e.params[1]}}(n||(n={})),function(e){e.PeriodBack="period-back",e.TimeRange="time-range"}(_||(_={}))},6613:(e,t,i)=>{i.r(t),i.d(t,{QUOTE_FIELDS:()=>s,QUOTE_FIELDS_CACHE:()=>r,QuoteCache:()=>_});var n=i(650151);class _{constructor(e){this._cache=new Map,this._fields=[...e.fields]}update(e,t,i){const _=(0,n.ensureDefined)(e.symbolname);if(this._cache.has(_)||this._cache.set(_,{symbolname:_,status:e.status,values:{}}),"error"===e.status)return;const s=(0,n.ensureDefined)(this._cache.get(_));s.status=e.status;for(const n of this._fields)t.has(n)&&(i||void 0!==e.values[n])&&(s.values[n]=e.values[n])}get(e){var t;return null!==(t=this._cache.get(e))&&void 0!==t?t:null}fields(){return this._fields}} const s=new Set(["pro_name","base_name","logoid","currency-logoid","base-currency-logoid","source-logoid","short_name","timezone","current_session","last_price","lp_time","prev_close_price","open_price","high_price","low_price","price_52_week_high","price_52_week_low","ask","ask_size","bid","bid_size","rch","rchp","rtc","data_frequency","reference-last-period-start","business_description","web_site_url","number_of_employees","float_shares_outstanding","earnings_release_next_calendar_date","root","description","exchange","listed_exchange","type","country_code","provider_id","sector","typespecs","visible-plots-set","industry","currency_id","last_price","fractional","minmov","minmove2","pricescale","variable_tick_size","change","change_percent","volume","average_volume","market_cap_basic","total_revenue","earnings_per_share_basic_ttm","price_earnings_ttm","beta_1_year","dps_common_stock_prim_issue_fy","dividends_yield","earnings_release_next_date","earnings_per_share_forecast_next_fq","earnings_release_date","earnings_per_share_fq","fundamental_currency_code","number_of_employees","web_site_url","business_description","founded","ceo","float_shares_outstanding","total_shares_outstanding","dividend_payout_ratio_ttm","dividends_yield_current","dividend_ex_date_upcoming","dividend_amount_upcoming","dividend_amount_recent","dividend_ex_date_recent","total_revenue_fq_h","total_revenue_fy_h","net_income_fy_h","net_income_fq_h","total_assets_fy_h","total_assets_fq_h","total_liabilities_fy_h","total_liabilities_fq_h","cash_f_operating_activities_fy_h","cash_f_operating_activities_fq_h","cash_f_investing_activities_fy_h","cash_f_investing_activities_fq_h","cash_f_financing_activities_fy_h","cash_f_financing_activities_fq_h","fiscal_period_fy_h","fiscal_period_fq_h","fiscal_period_fh_h","earnings_release_date_fq_h","earnings_release_next_date_fq","earnings_per_share_forecast_next_fq","earnings_per_share_forecast_fq_h","earnings_per_share_fq_h","earnings_fiscal_period_fq_h","next_earnings_fiscal_period_fq","earnings_release_next_time","is_next_earnings_release_date_estimated","symbol-primaryname","currency_code","rates_mc","rates_fy","rates_ttm","measure","value_unit_id","value-unit-id","update_mode","language","local_description","short_description","source","source2","format","recommendation_mark","last_report_frequency","price_target_estimates_num","price_target_average","update_mode_seconds","recommendation_total","recommendation_buy","recommendation_over","recommendation_hold","recommendation_under","recommendation_sell","recommendation_total","price_target_high","price_target_low","rates_pt","rates_pt","total_revenue_fy_h","total_revenue_fq_h","total_revenue_fh_h","net_income_fy_h","net_income_fq_h","net_income_fh_h","total_assets_fy_h","total_assets_fq_h","total_assets_fh_h","total_liabilities_fy_h","total_liabilities_fq_h","total_liabilities_fh_h","cash_f_operating_activities_fy_h","cash_f_operating_activities_fq_h","cash_f_operating_activities_fh_h","cash_f_investing_activities_fy_h","cash_f_investing_activities_fq_h","cash_f_investing_activities_fh_h","cash_f_financing_activities_fy_h","cash_f_financing_activities_fq_h","cash_f_financing_activities_fh_h","fiscal_period_fy","fiscal_period_fq","fiscal_period_fh","earnings_release_date_fq_h","earnings_release_date_fy_h","earnings_release_date_fh_h","earnings_release_next_date_fq","earnings_release_next_date_fy","earnings_release_next_date_fh","earnings_release_next_time","is_next_earnings_release_date_estimated","earnings_per_share_forecast_next_fq","earnings_per_share_forecast_next_fy","earnings_per_share_forecast_next_fh","earnings_per_share_forecast_fq_h","earnings_per_share_forecast_fy_h","earnings_per_share_forecast_fh_h","earnings_per_share_fq_h","earnings_per_share_fy_h","earnings_per_share_fh_h","earnings_fiscal_period_fq_h","earnings_fiscal_period_fy_h","earnings_fiscal_period_fh_h","next_earnings_fiscal_period_fq","next_earnings_fiscal_period_fy","next_earnings_fiscal_period_fh","revenue_fq_h","revenue_fy_h","revenue_fh_h","revenue_forecast_fq_h","revenue_forecast_fy_h","revenue_forecast_fh_h","revenue_forecast_next_fq","revenue_forecast_next_fy","revenue_forecast_next_fh","revenue_seg_by_business_h","revenue_seg_by_region_h","dividend_payout_ratio_ttm","dividends_yield_current","dividend_ex_date_upcoming","dividend_amount_upcoming","dividend_amount_recent","dividend_ex_date_recent","dividend_amount_h","total_revenue_fy","total_revenue_fq","total_revenue_fh","gross_profit_fy","gross_profit_fq","gross_profit_fh","ebitda_fy","ebit_fy","net_income_fy","net_income_fq","net_income_fh","total_debt_fy_h","total_debt_fq_h","total_debt_fh_h","free_cash_flow_fy_h","free_cash_flow_fq_h","free_cash_flow_fh_h","cash_n_equivalents_fy_h","cash_n_equivalents_fq_h","cash_n_equivalents_fh_h","total_current_assets_fy","total_current_assets_fq","total_current_assets_fh","total_current_liabilities_fy","total_current_liabilities_fq","total_current_liabilities_fh","total_non_current_assets_fy","total_non_current_assets_fq","total_non_current_assets_fh","total_non_current_liabilities_fy","total_non_current_liabilities_fq","total_non_current_liabilities_fh","loans_net_fy","total_deposits_fy","loan_loss_allowances_fy","price_earnings_fq_h","price_earnings_fy_h","price_earnings_fh_h","price_sales_fq_h","price_sales_fy_h","price_sales_fh_h","diluted_net_income_ttm","total_revenue_ttm","price_earnings_current","price_sales_current","isin","interest_income_fy_h","interest_income_fq_h","interest_income_fh_h","non_interest_income_fy_h","non_interest_income_fq_h","non_interest_income_fh_h","website","doc","explorer","sources","contracts","crypto_common_categories","crypto_asset","community","dividends_availability","earnings_availability","financials_availability","etf_asset_type_exposure","etf_region_exposure","top_holdings","unit-id","options-info","interest_income_fy","interest_income_fq","interest_income_fh","non_interest_income_fy","non_interest_income_fq","non_interest_income_fh","interest_expense_fy","interest_expense_fq","interest_expense_fh","loan_loss_provision_fy","loan_loss_provision_fq","loan_loss_provision_fh","non_interest_expense_fy","non_interest_expense_fq","non_interest_expense_fh","non_oper_income_fy","non_oper_income_fq","non_oper_income_fh","unusual_expense_inc_fy","unusual_expense_inc_fq","unusual_expense_inc_fh","pretax_income_fy","pretax_income_fq","pretax_income_fh","income_tax_fy","income_tax_fq","income_tax_fh","after_tax_other_income_fy","after_tax_other_income_fq","after_tax_other_income_fh","total_non_oper_income_fy","total_non_oper_income_fq","total_non_oper_income_fh","oper_income_fy","oper_income_fq","oper_income_fh","operating_expenses_fy","operating_expenses_fq","operating_expenses_fh","cost_of_goods_fy","cost_of_goods_fq","cost_of_goods_fh","equity_in_earnings_fy","equity_in_earnings_fq","equity_in_earnings_fh","minority_interest_exp_fy","minority_interest_exp_fq","minority_interest_exp_fh","discontinued_operations_fy","discontinued_operations_fq","discontinued_operations_fh","front_contract","pointvalue","unit_id","expiration","aum","asset_class","focus","expense_ratio","launch_date","issuer","brand","homepage","index_tracked","fund_view_mode","common_equity_tier1_ratio_fy_h","common_equity_tier1_ratio_fq_h","common_equity_tier1_ratio_fh_h","tier1_capital_ratio_fy_h","tier1_capital_ratio_fq_h","tier1_capital_ratio_fh_h","total_capital_ratio_fy_h","total_capital_ratio_fq_h","total_capital_ratio_fh_h"]),r=new _({ fields:s})},876332:(e,t,i)=>{i.d(t,{getQuoteSessionInstance:()=>r});var n=i(11228),_=i.n(n);const s={};function r(e="full"){return s[e]||function(e="full",t){s[e]=t}(e,new(_())(e)),s[e]}},433084:(e,t,i)=>{i.d(t,{QuoteSession:()=>_});var n=i(541558);class _{constructor(e,t=(0,n.randomHash)()){this._sessionstarted=!1,this._globalHandler=null,this._chartApi=e,this._sessionid="qs_"+t}destroy(){this._sessionstarted&&(this._chartApi.quoteDeleteSession(this._sessionid),this._sessionstarted=!1)}connected(){return this._chartApi.connected()}connect(e){this._globalHandler=e,this._chartApi.createSession(this._sessionid,this),this._chartApi.connect()}disconnect(){this._chartApi.disconnect()}quoteAddSymbols(e){this._chartApi.quoteAddSymbols(this._sessionid,e)}quoteRemoveSymbols(e){this._chartApi.quoteRemoveSymbols(this._sessionid,e)}quoteFastSymbols(e){this._chartApi.quoteFastSymbols(this._sessionid,e)}quoteSetFields(e){this._chartApi.quoteSetFields(this._sessionid,e)}onMessage(e){var t;switch(e.method){case"connected":this._sessionstarted||(this._chartApi.quoteCreateSession(this._sessionid),this._sessionstarted=!0);break;case"disconnected":this._sessionstarted=!1}null===(t=this._globalHandler)||void 0===t||t.call(this,e)}quoteHibernateAll(){this._chartApi.quoteHibernateAll(this._sessionid)}}window.TradingView.QuoteSession=_},11228:(e,t,i)=>{e=i.nmd(e);var n=i(343370).default,_=i(12481).default,s=i(624444).PriceFormatter;const{uniq:r}=i(337779);var o=i(541558);const{normalizeUpdateMode:a}=i(461909);var c=i(329806).deepExtend;const{QUOTE_FIELDS_CACHE:l,QUOTE_FIELDS:h}=i(6613);var d,u=i(707957).Delegate;function p(e,t){this.options=Object.assign({throttleTimeout:125},t),this._connected=!1,this._symbol_data={},this._subscriptions={},this.onConnect=new u,this.onDisconnect=new u,this._quoteApi=new d(window.ChartApiInstance),this._type=e||"full",this._delayUpdateFastSymbols=_(this._updateFastSymbols,250),this._throttledSymbolData={},this._formatterValuesCache={},this._waitingForFormatters={},this._snapshotValuesCache={},this._waitingForSnapshot={},this.connect()}d=i(433084).QuoteSession,p.prototype.destroy=function(){this._quoteApi.destroy(),this._quoteApi=null,this._connected=!1,this.onDisconnect.fire()},p.prototype.typeFields={},p.prototype.typeFields.simple=["base-currency-logoid","ch","chp","currency-logoid","currency_code","currency_id","base_currency_id","current_session","description","exchange","format","fractional","is_tradable","language","local_description","listed_exchange","logoid","lp","lp_time","minmov","minmove2","original_name","pricescale","pro_name","short_name","type","typespecs","update_mode","volume","value_unit_id"],p.prototype.typeFields.simpleDetailed=[].concat(p.prototype.typeFields.simple,["ask","bid","fundamentals","high_price","is_tradable","low_price","open_price","prev_close_price","rch","rchp","rtc","rtc_time","status","basic_eps_net_income","beta_1_year","earnings_per_share_basic_ttm","industry","market_cap_basic","price_earnings_ttm","sector","volume","dividends_yield","timezone"]), p.prototype.typeFields.full=[],p.prototype.typeFields.watchlist=[].concat(p.prototype.typeFields.simple,["rchp","rtc","country_code","provider_id"]),p.prototype.typeFields.portfolio=["pro_name","short_name","exchange","listed_exchange","description","sector","type","typespecs","industry","currency_code","currency_id","ch","chp","logoid","currency-logoid","base-currency-logoid","earnings_per_share_forecast_next_fq","earnings_release_next_date","earnings_release_date","earnings_per_share_fq","lp","fractional","minmov","minmove2","pricescale","volume","average_volume","market_cap_basic","total_revenue","earnings_per_share_basic_ttm","price_earnings_ttm","beta_1_year","dps_common_stock_prim_issue_fy","dividends_yield","fundamental_currency_code","rates_mc","rates_fy","rates_ttm","format","value_unit_id"],p.prototype.typeFields.notes=["short_name","pro_name","logoid","currency-logoid","base-currency-logoid","symbol-primaryname","type","typespecs"],p.prototype.typeFields.estimates=["fundamental_data","type","typespecs","earnings_per_share_forecast_next_symbol_currency_fq","earnings_release_next_aligned_date","earnings_release_next_calendar_date","earnings_release_next_date"],p.prototype.connect=function(e){this._quoteApi.connect(this.quoteHandler.bind(this))},p.prototype.quoteHandler=function(e){var t=e.method,i=e.params;switch(t){case"connected":this._connected||(this._connected=!0,this.onConnected());break;case"quote_list_fields":break;case"quote_symbol_data":this._connected&&this.onSymbolData(i[0]);break;case"quote_completed":this._connected&&this.onSymbolData({symbolname:i[0],complete:performance.now(),values:{}});break;case"disconnected":this._connected&&(this._connected=!1,this.onDisconnect.fire())}},p.prototype.onConnected=function(){this.setFields();var e=Object.keys(this._symbol_data);e.length&&(this._quoteApi.quoteAddSymbols(e),this._delayUpdateFastSymbols()),this.onConnect.fire()},p.prototype.setFields=function(){var e=p.prototype.typeFields[this._type];e&&e.length&&this._quoteApi.quoteSetFields(e)},p.prototype.onSymbolData=function(e){try{e.status&&l.update(e,h,!1)}catch(e){}var t=e.symbolname,i=this._throttledSymbolData[t];i||(i=this._throttledSymbolData[t]={fnDispatch:n(this.dipatchSymbolData.bind(this),this.options.throttleTimeout)}),i.cache?c(i.cache,e):i.cache=e,i.fnDispatch(t)},p.prototype._parseUpdateMode=function(e){a(e)},p.prototype.dipatchSymbolData=function(e){var t=this._symbol_data[e],i=this._throttledSymbolData[e].cache;if(delete this._throttledSymbolData[e].cache,this._symbol_data[e])for(var n in c(t,i),t.values&&this._parseUpdateMode(t.values),this._subscriptions){var _=this._subscriptions[n];_.has(e)&&[..._.get(e)].forEach((function(e){e(t,i)}))}},p.prototype.subscribe=function(e,t,i){this._subscriptions[e]=this._subscriptions[e]||new Map;var n=this._subscriptions[e];t=[].concat(t);var _=[];t.forEach((function(e){this._symbol_data[e]?n&&n.has(e)||this._symbol_data[e].subscribers_count++:(this._symbol_data[e]={subscribers_count:1},_.push(e)),n.has(e)||n.set(e,[]),n.get(e).push(i), n.get(e).fast=!0,this._symbol_data[e]&&this._symbol_data[e].values&&i(this._symbol_data[e],this._symbol_data[e])}),this),_.length&&this._connected&&(this._quoteApi.quoteAddSymbols(_),this._delayUpdateFastSymbols())},p.prototype.unsubscribe=function(e,t,i){t=[].concat(t);for(var n=this._subscriptions[e],_=[],s=0;s{function n(e){const t=Object.create(e);return t.release=()=>{},t.ownership=()=>t,t}function _(e){const t=Object.create(e);return t.release=()=>e.destroy(),t.ownership=()=>t,t}i.d(t,{ownership:()=>_,weakReference:()=>n})},678515:(e,t,i)=>{function n(e,t,i){return Math.min(Math.max(e,t),i)}function _(e){return e>0?Math.floor(e):Math.ceil(e)} i.d(t,{clamp:()=>n,toInt:()=>_})},624444:(e,t,i)=>{i.d(t,{PriceFormatter:()=>o});var n=i(389137),_=i(305138),s=i(998454),r=i(864376);class o{constructor(e,t,i,o,a,c){if(this.type="price",t&&!c||(t=1),(0,n.isNumber)(e)&&(0,n.isInteger)(e)||(e=100),e<0)throw new TypeError("invalid base");this._priceScale=e,this._minMove=t,this._minMove2=o,this._fractional=i,this._variableMinTick=a,this._ignoreMinMove=c,this._fractionalLength=(0,r.calculateDecimal)(this._priceScale,this._minMove,this._fractional,this._minMove2),this._implementation=i?new s.FractionalPriceFormatterImpl(e,t,o,a,c,this._fractionalLength):new _.DecimalPriceFormatterImpl(e,t,o,a,c,this._fractionalLength)}isFractional(){return!!this._fractional}state(){return{minMove:this._minMove,minMove2:this._minMove2,priceScale:this._priceScale,variableMinTick:this._variableMinTick,ignoreMinMove:this._ignoreMinMove,fractional:this._fractional,fractionalLength:this._fractionalLength}}formatChange(e,t,i){return this._implementation.formatImpl(e-t,i,void 0,void 0,void 0,void 0,Math.min(Math.abs(e),Math.abs(t)))}format(e,t,i,n=!0,_=!0,s=!1){return this._implementation.formatImpl(e,t,i,n,_,s)}parse(e){return this._implementation.parse(e)}hasForexAdditionalPrecision(){return this._implementation.hasForexAdditionalPrecision()}static serialize(e){return e.state()}static deserialize(e){return new o(e.priceScale,e.minMove,e.fractional,e.minMove2,e.variableMinTick,e.ignoreMinMove)}}},846540:(e,t,i)=>{i.r(t),i.d(t,{types:()=>n});const n={ECONOMIC:"economic",QUANDL:"quandl"}},201089:(e,t,i)=>{i.r(t),i.d(t,{LOGLEVEL:()=>n.LOGLEVEL,getLogHistory:()=>n.getLogHistory,getLogLevel:()=>n.getLogLevel,getLogger:()=>n.getLogger,getRawLogHistory:()=>n.getRawLogHistory,isHighRateEnabled:()=>n.isHighRateEnabled,loggingOff:()=>n.loggingOff,loggingOn:()=>n.loggingOn,serializeLogHistoryEntry:()=>n.serializeLogHistoryEntry,setLogLevel:()=>n.setLogLevel});var n=i(194582)},746133:(e,t,i)=>{var n;!function(e){e.Monthly="m",e.ThreeMonths="3m",e.OneYear="y",e.TwoYears="2y"}(n||(n={}))},822122:(e,t,i)=>{var n,_,s,r;i.d(t,{ProPlans:()=>n}),function(e){e.Free="free",e.Pro="pro",e.ProTrial="pro_trial",e.ProRealtime="pro_realtime",e.ProRealtimeTrial="pro_realtime_trial",e.ProPremium="pro_premium",e.ProPremiumTrial="pro_premium_trial"}(n||(n={})),function(e){e.ProExpert="pro_expert",e.ProRealtimeExpert="pro_realtime_expert",e.PremiumExpert="pro_premium_expert"}(_||(_={})),function(e){e.Platinum="platinum",e.Gold="gold",e.Silver="silver",e.Free="free"}(s||(s={})),function(e){e[e.Platinum=3]="Platinum",e[e.Gold=2]="Gold",e[e.Silver=1]="Silver",e[e.Free=0]="Free"}(r||(r={}))},239589:(e,t,i)=>{function n(e,t){const i=t||window.locale||"en";let n=e[i]?e[i]:e.en;return n="tradingview.com"===n?"www.tradingview.com":n,n?document.location.protocol+"//"+n:""}i.d(t,{determineBaseUrl:()=>n})},397150:(e,t,i)=>{i.d(t,{showTooManyStudiesNotice:()=>o});var n=i(444372),_=i(778016),s=i(833813),r=i(779923);function o(e){"number"!=typeof e&&(e=TradingView.STUDY_COUNT_LIMIT,e=(0,_.getConfig)(s.ProductFeatures.STUDY_ON_STUDY).limit), (0,r.showWarning)({title:n.t(null,void 0,i(533603)),text:n.t(null,void 0,i(470213)).format({number:e})})}},255453:(e,t,i)=>{i.d(t,{getProductForTrial:()=>s,isTrialProduct:()=>_});i(586463),i(444372),i(822122),i(746133);const n="_trial";function _(e){return new RegExp("_trial$").test(e)}function s(e){return e.split(n)[0]}},329806:(e,t,i)=>{function n(e,...t){return e&&"object"==typeof e?(0===t.length||t.forEach((t=>{null!=t&&"object"==typeof t&&Object.keys(t).forEach((i=>{const s=e[i],r=t[i];if(r===e)return;const o=Array.isArray(r);if(r&&(_(r)||o)){let t;t=o?s&&Array.isArray(s)?s:[]:s&&_(s)?s:{},e[i]=n(t,r)}else void 0!==r&&(e[i]=r)}))})),e):e}function _(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,n=t.hasOwnProperty("constructor")&&t.constructor;return"function"==typeof n&&i.call(n)===i.call(Object)}i.d(t,{deepExtend:()=>n})},268222:(e,t,i)=>{function n(){let e,t;return{promise:new Promise(((i,n)=>{e=i,t=n})),reject:t,resolve:e}}i.d(t,{createDeferredPromise:()=>n})},337779:(e,t,i)=>{function n(e){return e.reduce((function(e,t,i){return~e.indexOf(t)||e.push(t),e}),[])}i.r(t),i.d(t,{uniq:()=>n})},691239:(e,t,i)=>{function n(e){const t=new URL(e,document.baseURI);return s(t)&&_(t)}i.d(t,{isInternalHost:()=>r,isSafeUrl:()=>n});const _=e=>!e.username,s=e=>"http:"===e.protocol||"https:"===e.protocol;function r(e,t=window.location.hostname){const i="."===t.slice(-1)?3:2,n=t.toLowerCase().split(".").slice(-i),_=e.toLowerCase().split(".").slice(-n.length);return n.join(".")===_.join(".")}},42398:(e,t,i)=>{i.d(t,{addUtmToUrl:()=>_});var n=i(185515);function _(e,t){if(!/([a-zA-Z0-9.-]*tradingview.com)|localhost/.test(e))return e;const i=(0,n.buildUtmQueryString)(t);if(""===i)return e;const _=e.indexOf("?"),s=e.indexOf("#"),r=-1!==s;if(-1!==_&&(!r||_