@vninvestcharts/widget 0.0.0-stage → 0.2.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.
Files changed (676) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE.md +83 -0
  3. package/README.md +851 -3
  4. package/dist/AlertsModal-WKEUDTUZ.js +2 -0
  5. package/dist/ConnectedTradingPanel-KWJMIKTN.css +2 -0
  6. package/dist/ConnectedTradingPanel-XDKMOQY5.js +2 -0
  7. package/dist/PineEditorPanel-AUXB4FD3.js +2 -0
  8. package/dist/PineEditorPanel-V6YN2OTU.css +2 -0
  9. package/dist/RightSidebarDockHost-6FPZ6EKV.css +2 -0
  10. package/dist/RightSidebarDockHost-OBFXKSIY.js +2 -0
  11. package/dist/StrategyTesterPanel-6IUTS2P4.js +2 -0
  12. package/dist/StrategyTesterPanel-LEWEUMXP.css +2 -0
  13. package/dist/VolumeProfileWorker-UREKVPUE.js +189 -0
  14. package/dist/adapters/index.cjs +2532 -0
  15. package/dist/adapters/index.d.mts +673 -0
  16. package/dist/adapters/index.d.ts +673 -0
  17. package/dist/adapters/index.js +2521 -0
  18. package/dist/adapters/index.umd.js +2535 -0
  19. package/dist/chunk-5T6DGB3V.js +2 -0
  20. package/dist/chunk-66JBEGR3.js +4 -0
  21. package/dist/chunk-6D7DVBIK.js +2 -0
  22. package/dist/chunk-76E7CKUD.js +2 -0
  23. package/dist/chunk-AKWVXRQ6.js +2 -0
  24. package/dist/chunk-FHHSTO6Z.js +2 -0
  25. package/dist/chunk-HPL723JA.js +2 -0
  26. package/dist/chunk-NVGTF73S.js +2 -0
  27. package/dist/chunk-PNIB4OM3.js +2 -0
  28. package/dist/chunk-UKJ5AKQX.js +595 -0
  29. package/dist/chunk-UYJTX3SD.js +2 -0
  30. package/dist/combined.css +3068 -0
  31. package/dist/css-modules-manifest.json +297 -0
  32. package/dist/dist-Y6PZ2RN3.js +12 -0
  33. package/dist/drawing/index.cjs +53 -0
  34. package/dist/drawing/index.d.mts +2 -0
  35. package/dist/drawing/index.d.ts +2 -0
  36. package/dist/drawing/index.js +2 -0
  37. package/dist/drawing/index.umd.js +54 -0
  38. package/dist/dts/drawing-shim.d.ts +3 -0
  39. package/dist/dts/index.d.ts +31 -0
  40. package/dist/dts/lib/Chart.d.ts +31 -0
  41. package/dist/dts/lib/ChartContext.d.ts +10 -0
  42. package/dist/dts/lib/EventCapture.d.ts +3 -0
  43. package/dist/dts/lib/GenericChartComponent.d.ts +5 -0
  44. package/dist/dts/lib/GenericComponent.d.ts +124 -0
  45. package/dist/dts/lib/StockChartContext.d.ts +53 -0
  46. package/dist/dts/lib/adapters/BaseAdapter.d.ts +25 -0
  47. package/dist/dts/lib/adapters/BinanceAdapter.d.ts +51 -0
  48. package/dist/dts/lib/adapters/CSVAdapter.d.ts +17 -0
  49. package/dist/dts/lib/adapters/ContinuousContractAdapter.d.ts +63 -0
  50. package/dist/dts/lib/adapters/ContinuousContractTypes.d.ts +154 -0
  51. package/dist/dts/lib/adapters/DBAdapter.d.ts +16 -0
  52. package/dist/dts/lib/adapters/DataAdapter.d.ts +136 -0
  53. package/dist/dts/lib/adapters/DjangoVnstockAdapter.d.ts +15 -0
  54. package/dist/dts/lib/adapters/LocalCacheAdapter.d.ts +18 -0
  55. package/dist/dts/lib/adapters/MockAdapter.d.ts +22 -0
  56. package/dist/dts/lib/adapters/RESTAdapter.d.ts +16 -0
  57. package/dist/dts/lib/adapters/StockDataAdapter.d.ts +1 -0
  58. package/dist/dts/lib/adapters/UDFDataAdapter.d.ts +29 -0
  59. package/dist/dts/lib/adapters/VNStocksAdapter.d.ts +8 -0
  60. package/dist/dts/lib/adapters/WSAdapter.d.ts +30 -0
  61. package/dist/dts/lib/adapters/gapFixture.d.ts +71 -0
  62. package/dist/dts/lib/adapters/index.d.ts +15 -0
  63. package/dist/dts/lib/adapters/rollAlgorithms.d.ts +68 -0
  64. package/dist/dts/lib/advisory/AdvisoryPanel.d.ts +5 -0
  65. package/dist/dts/lib/alerts/AlertEvaluator.d.ts +5 -0
  66. package/dist/dts/lib/alerts/AlertManager.d.ts +123 -0
  67. package/dist/dts/lib/alerts/types.d.ts +58 -0
  68. package/dist/dts/lib/cache/cacheDebug.d.ts +3 -0
  69. package/dist/dts/lib/calendars/ExchangeCalendar.d.ts +23 -0
  70. package/dist/dts/lib/calendars/calendarRegistry.d.ts +10 -0
  71. package/dist/dts/lib/calendars/index.d.ts +3 -0
  72. package/dist/dts/lib/core/ChartPane.d.ts +8 -0
  73. package/dist/dts/lib/core/ChartSplitter.d.ts +70 -0
  74. package/dist/dts/lib/core/ChartTerminal.d.ts +12 -0
  75. package/dist/dts/lib/core/ErrorBoundary.d.ts +17 -0
  76. package/dist/dts/lib/core/IndicatorLegend.d.ts +47 -0
  77. package/dist/dts/lib/core/PaneHeader.d.ts +24 -0
  78. package/dist/dts/lib/core/PaneLabel.d.ts +8 -0
  79. package/dist/dts/lib/core/PaneSplitter.d.ts +9 -0
  80. package/dist/dts/lib/core/SeriesPicker.d.ts +10 -0
  81. package/dist/dts/lib/core/calculators/alignBarsByDate.d.ts +38 -0
  82. package/dist/dts/lib/core/calculators/buildIndicatorComputationPlan.d.ts +16 -0
  83. package/dist/dts/lib/core/calculators/calcCVDApprox.d.ts +6 -0
  84. package/dist/dts/lib/core/calculators/calcStrengthElder.d.ts +7 -0
  85. package/dist/dts/lib/core/calculators/calcWhaleApprox.d.ts +6 -0
  86. package/dist/dts/lib/core/calculators/computationHelpers.d.ts +12 -0
  87. package/dist/dts/lib/core/calculators/computeIndicatorComputationResult.d.ts +3 -0
  88. package/dist/dts/lib/core/calculators/computeMarketStructure.d.ts +8 -0
  89. package/dist/dts/lib/core/calculators/computeMomentum.d.ts +22 -0
  90. package/dist/dts/lib/core/calculators/computeMovingAverage.d.ts +15 -0
  91. package/dist/dts/lib/core/calculators/computeProfile.d.ts +9 -0
  92. package/dist/dts/lib/core/calculators/computeTrend.d.ts +10 -0
  93. package/dist/dts/lib/core/calculators/computeVolatility.d.ts +14 -0
  94. package/dist/dts/lib/core/calculators/computeVolumeFlow.d.ts +19 -0
  95. package/dist/dts/lib/core/calculators/enrichData.d.ts +7 -0
  96. package/dist/dts/lib/core/calculators/enrichDataWithCanonicalStore.d.ts +33 -0
  97. package/dist/dts/lib/core/calculators/exoticChartData.d.ts +140 -0
  98. package/dist/dts/lib/core/calculators/fixtures/mockData.d.ts +2 -0
  99. package/dist/dts/lib/core/calculators/indicatorComputation.d.ts +27 -0
  100. package/dist/dts/lib/core/calculators/indicatorComputationTypes.d.ts +249 -0
  101. package/dist/dts/lib/core/calculators/materializeIndicatorValues.d.ts +3 -0
  102. package/dist/dts/lib/core/calculators/normalizePrices.d.ts +36 -0
  103. package/dist/dts/lib/core/calculators/resolveCalculationOrder.d.ts +17 -0
  104. package/dist/dts/lib/core/calculators/types.d.ts +269 -0
  105. package/dist/dts/lib/core/canvas/ChartRenderContext.d.ts +14 -0
  106. package/dist/dts/lib/core/canvas/OverlayCanvas.d.ts +19 -0
  107. package/dist/dts/lib/core/context/ChartSyncContext.d.ts +21 -0
  108. package/dist/dts/lib/core/context/DataContext.d.ts +15 -0
  109. package/dist/dts/lib/core/context/PaneManagerContext.d.ts +10 -0
  110. package/dist/dts/lib/core/hooks/paneSizingHelpers.d.ts +13 -0
  111. package/dist/dts/lib/core/hooks/useCanvasResize.d.ts +8 -0
  112. package/dist/dts/lib/core/hooks/useChartTheme.d.ts +12 -0
  113. package/dist/dts/lib/core/hooks/useDynamicPanes.d.ts +155 -0
  114. package/dist/dts/lib/core/hooks/useIndicatorSets.d.ts +20 -0
  115. package/dist/dts/lib/core/hooks/usePaneManager.d.ts +39 -0
  116. package/dist/dts/lib/core/hooks/usePaneSizes.d.ts +52 -0
  117. package/dist/dts/lib/core/index.d.ts +41 -0
  118. package/dist/dts/lib/core/paneScaleSlotDomains.d.ts +3 -0
  119. package/dist/dts/lib/core/registry/SeriesRegistry.d.ts +22 -0
  120. package/dist/dts/lib/core/registry/filterPanesBySeriesTier.d.ts +43 -0
  121. package/dist/dts/lib/core/registry/marketStructure.d.ts +7 -0
  122. package/dist/dts/lib/core/registry/momentum.d.ts +20 -0
  123. package/dist/dts/lib/core/registry/movingAverage.d.ts +14 -0
  124. package/dist/dts/lib/core/registry/priceChartTypes.d.ts +16 -0
  125. package/dist/dts/lib/core/registry/profile.d.ts +8 -0
  126. package/dist/dts/lib/core/registry/registerAll.d.ts +1 -0
  127. package/dist/dts/lib/core/registry/registerPhaseOne.d.ts +3 -0
  128. package/dist/dts/lib/core/registry/registryCore.d.ts +77 -0
  129. package/dist/dts/lib/core/registry/trend.d.ts +11 -0
  130. package/dist/dts/lib/core/registry/volatility.d.ts +11 -0
  131. package/dist/dts/lib/core/registry/volumeFlow.d.ts +20 -0
  132. package/dist/dts/lib/core/replay/BarReplayController.d.ts +62 -0
  133. package/dist/dts/lib/core/replay/ReplayEventBus.d.ts +68 -0
  134. package/dist/dts/lib/core/replay/ReplayFillSimulator.d.ts +33 -0
  135. package/dist/dts/lib/core/replay/ReplayOrderBook.d.ts +24 -0
  136. package/dist/dts/lib/core/replay/ReplayPositionManager.d.ts +30 -0
  137. package/dist/dts/lib/core/replay/ReplaySessionAnalytics.d.ts +31 -0
  138. package/dist/dts/lib/core/replay/createReplayTradeMarkerPrimitives.d.ts +7 -0
  139. package/dist/dts/lib/core/replay/pnlUtils.d.ts +2 -0
  140. package/dist/dts/lib/core/replay/replayBrokerAdapters.d.ts +51 -0
  141. package/dist/dts/lib/core/replay/replayTradingTypes.d.ts +61 -0
  142. package/dist/dts/lib/core/scales/computeScales.d.ts +8 -0
  143. package/dist/dts/lib/core/seriesValueResolver.d.ts +27 -0
  144. package/dist/dts/lib/core/sets/builtins.d.ts +2 -0
  145. package/dist/dts/lib/core/sets/indicatorSetCodec.d.ts +15 -0
  146. package/dist/dts/lib/core/trading/AnalyticsEngine.d.ts +56 -0
  147. package/dist/dts/lib/core/trading/BrokerAPI.d.ts +40 -0
  148. package/dist/dts/lib/core/trading/ExecutionSimulator.d.ts +53 -0
  149. package/dist/dts/lib/core/trading/FillSettlement.d.ts +38 -0
  150. package/dist/dts/lib/core/trading/MarketDataPort.d.ts +41 -0
  151. package/dist/dts/lib/core/trading/MarketRules.d.ts +58 -0
  152. package/dist/dts/lib/core/trading/OrderManagementSystem.d.ts +57 -0
  153. package/dist/dts/lib/core/trading/PositionManager.d.ts +79 -0
  154. package/dist/dts/lib/core/trading/RiskEngine.d.ts +40 -0
  155. package/dist/dts/lib/core/trading/SettlementCalendar.d.ts +10 -0
  156. package/dist/dts/lib/core/trading/VirtualBrokerEngine.d.ts +92 -0
  157. package/dist/dts/lib/core/trading/orderMargin.d.ts +3 -0
  158. package/dist/dts/lib/core/trading/storage/InMemoryStorageAdapter.d.ts +10 -0
  159. package/dist/dts/lib/core/trading/storage/TradingStorage.d.ts +34 -0
  160. package/dist/dts/lib/core/trading/types.d.ts +99 -0
  161. package/dist/dts/lib/core/types/chart.d.ts +21 -0
  162. package/dist/dts/lib/core/types/indicator-catalog.d.ts +38 -0
  163. package/dist/dts/lib/core/types/indicator-set.d.ts +19 -0
  164. package/dist/dts/lib/core/types/pane-descriptor.d.ts +46 -0
  165. package/dist/dts/lib/core/types/seriesComponents.d.ts +15 -0
  166. package/dist/dts/lib/credentials/credentialStore.d.ts +93 -0
  167. package/dist/dts/lib/helper/SaveChartAsImage.d.ts +90 -0
  168. package/dist/dts/lib/indicator/defaultOptionsForAppearance.d.ts +105 -0
  169. package/dist/dts/lib/indicators/builtin/MTFWrapper.d.ts +3 -0
  170. package/dist/dts/lib/indicators/builtin/VolumeProfileWorker.d.ts +19 -0
  171. package/dist/dts/lib/indicators/builtin/ac.d.ts +4 -0
  172. package/dist/dts/lib/indicators/builtin/alligator.d.ts +5 -0
  173. package/dist/dts/lib/indicators/builtin/anchoredVwap.d.ts +5 -0
  174. package/dist/dts/lib/indicators/builtin/ao.d.ts +4 -0
  175. package/dist/dts/lib/indicators/builtin/bbi.d.ts +10 -0
  176. package/dist/dts/lib/indicators/builtin/bias.d.ts +4 -0
  177. package/dist/dts/lib/indicators/builtin/bollinger.d.ts +9 -0
  178. package/dist/dts/lib/indicators/builtin/brar.d.ts +4 -0
  179. package/dist/dts/lib/indicators/builtin/cci.d.ts +4 -0
  180. package/dist/dts/lib/indicators/builtin/chaikinOscillator.d.ts +14 -0
  181. package/dist/dts/lib/indicators/builtin/chaikinVol.d.ts +4 -0
  182. package/dist/dts/lib/indicators/builtin/ci.d.ts +4 -0
  183. package/dist/dts/lib/indicators/builtin/cmf.d.ts +4 -0
  184. package/dist/dts/lib/indicators/builtin/cr.d.ts +4 -0
  185. package/dist/dts/lib/indicators/builtin/cvd.d.ts +4 -0
  186. package/dist/dts/lib/indicators/builtin/deltaProfile.d.ts +5 -0
  187. package/dist/dts/lib/indicators/builtin/dema.d.ts +4 -0
  188. package/dist/dts/lib/indicators/builtin/dma.d.ts +4 -0
  189. package/dist/dts/lib/indicators/builtin/dmi.d.ts +4 -0
  190. package/dist/dts/lib/indicators/builtin/donchian.d.ts +5 -0
  191. package/dist/dts/lib/indicators/builtin/ema.d.ts +4 -0
  192. package/dist/dts/lib/indicators/builtin/emv.d.ts +4 -0
  193. package/dist/dts/lib/indicators/builtin/footprint.d.ts +5 -0
  194. package/dist/dts/lib/indicators/builtin/fractals.d.ts +5 -0
  195. package/dist/dts/lib/indicators/builtin/gator.d.ts +5 -0
  196. package/dist/dts/lib/indicators/builtin/hma.d.ts +4 -0
  197. package/dist/dts/lib/indicators/builtin/hv.d.ts +4 -0
  198. package/dist/dts/lib/indicators/builtin/ichimoku.d.ts +5 -0
  199. package/dist/dts/lib/indicators/builtin/kdj.d.ts +4 -0
  200. package/dist/dts/lib/indicators/builtin/keltner.d.ts +5 -0
  201. package/dist/dts/lib/indicators/builtin/ma.d.ts +10 -0
  202. package/dist/dts/lib/indicators/builtin/maRibbon.d.ts +5 -0
  203. package/dist/dts/lib/indicators/builtin/macd.d.ts +9 -0
  204. package/dist/dts/lib/indicators/builtin/marketProfile.d.ts +5 -0
  205. package/dist/dts/lib/indicators/builtin/mfi.d.ts +4 -0
  206. package/dist/dts/lib/indicators/builtin/mtm.d.ts +4 -0
  207. package/dist/dts/lib/indicators/builtin/obv.d.ts +10 -0
  208. package/dist/dts/lib/indicators/builtin/pivotHighLow.d.ts +5 -0
  209. package/dist/dts/lib/indicators/builtin/pivotStandard.d.ts +5 -0
  210. package/dist/dts/lib/indicators/builtin/psy.d.ts +4 -0
  211. package/dist/dts/lib/indicators/builtin/pvt.d.ts +4 -0
  212. package/dist/dts/lib/indicators/builtin/roc.d.ts +4 -0
  213. package/dist/dts/lib/indicators/builtin/rsi.d.ts +4 -0
  214. package/dist/dts/lib/indicators/builtin/sar.d.ts +10 -0
  215. package/dist/dts/lib/indicators/builtin/sma.d.ts +4 -0
  216. package/dist/dts/lib/indicators/builtin/smfi.d.ts +8 -0
  217. package/dist/dts/lib/indicators/builtin/stdDev.d.ts +4 -0
  218. package/dist/dts/lib/indicators/builtin/strengthRelative.d.ts +7 -0
  219. package/dist/dts/lib/indicators/builtin/supertrend.d.ts +5 -0
  220. package/dist/dts/lib/indicators/builtin/tema.d.ts +4 -0
  221. package/dist/dts/lib/indicators/builtin/trix.d.ts +4 -0
  222. package/dist/dts/lib/indicators/builtin/volOsc.d.ts +4 -0
  223. package/dist/dts/lib/indicators/builtin/volume.d.ts +4 -0
  224. package/dist/dts/lib/indicators/builtin/volumeProfile.d.ts +8 -0
  225. package/dist/dts/lib/indicators/builtin/vr.d.ts +10 -0
  226. package/dist/dts/lib/indicators/builtin/vwap.d.ts +5 -0
  227. package/dist/dts/lib/indicators/builtin/vwma.d.ts +4 -0
  228. package/dist/dts/lib/indicators/builtin/wma.d.ts +4 -0
  229. package/dist/dts/lib/indicators/builtin/wr.d.ts +10 -0
  230. package/dist/dts/lib/indicators/builtin/wyckoffWave.d.ts +15 -0
  231. package/dist/dts/lib/indicators/index.d.ts +63 -0
  232. package/dist/dts/lib/indicators/indicatorValueShapes.d.ts +15 -0
  233. package/dist/dts/lib/indicators/outputKeys.d.ts +50 -0
  234. package/dist/dts/lib/indicators/overlays/CVDIndicator.d.ts +26 -0
  235. package/dist/dts/lib/indicators/overlays/DarkFlowBadge.d.ts +19 -0
  236. package/dist/dts/lib/indicators/overlays/ExternalCVDOverlay.d.ts +15 -0
  237. package/dist/dts/lib/indicators/overlays/WhaleBubbleOverlay.d.ts +14 -0
  238. package/dist/dts/lib/indicators/overlays/WhaleMarketBubbleOverlay.d.ts +27 -0
  239. package/dist/dts/lib/indicators/overlays/whaleDetector.d.ts +66 -0
  240. package/dist/dts/lib/indicators/registry.d.ts +6 -0
  241. package/dist/dts/lib/indicators/types.d.ts +5 -0
  242. package/dist/dts/lib/indicators/utils.d.ts +259 -0
  243. package/dist/dts/lib/pinescript/PineCompiler.d.ts +34 -0
  244. package/dist/dts/lib/pinescript/ast.d.ts +73 -0
  245. package/dist/dts/lib/pinescript/compile.d.ts +40 -0
  246. package/dist/dts/lib/pinescript/grammar.d.ts +12 -0
  247. package/dist/dts/lib/pinescript/pine.worker.d.ts +1 -0
  248. package/dist/dts/lib/pinescript/pineBlocks.d.ts +54 -0
  249. package/dist/dts/lib/pinescript/pineBuiltins.d.ts +47 -0
  250. package/dist/dts/lib/pinescript/pineEnv.d.ts +46 -0
  251. package/dist/dts/lib/pinescript/pineMath.d.ts +13 -0
  252. package/dist/dts/lib/pinescript/pineParse.d.ts +25 -0
  253. package/dist/dts/lib/pinescript/pineStrings.d.ts +50 -0
  254. package/dist/dts/lib/pinescript/runtime.d.ts +5 -0
  255. package/dist/dts/lib/pinescript/scriptRegistry.d.ts +40 -0
  256. package/dist/dts/lib/pinescript/series-value.d.ts +64 -0
  257. package/dist/dts/lib/pinescript/vnscript-completion.d.ts +1 -0
  258. package/dist/dts/lib/pinescript/vnscript-grammar.d.ts +19 -0
  259. package/dist/dts/lib/scale/discontinuousTimeScaleProvider.d.ts +3 -0
  260. package/dist/dts/lib/scale/financeDiscontinuousScale.d.ts +15 -0
  261. package/dist/dts/lib/scale/index.d.ts +1 -0
  262. package/dist/dts/lib/scale/levels.d.ts +12 -0
  263. package/dist/dts/lib/series/AlternatingFillAreaSeries.d.ts +13 -0
  264. package/dist/dts/lib/series/AreaOnlySeries.d.ts +10 -0
  265. package/dist/dts/lib/series/AreaSeries.d.ts +30 -0
  266. package/dist/dts/lib/series/BarSeries.d.ts +40 -0
  267. package/dist/dts/lib/series/BollingerSeries.d.ts +11 -0
  268. package/dist/dts/lib/series/CandlestickSeries.d.ts +56 -0
  269. package/dist/dts/lib/series/CircleMarker.d.ts +28 -0
  270. package/dist/dts/lib/series/ElderRaySeries.d.ts +14 -0
  271. package/dist/dts/lib/series/FootprintSeries.d.ts +21 -0
  272. package/dist/dts/lib/series/GroupedBarSeries.d.ts +9 -0
  273. package/dist/dts/lib/series/HTFOverlaySeries.d.ts +32 -0
  274. package/dist/dts/lib/series/HistogramSeries.d.ts +51 -0
  275. package/dist/dts/lib/series/KagiSeries.d.ts +9 -0
  276. package/dist/dts/lib/series/LineBreakSeries.d.ts +28 -0
  277. package/dist/dts/lib/series/LineSeries.d.ts +54 -0
  278. package/dist/dts/lib/series/MACDSeries.d.ts +28 -0
  279. package/dist/dts/lib/series/MarketProfileSeries.d.ts +18 -0
  280. package/dist/dts/lib/series/OHLCSeries.d.ts +9 -0
  281. package/dist/dts/lib/series/OverlayBarSeries.d.ts +9 -0
  282. package/dist/dts/lib/series/PointAndFigureSeries.d.ts +45 -0
  283. package/dist/dts/lib/series/RSISeries.d.ts +38 -0
  284. package/dist/dts/lib/series/RenkoSeries.d.ts +9 -0
  285. package/dist/dts/lib/series/SARSeries.d.ts +10 -0
  286. package/dist/dts/lib/series/SVGComponent.d.ts +5 -0
  287. package/dist/dts/lib/series/ScatterSeries.d.ts +9 -0
  288. package/dist/dts/lib/series/SquareMarker.d.ts +28 -0
  289. package/dist/dts/lib/series/StackedBarSeries.d.ts +19 -0
  290. package/dist/dts/lib/series/StochasticSeries.d.ts +9 -0
  291. package/dist/dts/lib/series/StraightLine.d.ts +18 -0
  292. package/dist/dts/lib/series/TriangleMarker.d.ts +30 -0
  293. package/dist/dts/lib/series/VolumeProfileSeries.d.ts +9 -0
  294. package/dist/dts/lib/series/index.d.ts +28 -0
  295. package/dist/dts/lib/strategy/BrokerSimulator.d.ts +11 -0
  296. package/dist/dts/lib/strategy/types.d.ts +35 -0
  297. package/dist/dts/lib/tape/TapePanel.d.ts +5 -0
  298. package/dist/dts/lib/types/adapter.d.ts +1 -0
  299. package/dist/dts/lib/types/index.d.ts +5 -0
  300. package/dist/dts/lib/types/indicator.d.ts +11 -0
  301. package/dist/dts/lib/types/ohlcv.d.ts +1 -0
  302. package/dist/dts/lib/types/pane.d.ts +23 -0
  303. package/dist/dts/lib/types/runtime.d.ts +11 -0
  304. package/dist/dts/lib/types/vninvest.d.ts +320 -0
  305. package/dist/dts/lib/types.d.ts +45 -0
  306. package/dist/dts/lib/utils/ChartDataUtil.d.ts +26 -0
  307. package/dist/dts/lib/utils/PureComponent.d.ts +5 -0
  308. package/dist/dts/lib/utils/accumulatingWindow.d.ts +1 -0
  309. package/dist/dts/lib/utils/axisPriceFormat.d.ts +6 -0
  310. package/dist/dts/lib/utils/barWidth.d.ts +14 -0
  311. package/dist/dts/lib/utils/identity.d.ts +1 -0
  312. package/dist/dts/lib/utils/index.d.ts +70 -0
  313. package/dist/dts/lib/utils/logger.d.ts +28 -0
  314. package/dist/dts/lib/utils/mappedSlidingWindow.d.ts +1 -0
  315. package/dist/dts/lib/utils/merge.d.ts +6 -0
  316. package/dist/dts/lib/utils/noop.d.ts +1 -0
  317. package/dist/dts/lib/utils/rebind.d.ts +1 -0
  318. package/dist/dts/lib/utils/shallowEqual.d.ts +1 -0
  319. package/dist/dts/lib/utils/slidingWindow.d.ts +1 -0
  320. package/dist/dts/lib/utils/storage.d.ts +32 -0
  321. package/dist/dts/lib/utils/strokeDasharray.d.ts +3 -0
  322. package/dist/dts/lib/utils/timezoneFormatter.d.ts +14 -0
  323. package/dist/dts/lib/utils/zipper.d.ts +4 -0
  324. package/dist/dts/public-api.d.ts +31 -0
  325. package/dist/dts/widget/BackfillWorkerFlags.d.ts +12 -0
  326. package/dist/dts/widget/CanaryRollbackHelper.d.ts +95 -0
  327. package/dist/dts/widget/CanaryRolloutConfig.d.ts +100 -0
  328. package/dist/dts/widget/DrawingPriceLabelsOverlay.d.ts +20 -0
  329. package/dist/dts/widget/ForkDrawingsOverlay.d.ts +16 -0
  330. package/dist/dts/widget/MeasurementOverlay.d.ts +24 -0
  331. package/dist/dts/widget/VNInvestCharts.d.ts +5 -0
  332. package/dist/dts/widget/VNInvestChartsProps.d.ts +302 -0
  333. package/dist/dts/widget/VNInvestMultiCharts.d.ts +8 -0
  334. package/dist/dts/widget/VNInvestMultiCharts.types.d.ts +130 -0
  335. package/dist/dts/widget/WidgetEmptyState.d.ts +11 -0
  336. package/dist/dts/widget/WidgetErrorBoundary.d.ts +26 -0
  337. package/dist/dts/widget/adapters/ContinuousFuturesStockDataAdapter.d.ts +18 -0
  338. package/dist/dts/widget/adapters/DataProviderAdapterWrapper.d.ts +14 -0
  339. package/dist/dts/widget/adapters/MultiSourceDataAdapter.d.ts +24 -0
  340. package/dist/dts/widget/adapters/VNInvestClient.d.ts +161 -0
  341. package/dist/dts/widget/adapters/VNInvestDataAdapter.d.ts +77 -0
  342. package/dist/dts/widget/adapters/VNInvestWebSocketClient.d.ts +79 -0
  343. package/dist/dts/widget/adapters/barsPagingPolicy.d.ts +18 -0
  344. package/dist/dts/widget/adapters/corporateEvents.d.ts +13 -0
  345. package/dist/dts/widget/adapters/index.d.ts +20 -0
  346. package/dist/dts/widget/adapters/nativeShapes.d.ts +32 -0
  347. package/dist/dts/widget/adapters/watchlistRealtimeSync.d.ts +16 -0
  348. package/dist/dts/widget/alerts/DrawingAlertsHost.d.ts +18 -0
  349. package/dist/dts/widget/alerts/useDrawingAlerts.d.ts +37 -0
  350. package/dist/dts/widget/canaryBarFiltering.d.ts +35 -0
  351. package/dist/dts/widget/capabilities/CapabilityResolver.d.ts +71 -0
  352. package/dist/dts/widget/capabilities/capabilityProbe.d.ts +28 -0
  353. package/dist/dts/widget/capabilities/useTierGatedFeatures.d.ts +48 -0
  354. package/dist/dts/widget/components/BottomPanelHost.d.ts +80 -0
  355. package/dist/dts/widget/components/BottomPanelSplitter.d.ts +15 -0
  356. package/dist/dts/widget/components/CapabilityGate.d.ts +65 -0
  357. package/dist/dts/widget/components/ChartDiagOverlay.d.ts +31 -0
  358. package/dist/dts/widget/components/ConfirmDialog.d.ts +12 -0
  359. package/dist/dts/widget/components/DowngradeBanner.d.ts +9 -0
  360. package/dist/dts/widget/components/ForkPaneSeparators.d.ts +11 -0
  361. package/dist/dts/widget/components/ForkPaneTooltips.d.ts +23 -0
  362. package/dist/dts/widget/components/ForkXAxisOverlay.d.ts +11 -0
  363. package/dist/dts/widget/components/ForkYAxisCrosshairLabels.d.ts +9 -0
  364. package/dist/dts/widget/components/LayoutDesigner.d.ts +26 -0
  365. package/dist/dts/widget/components/PremiumFeatureGate.d.ts +10 -0
  366. package/dist/dts/widget/components/ShortcutHelpModal.d.ts +44 -0
  367. package/dist/dts/widget/components/SystemMenu.d.ts +66 -0
  368. package/dist/dts/widget/components/Toast.d.ts +20 -0
  369. package/dist/dts/widget/components/canvas/BarCountdownBadge.d.ts +8 -0
  370. package/dist/dts/widget/components/canvas/ChartA11ySummary.d.ts +40 -0
  371. package/dist/dts/widget/components/canvas/ChartStatusLine.d.ts +39 -0
  372. package/dist/dts/widget/components/canvas/PricePaneHeader.d.ts +24 -0
  373. package/dist/dts/widget/components/canvas/PriceScaleMenu.d.ts +27 -0
  374. package/dist/dts/widget/components/canvas/TimeAxisScrollbar.d.ts +18 -0
  375. package/dist/dts/widget/components/common/Icons.d.ts +67 -0
  376. package/dist/dts/widget/components/dock/DataWindow.d.ts +7 -0
  377. package/dist/dts/widget/components/dock/DockUpgradeNudge.d.ts +10 -0
  378. package/dist/dts/widget/components/dock/RightSidebarDockHost.d.ts +57 -0
  379. package/dist/dts/widget/components/dock/WatchlistPanel.d.ts +7 -0
  380. package/dist/dts/widget/components/dock/WorkspaceRightDockSlot.d.ts +46 -0
  381. package/dist/dts/widget/components/dock/dockAccess.d.ts +20 -0
  382. package/dist/dts/widget/components/dock/drawingDockContentBuilders.d.ts +29 -0
  383. package/dist/dts/widget/components/drawing/DrawingDock.d.ts +47 -0
  384. package/dist/dts/widget/components/drawing/DrawingInspector.d.ts +94 -0
  385. package/dist/dts/widget/components/drawing/DrawingListPanel.d.ts +62 -0
  386. package/dist/dts/widget/components/drawing/DrawingSemanticPointLegend.d.ts +14 -0
  387. package/dist/dts/widget/components/drawing/FloatingDrawingInspector.d.ts +18 -0
  388. package/dist/dts/widget/components/drawing/IconPickerPanel.d.ts +5 -0
  389. package/dist/dts/widget/components/drawing/InlineTextEditor.d.ts +20 -0
  390. package/dist/dts/widget/components/drawing/PatternScanPanel.d.ts +27 -0
  391. package/dist/dts/widget/components/drawing/TemplateManagerPanel.d.ts +18 -0
  392. package/dist/dts/widget/components/events/CorporateEventsOverlay.d.ts +23 -0
  393. package/dist/dts/widget/components/events/EventMarkerIcon.d.ts +6 -0
  394. package/dist/dts/widget/components/footer/ChartFooter.d.ts +26 -0
  395. package/dist/dts/widget/components/footer/MultiChartsFooter.d.ts +37 -0
  396. package/dist/dts/widget/components/footer/TimeframeFooter.d.ts +25 -0
  397. package/dist/dts/widget/components/footer/useBarCountdown.d.ts +5 -0
  398. package/dist/dts/widget/components/header/OHLCHeader.d.ts +72 -0
  399. package/dist/dts/widget/components/layout/DrawingConflictNotice.d.ts +4 -0
  400. package/dist/dts/widget/components/layout/GridContainer.d.ts +70 -0
  401. package/dist/dts/widget/components/layout/GridSlotErrorBoundary.d.ts +17 -0
  402. package/dist/dts/widget/components/layout/Splitter.d.ts +23 -0
  403. package/dist/dts/widget/components/layout/gridSplitterMath.d.ts +40 -0
  404. package/dist/dts/widget/components/layout/useGridSplitterDrag.d.ts +18 -0
  405. package/dist/dts/widget/components/mobile/MobileChartCarousel.d.ts +11 -0
  406. package/dist/dts/widget/components/mobile/MobileToolbar.d.ts +29 -0
  407. package/dist/dts/widget/components/overlays/AdvisoryPanel.d.ts +25 -0
  408. package/dist/dts/widget/components/overlays/TapePanel.d.ts +25 -0
  409. package/dist/dts/widget/components/overlays/WhalePanel.d.ts +5 -0
  410. package/dist/dts/widget/components/panels/AdvisoryPanel.d.ts +25 -0
  411. package/dist/dts/widget/components/panels/PineEditorPanel.d.ts +18 -0
  412. package/dist/dts/widget/components/panels/StrategyTesterPanel.d.ts +7 -0
  413. package/dist/dts/widget/components/panels/TapePanel.d.ts +17 -0
  414. package/dist/dts/widget/components/panels/index.d.ts +8 -0
  415. package/dist/dts/widget/components/replay/FloatingReplayToolbar.d.ts +24 -0
  416. package/dist/dts/widget/components/replay/ReplayCutOverlay.d.ts +8 -0
  417. package/dist/dts/widget/components/search/SymbolCompareModal.d.ts +24 -0
  418. package/dist/dts/widget/components/search/SymbolSearchModal.d.ts +12 -0
  419. package/dist/dts/widget/components/search/VNSymbolSearch.d.ts +83 -0
  420. package/dist/dts/widget/components/settings/AlertsModal.d.ts +74 -0
  421. package/dist/dts/widget/components/settings/SettingsContext.d.ts +58 -0
  422. package/dist/dts/widget/components/settings/SettingsModal.d.ts +78 -0
  423. package/dist/dts/widget/components/settings/SettingsRangeSlider.d.ts +17 -0
  424. package/dist/dts/widget/components/settings/SnapshotPreviewModal.d.ts +16 -0
  425. package/dist/dts/widget/components/settings/WorkspaceSettingsContext.d.ts +27 -0
  426. package/dist/dts/widget/components/settings/helpers/seriesFormatters.d.ts +11 -0
  427. package/dist/dts/widget/components/settings/model/appearancePayload.d.ts +31 -0
  428. package/dist/dts/widget/components/settings/model/chartSettingsSchema.d.ts +100 -0
  429. package/dist/dts/widget/components/settings/model/defaultSettings.d.ts +5 -0
  430. package/dist/dts/widget/components/settings/model/indicatorShare.d.ts +29 -0
  431. package/dist/dts/widget/components/settings/storageKeys.d.ts +29 -0
  432. package/dist/dts/widget/components/settings/tabs/AppearanceSettingsTab.d.ts +5 -0
  433. package/dist/dts/widget/components/settings/tabs/IndicatorParamsForm.d.ts +12 -0
  434. package/dist/dts/widget/components/settings/tabs/IndicatorsSettingsTab.d.ts +34 -0
  435. package/dist/dts/widget/components/settings/tabs/LicensingSettingsTab.d.ts +5 -0
  436. package/dist/dts/widget/components/settings/tabs/PanesLayoutSettingsTab.d.ts +11 -0
  437. package/dist/dts/widget/components/settings/tabs/ResetSettingsTab.d.ts +8 -0
  438. package/dist/dts/widget/components/settings/tabs/ScalesSettingsTab.d.ts +5 -0
  439. package/dist/dts/widget/components/settings/tabs/StatusLineSettingsTab.d.ts +5 -0
  440. package/dist/dts/widget/components/settings/tabs/SymbolSettingsTab.d.ts +5 -0
  441. package/dist/dts/widget/components/settings/tabs/ThemePaletteSettingsTab.d.ts +9 -0
  442. package/dist/dts/widget/components/settings/tabs/TradingEventsSettingsTab.d.ts +8 -0
  443. package/dist/dts/widget/components/toolbar/DrawingToolIcon.d.ts +10 -0
  444. package/dist/dts/widget/components/toolbar/DrawingToolbar.d.ts +33 -0
  445. package/dist/dts/widget/components/toolbar/FloatingChartBar.d.ts +20 -0
  446. package/dist/dts/widget/components/toolbar/FloatingFavoritesBar.d.ts +18 -0
  447. package/dist/dts/widget/components/toolbar/MultiChartTopbar.d.ts +47 -0
  448. package/dist/dts/widget/components/toolbar/UnifiedDrawingToolbar.d.ts +28 -0
  449. package/dist/dts/widget/components/trading/PaperTradePanel.d.ts +41 -0
  450. package/dist/dts/widget/components/workspace/WorkspaceToolbar.d.ts +25 -0
  451. package/dist/dts/widget/config/toolGroups.d.ts +11 -0
  452. package/dist/dts/widget/config/toolShortcuts.d.ts +27 -0
  453. package/dist/dts/widget/constants/comparison.d.ts +1 -0
  454. package/dist/dts/widget/constants/symbolSearch.d.ts +14 -0
  455. package/dist/dts/widget/constants/vn30.d.ts +7 -0
  456. package/dist/dts/widget/context/DataProviderContext.d.ts +7 -0
  457. package/dist/dts/widget/context/HoverEmitter.d.ts +50 -0
  458. package/dist/dts/widget/context/SyncContextShare.d.ts +11 -0
  459. package/dist/dts/widget/context/VNInvestChartsConfigContext.d.ts +24 -0
  460. package/dist/dts/widget/context/VNInvestChartsContext.d.ts +70 -0
  461. package/dist/dts/widget/context/VNInvestChartsStateContext.d.ts +50 -0
  462. package/dist/dts/widget/context/WidgetI18nContext.d.ts +25 -0
  463. package/dist/dts/widget/context/WorkspaceLiveTradingContext.d.ts +30 -0
  464. package/dist/dts/widget/context/WorkspacePaperVisibilityContext.d.ts +23 -0
  465. package/dist/dts/widget/context/WorkspaceReplayTradingContext.d.ts +36 -0
  466. package/dist/dts/widget/contexts/SaaSFeatureContext.d.ts +23 -0
  467. package/dist/dts/widget/data/DataEnvelope.d.ts +100 -0
  468. package/dist/dts/widget/drawingPriceLabelInputs.d.ts +3 -0
  469. package/dist/dts/widget/export/chartCsv.d.ts +59 -0
  470. package/dist/dts/widget/forkAnchorReconciliation.d.ts +6 -0
  471. package/dist/dts/widget/forkInteractionHelpers.d.ts +69 -0
  472. package/dist/dts/widget/grid/DeviceProfiles.d.ts +49 -0
  473. package/dist/dts/widget/grid/GridChartRegistry.d.ts +9 -0
  474. package/dist/dts/widget/grid/MemoryBudgetManager.d.ts +63 -0
  475. package/dist/dts/widget/grid/PerformanceMonitor.d.ts +70 -0
  476. package/dist/dts/widget/grid/customPresets.d.ts +42 -0
  477. package/dist/dts/widget/grid/presets.d.ts +18 -0
  478. package/dist/dts/widget/grid/types.d.ts +39 -0
  479. package/dist/dts/widget/history/BackfillDedupContext.d.ts +63 -0
  480. package/dist/dts/widget/history/RequestCoordinator.d.ts +59 -0
  481. package/dist/dts/widget/history/SharedBarStoreContext.d.ts +22 -0
  482. package/dist/dts/widget/history/cache/IndexedDBCacheMatrix.d.ts +16 -0
  483. package/dist/dts/widget/history/cache/LocalCacheMatrix.d.ts +86 -0
  484. package/dist/dts/widget/history/cache/index.d.ts +3 -0
  485. package/dist/dts/widget/history/chunkStore.d.ts +77 -0
  486. package/dist/dts/widget/history/externalBarsNormalization.d.ts +9 -0
  487. package/dist/dts/widget/history/externalBarsNormalization.worker.d.ts +1 -0
  488. package/dist/dts/widget/history/externalBarsNormalizationAsync.d.ts +25 -0
  489. package/dist/dts/widget/history/historyDataUtils.d.ts +82 -0
  490. package/dist/dts/widget/history/historyWindowPlanner.d.ts +89 -0
  491. package/dist/dts/widget/history/inflightController.d.ts +15 -0
  492. package/dist/dts/widget/history/requestCoalescing.d.ts +10 -0
  493. package/dist/dts/widget/history/sessionGuards.d.ts +3 -0
  494. package/dist/dts/widget/history/singleWriterLane.d.ts +4 -0
  495. package/dist/dts/widget/history/useExternalBarsNormalization.d.ts +5 -0
  496. package/dist/dts/widget/hooks/ShortcutManager.d.ts +65 -0
  497. package/dist/dts/widget/hooks/overlays/PaneHeaderWrapper.d.ts +11 -0
  498. package/dist/dts/widget/hooks/overlays/overlayHelpers.d.ts +60 -0
  499. package/dist/dts/widget/hooks/overlays/useDrawingDockNode.d.ts +15 -0
  500. package/dist/dts/widget/hooks/overlays/useLegendChrome.d.ts +36 -0
  501. package/dist/dts/widget/hooks/overlays/useMultiSelectActions.d.ts +22 -0
  502. package/dist/dts/widget/hooks/overlays/useSidebarResize.d.ts +13 -0
  503. package/dist/dts/widget/hooks/resolveEntitlement.d.ts +73 -0
  504. package/dist/dts/widget/hooks/useBottomPanelBehavior.d.ts +38 -0
  505. package/dist/dts/widget/hooks/useBottomPanelHeight.d.ts +39 -0
  506. package/dist/dts/widget/hooks/useCanvasTheme.d.ts +24 -0
  507. package/dist/dts/widget/hooks/useChartImperativeHandle.d.ts +57 -0
  508. package/dist/dts/widget/hooks/useClockAdapter.d.ts +11 -0
  509. package/dist/dts/widget/hooks/useComparisonState.d.ts +29 -0
  510. package/dist/dts/widget/hooks/useDialogFocus.d.ts +25 -0
  511. package/dist/dts/widget/hooks/useDrawingToolShortcuts.d.ts +16 -0
  512. package/dist/dts/widget/hooks/useFeatureGate.d.ts +28 -0
  513. package/dist/dts/widget/hooks/useFloatingChartBar.d.ts +33 -0
  514. package/dist/dts/widget/hooks/useForkRuntime.d.ts +155 -0
  515. package/dist/dts/widget/hooks/useIndicatorsShareApplier.d.ts +1 -0
  516. package/dist/dts/widget/hooks/useIntersectionObserver.d.ts +49 -0
  517. package/dist/dts/widget/hooks/useKeyboardAdapter.d.ts +9 -0
  518. package/dist/dts/widget/hooks/useLayoutHistory.d.ts +8 -0
  519. package/dist/dts/widget/hooks/useLicenseDiagnostics.d.ts +15 -0
  520. package/dist/dts/widget/hooks/useMultiChartReplaySync.d.ts +31 -0
  521. package/dist/dts/widget/hooks/useMultiWorkspacePersistence.d.ts +49 -0
  522. package/dist/dts/widget/hooks/usePaperTradeConfig.d.ts +27 -0
  523. package/dist/dts/widget/hooks/usePaperTradeInteraction.d.ts +27 -0
  524. package/dist/dts/widget/hooks/usePatTierAuthentication.d.ts +42 -0
  525. package/dist/dts/widget/hooks/usePineScriptRestore.d.ts +23 -0
  526. package/dist/dts/widget/hooks/usePortalAdapter.d.ts +8 -0
  527. package/dist/dts/widget/hooks/useRecentSymbols.d.ts +3 -0
  528. package/dist/dts/widget/hooks/useReplayState.d.ts +28 -0
  529. package/dist/dts/widget/hooks/useReplayTrading.d.ts +26 -0
  530. package/dist/dts/widget/hooks/useResizeAdapter.d.ts +13 -0
  531. package/dist/dts/widget/hooks/useScaleOverlays.d.ts +62 -0
  532. package/dist/dts/widget/hooks/useScriptPersistence.d.ts +72 -0
  533. package/dist/dts/widget/hooks/useSymbolSearch.d.ts +30 -0
  534. package/dist/dts/widget/hooks/useViewportBreakpoint.d.ts +15 -0
  535. package/dist/dts/widget/hooks/useWidgetCoordinateBridge.d.ts +70 -0
  536. package/dist/dts/widget/hooks/useWidgetData.d.ts +138 -0
  537. package/dist/dts/widget/hooks/useWidgetDataBackfill.d.ts +67 -0
  538. package/dist/dts/widget/hooks/useWidgetDataEnrichment.d.ts +32 -0
  539. package/dist/dts/widget/hooks/useWidgetDrawings.d.ts +38 -0
  540. package/dist/dts/widget/hooks/useWidgetForkInteraction.d.ts +68 -0
  541. package/dist/dts/widget/hooks/useWidgetInteractionActions.d.ts +36 -0
  542. package/dist/dts/widget/hooks/useWidgetOverlays.d.ts +190 -0
  543. package/dist/dts/widget/hooks/useWidgetRuntime.d.ts +20 -0
  544. package/dist/dts/widget/hooks/useWidgetSettings.d.ts +244 -0
  545. package/dist/dts/widget/hooks/useWidgetWorkspaceIO.d.ts +24 -0
  546. package/dist/dts/widget/hooks/useWorkspaceDockPanels.d.ts +11 -0
  547. package/dist/dts/widget/hooks/useWorkspaceLiveTrading.d.ts +28 -0
  548. package/dist/dts/widget/hooks/useWorkspaceReplayTrading.d.ts +22 -0
  549. package/dist/dts/widget/i18n/a11y.messages.en.d.ts +8 -0
  550. package/dist/dts/widget/i18n/a11y.messages.vi.d.ts +3 -0
  551. package/dist/dts/widget/i18n/capability.messages.en.d.ts +7 -0
  552. package/dist/dts/widget/i18n/capability.messages.vi.d.ts +3 -0
  553. package/dist/dts/widget/i18n/dock.messages.en.d.ts +2 -0
  554. package/dist/dts/widget/i18n/dock.messages.vi.d.ts +2 -0
  555. package/dist/dts/widget/i18n/messages.en.d.ts +2 -0
  556. package/dist/dts/widget/i18n/messages.licensing.d.ts +48 -0
  557. package/dist/dts/widget/i18n/messages.vi.d.ts +2 -0
  558. package/dist/dts/widget/i18n/trading.messages.en.d.ts +2 -0
  559. package/dist/dts/widget/i18n/trading.messages.vi.d.ts +2 -0
  560. package/dist/dts/widget/i18n/types.d.ts +3 -0
  561. package/dist/dts/widget/iframe/builtInAdapters.d.ts +63 -0
  562. package/dist/dts/widget/iframe/host-entry.d.ts +11 -0
  563. package/dist/dts/widget/iframe/hostSDK.d.ts +151 -0
  564. package/dist/dts/widget/iframe/iframeBridge.d.ts +165 -0
  565. package/dist/dts/widget/iframe/iframeEntry.d.ts +52 -0
  566. package/dist/dts/widget/iframe/iframeFrame.d.ts +15 -0
  567. package/dist/dts/widget/iframe/iframeQuotes.d.ts +20 -0
  568. package/dist/dts/widget/iframe/messageProtocol.d.ts +545 -0
  569. package/dist/dts/widget/iframe/quoteHub.d.ts +20 -0
  570. package/dist/dts/widget/iframe/useVNInvestChartsHost.d.ts +8 -0
  571. package/dist/dts/widget/iife-entry.d.ts +61 -0
  572. package/dist/dts/widget/iifeWidgetInstance.d.ts +60 -0
  573. package/dist/dts/widget/index.d.ts +56 -0
  574. package/dist/dts/widget/multiChartDefaults.d.ts +18 -0
  575. package/dist/dts/widget/paneInteractionUtils.d.ts +25 -0
  576. package/dist/dts/widget/patterns/autoPatternScan.d.ts +77 -0
  577. package/dist/dts/widget/patterns/patternDrawingFactory.d.ts +87 -0
  578. package/dist/dts/widget/plugin/ProPluginRegistry.d.ts +40 -0
  579. package/dist/dts/widget/runtime/ChartScaleAdapter.d.ts +73 -0
  580. package/dist/dts/widget/runtime/ChartSerializer.d.ts +12 -0
  581. package/dist/dts/widget/runtime/ForkRuntimeAdapter.d.ts +19 -0
  582. package/dist/dts/widget/runtime/IRuntimeEngine.d.ts +40 -0
  583. package/dist/dts/widget/runtime/WorkspaceSerializer.d.ts +31 -0
  584. package/dist/dts/widget/runtimePolicy.d.ts +36 -0
  585. package/dist/dts/widget/styles/injectStyles.d.ts +9 -0
  586. package/dist/dts/widget/theme/ThemeConfig.d.ts +21 -0
  587. package/dist/dts/widget/theme/applyTheme.d.ts +3 -0
  588. package/dist/dts/widget/trading/chart/DraggableOrderHandles.d.ts +15 -0
  589. package/dist/dts/widget/trading/chart/InteractivePositionOverlay.d.ts +19 -0
  590. package/dist/dts/widget/trading/chart/PendingOrderOverlay.d.ts +11 -0
  591. package/dist/dts/widget/trading/chart/QuickTradingHeader.d.ts +20 -0
  592. package/dist/dts/widget/trading/chart/TradingChartSurface.d.ts +8 -0
  593. package/dist/dts/widget/trading/chart/TradingOverlaysHost.d.ts +28 -0
  594. package/dist/dts/widget/trading/chart/priceTicks.d.ts +1 -0
  595. package/dist/dts/widget/trading/chart/useFloatingDrag.d.ts +40 -0
  596. package/dist/dts/widget/trading/chart/useTradingHotkeys.d.ts +21 -0
  597. package/dist/dts/widget/trading/config/paperRuntimeConfig.d.ts +53 -0
  598. package/dist/dts/widget/trading/context/PaperPanelRegistry.d.ts +45 -0
  599. package/dist/dts/widget/trading/context/TradingContext.d.ts +80 -0
  600. package/dist/dts/widget/trading/context/WorkspaceTradingSync.d.ts +24 -0
  601. package/dist/dts/widget/trading/hooks/usePaperRuntimeConfig.d.ts +36 -0
  602. package/dist/dts/widget/trading/index.d.ts +5 -0
  603. package/dist/dts/widget/trading/panel/AccountSummaryTab.d.ts +7 -0
  604. package/dist/dts/widget/trading/panel/ActiveChartPaperPanel.d.ts +26 -0
  605. package/dist/dts/widget/trading/panel/ConnectedTradingPanel.d.ts +3 -0
  606. package/dist/dts/widget/trading/panel/HistoryTab.d.ts +5 -0
  607. package/dist/dts/widget/trading/panel/MarketFallbackBanner.d.ts +4 -0
  608. package/dist/dts/widget/trading/panel/OrdersTab.d.ts +8 -0
  609. package/dist/dts/widget/trading/panel/PaperCapitalDialog.d.ts +8 -0
  610. package/dist/dts/widget/trading/panel/PaperSettingsModal.d.ts +17 -0
  611. package/dist/dts/widget/trading/panel/PositionsTab.d.ts +15 -0
  612. package/dist/dts/widget/trading/panel/TradeHistoryTab.d.ts +5 -0
  613. package/dist/dts/widget/trading/panel/TradingBottomPanel.d.ts +36 -0
  614. package/dist/dts/widget/trading/panel/TradingLogTab.d.ts +8 -0
  615. package/dist/dts/widget/trading/panel/TradingPanelHeader.d.ts +17 -0
  616. package/dist/dts/widget/trading/panel/csvExport.d.ts +18 -0
  617. package/dist/dts/widget/trading/ticket/ConnectedTradingDockPanel.d.ts +5 -0
  618. package/dist/dts/widget/trading/ticket/OrderTicketForm.d.ts +31 -0
  619. package/dist/dts/widget/trading/ticket/OrderTicketModal.d.ts +29 -0
  620. package/dist/dts/widget/trading/ticket/RegistryTradingDockPanel.d.ts +9 -0
  621. package/dist/dts/widget/trading/ticket/RiskCalculatorView.d.ts +9 -0
  622. package/dist/dts/widget/trading/ticket/TradingDockPanel.d.ts +36 -0
  623. package/dist/dts/widget/trading/ticket/orderTicketModel.d.ts +49 -0
  624. package/dist/dts/widget/trading/visibility/paperVisibility.d.ts +38 -0
  625. package/dist/dts/widget/types/dataProvider.d.ts +8 -0
  626. package/dist/dts/widget/types/fullChartHandle.d.ts +25 -0
  627. package/dist/dts/widget/types/saas.d.ts +83 -0
  628. package/dist/dts/widget/types/symbolSearch.d.ts +9 -0
  629. package/dist/dts/widget/types/watchlist.d.ts +26 -0
  630. package/dist/dts/widget/utils/axisHit.d.ts +16 -0
  631. package/dist/dts/widget/utils/chartRange.d.ts +12 -0
  632. package/dist/dts/widget/utils/chartTypeOptions.d.ts +38 -0
  633. package/dist/dts/widget/utils/clickOutside.d.ts +1 -0
  634. package/dist/dts/widget/utils/coordinateBridge.d.ts +31 -0
  635. package/dist/dts/widget/utils/crosshairSync.d.ts +50 -0
  636. package/dist/dts/widget/utils/drawingSync.d.ts +198 -0
  637. package/dist/dts/widget/utils/enrichedHash.d.ts +15 -0
  638. package/dist/dts/widget/utils/headerSync.d.ts +12 -0
  639. package/dist/dts/widget/utils/numberFormat.d.ts +13 -0
  640. package/dist/dts/widget/utils/paperTradeAdapters.d.ts +11 -0
  641. package/dist/dts/widget/utils/pineSeriesData.d.ts +71 -0
  642. package/dist/dts/widget/utils/rangeSync.d.ts +29 -0
  643. package/dist/dts/widget/utils/telemetry.d.ts +19 -0
  644. package/dist/dts/widget/utils/widgetEquality.d.ts +57 -0
  645. package/dist/dts/widget/utils/widgetErrors.d.ts +29 -0
  646. package/dist/dts/widget/utils/widgetHelpers.d.ts +395 -0
  647. package/dist/dts/widget/utils/xAxisTickFormatter.d.ts +33 -0
  648. package/dist/dts/widget/visibleRangeBridge.d.ts +28 -0
  649. package/dist/dts/widget/visibleRangeDiagnostics.d.ts +10 -0
  650. package/dist/dts/widget/visibleRangePolicies.d.ts +6 -0
  651. package/dist/dts/widget/workspace/WorkspaceManager.d.ts +23 -0
  652. package/dist/dts/widget/workspace/WorkspaceStore.d.ts +85 -0
  653. package/dist/dts/widget/workspace/types.d.ts +21 -0
  654. package/dist/externalBarsNormalization.worker.js +108 -0
  655. package/dist/iframe/index.html +63 -0
  656. package/dist/iframe/injected.css +6456 -0
  657. package/dist/iframe/vninvestchart.iframe.css +2 -0
  658. package/dist/iframe/vninvestchart.iframe.js +945 -0
  659. package/dist/iframe-host/host-entry.cjs +687 -0
  660. package/dist/iframe-host/host-entry.d.mts +818 -0
  661. package/dist/iframe-host/host-entry.d.ts +818 -0
  662. package/dist/iframe-host/host-entry.js +680 -0
  663. package/dist/index.cjs +7253 -0
  664. package/dist/index.css +3390 -0
  665. package/dist/index.d.ts +31 -0
  666. package/dist/index.js +6461 -0
  667. package/dist/injected.css +6456 -0
  668. package/dist/rollAlgorithms-2P2ZKKHO.js +2 -0
  669. package/dist/types/runtime.cjs +8 -0
  670. package/dist/types/runtime.d.mts +92 -0
  671. package/dist/types/runtime.d.ts +92 -0
  672. package/dist/types/runtime.js +5 -0
  673. package/dist/types/runtime.umd.js +14 -0
  674. package/dist/vninvestchart.iife.css +2 -0
  675. package/dist/vninvestchart.iife.js +945 -0
  676. package/package.json +225 -5
@@ -0,0 +1,595 @@
1
+ import{a as nr}from"./chunk-5T6DGB3V.js";import{e as Wa}from"./chunk-FHHSTO6Z.js";import{a as s1,b as l1}from"./chunk-HPL723JA.js";var Ka=s1((exports,module)=>{"use strict";function _array_like_to_array(r,t){(t==null||t>r.length)&&(t=r.length);for(var u=0,p=new Array(t);u<t;u++)p[u]=r[u];return p}function _array_with_holes(r){if(Array.isArray(r))return r}function _array_without_holes(r){if(Array.isArray(r))return _array_like_to_array(r)}function _assert_this_initialized(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function _call_super(r,t,u){return t=_get_prototype_of(t),_possible_constructor_return(r,_is_native_reflect_construct()?Reflect.construct(t,u||[],_get_prototype_of(r).constructor):t.apply(r,u))}function _class_call_check(r,t){if(!(r instanceof t))throw new TypeError("Cannot call a class as a function")}function _construct(r,t,u){return _is_native_reflect_construct()?_construct=Reflect.construct:_construct=function(p,l,f){var d=[null];d.push.apply(d,l);var s=Function.bind.apply(p,d),c=new s;return f&&_set_prototype_of(c,f.prototype),c},_construct.apply(null,arguments)}function _defineProperties(r,t){for(var u=0;u<t.length;u++){var p=t[u];p.enumerable=p.enumerable||!1,p.configurable=!0,"value"in p&&(p.writable=!0),Object.defineProperty(r,p.key,p)}}function _create_class(r,t,u){return t&&_defineProperties(r.prototype,t),u&&_defineProperties(r,u),r}function _define_property(r,t,u){return t in r?Object.defineProperty(r,t,{value:u,enumerable:!0,configurable:!0,writable:!0}):r[t]=u,r}function _get(r,t,u){return typeof Reflect<"u"&&Reflect.get?_get=Reflect.get:_get=function(p,l,f){var d=_super_prop_base(p,l);if(d){var s=Object.getOwnPropertyDescriptor(d,l);return s.get?s.get.call(f||p):s.value}},_get(r,t,u||r)}function _get_prototype_of(r){return _get_prototype_of=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},_get_prototype_of(r)}function _inherits(r,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(t&&t.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),t&&_set_prototype_of(r,t)}function _instanceof(r,t){return t!=null&&typeof Symbol<"u"&&t[Symbol.hasInstance]?!!t[Symbol.hasInstance](r):r instanceof t}function _is_native_function(r){return Function.toString.call(r).indexOf("[native code]")!==-1}function _iterable_to_array(r){if(typeof Symbol<"u"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function _iterable_to_array_limit(r,t){var u=r==null?null:typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(u!=null){var p=[],l=!0,f=!1,d,s;try{for(u=u.call(r);!(l=(d=u.next()).done)&&(p.push(d.value),!(t&&p.length===t));l=!0);}catch(c){f=!0,s=c}finally{try{!l&&u.return!=null&&u.return()}finally{if(f)throw s}}return p}}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(r){for(var t=1;t<arguments.length;t++){var u=arguments[t]!=null?arguments[t]:{},p=Object.keys(u);typeof Object.getOwnPropertySymbols=="function"&&(p=p.concat(Object.getOwnPropertySymbols(u).filter(function(l){return Object.getOwnPropertyDescriptor(u,l).enumerable}))),p.forEach(function(l){_define_property(r,l,u[l])})}return r}function ownKeys(r,t){var u=Object.keys(r);if(Object.getOwnPropertySymbols){var p=Object.getOwnPropertySymbols(r);t&&(p=p.filter(function(l){return Object.getOwnPropertyDescriptor(r,l).enumerable})),u.push.apply(u,p)}return u}function _object_spread_props(r,t){return t=t??{},Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(u){Object.defineProperty(r,u,Object.getOwnPropertyDescriptor(t,u))}),r}function _possible_constructor_return(r,t){return t&&(_type_of(t)==="object"||typeof t=="function")?t:_assert_this_initialized(r)}function _set_prototype_of(r,t){return _set_prototype_of=Object.setPrototypeOf||function(u,p){return u.__proto__=p,u},_set_prototype_of(r,t)}function _sliced_to_array(r,t){return _array_with_holes(r)||_iterable_to_array_limit(r,t)||_unsupported_iterable_to_array(r,t)||_non_iterable_rest()}function _super_prop_base(r,t){for(;!Object.prototype.hasOwnProperty.call(r,t)&&(r=_get_prototype_of(r),r!==null););return r}function _to_consumable_array(r){return _array_without_holes(r)||_iterable_to_array(r)||_unsupported_iterable_to_array(r)||_non_iterable_spread()}function _type_of(r){"@swc/helpers - typeof";return r&&typeof Symbol<"u"&&r.constructor===Symbol?"symbol":typeof r}function _unsupported_iterable_to_array(r,t){if(r){if(typeof r=="string")return _array_like_to_array(r,t);var u=Object.prototype.toString.call(r).slice(8,-1);if(u==="Object"&&r.constructor&&(u=r.constructor.name),u==="Map"||u==="Set")return Array.from(u);if(u==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(u))return _array_like_to_array(r,t)}}function _wrap_native_super(r){var t=typeof Map=="function"?new Map:void 0;return _wrap_native_super=function(u){if(u===null||!_is_native_function(u))return u;if(typeof u!="function")throw new TypeError("Super expression must either be null or a function");if(typeof t<"u"){if(t.has(u))return t.get(u);t.set(u,p)}function p(){return _construct(u,arguments,_get_prototype_of(this).constructor)}return p.prototype=Object.create(u.prototype,{constructor:{value:p,enumerable:!1,writable:!0,configurable:!0}}),_set_prototype_of(p,u)},_wrap_native_super(r)}function _is_native_reflect_construct(){try{var r=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(_is_native_reflect_construct=function(){return!!r})()}(function(r,t){(typeof exports>"u"?"undefined":_type_of(exports))=="object"&&(typeof module>"u"?"undefined":_type_of(module))<"u"?module.exports=t():typeof define=="function"&&define.amd?define("peggy",t):r.peggy=t()})((typeof globalThis>"u"?"undefined":_type_of(globalThis))<"u"?globalThis:(typeof self>"u"?"undefined":_type_of(self))<"u"?self:exports,function(){var exports={},__exports=exports,module={exports},U=function(r,t){return function(){return t||r((t={exports:{}}).exports,t),t.exports}},Ve=U(function(r,t){"use strict";var u=(function(){function p(l,f){_class_call_check(this,p),this.source=l,this.start=f}return _create_class(p,[{key:"toString",value:function(){return String(this.source)}},{key:"offset",value:function(l){return{line:l.line+this.start.line-1,column:l.line===1?l.column+this.start.column-1:l.column,offset:l.offset+this.start.offset}}}],[{key:"offsetStart",value:function(l){return l.source&&typeof l.source.offset=="function"?l.source.offset(l.start):l.start}},{key:"offsetEnd",value:function(l){return l.source&&typeof l.source.offset=="function"?l.source.offset(l.end):l.end}}]),p})();t.exports=u}),ft=U(function(r,t){"use strict";var u=Ve(),p=(function(l){_inherits(f,l);function f(d,s,c){_class_call_check(this,f);var o;return o=_call_super(this,f,[d]),o.name="GrammarError",o.location=s,c===void 0&&(c=[]),o.diagnostics=c,o.stage=null,o.problems=[["error",d,s,c]],o}return _create_class(f,[{key:"toString",value:function(){var s=_get(_get_prototype_of(f.prototype),"toString",this).call(this);this.location&&(s+=`
2
+ at `,this.location.source!==void 0&&this.location.source!==null&&(s+="".concat(this.location.source,":")),s+="".concat(this.location.start.line,":").concat(this.location.start.column));var c=!0,o=!1,y=void 0;try{for(var g=this.diagnostics[Symbol.iterator](),C;!(c=(C=g.next()).done);c=!0){var F=C.value;s+=`
3
+ from `,F.location.source!==void 0&&F.location.source!==null&&(s+="".concat(F.location.source,":")),s+="".concat(F.location.start.line,":").concat(F.location.start.column,": ").concat(F.message)}}catch(B){o=!0,y=B}finally{try{!c&&g.return!=null&&g.return()}finally{if(o)throw y}}return s}},{key:"format",value:function(d){var s=d.map(function(y){var g=y.source,C=y.text;return{source:g,text:C!=null?String(C).split(/\r\n|\n|\r/g):[]}});function c(y,g){var C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"",F="",B=s.find(function(S){var P=S.source;return P===y.source}),b=y.start,O=u.offsetStart(y);if(B){var R=y.end,k=B.text[b.line-1],D=(b.line===R.line?R.column:k.length+1)-b.column||1;C&&(F+=`
4
+ note: `.concat(C)),F+=`
5
+ --> `.concat(y.source,":").concat(O.line,":").concat(O.column,`
6
+ `).concat("".padEnd(g),` |
7
+ `).concat(O.line.toString().padStart(g)," | ").concat(k,`
8
+ `).concat("".padEnd(g)," | ").concat("".padEnd(b.column-1)).concat("".padEnd(D,"^"))}else F+=`
9
+ at `.concat(y.source,":").concat(O.line,":").concat(O.column),C&&(F+=": ".concat(C));return F}function o(y,g,C){var F=arguments.length>3&&arguments[3]!==void 0?arguments[3]:[],B=-1/0;C?B=F.reduce(function(w,E){var N=E.location;return Math.max(w,u.offsetStart(N).line)},C.start.line):B=Math.max.apply(null,F.map(function(w){return w.location.start.line})),B=B.toString().length;var b="".concat(y,": ").concat(g);C&&(b+=c(C,B));var O=!0,R=!1,k=void 0;try{for(var D=F[Symbol.iterator](),S;!(O=(S=D.next()).done);O=!0){var P=S.value;b+=c(P.location,B,P.message)}}catch(w){R=!0,k=w}finally{try{!O&&D.return!=null&&D.return()}finally{if(R)throw k}}return b}return this.problems.filter(function(y){return y[0]!=="info"}).map(function(y){return o.apply(void 0,_to_consumable_array(y))}).join(`
10
+
11
+ `)}}]),f})(_wrap_native_super(SyntaxError));t.exports=p}),K=U(function(r,t){"use strict";var u={build:function(p){function l(o){for(var y=arguments.length,g=new Array(y>1?y-1:0),C=1;C<y;C++)g[C-1]=arguments[C];var F;return(F=p)[o.type].apply(F,[o].concat(_to_consumable_array(g)))}function f(){}function d(o){for(var y=arguments.length,g=new Array(y>1?y-1:0),C=1;C<y;C++)g[C-1]=arguments[C];return l.apply(void 0,[o.expression].concat(_to_consumable_array(g)))}function s(o){return function(y){for(var g=arguments.length,C=new Array(g>1?g-1:0),F=1;F<g;F++)C[F-1]=arguments[F];y[o].forEach(function(B){return l.apply(void 0,[B].concat(_to_consumable_array(C)))})}}var c={grammar:function(o){for(var y=arguments.length,g=new Array(y>1?y-1:0),C=1;C<y;C++)g[C-1]=arguments[C];var F=!0,B=!1,b=void 0;try{for(var O=o.imports[Symbol.iterator](),R;!(F=(R=O.next()).done);F=!0){var k=R.value;l.apply(void 0,[k].concat(_to_consumable_array(g)))}}catch(me){B=!0,b=me}finally{try{!F&&O.return!=null&&O.return()}finally{if(B)throw b}}var D=!0,S=!1,P=void 0;if(o.topLevelInitializer)if(Array.isArray(o.topLevelInitializer))try{for(var w=o.topLevelInitializer[Symbol.iterator](),E;!(D=(E=w.next()).done);D=!0){var N=E.value;l.apply(void 0,[N].concat(_to_consumable_array(g)))}}catch(me){S=!0,P=me}finally{try{!D&&w.return!=null&&w.return()}finally{if(S)throw P}}else l.apply(void 0,[o.topLevelInitializer].concat(_to_consumable_array(g)));var V=!0,W=!1,H=void 0;if(o.initializer)if(Array.isArray(o.initializer))try{for(var G=o.initializer[Symbol.iterator](),Z;!(V=(Z=G.next()).done);V=!0){var te=Z.value;l.apply(void 0,[te].concat(_to_consumable_array(g)))}}catch(me){W=!0,H=me}finally{try{!V&&G.return!=null&&G.return()}finally{if(W)throw H}}else l.apply(void 0,[o.initializer].concat(_to_consumable_array(g)));o.rules.forEach(function(me){return l.apply(void 0,[me].concat(_to_consumable_array(g)))})},grammar_import:f,top_level_initializer:f,initializer:f,rule:d,named:d,choice:s("alternatives"),action:d,sequence:s("elements"),labeled:d,text:d,simple_and:d,simple_not:d,optional:d,zero_or_more:d,one_or_more:d,repeated:function(o){for(var y=arguments.length,g=new Array(y>1?y-1:0),C=1;C<y;C++)g[C-1]=arguments[C];return o.delimiter&&l.apply(void 0,[o.delimiter].concat(_to_consumable_array(g))),l.apply(void 0,[o.expression].concat(_to_consumable_array(g)))},group:d,semantic_and:f,semantic_not:f,rule_ref:f,library_ref:f,literal:f,class:f,any:f};return Object.keys(c).forEach(function(o){Object.prototype.hasOwnProperty.call(p,o)||(p[o]=c[o])}),l}};t.exports=u}),he=U(function(r,t){"use strict";var u=function(f,d){if(!(f&&d))return f||d;var s=Array.isArray(f)?f:[f];return s.push(d),s},p=K(),l={findRule:function(f,d){for(var s=0;s<f.rules.length;s++)if(f.rules[s].name===d)return f.rules[s]},indexOfRule:function(f,d){for(var s=0;s<f.rules.length;s++)if(f.rules[s].name===d)return s;return-1},alwaysConsumesOnSuccess:function(f,d){function s(){return!0}function c(){return!1}var o=p.build({choice:function(y){return y.alternatives.every(o)},sequence:function(y){return y.elements.some(o)},simple_and:c,simple_not:c,optional:c,zero_or_more:c,repeated:function(y){var g=y.min?y.min:y.max;return g.type!=="constant"||g.value===0?!1:!!(o(y.expression)||g.value>1&&y.delimiter&&o(y.delimiter))},semantic_and:c,semantic_not:c,rule_ref:function(y){var g=l.findRule(f,y.name);return g?o(g):void 0},library_ref:c,literal:function(y){return y.value!==""},class:s,any:s});return o(d)},combine:function(f){return f.reduce(function(d,s){return d.topLevelInitializer=u(d.topLevelInitializer,s.topLevelInitializer),d.initializer=u(d.initializer,s.initializer),d.rules=d.rules.concat(s.rules),d})}};t.exports=l}),Xs=U(function(r,t){"use strict";var u=function(p){var l=0,f=!0,d=!1,s=void 0;try{for(var c=p.imports[Symbol.iterator](),o;!(f=(o=c.next()).done);f=!0){var y=o.value,g=!0,C=!1,F=void 0;try{for(var B=y.what[Symbol.iterator](),b;!(g=(b=B.next()).done);g=!0){var O=b.value,R=void 0;switch(O.type){case"import_binding_all":continue;case"import_binding_default":break;case"import_binding":R=O.binding;break;case"import_binding_rename":R=O.rename;break;default:throw new TypeError("Unknown binding type")}p.rules.push({type:"rule",name:O.binding,nameLocation:O.location,expression:{type:"library_ref",name:R,library:y.from.module,libraryNumber:l,location:O.location},location:y.from.location})}}catch(k){C=!0,F=k}finally{try{!g&&B.return!=null&&B.return()}finally{if(C)throw F}}l++}}catch(k){d=!0,s=k}finally{try{!f&&c.return!=null&&c.return()}finally{if(d)throw s}}};t.exports=u}),Ks=U(function(r,t){"use strict";var u=function(f,d){var s=0,c=!0,o=!1,y=void 0;try{for(var g=f.imports[Symbol.iterator](),C;!(c=(C=g.next()).done);c=!0){var F=C.value,B=!0,b=!1,O=void 0;try{for(var R=F.what[Symbol.iterator](),k;!(B=(k=R.next()).done);B=!0){var D=k.value;if(D.type==="import_binding_all"&&D.binding===d)return s}}catch(S){b=!0,O=S}finally{try{!B&&R.return!=null&&R.return()}finally{if(b)throw O}}s++}}catch(S){o=!0,y=S}finally{try{!c&&g.return!=null&&g.return()}finally{if(o)throw y}}return-1},p=function(f,d,s){l.build({library_ref:function(c){c.libraryNumber===-1&&(c.libraryNumber=u(f,c.library),c.libraryNumber===-1&&s.error('Unknown module "'.concat(c.library,'"'),c.location))}})(f)},l=K();t.exports=p}),Ht=U(function(r,t){"use strict";var u={PUSH:0,PUSH_EMPTY_STRING:35,PUSH_UNDEFINED:1,PUSH_NULL:2,PUSH_FAILED:3,PUSH_EMPTY_ARRAY:4,PUSH_CURR_POS:5,POP:6,POP_CURR_POS:7,POP_N:8,NIP:9,APPEND:10,WRAP:11,TEXT:12,PLUCK:36,IF:13,IF_ERROR:14,IF_NOT_ERROR:15,IF_LT:30,IF_GE:31,IF_LT_DYNAMIC:32,IF_GE_DYNAMIC:33,WHILE_NOT_ERROR:16,MATCH_ANY:17,MATCH_STRING:18,MATCH_STRING_IC:19,MATCH_CHAR_CLASS:20,MATCH_UNICODE_CLASS:42,MATCH_REGEXP:20,ACCEPT_N:21,ACCEPT_STRING:22,FAIL:23,LOAD_SAVED_POS:24,UPDATE_SAVED_POS:25,CALL:26,RULE:27,LIBRARY_RULE:41,SILENT_FAILS_ON:28,SILENT_FAILS_OFF:29,SOURCE_MAP_PUSH:37,SOURCE_MAP_POP:38,SOURCE_MAP_LABEL_PUSH:39,SOURCE_MAP_LABEL_POP:40};t.exports=u}),tr=U(function(r,t){"use strict";var u=(function(){function p(l){_class_call_check(this,p),this.options=_object_spread({stringify:String,convert:function(f){return f}},l),this.items=[],this.offsets=Object.create(null)}return _create_class(p,[{key:"add",value:function(l){var f=this.options.convert(l);if(!f)return-1;var d=this.options.stringify(f),s=this.offsets[d];return s===void 0&&(s=this.items.push(f)-1,this.offsets[d]=s),s}},{key:"get",value:function(l){return this.items[l]}},{key:"map",value:function(l){return this.items.map(l)}}]),p})();t.exports=u}),ht=U(function(r,t){"use strict";var u=function(o){function y(b){return b.match=s}function g(b){return B(b.expression),b.match=d}function C(b){return b.match=B(b.expression)}function F(b,O){for(var R=b.length,k=0,D=0,S=0;S<R;++S){var P=B(b[S]);P===d&&++k,P===c&&++D}return k===R?d:O?D===R?c:s:D>0?c:s}var B=p.build({rule:function(b){var O,R=0;if(_type_of(b.match)>"u"){b.match=s;do if(O=b.match,b.match=B(b.expression),++R>6)throw new f("Infinity cycle detected when trying to evaluate node match result",b.location);while(O!==b.match)}return b.match},named:C,choice:function(b){return b.match=F(b.alternatives,!0)},action:C,sequence:function(b){return b.match=F(b.elements,!1)},labeled:C,text:C,simple_and:C,simple_not:function(b){return b.match=-B(b.expression)},optional:g,zero_or_more:g,one_or_more:C,repeated:function(b){var O=B(b.expression),R=b.delimiter?B(b.delimiter):c,k=b.min?b.min:b.max;return k.type!=="constant"||b.max.type!=="constant"?b.match=s:b.max.value===0||b.max.value!==null&&k.value>b.max.value?b.match=c:O===c?b.match=k.value===0?d:c:O===d?b.delimiter&&k.value>=2?b.match=R:b.match=d:b.delimiter&&k.value>=2?b.match=R===c?c:s:b.match=k.value===0?d:s},group:C,semantic_and:y,semantic_not:y,rule_ref:function(b){var O=l.findRule(o,b.name);return O?b.match=B(O):s},library_ref:function(){return 0},literal:function(b){var O=b.value.length===0?d:s;return b.match=O},class:function(b){var O=b.parts.length===0?c:s;return b.match=O},any:y});B(o)},p=K(),l=he(),f=ft(),d=1,s=0,c=-1;u.ALWAYS_MATCH=d,u.SOMETIMES_MATCH=s,u.NEVER_MATCH=c,t.exports=u}),ir=U(function(r,t){"use strict";var u=function(g,C){var F=new d,B=new d({stringify:JSON.stringify,convert:function(x){return{value:x.parts,inverted:x.inverted,ignoreCase:x.ignoreCase,unicode:x.unicode}}}),b=new d({stringify:JSON.stringify}),O=new d,R=[],k=[];function D(x,$,q){var J={predicate:x,params:$,body:q.code,location:q.codeLocation},re=JSON.stringify(J),de=R.findIndex(function(Fe){return JSON.stringify(Fe)===re});return de===-1?R.push(J)-1:de}function S(x){return k.push(x)-1}function P(x){var $={};return Object.keys(x).forEach(function(q){$[q]=x[q]}),$}function w(x){for(var $=arguments.length,q=new Array($>1?$-1:0),J=1;J<$;J++)q[J-1]=arguments[J];var re;return(re=x).concat.apply(re,_to_consumable_array(q))}function E(x,$,q,J){return x===c?q:x===y?J:$.concat([q.length,J.length],q,J)}function N(x,$){return x.concat([$.length],$)}function V(x,$,q,J){var re=Object.keys(q).map(function(de){return J-q[de]});return[l.CALL,x,$,re.length].concat(re)}function W(x,$,q){var J=x.match||0;return w([l.PUSH_CURR_POS],[l.SILENT_FAILS_ON],se(x,{sp:q.sp+1,env:P(q.env),action:null}),[l.SILENT_FAILS_OFF],E($?-J:J,[$?l.IF_ERROR:l.IF_NOT_ERROR],w([l.POP],[$?l.POP:l.POP_CURR_POS],[l.PUSH_UNDEFINED]),w([l.POP],[$?l.POP_CURR_POS:l.POP],[l.PUSH_FAILED])))}function H(x,$,q){var J=D(!0,Object.keys(q.env),x);return w([l.UPDATE_SAVED_POS],V(J,0,q.env,q.sp),E(x.match||0,[l.IF],w([l.POP],$?[l.PUSH_FAILED]:[l.PUSH_UNDEFINED]),w([l.POP],$?[l.PUSH_UNDEFINED]:[l.PUSH_FAILED])))}function G(x){return N([l.WHILE_NOT_ERROR],w([l.APPEND],x))}function Z(x){var $=x;return new Error('Unknown boundary type "'.concat($.type,'" for the "repeated" node'))}function te(x,$,q,J){switch(x.type){case"constant":return{pre:[],post:[],sp:q};case"variable":return x.sp=J+q-$[x.value],{pre:[],post:[],sp:q};case"function":{x.sp=J;var re=D(!0,Object.keys($),{code:x.value,codeLocation:x.codeLocation});return{pre:V(re,0,$,q),post:[l.NIP],sp:q+1}}default:throw Z(x)}}function me(x,$){if($.value!==null){var q=$.type==="constant"?[l.IF_GE,$.value]:[l.IF_GE_DYNAMIC,$.sp||0];return E(o,q,[l.PUSH_FAILED],x)}return x}function ke(x,$){var q=$.type==="constant"?[l.IF_LT,$.value]:[l.IF_LT_DYNAMIC,$.sp||0];return w(x,E(o,q,[l.POP,l.POP_CURR_POS,l.PUSH_FAILED],[l.NIP]))}function Se(x,$,q,J,re){return x?w([l.PUSH_CURR_POS],se(x,{sp:J.sp+re+1,env:P(J.env),action:null}),E(x.match||0,[l.IF_NOT_ERROR],w([l.POP],q,E(-$,[l.IF_ERROR],[l.POP,l.POP_CURR_POS,l.PUSH_FAILED],[l.NIP])),[l.NIP])):q}function xe(x){return C&&C.output==="source-and-map"&&Object.keys(x).forEach(function($){var q=x[$];x[$]=function(J){for(var re=arguments.length,de=new Array(re>1?re-1:0),Fe=1;Fe<re;Fe++)de[Fe-1]=arguments[Fe];var j=q.apply(void 0,[J].concat(_to_consumable_array(de)));return j===void 0||!J.location?j:w([l.SOURCE_MAP_PUSH,S(J.location)],j,[l.SOURCE_MAP_POP])}}),f.build(x)}var se=xe({grammar:function(x){x.rules.forEach(se),x.literals=F.items,x.classes=B.items,x.expectations=b.items,x.importedNames=O.items,x.functions=R,x.locations=k},rule:function(x){x.bytecode=se(x.expression,{sp:-1,env:{},pluck:[],action:null})},named:function(x,$){var q=x.match||0,J=q===c?-1:b.add({type:"rule",value:x.name});return w([l.SILENT_FAILS_ON],se(x.expression,$),[l.SILENT_FAILS_OFF],E(-q,[l.IF_ERROR],[l.FAIL,J],[]))},choice:function(x,$){function q(J,re){var de=J[0].match||0,Fe=se(J[0],{sp:re.sp,env:P(re.env),action:null});return de===c?Fe:w(Fe,J.length>1?E(o,[l.IF_ERROR],w([l.POP],q(J.slice(1),re)),[]):[])}return q(x.alternatives,$)},action:function(x,$){var q=P($.env),J=x.expression.type!=="sequence"||x.expression.elements.length===0,re=se(x.expression,{sp:$.sp+(J?1:0),env:q,action:x}),de=x.expression.match||0,Fe=J&&de!==y?D(!1,Object.keys(q),x):-1;return J?w([l.PUSH_CURR_POS],re,E(de,[l.IF_NOT_ERROR],w([l.LOAD_SAVED_POS,1],V(Fe,1,q,$.sp+2)),[]),[l.NIP]):re},sequence:function(x,$){function q(J,re){if(J.length>0){var de=x.elements.length-J.length+1;return w(se(J[0],{sp:re.sp,env:re.env,pluck:re.pluck,action:null}),E(J[0].match||0,[l.IF_NOT_ERROR],q(J.slice(1),{sp:re.sp+1,env:re.env,pluck:re.pluck,action:re.action}),w(de>1?[l.POP_N,de]:[l.POP],[l.POP_CURR_POS],[l.PUSH_FAILED])))}else{if(re.pluck&&re.pluck.length>0)return w([l.PLUCK,x.elements.length+1,re.pluck.length],re.pluck.map(function(j){return re.sp-j}));if(re.action){var Fe=D(!1,Object.keys(re.env),re.action);return w([l.LOAD_SAVED_POS,x.elements.length],V(Fe,x.elements.length+1,re.env,re.sp))}else return w([l.WRAP,x.elements.length],[l.NIP])}}return w([l.PUSH_CURR_POS],q(x.elements,{sp:$.sp+1,env:$.env,pluck:[],action:$.action}))},labeled:function(x,$){var q=$.env,J=x.label,re=$.sp+1;J&&(q=P($.env),$.env[J]=re),x.pick&&$.pluck.push(re);var de=se(x.expression,{sp:$.sp,env:q,action:null});return J&&x.labelLocation&&C&&C.output==="source-and-map"?w([l.SOURCE_MAP_LABEL_PUSH,re,F.add(J),S(x.labelLocation)],de,[l.SOURCE_MAP_LABEL_POP,re]):de},text:function(x,$){return w([l.PUSH_CURR_POS],se(x.expression,{sp:$.sp+1,env:P($.env),action:null}),E(x.match||0,[l.IF_NOT_ERROR],w([l.POP],[l.TEXT]),[l.NIP]))},simple_and:function(x,$){return W(x.expression,!1,$)},simple_not:function(x,$){return W(x.expression,!0,$)},optional:function(x,$){return w(se(x.expression,{sp:$.sp,env:P($.env),action:null}),E(-(x.expression.match||0),[l.IF_ERROR],w([l.POP],[l.PUSH_NULL]),[]))},zero_or_more:function(x,$){var q=se(x.expression,{sp:$.sp+1,env:P($.env),action:null});return w([l.PUSH_EMPTY_ARRAY],q,G(q),[l.POP])},one_or_more:function(x,$){var q=se(x.expression,{sp:$.sp+1,env:P($.env),action:null});return w([l.PUSH_EMPTY_ARRAY],q,E(x.expression.match||0,[l.IF_NOT_ERROR],w(G(q),[l.POP]),w([l.POP],[l.POP],[l.PUSH_FAILED])))},repeated:function(x,$){var q=x.min?x.min:x.max,J=q.type!=="constant"||q.value>0,re=x.max.type!=="constant"&&x.max.value!==null,de=J?2:1,Fe=x.min?te(x.min,$.env,$.sp,2+(x.max.type==="function"?1:0)):{pre:[],post:[],sp:$.sp},j=te(x.max,$.env,Fe.sp,de),fe=se(x.expression,{sp:j.sp+de,env:P($.env),action:null}),Ee=x.delimiter!==null?se(x.expression,{sp:j.sp+de+1,env:P($.env),action:null}):fe,je=Se(x.delimiter,x.expression.match||0,Ee,$,de),ne=me(je,x.max),ve=re?me(fe,x.max):fe,X=w(J?[l.PUSH_CURR_POS]:[],[l.PUSH_EMPTY_ARRAY],ve,G(ne),[l.POP]);return w(Fe.pre,j.pre,J?ke(X,q):X,j.post,Fe.post)},group:function(x,$){return se(x.expression,{sp:$.sp,env:P($.env),action:null})},semantic_and:function(x,$){return H(x,!1,$)},semantic_not:function(x,$){return H(x,!0,$)},rule_ref:function(x){return[l.RULE,p.indexOfRule(g,x.name)]},library_ref:function(x){return[l.LIBRARY_RULE,x.libraryNumber,O.add(x.name)]},literal:function(x){if(x.value.length>0){var $=x.match||0,q=$===o||$===c&&!x.ignoreCase?F.add(x.ignoreCase?x.value.toLowerCase():x.value):-1,J=$!==c?b.add({type:"literal",value:x.value,ignoreCase:x.ignoreCase}):-1;return E($,x.ignoreCase?[l.MATCH_STRING_IC,q]:[l.MATCH_STRING,q],x.ignoreCase?[l.ACCEPT_N,x.value.length]:[l.ACCEPT_STRING,q],[l.FAIL,J])}return[l.PUSH_EMPTY_STRING]},class:function(x){var $=x.match||0,q=$===o?B.add(x):-1,J=$!==c?b.add({type:"class",value:x.parts,inverted:x.inverted,ignoreCase:x.ignoreCase,unicode:x.unicode}):-1;return E($,[x.unicode?l.MATCH_UNICODE_CLASS:l.MATCH_CHAR_CLASS,q],[l.ACCEPT_N,x.unicode?-1:1],[l.FAIL,J])},any:function(x){var $=x.match||0,q=$!==c?b.add({type:"any"}):-1;return E($,[l.MATCH_ANY],[l.ACCEPT_N,1],[l.FAIL,q])}});se(g)},p=he(),l=Ht(),f=K(),d=tr(),s=ht(),c=s.ALWAYS_MATCH,o=s.SOMETIMES_MATCH,y=s.NEVER_MATCH;t.exports=u}),lr=U(function(r){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");r.encode=function(u){if(0<=u&&u<t.length)return t[u];throw new TypeError("Must be between 0 and 63: "+u)}}),pr=U(function(r){var t=function(s){return s<0?(-s<<1)+1:(s<<1)+0},u=lr(),p=5,l=1<<p,f=l-1,d=l;r.encode=function(s){var c="",o,y=t(s);do o=y&f,y>>>=p,y>0&&(o|=d),c+=u.encode(o);while(y>0);return c}}),mt=U(function(r){var t=function(E,N,V){if(N in E)return E[N];if(arguments.length===3)return V;throw new Error('"'+N+'" is a required argument.')},u=function(E){return E},p=function(E){return f(E)?"$"+E:E},l=function(E){return f(E)?E.slice(1):E},f=function(E){if(!E)return!1;var N=E.length;if(N<9||E.charCodeAt(N-1)!==95||E.charCodeAt(N-2)!==95||E.charCodeAt(N-3)!==111||E.charCodeAt(N-4)!==116||E.charCodeAt(N-5)!==111||E.charCodeAt(N-6)!==114||E.charCodeAt(N-7)!==112||E.charCodeAt(N-8)!==95||E.charCodeAt(N-9)!==95)return!1;for(var V=N-10;V>=0;V--)if(E.charCodeAt(V)!==36)return!1;return!0},d=function(E,N){return E===N?0:E===null?1:N===null?-1:E>N?1:-1},s=function(E,N){var V=E.generatedLine-N.generatedLine;return V!==0||(V=E.generatedColumn-N.generatedColumn,V!==0)||(V=d(E.source,N.source),V!==0)||(V=E.originalLine-N.originalLine,V!==0)||(V=E.originalColumn-N.originalColumn,V!==0)?V:d(E.name,N.name)},c=function(E){return function(N){var V=C(N),W=g(N),H=new URL(N,W);E(H);var G=H.toString();return V==="absolute"?G:V==="scheme-relative"?G.slice(k.length):V==="path-absolute"?G.slice(D.length):F(W,G)}},o=function(E,N){return new URL(E,N).toString()},y=function(E,N){var V=0;do{var W=E+V++;if(N.indexOf(W)===-1)return W}while(!0)},g=function(E){for(var N=E.split("..").length-1,V=y("p",E),W="".concat(D,"/"),H=0;H<N;H++)W+="".concat(V,"/");return W},C=function(E){return E[0]==="/"?E[1]==="/"?"scheme-relative":"path-absolute":S.test(E)?"absolute":"path-relative"},F=function(E,N){typeof E=="string"&&(E=new URL(E)),typeof N=="string"&&(N=new URL(N));var V=N.pathname.split("/"),W=E.pathname.split("/");for(W.length>0&&!W[W.length-1]&&W.pop();V.length>0&&W.length>0&&V[0]===W[0];)V.shift(),W.shift();return W.map(function(){return".."}).concat(V).join("/")+N.search+N.hash},B=function(E,N){var V=C(N),W=C(E);if(E=P(E),V==="absolute")return o(N,void 0);if(W==="absolute")return o(N,E);if(V==="scheme-relative")return w(N);if(W==="scheme-relative")return o(N,o(E,D)).slice(k.length);if(V==="path-absolute")return w(N);if(W==="path-absolute")return o(N,o(E,D)).slice(D.length);var H=g(N+E),G=o(N,o(E,H));return F(H,G)},b=function(E,N){var V=O(E,N);return typeof V=="string"?V:w(N)},O=function(E,N){if(C(E)!==C(N))return null;var V=g(E+N),W=new URL(E,V),H=new URL(N,V);try{new URL("",H.toString())}catch{return null}return H.protocol!==W.protocol||H.user!==W.user||H.password!==W.password||H.hostname!==W.hostname||H.port!==W.port?null:F(W,H)};r.getArg=t;var R=(function(){return!("__proto__"in Object.create(null))})();r.toSetString=R?u:p,r.fromSetString=R?u:l,r.compareByGeneratedPositionsInflated=s;var k="http:",D="".concat(k,"//host"),S=/^[A-Za-z0-9\+\-\.]+:/,P=c(function(E){E.pathname=E.pathname.replace(/\/?$/,"/")}),w=c(function(E){});r.normalize=w,r.join=B,r.relative=b}),yr=U(function(r){var t=(function(){"use strict";function u(){_class_call_check(this,u),this._array=[],this._set=new Map}return _create_class(u,[{key:"size",value:function(){return this._set.size}},{key:"add",value:function(p,l){var f=this.has(p),d=this._array.length;(!f||l)&&this._array.push(p),f||this._set.set(p,d)}},{key:"has",value:function(p){return this._set.has(p)}},{key:"indexOf",value:function(p){var l=this._set.get(p);if(l>=0)return l;throw new Error('"'+p+'" is not in the set.')}},{key:"at",value:function(p){if(p>=0&&p<this._array.length)return this._array[p];throw new Error("No element indexed by "+p)}},{key:"toArray",value:function(){return this._array.slice()}}],[{key:"fromArray",value:function(p,l){for(var f=new u,d=0,s=p.length;d<s;d++)f.add(p[d],l);return f}}]),u})();r.ArraySet=t}),xr=U(function(r){var t=function(l,f){var d=l.generatedLine,s=f.generatedLine,c=l.generatedColumn,o=f.generatedColumn;return s>d||s==d&&o>=c||u.compareByGeneratedPositionsInflated(l,f)<=0},u=mt(),p=(function(){"use strict";function l(){_class_call_check(this,l),this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}return _create_class(l,[{key:"unsortedForEach",value:function(f,d){this._array.forEach(f,d)}},{key:"add",value:function(f){t(this._last,f)?(this._last=f,this._array.push(f)):(this._sorted=!1,this._array.push(f))}},{key:"toArray",value:function(){return this._sorted||(this._array.sort(u.compareByGeneratedPositionsInflated),this._sorted=!0),this._array}}]),l})();r.MappingList=p}),Jt=U(function(r){var t=pr(),u=mt(),p=yr().ArraySet,l=xr().MappingList,f=(function(){"use strict";function d(s){_class_call_check(this,d),s||(s={}),this._file=u.getArg(s,"file",null),this._sourceRoot=u.getArg(s,"sourceRoot",null),this._skipValidation=u.getArg(s,"skipValidation",!1),this._sources=new p,this._names=new p,this._mappings=new l,this._sourcesContents=null}return _create_class(d,[{key:"addMapping",value:function(s){var c=u.getArg(s,"generated"),o=u.getArg(s,"original",null),y=u.getArg(s,"source",null),g=u.getArg(s,"name",null);this._skipValidation||this._validateMapping(c,o,y,g),y!=null&&(y=String(y),this._sources.has(y)||this._sources.add(y)),g!=null&&(g=String(g),this._names.has(g)||this._names.add(g)),this._mappings.add({generatedLine:c.line,generatedColumn:c.column,originalLine:o&&o.line,originalColumn:o&&o.column,source:y,name:g})}},{key:"setSourceContent",value:function(s,c){var o=s;this._sourceRoot!=null&&(o=u.relative(this._sourceRoot,o)),c!=null?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[u.toSetString(o)]=c):this._sourcesContents&&(delete this._sourcesContents[u.toSetString(o)],Object.keys(this._sourcesContents).length===0&&(this._sourcesContents=null))}},{key:"applySourceMap",value:function(s,c,o){var y=c;if(c==null){if(s.file==null)throw new Error(`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`);y=s.file}var g=this._sourceRoot;g!=null&&(y=u.relative(g,y));var C=this._mappings.toArray().length>0?new p:this._sources,F=new p;this._mappings.unsortedForEach(function(B){if(B.source===y&&B.originalLine!=null){var b=s.originalPositionFor({line:B.originalLine,column:B.originalColumn});b.source!=null&&(B.source=b.source,o!=null&&(B.source=u.join(o,B.source)),g!=null&&(B.source=u.relative(g,B.source)),B.originalLine=b.line,B.originalColumn=b.column,b.name!=null&&(B.name=b.name))}var O=B.source;O!=null&&!C.has(O)&&C.add(O);var R=B.name;R!=null&&!F.has(R)&&F.add(R)},this),this._sources=C,this._names=F,s.sources.forEach(function(B){var b=s.sourceContentFor(B);b!=null&&(o!=null&&(B=u.join(o,B)),g!=null&&(B=u.relative(g,B)),this.setSourceContent(B,b))},this)}},{key:"_validateMapping",value:function(s,c,o,y){if(c&&typeof c.line!="number"&&typeof c.column!="number")throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(!(s&&"line"in s&&"column"in s&&s.line>0&&s.column>=0&&!c&&!o&&!y)&&!(s&&"line"in s&&"column"in s&&c&&"line"in c&&"column"in c&&s.line>0&&s.column>=0&&c.line>0&&c.column>=0&&o))throw new Error("Invalid mapping: "+JSON.stringify({generated:s,source:o,original:c,name:y}))}},{key:"_serializeMappings",value:function(){for(var c=0,o=1,y=0,g=0,C=0,F=0,B="",b,O,R,k,D=this._mappings.toArray(),S=0,P=D.length;S<P;S++){if(O=D[S],b="",O.generatedLine!==o)for(c=0;O.generatedLine!==o;)b+=";",o++;else if(S>0){if(!u.compareByGeneratedPositionsInflated(O,D[S-1]))continue;b+=","}b+=t.encode(O.generatedColumn-c),c=O.generatedColumn,O.source!=null&&(k=this._sources.indexOf(O.source),b+=t.encode(k-F),F=k,b+=t.encode(O.originalLine-1-g),g=O.originalLine-1,b+=t.encode(O.originalColumn-y),y=O.originalColumn,O.name!=null&&(R=this._names.indexOf(O.name),b+=t.encode(R-C),C=R)),B+=b}return B}},{key:"_generateSourcesContent",value:function(s,c){return s.map(function(o){if(!this._sourcesContents)return null;c!=null&&(o=u.relative(c,o));var y=u.toSetString(o);return Object.prototype.hasOwnProperty.call(this._sourcesContents,y)?this._sourcesContents[y]:null},this)}},{key:"toJSON",value:function(){var c={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return this._file!=null&&(c.file=this._file),this._sourceRoot!=null&&(c.sourceRoot=this._sourceRoot),this._sourcesContents&&(c.sourcesContent=this._generateSourcesContent(c.sources,c.sourceRoot)),c}},{key:"toString",value:function(){return JSON.stringify(this.toJSON())}}],[{key:"fromSourceMap",value:function(s){var c=s.sourceRoot,o=new d({file:s.file,sourceRoot:c});return s.eachMapping(function(y){var g={generated:{line:y.generatedLine,column:y.generatedColumn}};y.source!=null&&(g.source=y.source,c!=null&&(g.source=u.relative(c,g.source)),g.original={line:y.originalLine,column:y.originalColumn},y.name!=null&&(g.name=y.name)),o.addMapping(g)}),s.sources.forEach(function(y){var g=y;c!=null&&(g=u.relative(c,y)),o._sources.has(g)||o._sources.add(g);var C=s.sourceContentFor(y);C!=null&&o.setSourceContent(y,C)}),o}}]),d})();f.prototype._version=3,r.SourceMapGenerator=f}),Ar=U(function(r){var t=Jt().SourceMapGenerator,u=mt(),p=/(\r?\n)/,l=10,f="$$$isSourceNode$$$",d=(function(){"use strict";function s(c,o,y,g,C){_class_call_check(this,s),this.children=[],this.sourceContents={},this.line=c??null,this.column=o??null,this.source=y??null,this.name=C??null,this[f]=!0,g!=null&&this.add(g)}return _create_class(s,[{key:"add",value:function(c){if(Array.isArray(c))c.forEach(function(o){this.add(o)},this);else if(c[f]||typeof c=="string")c&&this.children.push(c);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+c);return this}},{key:"prepend",value:function(c){if(Array.isArray(c))for(var o=c.length-1;o>=0;o--)this.prepend(c[o]);else if(c[f]||typeof c=="string")this.children.unshift(c);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+c);return this}},{key:"walk",value:function(c){for(var o,y=0,g=this.children.length;y<g;y++)o=this.children[y],o[f]?o.walk(c):o!==""&&c(o,{source:this.source,line:this.line,column:this.column,name:this.name})}},{key:"join",value:function(c){var o,y,g=this.children.length;if(g>0){for(o=[],y=0;y<g-1;y++)o.push(this.children[y]),o.push(c);o.push(this.children[y]),this.children=o}return this}},{key:"replaceRight",value:function(c,o){var y=this.children[this.children.length-1];return y[f]?y.replaceRight(c,o):typeof y=="string"?this.children[this.children.length-1]=y.replace(c,o):this.children.push("".replace(c,o)),this}},{key:"setSourceContent",value:function(c,o){this.sourceContents[u.toSetString(c)]=o}},{key:"walkSourceContents",value:function(c){for(var o=0,y=this.children.length;o<y;o++)this.children[o][f]&&this.children[o].walkSourceContents(c);for(var g=Object.keys(this.sourceContents),C=0,F=g.length;C<F;C++)c(u.fromSetString(g[C]),this.sourceContents[g[C]])}},{key:"toString",value:function(){var o="";return this.walk(function(y){o+=y}),o}},{key:"toStringWithSourceMap",value:function(c){var o={code:"",line:1,column:0},y=new t(c),g=!1,C=null,F=null,B=null,b=null;return this.walk(function(O,R){o.code+=O,R.source!==null&&R.line!==null&&R.column!==null?((C!==R.source||F!==R.line||B!==R.column||b!==R.name)&&y.addMapping({source:R.source,original:{line:R.line,column:R.column},generated:{line:o.line,column:o.column},name:R.name}),C=R.source,F=R.line,B=R.column,b=R.name,g=!0):g&&(y.addMapping({generated:{line:o.line,column:o.column}}),C=null,g=!1);for(var k=0,D=O.length;k<D;k++)O.charCodeAt(k)===l?(o.line++,o.column=0,k+1===D?(C=null,g=!1):g&&y.addMapping({source:R.source,original:{line:R.line,column:R.column},generated:{line:o.line,column:o.column},name:R.name})):o.column++}),this.walkSourceContents(function(O,R){y.setSourceContent(O,R)}),{code:o.code,map:y}}}],[{key:"fromStringWithSourceMap",value:function(c,o,y){var g=new s,C=c.split(p),F=0,B=function(){var P=E(),w=E()||"";return P+w;function E(){return F<C.length?C[F++]:void 0}},b=1,O=0,R=null,k;return o.eachMapping(function(S){if(R!==null)if(b<S.generatedLine)D(R,B()),b++,O=0;else{k=C[F]||"";var P=k.substr(0,S.generatedColumn-O);C[F]=k.substr(S.generatedColumn-O),O=S.generatedColumn,D(R,P),R=S;return}for(;b<S.generatedLine;)g.add(B()),b++;O<S.generatedColumn&&(k=C[F]||"",g.add(k.substr(0,S.generatedColumn)),C[F]=k.substr(S.generatedColumn),O=S.generatedColumn),R=S},this),F<C.length&&(R&&D(R,B()),g.add(C.splice(F).join(""))),o.sources.forEach(function(S){var P=o.sourceContentFor(S);P!=null&&(y!=null&&(S=u.join(y,S)),g.setSourceContent(S,P))}),g;function D(S,P){if(S===null||S.source===void 0)g.add(P);else{var w=y?u.join(y,S.source):S.source;g.add(new s(S.originalLine,S.originalColumn,w,P,S.name))}}}}]),s})();r.SourceNode=d}),Kt=U(function(r){r.SourceMapGenerator=Jt().SourceMapGenerator,r.SourceNode=Ar().SourceNode}),Rr=U(function(r,t){"use strict";var u=Kt(),p=u.SourceNode,l=Ve(),f=(function(){function d(s,c,o,y){_class_call_check(this,d),this.sp=-1,this.maxSp=-1,this.varName=c,this.ruleName=s,this.type=o,this.bytecode=y,this.labels={},this.sourceMapStack=[]}return _create_class(d,[{key:"name",value:function(s){if(s<0)throw new RangeError("Rule '".concat(this.ruleName,"': The variable stack underflow: attempt to use a variable '").concat(this.varName,"<x>' at an index ").concat(s,`.
12
+ Bytecode: `).concat(this.bytecode));return this.varName+s}},{key:"push",value:function(s){++this.sp>this.maxSp&&(this.maxSp=this.sp);var c=this.labels[this.sp],o=[this.name(this.sp)," = ",s,";"];if(c)if(this.sourceMapStack.length){var y=d.sourceNode(c.location,o.splice(0,2),c.label),g=this.sourceMapPopInternal(),C=g.parts,F=g.location,B=F.start.offset<c.location.end.offset?{start:c.location.end,end:F.end,source:F.source}:F,b=d.sourceNode(B,o.concat(`
13
+ `));return this.sourceMapStack.push([C,C.length+1,F]),new p(null,null,c.location.source,[y,b])}else return d.sourceNode(c.location,o.concat(`
14
+ `));return o.join("")}},{key:"pop",value:function(s){var c=this;return s!==void 0?(this.sp-=s,Array.from({length:s},function(o,y){return c.name(c.sp+1+y)})):this.name(this.sp--)}},{key:"top",value:function(){return this.name(this.sp)}},{key:"index",value:function(s){if(s<0)throw new RangeError("Rule '".concat(this.ruleName,"': The variable stack overflow: attempt to get a variable at a negative index ").concat(s,`.
15
+ Bytecode: `).concat(this.bytecode));return this.name(this.sp-s)}},{key:"result",value:function(){if(this.maxSp<0)throw new RangeError("Rule '".concat(this.ruleName,`': The variable stack is empty, can't get the result.
16
+ Bytecode: `).concat(this.bytecode));return this.name(0)}},{key:"defines",value:function(){var c=this;return this.maxSp<0?"":this.type+" "+Array.from({length:this.maxSp+1},function(o,y){return c.name(y)}).join(", ")+";"}},{key:"checkedIf",value:function(s,c,o){var y=this.sp,g=c();if(!o)return[g];var C=this.sp;this.sp=y;var F=o();if(C!==this.sp)throw new Error("Rule '"+this.ruleName+"', position "+s+": Branches of a condition can't move the stack pointer differently (before: "+y+", after then: "+C+", after else: "+this.sp+"). Bytecode: "+this.bytecode);return[g,F]}},{key:"checkedLoop",value:function(s,c){var o=this.sp,y=c();if(o!==this.sp)throw new Error("Rule '"+this.ruleName+"', position "+s+": Body of a loop can't move the stack pointer (before: "+o+", after: "+this.sp+"). Bytecode: "+this.bytecode);return y}},{key:"sourceMapPush",value:function(s,c){if(this.sourceMapStack.length){var o=this.sourceMapStack[this.sourceMapStack.length-1];o[2].start.offset===c.start.offset&&o[2].end.offset>c.end.offset&&(o[2]={start:c.end,end:o[2].end,source:o[2].source})}this.sourceMapStack.push([s,s.length,c])}},{key:"sourceMapPopInternal",value:function(){var c=this.sourceMapStack.pop();if(!c)throw new RangeError("Rule '".concat(this.ruleName,`': Attempting to pop an empty source map stack.
17
+ Bytecode: `).concat(this.bytecode));var o=_sliced_to_array(c,3),y=o[0],g=o[1],C=o[2],F=y.splice(g).map(function(b){return _instanceof(b,p)?b:b+`
18
+ `});if(F.length){var B=l.offsetStart(C);y.push(new p(B.line,B.column-1,String(C.source),F))}return{parts:y,location:C}}},{key:"sourceMapPop",value:function(s){var c=this.sourceMapPopInternal(),o=c.location;if(this.sourceMapStack.length&&o.end.offset<this.sourceMapStack[this.sourceMapStack.length-1][2].end.offset){var y=this.sourceMapPopInternal(),g=y.parts,C=y.location,F=C.start.offset<o.end.offset?{start:o.end,end:C.end,source:C.source}:C;this.sourceMapStack.push([g,g.length+(s||0),F])}}}],[{key:"sourceNode",value:function(s,c,o){var y=l.offsetStart(s);return new p(y.line,y.column?y.column-1:null,String(s.source),c,o)}}]),d})();t.exports=f}),es=U(function(r){"use strict";r.version="5.1.0"}),Qe=U(function(r){"use strict";var t=function(d){return d.codePointAt(0).toString(16).toUpperCase()},u=function(d){return(typeof d>"u"?"undefined":_type_of(d))=="object"?"\\\\".concat(d.value):d.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\v/g,"\\v").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(RegExp("[\\u{10000}-\\u{10FFFF}]","gu"),function(s){return"\\u{".concat(t(s),"}")}).replace(/[\x00-\x0F]/g,function(s){return"\\x0"+t(s)}).replace(/[\x10-\x1F\x7F-\xFF]/g,function(s){return"\\x"+t(s)}).replace(/[\u0100-\u0FFF]/g,function(s){return"\\u0"+t(s)}).replace(/[\u1000-\uFFFF]/g,function(s){return"\\u"+t(s)})},p=function(d){return(typeof d>"u"?"undefined":_type_of(d))=="object"?"\\".concat(d.value):d.replace(/\\/g,"\\\\").replace(/\//g,"\\/").replace(/]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\v/g,"\\v").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(s){return"\\x0"+t(s)}).replace(/[\x10-\x1F\x7F-\xFF]/g,function(s){return"\\x"+t(s)}).replace(RegExp("[\\u{10000}-\\u{10FFFF}]","gu"),function(s){return"\\u{"+t(s)+"}"}).replace(/[\u0100-\u0FFF]/g,function(s){return"\\u0"+t(s)}).replace(/[\u1000-\uFFFF]/g,function(s){return"\\u"+t(s)})},l=function(d){for(var s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",c=d.length%3,o=d.length-c,y="",g=0;g<o;g+=3)y+=s[d[g]>>2],y+=s[(d[g]&3)<<4|d[g+1]>>4],y+=s[(d[g+1]&15)<<2|d[g+2]>>6],y+=s[d[g+2]&63];return c===1?(y+=s[d[o]>>2],y+=s[(d[o]&3)<<4],y+="=="):c===2&&(y+=s[d[o]>>2],y+=s[(d[o]&3)<<4|d[o+1]>>4],y+=s[(d[o+1]&15)<<2],y+="="),y},f=function(d){var s=d[Symbol.iterator](),c=s.next();return c.done||!s.next().done?-1:c.value.codePointAt(0)};r.hex=t,r.stringEscape=u,r.regexpClassEscape=p,r.base64=l,r.codePointLen1=f}),ts=U(function(r,t){"use strict";var u=function(s,c){c=c!==void 0?c:{};var o={},y=c.grammarSource,g={Grammar:Aa,ImportsAndSource:Cp},C=Aa,F="import",B=";",b=",",O="*",R="as",k="{",D="}",S="from",P="=",w="/",E="@",N=":",V="|",W="..",H="(",G=")",Z=".",te=`
19
+ `,me=`\r
20
+ `,ke="/*",Se="*/",xe="//",se="\\",x="i",$='"',q="'",J="[",re="^",de="]",Fe="p",j="_",fe="u",Ee="-",je="0",ne="b",ve="f",X="n",$e="r",Le="t",le="v",vt="x",T=/^[!$&]/,ge=/^[*-+?]/,pe=/^[!&]/,Xe=/^[\0-\uD7FF\uE000-\uFFFF]/,Je=/^[\uD800-\uDBFF]/,Gt=/^[\uDC00-\uDFFF]/,xt=/^[\uD800-\uDFFF]/,Ot=RegExp("^[\\t\\v-\\f \\u0020\\u00A0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000\\xA0\\uFEFF]","u"),wr=/^[\n\r\u2028\u2029]/,_r=/^[\r\u2028-\u2029]/,He=RegExp("^[\\u0041-\\u005A\\u0061-\\u007A\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376-\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E-\\u066F\\u0671-\\u06D3\\u06D5\\u06E5-\\u06E6\\u06EE-\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4-\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088F\\u08A0-\\u08C9\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F-\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC-\\u09DD\\u09DF-\\u09E1\\u09F0-\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F-\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32-\\u0A33\\u0A35-\\u0A36\\u0A38-\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2-\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0-\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F-\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32-\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C-\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99-\\u0B9A\\u0B9C\\u0B9E-\\u0B9F\\u0BA3-\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C5C-\\u0C5D\\u0C60-\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDC-\\u0CDE\\u0CE0-\\u0CE1\\u0CF1-\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32-\\u0E33\\u0E40-\\u0E46\\u0E81-\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2-\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065-\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u1711\\u171F-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4C\\u1B83-\\u1BA0\\u1BAE-\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C8A\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5-\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A-\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7DC\\uA7F1-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD-\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5-\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40-\\uFB41\\uFB43-\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\\u{10000}-\\u{1000B}\\u{1000D}-\\u{10026}\\u{10028}-\\u{1003A}\\u{1003C}-\\u{1003D}\\u{1003F}-\\u{1004D}\\u{10050}-\\u{1005D}\\u{10080}-\\u{100FA}\\u{10140}-\\u{10174}\\u{10280}-\\u{1029C}\\u{102A0}-\\u{102D0}\\u{10300}-\\u{1031F}\\u{1032D}-\\u{1034A}\\u{10350}-\\u{10375}\\u{10380}-\\u{1039D}\\u{103A0}-\\u{103C3}\\u{103C8}-\\u{103CF}\\u{103D1}-\\u{103D5}\\u{10400}-\\u{1049D}\\u{104B0}-\\u{104D3}\\u{104D8}-\\u{104FB}\\u{10500}-\\u{10527}\\u{10530}-\\u{10563}\\u{10570}-\\u{1057A}\\u{1057C}-\\u{1058A}\\u{1058C}-\\u{10592}\\u{10594}-\\u{10595}\\u{10597}-\\u{105A1}\\u{105A3}-\\u{105B1}\\u{105B3}-\\u{105B9}\\u{105BB}-\\u{105BC}\\u{105C0}-\\u{105F3}\\u{10600}-\\u{10736}\\u{10740}-\\u{10755}\\u{10760}-\\u{10767}\\u{10780}-\\u{10785}\\u{10787}-\\u{107B0}\\u{107B2}-\\u{107BA}\\u{10800}-\\u{10805}\\u{10808}\\u{1080A}-\\u{10835}\\u{10837}-\\u{10838}\\u{1083C}\\u{1083F}-\\u{10855}\\u{10860}-\\u{10876}\\u{10880}-\\u{1089E}\\u{108E0}-\\u{108F2}\\u{108F4}-\\u{108F5}\\u{10900}-\\u{10915}\\u{10920}-\\u{10939}\\u{10940}-\\u{10959}\\u{10980}-\\u{109B7}\\u{109BE}-\\u{109BF}\\u{10A00}\\u{10A10}-\\u{10A13}\\u{10A15}-\\u{10A17}\\u{10A19}-\\u{10A35}\\u{10A60}-\\u{10A7C}\\u{10A80}-\\u{10A9C}\\u{10AC0}-\\u{10AC7}\\u{10AC9}-\\u{10AE4}\\u{10B00}-\\u{10B35}\\u{10B40}-\\u{10B55}\\u{10B60}-\\u{10B72}\\u{10B80}-\\u{10B91}\\u{10C00}-\\u{10C48}\\u{10C80}-\\u{10CB2}\\u{10CC0}-\\u{10CF2}\\u{10D00}-\\u{10D23}\\u{10D4A}-\\u{10D65}\\u{10D6F}-\\u{10D85}\\u{10E80}-\\u{10EA9}\\u{10EB0}-\\u{10EB1}\\u{10EC2}-\\u{10EC7}\\u{10F00}-\\u{10F1C}\\u{10F27}\\u{10F30}-\\u{10F45}\\u{10F70}-\\u{10F81}\\u{10FB0}-\\u{10FC4}\\u{10FE0}-\\u{10FF6}\\u{11003}-\\u{11037}\\u{11071}-\\u{11072}\\u{11075}\\u{11083}-\\u{110AF}\\u{110D0}-\\u{110E8}\\u{11103}-\\u{11126}\\u{11144}\\u{11147}\\u{11150}-\\u{11172}\\u{11176}\\u{11183}-\\u{111B2}\\u{111C1}-\\u{111C4}\\u{111DA}\\u{111DC}\\u{11200}-\\u{11211}\\u{11213}-\\u{1122B}\\u{1123F}-\\u{11240}\\u{11280}-\\u{11286}\\u{11288}\\u{1128A}-\\u{1128D}\\u{1128F}-\\u{1129D}\\u{1129F}-\\u{112A8}\\u{112B0}-\\u{112DE}\\u{11305}-\\u{1130C}\\u{1130F}-\\u{11310}\\u{11313}-\\u{11328}\\u{1132A}-\\u{11330}\\u{11332}-\\u{11333}\\u{11335}-\\u{11339}\\u{1133D}\\u{11350}\\u{1135D}-\\u{11361}\\u{11380}-\\u{11389}\\u{1138B}\\u{1138E}\\u{11390}-\\u{113B5}\\u{113B7}\\u{113D1}\\u{113D3}\\u{11400}-\\u{11434}\\u{11447}-\\u{1144A}\\u{1145F}-\\u{11461}\\u{11480}-\\u{114AF}\\u{114C4}-\\u{114C5}\\u{114C7}\\u{11580}-\\u{115AE}\\u{115D8}-\\u{115DB}\\u{11600}-\\u{1162F}\\u{11644}\\u{11680}-\\u{116AA}\\u{116B8}\\u{11700}-\\u{1171A}\\u{11740}-\\u{11746}\\u{11800}-\\u{1182B}\\u{118A0}-\\u{118DF}\\u{118FF}-\\u{11906}\\u{11909}\\u{1190C}-\\u{11913}\\u{11915}-\\u{11916}\\u{11918}-\\u{1192F}\\u{1193F}\\u{11941}\\u{119A0}-\\u{119A7}\\u{119AA}-\\u{119D0}\\u{119E1}\\u{119E3}\\u{11A00}\\u{11A0B}-\\u{11A32}\\u{11A3A}\\u{11A50}\\u{11A5C}-\\u{11A89}\\u{11A9D}\\u{11AB0}-\\u{11AF8}\\u{11BC0}-\\u{11BE0}\\u{11C00}-\\u{11C08}\\u{11C0A}-\\u{11C2E}\\u{11C40}\\u{11C72}-\\u{11C8F}\\u{11D00}-\\u{11D06}\\u{11D08}-\\u{11D09}\\u{11D0B}-\\u{11D30}\\u{11D46}\\u{11D60}-\\u{11D65}\\u{11D67}-\\u{11D68}\\u{11D6A}-\\u{11D89}\\u{11D98}\\u{11DB0}-\\u{11DDB}\\u{11EE0}-\\u{11EF2}\\u{11F02}\\u{11F04}-\\u{11F10}\\u{11F12}-\\u{11F33}\\u{11FB0}\\u{12000}-\\u{12399}\\u{12400}-\\u{1246E}\\u{12480}-\\u{12543}\\u{12F90}-\\u{12FF0}\\u{13000}-\\u{1342F}\\u{13441}-\\u{13446}\\u{13460}-\\u{143FA}\\u{14400}-\\u{14646}\\u{16100}-\\u{1611D}\\u{16800}-\\u{16A38}\\u{16A40}-\\u{16A5E}\\u{16A70}-\\u{16ABE}\\u{16AD0}-\\u{16AED}\\u{16B00}-\\u{16B2F}\\u{16B40}-\\u{16B43}\\u{16B63}-\\u{16B77}\\u{16B7D}-\\u{16B8F}\\u{16D40}-\\u{16D6C}\\u{16E40}-\\u{16E7F}\\u{16EA0}-\\u{16EB8}\\u{16EBB}-\\u{16ED3}\\u{16F00}-\\u{16F4A}\\u{16F50}\\u{16F93}-\\u{16F9F}\\u{16FE0}-\\u{16FE1}\\u{16FE3}\\u{16FF2}-\\u{16FF6}\\u{17000}-\\u{18CD5}\\u{18CFF}-\\u{18D1E}\\u{18D80}-\\u{18DF2}\\u{1AFF0}-\\u{1AFF3}\\u{1AFF5}-\\u{1AFFB}\\u{1AFFD}-\\u{1AFFE}\\u{1B000}-\\u{1B122}\\u{1B132}\\u{1B150}-\\u{1B152}\\u{1B155}\\u{1B164}-\\u{1B167}\\u{1B170}-\\u{1B2FB}\\u{1BC00}-\\u{1BC6A}\\u{1BC70}-\\u{1BC7C}\\u{1BC80}-\\u{1BC88}\\u{1BC90}-\\u{1BC99}\\u{1D400}-\\u{1D454}\\u{1D456}-\\u{1D49C}\\u{1D49E}-\\u{1D49F}\\u{1D4A2}\\u{1D4A5}-\\u{1D4A6}\\u{1D4A9}-\\u{1D4AC}\\u{1D4AE}-\\u{1D4B9}\\u{1D4BB}\\u{1D4BD}-\\u{1D4C3}\\u{1D4C5}-\\u{1D505}\\u{1D507}-\\u{1D50A}\\u{1D50D}-\\u{1D514}\\u{1D516}-\\u{1D51C}\\u{1D51E}-\\u{1D539}\\u{1D53B}-\\u{1D53E}\\u{1D540}-\\u{1D544}\\u{1D546}\\u{1D54A}-\\u{1D550}\\u{1D552}-\\u{1D6A5}\\u{1D6A8}-\\u{1D6C0}\\u{1D6C2}-\\u{1D6DA}\\u{1D6DC}-\\u{1D6FA}\\u{1D6FC}-\\u{1D714}\\u{1D716}-\\u{1D734}\\u{1D736}-\\u{1D74E}\\u{1D750}-\\u{1D76E}\\u{1D770}-\\u{1D788}\\u{1D78A}-\\u{1D7A8}\\u{1D7AA}-\\u{1D7C2}\\u{1D7C4}-\\u{1D7CB}\\u{1DF00}-\\u{1DF1E}\\u{1DF25}-\\u{1DF2A}\\u{1E030}-\\u{1E06D}\\u{1E100}-\\u{1E12C}\\u{1E137}-\\u{1E13D}\\u{1E14E}\\u{1E290}-\\u{1E2AD}\\u{1E2C0}-\\u{1E2EB}\\u{1E4D0}-\\u{1E4EB}\\u{1E5D0}-\\u{1E5ED}\\u{1E5F0}\\u{1E6C0}-\\u{1E6DE}\\u{1E6E0}-\\u{1E6E2}\\u{1E6E4}-\\u{1E6E5}\\u{1E6E7}-\\u{1E6ED}\\u{1E6F0}-\\u{1E6F4}\\u{1E6FE}-\\u{1E6FF}\\u{1E7E0}-\\u{1E7E6}\\u{1E7E8}-\\u{1E7EB}\\u{1E7ED}-\\u{1E7EE}\\u{1E7F0}-\\u{1E7FE}\\u{1E800}-\\u{1E8C4}\\u{1E900}-\\u{1E943}\\u{1E94B}\\u{1EE00}-\\u{1EE03}\\u{1EE05}-\\u{1EE1F}\\u{1EE21}-\\u{1EE22}\\u{1EE24}\\u{1EE27}\\u{1EE29}-\\u{1EE32}\\u{1EE34}-\\u{1EE37}\\u{1EE39}\\u{1EE3B}\\u{1EE42}\\u{1EE47}\\u{1EE49}\\u{1EE4B}\\u{1EE4D}-\\u{1EE4F}\\u{1EE51}-\\u{1EE52}\\u{1EE54}\\u{1EE57}\\u{1EE59}\\u{1EE5B}\\u{1EE5D}\\u{1EE5F}\\u{1EE61}-\\u{1EE62}\\u{1EE64}\\u{1EE67}-\\u{1EE6A}\\u{1EE6C}-\\u{1EE72}\\u{1EE74}-\\u{1EE77}\\u{1EE79}-\\u{1EE7C}\\u{1EE7E}\\u{1EE80}-\\u{1EE89}\\u{1EE8B}-\\u{1EE9B}\\u{1EEA1}-\\u{1EEA3}\\u{1EEA5}-\\u{1EEA9}\\u{1EEAB}-\\u{1EEBB}\\u{20000}-\\u{2A6DF}\\u{2A700}-\\u{2B81D}\\u{2B820}-\\u{2CEAD}\\u{2CEB0}-\\u{2EBE0}\\u{2EBF0}-\\u{2EE5D}\\u{2F800}-\\u{2FA1D}\\u{30000}-\\u{3134A}\\u{31350}-\\u{33479}_]","u"),Ye=RegExp("^[$\\u0030-\\u0039\\u0041-\\u005A\\u005F\\u0061-\\u007A\\u00AA\\u00B5\\u00B7\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376-\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u0591-\\u05BD\\u05BF\\u05C1-\\u05C2\\u05C4-\\u05C5\\u05C7\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u07FD\\u0800-\\u082D\\u0840-\\u085B\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088F\\u0897-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F-\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7-\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC-\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u09FC\\u09FE\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F-\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32-\\u0A33\\u0A35-\\u0A36\\u0A38-\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47-\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2-\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9-\\u0AFF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F-\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32-\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47-\\u0B48\\u0B4B-\\u0B4D\\u0B55-\\u0B57\\u0B5C-\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82-\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99-\\u0B9A\\u0B9C\\u0B9E-\\u0B9F\\u0BA3-\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3C-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55-\\u0C56\\u0C58-\\u0C5A\\u0C5C-\\u0C5D\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5-\\u0CD6\\u0CDC-\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1-\\u0CF3\\u0D00-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D81-\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2-\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81-\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECE\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18-\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u1715\\u171F-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772-\\u1773\\u1780-\\u17D3\\u17D7\\u17DC-\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u180F-\\u1819\\u1820-\\u1878\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1ABF-\\u1ADD\\u1AE0-\\u1AEB\\u1B00-\\u1B4C\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C8A\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CD0-\\u1CD2\\u1CD4-\\u1CFA\\u1D00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C-\\u200D\\u203F-\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7DC\\uA7F1-\\uA827\\uA82C\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABEA\\uABEC-\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40-\\uFB41\\uFB43-\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33-\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF65-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\\u{10000}-\\u{1000B}\\u{1000D}-\\u{10026}\\u{10028}-\\u{1003A}\\u{1003C}-\\u{1003D}\\u{1003F}-\\u{1004D}\\u{10050}-\\u{1005D}\\u{10080}-\\u{100FA}\\u{10140}-\\u{10174}\\u{101FD}\\u{10280}-\\u{1029C}\\u{102A0}-\\u{102D0}\\u{102E0}\\u{10300}-\\u{1031F}\\u{1032D}-\\u{1034A}\\u{10350}-\\u{1037A}\\u{10380}-\\u{1039D}\\u{103A0}-\\u{103C3}\\u{103C8}-\\u{103CF}\\u{103D1}-\\u{103D5}\\u{10400}-\\u{1049D}\\u{104A0}-\\u{104A9}\\u{104B0}-\\u{104D3}\\u{104D8}-\\u{104FB}\\u{10500}-\\u{10527}\\u{10530}-\\u{10563}\\u{10570}-\\u{1057A}\\u{1057C}-\\u{1058A}\\u{1058C}-\\u{10592}\\u{10594}-\\u{10595}\\u{10597}-\\u{105A1}\\u{105A3}-\\u{105B1}\\u{105B3}-\\u{105B9}\\u{105BB}-\\u{105BC}\\u{105C0}-\\u{105F3}\\u{10600}-\\u{10736}\\u{10740}-\\u{10755}\\u{10760}-\\u{10767}\\u{10780}-\\u{10785}\\u{10787}-\\u{107B0}\\u{107B2}-\\u{107BA}\\u{10800}-\\u{10805}\\u{10808}\\u{1080A}-\\u{10835}\\u{10837}-\\u{10838}\\u{1083C}\\u{1083F}-\\u{10855}\\u{10860}-\\u{10876}\\u{10880}-\\u{1089E}\\u{108E0}-\\u{108F2}\\u{108F4}-\\u{108F5}\\u{10900}-\\u{10915}\\u{10920}-\\u{10939}\\u{10940}-\\u{10959}\\u{10980}-\\u{109B7}\\u{109BE}-\\u{109BF}\\u{10A00}-\\u{10A03}\\u{10A05}-\\u{10A06}\\u{10A0C}-\\u{10A13}\\u{10A15}-\\u{10A17}\\u{10A19}-\\u{10A35}\\u{10A38}-\\u{10A3A}\\u{10A3F}\\u{10A60}-\\u{10A7C}\\u{10A80}-\\u{10A9C}\\u{10AC0}-\\u{10AC7}\\u{10AC9}-\\u{10AE6}\\u{10B00}-\\u{10B35}\\u{10B40}-\\u{10B55}\\u{10B60}-\\u{10B72}\\u{10B80}-\\u{10B91}\\u{10C00}-\\u{10C48}\\u{10C80}-\\u{10CB2}\\u{10CC0}-\\u{10CF2}\\u{10D00}-\\u{10D27}\\u{10D30}-\\u{10D39}\\u{10D40}-\\u{10D65}\\u{10D69}-\\u{10D6D}\\u{10D6F}-\\u{10D85}\\u{10E80}-\\u{10EA9}\\u{10EAB}-\\u{10EAC}\\u{10EB0}-\\u{10EB1}\\u{10EC2}-\\u{10EC7}\\u{10EFA}-\\u{10F1C}\\u{10F27}\\u{10F30}-\\u{10F50}\\u{10F70}-\\u{10F85}\\u{10FB0}-\\u{10FC4}\\u{10FE0}-\\u{10FF6}\\u{11000}-\\u{11046}\\u{11066}-\\u{11075}\\u{1107F}-\\u{110BA}\\u{110C2}\\u{110D0}-\\u{110E8}\\u{110F0}-\\u{110F9}\\u{11100}-\\u{11134}\\u{11136}-\\u{1113F}\\u{11144}-\\u{11147}\\u{11150}-\\u{11173}\\u{11176}\\u{11180}-\\u{111C4}\\u{111C9}-\\u{111CC}\\u{111CE}-\\u{111DA}\\u{111DC}\\u{11200}-\\u{11211}\\u{11213}-\\u{11237}\\u{1123E}-\\u{11241}\\u{11280}-\\u{11286}\\u{11288}\\u{1128A}-\\u{1128D}\\u{1128F}-\\u{1129D}\\u{1129F}-\\u{112A8}\\u{112B0}-\\u{112EA}\\u{112F0}-\\u{112F9}\\u{11300}-\\u{11303}\\u{11305}-\\u{1130C}\\u{1130F}-\\u{11310}\\u{11313}-\\u{11328}\\u{1132A}-\\u{11330}\\u{11332}-\\u{11333}\\u{11335}-\\u{11339}\\u{1133B}-\\u{11344}\\u{11347}-\\u{11348}\\u{1134B}-\\u{1134D}\\u{11350}\\u{11357}\\u{1135D}-\\u{11363}\\u{11366}-\\u{1136C}\\u{11370}-\\u{11374}\\u{11380}-\\u{11389}\\u{1138B}\\u{1138E}\\u{11390}-\\u{113B5}\\u{113B7}-\\u{113C0}\\u{113C2}\\u{113C5}\\u{113C7}-\\u{113CA}\\u{113CC}-\\u{113D3}\\u{113E1}-\\u{113E2}\\u{11400}-\\u{1144A}\\u{11450}-\\u{11459}\\u{1145E}-\\u{11461}\\u{11480}-\\u{114C5}\\u{114C7}\\u{114D0}-\\u{114D9}\\u{11580}-\\u{115B5}\\u{115B8}-\\u{115C0}\\u{115D8}-\\u{115DD}\\u{11600}-\\u{11640}\\u{11644}\\u{11650}-\\u{11659}\\u{11680}-\\u{116B8}\\u{116C0}-\\u{116C9}\\u{116D0}-\\u{116E3}\\u{11700}-\\u{1171A}\\u{1171D}-\\u{1172B}\\u{11730}-\\u{11739}\\u{11740}-\\u{11746}\\u{11800}-\\u{1183A}\\u{118A0}-\\u{118E9}\\u{118FF}-\\u{11906}\\u{11909}\\u{1190C}-\\u{11913}\\u{11915}-\\u{11916}\\u{11918}-\\u{11935}\\u{11937}-\\u{11938}\\u{1193B}-\\u{11943}\\u{11950}-\\u{11959}\\u{119A0}-\\u{119A7}\\u{119AA}-\\u{119D7}\\u{119DA}-\\u{119E1}\\u{119E3}-\\u{119E4}\\u{11A00}-\\u{11A3E}\\u{11A47}\\u{11A50}-\\u{11A99}\\u{11A9D}\\u{11AB0}-\\u{11AF8}\\u{11B60}-\\u{11B67}\\u{11BC0}-\\u{11BE0}\\u{11BF0}-\\u{11BF9}\\u{11C00}-\\u{11C08}\\u{11C0A}-\\u{11C36}\\u{11C38}-\\u{11C40}\\u{11C50}-\\u{11C59}\\u{11C72}-\\u{11C8F}\\u{11C92}-\\u{11CA7}\\u{11CA9}-\\u{11CB6}\\u{11D00}-\\u{11D06}\\u{11D08}-\\u{11D09}\\u{11D0B}-\\u{11D36}\\u{11D3A}\\u{11D3C}-\\u{11D3D}\\u{11D3F}-\\u{11D47}\\u{11D50}-\\u{11D59}\\u{11D60}-\\u{11D65}\\u{11D67}-\\u{11D68}\\u{11D6A}-\\u{11D8E}\\u{11D90}-\\u{11D91}\\u{11D93}-\\u{11D98}\\u{11DA0}-\\u{11DA9}\\u{11DB0}-\\u{11DDB}\\u{11DE0}-\\u{11DE9}\\u{11EE0}-\\u{11EF6}\\u{11F00}-\\u{11F10}\\u{11F12}-\\u{11F3A}\\u{11F3E}-\\u{11F42}\\u{11F50}-\\u{11F5A}\\u{11FB0}\\u{12000}-\\u{12399}\\u{12400}-\\u{1246E}\\u{12480}-\\u{12543}\\u{12F90}-\\u{12FF0}\\u{13000}-\\u{1342F}\\u{13440}-\\u{13455}\\u{13460}-\\u{143FA}\\u{14400}-\\u{14646}\\u{16100}-\\u{16139}\\u{16800}-\\u{16A38}\\u{16A40}-\\u{16A5E}\\u{16A60}-\\u{16A69}\\u{16A70}-\\u{16ABE}\\u{16AC0}-\\u{16AC9}\\u{16AD0}-\\u{16AED}\\u{16AF0}-\\u{16AF4}\\u{16B00}-\\u{16B36}\\u{16B40}-\\u{16B43}\\u{16B50}-\\u{16B59}\\u{16B63}-\\u{16B77}\\u{16B7D}-\\u{16B8F}\\u{16D40}-\\u{16D6C}\\u{16D70}-\\u{16D79}\\u{16E40}-\\u{16E7F}\\u{16EA0}-\\u{16EB8}\\u{16EBB}-\\u{16ED3}\\u{16F00}-\\u{16F4A}\\u{16F4F}-\\u{16F87}\\u{16F8F}-\\u{16F9F}\\u{16FE0}-\\u{16FE1}\\u{16FE3}-\\u{16FE4}\\u{16FF0}-\\u{16FF6}\\u{17000}-\\u{18CD5}\\u{18CFF}-\\u{18D1E}\\u{18D80}-\\u{18DF2}\\u{1AFF0}-\\u{1AFF3}\\u{1AFF5}-\\u{1AFFB}\\u{1AFFD}-\\u{1AFFE}\\u{1B000}-\\u{1B122}\\u{1B132}\\u{1B150}-\\u{1B152}\\u{1B155}\\u{1B164}-\\u{1B167}\\u{1B170}-\\u{1B2FB}\\u{1BC00}-\\u{1BC6A}\\u{1BC70}-\\u{1BC7C}\\u{1BC80}-\\u{1BC88}\\u{1BC90}-\\u{1BC99}\\u{1BC9D}-\\u{1BC9E}\\u{1CCF0}-\\u{1CCF9}\\u{1CF00}-\\u{1CF2D}\\u{1CF30}-\\u{1CF46}\\u{1D165}-\\u{1D169}\\u{1D16D}-\\u{1D172}\\u{1D17B}-\\u{1D182}\\u{1D185}-\\u{1D18B}\\u{1D1AA}-\\u{1D1AD}\\u{1D242}-\\u{1D244}\\u{1D400}-\\u{1D454}\\u{1D456}-\\u{1D49C}\\u{1D49E}-\\u{1D49F}\\u{1D4A2}\\u{1D4A5}-\\u{1D4A6}\\u{1D4A9}-\\u{1D4AC}\\u{1D4AE}-\\u{1D4B9}\\u{1D4BB}\\u{1D4BD}-\\u{1D4C3}\\u{1D4C5}-\\u{1D505}\\u{1D507}-\\u{1D50A}\\u{1D50D}-\\u{1D514}\\u{1D516}-\\u{1D51C}\\u{1D51E}-\\u{1D539}\\u{1D53B}-\\u{1D53E}\\u{1D540}-\\u{1D544}\\u{1D546}\\u{1D54A}-\\u{1D550}\\u{1D552}-\\u{1D6A5}\\u{1D6A8}-\\u{1D6C0}\\u{1D6C2}-\\u{1D6DA}\\u{1D6DC}-\\u{1D6FA}\\u{1D6FC}-\\u{1D714}\\u{1D716}-\\u{1D734}\\u{1D736}-\\u{1D74E}\\u{1D750}-\\u{1D76E}\\u{1D770}-\\u{1D788}\\u{1D78A}-\\u{1D7A8}\\u{1D7AA}-\\u{1D7C2}\\u{1D7C4}-\\u{1D7CB}\\u{1D7CE}-\\u{1D7FF}\\u{1DA00}-\\u{1DA36}\\u{1DA3B}-\\u{1DA6C}\\u{1DA75}\\u{1DA84}\\u{1DA9B}-\\u{1DA9F}\\u{1DAA1}-\\u{1DAAF}\\u{1DF00}-\\u{1DF1E}\\u{1DF25}-\\u{1DF2A}\\u{1E000}-\\u{1E006}\\u{1E008}-\\u{1E018}\\u{1E01B}-\\u{1E021}\\u{1E023}-\\u{1E024}\\u{1E026}-\\u{1E02A}\\u{1E030}-\\u{1E06D}\\u{1E08F}\\u{1E100}-\\u{1E12C}\\u{1E130}-\\u{1E13D}\\u{1E140}-\\u{1E149}\\u{1E14E}\\u{1E290}-\\u{1E2AE}\\u{1E2C0}-\\u{1E2F9}\\u{1E4D0}-\\u{1E4F9}\\u{1E5D0}-\\u{1E5FA}\\u{1E6C0}-\\u{1E6DE}\\u{1E6E0}-\\u{1E6F5}\\u{1E6FE}-\\u{1E6FF}\\u{1E7E0}-\\u{1E7E6}\\u{1E7E8}-\\u{1E7EB}\\u{1E7ED}-\\u{1E7EE}\\u{1E7F0}-\\u{1E7FE}\\u{1E800}-\\u{1E8C4}\\u{1E8D0}-\\u{1E8D6}\\u{1E900}-\\u{1E94B}\\u{1E950}-\\u{1E959}\\u{1EE00}-\\u{1EE03}\\u{1EE05}-\\u{1EE1F}\\u{1EE21}-\\u{1EE22}\\u{1EE24}\\u{1EE27}\\u{1EE29}-\\u{1EE32}\\u{1EE34}-\\u{1EE37}\\u{1EE39}\\u{1EE3B}\\u{1EE42}\\u{1EE47}\\u{1EE49}\\u{1EE4B}\\u{1EE4D}-\\u{1EE4F}\\u{1EE51}-\\u{1EE52}\\u{1EE54}\\u{1EE57}\\u{1EE59}\\u{1EE5B}\\u{1EE5D}\\u{1EE5F}\\u{1EE61}-\\u{1EE62}\\u{1EE64}\\u{1EE67}-\\u{1EE6A}\\u{1EE6C}-\\u{1EE72}\\u{1EE74}-\\u{1EE77}\\u{1EE79}-\\u{1EE7C}\\u{1EE7E}\\u{1EE80}-\\u{1EE89}\\u{1EE8B}-\\u{1EE9B}\\u{1EEA1}-\\u{1EEA3}\\u{1EEA5}-\\u{1EEA9}\\u{1EEAB}-\\u{1EEBB}\\u{1FBF0}-\\u{1FBF9}\\u{20000}-\\u{2A6DF}\\u{2A700}-\\u{2B81D}\\u{2B820}-\\u{2CEAD}\\u{2CEB0}-\\u{2EBE0}\\u{2EBF0}-\\u{2EE5D}\\u{2F800}-\\u{2FA1D}\\u{30000}-\\u{3134A}\\u{31350}-\\u{33479}\\u{E0100}-\\u{E01EF}]","u"),Ze=/^[\n\r"\\\u2028-\u2029]/,rt=/^[\n\r'\\\u2028-\u2029]/,nt=/^[a-z]/i,pt=/^[\n\r\\-\]\u2028-\u2029]/,Dt=/^["'\\]/,Me=/^[0-9pux]/,It=/^[0-9]/,ot=/^[0-9a-f]/i,Ut=/^[{}]/,ro=yp(),ia=De("import",!1),yn=De(";",!1),gn=De(",",!1),ol=De("*",!1),sa=De("as",!1),jt=De("{",!1),Yt=De("}",!1),al=De("from",!1),no=De("=",!1),la=De("/",!1),ul=De("@",!1),il=De(":",!1),sl=Ge(["!","$","&"],!1,!1,!1),ll=Ge([["*","+"],"?"],!1,!1,!1),ca=De("|",!1),cl=De("..",!1),pl=De("(",!1),dl=De(")",!1),pa=De(".",!1),fl=Ge(["!","&"],!1,!1,!1),ml=Ge([["\0","\uD7FF"],["\uE000","\uFFFF"]],!1,!1,!1),hl=Ge([["\uD800","\uDBFF"]],!1,!1,!1),yl=Ge([["\uDC00","\uDFFF"]],!1,!1,!1),gl=Ge([["\uD800","\uDFFF"]],!1,!1,!1),Al=Mt("whitespace"),Cl=Ge([" ",["\v","\f"]," ","\\p{Zs}","\xA0","\uFEFF"],!1,!1,!0),vl=Ge([`
21
+ `,"\r","\u2028","\u2029"],!1,!1,!1),bl=Mt("end of line"),Fl=De(`
22
+ `,!1),El=De(`\r
23
+ `,!1),Dl=Ge(["\r",["\u2028","\u2029"]],!1,!1,!1),Sl=Mt("comment"),da=De("/*",!1),dr=De("*/",!1),Bl=De("//",!1),wl=Mt("identifier"),xl=Ge(["\\p{ID_Start}","_"],!1,!1,!0),fr=De("\\",!1),kl=Ge(["$","\\p{ID_Continue}"],!1,!1,!0),_l=Mt("literal"),fa=De("i",!1),Pl=Mt("string"),ma=De('"',!1),ha=De("'",!1),Rl=Ge([`
24
+ `,"\r",'"',"\\",["\u2028","\u2029"]],!1,!1,!1),Ol=Ge([`
25
+ `,"\r","'","\\",["\u2028","\u2029"]],!1,!1,!1),Il=Mt("character class"),Ml=De("[",!1),Nl=De("^",!1),Tl=De("]",!1),Vl=De("p",!0),$l=De("_",!1),Ll=Ge([["a","z"]],!1,!0,!1),oo=De("u",!1),Wl=De("-",!1),Hl=Ge([`
26
+ `,"\r",["\\","]"],["\u2028","\u2029"]],!1,!1,!1),Gl=De("0",!1),Ul=Ge(['"',"'","\\"],!1,!1,!1),jl=De("b",!1),Yl=De("f",!1),zl=De("n",!1),ql=De("r",!1),ec=De("t",!1),tc=De("v",!1),rc=Ge([["0","9"],"p","u","x"],!1,!1,!1),nc=De("x",!1),oc=Ge([["0","9"]],!1,!1,!1),ac=Ge([["0","9"],["a","f"]],!1,!0,!1),uc=Mt("code block"),An=Ge(["{","}"],!1,!1,!1);function ic(a,h,v,A){return{type:"grammar",imports:a,topLevelInitializer:h,initializer:v,rules:A,location:_e()}}function sc(a,h){return[a,h]}function lc(a){return{type:"top_level_initializer",code:a,codeLocation:_e()}}function cc(a){return{type:"top_level_initializer",code:a,codeLocation:_e()}}function pc(a,h){return{type:"grammar_import",what:a,from:h,location:_e()}}function dc(a){return{type:"grammar_import",what:[],from:a,location:_e()}}function fc(a,h){return h?(h.unshift(a),h):[a]}function mc(a){return{type:"import_binding_default",binding:a[0],location:a[1]}}function hc(a){return[{type:"import_binding_all",binding:a[0],location:a[1]}]}function yc(){return[]}function gc(a,h){return{type:"import_binding_rename",rename:a[0],renameLocation:a[1],binding:h[0],location:h[1]}}function Ac(a){return{type:"import_binding",binding:a[0],location:a[1]}}function Cc(a){return{type:"import_module_specifier",module:a,location:_e()}}function vc(a){return[a,_e()]}function bc(a){return[a,_e()]}function Fc(a){return $a.has(a[0])&&rr(`Binding identifier can't be a reserved word "`.concat(a[0],'"'),a[1]),a[0]}function Ec(a){return{type:"top_level_initializer",code:a[0],codeLocation:a[1],location:_e()}}function Dc(a){return{type:"initializer",code:a[0],codeLocation:a[1],location:_e()}}function Sc(a,h,v){return{type:"rule",name:a[0],nameLocation:a[1],expression:h!==null?{type:"named",name:h,expression:v,location:_e()}:v,location:_e()}}function Bc(a,h){return h.length>0?{type:"choice",alternatives:[a].concat(h),location:_e()}:a}function wc(a,h){return h!==null?{type:"action",expression:a,code:h[0],codeLocation:h[1],location:_e()}:a}function xc(a,h){return h.length>0||a.type==="labeled"&&a.pick?{type:"sequence",elements:[a].concat(h),location:_e()}:a}function kc(a,h,v){return v.type.startsWith("semantic_")&&rr('"@" cannot be used on a semantic predicate',a),{type:"labeled",label:h!==null?h[0]:null,labelLocation:h!==null?h[1]:a,pick:!0,expression:v,location:_e()}}function _c(a,h){return{type:"labeled",label:a[0],labelLocation:a[1],expression:h,location:_e()}}function Pc(){return _e()}function Rc(a){return $a.has(a[0])&&rr(`Label can't be a reserved word "`.concat(a[0],'"'),a[1]),a}function Oc(a,h){return{type:p[a],expression:h,location:_e()}}function Ic(a,h){return{type:l[h],expression:a,location:_e()}}function Mc(a,h,v){var A=h[0],_=h[1];return _.type==="constant"&&_.value===0&&rr("The maximum count of repetitions of the rule must be > 0",_.location),{type:"repeated",min:A,max:_,expression:a,delimiter:v,location:_e()}}function Nc(a,h){return[a!==null?a:{type:"constant",value:0},h!==null?h:{type:"constant",value:null}]}function Tc(a){return[null,a]}function Vc(a){return{type:"constant",value:a,location:_e()}}function $c(a){return{type:"variable",value:a[0],location:_e()}}function Lc(a){return{type:"function",value:a[0],codeLocation:a[1],location:_e()}}function Wc(a){return a.type==="labeled"||a.type==="sequence"?{type:"group",expression:a,location:_e()}:a}function Kc(a,h){return{type:"library_ref",name:h[0],library:a[0],libraryNumber:-1,location:_e()}}function Hc(a){return{type:"rule_ref",name:a[0],location:_e()}}function Gc(a,h){return{type:f[a],code:h[0],codeLocation:h[1],location:_e()}}function Uc(a,h){return[a+h.join(""),_e()]}function jc(a,h){return{type:"literal",value:a,ignoreCase:h!==null,location:_e()}}function Yc(a){return a.join("")}function zc(a){return a.join("")}function qc(a,h,v){if(a&&h.length===0)if(v.unicode)h=[["\uD800","\uDFFF"]];else return{type:"any",location:_e()};return{type:"class",parts:h.filter(function(A){return A!==""}),inverted:!!a,ignoreCase:!!v.ignoreCase,location:_e(),unicode:!!v.unicode||h.flat().some(function(A){return(typeof A>"u"?"undefined":_type_of(A))=="object"&&A.unicode||A.codePointAt(0)>65535})}}function Xc(a){try{new RegExp("[\\".concat(a,"]"),"u")}catch{rr("Invalid Unicode property escape")}return{type:"classEscape",value:a,unicode:!0,location:_e()}}function Jc(a){var h=Object.fromEntries(a);return Object.keys(h).length!==a.length&&rr("Invalid flags"),h}function Zc(){return["ignoreCase",!0]}function Qc(){return["unicode",!0]}function ep(a,h){return a.codePointAt(0)>h.codePointAt(0)&&rr("Invalid character range: "+hp()+"."),[a,h]}function tp(){return""}function rp(){return"\0"}function np(){return"\b"}function op(){return"\f"}function ap(){return`
27
+ `}function up(){return"\r"}function ip(){return" "}function sp(){return"\v"}function lp(a){return String.fromCharCode(parseInt(a,16))}function cp(a){return String.fromCharCode(parseInt(a,16))}function pp(a){return String.fromCodePoint(parseInt(a,16))}function dp(){return{type:"any",location:_e()}}function fp(a){return[a,_e()]}function mp(a){return parseInt(a,10)}var m=c.peg$currPos|0,ae=m,mr=[{line:1,column:1}],St=m,Cn=c.peg$maxFailExpected||[],M=c.peg$silentFails|0,Pr;if(c.startRule){if(!(c.startRule in g))throw new Error(`Can't start parsing from rule "`+c.startRule+'".');C=g[c.startRule]}function hp(){return s.substring(ae,m)}function Rf(){return ae}function Of(){return{source:y,start:ae,end:m}}function _e(){return Or(ae,m)}function If(a,h){throw h=h!==void 0?h:Or(ae,m),ga([Mt(a)],s.substring(ae,m),h)}function rr(a,h){throw h=h!==void 0?h:Or(ae,m),Ap(a,h)}function vn(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:m,h=s.codePointAt(a);return h===void 0?"":String.fromCodePoint(h)}function De(a,h){return{type:"literal",text:a,ignoreCase:h}}function Ge(a,h,v,A){return{type:"class",parts:a,inverted:h,ignoreCase:v,unicode:A}}function yp(){return{type:"any"}}function gp(){return{type:"end"}}function Mt(a){return{type:"other",description:a}}function ya(a){var h=mr[a],v;if(h)return h;if(a>=mr.length)v=mr.length-1;else for(v=a;!mr[--v];);for(h=mr[v],h={line:h.line,column:h.column};v<a;)s.charCodeAt(v)===10?(h.line++,h.column=1):h.column++,v++;return mr[a]=h,h}function Or(a,h,v){var A=ya(a),_=ya(h),I={source:y,start:{offset:a,line:A.line,column:A.column},end:{offset:h,line:_.line,column:_.column}};return v&&y&&typeof y.offset=="function"&&(I.start=y.offset(I.start),I.end=y.offset(I.end)),I}function L(a){m<St||(m>St&&(St=m,Cn=[]),Cn.push(a))}function Ap(a,h){return new d(a,null,null,h)}function ga(a,h,v){return new d(d.buildMessage(a,h),a,h,v)}function Aa(){var a,h,v,A,_,I,ue,Ae,yt;if(a=m,h=Ca(),v=m,A=ce(),_=xp(),_!==o?v=_:(m=v,v=o),v===o&&(v=null),A=m,_=ce(),I=kp(),I!==o?A=I:(m=A,A=o),A===o&&(A=null),_=ce(),I=[],ue=m,Ae=Sa(),Ae!==o?(yt=ce(),ue=Ae):(m=ue,ue=o),ue!==o)for(;ue!==o;)I.push(ue),ue=m,Ae=Sa(),Ae!==o?(yt=ce(),ue=Ae):(m=ue,ue=o);else I=o;return I!==o?(ae=a,a=ic(h,v,A,I)):(m=a,a=o),a}function Cp(){var a,h,v;return a=m,h=bp(),v=vp(),ae=a,a=sc(h,v),a}function vp(){var a,h,v,A;for(a=m,h=m,v=[],s.length>m?(A=s.charAt(m),m++):(A=o,M===0&&L(ro));A!==o;)v.push(A),s.length>m?(A=s.charAt(m),m++):(A=o,M===0&&L(ro));return h=s.substring(h,m),ae=a,h=lc(h),a=h,a}function bp(){var a,h,v;return a=m,h=m,v=Ca(),h=s.substring(h,m),ae=a,h=cc(h),a=h,a}function Ca(){var a,h;for(a=[],h=va();h!==o;)a.push(h),h=va();return a}function va(){var a,h,v,A,_,I,ue,Ae,yt,hr;return a=m,h=ce(),s.substr(m,6)===F?(v=F,m+=6):(v=o,M===0&&L(ia)),v!==o?(A=ce(),_=Fp(),_!==o?(I=ce(),ue=Dp(),ue!==o?(Ae=m,yt=ce(),s.charCodeAt(m)===59?(hr=B,m++):(hr=o,M===0&&L(yn)),hr!==o?(yt=[yt,hr],Ae=yt):(m=Ae,Ae=o),Ae===o&&(Ae=null),ae=a,a=pc(_,ue)):(m=a,a=o)):(m=a,a=o)):(m=a,a=o),a===o&&(a=m,h=ce(),s.substr(m,6)===F?(v=F,m+=6):(v=o,M===0&&L(ia)),v!==o?(A=ce(),_=Da(),_!==o?(I=m,ue=ce(),s.charCodeAt(m)===59?(Ae=B,m++):(Ae=o,M===0&&L(yn)),Ae!==o?(ue=[ue,Ae],I=ue):(m=I,I=o),I===o&&(I=null),ae=a,a=dc(_)):(m=a,a=o)):(m=a,a=o)),a}function Fp(){var a,h,v,A,_,I,ue;return a=ba(),a===o&&(a=Fa(),a===o&&(a=m,h=Ep(),h!==o?(v=m,A=ce(),s.charCodeAt(m)===44?(_=b,m++):(_=o,M===0&&L(gn)),_!==o?(I=ce(),ue=ba(),ue===o&&(ue=Fa()),ue!==o?v=ue:(m=v,v=o)):(m=v,v=o),v===o&&(v=null),ae=a,a=fc(h,v)):(m=a,a=o))),a}function Ep(){var a,h;return a=m,h=bn(),h!==o&&(ae=a,h=mc(h)),a=h,a}function ba(){var a,h,v,A,_,I;return a=m,s.charCodeAt(m)===42?(h=O,m++):(h=o,M===0&&L(ol)),h!==o?(v=ce(),s.substr(m,2)===R?(A=R,m+=2):(A=o,M===0&&L(sa)),A!==o?(_=ce(),I=bn(),I!==o?(ae=a,a=hc(I)):(m=a,a=o)):(m=a,a=o)):(m=a,a=o),a}function Fa(){var a,h,v,A,_,I,ue,Ae;return a=m,s.charCodeAt(m)===123?(h=k,m++):(h=o,M===0&&L(jt)),h!==o?(v=ce(),s.charCodeAt(m)===125?(A=D,m++):(A=o,M===0&&L(Yt)),A!==o?(ae=a,a=yc()):(m=a,a=o)):(m=a,a=o),a===o&&(a=m,s.charCodeAt(m)===123?(h=k,m++):(h=o,M===0&&L(jt)),h!==o?(v=ce(),A=Sp(),A!==o?(_=ce(),I=m,s.charCodeAt(m)===44?(ue=b,m++):(ue=o,M===0&&L(gn)),ue!==o?(Ae=ce(),ue=[ue,Ae],I=ue):(m=I,I=o),I===o&&(I=null),s.charCodeAt(m)===125?(ue=D,m++):(ue=o,M===0&&L(Yt)),ue!==o?a=A:(m=a,a=o)):(m=a,a=o)):(m=a,a=o)),a}function Dp(){var a,h,v,A;return a=m,s.substr(m,4)===S?(h=S,m+=4):(h=o,M===0&&L(al)),h!==o?(v=ce(),A=Da(),A!==o?a=A:(m=a,a=o)):(m=a,a=o),a}function Sp(){var a,h,v,A,_,I,ue;for(a=m,h=[],v=Ea();v!==o;)h.push(v),v=m,A=m,_=ce(),s.charCodeAt(m)===44?(I=b,m++):(I=o,M===0&&L(gn)),I!==o?(ue=ce(),_=[_,I,ue],A=_):(m=A,A=o),A!==o?(A=Ea(),A===o?(m=v,v=o):v=A):v=A;return h.length<1?(m=a,a=o):a=h,a}function Ea(){var a,h,v,A,_,I;return a=m,h=Bp(),h!==o?(v=ce(),s.substr(m,2)===R?(A=R,m+=2):(A=o,M===0&&L(sa)),A!==o?(_=ce(),I=bn(),I!==o?(ae=a,a=gc(h,I)):(m=a,a=o)):(m=a,a=o)):(m=a,a=o),a===o&&(a=m,h=bn(),h!==o&&(ae=a,h=Ac(h)),a=h),a}function Da(){var a,h;return a=m,h=Mr(),h!==o&&(ae=a,h=Cc(h)),a=h,a}function bn(){var a,h;return a=m,h=wp(),h!==o&&(ae=a,h=vc(h)),a=h,a}function Bp(){var a,h;return a=zt(),a===o&&(a=m,h=Mr(),h!==o&&(ae=a,h=bc(h)),a=h),a}function wp(){var a,h;return a=m,h=zt(),h!==o&&(ae=a,h=Fc(h)),a=h,a}function xp(){var a,h,v,A,_;return a=m,s.charCodeAt(m)===123?(h=k,m++):(h=o,M===0&&L(jt)),h!==o?(v=Tr(),v!==o?(s.charCodeAt(m)===125?(A=D,m++):(A=o,M===0&&L(Yt)),A!==o?(_=yo(),_!==o?(ae=a,a=Ec(v)):(m=a,a=o)):(m=a,a=o)):(m=a,a=o)):(m=a,a=o),a}function kp(){var a,h,v;return a=m,h=Tr(),h!==o?(v=yo(),v!==o?(ae=a,a=Dc(h)):(m=a,a=o)):(m=a,a=o),a}function Sa(){var a,h,v,A,_,I,ue,Ae;return a=m,h=zt(),h!==o?(v=ce(),A=m,_=Mr(),_!==o?(I=ce(),A=_):(m=A,A=o),A===o&&(A=null),s.charCodeAt(m)===61?(_=P,m++):(_=o,M===0&&L(no)),_!==o?(I=ce(),ue=ao(),ue!==o?(Ae=yo(),Ae!==o?(ae=a,a=Sc(h,A,ue)):(m=a,a=o)):(m=a,a=o)):(m=a,a=o)):(m=a,a=o),a}function ao(){var a,h,v,A,_,I,ue,Ae;if(a=m,h=uo(),h!==o){for(v=[],A=m,_=ce(),s.charCodeAt(m)===47?(I=w,m++):(I=o,M===0&&L(la)),I!==o?(ue=ce(),Ae=uo(),Ae!==o?A=Ae:(m=A,A=o)):(m=A,A=o);A!==o;)v.push(A),A=m,_=ce(),s.charCodeAt(m)===47?(I=w,m++):(I=o,M===0&&L(la)),I!==o?(ue=ce(),Ae=uo(),Ae!==o?A=Ae:(m=A,A=o)):(m=A,A=o);ae=a,a=Bc(h,v)}else m=a,a=o;return a}function uo(){var a,h,v,A,_;return a=m,h=_p(),h!==o?(v=m,A=ce(),_=Tr(),_!==o?v=_:(m=v,v=o),v===o&&(v=null),ae=a,a=wc(h,v)):(m=a,a=o),a}function _p(){var a,h,v,A,_,I;if(a=m,h=io(),h!==o){for(v=[],A=m,_=ce(),I=io(),I!==o?A=I:(m=A,A=o);A!==o;)v.push(A),A=m,_=ce(),I=io(),I!==o?A=I:(m=A,A=o);ae=a,a=xc(h,v)}else m=a,a=o;return a}function io(){var a,h,v,A;return a=m,h=Pp(),h!==o?(v=Ba(),v===o&&(v=null),A=so(),A!==o?(ae=a,a=kc(h,v,A)):(m=a,a=o)):(m=a,a=o),a===o&&(a=m,h=Ba(),h!==o?(v=so(),v!==o?(ae=a,a=_c(h,v)):(m=a,a=o)):(m=a,a=o),a===o&&(a=so())),a}function Pp(){var a,h;return a=m,s.charCodeAt(m)===64?(h=E,m++):(h=o,M===0&&L(ul)),h!==o&&(ae=a,h=Pc()),a=h,a}function Ba(){var a,h,v,A,_;return a=m,h=zt(),h!==o?(v=ce(),s.charCodeAt(m)===58?(A=N,m++):(A=o,M===0&&L(il)),A!==o?(_=ce(),ae=a,a=Rc(h)):(m=a,a=o)):(m=a,a=o),a}function so(){var a,h,v,A;return a=m,h=Rp(),h!==o?(v=ce(),A=wa(),A!==o?(ae=a,a=Oc(h,A)):(m=a,a=o)):(m=a,a=o),a===o&&(a=wa()),a}function Rp(){var a;return a=s.charAt(m),T.test(a)?m++:(a=o,M===0&&L(sl)),a}function wa(){var a,h,v,A;return a=m,h=co(),h!==o?(v=ce(),A=Op(),A!==o?(ae=a,a=Ic(h,A)):(m=a,a=o)):(m=a,a=o),a===o&&(a=Ip(),a===o&&(a=co())),a}function Op(){var a;return a=s.charAt(m),ge.test(a)?m++:(a=o,M===0&&L(ll)),a}function Ip(){var a,h,v,A,_,I,ue,Ae,yt,hr,Ao,i1;return a=m,h=co(),h!==o?(v=ce(),s.charCodeAt(m)===124?(A=V,m++):(A=o,M===0&&L(ca)),A!==o?(_=ce(),I=Mp(),I!==o?(ue=ce(),Ae=m,s.charCodeAt(m)===44?(yt=b,m++):(yt=o,M===0&&L(gn)),yt!==o?(hr=ce(),Ao=ao(),Ao!==o?(i1=ce(),Ae=Ao):(m=Ae,Ae=o)):(m=Ae,Ae=o),Ae===o&&(Ae=null),s.charCodeAt(m)===124?(yt=V,m++):(yt=o,M===0&&L(ca)),yt!==o?(ae=a,a=Mc(h,I,Ae)):(m=a,a=o)):(m=a,a=o)):(m=a,a=o)):(m=a,a=o),a}function Mp(){var a,h,v,A,_,I;return a=m,h=lo(),h===o&&(h=null),v=ce(),s.substr(m,2)===W?(A=W,m+=2):(A=o,M===0&&L(cl)),A!==o?(_=ce(),I=lo(),I===o&&(I=null),ae=a,a=Nc(h,I)):(m=a,a=o),a===o&&(a=m,h=lo(),h!==o&&(ae=a,h=Tc(h)),a=h),a}function lo(){var a,h;return a=m,h=o1(),h!==o&&(ae=a,h=Vc(h)),a=h,a===o&&(a=m,h=zt(),h!==o&&(ae=a,h=$c(h)),a=h,a===o&&(a=m,h=Tr(),h!==o&&(ae=a,h=Lc(h)),a=h)),a}function co(){var a,h,v,A,_,I;return a=Hp(),a===o&&(a=Gp(),a===o&&(a=r1(),a===o&&(a=Np(),a===o&&(a=Tp(),a===o&&(a=m,s.charCodeAt(m)===40?(h=H,m++):(h=o,M===0&&L(pl)),h!==o?(v=ce(),A=ao(),A!==o?(_=ce(),s.charCodeAt(m)===41?(I=G,m++):(I=o,M===0&&L(dl)),I!==o?(ae=a,a=Wc(A)):(m=a,a=o)):(m=a,a=o)):(m=a,a=o)))))),a}function Np(){var a,h,v,A,_,I,ue,Ae;return a=m,h=zt(),h!==o?(s.charCodeAt(m)===46?(v=Z,m++):(v=o,M===0&&L(pa)),v!==o?(A=zt(),A!==o?(ae=a,a=Kc(h,A)):(m=a,a=o)):(m=a,a=o)):(m=a,a=o),a===o&&(a=m,h=zt(),h!==o?(v=m,M++,A=m,_=ce(),I=m,ue=Mr(),ue!==o?(Ae=ce(),ue=[ue,Ae],I=ue):(m=I,I=o),I===o&&(I=null),s.charCodeAt(m)===61?(ue=P,m++):(ue=o,M===0&&L(no)),ue!==o?(_=[_,I,ue],A=_):(m=A,A=o),M--,A===o?v=void 0:(m=v,v=o),v!==o?(ae=a,a=Hc(h)):(m=a,a=o)):(m=a,a=o)),a}function Tp(){var a,h,v,A;return a=m,h=Vp(),h!==o?(v=ce(),A=Tr(),A!==o?(ae=a,a=Gc(h,A)):(m=a,a=o)):(m=a,a=o),a}function Vp(){var a;return a=s.charAt(m),pe.test(a)?m++:(a=o,M===0&&L(fl)),a}function dt(){var a;return a=$p(),a===o&&(a=Lp()),a}function $p(){var a;return a=s.charAt(m),Xe.test(a)?m++:(a=o,M===0&&L(ml)),a}function Lp(){var a,h,v,A;return a=m,h=m,v=s.charAt(m),Je.test(v)?m++:(v=o,M===0&&L(hl)),v!==o?(A=s.charAt(m),Gt.test(A)?m++:(A=o,M===0&&L(yl)),A!==o?(v=[v,A],h=v):(m=h,h=o)):(m=h,h=o),h!==o?a=s.substring(a,m):a=h,a===o&&(a=s.charAt(m),xt.test(a)?m++:(a=o,M===0&&L(gl))),a}function Fn(){var a,h;return M++,a=vn(),Ot.test(a)?m+=a.length:(a=o,M===0&&L(Cl)),M--,a===o&&(h=o,M===0&&L(Al)),a}function Ir(){var a;return a=s.charAt(m),wr.test(a)?m++:(a=o,M===0&&L(vl)),a}function En(){var a,h;return M++,s.charCodeAt(m)===10?(a=te,m++):(a=o,M===0&&L(Fl)),a===o&&(s.substr(m,2)===me?(a=me,m+=2):(a=o,M===0&&L(El)),a===o&&(a=s.charAt(m),_r.test(a)?m++:(a=o,M===0&&L(Dl)))),M--,a===o&&(h=o,M===0&&L(bl)),a}function xa(){var a,h;return M++,a=Wp(),a===o&&(a=_a()),M--,a===o&&(h=o,M===0&&L(Sl)),a}function Wp(){var a,h,v,A,_,I;if(a=m,s.substr(m,2)===ke?(h=ke,m+=2):(h=o,M===0&&L(da)),h!==o){for(v=[],A=m,_=m,M++,s.substr(m,2)===Se?(I=Se,m+=2):(I=o,M===0&&L(dr)),M--,I===o?_=void 0:(m=_,_=o),_!==o?(I=dt(),I!==o?(_=[_,I],A=_):(m=A,A=o)):(m=A,A=o);A!==o;)v.push(A),A=m,_=m,M++,s.substr(m,2)===Se?(I=Se,m+=2):(I=o,M===0&&L(dr)),M--,I===o?_=void 0:(m=_,_=o),_!==o?(I=dt(),I!==o?(_=[_,I],A=_):(m=A,A=o)):(m=A,A=o);s.substr(m,2)===Se?(A=Se,m+=2):(A=o,M===0&&L(dr)),A!==o?(h=[h,v,A],a=h):(m=a,a=o)}else m=a,a=o;return a}function ka(){var a,h,v,A,_,I;if(a=m,s.substr(m,2)===ke?(h=ke,m+=2):(h=o,M===0&&L(da)),h!==o){for(v=[],A=m,_=m,M++,s.substr(m,2)===Se?(I=Se,m+=2):(I=o,M===0&&L(dr)),I===o&&(I=Ir()),M--,I===o?_=void 0:(m=_,_=o),_!==o?(I=dt(),I!==o?(_=[_,I],A=_):(m=A,A=o)):(m=A,A=o);A!==o;)v.push(A),A=m,_=m,M++,s.substr(m,2)===Se?(I=Se,m+=2):(I=o,M===0&&L(dr)),I===o&&(I=Ir()),M--,I===o?_=void 0:(m=_,_=o),_!==o?(I=dt(),I!==o?(_=[_,I],A=_):(m=A,A=o)):(m=A,A=o);s.substr(m,2)===Se?(A=Se,m+=2):(A=o,M===0&&L(dr)),A!==o?(h=[h,v,A],a=h):(m=a,a=o)}else m=a,a=o;return a}function _a(){var a,h,v,A,_,I;if(a=m,s.substr(m,2)===xe?(h=xe,m+=2):(h=o,M===0&&L(Bl)),h!==o){for(v=[],A=m,_=m,M++,I=Ir(),M--,I===o?_=void 0:(m=_,_=o),_!==o?(I=dt(),I!==o?(_=[_,I],A=_):(m=A,A=o)):(m=A,A=o);A!==o;)v.push(A),A=m,_=m,M++,I=Ir(),M--,I===o?_=void 0:(m=_,_=o),_!==o?(I=dt(),I!==o?(_=[_,I],A=_):(m=A,A=o)):(m=A,A=o);h=[h,v],a=h}else m=a,a=o;return a}function zt(){var a,h,v,A;if(M++,a=m,h=Kp(),h!==o){for(v=[],A=Pa();A!==o;)v.push(A),A=Pa();ae=a,a=Uc(h,v)}else m=a,a=o;return M--,a===o&&(h=o,M===0&&L(wl)),a}function Kp(){var a,h,v;return a=vn(),He.test(a)?m+=a.length:(a=o,M===0&&L(xl)),a===o&&(a=m,s.charCodeAt(m)===92?(h=se,m++):(h=o,M===0&&L(fr)),h!==o?(v=Va(),v!==o?a=v:(m=a,a=o)):(m=a,a=o)),a}function Pa(){var a;return a=vn(),Ye.test(a)?m+=a.length:(a=o,M===0&&L(kl)),a}function Hp(){var a,h,v;return M++,a=m,h=Mr(),h!==o?(s.charCodeAt(m)===105?(v=x,m++):(v=o,M===0&&L(fa)),v===o&&(v=null),ae=a,a=jc(h,v)):(m=a,a=o),M--,a===o&&(h=o,M===0&&L(_l)),a}function Mr(){var a,h,v,A;if(M++,a=m,s.charCodeAt(m)===34?(h=$,m++):(h=o,M===0&&L(ma)),h!==o){for(v=[],A=Ra();A!==o;)v.push(A),A=Ra();s.charCodeAt(m)===34?(A=$,m++):(A=o,M===0&&L(ma)),A!==o?(ae=a,a=Yc(v)):(m=a,a=o)}else m=a,a=o;if(a===o)if(a=m,s.charCodeAt(m)===39?(h=q,m++):(h=o,M===0&&L(ha)),h!==o){for(v=[],A=Oa();A!==o;)v.push(A),A=Oa();s.charCodeAt(m)===39?(A=q,m++):(A=o,M===0&&L(ha)),A!==o?(ae=a,a=zc(v)):(m=a,a=o)}else m=a,a=o;return M--,a===o&&(h=o,M===0&&L(Pl)),a}function Ra(){var a,h,v,A;return a=m,h=m,v=m,M++,A=s.charAt(m),Ze.test(A)?m++:(A=o,M===0&&L(Rl)),M--,A===o?v=void 0:(m=v,v=o),v!==o?(A=dt(),A!==o?(v=[v,A],h=v):(m=h,h=o)):(m=h,h=o),h!==o?a=s.substring(a,m):a=h,a===o&&(a=m,s.charCodeAt(m)===92?(h=se,m++):(h=o,M===0&&L(fr)),h!==o?(v=mo(),v!==o?a=v:(m=a,a=o)):(m=a,a=o),a===o&&(a=fo())),a}function Oa(){var a,h,v,A;return a=m,h=m,v=m,M++,A=s.charAt(m),rt.test(A)?m++:(A=o,M===0&&L(Ol)),M--,A===o?v=void 0:(m=v,v=o),v!==o?(A=dt(),A!==o?(v=[v,A],h=v):(m=h,h=o)):(m=h,h=o),h!==o?a=s.substring(a,m):a=h,a===o&&(a=m,s.charCodeAt(m)===92?(h=se,m++):(h=o,M===0&&L(fr)),h!==o?(v=mo(),v!==o?a=v:(m=a,a=o)):(m=a,a=o),a===o&&(a=fo())),a}function Gp(){var a,h,v,A,_,I;if(M++,a=m,s.charCodeAt(m)===91?(h=J,m++):(h=o,M===0&&L(Ml)),h!==o){for(s.charCodeAt(m)===94?(v=re,m++):(v=o,M===0&&L(Nl)),v===o&&(v=null),A=[],_=Ia(),_===o&&(_=Na(),_===o&&(_=Sn()));_!==o;)A.push(_),_=Ia(),_===o&&(_=Na(),_===o&&(_=Sn()));s.charCodeAt(m)===93?(_=de,m++):(_=o,M===0&&L(Tl)),_!==o?(I=Jp(),ae=a,a=qc(v,A,I)):(m=a,a=o)}else m=a,a=o;return M--,a===o&&(h=o,M===0&&L(Il)),a}function Ia(){var a,h,v;return a=m,s.charCodeAt(m)===92?(h=se,m++):(h=o,M===0&&L(fr)),h!==o?(v=Up(),v!==o?a=v:(m=a,a=o)):(m=a,a=o),a}function Up(){var a,h,v,A,_,I,ue;return a=m,h=m,v=m,A=s.charAt(m),A.toLowerCase()===Fe?m++:(A=o,M===0&&L(Vl)),A!==o?(s.charCodeAt(m)===123?(_=k,m++):(_=o,M===0&&L(jt)),_!==o?(I=jp(),I!==o?(s.charCodeAt(m)===125?(ue=D,m++):(ue=o,M===0&&L(Yt)),ue!==o?(A=[A,_,I,ue],v=A):(m=v,v=o)):(m=v,v=o)):(m=v,v=o)):(m=v,v=o),v!==o?h=s.substring(h,m):h=v,h!==o&&(ae=a,h=Xc(h)),a=h,a}function jp(){var a,h,v,A;return a=m,h=Yp(),h!==o?(s.charCodeAt(m)===61?(v=P,m++):(v=o,M===0&&L(no)),v!==o?(A=zp(),A!==o?(h=[h,v,A],a=h):(m=a,a=o)):(m=a,a=o)):(m=a,a=o),a===o&&(a=qp()),a}function Yp(){var a,h,v;if(a=m,h=[],v=po(),v!==o)for(;v!==o;)h.push(v),v=po();else h=o;return h!==o?a=s.substring(a,m):a=h,a}function zp(){var a,h,v;if(a=m,h=[],v=Dn(),v!==o)for(;v!==o;)h.push(v),v=Dn();else h=o;return h!==o?a=s.substring(a,m):a=h,a}function qp(){var a,h,v;if(a=m,h=[],v=Dn(),v!==o)for(;v!==o;)h.push(v),v=Dn();else h=o;return h!==o?a=s.substring(a,m):a=h,a}function Dn(){var a;return a=po(),a===o&&(a=Bn()),a}function po(){var a;return a=Xp(),a===o&&(s.charCodeAt(m)===95?(a=j,m++):(a=o,M===0&&L($l))),a}function Xp(){var a;return a=s.charAt(m),nt.test(a)?m++:(a=o,M===0&&L(Ll)),a}function Jp(){var a,h,v;for(a=m,h=[],v=Ma();v!==o;)h.push(v),v=Ma();return ae=a,h=Jc(h),a=h,a}function Ma(){var a,h;return a=m,s.charCodeAt(m)===105?(h=x,m++):(h=o,M===0&&L(fa)),h!==o&&(ae=a,h=Zc()),a=h,a===o&&(a=m,s.charCodeAt(m)===117?(h=fe,m++):(h=o,M===0&&L(oo)),h!==o&&(ae=a,h=Qc()),a=h),a}function Na(){var a,h,v,A;return a=m,h=Sn(),h!==o?(s.charCodeAt(m)===45?(v=Ee,m++):(v=o,M===0&&L(Wl)),v!==o?(A=Sn(),A!==o?(ae=a,a=ep(h,A)):(m=a,a=o)):(m=a,a=o)):(m=a,a=o),a}function Sn(){var a,h,v,A;return a=m,h=m,v=m,M++,A=s.charAt(m),pt.test(A)?m++:(A=o,M===0&&L(Hl)),M--,A===o?v=void 0:(m=v,v=o),v!==o?(A=dt(),A!==o?(v=[v,A],h=v):(m=h,h=o)):(m=h,h=o),h!==o?a=s.substring(a,m):a=h,a===o&&(a=m,s.charCodeAt(m)===92?(h=se,m++):(h=o,M===0&&L(fr)),h!==o?(v=mo(),v!==o?a=v:(m=a,a=o)):(m=a,a=o),a===o&&(a=fo())),a}function fo(){var a,h,v;return a=m,s.charCodeAt(m)===92?(h=se,m++):(h=o,M===0&&L(fr)),h!==o?(v=En(),v!==o?(ae=a,a=tp()):(m=a,a=o)):(m=a,a=o),a}function mo(){var a,h,v,A;return a=Zp(),a===o&&(a=m,s.charCodeAt(m)===48?(h=je,m++):(h=o,M===0&&L(Gl)),h!==o?(v=m,M++,A=Bn(),M--,A===o?v=void 0:(m=v,v=o),v!==o?(ae=a,a=rp()):(m=a,a=o)):(m=a,a=o),a===o&&(a=t1(),a===o&&(a=Va()))),a}function Zp(){var a;return a=Ta(),a===o&&(a=Qp()),a}function Ta(){var a,h;return a=s.charAt(m),Dt.test(a)?m++:(a=o,M===0&&L(Ul)),a===o&&(a=m,s.charCodeAt(m)===98?(h=ne,m++):(h=o,M===0&&L(jl)),h!==o&&(ae=a,h=np()),a=h,a===o&&(a=m,s.charCodeAt(m)===102?(h=ve,m++):(h=o,M===0&&L(Yl)),h!==o&&(ae=a,h=op()),a=h,a===o&&(a=m,s.charCodeAt(m)===110?(h=X,m++):(h=o,M===0&&L(zl)),h!==o&&(ae=a,h=ap()),a=h,a===o&&(a=m,s.charCodeAt(m)===114?(h=$e,m++):(h=o,M===0&&L(ql)),h!==o&&(ae=a,h=up()),a=h,a===o&&(a=m,s.charCodeAt(m)===116?(h=Le,m++):(h=o,M===0&&L(ec)),h!==o&&(ae=a,h=ip()),a=h,a===o&&(a=m,s.charCodeAt(m)===118?(h=le,m++):(h=o,M===0&&L(tc)),h!==o&&(ae=a,h=sp()),a=h)))))),a}function Qp(){var a,h,v,A;return a=m,h=m,v=m,M++,A=e1(),A===o&&(A=Ir()),M--,A===o?v=void 0:(m=v,v=o),v!==o?(A=dt(),A!==o?(v=[v,A],h=v):(m=h,h=o)):(m=h,h=o),h!==o?a=s.substring(a,m):a=h,a}function e1(){var a;return a=Ta(),a===o&&(a=s.charAt(m),Me.test(a)?m++:(a=o,M===0&&L(rc))),a}function t1(){var a,h,v,A,_,I;return a=m,s.charCodeAt(m)===120?(h=vt,m++):(h=o,M===0&&L(nc)),h!==o?(v=m,A=m,_=qt(),_!==o?(I=qt(),I!==o?(_=[_,I],A=_):(m=A,A=o)):(m=A,A=o),A!==o?v=s.substring(v,m):v=A,v!==o?(ae=a,a=lp(v)):(m=a,a=o)):(m=a,a=o),a}function Va(){var a,h,v,A,_,I,ue,Ae;if(a=m,s.charCodeAt(m)===117?(h=fe,m++):(h=o,M===0&&L(oo)),h!==o?(v=m,A=m,_=qt(),_!==o?(I=qt(),I!==o?(ue=qt(),ue!==o?(Ae=qt(),Ae!==o?(_=[_,I,ue,Ae],A=_):(m=A,A=o)):(m=A,A=o)):(m=A,A=o)):(m=A,A=o),A!==o?v=s.substring(v,m):v=A,v!==o?(ae=a,a=cp(v)):(m=a,a=o)):(m=a,a=o),a===o)if(a=m,s.charCodeAt(m)===117?(h=fe,m++):(h=o,M===0&&L(oo)),h!==o)if(s.charCodeAt(m)===123?(v=k,m++):(v=o,M===0&&L(jt)),v!==o){if(A=m,_=[],I=qt(),I!==o)for(;I!==o;)_.push(I),I=qt();else _=o;_!==o?A=s.substring(A,m):A=_,A!==o?(s.charCodeAt(m)===125?(_=D,m++):(_=o,M===0&&L(Yt)),_!==o?(ae=a,a=pp(A)):(m=a,a=o)):(m=a,a=o)}else m=a,a=o;else m=a,a=o;return a}function Bn(){var a;return a=s.charAt(m),It.test(a)?m++:(a=o,M===0&&L(oc)),a}function qt(){var a;return a=s.charAt(m),ot.test(a)?m++:(a=o,M===0&&L(ac)),a}function r1(){var a,h;return a=m,s.charCodeAt(m)===46?(h=Z,m++):(h=o,M===0&&L(pa)),h!==o&&(ae=a,h=dp()),a=h,a}function Tr(){var a,h,v,A;return M++,a=m,s.charCodeAt(m)===123?(h=k,m++):(h=o,M===0&&L(jt)),h!==o?(v=n1(),s.charCodeAt(m)===125?(A=D,m++):(A=o,M===0&&L(Yt)),A!==o?a=v:(m=a,a=o)):(m=a,a=o),M--,a===o&&(h=o,M===0&&L(uc)),a}function n1(){var a,h;return a=m,h=ho(),ae=a,h=fp(h),a=h,a}function ho(){var a,h,v,A,_,I;if(a=m,h=[],v=[],A=m,_=m,M++,I=s.charAt(m),Ut.test(I)?m++:(I=o,M===0&&L(An)),M--,I===o?_=void 0:(m=_,_=o),_!==o?(I=dt(),I!==o?(_=[_,I],A=_):(m=A,A=o)):(m=A,A=o),A!==o)for(;A!==o;)v.push(A),A=m,_=m,M++,I=s.charAt(m),Ut.test(I)?m++:(I=o,M===0&&L(An)),M--,I===o?_=void 0:(m=_,_=o),_!==o?(I=dt(),I!==o?(_=[_,I],A=_):(m=A,A=o)):(m=A,A=o);else v=o;for(v===o&&(v=m,s.charCodeAt(m)===123?(A=k,m++):(A=o,M===0&&L(jt)),A!==o?(_=ho(),s.charCodeAt(m)===125?(I=D,m++):(I=o,M===0&&L(Yt)),I!==o?(A=[A,_,I],v=A):(m=v,v=o)):(m=v,v=o));v!==o;){if(h.push(v),v=[],A=m,_=m,M++,I=s.charAt(m),Ut.test(I)?m++:(I=o,M===0&&L(An)),M--,I===o?_=void 0:(m=_,_=o),_!==o?(I=dt(),I!==o?(_=[_,I],A=_):(m=A,A=o)):(m=A,A=o),A!==o)for(;A!==o;)v.push(A),A=m,_=m,M++,I=s.charAt(m),Ut.test(I)?m++:(I=o,M===0&&L(An)),M--,I===o?_=void 0:(m=_,_=o),_!==o?(I=dt(),I!==o?(_=[_,I],A=_):(m=A,A=o)):(m=A,A=o);else v=o;v===o&&(v=m,s.charCodeAt(m)===123?(A=k,m++):(A=o,M===0&&L(jt)),A!==o?(_=ho(),s.charCodeAt(m)===125?(I=D,m++):(I=o,M===0&&L(Yt)),I!==o?(A=[A,_,I],v=A):(m=v,v=o)):(m=v,v=o))}return a=s.substring(a,m),a}function o1(){var a,h,v,A;if(a=m,h=m,v=[],A=Bn(),A!==o)for(;A!==o;)v.push(A),A=Bn();else v=o;return v!==o?h=s.substring(h,m):h=v,h!==o&&(ae=a,h=mp(h)),a=h,a}function ce(){var a,h;for(a=[],h=Fn(),h===o&&(h=En(),h===o&&(h=xa()));h!==o;)a.push(h),h=Fn(),h===o&&(h=En(),h===o&&(h=xa()));return a}function a1(){var a,h;for(a=[],h=Fn(),h===o&&(h=ka());h!==o;)a.push(h),h=Fn(),h===o&&(h=ka());return a}function yo(){var a,h,v,A;if(a=[],h=m,v=ce(),s.charCodeAt(m)===59?(A=B,m++):(A=o,M===0&&L(yn)),A!==o?(v=[v,A],h=v):(m=h,h=o),h!==o)for(;h!==o;)a.push(h),h=m,v=ce(),s.charCodeAt(m)===59?(A=B,m++):(A=o,M===0&&L(yn)),A!==o?(v=[v,A],h=v):(m=h,h=o);else a=o;return a===o&&(a=m,h=a1(),v=_a(),v===o&&(v=null),A=En(),A!==o?(h=[h,v,A],a=h):(m=a,a=o),a===o&&(a=m,h=ce(),v=u1(),v!==o?(h=[h,v],a=h):(m=a,a=o))),a}function u1(){var a,h;return a=m,M++,s.length>m?(h=s.charAt(m),m++):(h=o,M===0&&L(ro)),M--,h===o?a=void 0:(m=a,a=o),a}var $a=new Set(c.reservedWords);Pr=C();var go=Pr!==o&&m===s.length;function La(){throw Pr!==o&&m<s.length&&L(gp()),ga(Cn,St<s.length?vn(St):null,St<s.length?Or(St,St+1):Or(St,St))}if(c.peg$library)return{peg$result:Pr,peg$currPos:m,peg$FAILED:o,peg$maxFailExpected:Cn,peg$maxFailPos:St,peg$success:go,peg$throw:go?void 0:La};if(go)return Pr;La()},p={$:"text","&":"simple_and","!":"simple_not"},l={"?":"optional","*":"zero_or_more","+":"one_or_more"},f={"&":"semantic_and","!":"semantic_not"},d=(function(s){_inherits(c,s);function c(o,y,g,C){_class_call_check(this,c);var F;return F=_call_super(this,c,[o]),F.expected=y,F.found=g,F.location=C,F.name="SyntaxError",F}return _create_class(c,[{key:"format",value:function(o){var y=this,g="Error: "+this.message;if(this.location){var C=null,F=o.find(function(P){return P.source===y.location.source});F&&(C=F.text.split(/\r\n|\n|\r/g));var B=this.location.start,b=this.location.source&&typeof this.location.source.offset=="function"?this.location.source.offset(B):B,O=this.location.source+":"+b.line+":"+b.column;if(C){var R=this.location.end,k="".padEnd(b.line.toString().length," "),D=C[B.line-1],S=(B.line===R.line?R.column:D.length+1)-B.column||1;g+=`
28
+ --> `+O+`
29
+ `+k+` |
30
+ `+b.line+" | "+D+`
31
+ `+k+" | "+"".padEnd(B.column-1," ")+"".padEnd(S,"^")}else g+=`
32
+ at `+O}return g}}],[{key:"buildMessage",value:function(o,y){function g(S){return S.codePointAt(0).toString(16).toUpperCase()}var C=Object.prototype.hasOwnProperty.call(RegExp.prototype,"unicode")?new RegExp("[\\u0000-\\u001F\\u007F-\\u009F\\u00AD\\u0378-\\u0379\\u0380-\\u0383\\u038B\\u038D\\u03A2\\u0530\\u0557-\\u0558\\u058B-\\u058C\\u0590\\u05C8-\\u05CF\\u05EB-\\u05EE\\u05F5-\\u0605\\u061C\\u06DD\\u070E-\\u070F\\u074B-\\u074C\\u07B2-\\u07BF\\u07FB-\\u07FC\\u082E-\\u082F\\u083F\\u085C-\\u085D\\u085F\\u086B-\\u086F\\u0890-\\u0896\\u08E2\\u0984\\u098D-\\u098E\\u0991-\\u0992\\u09A9\\u09B1\\u09B3-\\u09B5\\u09BA-\\u09BB\\u09C5-\\u09C6\\u09C9-\\u09CA\\u09CF-\\u09D6\\u09D8-\\u09DB\\u09DE\\u09E4-\\u09E5\\u09FF-\\u0A00\\u0A04\\u0A0B-\\u0A0E\\u0A11-\\u0A12\\u0A29\\u0A31\\u0A34\\u0A37\\u0A3A-\\u0A3B\\u0A3D\\u0A43-\\u0A46\\u0A49-\\u0A4A\\u0A4E-\\u0A50\\u0A52-\\u0A58\\u0A5D\\u0A5F-\\u0A65\\u0A77-\\u0A80\\u0A84\\u0A8E\\u0A92\\u0AA9\\u0AB1\\u0AB4\\u0ABA-\\u0ABB\\u0AC6\\u0ACA\\u0ACE-\\u0ACF\\u0AD1-\\u0ADF\\u0AE4-\\u0AE5\\u0AF2-\\u0AF8\\u0B00\\u0B04\\u0B0D-\\u0B0E\\u0B11-\\u0B12\\u0B29\\u0B31\\u0B34\\u0B3A-\\u0B3B\\u0B45-\\u0B46\\u0B49-\\u0B4A\\u0B4E-\\u0B54\\u0B58-\\u0B5B\\u0B5E\\u0B64-\\u0B65\\u0B78-\\u0B81\\u0B84\\u0B8B-\\u0B8D\\u0B91\\u0B96-\\u0B98\\u0B9B\\u0B9D\\u0BA0-\\u0BA2\\u0BA5-\\u0BA7\\u0BAB-\\u0BAD\\u0BBA-\\u0BBD\\u0BC3-\\u0BC5\\u0BC9\\u0BCE-\\u0BCF\\u0BD1-\\u0BD6\\u0BD8-\\u0BE5\\u0BFB-\\u0BFF\\u0C0D\\u0C11\\u0C29\\u0C3A-\\u0C3B\\u0C45\\u0C49\\u0C4E-\\u0C54\\u0C57\\u0C5B\\u0C5E-\\u0C5F\\u0C64-\\u0C65\\u0C70-\\u0C76\\u0C8D\\u0C91\\u0CA9\\u0CB4\\u0CBA-\\u0CBB\\u0CC5\\u0CC9\\u0CCE-\\u0CD4\\u0CD7-\\u0CDB\\u0CDF\\u0CE4-\\u0CE5\\u0CF0\\u0CF4-\\u0CFF\\u0D0D\\u0D11\\u0D45\\u0D49\\u0D50-\\u0D53\\u0D64-\\u0D65\\u0D80\\u0D84\\u0D97-\\u0D99\\u0DB2\\u0DBC\\u0DBE-\\u0DBF\\u0DC7-\\u0DC9\\u0DCB-\\u0DCE\\u0DD5\\u0DD7\\u0DE0-\\u0DE5\\u0DF0-\\u0DF1\\u0DF5-\\u0E00\\u0E3B-\\u0E3E\\u0E5C-\\u0E80\\u0E83\\u0E85\\u0E8B\\u0EA4\\u0EA6\\u0EBE-\\u0EBF\\u0EC5\\u0EC7\\u0ECF\\u0EDA-\\u0EDB\\u0EE0-\\u0EFF\\u0F48\\u0F6D-\\u0F70\\u0F98\\u0FBD\\u0FCD\\u0FDB-\\u0FFF\\u10C6\\u10C8-\\u10CC\\u10CE-\\u10CF\\u1249\\u124E-\\u124F\\u1257\\u1259\\u125E-\\u125F\\u1289\\u128E-\\u128F\\u12B1\\u12B6-\\u12B7\\u12BF\\u12C1\\u12C6-\\u12C7\\u12D7\\u1311\\u1316-\\u1317\\u135B-\\u135C\\u137D-\\u137F\\u139A-\\u139F\\u13F6-\\u13F7\\u13FE-\\u13FF\\u169D-\\u169F\\u16F9-\\u16FF\\u1716-\\u171E\\u1737-\\u173F\\u1754-\\u175F\\u176D\\u1771\\u1774-\\u177F\\u17DE-\\u17DF\\u17EA-\\u17EF\\u17FA-\\u17FF\\u180E\\u181A-\\u181F\\u1879-\\u187F\\u18AB-\\u18AF\\u18F6-\\u18FF\\u191F\\u192C-\\u192F\\u193C-\\u193F\\u1941-\\u1943\\u196E-\\u196F\\u1975-\\u197F\\u19AC-\\u19AF\\u19CA-\\u19CF\\u19DB-\\u19DD\\u1A1C-\\u1A1D\\u1A5F\\u1A7D-\\u1A7E\\u1A8A-\\u1A8F\\u1A9A-\\u1A9F\\u1AAE-\\u1AAF\\u1ADE-\\u1ADF\\u1AEC-\\u1AFF\\u1B4D\\u1BF4-\\u1BFB\\u1C38-\\u1C3A\\u1C4A-\\u1C4C\\u1C8B-\\u1C8F\\u1CBB-\\u1CBC\\u1CC8-\\u1CCF\\u1CFB-\\u1CFF\\u1F16-\\u1F17\\u1F1E-\\u1F1F\\u1F46-\\u1F47\\u1F4E-\\u1F4F\\u1F58\\u1F5A\\u1F5C\\u1F5E\\u1F7E-\\u1F7F\\u1FB5\\u1FC5\\u1FD4-\\u1FD5\\u1FDC\\u1FF0-\\u1FF1\\u1FF5\\u1FFF\\u200B-\\u200F\\u202A-\\u202E\\u2060-\\u206F\\u2072-\\u2073\\u208F\\u209D-\\u209F\\u20C2-\\u20CF\\u20F1-\\u20FF\\u218C-\\u218F\\u242A-\\u243F\\u244B-\\u245F\\u2B74-\\u2B75\\u2CF4-\\u2CF8\\u2D26\\u2D28-\\u2D2C\\u2D2E-\\u2D2F\\u2D68-\\u2D6E\\u2D71-\\u2D7E\\u2D97-\\u2D9F\\u2DA7\\u2DAF\\u2DB7\\u2DBF\\u2DC7\\u2DCF\\u2DD7\\u2DDF\\u2E5E-\\u2E7F\\u2E9A\\u2EF4-\\u2EFF\\u2FD6-\\u2FEF\\u3040\\u3097-\\u3098\\u3100-\\u3104\\u3130\\u318F\\u31E6-\\u31EE\\u321F\\uA48D-\\uA48F\\uA4C7-\\uA4CF\\uA62C-\\uA63F\\uA6F8-\\uA6FF\\uA7DD-\\uA7F0\\uA82D-\\uA82F\\uA83A-\\uA83F\\uA878-\\uA87F\\uA8C6-\\uA8CD\\uA8DA-\\uA8DF\\uA954-\\uA95E\\uA97D-\\uA97F\\uA9CE\\uA9DA-\\uA9DD\\uA9FF\\uAA37-\\uAA3F\\uAA4E-\\uAA4F\\uAA5A-\\uAA5B\\uAAC3-\\uAADA\\uAAF7-\\uAB00\\uAB07-\\uAB08\\uAB0F-\\uAB10\\uAB17-\\uAB1F\\uAB27\\uAB2F\\uAB6C-\\uAB6F\\uABEE-\\uABEF\\uABFA-\\uABFF\\uD7A4-\\uD7AF\\uD7C7-\\uD7CA\\uD7FC-\\uF8FF\\uFA6E-\\uFA6F\\uFADA-\\uFAFF\\uFB07-\\uFB12\\uFB18-\\uFB1C\\uFB37\\uFB3D\\uFB3F\\uFB42\\uFB45\\uFDD0-\\uFDEF\\uFE1A-\\uFE1F\\uFE53\\uFE67\\uFE6C-\\uFE6F\\uFE75\\uFEFD-\\uFF00\\uFFBF-\\uFFC1\\uFFC8-\\uFFC9\\uFFD0-\\uFFD1\\uFFD8-\\uFFD9\\uFFDD-\\uFFDF\\uFFE7\\uFFEF-\\uFFFB\\uFFFE-\\uFFFF\\u{1000C}\\u{10027}\\u{1003B}\\u{1003E}\\u{1004E}-\\u{1004F}\\u{1005E}-\\u{1007F}\\u{100FB}-\\u{100FF}\\u{10103}-\\u{10106}\\u{10134}-\\u{10136}\\u{1018F}\\u{1019D}-\\u{1019F}\\u{101A1}-\\u{101CF}\\u{101FE}-\\u{1027F}\\u{1029D}-\\u{1029F}\\u{102D1}-\\u{102DF}\\u{102FC}-\\u{102FF}\\u{10324}-\\u{1032C}\\u{1034B}-\\u{1034F}\\u{1037B}-\\u{1037F}\\u{1039E}\\u{103C4}-\\u{103C7}\\u{103D6}-\\u{103FF}\\u{1049E}-\\u{1049F}\\u{104AA}-\\u{104AF}\\u{104D4}-\\u{104D7}\\u{104FC}-\\u{104FF}\\u{10528}-\\u{1052F}\\u{10564}-\\u{1056E}\\u{1057B}\\u{1058B}\\u{10593}\\u{10596}\\u{105A2}\\u{105B2}\\u{105BA}\\u{105BD}-\\u{105BF}\\u{105F4}-\\u{105FF}\\u{10737}-\\u{1073F}\\u{10756}-\\u{1075F}\\u{10768}-\\u{1077F}\\u{10786}\\u{107B1}\\u{107BB}-\\u{107FF}\\u{10806}-\\u{10807}\\u{10809}\\u{10836}\\u{10839}-\\u{1083B}\\u{1083D}-\\u{1083E}\\u{10856}\\u{1089F}-\\u{108A6}\\u{108B0}-\\u{108DF}\\u{108F3}\\u{108F6}-\\u{108FA}\\u{1091C}-\\u{1091E}\\u{1093A}-\\u{1093E}\\u{1095A}-\\u{1097F}\\u{109B8}-\\u{109BB}\\u{109D0}-\\u{109D1}\\u{10A04}\\u{10A07}-\\u{10A0B}\\u{10A14}\\u{10A18}\\u{10A36}-\\u{10A37}\\u{10A3B}-\\u{10A3E}\\u{10A49}-\\u{10A4F}\\u{10A59}-\\u{10A5F}\\u{10AA0}-\\u{10ABF}\\u{10AE7}-\\u{10AEA}\\u{10AF7}-\\u{10AFF}\\u{10B36}-\\u{10B38}\\u{10B56}-\\u{10B57}\\u{10B73}-\\u{10B77}\\u{10B92}-\\u{10B98}\\u{10B9D}-\\u{10BA8}\\u{10BB0}-\\u{10BFF}\\u{10C49}-\\u{10C7F}\\u{10CB3}-\\u{10CBF}\\u{10CF3}-\\u{10CF9}\\u{10D28}-\\u{10D2F}\\u{10D3A}-\\u{10D3F}\\u{10D66}-\\u{10D68}\\u{10D86}-\\u{10D8D}\\u{10D90}-\\u{10E5F}\\u{10E7F}\\u{10EAA}\\u{10EAE}-\\u{10EAF}\\u{10EB2}-\\u{10EC1}\\u{10EC8}-\\u{10ECF}\\u{10ED9}-\\u{10EF9}\\u{10F28}-\\u{10F2F}\\u{10F5A}-\\u{10F6F}\\u{10F8A}-\\u{10FAF}\\u{10FCC}-\\u{10FDF}\\u{10FF7}-\\u{10FFF}\\u{1104E}-\\u{11051}\\u{11076}-\\u{1107E}\\u{110BD}\\u{110C3}-\\u{110CF}\\u{110E9}-\\u{110EF}\\u{110FA}-\\u{110FF}\\u{11135}\\u{11148}-\\u{1114F}\\u{11177}-\\u{1117F}\\u{111E0}\\u{111F5}-\\u{111FF}\\u{11212}\\u{11242}-\\u{1127F}\\u{11287}\\u{11289}\\u{1128E}\\u{1129E}\\u{112AA}-\\u{112AF}\\u{112EB}-\\u{112EF}\\u{112FA}-\\u{112FF}\\u{11304}\\u{1130D}-\\u{1130E}\\u{11311}-\\u{11312}\\u{11329}\\u{11331}\\u{11334}\\u{1133A}\\u{11345}-\\u{11346}\\u{11349}-\\u{1134A}\\u{1134E}-\\u{1134F}\\u{11351}-\\u{11356}\\u{11358}-\\u{1135C}\\u{11364}-\\u{11365}\\u{1136D}-\\u{1136F}\\u{11375}-\\u{1137F}\\u{1138A}\\u{1138C}-\\u{1138D}\\u{1138F}\\u{113B6}\\u{113C1}\\u{113C3}-\\u{113C4}\\u{113C6}\\u{113CB}\\u{113D6}\\u{113D9}-\\u{113E0}\\u{113E3}-\\u{113FF}\\u{1145C}\\u{11462}-\\u{1147F}\\u{114C8}-\\u{114CF}\\u{114DA}-\\u{1157F}\\u{115B6}-\\u{115B7}\\u{115DE}-\\u{115FF}\\u{11645}-\\u{1164F}\\u{1165A}-\\u{1165F}\\u{1166D}-\\u{1167F}\\u{116BA}-\\u{116BF}\\u{116CA}-\\u{116CF}\\u{116E4}-\\u{116FF}\\u{1171B}-\\u{1171C}\\u{1172C}-\\u{1172F}\\u{11747}-\\u{117FF}\\u{1183C}-\\u{1189F}\\u{118F3}-\\u{118FE}\\u{11907}-\\u{11908}\\u{1190A}-\\u{1190B}\\u{11914}\\u{11917}\\u{11936}\\u{11939}-\\u{1193A}\\u{11947}-\\u{1194F}\\u{1195A}-\\u{1199F}\\u{119A8}-\\u{119A9}\\u{119D8}-\\u{119D9}\\u{119E5}-\\u{119FF}\\u{11A48}-\\u{11A4F}\\u{11AA3}-\\u{11AAF}\\u{11AF9}-\\u{11AFF}\\u{11B0A}-\\u{11B5F}\\u{11B68}-\\u{11BBF}\\u{11BE2}-\\u{11BEF}\\u{11BFA}-\\u{11BFF}\\u{11C09}\\u{11C37}\\u{11C46}-\\u{11C4F}\\u{11C6D}-\\u{11C6F}\\u{11C90}-\\u{11C91}\\u{11CA8}\\u{11CB7}-\\u{11CFF}\\u{11D07}\\u{11D0A}\\u{11D37}-\\u{11D39}\\u{11D3B}\\u{11D3E}\\u{11D48}-\\u{11D4F}\\u{11D5A}-\\u{11D5F}\\u{11D66}\\u{11D69}\\u{11D8F}\\u{11D92}\\u{11D99}-\\u{11D9F}\\u{11DAA}-\\u{11DAF}\\u{11DDC}-\\u{11DDF}\\u{11DEA}-\\u{11EDF}\\u{11EF9}-\\u{11EFF}\\u{11F11}\\u{11F3B}-\\u{11F3D}\\u{11F5B}-\\u{11FAF}\\u{11FB1}-\\u{11FBF}\\u{11FF2}-\\u{11FFE}\\u{1239A}-\\u{123FF}\\u{1246F}\\u{12475}-\\u{1247F}\\u{12544}-\\u{12F8F}\\u{12FF3}-\\u{12FFF}\\u{13430}-\\u{1343F}\\u{13456}-\\u{1345F}\\u{143FB}-\\u{143FF}\\u{14647}-\\u{160FF}\\u{1613A}-\\u{167FF}\\u{16A39}-\\u{16A3F}\\u{16A5F}\\u{16A6A}-\\u{16A6D}\\u{16ABF}\\u{16ACA}-\\u{16ACF}\\u{16AEE}-\\u{16AEF}\\u{16AF6}-\\u{16AFF}\\u{16B46}-\\u{16B4F}\\u{16B5A}\\u{16B62}\\u{16B78}-\\u{16B7C}\\u{16B90}-\\u{16D3F}\\u{16D7A}-\\u{16E3F}\\u{16E9B}-\\u{16E9F}\\u{16EB9}-\\u{16EBA}\\u{16ED4}-\\u{16EFF}\\u{16F4B}-\\u{16F4E}\\u{16F88}-\\u{16F8E}\\u{16FA0}-\\u{16FDF}\\u{16FE5}-\\u{16FEF}\\u{16FF7}-\\u{16FFF}\\u{18CD6}-\\u{18CFE}\\u{18D1F}-\\u{18D7F}\\u{18DF3}-\\u{1AFEF}\\u{1AFF4}\\u{1AFFC}\\u{1AFFF}\\u{1B123}-\\u{1B131}\\u{1B133}-\\u{1B14F}\\u{1B153}-\\u{1B154}\\u{1B156}-\\u{1B163}\\u{1B168}-\\u{1B16F}\\u{1B2FC}-\\u{1BBFF}\\u{1BC6B}-\\u{1BC6F}\\u{1BC7D}-\\u{1BC7F}\\u{1BC89}-\\u{1BC8F}\\u{1BC9A}-\\u{1BC9B}\\u{1BCA0}-\\u{1CBFF}\\u{1CCFD}-\\u{1CCFF}\\u{1CEB4}-\\u{1CEB9}\\u{1CED1}-\\u{1CEDF}\\u{1CEF1}-\\u{1CEFF}\\u{1CF2E}-\\u{1CF2F}\\u{1CF47}-\\u{1CF4F}\\u{1CFC4}-\\u{1CFFF}\\u{1D0F6}-\\u{1D0FF}\\u{1D127}-\\u{1D128}\\u{1D173}-\\u{1D17A}\\u{1D1EB}-\\u{1D1FF}\\u{1D246}-\\u{1D2BF}\\u{1D2D4}-\\u{1D2DF}\\u{1D2F4}-\\u{1D2FF}\\u{1D357}-\\u{1D35F}\\u{1D379}-\\u{1D3FF}\\u{1D455}\\u{1D49D}\\u{1D4A0}-\\u{1D4A1}\\u{1D4A3}-\\u{1D4A4}\\u{1D4A7}-\\u{1D4A8}\\u{1D4AD}\\u{1D4BA}\\u{1D4BC}\\u{1D4C4}\\u{1D506}\\u{1D50B}-\\u{1D50C}\\u{1D515}\\u{1D51D}\\u{1D53A}\\u{1D53F}\\u{1D545}\\u{1D547}-\\u{1D549}\\u{1D551}\\u{1D6A6}-\\u{1D6A7}\\u{1D7CC}-\\u{1D7CD}\\u{1DA8C}-\\u{1DA9A}\\u{1DAA0}\\u{1DAB0}-\\u{1DEFF}\\u{1DF1F}-\\u{1DF24}\\u{1DF2B}-\\u{1DFFF}\\u{1E007}\\u{1E019}-\\u{1E01A}\\u{1E022}\\u{1E025}\\u{1E02B}-\\u{1E02F}\\u{1E06E}-\\u{1E08E}\\u{1E090}-\\u{1E0FF}\\u{1E12D}-\\u{1E12F}\\u{1E13E}-\\u{1E13F}\\u{1E14A}-\\u{1E14D}\\u{1E150}-\\u{1E28F}\\u{1E2AF}-\\u{1E2BF}\\u{1E2FA}-\\u{1E2FE}\\u{1E300}-\\u{1E4CF}\\u{1E4FA}-\\u{1E5CF}\\u{1E5FB}-\\u{1E5FE}\\u{1E600}-\\u{1E6BF}\\u{1E6DF}\\u{1E6F6}-\\u{1E6FD}\\u{1E700}-\\u{1E7DF}\\u{1E7E7}\\u{1E7EC}\\u{1E7EF}\\u{1E7FF}\\u{1E8C5}-\\u{1E8C6}\\u{1E8D7}-\\u{1E8FF}\\u{1E94C}-\\u{1E94F}\\u{1E95A}-\\u{1E95D}\\u{1E960}-\\u{1EC70}\\u{1ECB5}-\\u{1ED00}\\u{1ED3E}-\\u{1EDFF}\\u{1EE04}\\u{1EE20}\\u{1EE23}\\u{1EE25}-\\u{1EE26}\\u{1EE28}\\u{1EE33}\\u{1EE38}\\u{1EE3A}\\u{1EE3C}-\\u{1EE41}\\u{1EE43}-\\u{1EE46}\\u{1EE48}\\u{1EE4A}\\u{1EE4C}\\u{1EE50}\\u{1EE53}\\u{1EE55}-\\u{1EE56}\\u{1EE58}\\u{1EE5A}\\u{1EE5C}\\u{1EE5E}\\u{1EE60}\\u{1EE63}\\u{1EE65}-\\u{1EE66}\\u{1EE6B}\\u{1EE73}\\u{1EE78}\\u{1EE7D}\\u{1EE7F}\\u{1EE8A}\\u{1EE9C}-\\u{1EEA0}\\u{1EEA4}\\u{1EEAA}\\u{1EEBC}-\\u{1EEEF}\\u{1EEF2}-\\u{1EFFF}\\u{1F02C}-\\u{1F02F}\\u{1F094}-\\u{1F09F}\\u{1F0AF}-\\u{1F0B0}\\u{1F0C0}\\u{1F0D0}\\u{1F0F6}-\\u{1F0FF}\\u{1F1AE}-\\u{1F1E5}\\u{1F203}-\\u{1F20F}\\u{1F23C}-\\u{1F23F}\\u{1F249}-\\u{1F24F}\\u{1F252}-\\u{1F25F}\\u{1F266}-\\u{1F2FF}\\u{1F6D9}-\\u{1F6DB}\\u{1F6ED}-\\u{1F6EF}\\u{1F6FD}-\\u{1F6FF}\\u{1F7DA}-\\u{1F7DF}\\u{1F7EC}-\\u{1F7EF}\\u{1F7F1}-\\u{1F7FF}\\u{1F80C}-\\u{1F80F}\\u{1F848}-\\u{1F84F}\\u{1F85A}-\\u{1F85F}\\u{1F888}-\\u{1F88F}\\u{1F8AE}-\\u{1F8AF}\\u{1F8BC}-\\u{1F8BF}\\u{1F8C2}-\\u{1F8CF}\\u{1F8D9}-\\u{1F8FF}\\u{1FA58}-\\u{1FA5F}\\u{1FA6E}-\\u{1FA6F}\\u{1FA7D}-\\u{1FA7F}\\u{1FA8B}-\\u{1FA8D}\\u{1FAC7}\\u{1FAC9}-\\u{1FACC}\\u{1FADD}-\\u{1FADE}\\u{1FAEB}-\\u{1FAEE}\\u{1FAF9}-\\u{1FAFF}\\u{1FB93}\\u{1FBFB}-\\u{1FFFF}\\u{2A6E0}-\\u{2A6FF}\\u{2B81E}-\\u{2B81F}\\u{2CEAE}-\\u{2CEAF}\\u{2EBE1}-\\u{2EBEF}\\u{2EE5E}-\\u{2F7FF}\\u{2FA1E}-\\u{2FFFF}\\u{3134B}-\\u{3134F}\\u{3347A}-\\u{E00FF}\\u{E01F0}-\\u{10FFFF}\\u0300-\\u036F\\u0483-\\u0487\\u0591-\\u05BD\\u05BF\\u05C1-\\u05C2\\u05C4-\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7-\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u0897-\\u089F\\u08CA-\\u08E1\\u08E3-\\u0902\\u093A\\u093C\\u0941-\\u0948\\u094D\\u0951-\\u0957\\u0962-\\u0963\\u0981\\u09BC\\u09C1-\\u09C4\\u09CD\\u09E2-\\u09E3\\u09FE\\u0A01-\\u0A02\\u0A3C\\u0A41-\\u0A42\\u0A47-\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70-\\u0A71\\u0A75\\u0A81-\\u0A82\\u0ABC\\u0AC1-\\u0AC5\\u0AC7-\\u0AC8\\u0ACD\\u0AE2-\\u0AE3\\u0AFA-\\u0AFF\\u0B01\\u0B3C\\u0B3F\\u0B41-\\u0B44\\u0B4D\\u0B55-\\u0B56\\u0B62-\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0C00\\u0C04\\u0C3C\\u0C3E-\\u0C40\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55-\\u0C56\\u0C62-\\u0C63\\u0C81\\u0CBC\\u0CBF\\u0CC6\\u0CCC-\\u0CCD\\u0CE2-\\u0CE3\\u0D00-\\u0D01\\u0D3B-\\u0D3C\\u0D41-\\u0D44\\u0D4D\\u0D62-\\u0D63\\u0D81\\u0DCA\\u0DD2-\\u0DD4\\u0DD6\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EBC\\u0EC8-\\u0ECE\\u0F18-\\u0F19\\u0F35\\u0F37\\u0F39\\u0F71-\\u0F7E\\u0F80-\\u0F84\\u0F86-\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1030\\u1032-\\u1037\\u1039-\\u103A\\u103D-\\u103E\\u1058-\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1085-\\u1086\\u108D\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1733\\u1752-\\u1753\\u1772-\\u1773\\u17B4-\\u17B5\\u17B7-\\u17BD\\u17C6\\u17C9-\\u17D3\\u17DD\\u180B-\\u180D\\u180F\\u1885-\\u1886\\u18A9\\u1920-\\u1922\\u1927-\\u1928\\u1932\\u1939-\\u193B\\u1A17-\\u1A18\\u1A1B\\u1A56\\u1A58-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A6C\\u1A73-\\u1A7C\\u1A7F\\u1AB0-\\u1ABD\\u1ABF-\\u1ADD\\u1AE0-\\u1AEB\\u1B00-\\u1B03\\u1B34\\u1B36-\\u1B3A\\u1B3C\\u1B42\\u1B6B-\\u1B73\\u1B80-\\u1B81\\u1BA2-\\u1BA5\\u1BA8-\\u1BA9\\u1BAB-\\u1BAD\\u1BE6\\u1BE8-\\u1BE9\\u1BED\\u1BEF-\\u1BF1\\u1C2C-\\u1C33\\u1C36-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1CF4\\u1CF8-\\u1CF9\\u1DC0-\\u1DFF\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302D\\u3099-\\u309A\\uA66F\\uA674-\\uA67D\\uA69E-\\uA69F\\uA6F0-\\uA6F1\\uA802\\uA806\\uA80B\\uA825-\\uA826\\uA82C\\uA8C4-\\uA8C5\\uA8E0-\\uA8F1\\uA8FF\\uA926-\\uA92D\\uA947-\\uA951\\uA980-\\uA982\\uA9B3\\uA9B6-\\uA9B9\\uA9BC-\\uA9BD\\uA9E5\\uAA29-\\uAA2E\\uAA31-\\uAA32\\uAA35-\\uAA36\\uAA43\\uAA4C\\uAA7C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7-\\uAAB8\\uAABE-\\uAABF\\uAAC1\\uAAEC-\\uAAED\\uAAF6\\uABE5\\uABE8\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\u{101FD}\\u{102E0}\\u{10376}-\\u{1037A}\\u{10A01}-\\u{10A03}\\u{10A05}-\\u{10A06}\\u{10A0C}-\\u{10A0F}\\u{10A38}-\\u{10A3A}\\u{10A3F}\\u{10AE5}-\\u{10AE6}\\u{10D24}-\\u{10D27}\\u{10D69}-\\u{10D6D}\\u{10EAB}-\\u{10EAC}\\u{10EFA}-\\u{10EFF}\\u{10F46}-\\u{10F50}\\u{10F82}-\\u{10F85}\\u{11001}\\u{11038}-\\u{11046}\\u{11070}\\u{11073}-\\u{11074}\\u{1107F}-\\u{11081}\\u{110B3}-\\u{110B6}\\u{110B9}-\\u{110BA}\\u{110C2}\\u{11100}-\\u{11102}\\u{11127}-\\u{1112B}\\u{1112D}-\\u{11134}\\u{11173}\\u{11180}-\\u{11181}\\u{111B6}-\\u{111BE}\\u{111C9}-\\u{111CC}\\u{111CF}\\u{1122F}-\\u{11231}\\u{11234}\\u{11236}-\\u{11237}\\u{1123E}\\u{11241}\\u{112DF}\\u{112E3}-\\u{112EA}\\u{11300}-\\u{11301}\\u{1133B}-\\u{1133C}\\u{11340}\\u{11366}-\\u{1136C}\\u{11370}-\\u{11374}\\u{113BB}-\\u{113C0}\\u{113CE}\\u{113D0}\\u{113D2}\\u{113E1}-\\u{113E2}\\u{11438}-\\u{1143F}\\u{11442}-\\u{11444}\\u{11446}\\u{1145E}\\u{114B3}-\\u{114B8}\\u{114BA}\\u{114BF}-\\u{114C0}\\u{114C2}-\\u{114C3}\\u{115B2}-\\u{115B5}\\u{115BC}-\\u{115BD}\\u{115BF}-\\u{115C0}\\u{115DC}-\\u{115DD}\\u{11633}-\\u{1163A}\\u{1163D}\\u{1163F}-\\u{11640}\\u{116AB}\\u{116AD}\\u{116B0}-\\u{116B5}\\u{116B7}\\u{1171D}\\u{1171F}\\u{11722}-\\u{11725}\\u{11727}-\\u{1172B}\\u{1182F}-\\u{11837}\\u{11839}-\\u{1183A}\\u{1193B}-\\u{1193C}\\u{1193E}\\u{11943}\\u{119D4}-\\u{119D7}\\u{119DA}-\\u{119DB}\\u{119E0}\\u{11A01}-\\u{11A0A}\\u{11A33}-\\u{11A38}\\u{11A3B}-\\u{11A3E}\\u{11A47}\\u{11A51}-\\u{11A56}\\u{11A59}-\\u{11A5B}\\u{11A8A}-\\u{11A96}\\u{11A98}-\\u{11A99}\\u{11B60}\\u{11B62}-\\u{11B64}\\u{11B66}\\u{11C30}-\\u{11C36}\\u{11C38}-\\u{11C3D}\\u{11C3F}\\u{11C92}-\\u{11CA7}\\u{11CAA}-\\u{11CB0}\\u{11CB2}-\\u{11CB3}\\u{11CB5}-\\u{11CB6}\\u{11D31}-\\u{11D36}\\u{11D3A}\\u{11D3C}-\\u{11D3D}\\u{11D3F}-\\u{11D45}\\u{11D47}\\u{11D90}-\\u{11D91}\\u{11D95}\\u{11D97}\\u{11EF3}-\\u{11EF4}\\u{11F00}-\\u{11F01}\\u{11F36}-\\u{11F3A}\\u{11F40}\\u{11F42}\\u{11F5A}\\u{13440}\\u{13447}-\\u{13455}\\u{1611E}-\\u{16129}\\u{1612D}-\\u{1612F}\\u{16AF0}-\\u{16AF4}\\u{16B30}-\\u{16B36}\\u{16F4F}\\u{16F8F}-\\u{16F92}\\u{16FE4}\\u{1BC9D}-\\u{1BC9E}\\u{1CF00}-\\u{1CF2D}\\u{1CF30}-\\u{1CF46}\\u{1D167}-\\u{1D169}\\u{1D17B}-\\u{1D182}\\u{1D185}-\\u{1D18B}\\u{1D1AA}-\\u{1D1AD}\\u{1D242}-\\u{1D244}\\u{1DA00}-\\u{1DA36}\\u{1DA3B}-\\u{1DA6C}\\u{1DA75}\\u{1DA84}\\u{1DA9B}-\\u{1DA9F}\\u{1DAA1}-\\u{1DAAF}\\u{1E000}-\\u{1E006}\\u{1E008}-\\u{1E018}\\u{1E01B}-\\u{1E021}\\u{1E023}-\\u{1E024}\\u{1E026}-\\u{1E02A}\\u{1E08F}\\u{1E130}-\\u{1E136}\\u{1E2AE}\\u{1E2EC}-\\u{1E2EF}\\u{1E4EC}-\\u{1E4EF}\\u{1E5EE}-\\u{1E5EF}\\u{1E6E3}\\u{1E6E6}\\u{1E6EE}-\\u{1E6EF}\\u{1E6F5}\\u{1E8D0}-\\u{1E8D6}\\u{1E944}-\\u{1E94A}\\u{E0100}-\\u{E01EF}\\u0903\\u093B\\u093E-\\u0940\\u0949-\\u094C\\u094E-\\u094F\\u0982-\\u0983\\u09BE-\\u09C0\\u09C7-\\u09C8\\u09CB-\\u09CC\\u09D7\\u0A03\\u0A3E-\\u0A40\\u0A83\\u0ABE-\\u0AC0\\u0AC9\\u0ACB-\\u0ACC\\u0B02-\\u0B03\\u0B3E\\u0B40\\u0B47-\\u0B48\\u0B4B-\\u0B4C\\u0B57\\u0BBE-\\u0BBF\\u0BC1-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCC\\u0BD7\\u0C01-\\u0C03\\u0C41-\\u0C44\\u0C82-\\u0C83\\u0CBE\\u0CC0-\\u0CC4\\u0CC7-\\u0CC8\\u0CCA-\\u0CCB\\u0CD5-\\u0CD6\\u0CF3\\u0D02-\\u0D03\\u0D3E-\\u0D40\\u0D46-\\u0D48\\u0D4A-\\u0D4C\\u0D57\\u0D82-\\u0D83\\u0DCF-\\u0DD1\\u0DD8-\\u0DDF\\u0DF2-\\u0DF3\\u0F3E-\\u0F3F\\u0F7F\\u102B-\\u102C\\u1031\\u1038\\u103B-\\u103C\\u1056-\\u1057\\u1062-\\u1064\\u1067-\\u106D\\u1083-\\u1084\\u1087-\\u108C\\u108F\\u109A-\\u109C\\u1715\\u1734\\u17B6\\u17BE-\\u17C5\\u17C7-\\u17C8\\u1923-\\u1926\\u1929-\\u192B\\u1930-\\u1931\\u1933-\\u1938\\u1A19-\\u1A1A\\u1A55\\u1A57\\u1A61\\u1A63-\\u1A64\\u1A6D-\\u1A72\\u1B04\\u1B35\\u1B3B\\u1B3D-\\u1B41\\u1B43-\\u1B44\\u1B82\\u1BA1\\u1BA6-\\u1BA7\\u1BAA\\u1BE7\\u1BEA-\\u1BEC\\u1BEE\\u1BF2-\\u1BF3\\u1C24-\\u1C2B\\u1C34-\\u1C35\\u1CE1\\u1CF7\\u302E-\\u302F\\uA823-\\uA824\\uA827\\uA880-\\uA881\\uA8B4-\\uA8C3\\uA952-\\uA953\\uA983\\uA9B4-\\uA9B5\\uA9BA-\\uA9BB\\uA9BE-\\uA9C0\\uAA2F-\\uAA30\\uAA33-\\uAA34\\uAA4D\\uAA7B\\uAA7D\\uAAEB\\uAAEE-\\uAAEF\\uAAF5\\uABE3-\\uABE4\\uABE6-\\uABE7\\uABE9-\\uABEA\\uABEC\\u{11000}\\u{11002}\\u{11082}\\u{110B0}-\\u{110B2}\\u{110B7}-\\u{110B8}\\u{1112C}\\u{11145}-\\u{11146}\\u{11182}\\u{111B3}-\\u{111B5}\\u{111BF}-\\u{111C0}\\u{111CE}\\u{1122C}-\\u{1122E}\\u{11232}-\\u{11233}\\u{11235}\\u{112E0}-\\u{112E2}\\u{11302}-\\u{11303}\\u{1133E}-\\u{1133F}\\u{11341}-\\u{11344}\\u{11347}-\\u{11348}\\u{1134B}-\\u{1134D}\\u{11357}\\u{11362}-\\u{11363}\\u{113B8}-\\u{113BA}\\u{113C2}\\u{113C5}\\u{113C7}-\\u{113CA}\\u{113CC}-\\u{113CD}\\u{113CF}\\u{11435}-\\u{11437}\\u{11440}-\\u{11441}\\u{11445}\\u{114B0}-\\u{114B2}\\u{114B9}\\u{114BB}-\\u{114BE}\\u{114C1}\\u{115AF}-\\u{115B1}\\u{115B8}-\\u{115BB}\\u{115BE}\\u{11630}-\\u{11632}\\u{1163B}-\\u{1163C}\\u{1163E}\\u{116AC}\\u{116AE}-\\u{116AF}\\u{116B6}\\u{1171E}\\u{11720}-\\u{11721}\\u{11726}\\u{1182C}-\\u{1182E}\\u{11838}\\u{11930}-\\u{11935}\\u{11937}-\\u{11938}\\u{1193D}\\u{11940}\\u{11942}\\u{119D1}-\\u{119D3}\\u{119DC}-\\u{119DF}\\u{119E4}\\u{11A39}\\u{11A57}-\\u{11A58}\\u{11A97}\\u{11B61}\\u{11B65}\\u{11B67}\\u{11C2F}\\u{11C3E}\\u{11CA9}\\u{11CB1}\\u{11CB4}\\u{11D8A}-\\u{11D8E}\\u{11D93}-\\u{11D94}\\u{11D96}\\u{11EF5}-\\u{11EF6}\\u{11F03}\\u{11F34}-\\u{11F35}\\u{11F3E}-\\u{11F3F}\\u{11F41}\\u{1612A}-\\u{1612C}\\u{16F51}-\\u{16F87}\\u{16FF0}-\\u{16FF1}\\u{1D165}-\\u{1D166}\\u{1D16D}-\\u{1D172}]","gu"):null;function F(S){return C?S.replace(C,function(P){return"\\u{"+g(P)+"}"}):S}function B(S){return F(S.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(P){return"\\x0"+g(P)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(P){return"\\x"+g(P)}))}function b(S){return F(S.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(P){return"\\x0"+g(P)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(P){return"\\x"+g(P)}))}var O={literal:function(S){return'"'+B(S.text)+'"'},class:function(S){var P=S.parts.map(function(w){return Array.isArray(w)?b(w[0])+"-"+b(w[1]):b(w)});return"["+(S.inverted?"^":"")+P.join("")+"]"+(S.unicode?"u":"")},any:function(){return"any character"},end:function(){return"end of input"},other:function(S){return S.description}};function R(S){return O[S.type](S)}function k(S){var P=S.map(R);if(P.sort(),P.length>0){for(var w=1,E=1;E<P.length;E++)P[E-1]!==P[E]&&(P[w]=P[E],w++);P.length=w}switch(P.length){case 1:return P[0];case 2:return P[0]+" or "+P[1];default:return P.slice(0,-1).join(", ")+", or "+P[P.length-1]}}function D(S){return S?'"'+B(S)+'"':"end of input"}return"Expected "+k(o)+" but "+D(y)+" found."}}]),c})(_wrap_native_super(SyntaxError));t.exports={StartRules:["Grammar","ImportsAndSource"],SyntaxError:d,parse:u}}),Nr=U(function(r,t){"use strict";var u=function(k,D,S){var P=b.offsetStart(D),w=P.line,E=P.column-1,N=k.split(`
33
+ `);return N.length===1?new B(w,E,String(D.source),k,S):new B(null,null,String(D.source),N.map(function(V,W){return new B(w+W,W===0?E:0,String(D.source),W===N.length-1?V:[V,`
34
+ `],S)}))},p=function(k,D,S,P,w){if(S){var E=b.offsetEnd(S);return new B(null,null,String(S.source),[k,u(D,S,w),new B(E.line,E.column-1,String(S.source),P)])}return new B(null,null,null,[k,D,P])},l=function(k,D){if(!k.literals||!k.locations||!k.classes||!k.expectations||!k.functions||!k.importedNames)throw new Error("generateJS: generate bytecode was not called.");var S=k.literals,P=k.locations,w=k.classes,E=k.expectations,N=k.functions,V=k.importedNames;if(!D.allowedStartRules)throw new Error("generateJS: options.allowedStartRules was not set.");var W=D.allowedStartRules,H=D.dependencies||{};function G(j){var fe=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",Ee=j.match(/^\n*([ \t]+)/);return(Ee?j.replace(new RegExp("^".concat(Ee[1]),"gm"),fe):j).replace(/[ \t]+$/,"")}function Z(j){var fe=!0,Ee=0;function je(ne){return Array.isArray(ne)?ne.map(function(ve){return je(ve)}):_instanceof(ne,B)?(Ee++,ne.children=je(ne.children),Ee--,ne):(fe?ne=ne.replace(/^(.+)$/gm," $1"):ne=ne.replace(/\n(\s*\S)/g,`
35
+ $1`),fe=!Ee||ne.endsWith(`
36
+ `),ne)}return je(j)}function te(j){return"peg$c"+j}function me(j){return"peg$r"+j}function ke(j){return"peg$e"+j}function Se(j){return"peg$f"+j}function xe(j){return"peg$import"+j}function se(j){return"peg$parse"+j}function x(){function j(ne){return'"'+g(ne)+'"'}function fe(ne){return"/^["+(ne.inverted?"^":"")+ne.value.map(function(ve){return Array.isArray(ve)?C(ve[0])+"-"+C(ve[1]):C(ve)}).join("")+"]/"+(ne.ignoreCase?"i":"")+(ne.unicode?"u":"")}function Ee(ne){switch(ne.type){case"rule":return'peg$otherExpectation("'+g(ne.value)+'")';case"literal":return'peg$literalExpectation("'+g(ne.value)+'", '+ne.ignoreCase+")";case"class":return"peg$classExpectation(["+ne.value.map(function(ve){return Array.isArray(ve)?'["'+g(ve[0])+'", "'+g(ve[1])+'"]':'"'+g(ve)+'"'}).join(", ")+"], "+ne.inverted+", "+ne.ignoreCase+", "+ne.unicode+")";case"any":return"peg$anyExpectation()";default:throw new Error("Unknown expectation type ("+JSON.stringify(ne)+")")}}function je(ne,ve){return p(`
37
+ function `.concat(Se(ve),"(").concat(ne.params.join(", "),") {"),G(ne.body," "),ne.location," }")}return new B(null,null,D.grammarSource,[S.map(function(ne,ve){return" const "+te(ve)+" = "+j(ne)+";"}).concat("",w.map(function(ne,ve){return" const "+me(ve)+" = "+fe(ne)+";"})).concat("",E.map(function(ne,ve){return" const "+ke(ve)+" = "+Ee(ne)+";"})).concat("").join(`
38
+ `)].concat(_to_consumable_array(N.map(je))))}function $(j,fe){var Ee=[];return Ee.push(""),D.trace&&Ee.push("peg$tracer.trace({",' type: "rule.enter",'," rule: "+j+","," location: peg$computeLocation(startPos, startPos, true)","});",""),D.cache&&(Ee.push("const key = peg$currPos * "+k.rules.length+" + "+fe+";","const cached = peg$resultsCache[key];","","if (cached) {"," peg$currPos = cached.nextPos;",""),D.trace&&Ee.push("if (cached.result !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+j+","," result: cached.result,"," location: peg$computeLocation(startPos, peg$currPos, true)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+j+","," location: peg$computeLocation(startPos, startPos, true)"," });","}",""),Ee.push(" return cached.result;","}","")),Ee}function q(j,fe){var Ee=[];return D.cache&&Ee.push("","peg$resultsCache[key] = { nextPos: peg$currPos, result: "+fe+" };"),D.trace&&Ee.push("","if ("+fe+" !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+j+","," result: "+fe+","," location: peg$computeLocation(startPos, peg$currPos, true)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+j+","," location: peg$computeLocation(startPos, startPos, true)"," });","}"),Ee.push("","return "+fe+";"),Ee}function J(j){var fe,Ee,je,ne=[],ve=j.bytecode,X=new s(j.name,"s","let",ve);function $e(le){var vt=function(){switch(le[T]){case d.PUSH_EMPTY_STRING:pe.push(X.push("''")),T++;break;case d.PUSH_CURR_POS:pe.push(X.push("peg$currPos")),T++;break;case d.PUSH_UNDEFINED:pe.push(X.push("undefined")),T++;break;case d.PUSH_NULL:pe.push(X.push("null")),T++;break;case d.PUSH_FAILED:pe.push(X.push("peg$FAILED")),T++;break;case d.PUSH_EMPTY_ARRAY:pe.push(X.push("[]")),T++;break;case d.POP:X.pop(),T++;break;case d.POP_CURR_POS:pe.push("peg$currPos = "+X.pop()+";"),T++;break;case d.POP_N:X.pop(le[T+1]),T+=2;break;case d.NIP:Xe=X.pop(),X.pop(),pe.push(X.push(Xe)),T++;break;case d.APPEND:Xe=X.pop(),pe.push(X.top()+".push("+Xe+");"),T++;break;case d.WRAP:pe.push(X.push("["+X.pop(le[T+1]).join(", ")+"]")),T+=2;break;case d.TEXT:pe.push(X.push("input.substring("+X.pop()+", peg$currPos)")),T++;break;case d.PLUCK:{var He=le[T+3-1],Ye=3+He;Xe=le.slice(T+3,T+Ye),Xe=He===1?X.index(Xe[0]):"[ ".concat(Xe.map(function(ot){return X.index(ot)}).join(", ")," ]"),X.pop(le[T+1]),pe.push(X.push(Xe)),T+=Ye;break}case d.IF:Je(X.top(),0);break;case d.IF_ERROR:Je(X.top()+" === peg$FAILED",0);break;case d.IF_NOT_ERROR:Je(X.top()+" !== peg$FAILED",0);break;case d.IF_LT:Je(X.top()+".length < "+le[T+1],1);break;case d.IF_GE:Je(X.top()+".length >= "+le[T+1],1);break;case d.IF_LT_DYNAMIC:Je(X.top()+".length < ("+X.index(le[T+1])+"|0)",1);break;case d.IF_GE_DYNAMIC:Je(X.top()+".length >= ("+X.index(le[T+1])+"|0)",1);break;case d.WHILE_NOT_ERROR:wr(X.top()+" !== peg$FAILED");break;case d.MATCH_ANY:Je("input.length > peg$currPos",0);break;case d.MATCH_STRING:{var Ze=le[T+1],rt=S[Ze];Ot(function(ot,Ut){return rt.length>1?"".concat(ot," === ").concat(te(Ze)):(ot=Ut?"".concat(ot,".charCodeAt(0)"):"input.charCodeAt(peg$currPos)","".concat(ot," === ").concat(rt.charCodeAt(0)))},1,rt.length);break}case d.MATCH_STRING_IC:{var nt=le[T+1];Ot(function(ot){return"".concat(ot,".toLowerCase() === ").concat(te(nt))},1,S[nt].length);break}case d.MATCH_CHAR_CLASS:{var pt=le[T+1];Ot(function(ot){return"".concat(me(pt),".test(").concat(ot,")")},1,1);break}case d.MATCH_UNICODE_CLASS:{var Dt=le[T+1];Ot(function(ot){return"".concat(me(Dt),".test(").concat(ot,")")},1,-1);break}case d.ACCEPT_N:pe.push(X.push(Gt(le[T+1]))),pe.push(xt(le[T+1],X.top())),T+=2;break;case d.ACCEPT_STRING:pe.push(X.push(te(le[T+1]))),pe.push(S[le[T+1]].length>1?"peg$currPos += "+S[le[T+1]].length+";":"peg$currPos++;"),T+=2;break;case d.FAIL:pe.push(X.push("peg$FAILED")),pe.push("if (peg$silentFails === 0) { peg$fail("+ke(le[T+1])+"); }"),T+=2;break;case d.LOAD_SAVED_POS:pe.push("peg$savedPos = "+X.index(le[T+1])+";"),T+=2;break;case d.UPDATE_SAVED_POS:pe.push("peg$savedPos = peg$currPos;"),T++;break;case d.CALL:Xe=_r(4),X.pop(le[T+2]),pe.push(X.push(Xe)),T+=4+le[T+3];break;case d.RULE:pe.push(X.push(se(k.rules[le[T+1]].name)+"()")),T+=2;break;case d.LIBRARY_RULE:{var Me=le[T+2],It=Me===-1?"":', "'+V[Me]+'"';pe.push(X.push("peg$callLibrary("+xe(le[T+1])+It+")")),T+=3;break}case d.SILENT_FAILS_ON:pe.push("peg$silentFails++;"),T++;break;case d.SILENT_FAILS_OFF:pe.push("peg$silentFails--;"),T++;break;case d.SOURCE_MAP_PUSH:X.sourceMapPush(pe,P[le[T+1]]),T+=2;break;case d.SOURCE_MAP_POP:{X.sourceMapPop(),T++;break}case d.SOURCE_MAP_LABEL_PUSH:X.labels[le[T+1]]={label:S[le[T+2]],location:P[le[T+3]]},T+=4;break;case d.SOURCE_MAP_LABEL_POP:delete X.labels[le[T+1]],T+=2;break;default:throw new Error("Invalid opcode: "+le[T]+".")}},T=0,ge=le.length,pe=[],Xe;function Je(He,Ye,Ze){var rt,nt,pt=Ye+3,Dt=le[T+pt-2],Me=le[T+pt-1],It=_sliced_to_array(X.checkedIf(T,function(){return T+=pt+Dt,(Ze||$e)(le.slice(T-Dt,T))},Me>0?function(){return T+=Me,$e(le.slice(T-Me,T))}:null),2),ot=It[0],Ut=It[1];pe.push("if ("+He+") {"),(rt=pe).push.apply(rt,_to_consumable_array(Z(ot))),Me>0&&(pe.push("} else {"),(nt=pe).push.apply(nt,_to_consumable_array(Z(Ut)))),pe.push("}")}function Gt(He){switch(He){case-1:return"peg$getUnicode()";case 1:return"input.charAt(peg$currPos)";default:return"input.substr(peg$currPos, ".concat(He,")")}}function xt(He,Ye){switch(He){case-1:return"peg$currPos += ".concat(Ye,".length;");case 1:return"peg$currPos++;";default:return"peg$currPos += ("+He+");"}}function Ot(He,Ye,Ze){var rt=Ye+3,nt=Gt(Ze),pt=null;le[T+rt]===d.ACCEPT_N&&le[T+rt+1]===Ze&&(pe.push(X.push(nt)),nt=X.pop(),pt=function(Dt){X.sp++;var Me=$e(Dt.slice(2));return Me.unshift(xt(Ze,nt)),Me}),Je(He(nt,pt!==null),Ye,pt)}function wr(He){var Ye,Ze=le[T+2-1],rt=X.checkedLoop(T,function(){return T+=2+Ze,$e(le.slice(T-Ze,T))});pe.push("while ("+He+") {"),(Ye=pe).push.apply(Ye,_to_consumable_array(Z(rt))),pe.push("}")}function _r(He){var Ye=le[T+He-1];return Se(le[T+1])+"("+le.slice(T+He,T+He+Ye).map(function(Ze){return X.index(Ze)}).join(", ")+")"}for(;T<ge;)vt();return pe}var Le=$e(ve);return ne.push(p("function ",se(j.name),j.nameLocation,`() {
39
+ `,j.name)),D.trace&&ne.push(" var startPos = peg$currPos;"),ne.push(Z(X.defines())),(fe=ne).push.apply(fe,_to_consumable_array(Z($('"'+g(j.name)+'"',f.indexOfRule(k,j.name))))),(Ee=ne).push.apply(Ee,_to_consumable_array(Z(Le))),(je=ne).push.apply(je,_to_consumable_array(Z(q('"'+g(j.name)+'"',X.result())))),ne.push("}"),ne.push(""),ne}function re(j){return j.codeLocation?u(j.code,j.codeLocation,"$"+j.type):j.code}function de(){var j=[],fe=k.topLevelInitializer;if(fe)if(Array.isArray(fe)){if(D.format==="es"){var Ee=[],je=[],ne=!0,ve=!1,X=void 0;try{for(var $e=fe[Symbol.iterator](),Le;!(ne=(Le=$e.next()).done);ne=!0){var le=Le.value,vt=_sliced_to_array(R(le.code,{startRule:"ImportsAndSource",grammarSource:new b(le.codeLocation.source,le.codeLocation.start)}),2),T=vt[0],ge=vt[1];T.code?(Ee.push(T),je.push(ge)):je.push(le)}}catch(Me){ve=!0,X=Me}finally{try{!ne&&$e.return!=null&&$e.return()}finally{if(ve)throw X}}fe=je.concat(Ee)}var pe=fe.slice(0).reverse(),Xe=!0,Je=!1,Gt=void 0;try{for(var xt=pe[Symbol.iterator](),Ot;!(Xe=(Ot=xt.next()).done);Xe=!0){var wr=Ot.value;j.push(re(wr)),j.push("")}}catch(Me){Je=!0,Gt=Me}finally{try{!Xe&&xt.return!=null&&xt.return()}finally{if(Je)throw Gt}}}else j.push(re(fe)),j.push("");j.push("class peg$SyntaxError extends SyntaxError {"," constructor(message, expected, found, location) {"," super(message);"," this.expected = expected;"," this.found = found;"," this.location = location;",' this.name = "SyntaxError";'," }",""," format(sources) {",' let str = "Error: " + this.message;'," if (this.location) {"," let src = null;"," const st = sources.find(s => s.source === this.location.source);"," if (st) {"," src = st.text.split(/\\r\\n|\\n|\\r/g);"," }"," const s = this.location.start;",' const offset_s = (this.location.source && (typeof this.location.source.offset === "function"))'," ? this.location.source.offset(s)"," : s;",' const loc = this.location.source + ":" + offset_s.line + ":" + offset_s.column;'," if (src) {"," const e = this.location.end;",' const filler = "".padEnd(offset_s.line.toString().length, " ");'," const line = src[s.line - 1];"," const last = s.line === e.line ? e.column : line.length + 1;"," const hatLen = (last - s.column) || 1;",' str += "\\n --> " + loc + "\\n"',' + filler + " |\\n"',' + offset_s.line + " | " + line + "\\n"',' + filler + " | " + "".padEnd(s.column - 1, " ")',' + "".padEnd(hatLen, "^");'," } else {",' str += "\\n at " + loc;'," }"," }"," return str;"," }",""," static buildMessage(expected, found) {"," function hex(ch) {"," return ch.codePointAt(0).toString(16).toUpperCase();"," }","",' const nonPrintable = Object.prototype.hasOwnProperty.call(RegExp.prototype, "unicode")',' ? new RegExp("[\\\\p{C}\\\\p{Mn}\\\\p{Mc}]", "gu")'," : null;"," function unicodeEscape(s) {"," if (nonPrintable) {",' return s.replace(nonPrintable, ch => "\\\\u{" + hex(ch) + "}");'," }"," return s;"," }",""," function literalEscape(s) {"," return unicodeEscape(s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/"/g, "\\\\\\"")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, ch => "\\\\x0" + hex(ch))',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, ch => "\\\\x" + hex(ch)));'," }",""," function classEscape(s) {"," return unicodeEscape(s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/\\]/g, "\\\\]")',' .replace(/\\^/g, "\\\\^")',' .replace(/-/g, "\\\\-")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, ch => "\\\\x0" + hex(ch))',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, ch => "\\\\x" + hex(ch)));'," }",""," const DESCRIBE_EXPECTATION_FNS = {"," literal(expectation) {",' return "\\"" + literalEscape(expectation.text) + "\\"";'," },",""," class(expectation) {"," const escapedParts = expectation.parts.map("," part => (Array.isArray(part)",' ? classEscape(part[0]) + "-" + classEscape(part[1])'," : classEscape(part))"," );","",' return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]" + (expectation.unicode ? "u" : "");'," },",""," any() {",' return "any character";'," },",""," end() {",' return "end of input";'," },",""," other(expectation) {"," return expectation.description;"," },"," };",""," function describeExpectation(expectation) {"," return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);"," }",""," function describeExpected(expected) {"," const descriptions = expected.map(describeExpectation);"," descriptions.sort();",""," if (descriptions.length > 0) {"," let j = 1;"," for (let i = 1; i < descriptions.length; i++) {"," if (descriptions[i - 1] !== descriptions[i]) {"," descriptions[j] = descriptions[i];"," j++;"," }"," }"," descriptions.length = j;"," }",""," switch (descriptions.length) {"," case 1:"," return descriptions[0];",""," case 2:",' return descriptions[0] + " or " + descriptions[1];',""," default:",' return descriptions.slice(0, -1).join(", ")',' + ", or "'," + descriptions[descriptions.length - 1];"," }"," }",""," function describeFound(found) {",' return found ? "\\"" + literalEscape(found) + "\\"" : "end of input";'," }","",' return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";'," }","}",""),D.trace&&j.push("class peg$DefaultTracer {"," constructor() {"," this.indentLevel = 0;"," }",""," trace(event) {"," const that = this;",""," function log(event) {"," console?.log?.(",' event.location.start.line + ":" + event.location.start.column + "-"',' + event.location.end.line + ":" + event.location.end.column + " "',' + event.type.padEnd(10, " ")',' + "".padEnd((that.indentLevel * 2) + 1, " ") + event.rule'," );"," }",""," switch (event.type) {",' case "rule.enter":'," log(event);"," this.indentLevel++;"," break;","",' case "rule.match":'," this.indentLevel--;"," log(event);"," break;","",' case "rule.fail":'," this.indentLevel--;"," log(event);"," break;",""," default:",' throw new Error("Invalid event type: " + event.type + ".");'," }"," }","}","");var _r=`{
40
+ `+W.map(function(Me){return" ".concat(Me,": ").concat(se(Me),`,
41
+ `)}).join("")+" }",He=se(W[0]),Ye=!0,Ze=!1,rt=void 0;if(j.push("function peg$parse(input, options) {"," options = options !== undefined ? options : {};",""," const peg$FAILED = {};"," const peg$source = options.grammarSource;",""," const peg$startRuleFunctions = "+_r+";"," let peg$startRuleFunction = "+He+";","",x(),""," let peg$currPos = options.peg$currPos | 0;"," let peg$savedPos = peg$currPos;"," const peg$posDetailsCache = [{ line: 1, column: 1 }];"," let peg$maxFailPos = peg$currPos;"," let peg$maxFailExpected = options.peg$maxFailExpected || [];"," let peg$silentFails = options.peg$silentFails | 0;",""),D.cache&&j.push(" let peg$resultsCache = {};",""),D.trace&&j.push(' let peg$tracer = "tracer" in options ? options.tracer : new peg$DefaultTracer();',""),j.push(" let peg$result;",""," if (options.startRule) {"," if (!(options.startRule in peg$startRuleFunctions)) {",` throw new Error("Can't start parsing from rule \\"" + options.startRule + "\\".");`," }",""," peg$startRuleFunction = peg$startRuleFunctions[options.startRule];"," }",""," function text() {"," return input.substring(peg$savedPos, peg$currPos);"," }",""," function offset() {"," return peg$savedPos;"," }",""," function range() {"," return {"," source: peg$source,"," start: peg$savedPos,"," end: peg$currPos,"," };"," }",""," function location() {"," return peg$computeLocation(peg$savedPos, peg$currPos);"," }",""," function expected(description, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildStructuredError("," [peg$otherExpectation(description)],"," input.substring(peg$savedPos, peg$currPos),"," location"," );"," }",""," function error(message, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildSimpleError(message, location);"," }",""," function peg$getUnicode(pos = peg$currPos) {"," const cp = input.codePointAt(pos);"," if (cp === undefined) {",' return "";'," }"," return String.fromCodePoint(cp);"," }",""," function peg$literalExpectation(text, ignoreCase) {",' return { type: "literal", text, ignoreCase };'," }",""," function peg$classExpectation(parts, inverted, ignoreCase, unicode) {",' return { type: "class", parts, inverted, ignoreCase, unicode };'," }",""," function peg$anyExpectation() {",' return { type: "any" };'," }",""," function peg$endExpectation() {",' return { type: "end" };'," }",""," function peg$otherExpectation(description) {",' return { type: "other", description };'," }",""," function peg$computePosDetails(pos) {"," let details = peg$posDetailsCache[pos];"," let p;",""," if (details) {"," return details;"," } else {"," if (pos >= peg$posDetailsCache.length) {"," p = peg$posDetailsCache.length - 1;"," } else {"," p = pos;"," while (!peg$posDetailsCache[--p]) {}"," }",""," details = peg$posDetailsCache[p];"," details = {"," line: details.line,"," column: details.column,"," };",""," while (p < pos) {"," if (input.charCodeAt(p) === 10) {"," details.line++;"," details.column = 1;"," } else {"," details.column++;"," }",""," p++;"," }",""," peg$posDetailsCache[pos] = details;",""," return details;"," }"," }",""," function peg$computeLocation(startPos, endPos, offset) {"," const startPosDetails = peg$computePosDetails(startPos);"," const endPosDetails = peg$computePosDetails(endPos);",""," const res = {"," source: peg$source,"," start: {"," offset: startPos,"," line: startPosDetails.line,"," column: startPosDetails.column,"," },"," end: {"," offset: endPos,"," line: endPosDetails.line,"," column: endPosDetails.column,"," },"," };",' if (offset && peg$source && (typeof peg$source.offset === "function")) {'," res.start = peg$source.offset(res.start);"," res.end = peg$source.offset(res.end);"," }"," return res;"," }",""," function peg$fail(expected) {"," if (peg$currPos < peg$maxFailPos) { return; }",""," if (peg$currPos > peg$maxFailPos) {"," peg$maxFailPos = peg$currPos;"," peg$maxFailExpected = [];"," }",""," peg$maxFailExpected.push(expected);"," }",""," function peg$buildSimpleError(message, location) {"," return new peg$SyntaxError(message, null, null, location);"," }",""," function peg$buildStructuredError(expected, found, location) {"," return new peg$SyntaxError("," peg$SyntaxError.buildMessage(expected, found),"," expected,"," found,"," location"," );"," }",""),k.imports.length>0&&j.push(" function peg$callLibrary(lib, startRule) {"," const opts = Object.assign({}, options, {"," startRule: startRule,"," peg$currPos: peg$currPos,"," peg$silentFails: peg$silentFails,"," peg$library: true,"," peg$maxFailExpected: peg$maxFailExpected"," });"," const res = lib.parse(input, opts);"," peg$currPos = res.peg$currPos;"," peg$maxFailPos = res.peg$maxFailPos;"," peg$maxFailExpected = res.peg$maxFailExpected;"," return (res.peg$result === res.peg$FAILED) ? peg$FAILED : res.peg$result;"," }",""),k.rules.forEach(function(Me){var It;(It=j).push.apply(It,_to_consumable_array(Z(J(Me))))}),k.initializer)if(Array.isArray(k.initializer))try{for(var nt=k.initializer[Symbol.iterator](),pt;!(Ye=(pt=nt.next()).done);Ye=!0){var Dt=pt.value;j.push(re(Dt)),j.push("")}}catch(Me){Ze=!0,rt=Me}finally{try{!Ye&&nt.return!=null&&nt.return()}finally{if(Ze)throw rt}}else j.push(re(k.initializer)),j.push("");return j.push(" peg$result = peg$startRuleFunction();",""," const peg$success = (peg$result !== peg$FAILED && peg$currPos === input.length);"," function peg$throw() {"," if (peg$result !== peg$FAILED && peg$currPos < input.length) {"," peg$fail(peg$endExpectation());"," }",""," throw peg$buildStructuredError("," peg$maxFailExpected,"," peg$maxFailPos < input.length ? peg$getUnicode(peg$maxFailPos) : null,"," peg$maxFailPos < input.length"," ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)"," : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)"," );"," }"," if (options.peg$library) {"," return /** @type {any} */ ({"," peg$result,"," peg$currPos,"," peg$FAILED,"," peg$maxFailExpected,"," peg$maxFailPos,"," peg$success,"," peg$throw: peg$success ? undefined : peg$throw,"," });"," }"," if (peg$success) {"," return peg$result;"," } else {"," peg$throw();"," }","}"),new B(null,null,D.grammarSource,j.map(function(Me){return _instanceof(Me,B)?Me:Me+`
42
+ `}))}function Fe(j){function fe(){return["// @generated by Peggy ".concat(o,"."),"//","// https://peggyjs.org/"]}function Ee(){var ne=["{"];return D.trace&&ne.push(" DefaultTracer: peg$DefaultTracer,"),D.allowedStartRules&&ne.push(" StartRules: ["+D.allowedStartRules.map(function(ve){return'"'+ve+'"'}).join(", ")+"],"),ne.push(" SyntaxError: peg$SyntaxError,"," parse: peg$parse,"),ne.push("}"),ne.join(`
43
+ `)}var je={bare:function(){if(Object.keys(H).length>0||k.imports.length>0)throw new Error("Dependencies not supported in format 'bare'.");return _to_consumable_array(fe()).concat(["(function() {",' "use strict";',j,Z("return "+Ee()+";"),"})()"])},commonjs:function(){var ve=Object.keys(H),X=fe();X.push("",'"use strict";'),ve.length>0&&(ve.forEach(function(le){X.push("const "+le+' = require("'+g(H[le])+'");')}),X.push(""));for(var $e=k.imports.length,Le=0;Le<$e;Le++)X.push("const "+xe(Le)+' = require("'+g(k.imports[Le].from.module)+'");');return X.push("",j,"","module.exports = "+Ee()+";"),X},es:function(){var ve=Object.keys(H),X=fe();X.push(""),ve.length>0&&(ve.forEach(function(Le){X.push("import "+Le+' from "'+g(H[Le])+'";')}),X.push(""));for(var $e=0;$e<k.imports.length;$e++)X.push("import * as "+xe($e)+' from "'+g(k.imports[$e].from.module)+'";');return X.push("",j,""),X.push("const peg$allowedStartRules = ["," "+(D.allowedStartRules?D.allowedStartRules.map(function(Le){return'"'+Le+'"'}).join(`,
44
+ `):""),"];",""),X.push("export {"),D.trace&&X.push(" peg$DefaultTracer as DefaultTracer,"),X.push(" peg$allowedStartRules as StartRules,"," peg$SyntaxError as SyntaxError,"," peg$parse as parse","};"),X},amd:function(){if(k.imports.length>0)throw new Error("Imports are not supported in format 'amd'.");var ve=Object.keys(H),X="["+ve.map(function(Le){return H[Le]}).map(function(Le){return'"'+g(Le)+'"'}).join(", ")+"]",$e=ve.join(", ");return _to_consumable_array(fe()).concat(["define("+X+", function("+$e+") {",' "use strict";',j,"",Z("return "+Ee()+";"),"});"])},globals:function(){if(Object.keys(H).length>0||k.imports.length>0)throw new Error("Dependencies not supported in format 'globals'.");if(!D.exportVar)throw new Error("No export variable defined for format 'globals'.");return _to_consumable_array(fe()).concat(["(function(root) {",' "use strict";',j,"",Z("root."+D.exportVar+" = "+Ee()+";"),"})(this);"])},umd:function(){if(k.imports.length>0)throw new Error("Imports are not supported in format 'umd'.");var ve=Object.keys(H),X=ve.map(function(T){return H[T]}),$e="["+X.map(function(T){return'"'+g(T)+'"'}).join(", ")+"]",Le=X.map(function(T){return'require("'+g(T)+'")'}).join(", "),le=ve.join(", "),vt=fe();return vt.push("(function(root, factory) {",' if (typeof define === "function" && define.amd) {'," define("+$e+", factory);",' } else if (typeof module === "object" && module.exports) {'," module.exports = factory("+Le+");"),D.exportVar&&vt.push(" } else {"," root."+D.exportVar+" = factory();"),vt.push(" }","})(this, function("+le+") {",' "use strict";',j,"",Z("return "+Ee()+";"),"});"),vt}}[D.format||"bare"]();return new B(null,null,D.grammarSource,je.map(function(ne){return _instanceof(ne,B)?ne:ne+`
45
+ `}))}k.code=Fe(de())},f=he(),d=Ht(),s=Rr(),c=es(),o=c.version,y=Qe(),g=y.stringEscape,C=y.regexpClassEscape,F=Kt(),B=F.SourceNode,b=Ve(),O=ts(),R=O.parse;t.exports=l}),kr=U(function(r,t){"use strict";var u=function(f,d,s){function c(y){return y.type==="rule"&&y.expression.type==="rule_ref"}function o(y,g,C){l.build({rule_ref:function(F){F.name===g&&(F.name=C,s.info('Proxy rule "'.concat(g,'" replaced by the rule "').concat(C,'"'),F.location,[{message:"This rule will be used",location:p.findRule(y,C).nameLocation}]))}})(y)}f.rules.forEach(function(y){c(y)&&o(f,y.name,y.expression.name)})},p=he(),l=K();t.exports=u}),jr=U(function(r,t){"use strict";var u=function(b,O){var R=b,k=O;Object.keys(R).forEach(function(D){return delete R[D]}),Object.keys(k).forEach(function(D){R[D]=k[D]})},p=function(b){b.sort(function(E,N){var V=_sliced_to_array(Array.isArray(E)?E:[E,E],2),W=V[0],H=V[1],G=_sliced_to_array(Array.isArray(N)?N:[N,N],2),Z=G[0],te=G[1];return W!==Z?W<Z?-1:1:H!==te?H>te?-1:1:0});for(var O="",R="",k=0;k<b.length;k++){var D=b[k],S=_sliced_to_array(Array.isArray(D)?D:[D,D],2),P=S[0],w=S[1];if(typeof P=="string"&&typeof w=="string"&&typeof O=="string"&&typeof R=="string"){if(w<=R){b.splice(k--,1);continue}if(R.charCodeAt(0)+1>=P.charCodeAt(0)){b.splice(k--,1),b[k]=[O,R=w];continue}}O=P,R=w}return b},l=function(b,O){c.build({class:function(R){var k;if(R.unicode){var D=[],S=!0,P=!1,w=void 0;try{for(var E=R.parts[Symbol.iterator](),N;!(S=(N=E.next()).done);S=!0){var V=N.value;if(Array.isArray(V)){var W=_sliced_to_array(V.map(function(Z){return Z.codePointAt(0)}),2),H=W[0],G=W[1];H<C&&G>F&&(O.info("Removing surrogate range from [".concat(s(V[0]),"-").concat(s(V[1]),"]"),R.location),D.push([B,V[1]]),V[1]=g)}}}catch(Z){P=!0,w=Z}finally{try{!S&&E.return!=null&&E.return()}finally{if(P)throw w}}(k=R.parts).push.apply(k,_to_consumable_array(D))}}})(b)},f=function(b,O,R){var k=Object.create(null);b.rules.forEach(function(E){return k[E.name]=E.expression});var D=new Set;l(b,R);var S=[function(E){var N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;switch(E.type){case"class":if(E.inverted)break;return N?_object_spread_props(_object_spread({},E),{parts:_to_consumable_array(E.parts)}):E;case"literal":{var V=y(E.value);if(V<0)break;return{type:"class",parts:[E.value],inverted:!1,ignoreCase:E.ignoreCase,location:E.location,unicode:V>65535}}case"rule_ref":{var W=k[E.name];if(!W)break;D.has(E.name)||(D.add(E.name),w(W));var H=P(W,!0);return H&&(H.location=E.location),H}}return null},c.build({choice:function(E){var N=null,V=!1;E.alternatives.forEach(function(W,H){var G;w(W);var Z=P(W);if(!Z){N=null;return}N&&N.ignoreCase===Z.ignoreCase?((G=N.parts).push.apply(G,_to_consumable_array(Z.parts)),E.alternatives[H-1]=N,E.alternatives[H]=N,N.unicode=N.unicode||Z.unicode,N.location={source:N.location.source,start:N.location.start,end:Z.location.end},V=!0):N=Z}),V&&(E.alternatives=E.alternatives.filter(function(W,H,G){return!H||W!==G[H-1]}),E.alternatives.forEach(function(W,H){W.type==="class"&&(W.parts=p(W.parts),W.parts.length===1&&!Array.isArray(W.parts[0])&&typeof W.parts[0]=="string"&&!W.inverted&&(E.alternatives[H]={type:"literal",value:W.parts[0],ignoreCase:W.ignoreCase,location:W.location}))}),E.alternatives.length===1&&u(E,E.alternatives[0]))},text:function(E){if(w(E.expression),E.expression.type==="class"||E.expression.type==="literal"){var N=E.location;u(E,E.expression),E.location=N}}})],P=S[0],w=S[1];b.rules.forEach(function(E){D.add(E.name),w(E.expression)})},d=Qe(),s=d.stringEscape,c=K(),o=Qe(),y=o.codePointLen1,g=String.fromCodePoint(55295),C=55296,F=57343,B=String.fromCodePoint(57344);t.exports=f}),Br=U(function(r,t){"use strict";var u=function(l,f,d){var s=Object.create(null);l.rules.forEach(function(C){s[C.name]=C});for(var c=_to_consumable_array(f.allowedStartRules),o=new Set,y=p.build({rule_ref:function(C){c.push(C.name)}});c.length;){var g=c.shift();o.has(g)||(o.add(g),y(s[g]))}l.rules=l.rules.filter(function(C){return o.has(C.name)?!0:(d.info('Removing unused rule: "'.concat(C.name,'"'),C.location),!1)})},p=K();t.exports=u}),Gr=U(function(r,t){"use strict";var u=function(p,l,f){var d={},s=!0,c=!1,o=void 0,y=!0,g=!1,C=void 0;try{for(var F=p.imports[Symbol.iterator](),B;!(y=(B=F.next()).done);y=!0){var b=B.value;try{for(var O=b.what[Symbol.iterator](),R;!(s=(R=O.next()).done);s=!0){var k=R.value;k.type==="import_binding_all"&&(Object.prototype.hasOwnProperty.call(d,k.binding)&&f.error('Module "'.concat(k.binding,'" is already imported'),k.location,[{message:"Original module location",location:d[k.binding]}]),d[k.binding]=k.location)}}catch(D){c=!0,o=D}finally{try{!s&&O.return!=null&&O.return()}finally{if(c)throw o}}}}catch(D){g=!0,C=D}finally{try{!y&&F.return!=null&&F.return()}finally{if(g)throw C}}};t.exports=u}),Yr=U(function(r,t){"use strict";var u=function(l,f,d){function s(y){var g={};return Object.keys(y).forEach(function(C){g[C]=y[C]}),g}function c(y,g){o(y.expression,s(g))}var o=p.build({rule:function(y){o(y.expression,{})},choice:function(y,g){y.alternatives.forEach(function(C){o(C,s(g))})},action:c,labeled:function(y,g){var C=y.label;C&&Object.prototype.hasOwnProperty.call(g,C)&&d.error('Label "'.concat(y.label,'" is already defined'),y.labelLocation,[{message:"Original label location",location:g[C]}]),o(y.expression,g),g[y.label]=y.labelLocation},text:c,simple_and:c,simple_not:c,optional:c,zero_or_more:c,one_or_more:c,repeated:function(y,g){y.delimiter&&o(y.delimiter,s(g)),o(y.expression,s(g))},group:c});o(l)},p=K();t.exports=u}),Jr=U(function(r,t){"use strict";var u=function(l,f,d){var s={};p.build({rule:function(c){if(Object.prototype.hasOwnProperty.call(s,c.name)){d.error('Rule "'.concat(c.name,'" is already defined'),c.nameLocation,[{message:"Original rule location",location:s[c.name]}]);return}s[c.name]=c.nameLocation}})(l)},p=K();t.exports=u}),Qr=U(function(r,t){"use strict";var u=function(f,d,s){var c=[],o=[],y=new Set,g=l.build({rule:function(C){s.errors>0||y.has(C.name)||(y.add(C.name),c.push(C.name),g(C.expression),c.pop())},sequence:function(C){s.errors>0||C.elements.every(function(F){return g(F),s.errors>0?!1:!p.alwaysConsumesOnSuccess(f,F)})},repeated:function(C){s.errors>0||(g(C.expression),C.delimiter&&!p.alwaysConsumesOnSuccess(f,C.expression)&&g(C.delimiter))},rule_ref:function(C){if(!(s.errors>0)){o.push(C);var F=p.findRule(f,C.name);if(c.indexOf(C.name)!==-1){c.push(C.name),s.error("Possible infinite loop when parsing (left recursion: "+c.join(" -> ")+")",F.nameLocation,o.map(function(B,b,O){return{message:b+1!==O.length?"Step ".concat(b+1,': call of the rule "').concat(B.name,'" without input consumption'):"Step ".concat(b+1,": calls itself without input consumption - left recursion"),location:B.location}}));return}F&&g(F),o.pop()}}});g(f)},p=he(),l=K();t.exports=u}),Zr=U(function(r,t){"use strict";var u=function(f,d,s){var c=l.build({zero_or_more:function(o){p.alwaysConsumesOnSuccess(f,o.expression)||s.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",o.location)},one_or_more:function(o){p.alwaysConsumesOnSuccess(f,o.expression)||s.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",o.location)},repeated:function(o){if(o.delimiter&&c(o.delimiter),!(p.alwaysConsumesOnSuccess(f,o.expression)||o.delimiter&&p.alwaysConsumesOnSuccess(f,o.delimiter)))if(o.max.value===null)s.error("Possible infinite loop when parsing (unbounded range repetition used with an expression that may not consume any input)",o.location);else{var y=o.min?o.min:o.max;s.warning(y.type==="constant"&&o.max.type==="constant"?"An expression may not consume any input and may always match ".concat(o.max.value," times"):"An expression may not consume any input and may always match with a maximum repetition count",o.location)}}});c(f)},p=he(),l=K();t.exports=u}),tn=U(function(r,t){"use strict";var u=function(f,d,s){l.build({rule_ref:function(c){p.findRule(f,c.name)||s.error('Rule "'.concat(c.name,'" is not defined'),c.location)}})(f)},p=he(),l=K();t.exports=u}),rn=U(function(r,t){"use strict";var u=function(l,f,d){var s=p.build({action:function(c){s(c.expression,c)},labeled:function(c,o){c.pick&&o&&d.error('"@" cannot be used with an action block',c.labelLocation,[{message:"Action block location",location:o.codeLocation}]),s(c.expression)}});s(l)},p=K();t.exports=u}),cn=U(function(r,t){"use strict";var u=function(s,c,o){var y=p.build({choice:function(g){g.alternatives.forEach(function(B){return y(B)});for(var C=0;C<g.alternatives.length-1;C++){var F=g.alternatives[C];F.match===f&&o.warning("Always matches. Following alternatives may not be reachable.",F.location)}},simple_and:function(g){y(g.expression),g.expression.match===f?o.warning("Always matches, making the & predicate redundant.",g.expression.location):g.expression.match===d&&o.warning("Never matches, making the & predicate always fail.",g.expression.location)},simple_not:function(g){y(g.expression),g.expression.match===f?o.warning("Always matches, making the ! predicate always fail.",g.expression.location):g.expression.match===d&&o.warning("Never matches, making the ! predicate redundant.",g.expression.location)}});y(s)},p=K(),l=ht(),f=l.ALWAYS_MATCH,d=l.NEVER_MATCH;t.exports=u}),an=U(function(r,t){"use strict";var u=ft(),p=(function(){function f(d){_class_call_check(this,f),d=(typeof d>"u"?"undefined":_type_of(d))<"u"?d:{},typeof d.error=="function"&&(this.error=d.error),typeof d.warning=="function"&&(this.warning=d.warning),typeof d.info=="function"&&(this.info=d.info)}return _create_class(f,[{key:"error",value:function(){}},{key:"warning",value:function(){}},{key:"info",value:function(){}}]),f})(),l=(function(){function f(d){_class_call_check(this,f),this._callbacks=new p(d),this._firstError=null,this.errors=0,this.problems=[],this.stage=null}return _create_class(f,[{key:"error",value:function(){for(var s=arguments.length,c=new Array(s),o=0;o<s;o++)c[o]=arguments[o];var y;++this.errors,this._firstError===null&&(this._firstError=_construct(u,_to_consumable_array(c)),this._firstError.stage=this.stage,this._firstError.problems=this.problems),this.problems.push(["error"].concat(_to_consumable_array(c))),(y=this._callbacks).error.apply(y,[this.stage].concat(_to_consumable_array(c)))}},{key:"warning",value:function(){for(var s=arguments.length,c=new Array(s),o=0;o<s;o++)c[o]=arguments[o];var y;this.problems.push(["warning"].concat(_to_consumable_array(c))),(y=this._callbacks).warning.apply(y,[this.stage].concat(_to_consumable_array(c)))}},{key:"info",value:function(){for(var s=arguments.length,c=new Array(s),o=0;o<s;o++)c[o]=arguments[o];var y;this.problems.push(["info"].concat(_to_consumable_array(c))),(y=this._callbacks).info.apply(y,[this.stage].concat(_to_consumable_array(c)))}},{key:"checkErrors",value:function(){if(this.errors!==0)throw this._firstError}}]),f})();t.exports=l}),un=U(function(exports,module){"use strict";var processOptions=function(r,t){var u={};return Object.keys(r).forEach(function(p){u[p]=r[p]}),Object.keys(t).forEach(function(p){Object.prototype.hasOwnProperty.call(u,p)||(u[p]=t[p])}),u},isSourceMapCapable=function(r){return typeof r=="string"?r.length>0:r&&typeof r.offset=="function"},addImportedRules=Xs(),fixLibraryNumbers=Ks(),generateBytecode=ir(),generateJS=Nr(),inferenceMatchResult=ht(),removeProxyRules=kr(),mergeCharacterClasses=jr(),removeUnusedRules=Br(),reportDuplicateImports=Gr(),reportDuplicateLabels=Yr(),reportDuplicateRules=Jr(),reportInfiniteRecursion=Qr(),reportInfiniteRepetition=Zr(),reportUndefinedRules=tn(),reportIncorrectPlucking=rn(),reportUnreachable=cn(),Session=an(),visitor=K(),base64=Qe().base64,compiler={visitor,passes:{prepare:[addImportedRules,reportInfiniteRecursion],check:[reportUndefinedRules,reportDuplicateRules,reportDuplicateLabels,reportInfiniteRepetition,reportIncorrectPlucking,reportDuplicateImports],transform:[fixLibraryNumbers,removeProxyRules,mergeCharacterClasses,removeUnusedRules,inferenceMatchResult],semantic:[reportUnreachable],generate:[generateBytecode,generateJS]},compile:function compile(ast,passes,options){options=options!==void 0?options:{};var defaultStartRules=[ast.rules[0].name];if(options=processOptions(options,{allowedStartRules:defaultStartRules,cache:!1,dependencies:{},exportVar:null,format:"bare",output:"parser",trace:!1}),(options.allowedStartRules===null||options.allowedStartRules===void 0)&&(options.allowedStartRules=defaultStartRules),!Array.isArray(options.allowedStartRules))throw new Error("allowedStartRules must be an array");options.allowedStartRules.length===0&&(options.allowedStartRules=defaultStartRules);var allRules=ast.rules.map(function(r){return r.name}),_iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;if(options.allowedStartRules.some(function(r){return r==="*"}))options.allowedStartRules=allRules;else try{for(var _iterator=options.allowedStartRules[Symbol.iterator](),_step;!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var i=_step.value;if(allRules.indexOf(i)===-1)throw new Error('Unknown start rule "'.concat(i,'"'))}}catch(r){_didIteratorError=!0,_iteratorError=r}finally{try{!_iteratorNormalCompletion&&_iterator.return!=null&&_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}if((options.output==="source-and-map"||options.output==="source-with-inline-map")&&!isSourceMapCapable(options.grammarSource))throw new Error("Must provide grammarSource (as a string or GrammarLocation) in order to generate source maps");var session=new Session(options);switch(Object.keys(passes).forEach(function(r){session.stage=r,session.info("Process stage ".concat(r)),passes[r].forEach(function(t){session.info("Process pass ".concat(r,".").concat(t.name)),t(ast,options,session)}),session.checkErrors()}),options.output){case"parser":return eval(ast.code.toString());case"source":return ast.code.toString();case"source-and-map":return ast.code;case"source-with-inline-map":{if((typeof TextEncoder>"u"?"undefined":_type_of(TextEncoder))>"u")throw new Error("TextEncoder is not supported by this platform");var i=ast.code.toStringWithSourceMap(),n=new TextEncoder,e=base64(n.encode(JSON.stringify(i.map.toJSON())));return i.code+"//# sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(e,`
46
+ `)}case"ast":return ast;default:throw new Error("Invalid output format: "+options.output+".")}}};module.exports=compiler}),Jl=ft(),Xl=Ve(),Ql=he(),Kl=un(),Zl=ts(),_es=es(),ea=_es.version,ta=["break","case","catch","class","const","continue","debugger","default","delete","do","else","export","extends","finally","for","function","if","import","in","instanceof","new","return","super","switch","this","throw","try","typeof","var","void","while","with","null","true","false","enum","implements","interface","let","package","private","protected","public","static","yield","await","arguments","eval"],Ke={VERSION:ea,RESERVED_WORDS:ta,GrammarError:Jl,GrammarLocation:Xl,parser:Zl,compiler:Kl,generate:function r(r,t){t=t!==void 0?t:{};function u(d){var s={};return Object.keys(d).forEach(function(c){s[c]=d[c].slice()}),s}var p="plugins"in t?t.plugins:[],l={parser:Ke.parser,passes:u(Ke.compiler.passes),reservedWords:Ke.RESERVED_WORDS.slice()};p.forEach(function(d){d.use(l,t)}),Array.isArray(r)||(r=[{source:t.grammarSource,text:r}]);var f=Ql.combine(r.map(function(d){var s=d.source,c=d.text;return l.parser.parse(c,{grammarSource:s,reservedWords:l.reservedWords})}));return Ke.compiler.compile(f,l.passes,t)}};return module.exports=Ke,__exports!=exports&&(module.exports=exports),module.exports})});import{useRef as Sr,useCallback as Lt,useState as Wt,useEffect as aa,useMemo as ua}from"react";function Nt(r){let t=r?.__str;return Array.isArray(t)?t:void 0}function gr(r){return new Array(r).fill(NaN)}function Xt(r,t){let u=gr(t),p=r.slice(0,t).map(l=>l??null);for(;p.length<t;)p.push(null);return u.__str=p,u}function Vr(r,t){return r?.[t]??null}function Co(r){return Nt(r)?r.slice():r}var Ua=l1(Ka());var Ha=`{
47
+ // VnScript Grammar \u2014 PEG.js
48
+ // Phase A subset: study/indicator/strategy, plot, plotshape, hline, if/else, for, input(), 10+ ta.* functions
49
+ // Error recovery via expected() + structured location() on all nodes
50
+ //
51
+ // W-01 (PINE Stage 3): grammar tra ve DONG PHANG, khong long khoa.
52
+ //
53
+ // Do do la chu dich, khong phai tai nang:
54
+ // * \`ifBlock = Statement+\` nuot TAT CA statement con lai cua script vao khoi,
55
+ // vi \`Statement\` khong biet "het khoi o dau". Do o @ 216a8cd: script
56
+ // \`if c\` + \`x = 1\` + \`else\` + \`x = -1\` + \`plot(x)\` cho \`output = {}\`
57
+ // va \`errors = []\` \u2014 ve ra KHONG co gi va KHONG bao loi.
58
+ // * Muon long trong grammar thi can truyen "do thu le cua khoi cha" cho moi
59
+ // rule, ma peggy 5 KHONG co rule co tham so (\`Block$(ind)\` khong hop le \u2014
60
+ // xem \`node_modules/peggy/lib/parser.js:2083\`), va action trong PEG luon
61
+ // chay SAU khi match nen khong gan bien truoc khi parse khoi duoc.
62
+ // * Bang chung chay lai duoc: \`scripts/probe-grammar-caps.mjs\`.
63
+ //
64
+ // Vay grammar o day chi tach DONG: moi rule ket thuc bang \`_EOL\` de KHONG an
65
+ // newline, nho do \`indent\` cua dong con nguyen cho \`buildBlocks\`.
66
+ // (\`pineBlocks.ts\` la tang long khoi.)
67
+ //
68
+ // \u26A0\uFE0F \`Script\` phai la rule DINH NGHIA DAU TIEN (sau initializer). peggy chay
69
+ // \`parse()\` tu rule dau tien, va \`startRule\` KHONG c\u1EE9u \u0111\u01B0\u1EE3c rule sau \u2014 thu
70
+ // cho ra \`Can't start parsing from rule "X"\`. Do la ly do \`_EOL\` (va moi
71
+ // rule phu tro khac) deu nam SAU \`Script\`.
72
+ }
73
+
74
+ // \`Script\` phai la rule DAU TIEN. \`_EOL\` dinh nghia sau no.
75
+ Script
76
+ = s:SourceLine* {
77
+ return s
78
+ }
79
+
80
+ // Het dong: xoa khoang trang cuoi dong roi newline (hoac EOF). KHONG gom
81
+ // \`[ \\t]*\` phia truoc newline vao \`indent\` cua dong sau \u2014 do la thu le
82
+ // cua dong sau, thuoc ve \`SourceLine\` tiep theo.
83
+ _EOL
84
+ = [ \\t]* ( "\\r"? "\\n" / !. )
85
+
86
+ // \`SourceLine\` GIU \`indent\`. Moi alternative cua \`Statement\` DA ket thuc bang
87
+ // \`_EOL\`, nen \`SourceLine\` khong them \`_EOL\` lan nua \u2014 neu them, no se doi
88
+ // newline thu hai ngay dau dong sau (do la loi da gap).
89
+ //
90
+ // Nh\xE1nh 3 (d\xF2ng tr\u1ED1ng) fix 2026-10-11 \u2014 xem pineDefaultTemplate.test.ts.
91
+ // Ph\u1EA3i \u0103n newline: _EOL kh\u1EDBp zero-width \u1EDF EOF n\xEAn peggy t\u1EEB ch\u1ED1i grammar l\xFAc generate.
92
+ SourceLine
93
+ = ws:$([ \\t]*) node:(CommentLine / Statement) {
94
+ return { indent: ws.length, node: node }
95
+ }
96
+ / ws:$([ \\t]*) CommentLineRest {
97
+ return { indent: ws.length, node: null }
98
+ }
99
+ / ws:$([ \\t]*) "\\r"? "\\n" {
100
+ return { indent: ws.length, node: null }
101
+ }
102
+
103
+ // Dong comment: ca noi dung bo qua, node = null nen \`buildBlocks\` bo qua.
104
+ CommentLine
105
+ = "//" [^\\n]* !. { return null }
106
+
107
+ CommentLineRest
108
+ = "//" [^\\n]* ( "\\r"? "\\n" / !. )
109
+
110
+ Statement
111
+ = s:studyDecl _EOL { return s }
112
+ / s:inputCall _EOL { return s }
113
+ / s:funcDeclBlock { return s }
114
+ / s:funcDecl _EOL { return s }
115
+ / s:varDecl _EOL { return s }
116
+ / s:plotCall _EOL { return s }
117
+ / s:plotshapeCall _EOL { return s }
118
+ / s:hlineCall _EOL { return s }
119
+ / s:alertconditionCall _EOL { return s }
120
+ / s:assignment _EOL { return s }
121
+ / s:tupleAssignment _EOL { return s }
122
+ / s:ifStatement _EOL { return s }
123
+ / s:forStatement _EOL { return s }
124
+ / s:whileStatement _EOL { return s }
125
+ / s:elseBlock _EOL { return s }
126
+
127
+ comment
128
+ = "//" [^\\n]* "\\n"? { return null }
129
+
130
+
131
+ // W1.2: Pine v5 doi tu "study" thanh "indicator" va them "strategy".
132
+ // Nguoi dung quen TradingView se viet indicator(...) \u2014 neu grammar chi nhan
133
+ // "study" thi script hop le bi tu choi. Ca ba tu khoa nhan chung mot shape.
134
+ studyDecl
135
+ = kw:("indicator" / "strategy" / "study") _ "(" _ title:stringLiteral _ rest:( _ "," _ "overlay" _ "=" _ overlayVal:boolLiteral { return overlayVal } )? _ ")" {
136
+ return { type: "StudyDeclaration", kind: kw, name: title, overlay: rest ?? false, loc: location() }
137
+ }
138
+
139
+ // W1.2: Pine v5 co "var"/"const" truoc khai bao bien. To khoa "while" va "not"
140
+ // VAN chua ho tro \u2014 da bo khoi Monaco de tranh to mau mot tu khoa parser se tu choi.
141
+ //
142
+ // \u26A0 PINE-01 (2026-10-12): \`var\` nay **tu choi san** thay vi "parse xong roi im lang
143
+ // tinh sai". Do evaluator chay vector tren TOAN bo series (xem \`compile.ts\`
144
+ // \`executeNodes\`), nen \`x := x + close\` tinh \`close\` o moi bar cung mot luc \u2014 KHONG
145
+ // doc gia tri \`x\` o bar truoc. Do la het \`var x = 0\` + \`x := x + close\` cho
146
+ // [10,20,30,40,50,60] trong khi Pine that cho [10,30,60,100,150,210], va
147
+ // \`errors = []\`. Do la dung lop "sai ma im lang" ma repo nay da 3 lan patch
148
+ // (S4-B01/S4-B05/S4-B09) \u2014 nen \`var\` phai fail-closed cho den khi co
149
+ // evaluator chay TUAN TU (noi lon cua Stage 3), khong phai "them guard chong guard".
150
+ //
151
+ // Loi nam O DAY chu khong phai trong \`compile.ts\`: ca \`compile()\` LAN worker
152
+ // (\`pine.worker.ts:47\`) deu goi \`p.parse\`, nen mot loi nem tu action nay se co
153
+ // \`location()\` va ca hai duong deu bao dung dong \u2014 truoc day mot guard chi o
154
+ // \`compile()\` se bi worker bo qua (dung lop A9/F1 da gap 3 lan).
155
+ varDecl
156
+ = declKind:("var" / "const")? _ name:identifier _ op:assignOp _ expr:expression {
157
+ if (declKind === "var") {
158
+ const e = new Error("var is not supported yet: Pine's var keeps its value across bars, but this engine evaluates every statement across the whole series at once. Drop the var keyword, or wait for sequential evaluation.")
159
+ e.location = location()
160
+ throw e
161
+ }
162
+ return { type: "Assignment", declKind: declKind ?? null, kind: op, variable: name, expression: expr, loc: location() }
163
+ }
164
+
165
+ // W-01: \`=\` khai bao, \`:=\` gan lai. \`:=\` truoc day bi tu choi trong khi
166
+ // moi gan lai ma khong bao gi \u2014 mot script viet theo thoi quen Viet Nam
167
+ // (TradingView) chi can mot dau hai cham la chay.
168
+ assignOp
169
+ = ":=" { return "reassign" }
170
+ / "=" { return "assign" }
171
+
172
+ assignment
173
+ = name:identifier _ op:assignOp _ expr:expression {
174
+ return { type: "Assignment", kind: op, variable: name, expression: expr, loc: location() }
175
+ }
176
+
177
+ // W-05: khoi tach gia tri. KHONG phai array literal; day la phep gan nhieu bien
178
+ // tu MOT bieu thuc tra ve nhieu gia tri.
179
+ //
180
+ // Vi sao can: Pine tra \`ta.bb\` ra 3 dai (middle/upper/lower) va \`ta.macd\` ra 3
181
+ // gia tri (macd/signal/hist). Do khong co \`[]\` o tang Statement, cau hinh
182
+ // \`[m, u, l] = ta.bb(close, 20, 2)\` that bang parse error (do: probe
183
+ // \`probe-pine-stage4.mjs\` case S4-01) - ngh\u0129a la nguoi dung Viet Nam viet theo
184
+ // thoi quen TradingView khong chay duoc.
185
+ //
186
+ // KHONG phai \`close[1]\`: \`historyOffset\` nam trong \`primary\` (tang bieu thuc,
187
+ // duoi day ~200 dong), con rule nay nam trong \`Statement\`. Hai tang PEG roi nhau
188
+ // nen khong va cham. R-01 cua plan Stage 3 bao "va cham dau mo ngoac vuong la rui
189
+ // ro so 1" - do la CHAN DOAN SAI; rui ro that la quen them alternative vao
190
+ // \`Statement\`.
191
+ tupleAssignment
192
+ = "[" _ names:tupleNameList _ "]" _ op:assignOp _ expr:expression {
193
+ return { type: "TupleAssignment", kind: op, variables: names, expression: expr, loc: location() }
194
+ }
195
+
196
+ // Danh sach ten ben trong ngoac vuong. \`&"]"\` dam bao danh sach rong khong khop:
197
+ // \`[] = f()\` phai la LOI (khong phai im lang giu 0 bien) - xem AC-1.3.
198
+ tupleNameList
199
+ = &"]" "" { return [] }
200
+ / head:identifier tail:( _ "," _ p:identifier { return p })* { return [head, ...tail] }
201
+
202
+ // W-01: UDF \`f(x) => expr\`. PHAI GAN CUOI danh sach Statement: \`funcDecl\`
203
+ // mo bang \`identifier\` nen no an het moi rule bat dau bang identifier khac
204
+ // (\`study\`, \`plot\`, ...) neu thu truoc no.
205
+ funcDecl
206
+ = name:identifier _ "(" _ params:paramList _ ")" _ "=>" _ body:expression {
207
+ return { type: "FuncDecl", name: name, params: params, body: body, loc: location() }
208
+ }
209
+
210
+ // W-08: than KHOI. \`f(x) =>\` roi xuong dong, cac dong thut le sau la than.
211
+ //
212
+ // CANH BAO THAT, DA DO (AC-4.13b / R-01 cua plan Stage 4):
213
+ // \`f(x) =>\` + newline + \` x * 2\` (bieu thuc o DONG KE TIEP) DA CHAY DUOC tu
214
+ // truoc W-08, vi \`_\` la whitespace va no AN newline ngay sau \`=>\`. Neu khoi thi
215
+ // rule nay that, no se AN dang bieu thuc do va pha script dang chay.
216
+ //
217
+ // Dap ung la lookahead \`&StatementBodyFirstLine\`: rule khoi chi duoc dung khi
218
+ // dong dau tien cua than that su la mot Statement HOP LE. \`x*2\` khong phai
219
+ // Statement (khong co dau bang hay \`:=\` sau \`x\`) nen lookahead that, PEG
220
+ // fallback ve dang bieu thuc. Rule khoi DONG TRUOC, va dong dau tien phai parse
221
+ // duoc truoc khi rule khoi duoc chap nhan.
222
+ //
223
+ // V\xEC sao \`"=>" _EOL\` ch\u1EE9 kh\xF4ng ph\u1EA3i \`"=>" _ _EOL\`: \`_\` l\xE0 whitespace v\xE0 n\xF3
224
+ // \u0102N newline, n\xEAn \`_EOL\` s\u1EBD kh\xF4ng bao gi\u1EDD kh\u1EDBp. \u0110\xE2y l\xE0 l\xFD do r\u1EA5t nh\u1ECF nh\u01B0ng l\u1EA1i
225
+ // l\xE0 th\u1EE9 gian nh\u1EA5t \u0111\u1EC3 l\xE0m rule n\xE0y ch\u1EBFt im l\u1EB7ng.
226
+ //
227
+ // \u26A0 B\u1EAAY C\u1EE6A TEMPLATE LITERAL, \u0111\xE3 tr\xFAng tr\u1EF1c ti\u1EBFp m\u1ED9t l\u1EA7n trong ch\xEDnh W-08 n\xE0y:
228
+ // \`GRAMMAR_SOURCE\` l\xE0 template literal, n\xEAn m\u1ED9t chu\u1ED7i BACKSLASH + T/R/N trong
229
+ // COMMENT l\xE0 ESCAPE TH\u1EACT v\xE0 s\u1EBD c\u1EAFt ngang d\xF2ng. Comment vi\u1EBFt sai khi\u1EBFn PEGGY b\xE1o
230
+ // l\u1ED7i t\u1EA1i m\u1ED9t D\xD2NG C\u1EE6A CH\xCDNH GRAMMAR, v\xE0 **m\u1ECDi** l\u1EC7nh \u0111\u1EC1u \u0111\u1ECF \u2014 k\u1EC3 c\u1EA3 l\u1EC7nh r\u1ED7ng.
231
+ // \u0110\xFAng \u0111\u1EBFn m\u1EE9c ng\u01B0\u1EDDi \u0111\u1ECDc comment th\u1EA5y ho\xE0n to\xE0n \u0111\xFAng, ch\u1EC9 c\xF3 compiler m\u1EDBi sai.
232
+ // V\xEC v\u1EADy trong file n\xE0y: comment d\xF9ng \`\\\`\`\` \u0111\u1EC3 hi\u1EC7n backtick (quy \u01B0\u1EDBc s\u1EB5n c\xF3
233
+ // c\u1EE7a file), v\xE0 KH\xD4NG vi\u1EBFt escape backslash trong comment.
234
+ // V\xEC sao alternative n\xE0y KH\xD4NG c\xF3 \`_EOL\` \u1EDF cu\u1ED1i (kh\xE1c m\u1ECDi rule kh\xE1c):
235
+ // \`funcDeclBlock\` \u0111\xE3 T\u1EF0 \u0102N newline ngay sau \`=>\` b\xEAn trong n\xF3. N\u1EBFu th\xEAm \`_EOL\` \u1EDF
236
+ // \u0111\xE2y th\xEC parser ph\u1EA3i \u0111\xF2i m\u1ED9t newline TH\u1EE8 HAI ngay tr\u01B0\u1EDBc d\xF2ng \u0111\u1EA7u c\u1EE7a th\xE2n, m\xE0
237
+ // d\xF2ng \u0111\xF3 l\xE0 \` plot(x)\` \u2014 kh\xF4ng c\xF3 newline \u21D2 rule ch\u1EBFt, v\xE0 m\u1ECDi UDF th\xE2n kh\u1ED1i \u0111\u1EC1u
238
+ // r\u01A1i v\u1EC1 d\u1EA1ng bi\u1EC3u th\u1EE9c r\u1ED3i b\xE1o parse error. \u0110\xE3 tr\xFAng l\u1ED7i n\xE0y m\u1ED9t l\u1EA7n.
239
+ // \u26A0 \`&\` phai BO C\u1EA2 C\xC1P TRONG NGO\u1EB6C: \`&A B\` trong PEGGY l\xE0 \`(&A) B\` \u2014 predicate
240
+ // ch\u1EC9 ph\u1EE7 \`A\`, c\xF2n \`B\` l\xE0 ph\u1EA7n t\u1EED B\u1EAET BU\u1ED8C ph\u1EA3i kh\u1EDBp t\u1EA1i v\u1ECB tr\xED CH\u01AFA consume.
241
+ // V\u1EDBi \`&[ ]+ StatementStart\` th\xEC \`StatementStart\` ph\u1EA3i kh\u1EDBp ngay tr\u01B0\u1EDBc kho\u1EA3ng
242
+ // tr\u1EAFng \u21D2 lu\xF4n h\u1ECFng, m\u1ECDi th\xE2n kh\u1ED1i r\u01A1i v\u1EC1 d\u1EA1ng bi\u1EC3u th\u1EE9c. \u0110o l\u1EA1i b\u1EB1ng grammar
243
+ // peggy t\u1ED1i gi\u1EA3n tr\u01B0\u1EDBc khi tin.
244
+ funcDeclBlock
245
+ = name:identifier _ "(" _ params:paramList _ ")" _ "=>" _EOL &([ \\t]+ StatementStart) {
246
+ return { type: "FuncDeclBlock", name: name, params: params, body: [], loc: location() }
247
+ }
248
+
249
+ // Token mo dau mot STATEMENT \u2014 dung lam lookahead cho \`funcDeclBlock\`.
250
+ //
251
+ // V\xEC sao KH\xD4NG d\xF9ng \`&\` v\u1EDBi ch\xEDnh rule \`Statement\`: \`expression\` trong grammar
252
+ // nay \u0102N newline (do \`_\` l\xE0 whitespace), n\xEAn \`Statement\` th\u1EED parse \`if a > 1\`
253
+ // r\u1ED3i nu\u1ED1t lu\xF4n \`\\n \` tr\u01B0\u1EDBc khi va \`plot(a)\` v\xE0 H\u1ECENG \u2014 lookahead fail d\xF9
254
+ // d\xF2ng \u0111\xF3 l\xE0 statement h\u1EE3p l\u1EC7. \u0110o \u0111\u01B0\u1EE3c: \`StatementBodyFirstLine\` kh\u1EDBp
255
+ // \` plot(x)\` nh\u01B0ng KH\xD4NG kh\u1EDBp \` if a > 1\\n plot(a)\`.
256
+ //
257
+ // N\xEAn ta li\u1EC7t k\xEA \u0111\xFAng c\xE1c token m\u1EDF \u0111\u1EA7u statement thay v\xEC parse statement:
258
+ // * t\u1EEB kho\xE1 / l\u1EC7nh: if, for, while, plot, plotshape, hline, alertcondition,
259
+ // input, var, const
260
+ // * \`[\` \u2014 m\u1EDF \u0111\u1EA7u tuple destructuring (W-05)
261
+ // * \`identifier\` theo sau \`=\` ho\u1EB7c \`:=\` \u2014 \u0111\xE2y l\xE0 ph\xE9p g\xE1n, KH\xD4NG ph\u1EA3i
262
+ // bi\u1EC3u th\u1EE9c. Ch\xEDnh \u0111i\u1EC1u n\xE0y ph\xE2n \` x = 1\` (statement, v\xE0o kho\xE1) v\u1EDBi
263
+ // \` x * 2\` (bi\u1EC3u th\u1EE9c, ph\u1EA3i r\u01A1i v\u1EC1 d\u1EA1ng bi\u1EC3u th\u1EE9c \u2014 AC-4.13b).
264
+ StatementStart
265
+ = ("if" / "for" / "while" / "plot" / "plotshape" / "hline" / "alertcondition" / "input" / "var" / "const" / "[")
266
+ / identifier _ ":" "="
267
+ / identifier _ "="
268
+ / identifier _ "(" _ ")" _ "=>"
269
+
270
+ // \`f()\` (khong tham so) va \`f(a)\` / \`f(a, b)\`.
271
+ //
272
+ // \`""\` phai co TIA-NHIN \`")"\` o truoc. Khong co no thi \`""\` luon khop rong
273
+ // o ngay sau \`(\`, roi \`")"\` that tai \`f(a)\`. Do la thu tu PEG bat buoc:
274
+ // khong co lookahead thi khong phan bi duoc "khong co tham so" voi "co tham so".
275
+ paramList
276
+ = &")" "" { return [] }
277
+ / head:identifier tail:( _ "," _ p:identifier { return p })* { return [head, ...tail] }
278
+
279
+ plotCall
280
+ = "plot" _ "(" _ expr:expression _ args:plotArgs? _ ")" {
281
+ return { type: "Plot", expression: expr, title: args?.title ?? "Plot", color: args?.color ?? "#2196F3", loc: location() }
282
+ }
283
+
284
+ plotArgs
285
+ = rest:( "," _ arg:plotArg { return arg })* {
286
+ const r = {}
287
+ for (const a of rest ?? []) Object.assign(r, a)
288
+ return r
289
+ }
290
+
291
+ plotArg
292
+ = "title" _ "=" _ val:stringLiteral { return { title: val } }
293
+ / "color" _ "=" _ val:colorLiteral { return { color: val } }
294
+ // W1.2: chuoi mau la MOT dang hop le (color="#ff9800"). Thieu nhanh nay thi
295
+ // template mac dinh cua PineEditorPanel FAIL parse tai plot() \u2014 da probe thuc te.
296
+ / "color" _ "=" _ val:stringLiteral { return { color: val } }
297
+ / "color" _ "=" _ val:identifier { return { color: val } }
298
+
299
+ plotshapeCall
300
+ = "plotshape" _ "(" _ expr:expression _ rest:plotshapeArgs? _ ")" {
301
+ return {
302
+ type: "PlotShape", expression: expr,
303
+ title: rest?.title ?? "Shape", style: rest?.style ?? "shape.labelup",
304
+ location: rest?.location ?? "location.bottom", color: rest?.color ?? "#4CAF50",
305
+ size: rest?.size ?? "size.small", loc: location()
306
+ }
307
+ }
308
+
309
+ plotshapeArgs
310
+ = rest:( "," _ arg:plotshapeArg { return arg })* {
311
+ const r = {}
312
+ for (const a of rest ?? []) Object.assign(r, a)
313
+ return r
314
+ }
315
+
316
+ plotshapeArg
317
+ = "title" _ "=" _ val:stringLiteral { return { title: val } }
318
+ / "style" _ "=" _ val:identifier { return { style: val } }
319
+ / "location" _ "=" _ val:identifier { return { location: val } }
320
+ / "color" _ "=" _ val:colorLiteral { return { color: val } }
321
+ // W1.2: chuoi mau, cung hop le nhu colorLiteral \u2014 dong nhat voi plotArg.
322
+ / "color" _ "=" _ val:stringLiteral { return { color: val } }
323
+ / "color" _ "=" _ val:identifier { return { color: val } }
324
+ / "size" _ "=" _ val:identifier { return { size: val } }
325
+
326
+ hlineCall
327
+ = "hline" _ "(" _ price:numberLiteral _ rest:hlineArgs? _ ")" {
328
+ return { type: "HLine", price, title: rest?.title ?? "Line", color: rest?.color ?? "#FF9800", loc: location() }
329
+ }
330
+
331
+ hlineArgs
332
+ = rest:( "," _ arg:hlineArg { return arg })* {
333
+ const r = {}
334
+ for (const a of rest ?? []) Object.assign(r, a)
335
+ return r
336
+ }
337
+
338
+ hlineArg
339
+ = "title" _ "=" _ val:stringLiteral { return { title: val } }
340
+ / "color" _ "=" _ val:colorLiteral { return { color: val } }
341
+ / "color" _ "=" _ val:stringLiteral { return { color: val } }
342
+ / "color" _ "=" _ val:identifier { return { color: val } }
343
+
344
+ inputCall
345
+ = name:identifier _ "=" _ "input" _ "(" _ defVal:expression _ rest:inputArgs? _ ")" {
346
+ return { type: "InputDecl", variable: name, defaultValue: defVal, title: rest?.title ?? name, loc: location() }
347
+ }
348
+
349
+ // A9: alertcondition l\xE0 STATEMENT c\u1EE7a Pine, kh\xF4ng ph\u1EA3i h\xE0m \u2014 n\xF3 kh\xF4ng tr\u1EA3 v\u1EC1
350
+ // series \u0111\u1EC3 plot, n\xF3 tuy\xEAn b\u1ED1 m\u1ED9t \u0111i\u1EC1u ki\u1EC7n. \u0110i\u1EC1u ki\u1EC7n \u0111\u01B0\u1EE3c \u0111\xE1nh gi\xE1 th\u1EADt trong
351
+ // executeNodes (compile.ts) v\xE0 tr\u1EA3 v\u1EC1 trong CompileResult.alerts.
352
+ alertconditionCall
353
+ = "alertcondition" _ "(" _ cond:expression _ rest:alertconditionArgs? _ ")" {
354
+ return { type: "AlertCondition", condition: cond, title: rest?.title ?? "Alert", message: rest?.message ?? "", loc: location() }
355
+ }
356
+
357
+ alertconditionArgs
358
+ = rest:( "," _ arg:alertconditionArg { return arg })* {
359
+ const r = {}
360
+ for (const a of rest ?? []) Object.assign(r, a)
361
+ return r
362
+ }
363
+
364
+ alertconditionArg
365
+ = "title" _ "=" _ val:stringLiteral { return { title: val } }
366
+ / "message" _ "=" _ val:stringLiteral { return { message: val } }
367
+
368
+ inputArgs
369
+ = rest:( "," _ arg:inputArg { return arg })* {
370
+ const r = {}
371
+ for (const a of rest ?? []) Object.assign(r, a)
372
+ return r
373
+ }
374
+
375
+ inputArg
376
+ = "title" _ "=" _ val:stringLiteral { return { title: val } }
377
+
378
+ // W-01: \`if\` / \`for\` / \`while\` / \`else\` KHONG con mang khoi. \`buildBlocks\`
379
+ // (\`pineBlocks.ts\`) long khoi theo thu le. \`thenBlock\`/\`body\` se duoc gan khi
380
+ // builder gap dong sau co thu le sau hon.
381
+ ifStatement
382
+ = "if" _ cond:expression {
383
+ return { type: "IfStatement", condition: cond, thenBlock: [], elseBlock: [], loc: location() }
384
+ }
385
+
386
+ forStatement
387
+ = "for" _ name:identifier _ "=" _ start:expression _ "to" _ end:expression {
388
+ return { type: "ForStatement", variable: name, start: start, end: end, body: [], loc: location() }
389
+ }
390
+
391
+ // W-01: \`while\`. \`vnscript-grammar.ts\` truoc day BIEN \`while\` khoi danh sach
392
+ // keyword de tranh to mau mot tu khoa parser se tu choi. Bay parser chap nhan.
393
+ whileStatement
394
+ = "while" _ cond:expression {
395
+ return { type: "WhileStatement", condition: cond, body: [], loc: location() }
396
+ }
397
+
398
+ // \`else\` la DONG RIENG (khong phai con cua \`if\` trong grammar) \u2014 \`buildBlocks\`
399
+ // gop no vao \`elseBlock\` cua khoi \`if\` ngay tren, cung cap thu le.
400
+ elseBlock
401
+ = "else" {
402
+ return { type: "ElseBlock", body: [], loc: location() }
403
+ }
404
+
405
+ expression
406
+ = ternary
407
+
408
+ // W-01: toan tu 3 nhanh. Phai thu TRUOC \`logicalOr\` \u2014 \`comparison\` khong chap
409
+ // nhan \`?\` nen neu thu sau, toan bieu thuc se that tai day.
410
+ ternary
411
+ = cond:logicalOr _ "?" _ whenTrue:expression _ ":" _ whenFalse:expression {
412
+ return { type: "Conditional", condition: cond, whenTrue: whenTrue, whenFalse: whenFalse, loc: location() }
413
+ }
414
+ / logicalOr
415
+
416
+ logicalOr
417
+ = head:logicalAnd tail:( _ "or" _ expr:logicalAnd { return expr })* {
418
+ return tail.reduce((acc, expr) => ({ type: "BinaryExpression", operator: "or", left: acc, right: expr, loc: location() }), head)
419
+ }
420
+
421
+ logicalAnd
422
+ = head:comparison tail:( _ "and" _ expr:comparison { return expr })* {
423
+ return tail.reduce((acc, expr) => ({ type: "BinaryExpression", operator: "and", left: acc, right: expr, loc: location() }), head)
424
+ }
425
+
426
+ comparison
427
+ = head:addition tail:( _ op:compOp _ expr:addition { return { op, expr } })? {
428
+ if (!tail) return head
429
+ return { type: "BinaryExpression", operator: tail.op, left: head, right: tail.expr, loc: location() }
430
+ }
431
+
432
+ compOp
433
+ = ">=" / "<=" / "!=" / "==" / ">" / "<"
434
+
435
+ addition
436
+ = head:multiplication tail:( _ op:addOp _ expr:multiplication { return { op, expr } })* {
437
+ return tail.reduce((acc, el) => ({ type: "BinaryExpression", operator: el.op, left: acc, right: el.expr, loc: location() }), head)
438
+ }
439
+
440
+ addOp
441
+ = "+" / "-"
442
+
443
+ multiplication
444
+ = head:unary tail:( _ op:mulOp _ expr:unary { return { op, expr } })* {
445
+ return tail.reduce((acc, el) => ({ type: "BinaryExpression", operator: el.op, left: acc, right: el.expr, loc: location() }), head)
446
+ }
447
+
448
+ mulOp
449
+ = "*" / "/"
450
+
451
+ // W-01: \`not\` la TOAN TU, phai thu truoc \`primary\` \u2014 \`identifier\` se an \`not\`
452
+ // roi goi no nhu ham, evaluator bao "Unknown function: not".
453
+ unary
454
+ = "not" _ expr:unary { return { type: "UnaryExpression", operator: "not", argument: expr, loc: location() } }
455
+ / "-" _ expr:unary { return { type: "UnaryExpression", operator: "-", argument: expr, loc: location() } }
456
+ / primary
457
+
458
+ primary
459
+ = functionCall
460
+ / id:identifier off:historyOffset {
461
+ if (!off) return { type: "Identifier", name: id }
462
+ return { type: "HistoryOffset", offset: off.offset, source: { type: "Identifier", name: id }, loc: location() }
463
+ }
464
+ / "(" _ expr:expression _ ")" { return expr }
465
+ // A9: boolLiteral ph\u1EA3i TH\u1EEC TR\u01AF\u1EDAC identifier. identifier kh\u1EDBm "true"/"false"
466
+ // n\xEAn nh\xE1nh boolLiteral \u1EDF d\u01B0\u1EDBi b\u1ECB ch\u1EBFt v\u0129nh vi\u1EC5n: ta.tr(false) b\xE1o
467
+ // "Undefined variable: false" cho d\xF9 boolLiteral c\xF3 trong grammar.
468
+ / bool:boolLiteral { return { type: "Literal", value: bool } }
469
+ // W-01: \`na\` la LITERAL, phai thu TRUOC identifier \u2014 \`identifier\` an \`na\`
470
+ // nen \`plot(na)\` bao "Undefined variable: na". \`!identifierChar\` chan
471
+ // \`nanny\` bi cat thanh \`na\` + "nny".
472
+ / "na" !identifierChar { return { type: "Literal", value: NaN } }
473
+ / id:identifier { return { type: "Identifier", name: id } }
474
+ / num:numberLiteral { return { type: "Literal", value: num } }
475
+ // F1: KH\xD4NG c\u1EA7n d\u1EDDi stringLiteral l\xEAn tr\u01B0\u1EDBc identifier nh\u01B0 boolLiteral. \u0110\xE3
476
+ // probe th\u1EADt (kh\xF4ng suy \u0111o\xE1n): plot('hello') v\xE0 plot("hello") \u0111\u1EC1u parse ra
477
+ // node Literal value "hello". L\xFD do: identifier b\u1EAFt bu\u1ED9c m\u1EDF \u0111\u1EA7u b\u1EB1ng ch\u1EEF c\xE1i
478
+ // ho\u1EB7c g\u1EA1ch d\u01B0\u1EDBi, c\xF2n stringLiteral m\u1EDF \u0111\u1EA7u b\u1EB1ng d\u1EA5u nh\xE1y \u0111\u01A1n ho\u1EB7c nh\xE1y k\xE9p.
479
+ // Hai t\u1EADp k\xFD t\u1EF1 \u0111\u1EA7u r\u1EDDi nhau n\xEAn kh\xF4ng th\u1EC3 nu\u1ED1t nhau. Nh\xE1nh chu\u1ED7i \u0111\xE3 lu\xF4n s\u1ED1ng;
480
+ // n\xF3 ch\u1EBFt \u1EDF T\u1EA6NG \u0110\xC1NH GI\xC1 (evalExpr g\u1ECDi parseFloat), kh\xF4ng ph\u1EA3i \u1EDF grammar.
481
+ / str:stringLiteral { return { type: "Literal", value: str } }
482
+
483
+ // W-01: \`close[1]\`, \`ta.sma(close,14)[2]\` \u2014 lich su mot gia tri truoc.
484
+ identifierChar
485
+ = [a-zA-Z0-9_.]
486
+
487
+ functionCall
488
+ = name:identifier _ "(" _ args:argumentList? _ ")" off:historyOffset? {
489
+ const call = { type: "FunctionCall", name: name, arguments: args ?? [], loc: location() }
490
+ if (!off) return call
491
+ return { type: "HistoryOffset", offset: off.offset, source: call, loc: location() }
492
+ }
493
+
494
+ // W-01: lich su. \`numberLiteral\` la \`[0-9]+("."[0-9]+)?\` nen \`[1.5]\` la
495
+ // offset 1.5 (Pine cung vay) chu khong phai \`[1]\` roi \`.5\`.
496
+ historyOffset
497
+ = "[" _ n:numberLiteral _ "]" {
498
+ return { offset: n }
499
+ }
500
+
501
+ argumentList
502
+ = head:expression tail:( _ "," _ expr:expression { return expr })* {
503
+ return [head, ...tail]
504
+ }
505
+
506
+ identifier
507
+ = name:$([a-zA-Z_][a-zA-Z0-9_.]*) { return name }
508
+
509
+ literal
510
+ = numberLiteral
511
+ / stringLiteral
512
+ / boolLiteral
513
+
514
+ numberLiteral
515
+ = value:$([0-9]+("."[0-9]+)?) { return parseFloat(value) }
516
+
517
+ // GR1: escape sequences inside a literal string.
518
+ // Pine v6 reference, Concepts > Strings > Escape sequences:
519
+ // - the backslash is the escape character. Characters that are special in a
520
+ // string definition (a quote, a backslash) become LITERAL when prefixed by
521
+ // a backslash, so an escaped backslash yields a single backslash.
522
+ // - \\n is U+000A and \\t is U+0009; unprefixed n and t stay literal.
523
+ // - "If a backslash applied to a character does not form a supported escape
524
+ // sequence, the character's meaning does not change." The page's own
525
+ // example title begins with a backslash followed by T, and its note says
526
+ // the value also includes the backslash before T while T still appears
527
+ // literally in the displayed text.
528
+ // => an unsupported escape keeps BOTH the backslash and the character.
529
+ // This is also the conservative choice: nothing is silently deleted, and a
530
+ // Windows path or a regex-ish string round-trips intact.
531
+ //
532
+ // PINE_ESCAPES_BEYOND_DOCS: the page names only n and t plus the two characters
533
+ // that were already special. Carriage return and \\uXXXX are NOT documented;
534
+ // they are implemented because the task requires them, and both are additive --
535
+ // a backslash was inert before GR1, so nothing that parsed before changes
536
+ // except by deliberately using one of these two. A script that relies on
537
+ // \\u being LITERAL will diverge from real Pine. Flagged, not assumed away.
538
+ //
539
+ // The one intentional change to previously-parsing input: a lone trailing
540
+ // backslash immediately before the closing quote is now a parse error, because
541
+ // in Pine that backslash escapes the delimiter and the literal never closes.
542
+ stringLiteral
543
+ = "'" chars:sqParts "'" { return chars }
544
+ / '"' chars:dqParts '"' { return chars }
545
+
546
+ sqParts
547
+ = parts:sqChar* { return parts.join("") }
548
+
549
+ dqParts
550
+ = parts:dqChar* { return parts.join("") }
551
+
552
+ // The delimiter is excluded from the plain-char class. PEG repetition does not
553
+ // backtrack, so a class that also matched the closing quote would be eaten by
554
+ // the star and the rule could never terminate. The old rule spelled the same
555
+ // exclusion out as a negated class; this keeps that property explicitly.
556
+ sqChar
557
+ = "\\\\" seq:escape { return seq }
558
+ / ch:[^\\\\'] { return ch }
559
+
560
+ dqChar
561
+ = "\\\\" seq:escape { return seq }
562
+ / ch:[^\\\\"] { return ch }
563
+
564
+ // Ordered choice: a \\u NOT followed by four hex digits fails this whole
565
+ // alternative and falls through to the final catch-all, so it stays literal
566
+ // instead of half-decoding.
567
+ escape
568
+ = "n" { return "\\n" }
569
+ / "t" { return "\\t" }
570
+ / "r" { return "\\r" }
571
+ / "\\\\" { return "\\\\" }
572
+ / "'" { return "'" }
573
+ / '"' { return '"' }
574
+ / "u" hex:$([0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]) { return String.fromCharCode(parseInt(hex, 16)) }
575
+ / ch:. { return "\\\\" + ch }
576
+
577
+ boolLiteral
578
+ = "true" { return true }
579
+ / "false" { return false }
580
+
581
+ colorLiteral
582
+ = "#" chars:$([0-9a-fA-F]+) { return "#" + chars }
583
+
584
+ _ "whitespace"
585
+ = [ \\t\\r\\n]*
586
+ `;var c1=new Set(["IfStatement","ForStatement","WhileStatement","FuncDeclBlock"]),p1=-1;function Ga(r){let t=[],u=[{indent:p1,node:t}],p=null;for(let l of r){if(!l.node)continue;for(;u.length>1&&l.indent<=u[u.length-1].indent;)u.pop();if(l.node.type==="ElseBlock"){let s=p&&p.indent===l.indent?p.stmt:d1(u);if(s){s.elseBlock=l.node.body??[],u.push({indent:l.indent,node:s.elseBlock});continue}throw new $r("`else` without a matching `if`")}if(u[u.length-1].node.push(l.node),p=l.node.type==="IfStatement"?{indent:l.indent,stmt:l.node}:null,c1.has(l.node.type)){let s=[];l.node.type==="IfStatement"?l.node.thenBlock=s:l.node.body=s,u.push({indent:l.indent,node:s})}}return wn(t),t}function d1(r){for(let t=r.length-1;t>=0;t--)for(let u of r[t].node)if(u.type==="IfStatement")return u;return null}function wn(r){for(let t of r)t.type==="IfStatement"&&(Array.isArray(t.elseBlock)||(t.elseBlock=[]),wn(t.elseBlock)),Array.isArray(t.thenBlock)&&wn(t.thenBlock),Array.isArray(t.body)&&wn(t.body)}var $r=class extends Error{line;column;constructor(t,u,p){super(t),this.name="PineBlockError",this.line=u,this.column=p}toCompileError(){return{message:this.message,line:this.line,column:this.column}}};var vo=null;function f1(){return vo||(vo=Ua.default.generate(Ha)),vo}function m1(r){return r.location?{line:r.location.start.line,column:r.location.start.column}:r.line!==void 0?{line:r.line,column:r.column}:{}}function ja(r){let t=[],u=null;try{let l=f1().parse(r);u=Ga(l)}catch(p){if(p instanceof $r)t.push(p.toCompileError());else{let l=m1(p);t.push({message:p.message??"Parse error",...l})}}return{ast:u,errors:t}}var Ya=new Set(["ta.tr","ta.atr","ta.mfi","ta.sar"]);function kt(r,t,u){let p=r.get(t);return p&&p.length>0?p:new Array(u).fill(NaN)}var h1=["open","high","low","close","volume","hl2","hlc3","ohlc4","bar_index"];function za(r){let t=new Map;if(!r){for(let u of h1)t.set(u,[]);return t}return t.set("open",r.open),t.set("high",r.high),t.set("low",r.low),t.set("close",r.close),t.set("volume",r.volume),t.set("hl2",r.close.map((u,p)=>(r.high[p]+r.low[p])/2)),t.set("hlc3",r.close.map((u,p)=>(r.high[p]+r.low[p]+r.close[p])/3)),t.set("ohlc4",r.close.map((u,p)=>(r.open[p]+r.high[p]+r.low[p]+r.close[p])/4)),t.set("bar_index",r.close.map((u,p)=>p)),t}var Xa="#.########",y1=/^([^#0]*)([#0,]*)(?:\.([#0]*))?([^#0]*)$/;function g1(r){let t=y1.exec(r);if(!t)return null;let u=t[4]??"";return{prefix:t[1]??"",intSpec:t[2]??"",fracSpec:t[3]??"",suffix:u,percent:u.endsWith("%")}}function A1(r){let t="";for(let u=0;u<r.length;u++)u>0&&(r.length-u)%3===0&&(t+=","),t+=r[u];return t}function C1(r,t=Xa){if(!Number.isFinite(r))return null;let u=g1(t);if(!u||u.intSpec===""&&u.fracSpec==="")return null;let p=u.fracSpec.length,l=u.percent?r*100:r,f=10**p,d=(l<0?-Math.round(-l*f):Math.round(l*f))/f,s=d<0,c=Math.abs(d),o=Math.floor(c),y=p>0?String(Math.round((c-o)*f)):"";y.length>p&&(y=y.slice(y.length-p)),y=y.padStart(p,"0");let g=BigInt(o).toString(),C=/^0*/.exec(u.intSpec)?.[0].length??0;C>0&&(g=g.padStart(C,"0")),u.intSpec.includes(",")&&(g=A1(g));let F=y;u.fracSpec.includes("0")||(F=y.replace(/0+$/,""));let B=g+(F===""?"":`.${F}`);return`${s?"-":""}${u.prefix}${B}${u.suffix}`}var v1=/^[+-]?(\d+(\.\d+)?|\.\d+)$/;function b1(r){if(!v1.test(r))return null;let t=Number(r);return Number.isFinite(t)?t:null}function Bt(r){return Array.from(r)}function F1(r){return r.replace(/[a-z]/g,t=>String.fromCharCode(t.charCodeAt(0)-32))}function E1(r){return r.replace(/[A-Z]/g,t=>String.fromCharCode(t.charCodeAt(0)+32))}function bo(r,t,u,p){let l=r[t]?.[u];return l===void 0||Number.isNaN(l)?p:Math.trunc(l)}function or(r,t,u,p){return Vr(Nt(r[t]),u)??p}function xn(r,t){return Array.isArray(Nt(r[t]))}function Cr(r,t,u){let p=new Array(t).fill(null);for(let l=0;l<t;l++){let f=r[l];p[l]=f==null?null:u(f,l)}return Xt(p,t)}function Fo(r,t,u){let p=gr(t);for(let l=0;l<t;l++){let f=r[l];if(f==null)continue;let d=u(f,l);d!==null&&(p[l]=d)}return p}function qa(r,t,u){if(t.length===0)return-1;let p=0;for(let l=0;l+t.length<=r.length;l++){let f=!0;for(let d=0;d<t.length;d++)if(r[l+d]!==t[d]){f=!1;break}if(f){if(p===u)return l;p++}}return-1}function Ja(r,t,u){let p=Nt(t[0]),l=Array.isArray(p),f=new Array(u).fill(null);for(let d=0;d<u;d++)f[d]=Vr(p,d);switch(r){case"str.tostring":{if(l)return Xt(f.map(c=>c===null?null:String(c)),u);let d=t[0]??gr(u),s=new Array(u).fill(null);for(let c=0;c<u;c++){let o=d[c];if(o===void 0||Number.isNaN(o))continue;let y=or(t,1,c,null)??Xa;s[c]=C1(o,y)}return Xt(s,u)}case"str.tonumber":return Fo(f,u,d=>b1(d));case"str.upper":return Cr(f,u,F1);case"str.lower":return Cr(f,u,E1);case"str.trim":return Cr(f,u,d=>d.replace(/^\s+/,"").replace(/\s+$/,""));case"str.length":return Fo(f,u,d=>Bt(d).length);case"str.substring":{let d=Array.isArray(t[2])&&t[2].length>0;return Cr(f,u,(s,c)=>{let o=Bt(s),y=bo(t,1,c,0),g=Math.min(Math.max(y,0),o.length),F=!d||Number.isNaN(t[2]?.[c])?o.length:bo(t,2,c,o.length);return F<g?null:o.slice(g,Math.min(F,o.length)).join("")})}case"str.contains":return Eo(f,t,u,(d,s)=>d.includes(s));case"str.startswith":return Eo(f,t,u,(d,s)=>d.startsWith(s));case"str.endswith":return Eo(f,t,u,(d,s)=>d.endsWith(s));case"str.pos":{let d=xn(t,1);return Fo(f,u,(s,c)=>{let o=d?or(t,1,c,null):"";if(o===null||o==="")return 0;let y=qa(Bt(s),Bt(o),0);return y<0?null:y})}case"str.replace":{let d=Array.isArray(t[3]);return Cr(f,u,(s,c)=>{let o=xn(t,1)?or(t,1,c,null):null;if(o===null||o==="")return s;let y=or(t,2,c,null)??"",g=d?bo(t,3,c,0):0,C=Bt(s),F=Bt(o),B=qa(C,F,Math.max(0,g));if(B<0)return s;let b=y===null?"":Bt(y);return[...C.slice(0,B),...b,...C.slice(B+F.length)].join("")})}case"str.replace_all":return Cr(f,u,(d,s)=>{let c=xn(t,1)?or(t,1,s,null):null;if(c===null)return d;let o=or(t,2,s,null)??"",y=Bt(o);if(c===""){let b=[];for(let O of Bt(d))b.push(...y,O);return b.push(...y),b.join("")}let g=Bt(d),C=Bt(c),F=[],B=0;for(;B<g.length;){let b=!0;for(let O=0;O<C.length&&B+O<g.length;O++)if(g[B+O]!==C[O]){b=!1;break}b?(F.push(...y),B+=C.length):(F.push(g[B]),B++)}return F.join("")});default:throw new Error(`Unknown function: ${r}`)}}function Eo(r,t,u,p){let l=xn(t,1),f=gr(u);for(let d=0;d<u;d++){let s=r[d];if(s==null)continue;let c=l?or(t,1,d,null):"";c!==null&&(f[d]=p(s,c)?1:0)}return f}var kn=["str.tostring","str.tonumber","str.upper","str.lower","str.trim","str.length","str.substring","str.contains","str.startswith","str.endswith","str.pos","str.replace","str.replace_all"],D1=new Set(["+","==","!="]);function Za(r,t,u,p){if(!D1.has(t))return null;let l=Nt(r),f=Nt(u);if(!l&&!f)return null;let d=new Array(p).fill(null);for(let c=0;c<p;c++){let o=l?Vr(l,c):null,y=f?Vr(f,c):null;o===null||y===null||(t==="+"?d[c]=o+y:d[c]=o===y?t==="=="?"1":"0":t==="=="?"0":"1")}if(t==="+")return Xt(d,p);let s=gr(p);for(let c=0;c<p;c++)d[c]!==null&&(s[c]=d[c]==="1"?1:0);return s}function Qa(r,t,u){let p=new Array(u).fill(NaN);if(t>u)return p;let l=0;for(let d=0;d<t;d++)l+=r[d]??NaN;let f=l/t;p[t-1]=f;for(let d=t;d<u;d++)f=f+(r[d]-f)/t,p[d]=f;return p}function eu(r,t,u,p,l,f,d){let s=new Array(d).fill(NaN);if(d<2)return s;let c=u[1]>u[0],o=p,y=c?r[0]:t[0],g=c?t[0]:r[0];s[0]=g;for(let C=1;C<d;C++){let F=g;g=F+o*(y-F),c?(g=Math.min(g,t[C-1]),C>=2&&(g=Math.min(g,t[C-2])),t[C]<g?(c=!1,g=y,y=t[C],o=p):r[C]>y&&(y=r[C],o=Math.min(o+l,f))):(g=Math.max(g,r[C-1]),C>=2&&(g=Math.max(g,r[C-2])),r[C]>g?(c=!0,g=y,y=r[C],o=p):t[C]<y&&(y=t[C],o=Math.min(o+l,f))),s[C]=g}return s}var _n=1e3,Pn=1e4,Rn=100;function tu(r,t,u,p,l){let f=t[0];if(t.length<p)throw new Error(`${r} requires at least ${p} arguments (got ${t.length})`);if(f.length===0)return[];for(let s=1;s<t.length;s++){let c=t[s];if(c.length!==f.length)throw new Error(`${r}: argument ${s+1} has length ${c.length} but argument 1 has length ${f.length}. Series of different lengths cannot be compared element-wise \u2014 refusing to guess.`)}let d=new Array(u).fill(NaN);for(let s=0;s<u;s++){let c=f[s];if(isNaN(c))continue;let o=c;for(let y=1;y<t.length;y++){let g=t[y][s];if(o=isNaN(g)?NaN:l(o,g),isNaN(o))break}d[s]=o}return d}function S1(r,t,u,p){if(u.length<2)throw new Error(`${r} requires an exponent: ${r}(source, exponent)`);let l=u[1];if(t.length===0)return[];if(l.length!==t.length)throw new Error(`${r}: exponent has length ${l.length} but source has length ${t.length}.`);let f=new Array(p).fill(NaN);for(let d=0;d<p;d++){let s=t[d],c=l[d];f[d]=isNaN(s)||isNaN(c)?NaN:Math.pow(s,c)}return f}function ru(r,t,u,p){let l=Za(r,t,u,p);return l||r.map((f,d)=>{if(isNaN(f)||isNaN(u[d]))return NaN;switch(t){case"+":return f+u[d];case"-":return f-u[d];case"*":return f*u[d];case"/":return u[d]!==0?f/u[d]:NaN;case">":return f>u[d]?1:0;case"<":return f<u[d]?1:0;case">=":return f>=u[d]?1:0;case"<=":return f<=u[d]?1:0;case"==":return f===u[d]?1:0;case"!=":return f!==u[d]?1:0;case"and":return f!==0&&u[d]!==0?1:0;case"or":return f!==0||u[d]!==0?1:0;default:return NaN}})}function ze(r,t,u,p){if(r.startsWith("str."))return Ja(r,t,u);let l=t[0];if(!l&&!Ya.has(r))throw new Error(`Function ${r} requires at least 1 argument`);switch(r){case"ta.sma":{let f=Math.max(1,Math.round(t[1]?.[0]??14)),d=new Array(u).fill(NaN);for(let s=f-1;s<u;s++){let c=0;for(let o=0;o<f;o++)c+=l[s-o];d[s]=c/f}return d}case"ta.ema":{let f=Math.max(1,Math.round(t[1]?.[0]??14)),d=new Array(u).fill(NaN),s=2/(f+1);d[0]=l[0];for(let c=1;c<u;c++)d[c]=s*l[c]+(1-s)*d[c-1];return d}case"ta.rsi":{let f=Math.max(1,Math.round(t[1]?.[0]??14)),d=new Array(u).fill(NaN);if(u===0||f>u)return d;let s=0,c=0;d[0]=50;for(let o=1;o<u;o++){let y=(l[o]??0)-(l[o-1]??0),g=Math.max(y,0),C=Math.max(-y,0);if(o<=f){s+=g,c+=C;let F=Math.min(o,f),B=s/F,b=c/F;d[o]=b===0?100:100-100/(1+B/b);continue}s=(s*(f-1)+g)/f,c=(c*(f-1)+C)/f,d[o]=c===0?100:100-100/(1+s/c)}return d}case"ta.bb":{let f=Math.max(1,Math.round(t[1]?.[0]??20)),d=t[2]?.[0]??2,s=ze("ta.sma",[l,new Array(u).fill(f)],u,p),c=new Array(u).fill(NaN),o=new Array(u).fill(NaN);for(let y=f-1;y<u;y++){let g=0;for(let F=0;F<f;F++)g+=Math.pow(l[y-F]-s[y],2);let C=Math.sqrt(g/f);c[y]=s[y]+d*C,o[y]=s[y]-d*C}return c}case"ta.stoch":{let f=Math.max(1,Math.round(t[1]?.[0]??14)),d=Math.max(1,Math.round(t[2]?.[0]??3)),s=new Array(u).fill(NaN);for(let c=f-1;c<u;c++){let o=-1/0,y=1/0;for(let g=0;g<f;g++){let C=c-g;l[C]>o&&(o=l[C]),l[C]<y&&(y=l[C])}s[c]=o===y?50:(l[c]-y)/(o-y)*100}return ze("ta.sma",[s,new Array(u).fill(d)],u,p)}case"ta.macd":{let f=Math.max(1,Math.round(t[1]?.[0]??12)),d=Math.max(1,Math.round(t[2]?.[0]??26)),s=Math.max(1,Math.round(t[3]?.[0]??9)),c=ze("ta.ema",[l,new Array(u).fill(f)],u,p),o=ze("ta.ema",[l,new Array(u).fill(d)],u,p);return c.map((g,C)=>isNaN(g)||isNaN(o[C])?NaN:g-o[C])}case"ta.wma":{let f=Math.max(1,Math.round(t[1]?.[0]??14)),d=new Array(u).fill(NaN),s=f*(f+1)/2;for(let c=f-1;c<u;c++){let o=0;for(let y=0;y<f;y++)o+=l[c-y]*(f-y);d[c]=o/s}return d}case"ta.crossover":{let f=t[0],d=t[1],s=new Array(u).fill(0);for(let c=1;c<u;c++)s[c]=f[c-1]<=d[c-1]&&f[c]>d[c]?1:0;return s}case"ta.crossunder":{let f=t[0],d=t[1],s=new Array(u).fill(0);for(let c=1;c<u;c++)s[c]=f[c-1]>=d[c-1]&&f[c]<d[c]?1:0;return s}case"ta.highest":{let f=Math.max(1,Math.round(t[1]?.[0]??10)),d=new Array(u).fill(NaN);for(let s=f-1;s<u;s++){let c=-1/0;for(let o=0;o<f;o++)l[s-o]>c&&(c=l[s-o]);d[s]=c}return d}case"ta.lowest":{let f=Math.max(1,Math.round(t[1]?.[0]??10)),d=new Array(u).fill(NaN);for(let s=f-1;s<u;s++){let c=1/0;for(let o=0;o<f;o++)l[s-o]<c&&(c=l[s-o]);d[s]=c}return d}case"ta.tr":{let f=kt(p,"high",u),d=kt(p,"low",u),s=kt(p,"close",u),c=(t[0]?.[0]??1)!==0,o=new Array(u).fill(NaN);for(let y=0;y<u;y++){if(y===0){o[y]=c?f[0]-d[0]:NaN;continue}o[y]=Math.max(f[y]-d[y],Math.abs(f[y]-s[y-1]),Math.abs(d[y]-s[y-1]))}return o}case"ta.atr":{let f=Math.max(1,Math.round(t[0]?.[0]??14));return Qa(ze("ta.tr",[new Array(u).fill(1)],u,p),f,u)}case"ta.mfi":{let f=Math.max(1,Math.round(t[0]?.[0]??14)),d=kt(p,"hlc3",u),s=kt(p,"volume",u),c=new Array(u).fill(NaN);for(let o=f-1;o<u;o++){let y=0,g=0;for(let C=o-f+1;C<=o;C++){let F=d[C]-d[C-1];F>0?y+=d[C]*s[C]:F<0&&(g+=d[C]*s[C])}c[o]=g===0?y>0?100:NaN:100-100/(1+y/g)}return c}case"ta.vwap":{let f=kt(p,"volume",u),d=new Array(u).fill(NaN),s=0,c=0;for(let o=0;o<u;o++)s+=(l[o]??NaN)*f[o],c+=f[o],d[o]=c!==0?s/c:NaN;return d}case"ta.sar":return eu(kt(p,"high",u),kt(p,"low",u),kt(p,"close",u),t[0]?.[0]??.02,t[1]?.[0]??.02,t[2]?.[0]??.2,u);case"ta.stdev":{let f=Math.max(1,Math.round(t[1]?.[0]??14)),d=ze("ta.sma",[l,new Array(u).fill(f)],u,p),s=new Array(u).fill(NaN);for(let c=f-1;c<u;c++){let o=0;for(let y=0;y<f;y++)o+=Math.pow(l[c-y]-d[c],2);s[c]=Math.sqrt(o/f)}return s}case"ta.dev":{let f=Math.max(1,Math.round(t[1]?.[0]??14)),d=ze("ta.sma",[l,new Array(u).fill(f)],u,p),s=new Array(u).fill(NaN);for(let c=f-1;c<u;c++){let o=0;for(let y=0;y<f;y++)o+=Math.abs(l[c-y]-d[c]);s[c]=o/f}return s}case"ta.cci":{let f=Math.max(1,Math.round(t[1]?.[0]??20)),d=new Array(u).fill(f),s=ze("ta.sma",[l,d],u,p),c=ze("ta.dev",[l,d],u,p),o=new Array(u).fill(NaN);for(let y=0;y<u;y++){let g=.015*c[y];o[y]=g!==0?(l[y]-s[y])/g:NaN}return o}case"ta.trima":{let f=Math.max(1,Math.round(t[1]?.[0]??14)),d=Math.ceil((f+1)/2),s=ze("ta.sma",[l,new Array(u).fill(d)],u,p);return ze("ta.sma",[s,new Array(u).fill(d)],u,p)}case"ta.mom":{let f=Math.max(1,Math.round(t[1]?.[0]??1)),d=new Array(u).fill(NaN);for(let s=f;s<u;s++)d[s]=l[s]-l[s-f];return d}case"ta.change":{let f=new Array(u).fill(NaN);for(let d=1;d<u;d++)f[d]=l[d]-l[d-1];return f}case"ta.cum":{let f=new Array(u).fill(NaN),d=0;for(let s=0;s<u;s++)d+=l[s],f[s]=d;return f}case"ta.cross":{let f=l,d=t[1]??[],s=new Array(u).fill(0);for(let c=1;c<u;c++){let o=f[c-1]<=d[c-1]&&f[c]>d[c],y=f[c-1]>=d[c-1]&&f[c]<d[c];s[c]=o||y?1:0}return s}case"abs":case"math.abs":return l.map(f=>Math.abs(f));case"max":case"math.max":return tu(r,t,u,t.length,Math.max);case"min":case"math.min":return tu(r,t,u,t.length,Math.min);case"floor":case"math.floor":return l.map(f=>Math.floor(f));case"round":case"math.round":return l.map(f=>Math.round(f));case"log":case"math.log":return l.map(f=>f>0?Math.log(f):NaN);case"pow":case"math.pow":return S1(r,l,t,u);case"sqrt":case"math.sqrt":return l.map(f=>f>=0?Math.sqrt(f):NaN);case"math.ceil":return l.map(f=>Math.ceil(f));case"math.sign":return l.map(f=>isNaN(f)?NaN:Math.sign(f));case"math.exp":return l.map(f=>Math.exp(f));case"math.log10":return l.map(f=>f>0?Math.log10(f):NaN);case"math.todegrees":return l.map(f=>f*180/Math.PI);case"math.toradians":return l.map(f=>f*Math.PI/180);case"math.sum":{let f=new Array(u).fill(NaN),d=0;for(let s=0;s<u;s++)d+=l[s],f[s]=d;return f}case"math.avg":{let f=Math.max(1,Math.round(t[1]?.[0]??14));return ze("ta.sma",[l,new Array(u).fill(f)],u,p)}case"math.round_to_mintick":{let f=t[1]?.[0]??1;return f>0?l.map(d=>isNaN(d)?NaN:Math.round(d/f)*f):new Array(u).fill(NaN)}case"nz":{let f=t[1]?.[0]??0,d=new Array(u).fill(NaN);for(let s=0;s<u;s++){let c=l[s];c!==void 0&&(d[s]=Number.isNaN(c)?f:c)}return d}case"fixnan":{let f=new Array(u).fill(NaN),d=NaN;for(let s=0;s<u;s++){let c=l[s];if(c===void 0||Number.isNaN(c)){f[s]=d;continue}d=c,f[s]=c}return f}default:throw new Error(`Unknown function: ${r}`)}}var Do=new Set(["ta.bb","ta.macd"]);function So(r,t,u,p){if(!Do.has(r))return[ze(r,t,u,p)];switch(r){case"ta.bb":return B1(t,u,p);case"ta.macd":return w1(t,u,p);default:throw new Error(`Unknown multi-value function: ${r}`)}}function B1(r,t,u){let p=r[0],l=Math.max(1,Math.round(r[1]?.[0]??20)),f=r[2]?.[0]??2,d=ze("ta.sma",[p,new Array(t).fill(l)],t,u),s=new Array(t).fill(NaN),c=new Array(t).fill(NaN);for(let o=l-1;o<t;o++){let y=0;for(let C=0;C<l;C++)y+=Math.pow(p[o-C]-d[o],2);let g=Math.sqrt(y/l);s[o]=d[o]+f*g,c[o]=d[o]-f*g}return[d,s,c]}function w1(r,t,u){let p=r[0],l=Math.max(1,Math.round(r[1]?.[0]??12)),f=Math.max(1,Math.round(r[2]?.[0]??26)),d=Math.max(1,Math.round(r[3]?.[0]??9)),s=ze("ta.ema",[p,new Array(t).fill(l)],t,u),c=ze("ta.ema",[p,new Array(t).fill(f)],t,u),o=s.map((C,F)=>isNaN(C)||isNaN(c[F])?NaN:C-c[F]),y=ze("ta.ema",[o,new Array(t).fill(d)],t,u),g=o.map((C,F)=>isNaN(C)||isNaN(y[F])?NaN:C-y[F]);return[o,y,g]}function x1(r,t,u,p,l,f,d){if(u.length!==t.params.length)throw new Error(`${r}() expects ${t.params.length} argument(s) but got ${u.length}`);let s=new Map(f);if(t.params.forEach((c,o)=>s.set(c,u[o])),Array.isArray(t.body))throw t.body.length===0?new Error(`${r}() has an empty body. A user function needs at least one statement after '=>'.`):d?(d(t.body,l,s),new Error(`${r}() has a block body, so it does not produce a value. Block-bodied user functions are not supported yet: write the body as a single expression (${r}(x) => x * 2). Returning na here would plot as 0.`)):new Error(`${r}() has a block body but no executor was provided.`);return p(t.body,l,s)}function k1(r,t,u,p,l=[]){let d=Date.now(),s=new Map,c=0,o=0,y=-1,g={},C=u;function F(){if(Date.now()-d>1e3)throw new Error("Script timed out (exceeded 1s). Check for infinite loops.")}function B(D,S,P=t){switch(F(),D.type){case"Literal":{if(typeof D.value=="boolean")return new Array(S).fill(D.value?1:0);if(typeof D.value=="string")return Xt(new Array(S).fill(D.value),S);let w=D.value;return new Array(S).fill(Number.isNaN(w)?NaN:w)}case"Identifier":{let w=P.get(D.name);if(!w)throw new Error(`Undefined variable: ${D.name}`);return w}case"BinaryExpression":{let w=B(D.left,S,P),E=B(D.right,S,P);return ru(w,D.operator,E,S)}case"UnaryExpression":{let w=B(D.argument,S,P);return D.operator==="not"?w.map(E=>isNaN(E)?NaN:E===0?1:0):w.map(E=>-E)}case"Conditional":{let w=B(D.condition,S,P),E=B(D.whenTrue,S,P),N=B(D.whenFalse,S,P),V=new Array(S).fill(NaN);for(let W=0;W<S;W++){let H=w[W];isNaN(H)||(V[W]=H!==0?E[W]:N[W])}return V}case"HistoryOffset":{let w=B(D.source,S,P),E=Math.max(0,Math.round(D.offset??0)),N=new Array(S).fill(NaN);for(let V=0;V<S;V++)V-E<0||(N[V]=w[V-E]);return N}case"FunctionCall":{let w=(D.arguments??[]).map(N=>B(N,S,P)),E=s.get(D.name);if(E){if(++c>Rn)throw c=0,new Error(`user function call depth exceeded MAX_CALL_DEPTH (${Rn}) \u2014 \`${D.name}\` is probably recursive.`);try{return x1(D.name,E,w,B,S,P,k)}finally{c--}}if(Do.has(D.name)){let N=So(D.name,w,S,t),V=Array.from({length:N.length},(W,H)=>`v${H+1}`);throw new Error(`${D.name} received a ${N.length}-value result, which cannot be used as a single series. Destructure it instead: [${V.join(", ")}] = ${D.name}(...); plot(${V[0]})`)}return ze(D.name,w,S,t)}default:throw new Error(`Unknown expression type: ${D.type}`)}}function b(D,S,P=t){if(D?.type==="FunctionCall"&&!s.get(D.name)){let E=(D.arguments??[]).map(N=>B(N,S,P));return So(D.name,E,S,t)}return[B(D,S,P)]}function O(D){return Array.isArray(D)&&D.length>0&&Array.isArray(D[0])}function R(D,S){return B(D,S).map(w=>w!==0&&!isNaN(w))}function k(D,S,P=t){for(let w of D)if(w)switch(F(),w.type){case"FuncDecl":{s.set(w.name,{params:w.params??[],body:w.body});break}case"FuncDeclBlock":{s.set(w.name,{params:w.params??[],body:w.body});break}case"Assignment":{let E=B(w.expression,S,P);if(O(E))throw new Error(`${w.variable} = ... received a ${E.length}-value result (${w.expression.type}). Destructure it instead: [${Array.from({length:E.length},(N,V)=>`${w.variable}${V+1}`).join(", ")}] = ...`);P.set(w.variable,E);break}case"TupleAssignment":{let E=w.variables??[],N=b(w.expression,S,P);if(E.length===0)throw new Error("[] = ... is not a valid destructuring target \u2014 it binds no variable.");if(N.length!==E.length)throw new Error(`[${E.join(", ")}] = ... expected ${E.length} value(s) but the right-hand side produced ${N.length}.`);for(let V=0;V<E.length;V++)P.set(E[V],N[V]);break}case"InputDecl":{let E=B(w.defaultValue,S,P),N=Nt(E);if(N){P.set(w.variable,Xt(N,S));break}let V=E[0]??0;P.set(w.variable,new Array(S).fill(V));break}case"Plot":case"PlotShape":{let E=B(w.expression,S,P);if(O(E))throw new Error(`plot(${w.expression.type}) received a ${E.length}-value result. Destructure it first: [a, b, c] = ${w.expression.type==="FunctionCall"?w.expression.name:"..."}; plot(a)`);let N=w.title??"plot";if(o>0){let V=g[N]??(g[N]=new Array(C).fill(NaN));y>=0&&y<C&&(V[y]=E[y])}else p[N]=Co(E);break}case"HLine":{p[w.title??"hline"]=new Array(S).fill(w.price);break}case"AlertCondition":{l.push({title:w.title,message:w.message,condition:B(w.condition,S,P)});break}case"IfStatement":{let E=w.thenBlock??[],N=w.elseBlock??[];if(E.length===0&&N.length===0)break;let V=B(w.condition,S,P);if(o>0&&y>=0){let te=V[y];if(isNaN(te))break;let me=te!==0?E:N;if(me.length===0)break;let ke=y,Se=new Map;for(let[xe,se]of P)Se.set(xe,se.length>ke+1?se.slice(0,ke+1):se);k(me,ke+1,Se);for(let[xe,se]of Se)P.set(xe,se);break}let W={},H=new Set,G=new Map(P);for(let te=0;te<S;te++){F();let me=V[te];if(isNaN(me))continue;let ke=new Map;for(let[xe,se]of G)ke.set(xe,se.length>te+1?se.slice(0,te+1):se);(xe=>{if(xe.length===0)return;let se=y;y=te,o++;try{k(xe,te+1,ke)}finally{o--,y=se}for(let[x,$]of ke)ke.get(x)!==G.get(x)&&H.add(x)})(me!==0?E:N);for(let xe of H){let se=ke.get(xe);if(!se)continue;let x=W[xe]??(W[xe]=new Array(S).fill(NaN));x[te]=se[te]??se[se.length-1]}}let Z={...g};for(let te of Object.keys(g))delete g[te];for(let[te,me]of Object.entries(W))P.set(te,me);for(let[te,me]of Object.entries(Z))p[te]=Co(me);break}case"ForStatement":{let E=Math.round(B(w.start,1,P)[0]),N=Math.round(B(w.end,1,P)[0]);if(N<E)throw new Error(`for loop: start (${E}) is greater than end (${N}). Pine runs \`for\` from start down to end only when start > end is explicit; this engine requires start <= end.`);let V=N-E+1;if(V>_n)throw new Error(`for loop would run ${V} times, exceeding MAX_FOR_ITERATIONS (${_n}). Reduce the range.`);for(let W=0;W<V;W++){F();let H=E+W;P.set(w.variable,new Array(S).fill(H)),k(w.body,S,P)}break}case"WhileStatement":{let E=0;for(;;){F();let N=B(w.condition,1,P)[0];if(isNaN(N)||N===0)break;if(++E>Pn)throw new Error(`while loop exceeded MAX_WHILE_ITERATIONS (${Pn}) \u2014 condition is still true.`);k(w.body??[],S,P)}break}}}k(r,u)}function Lr(r,t){let{ast:u,errors:p}=ja(r);if(p.length>0)return{output:{},errors:p,alerts:[]};let l=za(t),f={},d=[],s=[];try{k1(u,l,t?t.close.length:1,f,s)}catch(o){d.push({message:o.message})}let c=_1(u);return{output:f,errors:d,alerts:s,overlay:c}}function _1(r){let t=Array.isArray(r)?r:Array.isArray(r?.body)?r.body:[];for(let u of t)if(u?.type==="StudyDeclaration"||u?.kind==="StudyDeclaration")return u.overlay===!0}function nu(r){return Math.abs(r=Math.round(r))>=1e21?r.toLocaleString("en").replace(/,/g,""):r.toString(10)}function ar(r,t){if(!isFinite(r)||r===0)return null;var u=(r=t?r.toExponential(t-1):r.toExponential()).indexOf("e"),p=r.slice(0,u);return[p.length>1?p[0]+p.slice(2):p,+r.slice(u+1)]}function ou(r){return r=ar(Math.abs(r)),r?r[1]:NaN}function au(r,t){return function(u,p){for(var l=u.length,f=[],d=0,s=r[0],c=0;l>0&&s>0&&(c+s+1>p&&(s=Math.max(1,p-c)),f.push(u.substring(l-=s,l+s)),!((c+=s+1)>p));)s=r[d=(d+1)%r.length];return f.reverse().join(t)}}function uu(r){return function(t){return t.replace(/[0-9]/g,function(u){return r[+u]})}}var P1=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Wr(r){if(!(t=P1.exec(r)))throw new Error("invalid format: "+r);var t;return new Bo({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Wr.prototype=Bo.prototype;function Bo(r){this.fill=r.fill===void 0?" ":r.fill+"",this.align=r.align===void 0?">":r.align+"",this.sign=r.sign===void 0?"-":r.sign+"",this.symbol=r.symbol===void 0?"":r.symbol+"",this.zero=!!r.zero,this.width=r.width===void 0?void 0:+r.width,this.comma=!!r.comma,this.precision=r.precision===void 0?void 0:+r.precision,this.trim=!!r.trim,this.type=r.type===void 0?"":r.type+""}Bo.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function iu(r){e:for(var t=r.length,u=1,p=-1,l;u<t;++u)switch(r[u]){case".":p=l=u;break;case"0":p===0&&(p=u),l=u;break;default:if(!+r[u])break e;p>0&&(p=0);break}return p>0?r.slice(0,p)+r.slice(l+1):r}var Kr;function su(r,t){var u=ar(r,t);if(!u)return Kr=void 0,r.toPrecision(t);var p=u[0],l=u[1],f=l-(Kr=Math.max(-8,Math.min(8,Math.floor(l/3)))*3)+1,d=p.length;return f===d?p:f>d?p+new Array(f-d+1).join("0"):f>0?p.slice(0,f)+"."+p.slice(f):"0."+new Array(1-f).join("0")+ar(r,Math.max(0,t+f-1))[0]}function wo(r,t){var u=ar(r,t);if(!u)return r+"";var p=u[0],l=u[1];return l<0?"0."+new Array(-l).join("0")+p:p.length>l+1?p.slice(0,l+1)+"."+p.slice(l+1):p+new Array(l-p.length+2).join("0")}var xo={"%":(r,t)=>(r*100).toFixed(t),b:r=>Math.round(r).toString(2),c:r=>r+"",d:nu,e:(r,t)=>r.toExponential(t),f:(r,t)=>r.toFixed(t),g:(r,t)=>r.toPrecision(t),o:r=>Math.round(r).toString(8),p:(r,t)=>wo(r*100,t),r:wo,s:su,X:r=>Math.round(r).toString(16).toUpperCase(),x:r=>Math.round(r).toString(16)};function ko(r){return r}var lu=Array.prototype.map,cu=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function pu(r){var t=r.grouping===void 0||r.thousands===void 0?ko:au(lu.call(r.grouping,Number),r.thousands+""),u=r.currency===void 0?"":r.currency[0]+"",p=r.currency===void 0?"":r.currency[1]+"",l=r.decimal===void 0?".":r.decimal+"",f=r.numerals===void 0?ko:uu(lu.call(r.numerals,String)),d=r.percent===void 0?"%":r.percent+"",s=r.minus===void 0?"\u2212":r.minus+"",c=r.nan===void 0?"NaN":r.nan+"";function o(g,C){g=Wr(g);var F=g.fill,B=g.align,b=g.sign,O=g.symbol,R=g.zero,k=g.width,D=g.comma,S=g.precision,P=g.trim,w=g.type;w==="n"?(D=!0,w="g"):xo[w]||(S===void 0&&(S=12),P=!0,w="g"),(R||F==="0"&&B==="=")&&(R=!0,F="0",B="=");var E=(C&&C.prefix!==void 0?C.prefix:"")+(O==="$"?u:O==="#"&&/[boxX]/.test(w)?"0"+w.toLowerCase():""),N=(O==="$"?p:/[%p]/.test(w)?d:"")+(C&&C.suffix!==void 0?C.suffix:""),V=xo[w],W=/[defgprs%]/.test(w);S=S===void 0?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,S)):Math.max(0,Math.min(20,S));function H(G){var Z=E,te=N,me,ke,Se;if(w==="c")te=V(G)+te,G="";else{G=+G;var xe=G<0||1/G<0;if(G=isNaN(G)?c:V(Math.abs(G),S),P&&(G=iu(G)),xe&&+G==0&&b!=="+"&&(xe=!1),Z=(xe?b==="("?b:s:b==="-"||b==="("?"":b)+Z,te=(w==="s"&&!isNaN(G)&&Kr!==void 0?cu[8+Kr/3]:"")+te+(xe&&b==="("?")":""),W){for(me=-1,ke=G.length;++me<ke;)if(Se=G.charCodeAt(me),48>Se||Se>57){te=(Se===46?l+G.slice(me+1):G.slice(me))+te,G=G.slice(0,me);break}}}D&&!R&&(G=t(G,1/0));var se=Z.length+G.length+te.length,x=se<k?new Array(k-se+1).join(F):"";switch(D&&R&&(G=t(x+G,x.length?k-te.length:1/0),x=""),B){case"<":G=Z+G+te+x;break;case"=":G=Z+x+G+te;break;case"^":G=x.slice(0,se=x.length>>1)+Z+G+te+x.slice(se);break;default:G=x+Z+G+te;break}return f(G)}return H.toString=function(){return g+""},H}function y(g,C){var F=Math.max(-8,Math.min(8,Math.floor(ou(C)/3)))*3,B=Math.pow(10,-F),b=o((g=Wr(g),g.type="f",g),{suffix:cu[8+F/3]});return function(O){return b(B*O)}}return{format:o,formatPrefix:y}}var On,Y,du;_o({thousands:",",grouping:[3],currency:["$",""]});function _o(r){return On=pu(r),Y=On.format,du=On.formatPrefix,On}var fu=new Map;function mu(r){fu.set(r.id,r)}function L0(r){return fu.get(r)}var In=new Map,R1=new Map;function we(r,t){let u=r.params?.period;return typeof u=="number"&&Number.isFinite(u)?u:t}function O1(r){if(r)return{...r,dashPattern:r.dashPattern?[...r.dashPattern]:void 0}}function Ce(r,t){ye(r,{component:t.component,defaultParams:t.defaultParams??{},defaultYAxis:t.defaultYAxis??"right",tooltipEntry:t.tooltipEntry,settingsFields:t.settingsFields})}function Po(){In.clear()}function I1(r){return O1(R1.get(r))}function ye(r,t){In.set(r,t)}function yu(r){let t=In.get(r);if(!t)throw new Error(`SeriesRegistry: unknown type "${r}"`);return t}function M1(){return[...In.keys()]}var hu=["free","pro","enterprise"];function gu(r){return yu(r).tier??"free"}function Au(r,t){return hu.indexOf(t)>=hu.indexOf(gu(r))}function N1(r){return r==="pro"?"pro":r==="enterprise"||r==="custom"||r==="internal"?"enterprise":"free"}function T1(r,t){return r.filter(u=>{try{return Au(nr(u.type),t)}catch{return!1}})}import Ct from"prop-types";import{Component as J1}from"react";import gt from"prop-types";import{line as _u}from"d3-shape";import Y1 from"react";import{Component as G1}from"react";import Ie from"prop-types";import{scaleOrdinal as W1}from"d3-scale";function Cu(r){for(var t=r.length/6|0,u=new Array(t),p=0;p<t;)u[p]="#"+r.slice(p*6,++p*6);return u}var Ro=Cu("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf");import{bisector as Pm}from"d3-array";function st(...r){}function tt(r){return r}import{min as V1}from"d3-array";function Oo(){let r=tt;function t(){let p=arguments.length;if(!p)return[];let l=V1(arguments,u)??0,f,d=new Array(l);for(f=-1;++f<l;){for(let s=-1,c=d[f]=new Array(p);++s<p;)c[s]=arguments[s][f];d[f]=r.apply(this,d[f])}return d}function u(p){return p.length}return t.combine=function(p){return arguments.length?(r=p,t):r},t}function vu(){let r,t=10,u=st,p,l,f=0,d,s=function(c){let o=l||bu(p),y=Be(t).apply(this,arguments),g=c.slice(f,y+f).map(o),C=0,F=Be(r);return c.map(function(B,b){return b<f+y-1?F(o(B),b,d):(b>=f+y&&(g.shift(),g.push(o(B,b))),u(g,b,C++,d))})};return s.undefinedValue=function(c){return arguments.length?(r=c,s):r},s.windowSize=function(c){return arguments.length?(t=c,s):t},s.misc=function(c){return arguments.length?(d=c,s):d},s.accumulator=function(c){return arguments.length?(u=c,s):u},s.skipInitial=function(c){return arguments.length?(f=c,s):f},s.sourcePath=function(c){return arguments.length?(p=c,s):p},s.source=function(c){return arguments.length?(l=c,s):l},s}function Fu(r){return Object.prototype.toString.call(r)==="[object Date]"}function $1(r,t){return Fu(r)&&Fu(t)?r.getTime()===t.getTime():r===t}function vr(r,t){if(!r&&!t)return!0;if(!r&&t||r&&!t)return!1;let u=0,p=0,l;for(l in t)if(p++,t.hasOwnProperty(l)&&!r.hasOwnProperty(l)||!$1(r[l],t[l]))return!1;for(l in r)u++;return u===p}function Mn(){let r=Be(!1),t=st,u=tt,p=!1,l=!1,f=function(d){let s=p?void 0:[],c=[],o=0,y=0;for(y=0;y<d.length;y++){let g=d[y];r(g,y,s||[])?(s&&s.length>0&&c.push(t(s,y,o++)),s=[u(g)]):s&&s.push(u(g))}return l||c.push(t(s,y,o)),c};return f.accumulateTill=function(d){return arguments.length?(r=Be(d),f):r},f.accumulator=function(d){return arguments.length?(t=d,f):t},f.value=function(d){return arguments.length?(u=d,f):u},f.discardTillStart=function(d){return arguments.length?(p=d,f):p},f.discardTillEnd=function(d){return arguments.length?(l=d,f):l},f}import L1 from"react";var Eu=class extends L1.Component{shouldComponentUpdate(t,u,p){return!vr(this.props,t)||!vr(this.state,u)||!vr(this.context,p)}};function bt(r,t){let{widthRatio:u}=r,{xScale:p}=t,[l,f]=p.range(),d=Math.abs(f-l);if(p.invert!=null){let[s,c]=p.domain();return d/Math.abs(s-c)*u}else return d/p.domain().length*u}var wt=["Solid","ShortDash","ShortDash2","ShortDot","ShortDashDot","ShortDashDotDot","Dot","Dash","LongDash","DashDot","LongDashDot","LongDashDotDot"];function br(r){switch(r){default:case"Solid":return"none";case"ShortDash":return"6, 2";case"ShortDash2":return"6, 3";case"ShortDot":return"2, 2";case"ShortDashDot":return"6, 2, 2, 2";case"ShortDashDotDot":return"6, 2, 2, 2, 2, 2";case"Dot":return"2, 6";case"Dash":return"8, 6";case"LongDash":return"16, 6";case"DashDot":return"8, 6, 2, 6";case"LongDashDot":return"16, 6, 2, 6";case"LongDashDotDot":return"16, 6, 2, 6, 2, 6"}}var Im=globalThis.process?.env?.NODE_ENV==="production";function bu(r=[]){let t=Array.isArray(r)?r:[r],u=t.length;return function(p,l){if(u===0)return be(p)?p:l;let f=0;for(;p!=null&&f<u;)p=p[t[f++]];return f===u?p:l}}function Be(r){return typeof r=="function"?r:()=>r}function Du(r,t,u=this){for(let p=0;p<r.length;++p)if(t.call(u,r[p],p,r))return r[p]}var Mm=W1(Ro);function Ft(r,t){if(t&&r){let u;for(let p=0;p<r.length;p++)if(u=r[p],be(t(u)))return u;return}return r?r[0]:void 0}var Fr=Ft;function Er(r,t){if(t&&r){let p;for(let l=r.length-1;l>=0;l--)if(p=r[l],be(t(p)))return p;return}let u=r?r.length:0;return u?r[u-1]:void 0}function be(r){return r!==null&&typeof r<"u"}function Tt(r){return!be(r)}function Ne(r,t){if(!r)return"transparent";let u=r.match(/^rgba?\(([^)]+)\)$/i);if(u){let l=u[1].split(",").map(f=>f.trim());if(l.length>=3)return`rgba(${l[0]}, ${l[1]}, ${l[2]}, ${t})`}let p=r.replace("#","");if(r.indexOf("#")>-1&&(p.length===3||p.length===6||p.length===8)){p.length===3&&(p=p.split("").map(s=>`${s}${s}`).join(""));let l=parseInt(p.substring(0,2),16),f=parseInt(p.substring(2,4),16),d=parseInt(p.substring(4,6),16);return`rgba(${l}, ${f}, ${d}, ${t})`}return r}import{createContext as K1,useContext as H1}from"react";var Io=K1(void 0),Zm=Io.Provider,Su=()=>{let r=H1(Io);if(!r)throw new Error("useStockChart must be used within a StockChartProvider");return r},Bu=Io;import{jsx as U1}from"react/jsx-runtime";function Pe(r){return r?.axes}function Hr(r){return r?.mouseCoord}var Mo={mouseleave:"mousemove",panend:"pan",pinchzoom:"pan",mousedown:"mousemove",click:"mousemove",contextmenu:"mousemove",dblclick:"mousemove",dragstart:"drag",dragend:"drag",dragcancel:"drag"},No=class extends G1{static contextType=Bu;static propTypes={svgDraw:Ie.func.isRequired,canvasDraw:Ie.func,drawOn:Ie.array.isRequired,clip:Ie.bool.isRequired,edgeClip:Ie.bool.isRequired,interactiveCursorClass:Ie.string,selected:Ie.bool.isRequired,enableDragOnHover:Ie.bool.isRequired,disablePan:Ie.bool.isRequired,shouldDisablePanOnMouseDown:Ie.func,canvasToDraw:Ie.func.isRequired,isHover:Ie.func,onClick:Ie.func,onClickWhenHover:Ie.func,onClickOutside:Ie.func,onPan:Ie.func,onPanEnd:Ie.func,onDragStart:Ie.func,onDrag:Ie.func,onDragComplete:Ie.func,onDoubleClick:Ie.func,onDoubleClickWhenHover:Ie.func,onContextMenu:Ie.func,onContextMenuWhenHover:Ie.func,onMouseMove:Ie.func,onMouseDown:Ie.func,onHover:Ie.func,onUnHover:Ie.func,chartId:Ie.oneOfType([Ie.number,Ie.string])};static defaultProps={svgDraw:Be(null),canvasToDraw:t=>t?.mouseCoord,clip:!0,edgeClip:!1,selected:!1,disablePan:!1,enableDragOnHover:!1,onClickWhenHover:st,onClickOutside:st,onDragStart:st,onMouseMove:st,onMouseDown:st};constructor(t){super(t),this.drawOnCanvas=this.drawOnCanvas.bind(this),this.getMoreProps=this.getMoreProps.bind(this),this.listener=this.listener.bind(this),this.draw=this.draw.bind(this),this.updateMoreProps=this.updateMoreProps.bind(this),this.evaluateType=this.evaluateType.bind(this),this.isHover=this.isHover.bind(this),this.preCanvasDraw=this.preCanvasDraw.bind(this),this.postCanvasDraw=this.postCanvasDraw.bind(this),this.getPanConditions=this.getPanConditions.bind(this),this.shouldTypeProceed=this.shouldTypeProceed.bind(this),this.preEvaluate=this.preEvaluate.bind(this),this.moreProps={},this.state={updateCount:0}}componentDidMount(){let{subscribe:t,generateSubscriptionId:u}=this.context,{chartId:p}=this.props,{clip:l=!0,edgeClip:f=!1}=this.props;this.suscriberId=u(),t(this.suscriberId,{chartId:p,clip:l,edgeClip:f,listener:this.listener,draw:this.draw,getPanConditions:this.getPanConditions}),this.updateMorePropsFromContext(this.context),this.componentDidUpdate({})}componentWillUnmount(){let{unsubscribe:t,setCursorClass:u}=this.context;t(this.suscriberId),this.iSetTheCursorClass&&u?.(null)}componentDidUpdate(t={}){let{chartCanvasType:u,setCursorClass:p}=this.context,{canvasDraw:l,selected:f=!1,interactiveCursorClass:d}=this.props;if(t.selected!==f&&(f&&this.moreProps.hovering?(this.iSetTheCursorClass=!0,p?.(d)):(this.iSetTheCursorClass=!1,p?.(null))),be(l)&&!this.evaluationInProgress&&u!=="svg"){this.updateMoreProps(this.moreProps);let s=this.context.xScale;(!s||this.moreProps.xScale===s)&&this.drawOnCanvas()}}updateMorePropsFromContext(t){let{xScale:u,plotData:p,chartConfig:l,getMutableState:f,margin:d}=t;this.moreProps={...this.moreProps,...f?.(),xScale:u,plotData:p,chartConfig:l,margin:d}}updateMoreProps(t){Object.keys(t).forEach(u=>{this.moreProps[u]=t[u]})}shouldTypeProceed(t,u){return!0}preEvaluate(t,u,p){}listener(t,u,p,l){be(u)&&this.updateMoreProps(u),t!=="__sync__"&&(this.evaluationInProgress=!0,this.evaluateType(t,l),this.evaluationInProgress=!1,be(this.props.svgDraw)&&this.props.drawOn.indexOf(Mo[t]||t)>-1&&this.forceUpdate())}evaluateType(t,u){let p=Mo[t]||t;if(!(this.props.drawOn.indexOf(p)>-1)||(this.preEvaluate(t,this.moreProps,u),!this.shouldTypeProceed(t,this.moreProps)))return;let{setCursorClass:f,amIOnTop:d}=this.context;switch(t){case"zoom":case"mouseenter":break;case"mouseleave":{this.moreProps.hovering=!1,this.props.onUnHover?.(this.getMoreProps(),u);break}case"contextmenu":{this.props.onContextMenu?.(this.getMoreProps(),u),this.moreProps.hovering&&this.props.onContextMenuWhenHover?.(this.getMoreProps(),u);break}case"mousedown":{this.props.onMouseDown?.(this.getMoreProps(),u);break}case"click":{let s=this.getMoreProps();this.moreProps.hovering?this.props.onClickWhenHover?.(s,u):this.props.onClickOutside?.(s,u),this.props.onClick?.(s,u);break}case"mousemove":{let s=this.moreProps.hovering;this.moreProps.hovering=this.isHover(u),this.moreProps.hovering&&!this.props.selected&&d?.(this.suscriberId)&&be(this.props.onHover)?(f?.("vninvestcharts-widget-pointer-cursor"),this.iSetTheCursorClass=!0):this.moreProps.hovering&&this.props.selected&&d?.(this.suscriberId)?(f?.(this.props.interactiveCursorClass),this.iSetTheCursorClass=!0):s&&!this.moreProps.hovering&&this.iSetTheCursorClass&&(this.iSetTheCursorClass=!1,f?.(null));let c=this.getMoreProps();this.moreProps.hovering&&!s&&this.props.onHover?.(c,u),s&&!this.moreProps.hovering&&this.props.onUnHover?.(c,u),this.props.onMouseMove?.(c,u);break}case"dblclick":{let s=this.getMoreProps();this.props.onDoubleClick?.(s,u),this.moreProps.hovering&&this.props.onDoubleClickWhenHover?.(s,u);break}case"pan":{this.moreProps.hovering=!1,this.props.onPan?.(this.getMoreProps(),u);break}case"panend":{this.props.onPanEnd?.(this.getMoreProps(),u);break}case"dragstart":{this.getPanConditions().draggable&&d?.(this.suscriberId)&&(this.dragInProgress=!0,this.props.onDragStart?.(this.getMoreProps(),u)),this.someDragInProgress=!0;break}case"drag":{this.dragInProgress&&this.props.onDrag?.(this.getMoreProps(),u);break}case"dragend":{this.dragInProgress&&this.props.onDragComplete?.(this.getMoreProps(),u),this.dragInProgress=!1,this.someDragInProgress=!1;break}}}isHover(t){return this.props.isHover?.(this.getMoreProps(),t)??!1}getPanConditions(){return{draggable:!!(this.props.selected&&this.moreProps.hovering)||this.props.enableDragOnHover&&this.moreProps.hovering,panEnabled:!this.props.disablePan,shouldDisablePanOnMouseDown:this.props.shouldDisablePanOnMouseDown}}draw({trigger:t,force:u}={force:!1}){let p=t?Mo[t]||t:void 0;if((p?this.props.drawOn.indexOf(p)>-1:!1)||this.props.selected||u){let{chartCanvasType:f}=this.context,{canvasDraw:d}=this.props;Tt(d)||f==="svg"?this.setState(({updateCount:s})=>({updateCount:s+1})):this.drawOnCanvas()}}getMoreProps(){let{xScale:t,plotData:u,chartConfig:p,morePropsDecorator:l,xAccessor:f,displayXAccessor:d,width:s,height:c,fullData:o,margin:y}=this.context,{chartId:g}=this.props,C={xScale:t,plotData:u,chartConfig:p,xAccessor:f,displayXAccessor:d,width:s,height:c,chartId:g,fullData:o,margin:y,...this.moreProps};return(l||tt)(C)}preCanvasDraw(t,u){}postCanvasDraw(t,u){}drawOnCanvas(){let{canvasDraw:t,canvasToDraw:u=d=>d?.mouseCoord}=this.props,{getCanvasContexts:p=()=>{}}=this.context,l=this.getMoreProps(),f=u(p());f&&(this.preCanvasDraw(f,l),t?.(f,l),this.postCanvasDraw(f,l))}render(){let{chartCanvasType:t}=this.context,{chartId:u,canvasDraw:p,clip:l,svgDraw:f}=this.props;if(be(p)&&t!=="svg")return null;let d=be(u)?"-"+u:"",s=l?{clipPath:`url(#chart-area-clip${d})`}:void 0;return U1("g",{style:s,children:f(this.getMoreProps())})}},wu=No;import{createContext as j1,useContext as lh}from"react";var xu=j1(void 0),ch=xu.Provider;var ku=xu;import{jsx as X1}from"react/jsx-runtime";var z1=["drag","dragend"],To=class extends wu{preCanvasDraw(t,u){super.preCanvasDraw(t,u),t.save();let{margin:p,ratio:l}=this.context,{chartConfig:f}=u,d=.5*l+f.origin[0]+p.left,s=.5*l+f.origin[1]+p.top,{chartConfig:{width:c,height:o}}=u,{clip:y,edgeClip:g}=this.props;t.setTransform(1,0,0,1,0,0),t.scale(l,l),g&&(t.beginPath(),t.rect(-1,s-10,c+p.left+p.right+1,o+20),t.clip()),t.translate(d,s),y&&(t.beginPath(),t.rect(-1,-1,c+1,o+1),t.clip())}postCanvasDraw(t,u){super.postCanvasDraw(t,u),t.restore()}updateMoreProps(t){super.updateMoreProps(t);let{chartConfig:u}=t;if(u&&Array.isArray(u)){let{chartId:p}=this.props;this.moreProps.chartConfigList=u;let l=Du(u,f=>f.id===p)||u[0];l&&(this.moreProps.chartConfig=l)}if(be(this.moreProps.chartConfig)){let{origin:p}=this.moreProps.chartConfig;if(!Array.isArray(p))return;let[l,f]=p;if(be(t.mouseXY)){let{mouseXY:[d,s]}=t;this.moreProps.mouseXY=[d-l,s-f]}if(be(t.startPos)){let{startPos:[d,s]}=t;this.moreProps.startPos=[d-l,s-f]}}}shouldTypeProceed(t,u){return this.props.allowAnyChart||(t==="mousemove"||t==="click")&&this.props.disablePan||t==="mousedown"&&this.props.disablePan?!0:z1.indexOf(t)===-1&&be(u)&&be(u.currentCharts)?u.currentCharts.indexOf(this.props.chartId)>-1:!0}},q1=r=>{let t=Y1.useContext(ku),{chartConfig:u}=Su(),p=t?.chartId??u[0]?.id??0;return X1(To,{...r,chartId:p})},Re=q1;import{jsx as Pu}from"react/jsx-runtime";var Vo=class extends J1{static propTypes={className:gt.string,strokeWidth:gt.number,strokeOpacity:gt.number,stroke:gt.string,hoverStrokeWidth:gt.number,fill:gt.string,defined:gt.func,strokeDasharray:gt.oneOf(wt),highlightOnHover:gt.bool,yAccessor:gt.func,connectNulls:gt.bool,interpolation:gt.func,canvasClip:gt.func,style:gt.object};static defaultProps={className:"line ",strokeWidth:1,strokeOpacity:1,hoverStrokeWidth:4,fill:"none",stroke:"#4682B4",strokeDasharray:"Solid",defined:t=>!isNaN(t),highlightOnHover:!1,connectNulls:!1};constructor(t){super(t),this.renderSVG=this.renderSVG.bind(this),this.drawOnCanvas=this.drawOnCanvas.bind(this)}drawOnCanvas(t,u){let{yAccessor:p,stroke:l,strokeOpacity:f=1,strokeWidth:d=1,hoverStrokeWidth:s=4,defined:c,strokeDasharray:o="Solid",interpolation:y,canvasClip:g,connectNulls:C=!1}=this.props,{xAccessor:F,xScale:B,chartConfig:{yScale:b},plotData:O,hovering:R}=u;g&&(t.save(),g(t,u)),t.lineWidth=R?s:d,t.strokeStyle=Ne(l,f),t.setLineDash(br(o).split(",").map(D=>+D));let k=_u().x(D=>Math.round(B(F(D)))).y(D=>Math.round(b(p(D))));be(y)&&k.curve(y),C||k.defined(D=>c(p(D))),t.beginPath(),k.context(t)(O),t.stroke(),g&&t.restore()}renderSVG(t){let{yAccessor:u,stroke:p,strokeOpacity:l=1,strokeWidth:f=1,hoverStrokeWidth:d=4,defined:s,strokeDasharray:c="Solid",connectNulls:o=!1,interpolation:y,style:g,className:C,fill:F="none"}=this.props,{xAccessor:B,chartConfig:{yScale:b},xScale:O,plotData:R,hovering:k}=t,D=_u().x(P=>Math.round(O(B(P)))).y(P=>Math.round(b(u(P))));be(y)&&D.curve(y),o||D.defined(P=>s(u(P)));let S=D(R);return Pu("path",{style:g,className:`${C} ${p?"":" line-stroke"}`,d:S||void 0,stroke:p,strokeOpacity:l,strokeWidth:k?d:f,strokeDasharray:br(c),fill:F})}render(){let{highlightOnHover:t}=this.props,u=t?{drawOn:["mousemove","pan"],canvasToDraw:Hr}:{drawOn:["pan"],canvasToDraw:Pe};return Pu(Re,{svgDraw:this.renderSVG,canvasDraw:this.drawOnCanvas,...u})}},oe=Vo;import{Component as Z1}from"react";import At from"prop-types";import{area as Ru}from"d3-shape";import{jsx as ur,jsxs as Ou}from"react/jsx-runtime";var Ur=class extends Z1{static defaultProps;gradientId;constructor(t){super(t),this.renderSVG=this.renderSVG.bind(this),this.drawOnCanvas=this.drawOnCanvas.bind(this),this.gradientId=`bb-fade-gradient-${Math.random().toString(36).substring(2,9)}`}drawOnCanvas(t,u){let{yAccessor:p,defined:l,base:f,canvasGradient:d}=this.props,{fill:s,stroke:c,opacity:o,interpolation:y,canvasClip:g}=this.props,{xScale:C,chartConfig:{yScale:F},plotData:B,xAccessor:b}=u;g&&(t.save(),g(t,u)),d!=null?t.fillStyle=d(u,t):t.fillStyle=Ne(s,o),t.strokeStyle=c,t.beginPath();let O=Be(f),R=Ru().defined(k=>l(p(k))).x(k=>Math.round(C(b(k)))).y0(k=>O(F,k,u)).y1(k=>Math.round(F(p(k)))).context(t);be(y)&&R.curve(y),R(B),t.fill(),g&&t.restore()}renderSVG(t){let{yAccessor:u,defined:p,base:l,style:f,fillMode:d}=this.props,{stroke:s,fill:c,className:o,opacity:y,interpolation:g}=this.props,{xScale:C,chartConfig:{yScale:F},plotData:B,xAccessor:b}=t,O=Be(l),R=Ru().defined(S=>p(u(S))).x(S=>Math.round(C(b(S)))).y0(S=>O(F,S,t)).y1(S=>Math.round(F(u(S))));be(g)&&R.curve(g);let k=R(B)??void 0,D=o.concat(be(s)?"":" line-stroke");return d==="fade"&&c!=="none"&&c!=="transparent"?Ou("g",{children:[ur("defs",{children:Ou("linearGradient",{id:this.gradientId,x1:"0%",y1:"0%",x2:"0%",y2:"100%",children:[ur("stop",{offset:"0%",stopColor:c,stopOpacity:0}),ur("stop",{offset:"50%",stopColor:c,stopOpacity:y}),ur("stop",{offset:"100%",stopColor:c,stopOpacity:0})]})}),ur("path",{style:f,d:k,stroke:s,fill:`url(#${this.gradientId})`,className:D})]}):ur("path",{style:f,d:k,stroke:s,fill:Ne(c,y),className:D})}render(){return ur(Re,{svgDraw:this.renderSVG,canvasDraw:this.drawOnCanvas,canvasToDraw:Pe,drawOn:["pan"]})}};Ur.propTypes={className:At.string,yAccessor:At.func.isRequired,stroke:At.string,fill:At.string,opacity:At.number,defined:At.func,base:At.oneOfType([At.func,At.number]),interpolation:At.func,canvasClip:At.func,style:At.object,canvasGradient:At.func,fillMode:At.string};Ur.defaultProps={className:"line ",fill:"none",opacity:1,defined:r=>!isNaN(r),base:r=>Fr(r.range())};var Nn=Ur;import{jsx as Iu,jsxs as Q1}from"react/jsx-runtime";function $o(r){let{yAccessor:t,baseAt:u}=r,{className:p,opacity:l,stroke:f,strokeWidth:d,strokeOpacity:s,strokeDasharray:c,canvasGradient:o,fill:y,interpolation:g,style:C,canvasClip:F}=r;return Q1("g",{className:p,children:[Iu(Nn,{yAccessor:t,interpolation:g,base:u,canvasGradient:o,fill:y,opacity:l,style:C,canvasClip:F,stroke:"none"}),Iu(oe,{yAccessor:t,stroke:f,strokeWidth:d,strokeOpacity:s,strokeDasharray:c,interpolation:g,style:C,canvasClip:F,fill:"none",hoverHighlight:!1})]})}$o.propTypes={stroke:Ct.string,strokeWidth:Ct.number,canvasGradient:Ct.func,fill:Ct.string.isRequired,strokeOpacity:Ct.number.isRequired,opacity:Ct.number.isRequired,className:Ct.string,yAccessor:Ct.func.isRequired,baseAt:Ct.func,interpolation:Ct.func,canvasClip:Ct.func,style:Ct.object,strokeDasharray:Ct.oneOf(wt)};$o.defaultProps={stroke:"#4682B4",strokeWidth:1,strokeOpacity:1,strokeDasharray:"Solid",opacity:.5,fill:"#4682B4",className:"vninvestcharts-widget-area"};var Mu=$o;import{Component as ed}from"react";import at from"prop-types";import{jsx as Lo}from"react/jsx-runtime";var Wo=class extends ed{static propTypes={baseAt:at.oneOfType([at.number,at.func]),stroke:at.bool,width:at.oneOfType([at.number,at.func]),yAccessor:at.func.isRequired,opacity:at.number,fill:at.oneOfType([at.func,at.string]),className:at.oneOfType([at.func,at.string]),clip:at.bool};static defaultProps={baseAt:(t,u)=>u(0),fill:"#4682B4",stroke:!1,width:bt,opacity:.5,clip:!0};constructor(t){super(t),this.renderSVG=this.renderSVG.bind(this),this.drawOnCanvas=this.drawOnCanvas.bind(this)}drawOnCanvas(t,u){let p=Nu(this.props,u),{opacity:l=.5}=this.props;p.forEach(f=>{t.fillStyle=f.fill,t.globalAlpha=l,t.fillRect(f.x,f.y,f.width,f.height),f.stroke!=="none"&&(t.strokeStyle=f.stroke,t.strokeRect(f.x,f.y,f.width,f.height))}),t.globalAlpha=1}renderSVG(t){let u=Nu(this.props,t),{opacity:p=.5}=this.props;return Lo("g",{className:"vninvestcharts-widget-bar-series",children:u.map((l,f)=>Lo("rect",{x:l.x,y:l.y,width:l.width,height:l.height,fill:l.fill,fillOpacity:p,stroke:l.stroke},f))})}render(){let{clip:t}=this.props;return Lo(Re,{clip:t,svgDraw:this.renderSVG,canvasToDraw:Pe,canvasDraw:this.drawOnCanvas,drawOn:["pan"]})}};function Nu(r,t){let{baseAt:u,fill:p,stroke:l,yAccessor:f}=r,{xScale:d,xAccessor:s,plotData:c,chartConfig:{yScale:o}}=t,y=Be(p),g=Be(u),F=Be(r.width)(r,{xScale:d,xAccessor:s,plotData:c}),B=Math.floor(.5*F);return c.filter(b=>be(f(b))).map(b=>{let O=f(b),R=o(O),k=Math.round(d(s(b)))-B,D=g(d,o,b)-o(O);return D<0&&(R=R+D,D=-D),{x:k,y:Math.round(R),height:Math.round(D),width:B*2,fill:y(b),stroke:l?y(b):"none"}})}var _t=Wo;import{jsx as nd}from"react/jsx-runtime";var Tn={baseAt:0,upColor:"#26a69a",downColor:"#ef5350",opacity:.9};function td(r,t){return typeof r!="number"||!Number.isFinite(r)||r>t.baseAt?t.upColor:r<t.baseAt?t.downColor:t.flatColor??t.upColor}function rd(r){let{baseAt:t=Tn.baseAt,upColor:u=Tn.upColor,downColor:p=Tn.downColor,flatColor:l,opacity:f=Tn.opacity,yAccessor:d,...s}=r,c=(o,y,g)=>typeof t=="function"?t(o,y,g):t;return nd(_t,{...s,yAccessor:d,opacity:f,baseAt:c,fill:o=>td(d?d(o):void 0,{baseAt:c(null,null,o),upColor:u,downColor:p,flatColor:l})})}var Tu=rd;import{Component as od}from"react";import et from"prop-types";import{jsx as sr,jsxs as sd}from"react/jsx-runtime";var Ko=class extends od{static propTypes={className:et.string,wickClassName:et.string,candleClassName:et.string,widthRatio:et.number,width:et.oneOfType([et.number,et.func]),fill:et.oneOfType([et.func,et.string]),stroke:et.oneOfType([et.func,et.string]),wickStroke:et.oneOfType([et.func,et.string]),yAccessor:et.func,clip:et.bool};static defaultProps={className:"vninvestcharts-widget-candlestick",wickClassName:"vninvestcharts-widget-candlestick-wick",candleClassName:"vninvestcharts-widget-candlestick-candle",yAccessor:t=>({open:t.open,high:t.high,low:t.low,close:t.close}),width:bt,wickStroke:"#000000",fill:t=>t.close>t.open?"#6BA583":"#FF0000",stroke:"#000000",candleStrokeWidth:.5,widthRatio:.8,opacity:.5,clip:!0};constructor(t){super(t),this.renderSVG=this.renderSVG.bind(this),this.drawOnCanvas=this.drawOnCanvas.bind(this)}drawOnCanvas(t,u){id(t,this.props,u)}renderSVG(t){let{className:u,wickClassName:p,candleClassName:l}=this.props,{xScale:f,chartConfig:{yScale:d},plotData:s,xAccessor:c}=t,o=Vu(this.props,c,f,d,s);return sd("g",{className:u,children:[sr("g",{className:p,children:ad(o)},"wicks"),sr("g",{className:l,children:ud(this.props,o)},"candles")]})}render(){let{clip:t}=this.props;return sr(Re,{clip:t,svgDraw:this.renderSVG,canvasDraw:this.drawOnCanvas,canvasToDraw:Pe,drawOn:["pan"]})}};function ad(r){return r.map((t,u)=>{let p=t.wick;return sr("path",{className:t.className,stroke:p.stroke,d:`M${p.x},${p.y1} L${p.x},${p.y2} M${p.x},${p.y3} L${p.x},${p.y4}`},u)})}function ud(r,t){let{opacity:u=.5,candleStrokeWidth:p=.5}=r;return t.map((l,f)=>l.width<=1?sr("line",{className:l.className,x1:l.x,y1:l.y,x2:l.x,y2:l.y+l.height,stroke:l.fill},f):l.height===0?sr("line",{x1:l.x,y1:l.y,x2:l.x+l.width,y2:l.y+l.height,stroke:l.fill},f):sr("rect",{className:l.className,fillOpacity:u,x:l.x,y:l.y,width:l.width,height:l.height,fill:l.fill,stroke:l.stroke,strokeWidth:p},f))}function id(r,t,u){let{opacity:p=.5,candleStrokeWidth:l=.5}=t,{xScale:f,chartConfig:{yScale:d},plotData:s,xAccessor:c}=u,o=Vu(t,c,f,d,s);o.forEach(y=>{let g=y.wick;r.strokeStyle=g.stroke,r.fillStyle=g.stroke,r.fillRect(g.x-.5,g.y1,1,g.y2-g.y1),r.fillRect(g.x-.5,g.y3,1,g.y4-g.y3)}),o.forEach(y=>{r.strokeStyle=y.stroke,r.lineWidth=l,r.fillStyle=y.width<=1?y.fill:Ne(y.fill,p),y.width<=1?r.fillRect(y.x-.5,y.y,1,y.height):y.height===0?r.fillRect(y.x,y.y-.5,y.width,1):(r.fillRect(y.x,y.y,y.width,y.height),y.stroke!=="none"&&r.strokeRect(y.x,y.y,y.width,y.height))})}function Vu(r,t,u,p,l){let{wickStroke:f,fill:d,stroke:s,yAccessor:c}=r,o=Be(f),y=Be(d),g=Be(s),F=Be(r.width)(r,{xScale:u,xAccessor:t,plotData:l}),B=Math.floor(.5*F);return l.filter(b=>be(c(b).close)).map(b=>{let O=Math.round(u(t(b))),R=c(b),k=Math.round(p(Math.max(R.open,R.close))),D=Math.round(Math.abs(p(R.open)-p(R.close)));return{x:O-B,y:k,wick:{stroke:o(R),x:O,y1:Math.round(p(R.high)),y2:k,y3:k+D,y4:Math.round(p(R.low))},height:D,width:B*2,fill:y(R),stroke:g(R)}})}var Vn=Ko;import{Component as ld}from"react";import Vt from"prop-types";import{jsx as Ho}from"react/jsx-runtime";var zr=class extends ld{static defaultProps;constructor(t){super(t),this.renderSVG=this.renderSVG.bind(this),this.drawOnCanvas=this.drawOnCanvas.bind(this)}drawOnCanvas(t,u){let{yAccessor:p}=this.props,{xAccessor:l}=u,{xScale:f,chartConfig:{yScale:d},plotData:s}=u,c=$u(this.props,l,p,f,d,s);cd(t,c)}render(){let{clip:t}=this.props;return Ho(Re,{svgDraw:this.renderSVG,canvasToDraw:Pe,canvasDraw:this.drawOnCanvas,clip:t,drawOn:["pan"]})}renderSVG(t){let{className:u,yAccessor:p}=this.props,{xAccessor:l}=t,{xScale:f,chartConfig:{yScale:d},plotData:s}=t,c=$u(this.props,l,p,f,d,s),{strokeWidth:o,bars:y}=c;return Ho("g",{className:u,children:y.map((g,C)=>Ho("path",{className:g.className,stroke:g.stroke,strokeWidth:o,d:`M${g.openX1} ${g.openY} L${g.openX2} ${g.openY} M${g.x} ${g.y1} L${g.x} ${g.y2} M${g.closeX1} ${g.closeY} L${g.closeX2} ${g.closeY}`},C))})}};zr.propTypes={className:Vt.string,classNames:Vt.oneOfType([Vt.func,Vt.string]).isRequired,stroke:Vt.oneOfType([Vt.func,Vt.string]).isRequired,yAccessor:Vt.func.isRequired,clip:Vt.bool.isRequired};zr.defaultProps={className:"vninvestcharts-widget-ohlc",yAccessor:r=>({open:r.open,high:r.high,low:r.low,close:r.close}),classNames:r=>be(r.absoluteChange)?r.absoluteChange>0?"up":"down":"firstbar",stroke:r=>be(r.absoluteChange)?r.absoluteChange>0?"#6BA583":"#FF0000":"#000000",clip:!0};function cd(r,t){let{strokeWidth:u,bars:p}=t,l=Array.from(p.reduce((f,d)=>(f.has(d.stroke)||f.set(d.stroke,[]),f.get(d.stroke).push(d),f),new Map).entries()).map(f=>({key:f[0],values:f[1]}));r.lineWidth=u,l.forEach(f=>{let{key:d,values:s}=f;r.strokeStyle=d,s.forEach(c=>{r.beginPath(),r.moveTo(c.x,c.y1),r.lineTo(c.x,c.y2),r.moveTo(c.openX1,c.openY),r.lineTo(c.openX2,c.openY),r.moveTo(c.closeX1,c.closeY),r.lineTo(c.closeX2,c.closeY),r.stroke()})})}function $u(r,t,u,p,l,f){let{classNames:d,stroke:s}=r,c=Be(s),o=Be(d),g=(p(t(f[f.length-1]))-p(t(f[0])))/(f.length-1),C=Math.max(1,Math.round(g/4)),F=f.filter(B=>be(u(B).close)).map(B=>{let b=u(B),O=Math.round(p(t(B))),R=l(b.high),k=l(b.low),D=O-g,S=O+C/2,P=l(b.open),w=O-C/2,E=O+g,N=l(b.close),V=o(B),W=c(B);return{x:O,y1:R,y2:k,openX1:D,openX2:S,openY:P,closeX1:w,closeX2:E,closeY:N,stroke:W,className:V}});return{barWidth:g,strokeWidth:C,bars:F}}var Lu=zr;import{Component as pd}from"react";import $n from"prop-types";import{line as dd,curveStepBefore as fd}from"d3-shape";import{jsx as Go}from"react/jsx-runtime";var qr=class extends pd{static defaultProps;constructor(t){super(t),this.renderSVG=this.renderSVG.bind(this),this.drawOnCanvas=this.drawOnCanvas.bind(this)}drawOnCanvas(t,u){let{xAccessor:p}=u;md(t,this.props,u,p)}render(){return Go(Re,{svgDraw:this.renderSVG,canvasToDraw:Pe,canvasDraw:this.drawOnCanvas,drawOn:["pan"]})}renderSVG(t){let{xAccessor:u}=t,{xScale:p,chartConfig:{yScale:l},plotData:f}=t,{className:d,stroke:s,fill:c,strokeWidth:o}=this.props,y=Wu(f,u).map((g,C)=>{let F=dd().x(b=>p(b[0])).y(b=>l(b[1])).curve(fd);F(g.plot);let B=F(g.plot)??void 0;return Go("path",{d:B,className:g.type,stroke:s[g.type],fill:c[g.type],strokeWidth:o},C)});return Go("g",{className:d,children:y})}};qr.propTypes={className:$n.string,stroke:$n.object,fill:$n.object,strokeWidth:$n.number.isRequired};qr.defaultProps={className:"vninvestcharts-widget-kagi",strokeWidth:2,stroke:{yang:"#6BA583",yin:"#E60000"},fill:{yang:"none",yin:"none"},currentValueStroke:"#000000"};function md(r,t,u,p){let{stroke:l,strokeWidth:f,currentValueStroke:d}=t,{xScale:s,chartConfig:{yScale:c},plotData:o}=u,y=Wu(o,p),g=!0;y.forEach(R=>{r.strokeStyle=l[R.type],r.lineWidth=f,r.beginPath();let k;R.plot.forEach(D=>{let[S,P]=[s(D[0]),c(D[1])];g?(r.moveTo(S,P),g=!1):(be(k)&&r.lineTo(k,P),r.lineTo(S,P)),k=S}),r.stroke()});let C=y[y.length-1].plot,F=C[C.length-1];r.beginPath(),r.lineWidth=1;let[B,b,O]=[s(F[0]),c(F[2]),c(F[3])];r.moveTo(B,b),r.lineTo(B+10,b),r.stroke(),r.beginPath(),r.strokeStyle=d,r.moveTo(B-10,O),r.lineTo(B,O),r.stroke()}function Wu(r,t){let u=[],p={},l=r[0],f=t(l);for(let d=0;d<r.length;d++)l=r[d],!Tt(l.close)&&(Tt(p.type)&&(p.type=l.startAs),Tt(p.plot)&&(p.plot=[]),f=t(l),p.plot.push([f,l.open]),be(l.changeTo)&&(p.plot.push([f,l.changePoint]),p.added=!0,u.push(p),p={type:l.changeTo,plot:[],added:!1},p.plot.push([f,l.changePoint])));return p.added||(p.plot.push([f,l.close,l.current,l.reverseAt]),u.push(p)),u}var Ku=qr;import{Component as hd}from"react";import Ln from"prop-types";import{line as yd,curveStepBefore as gd}from"d3-shape";import{jsx as Uo}from"react/jsx-runtime";var Xr=class extends hd{static defaultProps;constructor(t){super(t),this.renderSVG=this.renderSVG.bind(this),this.drawOnCanvas=this.drawOnCanvas.bind(this)}drawOnCanvas(t,u){Ad(t,this.props,u)}render(){return Uo(Re,{svgDraw:this.renderSVG,canvasToDraw:Pe,canvasDraw:this.drawOnCanvas,drawOn:["pan"]})}renderSVG(t){let{className:u,stroke:p,fill:l,strokeWidth:f}=this.props,d=Hu(t);return Uo("g",{className:u,children:d.map((s,c)=>Uo("path",{className:s.up?"up":"down",d:yd().x(o=>t.xScale(o[0])).y(o=>t.chartConfig.yScale(o[1])).curve(gd)(s.plot)??void 0,stroke:s.up?p.up:p.down,fill:s.up?l.up:l.down,strokeWidth:f},c))})}};Xr.propTypes={className:Ln.string,stroke:Ln.object.isRequired,fill:Ln.object.isRequired,strokeWidth:Ln.number.isRequired};Xr.defaultProps={className:"vninvestcharts-widget-line-break",strokeWidth:2,stroke:{up:"#6BA583",down:"#E60000"},fill:{up:"none",down:"none"}};function Hu(r){let{xAccessor:t,plotData:u}=r,p=Array.isArray(u)?u:[],l=[],f;for(let d of p){if(!be(d?.close))continue;let s=d.lineBreakClose,c=d.lineBreakOpen;if(typeof s!="number"||!Number.isFinite(s))continue;let o=d.lineBreakUp!==!1,y=t(d);(f===void 0||f.up!==o)&&(f={up:o,plot:[]},l.push(f),typeof c=="number"&&Number.isFinite(c)&&c!==s&&f.plot.push([y,c])),f.plot.push([y,s])}return l}function Ad(r,t,u){let{stroke:p,fill:l,strokeWidth:f}=t,{xScale:d,chartConfig:{yScale:s}}=u;for(let c of Hu(u)){r.beginPath(),r.strokeStyle=c.up?p.up:p.down,r.fillStyle=c.up?l.up:l.down,r.lineWidth=f;let o;for(let[y,g]of c.plot){let C=d(y),F=s(g);o!==void 0&&r.lineTo(o,F),r.lineTo(C,F),o=C}r.stroke()}}var Gu=Xr;import{Component as Cd}from"react";import en from"prop-types";import{jsx as Wn}from"react/jsx-runtime";var nn=class extends Cd{static defaultProps;constructor(t){super(t),this.renderSVG=this.renderSVG.bind(this),this.drawOnCanvas=this.drawOnCanvas.bind(this)}drawOnCanvas(t,u){let p=ju(this.props,u);vd(t,this.props,p)}render(){let{clip:t}=this.props;return Wn(Re,{clip:t,svgDraw:this.renderSVG,canvasDraw:this.drawOnCanvas,canvasToDraw:Pe,drawOn:["pan"]})}renderSVG(t){let{className:u,stroke:p,fill:l,strokeWidth:f}=this.props,d=ju(this.props,t);return Wn("g",{className:u,children:d.map((s,c)=>Wn("g",{className:s.className,children:s.boxes.map((o,y)=>Wn("rect",{className:s.className,strokeWidth:f,stroke:s.direction>0?p.up:p.down,fill:s.direction>0?l.up:l.down,x:s.x,y:Math.min(o.open,o.close),width:s.columnWidth,height:Math.abs(o.close-o.open)},`${c}-${y}`))},c))})}};nn.propTypes={className:en.string,strokeWidth:en.number.isRequired,stroke:en.object.isRequired,fill:en.object.isRequired,clip:en.bool.isRequired};nn.defaultProps={className:"vninvestcharts-widget-point-and-figure",strokeWidth:1,stroke:{up:"#6BA583",down:"#E60000"},fill:{up:"none",down:"none"},clip:!0};function vd(r,t,u){let{stroke:p,fill:l,strokeWidth:f}=t;r.lineWidth=f,u.forEach(d=>{d.boxes.forEach(s=>{let c=d.direction>0;r.fillStyle=c?l.up:l.down,r.strokeStyle=c?p.up:p.down,r.beginPath(),r.rect(d.x,Math.min(s.open,s.close),d.columnWidth,Math.abs(s.close-s.open)),r.closePath(),r.fill(),r.stroke()})})}function bd(r){let t=r?.pnfColumnStart;return typeof t=="number"&&Number.isFinite(t)?t:void 0}function Uu(r){let t=r?.boxes;if(!(!Array.isArray(t)||t.length===0))return t.filter(u=>u!==null&&typeof u=="object"&&Number.isFinite(u.open)&&Number.isFinite(u.close))}function ju(r,t){let{xAccessor:u}=t,{xScale:p,chartConfig:{yScale:l},plotData:f}=t,s=(Array.isArray(f)?f:[]).filter(B=>be(B?.close)&&Uu(B)!==void 0);if(s.length===0)return[];let c=new Map;for(let B of s){let b=bd(B);if(b===void 0)continue;let O=c.get(b);O===void 0?c.set(b,[B]):O.push(B)}if(c.size===0)return[];let o=s[0],y=s[s.length-1],g=p(u(y))-p(u(o)),C=g/Math.max(1,s.length-1),F=Math.max(1,g/c.size*.9);return[...c.entries()].map(([B,b])=>{let O=b[0],R=O.pnfDirection==="up";return{columnStart:B,direction:R?1:-1,className:R?"up":"down",x:p(u(O))-.5*F,columnWidth:F,step:C,boxes:b.flatMap(k=>(Uu(k)??[]).map(D=>({open:l(D.open),close:l(D.close)})))}})}var Yu=nn;import{Component as Fd}from"react";import Et from"prop-types";import{jsx as Kn}from"react/jsx-runtime";var on=class extends Fd{static defaultProps;constructor(t){super(t),this.renderSVG=this.renderSVG.bind(this),this.drawOnCanvas=this.drawOnCanvas.bind(this)}drawOnCanvas(t,u){let{xAccessor:p}=u,{xScale:l,chartConfig:{yScale:f},plotData:d}=u,{yAccessor:s}=this.props,c=zu(this.props,d,l,p,f,s);Ed(t,c)}render(){let{clip:t}=this.props;return Kn(Re,{clip:t,svgDraw:this.renderSVG,canvasDraw:this.drawOnCanvas,canvasToDraw:Pe,drawOn:["pan"]})}renderSVG(t){let{xAccessor:u}=t,{xScale:p,chartConfig:{yScale:l},plotData:f}=t,{yAccessor:d}=this.props,s=zu(this.props,f,p,u,l,d).map((c,o)=>Kn("rect",{className:c.className,fill:c.fill,x:c.x,y:c.y,width:c.width,height:c.height},o));return Kn("g",{children:Kn("g",{className:"candle",children:s})})}};on.propTypes={classNames:Et.shape({up:Et.string,down:Et.string}),stroke:Et.shape({up:Et.string,down:Et.string}),fill:Et.shape({up:Et.string,down:Et.string,partial:Et.string}),yAccessor:Et.func.isRequired,clip:Et.bool.isRequired};on.defaultProps={classNames:{up:"up",down:"down"},stroke:{up:"none",down:"none"},fill:{up:"#6BA583",down:"#E60000",partial:"#4682B4"},yAccessor:r=>({open:r.open,high:r.high,low:r.low,close:r.close}),clip:!0};function Ed(r,t){t.forEach(u=>{r.beginPath(),r.strokeStyle=u.stroke,r.fillStyle=u.fill,r.rect(u.x,u.y,u.width,u.height),r.closePath(),r.fill()})}function zu(r,t,u,p,l,f){let{classNames:d,fill:s}=r,o=(u(p(t[t.length-1]))-u(p(t[0])))/(t.length-1);return t.filter(g=>be(f(g).close)).map(g=>{let C=f(g),F=u(p(g))-.5*o,B=l(Math.max(C.open,C.close)),b=Math.abs(l(C.open)-l(C.close)),O=C.open<=C.close?d.up:d.down,R=g.fullyFormed?C.open<=C.close?s.up:s.down:s.partial;return{className:O,fill:R,x:F,y:B,height:b,width:o}})}var qu=on;import{PRIMARY_BASELINE_KEY as Dd}from"@vninvestcharts/engine-core";function z(r,t,u){let p=r.params?.[t];return typeof p=="number"&&Number.isFinite(p)?p:u}function Oe(r,t){if(r!==void 0)return typeof r=="number"?r:t?.(r)}function Sd(r){if(r!=null){if(typeof r=="number")return Number.isFinite(r)?r:void 0;if(typeof r=="object"&&!Array.isArray(r)){let t=Object.values(r)[0];return typeof t=="number"&&Number.isFinite(t)?t:void 0}}}var Hn="pine_";function sn(r){return r.startsWith(Hn)?r:`${Hn}${r}`}function Xu(r){if(!r.startsWith(Hn))return null;let t=r.slice(Hn.length);return t.length===0||t.includes(".")?null:t}function Bd(r){switch(nr(r.type)){case"EMA":return`EMA:period=${z(r,"period",20)}`;case"MA":return`MA:period=${z(r,"period",20)}`;case"BollingerBand":return`BollingerBand:period=${z(r,"period",20)}:stdDev=${z(r,"stdDev",2)}`;case"RSI":return`RSI:period=${z(r,"period",14)}`;case"MACD":return`MACD:fast=${z(r,"fast",12)}:slow=${z(r,"slow",26)}:signal=${z(r,"signal",9)}`;case"Whale":return`Whale:threshold=${z(r,"threshold",5e4)}`;case"SAR":return`SAR:afStep=${z(r,"afStep",.02)}:afMax=${z(r,"afMax",.2)}`;case"WR":return`WR:period=${z(r,"period",14)}`;case"VR":return`VR:period=${z(r,"period",26)}`;case"KDJ":return`KDJ:period=${z(r,"period",9)}:m1=${z(r,"m1",3)}:m2=${z(r,"m2",3)}`;case"CCI":return`CCI:period=${z(r,"period",20)}`;case"DMI":return`DMI:period=${z(r,"period",14)}`;case"BIAS":return`BIAS:period=${z(r,"period",6)}`;case"BRAR":return`BRAR:period=${z(r,"period",26)}`;case"MTM":return`MTM:period=${z(r,"period",6)}:signalPeriod=${z(r,"signalPeriod",6)}`;case"EMV":return`EMV:period=${z(r,"period",14)}`;case"AO":return"AO";case"ROC":return`ROC:period=${z(r,"period",12)}`;case"TRIX":return`TRIX:period=${z(r,"period",12)}:signalPeriod=${z(r,"signalPeriod",9)}`;case"DMA":return`DMA:fastPeriod=${z(r,"fastPeriod",10)}:slowPeriod=${z(r,"slowPeriod",50)}:signalPeriod=${z(r,"signalPeriod",10)}`;case"PVT":return"PVT";case"PSY":return`PSY:period=${z(r,"period",12)}:signalPeriod=${z(r,"signalPeriod",6)}`;case"CR":return`CR:period=${z(r,"period",26)}:m1=${z(r,"m1",10)}:m2=${z(r,"m2",20)}:m3=${z(r,"m3",40)}:m4=${z(r,"m4",60)}`;case"WMA":return`WMA:period=${z(r,"period",9)}`;case"VWMA":return`VWMA:period=${z(r,"period",20)}`;case"HMA":return`HMA:period=${z(r,"period",9)}`;case"DEMA":return`DEMA:period=${z(r,"period",9)}`;case"TEMA":return`TEMA:period=${z(r,"period",9)}`;case"MARibbon":{let t=r.params?.type||"EMA",u=r.params?.periods||[5,10,15,20,25,30,35,40,45,50];return`MARibbon:type=${t}:periods=${u.join(",")}`}case"Ichimoku":return`Ichimoku:tenkan=${z(r,"tenkan",9)}:kijun=${z(r,"kijun",26)}:senkouB=${z(r,"senkouB",52)}:displacement=${z(r,"displacement",26)}`;case"Supertrend":return`Supertrend:period=${z(r,"period",10)}:multiplier=${z(r,"multiplier",3)}`;case"Keltner":return`Keltner:period=${z(r,"period",20)}:atrPeriod=${z(r,"atrPeriod",10)}:multiplier=${z(r,"multiplier",2)}`;case"Donchian":return`Donchian:period=${z(r,"period",20)}`;case"ChaikinVol":return`ChaikinVol:period=${z(r,"period",10)}`;case"StdDev":return`StdDev:period=${z(r,"period",20)}`;case"HV":{let t=r.params?.annualize!==!1;return`HV:period=${z(r,"period",20)}:annualize=${t}`}case"CI":return`CI:period=${z(r,"period",14)}`;case"CVDApprox":return"CVDApprox";case"CVDRealtime":return"CVDRealtime";case"StrengthElder":return"StrengthElder";case"StrengthRelative":{let t=r.params?.compareSymbol||"VNINDEX",u=z(r,"period",14);return`StrengthRelative:compareSymbol=${t}:period=${u}`}case"SMFI":return"SMFI";case"WyckoffWave":return`WyckoffWave:thresholdPercent=${z(r,"thresholdPercent",1)}`;case"BBI":return"BBI";case"OBV":return"OBV";case"CMF":return`CMF:period=${z(r,"period",20)}`;case"MFI":return`MFI:period=${z(r,"period",14)}`;case"VolOsc":return`VolOsc:shortPeriod=${z(r,"shortPeriod",5)}:longPeriod=${z(r,"longPeriod",20)}`;case"ChaikinOscillator":return`ChaikinOscillator:fast=${z(r,"fast",3)}:slow=${z(r,"slow",10)}`;case"VWAP":{let t=r.params?.anchor||"session",u=r.params?.showBands!==!1,p=z(r,"multiplier",1);return`VWAP:anchor=${t}:showBands=${u}:multiplier=${p}`}case"AnchoredVWAP":{let t=z(r,"anchorTime",0),u=r.params?.showBands!==!1,p=z(r,"multiplier",1);return`AnchoredVWAP:anchorTime=${t}:showBands=${u}:multiplier=${p}`}case"Alligator":{let t=z(r,"jawPeriod",13),u=z(r,"jawShift",8),p=z(r,"teethPeriod",8),l=z(r,"teethShift",5),f=z(r,"lipsPeriod",5),d=z(r,"lipsShift",3);return`Alligator:jawPeriod=${t}:jawShift=${u}:teethPeriod=${p}:teethShift=${l}:lipsPeriod=${f}:lipsShift=${d}`}case"Fractals":return"Fractals";case"Gator":{let t=z(r,"jawPeriod",13),u=z(r,"jawShift",8),p=z(r,"teethPeriod",8),l=z(r,"teethShift",5),f=z(r,"lipsPeriod",5),d=z(r,"lipsShift",3);return`Gator:jawPeriod=${t}:jawShift=${u}:teethPeriod=${p}:teethShift=${l}:lipsPeriod=${f}:lipsShift=${d}`}case"AC":return"AC";case"PivotStandard":return`PivotStandard:pivotType=${z(r,"pivotType",0)}`;case"PivotHighLow":{let t=z(r,"lookback",10),u=z(r,"pivotType",0);return`PivotHighLow:lookback=${t}:pivotType=${u}`}case"MarketProfile":{let t=z(r,"tickSize",.01),u=z(r,"tpoPeriodMinutes",30);return`MarketProfile:tickSize=${t}:tpoPeriodMinutes=${u}`}case"VolumeProfile":return`VolumeProfile:priceTickSize=${z(r,"priceTickSize",.01)}`;case"Footprint":{let t=z(r,"barIntervalMs",6e4),u=z(r,"priceTickSize",.01);return`Footprint:barIntervalMs=${t}:priceTickSize=${u}`}case"DeltaProfile":{let t=z(r,"barIntervalMs",6e4),u=z(r,"priceTickSize",.01),p=z(r,"smaPeriod",14);return`DeltaProfile:barIntervalMs=${t}:priceTickSize=${u}:smaPeriod=${p}`}default:{let t=Xu(r.type);return t?`PINE:${t}`:void 0}}}function wd(r){let t=Bd(r);if(!t)return;let u="";return r.sourceType==="indicator"&&r.sourceId?u=`:sourceType=indicator:sourceId=${r.sourceId}:sourceKey=${r.sourceKey??"close"}`:r.sourceKey&&r.sourceKey!=="close"&&(u=`:sourceKey=${r.sourceKey}`),r.params?.timeframe&&r.params.timeframe!=="Same as chart"&&(u+=`:timeframe=${r.params.timeframe}`),t+u}function ie(r,t){let u=wd(t);if(u)return r.indicatorValues?.[u]}function xd(r){let t=r.boxes;if(!(!t||t.length===0))return t[t.length-1]?.close}function jo(r,t){if(t.overlaySymbolId){if(t.normalizeToBaseline===!0){let u=r.normalizedPrices?.[t.overlaySymbolId];if(typeof u=="number")return u}return r.symbolData?.[t.overlaySymbolId]?.close}}function ee(r,t){let u=jo(r,t);if(u!==void 0)return u;if(Xu(t.type))return Sd(ie(r,t));switch(nr(t.type)){case"Candlestick":case"HollowCandle":case"OHLC":case"HeikinAshi":case"Line":case"Area":return r.close;case"Volume":return r.volume;case"EMA":case"MA":case"RSI":case"CVDApprox":case"CVDRealtime":case"StrengthRelative":case"SMFI":case"CCI":case"BIAS":case"AO":case"ROC":case"PVT":case"WR":case"VR":case"WMA":case"VWMA":case"HMA":case"DEMA":case"TEMA":case"ChaikinVol":case"StdDev":case"HV":case"CI":return Oe(ie(r,t));case"KDJ":return Oe(ie(r,t),l=>l.j);case"DMI":return Oe(ie(r,t),l=>l.adx);case"BBI":return Oe(ie(r,t));case"SAR":return Oe(ie(r,t));case"OBV":return Oe(ie(r,t));case"BRAR":return Oe(ie(r,t),l=>l.br);case"MTM":return Oe(ie(r,t),l=>l.mtm);case"EMV":return Oe(ie(r,t),l=>l.emv);case"MACD":return Oe(ie(r,t),l=>l.macd);case"BollingerBand":return Oe(ie(r,t),l=>l.middle);case"Whale":return Oe(ie(r,t),l=>{let f=l;return f.whaleBuyVol??f.whaleSellVol});case"TRIX":return Oe(ie(r,t),l=>l.trix);case"DMA":return Oe(ie(r,t),l=>l.ddd);case"PSY":return Oe(ie(r,t),l=>l.psy);case"CR":return Oe(ie(r,t),l=>l.cr);case"StrengthElder":return Oe(ie(r,t),l=>l.bullPower);case"MARibbon":return Oe(ie(r,t),l=>Object.values(l)[0]);case"Ichimoku":return Oe(ie(r,t),l=>l.tenkan);case"Supertrend":return Oe(ie(r,t),l=>l.supertrend);case"Keltner":return Oe(ie(r,t),l=>l.middle);case"Donchian":return Oe(ie(r,t),l=>l.middle);case"CMF":case"MFI":case"VolOsc":case"ChaikinOscillator":return Oe(ie(r,t));case"AC":return Oe(ie(r,t),l=>l.ac);case"VWAP":case"AnchoredVWAP":return Oe(ie(r,t),l=>l.vwap);case"Alligator":return Oe(ie(r,t),l=>l.jaw);case"Fractals":return Oe(ie(r,t),l=>l.bearish);case"Gator":return Oe(ie(r,t),l=>l.upper);case"PivotStandard":case"PivotHighLow":return Oe(ie(r,t),l=>l.pp);case"MarketProfile":return Oe(ie(r,t),l=>l.poc);case"VolumeProfile":return Oe(ie(r,t),l=>l.poc);case"Footprint":return Oe(ie(r,t),l=>l.close);case"DeltaProfile":return Oe(ie(r,t),l=>l.cumulativeDelta);case"WyckoffWave":return Oe(ie(r,t),l=>l.zigzag);case"Comparison":return;case"HTFOverlay":return r.htf?.close;case"Baseline":return r.normalizedPrices?.[Dd];case"Renko":return r.renkoClose;case"Kagi":return r.current;case"PointAndFigure":return xd(r);case"LineBreak":return r.lineBreakClose;default:return r.close}}function Q(r,t){switch(nr(t.type)){case"BollingerBand":return ie(r,t);case"MACD":return ie(r,t);case"Whale":return ie(r,t);case"KDJ":return ie(r,t);case"DMI":return ie(r,t);case"BRAR":return ie(r,t);case"MTM":return ie(r,t);case"EMV":return ie(r,t);case"TRIX":return ie(r,t);case"DMA":return ie(r,t);case"PSY":return ie(r,t);case"CR":return ie(r,t);case"StrengthElder":return ie(r,t);case"MARibbon":return ie(r,t);case"Ichimoku":return ie(r,t);case"Supertrend":return ie(r,t);case"Keltner":return ie(r,t);case"Donchian":return ie(r,t);case"VWAP":case"AnchoredVWAP":return ie(r,t);case"Alligator":return ie(r,t);case"Fractals":return ie(r,t);case"Gator":return ie(r,t);case"PivotStandard":case"PivotHighLow":return ie(r,t);case"MarketProfile":return ie(r,t);case"VolumeProfile":return ie(r,t);case"Footprint":return ie(r,t);case"DeltaProfile":return ie(r,t);case"WyckoffWave":return ie(r,t);default:return ie(r,t)}}function Yy(r){switch(nr(r.type)){case"Candlestick":case"HollowCandle":case"OHLC":case"HeikinAshi":return r.overlaySymbolId?[t=>t.symbolData?.[r.overlaySymbolId]?.low??jo(t,r)??t.low,t=>t.symbolData?.[r.overlaySymbolId]?.high??jo(t,r)??t.high]:[t=>t.low,t=>t.high];case"Volume":return[t=>t.volume];case"EMA":case"MA":case"RSI":case"CVDApprox":case"CVDRealtime":case"StrengthRelative":case"SMFI":case"Line":case"Area":case"Baseline":case"Renko":case"Kagi":case"PointAndFigure":case"LineBreak":case"CCI":case"BIAS":case"AO":case"ROC":case"PVT":return[t=>ee(t,r)];case"KDJ":return[t=>Q(t,r)?.k,t=>Q(t,r)?.d,t=>Q(t,r)?.j];case"DMI":return[t=>Q(t,r)?.plusDI,t=>Q(t,r)?.minusDI,t=>Q(t,r)?.adx];case"BRAR":return[t=>Q(t,r)?.ar,t=>Q(t,r)?.br];case"MTM":return[t=>Q(t,r)?.mtm,t=>Q(t,r)?.signal];case"EMV":return[t=>Q(t,r)?.emv,t=>Q(t,r)?.signal];case"BollingerBand":return[t=>Q(t,r)?.top,t=>Q(t,r)?.middle,t=>Q(t,r)?.bottom];case"MACD":return[t=>Q(t,r)?.macd,t=>Q(t,r)?.signal,t=>Q(t,r)?.divergence];case"TRIX":return[t=>Q(t,r)?.trix,t=>Q(t,r)?.signal];case"DMA":return[t=>Q(t,r)?.ddd,t=>Q(t,r)?.ama];case"PSY":return[t=>Q(t,r)?.psy,t=>Q(t,r)?.signal];case"CR":return[t=>Q(t,r)?.cr,t=>Q(t,r)?.ma1,t=>Q(t,r)?.ma2,t=>Q(t,r)?.ma3,t=>Q(t,r)?.ma4];case"StrengthElder":return[t=>Q(t,r)?.bullPower,t=>Q(t,r)?.bearPower];case"Whale":return[t=>Q(t,r)?.whaleBuyVol,t=>Q(t,r)?.whaleSellVol];case"MARibbon":return(r.params?.periods||[5,10,15,20,25,30,35,40,45,50]).map(u=>p=>Q(p,r)?.[`ma${u}`]);case"Ichimoku":return[t=>Q(t,r)?.tenkan,t=>Q(t,r)?.kijun,t=>Q(t,r)?.senkouA,t=>Q(t,r)?.senkouB,t=>Q(t,r)?.chikou];case"Supertrend":return[t=>Q(t,r)?.supertrend];case"Keltner":return[t=>Q(t,r)?.upper,t=>Q(t,r)?.middle,t=>Q(t,r)?.lower];case"Donchian":return[t=>Q(t,r)?.upper,t=>Q(t,r)?.middle,t=>Q(t,r)?.lower];case"CMF":case"MFI":case"VolOsc":case"AC":return[t=>ee(t,r)];case"VWAP":case"AnchoredVWAP":return[t=>Q(t,r)?.vwap,t=>Q(t,r)?.upper1,t=>Q(t,r)?.lower1,t=>Q(t,r)?.upper2,t=>Q(t,r)?.lower2,t=>Q(t,r)?.upper3,t=>Q(t,r)?.lower3];case"Alligator":return[t=>Q(t,r)?.jaw,t=>Q(t,r)?.teeth,t=>Q(t,r)?.lips];case"Fractals":return[t=>Q(t,r)?.bearish,t=>Q(t,r)?.bullish];case"Gator":return[t=>Q(t,r)?.upper,t=>Q(t,r)?.lower];case"PivotStandard":case"PivotHighLow":return[t=>Q(t,r)?.pp,t=>Q(t,r)?.r1,t=>Q(t,r)?.s1,t=>Q(t,r)?.r2,t=>Q(t,r)?.s2,t=>Q(t,r)?.r3,t=>Q(t,r)?.s3];case"MarketProfile":return[t=>Q(t,r)?.poc,t=>Q(t,r)?.valueAreaHigh,t=>Q(t,r)?.valueAreaLow];case"VolumeProfile":return[t=>Q(t,r)?.poc,t=>Q(t,r)?.valueAreaHigh,t=>Q(t,r)?.valueAreaLow];case"Footprint":return[t=>Q(t,r)?.high,t=>Q(t,r)?.low];case"DeltaProfile":return[t=>Q(t,r)?.cumulativeDelta,t=>Q(t,r)?.barDelta,t=>Q(t,r)?.deltaSMA];case"WyckoffWave":return[t=>Q(t,r)?.zigzag];default:return[t=>ee(t,r)]}}var Ju=()=>ye("Candlestick",{component:Vn,defaultParams:{},defaultYAxis:"right",tooltipEntry:()=>({label:"Price",format:Y(".2f"),accessor:r=>r.close})}),Zu=()=>ye("HollowCandle",{component:Vn,defaultParams:{hollow:!0},defaultYAxis:"right",tooltipEntry:()=>({label:"Hollow",format:Y(".2f"),accessor:r=>r.close})}),Qu=()=>ye("OHLC",{component:Lu,defaultParams:{},defaultYAxis:"right",tooltipEntry:()=>({label:"OHLC",format:Y(".2f"),accessor:r=>r.close})}),ei=()=>ye("HeikinAshi",{component:Vn,defaultParams:{transformed:"heikinashi"},defaultYAxis:"right",tooltipEntry:()=>({label:"HA",format:Y(".2f"),accessor:r=>r.close})}),ti=()=>Ce("Line",{component:oe,tooltipEntry:r=>({label:String(r.params?.label??"Line"),format:Y(".2f"),accessor:t=>t.close})}),ri=()=>Ce("Area",{component:Mu,tooltipEntry:r=>({label:String(r.params?.label??"Area"),format:Y(".2f"),accessor:t=>t.close})}),ni=()=>ye("Baseline",{component:oe,renderMode:"baseline",defaultParams:{},defaultYAxis:"right",tier:"pro",tooltipEntry:r=>({label:String(r.params?.label??"Baseline"),format:Y(".2f"),accessor:t=>ee(t,r)})}),oi=()=>ye("Renko",{component:qu,renderMode:"renko",defaultParams:{},defaultYAxis:"right",tier:"pro",tooltipEntry:r=>({label:String(r.params?.label??"Renko"),format:Y(".2f"),accessor:t=>ee(t,r)})}),ai=()=>ye("Kagi",{component:Ku,renderMode:"kagi",defaultParams:{},defaultYAxis:"right",tier:"pro",tooltipEntry:r=>({label:String(r.params?.label??"Kagi"),format:Y(".2f"),accessor:t=>ee(t,r)})}),ui=()=>ye("PointAndFigure",{component:Yu,renderMode:"pointandfigure",defaultParams:{},defaultYAxis:"right",tier:"pro",tooltipEntry:r=>({label:String(r.params?.label??"Point & Figure"),format:Y(".2f"),accessor:t=>ee(t,r)})}),ii=()=>ye("LineBreak",{component:Gu,renderMode:"linebreak",defaultParams:{},defaultYAxis:"right",tier:"pro",tooltipEntry:r=>({label:String(r.params?.label??"Line Break"),format:Y(".2f"),accessor:t=>ee(t,r)})}),si=()=>ye("Histogram",{component:Tu,defaultParams:{baseAt:0},defaultYAxis:"right",settingsFields:[{key:"baseAt",labelKey:"settings.baseAt",type:"number",defaultValue:0,min:-1e6,max:1e6,step:.5}],tooltipEntry:r=>({label:"Histogram",format:Y(".2f"),accessor:t=>ee(t,r)})});var li=()=>Ce("EMA",{component:oe,defaultParams:{period:20},settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:20,min:1,step:1}],tooltipEntry:r=>({label:`EMA(${we(r,20)})`,format:Y(".2f"),accessor:t=>ee(t,r)})}),ci=()=>Ce("MA",{component:oe,defaultParams:{period:20},settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:20,min:1,step:1}],tooltipEntry:r=>({label:`MA(${we(r,20)})`,format:Y(".2f"),accessor:t=>ee(t,r)})}),pi=()=>Ce("BBI",{component:oe,defaultParams:{},defaultYAxis:"right",tooltipEntry:r=>({label:"BBI",format:Y(".2f"),accessor:t=>ee(t,r)})}),di=()=>Ce("WMA",{component:oe,defaultParams:{period:9},defaultYAxis:"right",settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:9,min:1,step:1}],tooltipEntry:r=>({label:`WMA(${we(r,9)})`,format:Y(".2f"),accessor:t=>ee(t,r)})}),fi=()=>Ce("VWMA",{component:oe,defaultParams:{period:20},defaultYAxis:"right",settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:20,min:1,step:1}],tooltipEntry:r=>({label:`VWMA(${we(r,20)})`,format:Y(".2f"),accessor:t=>ee(t,r)})}),mi=()=>Ce("HMA",{component:oe,defaultParams:{period:9},defaultYAxis:"right",settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:9,min:1,step:1}],tooltipEntry:r=>({label:`HMA(${we(r,9)})`,format:Y(".2f"),accessor:t=>ee(t,r)})}),hi=()=>Ce("DEMA",{component:oe,defaultParams:{period:9},defaultYAxis:"right",settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:9,min:1,step:1}],tooltipEntry:r=>({label:`DEMA(${we(r,9)})`,format:Y(".2f"),accessor:t=>ee(t,r)})}),yi=()=>Ce("TEMA",{component:oe,defaultParams:{period:9},defaultYAxis:"right",settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:9,min:1,step:1}],tooltipEntry:r=>({label:`TEMA(${we(r,9)})`,format:Y(".2f"),accessor:t=>ee(t,r)})}),gi=()=>ye("MARibbon",{component:oe,defaultParams:{type:"EMA",periods:[5,10,15,20,25,30,35,40,45,50]},defaultYAxis:"right",tooltipEntry:r=>({label:"MA Ribbon",format:Y(".2f"),accessor:t=>ee(t,r)})}),Ai=()=>Ce("DMA",{component:oe,defaultParams:{fastPeriod:10,slowPeriod:50,signalPeriod:10},defaultYAxis:"right",settingsFields:[{key:"fastPeriod",labelKey:"settings.fastPeriod",type:"number",defaultValue:10,min:1,step:1},{key:"slowPeriod",labelKey:"settings.slowPeriod",type:"number",defaultValue:50,min:1,step:1},{key:"signalPeriod",labelKey:"settings.signalPeriod",type:"number",defaultValue:10,min:1,step:1}],tooltipEntry:r=>({label:"DMA",format:Y(".2f"),accessor:t=>ee(t,r)})});import{Component as kd}from"react";import lt from"prop-types";import{jsx as Gn,jsxs as _d}from"react/jsx-runtime";var ln=class extends kd{static defaultProps;constructor(t){super(t),this.yAccessorForTop=this.yAccessorForTop.bind(this),this.yAccessorForMiddle=this.yAccessorForMiddle.bind(this),this.yAccessorForBottom=this.yAccessorForBottom.bind(this),this.yAccessorForScalledBottom=this.yAccessorForScalledBottom.bind(this)}yAccessorForTop(t){let{yAccessor:u}=this.props;return u(t)&&u(t).top}yAccessorForMiddle(t){let{yAccessor:u}=this.props;return u(t)&&u(t).middle}yAccessorForBottom(t){let{yAccessor:u}=this.props;return u(t)&&u(t).bottom}yAccessorForScalledBottom(t,u){let{yAccessor:p}=this.props;return t(p(u)&&p(u).bottom)}render(){let{areaClassName:t,className:u,opacity:p,fillMode:l}=this.props,{stroke:f,strokeWidth:d,fill:s}=this.props;return _d("g",{className:u,children:[Gn(oe,{yAccessor:this.yAccessorForTop,stroke:f.top,strokeWidth:d?.top,fill:"none"}),Gn(oe,{yAccessor:this.yAccessorForMiddle,stroke:f.middle,strokeWidth:d?.middle,fill:"none"}),Gn(oe,{yAccessor:this.yAccessorForBottom,stroke:f.bottom,strokeWidth:d?.bottom,fill:"none"}),Gn(Nn,{className:t,yAccessor:this.yAccessorForTop,base:this.yAccessorForScalledBottom,stroke:"none",fill:s,opacity:p,fillMode:l})]})}};ln.propTypes={yAccessor:lt.func.isRequired,className:lt.string,areaClassName:lt.string,opacity:lt.number,type:lt.string,stroke:lt.shape({top:lt.string.isRequired,middle:lt.string.isRequired,bottom:lt.string.isRequired}).isRequired,strokeWidth:lt.shape({top:lt.number,middle:lt.number,bottom:lt.number}),fill:lt.string.isRequired,fillMode:lt.string};ln.defaultProps={className:"vninvestcharts-widget-bollinger-band-series",areaClassName:"vninvestcharts-widget-bollinger-band-series-area",opacity:.2};var Yo=ln;var Ci=()=>ye("BollingerBand",{component:Yo,defaultParams:{period:20,stdDev:2,fillMode:"none",fillOpacity:.15},defaultYAxis:"right",settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:20,min:5,step:1},{key:"stdDev",labelKey:"settings.stdDev",type:"number",defaultValue:2,min:.5,step:.5},{key:"fillMode",labelKey:"settings.fillMode",type:"select",defaultValue:"none",options:[{value:"none",labelKey:"settings.fillMode.none"},{value:"solid",labelKey:"settings.fillMode.solid"},{value:"fade",labelKey:"settings.fillMode.fade"}]},{key:"fillOpacity",labelKey:"settings.fillOpacity",type:"number",defaultValue:.15,min:0,max:1,step:.05},{key:"fillColor",labelKey:"settings.fillColor",type:"color",defaultValue:""}],tooltipEntry:r=>({label:`BB(${we(r,20)},${r.params?.stdDev??2})`,format:Y(".2f"),accessor:t=>ee(t,r)})}),vi=()=>ye("BollingerBands",{component:Yo,defaultParams:{period:20,stdDev:2,fillMode:"none",fillOpacity:.15},defaultYAxis:"right",settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:20,min:5,step:1},{key:"stdDev",labelKey:"settings.stdDev",type:"number",defaultValue:2,min:.5,step:.5},{key:"fillMode",labelKey:"settings.fillMode",type:"select",defaultValue:"none",options:[{value:"none",labelKey:"settings.fillMode.none"},{value:"solid",labelKey:"settings.fillMode.solid"},{value:"fade",labelKey:"settings.fillMode.fade"}]},{key:"fillOpacity",labelKey:"settings.fillOpacity",type:"number",defaultValue:.15,min:0,max:1,step:.05},{key:"fillColor",labelKey:"settings.fillColor",type:"color",defaultValue:""}],tooltipEntry:r=>({label:`BB(${we(r,20)},${r.params?.stdDev??2})`,format:Y(".2f"),accessor:t=>ee(t,r)})}),bi=()=>ye("Keltner",{component:oe,defaultParams:{period:20,atrPeriod:10,multiplier:2,fillMode:"none",fillOpacity:.06},defaultYAxis:"right",settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:20,min:1,step:1},{key:"atrPeriod",labelKey:"settings.atrPeriod",type:"number",defaultValue:10,min:1,step:1},{key:"multiplier",labelKey:"settings.multiplier",type:"number",defaultValue:2,min:1,step:1},{key:"fillMode",labelKey:"settings.fillMode",type:"select",defaultValue:"none",options:[{value:"none",labelKey:"settings.fillMode.none"},{value:"solid",labelKey:"settings.fillMode.solid"},{value:"fade",labelKey:"settings.fillMode.fade"}]},{key:"fillOpacity",labelKey:"settings.fillOpacity",type:"number",defaultValue:.06,min:0,max:1,step:.05},{key:"fillColor",labelKey:"settings.fillColor",type:"color",defaultValue:""}],tooltipEntry:r=>({label:`Keltner(${we(r,20)})`,format:Y(".2f"),accessor:t=>ee(t,r)})}),Fi=()=>ye("Donchian",{component:oe,defaultParams:{period:20,fillMode:"none",fillOpacity:.06},defaultYAxis:"right",settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:20,min:1,step:1},{key:"fillMode",labelKey:"settings.fillMode",type:"select",defaultValue:"none",options:[{value:"none",labelKey:"settings.fillMode.none"},{value:"solid",labelKey:"settings.fillMode.solid"},{value:"fade",labelKey:"settings.fillMode.fade"}]},{key:"fillOpacity",labelKey:"settings.fillOpacity",type:"number",defaultValue:.06,min:0,max:1,step:.05},{key:"fillColor",labelKey:"settings.fillColor",type:"color",defaultValue:""}],tooltipEntry:r=>({label:`Donchian(${we(r,20)})`,format:Y(".2f"),accessor:t=>ee(t,r)})}),Ei=()=>Ce("ChaikinVol",{component:oe,defaultParams:{period:10},defaultYAxis:"left",settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:10,min:1,step:1}],tooltipEntry:r=>({label:`ChaikinVol(${we(r,10)})`,format:Y(".1f"),accessor:t=>ee(t,r)})}),Di=()=>Ce("StdDev",{component:oe,defaultParams:{period:20},defaultYAxis:"left",settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:20,min:1,step:1}],tooltipEntry:r=>({label:`StdDev(${we(r,20)})`,format:Y(".2f"),accessor:t=>ee(t,r)})}),Si=()=>Ce("HV",{component:oe,defaultParams:{period:20,annualize:!0},defaultYAxis:"left",settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:20,min:1,step:1}],tooltipEntry:r=>({label:`HV(${we(r,20)})`,format:Y(".1f"),accessor:t=>ee(t,r)})});import{Component as Ld}from"react";import Rt from"prop-types";import{merge as Td}from"d3-array";import{Component as Vd}from"react";import qe from"prop-types";import{Component as Pd}from"react";import ut from"prop-types";import{merge as Rd}from"d3-array";import{stack as Bi}from"d3-shape";import{jsx as jn}from"react/jsx-runtime";var Un=class extends Pd{static defaultProps;constructor(t){super(t),this.renderSVG=this.renderSVG.bind(this),this.drawOnCanvas=this.drawOnCanvas.bind(this)}drawOnCanvas(t,u){let{xAccessor:p}=u;Id(t,this.props,u,p,Bi)}renderSVG(t){let{xAccessor:u}=t;return jn("g",{children:Md(this.props,t,u,Bi)})}render(){let{clip:t}=this.props;return jn(Re,{clip:t,svgDraw:this.renderSVG,canvasDraw:this.drawOnCanvas,canvasToDraw:Pe,drawOn:["pan"]})}};Un.propTypes={baseAt:ut.oneOfType([ut.number,ut.func]).isRequired,direction:ut.oneOf(["up","down"]).isRequired,stroke:ut.bool.isRequired,width:ut.oneOfType([ut.number,ut.func]).isRequired,opacity:ut.number.isRequired,fill:ut.oneOfType([ut.func,ut.string]).isRequired,className:ut.oneOfType([ut.func,ut.string]).isRequired,clip:ut.bool.isRequired};Un.defaultProps={baseAt:(r,t)=>Ft(t.range()),direction:"up",className:"bar",stroke:!0,fill:"#4682B4",opacity:.5,width:bt,widthRatio:.8,clip:!0,swapScales:!1};function Od(){let r=[];function t(u){return r.map((l,f)=>{let d=u.map(s=>{let c=[0,s[l]];return c.data=s,c});return d.key=l,d.index=f,d})}return t.keys=function(u){return arguments.length?(r=u,t):r},t}function Id(r,t,u,p,l,f=tt,d=ki){let{xScale:s,chartConfig:{yScale:c},plotData:o}=u,y=xi(t,p,o,s,c,l,d,f);qo(t,r,y)}function wi(r){return Array.isArray(r)?r:[r]}function Md(r,t,u,p,l=tt,f=ki){let{xScale:d,chartConfig:{yScale:s},plotData:c}=t,o=xi(r,u,c,d,s,p,f,l);return zo(r,o)}function xi(r,t,u,p,l,f,d,s){let{yAccessor:c,swapScales:o}=r,y=wi(o?r.xAccessor:c);return Nd(r,o?c:t,y,o?l:p,o?p:l,u,f,o?d:s)}var ki=r=>r.map(t=>({...t,x:t.y,y:t.x,height:t.width,width:t.height}));function zo(r,t){let{opacity:u}=r;return t.map((p,l)=>p.width<=1?jn("line",{className:p.className,stroke:p.fill,x1:p.x,y1:p.y,x2:p.x,y2:p.y+p.height},l):jn("rect",{className:p.className,stroke:p.stroke,fill:p.fill,x:p.x,y:p.y,width:p.width,fillOpacity:u,height:p.height},l))}function qo(r,t,u){let{stroke:p}=r;u.reduce((f,d)=>(f.has(d.fill)||f.set(d.fill,[]),f.get(d.fill).push(d),f),new Map).forEach((f,d)=>{Ft(f).width>1&&(t.strokeStyle=d);let s=Ft(f).width<=1?d:Ne(d,r.opacity);t.fillStyle=s,f.forEach(c=>{c.width<=1?t.fillRect(c.x-.5,c.y,1,c.height):(t.fillRect(c.x,c.y,c.width,c.height),p&&t.strokeRect(c.x,c.y,c.width,c.height))})})}function Nd(r,t,u,p,l,f,d=Od,s=tt){let{baseAt:c,className:o,fill:y,stroke:g,spaceBetweenBar:C=0}=r,F=Be(o),B=Be(y),b=Be(c),R=Be(r.width)(r,{xScale:p,xAccessor:t,plotData:f}),k=Math.round(R),D=(k-C*(u.length-1))/u.length,S=k===1?0:.5*R,P=f.map(H=>{let G={appearance:{},x:t(H)};return u.forEach((Z,te)=>{let me=`y${te}`;G[me]=Z(H);let ke={className:F(H,te),stroke:g?B(H,te):"none",fill:B(H,te)};G.appearance[me]=ke}),G}),w=u.map((H,G)=>`y${G}`),V=d().keys(w)(P).map((H,G)=>{let Z=H.key;return H.map(te=>{let me=[te[0],te[1]];return me.data={x:te.data.x,i:G,appearance:te.data.appearance[Z]},me})}),W=Rd(V).map(H=>{let G=l(H[1]),Z=b(p,l,H.data)-l(H[1]-H[0]);return Z<0&&(G=G+Z,Z=-Z),{...H.data.appearance,x:Math.round(p(H.data.x)-R/2),y:G,groupOffset:Math.round(S-(H.data.i>0?(D+C)*H.data.i:0)),groupWidth:Math.round(D),offset:Math.round(S),height:Z,width:k}}).filter(H=>!isNaN(H.y));return s(W)}import{jsx as Pi}from"react/jsx-runtime";var pn=class extends Vd{static defaultProps;constructor(t){super(t),this.renderSVG=this.renderSVG.bind(this),this.drawOnCanvas=this.drawOnCanvas.bind(this)}drawOnCanvas(t,u){let{yAccessor:p}=this.props,l=_i(this.props,u,p);qo(this.props,t,l)}renderSVG(t){let{yAccessor:u}=this.props,p=_i(this.props,t,u);return Pi("g",{className:"vninvestcharts-widget-bar-series",children:zo(this.props,p)})}render(){let{clip:t}=this.props;return Pi(Re,{svgDraw:this.renderSVG,canvasToDraw:Pe,canvasDraw:this.drawOnCanvas,clip:t,drawOn:["pan"]})}};pn.propTypes={baseAt:qe.oneOfType([qe.number,qe.func]).isRequired,direction:qe.oneOf(["up","down"]).isRequired,stroke:qe.bool.isRequired,widthRatio:qe.number.isRequired,opacity:qe.number.isRequired,fill:qe.oneOfType([qe.func,qe.string]).isRequired,className:qe.oneOfType([qe.func,qe.string]).isRequired,xAccessor:qe.func,yAccessor:qe.arrayOf(qe.func),xScale:qe.func,yScale:qe.func,plotData:qe.array,clip:qe.bool.isRequired};pn.defaultProps={baseAt:(r,t)=>Fr(t.range()),direction:"up",className:"bar",stroke:!1,fill:"#4682B4",opacity:1,widthRatio:.5,width:bt,clip:!0};function _i(r,t,u){let{xScale:p,xAccessor:l,chartConfig:{yScale:f},plotData:d}=t,{baseAt:s,className:c,fill:o,stroke:y}=r,g=Be(c),C=Be(o),F=Be(s),b=Be(r.width)(r,t),O=Math.floor(.5*b),R=d.map(k=>{let D=u.map((w,E)=>{let N=w(k);if(Tt(N))return;let V=l(k),W=Math.round(p(V))-O,H=f(N);return{width:O*2,x:W,y:H,className:g(k,E),stroke:y?C(k,E):"none",fill:C(k,E),i:E}}).filter(w=>be(w)),S=F(p,f,k),P;for(let w=D.length-1;w>=0;w--)P=S-D[w].y,P<0&&(D[w].y=S,P=-1*P),D[w].height=P,S=D[w].y;return D});return Td(R)}var Ri=pn;import{Component as $d}from"react";import Pt from"prop-types";import{jsx as Ii}from"react/jsx-runtime";var Yn=class extends $d{constructor(t){super(t),this.renderSVG=this.renderSVG.bind(this),this.drawOnCanvas=this.drawOnCanvas.bind(this)}drawOnCanvas(t,u){let{type:p="horizontal",stroke:l="#000000",strokeWidth:f=1,opacity:d=.5,strokeDasharray:s="Solid",yValue:c,xValue:o}=this.props,{xScale:y,chartConfig:{yScale:g,width:C,height:F}}=u;t.beginPath(),t.strokeStyle=Ne(l,d),t.lineWidth=f;let{x1:B,y1:b,x2:O,y2:R}=Oi(p,y,g,o,c,C,F);t.setLineDash(br(s).split(",").map(k=>+k)),t.moveTo(B,b),t.lineTo(O,R),t.stroke()}renderSVG(t){let{xScale:u,chartConfig:{yScale:p,width:l,height:f}}=t,{className:d="line ",type:s="horizontal",stroke:c="#000000",strokeWidth:o=1,opacity:y=.5,strokeDasharray:g="Solid",yValue:C,xValue:F}=this.props,B=Oi(s,u,p,F,C,l,f);return Ii("line",{className:d,strokeDasharray:br(g),stroke:c,strokeWidth:o,strokeOpacity:y,...B})}render(){return Ii(Re,{svgDraw:this.renderSVG,canvasDraw:this.drawOnCanvas,canvasToDraw:Pe,drawOn:["pan"]})}};function Oi(r,t,u,p,l,f,d){return r==="horizontal"?{x1:0,y1:Math.round(u(l)),x2:f,y2:Math.round(u(l))}:{x1:Math.round(t(p)),y1:0,x2:Math.round(t(p)),y2:d}}Yn.propTypes={className:Pt.string,type:Pt.oneOf(["vertical","horizontal"]),stroke:Pt.string,strokeWidth:Pt.number,strokeDasharray:Pt.oneOf(wt),opacity:Pt.number.isRequired,yValue:Pt.number,xValue:Pt.oneOfType([Pt.number,Pt.instanceOf(Date)])};var Zt=Yn;import{jsx as Mi,jsxs as Wd}from"react/jsx-runtime";var dn=class extends Ld{static defaultProps;constructor(t){super(t),this.fillForEachBar=this.fillForEachBar.bind(this),this.yAccessorTop=this.yAccessorTop.bind(this),this.yAccessorBullTop=this.yAccessorBullTop.bind(this),this.yAccessorBearTop=this.yAccessorBearTop.bind(this),this.yAccessorBullBottom=this.yAccessorBullBottom.bind(this),this.yAccessorBearBottom=this.yAccessorBearBottom.bind(this),this.yAccessorForBarBase=this.yAccessorForBarBase.bind(this)}yAccessorTop(t){let{yAccessor:u}=this.props;return u(t)&&Math.max(u(t).bullPower,0)}yAccessorBullTop(t){let{yAccessor:u}=this.props;return u(t)&&(u(t).bullPower>0?u(t).bullPower:void 0)}yAccessorBearTop(t){let{yAccessor:u}=this.props;return u(t)&&(u(t).bearPower>0?u(t).bearPower:void 0)}yAccessorBullBottom(t){let{yAccessor:u}=this.props;return u(t)&&(u(t).bullPower<0?0:void 0)}yAccessorBearBottom(t){let{yAccessor:u}=this.props;return u(t)&&(u(t).bullPower<0||u(t).bullPower*u(t).bearPower<0?Math.min(0,u(t).bullPower):void 0)}yAccessorForBarBase(t,u,p){let{yAccessor:l}=this.props,f=l(p)&&Math.min(l(p).bearPower,0);return u(f)}fillForEachBar(t,u){let{bullPowerFill:p,bearPowerFill:l}=this.props;return u%2===0?p:l}render(){let{className:t,opacity:u,stroke:p,straightLineStroke:l,straightLineOpacity:f,widthRatio:d}=this.props,{clip:s}=this.props;return Wd("g",{className:t,children:[Mi(Ri,{baseAt:this.yAccessorForBarBase,className:"vninvestcharts-widget-elderray-bar",stroke:p,fill:this.fillForEachBar,opacity:u,widthRatio:d,clip:s,yAccessor:[this.yAccessorBullTop,this.yAccessorBearTop,this.yAccessorBullBottom,this.yAccessorBearBottom]}),Mi(Zt,{className:"vninvestcharts-widget-elderray-straight-line",yValue:0,stroke:l,opacity:f})]})}};dn.propTypes={className:Rt.string,yAccessor:Rt.func,opacity:Rt.number,stroke:Rt.bool,bullPowerFill:Rt.string,bearPowerFill:Rt.string,straightLineStroke:Rt.string,straightLineOpacity:Rt.number,widthRatio:Rt.number,clip:Rt.bool.isRequired};dn.defaultProps={className:"vninvestcharts-widget-elderray-series",straightLineStroke:"#000000",straightLineOpacity:.3,opacity:.5,stroke:!0,bullPowerFill:"#6BA583",bearPowerFill:"#FF0000",widthRatio:.8,clip:!0};var Ni=dn;import Ue from"prop-types";var zn={light:{BollingerBand:{stroke:{top:"#964B00",middle:"#000000",bottom:"#964B00"},fill:"#4682B4"},ElderImpulse:{stroke:{up:"#6BA583",down:"#FF0000",neutral:"#0000FF"}},MACD:{fill:{divergence:"#4682B4"},stroke:{macd:"#FF0000",signal:"#00F300"}},FullStochasticOscillator:{stroke:{top:"#37a600",middle:"#b8ab00",bottom:"#37a600",dLine:"#17becf",kLine:"#ff7f0e"}}},dark:{BollingerBand:{stroke:{top:"#964B00",middle:"#FF6600",bottom:"#964B00"},fill:"#4682B4"},ElderImpulse:{stroke:{up:"#6BA583",down:"#FF0000",neutral:"#0000FF"}},MACD:{fill:{divergence:"#FF6600"},stroke:{macd:"#ea2bff",signal:"#74d400"}},FullStochasticOscillator:{stroke:{top:"#37a600",middle:"#b8ab00",bottom:"#37a600",dLine:"#ea2bff",kLine:"#74d400"}}}},iA=zn.light.BollingerBand,sA=zn.light.ElderImpulse,Xo=zn.light.MACD,lA=zn.light.FullStochasticOscillator;import{jsx as qn,jsxs as Kd}from"react/jsx-runtime";var Ti=r=>{let{className:t="vninvestcharts-widget-macd-series",opacity:u=.85,divergenceStroke:p=!1,widthRatio:l=.5,width:f=_t.defaultProps.width,stroke:d,strokeWidth:s,fill:c,clip:o=!0,zeroLineStroke:y="#000000",zeroLineOpacity:g=.3,yAccessor:C}=r,F=d??Xo.stroke,B=c??Xo.fill,b=D=>C(D)?.macd,O=D=>C(D)?.signal,R=D=>C(D)?.divergence;return Kd("g",{className:t,children:[qn(_t,{baseAt:(D,S)=>S(0),className:"macd-divergence",width:f,widthRatio:l,stroke:p,fill:B.divergence,opacity:u,clip:o,yAccessor:R}),qn(oe,{yAccessor:b,stroke:F.macd,strokeWidth:s?.macd,fill:"none"}),qn(oe,{yAccessor:O,stroke:F.signal,strokeWidth:s?.signal,fill:"none"}),qn(Zt,{stroke:y,opacity:g,yValue:0})]})};Ti.propTypes={className:Ue.string,yAccessor:Ue.func.isRequired,opacity:Ue.number,divergenceStroke:Ue.bool,zeroLineStroke:Ue.string,zeroLineOpacity:Ue.number,clip:Ue.bool.isRequired,stroke:Ue.shape({macd:Ue.string.isRequired,signal:Ue.string.isRequired}).isRequired,strokeWidth:Ue.shape({macd:Ue.number,signal:Ue.number}),fill:Ue.shape({divergence:Ue.oneOfType([Ue.string,Ue.func]).isRequired}).isRequired,widthRatio:Ue.number,width:Ue.oneOfType([Ue.number,Ue.func])};var Vi=Ti;import{useMemo as $i}from"react";import Te from"prop-types";import{jsx as Qt,jsxs as Jo}from"react/jsx-runtime";var Hd={line:"#000000",top:"#B8C2CC",middle:"#8795A1",bottom:"#B8C2CC",outsideThreshold:"#b300b3",insideThreshold:"#ffccff"},Gd={top:1,middle:1,bottom:1},Ud={line:"Solid",top:"ShortDash",middle:"ShortDash",bottom:"ShortDash"},jd={outsideThreshold:1,insideThreshold:1,top:1,middle:1,bottom:1},Li=r=>{let{className:t="vninvestcharts-widget-rsi-series",stroke:u,opacity:p,strokeDasharray:l,strokeWidth:f,yAccessor:d,overSold:s=70,middle:c=50,overBought:o=30}=r,y=u??Hd,g=p??Gd,C=l??Ud,F=f??jd,B=$i(()=>`rsi-clip-${Math.round(Math.random()*1e6)}`,[]),b=$i(()=>`rsi-clip-${Math.round(Math.random()*1e6)}`,[]),O=R=>{let{chartConfig:{yScale:k,width:D,height:S}}=R;return Jo("defs",{children:[Qt("clipPath",{id:B,children:Qt("rect",{x:0,y:k(s),width:D,height:k(o)-k(s)})}),Jo("clipPath",{id:b,children:[Qt("rect",{x:0,y:0,width:D,height:k(s)}),Qt("rect",{x:0,y:k(o),width:D,height:S-k(o)})]})]})};return Jo("g",{className:t,children:[Qt(oe,{className:t,yAccessor:d,stroke:y.insideThreshold||y.line,strokeWidth:F.insideThreshold,strokeDasharray:C.line}),Qt(Zt,{stroke:y.top,opacity:g.top,yValue:s,strokeDasharray:C.top,strokeWidth:F.top}),Qt(Zt,{stroke:y.middle,opacity:g.middle,yValue:c,strokeDasharray:C.middle,strokeWidth:F.middle}),Qt(Zt,{stroke:y.bottom,opacity:g.bottom,yValue:o,strokeDasharray:C.bottom,strokeWidth:F.bottom})]})};Li.propTypes={className:Te.string,yAccessor:Te.func.isRequired,stroke:Te.shape({top:Te.string.isRequired,middle:Te.string.isRequired,bottom:Te.string.isRequired,outsideThreshold:Te.string.isRequired,insideThreshold:Te.string.isRequired}).isRequired,opacity:Te.shape({top:Te.number.isRequired,middle:Te.number.isRequired,bottom:Te.number.isRequired}).isRequired,strokeDasharray:Te.shape({line:Te.oneOf(wt),top:Te.oneOf(wt),middle:Te.oneOf(wt),bottom:Te.oneOf(wt)}).isRequired,strokeWidth:Te.shape({outsideThreshold:Te.number.isRequired,insideThreshold:Te.number.isRequired,top:Te.number.isRequired,middle:Te.number.isRequired,bottom:Te.number.isRequired}).isRequired,overSold:Te.number.isRequired,middle:Te.number.isRequired,overBought:Te.number.isRequired};var Wi=Li;var Ki=()=>ye("RSI",{component:Wi,defaultParams:{period:14},defaultYAxis:"left",settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:14,min:2,step:1}],tooltipEntry:r=>({label:`RSI(${we(r,14)})`,format:Y(".1f"),accessor:t=>ee(t,r)})}),Hi=()=>ye("MACD",{component:Vi,defaultParams:{fast:12,slow:26,signal:9},defaultYAxis:"right",settingsFields:[{key:"fast",labelKey:"settings.fast",type:"number",defaultValue:12,min:1,step:1},{key:"slow",labelKey:"settings.slow",type:"number",defaultValue:26,min:1,step:1},{key:"signal",labelKey:"settings.signal",type:"number",defaultValue:9,min:1,step:1}],tooltipEntry:r=>({label:"MACD",format:Y(".2f"),accessor:t=>ee(t,r)})}),Gi=()=>ye("StrengthElder",{component:Ni,defaultParams:{},defaultYAxis:"right",tooltipEntry:r=>({label:"Strength",format:Y(".2f"),accessor:t=>ee(t,r)})}),Ui=()=>Ce("StrengthRelative",{component:oe,defaultYAxis:"right",defaultParams:{compareSymbol:"VNINDEX",period:14},settingsFields:[{key:"compareSymbol",labelKey:"settings.compareSymbol",type:"text",defaultValue:"VNINDEX"},{key:"period",labelKey:"settings.period",type:"number",defaultValue:14,min:1,step:1}],tooltipEntry:r=>({label:`RS(${r.params?.compareSymbol||"VNINDEX"},${we(r,14)})`,format:Y(".3f"),accessor:t=>ee(t,r)})}),ji=()=>Ce("WR",{component:oe,defaultParams:{period:14},defaultYAxis:"left",settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:14,min:2,step:1}],tooltipEntry:r=>({label:`WR(${we(r,14)})`,format:Y(".1f"),accessor:t=>ee(t,r)})}),Yi=()=>Ce("KDJ",{component:oe,defaultParams:{period:9,m1:3,m2:3},defaultYAxis:"left",settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:9,min:2,step:1},{key:"m1",labelKey:"settings.m1",type:"number",defaultValue:3,min:1,step:1},{key:"m2",labelKey:"settings.m2",type:"number",defaultValue:3,min:1,step:1}],tooltipEntry:r=>({label:`KDJ(${we(r,9)},${typeof r.params?.m1=="number"?r.params.m1:3},${typeof r.params?.m2=="number"?r.params.m2:3})`,format:Y(".2f"),accessor:t=>ee(t,r)})}),zi=()=>Ce("CCI",{component:oe,defaultParams:{period:20},defaultYAxis:"left",settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:20,min:2,step:1}],tooltipEntry:r=>({label:`CCI(${we(r,20)})`,format:Y(".2f"),accessor:t=>ee(t,r)})}),qi=()=>Ce("BIAS",{component:oe,defaultParams:{period:6},defaultYAxis:"right",settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:6,min:1,step:1}],tooltipEntry:r=>({label:`BIAS(${we(r,6)})`,format:Y(".2f"),accessor:t=>ee(t,r)})}),Xi=()=>Ce("MTM",{component:oe,defaultParams:{period:6,signalPeriod:6},defaultYAxis:"right",settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:6,min:1,step:1},{key:"signalPeriod",labelKey:"settings.signalPeriod",type:"number",defaultValue:6,min:1,step:1}],tooltipEntry:r=>({label:`MTM(${we(r,6)})`,format:Y(".2f"),accessor:t=>ee(t,r)})}),Ji=()=>ye("AO",{component:_t,defaultParams:{},defaultYAxis:"right",tooltipEntry:r=>({label:"AO",format:Y(".2f"),accessor:t=>ee(t,r)})}),Zi=()=>Ce("ROC",{component:oe,defaultParams:{period:12},defaultYAxis:"right",settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:12,min:1,step:1}],tooltipEntry:r=>({label:`ROC(${we(r,12)})`,format:Y(".2f"),accessor:t=>ee(t,r)})}),Qi=()=>Ce("TRIX",{component:oe,defaultParams:{period:12,signalPeriod:9},defaultYAxis:"right",settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:12,min:1,step:1},{key:"signalPeriod",labelKey:"settings.signalPeriod",type:"number",defaultValue:9,min:1,step:1}],tooltipEntry:r=>({label:`TRIX(${we(r,12)})`,format:Y(".2f"),accessor:t=>ee(t,r)})}),rs=()=>Ce("PSY",{component:oe,defaultParams:{period:12,signalPeriod:6},defaultYAxis:"left",settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:12,min:1,step:1},{key:"signalPeriod",labelKey:"settings.signalPeriod",type:"number",defaultValue:6,min:1,step:1}],tooltipEntry:r=>({label:`PSY(${we(r,12)})`,format:Y(".2f"),accessor:t=>ee(t,r)})}),ns=()=>Ce("CR",{component:oe,defaultParams:{period:26,m1:10,m2:20,m3:40,m4:60},defaultYAxis:"right",settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:26,min:1,step:1},{key:"m1",labelKey:"settings.m1",type:"number",defaultValue:10,min:1,step:1},{key:"m2",labelKey:"settings.m2",type:"number",defaultValue:20,min:1,step:1},{key:"m3",labelKey:"settings.m3",type:"number",defaultValue:40,min:1,step:1},{key:"m4",labelKey:"settings.m4",type:"number",defaultValue:60,min:1,step:1}],tooltipEntry:r=>({label:`CR(${we(r,26)})`,format:Y(".2f"),accessor:t=>ee(t,r)})}),os=()=>Ce("CI",{component:oe,defaultParams:{period:14},defaultYAxis:"left",settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:14,min:2,step:1}],tooltipEntry:r=>({label:`CI(${we(r,14)})`,format:Y(".1f"),accessor:t=>ee(t,r)})}),as=()=>Ce("AC",{component:oe,defaultParams:{},defaultYAxis:"left",tooltipEntry:r=>({label:"AC",format:Y(".4f"),accessor:t=>ee(t,r)})});var us=()=>ye("Volume",{component:_t,defaultParams:{},defaultYAxis:"right",tooltipEntry:()=>({label:"Volume",format:Y(".3s"),accessor:r=>r.volume})}),is=()=>Ce("CVDApprox",{component:oe,defaultYAxis:"right",defaultParams:{},tooltipEntry:r=>({label:"CVD",format:Y(".0f"),accessor:t=>ee(t,r)})}),ss=()=>Ce("CVDRealtime",{component:oe,defaultYAxis:"right",defaultParams:{},tooltipEntry:r=>({label:"CVD RT",format:Y(".0f"),accessor:t=>ee(t,r)})}),ls=()=>Ce("SMFI",{component:oe,defaultYAxis:"left",defaultParams:{},tooltipEntry:r=>({label:"SMFI",format:Y(".1f"),accessor:t=>ee(t,r)})}),cs=()=>ye("Whale",{component:_t,defaultParams:{threshold:5e4},defaultYAxis:"right",settingsFields:[{key:"threshold",labelKey:"settings.thresholdUsd",type:"number",defaultValue:5e4,min:1e3,step:1e3}],tooltipEntry:r=>({label:"Whale",format:Y(".3s"),accessor:t=>ee(t,r)})}),ps=()=>Ce("OBV",{component:oe,defaultParams:{},defaultYAxis:"right",tooltipEntry:r=>({label:"OBV",format:Y(".3s"),accessor:t=>ee(t,r)})}),ds=()=>Ce("VR",{component:oe,defaultParams:{period:26},defaultYAxis:"right",settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:26,min:2,step:1}],tooltipEntry:r=>({label:`VR(${we(r,26)})`,format:Y(".1f"),accessor:t=>ee(t,r)})}),fs=()=>Ce("BRAR",{component:oe,defaultParams:{period:26},defaultYAxis:"right",settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:26,min:2,step:1}],tooltipEntry:r=>({label:`BRAR(${we(r,26)})`,format:Y(".2f"),accessor:t=>ee(t,r)})}),ms=()=>Ce("EMV",{component:oe,defaultParams:{period:14},defaultYAxis:"right",settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:14,min:1,step:1}],tooltipEntry:r=>({label:`EMV(${we(r,14)})`,format:Y(".2f"),accessor:t=>ee(t,r)})}),hs=()=>Ce("PVT",{component:oe,defaultParams:{},defaultYAxis:"right",tooltipEntry:r=>({label:"PVT",format:Y(".2f"),accessor:t=>ee(t,r)})}),ys=()=>Ce("CMF",{component:oe,defaultParams:{period:20},defaultYAxis:"left",settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:20,min:1,step:1}],tooltipEntry:r=>({label:`CMF(${we(r,20)})`,format:Y(".2f"),accessor:t=>ee(t,r)})}),gs=()=>Ce("ChaikinOscillator",{component:oe,defaultParams:{fast:3,slow:10},defaultYAxis:"left",settingsFields:[{key:"fast",labelKey:"settings.fastPeriod",type:"number",defaultValue:3,min:1,max:100,step:1},{key:"slow",labelKey:"settings.slowPeriod",type:"number",defaultValue:10,min:1,max:200,step:1}],tooltipEntry:r=>({label:`Chaikin Oscillator(${r.params?.fast??3},${r.params?.slow??10})`,format:Y(".2f"),accessor:t=>ee(t,r)})}),As=()=>Ce("MFI",{component:oe,defaultParams:{period:14},defaultYAxis:"left",settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:14,min:1,step:1}],tooltipEntry:r=>({label:`MFI(${we(r,14)})`,format:Y(".1f"),accessor:t=>ee(t,r)})}),Cs=()=>Ce("VolOsc",{component:oe,defaultParams:{shortPeriod:5,longPeriod:20},defaultYAxis:"left",settingsFields:[{key:"shortPeriod",labelKey:"settings.shortPeriod",type:"number",defaultValue:5,min:1,step:1},{key:"longPeriod",labelKey:"settings.longPeriod",type:"number",defaultValue:20,min:1,step:1}],tooltipEntry:r=>({label:`VolOsc(${r.params?.shortPeriod??5},${r.params?.longPeriod??20})`,format:Y(".1f"),accessor:t=>ee(t,r)})}),vs=()=>ye("VWAP",{component:oe,defaultParams:{anchor:"session",showBands:!0,multiplier:1,fillMode:"none",fillOpacity:.05},defaultYAxis:"right",settingsFields:[{key:"multiplier",labelKey:"settings.multiplier",type:"number",defaultValue:1,min:1,step:1},{key:"fillMode",labelKey:"settings.fillMode",type:"select",defaultValue:"none",options:[{value:"none",labelKey:"settings.fillMode.none"},{value:"solid",labelKey:"settings.fillMode.solid"},{value:"fade",labelKey:"settings.fillMode.fade"}]},{key:"fillOpacity",labelKey:"settings.fillOpacity",type:"number",defaultValue:.05,min:0,max:1,step:.05},{key:"fillColor",labelKey:"settings.fillColor",type:"color",defaultValue:""}],tooltipEntry:r=>({label:"VWAP",format:Y(".2f"),accessor:t=>ee(t,r)})}),bs=()=>ye("AnchoredVWAP",{component:oe,defaultParams:{anchorTime:0,showBands:!0,multiplier:1,fillMode:"none",fillOpacity:.05},defaultYAxis:"right",settingsFields:[{key:"anchorTime",labelKey:"settings.anchorTime",type:"number",defaultValue:0},{key:"multiplier",labelKey:"settings.multiplier",type:"number",defaultValue:1,min:1,step:1},{key:"fillMode",labelKey:"settings.fillMode",type:"select",defaultValue:"none",options:[{value:"none",labelKey:"settings.fillMode.none"},{value:"solid",labelKey:"settings.fillMode.solid"},{value:"fade",labelKey:"settings.fillMode.fade"}]},{key:"fillOpacity",labelKey:"settings.fillOpacity",type:"number",defaultValue:.05,min:0,max:1,step:.05},{key:"fillColor",labelKey:"settings.fillColor",type:"color",defaultValue:""}],tooltipEntry:r=>({label:"Anchored VWAP",format:Y(".2f"),accessor:t=>ee(t,r)})});import{Component as Yd}from"react";import cr from"prop-types";import{jsx as Dr,jsxs as zd}from"react/jsx-runtime";var Zo=class extends Yd{static propTypes={className:cr.string,overlayStyle:cr.oneOf(["hollow","step","area","candle"]),width:cr.oneOfType([cr.number,cr.func]),opacity:cr.number,yAccessor:cr.func};static defaultProps={className:"vninvestcharts-widget-htf-overlay",overlayStyle:"candle",width:bt,opacity:.15,yAccessor:t=>t.htf};constructor(t){super(t),this.renderSVG=this.renderSVG.bind(this),this.drawOnCanvas=this.drawOnCanvas.bind(this)}drawOnCanvas(t,u){let{overlayStyle:p="candle",opacity:l=.15,width:f,yAccessor:d=F=>F.htf}=this.props,{xScale:s,chartConfig:{yScale:c},plotData:o,xAccessor:y}=u,g=Fs(o,d,s,y);if(g.length===0)return;let C=typeof f=="function"?f(this.props,{xScale:s,xAccessor:y,plotData:o}):f??6;g.forEach(F=>{let B=F.startX-C/2,b=F.endX+C/2,O=Math.max(1,b-B),R=(F.startX+F.endX)/2,D=F.close>=F.open?"#089981":"#f23645";if(p==="candle"||p==="hollow"){t.strokeStyle=Ne(D,.4),t.lineWidth=1,t.beginPath(),t.moveTo(R,c(F.high)),t.lineTo(R,c(F.low)),t.stroke();let S=c(Math.max(F.open,F.close)),P=c(Math.min(F.open,F.close)),w=Math.max(1,P-S);p==="candle"?(t.fillStyle=Ne(D,l),t.fillRect(B,S,O,w),t.strokeStyle=D,t.lineWidth=1,t.strokeRect(B,S,O,w)):(t.strokeStyle=D,t.lineWidth=1.5,t.strokeRect(B,S,O,w))}else if(p==="step")t.strokeStyle=D,t.lineWidth=2,t.beginPath(),t.moveTo(B,c(F.close)),t.lineTo(b,c(F.close)),t.stroke();else if(p==="area"){let S=c(F.high),P=c(F.low),w=Math.max(1,P-S);t.fillStyle=Ne(D,l*.5),t.fillRect(B,S,O,w),t.strokeStyle=Ne(D,.2),t.lineWidth=.5,t.strokeRect(B,S,O,w)}})}renderSVG(t){let{className:u,overlayStyle:p="candle",opacity:l=.15,width:f,yAccessor:d=F=>F.htf}=this.props,{xScale:s,chartConfig:{yScale:c},plotData:o,xAccessor:y}=t,g=Fs(o,d,s,y);if(g.length===0)return null;let C=typeof f=="function"?f(this.props,{xScale:s,xAccessor:y,plotData:o}):f??6;return Dr("g",{className:u,children:g.map((F,B)=>{let b=F.startX-C/2,O=F.endX+C/2,R=Math.max(1,O-b),k=(F.startX+F.endX)/2,S=F.close>=F.open?"#089981":"#f23645";if(p==="candle"||p==="hollow"){let P=c(Math.max(F.open,F.close)),w=c(Math.min(F.open,F.close)),E=Math.max(1,w-P);return zd("g",{children:[Dr("line",{x1:k,y1:c(F.high),x2:k,y2:c(F.low),stroke:S,strokeOpacity:.4,strokeWidth:1}),Dr("rect",{x:b,y:P,width:R,height:E,fill:p==="candle"?S:"none",fillOpacity:p==="candle"?l:0,stroke:S,strokeWidth:p==="candle"?1:1.5})]},B)}else{if(p==="step")return Dr("line",{x1:b,y1:c(F.close),x2:O,y2:c(F.close),stroke:S,strokeWidth:2},B);if(p==="area"){let P=c(F.high),w=c(F.low),E=Math.max(1,w-P);return Dr("rect",{x:b,y:P,width:R,height:E,fill:S,fillOpacity:l*.5,stroke:S,strokeOpacity:.2,strokeWidth:.5},B)}}return null})})}render(){return Dr(Re,{clip:!0,svgDraw:this.renderSVG,canvasDraw:this.drawOnCanvas,canvasToDraw:Pe,drawOn:["pan"]})}};function Fs(r,t,u,p){let l=[],f=null;return r.forEach((d,s)=>{let c=t(d);if(!c)return;let o=u(p(d));!f||f.periodStart!==c.periodStart?(f&&l.push(f),f={periodStart:c.periodStart,startIndex:s,endIndex:s,startX:o,endX:o,open:c.open,high:c.high,low:c.low,close:c.close,isClosed:c.isClosed}):(f.endIndex=s,f.endX=o,f.high=c.high,f.low=c.low,f.close=c.close,f.isClosed=c.isClosed)}),f&&l.push(f),l}var Es=Zo;import{Component as qd}from"react";import er from"prop-types";import{jsx as Qo}from"react/jsx-runtime";var fn=class extends qd{static defaultProps;constructor(t){super(t),this.renderSVG=this.renderSVG.bind(this),this.drawOnCanvas=this.drawOnCanvas.bind(this),this.isHover=this.isHover.bind(this)}isHover(t){let{mouseXY:u,currentItem:p,chartConfig:{yScale:l}}=t,{yAccessor:f}=this.props,d=u[1],s=l(f(p));return d<s+5&&d>s-5}drawOnCanvas(t,u){let{yAccessor:p,fill:l,opacity:f}=this.props,{xAccessor:d,plotData:s,xScale:c,chartConfig:{yScale:o},hovering:y}=u,C=(c(d(Er(s)))-c(d(Fr(s))))/s.length*.5/2,F=Math.min(2,Math.max(.5,C))+(y?2:0);s.forEach(B=>{let b=c(d(B)),O=o(p(B)),R=p(B)>B.close?l.falling:l.rising;t.fillStyle=Ne(R,f),t.strokeStyle=R,t.beginPath(),t.ellipse(b,O,F,F,0,0,2*Math.PI),t.closePath(),t.fill(),t.stroke()})}renderSVG(t){let{className:u,yAccessor:p}=this.props,{xAccessor:l,plotData:f,xScale:d,chartConfig:{yScale:s}}=t;return Qo("g",{className:u,children:f.filter(c=>be(p(c))).map((c,o)=>Qo("circle",{cx:d(l(c)),cy:s(p(c)),r:3,fill:"green"},o))})}render(){let{highlightOnHover:t}=this.props,u=t?{isHover:this.isHover,drawOn:["mousemove","pan"],canvasToDraw:Hr}:{drawOn:["pan"],canvasToDraw:Pe};return Qo(Re,{svgDraw:this.renderSVG,canvasDraw:this.drawOnCanvas,onClickWhenHover:this.props.onClick,onDoubleClickWhenHover:this.props.onDoubleClick,onContextMenuWhenHover:this.props.onContextMenu,...u})}};fn.propTypes={className:er.string,fill:er.object.isRequired,yAccessor:er.func.isRequired,opacity:er.number.isRequired,onClick:er.func,onDoubleClick:er.func,onContextMenu:er.func,highlightOnHover:er.bool};fn.defaultProps={className:"vninvestcharts-widget-sar",fill:{falling:"#4682B4",rising:"#15EC2E"},highlightOnHover:!0,opacity:.2,onClick:function(r){},onDoubleClick:function(r){},onContextMenu:function(r){}};var Ds=fn;var Ss=()=>ye("SAR",{component:Ds,defaultParams:{afStep:.02,afMax:.2},defaultYAxis:"right",settingsFields:[{key:"afStep",labelKey:"settings.afStep",type:"number",defaultValue:.02,min:.001,step:.001},{key:"afMax",labelKey:"settings.afMax",type:"number",defaultValue:.2,min:.01,step:.01}],tooltipEntry:r=>({label:"SAR",format:Y(".2f"),accessor:t=>ee(t,r)})}),Bs=()=>Ce("DMI",{component:oe,defaultParams:{period:14},defaultYAxis:"left",settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:14,min:2,step:1}],tooltipEntry:r=>({label:`DMI(${we(r,14)})`,format:Y(".2f"),accessor:t=>ee(t,r)})}),ws=()=>ye("Ichimoku",{component:oe,defaultParams:{tenkan:9,kijun:26,senkouB:52,displacement:26,fillMode:"none",fillOpacity:.12},defaultYAxis:"right",settingsFields:[{key:"tenkan",labelKey:"settings.tenkan",type:"number",defaultValue:9,min:1,step:1},{key:"kijun",labelKey:"settings.kijun",type:"number",defaultValue:26,min:1,step:1},{key:"senkouB",labelKey:"settings.senkouB",type:"number",defaultValue:52,min:1,step:1},{key:"displacement",labelKey:"settings.displacement",type:"number",defaultValue:26,min:0,step:1},{key:"fillMode",labelKey:"settings.fillMode",type:"select",defaultValue:"none",options:[{value:"none",labelKey:"settings.fillMode.none"},{value:"solid",labelKey:"settings.fillMode.solid"},{value:"fade",labelKey:"settings.fillMode.fade"}]},{key:"fillOpacity",labelKey:"settings.fillOpacity",type:"number",defaultValue:.12,min:0,max:1,step:.05},{key:"fillColor",labelKey:"settings.fillColor",type:"color",defaultValue:""}],tooltipEntry:r=>({label:"Ichimoku",format:Y(".2f"),accessor:t=>ee(t,r)})}),xs=()=>ye("Supertrend",{component:oe,defaultParams:{period:10,multiplier:3,fillMode:"none",fillOpacity:.08},defaultYAxis:"right",settingsFields:[{key:"period",labelKey:"settings.period",type:"number",defaultValue:10,min:1,step:1},{key:"multiplier",labelKey:"settings.multiplier",type:"number",defaultValue:3,min:1,step:1},{key:"fillMode",labelKey:"settings.fillMode",type:"select",defaultValue:"none",options:[{value:"none",labelKey:"settings.fillMode.none"},{value:"solid",labelKey:"settings.fillMode.solid"},{value:"fade",labelKey:"settings.fillMode.fade"}]},{key:"fillOpacity",labelKey:"settings.fillOpacity",type:"number",defaultValue:.08,min:0,max:1,step:.05},{key:"fillColor",labelKey:"settings.fillColor",type:"color",defaultValue:""}],tooltipEntry:r=>({label:`Supertrend(${we(r,10)},${r.params?.multiplier??3})`,format:Y(".2f"),accessor:t=>ee(t,r)})}),ks=()=>ye("Alligator",{component:oe,defaultParams:{jawPeriod:13,jawShift:8,teethPeriod:8,teethShift:5,lipsPeriod:5,lipsShift:3},defaultYAxis:"right",settingsFields:[{key:"jawPeriod",labelKey:"settings.jawPeriod",type:"number",defaultValue:13,min:1,step:1},{key:"jawShift",labelKey:"settings.jawShift",type:"number",defaultValue:8,min:0,step:1},{key:"teethPeriod",labelKey:"settings.teethPeriod",type:"number",defaultValue:8,min:1,step:1},{key:"teethShift",labelKey:"settings.teethShift",type:"number",defaultValue:5,min:0,step:1},{key:"lipsPeriod",labelKey:"settings.lipsPeriod",type:"number",defaultValue:5,min:1,step:1},{key:"lipsShift",labelKey:"settings.lipsShift",type:"number",defaultValue:3,min:0,step:1}],tooltipEntry:r=>({label:"Alligator",format:Y(".2f"),accessor:t=>ee(t,r)})}),_s=()=>ye("Gator",{component:oe,defaultParams:{jawPeriod:13,jawShift:8,teethPeriod:8,teethShift:5,lipsPeriod:5,lipsShift:3},defaultYAxis:"left",settingsFields:[{key:"jawPeriod",labelKey:"settings.jawPeriod",type:"number",defaultValue:13,min:1,step:1},{key:"jawShift",labelKey:"settings.jawShift",type:"number",defaultValue:8,min:0,step:1},{key:"teethPeriod",labelKey:"settings.teethPeriod",type:"number",defaultValue:8,min:1,step:1},{key:"teethShift",labelKey:"settings.teethShift",type:"number",defaultValue:5,min:0,step:1},{key:"lipsPeriod",labelKey:"settings.lipsPeriod",type:"number",defaultValue:5,min:1,step:1},{key:"lipsShift",labelKey:"settings.lipsShift",type:"number",defaultValue:3,min:0,step:1}],tooltipEntry:r=>({label:"Gator",format:Y(".2f"),accessor:t=>ee(t,r)})}),Ps=()=>ye("HTFOverlay",{component:Es,defaultParams:{overlayStyle:"candle"},defaultYAxis:"right",tooltipEntry:r=>({label:`HTF(${r.params?.timeframe??""})`,format:Y(".2f"),accessor:t=>t.htf?.close})});var Rs=()=>Ce("WyckoffWave",{component:oe,defaultYAxis:"right",defaultParams:{thresholdPercent:1},settingsFields:[{key:"thresholdPercent",labelKey:"settings.thresholdPercent",type:"number",defaultValue:1,min:.1,step:.1}],tooltipEntry:r=>({label:`Wyckoff(${r.params?.thresholdPercent??1}%)`,format:Y(".2f"),accessor:t=>ee(t,r)})}),Os=()=>ye("Fractals",{component:oe,defaultParams:{},defaultYAxis:"right",tooltipEntry:r=>({label:"Fractals",format:Y(".2f"),accessor:t=>ee(t,r)})}),Is=()=>ye("PivotStandard",{component:oe,defaultParams:{pivotType:0},defaultYAxis:"right",settingsFields:[{key:"pivotType",labelKey:"settings.pivotType",type:"number",defaultValue:0,min:0,max:4,step:1}],tooltipEntry:r=>({label:"Pivot Standard",format:Y(".2f"),accessor:t=>ee(t,r)})}),Ms=()=>ye("PivotHighLow",{component:oe,defaultParams:{lookback:10,pivotType:0},defaultYAxis:"right",settingsFields:[{key:"lookback",labelKey:"settings.lookback",type:"number",defaultValue:10,min:1,step:1},{key:"pivotType",labelKey:"settings.pivotType",type:"number",defaultValue:0,min:0,max:1,step:1}],tooltipEntry:r=>({label:"Pivot HL",format:Y(".2f"),accessor:t=>ee(t,r)})});import{Component as Xd}from"react";import{jsx as Jd}from"react/jsx-runtime";var ra=class extends Xd{static defaultProps={width:bt,opacity:.7,fontSize:9,fontFamily:"monospace",textColor:"#0f172a",upColor:"#10b981",downColor:"#ef4444",neutralColor:"#64748b",pocBorderColor:"#d97706",viewMode:"bidAsk"};constructor(t){super(t),this.drawOnCanvas=this.drawOnCanvas.bind(this)}drawOnCanvas(t,u){let{xScale:p,chartConfig:{yScale:l},plotData:f,xAccessor:d}=u,{yAccessor:s,width:c,opacity:o,fontSize:y,fontFamily:g,textColor:C,upColor:F,downColor:B,neutralColor:b,pocBorderColor:O,viewMode:R}=this.props,D=(typeof c=="function"?c:()=>c)(this.props,{xScale:p,xAccessor:d,plotData:f}),S=D/2;t.font=`${y}px ${g}`,t.textBaseline="middle",t.textAlign="center";for(let P of f){let w=s(P);if(!w||!w.priceLevels||w.priceLevels.length===0)continue;let E=p(d(P)),N=E-S,V=null,W=-1;for(let Z of w.priceLevels)Z.totalVolume>W&&(W=Z.totalVolume,V=Z);let H=w.priceLevels,G=.01;H.length>1&&(G=Math.abs(H[1].price-H[0].price));for(let Z of H){let{price:te,bidVolume:me,askVolume:ke,delta:Se,deltaPercent:xe,totalVolume:se}=Z,x=l(te),$=l(te+G/2),q=l(te-G/2),J=Math.abs($-q),re=.1,de=b;if(Se>0?(de=F,re=.1+Math.abs(xe)/100*.3):Se<0&&(de=B,re=.1+Math.abs(xe)/100*.3),t.fillStyle=Ne(de,re),t.fillRect(N,Math.min($,q),D,J),V&&Z.price===V.price&&(t.strokeStyle=O,t.lineWidth=1.5,t.strokeRect(N+.5,Math.min($,q)+.5,D-1,J-1)),D>=40&&J>=y+2){t.fillStyle=C;let Fe="";switch(R){case"bidAsk":Fe=`${Math.round(me)}x${Math.round(ke)}`;break;case"delta":Fe=`${Se>0?"+":""}${Math.round(Se)}`;break;case"deltaPercent":Fe=`${xe>0?"+":""}${Math.round(xe)}%`;break;case"volume":Fe=`${Math.round(se)}`;break;case"profile":let j=Math.max(...H.map(fe=>fe.totalVolume));if(j>0){let fe=se/j*(D-4);t.fillStyle=Ne(de,.4),t.fillRect(N+2,Math.min($,q)+2,fe,J-4)}break}R!=="profile"&&Fe&&t.fillText(Fe,E,x)}}}}render(){return Jd(Re,{svgDraw:()=>null,canvasDraw:this.drawOnCanvas,canvasToDraw:Pe,drawOn:["pan"]})}},Ns=ra;import{Component as Zd}from"react";import{jsx as Qd}from"react/jsx-runtime";var na=class extends Zd{static defaultProps={opacity:.7,fontSize:10,fontFamily:"monospace",textColor:"#475569",pocColor:"#d97706",valueAreaColor:"#38bdf8",initialBalanceColor:"#10b981"};constructor(t){super(t),this.drawOnCanvas=this.drawOnCanvas.bind(this)}drawOnCanvas(t,u){let{chartConfig:{yScale:p},plotData:l}=u,{yAccessor:f,fontSize:d,fontFamily:s,textColor:c,pocColor:o,valueAreaColor:y,initialBalanceColor:g}=this.props,C=null;for(let Z=l.length-1;Z>=0;Z--){let te=f(l[Z]);if(te&&te.tpoBlocks&&te.tpoBlocks.length>0){C=te;break}}if(!C)return;let{tpoBlocks:F,poc:B,valueAreaHigh:b,valueAreaLow:O,initialBalanceHigh:R,initialBalanceLow:k}=C,{width:D}=u,P=D*(1-30/100),w=p(b),E=p(O);t.fillStyle=Ne(y,.15),t.fillRect(P,Math.min(w,E),D-P,Math.abs(w-E));let N=p(R),V=p(k);t.strokeStyle=g,t.lineWidth=3,t.beginPath(),t.moveTo(P-5,N),t.lineTo(P-5,V),t.stroke(),t.font=`${d}px ${s}`,t.fillStyle=c,t.textBaseline="middle";let W=new Map;for(let Z of F)W.has(Z.price)||W.set(Z.price,[]),W.get(Z.price).push(Z);let H=d*.8;for(let[Z,te]of W.entries()){let me=p(Z);te.sort((ke,Se)=>ke.letter.localeCompare(Se.letter)),te.forEach((ke,Se)=>{let xe=P+Se*H;t.fillText(ke.letter,xe,me)})}let G=p(B);t.strokeStyle=o,t.lineWidth=2,t.setLineDash([4,4]),t.beginPath(),t.moveTo(P,G),t.lineTo(D,G),t.stroke(),t.setLineDash([])}render(){return Qd(Re,{svgDraw:()=>null,canvasDraw:this.drawOnCanvas,canvasToDraw:Pe,drawOn:["pan"]})}},Ts=na;import{Component as ef}from"react";import mn from"prop-types";import{ascending as tf,descending as rf,sum as Vs,max as nf,merge as of,zip as af,histogram as uf}from"d3-array";import{scaleLinear as sf}from"d3-scale";import{jsx as Xn,jsxs as Ls}from"react/jsx-runtime";var hn=class extends ef{static defaultProps;constructor(t){super(t),this.renderSVG=this.renderSVG.bind(this),this.drawOnCanvas=this.drawOnCanvas.bind(this)}drawOnCanvas(t,u){let{xAccessor:p,width:l}=u,{rects:f,sessionBg:d}=$s(this.props,u,p,l);lf(t,this.props,f,d)}render(){return Xn(Re,{svgDraw:this.renderSVG,canvasDraw:this.drawOnCanvas,canvasToDraw:Pe,drawOn:["pan"]})}renderSVG(t){let{className:u,opacity:p}=this.props,{showSessionBackground:l,sessionBackGround:f,sessionBackGroundOpacity:d}=this.props,{xAccessor:s,width:c}=t,{rects:o,sessionBg:y}=$s(this.props,t,s,c),g=l?y.map((C,F)=>Xn("rect",{...C,opacity:d,fill:f},F)):null;return Ls("g",{className:u,children:[g,o.map((C,F)=>Ls("g",{children:[Xn("rect",{x:C.x,y:C.y,width:C.w1,height:C.height,fill:C.fill1,stroke:C.stroke1,fillOpacity:p}),Xn("rect",{x:C.x+C.w1,y:C.y,width:C.w2,height:C.height,fill:C.fill2,stroke:C.stroke2,fillOpacity:p})]},F))]})}};hn.propTypes={className:mn.string,opacity:mn.number,showSessionBackground:mn.bool,sessionBackGround:mn.string,sessionBackGroundOpacity:mn.number};hn.defaultProps={className:"line ",bins:20,opacity:.5,maxProfileWidthPercent:50,fill:({type:r})=>r==="up"?"#6BA583":"#FF0000",stroke:"#FFFFFF",showSessionBackground:!1,sessionBackGround:"#4682B4",sessionBackGroundOpacity:.3,source:r=>r.close,volume:r=>r.volume,absoluteChange:r=>r.absoluteChange,bySession:!1,sessionStart:({d:r,i:t,plotData:u})=>t>0&&u[t-1].date.getMonth()!==r.date.getMonth(),orient:"left",partialStartOK:!0,partialEndOK:!0};function $s(r,t,u,p){let{xScale:l,chartConfig:{yScale:f},plotData:d}=t,{sessionStart:s,bySession:c,partialStartOK:o,partialEndOK:y}=r,{bins:g,maxProfileWidthPercent:C,source:F,volume:B,absoluteChange:b,orient:O,fill:R,stroke:k}=r,D=Mn().discardTillStart(!o).discardTillEnd(!y).accumulateTill((E,N)=>s({d:E,i:N,...t})).accumulator(tt),S=d.length>1?l(u(d[1]))-l(u(Ft(d))):0,w=(c?D(d):[d]).map(E=>{let N=c?l(u(Ft(E))):0,V=c?l(u(Er(E))):p,W=V-N+S,H=uf().value(F).thresholds(g),G=O==="right"?rf:tf,Z=H(E),te=Z.map(J=>J.map(re=>b(re)>0?{direction:"up",volume:B(re)}:{direction:"down",volume:B(re)})).map(J=>{let re=J.reduce((de,Fe)=>(de.set(Fe.direction,(de.get(Fe.direction)||0)+Fe.volume),de),new Map);return Array.from(re.entries()).sort((de,Fe)=>G(de[0],Fe[0])).map(de=>({key:de[0],value:de[1]}))}),me=te.map(J=>Vs(J.map(re=>re.value))),ke=J=>Ft(J.range()),[Se,xe]=O==="right"?[N,N+W*C/100]:[V,V-W*(100-C)/100],se=sf().domain([0,nf(me)??0]).range([Se,xe]),x=te.map(J=>{let re=Vs(J,Ee=>Ee.value),de=se(re),Fe=ke(se)-de,j=Fe<0?de+Fe:de,fe=J.map(Ee=>({type:Ee.key,width:Ee.value*Math.abs(Fe)/re}));return{x:j,ws:fe,totalVolumeX:de}}),$=af(Z,x).map(J=>{let re=J[0],de=J[1].x,Fe=J[1].ws,j=Fe[0]||{type:"up",width:0},fe=Fe[1]||{type:"down",width:0};return{y:f(re.x1),height:f(re.x1)-f(re.x0),x:de,width:p,w1:j.width,w2:fe.width,stroke1:Be(k)(j),stroke2:Be(k)(fe),fill1:Be(R)(j),fill2:Be(R)(fe)}}),q={x:N,y:Er($).y,height:Ft($).y-Er($).y+Ft($).height,width:W};return{rects:$,sessionBg:q}});return{rects:of(w.map(E=>E.rects)),sessionBg:w.map(E=>E.sessionBg)}}function lf(r,t,u,p){let{opacity:l,sessionBackGround:f,sessionBackGroundOpacity:d,showSessionBackground:s}=t;s&&(r.fillStyle=Ne(f,d),p.forEach(c=>{let{x:o,y,height:g,width:C}=c;r.beginPath(),r.rect(o,y,C,g),r.closePath(),r.fill()})),u.forEach(c=>{let{x:o,y,height:g,w1:C,w2:F,stroke1:B,stroke2:b,fill1:O,fill2:R}=c;C>0&&(r.fillStyle=Ne(O,l),B!=="none"&&(r.strokeStyle=B),r.beginPath(),r.rect(o,y,C,g),r.closePath(),r.fill(),B!=="none"&&r.stroke()),F>0&&(r.fillStyle=Ne(R,l),b!=="none"&&(r.strokeStyle=b),r.beginPath(),r.rect(o+C,y,F,g),r.closePath(),r.fill(),b!=="none"&&r.stroke())})}var Ws=hn;var Hs=()=>ye("MarketProfile",{component:Ts,defaultParams:{tickSize:.01,tpoPeriodMinutes:30},defaultYAxis:"right",tier:"pro",settingsFields:[{key:"tickSize",labelKey:"settings.tickSize",type:"number",defaultValue:.01,min:1e-4,step:1e-4},{key:"tpoPeriodMinutes",labelKey:"settings.tpoPeriodMinutes",type:"number",defaultValue:30,min:5,step:5}],tooltipEntry:r=>({label:"Market Profile",format:Y(".2f"),accessor:t=>ee(t,r)})}),Gs=()=>ye("VolumeProfile",{component:Ws,defaultParams:{priceTickSize:.01},defaultYAxis:"right",tier:"pro",settingsFields:[{key:"priceTickSize",labelKey:"settings.priceTickSize",type:"number",defaultValue:.01,min:1e-4,step:1e-4}],tooltipEntry:r=>({label:"Volume Profile",format:Y(".2f"),accessor:t=>ee(t,r)})}),Us=()=>ye("Footprint",{component:Ns,defaultParams:{barIntervalMs:6e4,priceTickSize:.01},defaultYAxis:"right",tier:"enterprise",settingsFields:[{key:"barIntervalMs",labelKey:"settings.barIntervalMs",type:"number",defaultValue:6e4,min:1e3,step:1e3},{key:"priceTickSize",labelKey:"settings.priceTickSize",type:"number",defaultValue:.01,min:1e-4,step:1e-4}],tooltipEntry:r=>({label:"Footprint",format:Y(".2f"),accessor:t=>ee(t,r)})}),js=()=>ye("DeltaProfile",{component:oe,defaultParams:{barIntervalMs:6e4,priceTickSize:.01,smaPeriod:14},defaultYAxis:"left",tier:"enterprise",settingsFields:[{key:"barIntervalMs",labelKey:"settings.barIntervalMs",type:"number",defaultValue:6e4,min:1e3,step:1e3},{key:"priceTickSize",labelKey:"settings.priceTickSize",type:"number",defaultValue:.01,min:1e-4,step:1e-4},{key:"smaPeriod",labelKey:"settings.smaPeriod",type:"number",defaultValue:14,min:1,step:1}],tooltipEntry:r=>({label:"Delta Profile",format:Y(".2f"),accessor:t=>ee(t,r)})}),Ys=()=>ye("Comparison",{component:()=>null,defaultParams:{},defaultYAxis:"right",tooltipEntry:r=>({label:String(r.overlaySymbolId??"Comparison"),format:Y(".2f"),accessor:t=>t.close})});var cf=[Ju,Zu,Qu,ei,ti,ri,us,si,ni,oi,ai,ui,ii,li,Ci,vi,Ki,Hi,is,ss,Gi,Ui,ls,Rs,cs,ci,pi,Ss,ps,ji,ds,Yi,zi,Bs,qi,fs,Xi,ms,Ji,Zi,Qi,Ai,hs,rs,ns,di,fi,mi,hi,yi,gi,ws,xs,bi,Fi,Ei,Di,Si,os,ys,gs,As,Cs,vs,bs,ks,Os,_s,as,Is,Ms,Hs,Gs,Us,js,Ps,Ys];function pf(){Po(),cf.forEach(r=>r())}var zs=new Map;function oa(r,t,u={}){if(Lr(t).errors.length>0)return null;let l=sn(r);zs.set(r,t);let f={id:l,name:"PineScript",version:"1.0.0",compute:d=>{let s=zs.get(r);if(s===void 0)return{};let c={open:d.bars.map(o=>o.open),high:d.bars.map(o=>o.high),low:d.bars.map(o=>o.low),close:d.bars.map(o=>o.close),volume:d.bars.map(o=>o.volume)};return Lr(s,c).output},outputSchema:{},defaultParams:{},paramSchema:{}};return mu(f),ye(l,{component:oe,tier:u.tier??"pro",defaultParams:{},defaultYAxis:"right",tooltipEntry:()=>({label:f.name,format:Y(".2f"),accessor:d=>{let s=d.indicatorValues?.[l];if(typeof s=="object"&&s!==null){let c=Object.keys(s);return s[c[0]]}return s}})}),f}function yv(r,t){if(!t||t.length===0)return[];let u=new Set(t),p=[];for(let l of r){let f=sn(l.id);u.has(f)&&oa(l.id,l.source)!==null&&p.push(l.id)}return p}function qs(r){r.languages.registerCompletionItemProvider("vnscript",{provideCompletionItems:()=>({suggestions:[...["close","open","high","low","volume","hl2","hlc3","ohlc4","time","bar_index"].map(u=>({label:u,kind:r.languages.CompletionItemKind.Variable,insertText:u})),...["ta.sma","ta.ema","ta.rsi","ta.bb","ta.stoch","ta.macd","ta.wma","ta.hma","ta.crossover","ta.crossunder","ta.cross","ta.highest","ta.lowest","ta.atr","ta.cci","ta.mfi","ta.vwap","ta.sar","ta.stdev","ta.dev","ta.trima","ta.mom","ta.tr","ta.cum","ta.change","abs","max","min","floor","round","log","pow","sqrt","dev","nz","fixnan","math.abs","math.max","math.min","math.floor","math.ceil","math.round","math.sign","math.sqrt","math.pow","math.log","math.log10","math.exp","math.sum","math.avg","math.round_to_mintick","math.todegrees","math.toradians",...kn].map(u=>({label:u,kind:r.languages.CompletionItemKind.Function,insertText:u})),{label:"study",kind:r.languages.CompletionItemKind.Keyword,insertText:'study("$1", overlay=true)',insertTextRules:r.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"plot",kind:r.languages.CompletionItemKind.Keyword,insertText:"plot($1)",insertTextRules:r.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"plotshape",kind:r.languages.CompletionItemKind.Keyword,insertText:"plotshape($1)",insertTextRules:r.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"hline",kind:r.languages.CompletionItemKind.Keyword,insertText:"hline($1)",insertTextRules:r.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"input",kind:r.languages.CompletionItemKind.Keyword,insertText:"input($1)",insertTextRules:r.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"alertcondition",kind:r.languages.CompletionItemKind.Keyword,insertText:"alertcondition($1, title='$2', message='$3')",insertTextRules:r.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"if",kind:r.languages.CompletionItemKind.Keyword,insertText:"if ${1:condition}\n $0",insertTextRules:r.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"for",kind:r.languages.CompletionItemKind.Keyword,insertText:"for ${1:i}=${2:start} to ${3:end}\n $0",insertTextRules:r.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"color",kind:r.languages.CompletionItemKind.Constructor,insertText:"color.",insertTextRules:r.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"shape",kind:r.languages.CompletionItemKind.Constructor,insertText:"shape.",insertTextRules:r.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"location",kind:r.languages.CompletionItemKind.Constructor,insertText:"location.",insertTextRules:r.languages.CompletionItemInsertTextRule.InsertAsSnippet},{label:"size",kind:r.languages.CompletionItemKind.Constructor,insertText:"size.",insertTextRules:r.languages.CompletionItemInsertTextRule.InsertAsSnippet}]})})}var Zn=r=>r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),df=["study","indicator","strategy","if","else","for","to","while","true","false","na","and","or","not","var","const"],ff=[...df],mf=["int","float","bool","string","color","shape","location","size","style"],hf=["close","open","high","low","volume","hl2","hlc3","ohlc4","time","bar_index","barstate"],yf=["ta.sma","ta.ema","ta.rsi","ta.bb","ta.stoch","ta.macd","ta.wma","ta.crossover","ta.crossunder","ta.cross","ta.highest","ta.lowest","ta.atr","ta.cci","ta.mfi","ta.vwap","ta.sar","ta.stdev","ta.dev","ta.trima","ta.mom","ta.tr","ta.cum","ta.change","abs","max","min","floor","round","log","pow","sqrt","nz","fixnan","math.abs","math.max","math.min","math.floor","math.ceil","math.round","math.sign","math.sqrt","math.pow","math.log","math.log10","math.exp","math.sum","math.avg","math.round_to_mintick","math.todegrees","math.toradians",...kn],gf=yf,Af=new RegExp(`(${gf.map(Zn).join("|")})`),Cf=new RegExp(`(${hf.map(Zn).join("|")})`),vf=new RegExp(`(${ff.map(Zn).join("|")})`),bf=new RegExp(`(${mf.map(Zn).join("|")})`),Jn=class{static register(t){t.languages.register({id:"vnscript"}),t.languages.setMonarchTokensProvider("vnscript",{defaultToken:"",tokenPostfix:".vn",ignoreCase:!1,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],tokenizer:{root:[{include:"@whitespace"},{include:"@comments"},[Af,"function"],[Cf,"variable.predefined"],[/[a-zA-Z_]\w*/,{cases:{[vf.source]:"keyword",[bf.source]:"type","@default":"identifier"}}],[/[{}()\[\]]/,"@brackets"],[/[.]/,"delimiter"],[/[;,.]/,"delimiter"],[/[+\-*/%]/,"operator"],[/[=!<>]=?/,"operator"],{include:"@numbers"},{include:"@strings"}],comments:[[/\/\/.*$/,"comment"],[/\/\*/,"comment","@comment"]],comment:[[/[^/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[/*]/,"comment"]],whitespace:[[/[ \t\r\n]+/,"white"]],numbers:[[/\d*\.?\d+/,"number"]],strings:[[/'[^']*'/,"string"],[/"[^"]*"/,"string"]]}}),qs(t)}};import{useCallback as $t,useEffect as Js,useRef as Zs,useState as Qn}from"react";var Qs="vn._scripts",to=1,Ff=2e3;function Dv(){try{let r=tl();return Object.values(r.scripts??{})}catch{return[]}}function el(){return"pine_"+Math.random().toString(36).substring(2,11)+"_"+Date.now().toString(36)}function Ef(r){return`//@version=5
587
+ indicator("Untitled ${r}", overlay=true)
588
+
589
+ // Your code here
590
+ plot(close)`}function tl(){try{let r=localStorage.getItem(Qs);if(!r)return{formatVersion:to,scripts:{},lastActiveId:null};let t=JSON.parse(r);return t}catch{return{formatVersion:to,scripts:{},lastActiveId:null}}}function Df(r){try{return localStorage.setItem(Qs,JSON.stringify(r)),!0}catch{return!1}}function rl(r){let t=2166136261;for(let u=0;u<r.length;u+=1)t^=r.charCodeAt(u),t=t+((t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24))>>>0;return`${t.toString(16).padStart(8,"0")}:${r.length}`}function Sf(r){return r.integrity?r.integrity.checksum===rl(r.source):!0}function eo(r){return{...r,integrity:{checksum:rl(r.source),sourceLength:r.source.length}}}function Bf(r){return JSON.stringify({formatVersion:to,name:r.name,source:r.source,created:r.created,lastModified:r.lastModified},null,2)}function wf(r){try{let t=JSON.parse(r);return!t.source||!t.name?null:eo({id:el(),name:t.name,source:t.source,created:t.created||new Date().toISOString(),lastModified:new Date().toISOString()})}catch{return null}}function nl(){let[r,t]=Qn({}),[u,p]=Qn(null),[l,f]=Qn("saved"),[d,s]=Qn(!1),c=Zs(null),o=Zs(1);Js(()=>{let D=tl();if(t(D.scripts),o.current=Object.keys(D.scripts).length+1,D.lastActiveId&&D.scripts[D.lastActiveId])p(D.lastActiveId);else{let S=Object.keys(D.scripts);S.length>0&&p(S[0])}s(!0)},[]);let y=$t((D,S)=>Df({formatVersion:to,scripts:D,lastActiveId:S}),[]),g=$t(()=>u?r[u]??null:null,[u,r]),C=$t(D=>{u&&(f("unsaved"),c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{f("saving"),t(S=>{let P=S[u];if(!P)return S;let w={...S,[u]:eo({...P,source:D,lastModified:new Date().toISOString()})},E=y(w,u);return f(E?"saved":"error"),w})},Ff))},[u,y]),F=$t((D,S)=>{let P=el(),w=new Date().toISOString(),E=eo({id:P,name:D||`Untitled ${o.current}`,source:S||Ef(o.current),created:w,lastModified:w});return o.current++,t(N=>{let V={...N,[P]:E};return y(V,P),V}),p(P),f("saved"),P},[y]),B=$t(D=>{c.current&&(clearTimeout(c.current),c.current=null),p(D),f("saved"),t(S=>(y(S,D),S))},[y]),b=$t(D=>{t(S=>{let{[D]:P,...w}=S,E=D===u?Object.keys(w)[0]??null:u;return y(w,E),p(E),w}),c.current&&(clearTimeout(c.current),c.current=null)},[u,y]),O=$t((D,S)=>{t(P=>{let w=P[D];if(!w)return P;let E={...P,[D]:eo({...w,name:S,lastModified:new Date().toISOString()})};return y(E,u),E})},[u,y]),R=$t(D=>{let S=r[D];if(!S||!Sf(S))return!1;let P=Bf(S),w=new Blob([P],{type:"application/json"}),E=URL.createObjectURL(w),N=document.createElement("a");return N.href=E,N.download=`${S.name.replace(/\s+/g,"_")}.pine`,document.body.appendChild(N),N.click(),document.body.removeChild(N),URL.revokeObjectURL(E),!0},[r]),k=$t(D=>{let S=wf(D);return S?(t(P=>{let w={...P,[S.id]:S};return y(w,S.id),w}),p(S.id),f("saved"),!0):!1},[y]);return Js(()=>()=>{c.current&&clearTimeout(c.current)},[]),{scripts:r,activeId:u,getActiveScript:g,saveStatus:l,initDone:d,setScriptSource:C,createScript:F,selectScript:B,deleteScript:b,renameScript:O,exportScript:R,importScript:k}}var We={panel:"al",toolbar:"ca",title:"nl",body:"tl",sidebar:"qr",sidebarHeader:"il",scriptList:"sl",scriptItem:"da",scriptItemActive:"cl",scriptName:"dl",renameInput:"pl",scriptActions:"pa",compileBtn:"Er",toolBtn:"la",smallBtn:"xa",smallBtnDanger:"ba",editorContainer:"ll",errorBox:"xl",successBox:"bl"};import{Fragment as Pf,jsx as it,jsxs as ct}from"react/jsx-runtime";var kf=`study("My custom SMA", overlay=true)
591
+ src = close
592
+ len = 14
593
+ val = ta.sma(src, len)
594
+ plot(val, title="SMA Line", color="#ff9800")`,_f=1;function Mv({onAddIndicator:r,bars:t,restorableSeriesTypes:u}){let{t:p}=Wa(),{scripts:l,activeId:f,getActiveScript:d,saveStatus:s,initDone:c,setScriptSource:o,createScript:y,selectScript:g,deleteScript:C,renameScript:F,exportScript:B,importScript:b}=nl(),[O,R]=Wt(null),[k,D]=Wt(null),[S,P]=Wt("idle"),[w,E]=Wt(kf),[N,V]=Wt(!0),[W,H]=Wt(null),[G,Z]=Wt(null),[te,me]=Wt(""),ke=Sr(null),Se=Sr(null),xe=Sr(null),se=Sr(null),x=Sr(null),$=Sr(null);aa(()=>{if(!c)return;let T=d();if(!T){y();return}$.current!==T.id&&($.current=T.id,E(T.source))},[c,d,y]);let q=Lt(T=>{x.current&&clearTimeout(x.current),x.current=setTimeout(()=>{if(!se.current)return;let ge=String(_f++);se.current.postMessage({id:ge,type:"compile",source:T,bars:t??{open:[],high:[],low:[],close:[],volume:[]}}),P("compiling"),R(null)},500)},[]);aa(()=>{let T=new Worker(new URL("../../../lib/pinescript/pine.worker.ts",self.location.href),{type:"module"});return se.current=T,T.onmessage=ge=>{let pe=ge.data;pe.type==="error"?(P("error"),R(pe.errors?.[0]?.message??p("ui.pinescript.workerError"))):pe.errors&&pe.errors.length>0?(P("error"),R(pe.errors[0].message)):(P("ok"),R(null))},T.onerror=ge=>{P("error"),R(p("ui.pinescript.workerErrorDetail",{message:ge.message}))},()=>{T.terminate()}},[]);let J=Lt(T=>{let ge=T??"";E(ge),D(null),S!=="idle"&&P("idle"),R(null),f&&o(ge),q(ge)},[S,q,f,o]),re=()=>{R(null),D(null);try{let T=Lr(w);if(T.errors.length>0){R(T.errors[0].message);return}let ge=d()?.id??`scratch_${Date.now().toString(36)}`,pe=sn(ge);if(oa(ge,w)===null){R(T.errors[0]?.message??p("ui.pinescript.compileFailed"));return}r({id:pe,type:pe,yAxis:"right",params:{},overlay:T.overlay!==!1}),D(p("ui.pinescript.success"))}catch(T){R(T.message||p("ui.pinescript.compileFailed"))}},de=Lt((T,ge)=>{Se.current=T,xe.current=ge,Jn.register(ge),ge.editor.defineTheme("vninvest-widget",{base:"vs-dark",inherit:!0,rules:[{token:"keyword",foreground:"#569cd6",fontStyle:"bold"},{token:"function",foreground:"#dcdcaa"},{token:"string",foreground:"#ce9178"},{token:"number",foreground:"#b5cea8"},{token:"comment",foreground:"#6a9955",fontStyle:"italic"},{token:"type",foreground:"#4ec9b0"}],colors:{"editor.background":"#090d14","editor.foreground":"#a9b2c3","editor.lineHighlightBackground":"#0f1520","editor.selectionBackground":"#264f78","editorCursor.foreground":"#a9b2c3","editorLineNumber.foreground":"#3a4555"}}),ge.editor.setTheme("vninvest-widget")},[]),[Fe,j]=Wt(null);aa(()=>{import("./dist-Y6PZ2RN3.js").then(T=>{j(()=>T.default)})},[]);let fe=Lt(()=>{y()},[y]),Ee=Lt(T=>{H(null),C(T)},[C]),je=Lt(T=>{B(T)},[B]),ne=Lt(()=>{ke.current?.click()},[]),ve=Lt(T=>{let ge=T.target.files?.[0];if(!ge)return;let pe=new FileReader;pe.onload=Xe=>{let Je=Xe.target?.result;if(typeof Je=="string")if(b(Je))try{let xt=JSON.parse(Je);D(p("ui.pinescript.importSuccess",{name:xt.name}))}catch{D(p("ui.pinescript.importSuccess",{name:ge.name}))}else R(p("ui.pinescript.importFailed"))},pe.readAsText(ge),T.target.value=""},[b,p]),X=Lt((T,ge)=>{Z(T),me(ge)},[]),$e=ua(()=>Object.values(l).sort((T,ge)=>new Date(ge.lastModified).getTime()-new Date(T.lastModified).getTime()),[l]),Le=ua(()=>({saved:p("ui.pinescript.saved"),unsaved:p("ui.pinescript.unsaved"),saving:p("ui.pinescript.saving"),error:p("ui.pinescript.saveFailed")})[s],[s,p]),le=ua(()=>({saved:"#53d769",unsaved:"#ffc800",saving:"#ffc800",error:"#f23645"})[s],[s]),vt=d();return ct("div",{className:We.panel,children:[ct("div",{className:We.toolbar,children:[it("span",{className:We.title,children:p("ui.pinescript.editor")}),ct("span",{style:{fontSize:11,color:le},children:["\u25CF"," ",Le]}),S==="ok"&&!O&&ct("span",{style:{fontSize:11,color:"#53d769"},children:["\u25CF"," ",p("ui.pinescript.statusCompiled")]}),S==="error"&&ct("span",{style:{fontSize:11,color:"#f23645"},children:["\u25CF"," ",p("ui.pinescript.statusError")]}),S==="compiling"&&ct("span",{style:{fontSize:11,color:"#ffc800"},children:["\u25CF"," ",p("ui.pinescript.statusCompiling")]}),ct("button",{onClick:fe,className:We.toolBtn,title:p("ui.pinescript.newScript"),children:["+ ",p("ui.pinescript.newScript")]}),it("button",{onClick:re,disabled:S==="compiling",className:We.compileBtn,children:p("ui.pinescript.compile")})]}),ct("div",{className:We.body,children:[N&&ct("div",{className:We.sidebar,children:[ct("div",{className:We.sidebarHeader,children:[it("span",{children:p("ui.pinescript.scriptList")}),it("button",{onClick:ne,className:We.smallBtn,title:p("ui.pinescript.import"),children:p("ui.pinescript.import")}),it("input",{ref:ke,type:"file",accept:".pine",style:{display:"none"},onChange:ve})]}),it("div",{className:We.scriptList,children:$e.map(T=>ct("div",{className:`${We.scriptItem} ${T.id===f?We.scriptItemActive:""}`,onClick:()=>g(T.id),children:[G===T.id?it("input",{className:We.renameInput,value:te,onChange:ge=>me(ge.target.value),onBlur:()=>{G&&te.trim()&&F(G,te.trim()),Z(null)},onKeyDown:ge=>{ge.key==="Enter"&&(G&&te.trim()&&F(G,te.trim()),Z(null),ge.stopPropagation()),ge.key==="Escape"&&(Z(null),ge.stopPropagation())},autoFocus:!0,onClick:ge=>ge.stopPropagation()}):it("span",{className:We.scriptName,onDoubleClick:()=>X(T.id,T.name),children:T.name}),ct("div",{className:We.scriptActions,children:[it("button",{className:We.smallBtn,onClick:ge=>{ge.stopPropagation(),je(T.id)},title:p("ui.pinescript.export"),children:p("ui.pinescript.export")}),W===T.id?ct(Pf,{children:[it("button",{className:We.smallBtnDanger,onClick:ge=>{ge.stopPropagation(),Ee(T.id)},children:p("ui.pinescript.delete")}),it("button",{className:We.smallBtn,onClick:ge=>{ge.stopPropagation(),H(null)},children:"Cancel"})]}):it("button",{className:We.smallBtnDanger,onClick:ge=>{ge.stopPropagation(),H(T.id)},title:p("ui.pinescript.delete"),children:p("ui.pinescript.delete")})]})]},T.id))})]}),it("div",{className:We.editorContainer,children:Fe?it(Fe,{height:"100%",defaultLanguage:"vnscript",value:w,theme:"vninvest-widget",onChange:J,onMount:de,options:{minimap:{enabled:!1},fontSize:13,fontFamily:"'Fira Code', 'Consolas', monospace",lineNumbers:"on",renderLineHighlight:"line",scrollBeyondLastLine:!1,automaticLayout:!0,tabSize:2,wordWrap:"on"}}):it("div",{style:{flex:1,background:"#090d14",border:"1px solid #202b3c",borderRadius:4,display:"flex",alignItems:"center",justifyContent:"center",color:"#5d6b7f",fontSize:13},children:"Loading editor..."})})]}),O&&ct("div",{className:We.errorBox,children:[ct("strong",{children:[p("ui.pinescript.error"),":"]})," ",O]}),k&&it("div",{className:We.successBox,children:k})]})}export{I1 as a,yu as b,M1 as c,gu as d,Au as e,N1 as f,T1 as g,Y as h,tt as i,Oo as j,vu as k,Ft as l,Er as m,be as n,Tt as o,Zm as p,Hr as q,Re as r,Xu as s,wd as t,ie as u,ee as v,Yy as w,pf as x,L0 as y,yv as z,Dv as A,Mv as B};
595
+ //# sourceMappingURL=chunk-UKJ5AKQX.js.map