"use strict";(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[2227],{129586:(e,t,i)=>{function n(e){return"object"==typeof e&&"metaInfo"in e}function r(e){return null==e}var s;i.d(t,{TelemetryGroup:()=>s,hasMetaInfo:()=>n,isAbsentParam:()=>r}),function(e){e.Fast="fast",e.Medium="medium",e.Slow="slow"}(s||(s={}))},603774:(e,t,i)=>{i.d(t,{logPineMetaInfoIssues:()=>o});var n=i(234271),r=i(194582);function s(e,t,i){var s;null===(s=(0,n.getPersistentLogger)())||void 0===s||s.addPersistentLogEntry(`Detected meta info (id: ${e.id}) issue: ${t}. Source: ${i}`,r.LOGLEVEL.ERROR,"PineMetaInfoValidation")}function o(e,t){t&&t.defaults&&t.defaults.inputs&&!t.defaults.inputs.text&&s(t,'no "defaults.inputs.text" value',e),t&&t.inputs&&(t.inputs.find((e=>"text"===e.id))||s(t,'no input with id "text"',e))}},791488:(e,t,i)=>{i.d(t,{RE_MESSAGE_LINE_WITH_DIGITS:()=>u,TV_SCRIPT_DELETED:()=>o,TV_SCRIPT_LEGACY_PINE_PROCESSED:()=>l,TV_SCRIPT_MODIFICATION_ACTIVE:()=>r,TV_SCRIPT_MODIFIED:()=>s,TV_SCRIPT_RENAMED:()=>a,pineTelemetryGroups:()=>d});var n=i(129586);const r="TVScriptModificationActive",s="TVScriptModified",o="TVScriptDeleted",a="TVScriptRenamed",l="TVScriptLegacyPineProcessed",u=/[l|L]ines? (\d*)/,d=new Map([["delete",n.TelemetryGroup.Fast],["get",n.TelemetryGroup.Fast],["is_auth_to_get",n.TelemetryGroup.Fast],["is_auth_to_write",n.TelemetryGroup.Fast],["parse_title",n.TelemetryGroup.Fast],["rename",n.TelemetryGroup.Fast],["lib_list",n.TelemetryGroup.Fast],["list",n.TelemetryGroup.Medium],["eval_pine_ex",n.TelemetryGroup.Medium],["translate_light",n.TelemetryGroup.Medium],["process_legacy",n.TelemetryGroup.Slow],["publish",n.TelemetryGroup.Slow],["save",n.TelemetryGroup.Slow],["translate",n.TelemetryGroup.Slow],["translate_source",n.TelemetryGroup.Slow],["gen_alert",n.TelemetryGroup.Slow]])},197677:(e,t,i)=>{i.d(t,{pineFacadeFetch:()=>f});var n=i(444372),r=i(120780),s=i(194582),o=i(881992),a=i(129586),l=i(175203),u=i(791488);const d=(0,s.getLogger)("Chart.Study.Versioning");function c(e,t){const i=new URL(function(e){return e.split("/").map((e=>encodeURIComponent(e))).join("/")}(e),(0,o.getPineFacadeUrl)());for(const e in t){const n=t[e];(0,a.isAbsentParam)(n)||i.searchParams.set(e,String(n))}return i.toString()}function p(e,t,i=!1){const n={method:e,mode:"cors"};return"POST"===e&&t&&(n.body=function(e){const t=new FormData;for(const i of Object.keys(e))t.append(i,e[i]);return t}(t)),i||(n.credentials="include"),n}async function f({urlPath:e,urlParams:t,data:s,withoutCredentials:o,method:a="GET"}){const f=c(e,t),h=p(a,s,o),m=function(e){d.logNormal(`Requesting pine facade scripts, url: ${e}`);const t=e.split("/")[0],i=u.pineTelemetryGroups.get(t),n=Date.now();return t=>{const r=Date.now()-n;if(l.telemetry.sendReport("pine",`${i}_group_time_frame`,{value:r}),t)return l.telemetry.sendReport("pine",`${i}_group_ok`),void d.logNormal(`Requesting pine facade scripts finished, url: ${e}`);l.telemetry.sendReport("pine",`${i}_group_error`),d.logError(`Requesting pine facade scripts failed, url: ${e}`)}}(e);try{ const e=await(0,r.fetch)(f,h);if(!e.ok)throw function(e){return e.status>=500?n.t(null,void 0,i(740920)):413===e.status?n.t(null,void 0,i(434754)):420===e.status?n.t(null,void 0,i(491421)):e.status>=400?n.t(null,void 0,i(191421)):n.t(null,void 0,i(191370))}(e);const t=await e.json();return m(!0),t}catch(e){throw m(!1),e}}},427233:(e,t,i)=>{i.d(t,{RequestCache:()=>r,SingleRequestCache:()=>s});var n=i(541558);class r{constructor(){this._cache=new Map,window.loginStateChange&&window.loginStateChange.subscribe(this,this.clear)}get(e){return this._cache.get(e)}set(e,t){this._cache.set(e,t)}delete(e){return this._cache.delete(e)}clear(){this._cache.clear()}}class s extends r{constructor(){super(),this._key=(0,n.guid)()}reset(e){super.set(this._key,e)}get(){return super.get(this._key)}clear(){super.clear()}}},854798:(e,t,i)=>{i.d(t,{Version:()=>r});var n=i(650151);class r{constructor(e,t){this._major=e,this._minor=t}major(){return this._major}minor(){return this._minor}isZero(){return 0===this._major&&0===this._minor}toString(){return this._major+"."+this._minor}compareTo(e){return this._majore._major?1:this._minore._minor?1:0}isLess(e){return this.compareTo(e)<0}isLessOrEqual(e){return this.compareTo(e)<=0}isEqual(e){return 0===this.compareTo(e)}isGreater(e){return this.compareTo(e)>0}isGreaterOrEqual(e){return this.compareTo(e)>=0}static parse(e){if(e instanceof r)return new r(e.major(),e.minor());if("number"==typeof e)return(0,n.assert)(Math.floor(e)===e,"Version should not be a float number"),new r(e,0);if("string"==typeof e){const t=e.split(".");if(1===t.length){const i=parseInt(t[0],10);return(0,n.assert)(!isNaN(i),"Bad version string: "+e),new r(i,0)}if(2===t.length){const i=parseInt(t[0],10);(0,n.assert)(!isNaN(i),"Bad version string: "+e);const s=parseInt(t[1],10);return(0,n.assert)(!isNaN(s),"Bad version string: "+e),new r(i,s)}throw new Error("Bad version string (one dot expected): "+e)}throw new Error("Bad version: "+e)}}r.ZERO=new r(0,0)},855611:(e,t,i)=>{i.d(t,{FormattersSerializer:()=>u});var n=i(650151),r=i(624444),s=i(943994),o=i(541346);class a{constructor(e){this.type="quoteSessionPrice",this.reset(e)}state(){return this._priceFormatter.state()}reset(e){this._priceFormatter=e||new r.PriceFormatter({priceScale:100,minMove:1,fractional:!1})}update(e,t){const i=null!=t.pricescale||null!=t.minmov||null!=t.fractional||null!=t.minmove2,n=null!=e.pricescale&&null!=e.minmov&&null!=e.fractional&&null!=e.minmove2;i&&n&&(this._priceFormatter=new r.PriceFormatter({priceScale:e.pricescale,minMove:e.minmov,fractional:e.fractional||!1,minMove2:e.minmove2}))}format(e,t){return this._priceFormatter.format(e,t)}hasForexAdditionalPrecision(){return this._priceFormatter.hasForexAdditionalPrecision()}static serialize(e){return e.state()}static deserialize(e){const t=new r.PriceFormatter(e);return new a(t)}}const l={price:r.PriceFormatter,volume:s.VolumeFormatter,percentage:o.PercentageFormatter,quoteSessionPrice:a};var u;!function(e){function t(e){return(0, n.ensureDefined)(l[e.type]).deserialize(e.state)}e.serialize=function(e){const t=(0,n.ensureDefined)(l[e.type]);return{type:e.type,state:t.serialize(e)}},e.deserialize=t,e.safeDeserialize=function(e){try{return t(e)}catch(e){return null}}}(u||(u={}))},662080:(e,t,i)=>{i.d(t,{iterateAndPatchObjectsByMap:()=>f,patchPropertiesAsync:()=>p,processLegacy:()=>h});var n=i(650151),r=i(201089),s=i(234271),o=i(268222),a=i(345848),l=i(603774),u=i(516684),d=i(957879);const c=(0,r.getLogger)("Pine.ScriptLib");function p(e,t,i,n){return c.logNormal("patchPropertiesAsync"),new Promise(((o,l)=>{if(!t.TVScriptMetaInfoExprs)return void o(e);const c=t.TVScriptMetaInfoExprs.tree,p=t.TVScriptMetaInfoExprs.patchMap;(function(e,t){(0,a.trackEvent)("Pine","ScriptLib.evalMetaInfoExprs");const i=d.Deferred(),n={username:window.user&&window.user.username,source:e,inputs:JSON.stringify(t||{})};return(0,u._pineFacadeAjax)("POST","/eval_pine_ex/",n).done(((e,t)=>{e.error?i.reject((0,u._readableError)(e.error,t)):e.success?i.resolve(e.result):i.reject((0,u.safetyGetReason)(e))})).fail((e=>{(0,u._anyRequestAsyncFail)(i,e)})),i.promise()})(c,i).done((i=>{var a;if(!i)return void o(e);const l=e.childs().inputs.childs().text.value(),u=i.rootValues;f([e,t.defaults,t],p,((e,t,i)=>{const r=u[i],s=e[0],o=e[1],a=e[2];(void 0===n||void 0!==n[i]&&n[i]!==r)&&(o.hasOwnProperty(t)?s[t].setValue(r):a[t]=r)})),void 0!==n&&Object.keys(u).forEach((e=>{void 0!==n[e]&&(n[e]=u[e])}));const d=e.childs().inputs.childs().text.value();l&&!d&&(null===(a=(0,s.getPersistentLogger)())||void 0===a||a.addPersistentLogEntry(`Detected invalid meta info evaluation expression result: IL code input value is empty, id: ${t.fullId}`,r.LOGLEVEL.ERROR,"PineMetaInfoValidation")),o(e)})).fail((e=>{l(e)}))}))}function f(e,t,i){const r=Object.keys(t);for(let s=0;s1,"Unexpectedly short json path");let u=[...e];for(let e=0;ee?e[t]:null))}i(u,l[l.length-1],a)}}function h(e,t){(0,a.trackEvent)("Pine","ScriptLib.processLegacy");const i=(0,o.createDeferredPromise)(),n=window.user&&window.user.username,r="/process_legacy/"+encodeURIComponent(e)+"/?user_name="+encodeURIComponent(n),s=t?{source:t}:{};return(0,u._pineFacadeAjax)("POST",r,s).done((e=>{e.error?i.reject((0,u._readableError)(e.error)):e.success?((0,l.logPineMetaInfoIssues)("ScriptLib.processLegacy",e.result.metaInfo),i.resolve(e.result.metaInfo)):i.reject((0,u.safetyGetReason)(e))})).fail((e=>{(0,u._anyRequestAsyncFail)(i,e)})),i.promise}},516684:(e,t,i)=>{var n=i(957879),r=i(345848).trackEvent,s=i(201089).getLogger("Pine.ScriptLib"),o=i(175203).telemetry,a={fast:["delete","get","is_auth_to_get","is_auth_to_write","parse_title","rename","lib_list"],medium:["list","eval_pine_ex","translate_light"],slow:["process_legacy","publish","save","translate","translate_source","gen_alert"]},l=/[l|L]ines? (\d*)/;function u(e){if("object"==typeof e.reason)return e.reason;if(e.reason2)return e.reason2 ;const t={errors:[],warnings:[]},i=e.result&&e.result.metaInfo;if(i&&void 0!==i.warnings&&i.warnings.forEach((e=>t.warnings.push({message:e}))),e.reason){(Array.isArray(e.reason)?e.reason:e.reason.split("\n")).forEach((e=>{const i=e.match(l),n=i&&i.length&&Number(i[1]),r={message:e};if("number"==typeof n){r.start={line:n,column:0};const e=r.message.split(": ");e.shift(),r.message=e.join(": ")}t.errors.push(r)}))}return t}var d={getPineFacadeUrl:function(){return window.PINE_URL},PINE_FACADE_URL:function(){return window.PINE_URL}};d.safetyGetReason=u,d._pineFacadeAjax=function(e,t,i,r){s.logNormal("Requesting pine facade scripts, url: "+t);var l=function(e,t){for(var i=Object.keys(a),n=0;nDate.now()&&null!==c.request)return s.logNormal("Return fundamentals from cache"),c.request;s.logNormal("Request fundamental scripts");var e=d._pineFacadeAjax("GET","/list?filter=fundamental",void 0,!1);return e.then((function(e){s.logNormal("Request fundamental scripts finished")})),e.fail((function(e){s.logWarn("Request fundamental scripts finished with fail, resetting cache"),c.request=null})),c.time=Date.now(),c.request=Promise.resolve(e.promise()),c.request},d.publishNew=function(e,t){r("Pine","ScriptLib.publishNew");var i=n.Deferred(),s=window.user&&window.user.username,o="/publish/new/?access="+encodeURIComponent(t)+"&user_name="+encodeURIComponent(s),a={source:e};return d._pineFacadeAjax("POST",o,a).done((function(e,t,n){e.success?i.resolve(e):i.reject(u(e))})).fail((function(e,t,n){d._anyRequestAsyncFail(i,e)})),i.promise()},d.publishNext=function(e,t){s.logNormal("ScriptLib.publishNext","pine"), r("Pine","ScriptLib.publishNext");var i=n.Deferred(),o=window.user&&window.user.username,a="/publish/next/"+encodeURIComponent(t)+"?user_name="+encodeURIComponent(o),l={source:e};return d._pineFacadeAjax("POST",a,l).done((function(e,t,n){e.success||i.reject(u(e)),i.resolve(e)})).fail((function(e,t,n){d._anyRequestAsyncFail(i,e)})),i.promise()},d.lightTranslate=function(e,t){return s.logNormal("ScriptLib.lightTranslate","pine"),r("Pine","ScriptLib.lightTranslate"),new Promise((function(i,n){var r=window.user&&window.user.username,s=`/translate_light/?user_name=${encodeURIComponent(r)}`;t&&(s+=`&pine_id=${encodeURIComponent(t)}`);var o={source:e};d._pineFacadeAjax("POST",s,o).done((function(e,t,r){if(e.success)i(e.result);else{var s=e.result&&u(e.result)||u(e);n(s)}})).fail((function(e,t,i){d._anyRequestAsyncFail({reject:n},e)}))}))},d.getLibList=function(e,t,i){return s.logNormal("ScriptLib.getLibList","pine"),r("Pine","ScriptLib.getLibList"),new Promise((function(n,r){var s="/lib_list?lib_id_prefix="+encodeURIComponent(e);t&&(s+="&ignore_cache=true"),i&&(s+="&ignore_case=true"),d._pineFacadeAjax("GET",s).done((function(e,t,i){n(e)})).fail((function(e,t,i){d._anyRequestAsyncFail({reject:r},e)}))}))},d.getExistingLibraryInfo=async function(e){try{const t=await d.getLibList(e+"/last",!0,!0);if(!t.length)return null;const i=t[0];return{scriptIdPart:i.scriptIdPart,chartId:i.chartId,version:i.version}}catch(e){return null}},e.exports=d},819021:(e,t,i)=>{i.d(t,{migrateMetaInfoAndPropState:()=>d});var n=i(650151),r=i(526075),s=i(389137);const o=["PennantCP@tv-basicstudies","WedgeCP@tv-basicstudies"],a=["DoubleTopCP@tv-basicstudies","BullishFlagCP@tv-basicstudies","HeadAndShouldersCP@tv-basicstudies","TripleTopCP@tv-basicstudies"];class l{targetMetaInfoVersion(){return 53}migrateMetaInfo(e){const t=e,i=e;if(i._metainfoVersion=53,void 0!==t.defaults&&void 0!==t.defaults.inputs&&(o.includes(t.id)||a.includes(t.id)&&Number(t.version)<156)){const e=t.defaults.inputs["Invert Pattern"];i.id=this._getNewIdStudies(t.id,e)}}migratePropState(e){}_getNewIdStudies(e,t){return e.startsWith("WedgeCP")?t?"WedgeFallingCP@tv-basicstudies":"WedgeRisingCP@tv-basicstudies":e.startsWith("PennantCP")?t?"PennantBearishCP@tv-basicstudies":"PennantBullishCP@tv-basicstudies":e.startsWith("DoubleTopCP")&&t?"DoubleBottomCP@tv-basicstudies":e.startsWith("BullishFlagCP")&&t?"BearishFlagCP@tv-basicstudies":e.startsWith("HeadAndShouldersCP")&&t?"HeadAndShouldersInverseCP@tv-basicstudies":e.startsWith("TripleTopCP")&&t?"TripleBottomCP@tv-basicstudies":e}}const u=[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 n=t.defaults&&t.defaults.precision,r=(0,s.isNumber)(n)?n:parseInt(n);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,s=t.defaults.ohlcPlots,o=(0,n.ensureDefined)((0,n.ensureDefined)(i.defaults).ohlcPlots);for(const e of Object.keys(s)){const t=s[e];if("ohlc_candles"===t.plottype){let i=!1;const n=r[e];void 0!==n&&(i=!!n.drawBorder,delete n.drawBorder),o[e]={borderColor:"#000000",drawBorder:i,...t}}}}migratePropState(e){}},new class{targetMetaInfoVersion(){return 53}migrateMetaInfo(e){const t=e,i=e;if(i._metainfoVersion=53,void 0!==t.defaults){if(void 0!==t.defaults.ohlcPlots&&void 0!==t.ohlcPlots){const e=Object.keys(t.ohlcPlots),r=t.defaults.ohlcPlots,s=(0,n.ensureDefined)((0,n.ensureDefined)(i.defaults).ohlcPlots);for(const t of e){const e=r[t];if(void 0===e||void 0===e.visible)continue;const i=e.visible?15:0;delete e.visible,s[t]={display:i,...e}}}if(void 0!==t.defaults.styles&&void 0!==t.plots){const e=t.plots.map((e=>e.id)),r=t.defaults.styles,s=(0,n.ensureDefined)((0,n.ensureDefined)(i.defaults).styles);for(const t of e){const e=r[t];if(void 0===e||void 0===e.visible)continue;const i=e.visible?15:0;delete e.visible,s[t]={display:i,...e}}}}}migratePropState(e){if(e.ohlcPlots)for(const t of Object.keys(e.ohlcPlots)){const i=(0,n.ensureDefined)(e.ohlcPlots[t]);void 0!==i.visible&&(i.display=i.visible?15:0,delete i.visible)}if(e.styles)for(const t of Object.keys(e.styles)){const i=(0,n.ensureDefined)(e.styles[t]);void 0!==i.visible&&(i.display=i.visible?15:0,delete i.visible)}}}];function d(e,t){const i=r.StudyMetaInfo.versionOf(e),s=e;void 0===s._serverMetaInfoVersion&&(s._serverMetaInfoVersion=i);const o=["PennantCP@tv-basicstudies","WedgeCP@tv-basicstudies"].includes(e.id);u.forEach((r=>{(i<0||i>=r.targetMetaInfoVersion())&&!o||(r.migrateMetaInfo(e),void 0!==t&&r.migratePropState(t),(0,n.assert)(e._metainfoVersion===r.targetMetaInfoVersion()))}))}u.push(new l),u.sort((function(e,t){return e.targetMetaInfoVersion()-t.targetMetaInfoVersion()}))},827523:(e,t,i)=>{function n(e,t){return`${e}@${t}`}function r(e){return e.replace(/(@[^-]+-[^-]+).*$/,"$1")}i.d(t,{extractStudyId:()=>r,studyIdString:()=>n})},626240:(e,t,i)=>{var n=i(854798).Version,r=i(201089).getLogger("Chart.StudyMigration");function s(e){this._studyId=e,this._maxToVers=n.ZERO,this._maxFromVers=n.ZERO,this._migrs=[]}s.prototype.addMigration=function(e,t,i){var r=n.parse(e),s=n.parse(t);r.isGreater(this._maxFromVers)&&(this._maxFromVers=r),s.isGreater(this._maxToVers)&&(this._maxToVers=s),this._migrs.push({fromVers:r,toVers:s,rules:i})},s.prototype.updateInputs=function(e,t,i){if(!i)return i;for(var n=TradingView.clone(i),s=e;s.isLess(t);){var o=this._findMigration(s);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)),n=this._applyMigration(n,o),!s.isLess(o.toVers))throw new Error("Problems in study migration process... Possible infinite cycle has been detected and stopped.");s=o.toVers} return s>e&&r.logNormal("Study inputs migration is done, studyId: "+this._studyId+", inputs: "+JSON.stringify(n)),n},s.prototype._findMigration=function(e){for(var t=-1,i=this._maxFromVers,n=0;n=0||t.indexOf(e)>=0},s._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},s._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=s},107973:(e,t,i)=>{i.d(t,{StudyVersioning:()=>_});var n=i(852290),r=i(650151),s=i(526075),o=i(626240),a=i.n(o),l=i(201089),u=i(854798),d=i(819021),c=i(520533),p=i(444372);var f=i(662080),h=i(971417),m=i(66974),g=i(389137);const y=(0,l.getLogger)("Chart.Study.Versioning"),v=1e12;class _{constructor(e,t){if(this._migrations={},!e)throw new Error("No studies metainfo");if(this._studiesMetainfo=e,!t)throw new Error("No studies migrations") ;this._studiesMigrations=t;for(let e=0;e{if(0===this._studiesMetainfo.length||!e.isTVScript||e.version>=22)return t;const i={};let n=0,r=0,s=t[r];for(;void 0!==s;){const e=t[s.id];s.isFake&&(s.id="in_"+n++),i[r]=s,i[s.id]=e,r++,s=t[r]}return i}]}updateMetaInfoAsync(e){const t=s.StudyMetaInfo.versionOf(e);if(e.isTVScript&&!e.pine&&t<43){(0,r.assert)((0,g.isExistent)(e.scriptIdPart),"scriptIdPart is missing, study "+JSON.stringify(e));const t=e.scriptIdPart;return{sync:!1,result:new Promise(((i,n)=>{(0,f.processLegacy)(t,e.TVScriptSourceCode).then((t=>{e.removeDefaults();const n=new s.StudyMetaInfo(t);n.createDefaults();const r=n.state();(0,d.migrateMetaInfoAndPropState)(r),i(new s.StudyMetaInfo(r))})).catch((e=>{n(e)}))}))}}if(e.isTVScript&&e.pine){if((e._serverMetaInfoVersion||t)<52){return{sync:!1,result:(0,c.translateScriptAsync2)(e.scriptIdPart,e.pine.version).then((t=>{e.removeDefaults();const i=new s.StudyMetaInfo(t.metaInfo);i.createDefaults();const n=i.state();return(0,d.migrateMetaInfoAndPropState)(n),new s.StudyMetaInfo(n)}))}}return e.createDefaults(),{sync:!0,result:e}}{let t=null;const i=this._studiesMetainfo;for(let n=0;n=12&&n<=26){const n={};for(let e=0;et.id===e))).version}updateMetaInfo(e){if(!e)return e;(0,r.assert)(e instanceof s.StudyMetaInfo),(0,r.assert)(!e.isTVScript,"This method should update only built-in java indicators metaInfo. For Pine indicators use updateMetaInfoAsync");const t=this._studiesMetainfo.find((t=>e.id===t.id));return t?new s.StudyMetaInfo(t.state()):null}static patchPointsBasedStudyState(e){return this._fixInputsMaxValue(e.state,e.metaInfo),"LineToolRegressionTrend"===e.type&&(e=function(e){const t={palettes:{},inputs:[{defval:2,id:"upper diviation",max:500,min:-500,name:p.t(null,void 0,i(572894)),type:"integer"},{defval:-2,id:"lower diviation",max:500,min:-500,name:p.t(null,void 0,i(696882)),type:"integer"},{defval:!0,id:"use upper diviation",name:p.t(null,void 0,i(36834)),type:"bool"},{defval:!0,id:"use lower diviation",name:p.t(null,void 0,i(14072)),type:"bool"},{defval:0,id:"first bar time",max:253370764800,min:0,name:p.t(null,void 0,i(312541)),type:"time"},{defval:0,id:"last bar time",max:253370764800,min:0,name:p.t(null,void 0,i(955034)),type:"time"},{defval:"close",id:"source",name:p.t(null,void 0,i(746147)),options:["open","high","low","close","hl2","hlc3","ohlc4"],type:"text"}],plots:[],graphics:{},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}},_metainfoVersion:6,description:"Regression Trend",id:"RegressionTrend@tv-basicstudies",is_price_study:!0,shortDescription:"Reg Trend",shortId:"RegressionTrend",version:"2",fullId:"RegressionTrend@tv-basicstudies-2",name:"RegressionTrend@tv-basicstudies"};return e.metaInfo||(e.metaInfo=t),e}(e)),e}static patchStudyData(e,t,i,n){if(!(0,m.isProd)())return{data:t,nsData:i,indexes:null!=n?n:void 0};const r=(0,g.clone)(t),o=(0,g.clone)(i),a=(0,g.clone)(n);"VbPVisible@tv-volumebyprice"===e.id&&e.version&&+e.version<=4&&this._patchOldVolumeProfiles(0,null==r?void 0:r.graphics),"VbPSessions@tv-volumebyprice"===e.id&&e.version&&+e.version<=4&&this._patchOldVolumeProfiles(0,null==r?void 0:r.graphics);const l=s.StudyMetaInfo.versionOf(e);if(r&&e.isTVScript&&e.TVScriptSourceCode&&l>=12&&l<=26){const e=r.columns,t=[];r.columns=t;for(let i=0;iv&&y.logWarn("Bad integer input max value in metaInfo id="+e.id+" title="+e.description)}static mergeInputsObjPart(e,t){const i=this.splitInputs(t);(0,n.default)(e,i.obj)}static _fixInputsOrder(e,t){const i=this._getOrderedInputIds(t),r=this.splitInputs(e.inputs),s=r.arr,o=r.obj,a=(0,n.default)({},o);for(let e=0;ei&&(e.max=i);if(!e||!e.inputs)return;const r=this.splitInputs(e.inputs),s=r.arr;for(const[,e]of Object.entries(s))"integer"===e.type&&e.max&&e.max>i&&(e.max=i);e.inputs=(0,n.default)(r.obj,r.arr)}static _findInputKeyById(e,t){let i=null;for(const n in e)if((0,g.isNumber)(parseInt(n,10))&&e[n].id===t){i=n;break}return i} static _getOrderedInputIds(e){const t=[];for(const i of e.inputs)t.push(i.id);return t}static _patchOldVolumeProfiles(e,t){if(!(null==t?void 0:t.hhists))return;const i=t.hhists[e].data,n=[];for(const[,e]of Object.entries(i))n.push(e);t.hhists[0].data=n}}},168883:(e,t,i)=>{i.d(t,{translatedIntervalString:()=>r});var n=i(276871);function r(e){const t=(0,n.getTranslatedResolutionModel)(e,!0);return null===t?e:t.multiplier+(t.mayOmitShortKind?"":t.shortKind)}},95452:(e,t,i)=>{i.r(t),i.d(t,{getSeriesIdForAlert:()=>o,getStudyIdForAlert:()=>a});var n=i(96080),r=i(97948),s=i(223699);function o(e,t){return(0,n.hash)(e+s.Interval.normalize(t)).toString()}function a(e,t,i){return(0,n.hash)(e+(0,r.sortedStringify)(t)+(null!=i?i:"")).toString()}},782856:(e,t,i)=>{var n;i.d(t,{DataSourceDangerReason:()=>n}),function(e){e.Spread="spread",e.PineRepainting="pine-repainting",e.CryptoCap="cryptocap"}(n||(n={}))},168682:(e,t,i)=>{var n=i(552698).isStudyStateForAlertType,r=i(368135),s=i(29469).generateTitleForGui,o=i(201089).getLogger("Alerts.Band"),a=i(444331),l=i(31341),u=i(918208).lineToolsLocalizedNames;TradingView="object"==typeof i.g?i.g.TradingView:TradingView||{};var d={create:function(e){var t,i=e||{},r=i.type;if("MainSeries"===r)t=p;else if(n(r,!0))t=f;else if("Value"===r)t=h;else{if(!/^LineTool.*/i.test(r))return o.logError("Unknown alert band type "+r),null;t=m}return new t(i)}};function c(e){this._band=e||{}}function p(){c.apply(this,arguments)}function f(){c.apply(this,arguments)}function h(){c.apply(this,arguments)}function m(){c.apply(this,arguments)}c.prototype.id=function(){return this._band.id},c.prototype.type=function(){return this._band.type},c.prototype.title=function(){return this._band.title},c.prototype.isTVScript=function(){return this._band.isTVScript},c.prototype.scriptVersion=function(){return this._band.scriptVersion},c.prototype.hasPlots=function(){return this._band.plots&&this._band.plots.length},c.prototype.getActualSymbol=function(){return this._band.actualSymbol},c.prototype.getSymbolString=function(){return this._band.symbolString},c.prototype.getPlotTitle=function(e){return e.title?e.title:r.isOhlcOpenPlot(e)?e.ohlcTitle+" "+i.tf(null,void 0,i(539280)):r.isOhlcHighPlot(e)?e.ohlcTitle+" "+i.tf(null,void 0,i(330777)):r.isOhlcLowPlot(e)?e.ohlcTitle+" "+i.tf(null,void 0,i(608136)):r.isOhlcClosePlot(e)?e.ohlcTitle+" "+i.tf(null,void 0,i(931691)):"vol"===e.id?i.tf(null,void 0,i(101111)):"vol_ma"===e.id?i.tf(null,void 0,i(932998)):"open"===e.id?i.tf(null,void 0,i(539280)):"high"===e.id?i.tf(null,void 0,i(330777)):"low"===e.id?i.tf(null,void 0,i(608136)):"close"===e.id?i.tf(null,void 0,i(931691)):e.id},c.prototype.getPlots=function(e){var t=e||{};if(!this._band.plots||!this._band.plots.length)return this._band.plots;if("inputSelect"===t.format){var i=-1;return this._band.plots.map((function(e){return{value:++i,title:this.getPlotTitle(e)}}),this)}return this._band.plots},c.prototype.hasUsualPlots=function(){var e=this._band.plots;return!e||e.filter(r.isAlertConditionPlot).length{var n;function r(e,t){let i="Study"===e||e===n.StudyLineTool||/^study_\w+/.test(e);return t&&(i=i||"StudyStrategy"===e||"ReplayStudyStrategy"===e),i}i.r(t),i.d(t,{StateForAlertType:()=>n,isStudyStateForAlertType:()=>r}),function(e){e.MainSeries="MainSeries",e.Study="Study",e.StudyLineTool="StudyLineTool",e.StudyStrategy="StudyStrategy",e.ReplayStudyStrategy="ReplayStudyStrategy"}(n||(n={}))},234271:(e,t,i)=>{i.d(t,{getPersistentLogger:()=>r,setPersistentLogger:()=>s});let n=null;function r(){return n}function s(e){n=e}},103221:(e,t,i)=>{function n(e){let t;if("object"!=typeof e||null==e||"number"==typeof e.nodeType)t=e;else if(e instanceof Date)t=new Date(e.valueOf());else if(Array.isArray(e)){t=[];let i=0;const r=e.length;for(;in})}}]);