@backtest-kit/ui 7.8.0 → 8.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/index.cjs +439 -6
- package/build/index.mjs +440 -7
- package/build/modules/frontend/build/assets/{Article-Z1gwQi4C.js → Article-CSnuOtt-.js} +1 -1
- package/build/modules/frontend/build/assets/{Background-DS1gKl45.js → Background-D1mqn4gC.js} +1 -1
- package/build/modules/frontend/build/assets/{IconPhoto-BitDk5sL.js → IconPhoto-CVGPKzLi.js} +1 -1
- package/build/modules/frontend/build/assets/{KeyboardArrowLeft-BT0IHVDD.js → KeyboardArrowLeft-C-M8f-Ur.js} +1 -1
- package/build/modules/frontend/build/assets/PictureAsPdfOutlined-CZkqJLpJ.js +1 -0
- package/build/modules/frontend/build/assets/{Refresh-BgupECvn.js → Refresh-CtGZrED0.js} +1 -1
- package/build/modules/frontend/build/assets/emitters-Br6yILIn.js +1 -0
- package/build/modules/frontend/build/assets/hasRouteMatch-DGBSTuX4.js +1 -0
- package/build/modules/frontend/build/assets/{html2canvas-CxpxaxUC.js → html2canvas-DlSSsS0f.js} +1 -1
- package/build/modules/frontend/build/assets/{index-9YHmY3Zv.js → index-4KQpRnrd.js} +1 -1
- package/build/modules/frontend/build/assets/index-B4Q-NOtD.js +1 -0
- package/build/modules/frontend/build/assets/index-BHEHgIB5.js +1 -0
- package/build/modules/frontend/build/assets/index-Bdcw-1Ng.js +1 -0
- package/build/modules/frontend/build/assets/{index-C4dzv30q.js → index-Bj-wHWIg.js} +1 -1
- package/build/modules/frontend/build/assets/{index-nfZ8sdZp.js → index-C89D7bRW.js} +1 -1
- package/build/modules/frontend/build/assets/index-C_cnWIeH.js +1 -0
- package/build/modules/frontend/build/assets/index-CnKAzZmr.js +1 -0
- package/build/modules/frontend/build/assets/{index-DzrwP4k5.js → index-D7dmwadC.js} +56 -56
- package/build/modules/frontend/build/assets/index-D9ArSAzF.js +1 -0
- package/build/modules/frontend/build/assets/{index-CnRuFJIf.js → index-DGlc-QFZ.js} +1 -1
- package/build/modules/frontend/build/assets/index-k7MV_uNi.js +1 -0
- package/build/modules/frontend/build/assets/index-zr1XroNq.js +1 -0
- package/build/modules/frontend/build/assets/{index.es-Du6U2Hyj.js → index.es-CuYxvewv.js} +1 -1
- package/build/modules/frontend/build/index.html +1 -1
- package/package.json +3 -3
- package/types.d.ts +41 -0
- package/build/modules/frontend/build/assets/emitters-BJfdDGbd.js +0 -1
- package/build/modules/frontend/build/assets/hasRouteMatch-CcXyiBjV.js +0 -1
- package/build/modules/frontend/build/assets/index-1kyziIc7.js +0 -1
- package/build/modules/frontend/build/assets/index-3ZYgMfYi.js +0 -1
- package/build/modules/frontend/build/assets/index-BR0aHfoe.js +0 -1
- package/build/modules/frontend/build/assets/index-Bg2qm7TJ.js +0 -1
- package/build/modules/frontend/build/assets/index-C8Wdopwt.js +0 -1
- package/build/modules/frontend/build/assets/index-CWErSuod.js +0 -1
- package/build/modules/frontend/build/assets/index-J3hGIAw0.js +0 -1
- package/build/modules/frontend/build/assets/markdownit-SQF1Xc8y.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as e,f as a,Z as o,w as t,v as n,D as i,z as r,a7 as s,X as l,i as c,a8 as d,Y as p,a9 as h,J as m,aa as b,ab as u,ac as g,B as y,T as v,ad as x,l as f,n as k,ae as S,V as w,af as L,a5 as P,ag as z,I as R,ah as $,F as D,ai as j,aj as C}from"./index-D7dmwadC.js";import{R as T,C as W}from"./Refresh-CtGZrED0.js";import{K as F}from"./KeyboardArrowLeft-C-M8f-Ur.js";import{I as O}from"./IconPhoto-CVGPKzLi.js";import{B}from"./Background-D1mqn4gC.js";const A=e(a("path",{d:"M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z"}),"Dashboard"),V=e(a("path",{d:"M3 10h11v2H3v-2zm0-2h11V6H3v2zm0 8h7v-2H3v2zm15.01-3.13.71-.71c.39-.39 1.02-.39 1.41 0l.71.71c.39.39.39 1.02 0 1.41l-.71.71-2.12-2.12zm-.71.71-5.3 5.3V21h2.12l5.3-5.3-2.12-2.12z"}),"EditNote"),E=new o,H=[{type:t.Link,action:"back-action",label:a(F,{sx:{display:"block"}})},{type:t.Link,action:"back-action",label:"Main"},{type:t.Link,action:"back-action",label:"Overview"}],I=[{action:"download-action",label:"Download",icon:()=>a(r,{icon:i,color:"#4caf50"})},{divider:!0},{action:"dashboard-action",label:"Dashboard",icon:()=>a(r,{icon:A,color:"#4caf50"})},{action:"logs-action",label:"Logs",icon:()=>a(r,{icon:V,color:"#4caf50"})},{divider:!0},{action:"update-now",label:"Refresh",icon:()=>a(r,{icon:T,color:"#4caf50"})}],M=()=>a(n,{items:H,actions:I,onAction:E.next});const N=({data:{type:e},setLoading:o})=>{const{elementRef:t,size:n}=s({closest:".MuiContainer-root",compute:e=>(e.height-=150,e)}),[i,{loading:r,execute:j}]=l(async()=>{if("live"===e){return(await c.storageViewService.listSignalLive()).filter(e=>"closed"===e.status)}return(await c.storageViewService.listSignalBacktest()).filter(e=>"closed"===e.status)},{onLoadStart:()=>o(!0),onLoadEnd:()=>o(!1),deps:[e]}),C=d(i),T=d(e);p(()=>E.subscribe(e=>{if("update-now"===e&&j(),"download-action"===e){const e=new Blob([JSON.stringify(C.current,null,2)],{type:"application/json"}),a=URL.createObjectURL(e);c.layoutService.downloadFile(a,`signals_${T.current}_${Date.now()}.json`)}"dashboard-action"===e&&c.routerService.push(`/dashboard/${T.current}`),"logs-action"===e&&c.routerService.push("/logs"),"back-action"===e&&c.routerService.push("/main")}));const W=h.useMemo(()=>i?i.reduce((e,a)=>(e[a.symbol]||(e[a.symbol]=[]),e[a.symbol].push(a),e),{}):{},[i]),F=e=>{const o=W[e]||[];return o.length?a(D,{children:o.map((t,n)=>{return a(L,{sx:{background:e=>n%2==1?P(e.palette.getContrastText(e.palette.background.paper),.02):void 0},onClick:()=>c.layoutService.pickSignal(t.id),children:[a(u,{primary:a(y,{sx:{display:"flex",gap:1,flexWrap:"wrap",alignItems:"center"},children:[a(v,{variant:"body2",component:"span",sx:{fontWeight:"bold",px:1,py:.5,opacity:.5,borderRadius:1,transition:"opacity 500ms",background:P("#9e9e9e",.2),color:"#616161","&:hover":{opacity:1}},children:["#",o.length-n]}),a(v,{variant:"body2",component:"span",sx:{fontWeight:"bold",px:1,py:.5,borderRadius:1,background:"long"===t.position?"#1976D2":"#F57C00",color:"white"},children:"long"===t.position?"LONG":"SHORT"}),a(v,{variant:"body2",component:"span",sx:{fontWeight:"medium"},children:[a(y,{component:"span",sx:{color:"text.secondary",mr:.5},children:"Entry:"}),z(t.priceOpen),"$",t.originalPriceOpen!==t.priceOpen&&a(y,{component:"span",sx:{color:"text.disabled",ml:.5,fontSize:"0.75em",textDecoration:"line-through"},children:[z(t.originalPriceOpen),"$"]})]}),a(v,{variant:"body2",component:"span",sx:{fontWeight:"medium",color:"success.main"},children:[a(y,{component:"span",sx:{color:"text.secondary",mr:.5},children:"TP:"}),z(t.priceTakeProfit),"$",t.originalPriceTakeProfit!==t.priceTakeProfit&&a(y,{component:"span",sx:{color:"text.disabled",ml:.5,fontSize:"0.75em",textDecoration:"line-through"},children:[z(t.originalPriceTakeProfit),"$"]})]}),a(v,{variant:"body2",component:"span",sx:{fontWeight:"medium",color:"error.main"},children:[a(y,{component:"span",sx:{color:"text.secondary",mr:.5},children:"SL:"}),z(t.priceStopLoss),"$",t.originalPriceStopLoss!==t.priceStopLoss&&a(y,{component:"span",sx:{color:"text.disabled",ml:.5,fontSize:"0.75em",textDecoration:"line-through"},children:[z(t.originalPriceStopLoss),"$"]})]}),"pnl"in t&&a(v,{variant:"body2",component:"span",sx:{fontWeight:"medium"},children:[a(y,{component:"span",sx:{color:"text.secondary",mr:.5},children:"Invested:"}),z(t.pnl.pnlEntries),"$"]}),"pnl"in t&&a(v,{variant:"body2",component:"span",sx:{fontWeight:"bold",px:1,py:.5,borderRadius:1,background:t.pnl.pnlPercentage>=0?P("#4caf50",.15):P("#f44336",.15),color:t.pnl.pnlPercentage>=0?"#2e7d32":"#c62828"},children:["PNL: ",t.pnl.pnlPercentage>=0?"+":"",t.pnl.pnlPercentage.toFixed(2),"%"," / ",t.pnl.pnlCost>=0?"+":"",z(t.pnl.pnlCost),"$"]}),t.totalEntries>1&&a(v,{variant:"caption",component:"span",sx:{px:1,py:.25,borderRadius:.5,background:P("#2196f3",.15),color:"#1565c0"},children:["DCA×",t.totalEntries]}),t.totalPartials>0&&a(v,{variant:"caption",component:"span",sx:{px:1,py:.25,borderRadius:.5,background:P("#9c27b0",.15),color:"#6a1b9a"},children:["Partial×",t.totalPartials]}),a(v,{variant:"caption",component:"span",sx:{px:1,py:.25,borderRadius:.5,background:"opened"===t.status?P("#4caf50",.2):"scheduled"===t.status?P("#ff9800",.2):"closed"===t.status?P("#9e9e9e",.2):P("#f44336",.2),color:"opened"===t.status?"#2e7d32":"scheduled"===t.status?"#e65100":"closed"===t.status?"#616161":"#c62828"},children:t.status})]}),secondary:a(v,{pt:.5,variant:"subtitle2",sx:{opacity:.5},children:(i=t.createdAt,new Date(i).toLocaleString([],{year:"numeric",month:"numeric",day:"numeric",hourCycle:"h24",hour:"2-digit",minute:"2-digit",second:"2-digit"}))})}),a(R,{disableRipple:!0,children:a($,{})})]},`item-${e}-${t.id}`);var i})}):a(b,{children:a(u,{sx:{"& .MuiTypography-body2":{maxWidth:"435px"}},primary:"No signals",secondary:"Signals will be displayed here after they appear"})})};return r?null:a(S,{ref:t,sx:{width:"100%",maxHeight:n.height,overflowX:"hidden",overflowY:"auto",scrollbarWidth:"thin",bgcolor:"background.paper",position:"relative","& ul":{padding:0}},subheader:a("li",{}),children:a(m,{deps:[W],children:async()=>{const o=Object.keys(W),t=await c.symbolGlobalService.getSymbolMap();return o.length?o.map(e=>{var o,n,i;const r=null==(o=t[e])?void 0:o.color,s=(null==(n=W[e])?void 0:n.length)||0;return a("li",{children:a("ul",{children:[a(g,{sx:{background:(l=r,w(l,"#000000")>w(l,"#FFFFFF")?f(r,.1):k(r,.1)),color:"white !important",zIndex:9,display:"flex",alignItems:"center",justifyContent:"space-between"},children:[a(y,{sx:{position:"relative",paddingRight:"8px"},children:a(O,{symbol:e})}),(null==(i=t[e])?void 0:i.displayName)||e,a(y,{flex:1}),a(v,{variant:"body2",sx:{fontWeight:"medium"},children:x(s,{one:"Signal",two:"Signals",many:"Signals"})})]}),a(y,{sx:{marginTop:"16px",marginBottom:"16px"},children:F(e)})]})},`section-${e}`);var l}):a(b,{children:a(u,{primary:"No signals yet",secondary:"live"===e?"Live signals will be displayed here":"Backtest signals will be displayed here"})})}})})},G=C(),J=(e,a)=>e.some(e=>e.includes(a)),K=[{id:"backtest",element:N,isActive:e=>J(["/backtest"],e)},{id:"live",element:N,isActive:e=>J(["/live"],e)}],U=[{id:"backtest",label:"Backtest"},{id:"live",label:"Live"}],X=()=>{p(()=>G.replace("/backtest"));return a(W,{children:[a(j,{withScroll:!0,sx:{height:"calc(100vh - 105px)"},BeforePaper:M,onLoadStart:()=>c.layoutService.setAppbarLoader(!0),onLoadEnd:()=>c.layoutService.setAppbarLoader(!1),routes:K,tabs:U,history:G,initialData:()=>({backtest:{type:"backtest"},live:{type:"live"}}),onTabChange:(e,a)=>{"backtest"===e&&a.replace("/backtest"),"live"===e&&a.replace("/live")}}),a(B,{})]})};export{X as OverviewPage,X as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as e,f as t,c as n,r,i,S as o,m as a,U as l}from"./index-
|
|
1
|
+
import{h as e,f as t,c as n,r,i,S as o,m as a,U as l}from"./index-D7dmwadC.js";const[c,s]=e("pine-code-context"),u=e=>t(c,{initialState:'//@version=5\nindicator("Simple MA", overlay=true)\n\nlength = input.int(20, "Length")\nsma = ta.sma(close, length)\n\nplot(sma, "SMA", color.blue, linewidth=2)',children:e.children}),[d,h]=e("pine-from-date-context"),v=e=>t(d,{initialState:"",children:e.children}),[m,p]=e("pine-limit-context"),g=e=>t(m,{initialState:250,children:e.children}),[f,y]=e("pine-symbol-context"),b=e=>t(f,{initialState:"BTCUSDT",children:e.children}),[C,D]=e("pine-timeframe-context"),x=e=>t(C,{initialState:"1",children:e.children}),[S,w]=e("pine-to-date-context"),T=e=>t(S,{initialState:"",children:e.children}),k=n(e=>t("div",{style:e.v0,children:[t("input",{type:"text",value:e.v1,onChange:e.v2,style:e.v3,placeholder:"BTCUSDT"}),t("select",{value:e.v4,onChange:e.v5,style:e.v6,children:e.v7}),t("input",{type:"number",value:e.v8,min:100,step:100,onChange:e.v9,style:e.v10,title:"Bars limit"}),t("input",{type:"date",value:e.v11,onChange:e.v12,style:e.v13,title:"From date"}),t("input",{type:"date",value:e.v14,onChange:e.v15,style:e.v16,title:"To date"}),t("button",{onClick:e.v17,disabled:e.v18,style:e.v19,children:e.v20}),e.v21]}),{name:"Toolbar_1",portals:["v7","v20","v21"]}),R=function({symbol:e,timeframe:n,fromDate:r,toDate:i,limit:o,running:a,status:l,onSymbolChange:c,onTimeframeChange:s,onFromDateChange:u,onToDateChange:d,onLimitChange:h,onRun:v}){return t(k,{v0:{display:"flex",gap:8,padding:"8px 12px",background:"#1e293b",alignItems:"center",flexShrink:0},v1:e,v2:e=>c(e.target.value.toUpperCase()),v3:{...B,width:100},v4:n,v5:e=>s(e.target.value),v6:B,v7:z.map(e=>t("option",{children:e},e)),v8:o,v9:e=>h(Number(e.target.value)),v10:{...B,width:80},v11:r,v12:e=>u(e.target.value),v13:F,v14:i,v15:e=>d(e.target.value),v16:F,v17:v,v18:a,v19:{background:"#3b82f6",color:"#fff",border:"none",borderRadius:4,padding:"5px 16px",fontSize:13,cursor:"pointer"},v20:a?"...":"▶ Run",v21:l&&t("span",{style:{fontSize:12,color:"#94a3b8",marginLeft:8},children:l})})},z=["1","5","15","60","D"],B={background:"#1e293b",color:"#e2e8f0",border:"1px solid #334155",borderRadius:4,padding:"4px 8px",fontSize:13},F={...B,colorScheme:"dark"},U=n(e=>t("textarea",{value:e.v0,onChange:e.v1,onKeyDown:e.v2,spellCheck:!1,style:e.v3}),{name:"CodeEditor_1"}),E=function({value:e,onChange:n,onRun:r}){return t(U,{v0:e,v1:e=>n(e.target.value),v2:e=>{e.ctrlKey&&"Enter"===e.key&&(e.preventDefault(),r())},v3:{width:320,flexShrink:0,resize:"none",background:"#1e293b",color:"#e2e8f0",border:"none",borderRight:"1px solid #334155",padding:12,fontFamily:"monospace",fontSize:13,lineHeight:1.5,outline:"none"}})},$={1:"1m",3:"3m",5:"5m",15:"15m",30:"30m",60:"1h",120:"2h",240:"4h",360:"6h",480:"8h","1D":"1d",D:"1d"};function L(e){return{time:e.openTime,open:e.open,high:e.high,low:e.low,close:e.close,volume:e.volume}}class I{async getMarketData(e,t,n,r,o){const a=e.toUpperCase().replace(/^BINANCE:|^BYBIT:|^OKX:/,""),l=$[t]??t;return(await i.exchangeViewService.getRangeCandles({symbol:a,interval:l,limit:n,sDate:r,eDate:o})).map(e=>({openTime:e.timestamp,open:e.open,high:e.high,low:e.low,close:e.close,volume:e.volume}))}async getSymbolInfo(e){const t=e.toUpperCase().replace(/^BINANCE:|^BYBIT:|^OKX:/,""),n=t.replace(/USDT$|BUSD$|USD$/,""),r=t.replace(n,"");return{ticker:t,tickerid:t,description:`${n}/${r}`,type:"crypto",basecurrency:n,currency:r||"USDT",timezone:"UTC"}}}const M=()=>t(o,{children:"\n #root > .MuiBox-root {\n padding-left: 0;\n padding-right: 0;\n }\n "}),P=()=>{const e=r.useRef(null),[n,i]=s(),[o,l]=y(),[c,u]=D(),[d,v]=h(),[m,g]=w(),[f,b]=p(),{run:C,status:x,running:S}=function(){const e=r.useRef(null),t=r.useRef(null),n=r.useRef(null),[i,o]=r.useState(""),[a,l]=r.useState(!1);function c(){if(n.current){try{n.current.stop()}catch{}n.current=null}}function s(){e.current&&(e.current.destroy(),e.current=null,t.current=null)}function u(e){o(`Error: ${e.message}`),l(!1)}return r.useEffect(()=>{const t=()=>{var t;return null==(t=e.current)?void 0:t.resize()};return window.addEventListener("resize",t),()=>{window.removeEventListener("resize",t),c(),s()}},[]),{run:function({symbol:r,timeframe:i,fromDate:a,toDate:d,limit:h,code:v,containerRef:m}){if(!m.current)return;l(!0),o("Connecting..."),c(),s();const p=/indicator\([^)]*overlay\s*=\s*true/i.test(v);let g=!1;try{const c=a?new Date(a).getTime():void 0,s=d?new Date(d).getTime():void 0,f=new I,y=new PineTS(f,r,i,h,c,s).stream(v,{pageSize:500,live:!0,interval:3e3});n.current=y,y.on("data",a=>{var c,s;if(n.current===y)if(g)t.current&&a.plots&&t.current.updateData(a.plots),null==(s=e.current)||s.updateData([L(a.marketData[a.marketData.length-1])]);else{g=!0;const n=a.marketData.map(L);m.current.innerHTML="",e.current=new QFChart.QFChart(m.current,{title:`${r} · ${i}`,backgroundColor:"#0f172a",height:"100%",padding:.1,databox:{position:"right",triggerOn:"mousemove"},dataZoom:{visible:!0,position:"top",height:6,start:80,end:101},layout:{mainPaneHeight:"70%",gap:5},controls:{collapse:!1,maximize:!1,fullscreen:!1}}),e.current.setMarketData(n);const s=(null==(c=a.fullContext)?void 0:c.plots)??a.plots;t.current=e.current.addIndicator("indicator",s,{overlay:p,height:p?void 0:30,controls:{collapse:!1,maximize:!1}}),e.current.registerPlugin(new QFChart.MeasureTool),e.current.registerPlugin(new QFChart.LineTool),e.current.registerPlugin(new QFChart.FibonacciTool),o(`${n.length} bars loaded`),l(!1)}}),y.on("error",u)}catch(f){u(f)}},status:i,running:a}}();function T(){C({symbol:o,timeframe:c,fromDate:d,toDate:m,limit:f,code:n,containerRef:e})}return t(a,{children:t("div",{style:{display:"flex",flexDirection:"column",height:"100vh",background:"#0f172a",color:"#e2e8f0",fontFamily:"monospace"},children:[t(R,{symbol:o,timeframe:c,fromDate:d,toDate:m,limit:f,running:S,status:x,onSymbolChange:l,onTimeframeChange:u,onFromDateChange:v,onToDateChange:g,onLimitChange:b,onRun:T}),t("div",{style:{display:"flex",flex:1,overflow:"clip"},children:[t(E,{value:n,onChange:i,onRun:T}),t("div",{style:{flex:1},children:t("div",{ref:e,style:{width:"100%",height:"100%"},children:t("p",{style:{color:"#475569",textAlign:"center",marginTop:"20%"},children:["Press ",t("b",{children:"▶ Run"})," or ",t("b",{children:"Ctrl+Enter"})," to load the chart"]})})})]}),t(M,{})]})})},A=l(e=>t(u,{children:e}),e=>t(v,{children:e}),e=>t(T,{children:e}),e=>t(g,{children:e}),e=>t(b,{children:e}),e=>t(x,{children:e})),N=()=>A(t(P,{}));export{N as PinePage,N as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{aV as t,X as a,i as e,f as o,v as i,w as n,p as s,H as r,z as c,T as l,aW as d,x as p,B as u,F as m,K as b,L as y,N as h,Q as g,l as f,n as S,O as v,V as L,aX as w,aY as k,aZ as x,q as A,Y as N,Z as C,a_ as $,D as j,a$ as R,a6 as F}from"./index-D7dmwadC.js";import{h as H}from"./hasRouteMatch-DGBSTuX4.js";import{I as B}from"./IconPhoto-CVGPKzLi.js";import{C as M,R as V}from"./Refresh-CtGZrED0.js";import{K as _}from"./KeyboardArrowLeft-C-M8f-Ur.js";import{B as E}from"./Background-D1mqn4gC.js";const G="backtest-kit__groupHeader",O="backtest-kit__groupRoot",z="backtest-kit__symbolImage",I=s()({root:{[`& .${O}:hover .${G}`]:{opacity:"1 !important"}}});function P(t){return L(t,"#000000")>L(t,"#FFFFFF")}const D=[{type:n.Link,action:"back-action",label:o(_,{sx:{display:"block"}})},{type:n.Link,action:"back-action",label:"Main"},{type:n.Link,action:"back-action",label:"Status"}],K=[{action:"update-now",label:"Refresh",icon:()=>o(c,{icon:V,color:"#4caf50"})}],T=(t,a)=>({type:r.Group,className:O,sx:{p:2},tabletColumns:"12",desktopColumns:"3",fields:[{type:r.Component,className:G,style:{transition:"opacity 500ms",opacity:.5},element:()=>o(h,{direction:"row",children:[o(b,{variant:"outlined",size:"small",color:"info",label:`${y.bullet} ${t}`,sx:{mb:1,pr:.5,fontSize:"14px",background:"white",cursor:"not-allowed"}}),o(u,{flex:1})]})},{type:r.Group,fields:a.map(({symbol:t,label:a,to:i,color:n})=>((t,a,i,n)=>({type:r.Component,desktopColumns:"6",tabletColumns:"6",phoneColumns:"12",fieldRightMargin:"1",fieldBottomMargin:"1",element:()=>o(v,{component:g,onClick:()=>{e.routerService.push(`/status/${a}`)},sx:{width:"100%",background:n,color:"white",fontWeight:"bold",fontSize:"14px",height:"75px",minHeight:"75px",textWrap:"wrap",padding:"16px",[`& .${z}`]:{transition:"filter 500ms"},"&:hover":{background:()=>P(n)?f(n,.33):S(n,.33),[`& .${z}`]:{transition:"filter 500ms",filter:P(n)?"brightness(0.7) contrast(1.2)":"brightness(1.3) contrast(0.5)"}},transition:"background 500ms"},startIcon:o(B,{className:z,symbol:t}),children:i})}))(t,i,a,n))}]}),U=[{type:n.Link,action:"back-action",label:o(_,{sx:{display:"block"}})},{type:n.Link,action:"back-action",label:"Main"},{type:n.Link,action:"back-action",label:"Status"},{type:n.Link,action:"back-action",compute:t=>t?`${String(t.symbol).toUpperCase()} (${t.strategyName})`:"Live"},{type:n.Button,action:"print-action",label:"Print",icon:$}],W=[{action:"print-action",label:"Print",icon:()=>o(c,{icon:$,color:"#4caf50"})},{action:"download-action",label:"Download",icon:()=>o(c,{icon:j,color:"#4caf50"})},{divider:!0},{action:"update-now",label:"Refresh",icon:()=>o(c,{icon:V,color:"#4caf50"})}],X=new C,Y=[{id:"status",element:({params:t})=>{const[n]=a(async()=>{const a=await e.statusViewService.getStatusMap();return w.get(a,t.id,null)},{onLoadStart:()=>e.layoutService.setAppbarLoader(!0),onLoadEnd:()=>e.layoutService.setAppbarLoader(!1),deps:[t.id]}),[s,{loading:r,execute:c}]=a(async()=>await e.statusViewService.getStatusOne(t.id),{onLoadStart:()=>e.layoutService.setAppbarLoader(!0),onLoadEnd:()=>e.layoutService.setAppbarLoader(!1),deps:[t.id]}),b=k(async()=>{if(!s)return;const t=new Blob([JSON.stringify(s,null,2)],{type:"application/json"}),a=URL.createObjectURL(t);e.layoutService.downloadFile(a,`status_${Date.now()}.json`)}),y=k(async()=>{if(!s)return;const t=e.markdownHelperService.buildMarkdownFromFields(x,s);await A(t)});N(()=>X.subscribe(c));return o(M,{children:[o(i,{items:U,actions:W,payload:n,onAction:async t=>{"back-action"===t&&((async()=>{1!==(await e.statusViewService.getStatusList()).length?e.routerService.push("/status"):e.routerService.push("/")})(),e.routerService.push("/")),"update-now"===t&&await X.next(),"download-action"===t&&await b(),"print-action"===t&&await y()}}),r?o(d,{children:o(l,{variant:"h6",sx:{opacity:.5},children:"Loading..."})}):s?o(m,{children:[o(p,{handler:s,fields:R}),o(u,{paddingBottom:"24px"})]}):o(d,{children:o(l,{variant:"h6",sx:{opacity:.5},children:"No pending signal"})}),o(E,{})]})},isActive:t=>H(["/status/:id"],t)},{id:"main",element:()=>{const{classes:n}=I(),{reloadTrigger:s,doReload:c}=t();a(async()=>{const t=await e.statusViewService.getStatusList();if(1===t.length){const[{id:a}]=t;e.routerService.push(`/status/${a}`)}},{onLoadStart:()=>e.layoutService.setAppbarLoader(!0),onLoadEnd:()=>e.layoutService.setAppbarLoader(!1),deps:[s]});const[b,{loading:y}]=a(async()=>await(async()=>{const[t,a]=await Promise.all([e.symbolGlobalService.getSymbolMap(),e.statusViewService.getStatusList()]);if(!a||0===a.length)return[{type:r.Typography,typoVariant:"h6",placeholder:"Listening for a pending signal...",sx:{textAlign:"center",opacity:.5,mt:4}}];const o={};a.forEach(a=>{const e=t[a.symbol],i=a.strategyName;o[i]||(o[i]=[]),o[i].push({symbol:a.symbol,label:(null==e?void 0:e.displayName)||a.symbol,color:(null==e?void 0:e.color)||"#ccc",to:a.id})});const i=Object.entries(o).sort(([,t],[,a])=>a.length-t.length),n=[],s=[],c=[];return i.forEach(([t,a],e)=>{const o=T(t,a);e%2==0?n.push(o):s.push(o),c.push(o)}),[{type:r.Group,columns:"6",className:"tabletLeftColumn",phoneHidden:!0,desktopHidden:!0,fields:n},{type:r.Group,columns:"6",className:"tabletRightColumn",phoneHidden:!0,desktopHidden:!0,fields:s},{type:r.Group,columns:"12",className:"wideColumn",tabletHidden:!0,fields:c}]})(),{onLoadStart:()=>e.layoutService.setAppbarLoader(!0),onLoadEnd:()=>e.layoutService.setAppbarLoader(!1),deps:[s]});return o(M,{children:[o(i,{items:D,actions:K,onAction:t=>{"back-action"===t&&e.routerService.push("/"),"update-now"===t&&c()}}),y||!b?o(d,{children:o(l,{variant:"h6",sx:{opacity:.5},children:"Loading..."})}):b.length?o(m,{children:[o(p,{className:n.root,fields:b},s),o(u,{paddingBottom:"24px"})]}):o(d,{children:o(l,{variant:"h6",sx:{opacity:.5},children:"No pending signals"})})]})},isActive:t=>H(["/status"],t)}],Z=({id:t})=>o(F,{history:e.routerService,onLoadStart:()=>e.layoutService.setAppbarLoader(!0),onLoadEnd:()=>e.layoutService.setAppbarLoader(!1),routes:Y,params:{id:t}});export{Z as StatusPage,Z as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as e,f as o,aV as t,X as i,i as a,v as n,w as l,p as s,H as r,z as c,T as p,aW as d,x as m,B as u,F as h,K as b,L as y,N as f,Q as g,l as k,n as v,O as S,V as C,r as L,as as x,bk as w,bl as P,bm as T,bn as V,bo as $,bp as H,al as z,ag as M,a8 as N,Y as O,b3 as A,aS as _,aE as E,P as I,G as F,ao as R,bq as j,Z as G,ax as W,ay as D,aY as B,a4 as U,I as Y,az as K,D as q,a6 as J}from"./index-D7dmwadC.js";import{h as Q}from"./hasRouteMatch-DGBSTuX4.js";import{I as X}from"./IconPhoto-CVGPKzLi.js";import{C as Z,R as ee}from"./Refresh-CtGZrED0.js";import{K as oe}from"./KeyboardArrowLeft-C-M8f-Ur.js";const te=e([o("path",{d:"M5 19h14V5H5v14zm4-4h4v-2h-2v-2h2V9H9V7h4c1.1 0 2 .89 2 2v1.5c0 .83-.67 1.5-1.5 1.5.83 0 1.5.67 1.5 1.5V15c0 1.11-.9 2-2 2H9v-2z",opacity:".3"}),o("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V5h14v14zm-4-4v-1.5c0-.83-.67-1.5-1.5-1.5.83 0 1.5-.67 1.5-1.5V9c0-1.11-.9-2-2-2H9v2h4v2h-2v2h2v2H9v2h4c1.1 0 2-.89 2-2z"})],"Looks3TwoTone"),ie=e([o("path",{d:"M19 5H5v14h14V5zm-5 12h-2V9h-2V7h4v10z",opacity:".3"}),o("path",{d:"M5 21h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2zM5 5h14v14H5V5zm5 4h2v8h2V7h-4z"})],"LooksOneTwoTone"),ae=e([o("path",{d:"M19 5H5v14h14V5zm-4 6c0 1.11-.9 2-2 2h-2v2h4v2H9v-4c0-1.11.9-2 2-2h2V9H9V7h4c1.1 0 2 .89 2 2v2z",opacity:".3"}),o("path",{d:"M5 21h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2zM5 5h14v14H5V5zm8 2H9v2h4v2h-2c-1.1 0-2 .89-2 2v4h6v-2h-4v-2h2c1.1 0 2-.89 2-2V9c0-1.11-.9-2-2-2z"})],"LooksTwoTwoTone"),ne="backtest-kit__groupHeader",le="backtest-kit__groupRoot",se="backtest-kit__symbolImage",re=s()({root:{[`& .${le}:hover .${ne}`]:{opacity:"1 !important"}}});function ce(e){return C(e,"#000000")>C(e,"#FFFFFF")}const pe=[{type:l.Link,action:"back-action",label:o(oe,{sx:{display:"block"}})},{type:l.Link,action:"back-action",label:"Main"},{type:l.Link,action:"back-action",label:"Price Chart"}],de=[{action:"update-now",label:"Refresh",icon:()=>o(c,{icon:ee,color:"#4caf50"})}],me=(e,t)=>({type:r.Group,className:le,sx:{p:2},tabletColumns:"12",desktopColumns:"3",fields:[{type:r.Component,className:ne,style:{transition:"opacity 500ms",opacity:.5},element:()=>o(f,{direction:"row",children:[o(b,{variant:"outlined",size:"small",color:"info",label:`${y.bullet} ${e}`,sx:{mb:1,pr:.5,fontSize:"14px",background:"white",cursor:"not-allowed"}}),o(u,{flex:1})]})},{type:r.Group,fields:t.map(({symbol:e,label:t,color:i})=>((e,t,i)=>({type:r.Component,desktopColumns:"6",tabletColumns:"6",phoneColumns:"12",fieldRightMargin:"1",fieldBottomMargin:"1",element:()=>o(S,{component:g,onClick:()=>{a.routerService.push(`/price_chart/${e.toLowerCase()}`)},sx:{width:"100%",background:i,color:"white",fontWeight:"bold",fontSize:"14px",height:"75px",minHeight:"75px",textWrap:"wrap",padding:"16px",[`& .${se}`]:{transition:"filter 500ms"},"&:hover":{background:()=>ce(i)?k(i,.33):v(i,.33),[`& .${se}`]:{transition:"filter 500ms",filter:ce(i)?"brightness(0.7) contrast(1.2)":"brightness(1.3) contrast(0.5)"}},transition:"background 500ms"},startIcon:o(X,{className:se,symbol:e}),children:t})}))(e,t,i))}]}),ue="backtest-kit__groupHeader",he="backtest-kit__groupRoot",be="backtest-kit__symbolImage",ye=s()({root:{[`& .${he}:hover .${ue}`]:{opacity:"1 !important"}}});function fe(e){return C(e,"#000000")>C(e,"#FFFFFF")}const ge=[{type:l.Link,action:"back-action",label:o(oe,{sx:{display:"block"}})},{type:l.Link,action:"back-action",label:"Main"},{type:l.Link,action:"back-action",label:"Price Chart"},{type:l.Link,action:"back-action",compute:e=>String(e).toUpperCase()}],ke=(e,t)=>({type:r.Group,className:he,sx:{p:2},desktopColumns:"6",tabletColumns:"6",phoneColumns:"12",fields:[{type:r.Component,className:ue,style:{transition:"opacity 500ms",opacity:.5},element:()=>o(f,{direction:"row",children:[o(b,{variant:"outlined",size:"medium",color:"info",label:`${y.bullet} ${e}`,sx:{mb:1,pr:.5,fontSize:"16px",background:"white",cursor:"not-allowed"}}),o(u,{flex:1})]})},{type:r.Group,fields:t.map(({label:e,to:t,color:i,icon:n})=>((e,t,i,n)=>({type:r.Component,desktopColumns:"6",tabletColumns:"12",phoneColumns:"12",fieldRightMargin:"1",fieldBottomMargin:"1",element:()=>o(S,{component:g,onClick:()=>{a.routerService.push(e)},sx:{width:"100%",background:i,color:"white",fontWeight:"bold",fontSize:"18px",height:"75px",minHeight:"125px",textWrap:"wrap",padding:"16px",[`& .${be}`]:{transition:"filter 500ms"},"&:hover":{background:()=>fe(i)?k(i,.33):v(i,.33),[`& .${be}`]:{transition:"filter 500ms",filter:fe(i)?"brightness(0.7) contrast(1.2)":"brightness(1.3) contrast(0.5)"}},transition:"background 500ms"},startIcon:o(n,{className:be}),children:t})}))(t,e,i,n))}]}),ve=s()({root:{position:"relative"},tooltip:{position:"absolute",margin:0,left:5,top:5,backgroundColor:"#343434",zIndex:999,color:"white",fontWeight:"bold",padding:"5px 10px",borderRadius:3,fontSize:"12px",pointerEvents:"none",touchAction:"none"}}),Se={layout:{textColor:"#d4d4d8",backgroundColor:"#ffffff"},rightPriceScale:{scaleMargins:{top:.3,bottom:.25}},crosshair:{vertLine:{width:4,color:"#ebe0e301",style:0},horzLine:{visible:!1,labelVisible:!1}},grid:{vertLines:{color:"#f8b3"},horzLines:{color:"#f8b3"}},handleScroll:{vertTouchDrag:!1}},Ce=({height:e,width:t,items:i,position:a,priceOpen:n,priceStopLoss:l,priceTakeProfit:s})=>{const{classes:r}=ve(),c=L.useRef(void 0),[p,d]=L.useState(null);return L.useLayoutEffect(()=>{const{current:o}=c,r=x(o,{...Se,width:t,height:e,crosshair:{mode:w.Normal,vertLine:{labelVisible:!1},horzLine:{visible:!1,labelVisible:!0}},timeScale:{timeVisible:!0,secondsVisible:!0,tickMarkFormatter:e=>{const o=i.find(o=>o.timestamp===Number(e))||i[0];if(!o||!o.timestamp)return"Invalid date";const t=z(o.timestamp);return t.isValid()?t.format("HH:mm:ss"):"Invalid date"}}}),p=r.addLineSeries({lastValueVisible:!1,color:P[400]}),m=i.map(e=>({time:Math.floor(e.timestamp),value:parseFloat(e.close)}));if(p.setData(m),a&&n){const e="long"===a?P[700]:V[700];p.createPriceLine({price:n,color:e,lineWidth:2,lineStyle:T.Solid,axisLabelVisible:!0,title:"long"===a?"LONG Entry":"SHORT Entry"})}return l&&p.createPriceLine({price:l,color:$[500],lineWidth:2,lineStyle:T.Solid,axisLabelVisible:!0,title:"SL"}),s&&p.createPriceLine({price:s,color:H[500],lineWidth:2,lineStyle:T.Solid,axisLabelVisible:!0,title:"TP"}),r.subscribeCrosshairMove(e=>{if(e.time){const o=i.find(o=>o.timestamp===Number(e.time));if(o){const e=z(o.timestamp).format("DD/MM/YYYY HH:mm:ss"),t=M(o.close.toFixed(6));d(`${e}: ${t}`)}else d(null)}else d(null)}),r.timeScale().fitContent(),()=>{r.remove()}},[e,t,i]),o("div",{ref:c,className:r.root,children:p&&o("div",{className:r.tooltip,children:p})})},Le={"1m":"#2979ff","15m":"#f3a43a","1h":"#d500f9"},xe={"1m":"1 minute","15m":"15 minutes","1h":"1 hour"};const we=({symbol:e,interval:t,reloadSubject:n,downloadSubject:l,onInfoClick:s,disableInfo:r,position:c,priceOpen:d,priceStopLoss:m,priceTakeProfit:h,sx:y})=>{const[f,{loading:g,execute:k}]=i(async()=>await a.exchangeViewService.getLastCandles(e,t),{onLoadStart:()=>a.layoutService.setAppbarLoader(!0),onLoadEnd:()=>a.layoutService.setAppbarLoader(!1),deps:[e,t]}),v=N(f);O(()=>n.subscribe(k)),O(()=>l.subscribe(()=>{const{current:o}=v;!function(e,o="data.json"){const t=new Blob([e],{type:"application/json"}),i=window.URL.createObjectURL(t);a.layoutService.downloadFile(i,o)}(JSON.stringify(o,null,2),`${e}-${t}.json`)}));return o(I,{sx:{...y,display:"flex",flexDirection:"column",alignItems:"stretch",overflow:"clip"},children:[o(u,{sx:{background:Le[t]||"#607d8b",minHeight:"48px",display:"flex",alignItems:"center",pl:2,pr:1},children:[o(p,{variant:"h6",sx:{color:"white",fontWeight:"bold",mr:1},children:xe[t]||t}),!!c&&o(b,{variant:"filled",sx:{color:"white"},color:"short"===c?"warning":"success",label:String(c).toUpperCase()}),o(u,{sx:{flex:1}}),o(A,{disabled:r,onClick:s,children:o(_,{style:{color:"white",opacity:r?.5:1}})})]}),o(E,{}),!f||g?o(F,{sx:{height:"100%",width:"100%"}}):o(u,{sx:{position:"relative",flex:1},children:o(R,{style:{position:"absolute"},children:({height:e,width:t})=>o(Ce,{items:f,height:e,width:t,position:c,priceOpen:d,priceStopLoss:m,priceTakeProfit:h})})})]})},Pe=[{type:l.Link,action:"back-action",label:o(oe,{sx:{display:"block"}})},{type:l.Link,action:"back-action",label:"Main"},{type:l.Link,action:"back-action",label:"Price Chart"},{type:l.Link,action:"back-action",compute:({symbol:e})=>String(e).toUpperCase()},{type:l.Link,action:"back-action",compute:({interval:e})=>String(e).toUpperCase()}],Te=[{action:"download-now",label:"Download",icon:()=>o(c,{icon:q,color:"#4caf50"})},{divider:!0},{action:"update-now",label:"Refresh",icon:()=>o(c,{icon:ee,color:"#4caf50"})}],Ve=new G,$e=new G,He=[{type:r.Text,outlined:!1,desktopColumns:"12",tabletColumns:"12",phoneColumns:"12",name:"symbol",title:"Symbol",readonly:!0,compute:e=>e.symbol||"N/A"},{type:r.Text,outlined:!1,desktopColumns:"12",tabletColumns:"12",phoneColumns:"12",name:"position",title:"Position",readonly:!0,compute:e=>"long"===e.position?"🔵 LONG (profit on rise)":"🟠 SHORT (profit on fall)"},{type:r.Text,outlined:!1,desktopColumns:"12",tabletColumns:"12",phoneColumns:"12",name:"priceOpen",title:"Entry",readonly:!0,compute:e=>e.priceOpen?`${M(e.priceOpen)}$`:"N/A"},{type:r.Text,outlined:!1,desktopColumns:"12",tabletColumns:"12",phoneColumns:"12",name:"originalPriceOpen",title:"Original Entry",readonly:!0,isVisible:e=>null!=e.originalPriceOpen&&e.originalPriceOpen!==e.priceOpen,compute:e=>e.originalPriceOpen?`${M(e.originalPriceOpen)}$`:"N/A"},{type:r.Text,outlined:!1,desktopColumns:"12",tabletColumns:"12",phoneColumns:"12",name:"priceTakeProfit",title:"Take Profit",readonly:!0,compute:e=>e.priceTakeProfit?`${M(e.priceTakeProfit)}$`:"N/A"},{type:r.Text,outlined:!1,desktopColumns:"12",tabletColumns:"12",phoneColumns:"12",name:"originalPriceTakeProfit",title:"Original Take Profit",readonly:!0,isVisible:e=>null!=e.originalPriceTakeProfit&&e.originalPriceTakeProfit!==e.priceTakeProfit,compute:e=>e.originalPriceTakeProfit?`${M(e.originalPriceTakeProfit)}$`:"N/A"},{type:r.Text,outlined:!1,desktopColumns:"12",tabletColumns:"12",phoneColumns:"12",name:"priceStopLoss",title:"Stop Loss",readonly:!0,compute:e=>e.priceStopLoss?`${M(e.priceStopLoss)}$`:"N/A"},{type:r.Text,outlined:!1,desktopColumns:"12",tabletColumns:"12",phoneColumns:"12",name:"originalPriceStopLoss",title:"Original Stop Loss",readonly:!0,isVisible:e=>null!=e.originalPriceStopLoss&&e.originalPriceStopLoss!==e.priceStopLoss,compute:e=>e.originalPriceStopLoss?`${M(e.originalPriceStopLoss)}$`:"N/A"},{type:r.Text,outlined:!1,desktopColumns:"12",tabletColumns:"12",phoneColumns:"12",name:"totalEntries",title:"Total Entries",readonly:!0,isVisible:e=>null!=e.totalEntries&&e.totalEntries>1,compute:e=>String(e.totalEntries)},{type:r.Text,outlined:!1,desktopColumns:"12",tabletColumns:"12",phoneColumns:"12",name:"totalPartials",title:"Total Closes",readonly:!0,isVisible:e=>null!=e.totalPartials&&e.totalPartials>0,compute:e=>String(e.totalPartials)},{type:r.Component,sx:{mt:2},element:({payload:e})=>o(S,{variant:"outlined",onClick:e.handleClose,children:"Back"})}],ze=[{id:"chart",element:({params:e})=>{const t=j(()=>({symbol:String(e.symbol).toUpperCase(),interval:e.interval})),[l,{loading:s,execute:r}]=i(async()=>{const o=String(e.symbol).toUpperCase();return await a.signalViewService.getPendingSignal(o)},{onLoadStart:()=>a.layoutService.setAppbarLoader(!0),onLoadEnd:()=>a.layoutService.setAppbarLoader(!1),deps:[e.symbol]});O(()=>Ve.subscribe(r));const c=L.useMemo(()=>l?l.priceTakeProfit:0,[l]),p=L.useMemo(()=>l?l.priceStopLoss:0,[l]),d=L.useMemo(()=>l?l.priceOpen:0,[l]),m=L.useMemo(()=>l?l.position:null,[l]),[u,h]=W(null),{pickData:b,setOpen:y,render:g}=D({title:"Info",AfterTitle:({onClose:e})=>o(f,{direction:"row",gap:2,children:[o(U,{onClick:()=>a.layoutService.pickSignal(u.current.id),variant:"outlined",children:"Show Details"}),o(Y,{size:"small",onClick:e,children:o(K,{})})]}),payload:()=>({handleClose(){y(!1)}}),fields:He,handler:()=>u.current,withActionButton:!1}),k=B(async()=>{l&&(h(l),b(l.id))});return o(Z,{children:[o(n,{items:Pe,actions:Te,payload:t,onAction:async o=>{"back-action"===o&&a.routerService.push(`/price_chart/${e.symbol}`),"update-now"===o&&await Ve.next(),"download-now"===o&&await $e.next()}}),s?null:o(we,{symbol:t.symbol,interval:t.interval,disableInfo:!l,reloadSubject:Ve,downloadSubject:$e,onInfoClick:k,position:m,priceOpen:d,priceStopLoss:p,priceTakeProfit:c,sx:{height:"calc(100dvh - 165px)"}}),g()]})},isActive:e=>Q(["/price_chart/:symbol/:interval"],e)},{id:"coin",element:({params:e})=>{const{classes:t}=ye(),i=e.symbol,l=L.useMemo(()=>[{label:"1 minute",to:`/price_chart/${i}/1m`,color:"#2979ff",icon:ie},{label:"15 minutes",to:`/price_chart/${i}/15m`,color:"#f3a43a",icon:ae},{label:"1 hour",to:`/price_chart/${i}/1h`,color:"#d500f9",icon:te}],[i]),s=L.useMemo(()=>[ke("Chart",l)],[l]);return o(Z,{children:[o(n,{items:ge,payload:i,onAction:e=>{"back-action"===e&&a.routerService.push("/price_chart")}}),o(m,{className:t.root,fields:s}),o(u,{paddingBottom:"24px"})]})},isActive:e=>Q(["/price_chart/:symbol"],e)},{id:"main",element:()=>{const{classes:e}=re(),{reloadTrigger:l,doReload:s}=t(),[c,{loading:b}]=i(async()=>await(async()=>{const[e,o]=await Promise.all([a.symbolGlobalService.getSymbolList(),a.symbolGlobalService.getSymbolMap()]),t={};e.forEach((e,i)=>{const a=o[e],n=i+1,l=(null==a?void 0:a.priority)||n;t[l]||(t[l]=[]),t[l].push({symbol:e,label:(null==a?void 0:a.displayName)||e,color:(null==a?void 0:a.color)||"#ccc"})});const i=Object.entries(t).map(([e,o])=>({priority:parseInt(e),routes:o})).sort(({priority:e,routes:{length:o}},{priority:t,routes:{length:i}})=>i-o||t-e),n=[],l=[],s=[];return i.forEach(({routes:e,priority:o},t)=>{const i=me(`Priority ${o}`,e);t%2==0&&n.push(i),t%2==1&&l.push(i),s.push(i)}),s.length?[{type:r.Group,columns:"6",className:"tabletLeftColumn",phoneHidden:!0,desktopHidden:!0,fields:n},{type:r.Group,columns:"6",className:"tabletRightColumn",phoneHidden:!0,desktopHidden:!0,fields:l},{type:r.Group,columns:"12",className:"wideColumn",tabletHidden:!0,fields:s}]:[]})(),{onLoadStart:()=>a.layoutService.setAppbarLoader(!0),onLoadEnd:()=>a.layoutService.setAppbarLoader(!1),deps:[l]});return o(Z,{children:[o(n,{items:pe,actions:de,onAction:e=>{"back-action"===e&&a.routerService.push("/"),"update-now"===e&&s()}}),b||!c?o(d,{children:o(p,{variant:"h6",sx:{opacity:.5},children:"Loading..."})}):c.length?o(h,{children:[o(m,{className:e.root,fields:c},l),o(u,{paddingBottom:"24px"})]}):o(d,{children:o(p,{variant:"h6",sx:{opacity:.5},children:"No symbols found"})})]})},isActive:e=>Q(["/price_chart"],e)}],Me=({symbol:e,interval:t})=>o(J,{history:a.routerService,onLoadStart:()=>a.layoutService.setAppbarLoader(!0),onLoadEnd:()=>a.layoutService.setAppbarLoader(!1),routes:ze,params:{symbol:e,interval:t}});export{Me as PriceChartPage,Me as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{bx as t,by as e,bz as r,bu as i}from"./index-DzrwP4k5.js";var n=function(t){return t&&t.Math===Math&&t},a=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof t&&t)||n("object"==typeof t&&t)||function(){return this}()||Function("return this")(),s={},o=function(t){try{return!!t()}catch(e){return!0}},h=!o(function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]}),u=!o(function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")}),l=u,c=Function.prototype.call,f=l?c.bind(c):function(){return c.apply(c,arguments)},g={},p={}.propertyIsEnumerable,d=Object.getOwnPropertyDescriptor,y=d&&!p.call({1:2},1);g.f=y?function(t){var e=d(this,t);return!!e&&e.enumerable}:p;var v,m,x=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},b=u,w=Function.prototype,S=w.call,T=b&&w.bind.bind(S,S),O=b?T:function(t){return function(){return S.apply(t,arguments)}},A=O,C=A({}.toString),P=A("".slice),E=function(t){return P(C(t),8,-1)},N=o,M=E,R=Object,_=O("".split),V=N(function(){return!R("z").propertyIsEnumerable(0)})?function(t){return"String"===M(t)?_(t,""):R(t)}:R,I=function(t){return null==t},k=I,L=TypeError,D=function(t){if(k(t))throw new L("Can't call method on "+t);return t},j=V,B=D,z=function(t){return j(B(t))},U="object"==typeof document&&document.all,F=void 0===U&&void 0!==U?function(t){return"function"==typeof t||t===U}:function(t){return"function"==typeof t},H=F,X=function(t){return"object"==typeof t?null!==t:H(t)},Y=a,W=F,q=function(t,e){return arguments.length<2?(r=Y[t],W(r)?r:void 0):Y[t]&&Y[t][e];var r},$=O({}.isPrototypeOf),G=a.navigator,Q=G&&G.userAgent,Z=Q?String(Q):"",K=a,J=Z,tt=K.process,et=K.Deno,rt=tt&&tt.versions||et&&et.version,it=rt&&rt.v8;it&&(m=(v=it.split("."))[0]>0&&v[0]<4?1:+(v[0]+v[1])),!m&&J&&(!(v=J.match(/Edge\/(\d+)/))||v[1]>=74)&&(v=J.match(/Chrome\/(\d+)/))&&(m=+v[1]);var nt=m,at=nt,st=o,ot=a.String,ht=!!Object.getOwnPropertySymbols&&!st(function(){var t=Symbol("symbol detection");return!ot(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&at&&at<41}),ut=ht&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,lt=q,ct=F,ft=$,gt=Object,pt=ut?function(t){return"symbol"==typeof t}:function(t){var e=lt("Symbol");return ct(e)&&ft(e.prototype,gt(t))},dt=String,yt=function(t){try{return dt(t)}catch(e){return"Object"}},vt=F,mt=yt,xt=TypeError,bt=function(t){if(vt(t))return t;throw new xt(mt(t)+" is not a function")},wt=bt,St=I,Tt=function(t,e){var r=t[e];return St(r)?void 0:wt(r)},Ot=f,At=F,Ct=X,Pt=TypeError,Et={exports:{}},Nt=a,Mt=Object.defineProperty,Rt=function(t,e){try{Mt(Nt,t,{value:e,configurable:!0,writable:!0})}catch(r){Nt[t]=e}return e},_t=a,Vt=Rt,It="__core-js_shared__",kt=Et.exports=_t[It]||Vt(It,{});(kt.versions||(kt.versions=[])).push({version:"3.48.0",mode:"global",copyright:"© 2013–2025 Denis Pushkarev (zloirock.ru), 2025–2026 CoreJS Company (core-js.io). All rights reserved.",license:"https://github.com/zloirock/core-js/blob/v3.48.0/LICENSE",source:"https://github.com/zloirock/core-js"});var Lt=Et.exports,Dt=Lt,jt=function(t,e){return Dt[t]||(Dt[t]=e||{})},Bt=D,zt=Object,Ut=function(t){return zt(Bt(t))},Ft=Ut,Ht=O({}.hasOwnProperty),Xt=Object.hasOwn||function(t,e){return Ht(Ft(t),e)},Yt=O,Wt=0,qt=Math.random(),$t=Yt(1.1.toString),Gt=function(t){return"Symbol("+(void 0===t?"":t)+")_"+$t(++Wt+qt,36)},Qt=jt,Zt=Xt,Kt=Gt,Jt=ht,te=ut,ee=a.Symbol,re=Qt("wks"),ie=te?ee.for||ee:ee&&ee.withoutSetter||Kt,ne=function(t){return Zt(re,t)||(re[t]=Jt&&Zt(ee,t)?ee[t]:ie("Symbol."+t)),re[t]},ae=f,se=X,oe=pt,he=Tt,ue=function(t,e){var r,i;if("string"===e&&At(r=t.toString)&&!Ct(i=Ot(r,t)))return i;if(At(r=t.valueOf)&&!Ct(i=Ot(r,t)))return i;if("string"!==e&&At(r=t.toString)&&!Ct(i=Ot(r,t)))return i;throw new Pt("Can't convert object to primitive value")},le=TypeError,ce=ne("toPrimitive"),fe=function(t,e){if(!se(t)||oe(t))return t;var r,i=he(t,ce);if(i){if(void 0===e&&(e="default"),r=ae(i,t,e),!se(r)||oe(r))return r;throw new le("Can't convert object to primitive value")}return void 0===e&&(e="number"),ue(t,e)},ge=pt,pe=function(t){var e=fe(t,"string");return ge(e)?e:e+""},de=X,ye=a.document,ve=de(ye)&&de(ye.createElement),me=function(t){return ve?ye.createElement(t):{}},xe=me,be=!h&&!o(function(){return 7!==Object.defineProperty(xe("div"),"a",{get:function(){return 7}}).a}),we=h,Se=f,Te=g,Oe=x,Ae=z,Ce=pe,Pe=Xt,Ee=be,Ne=Object.getOwnPropertyDescriptor;s.f=we?Ne:function(t,e){if(t=Ae(t),e=Ce(e),Ee)try{return Ne(t,e)}catch(r){}if(Pe(t,e))return Oe(!Se(Te.f,t,e),t[e])};var Me={},Re=h&&o(function(){return 42!==Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype}),_e=X,Ve=String,Ie=TypeError,ke=function(t){if(_e(t))return t;throw new Ie(Ve(t)+" is not an object")},Le=h,De=be,je=Re,Be=ke,ze=pe,Ue=TypeError,Fe=Object.defineProperty,He=Object.getOwnPropertyDescriptor,Xe="enumerable",Ye="configurable",We="writable";Me.f=Le?je?function(t,e,r){if(Be(t),e=ze(e),Be(r),"function"==typeof t&&"prototype"===e&&"value"in r&&We in r&&!r[We]){var i=He(t,e);i&&i[We]&&(t[e]=r.value,r={configurable:Ye in r?r[Ye]:i[Ye],enumerable:Xe in r?r[Xe]:i[Xe],writable:!1})}return Fe(t,e,r)}:Fe:function(t,e,r){if(Be(t),e=ze(e),Be(r),De)try{return Fe(t,e,r)}catch(i){}if("get"in r||"set"in r)throw new Ue("Accessors not supported");return"value"in r&&(t[e]=r.value),t};var qe=Me,$e=x,Ge=h?function(t,e,r){return qe.f(t,e,$e(1,r))}:function(t,e,r){return t[e]=r,t},Qe={exports:{}},Ze=h,Ke=Xt,Je=Function.prototype,tr=Ze&&Object.getOwnPropertyDescriptor,er=Ke(Je,"name"),rr={PROPER:er&&"something"===function(){}.name,CONFIGURABLE:er&&(!Ze||Ze&&tr(Je,"name").configurable)},ir=F,nr=Lt,ar=O(Function.toString);ir(nr.inspectSource)||(nr.inspectSource=function(t){return ar(t)});var sr,or,hr,ur=nr.inspectSource,lr=F,cr=a.WeakMap,fr=lr(cr)&&/native code/.test(String(cr)),gr=Gt,pr=jt("keys"),dr=function(t){return pr[t]||(pr[t]=gr(t))},yr={},vr=fr,mr=a,xr=X,br=Ge,wr=Xt,Sr=Lt,Tr=dr,Or=yr,Ar="Object already initialized",Cr=mr.TypeError,Pr=mr.WeakMap;if(vr||Sr.state){var Er=Sr.state||(Sr.state=new Pr);Er.get=Er.get,Er.has=Er.has,Er.set=Er.set,sr=function(t,e){if(Er.has(t))throw new Cr(Ar);return e.facade=t,Er.set(t,e),e},or=function(t){return Er.get(t)||{}},hr=function(t){return Er.has(t)}}else{var Nr=Tr("state");Or[Nr]=!0,sr=function(t,e){if(wr(t,Nr))throw new Cr(Ar);return e.facade=t,br(t,Nr,e),e},or=function(t){return wr(t,Nr)?t[Nr]:{}},hr=function(t){return wr(t,Nr)}}var Mr={set:sr,get:or,has:hr,enforce:function(t){return hr(t)?or(t):sr(t,{})},getterFor:function(t){return function(e){var r;if(!xr(e)||(r=or(e)).type!==t)throw new Cr("Incompatible receiver, "+t+" required");return r}}},Rr=O,_r=o,Vr=F,Ir=Xt,kr=h,Lr=rr.CONFIGURABLE,Dr=ur,jr=Mr.enforce,Br=Mr.get,zr=String,Ur=Object.defineProperty,Fr=Rr("".slice),Hr=Rr("".replace),Xr=Rr([].join),Yr=kr&&!_r(function(){return 8!==Ur(function(){},"length",{value:8}).length}),Wr=String(String).split("String"),qr=Qe.exports=function(t,e,r){"Symbol("===Fr(zr(e),0,7)&&(e="["+Hr(zr(e),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),r&&r.getter&&(e="get "+e),r&&r.setter&&(e="set "+e),(!Ir(t,"name")||Lr&&t.name!==e)&&(kr?Ur(t,"name",{value:e,configurable:!0}):t.name=e),Yr&&r&&Ir(r,"arity")&&t.length!==r.arity&&Ur(t,"length",{value:r.arity});try{r&&Ir(r,"constructor")&&r.constructor?kr&&Ur(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(n){}var i=jr(t);return Ir(i,"source")||(i.source=Xr(Wr,"string"==typeof e?e:"")),t};Function.prototype.toString=qr(function(){return Vr(this)&&Br(this).source||Dr(this)},"toString");var $r,Gr=Qe.exports,Qr=F,Zr=Me,Kr=Gr,Jr=Rt,ti=function(t,e,r,i){i||(i={});var n=i.enumerable,a=void 0!==i.name?i.name:e;if(Qr(r)&&Kr(r,a,i),i.global)n?t[e]=r:Jr(e,r);else{try{i.unsafe?t[e]&&(n=!0):delete t[e]}catch(s){}n?t[e]=r:Zr.f(t,e,{value:r,enumerable:!1,configurable:!i.nonConfigurable,writable:!i.nonWritable})}return t},ei={},ri=Math.ceil,ii=Math.floor,ni=Math.trunc||function(t){var e=+t;return(e>0?ii:ri)(e)},ai=function(t){var e=+t;return e!=e||0===e?0:ni(e)},si=ai,oi=Math.max,hi=Math.min,ui=ai,li=Math.min,ci=function(t){var e=ui(t);return e>0?li(e,9007199254740991):0},fi=ci,gi=function(t){return fi(t.length)},pi=z,di=function(t,e){var r=si(t);return r<0?oi(r+e,0):hi(r,e)},yi=gi,vi={indexOf:($r=!1,function(t,e,r){var i=pi(t),n=yi(i);if(0===n)return!$r&&-1;var a,s=di(r,n);if($r&&e!=e){for(;n>s;)if((a=i[s++])!=a)return!0}else for(;n>s;s++)if(($r||s in i)&&i[s]===e)return $r||s||0;return!$r&&-1})},mi=Xt,xi=z,bi=vi.indexOf,wi=yr,Si=O([].push),Ti=function(t,e){var r,i=xi(t),n=0,a=[];for(r in i)!mi(wi,r)&&mi(i,r)&&Si(a,r);for(;e.length>n;)mi(i,r=e[n++])&&(~bi(a,r)||Si(a,r));return a},Oi=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Ai=Ti,Ci=Oi.concat("length","prototype");ei.f=Object.getOwnPropertyNames||function(t){return Ai(t,Ci)};var Pi={};Pi.f=Object.getOwnPropertySymbols;var Ei=q,Ni=ei,Mi=Pi,Ri=ke,_i=O([].concat),Vi=Ei("Reflect","ownKeys")||function(t){var e=Ni.f(Ri(t)),r=Mi.f;return r?_i(e,r(t)):e},Ii=Xt,ki=Vi,Li=s,Di=Me,ji=o,Bi=F,zi=/#|\.prototype\./,Ui=function(t,e){var r=Hi[Fi(t)];return r===Yi||r!==Xi&&(Bi(e)?ji(e):!!e)},Fi=Ui.normalize=function(t){return String(t).replace(zi,".").toLowerCase()},Hi=Ui.data={},Xi=Ui.NATIVE="N",Yi=Ui.POLYFILL="P",Wi=Ui,qi=a,$i=s.f,Gi=Ge,Qi=ti,Zi=Rt,Ki=function(t,e,r){for(var i=ki(e),n=Di.f,a=Li.f,s=0;s<i.length;s++){var o=i[s];Ii(t,o)||r&&Ii(r,o)||n(t,o,a(e,o))}},Ji=Wi,tn=function(t,e){var r,i,n,a,s,o=t.target,h=t.global,u=t.stat;if(r=h?qi:u?qi[o]||Zi(o,{}):qi[o]&&qi[o].prototype)for(i in e){if(a=e[i],n=t.dontCallGetSet?(s=$i(r,i))&&s.value:r[i],!Ji(h?i:o+(u?".":"#")+i,t.forced)&&void 0!==n){if(typeof a==typeof n)continue;Ki(a,n)}(t.sham||n&&n.sham)&&Gi(a,"sham",!0),Qi(r,i,a,t)}},en=a,rn=Z,nn=E,an=function(t){return rn.slice(0,t.length)===t},sn=an("Bun/")?"BUN":an("Cloudflare-Workers")?"CLOUDFLARE":an("Deno/")?"DENO":an("Node.js/")?"NODE":en.Bun&&"string"==typeof Bun.version?"BUN":en.Deno&&"object"==typeof Deno.version?"DENO":"process"===nn(en.process)?"NODE":en.window&&en.document?"BROWSER":"REST",on="NODE"===sn,hn=a,un=O,ln=bt,cn=X,fn=function(t){return cn(t)||null===t},gn=String,pn=TypeError,dn=function(t,e,r){try{return un(ln(Object.getOwnPropertyDescriptor(t,e)[r]))}catch(i){}},yn=X,vn=D,mn=function(t){if(fn(t))return t;throw new pn("Can't set "+gn(t)+" as a prototype")},xn=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=dn(Object.prototype,"__proto__","set"))(r,[]),e=r instanceof Array}catch(i){}return function(r,i){return vn(r),mn(i),yn(r)?(e?t(r,i):r.__proto__=i,r):r}}():void 0),bn=Me.f,wn=Xt,Sn=ne("toStringTag"),Tn=function(t,e,r){t&&!r&&(t=t.prototype),t&&!wn(t,Sn)&&bn(t,Sn,{configurable:!0,value:e})},On=Gr,An=Me,Cn=q,Pn=function(t,e,r){return r.get&&On(r.get,e,{getter:!0}),r.set&&On(r.set,e,{setter:!0}),An.f(t,e,r)},En=h,Nn=ne("species"),Mn=$,Rn=TypeError,_n={};_n[ne("toStringTag")]="z";var Vn="[object z]"===String(_n),In=F,kn=E,Ln=ne("toStringTag"),Dn=Object,jn="Arguments"===kn(function(){return arguments}()),Bn=Vn?kn:function(t){var e,r,i;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(r){}}(e=Dn(t),Ln))?r:jn?kn(e):"Object"===(i=kn(e))&&In(e.callee)?"Arguments":i},zn=O,Un=o,Fn=F,Hn=Bn,Xn=ur,Yn=function(){},Wn=q("Reflect","construct"),qn=/^\s*(?:class|function)\b/,$n=zn(qn.exec),Gn=!qn.test(Yn),Qn=function(t){if(!Fn(t))return!1;try{return Wn(Yn,[],t),!0}catch(e){return!1}},Zn=function(t){if(!Fn(t))return!1;switch(Hn(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Gn||!!$n(qn,Xn(t))}catch(e){return!0}};Zn.sham=!0;var Kn,Jn,ta,ea,ra=!Wn||Un(function(){var t;return Qn(Qn.call)||!Qn(Object)||!Qn(function(){t=!0})||t})?Zn:Qn,ia=ra,na=yt,aa=TypeError,sa=ke,oa=function(t){if(ia(t))return t;throw new aa(na(t)+" is not a constructor")},ha=I,ua=ne("species"),la=function(t,e){var r,i=sa(t).constructor;return void 0===i||ha(r=sa(i)[ua])?e:oa(r)},ca=u,fa=Function.prototype,ga=fa.apply,pa=fa.call,da="object"==typeof Reflect&&Reflect.apply||(ca?pa.bind(ga):function(){return pa.apply(ga,arguments)}),ya=E,va=O,ma=function(t){if("Function"===ya(t))return va(t)},xa=bt,ba=u,wa=ma(ma.bind),Sa=function(t,e){return xa(t),void 0===e?t:ba?wa(t,e):function(){return t.apply(e,arguments)}},Ta=q("document","documentElement"),Oa=O([].slice),Aa=TypeError,Ca=/(?:ipad|iphone|ipod).*applewebkit/i.test(Z),Pa=a,Ea=da,Na=Sa,Ma=F,Ra=Xt,_a=o,Va=Ta,Ia=Oa,ka=me,La=function(t,e){if(t<e)throw new Aa("Not enough arguments");return t},Da=Ca,ja=on,Ba=Pa.setImmediate,za=Pa.clearImmediate,Ua=Pa.process,Fa=Pa.Dispatch,Ha=Pa.Function,Xa=Pa.MessageChannel,Ya=Pa.String,Wa=0,qa={},$a="onreadystatechange";_a(function(){Kn=Pa.location});var Ga=function(t){if(Ra(qa,t)){var e=qa[t];delete qa[t],e()}},Qa=function(t){return function(){Ga(t)}},Za=function(t){Ga(t.data)},Ka=function(t){Pa.postMessage(Ya(t),Kn.protocol+"//"+Kn.host)};Ba&&za||(Ba=function(t){La(arguments.length,1);var e=Ma(t)?t:Ha(t),r=Ia(arguments,1);return qa[++Wa]=function(){Ea(e,void 0,r)},Jn(Wa),Wa},za=function(t){delete qa[t]},ja?Jn=function(t){Ua.nextTick(Qa(t))}:Fa&&Fa.now?Jn=function(t){Fa.now(Qa(t))}:Xa&&!Da?(ea=(ta=new Xa).port2,ta.port1.onmessage=Za,Jn=Na(ea.postMessage,ea)):Pa.addEventListener&&Ma(Pa.postMessage)&&!Pa.importScripts&&Kn&&"file:"!==Kn.protocol&&!_a(Ka)?(Jn=Ka,Pa.addEventListener("message",Za,!1)):Jn=$a in ka("script")?function(t){Va.appendChild(ka("script"))[$a]=function(){Va.removeChild(this),Ga(t)}}:function(t){setTimeout(Qa(t),0)});var Ja={set:Ba},ts=a,es=h,rs=Object.getOwnPropertyDescriptor,is=function(){this.head=null,this.tail=null};is.prototype={add:function(t){var e={item:t,next:null},r=this.tail;r?r.next=e:this.head=e,this.tail=e},get:function(){var t=this.head;if(t)return null===(this.head=t.next)&&(this.tail=null),t.item}};var ns,as,ss,os,hs,us=is,ls=/ipad|iphone|ipod/i.test(Z)&&"undefined"!=typeof Pebble,cs=/web0s(?!.*chrome)/i.test(Z),fs=a,gs=function(t){if(!es)return ts[t];var e=rs(ts,t);return e&&e.value},ps=Sa,ds=Ja.set,ys=us,vs=Ca,ms=ls,xs=cs,bs=on,ws=fs.MutationObserver||fs.WebKitMutationObserver,Ss=fs.document,Ts=fs.process,Os=fs.Promise,As=gs("queueMicrotask");if(!As){var Cs=new ys,Ps=function(){var t,e;for(bs&&(t=Ts.domain)&&t.exit();e=Cs.get();)try{e()}catch(r){throw Cs.head&&ns(),r}t&&t.enter()};vs||bs||xs||!ws||!Ss?!ms&&Os&&Os.resolve?((os=Os.resolve(void 0)).constructor=Os,hs=ps(os.then,os),ns=function(){hs(Ps)}):bs?ns=function(){Ts.nextTick(Ps)}:(ds=ps(ds,fs),ns=function(){ds(Ps)}):(as=!0,ss=Ss.createTextNode(""),new ws(Ps).observe(ss,{characterData:!0}),ns=function(){ss.data=as=!as}),As=function(t){Cs.head||ns(),Cs.add(t)}}var Es=As,Ns=function(t){try{return{error:!1,value:t()}}catch(e){return{error:!0,value:e}}},Ms=a.Promise,Rs=a,_s=Ms,Vs=F,Is=Wi,ks=ur,Ls=ne,Ds=sn,js=nt;_s&&_s.prototype;var Bs=Ls("species"),zs=!1,Us=Vs(Rs.PromiseRejectionEvent),Fs={CONSTRUCTOR:Is("Promise",function(){var t=ks(_s),e=t!==String(_s);if(!e&&66===js)return!0;if(!js||js<51||!/native code/.test(t)){var r=new _s(function(t){t(1)}),i=function(t){t(function(){},function(){})};if((r.constructor={})[Bs]=i,!(zs=r.then(function(){})instanceof i))return!0}return!(e||"BROWSER"!==Ds&&"DENO"!==Ds||Us)}),REJECTION_EVENT:Us,SUBCLASSING:zs},Hs={},Xs=bt,Ys=TypeError,Ws=function(t){var e,r;this.promise=new t(function(t,i){if(void 0!==e||void 0!==r)throw new Ys("Bad Promise constructor");e=t,r=i}),this.resolve=Xs(e),this.reject=Xs(r)};Hs.f=function(t){return new Ws(t)};var qs,$s,Gs,Qs,Zs=tn,Ks=on,Js=a,to=hn,eo=f,ro=ti,io=xn,no=Tn,ao=function(t){var e=Cn(t);En&&e&&!e[Nn]&&Pn(e,Nn,{configurable:!0,get:function(){return this}})},so=bt,oo=F,ho=X,uo=function(t,e){if(Mn(e,t))return t;throw new Rn("Incorrect invocation")},lo=la,co=Ja.set,fo=Es,go=function(t,e){try{1===arguments.length?console.error(t):console.error(t,e)}catch(r){}},po=Ns,yo=us,vo=Mr,mo=Ms,xo=Hs,bo="Promise",wo=Fs.CONSTRUCTOR,So=Fs.REJECTION_EVENT,To=Fs.SUBCLASSING,Oo=vo.getterFor(bo),Ao=vo.set,Co=mo&&mo.prototype,Po=mo,Eo=Co,No=Js.TypeError,Mo=Js.document,Ro=Js.process,_o=xo.f,Vo=_o,Io=!!(Mo&&Mo.createEvent&&Js.dispatchEvent),ko="unhandledrejection",Lo=function(t){var e;return!(!ho(t)||!oo(e=t.then))&&e},Do=function(t,e){var r,i,n,a=e.value,s=1===e.state,o=s?t.ok:t.fail,h=t.resolve,u=t.reject,l=t.domain;try{o?(s||(2===e.rejection&&Fo(e),e.rejection=1),!0===o?r=a:(l&&l.enter(),r=o(a),l&&(l.exit(),n=!0)),r===t.promise?u(new No("Promise-chain cycle")):(i=Lo(r))?eo(i,r,h,u):h(r)):u(a)}catch(c){l&&!n&&l.exit(),u(c)}},jo=function(t,e){t.notified||(t.notified=!0,fo(function(){for(var r,i=t.reactions;r=i.get();)Do(r,t);t.notified=!1,e&&!t.rejection&&zo(t)}))},Bo=function(t,e,r){var i,n;Io?((i=Mo.createEvent("Event")).promise=e,i.reason=r,i.initEvent(t,!1,!0),Js.dispatchEvent(i)):i={promise:e,reason:r},!So&&(n=Js["on"+t])?n(i):t===ko&&go("Unhandled promise rejection",r)},zo=function(t){eo(co,Js,function(){var e,r=t.facade,i=t.value;if(Uo(t)&&(e=po(function(){Ks?Ro.emit("unhandledRejection",i,r):Bo(ko,r,i)}),t.rejection=Ks||Uo(t)?2:1,e.error))throw e.value})},Uo=function(t){return 1!==t.rejection&&!t.parent},Fo=function(t){eo(co,Js,function(){var e=t.facade;Ks?Ro.emit("rejectionHandled",e):Bo("rejectionhandled",e,t.value)})},Ho=function(t,e,r){return function(i){t(e,i,r)}},Xo=function(t,e,r){t.done||(t.done=!0,r&&(t=r),t.value=e,t.state=2,jo(t,!0))},Yo=function(t,e,r){if(!t.done){t.done=!0,r&&(t=r);try{if(t.facade===e)throw new No("Promise can't be resolved itself");var i=Lo(e);i?fo(function(){var r={done:!1};try{eo(i,e,Ho(Yo,r,t),Ho(Xo,r,t))}catch(n){Xo(r,n,t)}}):(t.value=e,t.state=1,jo(t,!1))}catch(n){Xo({done:!1},n,t)}}};if(wo&&(Eo=(Po=function(t){uo(this,Eo),so(t),eo(qs,this);var e=Oo(this);try{t(Ho(Yo,e),Ho(Xo,e))}catch(r){Xo(e,r)}}).prototype,(qs=function(t){Ao(this,{type:bo,done:!1,notified:!1,parent:!1,reactions:new yo,rejection:!1,state:0,value:null})}).prototype=ro(Eo,"then",function(t,e){var r=Oo(this),i=_o(lo(this,Po));return r.parent=!0,i.ok=!oo(t)||t,i.fail=oo(e)&&e,i.domain=Ks?Ro.domain:void 0,0===r.state?r.reactions.add(i):fo(function(){Do(i,r)}),i.promise}),$s=function(){var t=new qs,e=Oo(t);this.promise=t,this.resolve=Ho(Yo,e),this.reject=Ho(Xo,e)},xo.f=_o=function(t){return t===Po||t===Gs?new $s(t):Vo(t)},oo(mo)&&Co!==Object.prototype)){Qs=Co.then,To||ro(Co,"then",function(t,e){var r=this;return new Po(function(t,e){eo(Qs,r,t,e)}).then(t,e)},{unsafe:!0});try{delete Co.constructor}catch(Jv){}io&&io(Co,Eo)}Zs({global:!0,constructor:!0,wrap:!0,forced:wo},{Promise:Po}),Gs=to.Promise,no(Po,bo,!1),ao(bo);var Wo={},qo=Wo,$o=ne("iterator"),Go=Array.prototype,Qo=Bn,Zo=Tt,Ko=I,Jo=Wo,th=ne("iterator"),eh=function(t){if(!Ko(t))return Zo(t,th)||Zo(t,"@@iterator")||Jo[Qo(t)]},rh=f,ih=bt,nh=ke,ah=yt,sh=eh,oh=TypeError,hh=f,uh=ke,lh=Tt,ch=Sa,fh=f,gh=ke,ph=yt,dh=function(t){return void 0!==t&&(qo.Array===t||Go[$o]===t)},yh=gi,vh=$,mh=function(t,e){var r=arguments.length<2?sh(t):e;if(ih(r))return nh(rh(r,t));throw new oh(ah(t)+" is not iterable")},xh=eh,bh=function(t,e,r){var i,n;uh(t);try{if(!(i=lh(t,"return"))){if("throw"===e)throw r;return r}i=hh(i,t)}catch(Jv){n=!0,i=Jv}if("throw"===e)throw r;if(n)throw i;return uh(i),r},wh=TypeError,Sh=function(t,e){this.stopped=t,this.result=e},Th=Sh.prototype,Oh=function(t,e,r){var i,n,a,s,o,h,u,l=r&&r.that,c=!(!r||!r.AS_ENTRIES),f=!(!r||!r.IS_RECORD),g=!(!r||!r.IS_ITERATOR),p=!(!r||!r.INTERRUPTED),d=ch(e,l),y=function(t){return i&&bh(i,"normal"),new Sh(!0,t)},v=function(t){return c?(gh(t),p?d(t[0],t[1],y):d(t[0],t[1])):p?d(t,y):d(t)};if(f)i=t.iterator;else if(g)i=t;else{if(!(n=xh(t)))throw new wh(ph(t)+" is not iterable");if(dh(n)){for(a=0,s=yh(t);s>a;a++)if((o=v(t[a]))&&vh(Th,o))return o;return new Sh(!1)}i=mh(t,n)}for(h=f?t.next:i.next;!(u=fh(h,i)).done;){try{o=v(u.value)}catch(Jv){bh(i,"throw",Jv)}if("object"==typeof o&&o&&vh(Th,o))return o}return new Sh(!1)},Ah=ne("iterator"),Ch=!1;try{var Ph=0,Eh={next:function(){return{done:!!Ph++}},return:function(){Ch=!0}};Eh[Ah]=function(){return this},Array.from(Eh,function(){throw 2})}catch(Jv){}var Nh=Ms,Mh=Fs.CONSTRUCTOR||!function(t,e){try{if(!e&&!Ch)return!1}catch(Jv){return!1}var r=!1;try{var i={};i[Ah]=function(){return{next:function(){return{done:r=!0}}}},t(i)}catch(Jv){}return r}(function(t){Nh.all(t).then(void 0,function(){})}),Rh=f,_h=bt,Vh=Hs,Ih=Ns,kh=Oh;tn({target:"Promise",stat:!0,forced:Mh},{all:function(t){var e=this,r=Vh.f(e),i=r.resolve,n=r.reject,a=Ih(function(){var r=_h(e.resolve),a=[],s=0,o=1;kh(t,function(t){var h=s++,u=!1;o++,Rh(r,e,t).then(function(t){u||(u=!0,a[h]=t,--o||i(a))},n)}),--o||i(a)});return a.error&&n(a.value),r.promise}});var Lh=tn,Dh=Fs.CONSTRUCTOR,jh=Ms,Bh=q,zh=F,Uh=ti,Fh=jh&&jh.prototype;if(Lh({target:"Promise",proto:!0,forced:Dh,real:!0},{catch:function(t){return this.then(void 0,t)}}),zh(jh)){var Hh=Bh("Promise").prototype.catch;Fh.catch!==Hh&&Uh(Fh,"catch",Hh,{unsafe:!0})}var Xh=f,Yh=bt,Wh=Hs,qh=Ns,$h=Oh;tn({target:"Promise",stat:!0,forced:Mh},{race:function(t){var e=this,r=Wh.f(e),i=r.reject,n=qh(function(){var n=Yh(e.resolve);$h(t,function(t){Xh(n,e,t).then(r.resolve,i)})});return n.error&&i(n.value),r.promise}});var Gh=Hs;tn({target:"Promise",stat:!0,forced:Fs.CONSTRUCTOR},{reject:function(t){var e=Gh.f(this);return(0,e.reject)(t),e.promise}});var Qh=ke,Zh=X,Kh=Hs,Jh=tn,tu=Fs.CONSTRUCTOR,eu=function(t,e){if(Qh(t),Zh(e)&&e.constructor===t)return e;var r=Kh.f(t);return(0,r.resolve)(e),r.promise};function ru(t,e,r,i,n,a,s){try{var o=t[a](s),h=o.value}catch(u){return void r(u)}o.done?e(h):Promise.resolve(h).then(i,n)}function iu(t){return function(){var e=this,r=arguments;return new Promise(function(i,n){var a=t.apply(e,r);function s(t){ru(a,i,n,s,o,"next",t)}function o(t){ru(a,i,n,s,o,"throw",t)}s(void 0)})}}q("Promise"),Jh({target:"Promise",stat:!0,forced:tu},{resolve:function(t){return eu(this,t)}});var nu=Bn,au=String,su=function(t){if("Symbol"===nu(t))throw new TypeError("Cannot convert a Symbol value to a string");return au(t)},ou=ke,hu=function(){var t=ou(this),e="";return t.hasIndices&&(e+="d"),t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.unicodeSets&&(e+="v"),t.sticky&&(e+="y"),e},uu=o,lu=a.RegExp,cu=uu(function(){var t=lu("a","y");return t.lastIndex=2,null!==t.exec("abcd")});cu||uu(function(){return!lu("a","y").sticky});var fu={BROKEN_CARET:cu||uu(function(){var t=lu("^r","gy");return t.lastIndex=2,null!==t.exec("str")}),UNSUPPORTED_Y:cu},gu={},pu=Ti,du=Oi,yu=Object.keys||function(t){return pu(t,du)},vu=h,mu=Re,xu=Me,bu=ke,wu=z,Su=yu;gu.f=vu&&!mu?Object.defineProperties:function(t,e){bu(t);for(var r,i=wu(e),n=Su(e),a=n.length,s=0;a>s;)xu.f(t,r=n[s++],i[r]);return t};var Tu,Ou=ke,Au=gu,Cu=Oi,Pu=yr,Eu=Ta,Nu=me,Mu="prototype",Ru="script",_u=dr("IE_PROTO"),Vu=function(){},Iu=function(t){return"<"+Ru+">"+t+"</"+Ru+">"},ku=function(t){t.write(Iu("")),t.close();var e=t.parentWindow.Object;return t=null,e},Lu=function(){try{Tu=new ActiveXObject("htmlfile")}catch(Jv){}var t,e,r;Lu="undefined"!=typeof document?document.domain&&Tu?ku(Tu):(e=Nu("iframe"),r="java"+Ru+":",e.style.display="none",Eu.appendChild(e),e.src=String(r),(t=e.contentWindow.document).open(),t.write(Iu("document.F=Object")),t.close(),t.F):ku(Tu);for(var i=Cu.length;i--;)delete Lu[Mu][Cu[i]];return Lu()};Pu[_u]=!0;var Du,ju,Bu=Object.create||function(t,e){var r;return null!==t?(Vu[Mu]=Ou(t),r=new Vu,Vu[Mu]=null,r[_u]=t):r=Lu(),void 0===e?r:Au.f(r,e)},zu=o,Uu=a.RegExp,Fu=zu(function(){var t=Uu(".","s");return!(t.dotAll&&t.test("\n")&&"s"===t.flags)}),Hu=o,Xu=a.RegExp,Yu=Hu(function(){var t=Xu("(?<a>b)","g");return"b"!==t.exec("b").groups.a||"bc"!=="b".replace(t,"$<a>c")}),Wu=f,qu=O,$u=su,Gu=hu,Qu=fu,Zu=Bu,Ku=Mr.get,Ju=Fu,tl=Yu,el=jt("native-string-replace",String.prototype.replace),rl=RegExp.prototype.exec,il=rl,nl=qu("".charAt),al=qu("".indexOf),sl=qu("".replace),ol=qu("".slice),hl=(ju=/b*/g,Wu(rl,Du=/a/,"a"),Wu(rl,ju,"a"),0!==Du.lastIndex||0!==ju.lastIndex),ul=Qu.BROKEN_CARET,ll=void 0!==/()??/.exec("")[1];(hl||ll||ul||Ju||tl)&&(il=function(t){var e,r,i,n,a,s,o,h=this,u=Ku(h),l=$u(t),c=u.raw;if(c)return c.lastIndex=h.lastIndex,e=Wu(il,c,l),h.lastIndex=c.lastIndex,e;var f=u.groups,g=ul&&h.sticky,p=Wu(Gu,h),d=h.source,y=0,v=l;if(g&&(p=sl(p,"y",""),-1===al(p,"g")&&(p+="g"),v=ol(l,h.lastIndex),h.lastIndex>0&&(!h.multiline||h.multiline&&"\n"!==nl(l,h.lastIndex-1))&&(d="(?: "+d+")",v=" "+v,y++),r=new RegExp("^(?:"+d+")",p)),ll&&(r=new RegExp("^"+d+"$(?!\\s)",p)),hl&&(i=h.lastIndex),n=Wu(rl,g?r:h,v),g?n?(n.input=ol(n.input,y),n[0]=ol(n[0],y),n.index=h.lastIndex,h.lastIndex+=n[0].length):h.lastIndex=0:hl&&n&&(h.lastIndex=h.global?n.index+n[0].length:i),ll&&n&&n.length>1&&Wu(el,n[0],r,function(){for(a=1;a<arguments.length-2;a++)void 0===arguments[a]&&(n[a]=void 0)}),n&&f)for(n.groups=s=Zu(null),a=0;a<f.length;a++)s[(o=f[a])[0]]=n[o[1]];return n});var cl=il;tn({target:"RegExp",proto:!0,forced:/./.exec!==cl},{exec:cl});var fl,gl=f,pl=ti,dl=cl,yl=o,vl=ne,ml=Ge,xl=vl("species"),bl=RegExp.prototype,wl=function(t,e,r,i){var n=vl(t),a=!yl(function(){var e={};return e[n]=function(){return 7},7!==""[t](e)}),s=a&&!yl(function(){var e=!1,r=/a/;if("split"===t){var i={};i[xl]=function(){return r},(r={constructor:i,flags:""})[n]=/./[n]}return r.exec=function(){return e=!0,null},r[n](""),!e});if(!a||!s||r){var o=/./[n],h=e(n,""[t],function(t,e,r,i,n){var s=e.exec;return s===dl||s===bl.exec?a&&!n?{done:!0,value:gl(o,e,r,i)}:{done:!0,value:gl(t,r,e,i)}:{done:!1}});pl(String.prototype,t,h[0]),pl(bl,n,h[1])}i&&ml(bl[n],"sham",!0)},Sl=O,Tl=ai,Ol=su,Al=D,Cl=Sl("".charAt),Pl=Sl("".charCodeAt),El=Sl("".slice),Nl={charAt:(fl=!0,function(t,e){var r,i,n=Ol(Al(t)),a=Tl(e),s=n.length;return a<0||a>=s?fl?"":void 0:(r=Pl(n,a))<55296||r>56319||a+1===s||(i=Pl(n,a+1))<56320||i>57343?fl?Cl(n,a):r:fl?El(n,a,a+2):i-56320+(r-55296<<10)+65536})}.charAt,Ml=function(t,e,r){return e+(r?Nl(t,e).length:1)},Rl=o,_l=a.RegExp,Vl=!Rl(function(){var t=!0;try{_l(".","d")}catch(Jv){t=!1}var e={},r="",i=t?"dgimsy":"gimsy",n=function(t,i){Object.defineProperty(e,t,{get:function(){return r+=i,!0}})},a={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};for(var s in t&&(a.hasIndices="d"),a)n(s,a[s]);return Object.getOwnPropertyDescriptor(_l.prototype,"flags").get.call(e)!==i||r!==i}),Il=f,kl=Xt,Ll=$,Dl={correct:Vl},jl=hu,Bl=RegExp.prototype,zl=Dl.correct?function(t){return t.flags}:function(t){return Dl.correct||!Ll(Bl,t)||kl(t,"flags")?t.flags:Il(jl,t)},Ul=f,Fl=ke,Hl=F,Xl=E,Yl=cl,Wl=TypeError,ql=function(t,e){var r=t.exec;if(Hl(r)){var i=Ul(r,t,e);return null!==i&&Fl(i),i}if("RegExp"===Xl(t))return Ul(Yl,t,e);throw new Wl("RegExp#exec called on incompatible receiver")},$l=f,Gl=wl,Ql=ke,Zl=X,Kl=ci,Jl=su,tc=D,ec=Tt,rc=Ml,ic=zl,nc=ql,ac=O("".indexOf);Gl("match",function(t,e,r){return[function(e){var r=tc(this),i=Zl(e)?ec(e,t):void 0;return i?$l(i,e,r):new RegExp(e)[t](Jl(r))},function(t){var i=Ql(this),n=Jl(t),a=r(e,i,n);if(a.done)return a.value;var s=Jl(ic(i));if(-1===ac(s,"g"))return nc(i,n);var o=-1!==ac(s,"u");i.lastIndex=0;for(var h,u=[],l=0;null!==(h=nc(i,n));){var c=Jl(h[0]);u[l]=c,""===c&&(i.lastIndex=rc(n,Kl(i.lastIndex),o)),l++}return 0===l?null:u}]});var sc=O,oc=Ut,hc=Math.floor,uc=sc("".charAt),lc=sc("".replace),cc=sc("".slice),fc=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,gc=/\$([$&'`]|\d{1,2})/g,pc=da,dc=f,yc=O,vc=wl,mc=o,xc=ke,bc=F,wc=X,Sc=ai,Tc=ci,Oc=su,Ac=D,Cc=Ml,Pc=Tt,Ec=function(t,e,r,i,n,a){var s=r+t.length,o=i.length,h=gc;return void 0!==n&&(n=oc(n),h=fc),lc(a,h,function(a,h){var u;switch(uc(h,0)){case"$":return"$";case"&":return t;case"`":return cc(e,0,r);case"'":return cc(e,s);case"<":u=n[cc(h,1,-1)];break;default:var l=+h;if(0===l)return a;if(l>o){var c=hc(l/10);return 0===c?a:c<=o?void 0===i[c-1]?uc(h,1):i[c-1]+uc(h,1):a}u=i[l-1]}return void 0===u?"":u})},Nc=zl,Mc=ql,Rc=ne("replace"),_c=Math.max,Vc=Math.min,Ic=yc([].concat),kc=yc([].push),Lc=yc("".indexOf),Dc=yc("".slice),jc=function(t){return void 0===t?t:String(t)},Bc="$0"==="a".replace(/./,"$0"),zc=!!/./[Rc]&&""===/./[Rc]("a","$0");vc("replace",function(t,e,r){var i=zc?"$":"$0";return[function(t,r){var i=Ac(this),n=wc(t)?Pc(t,Rc):void 0;return n?dc(n,t,i,r):dc(e,Oc(i),t,r)},function(t,n){var a=xc(this),s=Oc(t);if("string"==typeof n&&-1===Lc(n,i)&&-1===Lc(n,"$<")){var o=r(e,a,s,n);if(o.done)return o.value}var h=bc(n);h||(n=Oc(n));var u,l=Oc(Nc(a)),c=-1!==Lc(l,"g");c&&(u=-1!==Lc(l,"u"),a.lastIndex=0);for(var f,g=[];null!==(f=Mc(a,s))&&(kc(g,f),c);){""===Oc(f[0])&&(a.lastIndex=Cc(s,Tc(a.lastIndex),u))}for(var p="",d=0,y=0;y<g.length;y++){for(var v,m=Oc((f=g[y])[0]),x=_c(Vc(Sc(f.index),s.length),0),b=[],w=1;w<f.length;w++)kc(b,jc(f[w]));var S=f.groups;if(h){var T=Ic([m],b,x,s);void 0!==S&&kc(T,S),v=Oc(pc(n,void 0,T))}else v=Ec(m,s,x,b,S,n);x>=d&&(p+=Dc(s,d,x)+v,d=x+m.length)}return p+Dc(s,d)}]},!!mc(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})||!Bc||zc);var Uc,Fc=X,Hc=E,Xc=ne("match"),Yc=function(t){var e;return Fc(t)&&(void 0!==(e=t[Xc])?!!e:"RegExp"===Hc(t))},Wc=TypeError,qc=function(t){if(Yc(t))throw new Wc("The method doesn't accept regular expressions");return t},$c=ne("match"),Gc=function(t){var e=/./;try{"/./"[t](e)}catch(r){try{return e[$c]=!1,"/./"[t](e)}catch(i){}}return!1},Qc=tn,Zc=ma,Kc=s.f,Jc=ci,tf=su,ef=qc,rf=D,nf=Gc,af=Zc("".slice),sf=Math.min,of=nf("startsWith");Qc({target:"String",proto:!0,forced:!!(of||(Uc=Kc(String.prototype,"startsWith"),!Uc||Uc.writable))&&!of},{startsWith:function(t){var e=tf(rf(this));ef(t);var r=Jc(sf(arguments.length>1?arguments[1]:void 0,e.length)),i=tf(t);return af(e,r,r+i.length)===i}});var hf=ne,uf=Bu,lf=Me.f,cf=hf("unscopables"),ff=Array.prototype;void 0===ff[cf]&&lf(ff,cf,{configurable:!0,value:uf(null)});var gf,pf,df,yf=!o(function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}),vf=Xt,mf=F,xf=Ut,bf=yf,wf=dr("IE_PROTO"),Sf=Object,Tf=Sf.prototype,Of=bf?Sf.getPrototypeOf:function(t){var e=xf(t);if(vf(e,wf))return e[wf];var r=e.constructor;return mf(r)&&e instanceof r?r.prototype:e instanceof Sf?Tf:null},Af=o,Cf=F,Pf=X,Ef=Of,Nf=ti,Mf=ne("iterator"),Rf=!1;[].keys&&("next"in(df=[].keys())?(pf=Ef(Ef(df)))!==Object.prototype&&(gf=pf):Rf=!0),(!Pf(gf)||Af(function(){var t={};return gf[Mf].call(t)!==t}))&&(gf={}),Cf(gf[Mf])||Nf(gf,Mf,function(){return this});var _f={IteratorPrototype:gf,BUGGY_SAFARI_ITERATORS:Rf},Vf=_f.IteratorPrototype,If=Bu,kf=x,Lf=Tn,Df=Wo,jf=function(){return this},Bf=tn,zf=f,Uf=F,Ff=function(t,e,r,i){var n=e+" Iterator";return t.prototype=If(Vf,{next:kf(+!i,r)}),Lf(t,n,!1),Df[n]=jf,t},Hf=Of,Xf=xn,Yf=Tn,Wf=Ge,qf=ti,$f=Wo,Gf=rr.PROPER,Qf=rr.CONFIGURABLE,Zf=_f.IteratorPrototype,Kf=_f.BUGGY_SAFARI_ITERATORS,Jf=ne("iterator"),tg="keys",eg="values",rg="entries",ig=function(){return this},ng=z,ag=function(t){ff[cf][t]=!0},sg=Wo,og=Mr,hg=Me.f,ug=function(t,e,r,i,n,a,s){Ff(r,e,i);var o,h,u,l=function(t){if(t===n&&d)return d;if(!Kf&&t&&t in g)return g[t];switch(t){case tg:case eg:case rg:return function(){return new r(this,t)}}return function(){return new r(this)}},c=e+" Iterator",f=!1,g=t.prototype,p=g[Jf]||g["@@iterator"]||n&&g[n],d=!Kf&&p||l(n),y="Array"===e&&g.entries||p;if(y&&(o=Hf(y.call(new t)))!==Object.prototype&&o.next&&(Hf(o)!==Zf&&(Xf?Xf(o,Zf):Uf(o[Jf])||qf(o,Jf,ig)),Yf(o,c,!0)),Gf&&n===eg&&p&&p.name!==eg&&(Qf?Wf(g,"name",eg):(f=!0,d=function(){return zf(p,this)})),n)if(h={values:l(eg),keys:a?d:l(tg),entries:l(rg)},s)for(u in h)(Kf||f||!(u in g))&&qf(g,u,h[u]);else Bf({target:e,proto:!0,forced:Kf||f},h);return g[Jf]!==d&&qf(g,Jf,d,{name:n}),$f[e]=d,h},lg=function(t,e){return{value:t,done:e}},cg=h,fg="Array Iterator",gg=og.set,pg=og.getterFor(fg),dg=ug(Array,"Array",function(t,e){gg(this,{type:fg,target:ng(t),index:0,kind:e})},function(){var t=pg(this),e=t.target,r=t.index++;if(!e||r>=e.length)return t.target=null,lg(void 0,!0);switch(t.kind){case"keys":return lg(r,!1);case"values":return lg(e[r],!1)}return lg([r,e[r]],!1)},"values"),yg=sg.Arguments=sg.Array;if(ag("keys"),ag("values"),ag("entries"),cg&&"values"!==yg.name)try{hg(yg,"name",{value:"values"})}catch(Jv){}var vg=me("span").classList,mg=vg&&vg.constructor&&vg.constructor.prototype,xg=mg===Object.prototype?void 0:mg,bg=a,wg={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},Sg=xg,Tg=dg,Og=Ge,Ag=Tn,Cg=ne("iterator"),Pg=Tg.values,Eg=function(t,e){if(t){if(t[Cg]!==Pg)try{Og(t,Cg,Pg)}catch(Jv){t[Cg]=Pg}if(Ag(t,e,!0),wg[e])for(var r in Tg)if(t[r]!==Tg[r])try{Og(t,r,Tg[r])}catch(Jv){t[r]=Tg[r]}}};for(var Ng in wg)Eg(bg[Ng]&&bg[Ng].prototype,Ng);function Mg(t){var r=function(t,r){if("object"!=e(t)||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,r);if("object"!=e(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==e(r)?r:r+""}function Rg(t,e,r){return(e=Mg(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}Eg(Sg,"DOMTokenList");var _g,Vg=bt,Ig=Ut,kg=V,Lg=gi,Dg=TypeError,jg="Reduce of empty array with no initial value",Bg={left:(_g=!1,function(t,e,r,i){var n=Ig(t),a=kg(n),s=Lg(n);if(Vg(e),0===s&&r<2)throw new Dg(jg);var o=_g?s-1:0,h=_g?-1:1;if(r<2)for(;;){if(o in a){i=a[o],o+=h;break}if(o+=h,_g?o<0:s<=o)throw new Dg(jg)}for(;_g?o>=0:s>o;o+=h)o in a&&(i=e(i,a[o],o,n));return i})},zg=o,Ug=function(t,e){var r=[][t];return!!r&&zg(function(){r.call(null,e||function(){return 1},1)})},Fg=Bg.left;tn({target:"Array",proto:!0,forced:!on&&nt>79&&nt<83||!Ug("reduce")},{reduce:function(t){var e=arguments.length;return Fg(this,t,e,e>1?arguments[1]:void 0)}});var Hg=tn,Xg=ma,Yg=s.f,Wg=ci,qg=su,$g=qc,Gg=D,Qg=Gc,Zg=Xg("".slice),Kg=Math.min,Jg=Qg("endsWith"),tp=!Jg&&!!function(){var t=Yg(String.prototype,"endsWith");return t&&!t.writable}();Hg({target:"String",proto:!0,forced:!tp&&!Jg},{endsWith:function(t){var e=qg(Gg(this));$g(t);var r=arguments.length>1?arguments[1]:void 0,i=e.length,n=void 0===r?i:Kg(Wg(r),i),a=qg(t);return Zg(e,n-a.length,n)===a}});var ep=f,rp=O,ip=wl,np=ke,ap=X,sp=D,op=la,hp=Ml,up=ci,lp=su,cp=Tt,fp=ql,gp=o,pp=fu.UNSUPPORTED_Y,dp=Math.min,yp=rp([].push),vp=rp("".slice),mp=!gp(function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r="ab".split(t);return 2!==r.length||"a"!==r[0]||"b"!==r[1]}),xp="c"==="abbc".split(/(b)*/)[1]||4!=="test".split(/(?:)/,-1).length||2!=="ab".split(/(?:ab)*/).length||4!==".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length;ip("split",function(t,e,r){var i="0".split(void 0,0).length?function(t,r){return void 0===t&&0===r?[]:ep(e,this,t,r)}:e;return[function(e,r){var n=sp(this),a=ap(e)?cp(e,t):void 0;return a?ep(a,e,n,r):ep(i,lp(n),e,r)},function(t,n){var a=np(this),s=lp(t);if(!xp){var o=r(i,a,s,n,i!==e);if(o.done)return o.value}var h=op(a,RegExp),u=a.unicode,l=(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.unicode?"u":"")+(pp?"g":"y"),c=new h(pp?"^(?:"+a.source+")":a,l),f=void 0===n?4294967295:n>>>0;if(0===f)return[];if(0===s.length)return null===fp(c,s)?[s]:[];for(var g=0,p=0,d=[];p<s.length;){c.lastIndex=pp?0:p;var y,v=fp(c,pp?vp(s,p):s);if(null===v||(y=dp(up(c.lastIndex+(pp?p:0)),s.length))===g)p=hp(s,p,u);else{if(yp(d,vp(s,g,p)),d.length===f)return d;for(var m=1;m<=v.length-1;m++)if(yp(d,v[m]),d.length===f)return d;p=g=y}}return yp(d,vp(s,g)),d}]},xp||!mp,pp);var bp={exports:{}},wp={exports:{}};(function(){var t,e,i,n,a,s;"undefined"!=typeof performance&&null!==performance&&performance.now?wp.exports=function(){return performance.now()}:null!=r&&r.hrtime?(wp.exports=function(){return(t()-a)/1e6},e=r.hrtime,n=(t=function(){var t;return 1e9*(t=e())[0]+t[1]})(),s=1e9*r.uptime(),a=n-s):Date.now?(wp.exports=function(){return Date.now()-i},i=Date.now()):(wp.exports=function(){return(new Date).getTime()-i},i=(new Date).getTime())}).call(t);for(var Sp=wp.exports,Tp="undefined"==typeof window?t:window,Op=["moz","webkit"],Ap="AnimationFrame",Cp=Tp["request"+Ap],Pp=Tp["cancel"+Ap]||Tp["cancelRequest"+Ap],Ep=0;!Cp&&Ep<Op.length;Ep++)Cp=Tp[Op[Ep]+"Request"+Ap],Pp=Tp[Op[Ep]+"Cancel"+Ap]||Tp[Op[Ep]+"CancelRequest"+Ap];if(!Cp||!Pp){var Np=0,Mp=0,Rp=[],_p=1e3/60;Cp=function(t){if(0===Rp.length){var e=Sp(),r=Math.max(0,_p-(e-Np));Np=r+e,setTimeout(function(){var t=Rp.slice(0);Rp.length=0;for(var e=0;e<t.length;e++)if(!t[e].cancelled)try{t[e].callback(Np)}catch(r){setTimeout(function(){throw r},0)}},Math.round(r))}return Rp.push({handle:++Mp,callback:t,cancelled:!1}),Mp},Pp=function(t){for(var e=0;e<Rp.length;e++)Rp[e].handle===t&&(Rp[e].cancelled=!0)}}bp.exports=function(t){return Cp.call(Tp,t)},bp.exports.cancel=function(){Pp.apply(Tp,arguments)},bp.exports.polyfill=function(t){t||(t=Tp),t.requestAnimationFrame=Cp,t.cancelAnimationFrame=Pp};const Vp=i(bp.exports);var Ip,kp="\t\n\v\f\r \u2028\u2029\ufeff",Lp=D,Dp=su,jp=kp,Bp=O("".replace),zp=RegExp("^["+jp+"]+"),Up=RegExp("(^|[^"+jp+"])["+jp+"]+$"),Fp={trim:(Ip=3,function(t){var e=Dp(Lp(t));return 1&Ip&&(e=Bp(e,zp,"")),2&Ip&&(e=Bp(e,Up,"$1")),e})},Hp=rr.PROPER,Xp=o,Yp=kp,Wp=Fp.trim;tn({target:"String",proto:!0,forced:function(t){return Xp(function(){return!!Yp[t]()||"
"!=="
"[t]()||Hp&&Yp[t].name!==t})}("trim")},{trim:function(){return Wp(this)}});const qp=i(function(t){this.ok=!1,this.alpha=1,"#"==t.charAt(0)&&(t=t.substr(1,6)),t=(t=t.replace(/ /g,"")).toLowerCase();var e={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dodgerblue:"1e90ff",feldspar:"d19275",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslateblue:"8470ff",lightslategray:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",violetred:"d02090",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"};t=e[t]||t;for(var r=[{re:/^rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*((?:\d?\.)?\d)\)$/,example:["rgba(123, 234, 45, 0.8)","rgba(255,234,245,1.0)"],process:function(t){return[parseInt(t[1]),parseInt(t[2]),parseInt(t[3]),parseFloat(t[4])]}},{re:/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,example:["rgb(123, 234, 45)","rgb(255,234,245)"],process:function(t){return[parseInt(t[1]),parseInt(t[2]),parseInt(t[3])]}},{re:/^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,example:["#00ff00","336699"],process:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/^([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,example:["#fb0","f0f"],process:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}}],i=0;i<r.length;i++){var n=r[i].re,a=r[i].process,s=n.exec(t);if(s){var o=a(s);this.r=o[0],this.g=o[1],this.b=o[2],o.length>3&&(this.alpha=o[3]),this.ok=!0}}this.r=this.r<0||isNaN(this.r)?0:this.r>255?255:this.r,this.g=this.g<0||isNaN(this.g)?0:this.g>255?255:this.g,this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b,this.alpha=this.alpha<0?0:this.alpha>1||isNaN(this.alpha)?1:this.alpha,this.toRGB=function(){return"rgb("+this.r+", "+this.g+", "+this.b+")"},this.toRGBA=function(){return"rgba("+this.r+", "+this.g+", "+this.b+", "+this.alpha+")"},this.toHex=function(){var t=this.r.toString(16),e=this.g.toString(16),r=this.b.toString(16);return 1==t.length&&(t="0"+t),1==e.length&&(e="0"+e),1==r.length&&(r="0"+r),"#"+t+e+r},this.getHelpXML=function(){for(var t=new Array,i=0;i<r.length;i++)for(var n=r[i].example,a=0;a<n.length;a++)t[t.length]=n[a];for(var s in e)t[t.length]=s;var o=document.createElement("ul");o.setAttribute("id","rgbcolor-examples");for(i=0;i<t.length;i++)try{var h=document.createElement("li"),u=new RGBColor(t[i]),l=document.createElement("div");l.style.cssText="margin: 3px; border: 1px solid black; background:"+u.toHex()+"; color:"+u.toHex(),l.appendChild(document.createTextNode("test"));var c=document.createTextNode(" "+t[i]+" -> "+u.toRGB()+" -> "+u.toHex());h.appendChild(l),h.appendChild(c),o.appendChild(h)}catch(f){}return o}});var $p=tn,Gp=vi.indexOf,Qp=Ug,Zp=ma([].indexOf),Kp=!!Zp&&1/Zp([1],1,-0)<0;$p({target:"Array",proto:!0,forced:Kp||!Qp("indexOf")},{indexOf:function(t){var e=arguments.length>1?arguments[1]:void 0;return Kp?Zp(this,t,e)||0:Gp(this,t,e)}});var Jp=tn,td=qc,ed=D,rd=su,id=Gc,nd=O("".indexOf);Jp({target:"String",proto:!0,forced:!id("includes")},{includes:function(t){return!!~nd(rd(ed(this)),rd(td(t)),arguments.length>1?arguments[1]:void 0)}});var ad=E,sd=tn,od=Array.isArray||function(t){return"Array"===ad(t)},hd=O([].reverse),ud=[1,2];sd({target:"Array",proto:!0,forced:String(ud)===String(ud.reverse())},{reverse:function(){return od(this)&&(this.length=this.length),hd(this)}});
|
|
1
|
+
import{bz as t,bA as e,bB as r,bx as i}from"./index-D7dmwadC.js";var n=function(t){return t&&t.Math===Math&&t},a=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof t&&t)||n("object"==typeof t&&t)||function(){return this}()||Function("return this")(),s={},o=function(t){try{return!!t()}catch(e){return!0}},h=!o(function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]}),u=!o(function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")}),l=u,c=Function.prototype.call,f=l?c.bind(c):function(){return c.apply(c,arguments)},g={},p={}.propertyIsEnumerable,d=Object.getOwnPropertyDescriptor,y=d&&!p.call({1:2},1);g.f=y?function(t){var e=d(this,t);return!!e&&e.enumerable}:p;var v,m,x=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},b=u,w=Function.prototype,S=w.call,T=b&&w.bind.bind(S,S),O=b?T:function(t){return function(){return S.apply(t,arguments)}},A=O,C=A({}.toString),P=A("".slice),E=function(t){return P(C(t),8,-1)},N=o,M=E,R=Object,_=O("".split),V=N(function(){return!R("z").propertyIsEnumerable(0)})?function(t){return"String"===M(t)?_(t,""):R(t)}:R,I=function(t){return null==t},k=I,L=TypeError,D=function(t){if(k(t))throw new L("Can't call method on "+t);return t},j=V,B=D,z=function(t){return j(B(t))},U="object"==typeof document&&document.all,F=void 0===U&&void 0!==U?function(t){return"function"==typeof t||t===U}:function(t){return"function"==typeof t},H=F,X=function(t){return"object"==typeof t?null!==t:H(t)},Y=a,W=F,q=function(t,e){return arguments.length<2?(r=Y[t],W(r)?r:void 0):Y[t]&&Y[t][e];var r},$=O({}.isPrototypeOf),G=a.navigator,Q=G&&G.userAgent,Z=Q?String(Q):"",K=a,J=Z,tt=K.process,et=K.Deno,rt=tt&&tt.versions||et&&et.version,it=rt&&rt.v8;it&&(m=(v=it.split("."))[0]>0&&v[0]<4?1:+(v[0]+v[1])),!m&&J&&(!(v=J.match(/Edge\/(\d+)/))||v[1]>=74)&&(v=J.match(/Chrome\/(\d+)/))&&(m=+v[1]);var nt=m,at=nt,st=o,ot=a.String,ht=!!Object.getOwnPropertySymbols&&!st(function(){var t=Symbol("symbol detection");return!ot(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&at&&at<41}),ut=ht&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,lt=q,ct=F,ft=$,gt=Object,pt=ut?function(t){return"symbol"==typeof t}:function(t){var e=lt("Symbol");return ct(e)&&ft(e.prototype,gt(t))},dt=String,yt=function(t){try{return dt(t)}catch(e){return"Object"}},vt=F,mt=yt,xt=TypeError,bt=function(t){if(vt(t))return t;throw new xt(mt(t)+" is not a function")},wt=bt,St=I,Tt=function(t,e){var r=t[e];return St(r)?void 0:wt(r)},Ot=f,At=F,Ct=X,Pt=TypeError,Et={exports:{}},Nt=a,Mt=Object.defineProperty,Rt=function(t,e){try{Mt(Nt,t,{value:e,configurable:!0,writable:!0})}catch(r){Nt[t]=e}return e},_t=a,Vt=Rt,It="__core-js_shared__",kt=Et.exports=_t[It]||Vt(It,{});(kt.versions||(kt.versions=[])).push({version:"3.48.0",mode:"global",copyright:"© 2013–2025 Denis Pushkarev (zloirock.ru), 2025–2026 CoreJS Company (core-js.io). All rights reserved.",license:"https://github.com/zloirock/core-js/blob/v3.48.0/LICENSE",source:"https://github.com/zloirock/core-js"});var Lt=Et.exports,Dt=Lt,jt=function(t,e){return Dt[t]||(Dt[t]=e||{})},Bt=D,zt=Object,Ut=function(t){return zt(Bt(t))},Ft=Ut,Ht=O({}.hasOwnProperty),Xt=Object.hasOwn||function(t,e){return Ht(Ft(t),e)},Yt=O,Wt=0,qt=Math.random(),$t=Yt(1.1.toString),Gt=function(t){return"Symbol("+(void 0===t?"":t)+")_"+$t(++Wt+qt,36)},Qt=jt,Zt=Xt,Kt=Gt,Jt=ht,te=ut,ee=a.Symbol,re=Qt("wks"),ie=te?ee.for||ee:ee&&ee.withoutSetter||Kt,ne=function(t){return Zt(re,t)||(re[t]=Jt&&Zt(ee,t)?ee[t]:ie("Symbol."+t)),re[t]},ae=f,se=X,oe=pt,he=Tt,ue=function(t,e){var r,i;if("string"===e&&At(r=t.toString)&&!Ct(i=Ot(r,t)))return i;if(At(r=t.valueOf)&&!Ct(i=Ot(r,t)))return i;if("string"!==e&&At(r=t.toString)&&!Ct(i=Ot(r,t)))return i;throw new Pt("Can't convert object to primitive value")},le=TypeError,ce=ne("toPrimitive"),fe=function(t,e){if(!se(t)||oe(t))return t;var r,i=he(t,ce);if(i){if(void 0===e&&(e="default"),r=ae(i,t,e),!se(r)||oe(r))return r;throw new le("Can't convert object to primitive value")}return void 0===e&&(e="number"),ue(t,e)},ge=pt,pe=function(t){var e=fe(t,"string");return ge(e)?e:e+""},de=X,ye=a.document,ve=de(ye)&&de(ye.createElement),me=function(t){return ve?ye.createElement(t):{}},xe=me,be=!h&&!o(function(){return 7!==Object.defineProperty(xe("div"),"a",{get:function(){return 7}}).a}),we=h,Se=f,Te=g,Oe=x,Ae=z,Ce=pe,Pe=Xt,Ee=be,Ne=Object.getOwnPropertyDescriptor;s.f=we?Ne:function(t,e){if(t=Ae(t),e=Ce(e),Ee)try{return Ne(t,e)}catch(r){}if(Pe(t,e))return Oe(!Se(Te.f,t,e),t[e])};var Me={},Re=h&&o(function(){return 42!==Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype}),_e=X,Ve=String,Ie=TypeError,ke=function(t){if(_e(t))return t;throw new Ie(Ve(t)+" is not an object")},Le=h,De=be,je=Re,Be=ke,ze=pe,Ue=TypeError,Fe=Object.defineProperty,He=Object.getOwnPropertyDescriptor,Xe="enumerable",Ye="configurable",We="writable";Me.f=Le?je?function(t,e,r){if(Be(t),e=ze(e),Be(r),"function"==typeof t&&"prototype"===e&&"value"in r&&We in r&&!r[We]){var i=He(t,e);i&&i[We]&&(t[e]=r.value,r={configurable:Ye in r?r[Ye]:i[Ye],enumerable:Xe in r?r[Xe]:i[Xe],writable:!1})}return Fe(t,e,r)}:Fe:function(t,e,r){if(Be(t),e=ze(e),Be(r),De)try{return Fe(t,e,r)}catch(i){}if("get"in r||"set"in r)throw new Ue("Accessors not supported");return"value"in r&&(t[e]=r.value),t};var qe=Me,$e=x,Ge=h?function(t,e,r){return qe.f(t,e,$e(1,r))}:function(t,e,r){return t[e]=r,t},Qe={exports:{}},Ze=h,Ke=Xt,Je=Function.prototype,tr=Ze&&Object.getOwnPropertyDescriptor,er=Ke(Je,"name"),rr={PROPER:er&&"something"===function(){}.name,CONFIGURABLE:er&&(!Ze||Ze&&tr(Je,"name").configurable)},ir=F,nr=Lt,ar=O(Function.toString);ir(nr.inspectSource)||(nr.inspectSource=function(t){return ar(t)});var sr,or,hr,ur=nr.inspectSource,lr=F,cr=a.WeakMap,fr=lr(cr)&&/native code/.test(String(cr)),gr=Gt,pr=jt("keys"),dr=function(t){return pr[t]||(pr[t]=gr(t))},yr={},vr=fr,mr=a,xr=X,br=Ge,wr=Xt,Sr=Lt,Tr=dr,Or=yr,Ar="Object already initialized",Cr=mr.TypeError,Pr=mr.WeakMap;if(vr||Sr.state){var Er=Sr.state||(Sr.state=new Pr);Er.get=Er.get,Er.has=Er.has,Er.set=Er.set,sr=function(t,e){if(Er.has(t))throw new Cr(Ar);return e.facade=t,Er.set(t,e),e},or=function(t){return Er.get(t)||{}},hr=function(t){return Er.has(t)}}else{var Nr=Tr("state");Or[Nr]=!0,sr=function(t,e){if(wr(t,Nr))throw new Cr(Ar);return e.facade=t,br(t,Nr,e),e},or=function(t){return wr(t,Nr)?t[Nr]:{}},hr=function(t){return wr(t,Nr)}}var Mr={set:sr,get:or,has:hr,enforce:function(t){return hr(t)?or(t):sr(t,{})},getterFor:function(t){return function(e){var r;if(!xr(e)||(r=or(e)).type!==t)throw new Cr("Incompatible receiver, "+t+" required");return r}}},Rr=O,_r=o,Vr=F,Ir=Xt,kr=h,Lr=rr.CONFIGURABLE,Dr=ur,jr=Mr.enforce,Br=Mr.get,zr=String,Ur=Object.defineProperty,Fr=Rr("".slice),Hr=Rr("".replace),Xr=Rr([].join),Yr=kr&&!_r(function(){return 8!==Ur(function(){},"length",{value:8}).length}),Wr=String(String).split("String"),qr=Qe.exports=function(t,e,r){"Symbol("===Fr(zr(e),0,7)&&(e="["+Hr(zr(e),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),r&&r.getter&&(e="get "+e),r&&r.setter&&(e="set "+e),(!Ir(t,"name")||Lr&&t.name!==e)&&(kr?Ur(t,"name",{value:e,configurable:!0}):t.name=e),Yr&&r&&Ir(r,"arity")&&t.length!==r.arity&&Ur(t,"length",{value:r.arity});try{r&&Ir(r,"constructor")&&r.constructor?kr&&Ur(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(n){}var i=jr(t);return Ir(i,"source")||(i.source=Xr(Wr,"string"==typeof e?e:"")),t};Function.prototype.toString=qr(function(){return Vr(this)&&Br(this).source||Dr(this)},"toString");var $r,Gr=Qe.exports,Qr=F,Zr=Me,Kr=Gr,Jr=Rt,ti=function(t,e,r,i){i||(i={});var n=i.enumerable,a=void 0!==i.name?i.name:e;if(Qr(r)&&Kr(r,a,i),i.global)n?t[e]=r:Jr(e,r);else{try{i.unsafe?t[e]&&(n=!0):delete t[e]}catch(s){}n?t[e]=r:Zr.f(t,e,{value:r,enumerable:!1,configurable:!i.nonConfigurable,writable:!i.nonWritable})}return t},ei={},ri=Math.ceil,ii=Math.floor,ni=Math.trunc||function(t){var e=+t;return(e>0?ii:ri)(e)},ai=function(t){var e=+t;return e!=e||0===e?0:ni(e)},si=ai,oi=Math.max,hi=Math.min,ui=ai,li=Math.min,ci=function(t){var e=ui(t);return e>0?li(e,9007199254740991):0},fi=ci,gi=function(t){return fi(t.length)},pi=z,di=function(t,e){var r=si(t);return r<0?oi(r+e,0):hi(r,e)},yi=gi,vi={indexOf:($r=!1,function(t,e,r){var i=pi(t),n=yi(i);if(0===n)return!$r&&-1;var a,s=di(r,n);if($r&&e!=e){for(;n>s;)if((a=i[s++])!=a)return!0}else for(;n>s;s++)if(($r||s in i)&&i[s]===e)return $r||s||0;return!$r&&-1})},mi=Xt,xi=z,bi=vi.indexOf,wi=yr,Si=O([].push),Ti=function(t,e){var r,i=xi(t),n=0,a=[];for(r in i)!mi(wi,r)&&mi(i,r)&&Si(a,r);for(;e.length>n;)mi(i,r=e[n++])&&(~bi(a,r)||Si(a,r));return a},Oi=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Ai=Ti,Ci=Oi.concat("length","prototype");ei.f=Object.getOwnPropertyNames||function(t){return Ai(t,Ci)};var Pi={};Pi.f=Object.getOwnPropertySymbols;var Ei=q,Ni=ei,Mi=Pi,Ri=ke,_i=O([].concat),Vi=Ei("Reflect","ownKeys")||function(t){var e=Ni.f(Ri(t)),r=Mi.f;return r?_i(e,r(t)):e},Ii=Xt,ki=Vi,Li=s,Di=Me,ji=o,Bi=F,zi=/#|\.prototype\./,Ui=function(t,e){var r=Hi[Fi(t)];return r===Yi||r!==Xi&&(Bi(e)?ji(e):!!e)},Fi=Ui.normalize=function(t){return String(t).replace(zi,".").toLowerCase()},Hi=Ui.data={},Xi=Ui.NATIVE="N",Yi=Ui.POLYFILL="P",Wi=Ui,qi=a,$i=s.f,Gi=Ge,Qi=ti,Zi=Rt,Ki=function(t,e,r){for(var i=ki(e),n=Di.f,a=Li.f,s=0;s<i.length;s++){var o=i[s];Ii(t,o)||r&&Ii(r,o)||n(t,o,a(e,o))}},Ji=Wi,tn=function(t,e){var r,i,n,a,s,o=t.target,h=t.global,u=t.stat;if(r=h?qi:u?qi[o]||Zi(o,{}):qi[o]&&qi[o].prototype)for(i in e){if(a=e[i],n=t.dontCallGetSet?(s=$i(r,i))&&s.value:r[i],!Ji(h?i:o+(u?".":"#")+i,t.forced)&&void 0!==n){if(typeof a==typeof n)continue;Ki(a,n)}(t.sham||n&&n.sham)&&Gi(a,"sham",!0),Qi(r,i,a,t)}},en=a,rn=Z,nn=E,an=function(t){return rn.slice(0,t.length)===t},sn=an("Bun/")?"BUN":an("Cloudflare-Workers")?"CLOUDFLARE":an("Deno/")?"DENO":an("Node.js/")?"NODE":en.Bun&&"string"==typeof Bun.version?"BUN":en.Deno&&"object"==typeof Deno.version?"DENO":"process"===nn(en.process)?"NODE":en.window&&en.document?"BROWSER":"REST",on="NODE"===sn,hn=a,un=O,ln=bt,cn=X,fn=function(t){return cn(t)||null===t},gn=String,pn=TypeError,dn=function(t,e,r){try{return un(ln(Object.getOwnPropertyDescriptor(t,e)[r]))}catch(i){}},yn=X,vn=D,mn=function(t){if(fn(t))return t;throw new pn("Can't set "+gn(t)+" as a prototype")},xn=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=dn(Object.prototype,"__proto__","set"))(r,[]),e=r instanceof Array}catch(i){}return function(r,i){return vn(r),mn(i),yn(r)?(e?t(r,i):r.__proto__=i,r):r}}():void 0),bn=Me.f,wn=Xt,Sn=ne("toStringTag"),Tn=function(t,e,r){t&&!r&&(t=t.prototype),t&&!wn(t,Sn)&&bn(t,Sn,{configurable:!0,value:e})},On=Gr,An=Me,Cn=q,Pn=function(t,e,r){return r.get&&On(r.get,e,{getter:!0}),r.set&&On(r.set,e,{setter:!0}),An.f(t,e,r)},En=h,Nn=ne("species"),Mn=$,Rn=TypeError,_n={};_n[ne("toStringTag")]="z";var Vn="[object z]"===String(_n),In=F,kn=E,Ln=ne("toStringTag"),Dn=Object,jn="Arguments"===kn(function(){return arguments}()),Bn=Vn?kn:function(t){var e,r,i;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(r){}}(e=Dn(t),Ln))?r:jn?kn(e):"Object"===(i=kn(e))&&In(e.callee)?"Arguments":i},zn=O,Un=o,Fn=F,Hn=Bn,Xn=ur,Yn=function(){},Wn=q("Reflect","construct"),qn=/^\s*(?:class|function)\b/,$n=zn(qn.exec),Gn=!qn.test(Yn),Qn=function(t){if(!Fn(t))return!1;try{return Wn(Yn,[],t),!0}catch(e){return!1}},Zn=function(t){if(!Fn(t))return!1;switch(Hn(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Gn||!!$n(qn,Xn(t))}catch(e){return!0}};Zn.sham=!0;var Kn,Jn,ta,ea,ra=!Wn||Un(function(){var t;return Qn(Qn.call)||!Qn(Object)||!Qn(function(){t=!0})||t})?Zn:Qn,ia=ra,na=yt,aa=TypeError,sa=ke,oa=function(t){if(ia(t))return t;throw new aa(na(t)+" is not a constructor")},ha=I,ua=ne("species"),la=function(t,e){var r,i=sa(t).constructor;return void 0===i||ha(r=sa(i)[ua])?e:oa(r)},ca=u,fa=Function.prototype,ga=fa.apply,pa=fa.call,da="object"==typeof Reflect&&Reflect.apply||(ca?pa.bind(ga):function(){return pa.apply(ga,arguments)}),ya=E,va=O,ma=function(t){if("Function"===ya(t))return va(t)},xa=bt,ba=u,wa=ma(ma.bind),Sa=function(t,e){return xa(t),void 0===e?t:ba?wa(t,e):function(){return t.apply(e,arguments)}},Ta=q("document","documentElement"),Oa=O([].slice),Aa=TypeError,Ca=/(?:ipad|iphone|ipod).*applewebkit/i.test(Z),Pa=a,Ea=da,Na=Sa,Ma=F,Ra=Xt,_a=o,Va=Ta,Ia=Oa,ka=me,La=function(t,e){if(t<e)throw new Aa("Not enough arguments");return t},Da=Ca,ja=on,Ba=Pa.setImmediate,za=Pa.clearImmediate,Ua=Pa.process,Fa=Pa.Dispatch,Ha=Pa.Function,Xa=Pa.MessageChannel,Ya=Pa.String,Wa=0,qa={},$a="onreadystatechange";_a(function(){Kn=Pa.location});var Ga=function(t){if(Ra(qa,t)){var e=qa[t];delete qa[t],e()}},Qa=function(t){return function(){Ga(t)}},Za=function(t){Ga(t.data)},Ka=function(t){Pa.postMessage(Ya(t),Kn.protocol+"//"+Kn.host)};Ba&&za||(Ba=function(t){La(arguments.length,1);var e=Ma(t)?t:Ha(t),r=Ia(arguments,1);return qa[++Wa]=function(){Ea(e,void 0,r)},Jn(Wa),Wa},za=function(t){delete qa[t]},ja?Jn=function(t){Ua.nextTick(Qa(t))}:Fa&&Fa.now?Jn=function(t){Fa.now(Qa(t))}:Xa&&!Da?(ea=(ta=new Xa).port2,ta.port1.onmessage=Za,Jn=Na(ea.postMessage,ea)):Pa.addEventListener&&Ma(Pa.postMessage)&&!Pa.importScripts&&Kn&&"file:"!==Kn.protocol&&!_a(Ka)?(Jn=Ka,Pa.addEventListener("message",Za,!1)):Jn=$a in ka("script")?function(t){Va.appendChild(ka("script"))[$a]=function(){Va.removeChild(this),Ga(t)}}:function(t){setTimeout(Qa(t),0)});var Ja={set:Ba},ts=a,es=h,rs=Object.getOwnPropertyDescriptor,is=function(){this.head=null,this.tail=null};is.prototype={add:function(t){var e={item:t,next:null},r=this.tail;r?r.next=e:this.head=e,this.tail=e},get:function(){var t=this.head;if(t)return null===(this.head=t.next)&&(this.tail=null),t.item}};var ns,as,ss,os,hs,us=is,ls=/ipad|iphone|ipod/i.test(Z)&&"undefined"!=typeof Pebble,cs=/web0s(?!.*chrome)/i.test(Z),fs=a,gs=function(t){if(!es)return ts[t];var e=rs(ts,t);return e&&e.value},ps=Sa,ds=Ja.set,ys=us,vs=Ca,ms=ls,xs=cs,bs=on,ws=fs.MutationObserver||fs.WebKitMutationObserver,Ss=fs.document,Ts=fs.process,Os=fs.Promise,As=gs("queueMicrotask");if(!As){var Cs=new ys,Ps=function(){var t,e;for(bs&&(t=Ts.domain)&&t.exit();e=Cs.get();)try{e()}catch(r){throw Cs.head&&ns(),r}t&&t.enter()};vs||bs||xs||!ws||!Ss?!ms&&Os&&Os.resolve?((os=Os.resolve(void 0)).constructor=Os,hs=ps(os.then,os),ns=function(){hs(Ps)}):bs?ns=function(){Ts.nextTick(Ps)}:(ds=ps(ds,fs),ns=function(){ds(Ps)}):(as=!0,ss=Ss.createTextNode(""),new ws(Ps).observe(ss,{characterData:!0}),ns=function(){ss.data=as=!as}),As=function(t){Cs.head||ns(),Cs.add(t)}}var Es=As,Ns=function(t){try{return{error:!1,value:t()}}catch(e){return{error:!0,value:e}}},Ms=a.Promise,Rs=a,_s=Ms,Vs=F,Is=Wi,ks=ur,Ls=ne,Ds=sn,js=nt;_s&&_s.prototype;var Bs=Ls("species"),zs=!1,Us=Vs(Rs.PromiseRejectionEvent),Fs={CONSTRUCTOR:Is("Promise",function(){var t=ks(_s),e=t!==String(_s);if(!e&&66===js)return!0;if(!js||js<51||!/native code/.test(t)){var r=new _s(function(t){t(1)}),i=function(t){t(function(){},function(){})};if((r.constructor={})[Bs]=i,!(zs=r.then(function(){})instanceof i))return!0}return!(e||"BROWSER"!==Ds&&"DENO"!==Ds||Us)}),REJECTION_EVENT:Us,SUBCLASSING:zs},Hs={},Xs=bt,Ys=TypeError,Ws=function(t){var e,r;this.promise=new t(function(t,i){if(void 0!==e||void 0!==r)throw new Ys("Bad Promise constructor");e=t,r=i}),this.resolve=Xs(e),this.reject=Xs(r)};Hs.f=function(t){return new Ws(t)};var qs,$s,Gs,Qs,Zs=tn,Ks=on,Js=a,to=hn,eo=f,ro=ti,io=xn,no=Tn,ao=function(t){var e=Cn(t);En&&e&&!e[Nn]&&Pn(e,Nn,{configurable:!0,get:function(){return this}})},so=bt,oo=F,ho=X,uo=function(t,e){if(Mn(e,t))return t;throw new Rn("Incorrect invocation")},lo=la,co=Ja.set,fo=Es,go=function(t,e){try{1===arguments.length?console.error(t):console.error(t,e)}catch(r){}},po=Ns,yo=us,vo=Mr,mo=Ms,xo=Hs,bo="Promise",wo=Fs.CONSTRUCTOR,So=Fs.REJECTION_EVENT,To=Fs.SUBCLASSING,Oo=vo.getterFor(bo),Ao=vo.set,Co=mo&&mo.prototype,Po=mo,Eo=Co,No=Js.TypeError,Mo=Js.document,Ro=Js.process,_o=xo.f,Vo=_o,Io=!!(Mo&&Mo.createEvent&&Js.dispatchEvent),ko="unhandledrejection",Lo=function(t){var e;return!(!ho(t)||!oo(e=t.then))&&e},Do=function(t,e){var r,i,n,a=e.value,s=1===e.state,o=s?t.ok:t.fail,h=t.resolve,u=t.reject,l=t.domain;try{o?(s||(2===e.rejection&&Fo(e),e.rejection=1),!0===o?r=a:(l&&l.enter(),r=o(a),l&&(l.exit(),n=!0)),r===t.promise?u(new No("Promise-chain cycle")):(i=Lo(r))?eo(i,r,h,u):h(r)):u(a)}catch(c){l&&!n&&l.exit(),u(c)}},jo=function(t,e){t.notified||(t.notified=!0,fo(function(){for(var r,i=t.reactions;r=i.get();)Do(r,t);t.notified=!1,e&&!t.rejection&&zo(t)}))},Bo=function(t,e,r){var i,n;Io?((i=Mo.createEvent("Event")).promise=e,i.reason=r,i.initEvent(t,!1,!0),Js.dispatchEvent(i)):i={promise:e,reason:r},!So&&(n=Js["on"+t])?n(i):t===ko&&go("Unhandled promise rejection",r)},zo=function(t){eo(co,Js,function(){var e,r=t.facade,i=t.value;if(Uo(t)&&(e=po(function(){Ks?Ro.emit("unhandledRejection",i,r):Bo(ko,r,i)}),t.rejection=Ks||Uo(t)?2:1,e.error))throw e.value})},Uo=function(t){return 1!==t.rejection&&!t.parent},Fo=function(t){eo(co,Js,function(){var e=t.facade;Ks?Ro.emit("rejectionHandled",e):Bo("rejectionhandled",e,t.value)})},Ho=function(t,e,r){return function(i){t(e,i,r)}},Xo=function(t,e,r){t.done||(t.done=!0,r&&(t=r),t.value=e,t.state=2,jo(t,!0))},Yo=function(t,e,r){if(!t.done){t.done=!0,r&&(t=r);try{if(t.facade===e)throw new No("Promise can't be resolved itself");var i=Lo(e);i?fo(function(){var r={done:!1};try{eo(i,e,Ho(Yo,r,t),Ho(Xo,r,t))}catch(n){Xo(r,n,t)}}):(t.value=e,t.state=1,jo(t,!1))}catch(n){Xo({done:!1},n,t)}}};if(wo&&(Eo=(Po=function(t){uo(this,Eo),so(t),eo(qs,this);var e=Oo(this);try{t(Ho(Yo,e),Ho(Xo,e))}catch(r){Xo(e,r)}}).prototype,(qs=function(t){Ao(this,{type:bo,done:!1,notified:!1,parent:!1,reactions:new yo,rejection:!1,state:0,value:null})}).prototype=ro(Eo,"then",function(t,e){var r=Oo(this),i=_o(lo(this,Po));return r.parent=!0,i.ok=!oo(t)||t,i.fail=oo(e)&&e,i.domain=Ks?Ro.domain:void 0,0===r.state?r.reactions.add(i):fo(function(){Do(i,r)}),i.promise}),$s=function(){var t=new qs,e=Oo(t);this.promise=t,this.resolve=Ho(Yo,e),this.reject=Ho(Xo,e)},xo.f=_o=function(t){return t===Po||t===Gs?new $s(t):Vo(t)},oo(mo)&&Co!==Object.prototype)){Qs=Co.then,To||ro(Co,"then",function(t,e){var r=this;return new Po(function(t,e){eo(Qs,r,t,e)}).then(t,e)},{unsafe:!0});try{delete Co.constructor}catch(Jv){}io&&io(Co,Eo)}Zs({global:!0,constructor:!0,wrap:!0,forced:wo},{Promise:Po}),Gs=to.Promise,no(Po,bo,!1),ao(bo);var Wo={},qo=Wo,$o=ne("iterator"),Go=Array.prototype,Qo=Bn,Zo=Tt,Ko=I,Jo=Wo,th=ne("iterator"),eh=function(t){if(!Ko(t))return Zo(t,th)||Zo(t,"@@iterator")||Jo[Qo(t)]},rh=f,ih=bt,nh=ke,ah=yt,sh=eh,oh=TypeError,hh=f,uh=ke,lh=Tt,ch=Sa,fh=f,gh=ke,ph=yt,dh=function(t){return void 0!==t&&(qo.Array===t||Go[$o]===t)},yh=gi,vh=$,mh=function(t,e){var r=arguments.length<2?sh(t):e;if(ih(r))return nh(rh(r,t));throw new oh(ah(t)+" is not iterable")},xh=eh,bh=function(t,e,r){var i,n;uh(t);try{if(!(i=lh(t,"return"))){if("throw"===e)throw r;return r}i=hh(i,t)}catch(Jv){n=!0,i=Jv}if("throw"===e)throw r;if(n)throw i;return uh(i),r},wh=TypeError,Sh=function(t,e){this.stopped=t,this.result=e},Th=Sh.prototype,Oh=function(t,e,r){var i,n,a,s,o,h,u,l=r&&r.that,c=!(!r||!r.AS_ENTRIES),f=!(!r||!r.IS_RECORD),g=!(!r||!r.IS_ITERATOR),p=!(!r||!r.INTERRUPTED),d=ch(e,l),y=function(t){return i&&bh(i,"normal"),new Sh(!0,t)},v=function(t){return c?(gh(t),p?d(t[0],t[1],y):d(t[0],t[1])):p?d(t,y):d(t)};if(f)i=t.iterator;else if(g)i=t;else{if(!(n=xh(t)))throw new wh(ph(t)+" is not iterable");if(dh(n)){for(a=0,s=yh(t);s>a;a++)if((o=v(t[a]))&&vh(Th,o))return o;return new Sh(!1)}i=mh(t,n)}for(h=f?t.next:i.next;!(u=fh(h,i)).done;){try{o=v(u.value)}catch(Jv){bh(i,"throw",Jv)}if("object"==typeof o&&o&&vh(Th,o))return o}return new Sh(!1)},Ah=ne("iterator"),Ch=!1;try{var Ph=0,Eh={next:function(){return{done:!!Ph++}},return:function(){Ch=!0}};Eh[Ah]=function(){return this},Array.from(Eh,function(){throw 2})}catch(Jv){}var Nh=Ms,Mh=Fs.CONSTRUCTOR||!function(t,e){try{if(!e&&!Ch)return!1}catch(Jv){return!1}var r=!1;try{var i={};i[Ah]=function(){return{next:function(){return{done:r=!0}}}},t(i)}catch(Jv){}return r}(function(t){Nh.all(t).then(void 0,function(){})}),Rh=f,_h=bt,Vh=Hs,Ih=Ns,kh=Oh;tn({target:"Promise",stat:!0,forced:Mh},{all:function(t){var e=this,r=Vh.f(e),i=r.resolve,n=r.reject,a=Ih(function(){var r=_h(e.resolve),a=[],s=0,o=1;kh(t,function(t){var h=s++,u=!1;o++,Rh(r,e,t).then(function(t){u||(u=!0,a[h]=t,--o||i(a))},n)}),--o||i(a)});return a.error&&n(a.value),r.promise}});var Lh=tn,Dh=Fs.CONSTRUCTOR,jh=Ms,Bh=q,zh=F,Uh=ti,Fh=jh&&jh.prototype;if(Lh({target:"Promise",proto:!0,forced:Dh,real:!0},{catch:function(t){return this.then(void 0,t)}}),zh(jh)){var Hh=Bh("Promise").prototype.catch;Fh.catch!==Hh&&Uh(Fh,"catch",Hh,{unsafe:!0})}var Xh=f,Yh=bt,Wh=Hs,qh=Ns,$h=Oh;tn({target:"Promise",stat:!0,forced:Mh},{race:function(t){var e=this,r=Wh.f(e),i=r.reject,n=qh(function(){var n=Yh(e.resolve);$h(t,function(t){Xh(n,e,t).then(r.resolve,i)})});return n.error&&i(n.value),r.promise}});var Gh=Hs;tn({target:"Promise",stat:!0,forced:Fs.CONSTRUCTOR},{reject:function(t){var e=Gh.f(this);return(0,e.reject)(t),e.promise}});var Qh=ke,Zh=X,Kh=Hs,Jh=tn,tu=Fs.CONSTRUCTOR,eu=function(t,e){if(Qh(t),Zh(e)&&e.constructor===t)return e;var r=Kh.f(t);return(0,r.resolve)(e),r.promise};function ru(t,e,r,i,n,a,s){try{var o=t[a](s),h=o.value}catch(u){return void r(u)}o.done?e(h):Promise.resolve(h).then(i,n)}function iu(t){return function(){var e=this,r=arguments;return new Promise(function(i,n){var a=t.apply(e,r);function s(t){ru(a,i,n,s,o,"next",t)}function o(t){ru(a,i,n,s,o,"throw",t)}s(void 0)})}}q("Promise"),Jh({target:"Promise",stat:!0,forced:tu},{resolve:function(t){return eu(this,t)}});var nu=Bn,au=String,su=function(t){if("Symbol"===nu(t))throw new TypeError("Cannot convert a Symbol value to a string");return au(t)},ou=ke,hu=function(){var t=ou(this),e="";return t.hasIndices&&(e+="d"),t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.unicodeSets&&(e+="v"),t.sticky&&(e+="y"),e},uu=o,lu=a.RegExp,cu=uu(function(){var t=lu("a","y");return t.lastIndex=2,null!==t.exec("abcd")});cu||uu(function(){return!lu("a","y").sticky});var fu={BROKEN_CARET:cu||uu(function(){var t=lu("^r","gy");return t.lastIndex=2,null!==t.exec("str")}),UNSUPPORTED_Y:cu},gu={},pu=Ti,du=Oi,yu=Object.keys||function(t){return pu(t,du)},vu=h,mu=Re,xu=Me,bu=ke,wu=z,Su=yu;gu.f=vu&&!mu?Object.defineProperties:function(t,e){bu(t);for(var r,i=wu(e),n=Su(e),a=n.length,s=0;a>s;)xu.f(t,r=n[s++],i[r]);return t};var Tu,Ou=ke,Au=gu,Cu=Oi,Pu=yr,Eu=Ta,Nu=me,Mu="prototype",Ru="script",_u=dr("IE_PROTO"),Vu=function(){},Iu=function(t){return"<"+Ru+">"+t+"</"+Ru+">"},ku=function(t){t.write(Iu("")),t.close();var e=t.parentWindow.Object;return t=null,e},Lu=function(){try{Tu=new ActiveXObject("htmlfile")}catch(Jv){}var t,e,r;Lu="undefined"!=typeof document?document.domain&&Tu?ku(Tu):(e=Nu("iframe"),r="java"+Ru+":",e.style.display="none",Eu.appendChild(e),e.src=String(r),(t=e.contentWindow.document).open(),t.write(Iu("document.F=Object")),t.close(),t.F):ku(Tu);for(var i=Cu.length;i--;)delete Lu[Mu][Cu[i]];return Lu()};Pu[_u]=!0;var Du,ju,Bu=Object.create||function(t,e){var r;return null!==t?(Vu[Mu]=Ou(t),r=new Vu,Vu[Mu]=null,r[_u]=t):r=Lu(),void 0===e?r:Au.f(r,e)},zu=o,Uu=a.RegExp,Fu=zu(function(){var t=Uu(".","s");return!(t.dotAll&&t.test("\n")&&"s"===t.flags)}),Hu=o,Xu=a.RegExp,Yu=Hu(function(){var t=Xu("(?<a>b)","g");return"b"!==t.exec("b").groups.a||"bc"!=="b".replace(t,"$<a>c")}),Wu=f,qu=O,$u=su,Gu=hu,Qu=fu,Zu=Bu,Ku=Mr.get,Ju=Fu,tl=Yu,el=jt("native-string-replace",String.prototype.replace),rl=RegExp.prototype.exec,il=rl,nl=qu("".charAt),al=qu("".indexOf),sl=qu("".replace),ol=qu("".slice),hl=(ju=/b*/g,Wu(rl,Du=/a/,"a"),Wu(rl,ju,"a"),0!==Du.lastIndex||0!==ju.lastIndex),ul=Qu.BROKEN_CARET,ll=void 0!==/()??/.exec("")[1];(hl||ll||ul||Ju||tl)&&(il=function(t){var e,r,i,n,a,s,o,h=this,u=Ku(h),l=$u(t),c=u.raw;if(c)return c.lastIndex=h.lastIndex,e=Wu(il,c,l),h.lastIndex=c.lastIndex,e;var f=u.groups,g=ul&&h.sticky,p=Wu(Gu,h),d=h.source,y=0,v=l;if(g&&(p=sl(p,"y",""),-1===al(p,"g")&&(p+="g"),v=ol(l,h.lastIndex),h.lastIndex>0&&(!h.multiline||h.multiline&&"\n"!==nl(l,h.lastIndex-1))&&(d="(?: "+d+")",v=" "+v,y++),r=new RegExp("^(?:"+d+")",p)),ll&&(r=new RegExp("^"+d+"$(?!\\s)",p)),hl&&(i=h.lastIndex),n=Wu(rl,g?r:h,v),g?n?(n.input=ol(n.input,y),n[0]=ol(n[0],y),n.index=h.lastIndex,h.lastIndex+=n[0].length):h.lastIndex=0:hl&&n&&(h.lastIndex=h.global?n.index+n[0].length:i),ll&&n&&n.length>1&&Wu(el,n[0],r,function(){for(a=1;a<arguments.length-2;a++)void 0===arguments[a]&&(n[a]=void 0)}),n&&f)for(n.groups=s=Zu(null),a=0;a<f.length;a++)s[(o=f[a])[0]]=n[o[1]];return n});var cl=il;tn({target:"RegExp",proto:!0,forced:/./.exec!==cl},{exec:cl});var fl,gl=f,pl=ti,dl=cl,yl=o,vl=ne,ml=Ge,xl=vl("species"),bl=RegExp.prototype,wl=function(t,e,r,i){var n=vl(t),a=!yl(function(){var e={};return e[n]=function(){return 7},7!==""[t](e)}),s=a&&!yl(function(){var e=!1,r=/a/;if("split"===t){var i={};i[xl]=function(){return r},(r={constructor:i,flags:""})[n]=/./[n]}return r.exec=function(){return e=!0,null},r[n](""),!e});if(!a||!s||r){var o=/./[n],h=e(n,""[t],function(t,e,r,i,n){var s=e.exec;return s===dl||s===bl.exec?a&&!n?{done:!0,value:gl(o,e,r,i)}:{done:!0,value:gl(t,r,e,i)}:{done:!1}});pl(String.prototype,t,h[0]),pl(bl,n,h[1])}i&&ml(bl[n],"sham",!0)},Sl=O,Tl=ai,Ol=su,Al=D,Cl=Sl("".charAt),Pl=Sl("".charCodeAt),El=Sl("".slice),Nl={charAt:(fl=!0,function(t,e){var r,i,n=Ol(Al(t)),a=Tl(e),s=n.length;return a<0||a>=s?fl?"":void 0:(r=Pl(n,a))<55296||r>56319||a+1===s||(i=Pl(n,a+1))<56320||i>57343?fl?Cl(n,a):r:fl?El(n,a,a+2):i-56320+(r-55296<<10)+65536})}.charAt,Ml=function(t,e,r){return e+(r?Nl(t,e).length:1)},Rl=o,_l=a.RegExp,Vl=!Rl(function(){var t=!0;try{_l(".","d")}catch(Jv){t=!1}var e={},r="",i=t?"dgimsy":"gimsy",n=function(t,i){Object.defineProperty(e,t,{get:function(){return r+=i,!0}})},a={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};for(var s in t&&(a.hasIndices="d"),a)n(s,a[s]);return Object.getOwnPropertyDescriptor(_l.prototype,"flags").get.call(e)!==i||r!==i}),Il=f,kl=Xt,Ll=$,Dl={correct:Vl},jl=hu,Bl=RegExp.prototype,zl=Dl.correct?function(t){return t.flags}:function(t){return Dl.correct||!Ll(Bl,t)||kl(t,"flags")?t.flags:Il(jl,t)},Ul=f,Fl=ke,Hl=F,Xl=E,Yl=cl,Wl=TypeError,ql=function(t,e){var r=t.exec;if(Hl(r)){var i=Ul(r,t,e);return null!==i&&Fl(i),i}if("RegExp"===Xl(t))return Ul(Yl,t,e);throw new Wl("RegExp#exec called on incompatible receiver")},$l=f,Gl=wl,Ql=ke,Zl=X,Kl=ci,Jl=su,tc=D,ec=Tt,rc=Ml,ic=zl,nc=ql,ac=O("".indexOf);Gl("match",function(t,e,r){return[function(e){var r=tc(this),i=Zl(e)?ec(e,t):void 0;return i?$l(i,e,r):new RegExp(e)[t](Jl(r))},function(t){var i=Ql(this),n=Jl(t),a=r(e,i,n);if(a.done)return a.value;var s=Jl(ic(i));if(-1===ac(s,"g"))return nc(i,n);var o=-1!==ac(s,"u");i.lastIndex=0;for(var h,u=[],l=0;null!==(h=nc(i,n));){var c=Jl(h[0]);u[l]=c,""===c&&(i.lastIndex=rc(n,Kl(i.lastIndex),o)),l++}return 0===l?null:u}]});var sc=O,oc=Ut,hc=Math.floor,uc=sc("".charAt),lc=sc("".replace),cc=sc("".slice),fc=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,gc=/\$([$&'`]|\d{1,2})/g,pc=da,dc=f,yc=O,vc=wl,mc=o,xc=ke,bc=F,wc=X,Sc=ai,Tc=ci,Oc=su,Ac=D,Cc=Ml,Pc=Tt,Ec=function(t,e,r,i,n,a){var s=r+t.length,o=i.length,h=gc;return void 0!==n&&(n=oc(n),h=fc),lc(a,h,function(a,h){var u;switch(uc(h,0)){case"$":return"$";case"&":return t;case"`":return cc(e,0,r);case"'":return cc(e,s);case"<":u=n[cc(h,1,-1)];break;default:var l=+h;if(0===l)return a;if(l>o){var c=hc(l/10);return 0===c?a:c<=o?void 0===i[c-1]?uc(h,1):i[c-1]+uc(h,1):a}u=i[l-1]}return void 0===u?"":u})},Nc=zl,Mc=ql,Rc=ne("replace"),_c=Math.max,Vc=Math.min,Ic=yc([].concat),kc=yc([].push),Lc=yc("".indexOf),Dc=yc("".slice),jc=function(t){return void 0===t?t:String(t)},Bc="$0"==="a".replace(/./,"$0"),zc=!!/./[Rc]&&""===/./[Rc]("a","$0");vc("replace",function(t,e,r){var i=zc?"$":"$0";return[function(t,r){var i=Ac(this),n=wc(t)?Pc(t,Rc):void 0;return n?dc(n,t,i,r):dc(e,Oc(i),t,r)},function(t,n){var a=xc(this),s=Oc(t);if("string"==typeof n&&-1===Lc(n,i)&&-1===Lc(n,"$<")){var o=r(e,a,s,n);if(o.done)return o.value}var h=bc(n);h||(n=Oc(n));var u,l=Oc(Nc(a)),c=-1!==Lc(l,"g");c&&(u=-1!==Lc(l,"u"),a.lastIndex=0);for(var f,g=[];null!==(f=Mc(a,s))&&(kc(g,f),c);){""===Oc(f[0])&&(a.lastIndex=Cc(s,Tc(a.lastIndex),u))}for(var p="",d=0,y=0;y<g.length;y++){for(var v,m=Oc((f=g[y])[0]),x=_c(Vc(Sc(f.index),s.length),0),b=[],w=1;w<f.length;w++)kc(b,jc(f[w]));var S=f.groups;if(h){var T=Ic([m],b,x,s);void 0!==S&&kc(T,S),v=Oc(pc(n,void 0,T))}else v=Ec(m,s,x,b,S,n);x>=d&&(p+=Dc(s,d,x)+v,d=x+m.length)}return p+Dc(s,d)}]},!!mc(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})||!Bc||zc);var Uc,Fc=X,Hc=E,Xc=ne("match"),Yc=function(t){var e;return Fc(t)&&(void 0!==(e=t[Xc])?!!e:"RegExp"===Hc(t))},Wc=TypeError,qc=function(t){if(Yc(t))throw new Wc("The method doesn't accept regular expressions");return t},$c=ne("match"),Gc=function(t){var e=/./;try{"/./"[t](e)}catch(r){try{return e[$c]=!1,"/./"[t](e)}catch(i){}}return!1},Qc=tn,Zc=ma,Kc=s.f,Jc=ci,tf=su,ef=qc,rf=D,nf=Gc,af=Zc("".slice),sf=Math.min,of=nf("startsWith");Qc({target:"String",proto:!0,forced:!!(of||(Uc=Kc(String.prototype,"startsWith"),!Uc||Uc.writable))&&!of},{startsWith:function(t){var e=tf(rf(this));ef(t);var r=Jc(sf(arguments.length>1?arguments[1]:void 0,e.length)),i=tf(t);return af(e,r,r+i.length)===i}});var hf=ne,uf=Bu,lf=Me.f,cf=hf("unscopables"),ff=Array.prototype;void 0===ff[cf]&&lf(ff,cf,{configurable:!0,value:uf(null)});var gf,pf,df,yf=!o(function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}),vf=Xt,mf=F,xf=Ut,bf=yf,wf=dr("IE_PROTO"),Sf=Object,Tf=Sf.prototype,Of=bf?Sf.getPrototypeOf:function(t){var e=xf(t);if(vf(e,wf))return e[wf];var r=e.constructor;return mf(r)&&e instanceof r?r.prototype:e instanceof Sf?Tf:null},Af=o,Cf=F,Pf=X,Ef=Of,Nf=ti,Mf=ne("iterator"),Rf=!1;[].keys&&("next"in(df=[].keys())?(pf=Ef(Ef(df)))!==Object.prototype&&(gf=pf):Rf=!0),(!Pf(gf)||Af(function(){var t={};return gf[Mf].call(t)!==t}))&&(gf={}),Cf(gf[Mf])||Nf(gf,Mf,function(){return this});var _f={IteratorPrototype:gf,BUGGY_SAFARI_ITERATORS:Rf},Vf=_f.IteratorPrototype,If=Bu,kf=x,Lf=Tn,Df=Wo,jf=function(){return this},Bf=tn,zf=f,Uf=F,Ff=function(t,e,r,i){var n=e+" Iterator";return t.prototype=If(Vf,{next:kf(+!i,r)}),Lf(t,n,!1),Df[n]=jf,t},Hf=Of,Xf=xn,Yf=Tn,Wf=Ge,qf=ti,$f=Wo,Gf=rr.PROPER,Qf=rr.CONFIGURABLE,Zf=_f.IteratorPrototype,Kf=_f.BUGGY_SAFARI_ITERATORS,Jf=ne("iterator"),tg="keys",eg="values",rg="entries",ig=function(){return this},ng=z,ag=function(t){ff[cf][t]=!0},sg=Wo,og=Mr,hg=Me.f,ug=function(t,e,r,i,n,a,s){Ff(r,e,i);var o,h,u,l=function(t){if(t===n&&d)return d;if(!Kf&&t&&t in g)return g[t];switch(t){case tg:case eg:case rg:return function(){return new r(this,t)}}return function(){return new r(this)}},c=e+" Iterator",f=!1,g=t.prototype,p=g[Jf]||g["@@iterator"]||n&&g[n],d=!Kf&&p||l(n),y="Array"===e&&g.entries||p;if(y&&(o=Hf(y.call(new t)))!==Object.prototype&&o.next&&(Hf(o)!==Zf&&(Xf?Xf(o,Zf):Uf(o[Jf])||qf(o,Jf,ig)),Yf(o,c,!0)),Gf&&n===eg&&p&&p.name!==eg&&(Qf?Wf(g,"name",eg):(f=!0,d=function(){return zf(p,this)})),n)if(h={values:l(eg),keys:a?d:l(tg),entries:l(rg)},s)for(u in h)(Kf||f||!(u in g))&&qf(g,u,h[u]);else Bf({target:e,proto:!0,forced:Kf||f},h);return g[Jf]!==d&&qf(g,Jf,d,{name:n}),$f[e]=d,h},lg=function(t,e){return{value:t,done:e}},cg=h,fg="Array Iterator",gg=og.set,pg=og.getterFor(fg),dg=ug(Array,"Array",function(t,e){gg(this,{type:fg,target:ng(t),index:0,kind:e})},function(){var t=pg(this),e=t.target,r=t.index++;if(!e||r>=e.length)return t.target=null,lg(void 0,!0);switch(t.kind){case"keys":return lg(r,!1);case"values":return lg(e[r],!1)}return lg([r,e[r]],!1)},"values"),yg=sg.Arguments=sg.Array;if(ag("keys"),ag("values"),ag("entries"),cg&&"values"!==yg.name)try{hg(yg,"name",{value:"values"})}catch(Jv){}var vg=me("span").classList,mg=vg&&vg.constructor&&vg.constructor.prototype,xg=mg===Object.prototype?void 0:mg,bg=a,wg={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},Sg=xg,Tg=dg,Og=Ge,Ag=Tn,Cg=ne("iterator"),Pg=Tg.values,Eg=function(t,e){if(t){if(t[Cg]!==Pg)try{Og(t,Cg,Pg)}catch(Jv){t[Cg]=Pg}if(Ag(t,e,!0),wg[e])for(var r in Tg)if(t[r]!==Tg[r])try{Og(t,r,Tg[r])}catch(Jv){t[r]=Tg[r]}}};for(var Ng in wg)Eg(bg[Ng]&&bg[Ng].prototype,Ng);function Mg(t){var r=function(t,r){if("object"!=e(t)||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,r);if("object"!=e(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==e(r)?r:r+""}function Rg(t,e,r){return(e=Mg(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}Eg(Sg,"DOMTokenList");var _g,Vg=bt,Ig=Ut,kg=V,Lg=gi,Dg=TypeError,jg="Reduce of empty array with no initial value",Bg={left:(_g=!1,function(t,e,r,i){var n=Ig(t),a=kg(n),s=Lg(n);if(Vg(e),0===s&&r<2)throw new Dg(jg);var o=_g?s-1:0,h=_g?-1:1;if(r<2)for(;;){if(o in a){i=a[o],o+=h;break}if(o+=h,_g?o<0:s<=o)throw new Dg(jg)}for(;_g?o>=0:s>o;o+=h)o in a&&(i=e(i,a[o],o,n));return i})},zg=o,Ug=function(t,e){var r=[][t];return!!r&&zg(function(){r.call(null,e||function(){return 1},1)})},Fg=Bg.left;tn({target:"Array",proto:!0,forced:!on&&nt>79&&nt<83||!Ug("reduce")},{reduce:function(t){var e=arguments.length;return Fg(this,t,e,e>1?arguments[1]:void 0)}});var Hg=tn,Xg=ma,Yg=s.f,Wg=ci,qg=su,$g=qc,Gg=D,Qg=Gc,Zg=Xg("".slice),Kg=Math.min,Jg=Qg("endsWith"),tp=!Jg&&!!function(){var t=Yg(String.prototype,"endsWith");return t&&!t.writable}();Hg({target:"String",proto:!0,forced:!tp&&!Jg},{endsWith:function(t){var e=qg(Gg(this));$g(t);var r=arguments.length>1?arguments[1]:void 0,i=e.length,n=void 0===r?i:Kg(Wg(r),i),a=qg(t);return Zg(e,n-a.length,n)===a}});var ep=f,rp=O,ip=wl,np=ke,ap=X,sp=D,op=la,hp=Ml,up=ci,lp=su,cp=Tt,fp=ql,gp=o,pp=fu.UNSUPPORTED_Y,dp=Math.min,yp=rp([].push),vp=rp("".slice),mp=!gp(function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r="ab".split(t);return 2!==r.length||"a"!==r[0]||"b"!==r[1]}),xp="c"==="abbc".split(/(b)*/)[1]||4!=="test".split(/(?:)/,-1).length||2!=="ab".split(/(?:ab)*/).length||4!==".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length;ip("split",function(t,e,r){var i="0".split(void 0,0).length?function(t,r){return void 0===t&&0===r?[]:ep(e,this,t,r)}:e;return[function(e,r){var n=sp(this),a=ap(e)?cp(e,t):void 0;return a?ep(a,e,n,r):ep(i,lp(n),e,r)},function(t,n){var a=np(this),s=lp(t);if(!xp){var o=r(i,a,s,n,i!==e);if(o.done)return o.value}var h=op(a,RegExp),u=a.unicode,l=(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.unicode?"u":"")+(pp?"g":"y"),c=new h(pp?"^(?:"+a.source+")":a,l),f=void 0===n?4294967295:n>>>0;if(0===f)return[];if(0===s.length)return null===fp(c,s)?[s]:[];for(var g=0,p=0,d=[];p<s.length;){c.lastIndex=pp?0:p;var y,v=fp(c,pp?vp(s,p):s);if(null===v||(y=dp(up(c.lastIndex+(pp?p:0)),s.length))===g)p=hp(s,p,u);else{if(yp(d,vp(s,g,p)),d.length===f)return d;for(var m=1;m<=v.length-1;m++)if(yp(d,v[m]),d.length===f)return d;p=g=y}}return yp(d,vp(s,g)),d}]},xp||!mp,pp);var bp={exports:{}},wp={exports:{}};(function(){var t,e,i,n,a,s;"undefined"!=typeof performance&&null!==performance&&performance.now?wp.exports=function(){return performance.now()}:null!=r&&r.hrtime?(wp.exports=function(){return(t()-a)/1e6},e=r.hrtime,n=(t=function(){var t;return 1e9*(t=e())[0]+t[1]})(),s=1e9*r.uptime(),a=n-s):Date.now?(wp.exports=function(){return Date.now()-i},i=Date.now()):(wp.exports=function(){return(new Date).getTime()-i},i=(new Date).getTime())}).call(t);for(var Sp=wp.exports,Tp="undefined"==typeof window?t:window,Op=["moz","webkit"],Ap="AnimationFrame",Cp=Tp["request"+Ap],Pp=Tp["cancel"+Ap]||Tp["cancelRequest"+Ap],Ep=0;!Cp&&Ep<Op.length;Ep++)Cp=Tp[Op[Ep]+"Request"+Ap],Pp=Tp[Op[Ep]+"Cancel"+Ap]||Tp[Op[Ep]+"CancelRequest"+Ap];if(!Cp||!Pp){var Np=0,Mp=0,Rp=[],_p=1e3/60;Cp=function(t){if(0===Rp.length){var e=Sp(),r=Math.max(0,_p-(e-Np));Np=r+e,setTimeout(function(){var t=Rp.slice(0);Rp.length=0;for(var e=0;e<t.length;e++)if(!t[e].cancelled)try{t[e].callback(Np)}catch(r){setTimeout(function(){throw r},0)}},Math.round(r))}return Rp.push({handle:++Mp,callback:t,cancelled:!1}),Mp},Pp=function(t){for(var e=0;e<Rp.length;e++)Rp[e].handle===t&&(Rp[e].cancelled=!0)}}bp.exports=function(t){return Cp.call(Tp,t)},bp.exports.cancel=function(){Pp.apply(Tp,arguments)},bp.exports.polyfill=function(t){t||(t=Tp),t.requestAnimationFrame=Cp,t.cancelAnimationFrame=Pp};const Vp=i(bp.exports);var Ip,kp="\t\n\v\f\r \u2028\u2029\ufeff",Lp=D,Dp=su,jp=kp,Bp=O("".replace),zp=RegExp("^["+jp+"]+"),Up=RegExp("(^|[^"+jp+"])["+jp+"]+$"),Fp={trim:(Ip=3,function(t){var e=Dp(Lp(t));return 1&Ip&&(e=Bp(e,zp,"")),2&Ip&&(e=Bp(e,Up,"$1")),e})},Hp=rr.PROPER,Xp=o,Yp=kp,Wp=Fp.trim;tn({target:"String",proto:!0,forced:function(t){return Xp(function(){return!!Yp[t]()||"
"!=="
"[t]()||Hp&&Yp[t].name!==t})}("trim")},{trim:function(){return Wp(this)}});const qp=i(function(t){this.ok=!1,this.alpha=1,"#"==t.charAt(0)&&(t=t.substr(1,6)),t=(t=t.replace(/ /g,"")).toLowerCase();var e={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dodgerblue:"1e90ff",feldspar:"d19275",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslateblue:"8470ff",lightslategray:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",violetred:"d02090",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"};t=e[t]||t;for(var r=[{re:/^rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*((?:\d?\.)?\d)\)$/,example:["rgba(123, 234, 45, 0.8)","rgba(255,234,245,1.0)"],process:function(t){return[parseInt(t[1]),parseInt(t[2]),parseInt(t[3]),parseFloat(t[4])]}},{re:/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,example:["rgb(123, 234, 45)","rgb(255,234,245)"],process:function(t){return[parseInt(t[1]),parseInt(t[2]),parseInt(t[3])]}},{re:/^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,example:["#00ff00","336699"],process:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/^([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,example:["#fb0","f0f"],process:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}}],i=0;i<r.length;i++){var n=r[i].re,a=r[i].process,s=n.exec(t);if(s){var o=a(s);this.r=o[0],this.g=o[1],this.b=o[2],o.length>3&&(this.alpha=o[3]),this.ok=!0}}this.r=this.r<0||isNaN(this.r)?0:this.r>255?255:this.r,this.g=this.g<0||isNaN(this.g)?0:this.g>255?255:this.g,this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b,this.alpha=this.alpha<0?0:this.alpha>1||isNaN(this.alpha)?1:this.alpha,this.toRGB=function(){return"rgb("+this.r+", "+this.g+", "+this.b+")"},this.toRGBA=function(){return"rgba("+this.r+", "+this.g+", "+this.b+", "+this.alpha+")"},this.toHex=function(){var t=this.r.toString(16),e=this.g.toString(16),r=this.b.toString(16);return 1==t.length&&(t="0"+t),1==e.length&&(e="0"+e),1==r.length&&(r="0"+r),"#"+t+e+r},this.getHelpXML=function(){for(var t=new Array,i=0;i<r.length;i++)for(var n=r[i].example,a=0;a<n.length;a++)t[t.length]=n[a];for(var s in e)t[t.length]=s;var o=document.createElement("ul");o.setAttribute("id","rgbcolor-examples");for(i=0;i<t.length;i++)try{var h=document.createElement("li"),u=new RGBColor(t[i]),l=document.createElement("div");l.style.cssText="margin: 3px; border: 1px solid black; background:"+u.toHex()+"; color:"+u.toHex(),l.appendChild(document.createTextNode("test"));var c=document.createTextNode(" "+t[i]+" -> "+u.toRGB()+" -> "+u.toHex());h.appendChild(l),h.appendChild(c),o.appendChild(h)}catch(f){}return o}});var $p=tn,Gp=vi.indexOf,Qp=Ug,Zp=ma([].indexOf),Kp=!!Zp&&1/Zp([1],1,-0)<0;$p({target:"Array",proto:!0,forced:Kp||!Qp("indexOf")},{indexOf:function(t){var e=arguments.length>1?arguments[1]:void 0;return Kp?Zp(this,t,e)||0:Gp(this,t,e)}});var Jp=tn,td=qc,ed=D,rd=su,id=Gc,nd=O("".indexOf);Jp({target:"String",proto:!0,forced:!id("includes")},{includes:function(t){return!!~nd(rd(ed(this)),rd(td(t)),arguments.length>1?arguments[1]:void 0)}});var ad=E,sd=tn,od=Array.isArray||function(t){return"Array"===ad(t)},hd=O([].reverse),ud=[1,2];sd({target:"Array",proto:!0,forced:String(ud)===String(ud.reverse())},{reverse:function(){return od(this)&&(this.length=this.length),hd(this)}});
|
|
2
2
|
/*! *****************************************************************************
|
|
3
3
|
Copyright (c) Microsoft Corporation.
|
|
4
4
|
|
|
@@ -149,7 +149,7 @@
|
|
|
149
149
|
href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap"
|
|
150
150
|
rel="stylesheet"
|
|
151
151
|
/>
|
|
152
|
-
<script type="module" crossorigin src="/assets/index-
|
|
152
|
+
<script type="module" crossorigin src="/assets/index-D7dmwadC.js"></script>
|
|
153
153
|
<link rel="stylesheet" crossorigin href="/assets/index-DrRm3Jka.css">
|
|
154
154
|
</head>
|
|
155
155
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@backtest-kit/ui",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "8.1.0",
|
|
4
4
|
"description": "Full-stack UI framework for visualizing cryptocurrency trading signals, backtests, and real-time market data. React dashboard with candlestick charts, signal tracking, and risk analysis.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Petr Tripolsky",
|
|
@@ -92,11 +92,11 @@
|
|
|
92
92
|
"ccxt": "4.5.24",
|
|
93
93
|
"touch": "3.1.1",
|
|
94
94
|
"worker-testbed": "2.0.0",
|
|
95
|
-
"backtest-kit": "
|
|
95
|
+
"backtest-kit": "8.1.0",
|
|
96
96
|
"markdown-it": "14.1.0"
|
|
97
97
|
},
|
|
98
98
|
"peerDependencies": {
|
|
99
|
-
"backtest-kit": "^
|
|
99
|
+
"backtest-kit": "^8.1.0",
|
|
100
100
|
"markdown-it": "^14.1.0",
|
|
101
101
|
"ccxt": "^4.5.24",
|
|
102
102
|
"typescript": "^5.0.0"
|
package/types.d.ts
CHANGED
|
@@ -406,6 +406,41 @@ declare class BacktestMetaService {
|
|
|
406
406
|
}[]>;
|
|
407
407
|
}
|
|
408
408
|
|
|
409
|
+
declare class PerformanceViewService {
|
|
410
|
+
private readonly loggerService;
|
|
411
|
+
private readonly performanceMockService;
|
|
412
|
+
getPerformanceData: () => Promise<any>;
|
|
413
|
+
getPerformanceReport: () => Promise<string>;
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
declare class PerformanceMockService {
|
|
417
|
+
private readonly loggerService;
|
|
418
|
+
getPerformanceData: () => Promise<any>;
|
|
419
|
+
getPerformanceReport: () => Promise<string>;
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
declare class EnvironmentMockService {
|
|
423
|
+
private readonly loggerService;
|
|
424
|
+
getEnvironmentData: () => Promise<any>;
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
declare class SetupMockService {
|
|
428
|
+
private readonly loggerService;
|
|
429
|
+
getSetupData: () => Promise<any>;
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
declare class EnvironmentViewService {
|
|
433
|
+
private readonly loggerService;
|
|
434
|
+
private readonly enviromentMockService;
|
|
435
|
+
getEnvironmentData: () => Promise<any>;
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
declare class SetupViewService {
|
|
439
|
+
private readonly loggerService;
|
|
440
|
+
private readonly setupMockService;
|
|
441
|
+
getSetupData: () => Promise<any>;
|
|
442
|
+
}
|
|
443
|
+
|
|
409
444
|
declare const ioc: {
|
|
410
445
|
notificationViewService: NotificationViewService;
|
|
411
446
|
storageViewService: StorageViewService;
|
|
@@ -416,6 +451,9 @@ declare const ioc: {
|
|
|
416
451
|
explorerViewService: ExplorerViewService;
|
|
417
452
|
signalViewService: SignalViewService;
|
|
418
453
|
heatViewService: HeatViewService;
|
|
454
|
+
performanceViewService: PerformanceViewService;
|
|
455
|
+
environmentViewService: EnvironmentViewService;
|
|
456
|
+
setupViewService: SetupViewService;
|
|
419
457
|
notificationMockService: NotificationMockService;
|
|
420
458
|
storageMockService: StorageMockService;
|
|
421
459
|
exchangeMockService: ExchangeMockService;
|
|
@@ -425,6 +463,9 @@ declare const ioc: {
|
|
|
425
463
|
explorerMockService: ExplorerMockService;
|
|
426
464
|
signalMockService: SignalMockService;
|
|
427
465
|
heatMockService: HeatMockService;
|
|
466
|
+
performanceMockService: PerformanceMockService;
|
|
467
|
+
environmentMockService: EnvironmentMockService;
|
|
468
|
+
setupMockService: SetupMockService;
|
|
428
469
|
liveMetaService: LiveMetaService;
|
|
429
470
|
symbolMetaService: SymbolMetaService;
|
|
430
471
|
backtestMetaService: BacktestMetaService;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{X as o}from"./index-DzrwP4k5.js";const r=new o;export{r};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as a,bo as e,bp as o}from"./index-DzrwP4k5.js";const t=(t,i=a.routerService.location.pathname)=>!!e(o.filter(({path:a})=>t.includes(a)),i);export{t as h};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as e,f as t,i as o,ad as a,ae as n,af as l,r as i,ag as r,p as s,T as c,a9 as d,c as p,P as u,F as m,ah as h,ai as g,aj as f,B as y,a3 as v,ak as b,al as x,am as C,an as k,ao as w,ap as P,aq as S,ar as L,as as M,H as N,at as R,I as $,au as T,N as D,av as j,L as B,O as I,z as V,J as A,Z as E,aw as O,a0 as z,X as F,v as U,w as W,D as H,ax as G,ay as _,x as Y}from"./index-DzrwP4k5.js";import{I as K}from"./IconPhoto-BitDk5sL.js";import{C as X,R as J}from"./Refresh-BgupECvn.js";import{K as q}from"./KeyboardArrowLeft-BT0IHVDD.js";const Z=e(t("path",{d:"M12 4c4.41 0 8 3.59 8 8s-3.59 8-8 8-8-3.59-8-8 3.59-8 8-8m0-2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 10V8h-2v4H8l4 4 4-4h-3z"}),"ArrowCircleDown"),Q=e(t("path",{d:"M12 20c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0 2c5.52 0 10-4.48 10-10S17.52 2 12 2 2 6.48 2 12s4.48 10 10 10zm-1-10v4h2v-4h3l-4-4-4 4h3z"}),"ArrowCircleUp"),ee=e(t("path",{d:"M7.5 5.6 10 7 8.6 4.5 10 2 7.5 3.4 5 2l1.4 2.5L5 7zm12 9.8L17 14l1.4 2.5L17 19l2.5-1.4L22 19l-1.4-2.5L22 14zM22 2l-2.5 1.4L17 2l1.4 2.5L17 7l2.5-1.4L22 7l-1.4-2.5zm-7.63 5.29a.9959.9959 0 0 0-1.41 0L1.29 18.96c-.39.39-.39 1.02 0 1.41l2.34 2.34c.39.39 1.02.39 1.41 0L16.7 11.05c.39-.39.39-1.02 0-1.41l-2.33-2.35zm-1.03 5.49-2.12-2.12 2.44-2.44 2.12 2.12-2.44 2.44z"}),"AutoFixHigh"),te=e(t("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2z"}),"Circle"),oe=l(async e=>"live"===e?await o.storageViewService.listSignalLive():await o.storageViewService.listSignalBacktest(),{key:([e])=>`${e}`,timeout:45e3}),ae=async(e,t)=>(await oe(t)).filter(t=>"closed"===t.status&&t.symbol===e),ne=async(e,t)=>{const o=await ae(e,t);return{total:o.length,resolvedCount:o.filter(e=>e.pnl.pnlPercentage>0).length,rejectedCount:o.filter(e=>e.pnl.pnlPercentage<=0).length}},le=async(e,t)=>{const o=await ae(e,t),a=e=>Math.abs(e.pnl.priceClose-e.priceTakeProfit)/e.priceTakeProfit<.005,n=e=>Math.abs(e.pnl.priceClose-e.priceStopLoss)/e.priceStopLoss<.005;return{resolvedTakeProfitCount:o.filter(e=>e.pnl.pnlPercentage>0&&a(e)).length,rejectedStopLossCount:o.filter(e=>e.pnl.pnlPercentage<=0&&n(e)).length,resolvedCloseCount:o.filter(e=>e.pnl.pnlPercentage>0&&!a(e)).length,rejectedCloseCount:o.filter(e=>e.pnl.pnlPercentage<=0&&!n(e)).length}},ie=async(e,t)=>{const o=await ae(e,t),l=new Map;for(const i of o){const e=a(n(i.updatedAt)),t=l.get(e)??{resolved:0,rejected:0};i.pnl.pnlPercentage>0?l.set(e,{...t,resolved:t.resolved+1}):l.set(e,{...t,rejected:t.rejected+1})}return Array.from(l.entries()).map(([e,{resolved:t,rejected:o}])=>({stamp:e,count:t+o,resolved:t,rejected:o}))},re=async(e,t)=>{const o=await ae(e,t),a="backtest"===t&&o.length?o.reduce((e,t)=>Math.max(e,t.updatedAt),0):Date.now(),l=n(a).startOf("day").valueOf(),i=l-864e5,r=l-6048e5,s=l-26784e5,c=e=>e.reduce((e,t)=>e+t.pnl.pnlCost,0),d=o.filter(e=>e.updatedAt>=l),p=o.filter(e=>e.updatedAt>=i&&e.updatedAt<l),u=o.filter(e=>e.updatedAt>=r),m=o.filter(e=>e.updatedAt>=s);return{symbol:e,todayRevenue:c(d),yesterdayRevenue:c(p),sevenDaysRevenue:c(u),thirtyOneDaysRevenue:c(m),todayCount:d.length,yesterdayCount:p.length,sevenDaysCount:u.length,thirtyOneDaysCount:m.length}};var se=(e=>(e.Red="#DD4049",e.Orange="#F3A43A",e.Green="#2EA96F",e.Blue="#2979ff",e.Violet="#d500f9",e))(se||{});const ce=i.createContext(null),de=({value:e,children:o})=>t(ce.Provider,{value:e,children:o}),pe=()=>i.useContext(ce);var ue=(e=>(e.Semi="semi",e.Solid="solid",e.Unset="unset",e))(ue||{});const me=s()(e=>({root:{display:"flex",alignItems:"center",justifyContent:"stretch",whiteSpace:"nowrap",gap:"8px",overflow:"clip",padding:"10px",borderTop:`1px solid ${e.palette.divider}`,"& > *":{flex:1}},solidBackground:{color:"#fff","& svg":{fill:"#fff"}},unsetBackground:{color:e.palette.text.primary,"& svg":{fill:e.palette.text.primary}},semiBackground:{color:e.palette.text.primary,"& svg":{fill:e.palette.text.primary}}})),he=({className:e,style:o,backgroundColor:a})=>{const{classes:n}=me(),{footerLabel:l,backgroundMode:s=ue.Solid}=pe(),c=i.useMemo(()=>({...o,...s===ue.Solid&&{backgroundColor:a}}),[a,s,o]);return t("div",{className:r(e,n.root,{[n.solidBackground]:s===ue.Solid,[n.unsetBackground]:s===ue.Unset,[n.semiBackground]:s===ue.Semi}),style:c,children:l})},ge=(e,t=2)=>{let o=1;for(let a=0;a<t;a++)o*=10;return Math.round(e*o)/o},fe=s()({root:{position:"relative",width:"100%",height:"0px"},container:{position:"absolute",top:0,left:0,width:"100%",display:"flex",alignItems:"center",justifyContent:"center"}}),ye=({caption:e})=>{const{classes:o}=fe();return t("div",{className:o.root,children:t("div",{className:o.container,children:t(c,{variant:"caption",sx:{opacity:.5,fontSize:12,textAlign:"center",padding:"0 8px"},children:e})})})},ve=s()(e=>({root:{display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column"},solidBackground:{"& > :first-of-type":{color:"#fff",fontWeight:"bold"},"& > :last-of-type":{color:"#fff"}},unsetBackground:{"& > :first-of-type":{color:e.palette.text.primary,fontWeight:"bold"},"& > :last-of-type":{color:e.palette.text.primary}},semiBackground:{"& > :first-of-type":{color:e.palette.text.primary,fontWeight:"bold"},"& > :last-of-type":{color:e.palette.text.primary}},content:{display:"flex",alignItems:"baseline",flexDirection:"row",gap:"2.5px","& > *":{fontWeight:"bold"},"& > :first-of-type":{fontSize:"22px"},"& > :last-of-type":{fontSize:"16px",opacity:.85}}})),be=p(e=>t("div",{className:e.v0,style:e.v1,children:[t("div",{className:e.v2,children:[e.v3,e.v4]}),e.v5]}),{name:"Content_1",portals:["v3","v4","v5"]}),xe=({className:e,style:o,backgroundColor:a})=>{const{classes:n}=ve(),{backgroundMode:l=ue.Solid,roundDigits:s=2,value:p,caption:u,valueUnit:m="Unit"}=pe(),h=i.useMemo(()=>({...o,...l===ue.Solid&&{backgroundColor:a}}),[a,l,o]);return t(be,{v0:r(e,n.root),v1:h,v2:r(n.content,{[n.solidBackground]:l===ue.Solid,[n.unsetBackground]:l===ue.Unset,[n.semiBackground]:l===ue.Semi}),v3:t(c,{fontWeight:"bold",children:d(ge(p,s))}),v4:t(c,{children:m}),v5:!!u&&t(ye,{caption:u})})},Ce=s()(e=>({root:{display:"flex",alignItems:"center",whiteSpace:"nowrap",fontWeight:700,fontSize:"18px",paddingLeft:"8px",gap:"8px",overflow:"clip",borderBottom:`1px solid ${e.palette.divider}`},solidBackground:{color:"#fff",padding:"10px","& svg":{fill:"#fff"}},semiBackground:{color:"#fff",padding:"10px","& svg":{fill:"#fff"}},unsetBackground:{color:e.palette.text.primary,padding:"10px","& svg":{fill:e.palette.text.primary}}})),ke=({className:e,style:o,backgroundColor:a})=>{const{classes:n}=Ce(),{headerLabel:l,backgroundMode:s=ue.Solid}=pe(),c=i.useMemo(()=>({...o,...(s===ue.Solid||s===ue.Semi)&&{backgroundColor:a}}),[a,s,o]);return t("div",{className:r(e,n.root,{[n.solidBackground]:s===ue.Solid,[n.unsetBackground]:s===ue.Unset,[n.semiBackground]:s===ue.Semi}),style:c,children:l})},we=s()({root:{overflow:"clip",height:"100%",width:"100%",display:"flex",alignItems:"stretch",justifyContent:"stretch",flexDirection:"column"},click:{cursor:"pointer"},header:{minHeight:"36px"},content:{flex:1},footer:{minHeight:"32px"}}),Pe=({className:e,style:o})=>{const{classes:a}=we(),{backgroundColor:n,onClick:l,footerLabel:i}=pe();return t(u,{className:r(e,a.root,{[a.click]:!!l}),onClick:l,style:o,children:[t(ke,{backgroundColor:n}),t(xe,{backgroundColor:n,className:a.content}),!!i&&t(he,{backgroundColor:n,className:a.footer})]})},Se=i.memo(({className:e,style:o,...a})=>t(de,{value:a,children:t(Pe,{className:e,style:o})})),Le=(e,{one:t,many:o,two:a=o})=>`${(()=>{if(0===e||e>=11&&e<20)return o;let n=e%10;return 0===n?o:1===n?t:n<5?a:o})()}`,Me=i.createContext(null),Ne=({value:e,children:o})=>t(Me.Provider,{value:e,children:o}),Re=()=>i.useContext(Me),$e=s()({root:{display:"flex",alignItems:"stretch",justifyContent:"stretch",paddingLeft:"20px",paddingRight:"20px",overflow:"clip"},container:{flex:1,display:"flex",alignItems:"stretch",justifyContent:"center",gap:"40px"},item:{gap:"4px",display:"flex",alignItems:"center",justifyContent:"center","& > span":{fontWeight:500,fontSize:"12px",color:"var(--black-6)",whiteSpace:"nowrap"}},circle:{borderRadius:"50%",height:"8px",width:"8px"}}),Te=p(e=>t("div",{className:e.v0,style:e.v1,children:t("div",{className:e.v2,children:e.v3})}),{name:"Footer_1",portals:["v3"]}),De=({className:e,style:o})=>{const{classes:a}=$e(),{items:n}=Re();return t(Te,{v0:r(e,a.root),v1:o,v2:a.container,v3:[...n].sort(({maxValue:e},{maxValue:t})=>e-t).map((e,o)=>t("div",{className:a.item,children:[t("div",{className:a.circle,style:{background:e.color}}),t("span",{children:[e.label," ",e.value?e.value():e.maxValue]})]},o))})},je=s()(()=>({circle:{position:"absolute",transform:"translate(-50%, 50%)",bottom:"0",left:"50%","& > div":{borderRadius:"50%"}}})),Be=p(e=>t("div",{className:e.v0,style:e.v1,children:t("div",{style:e.v2})}),{name:"Circle_1"}),Ie=({className:e,style:o,lineWidth:a,side:n,color:l,rotate:i})=>{const{classes:s}=je();return t(Be,{v0:r(e,s.circle),v1:{...o},v2:{borderTop:`${a}px solid ${l}`,borderLeft:`${a}px solid ${l}`,borderRight:`${a}px solid transparent`,borderBottom:`${a}px solid transparent`,transform:`rotate(${i}deg)`,height:n,width:n}})},Ve=s()(e=>({dot:{position:"absolute",transform:"translate(-50%, 50%)",bottom:"0",left:"50%",borderRadius:"50%",background:e.palette.background.paper}})),Ae=({side:e})=>{const{classes:o}=Ve();return t("div",{className:o.dot,style:{height:e,width:e}})},Ee=s()(e=>({line:{position:"absolute",background:e.palette.background.paper,height:"100%",width:"1px",left:"50%",transformOrigin:"center bottom"}})),Oe=({angle:e})=>{const{classes:o}=Ee();return t("div",{className:o.line,style:{transform:`rotate(${e}deg)`}})},ze=s()(e=>({dot:{position:"absolute",transform:"translate(-50%, 50%)",bottom:"0",left:"50%",borderRadius:"50%",outline:`100vmax solid ${e.palette.background.paper}`}})),Fe=({side:e})=>{const{classes:o}=ze();return t("div",{className:o.dot,style:{height:e,width:e}})},Ue=s()(e=>({pointer:{position:"absolute",left:"21%",width:"29%",bottom:"0%",zIndex:1,transformOrigin:"right center",fill:e.palette.text.primary}})),We=p(e=>t("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 87 8",className:e.v0,style:e.v1,...e.v2,children:[t("rect",{x:"0.5",y:"2.5",width:"79",height:"3"}),t("circle",{cx:"82.5",cy:"4",r:"4"})]}),{name:"Pointer_1",svg:!0}),He=({className:e,style:o,angle:a,scale:n=1,...l})=>{const{classes:i}=Ue();return t(We,{v0:r(e,i.pointer),v1:{...o,transform:`rotate(${a}deg) scale(${n}) translateX(5px)`},v2:l})},Ge=e=>e*Math.PI/180,_e=(e,t)=>({left:t*Math.cos(Ge(e))+t,top:t*Math.sin(Ge(e))+t}),Ye=s()(e=>({root:{position:"absolute",transform:"translate(-50%, 50%)",bottom:"0",left:"50%",display:"flex",alignItems:"stretch",justifyContent:"stretch"},container:{flex:1,position:"relative"},label:{position:"absolute",transform:"translate(-50%, -50%)",color:e.palette.text.primary,zIndex:2}})),Ke=p(e=>t("div",{className:e.v0,style:e.v1,children:t("div",{className:e.v2,children:e.v3})}),{name:"Labels_1",portals:["v3"]}),Xe=({items:e,side:o})=>{const{classes:a}=Ye(),n=i.useMemo(()=>Math.floor(o/2),[o]);return t(Ke,{v0:a.root,v1:{height:o,width:o},v2:a.container,v3:e.slice(0,e.length-1).map(({angle:e,value:o},l)=>t("span",{className:a.label,style:{..._e(e+180,n),...e<90&&{marginLeft:10},...e>90&&{marginLeft:-10},...e>15&&e<165&&{marginTop:5}},children:o},l))})},Je=({width:e,side:o,chunks:a,maxValue:n,minValue:l,value:r})=>{const s=i.useMemo(()=>.5*o,[o]),c=i.useMemo(()=>.63*o,[o]),d=i.useMemo(()=>.58*o,[o]),p=i.useCallback(e=>180/(n-l)*(e.minValue-l)+45,[n,l]),u=i.useMemo(()=>Math.min(r/n*180,180),[n,r]),h=i.useMemo(()=>e>o?c/e*1.5:1,[c,e,o]),g=i.useMemo(()=>[...a].sort(({maxValue:e},{maxValue:t})=>e-t).slice(0,a.length-1).map(e=>({angle:180/n*e.maxValue,value:e.maxValue})),[a,n]),f=i.useMemo(()=>[{angle:0,value:0},...g,{angle:180,value:n}],[g,n]);return t(m,{children:[t(He,{angle:u,scale:h}),[...a].sort(({maxValue:e},{maxValue:t})=>e-t).map((e,a)=>t(Ie,{rotate:p(e),color:e.color,side:o,lineWidth:s},`${e.color}-${a}`)),g.map(({angle:e},o)=>t(Oe,{angle:e-90},`${e}-${o}`)),t(Fe,{side:o}),t(Ae,{side:c}),t(Xe,{items:f,side:d})]})},qe=s()({root:{display:"flex",alignItems:"stretch",justifyContent:"stretch",overflow:"clip"},container:{flex:1,position:"relative",display:"flex",alignItems:"center",justifyContent:"center"},bottomCenterLabel:{position:"absolute",zIndex:2,bottom:"0",display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"row",gap:"4px","& > *":{fontSize:"20px",lineHeight:"24px"},"& > :first-of-type":{fontWeight:"bold"},"& > :last-of-type":{color:"var(--black-6)"}}}),Ze=({className:e,height:o,width:a})=>{const{classes:n}=qe(),{value:l,items:s}=Re(),c=Math.min(2*o,a),d=i.useMemo(()=>[...s].filter(e=>!e.hidden).sort(({maxValue:e},{maxValue:t})=>t-e).map((e,t,o)=>{const a=o[t+1],n=a?a.maxValue:0;return{...e,minValue:n,value:e.maxValue-n}}),[s]),p=i.useMemo(()=>{const e=d.find(({minValue:e,maxValue:t})=>l>=e&&l<=t);if(e)return e.color;return d.reduce((e,t)=>t.minValue>=e.minValue?t:e).color},[d,l]),u=i.useMemo(()=>d.reduce((e,{minValue:t})=>Math.min(e,t),Number.POSITIVE_INFINITY),[d]),m=i.useMemo(()=>d.reduce((e,{maxValue:t})=>Math.max(e,t),Number.NEGATIVE_INFINITY),[d]);return t("div",{className:r(e,n.root),children:t("div",{className:n.container,children:t(Je,{chunks:d,value:l,minValue:u,maxValue:m,side:c,width:a,color:p})})})},Qe=s()(e=>({root:{display:"flex",alignItems:"center",justifyContent:"center",borderLeft:0,borderRight:0,borderWidth:"1px 0",borderStyle:"solid",borderColor:e.palette.divider},container:{display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"row"},content:{display:"flex",alignItems:"baseline",gap:"2.5px","& > *":{fontWeight:"bold"},"& > :first-of-type":{fontSize:"22px"},"& > :last-of-type":{fontSize:"16px",opacity:.85}}})),et=p(e=>t("div",{className:e.v0,style:e.v1,children:t("div",{className:e.v2,children:t("div",{className:e.v3,children:[e.v4,e.v5]})})}),{name:"Note_1",portals:["v4","v5"]}),tt=({className:e,style:o})=>{const{classes:a}=Qe(),{value:n,roundDigits:l=3,valueUnit:i="Unit"}=Re();return t(et,{v0:r(e,a.root),v1:o,v2:a.container,v3:a.content,v4:t(c,{children:ge(n,l)}),v5:t(c,{children:i})})},ot=s()(e=>({root:{position:"relative",overflow:"clip",height:"100%",width:"100%",background:e.palette.background.paper},container:{position:"absolute",top:"0",left:"0"},content:{display:"flex",alignItems:"stretch",justifyContent:"stretch",flexDirection:"column"},chart:{flex:1,paddingTop:"6px",paddingBottom:"6px"},footer:{minHeight:"32px"},note:{minHeight:"60px"}})),at=({className:e,style:o})=>{const{classes:a}=ot(),n=e=>{let t=e;return t-=32,t-=12,t-=60,t},l=e=>{let t=e;return t-=12,t};return t(u,{className:r(e,a.root),style:o,children:t(h,{className:a.container,children:({height:e=0,width:o=0})=>t("div",{className:a.content,style:{height:e,width:o},children:[t(Ze,{className:a.chart,height:n(e),width:l(o)}),t(tt,{className:a.note}),t(De,{className:a.footer})]})})})},nt=i.memo(({className:e,style:o,...a})=>t(Ne,{value:a,children:t(at,{className:e,style:o})})),lt=s()({root:{position:"relative",height:10,flex:1},bar:{position:"absolute !important",top:"42%",left:0,right:10}}),it=e=>{const{classes:o}=lt(),a=["done","inprogress","waiting","archive"],n=t=>{var o;return null==(o=e.data[t])?void 0:o.value},l=a.map(t=>{const o=n(t);var a,l;return`${a=t,(null==(l=e.data[a])?void 0:l.title)||t} - ${o}`}).join(" | "),i=a.map(t=>{const o=(t=>{var o;return null==(o=e.data[t])?void 0:o.color})(t);return{color:o,value:n(t),key:t}}).map(({color:e,value:t,key:o},l)=>{let i=0;if(0!==l)for(let r=l-1;r>=0;r--)i+=n(a[r]);return{value:t>0?t+i:t,key:o,color:e}}).sort(({value:e},{value:t})=>t-e),r=Math.max(...i.map(({value:e})=>e));return t(f,{title:l,arrow:!0,children:t("div",{className:o.root,children:i.map(({color:e,value:a,key:n},l)=>{const i=((e,t=100)=>Math.min(100,Math.round(Math.max(Number(e),0)/t*100)))(a,r);return t(g,{sx:{height:"10px !important",zIndex:`${l+1} !important`,backgroundColor:"transparent !important","& .MuiLinearProgress-bar":{borderTopRightRadius:5,borderBottomRightRadius:5,backgroundColor:`${e} !important`}},variant:"determinate",className:o.bar,value:i},`${l}-${n}`)})})})},rt=s()({root:{display:"flex"},work:{display:"flex",alignItems:"center"},row:{flex:1,paddingLeft:5,paddingRight:5,paddingBottom:15}}),st=({title:e,description:o,avatar:a,done:n,inprogress:l,waiting:i,archive:r})=>{const{classes:s}=rt();return t(y,{className:s.root,children:t(y,{className:s.row,children:[t(y,{className:s.work,children:[t(a,{}),t(v,{primary:e,secondary:o,sx:{flex:"none",marginLeft:"0.5em"}})]}),t(y,{flex:"1",children:t(it,{data:{done:{color:"#7FB537",title:"Take profit",value:n},inprogress:{color:"#4FC0E8",title:"Resolved",value:l},waiting:{color:"#FE9B31",title:"Rejected",value:i},archive:{color:"#FA5F5A",title:"Stop loss",value:r}}})})]})})},ct=s()({root:{position:"relative",width:"100%"},container:{position:"absolute",top:0,height:"100%",width:"100%",overflowY:"auto",overflowX:"hidden"},content:{display:"flex",alignItems:"stretch",justifyContent:"stretch",flexDirection:"column"}}),dt=({items:e,sx:o})=>{const{classes:a}=ct();return t(u,{className:a.root,sx:o,children:[t(b,{disableRight:!0,color:"#fff",className:a.container,children:t("div",{className:a.content,children:e.map((e,o)=>t(st,{...e},o))})}),t(y,{sx:{position:"absolute",bottom:10,right:10,zIndex:10,pointerEvents:"auto",background:"rgba(255, 255, 255, 0.1)",backdropFilter:"blur(10px)",borderRadius:"12px",border:"1px solid rgba(255, 255, 255, 0.2)",padding:"12px 16px",boxShadow:"0 8px 32px rgba(0, 0, 0, 0.1)",opacity:.35,transition:"opacity 0.3s ease","&:hover":{opacity:1}},children:[t(y,{sx:{display:"flex",alignItems:"center"},children:[t("div",{style:{background:"#7FB537",width:15,height:15,borderRadius:"3px",marginRight:"5px"}}),t("span",{children:"Take profit"})]}),t(y,{sx:{display:"flex",alignItems:"center"},children:[t("div",{style:{background:"#4FC0E8",width:15,height:15,borderRadius:"3px",marginRight:"5px"}}),t("span",{children:"Resolved"})]}),t(y,{sx:{display:"flex",alignItems:"center"},children:[t("div",{style:{background:"#FE9B31",width:15,height:15,borderRadius:"3px",marginRight:"5px"}}),t("span",{children:"Rejected"})]}),t(y,{sx:{display:"flex",alignItems:"center"},children:[t("div",{style:{background:"#FA5F5A",width:15,height:15,borderRadius:"3px",marginRight:"5px"}}),t("span",{children:"Stop loss"})]})]})]})},pt=s()({root:{position:"relative"},tooltip:{position:"absolute",color:"gray",margin:0,left:5,top:5}}),ut={layout:{textColor:"#d1d4dc",backgroundColor:"#0000"},rightPriceScale:{scaleMargins:{top:.3,bottom:.25}},crosshair:{vertLine:{width:4,color:"#ebe0e301",style:0},horzLine:{visible:!1,labelVisible:!1}},grid:{vertLines:{color:"#f8b3"},horzLines:{color:"#f8b3"}},handleScroll:{vertTouchDrag:!1}},mt={color:"#90cbfa",lineWidth:2,crosshairMarkerVisible:!1,lastValueVisible:!1,priceLineVisible:!1},ht=({height:e,width:o,items:a})=>{const{classes:n}=pt(),l=i.useRef(void 0),r=i.useRef(void 0);return i.useLayoutEffect(()=>{const{current:t}=l,{current:n}=r,i=x(t,{...ut,height:e,width:o});i.addLineSeries({...mt}).setData(a);const s=({time:e})=>{if(e)try{const{day:t,month:o,year:l}=e,i=a.find(({time:e})=>e.day===t&&e.month===o&&e.year===l);if(i){const e=Math.round(Math.round(100*i.value)/100);n.innerHTML=`${C("Total")}: ${e}, ${C("Resolved")}: ${i.resolved}, ${C("Rejected")}: ${i.rejected}`}else n.innerHTML=""}catch(t){console.log(t),n.innerHTML=""}else n.innerHTML=""};return i.timeScale().fitContent(),i.subscribeCrosshairMove(s),()=>{i.unsubscribeCrosshairMove(s),i.remove()}},[e,o,a]),t("div",{ref:l,className:n.root,children:t("p",{ref:r,className:n.tooltip})})},gt=({items:e})=>t(h,{children:({height:o,width:a})=>t(ht,{height:o,width:a,items:e})}),ft=s()({root:{},container:{position:"relative",margin:0,padding:0,overflow:"clip"},editor:{position:"absolute",top:0,left:0,right:0,bottom:0}}),yt=({items:e,sx:o})=>{const{classes:a}=ft(),n=i.useMemo(()=>[...e].sort(({stamp:e},{stamp:t})=>e-t).map(({count:e,rejected:t,resolved:o,stamp:a})=>{const n=k(a);return{time:{year:n.get("year"),month:n.get("month")+1,day:n.get("date")},rejected:t,resolved:o,value:e}}),[e]);return t(u,{className:a.container,sx:o,children:t("div",{className:a.editor,children:t(gt,{items:n})})})},vt=e=>P({handler:async(t,a)=>{const n=S(t,a);for await(const l of(e=>w(async()=>{const t="live"===e?await o.storageViewService.listSignalLive():await o.storageViewService.listSignalBacktest(),a=t.filter(e=>"closed"===e.status).map(e=>({id:e.id,symbol:e.symbol,position:e.position,takeProfitPrice:e.priceTakeProfit,originalTakeProfitPrice:e.originalPriceTakeProfit,stopLossPrice:e.priceStopLoss,originalStopLossPrice:e.originalPriceStopLoss,profitLossPercentage:e.pnl.pnlPercentage,pnlCost:e.pnl.pnlCost,pnlEntries:e.pnl.pnlEntries,buyPrice:e.priceOpen,originalBuyPrice:e.originalPriceOpen,cost:e.cost,totalEntries:e.totalEntries,totalPartials:e.totalPartials,partialExecuted:e.partialExecuted,date:new Date(e.createdAt).toISOString(),status:"finished"}));return"backtest"===e?a:[...t.filter(e=>"opened"===e.status).map(e=>({id:e.id,symbol:e.symbol,position:e.position,takeProfitPrice:e.priceTakeProfit,originalTakeProfitPrice:e.originalPriceTakeProfit,stopLossPrice:e.priceStopLoss,originalStopLossPrice:e.originalPriceStopLoss,profitLossPercentage:e.pnl.pnlPercentage,pnlCost:e.pnl.pnlCost,pnlEntries:e.pnl.pnlEntries,buyPrice:e.priceOpen,originalBuyPrice:e.originalPriceOpen,cost:e.cost,totalEntries:e.totalEntries,totalPartials:e.totalPartials,partialExecuted:e.partialExecuted,date:new Date(e.createdAt).toISOString(),status:"pending"})),...a]}))(e))if(n([l]).done)break;return n([]).rows}}),bt=[{field:"color",label:B.nbsp,minWidth:45,width:()=>45,format:({symbol:e})=>t(A,{children:async()=>{var a;try{const n=await o.symbolGlobalService.getSymbolMap();return t(te,{sx:{color:(null==(a=n[e])?void 0:a.color)||"#ccc"}})}catch(n){return t(te,{sx:{color:"#ccc"}})}}})},{field:"symbol",label:"Symbol",minWidth:115,width:e=>Math.max(e-45-90-145-80-90-80,45),format:({symbol:e})=>e},{field:"position",label:"Position",minWidth:90,width:()=>90,format:({position:e})=>{const o="long"===e;return t("span",{style:{color:o?"#1976D2":"#F57C00",padding:"4px 8px",borderRadius:"4px",fontWeight:"bold",fontSize:"11px"},children:o?"🔵 LONG":"🟠 SHORT"})}},{field:"buyPrice",label:"Entry",minWidth:145,width:()=>145,format:({buyPrice:e})=>`${d(e)}$`},{field:"pnlEntries",label:"Invested",minWidth:80,width:()=>80,format:({pnlEntries:e})=>`${d(e)}$`},{field:"profitLossPercentage",label:"PNL %",minWidth:90,width:()=>90,format:({profitLossPercentage:e})=>{const o=e>=0;return t("span",{style:{color:o?"green":"red"},children:[o?"+":"",e.toFixed(2),"%"]})}},{field:"pnlCost",label:"PNL $",minWidth:80,width:()=>80,format:({pnlCost:e})=>{const o=e>=0;return t("span",{style:{color:o?"green":"red"},children:[o?"+":"",d(e),"$"]})}}],xt=[{type:N.Text,outlined:!1,desktopColumns:"12",tabletColumns:"12",phoneColumns:"12",name:"symbol",title:"Symbol",readonly:!0,compute:e=>e.symbol||"N/A"},{type:N.Text,outlined:!1,desktopColumns:"12",tabletColumns:"12",phoneColumns:"12",name:"position",title:"Position",readonly:!0,compute:e=>"long"===e.position?"🔵 LONG (profit on rise)":"🟠 SHORT (profit on fall)"},{type:N.Text,outlined:!1,desktopColumns:"12",tabletColumns:"12",phoneColumns:"12",name:"date",title:"Date",readonly:!0,compute:e=>e.date?n(e.date).format("DD/MM/YYYY HH:mm"):""},{type:N.Text,outlined:!1,desktopColumns:"12",tabletColumns:"12",phoneColumns:"12",name:"buyPrice",title:"Entry",readonly:!0,compute:e=>e.buyPrice?`${d(e.buyPrice)}$`:"N/A"},{type:N.Text,outlined:!1,desktopColumns:"12",tabletColumns:"12",phoneColumns:"12",name:"originalBuyPrice",title:"Original Entry",readonly:!0,isVisible:e=>null!=e.originalBuyPrice&&e.originalBuyPrice!==e.buyPrice,compute:e=>e.originalBuyPrice?`${d(e.originalBuyPrice)}$`:"N/A"},{type:N.Text,outlined:!1,desktopColumns:"12",tabletColumns:"12",phoneColumns:"12",name:"takeProfitPrice",title:"Take Profit",readonly:!0,compute:e=>e.takeProfitPrice?`${d(e.takeProfitPrice)}$`:"N/A"},{type:N.Text,outlined:!1,desktopColumns:"12",tabletColumns:"12",phoneColumns:"12",name:"originalTakeProfitPrice",title:"Original Take Profit",readonly:!0,isVisible:e=>null!=e.originalTakeProfitPrice&&e.originalTakeProfitPrice!==e.takeProfitPrice,compute:e=>e.originalTakeProfitPrice?`${d(e.originalTakeProfitPrice)}$`:"N/A"},{type:N.Text,outlined:!1,desktopColumns:"12",tabletColumns:"12",phoneColumns:"12",name:"stopLossPrice",title:"Stop Loss",readonly:!0,compute:e=>e.stopLossPrice?`${d(e.stopLossPrice)}$`:"N/A"},{type:N.Text,outlined:!1,desktopColumns:"12",tabletColumns:"12",phoneColumns:"12",name:"originalStopLossPrice",title:"Original Stop Loss",readonly:!0,isVisible:e=>null!=e.originalStopLossPrice&&e.originalStopLossPrice!==e.stopLossPrice,compute:e=>e.originalStopLossPrice?`${d(e.originalStopLossPrice)}$`:"N/A"},{type:N.Text,outlined:!1,desktopColumns:"12",tabletColumns:"12",phoneColumns:"12",name:"pnlEntries",title:"Invested",readonly:!0,compute:e=>`${d(e.pnlEntries)}$`},{type:N.Text,outlined:!1,desktopColumns:"12",tabletColumns:"12",phoneColumns:"12",name:"profitLossPercentage",title:"PNL %",readonly:!0,trailingIcon:({data:e})=>e.profitLossPercentage<0?t(Z,{sx:{color:"red"}}):t(Q,{sx:{color:"green"}}),compute:e=>`${e.profitLossPercentage>=0?"+":""}${e.profitLossPercentage.toFixed(2)}%`},{type:N.Text,outlined:!1,desktopColumns:"12",tabletColumns:"12",phoneColumns:"12",name:"pnlCost",title:"PNL $",readonly:!0,compute:e=>`${e.pnlCost>=0?"+":""}${d(e.pnlCost)}$`},{type:N.Text,outlined:!1,desktopColumns:"12",tabletColumns:"12",phoneColumns:"12",name:"totalEntries",title:"Total Entries",readonly:!0,isVisible:e=>null!=e.totalEntries&&e.totalEntries>1,compute:e=>String(e.totalEntries)},{type:N.Text,outlined:!1,desktopColumns:"12",tabletColumns:"12",phoneColumns:"12",name:"totalPartials",title:"Total Closes",readonly:!0,isVisible:e=>null!=e.totalPartials&&e.totalPartials>0,compute:e=>String(e.totalPartials)},{type:N.Component,sx:{mt:2},element:({payload:e})=>t(I,{variant:"outlined",onClick:e.handleClose,children:"Back"})}],Ct=[{label:"Details",icon:()=>t(V,{icon:ee,color:"#4caf50"}),action:"open-action"}],kt=({sx:e,mode:a})=>{const n=vt(a),[l,i]=L(null),{pickData:r,setOpen:s,render:c}=M({title:"Info",AfterTitle:({onClose:e})=>t(D,{direction:"row",gap:2,children:[t(R,{onClick:()=>o.layoutService.pickSignal(l.current.id),variant:"outlined",children:"Show Details"}),t($,{size:"small",onClick:e,children:t(T,{})})]}),payload:()=>({handleClose(){s(!1)}}),fields:xt,handler:()=>l.current,withActionButton:!1});return t(m,{children:[t(u,{sx:{display:"flex",alignItems:"stretch",justifyContent:"stretch",flexDirection:"column",background:"whitesmote",overflow:"clip",...e},children:t(j,{sx:{flex:1,background:"transparent !important"},rowColor:({status:e})=>"pending"===e?"#ffc40085":"transparent",hasMore:n.hasMore,loading:n.loading,onSkip:n.onSkip,data:n.data,columns:bt,rowActions:Ct,onRowClick:e=>{i(e),r(e.id)},onRowAction:(e,t)=>{"open-action"===e&&o.layoutService.pickSignal(t.id)}})}),c()]})},wt=[{type:N.Component,desktopColumns:"3",tabletColumns:"6",phoneColumns:"12",fieldRightMargin:"1",fieldBottomMargin:"1",element:({revenueCount:e})=>{const o=(null==e?void 0:e.thirtyOneDaysRevenue)||0,a=(null==e?void 0:e.thirtyOneDaysCount)||0,n=o<0?se.Red:o>0?se.Green:se.Orange;return t(Se,{style:{height:"max(calc((100dvh - 100px) / 3), 275px)"},value:o,backgroundColor:n,backgroundMode:ue.Semi,valueUnit:"USDT",headerLabel:"31 days",footerLabel:"Profit for 31 days",caption:`${a} ${Le(a,{one:"trade",many:"trades"})}`})}},{type:N.Component,desktopColumns:"3",tabletColumns:"6",phoneColumns:"12",fieldRightMargin:"1",fieldBottomMargin:"1",element:({revenueCount:e})=>{const o=(null==e?void 0:e.sevenDaysRevenue)||0,a=(null==e?void 0:e.sevenDaysCount)||0,n=o<0?se.Red:o>0?se.Green:se.Orange;return t(Se,{style:{height:"max(calc((100dvh - 100px) / 3), 275px)"},value:o,backgroundColor:n,backgroundMode:ue.Semi,valueUnit:"USDT",headerLabel:"7 days",footerLabel:"Profit for 7 days",caption:`${a} ${Le(a,{one:"trade",many:"trades"})}`})}},{type:N.Component,desktopColumns:"3",tabletColumns:"6",phoneColumns:"12",fieldRightMargin:"1",fieldBottomMargin:"1",element:({revenueCount:e})=>{const o=(null==e?void 0:e.yesterdayRevenue)||0,a=(null==e?void 0:e.yesterdayCount)||0,n=o<0?se.Red:o>0?se.Green:se.Orange;return t(Se,{style:{height:"max(calc((100dvh - 100px) / 3), 275px)"},value:o,backgroundColor:n,backgroundMode:ue.Semi,valueUnit:"USDT",headerLabel:"Yesterday",footerLabel:"Yesterday's profit",caption:`${a} ${Le(a,{one:"trade",many:"trades"})}`})}},{type:N.Component,desktopColumns:"3",tabletColumns:"6",phoneColumns:"12",fieldRightMargin:"1",fieldBottomMargin:"1",element:({revenueCount:e})=>{const o=(null==e?void 0:e.todayRevenue)||0,a=(null==e?void 0:e.todayCount)||0,n=o<0?se.Red:o>0?se.Green:se.Orange;return t(Se,{style:{height:"max(calc((100dvh - 100px) / 3), 275px)"},value:o,backgroundColor:n,backgroundMode:ue.Semi,valueUnit:"USDT",headerLabel:"Today",footerLabel:"Today's profit",caption:`${a} ${Le(a,{one:"trade",many:"trades"})}`})}},{type:N.Component,desktopColumns:"6",tabletColumns:"6",phoneColumns:"12",fieldRightMargin:"1",fieldBottomMargin:"1",element:({tradePerfomance:e})=>{const o=[{color:"#DD4049",label:"Failed",maxValue:Math.max(e.rejectedCount+1,1),value:()=>e.rejectedCount},{color:"#2EA96F",label:"Successful",maxValue:Math.max(e.rejectedCount+e.resolvedCount+2,2),value:()=>e.resolvedCount},{color:"#F3A43A",label:"Total",hidden:!0,maxValue:Math.max(e.total+3,3),value:()=>e.total}];return t(nt,{style:{height:"max(calc((100dvh - 100px) / 2), 450px)"},items:o,valueUnit:Le(Math.abs(e.resolvedCount),{one:"Successful signal",many:"Successful signals"}),value:e.resolvedCount})}},{type:N.Component,desktopColumns:"6",tabletColumns:"6",phoneColumns:"12",fieldRightMargin:"1",fieldBottomMargin:"1",element:({dailyTrades:e})=>t(yt,{sx:{height:"max(calc((100dvh - 100px) / 2), 450px)"},items:e})},{type:N.Component,desktopColumns:"6",tabletColumns:"6",phoneColumns:"12",fieldRightMargin:"1",fieldBottomMargin:"1",element:({successRate:e})=>{const o=e.map(({symbol:e,displayName:o,rejectedCloseCount:a,rejectedStopLossCount:n,resolvedCloseCount:l,resolvedTakeProfitCount:i})=>({title:o||e,description:e,avatar:()=>t(K,{symbol:e}),done:i,archive:n,waiting:a,inprogress:l})).filter(({done:e,archive:t,waiting:o,inprogress:a})=>{let n=!1;return n=n||!!e,n=n||!!t,n=n||!!o,n=n||!!a,n});return t(dt,{sx:{height:"max(calc((100dvh - 100px) / 2), 450px)"},items:o})}},{type:N.Component,desktopColumns:"6",tabletColumns:"6",phoneColumns:"12",fieldRightMargin:"1",fieldBottomMargin:"1",element:({payload:e})=>t(kt,{sx:{height:"max(calc((100dvh - 100px) / 2), 450px)"},mode:e.mode})}],Pt={rejectedCount:0,resolvedCount:0,total:0},St=[{action:"download-action",label:"Download",icon:()=>t(V,{icon:H,color:"#4caf50"})},{divider:!0},{action:"live-action",label:"Switch to LIVE",isVisible:e=>"backtest"===e,icon:()=>t(V,{icon:G,color:"#4caf50"})},{action:"backtest-action",label:"Switch to BACKTEST",isVisible:e=>"live"===e,icon:()=>t(V,{icon:_,color:"#4caf50"})},{divider:!0},{action:"update-now",label:"Refresh manually",icon:()=>t(V,{icon:J,color:"#4caf50"})}],Lt=[{type:W.Link,action:"back-action",label:t(q,{sx:{display:"block"}})},{type:W.Link,action:"back-action",label:"Main"},{type:W.Link,action:"back-action",label:"Dashboard"},{type:W.Link,action:"back-action",compute:e=>`KPI ${String(e).toUpperCase()}`}],Mt=new F,Nt=({mode:e="backtest"})=>{const[a,{loading:n,execute:l}]=E(async()=>{const t=await o.symbolGlobalService.getSymbolList(),a=await o.symbolGlobalService.getSymbolMap(),n=new Map,l=[],i={...Pt};let r={symbol:"TOTAL",todayRevenue:0,yesterdayRevenue:0,sevenDaysRevenue:0,thirtyOneDaysRevenue:0,todayCount:0,yesterdayCount:0,sevenDaysCount:0,thirtyOneDaysCount:0};await Promise.all(t.map(async t=>{var o;const[s=[],c,d,p]=await Promise.all([ie(t,e),le(t,e),ne(t,e),re(t,e)]);for(const e of s){const t=n.get(e.stamp)||{count:0,resolved:0,rejected:0};n.set(e.stamp,{count:t.count+e.count,resolved:t.resolved+e.resolved,rejected:t.rejected+e.rejected})}l.push({...c,symbol:t,displayName:(null==(o=a[t])?void 0:o.displayName)||t}),i.rejectedCount+=d.rejectedCount,i.resolvedCount+=d.resolvedCount,i.total+=d.total,r.todayRevenue+=p.todayRevenue,r.yesterdayRevenue+=p.yesterdayRevenue,r.sevenDaysRevenue+=p.sevenDaysRevenue,r.thirtyOneDaysRevenue+=p.thirtyOneDaysRevenue,r.todayCount+=p.todayCount,r.yesterdayCount+=p.yesterdayCount,r.sevenDaysCount+=p.sevenDaysCount,r.thirtyOneDaysCount+=p.thirtyOneDaysCount}));return{dailyTrades:Array.from(n).map(([e,{count:t,resolved:o,rejected:a}])=>({stamp:e,count:t,resolved:o,rejected:a})),successRate:l,tradePerfomance:i,revenueCount:r}},{onLoadStart:()=>o.layoutService.setModalLoader(!0),onLoadEnd:()=>o.layoutService.setModalLoader(!1),deps:[e]}),{execute:i}=O(async()=>{const t=await oe(e),a=new Blob([JSON.stringify(t,null,2)],{type:"application/json"}),n=URL.createObjectURL(a);o.layoutService.downloadFile(n,`signals_${e}_${Date.now()}.json`)},{onLoadStart:()=>o.layoutService.setAppbarLoader(!0),onLoadEnd:()=>o.layoutService.setAppbarLoader(!1)});z(()=>Mt.subscribe(l));return t(X,{children:[t(U,{items:Lt,actions:St,payload:e,onAction:async e=>{"download-action"===e&&await i(),"update-now"===e&&(oe.clear(),await Mt.next()),"live-action"===e&&o.routerService.push("/dashboard/live"),"backtest-action"===e&&o.routerService.push("/dashboard/backtest"),"back-action"===e&&o.routerService.push("/")}}),a?n?null:t(Y,{handler:a,payload:()=>({handleUpdate(){Mt.next()},mode:e}),fields:wt}):null]})};export{Nt as DashboardPage,Nt as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as a,f as e,T as t,L as o,bg as n,H as i,P as l,p as r,Z as c,i as s,a0 as d,v as p,w as h,y as m,z as y,A as w,E as u,G as x,x as f,aZ as b,q as g,aY as v}from"./index-DzrwP4k5.js";import{h as S}from"./hasRouteMatch-CcXyiBjV.js";import{r as L}from"./emitters-BJfdDGbd.js";import{I as k}from"./IconPhoto-BitDk5sL.js";import{C as D,R}from"./Refresh-BgupECvn.js";import{K as A}from"./KeyboardArrowLeft-BT0IHVDD.js";const j=a(e("path",{d:"M20 2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H8V4h12v12zM4 6H2v14c0 1.1.9 2 2 2h14v-2H4V6zm12 6V9c0-.55-.45-1-1-1h-2v5h2c.55 0 1-.45 1-1zm-2-3h1v3h-1V9zm4 2h1v-1h-1V9h1V8h-2v5h1zm-8 0h1c.55 0 1-.45 1-1V9c0-.55-.45-1-1-1H9v5h1v-2zm0-2h1v1h-1V9z"}),"PictureAsPdfOutlined"),N=r()(a=>({root:{position:"relative",background:"#0001",overflow:"clip"},header:{position:"absolute",top:0,left:0,height:"48px",width:"calc(100% - 16px)",display:"flex",alignItems:"center",justifyContent:"space-between",marginLeft:"8px",marginRight:"8px"},container:{marginTop:"48px",width:"100%",background:"#fff",display:"flex",alignItems:"center",justifyContent:"center"},content:{display:"flex",width:"100%",padding:a.spacing(1),paddingBottom:a.spacing(2),gap:10,flexDirection:"column"},avatar:{display:"flex",alignItems:"center",justifyContent:"center",minHeight:"128px",minWidth:"128px"}})),V=[{type:i.Text,name:"totalPnl",title:"Total PNL",compute:a=>null!==a.totalPnl?`${a.totalPnl.toFixed(2)}%`:"N/A",readonly:!0},{type:i.Text,columns:"6",name:"winRate",title:"Win Rate",compute:a=>null!==a.winRate?`${a.winRate.toFixed(2)}%`:"N/A",readonly:!0},{type:i.Text,columns:"6",name:"profitFactor",title:"Profit Factor",compute:a=>null!==a.profitFactor?a.profitFactor.toFixed(2):"N/A",readonly:!0},{type:i.Text,columns:"6",name:"maxDrawdown",title:"Max Drawdown",compute:a=>null!==a.maxDrawdown?`${a.maxDrawdown.toFixed(2)}%`:"N/A",readonly:!0},{type:i.Text,columns:"6",name:"expectancy",title:"Expectancy",compute:a=>null!==a.expectancy?`${a.expectancy.toFixed(2)}%`:"N/A",readonly:!0},{type:i.Text,fieldBottomMargin:"0",name:"totalTrades",title:"Trades",readonly:!0}],F=({row:a})=>{const{classes:i}=N();return e(l,{className:i.root,children:[e("div",{className:i.header,children:e(t,{variant:"h6",sx:{opacity:.8},children:`${o.bullet} ${a.symbol}`})}),e("div",{className:i.container,children:e("div",{className:i.content,children:[e("div",{className:i.avatar,children:e(k,{symbol:a.symbol,sx:{width:128,height:128}})}),e(n,{handler:()=>a,fields:V,sx:{mb:2}})]})})]})},H=[{type:h.Link,action:"back-action",label:e(A,{sx:{display:"block"}})},{type:h.Link,action:"back-action",label:"Dashboard"},{type:h.Link,action:"back-action",label:"Heatmap"},{type:h.Button,action:"download-pdf",label:"Download PDF",icon:j}],T=[{action:"download-json",label:"Download JSON",icon:()=>e(y,{icon:m,color:"#4caf50"})},{action:"download-markdown",label:"Download Markdown",icon:()=>e(y,{icon:w,color:"#4caf50"})},{action:"download-pdf",label:"Download PDF",icon:()=>e(y,{icon:u,color:"#4caf50"})},{divider:!0},{action:"update-now",label:"Refresh",icon:()=>e(y,{icon:R,color:"#4caf50"})}],P=[{id:"main",element:()=>{const[a,{loading:t,execute:o}]=c(async()=>(a=>{if(!a.length)return[{type:i.Typography,typoVariant:"h6",placeholder:"No data",sx:{textAlign:"center",opacity:.5,mt:4}}];const t=a.map(a=>({type:i.Group,desktopColumns:"4",tabletColumns:"6",phoneColumns:"12",fieldRightMargin:"1",fieldBottomMargin:"1",child:{type:i.Component,element:()=>e(F,{row:a})}}));return t.length>2?t:[{type:i.Center,sx:a=>({[a.breakpoints.up("lg")]:{height:"calc(100dvh - 165px)","& > *":{transform:"translateY(-56px)"}}}),fields:t}]})((await s.heatViewService.getStrategyHeatData()).symbols),{onLoadStart:()=>s.layoutService.setAppbarLoader(!0),onLoadEnd:()=>s.layoutService.setAppbarLoader(!1)});d(()=>L.subscribe(o));return e(D,{children:[e(p,{items:H,actions:T,onAction:async a=>{"back-action"===a&&s.routerService.push("/"),"update-now"===a&&await L.next(),"download-markdown"===a&&await(async()=>{const a=await s.heatViewService.getStrategyHeatReport(),e=new Blob([a],{type:"text/plain"}),t=URL.createObjectURL(e);s.layoutService.downloadFile(t,`heat_${Date.now()}.md`)})(),"download-pdf"===a&&await(async()=>{const a=await s.heatViewService.getStrategyHeatReport();await g(a)})(),"download-json"===a&&await(async()=>{const a=await s.heatViewService.getStrategyHeatData(),e=JSON.stringify(a,null,2),t=new Blob([e],{type:"text/plain"}),o=URL.createObjectURL(t);s.layoutService.downloadFile(o,`heat_${Date.now()}.md`)})()}}),!a||t?e(x,{sx:{height:"calc(100dvh - 165px)"}}):e(b,{withScrollbar:!0,sx:{height:"calc(100dvh - 165px)"},hideOverflowX:!0,children:e(f,{fields:a})})]})},isActive:a=>S(["/heat"],a)}],z=({id:a})=>e(v,{history:s.routerService,onLoadStart:()=>s.layoutService.setAppbarLoader(!0),onLoadEnd:()=>s.layoutService.setAppbarLoader(!1),routes:P,params:{id:a}});export{z as HeatPage,z as default};
|