{"version":3,"sources":["webpack://_N_E/./public/static/toward-top.png","webpack://_N_E/./node_modules/echarts/lib/util/layout.js","webpack://_N_E/./node_modules/echarts/lib/chart/boxplot.js","webpack://_N_E/./node_modules/echarts/lib/component/axis/AxisBuilder.js","webpack://_N_E/./public/static/go-to-detail.png","webpack://_N_E/./node_modules/echarts/lib/preprocessor/backwardCompat.js","webpack://_N_E/./pages-components/auto/series/top-anchor.tsx","webpack://_N_E/./node_modules/echarts/lib/component/helper/BrushController.js","webpack://_N_E/./node_modules/echarts/lib/coord/polar/Polar.js","webpack://_N_E/./node_modules/echarts/lib/visual/seriesColor.js","webpack://_N_E/./node_modules/echarts/lib/processor/dataSample.js","webpack://_N_E/./node_modules/echarts/lib/model/mixin/textStyle.js","webpack://_N_E/./node_modules/echarts/lib/chart/boxplot/BoxplotSeries.js","webpack://_N_E/./node_modules/echarts/lib/component/toolbox/feature/Brush.js","webpack://_N_E/./public/static/timer.png","webpack://_N_E/./node_modules/echarts/lib/component/axisPointer/viewHelper.js","webpack://_N_E/./node_modules/echarts/lib/processor/dataFilter.js","webpack://_N_E/./node_modules/echarts/lib/chart/graph/simpleLayout.js","webpack://_N_E/./node_modules/echarts/lib/component/toolbox/feature/MagicType.js","webpack://_N_E/./node_modules/zrender/lib/vml/core.js","webpack://_N_E/./node_modules/echarts/lib/chart/sankey/SankeySeries.js","webpack://_N_E/./node_modules/echarts/lib/component/geo.js","webpack://_N_E/./node_modules/echarts/lib/coord/calendar/Calendar.js","webpack://_N_E/./node_modules/echarts/lib/processor/dataStack.js","webpack://_N_E/./node_modules/echarts/lib/component/legend.js","webpack://_N_E/./node_modules/echarts/lib/chart/helper/focusNodeAdjacencyAction.js","webpack://_N_E/./node_modules/zrender/lib/Handler.js","webpack://_N_E/./node_modules/echarts/lib/chart/graph/graphAction.js","webpack://_N_E/./node_modules/zrender/lib/graphic/shape/Polyline.js","webpack://_N_E/./node_modules/echarts/lib/component/axisPointer/AxisPointerView.js","webpack://_N_E/./node_modules/zrender/lib/graphic/CompoundPath.js","webpack://_N_E/./node_modules/echarts/lib/chart/line/poly.js","webpack://_N_E/./node_modules/zrender/lib/core/LRU.js","webpack://_N_E/./public/static/selected-dafault.png","webpack://_N_E/./node_modules/zrender/lib/Element.js","webpack://_N_E/./node_modules/echarts/lib/chart/bar/PictorialBarSeries.js","webpack://_N_E/./node_modules/echarts/lib/component/visualMap/visualMapAction.js","webpack://_N_E/./node_modules/echarts/lib/chart/sunburst.js","webpack://_N_E/./node_modules/echarts/lib/component/toolbox/ToolboxView.js","webpack://_N_E/./public/static/thumb-up-active.png","webpack://_N_E/./node_modules/echarts/lib/action/roamHelper.js","webpack://_N_E/./public/static/trash-bin-hover.png","webpack://_N_E/./node_modules/zrender/lib/contain/path.js","webpack://_N_E/./node_modules/echarts/lib/coord/parallel/Parallel.js","webpack://_N_E/./node_modules/echarts/lib/coord/polar/AxisModel.js","webpack://_N_E/./node_modules/zrender/lib/graphic/shape/Circle.js","webpack://_N_E/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://_N_E/./node_modules/echarts/lib/chart/treemap.js","webpack://_N_E/./node_modules/echarts/lib/component/markPoint.js","webpack://_N_E/./node_modules/echarts/lib/component/toolbox/feature/Restore.js","webpack://_N_E/./node_modules/zrender/lib/graphic/Pattern.js","webpack://_N_E/./node_modules/zrender/lib/svg/Painter.js","webpack://_N_E/./node_modules/echarts/lib/component/axisPointer/BaseAxisPointer.js","webpack://_N_E/./node_modules/echarts/lib/chart/boxplot/BoxplotView.js","webpack://_N_E/./node_modules/echarts/lib/component/dataZoomSelect.js","webpack://_N_E/./node_modules/echarts/lib/component/timeline/SliderTimelineModel.js","webpack://_N_E/./components/selector/car.tsx","webpack://_N_E/./node_modules/zrender/lib/graphic/RadialGradient.js","webpack://_N_E/./node_modules/zrender/lib/core/guid.js","webpack://_N_E/./node_modules/echarts/lib/model/mixin/boxLayout.js","webpack://_N_E/./node_modules/echarts/lib/chart/graph/edgeVisual.js","webpack://_N_E/./node_modules/echarts/lib/coord/parallel/AxisModel.js","webpack://_N_E/./node_modules/echarts/lib/chart/custom.js","webpack://_N_E/./node_modules/echarts/lib/coord/axisTickLabelBuilder.js","webpack://_N_E/./node_modules/echarts/lib/util/model.js","webpack://_N_E/./node_modules/echarts/lib/scale/Scale.js","webpack://_N_E/./node_modules/zrender/lib/container/Group.js","webpack://_N_E/./components/ugc/imageGrid.tsx","webpack://_N_E/./pages-components/ugc/content.tsx","webpack://_N_E/./pages-components/ugc/article.tsx","webpack://_N_E/./node_modules/zrender/lib/core/bbox.js","webpack://_N_E/./node_modules/echarts/lib/chart/bar/helper.js","webpack://_N_E/./node_modules/zrender/lib/contain/cubic.js","webpack://_N_E/./node_modules/echarts/lib/chart/helper/whiskerBoxCommon.js","webpack://_N_E/./node_modules/echarts/lib/chart/helper/createListSimply.js","webpack://_N_E/./node_modules/echarts/lib/model/mixin/colorPalette.js","webpack://_N_E/./public/static/invoice@3x.png","webpack://_N_E/./node_modules/echarts/lib/component/dataZoomSlider.js","webpack://_N_E/./components/hooks/use-handle-before-leave.ts","webpack://_N_E/./node_modules/echarts/lib/util/animation.js","webpack://_N_E/./node_modules/echarts/lib/component/legend/scrollableLegendAction.js","webpack://_N_E/./node_modules/echarts/lib/component/axisPointer/axisTrigger.js","webpack://_N_E/./node_modules/zrender/lib/contain/text.js","webpack://_N_E/./node_modules/echarts/lib/view/Chart.js","webpack://_N_E/./public/static/dcd-code@3x.png","webpack://_N_E/./node_modules/zrender/lib/vml/Painter.js","webpack://_N_E/./node_modules/echarts/lib/chart/candlestick/preprocessor.js","webpack://_N_E/./node_modules/echarts/lib/component/visualMap/VisualMapModel.js","webpack://_N_E/./node_modules/echarts/lib/coord/polar/prepareCustom.js","webpack://_N_E/./node_modules/echarts/lib/component/helper/sliderMove.js","webpack://_N_E/./node_modules/echarts/lib/chart/line.js","webpack://_N_E/./node_modules/echarts/lib/chart/tree.js","webpack://_N_E/./node_modules/echarts/lib/coord/cartesian/Axis2D.js","webpack://_N_E/./node_modules/echarts/lib/coord/geo/mapDataStorage.js","webpack://_N_E/./node_modules/echarts/lib/data/Source.js","webpack://_N_E/./node_modules/echarts/lib/chart/boxplot/boxplotLayout.js","webpack://_N_E/./node_modules/zrender/lib/Painter.js","webpack://_N_E/./node_modules/echarts/lib/component/timeline/TimelineModel.js","webpack://_N_E/./node_modules/echarts/lib/util/format.js","webpack://_N_E/./node_modules/echarts/lib/coord/single/singleAxisHelper.js","webpack://_N_E/./node_modules/echarts/lib/data/helper/dataStackHelper.js","webpack://_N_E/./public/static/show-more.png","webpack://_N_E/./node_modules/echarts/lib/component/calendar/CalendarView.js","webpack://_N_E/./node_modules/zrender/lib/tool/transformPath.js","webpack://_N_E/./node_modules/echarts/lib/component/timeline.js","webpack://_N_E/./node_modules/echarts/lib/chart/lines/linesVisual.js","webpack://_N_E/./node_modules/echarts/lib/coord/geo/geoCreator.js","webpack://_N_E/./node_modules/echarts/lib/chart/graph/forceHelper.js","webpack://_N_E/./public/static/hover-icon@3x.png","webpack://_N_E/./node_modules/popper.js/dist/esm/popper.js","webpack://_N_E/./node_modules/echarts/lib/chart/line/lineAnimationDiff.js","webpack://_N_E/./node_modules/echarts/lib/component/axisPointer/SingleAxisPointer.js","webpack://_N_E/./node_modules/echarts/lib/component/legend/ScrollableLegendModel.js","webpack://_N_E/./node_modules/echarts/lib/chart/line/LineView.js","webpack://_N_E/./node_modules/zrender/lib/vml/vml.js","webpack://_N_E/./node_modules/core-js/internals/internal-metadata.js","webpack://_N_E/./node_modules/echarts/lib/theme/dark.js","webpack://_N_E/./node_modules/echarts/lib/component/axis/CartesianAxisView.js","webpack://_N_E/./node_modules/echarts/lib/coord/geo/Region.js","webpack://_N_E/./node_modules/echarts/lib/component/parallel.js","webpack://_N_E/./node_modules/echarts/lib/component/brush/BrushModel.js","webpack://_N_E/./node_modules/echarts/lib/chart/pie/PieSeries.js","webpack://_N_E/./node_modules/echarts/lib/stream/task.js","webpack://_N_E/./node_modules/echarts/lib/component/helper/brushHelper.js","webpack://_N_E/./node_modules/echarts/lib/component/angleAxis.js","webpack://_N_E/./node_modules/echarts/lib/chart/treemap/Breadcrumb.js","webpack://_N_E/./node_modules/echarts/lib/chart/map/mapDataStatistic.js","webpack://_N_E/./node_modules/echarts/lib/chart/helper/SymbolDraw.js","webpack://_N_E/./node_modules/echarts/lib/component/dataset.js","webpack://_N_E/./node_modules/echarts/lib/component/visualMap/PiecewiseView.js","webpack://_N_E/./node_modules/echarts/lib/chart/parallel/ParallelSeries.js","webpack://_N_E/./node_modules/echarts/lib/component/tooltip.js","webpack://_N_E/./node_modules/echarts/lib/chart/funnel/FunnelSeries.js","webpack://_N_E/./node_modules/echarts/lib/coord/geo/prepareCustom.js","webpack://_N_E/./node_modules/echarts/lib/coord/geo/Geo.js","webpack://_N_E/./node_modules/echarts/lib/coord/cartesian/cartesianAxisHelper.js","webpack://_N_E/./node_modules/echarts/lib/component/helper/roamHelper.js","webpack://_N_E/./node_modules/echarts/lib/component/gridSimple.js","webpack://_N_E/./node_modules/echarts/lib/chart/gauge.js","webpack://_N_E/./node_modules/echarts/lib/component/tooltip/TooltipContent.js","webpack://_N_E/./node_modules/zrender/lib/core/timsort.js","webpack://_N_E/./node_modules/zrender/lib/contain/polygon.js","webpack://_N_E/./node_modules/zrender/lib/animation/Animator.js","webpack://_N_E/./node_modules/echarts/lib/data/Tree.js","webpack://_N_E/./node_modules/echarts/lib/component/visualMap/PiecewiseModel.js","webpack://_N_E/./node_modules/zrender/lib/core/GestureMgr.js","webpack://_N_E/./node_modules/echarts/lib/component/legendScroll.js","webpack://_N_E/./node_modules/echarts/lib/chart/parallel.js","webpack://_N_E/./node_modules/echarts/lib/chart/candlestick.js","webpack://_N_E/./node_modules/echarts/lib/component/timeline/TimelineAxis.js","webpack://_N_E/./node_modules/echarts/lib/chart/candlestick/candlestickLayout.js","webpack://_N_E/./node_modules/echarts/lib/component/dataZoom.js","webpack://_N_E/./public/static/star-modest.png","webpack://_N_E/./node_modules/echarts/lib/coord/parallel/ParallelAxis.js","webpack://_N_E/./node_modules/echarts/lib/data/helper/sourceHelper.js","webpack://_N_E/./components/ugc/user.tsx","webpack://_N_E/./components/ugc/text.tsx","webpack://_N_E/./components/ugc/imageList.tsx","webpack://_N_E/./components/ugc/wtt.tsx","webpack://_N_E/./components/ugc/video.tsx","webpack://_N_E/./components/ugc/koubei.tsx","webpack://_N_E/./components/ugc/answer.tsx","webpack://_N_E/./components/ugc/qa.tsx","webpack://_N_E/./components/ugc/article-card.tsx","webpack://_N_E/./node_modules/echarts/lib/chart/helper/EffectLine.js","webpack://_N_E/./node_modules/zrender/lib/core/arrayDiff2.js","webpack://_N_E/./node_modules/echarts/lib/chart/helper/multipleGraphEdgeHelper.js","webpack://_N_E/./node_modules/echarts/lib/component/helper/MapDraw.js","webpack://_N_E/./lib/error-handle.ts","webpack://_N_E/./lib/get-cars-from-series.ts","webpack://_N_E/./node_modules/zrender/lib/mixin/Transformable.js","webpack://_N_E/./node_modules/zrender/lib/graphic/Image.js","webpack://_N_E/./node_modules/echarts/lib/chart/sankey/sankeyVisual.js","webpack://_N_E/./node_modules/echarts/lib/component/legend/ScrollableLegendView.js","webpack://_N_E/./constants/community-api.ts","webpack://_N_E/./node_modules/echarts/lib/component/brush/visualEncoding.js","webpack://_N_E/./node_modules/echarts/lib/chart/effectScatter.js","webpack://_N_E/./public/static/play-video.png","webpack://_N_E/./node_modules/echarts/lib/component/axisPointer/findPointFromSeries.js","webpack://_N_E/./node_modules/echarts/lib/coord/radar/RadarModel.js","webpack://_N_E/./node_modules/echarts/lib/coord/geo/fix/textCoord.js","webpack://_N_E/./node_modules/echarts/lib/chart/bar/BarSeries.js","webpack://_N_E/./node_modules/echarts/lib/component/axisPointer/globalListener.js","webpack://_N_E/./node_modules/echarts/lib/chart/helper/Symbol.js","webpack://_N_E/./node_modules/echarts/lib/chart/radar/RadarView.js","webpack://_N_E/./node_modules/echarts/lib/component/axis/RadiusAxisView.js","webpack://_N_E/./public/static/dcar-score.png","webpack://_N_E/./node_modules/echarts/lib/helper.js","webpack://_N_E/./node_modules/echarts/lib/chart/scatter.js","webpack://_N_E/./components/comment/input.tsx","webpack://_N_E/./components/modal-confirm-upon-self.tsx","webpack://_N_E/./components/comment/reply.tsx","webpack://_N_E/./components/comment/item.tsx","webpack://_N_E/./components/comment/header.tsx","webpack://_N_E/./lib/eventbus.ts","webpack://_N_E/./components/comment/index.tsx","webpack://_N_E/./node_modules/zrender/lib/core/matrix.js","webpack://_N_E/./components/hooks/use-process-spy.ts","webpack://_N_E/./node_modules/echarts/lib/scale/Ordinal.js","webpack://_N_E/./node_modules/echarts/lib/component/marker/MarkLineModel.js","webpack://_N_E/./components/selector/series.tsx","webpack://_N_E/./node_modules/echarts/lib/chart/candlestick/CandlestickView.js","webpack://_N_E/./node_modules/zrender/lib/graphic/Displayable.js","webpack://_N_E/./node_modules/echarts/lib/chart/pie/PieView.js","webpack://_N_E/./node_modules/zrender/lib/mixin/Eventful.js","webpack://_N_E/./node_modules/echarts/lib/chart/graph/simpleLayoutHelper.js","webpack://_N_E/./node_modules/echarts/lib/coord/polar/polarCreator.js","webpack://_N_E/./node_modules/echarts/lib/layout/barPolar.js","webpack://_N_E/./node_modules/echarts/lib/chart/gauge/PointerPath.js","webpack://_N_E/./node_modules/echarts/lib/coord/geo/GeoModel.js","webpack://_N_E/./node_modules/echarts/lib/chart/graph.js","webpack://_N_E/./node_modules/echarts/lib/coord/radar/Radar.js","webpack://_N_E/./node_modules/echarts/lib/chart/helper/createGraphFromNodeEdge.js","webpack://_N_E/./node_modules/echarts/lib/coord/axisModelCommonMixin.js","webpack://_N_E/./node_modules/echarts/lib/CoordinateSystem.js","webpack://_N_E/./node_modules/zrender/lib/core/PathProxy.js","webpack://_N_E/./node_modules/echarts/lib/component/toolbox/featureManager.js","webpack://_N_E/./node_modules/echarts/lib/chart/tree/TreeSeries.js","webpack://_N_E/./node_modules/echarts/lib/scale/Time.js","webpack://_N_E/./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?72fd","webpack://_N_E/./node_modules/echarts/lib/chart/line/LineSeries.js","webpack://_N_E/./node_modules/echarts/lib/coord/parallel/ParallelModel.js","webpack://_N_E/./node_modules/zrender/lib/core/env.js","webpack://_N_E/./node_modules/echarts/lib/chart/tree/layoutHelper.js","webpack://_N_E/./node_modules/echarts/lib/util/graphic.js","webpack://_N_E/./node_modules/echarts/lib/component/dataZoom/SliderZoomView.js","webpack://_N_E/./public/static/topic.png","webpack://_N_E/./node_modules/echarts/lib/component/marker/MarkerModel.js","webpack://_N_E/./node_modules/echarts/lib/chart/funnel/funnelLayout.js","webpack://_N_E/./node_modules/echarts/lib/chart/themeRiver/ThemeRiverView.js","webpack://_N_E/./node_modules/echarts/lib/preprocessor/helper/compatStyle.js","webpack://_N_E/./components/close-icon.tsx","webpack://_N_E/./node_modules/zrender/lib/graphic/Style.js","webpack://_N_E/./node_modules/echarts/lib/visual/visualSolution.js","webpack://_N_E/./pages-components/car_fans_community/feed.tsx","webpack://_N_E/./node_modules/echarts/lib/model/mixin/makeStyleMapper.js","webpack://_N_E/./node_modules/echarts/lib/chart/pie/pieLayout.js","webpack://_N_E/./node_modules/echarts/lib/chart/graph/categoryVisual.js","webpack://_N_E/./node_modules/echarts/lib/lang.js","webpack://_N_E/./node_modules/echarts/lib/component/visualMapPiecewise.js","webpack://_N_E/./node_modules/echarts/lib/data/helper/dataProvider.js","webpack://_N_E/./node_modules/echarts/lib/data/helper/dimensionHelper.js","webpack://_N_E/./node_modules/echarts/lib/component/polar.js","webpack://_N_E/./node_modules/echarts/lib/chart/boxplot/boxplotVisual.js","webpack://_N_E/./public/static/drop-down-arrow.png","webpack://_N_E/./node_modules/echarts/lib/component/dataZoom/dataZoomProcessor.js","webpack://_N_E/./node_modules/zrender/lib/config.js","webpack://_N_E/./node_modules/echarts/lib/component/singleAxis.js","webpack://_N_E/./public/static/yellow-v.png","webpack://_N_E/./node_modules/echarts/lib/component/brush.js","webpack://_N_E/./components/author.tsx","webpack://_N_E/./node_modules/echarts/lib/chart/bar/BaseBarSeries.js","webpack://_N_E/./node_modules/zrender/lib/tool/parseSVG.js","webpack://_N_E/./node_modules/echarts/lib/component/marker/MarkLineView.js","webpack://_N_E/./node_modules/echarts/lib/component/visualMap/ContinuousModel.js","webpack://_N_E/./node_modules/echarts/lib/coord/single/prepareCustom.js","webpack://_N_E/./node_modules/zrender/lib/animation/Animation.js","webpack://_N_E/./pages-components/auto/series/header.tsx","webpack://_N_E/./node_modules/echarts/lib/chart/sankey.js","webpack://_N_E/./node_modules/echarts/index.js","webpack://_N_E/./node_modules/echarts/lib/data/helper/linkList.js","webpack://_N_E/./node_modules/echarts/lib/coord/geo/fix/nanhai.js","webpack://_N_E/./node_modules/echarts/lib/component/dataZoom/InsideZoomView.js","webpack://_N_E/./node_modules/echarts/lib/chart/helper/createListFromArray.js","webpack://_N_E/./node_modules/echarts/lib/chart/bar/PictorialBarView.js","webpack://_N_E/./node_modules/echarts/lib/component/dataZoom/SliderZoomModel.js","webpack://_N_E/./node_modules/echarts/lib/chart/sunburst/SunburstView.js","webpack://_N_E/./node_modules/zrender/lib/tool/path.js","webpack://_N_E/./node_modules/echarts/lib/component/timeline/SliderTimelineView.js","webpack://_N_E/./public/static/default-article.png","webpack://_N_E/./lib/redirect-to.ts","webpack://_N_E/./public/static/more-icon-grey@3x.png","webpack://_N_E/./node_modules/echarts/lib/util/number.js","webpack://_N_E/./node_modules/echarts/lib/model/mixin/dataFormat.js","webpack://_N_E/./node_modules/echarts/lib/model/mixin/lineStyle.js","webpack://_N_E/./node_modules/zrender/lib/graphic/IncrementalDisplayable.js","webpack://_N_E/./node_modules/echarts/lib/component/timeline/timelineAction.js","webpack://_N_E/./node_modules/echarts/lib/chart/heatmap/HeatmapSeries.js","webpack://_N_E/./node_modules/echarts/lib/component/dataZoom/DataZoomModel.js","webpack://_N_E/./node_modules/zrender/lib/svg/graphic.js","webpack://_N_E/./node_modules/echarts/lib/component/visualMap/ContinuousView.js","webpack://_N_E/./node_modules/echarts/lib/echarts.js","webpack://_N_E/./node_modules/echarts/lib/component/marker/MarkAreaModel.js","webpack://_N_E/./node_modules/zrender/lib/core/vector.js","webpack://_N_E/./node_modules/lodash/now.js","webpack://_N_E/./node_modules/echarts/lib/component/dataZoom/SelectZoomModel.js","webpack://_N_E/./node_modules/zrender/lib/tool/color.js","webpack://_N_E/./node_modules/zrender/lib/graphic/Gradient.js","webpack://_N_E/./node_modules/echarts/lib/component/tooltip/TooltipView.js","webpack://_N_E/./node_modules/echarts/lib/model/Model.js","webpack://_N_E/./node_modules/echarts/lib/coord/single/singleCreator.js","webpack://_N_E/./node_modules/echarts/lib/chart/effectScatter/EffectScatterView.js","webpack://_N_E/./node_modules/echarts/lib/chart/treemap/treemapAction.js","webpack://_N_E/./node_modules/zrender/lib/animation/Clip.js","webpack://_N_E/./public/static/checked.png","webpack://_N_E/./node_modules/echarts/lib/chart/sunburst/sunburstAction.js","webpack://_N_E/./node_modules/echarts/lib/chart/helper/Polyline.js","webpack://_N_E/./node_modules/zrender/lib/graphic/shape/Ring.js","webpack://_N_E/./node_modules/core-js/modules/es.array.some.js","webpack://_N_E/./node_modules/echarts/lib/component/legend/legendAction.js","webpack://_N_E/./node_modules/core-js/modules/es.string.match.js","webpack://_N_E/./node_modules/echarts/lib/coord/calendar/prepareCustom.js","webpack://_N_E/./lib/delete-post.ts","webpack://_N_E/./components/ugc/interact.tsx","webpack://_N_E/./node_modules/echarts/lib/coord/single/Single.js","webpack://_N_E/./node_modules/echarts/lib/chart/heatmap/HeatmapView.js","webpack://_N_E/./node_modules/echarts/lib/chart/graph/adjustEdge.js","webpack://_N_E/./node_modules/zrender/lib/graphic/LinearGradient.js","webpack://_N_E/./node_modules/echarts/lib/component/axisPointer/AxisPointerModel.js","webpack://_N_E/./node_modules/echarts/lib/coord/cartesian/AxisModel.js","webpack://_N_E/./node_modules/zrender/lib/core/log.js","webpack://_N_E/./node_modules/echarts/lib/action/geoRoam.js","webpack://_N_E/./node_modules/echarts/lib/component/helper/RoamController.js","webpack://_N_E/./node_modules/zrender/lib/core/curve.js","webpack://_N_E/./node_modules/echarts/lib/component/axisPointer/CartesianAxisPointer.js","webpack://_N_E/./node_modules/zrender/lib/graphic/shape/Sector.js","webpack://_N_E/./node_modules/zrender/lib/svg/helper/Definable.js","webpack://_N_E/./node_modules/echarts/lib/component/dataZoom/SelectZoomView.js","webpack://_N_E/./node_modules/echarts/lib/model/Series.js","webpack://_N_E/./node_modules/zrender/lib/graphic/helper/poly.js","webpack://_N_E/./node_modules/echarts/lib/coord/geo/geoJSONLoader.js","webpack://_N_E/./node_modules/echarts/lib/chart/candlestick/candlestickVisual.js","webpack://_N_E/./node_modules/react-is/index.js","webpack://_N_E/./node_modules/echarts/lib/chart/funnel/FunnelView.js","webpack://_N_E/./node_modules/echarts/lib/chart/gauge/GaugeSeries.js","webpack://_N_E/./lib/get-login-href.ts","webpack://_N_E/./node_modules/echarts/lib/config.js","webpack://_N_E/./node_modules/echarts/lib/chart/map/MapSeries.js","webpack://_N_E/./node_modules/echarts/lib/chart/sunburst/SunburstPiece.js","webpack://_N_E/./node_modules/core-js/modules/es.array.sort.js","webpack://_N_E/./node_modules/echarts/lib/component/toolbox/feature/SaveAsImage.js","webpack://_N_E/./node_modules/core-js/modules/es.map.js","webpack://_N_E/./node_modules/echarts/lib/chart/graph/graphHelper.js","webpack://_N_E/./node_modules/echarts/lib/component/dataZoom/helper.js","webpack://_N_E/./node_modules/@material-ui/core/node_modules/react-is/index.js","webpack://_N_E/./node_modules/echarts/lib/chart/themeRiver/themeRiverLayout.js","webpack://_N_E/./node_modules/echarts/lib/component/visualMap.js","webpack://_N_E/./node_modules/echarts/lib/chart/map/mapVisual.js","webpack://_N_E/./node_modules/echarts/lib/model/mixin/itemStyle.js","webpack://_N_E/./node_modules/echarts/lib/component/radar.js","webpack://_N_E/./public/static/hover-icon.png","webpack://_N_E/./node_modules/echarts/lib/component/dataZoom/roams.js","webpack://_N_E/./node_modules/echarts/lib/chart/helper/treeHelper.js","webpack://_N_E/./node_modules/echarts/lib/data/DataDimensionInfo.js","webpack://_N_E/./node_modules/zrender/lib/graphic/helper/roundRect.js","webpack://_N_E/./node_modules/echarts/lib/chart/sankey/SankeyView.js","webpack://_N_E/./node_modules/echarts/lib/coord/geo/geoSourceManager.js","webpack://_N_E/./node_modules/echarts/lib/chart/graph/forceLayout.js","webpack://_N_E/./node_modules/echarts/lib/component/axis/axisSplitHelper.js","webpack://_N_E/./node_modules/echarts/lib/coord/cartesian/Grid.js","webpack://_N_E/./node_modules/echarts/lib/chart/heatmap.js","webpack://_N_E/./components/ugc/imageViewer.tsx","webpack://_N_E/./node_modules/swiper/esm/components/pagination/pagination.js","webpack://_N_E/./public/static/hover-icon@2x.png","webpack://_N_E/./node_modules/zrender/lib/Layer.js","webpack://_N_E/./node_modules/zrender/lib/graphic/helper/image.js","webpack://_N_E/./node_modules/echarts/lib/component/legend/LegendView.js","webpack://_N_E/./node_modules/echarts/lib/visual/VisualMapping.js","webpack://_N_E/./node_modules/core-js/modules/es.set.js","webpack://_N_E/./node_modules/zrender/lib/core/event.js","webpack://_N_E/./node_modules/echarts/lib/chart/parallel/ParallelView.js","webpack://_N_E/./node_modules/echarts/lib/visual/visualDefault.js","webpack://_N_E/./node_modules/echarts/lib/data/List.js","webpack://_N_E/./node_modules/zrender/lib/graphic/helper/smoothSpline.js","webpack://_N_E/./node_modules/echarts/lib/util/clazz.js","webpack://_N_E/./node_modules/echarts/lib/component/title.js","webpack://_N_E/./node_modules/echarts/lib/chart/graph/categoryFilter.js","webpack://_N_E/./node_modules/echarts/lib/chart/map.js","webpack://_N_E/./node_modules/echarts/lib/chart/effectScatter/EffectScatterSeries.js","webpack://_N_E/./node_modules/echarts/lib/chart/bar/BarView.js","webpack://_N_E/./node_modules/core-js/internals/collection-strong.js","webpack://_N_E/./node_modules/echarts/lib/coord/parallel/parallelPreprocessor.js","webpack://_N_E/./node_modules/echarts/lib/chart/lines/linesLayout.js","webpack://_N_E/./node_modules/zrender/lib/core/dom.js","webpack://_N_E/./node_modules/echarts/lib/component/axis/AxisView.js","webpack://_N_E/./node_modules/echarts/lib/component/timeline/preprocessor.js","webpack://_N_E/./node_modules/echarts/lib/coord/single/SingleAxis.js","webpack://_N_E/./node_modules/echarts/lib/coord/geo/fix/geoCoord.js","webpack://_N_E/./node_modules/zrender/lib/contain/quadratic.js","webpack://_N_E/./node_modules/echarts/lib/component/dataZoom/typeDefaulter.js","webpack://_N_E/./node_modules/zrender/lib/zrender.js","webpack://_N_E/./node_modules/echarts/lib/coord/axisHelper.js","webpack://_N_E/./pages-components/auto/series/store.ts","webpack://_N_E/./node_modules/echarts/lib/stream/Scheduler.js","webpack://_N_E/./node_modules/echarts/lib/chart/helper/EffectPolyline.js","webpack://_N_E/./node_modules/echarts/lib/component/axisPointer/PolarAxisPointer.js","webpack://_N_E/./node_modules/echarts/lib/component/dataZoom/history.js","webpack://_N_E/./node_modules/echarts/lib/component/radar/RadarView.js","webpack://_N_E/./node_modules/echarts/lib/chart/themeRiver.js","webpack://_N_E/./node_modules/echarts/lib/model/Component.js","webpack://_N_E/./node_modules/echarts/lib/coord/View.js","webpack://_N_E/./node_modules/echarts/lib/chart/tree/TreeView.js","webpack://_N_E/./node_modules/core-js/internals/collection.js","webpack://_N_E/./components/selector/brand-series-car-single.tsx","webpack://_N_E/./pages-components/auto/series/pk-list.tsx","webpack://_N_E/./node_modules/zrender/lib/core/util.js","webpack://_N_E/./node_modules/echarts/lib/chart/tree/traversalHelper.js","webpack://_N_E/./components/publisher/close-icon.tsx","webpack://_N_E/./node_modules/echarts/lib/data/Graph.js","webpack://_N_E/./node_modules/echarts/lib/chart/helper/LineDraw.js","webpack://_N_E/./node_modules/echarts/lib/component/helper/selectableMixin.js","webpack://_N_E/./public/static/wave-point.png","webpack://_N_E/./node_modules/echarts/lib/coord/axisDefault.js","webpack://_N_E/./node_modules/echarts/lib/chart/themeRiver/themeRiverVisual.js","webpack://_N_E/./public/static/brown-live-show.gif","webpack://_N_E/./node_modules/echarts/lib/chart/lines/LinesSeries.js","webpack://_N_E/./node_modules/echarts/lib/component/visualMap/VisualMapView.js","webpack://_N_E/./node_modules/echarts/lib/action/createDataSelectAction.js","webpack://_N_E/./node_modules/echarts/lib/component/visualMapContinuous.js","webpack://_N_E/./node_modules/zrender/lib/animation/easing.js","webpack://_N_E/./node_modules/echarts/lib/component/geo/GeoView.js","webpack://_N_E/./node_modules/echarts/lib/component/toolbox/feature/DataView.js","webpack://_N_E/./node_modules/zrender/lib/graphic/Text.js","webpack://_N_E/./pages-components/auto/series/common/tab.tsx","webpack://_N_E/./pages-components/auto/series/pk.tsx","webpack://_N_E/./pages-components/auto/series/photos.tsx","webpack://_N_E/./pages-components/auto/series/all-car-models.tsx","webpack://_N_E/./components/feed-new-series.tsx","webpack://_N_E/./pages-components/auto/series/popular-content.tsx","webpack://_N_E/./components/series/indicator.tsx","webpack://_N_E/./components/bar.tsx","webpack://_N_E/./components/series/series-rank.tsx","webpack://_N_E/./components/series/dcar-score.tsx","webpack://_N_E/./components/series/favour.tsx","webpack://_N_E/./components/series/sub-nav.tsx","webpack://_N_E/./components/series/community.tsx","webpack://_N_E/./components/series/article-card.tsx","webpack://_N_E/./lib/groupBy.ts","webpack://_N_E/./components/series/articles.tsx","webpack://_N_E/./components/series/car-list.tsx","webpack://_N_E/./pages-components/auto/series/home.tsx","webpack://_N_E/./components/series/leaderboard.tsx","webpack://_N_E/./pages-components/auto/series/qa/home.tsx","webpack://_N_E/./pages-components/auto/series/article/popup.tsx","webpack://_N_E/./pages-components/auto/series/article/home.tsx","webpack://_N_E/./pages-components/auto/series/video/video-card.tsx","webpack://_N_E/./pages-components/auto/series/video/home.tsx","webpack://_N_E/./pages/auto/series.tsx","webpack://_N_E/./node_modules/echarts/lib/coord/radar/IndicatorAxis.js","webpack://_N_E/./node_modules/echarts/lib/chart/radar/backwardCompat.js","webpack://_N_E/./node_modules/echarts/lib/coord/polar/PolarModel.js","webpack://_N_E/./node_modules/echarts/lib/component/helper/listComponent.js","webpack://_N_E/./node_modules/echarts/lib/component/radiusAxis.js","webpack://_N_E/./public/static/video.png","webpack://_N_E/./node_modules/echarts/lib/chart/graph/createView.js","webpack://_N_E/./node_modules/echarts/lib/component/graphic.js","webpack://_N_E/./node_modules/echarts/lib/component/dataZoomInside.js","webpack://_N_E/./node_modules/echarts/lib/chart/helper/LinePath.js","webpack://_N_E/./node_modules/echarts/lib/visual/symbol.js","webpack://_N_E/./node_modules/echarts/lib/component/toolbox/feature/DataZoom.js","webpack://_N_E/./node_modules/zrender/lib/graphic/helper/fixShadow.js","webpack://_N_E/./node_modules/echarts/lib/component/dataZoom/DataZoomView.js","webpack://_N_E/./node_modules/echarts/lib/component/markArea.js","webpack://_N_E/./node_modules/echarts/lib/chart/helper/Line.js","webpack://_N_E/./node_modules/echarts/lib/model/Global.js","webpack://_N_E/./components/selector/brand.tsx","webpack://_N_E/./node_modules/echarts/lib/component/marker/MarkPointView.js","webpack://_N_E/./node_modules/echarts/lib/coord/calendar/CalendarModel.js","webpack://_N_E/./node_modules/echarts/lib/data/DataDiffer.js","webpack://_N_E/./node_modules/echarts/lib/chart/sankey/sankeyLayout.js","webpack://_N_E/./node_modules/zrender/lib/graphic/constant.js","webpack://_N_E/./node_modules/echarts/lib/component/tooltip/TooltipRichContent.js","webpack://_N_E/./node_modules/echarts/lib/chart/graph/GraphSeries.js","webpack://_N_E/./node_modules/zrender/lib/graphic/shape/Polygon.js","webpack://_N_E/./node_modules/echarts/lib/layout/points.js","webpack://_N_E/./node_modules/echarts/lib/ExtensionAPI.js","webpack://_N_E/./node_modules/echarts/lib/component/axis/parallelAxisAction.js","webpack://_N_E/./node_modules/echarts/lib/coord/parallel/parallelCreator.js","webpack://_N_E/./node_modules/echarts/lib/coord/Axis.js","webpack://_N_E/./node_modules/echarts/lib/component/legend/LegendModel.js","webpack://_N_E/./node_modules/zrender/lib/core/fourPointsTransform.js","webpack://_N_E/./node_modules/zrender/lib/contain/util.js","webpack://_N_E/./node_modules/echarts/lib/data/helper/completeDimensions.js","webpack://_N_E/./pages-components/auto/series/video-manual.tsx","webpack://_N_E/./node_modules/echarts/lib/chart/radar/radarLayout.js","webpack://_N_E/./node_modules/zrender/lib/svg/core.js","webpack://_N_E/./node_modules/zrender/lib/contain/windingLine.js","webpack://_N_E/./node_modules/echarts/lib/model/referHelper.js","webpack://_N_E/./public/static/empty-envelope.png","webpack://_N_E/./node_modules/echarts/lib/util/throttle.js","webpack://_N_E/./node_modules/echarts/lib/component/marker/MarkerView.js","webpack://_N_E/./node_modules/echarts/lib/util/component.js","webpack://_N_E/./node_modules/echarts/lib/model/globalDefault.js","webpack://_N_E/./node_modules/zrender/lib/graphic/helper/fixClipWithShadow.js","webpack://_N_E/./node_modules/echarts/lib/scale/Interval.js","webpack://_N_E/./public/static/unchecked.png","webpack://_N_E/./node_modules/echarts/lib/scale/Log.js","webpack://_N_E/./public/static/clock@3x.png","webpack://_N_E/./node_modules/zrender/lib/graphic/shape/Arc.js","webpack://_N_E/./public/static/thumb-up.png","webpack://_N_E/./node_modules/echarts/lib/chart/radar.js","webpack://_N_E/./node_modules/echarts/lib/data/OrdinalMeta.js","webpack://_N_E/./node_modules/echarts/lib/component/marker/MarkAreaView.js","webpack://_N_E/./node_modules/echarts/lib/component/toolbox/ToolboxModel.js","webpack://_N_E/./node_modules/echarts/lib/coord/cartesian/GridModel.js","webpack://_N_E/./node_modules/zrender/lib/svg/svg.js","webpack://_N_E/./node_modules/echarts/lib/component/calendar.js","webpack://_N_E/./public/static/delete-red.png","webpack://_N_E/./node_modules/echarts/lib/data/helper/sourceType.js","webpack://_N_E/./node_modules/echarts/lib/component/legend/legendFilter.js","webpack://_N_E/./node_modules/echarts/lib/chart/treemap/treemapVisual.js","webpack://_N_E/./node_modules/echarts/lib/component/marker/markerHelper.js","webpack://_N_E/./node_modules/echarts/lib/coord/polar/RadiusAxis.js","webpack://_N_E/./node_modules/echarts/lib/chart/treemap/TreemapSeries.js","webpack://_N_E/./node_modules/echarts/lib/component/timeline/TimelineView.js","webpack://_N_E/./node_modules/echarts/lib/scale/helper.js","webpack://_N_E/./node_modules/echarts/lib/chart/map/backwardCompat.js","webpack://_N_E/./node_modules/echarts/lib/chart/bar.js","webpack://_N_E/./node_modules/echarts/lib/chart/graph/circularLayoutHelper.js","webpack://_N_E/./node_modules/echarts/lib/component/markLine.js","webpack://_N_E/./node_modules/zrender/lib/contain/line.js","webpack://_N_E/./node_modules/echarts/lib/chart/graph/GraphView.js","webpack://_N_E/./node_modules/echarts/lib/model/mixin/areaStyle.js","webpack://_N_E/./node_modules/zrender/lib/core/BoundingRect.js","webpack://_N_E/./node_modules/zrender/lib/animation/requestAnimationFrame.js","webpack://_N_E/./node_modules/echarts/lib/visual/dataColor.js","webpack://_N_E/./node_modules/echarts/lib/loading/default.js","webpack://_N_E/./public/static/publish@3x.png","webpack://_N_E/./node_modules/zrender/lib/contain/arc.js","webpack://_N_E/./node_modules/echarts/lib/chart/line/helper.js","webpack://_N_E/./node_modules/zrender/lib/svg/helper/ClippathManager.js","webpack://_N_E/./lib/mock-new-card.ts","webpack://_N_E/./node_modules/zrender/lib/graphic/helper/smoothBezier.js","webpack://_N_E/./public/static/calendar@3x.png","webpack://_N_E/./node_modules/echarts/lib/chart/treemap/treemapLayout.js","webpack://_N_E/./node_modules/zrender/lib/graphic/helper/subPixelOptimize.js","webpack://_N_E/./node_modules/echarts/lib/layout/barGrid.js","webpack://_N_E/./node_modules/zrender/lib/graphic/mixin/RectText.js","webpack://_N_E/./node_modules/echarts/lib/coord/axisModelCreator.js","webpack://_N_E/./node_modules/echarts/lib/component/dataZoom/dataZoomAction.js","webpack://_N_E/./components/radar-chart.tsx","webpack://_N_E/./node_modules/echarts/lib/chart/helper/LargeLineDraw.js","webpack://_N_E/./node_modules/echarts/lib/chart/radar/RadarSeries.js","webpack://_N_E/./node_modules/echarts/lib/component/timeline/typeDefaulter.js","webpack://_N_E/./constants/articleType.ts","webpack://_N_E/./node_modules/echarts/lib/util/symbol.js","webpack://_N_E/./node_modules/echarts/lib/component/dataZoom/InsideZoomModel.js","webpack://_N_E/./node_modules/echarts/lib/chart/lines.js","webpack://_N_E/./node_modules/echarts/lib/coord/geo/fix/diaoyuIsland.js","webpack://_N_E/./node_modules/echarts/lib/chart/gauge/GaugeView.js","webpack://_N_E/./node_modules/core-js/modules/es.promise.finally.js","webpack://_N_E/./public/static/star-bling.png","webpack://_N_E/./node_modules/echarts/lib/chart/funnel.js","webpack://_N_E/./public/static/delete-icon.png","webpack://_N_E/./node_modules/echarts/lib/component/helper/interactionMutex.js","webpack://_N_E/./public/static/upload-icon.png","webpack://_N_E/./public/static/plus.png","webpack://_N_E/./node_modules/echarts/lib/chart/map/MapView.js","webpack://_N_E/./node_modules/zrender/lib/graphic/helper/text.js","webpack://_N_E/./node_modules/echarts/lib/chart/scatter/ScatterView.js","webpack://_N_E/./node_modules/echarts/lib/chart/parallel/parallelVisual.js","webpack://_N_E/./node_modules/zrender/lib/vml/graphic.js","webpack://_N_E/./node_modules/echarts/lib/component/brush/selector.js","webpack://_N_E/./node_modules/echarts/lib/component/marker/MarkPointModel.js","webpack://_N_E/./node_modules/react-is/cjs/react-is.production.min.js","webpack://_N_E/./node_modules/echarts/lib/component/tooltip/TooltipModel.js","webpack://_N_E/./node_modules/echarts/lib/coord/polar/AngleAxis.js","webpack://_N_E/./node_modules/echarts/lib/chart/sunburst/SunburstSeries.js","webpack://_N_E/./node_modules/echarts/lib/coord/cartesian/prepareCustom.js","webpack://_N_E/./node_modules/echarts/lib/chart/pictorialBar.js","webpack://_N_E/./node_modules/echarts/lib/component/visualMap/visualEncoding.js","webpack://_N_E/./node_modules/@material-ui/core/node_modules/react-is/cjs/react-is.production.min.js","webpack://_N_E/./node_modules/zrender/lib/Storage.js","webpack://_N_E/./node_modules/zrender/lib/graphic/shape/BezierCurve.js","webpack://_N_E/./node_modules/echarts/lib/chart/graph/circularLayout.js","webpack://_N_E/./node_modules/echarts/lib/chart/themeRiver/ThemeRiverSeries.js","webpack://_N_E/./node_modules/echarts/lib/chart/lines/LinesView.js","webpack://_N_E/./node_modules/zrender/lib/graphic/shape/Ellipse.js","webpack://_N_E/./node_modules/echarts/lib/component/brush/preprocessor.js","webpack://_N_E/./public/static/album.png","webpack://_N_E/./node_modules/echarts/lib/component/axis.js","webpack://_N_E/./components/bubble-navigation.tsx","webpack://_N_E/./components/publisher/TextArea.tsx","webpack://_N_E/./components/publisher/controller-card.tsx","webpack://_N_E/./components/publisher/image-uploader.tsx","webpack://_N_E/./components/publisher/video-uploader.tsx","webpack://_N_E/./lib/get-key.ts","webpack://_N_E/./lib/getBrandInfo.ts","webpack://_N_E/./lib/getCarFansOptions.ts","webpack://_N_E/./node_modules/clsx/dist/clsx.m.js","webpack://_N_E/./node_modules/@material-ui/utils/esm/formatMuiErrorMessage.js","webpack://_N_E/./node_modules/@material-ui/core/esm/FormControl/formControlState.js","webpack://_N_E/./node_modules/@material-ui/core/esm/FormControl/FormControlContext.js","webpack://_N_E/./node_modules/is-in-browser/dist/module.js","webpack://_N_E/./node_modules/tiny-warning/dist/tiny-warning.esm.js","webpack://_N_E/./node_modules/jss/dist/jss.esm.js","webpack://_N_E/./node_modules/@material-ui/styles/esm/mergeClasses/mergeClasses.js","webpack://_N_E/./node_modules/@material-ui/styles/esm/makeStyles/multiKeyStore.js","webpack://_N_E/./node_modules/@material-ui/styles/esm/useTheme/ThemeContext.js","webpack://_N_E/./node_modules/@material-ui/styles/esm/useTheme/useTheme.js","webpack://_N_E/./node_modules/@material-ui/styles/esm/ThemeProvider/nested.js","webpack://_N_E/./node_modules/@material-ui/styles/esm/createGenerateClassName/createGenerateClassName.js","webpack://_N_E/./node_modules/jss-plugin-rule-value-function/dist/jss-plugin-rule-value-function.esm.js","webpack://_N_E/./node_modules/jss-plugin-global/dist/jss-plugin-global.esm.js","webpack://_N_E/./node_modules/jss-plugin-nested/dist/jss-plugin-nested.esm.js","webpack://_N_E/./node_modules/hyphenate-style-name/index.js","webpack://_N_E/./node_modules/jss-plugin-camel-case/dist/jss-plugin-camel-case.esm.js","webpack://_N_E/./node_modules/jss-plugin-default-unit/dist/jss-plugin-default-unit.esm.js","webpack://_N_E/./node_modules/css-vendor/dist/css-vendor.esm.js","webpack://_N_E/./node_modules/jss-plugin-vendor-prefixer/dist/jss-plugin-vendor-prefixer.esm.js","webpack://_N_E/./node_modules/jss-plugin-props-sort/dist/jss-plugin-props-sort.esm.js","webpack://_N_E/./node_modules/@material-ui/styles/esm/jssPreset/jssPreset.js","webpack://_N_E/./node_modules/@material-ui/styles/esm/StylesProvider/StylesProvider.js","webpack://_N_E/./node_modules/@material-ui/styles/esm/makeStyles/indexCounter.js","webpack://_N_E/./node_modules/@material-ui/utils/esm/deepmerge.js","webpack://_N_E/./node_modules/@material-ui/styles/esm/getStylesCreator/getStylesCreator.js","webpack://_N_E/./node_modules/@material-ui/styles/esm/getStylesCreator/noopTheme.js","webpack://_N_E/./node_modules/@material-ui/styles/esm/makeStyles/makeStyles.js","webpack://_N_E/./node_modules/@material-ui/styles/esm/getThemeProps/getThemeProps.js","webpack://_N_E/./node_modules/@material-ui/styles/esm/withStyles/withStyles.js","webpack://_N_E/./node_modules/@material-ui/core/esm/styles/createBreakpoints.js","webpack://_N_E/./node_modules/@material-ui/core/esm/styles/createMixins.js","webpack://_N_E/./node_modules/@material-ui/core/esm/colors/common.js","webpack://_N_E/./node_modules/@material-ui/core/esm/colors/grey.js","webpack://_N_E/./node_modules/@material-ui/core/esm/colors/indigo.js","webpack://_N_E/./node_modules/@material-ui/core/esm/colors/pink.js","webpack://_N_E/./node_modules/@material-ui/core/esm/colors/red.js","webpack://_N_E/./node_modules/@material-ui/core/esm/colors/orange.js","webpack://_N_E/./node_modules/@material-ui/core/esm/colors/blue.js","webpack://_N_E/./node_modules/@material-ui/core/esm/colors/green.js","webpack://_N_E/./node_modules/@material-ui/core/esm/styles/colorManipulator.js","webpack://_N_E/./node_modules/@material-ui/core/esm/styles/createPalette.js","webpack://_N_E/./node_modules/@material-ui/core/esm/styles/createTypography.js","webpack://_N_E/./node_modules/@material-ui/core/esm/styles/shadows.js","webpack://_N_E/./node_modules/@material-ui/core/esm/styles/shape.js","webpack://_N_E/./node_modules/@material-ui/system/esm/merge.js","webpack://_N_E/./node_modules/@material-ui/system/esm/breakpoints.js","webpack://_N_E/./node_modules/@material-ui/system/esm/spacing.js","webpack://_N_E/./node_modules/@material-ui/system/esm/memoize.js","webpack://_N_E/./node_modules/@material-ui/core/esm/styles/createSpacing.js","webpack://_N_E/./node_modules/@material-ui/core/esm/styles/transitions.js","webpack://_N_E/./node_modules/@material-ui/core/esm/styles/zIndex.js","webpack://_N_E/./node_modules/@material-ui/core/esm/styles/createMuiTheme.js","webpack://_N_E/./node_modules/@material-ui/core/esm/styles/defaultTheme.js","webpack://_N_E/./node_modules/@material-ui/core/esm/styles/withStyles.js","webpack://_N_E/./node_modules/@material-ui/core/esm/utils/capitalize.js","webpack://_N_E/./node_modules/@material-ui/core/esm/utils/setRef.js","webpack://_N_E/./node_modules/@material-ui/core/esm/utils/useForkRef.js","webpack://_N_E/./node_modules/@material-ui/core/esm/utils/debounce.js","webpack://_N_E/./node_modules/@material-ui/core/esm/TextareaAutosize/TextareaAutosize.js","webpack://_N_E/./node_modules/@material-ui/core/esm/InputBase/utils.js","webpack://_N_E/./node_modules/@material-ui/core/esm/InputBase/InputBase.js","webpack://_N_E/./node_modules/@material-ui/core/esm/Input/Input.js","webpack://_N_E/./node_modules/@material-ui/core/esm/FilledInput/FilledInput.js","webpack://_N_E/./node_modules/@material-ui/core/esm/styles/useTheme.js","webpack://_N_E/./node_modules/@material-ui/core/esm/OutlinedInput/NotchedOutline.js","webpack://_N_E/./node_modules/@material-ui/core/esm/OutlinedInput/OutlinedInput.js","webpack://_N_E/./node_modules/@material-ui/core/esm/FormControl/useFormControl.js","webpack://_N_E/./node_modules/@material-ui/core/esm/FormLabel/FormLabel.js","webpack://_N_E/./node_modules/@material-ui/core/esm/InputLabel/InputLabel.js","webpack://_N_E/./node_modules/@material-ui/core/esm/utils/isMuiElement.js","webpack://_N_E/./node_modules/@material-ui/core/esm/FormControl/FormControl.js","webpack://_N_E/./node_modules/@material-ui/core/esm/FormHelperText/FormHelperText.js","webpack://_N_E/./node_modules/@material-ui/core/esm/utils/ownerDocument.js","webpack://_N_E/./node_modules/@material-ui/core/esm/utils/ownerWindow.js","webpack://_N_E/./node_modules/@material-ui/core/esm/utils/createChainedFunction.js","webpack://_N_E/./node_modules/@material-ui/core/esm/Portal/Portal.js","webpack://_N_E/./node_modules/@material-ui/core/esm/utils/useEventCallback.js","webpack://_N_E/./node_modules/@material-ui/core/esm/utils/getScrollbarSize.js","webpack://_N_E/./node_modules/@material-ui/core/esm/Modal/ModalManager.js","webpack://_N_E/./node_modules/@material-ui/core/esm/Unstable_TrapFocus/Unstable_TrapFocus.js","webpack://_N_E/./node_modules/@material-ui/core/esm/Modal/SimpleBackdrop.js","webpack://_N_E/./node_modules/@material-ui/core/esm/Modal/Modal.js","webpack://_N_E/./node_modules/@material-ui/core/node_modules/react-transition-group/esm/config.js","webpack://_N_E/./node_modules/@material-ui/core/node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack://_N_E/./node_modules/@material-ui/core/node_modules/react-transition-group/esm/Transition.js","webpack://_N_E/./node_modules/@material-ui/core/esm/transitions/utils.js","webpack://_N_E/./node_modules/@material-ui/core/esm/Grow/Grow.js","webpack://_N_E/./node_modules/@material-ui/core/esm/Paper/Paper.js","webpack://_N_E/./node_modules/@material-ui/core/esm/Popover/Popover.js","webpack://_N_E/./node_modules/@material-ui/core/esm/List/ListContext.js","webpack://_N_E/./node_modules/@material-ui/core/esm/List/List.js","webpack://_N_E/./node_modules/@material-ui/core/esm/MenuList/MenuList.js","webpack://_N_E/./node_modules/@material-ui/core/esm/Menu/Menu.js","webpack://_N_E/./node_modules/@material-ui/core/esm/utils/useControlled.js","webpack://_N_E/./node_modules/@material-ui/core/esm/Select/SelectInput.js","webpack://_N_E/./node_modules/@material-ui/core/esm/SvgIcon/SvgIcon.js","webpack://_N_E/./node_modules/@material-ui/core/esm/utils/createSvgIcon.js","webpack://_N_E/./node_modules/@material-ui/core/esm/internal/svg-icons/ArrowDropDown.js","webpack://_N_E/./node_modules/@material-ui/core/esm/NativeSelect/NativeSelectInput.js","webpack://_N_E/./node_modules/@material-ui/core/esm/NativeSelect/NativeSelect.js","webpack://_N_E/./node_modules/@material-ui/core/esm/Select/Select.js","webpack://_N_E/./node_modules/@material-ui/core/esm/TextField/TextField.js","webpack://_N_E/./node_modules/@material-ui/core/esm/Popper/Popper.js","webpack://_N_E/./node_modules/@material-ui/core/esm/ListSubheader/ListSubheader.js","webpack://_N_E/./node_modules/@material-ui/core/esm/utils/useIsFocusVisible.js","webpack://_N_E/./node_modules/@material-ui/core/node_modules/react-transition-group/esm/utils/ChildMapping.js","webpack://_N_E/./node_modules/@material-ui/core/node_modules/react-transition-group/esm/TransitionGroup.js","webpack://_N_E/./node_modules/@material-ui/core/esm/ButtonBase/Ripple.js","webpack://_N_E/./node_modules/@material-ui/core/esm/ButtonBase/TouchRipple.js","webpack://_N_E/./node_modules/@material-ui/core/esm/ButtonBase/ButtonBase.js","webpack://_N_E/./node_modules/@material-ui/core/esm/IconButton/IconButton.js","webpack://_N_E/./node_modules/@material-ui/core/esm/internal/svg-icons/Cancel.js","webpack://_N_E/./node_modules/@material-ui/core/esm/Chip/Chip.js","webpack://_N_E/./node_modules/@material-ui/lab/esm/internal/svg-icons/Close.js","webpack://_N_E/./node_modules/@material-ui/lab/esm/internal/svg-icons/ArrowDropDown.js","webpack://_N_E/./node_modules/@material-ui/lab/esm/useAutocomplete/useAutocomplete.js","webpack://_N_E/./node_modules/@material-ui/core/esm/utils/unstable_useId.js","webpack://_N_E/./node_modules/@material-ui/lab/esm/Autocomplete/Autocomplete.js","webpack://_N_E/./components/publisher/community-selector.tsx","webpack://_N_E/./node_modules/@material-ui/pickers/esm/useUtils-cfb96ac9.js","webpack://_N_E/./node_modules/@material-ui/core/esm/styles/makeStyles.js","webpack://_N_E/./node_modules/@material-ui/core/esm/Typography/Typography.js","webpack://_N_E/./node_modules/@material-ui/core/esm/Button/Button.js","webpack://_N_E/./node_modules/@material-ui/core/esm/Toolbar/Toolbar.js","webpack://_N_E/./node_modules/@material-ui/core/esm/DialogActions/DialogActions.js","webpack://_N_E/./node_modules/@material-ui/core/esm/DialogContent/DialogContent.js","webpack://_N_E/./node_modules/@material-ui/core/esm/Fade/Fade.js","webpack://_N_E/./node_modules/@material-ui/core/esm/Backdrop/Backdrop.js","webpack://_N_E/./node_modules/@material-ui/core/esm/Dialog/Dialog.js","webpack://_N_E/./node_modules/@material-ui/pickers/esm/Wrapper-241966d7.js","webpack://_N_E/./node_modules/@material-ui/core/esm/InputAdornment/InputAdornment.js","webpack://_N_E/./node_modules/rifm/dist/rifm.esm.js","webpack://_N_E/./node_modules/@material-ui/pickers/esm/Day.js","webpack://_N_E/./node_modules/@material-ui/pickers/node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack://_N_E/./node_modules/@material-ui/pickers/node_modules/react-transition-group/esm/utils/ChildMapping.js","webpack://_N_E/./node_modules/@material-ui/pickers/node_modules/react-transition-group/esm/TransitionGroup.js","webpack://_N_E/./node_modules/@material-ui/pickers/node_modules/dom-helpers/esm/removeClass.js","webpack://_N_E/./node_modules/@material-ui/pickers/node_modules/react-transition-group/esm/config.js","webpack://_N_E/./node_modules/@material-ui/pickers/node_modules/react-transition-group/esm/Transition.js","webpack://_N_E/./node_modules/@material-ui/pickers/node_modules/react-transition-group/esm/CSSTransition.js","webpack://_N_E/./node_modules/@material-ui/pickers/node_modules/dom-helpers/esm/addClass.js","webpack://_N_E/./node_modules/@material-ui/pickers/node_modules/dom-helpers/esm/hasClass.js","webpack://_N_E/./node_modules/@material-ui/core/esm/CircularProgress/CircularProgress.js","webpack://_N_E/./node_modules/@material-ui/pickers/esm/Calendar-11ae61f6.js","webpack://_N_E/./node_modules/@material-ui/pickers/esm/Clock-48fde975.js","webpack://_N_E/./node_modules/@material-ui/pickers/esm/ClockView.js","webpack://_N_E/./node_modules/@material-ui/pickers/esm/Picker-ccd9ba90.js","webpack://_N_E/./node_modules/@material-ui/pickers/esm/makePickerWithState-5a79cb8a.js","webpack://_N_E/./node_modules/@material-ui/pickers/esm/DatePicker.js","webpack://_N_E/./components/publisher/time-picker.tsx","webpack://_N_E/./node_modules/@date-io/moment/build/index.esm.js","webpack://_N_E/./components/publisher/datetime-selector.tsx","webpack://_N_E/./components/publisher/topic-selector.tsx","webpack://_N_E/./lib/fetch-topic.ts","webpack://_N_E/./components/hooks/use-cache-store.ts","webpack://_N_E/./lib/image-upload.ts","webpack://_N_E/./components/publisher/controller.tsx","webpack://_N_E/./components/publisher/publisher.tsx","webpack://_N_E/./node_modules/echarts/lib/chart/treemap/TreemapView.js","webpack://_N_E/./public/static/community.png","webpack://_N_E/./components/ugc/koubeiInfo.tsx","webpack://_N_E/./node_modules/echarts/lib/component/axis/ParallelAxisView.js","webpack://_N_E/./node_modules/lodash/debounce.js","webpack://_N_E/./node_modules/echarts/lib/chart/helper/createClipPathFromCoordSys.js","webpack://_N_E/./lib/user-info.ts","webpack://_N_E/./node_modules/echarts/lib/component/toolbox.js","webpack://_N_E/./node_modules/echarts/lib/view/Component.js","webpack://_N_E/./pages-components/article/recommend.tsx","webpack://_N_E/./node_modules/zrender/lib/svg/helper/GradientManager.js","webpack://_N_E/./node_modules/echarts/lib/data/helper/createDimensions.js","webpack://_N_E/./node_modules/echarts/lib/component/visualMap/preprocessor.js","webpack://_N_E/./components/scroll-loader.tsx","webpack://_N_E/./node_modules/echarts/lib/component/axis/AngleAxisView.js","webpack://_N_E/./node_modules/lodash/toNumber.js","webpack://_N_E/./node_modules/echarts/lib/chart/bar/barItemStyle.js","webpack://_N_E/./public/static/right-arrow-yellow.png","webpack://_N_E/./node_modules/echarts/lib/export.js","webpack://_N_E/./node_modules/echarts/lib/chart/pie/labelLayout.js","webpack://_N_E/./node_modules/echarts/lib/visual/aria.js","webpack://_N_E/./node_modules/echarts/lib/component/brush/brushAction.js","webpack://_N_E/./components/head.tsx","webpack://_N_E/./node_modules/eventemitter3/index.js","webpack://_N_E/./node_modules/core-js/internals/freezing.js","webpack://_N_E/./node_modules/echarts/lib/chart/tree/treeAction.js","webpack://_N_E/./node_modules/echarts/lib/component/visualMap/typeDefaulter.js","webpack://_N_E/./node_modules/zrender/lib/svg/helper/ShadowManager.js","webpack://_N_E/./node_modules/echarts/lib/component/axis/SingleAxisView.js","webpack://_N_E/./node_modules/zrender/lib/mixin/Animatable.js","webpack://_N_E/./node_modules/echarts/lib/component/helper/BrushTargetManager.js","webpack://_N_E/./node_modules/echarts/lib/chart/candlestick/CandlestickSeries.js","webpack://_N_E/./node_modules/echarts/lib/coord/geo/parseGeoJson.js","webpack://_N_E/./node_modules/echarts/lib/chart/sankey/sankeyAction.js","webpack://_N_E/./node_modules/echarts/lib/chart/pie.js","webpack://_N_E/./node_modules/echarts/lib/util/shape/sausage.js","webpack://_N_E/./node_modules/echarts/lib/component/brush/BrushView.js","webpack://_N_E/./node_modules/echarts/lib/chart/helper/labelHelper.js","webpack://_N_E/./node_modules/zrender/lib/graphic/shape/Rect.js","webpack://_N_E/./node_modules/echarts/lib/visual/LegendVisualProvider.js","webpack://_N_E/./node_modules/echarts/lib/component/parallelAxis.js","webpack://_N_E/./node_modules/echarts/lib/component/helper/cursorHelper.js","webpack://_N_E/./node_modules/echarts/lib/theme/light.js","webpack://_N_E/./node_modules/echarts/lib/coord/single/AxisModel.js","webpack://_N_E/./node_modules/zrender/lib/graphic/Path.js","webpack://_N_E/./node_modules/echarts/lib/coord/cartesian/Cartesian2D.js","webpack://_N_E/./components/stars.tsx","webpack://_N_E/./node_modules/zrender/lib/mixin/Draggable.js","webpack://_N_E/./node_modules/echarts/lib/chart/scatter/ScatterSeries.js","webpack://_N_E/./node_modules/echarts/lib/chart/sunburst/sunburstLayout.js","webpack://_N_E/./node_modules/echarts/lib/component/axisPointer.js","webpack://_N_E/./node_modules/echarts/lib/component/visualMap/helper.js","webpack://_N_E/./node_modules/echarts/lib/chart/helper/EffectSymbol.js","webpack://_N_E/./node_modules/echarts/lib/coord/geo/geoSVGLoader.js","webpack://_N_E/./node_modules/echarts/lib/chart/helper/LargeSymbolDraw.js","webpack://_N_E/./public/static/error-pic@3x.jpg","webpack://_N_E/./node_modules/echarts/lib/chart/tree/treeLayout.js","webpack://_N_E/./node_modules/echarts/lib/model/OptionManager.js","webpack://_N_E/./node_modules/zrender/lib/graphic/shape/Line.js","webpack://_N_E/./node_modules/echarts/lib/coord/cartesian/Cartesian.js","webpack://_N_E/./node_modules/echarts/lib/component/dataZoom/AxisProxy.js","webpack://_N_E/./node_modules/echarts/lib/chart/helper/createRenderPlanner.js","webpack://_N_E/./node_modules/echarts/lib/component/grid.js","webpack://_N_E/./node_modules/echarts/lib/component/axisPointer/modelHelper.js","webpack://_N_E/./node_modules/echarts/lib/chart/heatmap/HeatmapLayer.js","webpack://_N_E/./node_modules/zrender/lib/dom/HandlerProxy.js","webpack://_N_E/./node_modules/echarts/lib/chart/map/mapSymbolLayout.js"],"names":["module","exports","zrUtil","BoundingRect","parsePercent","formatUtil","each","LOCATION_PARAMS","HV_NAMES","boxLayout","orient","group","gap","maxWidth","maxHeight","x","y","Infinity","currentLineMaxSize","eachChild","child","idx","nextX","nextY","position","rect","getBoundingRect","nextChild","childAt","nextChildRect","moveX","width","newline","height","Math","max","moveY","box","vbox","curry","hbox","getLayoutRect","positionInfo","containerRect","margin","normalizeCssArray","containerWidth","containerHeight","left","top","right","bottom","verticalMargin","horizontalMargin","aspect","isNaN","copyLayoutParams","target","source","name","hasOwnProperty","getAvailableSize","x2","y2","parseFloat","positionElement","el","opt","h","hv","v","boundingMode","type","needLocalTransform","transform","getLocalTransform","clone","applyTransform","defaults","elPos","dx","dy","attr","sizeCalculable","option","hvIdx","mergeLayoutParam","targetOption","newOption","isObject","ignoreSize","isArray","hResult","merge","vResult","names","newParams","newValueCount","merged","mergedValueCount","hasProp","hasValue","i","length","obj","copy","getLayoutParams","echarts","boxplotVisual","boxplotLayout","registerVisual","registerLayout","_util","retrieve","extend","graphic","Model","_number","isRadianAroundZero","remRadian","createSymbol","matrixUtil","v2ApplyTransform","shouldShowAllLabels","PI","AxisBuilder","axisModel","this","labelOffset","nameDirection","tickDirection","labelDirection","silent","Group","dumbGroup","slice","rotation","updateTransform","_transform","_dumbGroup","prototype","constructor","hasBuilder","builders","add","call","getGroup","axisLine","get","extent","axis","getExtent","matrix","pt1","pt2","lineStyle","lineCap","getModel","getLineStyle","Line","anid","subPixelOptimize","shape","x1","y1","style","strokeContainThreshold","z2","arrows","arrowSize","arrowOffset","symbolWidth","symbolHeight","rotate","offset","r","sqrt","point","index","symbol","stroke","pos","cos","sin","axisTickLabel","ticksEls","axisBuilder","tickModel","scale","isBlank","lineStyleModel","tickEndCoord","createTicks","getTicksCoords","buildAxisMajorTicks","labelEls","axisLabelShow","labelModel","labelMargin","labels","getViewLabels","labelRotation","labelRotate","labelLayout","innerTextLayout","rawCategoryData","getCategories","isLabelSilent","triggerEvent","labelItem","tickValue","formattedLabel","rawLabel","itemLabelModel","textStyle","ecModel","textColor","getTextColor","dataToCoord","textEl","Text","setTextStyle","text","textAlign","getShallow","textVerticalAlign","textFill","eventData","makeAxisEventDataBase","targetType","value","push","decomposeTransform","buildAxisLabel","tickEls","showMinLabel","showMaxLabel","firstLabel","nextLabel","lastLabel","prevLabel","firstTick","nextTick","lastTick","prevTick","ignoreEl","isTwoLabelOverlapped","fixMinMaxLabelShow","minorTickModel","minorTicksCoords","getMinorTicksCoords","minorTickLineStyle","minorTicksEls","k","buildAxisMinorTicks","axisName","axisNameAvailableWidth","nameLocation","textStyleModel","gapSignal","isNameLocationCenter","nameRotation","textPosition","textRotate","rotationDiff","inverse","onLeft","endTextLayout","abs","isFinite","textFont","getFont","truncateOpt","ellipsis","nameTruncateMaxWidth","truncatedText","truncateText","minChar","placeholder","tooltipOpt","mainType","formatterParams","componentType","$vars","componentIndex","__fullText","__truncatedText","tooltip","show","content","formatter","axisRotation","textRotation","direction","ignore","current","next","firstRect","nextRect","mRotationBack","identity","mul","intersect","ticksCoords","tickTransform","tickLineStyle","aniid","tickCoord","coord","tickEl","_default","compatStyle","normalizeToArray","compatLayoutProperties","LAYOUT_PROPERTIES","prop","COMPATITABLE_COMPONENTS","isTheme","series","seriesOpt","seriesType","clipOverflow","clip","clockWise","clockwise","pointerColor","path","split","val","overwrite","key","set","dataRange","visualMap","componentName","options","TopAnchor","params","titles","activeIndex","handleAnchorClick","useState","currIndex","setCurrIndex","router","useRouter","useEffect","id","map","item","toString","onClick","e","url","outer","window","open","classnames","active","__DEV__","Eventful","interactionMutex","DataDiffer","mathMin","min","mathMax","mathPow","pow","DIRECTION_MAP","w","n","s","CURSOR_MAP","ne","sw","nw","se","DEFAULT_BRUSH_OPT","brushStyle","lineWidth","fill","transformable","brushMode","removeOnClick","baseUID","BrushController","zr","_zr","_brushType","_brushOption","_panels","_track","_dragging","_covers","_creatingCover","_creatingPanel","_enableGlobalPan","_uid","_handlers","pointerHandlers","handler","eventName","bind","createCover","controller","brushOption","cover","coverRenderers","brushType","__brushOption","updateZ","endCreating","creatingCover","coverRenderer","getCoverRenderer","updateCoverShape","range","z","traverse","updateCoverAfterCreation","updateCommon","getPanelByPoint","localCursorPoint","panel","panels","pn","isTargetByCursor","getPanelByCover","panelId","clearCovers","covers","originalLength","remove","trigger","areas","isEnd","getTrackEnds","track","tail","createBaseRectCover","doDrift","edgeNames","Rect","makeStyle","draggable","cursor","drift","ondragend","opacity","invisible","updateBaseRect","localRange","handleSize","xa","ya","x2a","y2a","widtha","heighta","updateRectShape","mainEl","useStyle","childOfName","globalDir","getGlobalDirection","localDirection","reverse","join","transformDirection","getTransform","setShape","points","xmin","ymin","xmax","ymax","pointsToRect","clipByPanel","strokeNoScale","formatRectRange","driftRect","toRectRange","fromRectRange","rectRange","localDelta","toLocalDelta","namePart","ind","driftPolygon","thisGroup","localD","transformCoordToLocal","localZero","data","clipPath","preventDefault","rawE","event","mainShapeContain","contain","updateCoverByMouse","eventParams","thisBrushOption","p2","p1","shouldShowCover","determineBrushType","getCreatingRange","defaultBrushType","enableBrush","release","handlers","off","unmountHandlers","doDisableBrush","take","on","mountHandlers","doEnableBrush","setPanels","panelOpts","mount","enableGlobalPan","eachCover","cb","context","updateCovers","brushOptionList","oldCovers","newCovers","getKey","addOrUpdate","update","oldIndex","execute","newIndex","newBrushOption","unmount","dispose","mixin","mousedown","handleDragEnd","offsetX","offsetY","mousemove","getWidth","getHeight","isOutsideZrArea","currPanel","setCursorStyle","resetCursor","mouseup","lineX","getLineRenderer","lineY","localTrack","ends","polygon","Polyline","Polygon","xyIndex","otherExtent","getLinearBrushOtherExtent","RadiusAxis","AngleAxis","Polar","cx","cy","_radiusAxis","_angleAxis","polar","axisPointerEnabled","dimensions","model","containPoint","pointToCoord","containData","getAxis","dim","getAxes","getAxesByScale","scaleType","axes","angleAxis","radiusAxis","getAngleAxis","getRadiusAxis","getOtherAxis","getBaseAxis","getTooltipAxes","baseAxis","baseAxes","otherAxes","dataToPoint","clamp","coordToPoint","dataToRadius","dataToAngle","pointToData","radiusToData","angleToData","minAngle","maxAngle","radius","radian","atan2","dir","getArea","radiusExtent","angleExtent","RADIAN","r0","startAngle","endAngle","d2","Gradient","isFunction","createOnAllSeries","performRawSeries","reset","seriesModel","getData","colorAccessPath","visualColorAccessPath","color","colorCallback","getColorFromPalette","getSeriesCount","setVisual","borderColorAccessPath","visualBorderColorAccessPath","borderColor","isSeriesFiltered","setItemVisual","getDataParams","dataEach","hasItemOption","itemModel","getItemModel","samplers","average","frame","sum","count","NaN","nearest","indexSampler","round","modifyOutputEnd","api","sampling","coordSys","coordinateSystem","sampler","valueAxis","size","rate","setData","downSample","mapDimension","textContain","graphicUtil","PATH_COLOR","isEmphasis","fontStyle","fontWeight","fontSize","fontFamily","getTextRect","SeriesModel","seriesModelMixin","BoxplotSeries","dependencies","defaultValueDimensions","defaultTooltip","defaultOption","zlevel","legendHoverLink","hoverAnimation","layout","boxWidth","itemStyle","borderWidth","emphasis","shadowBlur","shadowOffsetX","shadowOffsetY","shadowColor","animationEasing","animationDuration","featureManager","brushLang","toolbox","brush","Brush","_brushMode","icon","keep","clear","title","proto","render","updateView","featureModel","isBrushed","eachComponent","brushModel","setIconStatus","getIcons","availableIcons","icons","onclick","dispatchAction","intervals","command","register","axisHelper","buildLabelElOption","elOption","axisPointerModel","labelPos","getValueLabel","precision","paddings","font","textRect","align","verticalAlign","viewWidth","viewHeight","confineInContainer","bgColor","label","textPadding","seriesDataIndices","parse","getLabel","getAxisRawValue","axisDimension","axisIndex","seriesData","idxItem","getSeriesByIndex","seriesIndex","dataIndex","dataIndexInside","dataParams","isString","replace","getTransformedPosition","layoutInfo","create","translate","buildElStyle","axisPointerType","styleModel","getAreaStyle","buildCartesianSingleLabelElOption","textLayout","makeLineShape","xDimIndex","makeRectShape","xy","wh","makeSectorShape","legendModels","findComponents","filterSelf","getName","isSelected","_simpleLayoutHelper","simpleLayout","simpleLayoutEdge","eachSeriesByType","coordDim","concat","setItemLayout","graph","lang","magicTypeLang","magicType","MagicType","line","bar","stack","seriesOptGenreator","seriesId","markPoint","markLine","isStack","radioTypes","newTitle","radio","indexOf","query","subType","newSeriesOpt","categoryAxis","axisType","queryComponents","boundaryGap","tiled","currentType","featureName","registerAction","payload","mergeOption","doCreateNode","env","urn","win","vmlInited","doc","document","canvasSupported","namespaces","zrvml","tagName","createElement","createNode","initVML","styleSheets","createStyleSheet","addRule","createGraphFromNodeEdge","encodeHTML","SankeySeries","levelModels","getInitialData","links","edges","nodes","levels","depth","nodeData","edgeData","wrapMethod","customizeGetParent","parentModel","nodeDepth","getItemLayout","getGraph","getEdgeByIndex","node1","getLayout","setNodePosition","localPosition","dataItem","localX","localY","getEdgeData","formatTooltip","multipleSeries","dataType","rawDataOpt","html","getNodeByIndex","superCall","optionUpdated","focusNodeAdjacency","nodeValue","nodeWidth","nodeGap","layoutIterations","nodeAlign","curveness","makeAction","method","actionInfo","selected","geoModel","geo","regions","region","numberUtil","CoordinateSystem","Calendar","calendarModel","_model","doConvert","methodName","finder","getDimensionsInfo","getRangeInfo","_rangeInfo","getRect","_rect","getCellWidth","_sw","getCellHeight","_sh","getOrient","_orient","getFirstDayOfWeek","_firstDayOfWeek","getDateInfo","date","parseDate","getFullYear","m","getMonth","d","getDate","day","getDay","time","getTime","formatedDate","getNextNDay","Date","setDate","_lineWidth","getItemStyle","_getRangeInfo","_initRangeOption","weeks","whNames","cellSize","layoutParams","getBoxLayoutParams","cellNumbers","cellSizeSpecified","whGlobal","calendarRect","dayInfo","start","end","week","nthWeek","pointToDate","dataToRect","contentShape","center","tl","tr","br","bl","nthX","floor","nthY","_getDateByWeeksAndDay","convertToPixel","convertFromPixel","rg","test","firstDay","setMonth","tmp","reversed","allDay","startDateNum","endDateNum","dateNum","sign","fweek","lweek","rangeInfo","nthDay","calendarList","calendar","eachSeries","calendarSeries","createHashMap","calculateStack","stackInfoList","targetStackInfo","idxInStack","resultVal","resultNaN","dims","stackResultDimension","stackedOverDimension","targetData","isStackedByIndex","newData","v0","v1","byValue","stackedDataRawIndex","stackedDimension","getRawIndex","stackedByDimension","stackedOver","j","stackInfo","rawIndexOf","getByRawIndex","hostModel","stackInfoMap","getCalculationInfo","setCalculationInfo","legendFilter","Component","registerProcessor","PRIORITY","PROCESSOR","SERIES_FILTER","registerSubTypeDefaulter","util","vec2","Draggable","eventTool","GestureMgr","stopEvent","stop","EmptyProxy","handlerNames","Handler","storage","painter","proxy","painterRoot","_hovered","_lastTouchMoment","_lastX","_lastY","_gestureMgr","setHandlerProxy","isHover","displayable","rectHover","isSilent","parent","isOutsideBoundary","handlerInstance","zrX","zrY","isOutside","lastHovered","lastHoveredTarget","__zr","findHover","hovered","hoveredTarget","setCursor","dispatchToElement","mouseout","eventControl","zrEventControl","zrIsToLocalDOM","resize","dispatch","eventArgs","cursorStyle","targetInfo","eventHandler","eventPacket","eveType","topTarget","cancelBubble","gestureEvent","pinchX","pinchY","pinchScale","wheelDelta","zrDelta","zrByTouch","which","makeEventPacket","eachOtherLayer","layer","exclude","list","getDisplayList","out","hoverCheckResult","processGesture","stage","gestureMgr","gestureInfo","recognize","dom","_downEl","_downPoint","_upEl","dist","updateCenterAndZoom","res","setCenter","setZoom","zoom","Path","polyHelper","smooth","smoothConstraint","buildPath","ctx","globalListener","AxisPointerView","extendComponentView","globalAxisPointerModel","globalTooltipModel","getComponent","triggerOn","currTrigger","unregister","getZr","superApply","arguments","paths","_updatePathDirty","dirtyPath","__dirtyPath","__dirty","beforeBrush","getGlobalScale","createPathProxy","setScale","segmentIgnoreThreshold","afterBrush","fixClipWithShadow","vec2Min","vec2Max","scaleAndAdd","v2Copy","cp0","cp1","isPointNull","p","drawSegment","segLen","allLen","smoothMin","smoothMax","smoothMonotone","connectNulls","drawMono","apply","drawNonMono","prevIdx","prevP","ctrlLen","bezierCurveTo","lineTo","nextIdx","nextP","ratioNextSeg","lenPrevSeg","lenNextSeg","sub","getBoundingBox","ptMin","ptMax","pt","len","result","stackedOnPoints","stackedOnSmooth","bbox","stackedOnBBox","closePath","LinkedList","head","_len","linkedListProto","insert","entry","Entry","insertEntry","prev","LRU","maxSize","_list","_map","_maxSize","_lastRemovedEntry","LRUProto","put","removed","leastUsedEntry","guid","Transformable","Animatable","Element","opts","isGroup","dirty","beforeUpdate","afterUpdate","attrKV","hide","refresh","setClipPath","addSelfToZr","removeClipPath","__clipTarget","removeSelfFromZr","animators","animation","addAnimator","removeAnimator","PictorialBarSeries","symbolSize","symbolRotate","symbolPosition","symbolOffset","symbolMargin","symbolRepeat","symbolRepeatDirection","symbolClip","symbolBoundingData","symbolPatternSize","barGap","progressive","setSelected","dataColor","sunburstLayout","dataFilter","listComponentHelper","toolboxModel","removeAll","itemSize","featureOpts","features","_features","featureNames","_featureNames","processFeature","makeBackground","titleText","__title","hoverStyle","makeFont","needPutOnTop","topOffset","feature","oldName","featureOpt","isUserFeatureName","Feature","unusable","iconStyleModel","iconStyleEmphasisModel","iconPaths","iconStr","iconName","createIcon","setStyle","textBorderRadius","tooltipModel","setHoverStyle","defaultTextPosition","textBackgroundColor","createIconPaths","status","iconStatus","view","zoomLimit","previousZoom","getZoom","getCenter","zoomMin","zoomMax","fixX","originX","fixY","originY","PathProxy","cubic","quadratic","arc","normalizeRadian","curve","windingLine","CMD","PI2","roots","extrema","swapExtrema","windingCubic","x0","y0","x3","y3","nRoots","cubicRootAt","y0_","y1_","nExtrema","t","unit","cubicAt","cubicExtrema","windingQuadratic","quadraticRootAt","quadraticExtremum","y_","quadraticAt","windingArc","anticlockwise","diff","x_","angle","containPath","isStroke","a","b","xi","yi","cmd","M","L","containStroke","C","Q","A","rx","ry","theta","dTheta","_x","R","Z","pathData","layoutUtil","ParallelAxis","sliderMove","mathFloor","mathCeil","ceil","Parallel","parallelModel","_axesMap","_axesLayout","_init","restrict","layoutAxisWithoutExpand","step","layoutLength","axisCount","layoutAxisWithExpand","axisExpandWidth","axisCollapseWidth","winInnerIndices","axisExpandWindow0Pos","axisExpandWindow","parallelAxisIndex","createScaleByModel","isCategory","onBand","_updateAxesFromSeries","_makeLayoutInfo","axisBase","layoutBase","pixelDimIndex","pAxis","pLayout","axisLength","contains","unionExtentFromData","niceScaleExtent","_layoutAxes","winSize","layoutExtent","axisExpandCount","axisExpandable","axisExtent","setExtent","posInfo","positionTable","horizontal","vertical","rotationTable","axisCoordToPoint","eachActiveState","callback","axesMap","dataDimensions","axisModels","axisDim","hasActiveSet","hasAxisBrushed","activeState","values","getValues","lenj","getActiveState","axisLayout","getAxisLayout","getSlidedAxisExpandWindow","behavior","delta","pointCoord","triggerArea","useJump","ComponentModel","axisModelCreator","axisModelCommonMixin","PolarAxisModel","getCoordSysModel","polarIndex","polarId","polarAxisDefaultExtendedOption","splitNumber","getAxisType","axisLabel","inBundle","moveTo","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","Memo","defineProperty","Object","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","keys","targetStatics","sourceStatics","descriptor","treemapVisual","treemapLayout","registerPreprocessor","history","restoreLang","restore","Restore","from","uid","resetOption","Pattern","image","repeat","getCanvasPattern","createPattern","logError","ZImage","ZText","arrayDiff","GradientManager","ClippathManager","ShadowManager","_graphic","svgPath","svgImage","svgText","parseInt10","parseInt","checkParentAvailable","parentNode","insertAfter","prevSibling","nextSibling","insertBefore","appendChild","prepend","firstChild","removeChild","getTextSvgElement","__textSvgEl","getSvgElement","__svgEl","SVGPainter","root","zrId","_opts","svgDom","setAttribute","cssText","bgRoot","svgRoot","gradientManager","clipPathManager","shadowManager","viewport","_svgDom","_svgRoot","_backgroundRoot","_viewport","_visibleList","getType","getViewportRoot","getSvgDom","getSvgRoot","getViewportRootOffset","viewportRoot","offsetLeft","offsetTop","_paintList","setBackgroundColor","backgroundColor","_backgroundNode","bgNode","markAllUnused","visibleList","listLen","newVisibleList","svgProxy","svgElement","prevSvgElement","indices","textSvgElement","added","addWithoutUpdate","markUsed","removeUnused","_getDefs","isForceCreating","defs","getElementsByTagName","children","display","_getSize","_width","_height","viewportStyle","whIdx","cwh","plt","prb","stl","defaultView","getComputedStyle","innerHTML","toDataURL","encodeURIComponent","outerHTML","clazzUtil","axisPointerModelHelper","throttleUtil","inner","makeInner","BaseAxisPointer","updateProps","animationModel","moveAnimation","props","propsEqual","lastProps","newProps","equals","lastProp","stopAnimation","updateLabelShowHide","labelEl","getHandleTransProps","trans","updateMandatoryProps","_group","_lastGraphicKey","_handle","_lastValue","_lastStatus","_payloadInfo","animationThreshold","forceRender","_axisModel","_axisPointerModel","_api","handle","makeElOption","graphicKey","_moveAnimation","determineAnimation","doUpdateProps","updatePointerEl","updateLabelEl","createPointerEl","createLabelEl","_renderHandle","isCategoryAxis","useSnap","getBandWidth","seriesDataCount","getAxisInfo","pointerOption","pointer","pointerEl","updateHandleTransform","isInit","handleModel","onmousemove","onmousedown","_onHandleDragMove","_onHandleDragEnd","createOrUpdate","_moveHandleToValue","getHandleTransform","_doDispatchAxisPointer","payloadInfo","cursorPoint","tooltipOption","axesInfo","doClear","buildLabel","enableClassExtend","ChartView","NORMAL_ITEM_STYLE_PATH","EMPHASIS_ITEM_STYLE_PATH","BoxplotView","oldData","_data","constDim","newIdx","symbolEl","createNormalBox","setItemGraphicEl","oldIdx","getItemGraphicEl","itemLayout","updateNormalBoxData","eachItemGraphicEl","noop","BoxPath","transInit","updateMethod","normalItemStyleModel","getItemVisual","initBaseline","TimelineModel","dataFormatMixin","SliderTimelineModel","interval","checkpointStyle","controlStyle","showPlayBtn","showPrevBtn","showNextBtn","itemGap","playIcon","stopIcon","nextIcon","prevIcon","Car","onChange","car","setCar","loading","setLoading","setEmpty","fetch","getUrl","then","message","carList","forEach","item2","catch","fetchCar","info","stopPropagation","RadialGradient","colorStops","globalCoord","global","inherits","idStart","normalize","Array","symbolType","colorQuery","opacityQuery","edge","getVisual","node2","makeStyleMapper","AxisModel","activeIntervals","getAreaSelectStyle","setActiveIntervals","asc","areaSelectStyle","realtime","getDefaultLabel","createListFromArray","getLayoutOnAxis","createClipPath","prepareCartesian2d","prepareGeo","prepareSingleAxis","preparePolar","prepareCalendar","CACHED_LABEL_STYLE_PROPERTIES","ITEM_STYLE_NORMAL_PATH","ITEM_STYLE_EMPHASIS_PATH","LABEL_NORMAL","LABEL_EMPHASIS","prepareCustoms","cartesian2d","singleAxis","prepareStyleTransition","targetStyle","elOptionStyle","oldElStyle","makeRenderItem","customSeries","renderItem","prepareResult","currDataIndexInside","currItemModel","currLabelNormalModel","currLabelEmphasisModel","currVisualColor","userAPI","getDevicePixelRatio","getDimension","extra","updateCache","applyExtraBefore","autoColor","isRectText","retrieve2","getFormattedLabel","applyExtraAfter","styleEmphasis","retrieve3","visual","visualType","barLayout","currentSeriesIndices","getCurrentSeriesIndices","userParams","seriesName","dataInsideLength","encode","wrapEncodeDef","currDirty","actionType","encodeDef","dimName","dataDimIndex","dimInfo","getDimensionInfo","isExtraCoord","coordDimIndex","animatableModel","doCreateOrUpdate","isRoot","simplyRemove","elOptionType","elOptionShape","__customGraphicType","getPathData","__customPathData","hasOwn","__customImagePath","__customText","graphicType","pathRect","makePath","Image","Error","getShapeClass","createEl","transitionProps","origin","textStroke","targetOpacity","initProps","setElementHoverStyle","setAsHighDownDispatcher","updateEl","newChildren","newLen","mergeChildren","$mergeChildren","byName","diffChildrenByName","notMerge","oldChildren","processAddUpdate","processRemove","childOption","dummyModel","stylePropName","modelPropName","host","useTransform","getSource","incrementalPrepareRender","incrementalRender","setIncrementalAndHoverLayer","incremental","useHoverLayer","filterForExposedEvent","eventType","targetEl","packedEvent","elementName","element","_axisHelper","makeLabelFormatter","getOptionCategoryInterval","makeCategoryLabelsActually","numericLabelInterval","labelsCache","getListCache","optionLabelInterval","listCacheGet","makeLabelsByCustomizedCategoryInterval","autoInterval","calculateCategoryInterval","makeAutoCategoryInterval","makeLabelsByNumericCategoryInterval","listCacheSet","labelCategoryInterval","cache","categoryInterval","onlyTick","labelFormatter","ordinalScale","ordinalExtent","getLabelModel","startTick","tickCount","showAllLabel","includeMinLabel","includeMaxLabel","addItem","tVal","getTicks","createAxisLabels","makeCategoryLabels","ticks","makeRealNumberLabels","createAxisTicks","tickCategoryInterval","ticksCache","optionTickInterval","labelsResult","makeCategoryTicks","axisRotate","getRotate","isHorizontal","fetchAutoCategoryIntervalCalculationParams","unitSpan","unitW","unitH","maxW","maxH","dw","dh","lastAutoInterval","lastTickCount","axisExtend0","axisExtend1","isIdInner","cptOption","innerUniqueIndex","has","defaultEmphasis","subOpts","subOptName","TEXT_STYLE_OPTIONS","getDataItemValue","isDataItemOption","mappingToExists","exists","newCptOptions","exist","makeIdAndName","mapResult","idMap","existCpt","assert","keyInfo","idNum","isNameSpecified","componentModel","compressBatches","batchA","batchB","mapA","mapB","makeMap","mapToArray","sourceBatch","otherMap","dataIndices","otherDataIndices","isData","queryDataIndex","indexOfRawIndex","indexOfName","random","toFixed","hostObj","parseFinder","defaultMainType","parsedKey","match","queryType","toLowerCase","includeMainTypes","queryParam","models","getAttribute","getTooltipRenderMode","renderModeOption","domSupported","groupData","array","buckets","Scale","setting","_setting","_extent","_interval","init","getSetting","unionExtent","other","getApproximateExtent","thisExtent","_isBlank","setBlank","enableClassManagement","registerWhenExtend","_children","__storage","childCount","_doAdd","addBefore","splice","addToStorage","addChildrenToStorage","delFromStorage","delChildrenFromStorage","includeChildren","tmpRect","tmpMat","childRect","union","ImageGrid","handleImageItemClick","classNames","src","data-index","handleContent","Content","image_urls","setActiveIndex","viewing","setViewing","dataset","Number","ref","node","canUseWebp","querySelectorAll","imgELe","dangerouslySetInnerHTML","__html","imgList","applyHttpsImage","Video","dynamic","ssr","ugcArticleContext","createContext","updated_total_count","undefined","updateTotalCount","Article","gid","cars","article","isKoubei","is_motor","articleType","hotSpot","setHotSpot","flagDom","useRef","initialTop","processNow","useHandleBeforeLeave","useProcessSpy","sendTeaCommEvent","group_id","keyCode","nodeName","json","filter","gid_str","String","console","error","addEventListener","removeEventListener","contentTypeObj","ARTICLE_CONTENT_TYPE","content_type","article_type","motor_title","vid","motor_profile_info","motor_koubei_info","group_id_str","created_time","comment_count","digg_count","user_digg","label_tag_list","setTotalCount","pageTitle","description","keywords","DEFAULT_VIDEO_KEYWORDS","DEFAULT_ARTICLE_KEYWORDS","DEFAULT_VIDEO_DESCRIPTION","DEFAULT_ARTICLE_DESCRIPTION","href","as","Provider","ugcType","behot_time","isVideo","getBoundingClientRect","titleLeft","author_id","user_id","require","contentType","author","getInitialProps","req","asPath","getArticleType","userData","getUserInfo","serializeObject","err","getArticle","gidNum","headers","Cookie","getCars","Promise","all","redirectTo","is_motor_article","is_visible","encodeURI","_pageType","isNewVersion","_isNewVersion","mathSin","mathCos","extremity","xDim","yDim","fromPoints","fromLine","fromCubic","fromQuadratic","tx","ty","fromArc","fixPosition","labelPositionOutside","setLabel","normalStyle","hoverLabelModel","setLabelStyle","labelFetcher","labelDataIndex","defaultText","_l","cubicProjectPoint","createListSimply","getDimensionTypeByAxis","makeSeriesEncodeForAxisCoordSys","_baseAxisDim","ordinalMeta","addOrdinal","xAxisModel","yAxisModel","xAxisType","yAxisType","getOrdinalMeta","coordDims","baseAxisDimIndex","baseAxisDim","otherAxisDim","baseAxisType","otherAxisType","newOptionData","newItem","unshift","coordDimensions","otherDims","itemName","dimsDef","dimensionsCount","encodeDefaulter","createDimensions","List","nameList","dimensionsInfo","initData","clearColorPalette","colorIdx","colorNameMap","scope","requestColorNum","scopeFields","defaultColorPalette","layeredColorPalette","colorPalette","colors","paletteNum","getNearestColorPalette","sendPct","processPct","pct","createWrap","doneCallback","elExistsMap","delay","easing","done","animateTo","scrollDataIndex","legendModel","setScrollDataIndex","modelHelper","findPointFromSeries","processOnAxis","axisInfo","newValue","updaters","dontSnap","outputFinder","involveSeries","snapToValue","payloadBatch","minDist","MAX_VALUE","minDiff","seriesModels","seriesNestestValue","dataDim","getAxisTooltipData","nestestValue","indicesOfNearest","buildPayloadsBySeries","snap","showPointer","showTooltip","showValueMap","dataByCoordSys","triggerTooltip","coordSysModel","coordSysKey","makeKey","coordSysItem","coordSysId","coordSysIndex","coordSysType","coordSysMainType","dataByAxis","axisId","valueLabelOpt","makeMapperParam","illegalPoint","coordSysAxesInfo","isIllegalPoint","inputAxesInfo","shouldHide","coordSysMap","coordSysContainsPoint","inputAxisInfo","findInputAxisInfo","linkTriggers","tarAxisInfo","tarKey","linkGroup","srcAxisInfo","srcKey","srcValItem","mapper","outputAxesInfo","valItem","useHandle","updateModelActually","sampleItem","escapeConnect","dispatchTooltipActually","highDownKey","lastHighlights","newHighlights","batchItem","toHighlight","toDownplay","batch","dispatchHighDownActually","imageHelper","getContext","trim","textWidthCache","textWidthCacheCounter","STYLE_REG","methods","textLines","l","measureText","adjustTextX","adjustTextY","calculateTextPosition","distance","textDistance","halfHeight","prepareTruncateOptions","truncateSingleLine","maxIterations","cnCharWidth","ascCharWidth","contentWidth","ellipsisWidth","textLine","subLength","estimateLength","substr","charCode","charCodeAt","getLineHeight","parsePlainText","padding","textLineHeight","truncate","lineHeight","lines","outerHeight","canCacheByTextString","truncOuterHeight","truncOuterWidth","outerWidth","parseRichText","contentBlock","lastIndex","exec","matchedIndex","pushTokens","substring","contentHeight","pendingList","stlPadding","truncateWidth","truncateHeight","tokens","tokenStyle","token","styleName","rich","tokenHeight","textHeight","textWidth","tokenWidth","tokenWidthNotSpecified","charAt","percentWidth","bgImg","findExistImage","isImageReady","paddingW","remianTruncWidth","block","str","isEmptyStr","strs","isLineHolder","tokensLen","DEFAULT_FONT","$override","fn","getRichTextRect","getPlainTextRect","adjustTextPositionOnRect","componentUtil","modelUtil","createTask","createRenderPlanner","renderPlanner","Chart","getUID","renderTask","plan","renderTaskPlan","renderTaskReset","highlight","toggleHighlight","downplay","chartProto","elSetState","state","highlightDigit","isHighDownDispatcher","highlightKey","getHighlightDigit","dataIdx","progressiveRender","pipelineContext","progressMethodMap","updateLayout","updateVisual","markUpdateMethod","progress","forceFirstProgress","vmlCore","VMLPainter","vmlViewport","vmlRoot","_vmlRoot","_vmlViewport","oldDelFromStorage","oldAddToStorage","onRemove","onAdd","_firstPaint","__alreadyNotVisible","brushVML","_getWidth","_getHeight","vmlViewportStyle","currentStyle","clientWidth","paddingLeft","paddingRight","clientHeight","paddingTop","paddingBottom","seriesItem","visualDefault","VisualMapping","visualSolution","mapVisual","eachVisual","linearMap","extendComponentModel","stateList","replacableOptionKeys","dataBound","layoutMode","dimension","inRange","outOfRange","itemWidth","itemHeight","contentColor","inactiveColor","textGap","_dataExtent","targetVisuals","controllerVisuals","mergeDefaultAndTheme","thisOption","replaceVisualOption","resetItemSize","completeVisualOption","resetVisual","supplementVisualOption","createVisualMappings","getTargetSeriesIndices","optionSeriesIndex","seriesIndices","eachTargetSeries","isTargetSeries","is","formatValueText","edgeSymbols","isMinMax","textValue","resetExtent","getDataDimension","optDim","listDimensions","dimNames","isCalculationCoord","base","completeSingle","defa","stateExist","stateAbsent","optExist","optAbsent","visualData","isValidType","symbolExists","symbolSizeExists","visuals","categories","getValueState","getVisualMeta","dataToCoordSize","dataSize","dimIdx","halfSize","getSpanSign","handleEnds","handleIndex","span","minSpan","maxSpan","extentSpan","handleSpan","originalDistSign","extentMinSpan","realExtent","currDistSign","visualSymbol","layoutPoints","dataSample","STATISTIC","treeLayout","Axis","Axis2D","coordExtent","getAxesOnZeroOf","getGlobalExtent","ret","toGlobalCoord","grid","coordToData","toLocalCoord","parseXML","registerMap","mapName","rawGeoJson","rawSpecialAreas","records","svg","specialAreas","geoJson","record","parsers","retrieveMap","geoJSON","JSON","Function","svgXML","isTypedArray","enableClassCheck","_sourceType","SOURCE_FORMAT_ORIGINAL","SERIES_LAYOUT_BY_COLUMN","SOURCE_FORMAT_UNKNOWN","SOURCE_FORMAT_TYPED_ARRAY","SOURCE_FORMAT_KEYED_COLUMNS","Source","fields","fromDataset","sourceFormat","seriesLayoutBy","dimensionsDefine","encodeDefine","startIndex","dimensionsDetectCount","seriesDataToSource","groupResult","axisList","groupSeriesByAxis","groupItem","bandWidth","seriesCount","boxWidthList","boxOffsetList","boundList","maxDataCount","boxWidthBound","availableWidth","boxGap","calculateBase","halfWidth","cDimIdx","vDimIdx","cDim","vDims","axisDimVal","median","getPoint","end1","end2","end4","end5","addBodyEnd","layEndLine","point1","point2","endCenter","to","layoutSingleSeries","devicePixelRatio","timsort","Layer","requestAnimationFrame","viewRect","Painter","singleCanvas","toUpperCase","dpr","_singleCanvas","rootStyle","zlevelList","_zlevelList","layers","_layers","_layerConfig","_needsManuallyCompositing","mainLayer","__builtin__","initContext","_domRoot","domRoot","createRoot","_hoverlayer","_hoverElements","isSingleCanvas","paintAll","_redrawId","clearColor","_backgroundColor","refreshHover","addHover","__hoverMir","elMirror","__from","removeHover","hoverElements","clearHover","hoverLayer","displayableSortFunc","getLayer","save","originalEl","invTransform","__clipPaths","_doPaintEl","getHoverLayer","redrawId","_updateLayerStatus","finished","_doPaintList","_compositeManually","self","clearRect","eachBuiltinLayer","virtual","drawImage","layerList","zi","__startIndex","__drawIndex","useTimer","now","startTime","__endIndex","firstEl","notClear","__dirtyText","prevElClipPaths","wxa","draw","currentLayer","forcePaint","culling","isDisplayableCulled","clipPaths","prevClipPaths","isClipPathChanged","prevEl","setTransform","beginPath","restoreTransform","doClip","insertLayer","layersMap","prevLayer","isLayerValid","prevDom","eachLayer","getLayers","updatePrevLayer","__used","prevZlevel","incrementalLayerCount","getElementCount","_clearLayer","configLayer","config","layerConfig","_zlevel","delLayer","_progressiveLayers","clearLayer","getRenderedCanvas","imageLayer","pixelRatio","renderToCanvas","displayList","pathToImage","canvas","shadowBlurSize","hasStroke","leftMargin","rightMargin","topMargin","bottomMargin","pathTransform","imgShape","controlPosition","autoPlay","rewind","loop","playInterval","currentIndex","_names","_initData","setCurrentIndex","getCurrentIndex","isIndexMax","setPlayState","getPlayState","dataArr","idxArr","dimType","category","replaceReg","replaceMap","'","c","TPL_VAR_ALIAS","wrapVar","varName","seriesIdx","pad","addCommas","toCamelCase","upperCaseFirst","group1","formatTpl","tpl","paramsList","seriesLen","alias","formatTplSimple","param","getTooltipMarker","extraCssText","renderMode","markerId","formatTime","isUTC","utc","S","capitalFirst","getTextBoundingRect","windowOpen","link","blank","opener","location","single","axisPosition","rectBound","positionMap","labelInside","isDimensionStacked","stackedDim","enableDataStack","dimensionInfoList","stackedByDimInfo","stackedDimInfo","byIndex","stackedCoordDimension","mayStack","dimensionInfo","createInvertedIndices","stackedDimCoordDim","stackedDimType","stackedDimCoordIndex","getStackedDimension","targetDim","MONTH_TEXT","EN","CN","WEEK_TEXT","_tlpoints","_blpoints","_firstDayOfMonth","_firstDayPoints","rangeData","_renderDayRect","_renderLines","_renderYearText","_renderMonthText","_renderWeekText","itemRectStyleModel","sh","addPoints","_getLinePointsOfOneWeek","_drawSplitline","_getEdgesPoints","rs","poyline","tmpD","_formatterLabel","nameMap","_yearTextPositionControl","aligns","yearLabel","xc","yc","posPoints","yearText","_monthTextPositionControl","isCenter","vAlign","monthLabel","termPoints","firstDayPoints","yyyy","yy","MM","monthText","_weekTextPositionControl","isStart","dayLabel","firstDayOfWeek","weekText","mathSqrt","mathAtan2","nPoint","sx","sy","preprocessor","Geo","geoSourceManager","mapDataStorage","resizeGeo","boundingCoords","leftTop","rightBottom","setBoundingRect","boxLayoutOption","aspectScale","useCenterAndSize","setViewRect","setGeoCoords","geoCoord","addGeoCoord","geoCreator","geoList","invertLongitute","mapRecords","geoIndex","mapModelGroupBySeries","getHostGeoModel","mapType","getMapType","mapSeries","nameMapList","singleMapSeries","mergeAll","getFilledRegions","originRegionArr","regionsArr","dataNameMap","load","registerCoordinateSystem","forceLayout","gravity","pp","initialFriction","friction","warmUp","setFixed","fixed","setUnfixed","v12","nLen","ignoreForceLayout","n1","n2","repFact","rep","isBrowser","navigator","timeoutDuration","longerTimeoutBrowsers","userAgent","debounce","called","resolve","scheduled","setTimeout","functionToCheck","getStyleComputedProperty","property","nodeType","css","ownerDocument","getParentNode","getScrollParent","body","_getStyleComputedProp","overflow","overflowX","overflowY","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","version","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","getRoot","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","isOffsetContainer","element1root","getScroll","side","upperSide","scrollingElement","includeScroll","subtract","scrollTop","scrollLeft","modifier","getBordersSize","styles","sideA","sideB","getSize","computedStyle","getWindowSizes","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","enumerable","configurable","writable","protoProps","staticProps","_extends","assign","getClientRect","offsets","sizes","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","isFixed","getFixedPositionOffsetParent","parentElement","getBoundaries","popper","boundariesElement","boundaries","boundariesNode","_getWindowSizes","isPaddingNumber","_ref","computeAutoPlacement","placement","refRect","rects","sortedAreas","area","sort","filteredAreas","_ref2","computedPlacement","variation","getReferenceOffsets","commonOffsetParent","getOuterSizes","marginBottom","marginRight","getOppositePlacement","hash","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","runModifiers","modifiers","findIndex","cur","warn","enabled","isDestroyed","arrowStyles","attributes","flipped","positionFixed","flip","originalPlacement","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","some","getSupportedPropertyName","prefixes","upperProp","prefix","toCheck","destroy","removeAttribute","willChange","disableEventListeners","removeOnDestroy","getWindow","setupEventListeners","updateBound","passive","scrollElement","attachToScrollParents","scrollParents","isBody","eventsEnabled","enableEventListeners","scheduleUpdate","cancelAnimationFrame","isNumeric","setStyles","isFirefox","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","counter","BEHAVIORS","parseOffset","basePlacement","useHeight","fragments","frag","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","toValue","index2","Defaults","shift","shiftvariation","_data$offsets","isVertical","shiftOffsets","preventOverflow","transformProp","popperStyles","priority","primary","escapeWithReference","secondary","keepTogether","opSide","arrow","_data$offsets$arrow","arrowElement","querySelector","sideCapitalized","altSide","arrowElementSize","popperMarginSide","popperBorderSide","sideValue","placementOpposite","flipOrder","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","subtractLength","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","prefixedProperty","invertTop","invertLeft","applyStyle","onLoad","modifierOptions","Popper","_this","jquery","Utils","PopperUtils","_helper","prepareDataCoordInfo","getStackedOnPoint","oldStackedOnPoints","newStackedOnPoints","oldCoordSys","newCoordSys","oldValueOrigin","newValueOrigin","diffResult","idx1","diffData","currPoints","nextPoints","currStackedPoints","nextStackedPoints","sortedIndices","rawIndices","newDataOldCoordInfo","oldDataNewCoordInfo","diffItem","pointAdded","currentPt","nextPt","dataDimsForPoint","rawIndex","sortedCurrPoints","sortedNextPoints","sortedCurrStackedPoints","sortedNextStackedPoints","sortedStatus","stackedOnCurrent","stackedOnNext","viewHelper","singleAxisHelper","AxisView","XY","WH","SingleAxisPointer","getPointDimIndex","pixelValue","elStyle","pointerShapeBuilder","dimIndex","currPosition","cursorOtherValue","shadow","registerAxisPointerClass","LegendModel","_layout","ScrollableLegendModel","pageButtonItemGap","pageButtonGap","pageButtonPosition","pageFormatter","pageIcons","pageIconColor","pageIconInactiveColor","pageIconSize","pageTextStyle","animationDurationUpdate","extraOpt","inputPositionParams","mergeAndNormalizeLayoutParams","raw","SymbolDraw","SymbolClz","lineAnimationDiff","_poly","_createClipPathFromCoordSys","createGridClipPath","createPolarClipPath","isPointsSame","points1","points2","getBoundingDiff","min1","max1","min2","max2","getSmooth","turnPointsIntoStep","stepTurnAt","baseIndex","stepPoints","stepPt","middle","stepPt2","getIsIgnoreFunc","showAllSymbol","isAuto","availSize","dataLen","getSymbolSize","canShowAllSymbolForCategory","categoryDataDim","labelMap","createLineClipPath","hasAnimation","rectShape","expandSize","lineGroup","symbolDraw","_symbolDraw","_lineGroup","areaStyleModel","mapArray","isCoordSysPolar","prevCoordSys","_coordSys","polyline","_polyline","_polygon","isAreaChart","isEmpty","valueOrigin","dataCoordInfo","valueDim","getStackedOnPoints","showSymbol","isIgnoreFunc","__temp","clipShapeForSymbol","r1","_clipShapeForSymbol","_step","_newPolygon","updateData","isIgnore","clipShape","_stackedOnPoints","_points","_updateAnimation","_newPolyline","visualColor","visualMetaList","visualMeta","stops","stopLen","outerColors","minCoord","maxCoord","coordSpan","gradient","LinearGradient","getVisualGradient","lineJoin","stackedOnSeries","_valueOrigin","setZ","stopSymbolAnimation","__points","updatedDataInfo","diffStatus","ptIdx","during","registerPainter","hiddenKeys","f","FREEZING","METADATA","isExtensible","setMetadata","it","objectID","weakData","meta","REQUIRED","fastKey","getWeakData","onFreeze","theme","axisPointer","crossStyle","legend","iconStyle","normal","dataZoom","timeline","timeAxis","axisTick","splitLine","splitArea","areaStyle","logAxis","gauge","candlestick","color0","borderColor0","cartesianAxisHelper","_axisSplitHelper","rectCoordAxisBuildSplitArea","rectCoordAxisHandleRemove","axisBuilderAttrs","selfBuilderAttrs","CartesianAxisView","axisPointerClass","oldAxisGroup","_axisGroup","gridModel","groupTransition","_splitLine","splitLineModel","lineColors","gridRect","lineCount","colorIndex","_minorSplitLine","_splitArea","polygonContain","Region","geometries","cp","properties","MAX_NUMBER","exterior","loopGeo","interiors","transformTo","calculateTransform","cloneShallow","newRegion","parallelPreprocessor","_throttledDispatchExpand","_dispatchExpand","checkTrigger","_mouseDownPoint","mouseDownPoint","debounceNextCall","DEFAULT_OUT_OF_BRUSH_COLOR","generateBrushOption","brushLink","xAxisIndex","yAxisIndex","throttleType","throttleDelay","coordInfoList","inBrush","outOfBrush","liftZ","setAreas","setBrushOption","getPercentWithPrecision","dataSelectableMixin","retrieveRawAttr","makeSeriesEncodeForNameBased","LegendVisualProvider","PieSeries","extendSeriesModel","legendVisualProvider","getRawData","updateSelectedMap","_createSelectableList","_defaultLabelLine","targetList","valueList","percent","labelLineNormalOpt","labelLine","labelLineEmphasisOpt","minShowLabelAngle","selectedOffset","hoverOffset","avoidLabelOverlap","percentPrecision","stillShowZeroSum","alignTo","bleedMargin","distanceToLabelLine","length2","animationType","animationTypeUpdate","Task","define","_reset","_plan","_count","_onDirty","onDirty","_dirty","taskProto","perform","performArgs","planResult","upTask","_upstream","skip","outputData","__pipeline","currentTask","lastModBy","normalizeModBy","_modBy","lastModDataCount","_modDataCount","modBy","modDataCount","taskIns","_dueIndex","_outputDueEnd","_dueEnd","_settedOutputEnd","_progress","downstream","_downstream","doProgress","outputDueEnd","unfinished","iterator","winCount","sStep","sCount","modNext","sequentialNext","_callingProgress","pipe","downTask","_disposed","getUpstream","getDownstream","setOutputEnd","onIrrelevantElement","normalizeRect","makeRectPanelClipPath","localPoints","clipPointsByRect","makeLinearBrushOtherExtent","specifiedXYIndex","brushWidth","makeRectIsTargetByCursor","targetModel","wrapTreePathInfo","Breadcrumb","containerGroup","makeItemPoints","packEventData","itemNode","componentSubType","selfType","treePathInfo","targetNode","onSelect","normalStyleModel","layoutParam","emptyItemWidth","totalWidth","renderList","_prepare","_renderContent","TEXT_PADDING","lastX","availableSize","seriesGroups","hostGeoModel","seriesList","datas","statisticType","mapKey","dataStatistics","originalData","seriesGroup","needsDrawMap","mainSeries","symbolCtor","_symbolCtor","symbolDrawProto","symbolNeedsDraw","normalizeUpdateOpt","makeSeriesScope","hoverItemStyle","SymbolCtor","seriesScope","fadeOut","isPersistent","incrementalPrepareUpdate","_seriesScope","incrementalUpdate","taskParams","updateIncrementalAndHover","enableAnimation","ComponentView","detectSourceFormat","sourceHeader","VisualMapView","helper","doRender","visualMapModel","itemAlign","_getItemAlign","viewData","_getViewData","endsText","showLabel","_renderEndsText","viewPieceList","piece","itemGroup","_onItemClick","_enableHoverLink","indexInModelPieceList","representValue","getRepresentValue","_createItemSymbol","visualState","renderBackground","positionGroup","pieceIndex","onHoverLink","hoverLink","makeHighDownBatch","findTargetDataIndices","modelOption","getItemAlign","getPieceList","shapeParam","getControllerVisual","newKey","getSelectedMapKey","selectedMode","o","visualMapId","setEncodeAndDimensions","getRawIndicesByActiveState","theActiveState","parallelIndex","inactiveOpacity","activeOpacity","FunnelSeries","getSum","minSize","funnelAlign","View","_nameCoordMap","nameCoordMap","_regionsMap","regionsMap","_invertLongitute","boundingRect","getReferringComponents","containCoord","rawTransformable","_rawTransformable","_updateTransform","getRegion","getRegionByCoord","getGeoCoord","noRoam","otherAxisOnZeroOf","rawAxisPosition","onZero","axisOffset","posBound","onZeroCoord","updateViewOnPan","controllerHost","updateViewOnZoom","zoomDelta","zoomX","zoomY","newZoom","zoomScale","xAxis","yAxis","zrColor","eventUtil","domUtil","vendors","assembleCssText","transitionDuration","duration","transitionText","vendorPrefix","assembleTransition","toHex","borderName","camelCase","assembleFont","makeStyleCoord","appendToBody","zrPainter","zrViewportRoot","transformLocalCoord","viewportRootOffset","TooltipContent","container","domBelongToZr","_appendToBody","_styleCoord","_container","_show","_hideTimeout","onmouseenter","_enterable","clearTimeout","_inContent","normalizeEvent","onmouseleave","hideLater","_hideDelay","domStyle","_moveTooltipIfResized","ratioX","ratioY","realX","realY","styleCoord","pointerEvents","setContent","setEnterable","enterable","isShow","getOuterSize","borderRightWidth","borderBottomWidth","makeAscendingRun","lo","hi","runHi","reverseRun","binaryInsertionSort","mid","pivot","gallopLeft","hint","lastOffset","maxOffset","gallopRight","TimSort","runStart","runLength","minGallop","stackSize","mergeAt","start1","length1","start2","cursor1","cursor2","dest","count1","count2","exit","_minGallop","mergeLow","customCursor","customDest","mergeHigh","mergeRuns","forceMergeRuns","pushRun","_runStart","_runLength","remaining","ts","minRun","minRunLength","force","isAroundEqual","p0","Clip","isArrayLike","arraySlice","defaultGetter","defaultSetter","interpolateNumber","interpolateString","interpolateArray","arrDim","len2","fillArr","arr0","arr1","arr0Len","arr1Len","isArraySame","catmullRomInterpolateArray","p3","t2","t3","catmullRomInterpolate","cloneValue","rgba2String","rgba","createTrackClip","animator","oneTrackDone","keyframes","propName","forceAnimate","getter","_getter","setter","_setter","useSpline","trackLen","trackMaxTime","firstVal","isValueArray","isValueColor","isValueString","lastValue","getArrayDim","kfPercents","kfValues","prevValue","isAllValueEqual","colorArray","_target","lastFrame","lastFramePercent","life","_loop","_delay","onframe","ondestroy","Animator","_tracks","_clipCount","_doneList","_onframeList","_clipList","when","tracks","pause","_paused","resume","isPaused","_doneCallback","doneList","lastClip","clipCount","addClip","oldOnFrame","forwardToLast","clipList","removeClip","getClips","linkList","TreeNode","hostTree","viewChildren","Tree","_nodes","isRemoved","eachNode","suppressVisitSub","updateDepthAndHeight","getNodeById","getId","getAncestors","includeSelf","ancestors","getValue","setLayout","ignoreParent","isAncestorOf","isDescendantOf","getNodeByDataIndex","getNodeByName","clearLayouts","clearItemLayouts","createTree","dataRoot","beforeLink","tree","listData","dimMax","buildHierarchy","dataNode","addChild","mainData","struct","structAttr","VisualMapModel","reformIntervals","PiecewiseModel","minOpen","maxOpen","itemSymbol","pieceList","_pieceList","mode","_mode","_determineMode","resetMethods","_resetSelected","mappingOption","mappingMethod","dataExtent","visualTypesInPieces","visualTypes","listVisualTypes","pieces","hasSel","findPieceIndex","pieceInterval","getColorVisual","curr","setStop","valueState","splitStep","close","cate","normalizeReverse","pieceListItem","closeList","infinityList","useMinMax","lg","retrieveVisuals","pointPair","_doTrack","_recognize","touches","trackItem","touch","clientToLocal","recognizers","pinch","pinchEnd","pinchPre","pinchCenter","parallelVisual","candlestickVisual","candlestickLayout","TimelineAxis","LargeArr","Float32Array","candleWidth","barMaxWidth","barMinWidth","barWidth","calculateCandleWidth","openDim","closeDim","lowestDim","highestDim","isSimpleBox","large","tmpIn","tmpOut","openVal","closeVal","lowestVal","highestVal","getSign","ocLow","ocHigh","ocLowPoint","ocHighPoint","lowestPoint","highestPoint","subPixelOptimizePoint","brushRect","makeBrushRect","pmin","pmax","SOURCE_FORMAT_ARRAY_ROWS","SOURCE_FORMAT_OBJECT_ROWS","SERIES_LAYOUT_BY_ROW","BE_ORDINAL","Must","Might","Not","normalizeDimensionsDefine","arrayRowsTravelFirst","maxLoop","value0","getDatasetModel","datasetIndex","doGuessOrdinal","dimDefItem","sample","detectValue","row","beStr","datasetModel","resetSourceDefaulter","datasetMap","prepareSource","seriesOption","datasetOption","completeResult","firstIndex","objectRowsCollectDimensions","colArr","completeBySourceData","baseCategoryDimIndex","categoryWayValueDimStart","encodeItemName","encodeSeriesName","coordDimInfo","coordDimIdx","getDataDimCountOnCoordDim","datasetRecord","categoryWayDim","valueWayDim","pushDim","dimIdxArr","idxFrom","idxCount","coordDimName","dimCount","potentialNameDimIndex","idxResult","idxRes0","idxRes1","guessRecords","guessResult","isPureNumber","fulfilled","nameDimIndex","guessOrdinal","vip_1_icon","vip_2_icon","plus_icon","User","avatar_url","motor_auth_show_info","verified_content","user_verified","follow","standard_user_info","auth_v_type","auth_v_desc","focused","setFocused","useContext","ArticleCardContext","inheritNewCard","globalState","GlobalStoreContext","standardUserInfo","medal_list","badge_content","desc_content","badge_icon","pic_url","feed_user_description","brand_content","brand_icon","doFocus","useLoginCheckCallback","to_user_id","focus","handleClickFocus","Toast","enter_method","backgroundImage","className","React","memo","group_type","disabled","Fragment","compareFunc","prevProps","nextProps","every","isViewing","applyHttpsImg","uri","processUrlWith_tplv_noop","Wtt","user_info","image_list","Player","video_thumb_url","video_id","autoplay","setPIP","Koubei","isFeed","Answer","user_name","create_time","label_url","high_quality_comment","image_url","QA","comment_list","question_info","link_info","answer","adopted","isQA","onReplyClick","includes","ArticleCard","rawData","card","unique_id_str","all_info","getLinkHref","curveUtil","EffectLine","lineData","createLine","_updateEffectSymbol","effectLineProto","effectModel","_symbolType","setColor","_symbolScale","_updateEffectAnimation","period","constantSpeed","delayExpr","isDelayFunc","updateAnimationPoints","getLineLength","_period","__t","animate","updateSymbolPosition","__p1","__cp1","__p2","lastPos","quadraticDerivativeAt","__lastT","scaleY","Diff","buildValues","components","newArr","oldArr","componentPos","componentLen","newPos","oldPos","oldLen","editLength","maxEditLength","bestPath","extractCommon","execEditLength","diagonalPath","basePath","addPath","removePath","canAdd","canRemove","pushComponent","last","commonCount","tokenize","getAutoCurvenessParams","createCurveness","appendLength","autoCurvenessParmas","curvenessList","__curvenessList","getKeyOfEdges","getOppositeKey","getEdgeMapLengthWithKey","edgeMap","__edgeMap","initCurvenessList","createEdgeMapForCurveness","oppositeEdges","isForward","getCurvenessForEdge","needReverse","autoCurvenessParams","isArrayParam","edgeArray","getEdgeFromMap","edgeIndex","totalLen","getTotalLengthBetweenNodes","curKey","parityCorrection","oppositeKey","resValue","RoamController","roamHelper","getFixedItemStyle","areaColor","updateMapSelected","mapOrGeoModel","regionsGroup","otherRegionEl","__regions","MapDraw","updateGroup","_controller","_controllerHost","_updateGroup","_mouseDownFlag","_mapName","_initialized","_regionsGroup","_backgroundGroup","fromView","isGeo","_updateBackground","targetScale","transformInfo","getTransformInfo","isFirstDraw","roamTransform","rawScale","rawPosition","itemStyleAccessPath","hoverItemStyleAccessPath","labelAccessPath","hoverLabelAccessPath","regionGroup","compoundPath","CompoundPath","itemStyleModel","regionModel","getRegionModel","hoverItemStyleModel","transformPoint","geometry","interior","hoverShowLabel","isDataNaN","useInsideStyle","textScale","highDownSilentOnTouch","_updateController","mapDraw","action","updateMapSelectHandler","removeGraphic","makeGraphic","enable","makeActionBase","setPointerChecker","getViewRectAfterRoam","handleError","level","metrics","emitCounter","logger","errorType","getCarIds","seriesCarIds","car_ids","vector","mIdentity","isNotAroundZero","transformableProto","scaleTmp","parentHasTransform","globalScaleRatio","relX","relY","invert","tmpTransform","originTransform","setLocalTransform","v2","transformCoordToGlobal","Displayable","_image","createOrUpdateImage","onload","sWidth","sHeight","drawRectText","minValue","maxValue","mapValueToColor","mapValueToVisual","customColor","LegendView","ScrollableLegendView","newlineDisabled","_currentIndex","_containerGroup","getContentGroup","_controllerGroup","_showController","resetInner","__rectSize","renderInner","selector","selectorPosition","me","controllerGroup","createPageButton","pageTextStyleModel","iconIdx","pageDataIndexName","_pageGo","layoutInner","isFirstRender","selectorGroup","getSelectorGroup","orientIdx","hw","yx","selectorButtonGap","selectorRect","selectorPos","processMaxSize","mainRect","_layoutContentAndController","contentGroup","contentRect","controllerRect","showController","contentPos","containerPos","controllerPos","pageInfo","_getPageInfo","pageIndex","contentPosition","_updatePageInfoView","legendId","canJump","pageText","total","pageCount","containerRectSize","targetItemIndex","_findTargetItemIndex","targetItem","itemCount","pCount","pagePrevDataIndex","pageNextDataIndex","targetItemInfo","getItemInfo","winStartItemInfo","winEndItemInfo","currItemInfo","itemRect","__legendDataIndex","itemInfo","winStart","targetDataIndex","legendDataIdx","defaultIndex","PUBLISH_PICTURE_API","PUBLISH_VIDEO_API","DELAY_PUBLISH_PICTURE_API","DELAY_PUBLISH_VIDEO_API","DELETE_FEED_API","DELETE_VIDEO_API","BrushTargetManager","STATE_LIST","DISPATCH_FLAG","PRIORITY_BRUSH","VISUAL","BRUSH","layoutCovers","brushTargetManager","setInputRanges","doDispatch","brushSelected","isDisposed","checkInRange","selectorsByBrushType","rangeInfoList","selectors","getSelectorsByBrushType","brushSelector","sels","selectorsByElementType","bSelector","sel","brushIndex","thisBrushSelected","brushId","brushName","linkedSeriesMap","selectedDataIndexForLink","rangeInfoBySeries","hasBrushExists","selFn","elType","bindSelector","boundingRectBuilders","visualMappings","linkOthers","brushed","stepAParallel","brushModelNotControll","controlSeries","stepAOthers","seriesBrushSelected","applyVisual","getBoundingRectFromMinMax","minMax","getTooltipPosition","axisDefault","valueAxisDefault","defaultsShow","nameTextStyle","showName","nameFormatter","nameGap","indicatorModels","indicatorOpt","iNameTextStyle","indName","getIndicatorModels","indicator","coordsOffsetMap","coordFix","getProgressive","getProgressiveThreshold","progressiveThreshold","largeThreshold","roundCap","showBackground","backgroundStyle","borderType","borderRadius","onLeave","doEnter","initialized","useHandler","dis","pendings","showTip","hideTip","makeDispatchAction","actuallyPayload","showLen","hideLen","dispatchTooltipFinally","initGlobalListeners","symbolProto","getScale","driftSymbol","_createSymbol","keepAspect","symbolPath","toLastFrame","getSymbolPath","setDraggable","_updateCommon","fadeIn","_seriesModel","normalStyleAccessPath","emphasisStyleAccessPath","normalLabelAccessPath","emphasisLabelAccessPath","highDownOnUpdate","fromState","toState","__symbolOriginalScale","ratio","emphasisOpt","symbolInnerColor","z2Origin","__z2Origin","useNameLabel","isAnimationEnabled","keepLabel","symbolUtil","extendChartView","normalizeSymbolSize","updateSymbols","oldPoints","newPoints","symbolGroup","__dimIdx","getInitialPoints","hoverAreaStyleModel","polygonIgnore","hoverPolygonIgnore","itemHoverStyle","labelHoverModel","labelDimIndex","radiusAxisModel","axisAngle","layoutAxis","splitLines","Circle","mergePath","areaColors","splitAreas","prevRadius","Sector","_dataStackHelper","_completeDimensions","completeDimensions","_createDimensions","_symbol","dataStack","createList","createScale","isInstance","mixinAxisModelCommonMethods","Input","submitClick","inputRef","autoFocus","rows","ModalConfirmUponSelf","onButtonClick","cancelBtnText","confirmBtnText","button_name","toward_top_icon","thumb_up_icon","thumb_up_active_icon","Reply","showUnderLine","submitComment","commentId","isLogin","userId","eventBus","deleteComment","reportUser","rank","user","replyId","id_str","reply_to_comment","showReplyInput","setShowReplyInput","userDigged","setUserDigged","diggCount","setDiggCount","showDeleteConfirm","setShowDeleteConfirm","showReportConfirm","setShowReportConfirm","handleReplyClick","handleDiggClick","diggCountBeforeChanged","aid","app_name","reply_id","item_id","localStorage","getItem","errno","log","emoji","xss","filterXSS","safeGet","digged","commentText","visible","reportTypes","Item","appName","comment","user_profile_image_url","reply_count","replyExpanded","setReplyExpanded","replyList","setReplyList","setOffset","isLoading","setIsLoading","hasMoreReply","setHasMoreReply","replyCount","setReplyCount","sentReplies","setSentReplies","updated_total_count_uac","updateTotalCount_uac","addListener","newReply","loadMoreReply","hotComments","commentData","updatedReplyList","reply","has_more","replyUserId","reject","reply_comment_id","reply_user_id","replyData","comment_id","handleCommentButtonClick","handleCommentReply","expanded","CommentInput","avatarUrl","commentArticle","inputState","setInputState","inputAreaClick","alt","submit_status","Header","totalCount","userName","getLoginHref","EventEmitter","show_more_icon","Comment","dataList","setDataList","currentPage","setCurrentPage","hasMoreComment","setHasMoreComment","commentCount","setCommentCount","loadComment","total_number","handleDeleteComment","address","handleReportUser","reportUserId","web_id","Cookies","formData","FormData","append","stringify","err_code","EventBus","ArrayCtor","m1","m2","out0","out1","out2","out3","out4","out5","rad","aa","ac","atx","ab","ad","aty","st","ct","vx","vy","det","flagDomRef","sendTea","process","windowHeight","topNow","OrdinalMeta","scaleProto","OrdinalScale","_ordinalMeta","getOrdinal","niceTicks","niceExtent","Series","brandId","setSeries","empty","fetchSeries","sub_brand_name","series_id","series_name","SKIP_PROPS","CandlestickView","_updateDrawMode","_isLargeDraw","_renderLarge","_renderNormal","_clear","_incrementalRenderLarge","_incrementalRenderNormal","isLargeDraw","needsClip","clipArea","isNormalBoxClipped","setBoxCommon","createLarge","NormalBoxPath","__simpleBox","clipped","LargeBoxPath","__sign","largePoints","elP","elN","setLargeStyle","suffix","Style","RectText","dragging","rectContain","animateStyle","updateDataSelected","toggleItemSelected","midAngle","PiePiece","sector","piePieceProto","firstCreate","labelText","sectorShape","withAnimation","_updateLabel","hoverIgnore","normalIgnore","targetLineShape","linePoints","targetTextStyle","labelLineModel","labelLineHoverModel","inside","sectorGroup","_sectorGroup","onSectorClick","piePiece","_createClipPath","arrySlice","eventProcessor","_$handlers","_$eventProcessor","eventful","isOnce","_h","normalizeQuery","wrap","one","callAtLast","zrEventfulCallAtLast","lastWrap","newList","args","argLen","hItem","afterTrigger","triggerWithContext","eachEdge","updatePolarScale","setAxis","polarCreator","polarList","polarModel","findAxisModel","angleAxisModel","resizePolar","getSeriesStackId","getAxisKey","lastStackCoords","barWidthAndOffset","barSeries","columnsMap","axisKey","columnsOnAxis","remainedWidth","autoWidthCount","categoryGap","stacks","stackId","barCategoryGap","coordSysName","barGapPercent","autoWidth","column","lastColumn","widthSum","calRadialBar","getSeriesByType","columnLayoutInfo","columnOffset","columnWidth","barMinHeight","barMinAngle","baseDim","stacked","clampLayout","valueAxisStart","baseValue","baseCoord","radiusSpan","angleSpan","selectableMixin","GeoModel","_optionModelMap","optionModelMap","regionOpt","scaleLimit","categoryFilter","categoryVisual","edgeVisual","circularLayout","createView","POST_CHART_LAYOUT","IndicatorAxis","IntervalScale","getScaleExtent","LogScale","Radar","radarModel","_indicatorAxes","indicatorModel","indicatorAxis","getIndicatorAxes","indicatorIndex","closestAxis","minRadianDiff","closestAxisIdx","viewSize","indicatorAxes","radarSeries","increaseInterval","exp10","LN10","rawExtent","fixedMin","getMin","fixedMax","getMax","getInterval","setInterval","radarList","radar","Graph","directed","addNode","linkNameList","validEdges","linkCount","addEdge","coordSysCtor","dimensionNames","datasAttr","rangeStart","eqNaN","rangeEnd","getNeedCrossZero","setRange","resetRange","coordinateSystemCreators","CoordinateSystemManager","_coordinateSystems","coordinateSystems","creater","getCoordinateSystems","coordinateSystemCreator","mathAbs","hasTypedArray","notSaveData","_saveData","_ctx","_xi","_yi","_x0","_y0","_ux","_uy","_lineDash","_dashOffset","_dashIdx","_dashSum","addData","exceedUnit","_needsDash","_dashedLineTo","_dashedBezierTo","quadraticCurveTo","_dashedQuadraticTo","arcTo","toStatic","setLineDash","lineDash","lineDashSum","setLineDashOffset","appendPath","appendSize","appendPathData","_expandData","_prevCmd","dash","dashSum","nDash","bezierLen","tmpLen","rebuildPath","ux","uy","psi","fs","scaleX","ctor","leaves","leavesModel","isExpand","treeDepth","expandTreeDepth","expandAndCollapse","initialTreeDepth","getRawDataItem","collapsed","realRoot","edgeShape","edgeForkPosition","roam","nodeScaleRatio","scaleHelper","intervalScaleProto","ONE_DAY","ONE_HOUR","TimeScale","stepLvl","_stepLvl","minInterval","maxInterval","fixMin","fixMax","approxTickNum","approxInterval","scaleLevelsLen","scaleLevels","bisect","yearSpan","nice","timezoneOffset","getTimezoneOffset","fixExtent","_niceExtent","ONE_SECOND","ONE_MINUTE","useUTC","__NEXT_P","useEncodeDefaulter","hoverLayerThreshold","axisExpandCenter","axisExpandRate","axisExpandDebounce","axisExpandSlideTriggerArea","axisExpandTriggerOn","parallelAxisDefault","_initDimensions","setAxisExpand","dependentModels","parallelAxis","wx","getSystemInfoSync","browser","os","svgSupported","touchEventsSupported","worker","ua","firefox","ie","weChat","SVGRect","pointerEventsSupported","detect","nextRight","hierNode","thread","nextLeft","nextAncestor","nodeInLeft","ancestor","moveSubtree","wl","wr","change","prelim","defaultSeparation","defaultAncestor","pop","firstWalk","separation","siblings","subtreeW","executeShifts","midPoint","subtreeV","nodeOutRight","nodeInRight","nodeOutLeft","sumOutRight","sumInRight","sumOutLeft","sumInLeft","apportion","secondWalk","nodeX","radialCoordinate","radialCoor","getViewRect","pathTool","colorTool","Ring","BezierCurve","Arc","IncrementalDisplayable","subPixelOptimizeUtil","EMPTY_OBJ","_highlightNextDigit","_highlightKeyMap","_customShapeMap","registerShape","ShapeClass","createFromString","centerGraphic","resizePath","hasFillOrStroke","fillOrStroke","liftedColorMap","liftedColorCount","singleEnterEmphasis","hoverStl","__hoverStl","__highlighted","elTarget","rollbackDefaultTextStyle","__hoverStlDirty","__cachedNormalStl","__cachedNormalZ2","cacheElementStl","extendFrom","setDefaultHoverFillStroke","applyDefaultTextStyle","liftedColor","lift","liftColor","singleEnterNormal","highlighted","normalStl","normalZ2","traverseUpdate","updater","commonParam","__highDownOnUpdate","onElementMouseOver","shouldSilent","__highByOuter","onElementMouseOut","onElementEmphasisEvent","onElementNormalEvent","__highDownSilentOnTouch","asDispatcher","disable","__highDownDispatcher","specifiedTextStyle","setTextStyleCommon","getTextPosition","textOffset","richResult","globalTextStyle","richItemNames","richItemNameMap","getRichItemNames","richTextStyle","setTokenTextStyle","forceRich","isBlock","getAutoColor","textBorderColor","textStrokeWidth","textBorderWidth","insideRollbackOpt","textTag","disableBox","textBoxShadowColor","textBoxShadowBlur","textBoxShadowOffsetX","textBoxShadowOffsetY","textShadowColor","textShadowBlur","textShadowOffsetX","textShadowOffsetY","insideRollback","useInsideStyleCache","useAutoColorCache","animateOrSetProps","isUpdate","postfix","animationDelay","getAnimationDelayParams","lineLineIntersect","a1x","a1y","a2x","a2y","b1x","b1y","b2x","b2y","mx","my","nx","ny","nmCrossProduct","crossProduct2d","b1a1x","b1a1y","q","Z2_EMPHASIS_LIFT","extendShape","extendPath","extendFromString","makeImage","imageUrl","img","subPixelOptimizeLine","subPixelOptimizeRect","emphasisStyle","normalModel","emphasisModel","normalSpecified","emphasisSpecified","baseText","labelProp","showNormal","showEmphasis","normalStyleText","emphasisStyleText","modifyLabelStyle","normalStyleProps","emphasisStyleProps","setText","defaultColor","gTextStyleModel","mat","hBase","vBase","vertex","g1","g2","elMap1","g","elMap","getElMap","oldEl","newProp","getAnimatableProps","clipRectByRect","targetRect","linePolygonIntersect","throttle","DataZoomView","SHOW_DATA_SHADOW_SERIES_TYPE","SliderZoomView","_displayables","_range","_handleEnds","_size","_handleWidth","_handleHeight","_location","_dataShadowInfo","dataZoomModel","_buildView","_updateView","_resetLocation","_resetInterval","barGroup","_renderBackground","_renderDataShadow","_positionGroup","coordRect","_findCoordRect","ecSize","layoutRect","targetAxisModel","getFirstTargetAxisModel","otherAxisInverse","_getViewExtent","_onClickPanelClick","_prepareDataShadowInfo","otherDim","getShadowDim","otherDataExtent","getDataExtent","otherOffset","lastIsEmpty","otherShadowExtent","thisShadowExtent","areaPoints","thisCoord","stride","otherCoord","showDataShadow","eachTargetAxis","getAxisProxy","getTargetSeriesModels","thisAxis","thisDim","displaybles","handles","handleLabels","filler","getCursor","_onDragMove","ondragstart","_showDataInfo","_onDragEnd","onmouseover","onmouseout","bRect","handleColor","getPercentRange","viewExtent","_updateInterval","viewExtend","minMaxSpan","findRepresentativeAxisProxy","getMinMaxSpan","percentExtent","lastRange","nonRealtime","handleInterval","handleHeight","_updateDataInfo","labelTexts","axisProxy","getAxisModel","dataInterval","calculateDataWindow","valueWindow","getDataValueWindow","_formatLabel","orderedHandleEnds","barTransform","textPoint","labelPrecision","getPixelPrecision","valueStr","showOrHide","changed","_dispatchZoomAction","localPoint","dataZoomId","getTargetCoordInfo","fillLabel","MarkerModel","_mergeOption","hostSeries","__hostSeries","newOpt","createdBySelf","markerOpt","markerModel","getRawValue","formattedValue","valueArr","isAscending","getSortedIndices","sizeExtent","getLinePoints","textX","textY","labelPosition","isLabelInside","labelLineLen","layerSeries","getLayerSeries","keyGetter","dataDiffer","_layersSeries","newLayersGroups","oldLayersGroups","points0","layerGroup","rectEl","createGridClipShape","POSSIBLE_STYLES","compatEC2ItemStyle","itemStyleOpt","normalItemStyleOpt","emphasisItemStyleOpt","convertNormalEmphasis","optType","useExtend","normalOpt","removeEC3NormalStatus","compatTextStyle","labelOptSingle","compatEC3CommonStyles","toArr","toObj","markArea","mpData","mlData","breadcrumb","processSeries","axisOpt","parallel","parallelOpt","calendarOpt","radarOpt","geoOpt","regionObj","timelineOpt","toolboxOpt","close_icon","close_icon_hover","CloseIcon","fixShadow","ContextCachedBy","STYLE_COMMON_PROPS","createLinearGradient","createRadialGradient","styleProto","fillOpacity","strokeOpacity","lineDashOffset","transformText","textOrigin","blend","prevStyle","notCheckCache","__attrCachedBy","STYLE_BIND","fillStyle","strokeStyle","globalAlpha","globalCompositeOperation","getLineScale","hasFill","otherStyle","newStyle","getGradient","canvasGradient","addColorStop","hasKeys","mappings","Creater","__hidden","createMappings","__alphaForOpacity","visualTypesMap","eachItem","valueOrIndex","rawDataItem","prepareVisualTypes","incrementalApplyVisual","publish_icon","publicParams","device_platform","version_code","impression_info","page_id","sub_tab","FeedContext","onDeletePost","CommunityFeed","showPublisher","setShowPublisher","rawDatas","setRawDatas","behotTime","setBehotTime","comments","setComments","my_user_id","tt_from","motor_feed_extra_params","new_feed","feed_type","channel_id","actions","refresh_num","loadmore_num","from_page_id","min_behot_time","handleTogglePublisher","useCallback","useMemo","handlePublish","isTimer","mockNewCard","handleDelete","ele","onClose","closable","CloseIconForPublisher","onPublish","loadMoreHandler","max_behot_time","filtered","excludes","validDataCount","unitRadian","roseType","restAngle","valueSumLargerThanMinAngle","currentAngle","paletteScope","categoriesData","getCategoriesData","categoryNameIdxMap","itemStyleList","dataView","back","saveAsImage","typeNames","pie","scatter","effectScatter","treemap","boxplot","heatmap","sankey","funnel","pictorialBar","themeRiver","sunburst","aria","general","withTitle","withoutTitle","withName","withoutName","multiple","separator","allData","partialData","DefaultDataProvider","dimSize","_source","_offset","_dimSize","providerMethods","providerProto","pure","persistent","appendData","appendDataSimply","countSimply","getItemSimply","col","newCol","oldCol","clean","rawValueGetters","arrayRows","getRawValueSimply","objectRows","keyedColumns","original","typedArray","defaultDimValueGetters","getDimValueSimply","converDataValue","_dimensionInfos","_rawData","parseAndCollect","retrieveRawValue","getProvider","OTHER_DIMENSIONS","getOrCreateEncodeArr","summarizeDimensions","summary","notExtraCoordDimMap","defaultedLabel","defaultedTooltip","userOutput","dimItem","encodeArr","dataDimsOnCoord","encodeFirstDimNotExtra","dimArr","encodeLabel","encodeTooltip","barPolar","borderColorQuery","globalColors","eachRawSeriesByType","defaulColor","legendSymbol","getTargetSeries","seriesModelMap","overallReset","filterData","percentRange","getDataPercentWindow","valueRange","setCalculatedRange","startValue","endValue","debugMode","renderAuthor","media_id","subscribed","fans_count","following_num","auth_description","openLogin","LoginStoreContext","isSubscribing","setIsSubscribing","fansCount","setFansCount","formatNumber","getMarkerPosition","clampData","progressiveChunkMode","Ellipse","DILIMITER_REG","DOMParser","parseFromString","SVGParser","_defs","_root","_isDefine","_isText","xml","viewBox","parseAttributes","viewBoxRect","viewBoxTransform","_parseNode","viewBoxArr","makeViewBoxTransform","ignoreViewBox","elRoot","ignoreRootClip","xmlNode","parentGroup","parser","defineParsers","def","nodeParsers","_parseText","_textX","_textY","textContent","inheritStyle","circle","ellipse","parsePoints","stopColor","_parseGradientColorStops","__inheritedStyle","pointsString","attributesMap","onlyInlineStyle","zrStyle","isTextEl","transformOps","transformRegex","parseTransformAttribute","styleRegResult","styleList","styleRegex","svgAttrName","parseStyleAttribute","attrValue","elFillProp","elStrokeProp","getPaint","elPropName","textBaseline","urlRegex","urlMatch","parseSVG","markerHelper","LineDraw","MarkerView","markLineTransform","mlModel","mlType","valueDataDim","numCalculate","valueIndex","mlFrom","mlTo","dataTransform","isInifinity","ifMarkLineHasOnlyDim","fromCoord","toCoord","otherDimIndex","markLineFilter","updateSingleMarkerEndLayout","isFrom","xPx","yPx","markLineModel","fromData","toData","__to","markerGroupMap","renderSeries","lineDrawMap","lineDraw","coordDimsInfos","optData","dimValueGetter","updateDataVisualAndLayout","lineColor","dataModel","__keep","DEFAULT_BAR_BOUND","ContinuousModel","calculable","hoverLinkDataSize","hoverLinkOnHandle","_resetRange","auto","getSelected","oVals","getColorStopValues","iVals","iIdx","oIdx","iLen","oLen","first","stopsLen","stopValues","Dispatcher","Animation","_clips","_running","_time","_pausedTime","_pauseStart","clips","_update","deferredEvents","deferredClips","_needsRemove","fire","_startLoop","isFinished","moreIconGrey","moreIconYellow","emptyImage","hasVR","brand_name","brand_id","cover_url","dealer_price","official_price","head_info","entrance_list","car_id_list","pic_summary","white_cover_url","motor_id","vr_image","pc_config","is_new_energy_type","environmental_standards","driver_form","fuel_comprehensive","gearbox_description","air_control_model_2","fuel_form","fuel_label","seat_material","engine_description","setParams","cityName","useCityName","price","setPrice","DealerLowPrice","DealerHighPrice","Photos","subsidyPrice","pirceHintText","priceText","logo_url","getZT","car_series_id","car_type","recharge_mileage","max_horsepower","electric_drive_number","electric_type","acceleration_time","max_speed","battery_charge_time","series_displacement","images","SeriesId","Category","PicCount","CoverPicUrl","num","pre","categoryMap","Map","transition","num_small","default","sankeyLayout","sankeyVisual","_echarts","_export","DATAS","MAIN_DATA","transferInjection","linkAll","linkSingle","changeInjection","cloneShallowInjection","getLinkedData","main","TRANSFERABLE_METHODS","CHANGABLE_METHODS","roams","InsideZoomView","allCoordIds","coordInfo","generateCoordId","coordModel","getRange","roamHandlers","coordId","containsPoint","directionInfo","getDirectionInfo","percentPoint","signal","pixelStart","pixelLength","pixel","pan","makeMover","oldX","oldY","newX","newY","scrollMove","scrollDelta","getPercentDelta","percentDelta","oldPoint","newPoint","getCoordSysInfoBySeries","coordSysDimDefs","registeredCoordSys","coordSysInfo","coordSysDims","axisMap","firstCategoryDimIndex","hasNameEncode","dimInfoList","generateCoord","categoryAxisModel","categoryAxisMap","stackCalculationInfo","firstDataNotNull","isNeedCompleteOrdinalData","itemOpt","defaultDimValueGetter","BAR_BORDER_WIDTH_QUERY","LAYOUT_ATTRS","posDesc","pathForLineWidth","getSymbolMeta","symbolMeta","output","boundingLength","zeroPx","pxSignIdx","symbolBoundingExtent","convertToCoordOnAxis","coordSysExtent","repeatCutLength","pxSign","prepareBarLength","categoryDim","categorySize","symbolScale","prepareSymbolSize","valueLineWidth","prepareLineWidth","unitLength","pathLen","absBoundingLength","hasEndGap","lastIndexOf","uLenWithMargin","endFix","repeatSpecified","repeatTimes","toIntTimes","sizeFix","pathPosition","bundlePosition","barRectShape","prepareLayoutInfo","createPath","createOrUpdateRepeatSymbols","bundle","__pictorialBundle","eachPath","__pictorialAnimationIndex","__pictorialRepeatTimes","updateAttr","makeTarget","updateHoverAnimation","onMouseOver","onMouseOut","createOrUpdateSingleSymbol","mainPath","__pictorialMainPath","createOrUpdateBarRect","barRect","__pictorialBarRect","createOrUpdateClip","__pictorialClipPath","createBar","__pictorialShapeStr","getShapeStr","__pictorialSymbolMeta","removeBar","labelRect","pathes","immediateAttrs","animationAttrs","barRectHoverStyle","barPositionOutside","times","roundedTimes","cartesian","coordSysRect","pictorialShapeStr","updateBar","dataBackground","fillerColor","handleIcon","handleStyle","showDetail","zoomLock","SunburstPiece","that","virtualRoot","newRoot","getViewRoot","renderLabelForZeroData","_oldChildren","processNode","newId","oldId","newNode","oldNode","removeNode","doRenderNode","dualTravel","viewRoot","virtualPiece","_onclickEvent","_rootToNode","renderRollUp","highlightPolicy","onEmphasis","unhighlight","onNormal","_initEvents","targetFound","nodeClick","linkTarget","transformPath","vMag","vRatio","u","vAngle","acos","processArc","fa","psiDeg","xp","yp","lambda","cxp","cyp","commandReg","numberReg","createPathOptions","pathProxy","prevCmd","cpx","cpy","subpathX","subpathY","cmdList","cmdText","cmdStr","pLen","ctlPtx","ctlPty","createPathProxyFromString","pathEls","pathList","pathEl","pathBundle","TimelineView","_axis","_viewRect","_timer","_currentPointer","_mainGroup","_labelGroup","timelineModel","mainGroup","_createGroup","labelGroup","_createAxis","_renderAxisLabel","_position","_doPlayStop","_clearTimer","labelPosOpt","playPosition","prevBtnPosition","nextBtnPosition","labelAlignMap","labelBaselineMap","rotationMap","mainLength","controlModel","showControl","controlSize","controlGap","sizePlusGap","xLeft","xRight","labelAlign","labelBaseline","rotateOriginX","rotateOriginY","viewBound","getBound","mainBound","labelBound","mainPosition","labelsPosition","mainBoundIdx","toBound","setOrigin","targetGroup","fromPos","boundIdx","newGroup","_renderAxisLine","_renderAxisTick","hoverStyleModel","symbolOpt","_changeTimeline","giveSymbol","normalLabelModel","_renderControl","playState","makeBtn","iconPath","willRotate","btn","objPath","makeIcon","_handlePlayClick","_renderCurrentPointer","pointerModel","_handlePointerDrag","_handlePointerDragend","pointerMoveTo","nextState","_pointerChangeTimeline","mousePos","_toAxisCoord","_findNearestTick","axisCoord","nextIndex","noAnimation","destination","writeHead","Location","Router","TIME_REG","quantityExponent","exp","domain","subDomain","subRange","returnStr","getPrecision","getPrecisionSafe","eIndex","dotIndex","pixelExtent","dataQuantity","sizeQuantity","acc","digits","votesPerQuota","targetSeats","seats","votes","currentSum","remainder","NEGATIVE_INFINITY","maxId","MAX_SAFE_INTEGER","pi2","hour","UTC","quantity","exponent","quantile","ascArr","H","littleThan","currClose","_format","DIMENSION_LABEL_REG","rawValue","rawDataIndex","isSeries","marker","dimensionIndex","getLineDash","lineType","dotSize","dashSize","Displayble","IncrementalDisplayble","_temporaryDisplayables","_cursor","clearDisplaybles","addDisplayable","notPersistent","addDisplayables","displayables","eachPendingDisplayable","localPos","preventIncremental","coordSysCreator","blurSize","pointSize","maxOpacity","minOpacity","AxisProxy","eachAxisDim","retrieveRawOption","updateRangeUse","inputRawOption","rangePropMode","_rangePropMode","rangeModeInOption","percentSpecified","valueSpecified","filterMode","minValueSpan","maxValueSpan","rangeMode","_dataIntervalByAxis","_dataInfo","_axisProxies","_autoThrottle","settledOption","doInit","_setDefaultThrottle","_resetTarget","_giveAxisProxies","axisProxies","__dzAxisProxy","autoMode","_judgeAutoMode","axisIndexName","_autoSetAxisIndex","_autoSetOrient","hasIndexSpecified","autoAxisIndex","singleAxisModel","singleAxisIndex","axisIndices","_isSeriesHasAllAxesTypeOf","seriesAxisIndex","globalOption","firstAxisModel","setRawRange","getValueRange","axisDimName","hostedBy","getRangePropMode","textHelper","arrayJoin","mathRound","degree","round4","isAroundZero","svgEl","bindStyle","isText","pathHasFill","pathHasStroke","miterLimit","pathStr","dataLength","nData","dThetaPositive","isCircle","unifiedTheta","pathDataToString","svgTextDrawRectText","removeOldTextNode","HTMLImageElement","__imageSrc","setAttributeNS","attrXLink","_tmpTextHostRect","_tmpTextBoxPos","_tmpTextTransform","TEXT_ALIGN_TO_ANCHRO","hostRect","elTransform","needTransformTextByHostEl","normalizeTextStyle","needDrawText","textSvgEl","textSvgElStyle","computedFont","__computedFont","__styleFont","__textCotentBlock","getBoxPosition","baseX","baseY","setTextTransform","getTextXForPadding","tspanList","__tspanList","tspanOriginLen","__canCacheByTextString","__text","updateTextLocation","nTextLines","tspan","singleLineText","__zrText","createTextNode","ContinuousView","_shapes","_dataInterval","_useHandle","_hoverLinkDataIndices","_hovering","_renderBar","dataRangeText","_enableHoverLinkToSeries","_enableHoverLinkFromSeries","endsIndex","_applyTransform","shapes","_createBarGroup","createPolygon","_dragHandle","textSize","handleThumbs","handleLabelPoints","_createHandle","_createIndicator","onDrift","onDragEnd","handleThumb","createHandlePoints","handleLabel","handleLabelPoint","indicatorLabel","indicatorLabelPoint","HOVER_LINK_OUT","_clearHoverLinkToSeries","useHoverLinkOnHandle","_doHoverLinkToSeries","forSketch","outOfRangeHandleEnds","inRangeHandleEnds","visualInRange","_createBarVisual","visualOutOfRange","barColor","barPoints","_updateHandle","forceState","convertOpacityToAlpha","_makeColorGradient","symbolSizes","_createBarPoints","handlesColor","currValue","_showIndicator","cursorValue","rangeSymbol","halfHoverLinkSize","isRange","extentMax","createIndicatorPoints","_hoverLinkFromSeriesMouseOver","_hideIndicator","_clearHoverLinkFromSeries","cursorPos","hoverOnBar","HOVER_LINK_SIZE","getHalfHoverLinkSize","hoverRange","oldBatch","newBatch","resultBatches","_dispatchHighDown","zrender","GlobalModel","ExtensionAPI","OptionManager","backwardCompat","seriesColor","loadingDefault","Scheduler","lightTheme","darkTheme","parseClassType","FILTER","LAYOUT","PROGRESSIVE_LAYOUT","GLOBAL","CHART","COMPONENT","IN_MAIN_PROCESS","ACTION_REG","createRegisterEventWithLowercaseName","ignoreDisposed","MessageCenter","ECharts","themeStorage","_dom","renderer","_throttledZrFlush","flush","_theme","_chartsViews","_chartsMap","_componentsViews","_componentsMap","_coordSysMgr","ecInstance","coordSysMgr","getComponentByElement","modelInfo","__ecComponentInfo","createExtensionAPI","prioritySortFunc","__prio","visualFuncs","dataProcessorFuncs","_scheduler","_ecEventProcessor","EventProcessor","_messageCenter","_pendingActions","_onframe","ecIns","bindRenderedEvent","setAsPrimitive","echartsProto","doConvertPixel","coordSysList","scheduler","prepare","updateMethods","flushPendingActions","triggerUpdatedEvent","remainTime","performSeriesTasks","performDataProcessorTasks","updateStreamModes","performVisualTasks","getDom","setOption","lazyUpdate","optionManager","optionPreprocessorFuncs","setTheme","getOption","getSvgDataURL","getDataURL","excludeComponents","excludesComponentViews","__viewId","getConnectedDataURL","isSvg","groupId","connectedGroups","canvasList","instances","chart","targetCanvas","createCanvas","connectedBackgroundColor","refreshImmediately","containPixel","getViewOfComponentModel","getViewOfSeriesModel","prepareAndUpdate","restoreData","colorArr","performPostUpdateFuncs","componentDirtyList","componentView","__alive","seriesDirtyMap","chartView","setDirty","dirtyMap","restorePipelines","prepareStageTasks","prepareView","updateDirectly","condition","excludeSeriesId","callView","__model","chartsMap","doDispatchAction","payloadType","actionWrap","cptType","payloads","batched","eventObj","eventObjBatch","isHighDown","pendingActions","isComponent","viewList","viewMap","doPrepare","viewId","classType","getClass","__id","dirtyList","renderComponents","updatePayload","getPerformArgs","blendMode","updateBlend","elCount","preventUsingHoverLayer","updateHoverLayerStatus","postUpdateFuncs","func","_loadingFX","optionChanged","showLoading","cfg","hideLoading","loadingEffects","makeActionFromEvent","eventActionMap","MOUSE_EVENT_NAMES","eventInfo","eveName","DOM_ATTRIBUTE_KEY","cptQuery","dataQuery","otherQuery","condCptType","suffixes","dataKeys","reserved","propSuffix","suffixPos","propOnHost","idBase","groupIdBase","disConnect","disconnect","getInstanceByDom","registerTheme","preprocessorFunc","processor","normalizeRegister","visualTask","defaultPriority","stageHandler","wrapStageHandler","__raw","registerLoading","loadingFx","existInstance","STATUS_KEY","updateConnectedChartsStatus","charts","otherCharts","otherChart","enableConnect","connect","getInstanceById","registerPostUpdate","postUpdateFunc","getCoordinateSystemDimensions","layoutTask","setCanvasCreator","creator","getMap","dataTool","___ec_export","lenSquare","lengthSquare","distanceSquare","distSquare","div","dot","negate","lerp","kCSSColorTable","clampCssByte","clampCssFloat","parseCssInt","parseCssFloat","cssHueToRgb","lerpNumber","setRgba","copyRgba","colorCache","lastRemovedArr","putToCache","colorStr","rgbaArr","cached","iv","ep","fname","alpha","hsla2rgba","hsla","fastLerp","normalizedValue","leftIndex","rightIndex","leftColor","rightColor","dv","fastMapToColor","fullOutput","mapToColor","arrColor","modifyHSL","G","B","vMin","vMax","deltaR","deltaG","deltaB","rgba2hsla","modifyAlpha","TooltipRichContent","axisPointerViewHelper","proxyRect","tooltipContent","_renderMode","_newLine","_tooltipContent","_tooltipModel","_ecModel","_lastDataByCoordSys","_alwaysShowContent","_initGlobalListener","_keepShow","_tryShow","_hide","_refreshUpdateTimeout","manuallyShowTip","_ticket","_manuallyAxisShowTip","pointInfo","manuallyHideTip","buildTooltipModel","_showAxisTooltip","_showSeriesItemTooltip","_showComponentItemTooltip","_showOrMove","_showTimout","singleDefaultHTML","singleParamsList","singleTooltipModel","newLine","markers","itemCoordSys","axisValue","seriesDefaultHTML","valueLabel","axisValueLabel","seriesTooltip","newMarkers","firstLine","positionExpr","_updateContentNotChangedOnAxis","_updatePosition","_showTooltipContent","tooltipTrigger","defaultHtml","asyncTicket","subTooltipModel","cbTicket","contentSize","domWidth","domHeight","rectWidth","rectHeight","calcTooltipPosition","gapH","gapV","refixTooltipPosition","isCenterAlign","confineTooltipPosition","lastCoordSys","contentNotChanged","lastItemCoordSys","indexCoordSys","lastDataByAxis","thisDataByAxis","lastItem","indexAxis","thisItem","lastIndices","newIndices","lastIdxItem","newIdxItem","modelCascade","resultModel","_clazz","lineStyleMixin","areaStyleMixin","textStyleMixin","itemStyleMixin","doGet","pathArr","getParent","getParentMethod","parsePath","thisParentModel","Ctor","setReadOnly","Single","singles","EffectSymbol","pointsLayout","effectSymbolDraw","_updateGroupTransform","getRoamTransform","actionTypes","retrieveTargetInfo","originViewRoot","aboveViewRoot","resetViewRoot","easingFuncs","_life","onrestart","globalTime","deltaTime","_startTime","easingFunc","schedule","restart","arg","_createPolyline","polylineProto","_updateCommonStl","hoverLineStyle","$","$some","arrayMethodIsStrict","arrayMethodUsesToLength","STRICT_METHOD","USES_TO_LENGTH","forced","callbackfn","legendSelectActionHandler","selectedMap","isToggleSelect","legendData","isItemSelected","fixRegExpWellKnownSymbolLogic","anObject","toLength","requireObjectCoercible","advanceStringIndex","regExpExec","MATCH","nativeMatch","maybeCallNative","regexp","O","matcher","RegExp","fullUnicode","unicode","matchStr","cellWidth","cellHeight","dayCount","confirmDelete","thread_id","reply_icon","commentCountFromInfo","send_award","award_icon_url","community_name","concern_id","community_icon","userDigg","setUserDigg","commentCountFromContext","replying","setReplying","shrink_type","doDigg","like_type","articleTypeDiggTypeMap","digg","nativeEvent","deletePost","collected","useFetchCollected","motor_name","visibility","renderText","eve","SingleAxis","_adjustAxis","_updateAxisTransform","coordBase","extentSum","HeatmapLayer","visualMapOfThisSeries","targetSeries","_incrementalDisplayable","_renderOnCartesianAndCalendar","isGeoCoordSys","_renderOnGeo","dataDims","inRangeVisuals","outOfRangeVisuals","hmLayer","_hmLayer","lng","lat","isInRange","dataSpan","getIsInContinuousRange","getIsInPiecewiseRange","getNormalizer","getColorMapper","curveTool","v3","v2DistSquare","intersectCurveCircle","curvePoints","radiusSquare","_t","nextDiff","tmp0","quadraticSubdivide","pts","pts2","fromSymbol","toSymbol","__original","originalPoints","shadowStyle","gridIndex","gridId","extraOption","pointerChecker","_opt","mousedownHandler","mousemoveHandler","mouseupHandler","mousewheelHandler","mousewheel","pinchHandler","controlType","zoomOnMouseWheel","moveOnMouseMove","moveOnMouseWheel","preventDefaultMouseMove","isDragging","isPinching","_pinching","isMiddleOrRightButtonOnMouseUpDown","_y","isAvailableBehavior","isTaken","shouldZoom","shouldMove","absWheelDeltaDelta","factor","checkPointerAndTrigger","absDelta","behaviorToCheck","contollerEvent","settings","_vector","v2Create","THREE_SQRT","ONE_THIRD","_v0","_v1","_v2","onet","cubicDerivativeAt","t1","disc","K","discSqrt","Y1","Y2","T","ASqrt","cubicSubdivide","p01","p12","p23","p012","p123","p0123","d1","quadraticProjectPoint","CartesianAxisPointer","getCartesian","getAxisDimIndex","unitX","unitY","Definable","tagNames","markLabel","domName","_zrId","_tagNames","_markLabel","_domName","nextId","getDefs","addDom","removeDom","getDoms","doms","tags","getSvgProxy","colorPaletteMixin","_sourceHelper","dataTask","dataTaskCount","dataTaskReset","wrapData","dataBeforeProcessed","autoSeriesName","themeSubType","hasClass","getTheme","getDefaultOption","fillDataTextStyle","newSeriesOption","task","getCurrentTask","isRichText","formatSingleValue","tooltipDims","tooltipDimLen","isValueArr","vertially","setEachItem","markName","dimHead","dimHeadStr","valStr","formatArrayValue","colorEl","animationEnabled","coordDimToDataDim","pipeTask","nameArr","getSeriesAutoName","dataTaskProgress","onDataSelfChange","pipeline","getPipeline","agentStubMap","smoothSpline","smoothBezier","controlPoints","cp2","parseGeoJson","fixNanhai","fixTextCoord","fixGeoCoord","fixDiaoyuIsland","mapRecord","nameProperty","parsed","regionName","specialArea","regionRect","positiveBorderColorQuery","negativeBorderColorQuery","positiveColorQuery","negativeColorQuery","colorP","getColor","colorN","borderColorP","getBorderColor","borderColorN","FunnelPiece","funnelPieceProto","opacityAccessPath","funnelPiece","offsetCenter","detail","getCurrentHref","getBase64Href","btoa","getUserHost","dev","MapSeries","selectTargetList","toAppendNames","geoSource","appendValues","seriesNames","otherIndex","showLegendSymbol","dataRangeHoverLink","NodeHighlightPolicy","SunburstPieceProto","getRootId","getNodeColor","fillDefaultColor","stateStyle","activeNode","policy","onHighlight","onDownplay","labelState","getLabelAttr","labelMinAngle","labelPadding","rotateType","stateAttr","aFunction","toObject","fails","nativeSort","FAILS_ON_UNDEFINED","FAILS_ON_NULL","comparefn","saveAsImageLang","SaveAsImage","MouseEvent","msSaveOrOpenBlob","bstr","atob","u8arr","Uint8Array","blob","Blob","write","$a","download","evt","bubbles","cancelable","dispatchEvent","collection","collectionStrong","getNodeGlobalScale","groupScale","groupZoom","COORDS","createNameEach","attrs","capitalNames","capitalAttrs","nameObj","capital","isCoordSupported","coordType","createLinkedNodesFinder","forEachNode","forEachEdgeType","edgeIdGetter","sourceNode","existsLink","edgeType","absorb","processSingleNode","isNodeAbsorded","hasLink","edgeId","isLinked","themeRiverLayout","baseY0","timeDim","layerPoints","singleLayer","layerNum","pointNum","sums","temp","computeBaseline","baseLine","ky","layerIndex","colorList","getBorderLineDash","ATTR","giveStore","cleanStore","store","dataZoomInfo","theDataZoomId","theCoordId","dataZoomInfos","newRecord","createController","controllerParams","typePriority","oneType","mergeControllerParams","getPathToRoot","validPayloadTypes","targetNodeId","viewPath","nodeDataIndex","r2","r3","r4","nodeOpacityPath","hoverNodeOpacityPath","lineOpacityPath","hoverLineOpacityPath","getItemOpacity","opacityPath","fadeOutItem","opacityRatio","getGraphicEl","fadeInItem","SankeyShape","cpx1","cpy1","cpx2","cpy2","_focusAdjacencyDisabled","sankeyView","curvature","n1Layout","node1Model","dragX1","dragY1","n2Layout","node2Model","dragX2","dragY2","edgeLayout","dragX","dragY","focusNodeAdjHandler","unfocusNodeAdjHandler","_dispatchUnfocus","edgeModel","edgeDataIndex","_unfocusDelayTimer","focusNodeAdj","outEdges","inEdges","unfocusNodeAdjacency","geoJSONLoader","geoSVGLoader","loaders","singleSource","makeInvoker","hostKey","results","graphSeries","preservedPoints","forceModel","initLayout","nodeDataExtent","edgeDataExtent","repulsion","edgeLength","forceInstance","oldStep","stopped","axisView","axisGroup","splitAreaModel","areaColorsLen","lastSplitAreaColors","__splitAreaColors","newSplitAreaColors","cIndex","ifAxisCrossZero","estimateLabelUnionRect","Cartesian2D","isAxisUsedInTheGrid","Grid","_coordsMap","_coordsList","_axesList","_initCartesian","gridProto","fixAxisOnZero","onZeroRecords","onZeroAxisIndex","canOnZeroToAxis","getOnZeroRecordKey","_updateScale","ignoreContainLabel","axesList","adjustAxes","axisExtentSum","updateAxisTransform","labelUnionRect","axesMapOnDim","coordList","getCartesians","_findConvertTarget","coordsList","axisPositionUsed","axesCount","createAxisCreator","addAxis","isCartesian2D","axesModels","findAxesModels","otherAxis","axesTypes","grids","SwiperCore","use","Navigation","ImageCandidates","ImageViewer","handleImageClick","indexNow","setIndexNow","swiper","setSwiper","spaceBetween","simulateTouch","watchOverflow","navigation","nextEl","onSwiper","onSlideChange","realIndex","initialSlide","slideTo","slideToLoop","Pagination","rtl","slidesLength","$el","bullets","midIndex","bullet","$bullet","bulletIndex","$firstDisplayedBullet","$lastDisplayedBullet","_i","dynamicBulletsLength","bulletsOffset","offsetProp","classesToSelector","progressbarDirection","paginationHTML","numberOfBullets","pagination","bulletElement","clickable","hideOnClick","renderBullet","renderProgressbar","renderFraction","renderCustom","progressbarOpposite","dynamicBullets","dynamicMainBullets","formatFractionCurrent","number","formatFractionTotal","bulletClass","bulletActiveClass","modifierClass","currentClass","totalClass","hiddenClass","progressbarFillClass","progressbarOppositeClass","clickableClass","lockClass","bindModuleMethods","dynamicBulletIndex","activeIndexChange","snapIndexChange","slidesLengthChange","snapGridLengthChange","click","returnFalse","createDom","newDom","newDomStyle","onselectstart","domBack","ctxBack","motionBlur","lastFrameAlpha","createBackBuffer","clearAll","clearColorGradientOrPattern","haveMotionBLur","__canvasGradient","fillRect","globalImageCache","imageOnLoad","cachedImgObj","__cachedImgObj","onerror","pending","pendingWrap","cbPayload","hostEl","newImageOrSrc","__zrImageSrc","_contentGroup","_backgroundEl","_selectorGroup","_isFirstRender","viewportSize","legendDrawnMap","selectMode","eachRawSeries","getSeriesByName","legendSymbolType","_createItem","dispatchSelectAction","dispatchHighlightAction","dispatchDownplayAction","provider","containName","_createSelector","selectorItem","emphasisLabelModel","createSelectorButton","inactiveBorderColor","symbolKeepAspect","legendModelItemStyle","itemIcon","legendGlobalTooltipModel","setSymbolStyle","legendSymbolCenter","hitRect","legendIndex","dataName","_normalizeData","normalizers","visualHandler","visualHandlers","_doMap","normalizeVisualRange","hasSpecialVisual","originIndex","preprocessForPiecewise","visualArr","setVisualToOption","preprocessForSpecifiedCategory","normalized","makeApplyVisual","isNormalized","doMapCategory","returnRGBArray","parsedVisual","linear","piecewise","getSpecifiedVisual","doMapFixed","colorHue","makePartialColorVisualHandler","colorSaturation","colorLightness","colorAlpha","makeDoMap","symbolCfg","doMapToArray","applyValue","sourceExtent","addVisualHandler","isPrimary","newVisual","newVal","hasVisual","types","type1","type2","dependsOn","visualType1","visualType2","findClosestWhenOutside","possibleI","pieceValue","updatePossible","newAbs","isCanvasEl","transformCoordWithViewport","isDomLevel2","MOUSE_EVENT_REG","_calcOut","calculate","calculateZrXY","layerX","layerY","ex","clientX","ey","clientY","getNativeEvent","returnValue","targetTouches","changedTouches","button","attachEvent","detachEvent","notLeftMouse","createLinePoints","addEl","dataGroup","updateElCommon","_dataGroup","newDataIndex","oldDataIndex","inactive","_dataProvider","DataDimensionInfo","dataCtors","Float64Array","Int32Array","CtorUint32Array","Uint32Array","CtorInt32Array","CtorUint16Array","Uint16Array","getIndicesCtor","_rawCount","cloneChunk","originalChunk","TRANSFERABLE_PROPERTIES","CLONE_PROPERTIES","transferProperties","__wrappedMethods","_calculationInfo","dimensionInfos","invertedIndicesMap","dimensionName","_indices","_storage","_nameList","_idList","_optionModels","_visual","_itemVisuals","hasItemVisual","_itemLayouts","_graphicEls","_chunkSize","_chunkCount","_rawExtent","_approximateExtent","_dimensionsSummary","_invertedIndicesMap","listProto","prepareChunks","chunkSize","chunkCount","DataCtor","lastChunkIndex","resizeChunkArray","newStore","prepareInvertedIndex","invertedIndices","getRawValueFromStore","chunkIndex","chunkOffset","chunk","getRawIndexWithoutIndices","getRawIndexWithIndices","_idDimIdx","normalizeDimensions","cloneListForMapAndSample","excludeDimensions","allDimensions","originalStorage","cloneDimStore","getInitialExtent","originalDimStore","newDimStore","getDimensionsOnCoord","dimensionsSummary","_nameRepeatCount","_dimValueGetter","_dimValueGetterArrayRows","_initDataFromProvider","dimLen","originalChunkCount","emptyDataItem","sourceIdx","dimRawExtent","nameDimIdx","dimensionInfoMap","idList","nameRepeatCount","_nameDimIdx","itemId","dimStorage","nameDim","nameDimChunk","getIndices","thisCount","buffer","rawIdx","dimStore","_getFast","dimData","initialExtent","dimExtent","currEnd","setApproximateExtent","getMedian","dimDataArray","sortedDimDataArray","maxDistance","nearestIndices","nearestIndicesLen","contextCompat","dim0","selectRange","originalCount","quickFinished","chunkStorage","dimStorage2","chunkStorage2","val2","dimk","tmpRetValue","dataCount","retValue","rawExtentOnDim","sampleValue","sampleIndex","targetStorage","frameValues","frameSize","originalChunkIndex","originalChunkOffset","sampleFrameIdx","sampleChunkOffset","otherList","thisList","itemVisual","clearAllVisual","setItemDataAndSeriesIndex","injectFunction","originalMethod","v2Distance","interpolate","isLoop","segs","w2","w3","IS_CONTAINER","classBase","superClass","RootClass","mandatoryMethods","$constructor","ExtendedClass","Clz","classAttr","entity","registerClass","Clazz","checkClassType","makeContainer","componentMainType","throwWhenNotFound","getClassesByMainType","getAllClassMainTypes","hasSubTypes","originalExtend","subtext","subtarget","subtextStyle","titleModel","subtextStyleModel","subText","subTextEl","sublink","groupRect","layoutOption","alignStyle","categoryNames","mapSymbolLayout","mapDataStatistic","createDataSelectAction","effectType","showEffectOn","rippleEffect","barItemStyle","Sausage","_eventPos","coordinateSystemType","isHorizontalOrRadial","coordSysClipArea","expandWidth","getClipArea","drawBackground","backgroundModel","barBorderRadius","bgEls","oldBgEls","_backgroundEls","createBackground","bgLayout","bgEl","createBackgroundShape","createBackgroundEl","getBarItemStyle","elementCreator","updateStyle","removeRect","removeSector","bgGroup","_removeBackground","coordSysBoundingRect","signWidth","signHeight","signR","animateProperty","animateTarget","isRadial","fixedLineWidth","rawLayout","getLineWidth","signX","signY","isZeroOnPolar","isPolar","LargePath","startPoint","__startPoint","baseDimIdx","__baseDimIdx","largeDataIndices","backgroundStartPoint","__largeDataIndices","__barWidth","setLargeBackgroundStyle","largePathUpdateDataIndex","largePath","valueDimIdx","barWidthHalf","startValueVal","pointerBaseVal","pointerValueVal","baseLowerBound","baseUpperBound","ii","barBaseVal","barValueVal","largePathFindDataIndex","coordLayout","redefineAll","anInstance","iterate","defineIterator","setSpecies","DESCRIPTORS","InternalStateModule","setInternalState","internalStateGetterFor","getterFor","getConstructor","wrapper","CONSTRUCTOR_NAME","IS_MAP","ADDER","iterable","getInternalState","previous","getEntry","boundFunction","setStrong","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","iterated","kind","hasParallelSeries","createParallelIfNeeded","axisOption","parallelOption","mergeAxisOptionFromParallel","isPolyline","isLarge","lineCoords","segCount","totalCoordsCount","getLineCoordsCount","getLineCoords","buildTransformer","inX","inY","saved","transformer","transformerName","oldSrcCoords","srcCoords","oldCoordTheSame","destCoords","preparePointerTransformer","propLR","propTB","idxLR","idxTB","prepareCoordMarkers","elFrom","_axisPointer","fixValue","updateAxisPointer","disposeAxisPointer","getAxisPointerClass","getAxisPointerModel","axisPointerClazz","clazz","transferItem","itemStyleEmphasis","labelNormal","excludeLabelAttr","ec2Types","compatibleEC2","geoCoordMap","Storage","HandlerProxy","useVML","painterCtors","ZRender","rendererType","vml","handerProxy","_needsRefresh","addRoot","delRoot","zLevel","_needsRefreshHover","triggerRendered","refreshHoverImmediately","clearAnimation","getInstance","_barGrid","prepareLayoutBarSeries","makeColumnLayout","retrieveColumnLayout","axisDataLen","originalExtent","isBaseAxisAndHasBarSeries","barSeriesModels","adjustedScale","barsOnCurrentAxis","minOverflow","maxOverflow","totalOverFlow","oldRange","overflowBuffer","adjustScaleForOverflow","categoryTickStart","tick","rotateTextRect","rotateRadians","boundingBox","plain","beforeWidth","beforeHeight","afterWidth","afterHeight","extentInfo","realNumberScaleTicks","categoryScaleExtent","axisLabelModel","singleRect","getInitState","fetchFromLocal","showPk","reducer","carId","setItem","dataProcessorHandlers","_dataProcessorHandlers","_visualHandlers","_allHandlers","_stageTaskMap","performStageTasks","stageHandlers","needSetDirty","stageHandlerRecord","seriesTaskMap","overallTask","overallNeedDirty","stub","pipelineId","taskRecord","_pipelineMap","pCtx","progressiveEnabled","__idxInPipeline","blockIndex","threshold","pipelineMap","stageTaskMap","seriesTaskPlan","seriesTaskReset","seriesTaskCount","useClearVisual","isVisual","isLayout","removeKey","createSeriesStageTask","overallTaskReset","overallProgress","createStub","getSeries","stubReset","stubOnDirty","agent","__block","createOverallStageTask","upstreamContext","stubProgress","resetDefines","makeSeriesTaskProgress","singleSeriesTaskProgress","resetDefineIdx","resetDefine","detectSeriseType","legacyFunc","ecModelMock","apiMock","mockMethods","cond","EffectPolyline","_lastFrame","_lastFramePercent","effectPolylineProto","accLenArr","_offsets","_length","PolarAxisPointer","coordValue","getLabelPosition","newSnapshot","snapshot","_buildAxes","_buildSplitLineAndArea","axisBuilders","showSplitLine","showSplitArea","splitLineColors","splitAreaColors","ticksRadius","getColorIndex","realSplitNumber","axesTicksPoints","prevPoints","areaOrLine","areaOrLineColorList","themeRiverVisual","boxLayoutMixin","themeModel","newCptOption","optList","Class","enableSubTypeDefaulter","enableTopologicalTravel","deps","TransformDummy","_roamTransformable","_center","_zoom","rawTransform","centerCoord","_updateCenterAndZoom","getDefaultCenter","rawRect","rawTransformMatrix","defaultCenter","roamTransformable","_rawTransform","TreeShape","parentPoint","childPoints","forkPosition","childLen","firstChildPos","lastChildPos","forkDim","tmpPoint","_oldTree","_updateViewCoordSys","updateNode","_nodeScaleRatio","_updateNodeAndLinkScale","oldMin","_min","oldMax","_max","viewCoordSys","_viewCoordSys","nodeScale","_getNodeGlobalScale","invScale","getTreeNodeStyle","sourceSymbolEl","sourceLayout","sourceOldLayout","rawX","__radialOldRawX","rawY","__radialOldRawY","targetLayout","__radialRawX","__radialRawY","isLeft","rootLayout","labelRotateRadian","__edge","getEdgeShape","childLayout","drawEdge","sourceEdge","radialCoor1","radialCoor2","radialCoor3","radialCoor4","isForced","redefine","InternalMetadataModule","checkCorrectnessOfIteration","setToStringTag","inheritIfRequired","common","IS_WEAK","NativeConstructor","NativePrototype","exported","fixMethod","KEY","nativeMethod","entries","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","Type","BrandSeriesCarSelector","setState","setCurr","brandName","newState","carName","PkList","pkCars","showSelector","setSelector","carIds","handleDocumentClick","car_style_id","BUILTIN_OBJECT","TYPED_ARRAY","objToString","arrayProto","nativeForEach","nativeFilter","nativeSlice","nativeMap","nativeReduce","typeStr","isPrimitive","isDom","targetProp","sourceProp","isBuiltInObject","overlay","HashMap","isArr","thisMap","visit","targetAndSources","baseClazz","clazzPrototype","F","value1","value2","concatArray","newArray","eachAfter","eachBefore","generateNodeKey","_directed","_nodesMap","_edgesMap","graphProto","hostGraph","Edge","isDirected","nodesMap","edgesMap","getEdge","breadthFirstTraverse","startNode","__visited","queue","currentNode","otherNode","inDegree","outDegree","createGraphDataProxyMixin","hostName","LineGroup","_ctor","lineDrawProto","isPointNaN","lineNeedsDraw","oldLineData","_lineData","doAdd","newLineData","itemEl","doUpdate","isEffectObject","_clearIncremental","_incremental","_targetList","_selectTargetMap","targetMap","select","unSelect","toggleSelected","nameRotate","nameTruncate","deduplication","alignWithLabel","minorTick","minorSplitLine","logBase","idxMap","Uint32Arr","Float64Arr","compatEc2","coords","fromName","toName","LinesSeries","_processFlatCoordsArray","_flatCoords","flatCoords","_flatCoordsOffset","flatCoordsOffset","_getCoordsFromItemModel","startOffset","coordsOffsetAndLenStorage","coordsStorage","coordsCursor","offsetCursor","effect","trailLength","autoPositionValues","targetValue","visualCluster","visualObj","visualMapping","actionInfos","quadraticIn","quadraticOut","quadraticInOut","cubicIn","cubicOut","cubicInOut","quarticIn","quarticOut","quarticInOut","quinticIn","quinticOut","quinticInOut","sinusoidalIn","sinusoidalOut","sinusoidalInOut","exponentialIn","exponentialOut","exponentialInOut","circularIn","circularOut","circularInOut","elasticIn","asin","elasticOut","elasticInOut","backIn","backOut","backInOut","bounceIn","bounceOut","bounceInOut","_mapDraw","dataViewLang","BLOCK_SPLITER","assembleSeriesWithCategoryAxis","tables","valueAxisDim","columns","items","itemSplitRegex","parseContents","blockMetaList","blocks","isTSVFormat","tsv","tsvLines","header","parseTSVContents","blockMeta","hasName","parseListContents","DataView","tryMergeDataOption","shouldDeleteName","readOnly","optionToContent","contentToOption","textareaColor","textareaBorderColor","buttonColor","buttonTextColor","viewMain","textarea","seriesGroupByCategoryAxis","otherSeries","groupSeries","vals","getContentFromModel","htmlOrDom","buttonContainer","buttonStyle","closeButton","refreshButton","newSeriesOptList","NONE","getStroke","Tab","curIndex","setCurIndex","leftContent","rightContent","setList","hideLine","moreContent","moreLink","handleMoreClick","data-module","Pk","cover_image","click_same_series_btn","photosData","categoryList","realname","toutiaothumburl","renderPhotos","hoverIcon","hoverIcon2","hoverIcon3","CarModels","years","yearsList","fold","setFold","online","offline","urban","year","yearsText","Set","filted","hanldeOnlineData","getQuery","scrollTo","yearData","showList","isTitle","isPkButtonDisable","car_id","price_number","dealer","srcSet","button_text","owner_price_summary","onMouseEnter","car_series_name","series_module_name","car_style_name","naked_price_avg","price_num","stopImmediatePropagation","renderCar","empty_icon","Feed","subCategory","feedAd","page","updateList","fetchFeed","sub_category","renderIdx","lastFeedItem","findAd","adItem","fix_position","fromPage","video_duration","abstract_content","square_duration","conditions","PopularContent","Indicator","Bar","colorVacant","computedPercent","dcar_score_icon","SeriesRank","rankItems","rankItem","score","single_highest_desc","single_highest_score","star_icon","star_modest_icon","wave_point_icon","DCarScore","scoreInfo","setScoreInfo","setScore","reviewCountInfo","setReviewCountInfo","authors","setAuthors","fetchData","data_from","score_info","series_info","review_count_info","sortedScoreInfo","remark","appearance_score","power_score","control_score","comfort_score","space_score","configuration_score","interiors_score","scoreInfoItem","ratios","range1","range2","range3","range4","range5","setSeriesType","setRankItems","series_type","starIcon","starVacantIcon","maxScore","starWidth","starHeight","Card","min_price","max_price","setCarIds","Favour","carItems","setCarItems","recommend_series","carItem","SubNav","tabs","tabNow","replace_img","Community","setTabNow","selectedReposts","setSelectedReposts","qaReposts","setQAReposts","handleClick","repost_info","is_pgc_article","reposts","repost","item_id_str","defaultCommunity","play_icon","live_show_icon","default_article_icon","banner_type","unique_id","username","avatar","shouldShowAbstract","setShowAbstract","secToMin","compStyles","getPropertyValue","groupBy","Articles","articles","setArticles","videos","setVideos","city_name","channel","paginationRef","cards","video","CarList","setCarList","CarSeries","videoManualData","useReducer","rel","data_list","Leaderboard","module_title","rankData","motorId","setMotorId","qas","setQAs","setRefreshNum","lastMax","setLastMax","subMenu","setSubMenu","activeSubTab","setActiveSubTab","useSkin2","setUseSkin2","fetchQAs","newQAs","cmg_flag","min_cursor","max_cursor","tab_info","tab_list","car_info","finally","observer","IntersectionObserver","isIntersecting","rootMargin","observe","tab_name","chi_name","drop_down_arrow","Popup","menu","setShow","activeItem","handleToggle","tabIndex","onBlur","ArticlePage","activeTab","setActiveTab","setMaxBeHotTime","fetchArticles","maxBehotTime","newArticles","series_page_sort","obj_text","tag_name","publish_time","VideoCard","fetchVideos","newVideos","dealerPrice","renderPage","getHead","fetchFeedRes","videoList","all_list","getPictureHead","has_vr","concern_obj","recommended_compare_series_list","featuredData","polarOptArr","polarNotRadar","polarOpt","radarIndex","foundAxisModel","layoutBox","boxLayoutParams","positions","bbWidth","bbHeight","_nonShapeGraphicElements","graphicOption","elements","GraphicModel","parentId","_elOptionsToUpdate","existList","flattenedList","_flatten","mappingResult","elOptionsToUpdate","resultItem","newElOption","existElOption","newElParentOption","parentOption","setKeyInfoToNewElOption","newElOptCopy","$action","mergeNewElOptionToExist","existItem","isSetLoc","setLayoutInfoToExist","optionList","useElOptionsToUpdate","els","targetElParent","__ecGraphicId","removeEl","existEl","existElParent","isSet","_elMap","_lastGraphicModel","graphicModel","_updateElements","_relocate","rootGroup","elOptionCleaned","getCleanedElOption","__ecGraphicWidthOption","__ecGraphicHeightOption","setEventData","elOptions","apiWidth","apiHeight","isParentRoot","parentEl","__ecGraphicWidth","__ecGraphicHeight","containerInfo","bounding","straightLineProto","bezierCurveProto","isLine","_buildPathLine","_buildPathCurve","pointAt","_pointAtLine","_pointAtCurve","tangentAt","_tangentAtCurve","defaultSymbolType","hasSymbolTypeCallback","hasSymbolSizeCallback","hasSymbolRotateCallback","hasCallback","seriesSymbol","seriesSymbolSize","itemSymbolType","itemSymbolSize","itemSymbolRotate","itemSymbolKeepAspect","dataZoomLang","DataZoom","_brushController","_onBrush","_isZoomActive","zoomActive","dataZoomSelectActive","retrieveAxisSetting","include","makePanelOpts","xAxisDeclared","yAxisDeclared","updateZoomBtnStatus","updateBackBtnStatus","nextActive","matchOutputRanges","coordRange","setBatch","found","dzModel","findDataZoom","dataZoomOpts","dataZoomOpt","addForAxis","axisIndicesName","givenAxisIndices","forEachComponent","$fromToolbox","SHADOW_PROPS","coordSysLists","coordIndex","LinePath","SYMBOL_CATEGORIES","makeSymbolTypeKey","symbolCategory","__specifiedRotation","setLinePoints","targetShape","_createLine","lineProto","symbolFrom","symbolTo","toPos","specifiedRotation","tangent","__labelDistance","distanceX","distanceY","halfPercent","__position","__verticalAlign","__textAlign","lineLabelOriginalOpacity","visualOpacity","defaultLabelColor","rawVal","normalText","emphasisText","labelStyle","linePath","globalDefault","_optionManager","baseOption","mountOption","initBase","timelineOption","getTimelineOption","mediaOptions","getMediaOption","mediaOption","componentsMap","newCptTypes","componentOption","topologicalTravel","newCptOptionList","existComponent","determineSubType","getComponentsByTypes","ComponentModelClass","createSeriesIndices","_seriesIndicesMap","_seriesIndices","cpts","isIdArray","cpt","isNameArray","filterBySubType","queryCond","indexAttr","idAttr","nameAttr","getQueryCond","queryResult","oneSeries","rawSeriesIndex","filterSeries","componentTypes","seiresIndex","isNotTargetSeries","notMergeColorLayer","colorLayer","themeItem","mergeTheme","Brand","useScrollSpy","setCurrent","brandRef","brands","useBrandList","letters","letter","data-letter","brand","updateMarkerLayout","markPointModel","mpModel","symbolDrawMap","dataOpt","isFnSymbol","isFnSymbolSize","isFnSymbolRotate","CalendarModel","defaultKeyGetter","oldKeyGetter","newKeyGetter","_old","_new","_oldKeyGetter","_newKeyGetter","initIndexMap","keyArr","keyGetterName","existence","_add","_remove","newDataIndexMap","oldDataKeyArr","newDataKeyArr","isNodeDepth","resolveCollisions","nodesByBreadth","keyAttr","nodeDyAttr","relaxRightToLeft","weightedTarget","getEdgeValue","centerTarget","nodeY","weightedSource","centerSource","relaxLeftToRight","nodeRawValue","computeNodeValues","iterations","remainEdges","indegreeArr","zeroIndegrees","nextTargetNode","maxNodeDepth","isItemDepth","edgeIdx","maxDepth","nextSourceNode","remainNodes","nodeHeight","skNodeHeight","moveSinksRight","adjustNodeWithNodeAlign","kx","scaleNodeBreadths","computeNodeBreadths","prepareNodesByBreadth","minKy","nodeDy","edgeDy","initializeNodeDepth","computeNodeDepths","computeEdgeDepths","layoutSankey","PLAIN_TEXT","WILL_BE_RESTORED","markerRich","startId","endId","_multipleGraphEdgeHelper","GraphSeries","_categoriesData","_updateCategoriesData","categoryModel","_categoriesModels","edgeLabelModel","fakeSeriesModel","emphasisEdgeLabelModel","emphasisFakeSeriesModel","edgeGetParent","sourceName","targetName","circular","rotateLabel","layoutAnimation","edgeSymbol","edgeSymbolSize","edgeLabel","isLargeRender","stackResultDim","echartsAPIList","chartInstance","parallelAxisModel","_axisTickLabelBuilder","NORMALIZED_EXTENT","fixExtentWithBands","nTick","getTickModel","ticksLen","diffSize","crossLen","ticksItem","fixOnBandTicksCoords","minorTicks","getMinorTicks","minorTicksGroup","langSelector","defaultSelectorOption","_updateSelector","_updateData","hasSelected","potentialData","availableNames","isPotential","getAllNames","_availableNames","allSelect","inverseSelect","selectorLabel","selectorItemGap","LN2","determinant","rowStart","rowMask","colMask","detCache","cacheKey","fullRank","colStart","subRowMask","subRowStart","colLocalIdx","colTag","mA","vh","srcPointX","srcPointY","pk","genName","fromZero","sysDims","dataDimNameMap","coordDimNameMap","optDimCount","sysDimItem","sysDimItemDimsDef","getDimCount","userDimName","validDataDims","resultDimIdx","applyDim","availDimIdx","sysDimIndex","sysDimItemOtherDims","sysDimItemDimsDefItem","generateCoordCount","VideoType","VideoContent","slidesPerView","slidesPerGroup","preventClicks","videoWidth","videoHeight","titleHeight","Ele","formatDuration","VideoManual","allVideoList","card_content","video_list","category_list","isValidPoint","getValueMissingPoint","firstPoint","createElementNS","CoordSysInfo","fetchers","ORIGIN_METHOD","RATE","currCall","lastCall","lastExec","timer","thisDelay","thisDebounce","debounceDelay","fnAttr","originFn","lastThrottleType","markerModelKey","subTypeDefaulters","defaulter","componentTypeMain","dependencyGetter","createDependencyGraphItem","predecessor","successor","targetNameList","fullNameList","noEntryList","availableDeps","originalDeps","dep","getAvailableDependencies","entryCount","dependentName","thatItem","makeDepndencyGraph","targetNameSet","currComponentType","currVertex","isInTargetNameSet","removeEdgeAndAdd","removeEdge","succComponentType","platform","gradientColor","animationEasingUpdate","shadowTemp","orignalBrush","modified","roundNumber","_intervalPrecision","getIntervalPrecision","expandToNicedExtent","niceTickExtent","intervalPrecision","lastNiceTick","minorInterval","intervalScaleNiceTicks","roundingErrorFix","mathLog","_originalScale","originalScale","powVal","__fixMin","fixRoundingError","__fixMax","originalVal","radarLayout","_needCollect","needCollect","_deduplication","createByAxisModel","dedplication","getOrCreateMap","colorUtil","markAreaTransform","maModel","lt","rb","ltCoord","rbCoord","markAreaFilter","getSingleMarkerEndPoint","dimPermutations","markAreaModel","areaData","areaGroupMap","polygonGroup","allClipped","xValue","yValue","__data","ToolboxModel","showTitle","containLabel","travelTree","designatedVisual","viewRootAncestors","nodeModel","nodeLayout","isInView","thisNodeColor","nodeItemStyleModel","designatedVisualItemStyle","visualName","buildVisuals","borderColorSaturation","calculateBorderColor","calculateColor","mapping","rangeVisual","getRangeVisual","visualMin","visualMax","colorMappingBy","__drColorMappingBy","buildVisualMapping","childVisual","childVisuals","mappingType","mapIdToIndex","getValueVisualDefine","markerTypeCalculatorWithExtent","otherDataDim","targetDataDim","otherCoordIndex","targetCoordIndex","coordArr","calcDataDim","coordArrValue","markerTypeCalculator","dataDimToCoordDim","baseDataDim","hasXAndY","hasXOrY","_viewRoot","clipWindow","squareRatio","leafDepth","drillDownIcon","zoomToNodeRatio","upperLabel","gapWidth","visualDimension","visibleMin","childrenVisibleMin","completeTreeValue","childValue","thisValue","designatedVisualModel","hasColorDefine","globalColorList","levelDefine","modelColor","setDefault","levelModel","setLayoutInfo","idIndexMap","_idIndexMap","_idIndexMapCount","mapLocation","largeLayout","_graphHelper","_symbolRadiansHalf","_layoutNodesBasedOn","unitAngle","radianHalf","sumRadian","symbolRadianHalf","halfRemainRadian","basedOn","x12","y12","_a","adjustEdge","FOCUS_ADJACENCY","opct","_lineDraw","_firstRender","graphView","groupNewProp","_layoutTimeout","_startForceLayoutIteration","_layouting","circularRotateLabel","adjacentEdge","lb","rt","maxX","maxY","ax0","ax1","ay0","ay1","bx0","bx1","by0","by1","msRequestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","seiresModelMap","__paletteScope","dataAll","filteredIdx","singleDataColor","singleDataBorderColor","maskColor","showSpinner","spinnerRadius","mask","animateShape","valueStart","getValueStart","baseDataOffset","stackedData","updateDom","clipPathEl","cloneNode","_textDom","imgs","community","topic","async_to_toutiao","type_str","videoInfo","thumb_uri","communityName","nick_name","v2Min","v2Max","v2Scale","v2Add","v2Clone","v2Sub","constraint","prevPoint","nextPoint","cps","d0","retrieveValue","PATH_BORDER_WIDTH","PATH_GAP_WIDTH","PATH_UPPER_LABEL_SHOW","PATH_UPPER_LABEL_HEIGHT","ecWidth","ecHeight","rootRect","viewAbovePath","rootSize","currNode","defaultSize","viewArea","currNodeValue","getUpperLabelHeight","estimateRootSize","viewRootLayout","squarify","hideChildren","thisLayout","halfGapWidth","upperLabelHeight","upperHeight","layoutOffset","layoutOffsetUpper","totalArea","initChildren","rowFixedLength","best","worst","treeRoot","defaultPosition","targetCenter","calculateRootPosition","prunning","clipRect","nodeInViewAbovePath","isAboveViewRoot","childClipRect","orderBy","overLeafDepth","statistic","orderedChildren","deletePoint","filterByThreshold","isLeafRoot","areaMax","areaMin","squareArea","idx0WhenH","idx1WhenH","rowOtherLength","rowLen","wh1","remain","modWH","wh0","positiveOrNegative","doubledPosition","outputShape","inputShape","originWidth","originHeight","isOnCartesian","isInLargeMode","axisMinGaps","axisValues","cnt","valuesInAxis","getValueAxesMinGaps","seriesInfoList","minGap","scaleSpan","doCalBarWidthAndOffset","seriesInfo","minWidth","finalWidth","valueAxisHorizontal","largeBackgroundPoints","valuePair","pointsOffset","idxOffset","getValueAxisStart","backgroundStart","widthAndOffsets","lastStackCoordsOrigin","isValueAxisH","AXIS_TYPES","BaseAxisModelClass","axisTypeDefaulter","extraDefaultOption","__ordinalMeta","linkedNodesFinder","effectedModels","RadarChart","jumpTo","lineContain","quadraticContain","LargeLineShape","findDataIndex","LargeLineDraw","largeLineProto","lineEl","_setCommon","isIncremental","RadarSeries","0","1","2","3","4","5","6","7","8","9","10","11","12","13","Triangle","Diamond","Pin","tanX","tanY","cpLen","cpLen2","Arrow","symbolCtors","roundRect","square","diamond","pin","triangle","symbolShapeMakers","symbolBuildProxies","proxySymbol","symbolPathSetColor","innerColor","symbolStyle","symbolShape","__isEmptyBrush","linesLayout","linesVisual","PointerPath","formatLabel","parsePosition","_renderMain","axisLineModel","angleRangeSpan","prevEndAngle","axisLineWidth","showAxis","_renderTicks","_renderPointer","_renderTitle","_renderDetail","minVal","maxVal","subSplitNumber","splitLineLen","tickLen","subStep","splitLineStyle","tickLine","valueExtent","detailModel","IS_PURE","NativePromise","getBuiltIn","speciesConstructor","promiseResolve","real","onFinally","funnelLayout","getStore","resourceKey","userKey","mapModel","_renderSymbols","originalDataIndex","fullData","fullIndex","highDownRecord","recordVersion","onRegionHighDown","enterRegionHighDown","toHighOrDown","__mapOriginalZ2","roundRectHelper","_constant","VALID_TEXT_ALIGN","VALID_TEXT_VERTICAL_ALIGN","SHADOW_STYLE_COMMON_PROPS","_tmpTextPositionResult","_tmpBoxPositionResult","normalizeStyle","applyTextRotation","placeToken","lineTop","needDrawBackground","setCtx","getFill","strokeText","fillText","isPlainBg","originalGlobalAlpha","onBgImageLoaded","boxPos","boxX","boxY","tokenCount","usedWidth","lineXLeft","lineXRight","drawRichText","renderRichText","needDrawBg","checkCache","cachedByMe","styleFont","propItem","styleProp","ctxProp","textStrokeWidthPrev","strokeWidthChanged","strokeChanged","renderPlainText","LargeSymbolDraw","_updateSymbolDraw","_getClipShape","_finished","opacityMap","itemOpacity","Z2","initRootElStyle","coordsize","coordorigin","rgb2Str","getZIndex","setColorAndOpacity","getColorAndAlpha","updateFillAndStroke","vmlEl","zrEl","isFill","gradientType","expansion","cs1","cs2","colorAndAlphaList","colorAndAlpha","color1","color2","opacity1","opacity2","focusposition","updateFillNode","dashstyle","updateStrokeNode","_vmlEl","needTransform","strokeEl","weight","zIndex","removeRectText","appendRectText","ow","oh","_imageSrc","_imageWidth","_imageHeight","imageRuntimeStyle","runtimeStyle","oldRuntimeWidth","oldRuntimeHeight","hasCrop","vmlElStyle","hasRotation","transformFilter","imageTransformPrefix","imageEl","_imageEl","cropEl","_cropEl","imageELStyle","tmpImage","cropElStyle","filterStr","textMeasureEl","fontStyleCache","fontStyleCacheCount","fontEl","fromTextEl","fontString","variant","fontVariant","family","getFontStyle","textPathEl","skewEl","textVmlEl","_textVmlEl","textpathok","textVmlElStyle","string","getLineSelectors","inLineRange","layoutRange","Symbol","for","$$typeof","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","showContent","alwaysShowContent","displayMode","confine","showDelay","hideDelay","VISUAL_PRIORITY","resultVisual","concreteDim","D","E","I","shapeCompareFunc","_roots","_displayList","_displayListLen","includeIgnore","updateDisplayList","_updateAndAddDisplayable","userSetClipPath","currentClipPath","parentClipPath","_renderList","_curve","someVectorAt","isTangent","ThemeRiverSeries","fixData","rawDataLength","timeValueKeys","layData","timeValue","lenCount","indexArr","index1","nearestIdx","theValue","htmlName","htmlValue","_updateLineDraw","_lastZlevel","_showEffect","hasEffect","_hasEffet","_isPolyline","ox","oy","DEFAULT_TOOLBOX_BTNS","isNew","brushComponents","brushComponentSpecifiedBtns","brushOpt","tbs","toolboxFeature","toolboxBrush","brushTypes","flag","removeDuplicate","BubbleNav","onActivate","renderItems","TextArea","max_words","isFocused","onFocus","maxLength","delete_icon","delete_icon_hover","ControllerCard","showChildren","showDelete","onDeleteAll","delete_red_icon","upload_icon","ImageUploader","onDeleteItem","handleChooseImg","files","handleDrop","dataTransfer","handleInputClick","accept","onDragStart","onDragEnter","onDragOver","onDrop","VideoUploader","videoFile","onConfirmUpload","errMsg","handleChooseVideo","handleReUpload","activeNow","getBrandInfo","getCarFansOptions","hits","toVal","mix","formatMuiErrorMessage","code","formControlState","states","muiFormControl","FormControlContext","useFormControl","_typeof","plainObjectConstrurctor","cloneStyle","createRule","decl","jss","declCopy","rule","plugins","onCreateRule","by","toCssValue","ignoreImportant","cssValue","indentStr","indent","toCss","_options$indent","fallbacks","fallback","_prop","_value","_prop2","_value2","allowEmpty","escapeRegex","nativeEscape","CSS","escape","BaseStyleRule","isProcessed","renderable","sheet","Renderer","onChangeValue","isDefined","removeProperty","setProperty","attached","_BaseStyleRule","StyleRule","selectorText","scoped","generateId","_proto2","applyTo","toJSON","replaceRule","pluginStyleRule","defaultToStringOptions","atRegExp","ConditionalRule","at","rules","atMatch","_proto","getRule","onProcessRule","keyRegExp","pluginConditionalRule","defaultToStringOptions$1","nameRegExp","KeyframesRule","frames","nameMatch","keyRegExp$1","refRegExp","findReferencedKeyframe","refKeyframe","onProcessStyle","KeyframeRule","_key","pluginKeyframeRule","FontFaceRule","keyRegExp$2","pluginFontFaceRule","ViewportRule","pluginViewportRule","SimpleRule","keysMap","defaultUpdateOptions","forceUpdateOptions","RuleList","classes","ruleOptions","_this$options","updateOne","_this$options2","styleRule","nextValue","_nextValue","_prevValue","StyleSheet","deployed","attach","deploy","detach","insertRule","addRules","deleteRule","_this$rules","PluginsRegistry","internal","external","registry","onProcessSheet","processedValue","newPlugin","plugin","SheetsRegistry","_temp","globalThis","ns","moduleId","createGenerateId","ruleCounter","jssId","classNamePrefix","minify","memoize","cssRule","attributeStyleMap","delete","findPrevNode","registry$1","insertionPoint","findHigherSheet","findHighestSheet","childNodes","findCommentNode","getNonce","_insertRule","appendRule","cssRules","getValidRuleInsertionIndex","maxIndex","DomRenderer","hasInsertedRules","media","createStyle","nonce","nextNode","insertionPointElement","insertStyle","Boolean","insertRules","nativeParent","latestNativeParent","_insertionIndex","refCssRule","ruleStr","insertionIndex","nativeRule","getRules","instanceCounter","Jss","setup","removeStyleSheet","hasCSSTOMSupport","mergeClasses","baseClasses","newClasses","nextClasses","key1","key2","subCache","useTheme","fnValuesNs","fnRuleNs","fnValues","fnRule","GlobalContainerRule","GlobalPrefixedRule","separatorRegExp","addScope","parts","handleNestedGlobalContainerRule","handlePrefixedGlobalRule","parentRegExp","getReplaceRef","replaceParentRefs","nestedProp","parentProp","parentSelectors","nestedSelectors","nested","getOptions","prevOptions","nestingLevel","replaceRef","isNested","isNestedConditional","uppercasePattern","msPattern","toHyphenLower","hName","convertCase","converted","hyphenatedProp","px","ms","addCamelCasedVersion","regExp","newObj","units","border","inset","motion","outline","perspective","innerProp","_innerProp","camelCasedOptions","js","vendor","jsCssMap","Moz","Webkit","appearence","noPrefill","supportedProperty","colorAdjust","toUpper","camelize","pascalize","textOrientation","writingMode","userSelect","breakPropsOld","inlineLogicalOld","unprefixed","prefixed","pascalized","scrollSnap","overscrollBehavior","propMap","flex2012","propMap$1","flex","propKeys","prefixCss","propertyDetectors","computed","key$1","el$1","cache$1","transitionProperties","transPropsRegExp","prefixTransitionCallback","prefixedValue","supportedValue","prefixStyle","changeProp","supportedProp","changeValue","supportedValue$1","atRule","prop0","prop1","jssPreset","defaultOptions","disableGeneration","generateClassName","_options$disableGloba","disableGlobal","_options$productionPr","productionPrefix","_options$seed","seed","seedPrefix","getNextCounterId","styleSheet","createGenerateClassName","sheetsCache","sheetsManager","sheetsRegistry","StylesContext","indexCounter","increment","isPlainObject","deepmerge","getStylesCreator","stylesOrCreator","themingEnabled","overrides","stylesWithOverrides","getClasses","stylesOptions","cacheClasses","lastJSS","generate","stylesCreator","sheetManager","refs","staticSheet","dynamicStyles","serverGenerateClassName","getDynamicStyles","extracted","dynamicSheet","_ref3","_ref4","useSynchronousEffect","currentKey","makeStyles","classNamePrefixOption","_options$defaultTheme","defaultTheme","stylesOptions2","useStyles","shouldUpdate","getThemeProps","_options$withTheme","withTheme","WithStyles","forwardRef","innerRef","more","createBreakpoints","breakpoints","_breakpoints$values","xs","sm","md","xl","_breakpoints$unit","_breakpoints$step","up","between","endIndex","down","upperbound","only","createMixins","spacing","_toolbar","gutters","toolbar","minHeight","black","white","50","100","200","300","400","500","600","700","800","900","A100","A200","A400","A700","decomposeColor","re","hexToRgb","recomposeColor","getLuminance","rgb","hslToRgb","emphasize","coefficient","darken","lighten","fade","background","paper","hover","hoverOpacity","selectedOpacity","disabledBackground","disabledOpacity","focusOpacity","activatedOpacity","dark","addLightOrDark","intent","shade","tonalOffset","tonalOffsetLight","light","tonalOffsetDark","createPalette","palette","_palette$primary","_palette$secondary","_palette$error","_palette$warning","warning","_palette$info","_palette$success","success","_palette$type","_palette$contrastThre","contrastThreshold","_palette$tonalOffset","getContrastText","foreground","lumA","lumB","getContrastRatio","augmentColor","mainShade","lightShade","darkShade","contrastText","grey","caseAllCaps","textTransform","createTypography","typography","_ref$fontFamily","_ref$fontSize","_ref$fontWeightLight","fontWeightLight","_ref$fontWeightRegula","fontWeightRegular","_ref$fontWeightMedium","fontWeightMedium","_ref$fontWeightBold","fontWeightBold","_ref$htmlFontSize","htmlFontSize","allVariants","pxToRem2","pxToRem","coef","buildVariant","letterSpacing","casing","variants","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","caption","overline","createShadow","defaultBreakpoints","directions","aliases","marginX","marginY","paddingX","paddingY","getCssProperties","_prop$split","_prop$split2","spacingKeys","createUnarySpacing","themeSpacing","getStyleFromPropValue","cssProperties","propValue","cssProperty","transformed","styleFromPropValue","themeBreakpoints","_themeBreakpoints","breakpoint","handleBreakpoints","filterProps","createSpacing","spacingInput","mui","argument","easeInOut","easeOut","easeIn","sharp","shortest","shorter","short","standard","complex","enteringScreen","leavingScreen","formatMs","milliseconds","_options$duration","durationOption","_options$easing","easingOption","_options$delay","animatedProp","getAutoHeightDuration","constant","mobileStepper","speedDial","appBar","drawer","modal","snackbar","_options$breakpoints","breakpointsInput","_options$mixins","mixinsInput","_options$palette","paletteInput","_options$typography","typographyInput","muiTheme","shadows","transitions","capitalize","setRef","useForkRef","refA","refB","refValue","timeout","wait","debounced","later","getStyleValue","useEnhancedEffect","rowsMax","_props$rowsMin","rowsMin","rowsMinProp","isControlled","handleRef","shadowRef","renders","_React$useState","syncHeight","input","inputShallow","boxSizing","scrollHeight","singleRowHeight","outerHeightStyle","prevState","handleResize","isFilled","SSR","defaultValue","ariaDescribedby","autoComplete","endAdornment","_props$fullWidth","fullWidth","_props$inputComponent","inputComponent","_props$inputProps","inputProps","inputPropsProp","inputRefProp","_props$multiline","multiline","onKeyDown","onKeyUp","renderSuffix","startAdornment","_props$type","valueProp","handleInputRefWarning","handleInputPropsRefProp","handleInputRefProp","handleInputRef","fcs","onFilled","onEmpty","checkDirty","InputComponent","setAdornedStart","formControl","adornedStart","adornedEnd","marginDense","currentTarget","onAnimationStart","animationName","required","inputMultiline","hiddenLabel","inputHiddenLabel","inputAdornedStart","inputAdornedEnd","inputTypeSearch","inputMarginDense","placeholderHidden","placeholderVisible","alignItems","colorSecondary","WebkitTapHighlightColor","boxShadow","disableUnderline","underline","muiName","bottomLineColor","borderBottomColor","borderBottom","borderBottomStyle","borderTopLeftRadius","borderTopRightRadius","WebkitBoxShadow","WebkitTextFillColor","caretColor","labelWidthProp","labelWidth","notched","legendLabelled","legendNotched","borderStyle","_props$labelWidth","notchedOutline","filled","_props$component","asterisk","_props$disableAnimati","disableAnimation","shrinkProp","shrink","animated","outlined","transformOrigin","isMuiElement","muiNames","_props$color","_props$disabled","_props$error","visuallyFocused","_props$hiddenLabel","_props$margin","_props$required","_props$variant","initialAdornedStart","_React$useState2","initialFilled","setFilled","_React$useState3","_focused","childContext","registerEffect","flexDirection","marginNormal","contained","ownerWindow","createChainedFunction","funcs","_len2","_key2","_props$disablePortal","disablePortal","onRendered","mountNode","setMountNode","getContainer","useEventCallback","getScrollbarSize","scrollDiv","scrollbarSize","ariaHidden","getPaddingRight","ariaHiddenSiblings","nodesToExclude","blacklistTagNames","findIndexOf","handleContainer","fixedNodes","restoreStyle","restorePaddings","disableScrollLock","isOverflowing","scrollContainer","ModalManager","modals","containers","modalIndex","modalRef","hiddenSiblingNodes","hiddenSiblings","getHiddenSiblings","containerIndex","nextTop","_props$disableAutoFoc","disableAutoFocus","_props$disableEnforce","disableEnforceFocus","_props$disableRestore","disableRestoreFocus","getDoc","isEnabled","ignoreNextEnforceFocus","sentinelStart","sentinelEnd","nodeToRestore","rootRef","handleOwnRef","prevOpenRef","activeElement","hasAttribute","hasFocus","loopFocus","shiftKey","clearInterval","_props$invisible","defaultManager","inProps","_props$BackdropCompon","BackdropComponent","BackdropProps","_props$closeAfterTran","closeAfterTransition","_props$disableBackdro","disableBackdropClick","_props$disableEscapeK","disableEscapeKeyDown","_props$disableScrollL","_props$hideBackdrop","hideBackdrop","_props$keepMounted","keepMounted","_props$manager","manager","onBackdropClick","onEscapeKeyDown","exited","setExited","mountNodeRef","hasTransition","getHasTransition","getModal","handleMounted","handleOpen","resolvedContainer","isTopModal","handlePortalRef","handleClose","inlineStyle","hidden","childProps","onEnter","onExited","role","_React$Component","Transition","initialStatus","appear","isMounting","enter","appearStatus","in","unmountOnExit","mountOnEnter","nextCallback","componentDidMount","updateStatus","componentDidUpdate","nextStatus","componentWillUnmount","cancelNextCallback","getTimeouts","mounting","performEnter","performExit","_this2","appearing","nodeRef","findDOMNode","maybeNode","maybeAppearing","timeouts","enterTimeout","safeSetState","onEntered","onEntering","onTransitionEnd","_this3","onExit","onExiting","cancel","setNextCallback","_this4","doesNotHaveTimeoutOrListener","addEndListener","maybeNextCallback","_this$props","TransitionGroupContext","cloneElement","Children","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","reflow","getTransitionProps","_props$style","transitionDelay","entering","entered","_props$disableStrictM","disableStrictModeCompat","inProp","_props$timeout","_props$TransitionComp","TransitionComponent","autoTimeout","enableStrictModeCompat","unstable_strictMode","foreignRef","normalizedTransitionCallback","nodeOrAppearing","isAppearing","handleEntering","handleEnter","_getTransitionProps","handleEntered","handleExiting","handleExit","_getTransitionProps2","handleExited","nodeOrNext","maybeNext","muiSupportAuto","_props$square","_props$elevation","elevation","rounded","elevations","getOffsetTop","getOffsetLeft","getTransformOriginValue","getAnchorEl","anchorEl","_props$anchorOrigin","anchorOrigin","anchorPosition","_props$anchorReferenc","anchorReference","containerProp","getContentAnchorEl","_props$marginThreshol","marginThreshold","_props$PaperProps","PaperProps","_props$transformOrigi","_props$transitionDura","transitionDurationProp","_props$TransitionProp","TransitionProps","paperRef","getAnchorOffset","contentAnchorOffset","resolvedAnchorEl","anchorRect","anchorVertical","getContentAnchorOffset","contentAnchorEl","getTransformOrigin","elemRect","getPositioningStyle","elemTransformOrigin","anchorOffset","containerWindow","heightThreshold","widthThreshold","_diff","_diff2","_diff3","setPositioningStyles","positioning","handlePaperRef","updatePosition","_props$dense","dense","_props$disablePadding","disablePadding","subheader","listStyle","nextItem","disableListWrap","previousItem","lastChild","previousElementSibling","textCriteriaMatches","nextFocus","textCriteria","innerText","repeating","moveFocus","currentFocus","disabledItemsFocusable","traversalFunction","wrappedOnce","nextFocusDisabled","_props$autoFocus","_props$autoFocusItem","autoFocusItem","_props$disabledItemsF","_props$disableListWra","listRef","textCriteriaRef","previousKeyMatched","lastTime","adjustStyleForScrollbar","containerElement","noExplicitWidth","activeItemIndex","newChildProps","criteria","lowerKey","currTime","performance","keepFocusOnCurrent","RTL_ORIGIN","LTR_ORIGIN","disableAutoFocusItem","_props$MenuListProps","MenuListProps","PopoverClasses","menuListActionsRef","contentAnchorRef","WebkitOverflowScrolling","useControlled","controlled","defaultProp","setValue","areEqualValues","ariaLabel","displayEmpty","IconComponent","labelId","_props$MenuProps","MenuProps","onOpen","openProp","renderValue","_props$SelectDisplayP","SelectDisplayProps","tabIndexProp","_useControlled","_useControlled2","displayNode","setDisplayNode","isOpenControlled","menuMinWidthState","setMenuMinWidthState","openState","setOpenState","getElementById","getSelection","isCollapsed","displaySingle","childrenArray","toArray","handleItemClick","itemIndex","persist","displayMultiple","computeDisplay","menuMinWidth","buttonId","selectMenu","onMouseDown","nativeInput","iconOpen","_props$fontSize","htmlColor","titleAccess","_props$viewBox","focusable","flexShrink","colorPrimary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeLarge","createSvgIcon","textOverflow","whiteSpace","iconFilled","iconOutlined","defaultInput","_props$IconComponent","ArrowDropDown","_props$input","Select","_props$autoWidth","_props$displayEmpty","_props$multiple","_props$native","native","variantProps","variantComponent","FormHelperTextProps","helperText","InputLabelProps","InputProps","_props$select","SelectProps","InputMore","_InputLabelProps$requ","displayRequired","helperTextId","inputLabelId","InputElement","htmlFor","defaultPopperOptions","_props$placement","initialPlacement","_props$popperOptions","popperOptions","popperRefProp","popperRef","_props$transition","tooltipRef","ownRef","handlePopperRef","handlePopperRefRef","rtlPlacement","flipPlacement","setPlacement","handlePopperUpdate","_props$disableGutters","disableGutters","_props$disableSticky","disableSticky","_props$inset","sticky","colorInherit","hadKeyboardEvent","hadFocusVisibleRecently","hadFocusVisibleRecentlyTimeout","inputTypesWhitelist","tel","email","password","month","datetime","metaKey","altKey","ctrlKey","handlePointerDown","handleVisibilityChange","visibilityState","matches","isContentEditable","focusTriggersKeyboardModality","handleBlurVisible","useIsFocusVisible","isFocusVisible","onBlurVisible","getChildMapping","mapFn","getProp","getNextChildMapping","prevChildMapping","nextChildMapping","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","nextKey","pendingNextKey","mergeChildMappings","hasPrev","hasNext","prevChild","isLeaving","TransitionGroup","contextValue","firstRender","mounted","currentChildMapping","childFactory","_props$pulsate","pulsate","rippleX","rippleY","rippleSize","_props$onExited","leaving","setLeaving","rippleClassName","ripple","rippleVisible","ripplePulsate","rippleStyles","childClassName","childLeaving","childPulsate","timeoutId","_props$center","centerProp","ripples","setRipples","rippleCallback","ignoringMouseDown","startTimer","startTimerCommit","startCommit","oldRipples","_options$pulsate","_options$center","_options$fakeElement","fakeElement","sizeX","sizeY","buttonRefProp","buttonRef","_props$centerRipple","centerRipple","_props$disableRipple","disableRipple","_props$disableTouchRi","disableTouchRipple","_props$focusRipple","focusRipple","focusVisibleClassName","onFocusVisible","onMouseLeave","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","onDragLeave","_props$tabIndex","TouchRippleProps","rippleRef","focusVisible","setFocusVisible","_useIsFocusVisible","focusVisibleRef","useRippleHandler","rippleAction","eventCallback","skipRippleAction","handleMouseDown","handleDragLeave","handleMouseUp","handleMouseLeave","handleTouchStart","handleTouchEnd","handleTouchMove","handleBlur","handleFocus","isNonNativeButton","keydownRef","handleKeyDown","handleKeyUp","defaultPrevented","ComponentProp","buttonProps","handleUserRef","mountedState","setMountedState","enableTouchRipple","justifyContent","textDecoration","_props$edge","_props$disableFocusRi","disableFocusRipple","_props$size","edgeStart","edgeEnd","sizeSmall","isDeleteKeyboardEvent","keyboardEvent","avatarProp","clickableProp","deleteIconProp","deleteIcon","iconProp","onDelete","chipRef","handleDeleteIconClick","small","moreProps","customClasses","deleteIconSmall","Cancel","avatarSmall","iconSmall","outlinedPrimary","outlinedSecondary","deletable","blur","labelSmall","deleteIconColor","clickableColorPrimary","clickableColorSecondary","deletableColorPrimary","deletableColorSecondary","avatarColorPrimary","avatarColorSecondary","iconColorPrimary","iconColorSecondary","deleteIconColorPrimary","deleteIconColorSecondary","deleteIconOutlinedColorPrimary","deleteIconOutlinedColorSecondary","stripDiacritics","comp","defaultFilterOptions","_config$ignoreAccents","ignoreAccents","_config$ignoreCase","ignoreCase","limit","_config$matchFrom","matchFrom","_config$trim","inputValue","getOptionLabel","filteredOptions","candidate","createFilterOptions","useAutocomplete","_props$autoComplete","_props$autoHighlight","autoHighlight","_props$autoSelect","autoSelect","_props$blurOnSelect","blurOnSelect","_props$clearOnBlur","clearOnBlur","freeSolo","_props$clearOnEscape","clearOnEscape","_props$componentName","_props$debug","debug","_props$defaultValue","_props$disableClearab","disableClearable","_props$disableCloseOn","disableCloseOnSelect","_props$filterOptions","filterOptions","_props$filterSelected","filterSelectedOptions","_props$freeSolo","getOptionDisabled","_props$getOptionLabel","getOptionLabelProp","_props$getOptionSelec","getOptionSelected","_props$handleHomeEndK","handleHomeEndKeys","idProp","_props$includeInputIn","includeInputInList","inputValueProp","onHighlightChange","onInputChange","_props$openOnFocus","openOnFocus","_props$selectOnFocus","selectOnFocus","idOverride","defaultId","setDefaultId","useId","ignoreFocus","firstFocus","listboxRef","setAnchorEl","focusedTag","setFocusedTag","defaultHighlighted","highlightedIndexRef","_useControlled3","_useControlled4","setInputValue","resetInputValue","newInputValue","optionLabel","_useControlled5","_useControlled6","inputValueIsSelectedValue","popupOpen","focusTag","tagToFocus","setHighlightedIndex","_ref2$reason","reason","listboxNode","scrollBottom","elementBottom","changeHighlightedIndex","_ref3$direction","_ref3$reason","validOptionIndex","getNextIndex","setSelectionRange","syncHighlightedIndex","valueItem","currentOption","optionItem","handleListboxRef","handleValue","details","isTouch","selectNewValue","reasonProp","handleFocusTag","nextTag","validTagIndex","handleClear","handleInputChange","handleOptionMouseOver","handleOptionTouchStart","handleOptionClick","handleTagDelete","handlePopupIndicator","selectionEnd","selectionStart","handleInputMouseDown","groupedOptions","getRootProps","getInputLabelProps","getInputProps","autoCapitalize","spellCheck","getClearProps","getPopupIndicatorProps","getTagProps","getListboxProps","getOptionProps","_ref5","DisablePortal","Close","ChipProps","_props$clearText","clearText","_props$closeIcon","closeIcon","_props$closeText","closeText","_props$forcePopupIcon","forcePopupIcon","_props$getLimitTagsTe","getLimitTagsText","_props$limitTags","limitTags","_props$ListboxCompone","ListboxComponent","ListboxProps","_props$loading","_props$loadingText","loadingText","_props$noOptionsText","noOptionsText","_props$openText","openText","_props$PaperComponent","PaperComponent","_props$PopperComponen","PopperComponent","PopperComponentProp","_props$popupIcon","popupIcon","renderGroupProp","renderGroup","renderInput","renderOptionProp","renderOption","renderTags","_useAutocomplete","getCustomizedTagProps","tag","tagSizeSmall","groupLabel","groupUl","renderListOption","optionProps","hasClearIcon","hasPopupIcon","inputRoot","clearIndicator","clearIndicatorDirty","popupIndicator","popupIndicatorOpen","inputFocused","popperDisablePortal","noOptions","listbox","option2","_option","flexWrap","flexGrow","CommunitySelector","onCommunityTypeChange","onBrandChange","onCommunityChange","communityValue","onCancel","onConfirm","brandList","carFansOptions","form","brandInputValue","setBrandInputValue","communityInputValue","setCommunityInputValue","brand_value","the_brand","bid","brandOptions","renderBrands","communityOptions","renderCommunities","MuiPickersContext","utils","locale","libInstance","useUtils","checkUtils","defaultVariantMapping","_props$align","_props$display","_props$gutterBottom","gutterBottom","_props$noWrap","noWrap","_props$paragraph","paragraph","_props$variantMapping","variantMapping","srOnly","alignLeft","alignCenter","alignRight","alignJustify","colorTextPrimary","colorTextSecondary","displayInline","displayBlock","_props$disableElevati","disableElevation","endIconProp","endIcon","startIconProp","startIcon","textPrimary","textSecondary","containedPrimary","containedSecondary","textSizeSmall","textSizeLarge","outlinedSizeSmall","outlinedSizeLarge","containedSizeSmall","containedSizeLarge","sizeLarge","iconSizeSmall","iconSizeMedium","iconSizeLarge","regular","_props$disableSpacing","disableSpacing","_props$dividers","dividers","borderTop","defaultTimeout","webkitTransition","defaultTransitionDuration","_props$fullScreen","fullScreen","_props$maxWidth","_props$scroll","scroll","ariaLabelledby","mouseDownTarget","paperFullScreen","paperFullWidth","scrollPaper","scrollBody","paperScrollPaper","paperScrollBody","paperWidthFalse","paperWidthXs","paperWidthSm","paperWidthMd","paperWidthLg","paperWidthXl","arrayIncludes","itemOrItems","staticWrapperRoot","onAccept","onDismiss","onClear","onSetToday","okLabel","cancelLabel","clearLabel","todayLabel","clearable","showTodayButton","wider","showTabs","dialogRoot","dialogRootWider","dialog","withAdditionalAction","ModalDialog$1","useIsomorphicEffect","runKeyHandler","keyHandlers","useKeyDown","keyHandlersRef","DialogProps","DateInputProps","Enter","PopoverProps","VariantContext","getWrapperFromVariant","_props$disablePointer","disablePointerEvents","_props$disableTypogra","disableTypography","variantProp","positionStart","positionEnd","Rifm","_state","_del","_handleChange","stateValue","del","noOp","format","local","refuse","before","di","fv","_hKD","_hKU","daySelected","dayDisabled","replaceClassName","origClass","classToRemove","classList","baseVal","CSSTransition","appliedClasses","_this$resolveArgument","resolveArguments","removeClasses","addClass","_this$resolveArgument2","_this$resolveArgument3","getClassNames","isStringClassNames","baseClassName","activeClassName","doneClassName","phase","_addClass","_this$appliedClasses$","_props$disableShrink","disableShrink","_props$thickness","thickness","_props$value","circleStyle","rootProps","circumference","strokeDasharray","strokeDashoffset","determinate","indeterminate","static","SIZE","circleDisableShrink","circleDeterminate","circleIndeterminate","circleStatic","strokeWidth","isYearOnlyView","views","dayInCurrentMonth","onKeyPress","slideTransition","transitionContainer","slideEnterActive","slideExit","transKey","slideDirection","_ref$className","transitionClasses","enterActive","exitActive","useStyles$1","switchHeader","iconButton","daysHeader","currentMonth","onMonthChange","leftArrowIcon","rightArrowIcon","leftArrowButtonProps","rightArrowButtonProps","disablePrevMonth","disableNextMonth","getPreviousMonth","getCalendarHeaderText","getNextMonth","getWeekdays","_getPrototypeOf2","startOfMonth","loadingQueue","pushToLoadingQueue","popFromLoadingQueue","handleChangeMonth","newMonth","returnVal","validateMinMaxDate","minDate","maxDate","disableFuture","disablePast","isAfterDay","isBeforeDay","shouldDisablePrevMonth","_this$props2","firstEnabledMonth","isAfter","isBefore","shouldDisableNextMonth","_this$props3","lastEnabledMonth","shouldDisableDate","handleDaySelect","isFinish","_this$props4","mergeDateAndTime","moveToDay","_this$props5","ArrowUp","addDays","ArrowDown","ArrowLeft","ArrowRight","renderWeeks","_this$props6","getWeekArray","renderDays","_this$props7","renderDay","selectedDate","startOfDay","currentMonthNumber","isDayInCurrentMonth","dayComponent","isSameDay","getDayText","_this$props8","closestEnabledDate","today","forward","backward","findClosestEnabledDate","_this$state","_this$props9","allowKeyboardControl","loadingIndicator","loadingElement","progressContainer","nextDate","isEqual","lastDate","nextMonth","lastMonth","ClockType","Calendar$1","WithUtils","ClockType$1","ClockPointer","toAnimateTransform","previousType","getAngleStyle","isInner","HOURS","animateTransform","thumb","noPoint","ClockPointer$1","getAngleValue","atan","deg","getHours","ampm","_getAngleValue","getMinutes","angleStep","_getAngleValue2","Clock","isMoving","setTime","handleMove","buttons","SECONDS","MINUTES","minutesStep","isPointerInner","clock","squareMask","onMouseMove","Clock$1","touchActions","14","15","16","17","18","19","20","21","22","23","clockNumber","clockNumberSelected","transformStyle","currentHours","hourNumbers","endHour","onHourChange","onMinutesChange","onSecondsChange","viewProps","currentMeridiem","getMeridiem","updatedTimeWithMeridiem","meridiem","hours","setHours","convertToMeridiem","minutesValue","updatedTime","setMinutes","secondsValue","getSeconds","setSeconds","ownKeys","object","enumerableOnly","symbols","sym","datePickerDefaultProps","invalidDateMessage","minDateMessage","maxDateMessage","getOwnPropertyDescriptors","_objectSpread","yearSelected","yearDisabled","forwardedRef","Year$1","onYearChange","animateYearScrolling","currentVariant","selectedYearRef","scrollIntoView","currentYear","getYear","onYearSelect","newDate","setYear","getYearRange","yearNumber","getYearText","isBeforeYear","isAfterYear","useStyles$2","monthSelected","monthDisabled","handleSelection","useStyles$3","alignContent","shouldDisableMonth","utilMinDate","utilMaxDate","isBeforeFirstEnabled","isAfterLastEnabled","onMonthSelect","getMonthArray","monthNumber","getOrientation","screen","orientation","ownKeys$1","viewsMap","minutes","seconds","useStyles$4","containerLandscape","pickerView","pickerViewLandscape","disableToolbar","openTo","unparsedMinDate","unparsedMaxDate","ToolbarComponent","rest","isLandscape","customOrientation","setOrientation","useIsLandscape","_useViews","openView","setOpenView","handleChangeAndOpenNext","nextViewToOpen","useViews","_objectSpread$1","toolbarTxt","toolbarBtnSelected","typographyClassName","toolbarBtn","ToolbarButton$1","toolbarLandscape","inputVariant","validationError","openPicker","_ref$TextFieldCompone","TextFieldComponent","PureDateInputProps","getDisplayDate","invalidLabel","emptyLabel","labelFunc","isValid","getComparisonMaxDate","strictCompareDates","endOfDay","getComparisonMinDate","KeyboardButtonProps","InputAdornmentProps","_ref$maskChar","maskChar","_ref$refuse","keyboardIcon","rifmFormatter","inputMask","numberMaskChar","makeMaskFromFormat","maskedDateFormatter","useDateValues","initialFocusedDate","nowRef","getDefaultFormat","usePickerState","autoOk","_onChange","onError","_useOpenState","setIsOpenState","_useState","_useState2","isOpen","setIsOpen","newIsOpen","useOpenState","_useDateValues","pickerDate","setPickerDate","acceptDate","acceptedDate","wrapperProps","pickerProps","parsedValue","validate","pickerState","ownKeys$2","_objectSpread$2","makePickerWithState","useOptions","getCustomProps","DefaultToolbarComponent","dateRangeIcon","hideTabs","timeIcon","_props$ToolbarCompone","injectedProps","dateLandscape","isYearOnly","isYearAndMonth","getDatePickerHeaderText","getMonthText","yearFormat","yearMonthFormat","dateFormat","getFormatByViews","DatePicker","KeyboardDatePicker","_props$format","displayDate","innerInputValue","setInnerInputValue","dateValue","_unused","parseInputString","_usePickerState","innerInputProps","MomentUtils","_b","moment","dateTime12hFormat","dateTime24hFormat","time12hFormat","time24hFormat","isNull","getDiff","comparing","startOf","endOf","formatString","numberToFormat","isSame","isSameMonth","isSameYear","isSameHour","getMeridiemText","endOfMonth","monthArray","prevMonth","weekdaysShort","nestedWeeks","weekNumber","startDate","endDate","getDateTimePickerHeaderText","getHourText","getMinuteText","getSecondText","TimeColumn","collectionRef","activeLi","TimePicker","momentIsSelected","setHour","minute","setMinute","second","setSecond","fakeInputRef","setOpen","handleSelect","handleContainerBlur","handleContainerFocus","handleIconClick","filteredHours","setFilteredHours","filteredMinutes","setFilteredMinutes","filteredSeconds","setFilteredSeconds","tenMinLater","laterHour","laterMin","laterSec","weekdays","weekdaysMin","dow","calendar_icon","LocalizedUtils","DatetimeSelector","onTimeChange","onDateChange","TopicSelector","chooseTopic","topicState","topicList","loaded","user_count","intro","fetchResult","keyword","support_type","_","useCache","CacheStoreContext","setStorage","getStorage","clearStorage","_setStorage","setSaving","uploadImg","file","ByteVideoUpload","byteVideoUploader","department","access_key","vasDomain","logDomain","coverTime","retryUploadTime","retryProcessTime","retryTaskTime","maxProcessPause","uploadSliceCount","source_v2","fileKey","addFile","auth","uploadImgList","album_icon","video_icon","topic_icon","timer_icon","checked_icon","unchecked_icon","supportedSortedSwitches","Controller","switches","buttonDisabled","setQASwitch","publishing","activeSwitch","setActiveSwitch","fileList","setFileList","setImgList","setVideoFile","setVideoInfo","videoLoading","setVideoLoading","videoSaved","setVideoSaved","errorMsg","setErrorMsg","communityTypeRef","initRef","communityStates","setCommunityStates","setBrandList","setCarFansOptions","setTopic","checked","setChecked","setMomentSelected","setSelectedDate","selectedTime","setSelectedTime","setTopicState","savedVideoFile","savedVideoInfo","storedCommunityStates","storedTopic","readers","fileReader","FileReader","readAsDataURL","selectedMoment","storedMoment","handleCheckChange","handleImgChange","fileArray","resList","newFileList","handleDeleteItem","handleDeleteAll","handleVideoChange","handleConfirmUpload","video_info","poster","oid","handleBrandChange","handleCommunityTypeChange","handleCommunityCancel","handleCommunityConfirm","handleCommunityChange","handleDateChange","handleTimeChange","handleTimeCancel","handleTimeConfirm","handleChooseTopic","handleTopicInputChange","shownComponents","go_to_detail_icon","LongArticleNavItem","Publisher","setActiveNow","saving","setButtonDisabled","setPublishing","clearLastStorage","handleActiveChange","handleTextAreaChange","slicedValue","qaSwitch","qaSwitches","getSwitches","getPlaceHolder","act_id","sync_to_toutiao","source_from","task_publish_time","unix","credentials","video_type","thumb_source","motor_source","err_no","prompts","error_show","err_tips","animationUtil","PATH_LABEL_NOAMAL","PATH_LABEL_EMPHASIS","PATH_UPPERLABEL_NORMAL","PATH_UPPERLABEL_EMPHASIS","getItemStyleEmphasis","getItemStyleNormal","nodeGroup","_breadcrumb","thisStorage","reRoot","rootNodeGroup","_giveContainerGroup","renderResult","_doRender","renderFinally","_doAnimation","_resetController","_renderBreadcrumb","thisTree","oldTree","lastsForAnimation","oldStorage","willInvisibleEls","renderNode","thisViewChildren","oldViewChildren","sameTree","thisNode","willDeleteEls","storageName","delEls","__tmWillDelete","animationWrap","__tmNodeWidth","__tmNodeHeight","targetX","targetY","old","fadein","_onPan","_onZoom","_clearController","mouseX","mouseY","findTarget","_zoomToNode","thisWidth","thisHeight","thisInvisible","thisRawIndex","oldRawIndex","isParent","itemStyleNormalModel","itemStyleEmphasisModel","giveGraphic","bg","useUpperLabel","processInvisible","visualBorderColor","emphasisBorderColor","upperLabelWidth","prepareText","renderContent","upperLabelRect","addDrillDownIcon","iconChar","lasts","prepareAnimationWhenHasOld","calculateZ","__tmDepth","__tmStorageName","lastCfg","parentOldX","parentOldY","parentOldBg","prepareAnimationWhenNoOld","zInLevel","zb","structured_info","tag_info_list","recommend_icon","append_koubei_list","is_recommend","recommend_level","display_car_name","duration_desc","bought_time_desc","extra_info","hasExtraInfo","TagName","Id","brushHelper","elementList","fromAxisAreaSelect","areaWidth","builderOpt","_refreshBrushController","extentLen","getCoverInfoList","coverInfoList","coverInfo","parallelAxisId","toNumber","nativeMax","nativeMin","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","thisArg","leadingEdge","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","timeWaiting","remainingWait","isInvoking","sectorArea","cookie","componentProto","Recommend","useFeedAd","hex","splitList","ScrollLoader","isEmbed","rootDom","changes","HEIGHT","addObserver","removeObserver","prevBottom","unobserve","getAxisLineShape","rExtent","getRadiusIdx","fixAngleOverlap","firstItem","ticksAngles","minorTickAngles","_axisLine","rId","r0Id","_axisTick","tickAngleItem","_minorTick","tickAngles","_axisLabel","commonLabelModel","labelTextAlign","labelTextVerticalAlign","prevAngle","isSymbol","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","valueOf","isBinary","_throttle","ecHelper","parseGeoJSON","_List","_Model","_Axis","_env","ecUtil","adjustSingleSide","viewLeft","viewTop","farthestX","shiftDown","shiftUp","changeX","isDownList","lastDeltaX","labelAlignTo","deltaY","deltaX","lastY","upList","downList","isPositionCenter","labelLayoutList","hasLabelRotate","minShowLabelRadian","labelDistance","labelLineLen2","leftList","rightList","leftmostX","rightmostX","targetTextWidth","isAlignToEdge","realTextWidth","avoidOverlap","ariaModel","seriesCnt","maxDataCnt","maxSeriesCnt","displaySeriesCnt","getTitle","getConfig","seriesLabels","seriesLabel","seriesTpl","displayCnt","dataLabels","keyValues","userConfig","canonical","Events","EE","once","emitter","listener","_events","_eventsCount","clearEvent","__proto__","eventNames","events","listeners","ee","listenerCount","emit","a1","a2","a3","a4","a5","removeListener","removeAllListeners","preventExtensions","hasShadow","_shadowDom","_shadowDomId","domChild","stdDeviation","SingleAxisView","animatable","animateToShallow","objShallow","propertyCount","setAttrByPath","animatingShape","pathSplitted","animateFrom","COORD_CONVERTS","INCLUDE_FINDER_MAIN_TYPES","targetInfoList","_targetInfoList","foundCpts","targetInfoBuilders","builder","formatMinMax","setOutputRanges","coordRanges","coordConvert","__rangeOffset","diffProcessor","xyMinMax","findTargetInfo","coordSyses","rangeOffset","xyMinMaxCurr","xyMinMaxOrigin","sizeCurr","sizeOrigin","scales","getScales","getDefaultBrushType","getPanelRect","areaPanelId","targetInfoMatchers","xAxisModels","yAxisModels","gridModels","gridModelMap","xAxesHas","yAxesHas","cartesians","panelRectBuilder","geoModels","axisConvert","rangeOrCoordRange","xminymin","xmaxymax","axisNameIndex","axisDiffProcessor","refer","CandlestickSeries","animationUpdate","decodePolygon","coordinate","encodeOffsets","encodeScale","prevX","prevY","UTF8Encoding","UTF8Scale","coordinates","c2","decode","featureObj","pieLayout","dr","rCenter","unitStartX","unitStartY","unitEndX","unitEndY","updateController","modelId","$from","labelDims","subPixelOptimizeOutputShape","getDataWithEncodedVisual","IRRELEVANT_EXCLUDES","targetCoordSysModel","colorAll","pathContain","pathProxyForDraw","hasFillGradient","hasStrokeGradient","hasFillPattern","hasStrokePattern","_fillGradient","_strokeGradient","ctxLineDash","shapeCfg","needsUpdateRect","rectWithStroke","_rectWithStroke","lineScale","Sub","defaultShape","thisShape","Cartesian","axisX","axisY","xScale","yScale","xAxisExtent","yAxisExtent","xExtent","yExtent","Stars","stars","intersection","_dragStart","_drag","_dragEnd","draggingTarget","_draggingTarget","dropTarget","lastDropTarget","_dropTarget","isAsc","sortOrder","rootDepth","renderRollupNode","rPerLevel","rStart","rEnd","siblingAngle","axisTrigger","collect","paramsSet","reals","fakeValue","layoutInput","rParam","updateRipplePath","rippleGroup","effectCfg","rippleEffectColor","ripplePath","effectSymbolProto","stopEffectAnimation","startEffectAnimation","effectOffset","rippleScale","updateEffectAnimation","oldEffectCfg","_effectCfg","DIFFICULT_PROPS","_parseSVG","originRoot","buildGraphic","field","rootMap","originRootHostKey","svgWidth","svgHeight","LargeSymbolPath","symbolProxy","softClipShape","symbolProxyShape","largeSymbolProto","byteOffset","extrudeShadow","_traversalHelper","_layoutHelper","sep","coorX","coorY","finalCoor","commonLayout","QUERY_REG","_timelineOptions","_mediaList","_mediaDefault","_currentMediaIndices","_optionBackup","_newBaseOption","parseRawOption","rawOption","mediaDefault","timelineOptions","mediaList","singleMedia","preProcess","applyMediaQuery","realMap","aspectratio","applicatable","operator","realAttr","expect","oldOption","oldOptionBackup","newParsedOption","newCptOpt","oldCptOpt","isRecreate","optionBackup","indices1","indices2","dimAxisMapper","_axes","_dimList","_dataCoordConvert","dimList","_dimName","_axisIndex","_valueWindow","_percentWindow","_minMaxSpan","_dataZoomModel","setAxisModel","isRestore","percentWindow","useOrigin","getOtherAxisModel","coordSysIndexName","foundOtherAxisModel","otherAxisModel","hasPropModeValue","boundPercent","boundValue","spans","restrictSet","fromWindow","toWindow","fromExtent","toExtent","seriesExtent","fixExtentByAxis","calculateDataExtent","percentSpan","valueSpan","setMinMaxSpan","dataWindow","leftOut","rightOut","thisHasValue","thisLeftOut","thisRightOut","isInWindow","originalLarge","originalProgressive","checkPropInLink","linkPropValue","axisPropValue","isHandleTrigger","seriesInvolved","linksOption","linkGroups","axesInfoInCoordSys","baseTooltipModel","saveTooltipAxisInfo","triggerAxis","cross","tooltipAxes","fromTooltip","axisPointerShow","tooltipAxisPointerModel","volatileOption","labelOption","tooltipAxisPointerLabelShow","makeAxisPointerModel","groupIndex","linkOption","getLinkGroupIndex","collectAxesInfo","seriesTooltipTrigger","seriesTooltipShow","collectSeriesInfo","Heatmap","_gradientPixels","colorFunc","_getBrush","gradientInRange","_getGradient","gradientOutOfRange","imageData","getImageData","pixels","pixelLen","diffOpacity","gradientOffset","putImageData","brushCanvas","_brushCanvas","gradientPixels","pixelsSingleState","Uint8ClampedArray","_event","globalEventSupported","localNativeListenerNames","mouseHandlerNames","pointerEventNameMap","pointerdown","pointerup","pointermove","pointerout","mouse","nm","globalNativeListenerNames","eventNameFix","isPointerFromTouch","pointerType","markTouch","isLocalEl","elTmp","isLocal","FakeGlobalEvent","fakeGlobalEventProto","localDOMHandlers","_mayPointerCapture","downPoint","togglePointerCapture","_pointerCapturing","toElement","relatedTarget","touchstart","touchmove","touchend","globalDOMHandlers","pointerCaptureReleasing","mountLocalDOMEventListeners","domHandlers","nativeEventName","mountSingleDOMEventListener","touching","touchTimer","setTouchTimer","mountGlobalDOMEventListeners","normalizeGlobalEvent","capture","listenerOpts","domTarget","unmountDOMEventListeners","isPointerCapturing","globalHandlerScope","_globalHandlerScope","DOMHandlerScope","HandlerDomProxy","_localHandlerScope","handlerDomProxyProto","processedMapType","mapSymbolOffsets","subMapSeries"],"mappings":"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7B,IACe,GADD,CAAC,OAAQm6R,GAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAIA,GAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAIA,GAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAIA,GAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,GAAa,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EA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","file":"static/chunks/pages/auto/series-6be336579a7b1744adb5.js","sourcesContent":["module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAAB+klEQVRoBe2WPUsDQRCGZxM/AkIsRNBYmUi0CHba2IhgG3+AGiWlP8A6YO1fiJCI1toKdjbaiYgiIdqYBD8KQcgldzvuRAMJxHjZ27PQSZO73Zl33nluljsA/jEBJsAEmAATYAJMgAkwgT9JIJ56nphOP0X8bC7gl/jURiVWl/XrmmVfx9OVqF91fGlgMYN9ji0PEDGMgMN1Sx7Smh9N+NLAfaG0o4zPNw3TNa01703+C5NipBVbLy85iCeA2A5HCBkUYrmQHzs1WdNoAzOpt5Gq834JgN8cXPEYCg7N3uTCL6aaaKfkUdWS79nvzZM4Rj5jPBZqSTfWQHS1tKUObbJFu+MlxVBsx02NRSMjpOY+4aC8AISQKw8CqkERmFPn4cpVfJcgz09gcRNDEvHQtXkyoxqlHMrt4s3VlucGHuzyrhqLhKtqLUGUQ7ktS1qXnkZocq2cRJRHWpW/koQIrBT3x451NbQboG8cq1a/VOMwolu8kSfgZXCgf/Y2O/qoo6M1QpkMBqyanfdsnhwrAKRFmr/WQO6usq3etEs6BTvmKK2GZsfN7os9j9BkqjQPDpyp7xujH2cChA1BWCjmxs+7W27f7fmxoYQ90+bJUkNTYq7d3s93PTcgAF9/ltWLQBAlvUzOYgJMgAkwASbABJgAE2ACTOA/EvgAuBS0F4BS3JMAAAAASUVORK5CYII=\"","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar _number = require(\"./number\");\n\nvar parsePercent = _number.parsePercent;\n\nvar formatUtil = require(\"./format\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Layout helpers for each component positioning\nvar each = zrUtil.each;\n/**\n * @public\n */\n\nvar LOCATION_PARAMS = ['left', 'right', 'top', 'bottom', 'width', 'height'];\n/**\n * @public\n */\n\nvar HV_NAMES = [['width', 'left', 'right'], ['height', 'top', 'bottom']];\n\nfunction boxLayout(orient, group, gap, maxWidth, maxHeight) {\n var x = 0;\n var y = 0;\n\n if (maxWidth == null) {\n maxWidth = Infinity;\n }\n\n if (maxHeight == null) {\n maxHeight = Infinity;\n }\n\n var currentLineMaxSize = 0;\n group.eachChild(function (child, idx) {\n var position = child.position;\n var rect = child.getBoundingRect();\n var nextChild = group.childAt(idx + 1);\n var nextChildRect = nextChild && nextChild.getBoundingRect();\n var nextX;\n var nextY;\n\n if (orient === 'horizontal') {\n var moveX = rect.width + (nextChildRect ? -nextChildRect.x + rect.x : 0);\n nextX = x + moveX; // Wrap when width exceeds maxWidth or meet a `newline` group\n // FIXME compare before adding gap?\n\n if (nextX > maxWidth || child.newline) {\n x = 0;\n nextX = moveX;\n y += currentLineMaxSize + gap;\n currentLineMaxSize = rect.height;\n } else {\n // FIXME: consider rect.y is not `0`?\n currentLineMaxSize = Math.max(currentLineMaxSize, rect.height);\n }\n } else {\n var moveY = rect.height + (nextChildRect ? -nextChildRect.y + rect.y : 0);\n nextY = y + moveY; // Wrap when width exceeds maxHeight or meet a `newline` group\n\n if (nextY > maxHeight || child.newline) {\n x += currentLineMaxSize + gap;\n y = 0;\n nextY = moveY;\n currentLineMaxSize = rect.width;\n } else {\n currentLineMaxSize = Math.max(currentLineMaxSize, rect.width);\n }\n }\n\n if (child.newline) {\n return;\n }\n\n position[0] = x;\n position[1] = y;\n orient === 'horizontal' ? x = nextX + gap : y = nextY + gap;\n });\n}\n/**\n * VBox or HBox layouting\n * @param {string} orient\n * @param {module:zrender/container/Group} group\n * @param {number} gap\n * @param {number} [width=Infinity]\n * @param {number} [height=Infinity]\n */\n\n\nvar box = boxLayout;\n/**\n * VBox layouting\n * @param {module:zrender/container/Group} group\n * @param {number} gap\n * @param {number} [width=Infinity]\n * @param {number} [height=Infinity]\n */\n\nvar vbox = zrUtil.curry(boxLayout, 'vertical');\n/**\n * HBox layouting\n * @param {module:zrender/container/Group} group\n * @param {number} gap\n * @param {number} [width=Infinity]\n * @param {number} [height=Infinity]\n */\n\nvar hbox = zrUtil.curry(boxLayout, 'horizontal');\n/**\n * If x or x2 is not specified or 'center' 'left' 'right',\n * the width would be as long as possible.\n * If y or y2 is not specified or 'middle' 'top' 'bottom',\n * the height would be as long as possible.\n *\n * @param {Object} positionInfo\n * @param {number|string} [positionInfo.x]\n * @param {number|string} [positionInfo.y]\n * @param {number|string} [positionInfo.x2]\n * @param {number|string} [positionInfo.y2]\n * @param {Object} containerRect {width, height}\n * @param {string|number} margin\n * @return {Object} {width, height}\n */\n\nfunction getAvailableSize(positionInfo, containerRect, margin) {\n var containerWidth = containerRect.width;\n var containerHeight = containerRect.height;\n var x = parsePercent(positionInfo.x, containerWidth);\n var y = parsePercent(positionInfo.y, containerHeight);\n var x2 = parsePercent(positionInfo.x2, containerWidth);\n var y2 = parsePercent(positionInfo.y2, containerHeight);\n (isNaN(x) || isNaN(parseFloat(positionInfo.x))) && (x = 0);\n (isNaN(x2) || isNaN(parseFloat(positionInfo.x2))) && (x2 = containerWidth);\n (isNaN(y) || isNaN(parseFloat(positionInfo.y))) && (y = 0);\n (isNaN(y2) || isNaN(parseFloat(positionInfo.y2))) && (y2 = containerHeight);\n margin = formatUtil.normalizeCssArray(margin || 0);\n return {\n width: Math.max(x2 - x - margin[1] - margin[3], 0),\n height: Math.max(y2 - y - margin[0] - margin[2], 0)\n };\n}\n/**\n * Parse position info.\n *\n * @param {Object} positionInfo\n * @param {number|string} [positionInfo.left]\n * @param {number|string} [positionInfo.top]\n * @param {number|string} [positionInfo.right]\n * @param {number|string} [positionInfo.bottom]\n * @param {number|string} [positionInfo.width]\n * @param {number|string} [positionInfo.height]\n * @param {number|string} [positionInfo.aspect] Aspect is width / height\n * @param {Object} containerRect\n * @param {string|number} [margin]\n *\n * @return {module:zrender/core/BoundingRect}\n */\n\n\nfunction getLayoutRect(positionInfo, containerRect, margin) {\n margin = formatUtil.normalizeCssArray(margin || 0);\n var containerWidth = containerRect.width;\n var containerHeight = containerRect.height;\n var left = parsePercent(positionInfo.left, containerWidth);\n var top = parsePercent(positionInfo.top, containerHeight);\n var right = parsePercent(positionInfo.right, containerWidth);\n var bottom = parsePercent(positionInfo.bottom, containerHeight);\n var width = parsePercent(positionInfo.width, containerWidth);\n var height = parsePercent(positionInfo.height, containerHeight);\n var verticalMargin = margin[2] + margin[0];\n var horizontalMargin = margin[1] + margin[3];\n var aspect = positionInfo.aspect; // If width is not specified, calculate width from left and right\n\n if (isNaN(width)) {\n width = containerWidth - right - horizontalMargin - left;\n }\n\n if (isNaN(height)) {\n height = containerHeight - bottom - verticalMargin - top;\n }\n\n if (aspect != null) {\n // If width and height are not given\n // 1. Graph should not exceeds the container\n // 2. Aspect must be keeped\n // 3. Graph should take the space as more as possible\n // FIXME\n // Margin is not considered, because there is no case that both\n // using margin and aspect so far.\n if (isNaN(width) && isNaN(height)) {\n if (aspect > containerWidth / containerHeight) {\n width = containerWidth * 0.8;\n } else {\n height = containerHeight * 0.8;\n }\n } // Calculate width or height with given aspect\n\n\n if (isNaN(width)) {\n width = aspect * height;\n }\n\n if (isNaN(height)) {\n height = width / aspect;\n }\n } // If left is not specified, calculate left from right and width\n\n\n if (isNaN(left)) {\n left = containerWidth - right - width - horizontalMargin;\n }\n\n if (isNaN(top)) {\n top = containerHeight - bottom - height - verticalMargin;\n } // Align left and top\n\n\n switch (positionInfo.left || positionInfo.right) {\n case 'center':\n left = containerWidth / 2 - width / 2 - margin[3];\n break;\n\n case 'right':\n left = containerWidth - width - horizontalMargin;\n break;\n }\n\n switch (positionInfo.top || positionInfo.bottom) {\n case 'middle':\n case 'center':\n top = containerHeight / 2 - height / 2 - margin[0];\n break;\n\n case 'bottom':\n top = containerHeight - height - verticalMargin;\n break;\n } // If something is wrong and left, top, width, height are calculated as NaN\n\n\n left = left || 0;\n top = top || 0;\n\n if (isNaN(width)) {\n // Width may be NaN if only one value is given except width\n width = containerWidth - horizontalMargin - left - (right || 0);\n }\n\n if (isNaN(height)) {\n // Height may be NaN if only one value is given except height\n height = containerHeight - verticalMargin - top - (bottom || 0);\n }\n\n var rect = new BoundingRect(left + margin[3], top + margin[0], width, height);\n rect.margin = margin;\n return rect;\n}\n/**\n * Position a zr element in viewport\n * Group position is specified by either\n * {left, top}, {right, bottom}\n * If all properties exists, right and bottom will be igonred.\n *\n * Logic:\n * 1. Scale (against origin point in parent coord)\n * 2. Rotate (against origin point in parent coord)\n * 3. Traslate (with el.position by this method)\n * So this method only fixes the last step 'Traslate', which does not affect\n * scaling and rotating.\n *\n * If be called repeatly with the same input el, the same result will be gotten.\n *\n * @param {module:zrender/Element} el Should have `getBoundingRect` method.\n * @param {Object} positionInfo\n * @param {number|string} [positionInfo.left]\n * @param {number|string} [positionInfo.top]\n * @param {number|string} [positionInfo.right]\n * @param {number|string} [positionInfo.bottom]\n * @param {number|string} [positionInfo.width] Only for opt.boundingModel: 'raw'\n * @param {number|string} [positionInfo.height] Only for opt.boundingModel: 'raw'\n * @param {Object} containerRect\n * @param {string|number} margin\n * @param {Object} [opt]\n * @param {Array.} [opt.hv=[1,1]] Only horizontal or only vertical.\n * @param {Array.} [opt.boundingMode='all']\n * Specify how to calculate boundingRect when locating.\n * 'all': Position the boundingRect that is transformed and uioned\n * both itself and its descendants.\n * This mode simplies confine the elements in the bounding\n * of their container (e.g., using 'right: 0').\n * 'raw': Position the boundingRect that is not transformed and only itself.\n * This mode is useful when you want a element can overflow its\n * container. (Consider a rotated circle needs to be located in a corner.)\n * In this mode positionInfo.width/height can only be number.\n */\n\n\nfunction positionElement(el, positionInfo, containerRect, margin, opt) {\n var h = !opt || !opt.hv || opt.hv[0];\n var v = !opt || !opt.hv || opt.hv[1];\n var boundingMode = opt && opt.boundingMode || 'all';\n\n if (!h && !v) {\n return;\n }\n\n var rect;\n\n if (boundingMode === 'raw') {\n rect = el.type === 'group' ? new BoundingRect(0, 0, +positionInfo.width || 0, +positionInfo.height || 0) : el.getBoundingRect();\n } else {\n rect = el.getBoundingRect();\n\n if (el.needLocalTransform()) {\n var transform = el.getLocalTransform(); // Notice: raw rect may be inner object of el,\n // which should not be modified.\n\n rect = rect.clone();\n rect.applyTransform(transform);\n }\n } // The real width and height can not be specified but calculated by the given el.\n\n\n positionInfo = getLayoutRect(zrUtil.defaults({\n width: rect.width,\n height: rect.height\n }, positionInfo), containerRect, margin); // Because 'tranlate' is the last step in transform\n // (see zrender/core/Transformable#getLocalTransform),\n // we can just only modify el.position to get final result.\n\n var elPos = el.position;\n var dx = h ? positionInfo.x - rect.x : 0;\n var dy = v ? positionInfo.y - rect.y : 0;\n el.attr('position', boundingMode === 'raw' ? [dx, dy] : [elPos[0] + dx, elPos[1] + dy]);\n}\n/**\n * @param {Object} option Contains some of the properties in HV_NAMES.\n * @param {number} hvIdx 0: horizontal; 1: vertical.\n */\n\n\nfunction sizeCalculable(option, hvIdx) {\n return option[HV_NAMES[hvIdx][0]] != null || option[HV_NAMES[hvIdx][1]] != null && option[HV_NAMES[hvIdx][2]] != null;\n}\n/**\n * Consider Case:\n * When defulat option has {left: 0, width: 100}, and we set {right: 0}\n * through setOption or media query, using normal zrUtil.merge will cause\n * {right: 0} does not take effect.\n *\n * @example\n * ComponentModel.extend({\n * init: function () {\n * ...\n * var inputPositionParams = layout.getLayoutParams(option);\n * this.mergeOption(inputPositionParams);\n * },\n * mergeOption: function (newOption) {\n * newOption && zrUtil.merge(thisOption, newOption, true);\n * layout.mergeLayoutParam(thisOption, newOption);\n * }\n * });\n *\n * @param {Object} targetOption\n * @param {Object} newOption\n * @param {Object|string} [opt]\n * @param {boolean|Array.} [opt.ignoreSize=false] Used for the components\n * that width (or height) should not be calculated by left and right (or top and bottom).\n */\n\n\nfunction mergeLayoutParam(targetOption, newOption, opt) {\n !zrUtil.isObject(opt) && (opt = {});\n var ignoreSize = opt.ignoreSize;\n !zrUtil.isArray(ignoreSize) && (ignoreSize = [ignoreSize, ignoreSize]);\n var hResult = merge(HV_NAMES[0], 0);\n var vResult = merge(HV_NAMES[1], 1);\n copy(HV_NAMES[0], targetOption, hResult);\n copy(HV_NAMES[1], targetOption, vResult);\n\n function merge(names, hvIdx) {\n var newParams = {};\n var newValueCount = 0;\n var merged = {};\n var mergedValueCount = 0;\n var enoughParamNumber = 2;\n each(names, function (name) {\n merged[name] = targetOption[name];\n });\n each(names, function (name) {\n // Consider case: newOption.width is null, which is\n // set by user for removing width setting.\n hasProp(newOption, name) && (newParams[name] = merged[name] = newOption[name]);\n hasValue(newParams, name) && newValueCount++;\n hasValue(merged, name) && mergedValueCount++;\n });\n\n if (ignoreSize[hvIdx]) {\n // Only one of left/right is premitted to exist.\n if (hasValue(newOption, names[1])) {\n merged[names[2]] = null;\n } else if (hasValue(newOption, names[2])) {\n merged[names[1]] = null;\n }\n\n return merged;\n } // Case: newOption: {width: ..., right: ...},\n // or targetOption: {right: ...} and newOption: {width: ...},\n // There is no conflict when merged only has params count\n // little than enoughParamNumber.\n\n\n if (mergedValueCount === enoughParamNumber || !newValueCount) {\n return merged;\n } // Case: newOption: {width: ..., right: ...},\n // Than we can make sure user only want those two, and ignore\n // all origin params in targetOption.\n else if (newValueCount >= enoughParamNumber) {\n return newParams;\n } else {\n // Chose another param from targetOption by priority.\n for (var i = 0; i < names.length; i++) {\n var name = names[i];\n\n if (!hasProp(newParams, name) && hasProp(targetOption, name)) {\n newParams[name] = targetOption[name];\n break;\n }\n }\n\n return newParams;\n }\n }\n\n function hasProp(obj, name) {\n return obj.hasOwnProperty(name);\n }\n\n function hasValue(obj, name) {\n return obj[name] != null && obj[name] !== 'auto';\n }\n\n function copy(names, target, source) {\n each(names, function (name) {\n target[name] = source[name];\n });\n }\n}\n/**\n * Retrieve 'left', 'right', 'top', 'bottom', 'width', 'height' from object.\n * @param {Object} source\n * @return {Object} Result contains those props.\n */\n\n\nfunction getLayoutParams(source) {\n return copyLayoutParams({}, source);\n}\n/**\n * Retrieve 'left', 'right', 'top', 'bottom', 'width', 'height' from object.\n * @param {Object} source\n * @return {Object} Result contains those props.\n */\n\n\nfunction copyLayoutParams(target, source) {\n source && target && each(LOCATION_PARAMS, function (name) {\n source.hasOwnProperty(name) && (target[name] = source[name]);\n });\n return target;\n}\n\nexports.LOCATION_PARAMS = LOCATION_PARAMS;\nexports.HV_NAMES = HV_NAMES;\nexports.box = box;\nexports.vbox = vbox;\nexports.hbox = hbox;\nexports.getAvailableSize = getAvailableSize;\nexports.getLayoutRect = getLayoutRect;\nexports.positionElement = positionElement;\nexports.sizeCalculable = sizeCalculable;\nexports.mergeLayoutParam = mergeLayoutParam;\nexports.getLayoutParams = getLayoutParams;\nexports.copyLayoutParams = copyLayoutParams;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./boxplot/BoxplotSeries\");\n\nrequire(\"./boxplot/BoxplotView\");\n\nvar boxplotVisual = require(\"./boxplot/boxplotVisual\");\n\nvar boxplotLayout = require(\"./boxplot/boxplotLayout\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerVisual(boxplotVisual);\necharts.registerLayout(boxplotLayout);","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar retrieve = _util.retrieve;\nvar defaults = _util.defaults;\nvar extend = _util.extend;\nvar each = _util.each;\n\nvar formatUtil = require(\"../../util/format\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar Model = require(\"../../model/Model\");\n\nvar _number = require(\"../../util/number\");\n\nvar isRadianAroundZero = _number.isRadianAroundZero;\nvar remRadian = _number.remRadian;\n\nvar _symbol = require(\"../../util/symbol\");\n\nvar createSymbol = _symbol.createSymbol;\n\nvar matrixUtil = require(\"zrender/lib/core/matrix\");\n\nvar _vector = require(\"zrender/lib/core/vector\");\n\nvar v2ApplyTransform = _vector.applyTransform;\n\nvar _axisHelper = require(\"../../coord/axisHelper\");\n\nvar shouldShowAllLabels = _axisHelper.shouldShowAllLabels;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar PI = Math.PI;\n/**\n * A final axis is translated and rotated from a \"standard axis\".\n * So opt.position and opt.rotation is required.\n *\n * A standard axis is and axis from [0, 0] to [0, axisExtent[1]],\n * for example: (0, 0) ------------> (0, 50)\n *\n * nameDirection or tickDirection or labelDirection is 1 means tick\n * or label is below the standard axis, whereas is -1 means above\n * the standard axis. labelOffset means offset between label and axis,\n * which is useful when 'onZero', where axisLabel is in the grid and\n * label in outside grid.\n *\n * Tips: like always,\n * positive rotation represents anticlockwise, and negative rotation\n * represents clockwise.\n * The direction of position coordinate is the same as the direction\n * of screen coordinate.\n *\n * Do not need to consider axis 'inverse', which is auto processed by\n * axis extent.\n *\n * @param {module:zrender/container/Group} group\n * @param {Object} axisModel\n * @param {Object} opt Standard axis parameters.\n * @param {Array.} opt.position [x, y]\n * @param {number} opt.rotation by radian\n * @param {number} [opt.nameDirection=1] 1 or -1 Used when nameLocation is 'middle' or 'center'.\n * @param {number} [opt.tickDirection=1] 1 or -1\n * @param {number} [opt.labelDirection=1] 1 or -1\n * @param {number} [opt.labelOffset=0] Usefull when onZero.\n * @param {string} [opt.axisLabelShow] default get from axisModel.\n * @param {string} [opt.axisName] default get from axisModel.\n * @param {number} [opt.axisNameAvailableWidth]\n * @param {number} [opt.labelRotate] by degree, default get from axisModel.\n * @param {number} [opt.strokeContainThreshold] Default label interval when label\n * @param {number} [opt.nameTruncateMaxWidth]\n */\n\nvar AxisBuilder = function (axisModel, opt) {\n /**\n * @readOnly\n */\n this.opt = opt;\n /**\n * @readOnly\n */\n\n this.axisModel = axisModel; // Default value\n\n defaults(opt, {\n labelOffset: 0,\n nameDirection: 1,\n tickDirection: 1,\n labelDirection: 1,\n silent: true\n });\n /**\n * @readOnly\n */\n\n this.group = new graphic.Group(); // FIXME Not use a seperate text group?\n\n var dumbGroup = new graphic.Group({\n position: opt.position.slice(),\n rotation: opt.rotation\n }); // this.group.add(dumbGroup);\n // this._dumbGroup = dumbGroup;\n\n dumbGroup.updateTransform();\n this._transform = dumbGroup.transform;\n this._dumbGroup = dumbGroup;\n};\n\nAxisBuilder.prototype = {\n constructor: AxisBuilder,\n hasBuilder: function (name) {\n return !!builders[name];\n },\n add: function (name) {\n builders[name].call(this);\n },\n getGroup: function () {\n return this.group;\n }\n};\nvar builders = {\n /**\n * @private\n */\n axisLine: function () {\n var opt = this.opt;\n var axisModel = this.axisModel;\n\n if (!axisModel.get('axisLine.show')) {\n return;\n }\n\n var extent = this.axisModel.axis.getExtent();\n var matrix = this._transform;\n var pt1 = [extent[0], 0];\n var pt2 = [extent[1], 0];\n\n if (matrix) {\n v2ApplyTransform(pt1, pt1, matrix);\n v2ApplyTransform(pt2, pt2, matrix);\n }\n\n var lineStyle = extend({\n lineCap: 'round'\n }, axisModel.getModel('axisLine.lineStyle').getLineStyle());\n this.group.add(new graphic.Line({\n // Id for animation\n anid: 'line',\n subPixelOptimize: true,\n shape: {\n x1: pt1[0],\n y1: pt1[1],\n x2: pt2[0],\n y2: pt2[1]\n },\n style: lineStyle,\n strokeContainThreshold: opt.strokeContainThreshold || 5,\n silent: true,\n z2: 1\n }));\n var arrows = axisModel.get('axisLine.symbol');\n var arrowSize = axisModel.get('axisLine.symbolSize');\n var arrowOffset = axisModel.get('axisLine.symbolOffset') || 0;\n\n if (typeof arrowOffset === 'number') {\n arrowOffset = [arrowOffset, arrowOffset];\n }\n\n if (arrows != null) {\n if (typeof arrows === 'string') {\n // Use the same arrow for start and end point\n arrows = [arrows, arrows];\n }\n\n if (typeof arrowSize === 'string' || typeof arrowSize === 'number') {\n // Use the same size for width and height\n arrowSize = [arrowSize, arrowSize];\n }\n\n var symbolWidth = arrowSize[0];\n var symbolHeight = arrowSize[1];\n each([{\n rotate: opt.rotation + Math.PI / 2,\n offset: arrowOffset[0],\n r: 0\n }, {\n rotate: opt.rotation - Math.PI / 2,\n offset: arrowOffset[1],\n r: Math.sqrt((pt1[0] - pt2[0]) * (pt1[0] - pt2[0]) + (pt1[1] - pt2[1]) * (pt1[1] - pt2[1]))\n }], function (point, index) {\n if (arrows[index] !== 'none' && arrows[index] != null) {\n var symbol = createSymbol(arrows[index], -symbolWidth / 2, -symbolHeight / 2, symbolWidth, symbolHeight, lineStyle.stroke, true); // Calculate arrow position with offset\n\n var r = point.r + point.offset;\n var pos = [pt1[0] + r * Math.cos(opt.rotation), pt1[1] - r * Math.sin(opt.rotation)];\n symbol.attr({\n rotation: point.rotate,\n position: pos,\n silent: true,\n z2: 11\n });\n this.group.add(symbol);\n }\n }, this);\n }\n },\n\n /**\n * @private\n */\n axisTickLabel: function () {\n var axisModel = this.axisModel;\n var opt = this.opt;\n var ticksEls = buildAxisMajorTicks(this, axisModel, opt);\n var labelEls = buildAxisLabel(this, axisModel, opt);\n fixMinMaxLabelShow(axisModel, labelEls, ticksEls);\n buildAxisMinorTicks(this, axisModel, opt);\n },\n\n /**\n * @private\n */\n axisName: function () {\n var opt = this.opt;\n var axisModel = this.axisModel;\n var name = retrieve(opt.axisName, axisModel.get('name'));\n\n if (!name) {\n return;\n }\n\n var nameLocation = axisModel.get('nameLocation');\n var nameDirection = opt.nameDirection;\n var textStyleModel = axisModel.getModel('nameTextStyle');\n var gap = axisModel.get('nameGap') || 0;\n var extent = this.axisModel.axis.getExtent();\n var gapSignal = extent[0] > extent[1] ? -1 : 1;\n var pos = [nameLocation === 'start' ? extent[0] - gapSignal * gap : nameLocation === 'end' ? extent[1] + gapSignal * gap : (extent[0] + extent[1]) / 2, // 'middle'\n // Reuse labelOffset.\n isNameLocationCenter(nameLocation) ? opt.labelOffset + nameDirection * gap : 0];\n var labelLayout;\n var nameRotation = axisModel.get('nameRotate');\n\n if (nameRotation != null) {\n nameRotation = nameRotation * PI / 180; // To radian.\n }\n\n var axisNameAvailableWidth;\n\n if (isNameLocationCenter(nameLocation)) {\n labelLayout = innerTextLayout(opt.rotation, nameRotation != null ? nameRotation : opt.rotation, // Adapt to axis.\n nameDirection);\n } else {\n labelLayout = endTextLayout(opt, nameLocation, nameRotation || 0, extent);\n axisNameAvailableWidth = opt.axisNameAvailableWidth;\n\n if (axisNameAvailableWidth != null) {\n axisNameAvailableWidth = Math.abs(axisNameAvailableWidth / Math.sin(labelLayout.rotation));\n !isFinite(axisNameAvailableWidth) && (axisNameAvailableWidth = null);\n }\n }\n\n var textFont = textStyleModel.getFont();\n var truncateOpt = axisModel.get('nameTruncate', true) || {};\n var ellipsis = truncateOpt.ellipsis;\n var maxWidth = retrieve(opt.nameTruncateMaxWidth, truncateOpt.maxWidth, axisNameAvailableWidth); // FIXME\n // truncate rich text? (consider performance)\n\n var truncatedText = ellipsis != null && maxWidth != null ? formatUtil.truncateText(name, maxWidth, textFont, ellipsis, {\n minChar: 2,\n placeholder: truncateOpt.placeholder\n }) : name;\n var tooltipOpt = axisModel.get('tooltip', true);\n var mainType = axisModel.mainType;\n var formatterParams = {\n componentType: mainType,\n name: name,\n $vars: ['name']\n };\n formatterParams[mainType + 'Index'] = axisModel.componentIndex;\n var textEl = new graphic.Text({\n // Id for animation\n anid: 'name',\n __fullText: name,\n __truncatedText: truncatedText,\n position: pos,\n rotation: labelLayout.rotation,\n silent: isLabelSilent(axisModel),\n z2: 1,\n tooltip: tooltipOpt && tooltipOpt.show ? extend({\n content: name,\n formatter: function () {\n return name;\n },\n formatterParams: formatterParams\n }, tooltipOpt) : null\n });\n graphic.setTextStyle(textEl.style, textStyleModel, {\n text: truncatedText,\n textFont: textFont,\n textFill: textStyleModel.getTextColor() || axisModel.get('axisLine.lineStyle.color'),\n textAlign: textStyleModel.get('align') || labelLayout.textAlign,\n textVerticalAlign: textStyleModel.get('verticalAlign') || labelLayout.textVerticalAlign\n });\n\n if (axisModel.get('triggerEvent')) {\n textEl.eventData = makeAxisEventDataBase(axisModel);\n textEl.eventData.targetType = 'axisName';\n textEl.eventData.name = name;\n } // FIXME\n\n\n this._dumbGroup.add(textEl);\n\n textEl.updateTransform();\n this.group.add(textEl);\n textEl.decomposeTransform();\n }\n};\n\nvar makeAxisEventDataBase = AxisBuilder.makeAxisEventDataBase = function (axisModel) {\n var eventData = {\n componentType: axisModel.mainType,\n componentIndex: axisModel.componentIndex\n };\n eventData[axisModel.mainType + 'Index'] = axisModel.componentIndex;\n return eventData;\n};\n/**\n * @public\n * @static\n * @param {Object} opt\n * @param {number} axisRotation in radian\n * @param {number} textRotation in radian\n * @param {number} direction\n * @return {Object} {\n * rotation, // according to axis\n * textAlign,\n * textVerticalAlign\n * }\n */\n\n\nvar innerTextLayout = AxisBuilder.innerTextLayout = function (axisRotation, textRotation, direction) {\n var rotationDiff = remRadian(textRotation - axisRotation);\n var textAlign;\n var textVerticalAlign;\n\n if (isRadianAroundZero(rotationDiff)) {\n // Label is parallel with axis line.\n textVerticalAlign = direction > 0 ? 'top' : 'bottom';\n textAlign = 'center';\n } else if (isRadianAroundZero(rotationDiff - PI)) {\n // Label is inverse parallel with axis line.\n textVerticalAlign = direction > 0 ? 'bottom' : 'top';\n textAlign = 'center';\n } else {\n textVerticalAlign = 'middle';\n\n if (rotationDiff > 0 && rotationDiff < PI) {\n textAlign = direction > 0 ? 'right' : 'left';\n } else {\n textAlign = direction > 0 ? 'left' : 'right';\n }\n }\n\n return {\n rotation: rotationDiff,\n textAlign: textAlign,\n textVerticalAlign: textVerticalAlign\n };\n};\n\nfunction endTextLayout(opt, textPosition, textRotate, extent) {\n var rotationDiff = remRadian(textRotate - opt.rotation);\n var textAlign;\n var textVerticalAlign;\n var inverse = extent[0] > extent[1];\n var onLeft = textPosition === 'start' && !inverse || textPosition !== 'start' && inverse;\n\n if (isRadianAroundZero(rotationDiff - PI / 2)) {\n textVerticalAlign = onLeft ? 'bottom' : 'top';\n textAlign = 'center';\n } else if (isRadianAroundZero(rotationDiff - PI * 1.5)) {\n textVerticalAlign = onLeft ? 'top' : 'bottom';\n textAlign = 'center';\n } else {\n textVerticalAlign = 'middle';\n\n if (rotationDiff < PI * 1.5 && rotationDiff > PI / 2) {\n textAlign = onLeft ? 'left' : 'right';\n } else {\n textAlign = onLeft ? 'right' : 'left';\n }\n }\n\n return {\n rotation: rotationDiff,\n textAlign: textAlign,\n textVerticalAlign: textVerticalAlign\n };\n}\n\nvar isLabelSilent = AxisBuilder.isLabelSilent = function (axisModel) {\n var tooltipOpt = axisModel.get('tooltip');\n return axisModel.get('silent') // Consider mouse cursor, add these restrictions.\n || !(axisModel.get('triggerEvent') || tooltipOpt && tooltipOpt.show);\n};\n\nfunction fixMinMaxLabelShow(axisModel, labelEls, tickEls) {\n if (shouldShowAllLabels(axisModel.axis)) {\n return;\n } // If min or max are user set, we need to check\n // If the tick on min(max) are overlap on their neighbour tick\n // If they are overlapped, we need to hide the min(max) tick label\n\n\n var showMinLabel = axisModel.get('axisLabel.showMinLabel');\n var showMaxLabel = axisModel.get('axisLabel.showMaxLabel'); // FIXME\n // Have not consider onBand yet, where tick els is more than label els.\n\n labelEls = labelEls || [];\n tickEls = tickEls || [];\n var firstLabel = labelEls[0];\n var nextLabel = labelEls[1];\n var lastLabel = labelEls[labelEls.length - 1];\n var prevLabel = labelEls[labelEls.length - 2];\n var firstTick = tickEls[0];\n var nextTick = tickEls[1];\n var lastTick = tickEls[tickEls.length - 1];\n var prevTick = tickEls[tickEls.length - 2];\n\n if (showMinLabel === false) {\n ignoreEl(firstLabel);\n ignoreEl(firstTick);\n } else if (isTwoLabelOverlapped(firstLabel, nextLabel)) {\n if (showMinLabel) {\n ignoreEl(nextLabel);\n ignoreEl(nextTick);\n } else {\n ignoreEl(firstLabel);\n ignoreEl(firstTick);\n }\n }\n\n if (showMaxLabel === false) {\n ignoreEl(lastLabel);\n ignoreEl(lastTick);\n } else if (isTwoLabelOverlapped(prevLabel, lastLabel)) {\n if (showMaxLabel) {\n ignoreEl(prevLabel);\n ignoreEl(prevTick);\n } else {\n ignoreEl(lastLabel);\n ignoreEl(lastTick);\n }\n }\n}\n\nfunction ignoreEl(el) {\n el && (el.ignore = true);\n}\n\nfunction isTwoLabelOverlapped(current, next, labelLayout) {\n // current and next has the same rotation.\n var firstRect = current && current.getBoundingRect().clone();\n var nextRect = next && next.getBoundingRect().clone();\n\n if (!firstRect || !nextRect) {\n return;\n } // When checking intersect of two rotated labels, we use mRotationBack\n // to avoid that boundingRect is enlarge when using `boundingRect.applyTransform`.\n\n\n var mRotationBack = matrixUtil.identity([]);\n matrixUtil.rotate(mRotationBack, mRotationBack, -current.rotation);\n firstRect.applyTransform(matrixUtil.mul([], mRotationBack, current.getLocalTransform()));\n nextRect.applyTransform(matrixUtil.mul([], mRotationBack, next.getLocalTransform()));\n return firstRect.intersect(nextRect);\n}\n\nfunction isNameLocationCenter(nameLocation) {\n return nameLocation === 'middle' || nameLocation === 'center';\n}\n\nfunction createTicks(ticksCoords, tickTransform, tickEndCoord, tickLineStyle, aniid) {\n var tickEls = [];\n var pt1 = [];\n var pt2 = [];\n\n for (var i = 0; i < ticksCoords.length; i++) {\n var tickCoord = ticksCoords[i].coord;\n pt1[0] = tickCoord;\n pt1[1] = 0;\n pt2[0] = tickCoord;\n pt2[1] = tickEndCoord;\n\n if (tickTransform) {\n v2ApplyTransform(pt1, pt1, tickTransform);\n v2ApplyTransform(pt2, pt2, tickTransform);\n } // Tick line, Not use group transform to have better line draw\n\n\n var tickEl = new graphic.Line({\n // Id for animation\n anid: aniid + '_' + ticksCoords[i].tickValue,\n subPixelOptimize: true,\n shape: {\n x1: pt1[0],\n y1: pt1[1],\n x2: pt2[0],\n y2: pt2[1]\n },\n style: tickLineStyle,\n z2: 2,\n silent: true\n });\n tickEls.push(tickEl);\n }\n\n return tickEls;\n}\n\nfunction buildAxisMajorTicks(axisBuilder, axisModel, opt) {\n var axis = axisModel.axis;\n var tickModel = axisModel.getModel('axisTick');\n\n if (!tickModel.get('show') || axis.scale.isBlank()) {\n return;\n }\n\n var lineStyleModel = tickModel.getModel('lineStyle');\n var tickEndCoord = opt.tickDirection * tickModel.get('length');\n var ticksCoords = axis.getTicksCoords();\n var ticksEls = createTicks(ticksCoords, axisBuilder._transform, tickEndCoord, defaults(lineStyleModel.getLineStyle(), {\n stroke: axisModel.get('axisLine.lineStyle.color')\n }), 'ticks');\n\n for (var i = 0; i < ticksEls.length; i++) {\n axisBuilder.group.add(ticksEls[i]);\n }\n\n return ticksEls;\n}\n\nfunction buildAxisMinorTicks(axisBuilder, axisModel, opt) {\n var axis = axisModel.axis;\n var minorTickModel = axisModel.getModel('minorTick');\n\n if (!minorTickModel.get('show') || axis.scale.isBlank()) {\n return;\n }\n\n var minorTicksCoords = axis.getMinorTicksCoords();\n\n if (!minorTicksCoords.length) {\n return;\n }\n\n var lineStyleModel = minorTickModel.getModel('lineStyle');\n var tickEndCoord = opt.tickDirection * minorTickModel.get('length');\n var minorTickLineStyle = defaults(lineStyleModel.getLineStyle(), defaults(axisModel.getModel('axisTick').getLineStyle(), {\n stroke: axisModel.get('axisLine.lineStyle.color')\n }));\n\n for (var i = 0; i < minorTicksCoords.length; i++) {\n var minorTicksEls = createTicks(minorTicksCoords[i], axisBuilder._transform, tickEndCoord, minorTickLineStyle, 'minorticks_' + i);\n\n for (var k = 0; k < minorTicksEls.length; k++) {\n axisBuilder.group.add(minorTicksEls[k]);\n }\n }\n}\n\nfunction buildAxisLabel(axisBuilder, axisModel, opt) {\n var axis = axisModel.axis;\n var show = retrieve(opt.axisLabelShow, axisModel.get('axisLabel.show'));\n\n if (!show || axis.scale.isBlank()) {\n return;\n }\n\n var labelModel = axisModel.getModel('axisLabel');\n var labelMargin = labelModel.get('margin');\n var labels = axis.getViewLabels(); // Special label rotate.\n\n var labelRotation = (retrieve(opt.labelRotate, labelModel.get('rotate')) || 0) * PI / 180;\n var labelLayout = innerTextLayout(opt.rotation, labelRotation, opt.labelDirection);\n var rawCategoryData = axisModel.getCategories && axisModel.getCategories(true);\n var labelEls = [];\n var silent = isLabelSilent(axisModel);\n var triggerEvent = axisModel.get('triggerEvent');\n each(labels, function (labelItem, index) {\n var tickValue = labelItem.tickValue;\n var formattedLabel = labelItem.formattedLabel;\n var rawLabel = labelItem.rawLabel;\n var itemLabelModel = labelModel;\n\n if (rawCategoryData && rawCategoryData[tickValue] && rawCategoryData[tickValue].textStyle) {\n itemLabelModel = new Model(rawCategoryData[tickValue].textStyle, labelModel, axisModel.ecModel);\n }\n\n var textColor = itemLabelModel.getTextColor() || axisModel.get('axisLine.lineStyle.color');\n var tickCoord = axis.dataToCoord(tickValue);\n var pos = [tickCoord, opt.labelOffset + opt.labelDirection * labelMargin];\n var textEl = new graphic.Text({\n // Id for animation\n anid: 'label_' + tickValue,\n position: pos,\n rotation: labelLayout.rotation,\n silent: silent,\n z2: 10\n });\n graphic.setTextStyle(textEl.style, itemLabelModel, {\n text: formattedLabel,\n textAlign: itemLabelModel.getShallow('align', true) || labelLayout.textAlign,\n textVerticalAlign: itemLabelModel.getShallow('verticalAlign', true) || itemLabelModel.getShallow('baseline', true) || labelLayout.textVerticalAlign,\n textFill: typeof textColor === 'function' ? textColor( // (1) In category axis with data zoom, tick is not the original\n // index of axis.data. So tick should not be exposed to user\n // in category axis.\n // (2) Compatible with previous version, which always use formatted label as\n // input. But in interval scale the formatted label is like '223,445', which\n // maked user repalce ','. So we modify it to return original val but remain\n // it as 'string' to avoid error in replacing.\n axis.type === 'category' ? rawLabel : axis.type === 'value' ? tickValue + '' : tickValue, index) : textColor\n }); // Pack data for mouse event\n\n if (triggerEvent) {\n textEl.eventData = makeAxisEventDataBase(axisModel);\n textEl.eventData.targetType = 'axisLabel';\n textEl.eventData.value = rawLabel;\n } // FIXME\n\n\n axisBuilder._dumbGroup.add(textEl);\n\n textEl.updateTransform();\n labelEls.push(textEl);\n axisBuilder.group.add(textEl);\n textEl.decomposeTransform();\n });\n return labelEls;\n}\n\nvar _default = AxisBuilder;\nmodule.exports = _default;","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAACG0lEQVRoBe2YMU/CQBTH7x0oOLhoolETaIsxAgYHI4sODYmrowkDJDq6uujGpl9Av4euJjoYFx1IEGIgFIwDiYOTg6hwz4LapJEglGtr9Fi4e72+9///XsvREiI+goAgIAgIAoKAICAI/F8CwMt6UIlc6LnGKMJmtVq44pX3pzz0pwU9H0dcJYgRBngpKdHdTCbDL3cXEfw6IIfRVAfgzD/kSxWL2ZopznliHyXERP21npNno+ucNZvS2Wfgo8w4a7JjWQkfSqrqN1XmNLHbQFsmQ7KN9w/XoVBsgZNuI40jBtrVkCw02dt1UIluG9U5DJwzoIvV73I/QXYoyZHj+fn4OAf9xFEDX4KR4Przy1MuFIomvmJWv10x8Cl2usHYqaRE9lVV9Vo1YN8+0IciALga9nqSpdJNpY/T2kvd7IChFRHjr41Gdm5uccYI9jj4FQY+tSIANe/mPZj4FQZal5CXepas/O1w2wDTxR9IgYmVcjmv9QD82xI3b+Kal9KUphXOvqnqI+BKB4DAyYhvNDao+JZPy7+/fUAylurtriPQnbtK4cgIDjhwzgCQvAeGkpqWyw+o2XS6I5cQBXIEgcll3uJbTuzuwCP10K1quXBCKrcmcrwm9nWg9Ug57I+1xfNS2yEPfwMADX1H3dtMb6xZ2Zg6aOwa4rYPSHL4XK80BYSmnXyt0tWdOCgICAKCgCAgCAgCgsAfJ/AOh5+H7ARnjIMAAAAASUVORK5CYII=\"","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar each = _util.each;\nvar isArray = _util.isArray;\nvar isObject = _util.isObject;\n\nvar compatStyle = require(\"./helper/compatStyle\");\n\nvar _model = require(\"../util/model\");\n\nvar normalizeToArray = _model.normalizeToArray;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Compatitable with 2.0\nfunction get(opt, path) {\n path = path.split(',');\n var obj = opt;\n\n for (var i = 0; i < path.length; i++) {\n obj = obj && obj[path[i]];\n\n if (obj == null) {\n break;\n }\n }\n\n return obj;\n}\n\nfunction set(opt, path, val, overwrite) {\n path = path.split(',');\n var obj = opt;\n var key;\n\n for (var i = 0; i < path.length - 1; i++) {\n key = path[i];\n\n if (obj[key] == null) {\n obj[key] = {};\n }\n\n obj = obj[key];\n }\n\n if (overwrite || obj[path[i]] == null) {\n obj[path[i]] = val;\n }\n}\n\nfunction compatLayoutProperties(option) {\n each(LAYOUT_PROPERTIES, function (prop) {\n if (prop[0] in option && !(prop[1] in option)) {\n option[prop[1]] = option[prop[0]];\n }\n });\n}\n\nvar LAYOUT_PROPERTIES = [['x', 'left'], ['y', 'top'], ['x2', 'right'], ['y2', 'bottom']];\nvar COMPATITABLE_COMPONENTS = ['grid', 'geo', 'parallel', 'legend', 'toolbox', 'title', 'visualMap', 'dataZoom', 'timeline'];\n\nfunction _default(option, isTheme) {\n compatStyle(option, isTheme); // Make sure series array for model initialization.\n\n option.series = normalizeToArray(option.series);\n each(option.series, function (seriesOpt) {\n if (!isObject(seriesOpt)) {\n return;\n }\n\n var seriesType = seriesOpt.type;\n\n if (seriesType === 'line') {\n if (seriesOpt.clipOverflow != null) {\n seriesOpt.clip = seriesOpt.clipOverflow;\n }\n } else if (seriesType === 'pie' || seriesType === 'gauge') {\n if (seriesOpt.clockWise != null) {\n seriesOpt.clockwise = seriesOpt.clockWise;\n }\n } else if (seriesType === 'gauge') {\n var pointerColor = get(seriesOpt, 'pointer.color');\n pointerColor != null && set(seriesOpt, 'itemStyle.color', pointerColor);\n }\n\n compatLayoutProperties(seriesOpt);\n }); // dataRange has changed to visualMap\n\n if (option.dataRange) {\n option.visualMap = option.dataRange;\n }\n\n each(COMPATITABLE_COMPONENTS, function (componentName) {\n var options = option[componentName];\n\n if (options) {\n if (!isArray(options)) {\n options = [options];\n }\n\n each(options, function (option) {\n compatLayoutProperties(option);\n });\n }\n });\n}\n\nmodule.exports = _default;","import React, { useEffect, useState } from 'react'\nimport classnames from 'classnames'\nimport { Router, useRouter } from 'next/router'\n\ninterface IProps {\n seriesId: number\n seriesName: string\n dealerPrice: string\n titles: {\n name: string\n url?: string\n el?: string\n outer?: boolean\n }[]\n activeIndex?: string\n handleAnchorClick?: (name: string) => void\n}\n\nexport default function TopAnchor({ params }: { params: IProps }) {\n const { titles, activeIndex, handleAnchorClick } = params\n\n const [currIndex, setCurrIndex] = useState(0)\n const router = useRouter()\n\n useEffect(() => {\n switch (activeIndex) {\n case 'home':\n setCurrIndex(0)\n break\n case 'article':\n setCurrIndex(5)\n break\n case 'video':\n setCurrIndex(6)\n break\n case 'qa':\n setCurrIndex(3)\n break\n }\n }, [activeIndex])\n\n return (\n
\n
    \n {titles.map((item, index: number) => (\n {\n if (!item.url || currIndex === index) return\n if (item.outer) {\n window.open(item.url)\n } else {\n router.push(item.url)\n }\n if (typeof handleAnchorClick === 'function') {\n handleAnchorClick(item.name)\n }\n }}\n >\n {item.name}\n \n ))}\n
\n\n \n
\n )\n}\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Eventful = require(\"zrender/lib/mixin/Eventful\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar interactionMutex = require(\"./interactionMutex\");\n\nvar DataDiffer = require(\"../../data/DataDiffer\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar curry = zrUtil.curry;\nvar each = zrUtil.each;\nvar map = zrUtil.map;\nvar mathMin = Math.min;\nvar mathMax = Math.max;\nvar mathPow = Math.pow;\nvar COVER_Z = 10000;\nvar UNSELECT_THRESHOLD = 6;\nvar MIN_RESIZE_LINE_WIDTH = 6;\nvar MUTEX_RESOURCE_KEY = 'globalPan';\nvar DIRECTION_MAP = {\n w: [0, 0],\n e: [0, 1],\n n: [1, 0],\n s: [1, 1]\n};\nvar CURSOR_MAP = {\n w: 'ew',\n e: 'ew',\n n: 'ns',\n s: 'ns',\n ne: 'nesw',\n sw: 'nesw',\n nw: 'nwse',\n se: 'nwse'\n};\nvar DEFAULT_BRUSH_OPT = {\n brushStyle: {\n lineWidth: 2,\n stroke: 'rgba(0,0,0,0.3)',\n fill: 'rgba(0,0,0,0.1)'\n },\n transformable: true,\n brushMode: 'single',\n removeOnClick: false\n};\nvar baseUID = 0;\n/**\n * @alias module:echarts/component/helper/BrushController\n * @constructor\n * @mixin {module:zrender/mixin/Eventful}\n * @event module:echarts/component/helper/BrushController#brush\n * params:\n * areas: Array., coord relates to container group,\n * If no container specified, to global.\n * opt {\n * isEnd: boolean,\n * removeOnClick: boolean\n * }\n *\n * @param {module:zrender/zrender~ZRender} zr\n */\n\nfunction BrushController(zr) {\n Eventful.call(this);\n /**\n * @type {module:zrender/zrender~ZRender}\n * @private\n */\n\n this._zr = zr;\n /**\n * @type {module:zrender/container/Group}\n * @readOnly\n */\n\n this.group = new graphic.Group();\n /**\n * Only for drawing (after enabledBrush).\n * 'line', 'rect', 'polygon' or false\n * If passing false/null/undefined, disable brush.\n * If passing 'auto', determined by panel.defaultBrushType\n * @private\n * @type {string}\n */\n\n this._brushType;\n /**\n * Only for drawing (after enabledBrush).\n *\n * @private\n * @type {Object}\n */\n\n this._brushOption;\n /**\n * @private\n * @type {Object}\n */\n\n this._panels;\n /**\n * @private\n * @type {Array.}\n */\n\n this._track = [];\n /**\n * @private\n * @type {boolean}\n */\n\n this._dragging;\n /**\n * @private\n * @type {Array}\n */\n\n this._covers = [];\n /**\n * @private\n * @type {moudule:zrender/container/Group}\n */\n\n this._creatingCover;\n /**\n * `true` means global panel\n * @private\n * @type {module:zrender/container/Group|boolean}\n */\n\n this._creatingPanel;\n /**\n * @private\n * @type {boolean}\n */\n\n this._enableGlobalPan;\n /**\n * @private\n * @type {boolean}\n */\n\n /**\n * @private\n * @type {string}\n */\n this._uid = 'brushController_' + baseUID++;\n /**\n * @private\n * @type {Object}\n */\n\n this._handlers = {};\n each(pointerHandlers, function (handler, eventName) {\n this._handlers[eventName] = zrUtil.bind(handler, this);\n }, this);\n}\n\nBrushController.prototype = {\n constructor: BrushController,\n\n /**\n * If set to null/undefined/false, select disabled.\n * @param {Object} brushOption\n * @param {string|boolean} brushOption.brushType 'line', 'rect', 'polygon' or false\n * If passing false/null/undefined, disable brush.\n * If passing 'auto', determined by panel.defaultBrushType.\n * ('auto' can not be used in global panel)\n * @param {number} [brushOption.brushMode='single'] 'single' or 'multiple'\n * @param {boolean} [brushOption.transformable=true]\n * @param {boolean} [brushOption.removeOnClick=false]\n * @param {Object} [brushOption.brushStyle]\n * @param {number} [brushOption.brushStyle.width]\n * @param {number} [brushOption.brushStyle.lineWidth]\n * @param {string} [brushOption.brushStyle.stroke]\n * @param {string} [brushOption.brushStyle.fill]\n * @param {number} [brushOption.z]\n */\n enableBrush: function (brushOption) {\n this._brushType && doDisableBrush(this);\n brushOption.brushType && doEnableBrush(this, brushOption);\n return this;\n },\n\n /**\n * @param {Array.} panelOpts If not pass, it is global brush.\n * Each items: {\n * panelId, // mandatory.\n * clipPath, // mandatory. function.\n * isTargetByCursor, // mandatory. function.\n * defaultBrushType, // optional, only used when brushType is 'auto'.\n * getLinearBrushOtherExtent, // optional. function.\n * }\n */\n setPanels: function (panelOpts) {\n if (panelOpts && panelOpts.length) {\n var panels = this._panels = {};\n zrUtil.each(panelOpts, function (panelOpts) {\n panels[panelOpts.panelId] = zrUtil.clone(panelOpts);\n });\n } else {\n this._panels = null;\n }\n\n return this;\n },\n\n /**\n * @param {Object} [opt]\n * @return {boolean} [opt.enableGlobalPan=false]\n */\n mount: function (opt) {\n opt = opt || {};\n this._enableGlobalPan = opt.enableGlobalPan;\n var thisGroup = this.group;\n\n this._zr.add(thisGroup);\n\n thisGroup.attr({\n position: opt.position || [0, 0],\n rotation: opt.rotation || 0,\n scale: opt.scale || [1, 1]\n });\n this._transform = thisGroup.getLocalTransform();\n return this;\n },\n eachCover: function (cb, context) {\n each(this._covers, cb, context);\n },\n\n /**\n * Update covers.\n * @param {Array.} brushOptionList Like:\n * [\n * {id: 'xx', brushType: 'line', range: [23, 44], brushStyle, transformable},\n * {id: 'yy', brushType: 'rect', range: [[23, 44], [23, 54]]},\n * ...\n * ]\n * `brushType` is required in each cover info. (can not be 'auto')\n * `id` is not mandatory.\n * `brushStyle`, `transformable` is not mandatory, use DEFAULT_BRUSH_OPT by default.\n * If brushOptionList is null/undefined, all covers removed.\n */\n updateCovers: function (brushOptionList) {\n brushOptionList = zrUtil.map(brushOptionList, function (brushOption) {\n return zrUtil.merge(zrUtil.clone(DEFAULT_BRUSH_OPT), brushOption, true);\n });\n var tmpIdPrefix = '\\0-brush-index-';\n var oldCovers = this._covers;\n var newCovers = this._covers = [];\n var controller = this;\n var creatingCover = this._creatingCover;\n new DataDiffer(oldCovers, brushOptionList, oldGetKey, getKey).add(addOrUpdate).update(addOrUpdate).remove(remove).execute();\n return this;\n\n function getKey(brushOption, index) {\n return (brushOption.id != null ? brushOption.id : tmpIdPrefix + index) + '-' + brushOption.brushType;\n }\n\n function oldGetKey(cover, index) {\n return getKey(cover.__brushOption, index);\n }\n\n function addOrUpdate(newIndex, oldIndex) {\n var newBrushOption = brushOptionList[newIndex]; // Consider setOption in event listener of brushSelect,\n // where updating cover when creating should be forbiden.\n\n if (oldIndex != null && oldCovers[oldIndex] === creatingCover) {\n newCovers[newIndex] = oldCovers[oldIndex];\n } else {\n var cover = newCovers[newIndex] = oldIndex != null ? (oldCovers[oldIndex].__brushOption = newBrushOption, oldCovers[oldIndex]) : endCreating(controller, createCover(controller, newBrushOption));\n updateCoverAfterCreation(controller, cover);\n }\n }\n\n function remove(oldIndex) {\n if (oldCovers[oldIndex] !== creatingCover) {\n controller.group.remove(oldCovers[oldIndex]);\n }\n }\n },\n unmount: function () {\n this.enableBrush(false); // container may 'removeAll' outside.\n\n clearCovers(this);\n\n this._zr.remove(this.group);\n\n return this;\n },\n dispose: function () {\n this.unmount();\n this.off();\n }\n};\nzrUtil.mixin(BrushController, Eventful);\n\nfunction doEnableBrush(controller, brushOption) {\n var zr = controller._zr; // Consider roam, which takes globalPan too.\n\n if (!controller._enableGlobalPan) {\n interactionMutex.take(zr, MUTEX_RESOURCE_KEY, controller._uid);\n }\n\n mountHandlers(zr, controller._handlers);\n controller._brushType = brushOption.brushType;\n controller._brushOption = zrUtil.merge(zrUtil.clone(DEFAULT_BRUSH_OPT), brushOption, true);\n}\n\nfunction doDisableBrush(controller) {\n var zr = controller._zr;\n interactionMutex.release(zr, MUTEX_RESOURCE_KEY, controller._uid);\n unmountHandlers(zr, controller._handlers);\n controller._brushType = controller._brushOption = null;\n}\n\nfunction mountHandlers(zr, handlers) {\n each(handlers, function (handler, eventName) {\n zr.on(eventName, handler);\n });\n}\n\nfunction unmountHandlers(zr, handlers) {\n each(handlers, function (handler, eventName) {\n zr.off(eventName, handler);\n });\n}\n\nfunction createCover(controller, brushOption) {\n var cover = coverRenderers[brushOption.brushType].createCover(controller, brushOption);\n cover.__brushOption = brushOption;\n updateZ(cover, brushOption);\n controller.group.add(cover);\n return cover;\n}\n\nfunction endCreating(controller, creatingCover) {\n var coverRenderer = getCoverRenderer(creatingCover);\n\n if (coverRenderer.endCreating) {\n coverRenderer.endCreating(controller, creatingCover);\n updateZ(creatingCover, creatingCover.__brushOption);\n }\n\n return creatingCover;\n}\n\nfunction updateCoverShape(controller, cover) {\n var brushOption = cover.__brushOption;\n getCoverRenderer(cover).updateCoverShape(controller, cover, brushOption.range, brushOption);\n}\n\nfunction updateZ(cover, brushOption) {\n var z = brushOption.z;\n z == null && (z = COVER_Z);\n cover.traverse(function (el) {\n el.z = z;\n el.z2 = z; // Consider in given container.\n });\n}\n\nfunction updateCoverAfterCreation(controller, cover) {\n getCoverRenderer(cover).updateCommon(controller, cover);\n updateCoverShape(controller, cover);\n}\n\nfunction getCoverRenderer(cover) {\n return coverRenderers[cover.__brushOption.brushType];\n} // return target panel or `true` (means global panel)\n\n\nfunction getPanelByPoint(controller, e, localCursorPoint) {\n var panels = controller._panels;\n\n if (!panels) {\n return true; // Global panel\n }\n\n var panel;\n var transform = controller._transform;\n each(panels, function (pn) {\n pn.isTargetByCursor(e, localCursorPoint, transform) && (panel = pn);\n });\n return panel;\n} // Return a panel or true\n\n\nfunction getPanelByCover(controller, cover) {\n var panels = controller._panels;\n\n if (!panels) {\n return true; // Global panel\n }\n\n var panelId = cover.__brushOption.panelId; // User may give cover without coord sys info,\n // which is then treated as global panel.\n\n return panelId != null ? panels[panelId] : true;\n}\n\nfunction clearCovers(controller) {\n var covers = controller._covers;\n var originalLength = covers.length;\n each(covers, function (cover) {\n controller.group.remove(cover);\n }, controller);\n covers.length = 0;\n return !!originalLength;\n}\n\nfunction trigger(controller, opt) {\n var areas = map(controller._covers, function (cover) {\n var brushOption = cover.__brushOption;\n var range = zrUtil.clone(brushOption.range);\n return {\n brushType: brushOption.brushType,\n panelId: brushOption.panelId,\n range: range\n };\n });\n controller.trigger('brush', areas, {\n isEnd: !!opt.isEnd,\n removeOnClick: !!opt.removeOnClick\n });\n}\n\nfunction shouldShowCover(controller) {\n var track = controller._track;\n\n if (!track.length) {\n return false;\n }\n\n var p2 = track[track.length - 1];\n var p1 = track[0];\n var dx = p2[0] - p1[0];\n var dy = p2[1] - p1[1];\n var dist = mathPow(dx * dx + dy * dy, 0.5);\n return dist > UNSELECT_THRESHOLD;\n}\n\nfunction getTrackEnds(track) {\n var tail = track.length - 1;\n tail < 0 && (tail = 0);\n return [track[0], track[tail]];\n}\n\nfunction createBaseRectCover(doDrift, controller, brushOption, edgeNames) {\n var cover = new graphic.Group();\n cover.add(new graphic.Rect({\n name: 'main',\n style: makeStyle(brushOption),\n silent: true,\n draggable: true,\n cursor: 'move',\n drift: curry(doDrift, controller, cover, 'nswe'),\n ondragend: curry(trigger, controller, {\n isEnd: true\n })\n }));\n each(edgeNames, function (name) {\n cover.add(new graphic.Rect({\n name: name,\n style: {\n opacity: 0\n },\n draggable: true,\n silent: true,\n invisible: true,\n drift: curry(doDrift, controller, cover, name),\n ondragend: curry(trigger, controller, {\n isEnd: true\n })\n }));\n });\n return cover;\n}\n\nfunction updateBaseRect(controller, cover, localRange, brushOption) {\n var lineWidth = brushOption.brushStyle.lineWidth || 0;\n var handleSize = mathMax(lineWidth, MIN_RESIZE_LINE_WIDTH);\n var x = localRange[0][0];\n var y = localRange[1][0];\n var xa = x - lineWidth / 2;\n var ya = y - lineWidth / 2;\n var x2 = localRange[0][1];\n var y2 = localRange[1][1];\n var x2a = x2 - handleSize + lineWidth / 2;\n var y2a = y2 - handleSize + lineWidth / 2;\n var width = x2 - x;\n var height = y2 - y;\n var widtha = width + lineWidth;\n var heighta = height + lineWidth;\n updateRectShape(controller, cover, 'main', x, y, width, height);\n\n if (brushOption.transformable) {\n updateRectShape(controller, cover, 'w', xa, ya, handleSize, heighta);\n updateRectShape(controller, cover, 'e', x2a, ya, handleSize, heighta);\n updateRectShape(controller, cover, 'n', xa, ya, widtha, handleSize);\n updateRectShape(controller, cover, 's', xa, y2a, widtha, handleSize);\n updateRectShape(controller, cover, 'nw', xa, ya, handleSize, handleSize);\n updateRectShape(controller, cover, 'ne', x2a, ya, handleSize, handleSize);\n updateRectShape(controller, cover, 'sw', xa, y2a, handleSize, handleSize);\n updateRectShape(controller, cover, 'se', x2a, y2a, handleSize, handleSize);\n }\n}\n\nfunction updateCommon(controller, cover) {\n var brushOption = cover.__brushOption;\n var transformable = brushOption.transformable;\n var mainEl = cover.childAt(0);\n mainEl.useStyle(makeStyle(brushOption));\n mainEl.attr({\n silent: !transformable,\n cursor: transformable ? 'move' : 'default'\n });\n each(['w', 'e', 'n', 's', 'se', 'sw', 'ne', 'nw'], function (name) {\n var el = cover.childOfName(name);\n var globalDir = getGlobalDirection(controller, name);\n el && el.attr({\n silent: !transformable,\n invisible: !transformable,\n cursor: transformable ? CURSOR_MAP[globalDir] + '-resize' : null\n });\n });\n}\n\nfunction updateRectShape(controller, cover, name, x, y, w, h) {\n var el = cover.childOfName(name);\n el && el.setShape(pointsToRect(clipByPanel(controller, cover, [[x, y], [x + w, y + h]])));\n}\n\nfunction makeStyle(brushOption) {\n return zrUtil.defaults({\n strokeNoScale: true\n }, brushOption.brushStyle);\n}\n\nfunction formatRectRange(x, y, x2, y2) {\n var min = [mathMin(x, x2), mathMin(y, y2)];\n var max = [mathMax(x, x2), mathMax(y, y2)];\n return [[min[0], max[0]], // x range\n [min[1], max[1]] // y range\n ];\n}\n\nfunction getTransform(controller) {\n return graphic.getTransform(controller.group);\n}\n\nfunction getGlobalDirection(controller, localDirection) {\n if (localDirection.length > 1) {\n localDirection = localDirection.split('');\n var globalDir = [getGlobalDirection(controller, localDirection[0]), getGlobalDirection(controller, localDirection[1])];\n (globalDir[0] === 'e' || globalDir[0] === 'w') && globalDir.reverse();\n return globalDir.join('');\n } else {\n var map = {\n w: 'left',\n e: 'right',\n n: 'top',\n s: 'bottom'\n };\n var inverseMap = {\n left: 'w',\n right: 'e',\n top: 'n',\n bottom: 's'\n };\n var globalDir = graphic.transformDirection(map[localDirection], getTransform(controller));\n return inverseMap[globalDir];\n }\n}\n\nfunction driftRect(toRectRange, fromRectRange, controller, cover, name, dx, dy, e) {\n var brushOption = cover.__brushOption;\n var rectRange = toRectRange(brushOption.range);\n var localDelta = toLocalDelta(controller, dx, dy);\n each(name.split(''), function (namePart) {\n var ind = DIRECTION_MAP[namePart];\n rectRange[ind[0]][ind[1]] += localDelta[ind[0]];\n });\n brushOption.range = fromRectRange(formatRectRange(rectRange[0][0], rectRange[1][0], rectRange[0][1], rectRange[1][1]));\n updateCoverAfterCreation(controller, cover);\n trigger(controller, {\n isEnd: false\n });\n}\n\nfunction driftPolygon(controller, cover, dx, dy, e) {\n var range = cover.__brushOption.range;\n var localDelta = toLocalDelta(controller, dx, dy);\n each(range, function (point) {\n point[0] += localDelta[0];\n point[1] += localDelta[1];\n });\n updateCoverAfterCreation(controller, cover);\n trigger(controller, {\n isEnd: false\n });\n}\n\nfunction toLocalDelta(controller, dx, dy) {\n var thisGroup = controller.group;\n var localD = thisGroup.transformCoordToLocal(dx, dy);\n var localZero = thisGroup.transformCoordToLocal(0, 0);\n return [localD[0] - localZero[0], localD[1] - localZero[1]];\n}\n\nfunction clipByPanel(controller, cover, data) {\n var panel = getPanelByCover(controller, cover);\n return panel && panel !== true ? panel.clipPath(data, controller._transform) : zrUtil.clone(data);\n}\n\nfunction pointsToRect(points) {\n var xmin = mathMin(points[0][0], points[1][0]);\n var ymin = mathMin(points[0][1], points[1][1]);\n var xmax = mathMax(points[0][0], points[1][0]);\n var ymax = mathMax(points[0][1], points[1][1]);\n return {\n x: xmin,\n y: ymin,\n width: xmax - xmin,\n height: ymax - ymin\n };\n}\n\nfunction resetCursor(controller, e, localCursorPoint) {\n if ( // Check active\n !controller._brushType // resetCursor should be always called when mouse is in zr area,\n // but not called when mouse is out of zr area to avoid bad influence\n // if `mousemove`, `mouseup` are triggered from `document` event.\n || isOutsideZrArea(controller, e)) {\n return;\n }\n\n var zr = controller._zr;\n var covers = controller._covers;\n var currPanel = getPanelByPoint(controller, e, localCursorPoint); // Check whether in covers.\n\n if (!controller._dragging) {\n for (var i = 0; i < covers.length; i++) {\n var brushOption = covers[i].__brushOption;\n\n if (currPanel && (currPanel === true || brushOption.panelId === currPanel.panelId) && coverRenderers[brushOption.brushType].contain(covers[i], localCursorPoint[0], localCursorPoint[1])) {\n // Use cursor style set on cover.\n return;\n }\n }\n }\n\n currPanel && zr.setCursorStyle('crosshair');\n}\n\nfunction preventDefault(e) {\n var rawE = e.event;\n rawE.preventDefault && rawE.preventDefault();\n}\n\nfunction mainShapeContain(cover, x, y) {\n return cover.childOfName('main').contain(x, y);\n}\n\nfunction updateCoverByMouse(controller, e, localCursorPoint, isEnd) {\n var creatingCover = controller._creatingCover;\n var panel = controller._creatingPanel;\n var thisBrushOption = controller._brushOption;\n var eventParams;\n\n controller._track.push(localCursorPoint.slice());\n\n if (shouldShowCover(controller) || creatingCover) {\n if (panel && !creatingCover) {\n thisBrushOption.brushMode === 'single' && clearCovers(controller);\n var brushOption = zrUtil.clone(thisBrushOption);\n brushOption.brushType = determineBrushType(brushOption.brushType, panel);\n brushOption.panelId = panel === true ? null : panel.panelId;\n creatingCover = controller._creatingCover = createCover(controller, brushOption);\n\n controller._covers.push(creatingCover);\n }\n\n if (creatingCover) {\n var coverRenderer = coverRenderers[determineBrushType(controller._brushType, panel)];\n var coverBrushOption = creatingCover.__brushOption;\n coverBrushOption.range = coverRenderer.getCreatingRange(clipByPanel(controller, creatingCover, controller._track));\n\n if (isEnd) {\n endCreating(controller, creatingCover);\n coverRenderer.updateCommon(controller, creatingCover);\n }\n\n updateCoverShape(controller, creatingCover);\n eventParams = {\n isEnd: isEnd\n };\n }\n } else if (isEnd && thisBrushOption.brushMode === 'single' && thisBrushOption.removeOnClick) {\n // Help user to remove covers easily, only by a tiny drag, in 'single' mode.\n // But a single click do not clear covers, because user may have casual\n // clicks (for example, click on other component and do not expect covers\n // disappear).\n // Only some cover removed, trigger action, but not every click trigger action.\n if (getPanelByPoint(controller, e, localCursorPoint) && clearCovers(controller)) {\n eventParams = {\n isEnd: isEnd,\n removeOnClick: true\n };\n }\n }\n\n return eventParams;\n}\n\nfunction determineBrushType(brushType, panel) {\n if (brushType === 'auto') {\n return panel.defaultBrushType;\n }\n\n return brushType;\n}\n\nvar pointerHandlers = {\n mousedown: function (e) {\n if (this._dragging) {\n // In case some browser do not support globalOut,\n // and release mose out side the browser.\n handleDragEnd(this, e);\n } else if (!e.target || !e.target.draggable) {\n preventDefault(e);\n var localCursorPoint = this.group.transformCoordToLocal(e.offsetX, e.offsetY);\n this._creatingCover = null;\n var panel = this._creatingPanel = getPanelByPoint(this, e, localCursorPoint);\n\n if (panel) {\n this._dragging = true;\n this._track = [localCursorPoint.slice()];\n }\n }\n },\n mousemove: function (e) {\n var x = e.offsetX;\n var y = e.offsetY;\n var localCursorPoint = this.group.transformCoordToLocal(x, y);\n resetCursor(this, e, localCursorPoint);\n\n if (this._dragging) {\n preventDefault(e);\n var eventParams = updateCoverByMouse(this, e, localCursorPoint, false);\n eventParams && trigger(this, eventParams);\n }\n },\n mouseup: function (e) {\n handleDragEnd(this, e);\n }\n};\n\nfunction handleDragEnd(controller, e) {\n if (controller._dragging) {\n preventDefault(e);\n var x = e.offsetX;\n var y = e.offsetY;\n var localCursorPoint = controller.group.transformCoordToLocal(x, y);\n var eventParams = updateCoverByMouse(controller, e, localCursorPoint, true);\n controller._dragging = false;\n controller._track = [];\n controller._creatingCover = null; // trigger event shoule be at final, after procedure will be nested.\n\n eventParams && trigger(controller, eventParams);\n }\n}\n\nfunction isOutsideZrArea(controller, x, y) {\n var zr = controller._zr;\n return x < 0 || x > zr.getWidth() || y < 0 || y > zr.getHeight();\n}\n/**\n * key: brushType\n * @type {Object}\n */\n\n\nvar coverRenderers = {\n lineX: getLineRenderer(0),\n lineY: getLineRenderer(1),\n rect: {\n createCover: function (controller, brushOption) {\n return createBaseRectCover(curry(driftRect, function (range) {\n return range;\n }, function (range) {\n return range;\n }), controller, brushOption, ['w', 'e', 'n', 's', 'se', 'sw', 'ne', 'nw']);\n },\n getCreatingRange: function (localTrack) {\n var ends = getTrackEnds(localTrack);\n return formatRectRange(ends[1][0], ends[1][1], ends[0][0], ends[0][1]);\n },\n updateCoverShape: function (controller, cover, localRange, brushOption) {\n updateBaseRect(controller, cover, localRange, brushOption);\n },\n updateCommon: updateCommon,\n contain: mainShapeContain\n },\n polygon: {\n createCover: function (controller, brushOption) {\n var cover = new graphic.Group(); // Do not use graphic.Polygon because graphic.Polyline do not close the\n // border of the shape when drawing, which is a better experience for user.\n\n cover.add(new graphic.Polyline({\n name: 'main',\n style: makeStyle(brushOption),\n silent: true\n }));\n return cover;\n },\n getCreatingRange: function (localTrack) {\n return localTrack;\n },\n endCreating: function (controller, cover) {\n cover.remove(cover.childAt(0)); // Use graphic.Polygon close the shape.\n\n cover.add(new graphic.Polygon({\n name: 'main',\n draggable: true,\n drift: curry(driftPolygon, controller, cover),\n ondragend: curry(trigger, controller, {\n isEnd: true\n })\n }));\n },\n updateCoverShape: function (controller, cover, localRange, brushOption) {\n cover.childAt(0).setShape({\n points: clipByPanel(controller, cover, localRange)\n });\n },\n updateCommon: updateCommon,\n contain: mainShapeContain\n }\n};\n\nfunction getLineRenderer(xyIndex) {\n return {\n createCover: function (controller, brushOption) {\n return createBaseRectCover(curry(driftRect, function (range) {\n var rectRange = [range, [0, 100]];\n xyIndex && rectRange.reverse();\n return rectRange;\n }, function (rectRange) {\n return rectRange[xyIndex];\n }), controller, brushOption, [['w', 'e'], ['n', 's']][xyIndex]);\n },\n getCreatingRange: function (localTrack) {\n var ends = getTrackEnds(localTrack);\n var min = mathMin(ends[0][xyIndex], ends[1][xyIndex]);\n var max = mathMax(ends[0][xyIndex], ends[1][xyIndex]);\n return [min, max];\n },\n updateCoverShape: function (controller, cover, localRange, brushOption) {\n var otherExtent; // If brushWidth not specified, fit the panel.\n\n var panel = getPanelByCover(controller, cover);\n\n if (panel !== true && panel.getLinearBrushOtherExtent) {\n otherExtent = panel.getLinearBrushOtherExtent(xyIndex, controller._transform);\n } else {\n var zr = controller._zr;\n otherExtent = [0, [zr.getWidth(), zr.getHeight()][1 - xyIndex]];\n }\n\n var rectRange = [localRange, otherExtent];\n xyIndex && rectRange.reverse();\n updateBaseRect(controller, cover, rectRange, brushOption);\n },\n updateCommon: updateCommon,\n contain: mainShapeContain\n };\n}\n\nvar _default = BrushController;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar RadiusAxis = require(\"./RadiusAxis\");\n\nvar AngleAxis = require(\"./AngleAxis\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @module echarts/coord/polar/Polar\n */\n\n/**\n * @alias {module:echarts/coord/polar/Polar}\n * @constructor\n * @param {string} name\n */\nvar Polar = function (name) {\n /**\n * @type {string}\n */\n this.name = name || '';\n /**\n * x of polar center\n * @type {number}\n */\n\n this.cx = 0;\n /**\n * y of polar center\n * @type {number}\n */\n\n this.cy = 0;\n /**\n * @type {module:echarts/coord/polar/RadiusAxis}\n * @private\n */\n\n this._radiusAxis = new RadiusAxis();\n /**\n * @type {module:echarts/coord/polar/AngleAxis}\n * @private\n */\n\n this._angleAxis = new AngleAxis();\n this._radiusAxis.polar = this._angleAxis.polar = this;\n};\n\nPolar.prototype = {\n type: 'polar',\n axisPointerEnabled: true,\n constructor: Polar,\n\n /**\n * @param {Array.}\n * @readOnly\n */\n dimensions: ['radius', 'angle'],\n\n /**\n * @type {module:echarts/coord/PolarModel}\n */\n model: null,\n\n /**\n * If contain coord\n * @param {Array.} point\n * @return {boolean}\n */\n containPoint: function (point) {\n var coord = this.pointToCoord(point);\n return this._radiusAxis.contain(coord[0]) && this._angleAxis.contain(coord[1]);\n },\n\n /**\n * If contain data\n * @param {Array.} data\n * @return {boolean}\n */\n containData: function (data) {\n return this._radiusAxis.containData(data[0]) && this._angleAxis.containData(data[1]);\n },\n\n /**\n * @param {string} dim\n * @return {module:echarts/coord/polar/AngleAxis|module:echarts/coord/polar/RadiusAxis}\n */\n getAxis: function (dim) {\n return this['_' + dim + 'Axis'];\n },\n\n /**\n * @return {Array.}\n */\n getAxes: function () {\n return [this._radiusAxis, this._angleAxis];\n },\n\n /**\n * Get axes by type of scale\n * @param {string} scaleType\n * @return {module:echarts/coord/polar/AngleAxis|module:echarts/coord/polar/RadiusAxis}\n */\n getAxesByScale: function (scaleType) {\n var axes = [];\n var angleAxis = this._angleAxis;\n var radiusAxis = this._radiusAxis;\n angleAxis.scale.type === scaleType && axes.push(angleAxis);\n radiusAxis.scale.type === scaleType && axes.push(radiusAxis);\n return axes;\n },\n\n /**\n * @return {module:echarts/coord/polar/AngleAxis}\n */\n getAngleAxis: function () {\n return this._angleAxis;\n },\n\n /**\n * @return {module:echarts/coord/polar/RadiusAxis}\n */\n getRadiusAxis: function () {\n return this._radiusAxis;\n },\n\n /**\n * @param {module:echarts/coord/polar/Axis}\n * @return {module:echarts/coord/polar/Axis}\n */\n getOtherAxis: function (axis) {\n var angleAxis = this._angleAxis;\n return axis === angleAxis ? this._radiusAxis : angleAxis;\n },\n\n /**\n * Base axis will be used on stacking.\n *\n * @return {module:echarts/coord/polar/Axis}\n */\n getBaseAxis: function () {\n return this.getAxesByScale('ordinal')[0] || this.getAxesByScale('time')[0] || this.getAngleAxis();\n },\n\n /**\n * @param {string} [dim] 'radius' or 'angle' or 'auto' or null/undefined\n * @return {Object} {baseAxes: [], otherAxes: []}\n */\n getTooltipAxes: function (dim) {\n var baseAxis = dim != null && dim !== 'auto' ? this.getAxis(dim) : this.getBaseAxis();\n return {\n baseAxes: [baseAxis],\n otherAxes: [this.getOtherAxis(baseAxis)]\n };\n },\n\n /**\n * Convert a single data item to (x, y) point.\n * Parameter data is an array which the first element is radius and the second is angle\n * @param {Array.} data\n * @param {boolean} [clamp=false]\n * @return {Array.}\n */\n dataToPoint: function (data, clamp) {\n return this.coordToPoint([this._radiusAxis.dataToRadius(data[0], clamp), this._angleAxis.dataToAngle(data[1], clamp)]);\n },\n\n /**\n * Convert a (x, y) point to data\n * @param {Array.} point\n * @param {boolean} [clamp=false]\n * @return {Array.}\n */\n pointToData: function (point, clamp) {\n var coord = this.pointToCoord(point);\n return [this._radiusAxis.radiusToData(coord[0], clamp), this._angleAxis.angleToData(coord[1], clamp)];\n },\n\n /**\n * Convert a (x, y) point to (radius, angle) coord\n * @param {Array.} point\n * @return {Array.}\n */\n pointToCoord: function (point) {\n var dx = point[0] - this.cx;\n var dy = point[1] - this.cy;\n var angleAxis = this.getAngleAxis();\n var extent = angleAxis.getExtent();\n var minAngle = Math.min(extent[0], extent[1]);\n var maxAngle = Math.max(extent[0], extent[1]); // Fix fixed extent in polarCreator\n // FIXME\n\n angleAxis.inverse ? minAngle = maxAngle - 360 : maxAngle = minAngle + 360;\n var radius = Math.sqrt(dx * dx + dy * dy);\n dx /= radius;\n dy /= radius;\n var radian = Math.atan2(-dy, dx) / Math.PI * 180; // move to angleExtent\n\n var dir = radian < minAngle ? 1 : -1;\n\n while (radian < minAngle || radian > maxAngle) {\n radian += dir * 360;\n }\n\n return [radius, radian];\n },\n\n /**\n * Convert a (radius, angle) coord to (x, y) point\n * @param {Array.} coord\n * @return {Array.}\n */\n coordToPoint: function (coord) {\n var radius = coord[0];\n var radian = coord[1] / 180 * Math.PI;\n var x = Math.cos(radian) * radius + this.cx; // Inverse the y\n\n var y = -Math.sin(radian) * radius + this.cy;\n return [x, y];\n },\n\n /**\n * Get ring area of cartesian.\n * Area will have a contain function to determine if a point is in the coordinate system.\n * @return {Ring}\n */\n getArea: function () {\n var angleAxis = this.getAngleAxis();\n var radiusAxis = this.getRadiusAxis();\n var radiusExtent = radiusAxis.getExtent().slice();\n radiusExtent[0] > radiusExtent[1] && radiusExtent.reverse();\n var angleExtent = angleAxis.getExtent();\n var RADIAN = Math.PI / 180;\n return {\n cx: this.cx,\n cy: this.cy,\n r0: radiusExtent[0],\n r: radiusExtent[1],\n startAngle: -angleExtent[0] * RADIAN,\n endAngle: -angleExtent[1] * RADIAN,\n clockwise: angleAxis.inverse,\n contain: function (x, y) {\n // It's a ring shape.\n // Start angle and end angle don't matter\n var dx = x - this.cx;\n var dy = y - this.cy;\n var d2 = dx * dx + dy * dy;\n var r = this.r;\n var r0 = this.r0;\n return d2 <= r * r && d2 >= r0 * r0;\n }\n };\n }\n};\nvar _default = Polar;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar Gradient = require(\"zrender/lib/graphic/Gradient\");\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar isFunction = _util.isFunction;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = {\n createOnAllSeries: true,\n performRawSeries: true,\n reset: function (seriesModel, ecModel) {\n var data = seriesModel.getData();\n var colorAccessPath = (seriesModel.visualColorAccessPath || 'itemStyle.color').split('.'); // Set in itemStyle\n\n var color = seriesModel.get(colorAccessPath);\n var colorCallback = isFunction(color) && !(color instanceof Gradient) ? color : null; // Default color\n\n if (!color || colorCallback) {\n color = seriesModel.getColorFromPalette( // TODO series count changed.\n seriesModel.name, null, ecModel.getSeriesCount());\n }\n\n data.setVisual('color', color);\n var borderColorAccessPath = (seriesModel.visualBorderColorAccessPath || 'itemStyle.borderColor').split('.');\n var borderColor = seriesModel.get(borderColorAccessPath);\n data.setVisual('borderColor', borderColor); // Only visible series has each data be visual encoded\n\n if (!ecModel.isSeriesFiltered(seriesModel)) {\n if (colorCallback) {\n data.each(function (idx) {\n data.setItemVisual(idx, 'color', colorCallback(seriesModel.getDataParams(idx)));\n });\n } // itemStyle in each data item\n\n\n var dataEach = function (data, idx) {\n var itemModel = data.getItemModel(idx);\n var color = itemModel.get(colorAccessPath, true);\n var borderColor = itemModel.get(borderColorAccessPath, true);\n\n if (color != null) {\n data.setItemVisual(idx, 'color', color);\n }\n\n if (borderColor != null) {\n data.setItemVisual(idx, 'borderColor', borderColor);\n }\n };\n\n return {\n dataEach: data.hasItemOption ? dataEach : null\n };\n }\n }\n};\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar samplers = {\n average: function (frame) {\n var sum = 0;\n var count = 0;\n\n for (var i = 0; i < frame.length; i++) {\n if (!isNaN(frame[i])) {\n sum += frame[i];\n count++;\n }\n } // Return NaN if count is 0\n\n\n return count === 0 ? NaN : sum / count;\n },\n sum: function (frame) {\n var sum = 0;\n\n for (var i = 0; i < frame.length; i++) {\n // Ignore NaN\n sum += frame[i] || 0;\n }\n\n return sum;\n },\n max: function (frame) {\n var max = -Infinity;\n\n for (var i = 0; i < frame.length; i++) {\n frame[i] > max && (max = frame[i]);\n } // NaN will cause illegal axis extent.\n\n\n return isFinite(max) ? max : NaN;\n },\n min: function (frame) {\n var min = Infinity;\n\n for (var i = 0; i < frame.length; i++) {\n frame[i] < min && (min = frame[i]);\n } // NaN will cause illegal axis extent.\n\n\n return isFinite(min) ? min : NaN;\n },\n // TODO\n // Median\n nearest: function (frame) {\n return frame[0];\n }\n};\n\nvar indexSampler = function (frame, value) {\n return Math.round(frame.length / 2);\n};\n\nfunction _default(seriesType) {\n return {\n seriesType: seriesType,\n modifyOutputEnd: true,\n reset: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n var sampling = seriesModel.get('sampling');\n var coordSys = seriesModel.coordinateSystem; // Only cartesian2d support down sampling\n\n if (coordSys.type === 'cartesian2d' && sampling) {\n var baseAxis = coordSys.getBaseAxis();\n var valueAxis = coordSys.getOtherAxis(baseAxis);\n var extent = baseAxis.getExtent(); // Coordinste system has been resized\n\n var size = Math.abs(extent[1] - extent[0]);\n var rate = Math.round(data.count() / size);\n\n if (rate > 1) {\n var sampler;\n\n if (typeof sampling === 'string') {\n sampler = samplers[sampling];\n } else if (typeof sampling === 'function') {\n sampler = sampling;\n }\n\n if (sampler) {\n // Only support sample the first dim mapped from value axis.\n seriesModel.setData(data.downSample(data.mapDimension(valueAxis.dim), 1 / rate, sampler, indexSampler));\n }\n }\n }\n }\n };\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar textContain = require(\"zrender/lib/contain/text\");\n\nvar graphicUtil = require(\"../../util/graphic\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar PATH_COLOR = ['textStyle', 'color'];\nvar _default = {\n /**\n * Get color property or get color from option.textStyle.color\n * @param {boolean} [isEmphasis]\n * @return {string}\n */\n getTextColor: function (isEmphasis) {\n var ecModel = this.ecModel;\n return this.getShallow('color') || (!isEmphasis && ecModel ? ecModel.get(PATH_COLOR) : null);\n },\n\n /**\n * Create font string from fontStyle, fontWeight, fontSize, fontFamily\n * @return {string}\n */\n getFont: function () {\n return graphicUtil.getFont({\n fontStyle: this.getShallow('fontStyle'),\n fontWeight: this.getShallow('fontWeight'),\n fontSize: this.getShallow('fontSize'),\n fontFamily: this.getShallow('fontFamily')\n }, this.ecModel);\n },\n getTextRect: function (text) {\n return textContain.getBoundingRect(text, this.getFont(), this.getShallow('align'), this.getShallow('verticalAlign') || this.getShallow('baseline'), this.getShallow('padding'), this.getShallow('lineHeight'), this.getShallow('rich'), this.getShallow('truncateText'));\n }\n};\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar SeriesModel = require(\"../../model/Series\");\n\nvar _whiskerBoxCommon = require(\"../helper/whiskerBoxCommon\");\n\nvar seriesModelMixin = _whiskerBoxCommon.seriesModelMixin;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar BoxplotSeries = SeriesModel.extend({\n type: 'series.boxplot',\n dependencies: ['xAxis', 'yAxis', 'grid'],\n // TODO\n // box width represents group size, so dimension should have 'size'.\n\n /**\n * @see \n * The meanings of 'min' and 'max' depend on user,\n * and echarts do not need to know it.\n * @readOnly\n */\n defaultValueDimensions: [{\n name: 'min',\n defaultTooltip: true\n }, {\n name: 'Q1',\n defaultTooltip: true\n }, {\n name: 'median',\n defaultTooltip: true\n }, {\n name: 'Q3',\n defaultTooltip: true\n }, {\n name: 'max',\n defaultTooltip: true\n }],\n\n /**\n * @type {Array.}\n * @readOnly\n */\n dimensions: null,\n\n /**\n * @override\n */\n defaultOption: {\n zlevel: 0,\n // 一级层叠\n z: 2,\n // 二级层叠\n coordinateSystem: 'cartesian2d',\n legendHoverLink: true,\n hoverAnimation: true,\n // xAxisIndex: 0,\n // yAxisIndex: 0,\n layout: null,\n // 'horizontal' or 'vertical'\n boxWidth: [7, 50],\n // [min, max] can be percent of band width.\n itemStyle: {\n color: '#fff',\n borderWidth: 1\n },\n emphasis: {\n itemStyle: {\n borderWidth: 2,\n shadowBlur: 5,\n shadowOffsetX: 2,\n shadowOffsetY: 2,\n shadowColor: 'rgba(0,0,0,0.4)'\n }\n },\n animationEasing: 'elasticOut',\n animationDuration: 800\n }\n});\nzrUtil.mixin(BoxplotSeries, seriesModelMixin, true);\nvar _default = BoxplotSeries;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar featureManager = require(\"../featureManager\");\n\nvar lang = require(\"../../../lang\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar brushLang = lang.toolbox.brush;\n\nfunction Brush(model, ecModel, api) {\n this.model = model;\n this.ecModel = ecModel;\n this.api = api;\n /**\n * @private\n * @type {string}\n */\n\n this._brushType;\n /**\n * @private\n * @type {string}\n */\n\n this._brushMode;\n}\n\nBrush.defaultOption = {\n show: true,\n type: ['rect', 'polygon', 'lineX', 'lineY', 'keep', 'clear'],\n icon: {\n /* eslint-disable */\n rect: 'M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13',\n // jshint ignore:line\n polygon: 'M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2',\n // jshint ignore:line\n lineX: 'M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4',\n // jshint ignore:line\n lineY: 'M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4',\n // jshint ignore:line\n keep: 'M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z',\n // jshint ignore:line\n clear: 'M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2' // jshint ignore:line\n\n /* eslint-enable */\n\n },\n // `rect`, `polygon`, `lineX`, `lineY`, `keep`, `clear`\n title: zrUtil.clone(brushLang.title)\n};\nvar proto = Brush.prototype; // proto.updateLayout = function (featureModel, ecModel, api) {\n\n/* eslint-disable */\n\nproto.render =\n/* eslint-enable */\nproto.updateView = function (featureModel, ecModel, api) {\n var brushType;\n var brushMode;\n var isBrushed;\n ecModel.eachComponent({\n mainType: 'brush'\n }, function (brushModel) {\n brushType = brushModel.brushType;\n brushMode = brushModel.brushOption.brushMode || 'single';\n isBrushed |= brushModel.areas.length;\n });\n this._brushType = brushType;\n this._brushMode = brushMode;\n zrUtil.each(featureModel.get('type', true), function (type) {\n featureModel.setIconStatus(type, (type === 'keep' ? brushMode === 'multiple' : type === 'clear' ? isBrushed : type === brushType) ? 'emphasis' : 'normal');\n });\n};\n\nproto.getIcons = function () {\n var model = this.model;\n var availableIcons = model.get('icon', true);\n var icons = {};\n zrUtil.each(model.get('type', true), function (type) {\n if (availableIcons[type]) {\n icons[type] = availableIcons[type];\n }\n });\n return icons;\n};\n\nproto.onclick = function (ecModel, api, type) {\n var brushType = this._brushType;\n var brushMode = this._brushMode;\n\n if (type === 'clear') {\n // Trigger parallel action firstly\n api.dispatchAction({\n type: 'axisAreaSelect',\n intervals: []\n });\n api.dispatchAction({\n type: 'brush',\n command: 'clear',\n // Clear all areas of all brush components.\n areas: []\n });\n } else {\n api.dispatchAction({\n type: 'takeGlobalCursor',\n key: 'brush',\n brushOption: {\n brushType: type === 'keep' ? brushType : brushType === type ? false : type,\n brushMode: type === 'keep' ? brushMode === 'multiple' ? 'single' : 'multiple' : brushMode\n }\n });\n }\n};\n\nfeatureManager.register('brush', Brush);\nvar _default = Brush;\nmodule.exports = _default;","module.exports = \"https://sf6-scmcdn2-tos.pstatp.com/motor/pc/_next/static/images/timer-22cbf34075a13b4a3f12bbea26ba8cfe.png\";","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar textContain = require(\"zrender/lib/contain/text\");\n\nvar formatUtil = require(\"../../util/format\");\n\nvar matrix = require(\"zrender/lib/core/matrix\");\n\nvar axisHelper = require(\"../../coord/axisHelper\");\n\nvar AxisBuilder = require(\"../axis/AxisBuilder\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @param {module:echarts/model/Model} axisPointerModel\n */\nfunction buildElStyle(axisPointerModel) {\n var axisPointerType = axisPointerModel.get('type');\n var styleModel = axisPointerModel.getModel(axisPointerType + 'Style');\n var style;\n\n if (axisPointerType === 'line') {\n style = styleModel.getLineStyle();\n style.fill = null;\n } else if (axisPointerType === 'shadow') {\n style = styleModel.getAreaStyle();\n style.stroke = null;\n }\n\n return style;\n}\n/**\n * @param {Function} labelPos {align, verticalAlign, position}\n */\n\n\nfunction buildLabelElOption(elOption, axisModel, axisPointerModel, api, labelPos) {\n var value = axisPointerModel.get('value');\n var text = getValueLabel(value, axisModel.axis, axisModel.ecModel, axisPointerModel.get('seriesDataIndices'), {\n precision: axisPointerModel.get('label.precision'),\n formatter: axisPointerModel.get('label.formatter')\n });\n var labelModel = axisPointerModel.getModel('label');\n var paddings = formatUtil.normalizeCssArray(labelModel.get('padding') || 0);\n var font = labelModel.getFont();\n var textRect = textContain.getBoundingRect(text, font);\n var position = labelPos.position;\n var width = textRect.width + paddings[1] + paddings[3];\n var height = textRect.height + paddings[0] + paddings[2]; // Adjust by align.\n\n var align = labelPos.align;\n align === 'right' && (position[0] -= width);\n align === 'center' && (position[0] -= width / 2);\n var verticalAlign = labelPos.verticalAlign;\n verticalAlign === 'bottom' && (position[1] -= height);\n verticalAlign === 'middle' && (position[1] -= height / 2); // Not overflow ec container\n\n confineInContainer(position, width, height, api);\n var bgColor = labelModel.get('backgroundColor');\n\n if (!bgColor || bgColor === 'auto') {\n bgColor = axisModel.get('axisLine.lineStyle.color');\n }\n\n elOption.label = {\n shape: {\n x: 0,\n y: 0,\n width: width,\n height: height,\n r: labelModel.get('borderRadius')\n },\n position: position.slice(),\n // TODO: rich\n style: {\n text: text,\n textFont: font,\n textFill: labelModel.getTextColor(),\n textPosition: 'inside',\n textPadding: paddings,\n fill: bgColor,\n stroke: labelModel.get('borderColor') || 'transparent',\n lineWidth: labelModel.get('borderWidth') || 0,\n shadowBlur: labelModel.get('shadowBlur'),\n shadowColor: labelModel.get('shadowColor'),\n shadowOffsetX: labelModel.get('shadowOffsetX'),\n shadowOffsetY: labelModel.get('shadowOffsetY')\n },\n // Lable should be over axisPointer.\n z2: 10\n };\n} // Do not overflow ec container\n\n\nfunction confineInContainer(position, width, height, api) {\n var viewWidth = api.getWidth();\n var viewHeight = api.getHeight();\n position[0] = Math.min(position[0] + width, viewWidth) - width;\n position[1] = Math.min(position[1] + height, viewHeight) - height;\n position[0] = Math.max(position[0], 0);\n position[1] = Math.max(position[1], 0);\n}\n/**\n * @param {number} value\n * @param {module:echarts/coord/Axis} axis\n * @param {module:echarts/model/Global} ecModel\n * @param {Object} opt\n * @param {Array.} seriesDataIndices\n * @param {number|string} opt.precision 'auto' or a number\n * @param {string|Function} opt.formatter label formatter\n */\n\n\nfunction getValueLabel(value, axis, ecModel, seriesDataIndices, opt) {\n value = axis.scale.parse(value);\n var text = axis.scale.getLabel( // If `precision` is set, width can be fixed (like '12.00500'), which\n // helps to debounce when when moving label.\n value, {\n precision: opt.precision\n });\n var formatter = opt.formatter;\n\n if (formatter) {\n var params = {\n value: axisHelper.getAxisRawValue(axis, value),\n axisDimension: axis.dim,\n axisIndex: axis.index,\n seriesData: []\n };\n zrUtil.each(seriesDataIndices, function (idxItem) {\n var series = ecModel.getSeriesByIndex(idxItem.seriesIndex);\n var dataIndex = idxItem.dataIndexInside;\n var dataParams = series && series.getDataParams(dataIndex);\n dataParams && params.seriesData.push(dataParams);\n });\n\n if (zrUtil.isString(formatter)) {\n text = formatter.replace('{value}', text);\n } else if (zrUtil.isFunction(formatter)) {\n text = formatter(params);\n }\n }\n\n return text;\n}\n/**\n * @param {module:echarts/coord/Axis} axis\n * @param {number} value\n * @param {Object} layoutInfo {\n * rotation, position, labelOffset, labelDirection, labelMargin\n * }\n */\n\n\nfunction getTransformedPosition(axis, value, layoutInfo) {\n var transform = matrix.create();\n matrix.rotate(transform, transform, layoutInfo.rotation);\n matrix.translate(transform, transform, layoutInfo.position);\n return graphic.applyTransform([axis.dataToCoord(value), (layoutInfo.labelOffset || 0) + (layoutInfo.labelDirection || 1) * (layoutInfo.labelMargin || 0)], transform);\n}\n\nfunction buildCartesianSingleLabelElOption(value, elOption, layoutInfo, axisModel, axisPointerModel, api) {\n var textLayout = AxisBuilder.innerTextLayout(layoutInfo.rotation, 0, layoutInfo.labelDirection);\n layoutInfo.labelMargin = axisPointerModel.get('label.margin');\n buildLabelElOption(elOption, axisModel, axisPointerModel, api, {\n position: getTransformedPosition(axisModel.axis, value, layoutInfo),\n align: textLayout.textAlign,\n verticalAlign: textLayout.textVerticalAlign\n });\n}\n/**\n * @param {Array.} p1\n * @param {Array.} p2\n * @param {number} [xDimIndex=0] or 1\n */\n\n\nfunction makeLineShape(p1, p2, xDimIndex) {\n xDimIndex = xDimIndex || 0;\n return {\n x1: p1[xDimIndex],\n y1: p1[1 - xDimIndex],\n x2: p2[xDimIndex],\n y2: p2[1 - xDimIndex]\n };\n}\n/**\n * @param {Array.} xy\n * @param {Array.} wh\n * @param {number} [xDimIndex=0] or 1\n */\n\n\nfunction makeRectShape(xy, wh, xDimIndex) {\n xDimIndex = xDimIndex || 0;\n return {\n x: xy[xDimIndex],\n y: xy[1 - xDimIndex],\n width: wh[xDimIndex],\n height: wh[1 - xDimIndex]\n };\n}\n\nfunction makeSectorShape(cx, cy, r0, r, startAngle, endAngle) {\n return {\n cx: cx,\n cy: cy,\n r0: r0,\n r: r,\n startAngle: startAngle,\n endAngle: endAngle,\n clockwise: true\n };\n}\n\nexports.buildElStyle = buildElStyle;\nexports.buildLabelElOption = buildLabelElOption;\nexports.getValueLabel = getValueLabel;\nexports.getTransformedPosition = getTransformedPosition;\nexports.buildCartesianSingleLabelElOption = buildCartesianSingleLabelElOption;\nexports.makeLineShape = makeLineShape;\nexports.makeRectShape = makeRectShape;\nexports.makeSectorShape = makeSectorShape;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction _default(seriesType) {\n return {\n seriesType: seriesType,\n reset: function (seriesModel, ecModel) {\n var legendModels = ecModel.findComponents({\n mainType: 'legend'\n });\n\n if (!legendModels || !legendModels.length) {\n return;\n }\n\n var data = seriesModel.getData();\n data.filterSelf(function (idx) {\n var name = data.getName(idx); // If in any legend component the status is not selected.\n\n for (var i = 0; i < legendModels.length; i++) {\n if (!legendModels[i].isSelected(name)) {\n return false;\n }\n }\n\n return true;\n });\n }\n };\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar each = _util.each;\n\nvar _simpleLayoutHelper = require(\"./simpleLayoutHelper\");\n\nvar simpleLayout = _simpleLayoutHelper.simpleLayout;\nvar simpleLayoutEdge = _simpleLayoutHelper.simpleLayoutEdge;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction _default(ecModel, api) {\n ecModel.eachSeriesByType('graph', function (seriesModel) {\n var layout = seriesModel.get('layout');\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys && coordSys.type !== 'view') {\n var data = seriesModel.getData();\n var dimensions = [];\n each(coordSys.dimensions, function (coordDim) {\n dimensions = dimensions.concat(data.mapDimension(coordDim, true));\n });\n\n for (var dataIndex = 0; dataIndex < data.count(); dataIndex++) {\n var value = [];\n var hasValue = false;\n\n for (var i = 0; i < dimensions.length; i++) {\n var val = data.get(dimensions[i], dataIndex);\n\n if (!isNaN(val)) {\n hasValue = true;\n }\n\n value.push(val);\n }\n\n if (hasValue) {\n data.setItemLayout(dataIndex, coordSys.dataToPoint(value));\n } else {\n // Also {Array.}, not undefined to avoid if...else... statement\n data.setItemLayout(dataIndex, [NaN, NaN]);\n }\n }\n\n simpleLayoutEdge(data.graph, seriesModel);\n } else if (!layout || layout === 'none') {\n simpleLayout(seriesModel);\n }\n });\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar lang = require(\"../../../lang\");\n\nvar featureManager = require(\"../featureManager\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar magicTypeLang = lang.toolbox.magicType;\nvar INNER_STACK_KEYWORD = '__ec_magicType_stack__';\n\nfunction MagicType(model) {\n this.model = model;\n}\n\nMagicType.defaultOption = {\n show: true,\n type: [],\n // Icon group\n icon: {\n /* eslint-disable */\n line: 'M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4',\n bar: 'M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7',\n stack: 'M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z' // jshint ignore:line\n\n /* eslint-enable */\n\n },\n // `line`, `bar`, `stack`, `tiled`\n title: zrUtil.clone(magicTypeLang.title),\n option: {},\n seriesIndex: {}\n};\nvar proto = MagicType.prototype;\n\nproto.getIcons = function () {\n var model = this.model;\n var availableIcons = model.get('icon');\n var icons = {};\n zrUtil.each(model.get('type'), function (type) {\n if (availableIcons[type]) {\n icons[type] = availableIcons[type];\n }\n });\n return icons;\n};\n\nvar seriesOptGenreator = {\n 'line': function (seriesType, seriesId, seriesModel, model) {\n if (seriesType === 'bar') {\n return zrUtil.merge({\n id: seriesId,\n type: 'line',\n // Preserve data related option\n data: seriesModel.get('data'),\n stack: seriesModel.get('stack'),\n markPoint: seriesModel.get('markPoint'),\n markLine: seriesModel.get('markLine')\n }, model.get('option.line') || {}, true);\n }\n },\n 'bar': function (seriesType, seriesId, seriesModel, model) {\n if (seriesType === 'line') {\n return zrUtil.merge({\n id: seriesId,\n type: 'bar',\n // Preserve data related option\n data: seriesModel.get('data'),\n stack: seriesModel.get('stack'),\n markPoint: seriesModel.get('markPoint'),\n markLine: seriesModel.get('markLine')\n }, model.get('option.bar') || {}, true);\n }\n },\n 'stack': function (seriesType, seriesId, seriesModel, model) {\n var isStack = seriesModel.get('stack') === INNER_STACK_KEYWORD;\n\n if (seriesType === 'line' || seriesType === 'bar') {\n model.setIconStatus('stack', isStack ? 'normal' : 'emphasis');\n return zrUtil.merge({\n id: seriesId,\n stack: isStack ? '' : INNER_STACK_KEYWORD\n }, model.get('option.stack') || {}, true);\n }\n }\n};\nvar radioTypes = [['line', 'bar'], ['stack']];\n\nproto.onclick = function (ecModel, api, type) {\n var model = this.model;\n var seriesIndex = model.get('seriesIndex.' + type); // Not supported magicType\n\n if (!seriesOptGenreator[type]) {\n return;\n }\n\n var newOption = {\n series: []\n };\n\n var generateNewSeriesTypes = function (seriesModel) {\n var seriesType = seriesModel.subType;\n var seriesId = seriesModel.id;\n var newSeriesOpt = seriesOptGenreator[type](seriesType, seriesId, seriesModel, model);\n\n if (newSeriesOpt) {\n // PENDING If merge original option?\n zrUtil.defaults(newSeriesOpt, seriesModel.option);\n newOption.series.push(newSeriesOpt);\n } // Modify boundaryGap\n\n\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys && coordSys.type === 'cartesian2d' && (type === 'line' || type === 'bar')) {\n var categoryAxis = coordSys.getAxesByScale('ordinal')[0];\n\n if (categoryAxis) {\n var axisDim = categoryAxis.dim;\n var axisType = axisDim + 'Axis';\n var axisModel = ecModel.queryComponents({\n mainType: axisType,\n index: seriesModel.get(name + 'Index'),\n id: seriesModel.get(name + 'Id')\n })[0];\n var axisIndex = axisModel.componentIndex;\n newOption[axisType] = newOption[axisType] || [];\n\n for (var i = 0; i <= axisIndex; i++) {\n newOption[axisType][axisIndex] = newOption[axisType][axisIndex] || {};\n }\n\n newOption[axisType][axisIndex].boundaryGap = type === 'bar';\n }\n }\n };\n\n zrUtil.each(radioTypes, function (radio) {\n if (zrUtil.indexOf(radio, type) >= 0) {\n zrUtil.each(radio, function (item) {\n model.setIconStatus(item, 'normal');\n });\n }\n });\n model.setIconStatus(type, 'emphasis');\n ecModel.eachComponent({\n mainType: 'series',\n query: seriesIndex == null ? null : {\n seriesIndex: seriesIndex\n }\n }, generateNewSeriesTypes);\n var newTitle; // Change title of stack\n\n if (type === 'stack') {\n var isStack = newOption.series && newOption.series[0] && newOption.series[0].stack === INNER_STACK_KEYWORD;\n newTitle = isStack ? zrUtil.merge({\n stack: magicTypeLang.title.tiled\n }, magicTypeLang.title) : zrUtil.clone(magicTypeLang.title);\n }\n\n api.dispatchAction({\n type: 'changeMagicType',\n currentType: type,\n newOption: newOption,\n newTitle: newTitle,\n featureName: 'magicType'\n });\n};\n\necharts.registerAction({\n type: 'changeMagicType',\n event: 'magicTypeChanged',\n update: 'prepareAndUpdate'\n}, function (payload, ecModel) {\n ecModel.mergeOption(payload.newOption);\n});\nfeatureManager.register('magicType', MagicType);\nvar _default = MagicType;\nmodule.exports = _default;","var env = require(\"../core/env\");\n\nvar urn = 'urn:schemas-microsoft-com:vml';\nvar win = typeof window === 'undefined' ? null : window;\nvar vmlInited = false;\nvar doc = win && win.document;\n\nfunction createNode(tagName) {\n return doCreateNode(tagName);\n} // Avoid assign to an exported variable, for transforming to cjs.\n\n\nvar doCreateNode;\n\nif (doc && !env.canvasSupported) {\n try {\n !doc.namespaces.zrvml && doc.namespaces.add('zrvml', urn);\n\n doCreateNode = function (tagName) {\n return doc.createElement('');\n };\n } catch (e) {\n doCreateNode = function (tagName) {\n return doc.createElement('<' + tagName + ' xmlns=\"' + urn + '\" class=\"zrvml\">');\n };\n }\n} // From raphael\n\n\nfunction initVML() {\n if (vmlInited || !doc) {\n return;\n }\n\n vmlInited = true;\n var styleSheets = doc.styleSheets;\n\n if (styleSheets.length < 31) {\n doc.createStyleSheet().addRule('.zrvml', 'behavior:url(#default#VML)');\n } else {\n // http://msdn.microsoft.com/en-us/library/ms531194%28VS.85%29.aspx\n styleSheets[0].addRule('.zrvml', 'behavior:url(#default#VML)');\n }\n}\n\nexports.doc = doc;\nexports.createNode = createNode;\nexports.initVML = initVML;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar SeriesModel = require(\"../../model/Series\");\n\nvar createGraphFromNodeEdge = require(\"../helper/createGraphFromNodeEdge\");\n\nvar _format = require(\"../../util/format\");\n\nvar encodeHTML = _format.encodeHTML;\n\nvar Model = require(\"../../model/Model\");\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar SankeySeries = SeriesModel.extend({\n type: 'series.sankey',\n layoutInfo: null,\n levelModels: null,\n\n /**\n * Init a graph data structure from data in option series\n *\n * @param {Object} option the object used to config echarts view\n * @return {module:echarts/data/List} storage initial data\n */\n getInitialData: function (option, ecModel) {\n var links = option.edges || option.links;\n var nodes = option.data || option.nodes;\n var levels = option.levels;\n var levelModels = this.levelModels = {};\n\n for (var i = 0; i < levels.length; i++) {\n if (levels[i].depth != null && levels[i].depth >= 0) {\n levelModels[levels[i].depth] = new Model(levels[i], this, ecModel);\n } else {}\n }\n\n if (nodes && links) {\n var graph = createGraphFromNodeEdge(nodes, links, this, true, beforeLink);\n return graph.data;\n }\n\n function beforeLink(nodeData, edgeData) {\n nodeData.wrapMethod('getItemModel', function (model, idx) {\n model.customizeGetParent(function (path) {\n var parentModel = this.parentModel;\n var nodeDepth = parentModel.getData().getItemLayout(idx).depth;\n var levelModel = parentModel.levelModels[nodeDepth];\n return levelModel || this.parentModel;\n });\n return model;\n });\n edgeData.wrapMethod('getItemModel', function (model, idx) {\n model.customizeGetParent(function (path) {\n var parentModel = this.parentModel;\n var edge = parentModel.getGraph().getEdgeByIndex(idx);\n var depth = edge.node1.getLayout().depth;\n var levelModel = parentModel.levelModels[depth];\n return levelModel || this.parentModel;\n });\n return model;\n });\n }\n },\n setNodePosition: function (dataIndex, localPosition) {\n var dataItem = this.option.data[dataIndex];\n dataItem.localX = localPosition[0];\n dataItem.localY = localPosition[1];\n },\n\n /**\n * Return the graphic data structure\n *\n * @return {module:echarts/data/Graph} graphic data structure\n */\n getGraph: function () {\n return this.getData().graph;\n },\n\n /**\n * Get edge data of graphic data structure\n *\n * @return {module:echarts/data/List} data structure of list\n */\n getEdgeData: function () {\n return this.getGraph().edgeData;\n },\n\n /**\n * @override\n */\n formatTooltip: function (dataIndex, multipleSeries, dataType) {\n // dataType === 'node' or empty do not show tooltip by default\n if (dataType === 'edge') {\n var params = this.getDataParams(dataIndex, dataType);\n var rawDataOpt = params.data;\n var html = rawDataOpt.source + ' -- ' + rawDataOpt.target;\n\n if (params.value) {\n html += ' : ' + params.value;\n }\n\n return encodeHTML(html);\n } else if (dataType === 'node') {\n var node = this.getGraph().getNodeByIndex(dataIndex);\n var value = node.getLayout().value;\n var name = this.getDataParams(dataIndex, dataType).data.name;\n\n if (value) {\n var html = name + ' : ' + value;\n }\n\n return encodeHTML(html);\n }\n\n return SankeySeries.superCall(this, 'formatTooltip', dataIndex, multipleSeries);\n },\n optionUpdated: function () {\n var option = this.option;\n\n if (option.focusNodeAdjacency === true) {\n option.focusNodeAdjacency = 'allEdges';\n }\n },\n // Override Series.getDataParams()\n getDataParams: function (dataIndex, dataType) {\n var params = SankeySeries.superCall(this, 'getDataParams', dataIndex, dataType);\n\n if (params.value == null && dataType === 'node') {\n var node = this.getGraph().getNodeByIndex(dataIndex);\n var nodeValue = node.getLayout().value;\n params.value = nodeValue;\n }\n\n return params;\n },\n defaultOption: {\n zlevel: 0,\n z: 2,\n coordinateSystem: 'view',\n layout: null,\n // The position of the whole view\n left: '5%',\n top: '5%',\n right: '20%',\n bottom: '5%',\n // Value can be 'vertical'\n orient: 'horizontal',\n // The dx of the node\n nodeWidth: 20,\n // The vertical distance between two nodes\n nodeGap: 8,\n // Control if the node can move or not\n draggable: true,\n // Value can be 'inEdges', 'outEdges', 'allEdges', true (the same as 'allEdges').\n focusNodeAdjacency: false,\n // The number of iterations to change the position of the node\n layoutIterations: 32,\n label: {\n show: true,\n position: 'right',\n color: '#000',\n fontSize: 12\n },\n levels: [],\n // Value can be 'left' or 'right'\n nodeAlign: 'justify',\n itemStyle: {\n borderWidth: 1,\n borderColor: '#333'\n },\n lineStyle: {\n color: '#314656',\n opacity: 0.2,\n curveness: 0.5\n },\n emphasis: {\n label: {\n show: true\n },\n lineStyle: {\n opacity: 0.5\n }\n },\n animationEasing: 'linear',\n animationDuration: 1000\n }\n});\nvar _default = SankeySeries;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nrequire(\"../coord/geo/GeoModel\");\n\nrequire(\"../coord/geo/geoCreator\");\n\nrequire(\"./geo/GeoView\");\n\nrequire(\"../action/geoRoam\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction makeAction(method, actionInfo) {\n actionInfo.update = 'updateView';\n echarts.registerAction(actionInfo, function (payload, ecModel) {\n var selected = {};\n ecModel.eachComponent({\n mainType: 'geo',\n query: payload\n }, function (geoModel) {\n geoModel[method](payload.name);\n var geo = geoModel.coordinateSystem;\n zrUtil.each(geo.regions, function (region) {\n selected[region.name] = geoModel.isSelected(region.name) || false;\n });\n });\n return {\n selected: selected,\n name: payload.name\n };\n });\n}\n\nmakeAction('toggleSelected', {\n type: 'geoToggleSelect',\n event: 'geoselectchanged'\n});\nmakeAction('select', {\n type: 'geoSelect',\n event: 'geoselected'\n});\nmakeAction('unSelect', {\n type: 'geoUnSelect',\n event: 'geounselected'\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar layout = require(\"../../util/layout\");\n\nvar numberUtil = require(\"../../util/number\");\n\nvar CoordinateSystem = require(\"../../CoordinateSystem\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// (24*60*60*1000)\nvar PROXIMATE_ONE_DAY = 86400000;\n/**\n * Calendar\n *\n * @constructor\n *\n * @param {Object} calendarModel calendarModel\n * @param {Object} ecModel ecModel\n * @param {Object} api api\n */\n\nfunction Calendar(calendarModel, ecModel, api) {\n this._model = calendarModel;\n}\n\nCalendar.prototype = {\n constructor: Calendar,\n type: 'calendar',\n dimensions: ['time', 'value'],\n // Required in createListFromData\n getDimensionsInfo: function () {\n return [{\n name: 'time',\n type: 'time'\n }, 'value'];\n },\n getRangeInfo: function () {\n return this._rangeInfo;\n },\n getModel: function () {\n return this._model;\n },\n getRect: function () {\n return this._rect;\n },\n getCellWidth: function () {\n return this._sw;\n },\n getCellHeight: function () {\n return this._sh;\n },\n getOrient: function () {\n return this._orient;\n },\n\n /**\n * getFirstDayOfWeek\n *\n * @example\n * 0 : start at Sunday\n * 1 : start at Monday\n *\n * @return {number}\n */\n getFirstDayOfWeek: function () {\n return this._firstDayOfWeek;\n },\n\n /**\n * get date info\n *\n * @param {string|number} date date\n * @return {Object}\n * {\n * y: string, local full year, eg., '1940',\n * m: string, local month, from '01' ot '12',\n * d: string, local date, from '01' to '31' (if exists),\n * day: It is not date.getDay(). It is the location of the cell in a week, from 0 to 6,\n * time: timestamp,\n * formatedDate: string, yyyy-MM-dd,\n * date: original date object.\n * }\n */\n getDateInfo: function (date) {\n date = numberUtil.parseDate(date);\n var y = date.getFullYear();\n var m = date.getMonth() + 1;\n m = m < 10 ? '0' + m : m;\n var d = date.getDate();\n d = d < 10 ? '0' + d : d;\n var day = date.getDay();\n day = Math.abs((day + 7 - this.getFirstDayOfWeek()) % 7);\n return {\n y: y,\n m: m,\n d: d,\n day: day,\n time: date.getTime(),\n formatedDate: y + '-' + m + '-' + d,\n date: date\n };\n },\n getNextNDay: function (date, n) {\n n = n || 0;\n\n if (n === 0) {\n return this.getDateInfo(date);\n }\n\n date = new Date(this.getDateInfo(date).time);\n date.setDate(date.getDate() + n);\n return this.getDateInfo(date);\n },\n update: function (ecModel, api) {\n this._firstDayOfWeek = +this._model.getModel('dayLabel').get('firstDay');\n this._orient = this._model.get('orient');\n this._lineWidth = this._model.getModel('itemStyle').getItemStyle().lineWidth || 0;\n this._rangeInfo = this._getRangeInfo(this._initRangeOption());\n var weeks = this._rangeInfo.weeks || 1;\n var whNames = ['width', 'height'];\n\n var cellSize = this._model.get('cellSize').slice();\n\n var layoutParams = this._model.getBoxLayoutParams();\n\n var cellNumbers = this._orient === 'horizontal' ? [weeks, 7] : [7, weeks];\n zrUtil.each([0, 1], function (idx) {\n if (cellSizeSpecified(cellSize, idx)) {\n layoutParams[whNames[idx]] = cellSize[idx] * cellNumbers[idx];\n }\n });\n var whGlobal = {\n width: api.getWidth(),\n height: api.getHeight()\n };\n var calendarRect = this._rect = layout.getLayoutRect(layoutParams, whGlobal);\n zrUtil.each([0, 1], function (idx) {\n if (!cellSizeSpecified(cellSize, idx)) {\n cellSize[idx] = calendarRect[whNames[idx]] / cellNumbers[idx];\n }\n });\n\n function cellSizeSpecified(cellSize, idx) {\n return cellSize[idx] != null && cellSize[idx] !== 'auto';\n }\n\n this._sw = cellSize[0];\n this._sh = cellSize[1];\n },\n\n /**\n * Convert a time data(time, value) item to (x, y) point.\n *\n * @override\n * @param {Array|number} data data\n * @param {boolean} [clamp=true] out of range\n * @return {Array} point\n */\n dataToPoint: function (data, clamp) {\n zrUtil.isArray(data) && (data = data[0]);\n clamp == null && (clamp = true);\n var dayInfo = this.getDateInfo(data);\n var range = this._rangeInfo;\n var date = dayInfo.formatedDate; // if not in range return [NaN, NaN]\n\n if (clamp && !(dayInfo.time >= range.start.time && dayInfo.time < range.end.time + PROXIMATE_ONE_DAY)) {\n return [NaN, NaN];\n }\n\n var week = dayInfo.day;\n\n var nthWeek = this._getRangeInfo([range.start.time, date]).nthWeek;\n\n if (this._orient === 'vertical') {\n return [this._rect.x + week * this._sw + this._sw / 2, this._rect.y + nthWeek * this._sh + this._sh / 2];\n }\n\n return [this._rect.x + nthWeek * this._sw + this._sw / 2, this._rect.y + week * this._sh + this._sh / 2];\n },\n\n /**\n * Convert a (x, y) point to time data\n *\n * @override\n * @param {string} point point\n * @return {string} data\n */\n pointToData: function (point) {\n var date = this.pointToDate(point);\n return date && date.time;\n },\n\n /**\n * Convert a time date item to (x, y) four point.\n *\n * @param {Array} data date[0] is date\n * @param {boolean} [clamp=true] out of range\n * @return {Object} point\n */\n dataToRect: function (data, clamp) {\n var point = this.dataToPoint(data, clamp);\n return {\n contentShape: {\n x: point[0] - (this._sw - this._lineWidth) / 2,\n y: point[1] - (this._sh - this._lineWidth) / 2,\n width: this._sw - this._lineWidth,\n height: this._sh - this._lineWidth\n },\n center: point,\n tl: [point[0] - this._sw / 2, point[1] - this._sh / 2],\n tr: [point[0] + this._sw / 2, point[1] - this._sh / 2],\n br: [point[0] + this._sw / 2, point[1] + this._sh / 2],\n bl: [point[0] - this._sw / 2, point[1] + this._sh / 2]\n };\n },\n\n /**\n * Convert a (x, y) point to time date\n *\n * @param {Array} point point\n * @return {Object} date\n */\n pointToDate: function (point) {\n var nthX = Math.floor((point[0] - this._rect.x) / this._sw) + 1;\n var nthY = Math.floor((point[1] - this._rect.y) / this._sh) + 1;\n var range = this._rangeInfo.range;\n\n if (this._orient === 'vertical') {\n return this._getDateByWeeksAndDay(nthY, nthX - 1, range);\n }\n\n return this._getDateByWeeksAndDay(nthX, nthY - 1, range);\n },\n\n /**\n * @inheritDoc\n */\n convertToPixel: zrUtil.curry(doConvert, 'dataToPoint'),\n\n /**\n * @inheritDoc\n */\n convertFromPixel: zrUtil.curry(doConvert, 'pointToData'),\n\n /**\n * initRange\n *\n * @private\n * @return {Array} [start, end]\n */\n _initRangeOption: function () {\n var range = this._model.get('range');\n\n var rg = range;\n\n if (zrUtil.isArray(rg) && rg.length === 1) {\n rg = rg[0];\n }\n\n if (/^\\d{4}$/.test(rg)) {\n range = [rg + '-01-01', rg + '-12-31'];\n }\n\n if (/^\\d{4}[\\/|-]\\d{1,2}$/.test(rg)) {\n var start = this.getDateInfo(rg);\n var firstDay = start.date;\n firstDay.setMonth(firstDay.getMonth() + 1);\n var end = this.getNextNDay(firstDay, -1);\n range = [start.formatedDate, end.formatedDate];\n }\n\n if (/^\\d{4}[\\/|-]\\d{1,2}[\\/|-]\\d{1,2}$/.test(rg)) {\n range = [rg, rg];\n }\n\n var tmp = this._getRangeInfo(range);\n\n if (tmp.start.time > tmp.end.time) {\n range.reverse();\n }\n\n return range;\n },\n\n /**\n * range info\n *\n * @private\n * @param {Array} range range ['2017-01-01', '2017-07-08']\n * If range[0] > range[1], they will not be reversed.\n * @return {Object} obj\n */\n _getRangeInfo: function (range) {\n range = [this.getDateInfo(range[0]), this.getDateInfo(range[1])];\n var reversed;\n\n if (range[0].time > range[1].time) {\n reversed = true;\n range.reverse();\n }\n\n var allDay = Math.floor(range[1].time / PROXIMATE_ONE_DAY) - Math.floor(range[0].time / PROXIMATE_ONE_DAY) + 1; // Consider case1 (#11677 #10430):\n // Set the system timezone as \"UK\", set the range to `['2016-07-01', '2016-12-31']`\n // Consider case2:\n // Firstly set system timezone as \"Time Zone: America/Toronto\",\n // ```\n // var first = new Date(1478412000000 - 3600 * 1000 * 2.5);\n // var second = new Date(1478412000000);\n // var allDays = Math.floor(second / ONE_DAY) - Math.floor(first / ONE_DAY) + 1;\n // ```\n // will get wrong result because of DST. So we should fix it.\n\n var date = new Date(range[0].time);\n var startDateNum = date.getDate();\n var endDateNum = range[1].date.getDate();\n date.setDate(startDateNum + allDay - 1); // The bias can not over a month, so just compare date.\n\n var dateNum = date.getDate();\n\n if (dateNum !== endDateNum) {\n var sign = date.getTime() - range[1].time > 0 ? 1 : -1;\n\n while ((dateNum = date.getDate()) !== endDateNum && (date.getTime() - range[1].time) * sign > 0) {\n allDay -= sign;\n date.setDate(dateNum - sign);\n }\n }\n\n var weeks = Math.floor((allDay + range[0].day + 6) / 7);\n var nthWeek = reversed ? -weeks + 1 : weeks - 1;\n reversed && range.reverse();\n return {\n range: [range[0].formatedDate, range[1].formatedDate],\n start: range[0],\n end: range[1],\n allDay: allDay,\n weeks: weeks,\n // From 0.\n nthWeek: nthWeek,\n fweek: range[0].day,\n lweek: range[1].day\n };\n },\n\n /**\n * get date by nthWeeks and week day in range\n *\n * @private\n * @param {number} nthWeek the week\n * @param {number} day the week day\n * @param {Array} range [d1, d2]\n * @return {Object}\n */\n _getDateByWeeksAndDay: function (nthWeek, day, range) {\n var rangeInfo = this._getRangeInfo(range);\n\n if (nthWeek > rangeInfo.weeks || nthWeek === 0 && day < rangeInfo.fweek || nthWeek === rangeInfo.weeks && day > rangeInfo.lweek) {\n return false;\n }\n\n var nthDay = (nthWeek - 1) * 7 - rangeInfo.fweek + day;\n var date = new Date(rangeInfo.start.time);\n date.setDate(rangeInfo.start.d + nthDay);\n return this.getDateInfo(date);\n }\n};\nCalendar.dimensions = Calendar.prototype.dimensions;\nCalendar.getDimensionsInfo = Calendar.prototype.getDimensionsInfo;\n\nCalendar.create = function (ecModel, api) {\n var calendarList = [];\n ecModel.eachComponent('calendar', function (calendarModel) {\n var calendar = new Calendar(calendarModel, ecModel, api);\n calendarList.push(calendar);\n calendarModel.coordinateSystem = calendar;\n });\n ecModel.eachSeries(function (calendarSeries) {\n if (calendarSeries.get('coordinateSystem') === 'calendar') {\n // Inject coordinate system\n calendarSeries.coordinateSystem = calendarList[calendarSeries.get('calendarIndex') || 0];\n }\n });\n return calendarList;\n};\n\nfunction doConvert(methodName, ecModel, finder, value) {\n var calendarModel = finder.calendarModel;\n var seriesModel = finder.seriesModel;\n var coordSys = calendarModel ? calendarModel.coordinateSystem : seriesModel ? seriesModel.coordinateSystem : null;\n return coordSys === this ? coordSys[methodName](value) : null;\n}\n\nCoordinateSystem.register('calendar', Calendar);\nvar _default = Calendar;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar createHashMap = _util.createHashMap;\nvar each = _util.each;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// (1) [Caution]: the logic is correct based on the premises:\n// data processing stage is blocked in stream.\n// See \n// (2) Only register once when import repeatly.\n// Should be executed after series filtered and before stack calculation.\nfunction _default(ecModel) {\n var stackInfoMap = createHashMap();\n ecModel.eachSeries(function (seriesModel) {\n var stack = seriesModel.get('stack'); // Compatibal: when `stack` is set as '', do not stack.\n\n if (stack) {\n var stackInfoList = stackInfoMap.get(stack) || stackInfoMap.set(stack, []);\n var data = seriesModel.getData();\n var stackInfo = {\n // Used for calculate axis extent automatically.\n stackResultDimension: data.getCalculationInfo('stackResultDimension'),\n stackedOverDimension: data.getCalculationInfo('stackedOverDimension'),\n stackedDimension: data.getCalculationInfo('stackedDimension'),\n stackedByDimension: data.getCalculationInfo('stackedByDimension'),\n isStackedByIndex: data.getCalculationInfo('isStackedByIndex'),\n data: data,\n seriesModel: seriesModel\n }; // If stacked on axis that do not support data stack.\n\n if (!stackInfo.stackedDimension || !(stackInfo.isStackedByIndex || stackInfo.stackedByDimension)) {\n return;\n }\n\n stackInfoList.length && data.setCalculationInfo('stackedOnSeries', stackInfoList[stackInfoList.length - 1].seriesModel);\n stackInfoList.push(stackInfo);\n }\n });\n stackInfoMap.each(calculateStack);\n}\n\nfunction calculateStack(stackInfoList) {\n each(stackInfoList, function (targetStackInfo, idxInStack) {\n var resultVal = [];\n var resultNaN = [NaN, NaN];\n var dims = [targetStackInfo.stackResultDimension, targetStackInfo.stackedOverDimension];\n var targetData = targetStackInfo.data;\n var isStackedByIndex = targetStackInfo.isStackedByIndex; // Should not write on raw data, because stack series model list changes\n // depending on legend selection.\n\n var newData = targetData.map(dims, function (v0, v1, dataIndex) {\n var sum = targetData.get(targetStackInfo.stackedDimension, dataIndex); // Consider `connectNulls` of line area, if value is NaN, stackedOver\n // should also be NaN, to draw a appropriate belt area.\n\n if (isNaN(sum)) {\n return resultNaN;\n }\n\n var byValue;\n var stackedDataRawIndex;\n\n if (isStackedByIndex) {\n stackedDataRawIndex = targetData.getRawIndex(dataIndex);\n } else {\n byValue = targetData.get(targetStackInfo.stackedByDimension, dataIndex);\n } // If stackOver is NaN, chart view will render point on value start.\n\n\n var stackedOver = NaN;\n\n for (var j = idxInStack - 1; j >= 0; j--) {\n var stackInfo = stackInfoList[j]; // Has been optimized by inverted indices on `stackedByDimension`.\n\n if (!isStackedByIndex) {\n stackedDataRawIndex = stackInfo.data.rawIndexOf(stackInfo.stackedByDimension, byValue);\n }\n\n if (stackedDataRawIndex >= 0) {\n var val = stackInfo.data.getByRawIndex(stackInfo.stackResultDimension, stackedDataRawIndex); // Considering positive stack, negative stack and empty data\n\n if (sum >= 0 && val > 0 || // Positive stack\n sum <= 0 && val < 0 // Negative stack\n ) {\n sum += val;\n stackedOver = val;\n break;\n }\n }\n }\n\n resultVal[0] = sum;\n resultVal[1] = stackedOver;\n return resultVal;\n });\n targetData.hostModel.setData(newData); // Update for consequent calculation\n\n targetStackInfo.data = newData;\n });\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./legend/LegendModel\");\n\nrequire(\"./legend/legendAction\");\n\nrequire(\"./legend/LegendView\");\n\nvar legendFilter = require(\"./legend/legendFilter\");\n\nvar Component = require(\"../model/Component\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Do not contain scrollable legend, for sake of file size.\n// Series Filter\necharts.registerProcessor(echarts.PRIORITY.PROCESSOR.SERIES_FILTER, legendFilter);\nComponent.registerSubTypeDefaulter('legend', function () {\n // Default 'plain' when no type specified.\n return 'plain';\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @payload\n * @property {number} [seriesIndex]\n * @property {string} [seriesId]\n * @property {string} [seriesName]\n * @property {number} [dataIndex]\n */\necharts.registerAction({\n type: 'focusNodeAdjacency',\n event: 'focusNodeAdjacency',\n update: 'series:focusNodeAdjacency'\n}, function () {});\n/**\n * @payload\n * @property {number} [seriesIndex]\n * @property {string} [seriesId]\n * @property {string} [seriesName]\n */\n\necharts.registerAction({\n type: 'unfocusNodeAdjacency',\n event: 'unfocusNodeAdjacency',\n update: 'series:unfocusNodeAdjacency'\n}, function () {});","var util = require(\"./core/util\");\n\nvar vec2 = require(\"./core/vector\");\n\nvar Draggable = require(\"./mixin/Draggable\");\n\nvar Eventful = require(\"./mixin/Eventful\");\n\nvar eventTool = require(\"./core/event\");\n\nvar GestureMgr = require(\"./core/GestureMgr\");\n\n/**\n * [The interface between `Handler` and `HandlerProxy`]:\n *\n * The default `HandlerProxy` only support the common standard web environment\n * (e.g., standalone browser, headless browser, embed browser in mobild APP, ...).\n * But `HandlerProxy` can be replaced to support more non-standard environment\n * (e.g., mini app), or to support more feature that the default `HandlerProxy`\n * not provided (like echarts-gl did).\n * So the interface between `Handler` and `HandlerProxy` should be stable. Do not\n * make break changes util inevitable. The interface include the public methods\n * of `Handler` and the events listed in `handlerNames` below, by which `HandlerProxy`\n * drives `Handler`.\n */\n\n/**\n * [Drag outside]:\n *\n * That is, triggering `mousemove` and `mouseup` event when the pointer is out of the\n * zrender area when dragging. That is important for the improvement of the user experience\n * when dragging something near the boundary without being terminated unexpectedly.\n *\n * We originally consider to introduce new events like `pagemovemove` and `pagemouseup`\n * to resolve this issue. But some drawbacks of it is described in\n * https://github.com/ecomfe/zrender/pull/536#issuecomment-560286899\n *\n * Instead, we referenced the specifications:\n * https://www.w3.org/TR/touch-events/#the-touchmove-event\n * https://www.w3.org/TR/2014/WD-DOM-Level-3-Events-20140925/#event-type-mousemove\n * where the the mousemove/touchmove can be continue to fire if the user began a drag\n * operation and the pointer has left the boundary. (for the mouse event, browsers\n * only do it on `document` and when the pointer has left the boundary of the browser.)\n *\n * So the default `HandlerProxy` supports this feature similarly: if it is in the dragging\n * state (see `pointerCapture` in `HandlerProxy`), the `mousemove` and `mouseup` continue\n * to fire until release the pointer. That is implemented by listen to those event on\n * `document`.\n * If we implement some other `HandlerProxy` only for touch device, that would be easier.\n * The touch event support this feature by default.\n *\n * Note:\n * There might be some cases that the mouse event can not be\n * received on `document`. For example,\n * (A) `useCapture` is not supported and some user defined event listeners on the ancestor\n * of zr dom throw Error .\n * (B) `useCapture` is not supported Some user defined event listeners on the ancestor of\n * zr dom call `stopPropagation`.\n * In these cases, the `mousemove` event might be keep triggered event\n * if the mouse is released. We try to reduce the side-effect in those cases.\n * That is, do nothing (especially, `findHover`) in those cases. See `isOutsideBoundary`.\n *\n * Note:\n * If `HandlerProxy` listens to `document` with `useCapture`, `HandlerProxy` needs to\n * make sure `stopPropagation` and `preventDefault` doing nothing if and only if the event\n * target is not zrender dom. Becuase it is dangerous to enable users to call them in\n * `document` capture phase to prevent the propagation to any listener of the webpage.\n * But they are needed to work when the pointer inside the zrender dom.\n */\nvar SILENT = 'silent';\n\nfunction makeEventPacket(eveType, targetInfo, event) {\n return {\n type: eveType,\n event: event,\n // target can only be an element that is not silent.\n target: targetInfo.target,\n // topTarget can be a silent element.\n topTarget: targetInfo.topTarget,\n cancelBubble: false,\n offsetX: event.zrX,\n offsetY: event.zrY,\n gestureEvent: event.gestureEvent,\n pinchX: event.pinchX,\n pinchY: event.pinchY,\n pinchScale: event.pinchScale,\n wheelDelta: event.zrDelta,\n zrByTouch: event.zrByTouch,\n which: event.which,\n stop: stopEvent\n };\n}\n\nfunction stopEvent() {\n eventTool.stop(this.event);\n}\n\nfunction EmptyProxy() {}\n\nEmptyProxy.prototype.dispose = function () {};\n\nvar handlerNames = ['click', 'dblclick', 'mousewheel', 'mouseout', 'mouseup', 'mousedown', 'mousemove', 'contextmenu'];\n/**\n * @alias module:zrender/Handler\n * @constructor\n * @extends module:zrender/mixin/Eventful\n * @param {module:zrender/Storage} storage Storage instance.\n * @param {module:zrender/Painter} painter Painter instance.\n * @param {module:zrender/dom/HandlerProxy} proxy HandlerProxy instance.\n * @param {HTMLElement} painterRoot painter.root (not painter.getViewportRoot()).\n */\n\nvar Handler = function (storage, painter, proxy, painterRoot) {\n Eventful.call(this);\n this.storage = storage;\n this.painter = painter;\n this.painterRoot = painterRoot;\n proxy = proxy || new EmptyProxy();\n /**\n * Proxy of event. can be Dom, WebGLSurface, etc.\n */\n\n this.proxy = null;\n /**\n * {target, topTarget, x, y}\n * @private\n * @type {Object}\n */\n\n this._hovered = {};\n /**\n * @private\n * @type {Date}\n */\n\n this._lastTouchMoment;\n /**\n * @private\n * @type {number}\n */\n\n this._lastX;\n /**\n * @private\n * @type {number}\n */\n\n this._lastY;\n /**\n * @private\n * @type {module:zrender/core/GestureMgr}\n */\n\n this._gestureMgr;\n Draggable.call(this);\n this.setHandlerProxy(proxy);\n};\n\nHandler.prototype = {\n constructor: Handler,\n setHandlerProxy: function (proxy) {\n if (this.proxy) {\n this.proxy.dispose();\n }\n\n if (proxy) {\n util.each(handlerNames, function (name) {\n proxy.on && proxy.on(name, this[name], this);\n }, this); // Attach handler\n\n proxy.handler = this;\n }\n\n this.proxy = proxy;\n },\n mousemove: function (event) {\n var x = event.zrX;\n var y = event.zrY;\n var isOutside = isOutsideBoundary(this, x, y);\n var lastHovered = this._hovered;\n var lastHoveredTarget = lastHovered.target; // If lastHoveredTarget is removed from zr (detected by '__zr') by some API call\n // (like 'setOption' or 'dispatchAction') in event handlers, we should find\n // lastHovered again here. Otherwise 'mouseout' can not be triggered normally.\n // See #6198.\n\n if (lastHoveredTarget && !lastHoveredTarget.__zr) {\n lastHovered = this.findHover(lastHovered.x, lastHovered.y);\n lastHoveredTarget = lastHovered.target;\n }\n\n var hovered = this._hovered = isOutside ? {\n x: x,\n y: y\n } : this.findHover(x, y);\n var hoveredTarget = hovered.target;\n var proxy = this.proxy;\n proxy.setCursor && proxy.setCursor(hoveredTarget ? hoveredTarget.cursor : 'default'); // Mouse out on previous hovered element\n\n if (lastHoveredTarget && hoveredTarget !== lastHoveredTarget) {\n this.dispatchToElement(lastHovered, 'mouseout', event);\n } // Mouse moving on one element\n\n\n this.dispatchToElement(hovered, 'mousemove', event); // Mouse over on a new element\n\n if (hoveredTarget && hoveredTarget !== lastHoveredTarget) {\n this.dispatchToElement(hovered, 'mouseover', event);\n }\n },\n mouseout: function (event) {\n var eventControl = event.zrEventControl;\n var zrIsToLocalDOM = event.zrIsToLocalDOM;\n\n if (eventControl !== 'only_globalout') {\n this.dispatchToElement(this._hovered, 'mouseout', event);\n }\n\n if (eventControl !== 'no_globalout') {\n // FIXME: if the pointer moving from the extra doms to realy \"outside\",\n // the `globalout` should have been triggered. But currently not.\n !zrIsToLocalDOM && this.trigger('globalout', {\n type: 'globalout',\n event: event\n });\n }\n },\n\n /**\n * Resize\n */\n resize: function (event) {\n this._hovered = {};\n },\n\n /**\n * Dispatch event\n * @param {string} eventName\n * @param {event=} eventArgs\n */\n dispatch: function (eventName, eventArgs) {\n var handler = this[eventName];\n handler && handler.call(this, eventArgs);\n },\n\n /**\n * Dispose\n */\n dispose: function () {\n this.proxy.dispose();\n this.storage = this.proxy = this.painter = null;\n },\n\n /**\n * 设置默认的cursor style\n * @param {string} [cursorStyle='default'] 例如 crosshair\n */\n setCursorStyle: function (cursorStyle) {\n var proxy = this.proxy;\n proxy.setCursor && proxy.setCursor(cursorStyle);\n },\n\n /**\n * 事件分发代理\n *\n * @private\n * @param {Object} targetInfo {target, topTarget} 目标图形元素\n * @param {string} eventName 事件名称\n * @param {Object} event 事件对象\n */\n dispatchToElement: function (targetInfo, eventName, event) {\n targetInfo = targetInfo || {};\n var el = targetInfo.target;\n\n if (el && el.silent) {\n return;\n }\n\n var eventHandler = 'on' + eventName;\n var eventPacket = makeEventPacket(eventName, targetInfo, event);\n\n while (el) {\n el[eventHandler] && (eventPacket.cancelBubble = el[eventHandler].call(el, eventPacket));\n el.trigger(eventName, eventPacket);\n el = el.parent;\n\n if (eventPacket.cancelBubble) {\n break;\n }\n }\n\n if (!eventPacket.cancelBubble) {\n // 冒泡到顶级 zrender 对象\n this.trigger(eventName, eventPacket); // 分发事件到用户自定义层\n // 用户有可能在全局 click 事件中 dispose,所以需要判断下 painter 是否存在\n\n this.painter && this.painter.eachOtherLayer(function (layer) {\n if (typeof layer[eventHandler] === 'function') {\n layer[eventHandler].call(layer, eventPacket);\n }\n\n if (layer.trigger) {\n layer.trigger(eventName, eventPacket);\n }\n });\n }\n },\n\n /**\n * @private\n * @param {number} x\n * @param {number} y\n * @param {module:zrender/graphic/Displayable} exclude\n * @return {model:zrender/Element}\n * @method\n */\n findHover: function (x, y, exclude) {\n var list = this.storage.getDisplayList();\n var out = {\n x: x,\n y: y\n };\n\n for (var i = list.length - 1; i >= 0; i--) {\n var hoverCheckResult;\n\n if (list[i] !== exclude // getDisplayList may include ignored item in VML mode\n && !list[i].ignore && (hoverCheckResult = isHover(list[i], x, y))) {\n !out.topTarget && (out.topTarget = list[i]);\n\n if (hoverCheckResult !== SILENT) {\n out.target = list[i];\n break;\n }\n }\n }\n\n return out;\n },\n processGesture: function (event, stage) {\n if (!this._gestureMgr) {\n this._gestureMgr = new GestureMgr();\n }\n\n var gestureMgr = this._gestureMgr;\n stage === 'start' && gestureMgr.clear();\n var gestureInfo = gestureMgr.recognize(event, this.findHover(event.zrX, event.zrY, null).target, this.proxy.dom);\n stage === 'end' && gestureMgr.clear(); // Do not do any preventDefault here. Upper application do that if necessary.\n\n if (gestureInfo) {\n var type = gestureInfo.type;\n event.gestureEvent = type;\n this.dispatchToElement({\n target: gestureInfo.target\n }, type, gestureInfo.event);\n }\n }\n}; // Common handlers\n\nutil.each(['click', 'mousedown', 'mouseup', 'mousewheel', 'dblclick', 'contextmenu'], function (name) {\n Handler.prototype[name] = function (event) {\n var x = event.zrX;\n var y = event.zrY;\n var isOutside = isOutsideBoundary(this, x, y);\n var hovered;\n var hoveredTarget;\n\n if (name !== 'mouseup' || !isOutside) {\n // Find hover again to avoid click event is dispatched manually. Or click is triggered without mouseover\n hovered = this.findHover(x, y);\n hoveredTarget = hovered.target;\n }\n\n if (name === 'mousedown') {\n this._downEl = hoveredTarget;\n this._downPoint = [event.zrX, event.zrY]; // In case click triggered before mouseup\n\n this._upEl = hoveredTarget;\n } else if (name === 'mouseup') {\n this._upEl = hoveredTarget;\n } else if (name === 'click') {\n if (this._downEl !== this._upEl // Original click event is triggered on the whole canvas element,\n // including the case that `mousedown` - `mousemove` - `mouseup`,\n // which should be filtered, otherwise it will bring trouble to\n // pan and zoom.\n || !this._downPoint // Arbitrary value\n || vec2.dist(this._downPoint, [event.zrX, event.zrY]) > 4) {\n return;\n }\n\n this._downPoint = null;\n }\n\n this.dispatchToElement(hovered, name, event);\n };\n});\n\nfunction isHover(displayable, x, y) {\n if (displayable[displayable.rectHover ? 'rectContain' : 'contain'](x, y)) {\n var el = displayable;\n var isSilent;\n\n while (el) {\n // If clipped by ancestor.\n // FIXME: If clipPath has neither stroke nor fill,\n // el.clipPath.contain(x, y) will always return false.\n if (el.clipPath && !el.clipPath.contain(x, y)) {\n return false;\n }\n\n if (el.silent) {\n isSilent = true;\n }\n\n el = el.parent;\n }\n\n return isSilent ? SILENT : true;\n }\n\n return false;\n}\n/**\n * See [Drag outside].\n */\n\n\nfunction isOutsideBoundary(handlerInstance, x, y) {\n var painter = handlerInstance.painter;\n return x < 0 || x > painter.getWidth() || y < 0 || y > painter.getHeight();\n}\n\nutil.mixin(Handler, Eventful);\nutil.mixin(Handler, Draggable);\nvar _default = Handler;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar _roamHelper = require(\"../../action/roamHelper\");\n\nvar updateCenterAndZoom = _roamHelper.updateCenterAndZoom;\n\nrequire(\"../helper/focusNodeAdjacencyAction\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar actionInfo = {\n type: 'graphRoam',\n event: 'graphRoam',\n update: 'none'\n};\n/**\n * @payload\n * @property {string} name Series name\n * @property {number} [dx]\n * @property {number} [dy]\n * @property {number} [zoom]\n * @property {number} [originX]\n * @property {number} [originY]\n */\n\necharts.registerAction(actionInfo, function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: 'series',\n query: payload\n }, function (seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n var res = updateCenterAndZoom(coordSys, payload);\n seriesModel.setCenter && seriesModel.setCenter(res.center);\n seriesModel.setZoom && seriesModel.setZoom(res.zoom);\n });\n});","var Path = require(\"../Path\");\n\nvar polyHelper = require(\"../helper/poly\");\n\n/**\n * @module zrender/graphic/shape/Polyline\n */\nvar _default = Path.extend({\n type: 'polyline',\n shape: {\n points: null,\n smooth: false,\n smoothConstraint: null\n },\n style: {\n stroke: '#000',\n fill: null\n },\n buildPath: function (ctx, shape) {\n polyHelper.buildPath(ctx, shape, false);\n }\n});\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar globalListener = require(\"./globalListener\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar AxisPointerView = echarts.extendComponentView({\n type: 'axisPointer',\n render: function (globalAxisPointerModel, ecModel, api) {\n var globalTooltipModel = ecModel.getComponent('tooltip');\n var triggerOn = globalAxisPointerModel.get('triggerOn') || globalTooltipModel && globalTooltipModel.get('triggerOn') || 'mousemove|click'; // Register global listener in AxisPointerView to enable\n // AxisPointerView to be independent to Tooltip.\n\n globalListener.register('axisPointer', api, function (currTrigger, e, dispatchAction) {\n // If 'none', it is not controlled by mouse totally.\n if (triggerOn !== 'none' && (currTrigger === 'leave' || triggerOn.indexOf(currTrigger) >= 0)) {\n dispatchAction({\n type: 'updateAxisPointer',\n currTrigger: currTrigger,\n x: e && e.offsetX,\n y: e && e.offsetY\n });\n }\n });\n },\n\n /**\n * @override\n */\n remove: function (ecModel, api) {\n globalListener.unregister(api.getZr(), 'axisPointer');\n AxisPointerView.superApply(this._model, 'remove', arguments);\n },\n\n /**\n * @override\n */\n dispose: function (ecModel, api) {\n globalListener.unregister('axisPointer', api);\n AxisPointerView.superApply(this._model, 'dispose', arguments);\n }\n});\nvar _default = AxisPointerView;\nmodule.exports = _default;","var Path = require(\"./Path\");\n\n// CompoundPath to improve performance\nvar _default = Path.extend({\n type: 'compound',\n shape: {\n paths: null\n },\n _updatePathDirty: function () {\n var dirtyPath = this.__dirtyPath;\n var paths = this.shape.paths;\n\n for (var i = 0; i < paths.length; i++) {\n // Mark as dirty if any subpath is dirty\n dirtyPath = dirtyPath || paths[i].__dirtyPath;\n }\n\n this.__dirtyPath = dirtyPath;\n this.__dirty = this.__dirty || dirtyPath;\n },\n beforeBrush: function () {\n this._updatePathDirty();\n\n var paths = this.shape.paths || [];\n var scale = this.getGlobalScale(); // Update path scale\n\n for (var i = 0; i < paths.length; i++) {\n if (!paths[i].path) {\n paths[i].createPathProxy();\n }\n\n paths[i].path.setScale(scale[0], scale[1], paths[i].segmentIgnoreThreshold);\n }\n },\n buildPath: function (ctx, shape) {\n var paths = shape.paths || [];\n\n for (var i = 0; i < paths.length; i++) {\n paths[i].buildPath(ctx, paths[i].shape, true);\n }\n },\n afterBrush: function () {\n var paths = this.shape.paths || [];\n\n for (var i = 0; i < paths.length; i++) {\n paths[i].__dirtyPath = false;\n }\n },\n getBoundingRect: function () {\n this._updatePathDirty();\n\n return Path.prototype.getBoundingRect.call(this);\n }\n});\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar Path = require(\"zrender/lib/graphic/Path\");\n\nvar vec2 = require(\"zrender/lib/core/vector\");\n\nvar fixClipWithShadow = require(\"zrender/lib/graphic/helper/fixClipWithShadow\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Poly path support NaN point\nvar vec2Min = vec2.min;\nvar vec2Max = vec2.max;\nvar scaleAndAdd = vec2.scaleAndAdd;\nvar v2Copy = vec2.copy; // Temporary variable\n\nvar v = [];\nvar cp0 = [];\nvar cp1 = [];\n\nfunction isPointNull(p) {\n return isNaN(p[0]) || isNaN(p[1]);\n}\n\nfunction drawSegment(ctx, points, start, segLen, allLen, dir, smoothMin, smoothMax, smooth, smoothMonotone, connectNulls) {\n // if (smoothMonotone == null) {\n // if (isMono(points, 'x')) {\n // return drawMono(ctx, points, start, segLen, allLen,\n // dir, smoothMin, smoothMax, smooth, 'x', connectNulls);\n // }\n // else if (isMono(points, 'y')) {\n // return drawMono(ctx, points, start, segLen, allLen,\n // dir, smoothMin, smoothMax, smooth, 'y', connectNulls);\n // }\n // else {\n // return drawNonMono.apply(this, arguments);\n // }\n // }\n // else if (smoothMonotone !== 'none' && isMono(points, smoothMonotone)) {\n // return drawMono.apply(this, arguments);\n // }\n // else {\n // return drawNonMono.apply(this, arguments);\n // }\n if (smoothMonotone === 'none' || !smoothMonotone) {\n return drawNonMono.apply(this, arguments);\n } else {\n return drawMono.apply(this, arguments);\n }\n}\n/**\n * Check if points is in monotone.\n *\n * @param {number[][]} points Array of points which is in [x, y] form\n * @param {string} smoothMonotone 'x', 'y', or 'none', stating for which\n * dimension that is checking.\n * If is 'none', `drawNonMono` should be\n * called.\n * If is undefined, either being monotone\n * in 'x' or 'y' will call `drawMono`.\n */\n// function isMono(points, smoothMonotone) {\n// if (points.length <= 1) {\n// return true;\n// }\n// var dim = smoothMonotone === 'x' ? 0 : 1;\n// var last = points[0][dim];\n// var lastDiff = 0;\n// for (var i = 1; i < points.length; ++i) {\n// var diff = points[i][dim] - last;\n// if (!isNaN(diff) && !isNaN(lastDiff)\n// && diff !== 0 && lastDiff !== 0\n// && ((diff >= 0) !== (lastDiff >= 0))\n// ) {\n// return false;\n// }\n// if (!isNaN(diff) && diff !== 0) {\n// lastDiff = diff;\n// last = points[i][dim];\n// }\n// }\n// return true;\n// }\n\n/**\n * Draw smoothed line in monotone, in which only vertical or horizontal bezier\n * control points will be used. This should be used when points are monotone\n * either in x or y dimension.\n */\n\n\nfunction drawMono(ctx, points, start, segLen, allLen, dir, smoothMin, smoothMax, smooth, smoothMonotone, connectNulls) {\n var prevIdx = 0;\n var idx = start;\n\n for (var k = 0; k < segLen; k++) {\n var p = points[idx];\n\n if (idx >= allLen || idx < 0) {\n break;\n }\n\n if (isPointNull(p)) {\n if (connectNulls) {\n idx += dir;\n continue;\n }\n\n break;\n }\n\n if (idx === start) {\n ctx[dir > 0 ? 'moveTo' : 'lineTo'](p[0], p[1]);\n } else {\n if (smooth > 0) {\n var prevP = points[prevIdx];\n var dim = smoothMonotone === 'y' ? 1 : 0; // Length of control point to p, either in x or y, but not both\n\n var ctrlLen = (p[dim] - prevP[dim]) * smooth;\n v2Copy(cp0, prevP);\n cp0[dim] = prevP[dim] + ctrlLen;\n v2Copy(cp1, p);\n cp1[dim] = p[dim] - ctrlLen;\n ctx.bezierCurveTo(cp0[0], cp0[1], cp1[0], cp1[1], p[0], p[1]);\n } else {\n ctx.lineTo(p[0], p[1]);\n }\n }\n\n prevIdx = idx;\n idx += dir;\n }\n\n return k;\n}\n/**\n * Draw smoothed line in non-monotone, in may cause undesired curve in extreme\n * situations. This should be used when points are non-monotone neither in x or\n * y dimension.\n */\n\n\nfunction drawNonMono(ctx, points, start, segLen, allLen, dir, smoothMin, smoothMax, smooth, smoothMonotone, connectNulls) {\n var prevIdx = 0;\n var idx = start;\n\n for (var k = 0; k < segLen; k++) {\n var p = points[idx];\n\n if (idx >= allLen || idx < 0) {\n break;\n }\n\n if (isPointNull(p)) {\n if (connectNulls) {\n idx += dir;\n continue;\n }\n\n break;\n }\n\n if (idx === start) {\n ctx[dir > 0 ? 'moveTo' : 'lineTo'](p[0], p[1]);\n v2Copy(cp0, p);\n } else {\n if (smooth > 0) {\n var nextIdx = idx + dir;\n var nextP = points[nextIdx];\n\n if (connectNulls) {\n // Find next point not null\n while (nextP && isPointNull(points[nextIdx])) {\n nextIdx += dir;\n nextP = points[nextIdx];\n }\n }\n\n var ratioNextSeg = 0.5;\n var prevP = points[prevIdx];\n var nextP = points[nextIdx]; // Last point\n\n if (!nextP || isPointNull(nextP)) {\n v2Copy(cp1, p);\n } else {\n // If next data is null in not connect case\n if (isPointNull(nextP) && !connectNulls) {\n nextP = p;\n }\n\n vec2.sub(v, nextP, prevP);\n var lenPrevSeg;\n var lenNextSeg;\n\n if (smoothMonotone === 'x' || smoothMonotone === 'y') {\n var dim = smoothMonotone === 'x' ? 0 : 1;\n lenPrevSeg = Math.abs(p[dim] - prevP[dim]);\n lenNextSeg = Math.abs(p[dim] - nextP[dim]);\n } else {\n lenPrevSeg = vec2.dist(p, prevP);\n lenNextSeg = vec2.dist(p, nextP);\n } // Use ratio of seg length\n\n\n ratioNextSeg = lenNextSeg / (lenNextSeg + lenPrevSeg);\n scaleAndAdd(cp1, p, v, -smooth * (1 - ratioNextSeg));\n } // Smooth constraint\n\n\n vec2Min(cp0, cp0, smoothMax);\n vec2Max(cp0, cp0, smoothMin);\n vec2Min(cp1, cp1, smoothMax);\n vec2Max(cp1, cp1, smoothMin);\n ctx.bezierCurveTo(cp0[0], cp0[1], cp1[0], cp1[1], p[0], p[1]); // cp0 of next segment\n\n scaleAndAdd(cp0, p, v, smooth * ratioNextSeg);\n } else {\n ctx.lineTo(p[0], p[1]);\n }\n }\n\n prevIdx = idx;\n idx += dir;\n }\n\n return k;\n}\n\nfunction getBoundingBox(points, smoothConstraint) {\n var ptMin = [Infinity, Infinity];\n var ptMax = [-Infinity, -Infinity];\n\n if (smoothConstraint) {\n for (var i = 0; i < points.length; i++) {\n var pt = points[i];\n\n if (pt[0] < ptMin[0]) {\n ptMin[0] = pt[0];\n }\n\n if (pt[1] < ptMin[1]) {\n ptMin[1] = pt[1];\n }\n\n if (pt[0] > ptMax[0]) {\n ptMax[0] = pt[0];\n }\n\n if (pt[1] > ptMax[1]) {\n ptMax[1] = pt[1];\n }\n }\n }\n\n return {\n min: smoothConstraint ? ptMin : ptMax,\n max: smoothConstraint ? ptMax : ptMin\n };\n}\n\nvar Polyline = Path.extend({\n type: 'ec-polyline',\n shape: {\n points: [],\n smooth: 0,\n smoothConstraint: true,\n smoothMonotone: null,\n connectNulls: false\n },\n style: {\n fill: null,\n stroke: '#000'\n },\n brush: fixClipWithShadow(Path.prototype.brush),\n buildPath: function (ctx, shape) {\n var points = shape.points;\n var i = 0;\n var len = points.length;\n var result = getBoundingBox(points, shape.smoothConstraint);\n\n if (shape.connectNulls) {\n // Must remove first and last null values avoid draw error in polygon\n for (; len > 0; len--) {\n if (!isPointNull(points[len - 1])) {\n break;\n }\n }\n\n for (; i < len; i++) {\n if (!isPointNull(points[i])) {\n break;\n }\n }\n }\n\n while (i < len) {\n i += drawSegment(ctx, points, i, len, len, 1, result.min, result.max, shape.smooth, shape.smoothMonotone, shape.connectNulls) + 1;\n }\n }\n});\nvar Polygon = Path.extend({\n type: 'ec-polygon',\n shape: {\n points: [],\n // Offset between stacked base points and points\n stackedOnPoints: [],\n smooth: 0,\n stackedOnSmooth: 0,\n smoothConstraint: true,\n smoothMonotone: null,\n connectNulls: false\n },\n brush: fixClipWithShadow(Path.prototype.brush),\n buildPath: function (ctx, shape) {\n var points = shape.points;\n var stackedOnPoints = shape.stackedOnPoints;\n var i = 0;\n var len = points.length;\n var smoothMonotone = shape.smoothMonotone;\n var bbox = getBoundingBox(points, shape.smoothConstraint);\n var stackedOnBBox = getBoundingBox(stackedOnPoints, shape.smoothConstraint);\n\n if (shape.connectNulls) {\n // Must remove first and last null values avoid draw error in polygon\n for (; len > 0; len--) {\n if (!isPointNull(points[len - 1])) {\n break;\n }\n }\n\n for (; i < len; i++) {\n if (!isPointNull(points[i])) {\n break;\n }\n }\n }\n\n while (i < len) {\n var k = drawSegment(ctx, points, i, len, len, 1, bbox.min, bbox.max, shape.smooth, smoothMonotone, shape.connectNulls);\n drawSegment(ctx, stackedOnPoints, i + k - 1, k, len, -1, stackedOnBBox.min, stackedOnBBox.max, shape.stackedOnSmooth, smoothMonotone, shape.connectNulls);\n i += k + 1;\n ctx.closePath();\n }\n }\n});\nexports.Polyline = Polyline;\nexports.Polygon = Polygon;","// Simple LRU cache use doubly linked list\n// @module zrender/core/LRU\n\n/**\n * Simple double linked list. Compared with array, it has O(1) remove operation.\n * @constructor\n */\nvar LinkedList = function () {\n /**\n * @type {module:zrender/core/LRU~Entry}\n */\n this.head = null;\n /**\n * @type {module:zrender/core/LRU~Entry}\n */\n\n this.tail = null;\n this._len = 0;\n};\n\nvar linkedListProto = LinkedList.prototype;\n/**\n * Insert a new value at the tail\n * @param {} val\n * @return {module:zrender/core/LRU~Entry}\n */\n\nlinkedListProto.insert = function (val) {\n var entry = new Entry(val);\n this.insertEntry(entry);\n return entry;\n};\n/**\n * Insert an entry at the tail\n * @param {module:zrender/core/LRU~Entry} entry\n */\n\n\nlinkedListProto.insertEntry = function (entry) {\n if (!this.head) {\n this.head = this.tail = entry;\n } else {\n this.tail.next = entry;\n entry.prev = this.tail;\n entry.next = null;\n this.tail = entry;\n }\n\n this._len++;\n};\n/**\n * Remove entry.\n * @param {module:zrender/core/LRU~Entry} entry\n */\n\n\nlinkedListProto.remove = function (entry) {\n var prev = entry.prev;\n var next = entry.next;\n\n if (prev) {\n prev.next = next;\n } else {\n // Is head\n this.head = next;\n }\n\n if (next) {\n next.prev = prev;\n } else {\n // Is tail\n this.tail = prev;\n }\n\n entry.next = entry.prev = null;\n this._len--;\n};\n/**\n * @return {number}\n */\n\n\nlinkedListProto.len = function () {\n return this._len;\n};\n/**\n * Clear list\n */\n\n\nlinkedListProto.clear = function () {\n this.head = this.tail = null;\n this._len = 0;\n};\n/**\n * @constructor\n * @param {} val\n */\n\n\nvar Entry = function (val) {\n /**\n * @type {}\n */\n this.value = val;\n /**\n * @type {module:zrender/core/LRU~Entry}\n */\n\n this.next;\n /**\n * @type {module:zrender/core/LRU~Entry}\n */\n\n this.prev;\n};\n/**\n * LRU Cache\n * @constructor\n * @alias module:zrender/core/LRU\n */\n\n\nvar LRU = function (maxSize) {\n this._list = new LinkedList();\n this._map = {};\n this._maxSize = maxSize || 10;\n this._lastRemovedEntry = null;\n};\n\nvar LRUProto = LRU.prototype;\n/**\n * @param {string} key\n * @param {} value\n * @return {} Removed value\n */\n\nLRUProto.put = function (key, value) {\n var list = this._list;\n var map = this._map;\n var removed = null;\n\n if (map[key] == null) {\n var len = list.len(); // Reuse last removed entry\n\n var entry = this._lastRemovedEntry;\n\n if (len >= this._maxSize && len > 0) {\n // Remove the least recently used\n var leastUsedEntry = list.head;\n list.remove(leastUsedEntry);\n delete map[leastUsedEntry.key];\n removed = leastUsedEntry.value;\n this._lastRemovedEntry = leastUsedEntry;\n }\n\n if (entry) {\n entry.value = value;\n } else {\n entry = new Entry(value);\n }\n\n entry.key = key;\n list.insertEntry(entry);\n map[key] = entry;\n }\n\n return removed;\n};\n/**\n * @param {string} key\n * @return {}\n */\n\n\nLRUProto.get = function (key) {\n var entry = this._map[key];\n var list = this._list;\n\n if (entry != null) {\n // Put the latest used entry in the tail\n if (entry !== list.tail) {\n list.remove(entry);\n list.insertEntry(entry);\n }\n\n return entry.value;\n }\n};\n/**\n * Clear the cache\n */\n\n\nLRUProto.clear = function () {\n this._list.clear();\n\n this._map = {};\n};\n\nvar _default = LRU;\nmodule.exports = _default;","module.exports = \"https://sf6-scmcdn2-tos.pstatp.com/motor/pc/_next/static/images/selected-dafault-d42c3970a15d4f494c41b26e26ca4e96.png\";","var guid = require(\"./core/guid\");\n\nvar Eventful = require(\"./mixin/Eventful\");\n\nvar Transformable = require(\"./mixin/Transformable\");\n\nvar Animatable = require(\"./mixin/Animatable\");\n\nvar zrUtil = require(\"./core/util\");\n\n/**\n * @alias module:zrender/Element\n * @constructor\n * @extends {module:zrender/mixin/Animatable}\n * @extends {module:zrender/mixin/Transformable}\n * @extends {module:zrender/mixin/Eventful}\n */\nvar Element = function (opts) {\n // jshint ignore:line\n Transformable.call(this, opts);\n Eventful.call(this, opts);\n Animatable.call(this, opts);\n /**\n * 画布元素ID\n * @type {string}\n */\n\n this.id = opts.id || guid();\n};\n\nElement.prototype = {\n /**\n * 元素类型\n * Element type\n * @type {string}\n */\n type: 'element',\n\n /**\n * 元素名字\n * Element name\n * @type {string}\n */\n name: '',\n\n /**\n * ZRender 实例对象,会在 element 添加到 zrender 实例中后自动赋值\n * ZRender instance will be assigned when element is associated with zrender\n * @name module:/zrender/Element#__zr\n * @type {module:zrender/ZRender}\n */\n __zr: null,\n\n /**\n * 图形是否忽略,为true时忽略图形的绘制以及事件触发\n * If ignore drawing and events of the element object\n * @name module:/zrender/Element#ignore\n * @type {boolean}\n * @default false\n */\n ignore: false,\n\n /**\n * 用于裁剪的路径(shape),所有 Group 内的路径在绘制时都会被这个路径裁剪\n * 该路径会继承被裁减对象的变换\n * @type {module:zrender/graphic/Path}\n * @see http://www.w3.org/TR/2dcontext/#clipping-region\n * @readOnly\n */\n clipPath: null,\n\n /**\n * 是否是 Group\n * @type {boolean}\n */\n isGroup: false,\n\n /**\n * Drift element\n * @param {number} dx dx on the global space\n * @param {number} dy dy on the global space\n */\n drift: function (dx, dy) {\n switch (this.draggable) {\n case 'horizontal':\n dy = 0;\n break;\n\n case 'vertical':\n dx = 0;\n break;\n }\n\n var m = this.transform;\n\n if (!m) {\n m = this.transform = [1, 0, 0, 1, 0, 0];\n }\n\n m[4] += dx;\n m[5] += dy;\n this.decomposeTransform();\n this.dirty(false);\n },\n\n /**\n * Hook before update\n */\n beforeUpdate: function () {},\n\n /**\n * Hook after update\n */\n afterUpdate: function () {},\n\n /**\n * Update each frame\n */\n update: function () {\n this.updateTransform();\n },\n\n /**\n * @param {Function} cb\n * @param {} context\n */\n traverse: function (cb, context) {},\n\n /**\n * @protected\n */\n attrKV: function (key, value) {\n if (key === 'position' || key === 'scale' || key === 'origin') {\n // Copy the array\n if (value) {\n var target = this[key];\n\n if (!target) {\n target = this[key] = [];\n }\n\n target[0] = value[0];\n target[1] = value[1];\n }\n } else {\n this[key] = value;\n }\n },\n\n /**\n * Hide the element\n */\n hide: function () {\n this.ignore = true;\n this.__zr && this.__zr.refresh();\n },\n\n /**\n * Show the element\n */\n show: function () {\n this.ignore = false;\n this.__zr && this.__zr.refresh();\n },\n\n /**\n * @param {string|Object} key\n * @param {*} value\n */\n attr: function (key, value) {\n if (typeof key === 'string') {\n this.attrKV(key, value);\n } else if (zrUtil.isObject(key)) {\n for (var name in key) {\n if (key.hasOwnProperty(name)) {\n this.attrKV(name, key[name]);\n }\n }\n }\n\n this.dirty(false);\n return this;\n },\n\n /**\n * @param {module:zrender/graphic/Path} clipPath\n */\n setClipPath: function (clipPath) {\n var zr = this.__zr;\n\n if (zr) {\n clipPath.addSelfToZr(zr);\n } // Remove previous clip path\n\n\n if (this.clipPath && this.clipPath !== clipPath) {\n this.removeClipPath();\n }\n\n this.clipPath = clipPath;\n clipPath.__zr = zr;\n clipPath.__clipTarget = this;\n this.dirty(false);\n },\n\n /**\n */\n removeClipPath: function () {\n var clipPath = this.clipPath;\n\n if (clipPath) {\n if (clipPath.__zr) {\n clipPath.removeSelfFromZr(clipPath.__zr);\n }\n\n clipPath.__zr = null;\n clipPath.__clipTarget = null;\n this.clipPath = null;\n this.dirty(false);\n }\n },\n\n /**\n * Add self from zrender instance.\n * Not recursively because it will be invoked when element added to storage.\n * @param {module:zrender/ZRender} zr\n */\n addSelfToZr: function (zr) {\n this.__zr = zr; // 添加动画\n\n var animators = this.animators;\n\n if (animators) {\n for (var i = 0; i < animators.length; i++) {\n zr.animation.addAnimator(animators[i]);\n }\n }\n\n if (this.clipPath) {\n this.clipPath.addSelfToZr(zr);\n }\n },\n\n /**\n * Remove self from zrender instance.\n * Not recursively because it will be invoked when element added to storage.\n * @param {module:zrender/ZRender} zr\n */\n removeSelfFromZr: function (zr) {\n this.__zr = null; // 移除动画\n\n var animators = this.animators;\n\n if (animators) {\n for (var i = 0; i < animators.length; i++) {\n zr.animation.removeAnimator(animators[i]);\n }\n }\n\n if (this.clipPath) {\n this.clipPath.removeSelfFromZr(zr);\n }\n }\n};\nzrUtil.mixin(Element, Animatable);\nzrUtil.mixin(Element, Transformable);\nzrUtil.mixin(Element, Eventful);\nvar _default = Element;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar BaseBarSeries = require(\"./BaseBarSeries\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar PictorialBarSeries = BaseBarSeries.extend({\n type: 'series.pictorialBar',\n dependencies: ['grid'],\n defaultOption: {\n symbol: 'circle',\n // Customized bar shape\n symbolSize: null,\n // Can be ['100%', '100%'], null means auto.\n symbolRotate: null,\n symbolPosition: null,\n // 'start' or 'end' or 'center', null means auto.\n symbolOffset: null,\n symbolMargin: null,\n // start margin and end margin. Can be a number or a percent string.\n // Auto margin by default.\n symbolRepeat: false,\n // false/null/undefined, means no repeat.\n // Can be true, means auto calculate repeat times and cut by data.\n // Can be a number, specifies repeat times, and do not cut by data.\n // Can be 'fixed', means auto calculate repeat times but do not cut by data.\n symbolRepeatDirection: 'end',\n // 'end' means from 'start' to 'end'.\n symbolClip: false,\n symbolBoundingData: null,\n // Can be 60 or -40 or [-40, 60]\n symbolPatternSize: 400,\n // 400 * 400 px\n barGap: '-100%',\n // In most case, overlap is needed.\n // z can be set in data item, which is z2 actually.\n // Disable progressive\n progressive: 0,\n hoverAnimation: false // Open only when needed.\n\n },\n getInitialData: function (option) {\n // Disable stack.\n option.stack = null;\n return PictorialBarSeries.superApply(this, 'getInitialData', arguments);\n }\n});\nvar _default = PictorialBarSeries;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar actionInfo = {\n type: 'selectDataRange',\n event: 'dataRangeSelected',\n // FIXME use updateView appears wrong\n update: 'update'\n};\necharts.registerAction(actionInfo, function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: 'visualMap',\n query: payload\n }, function (model) {\n model.setSelected(payload.selected);\n });\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nrequire(\"./sunburst/SunburstSeries\");\n\nrequire(\"./sunburst/SunburstView\");\n\nrequire(\"./sunburst/sunburstAction\");\n\nvar dataColor = require(\"../visual/dataColor\");\n\nvar sunburstLayout = require(\"./sunburst/sunburstLayout\");\n\nvar dataFilter = require(\"../processor/dataFilter\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerVisual(zrUtil.curry(dataColor, 'sunburst'));\necharts.registerLayout(zrUtil.curry(sunburstLayout, 'sunburst'));\necharts.registerProcessor(zrUtil.curry(dataFilter, 'sunburst'));","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar textContain = require(\"zrender/lib/contain/text\");\n\nvar featureManager = require(\"./featureManager\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar Model = require(\"../../model/Model\");\n\nvar DataDiffer = require(\"../../data/DataDiffer\");\n\nvar listComponentHelper = require(\"../helper/listComponent\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = echarts.extendComponentView({\n type: 'toolbox',\n render: function (toolboxModel, ecModel, api, payload) {\n var group = this.group;\n group.removeAll();\n\n if (!toolboxModel.get('show')) {\n return;\n }\n\n var itemSize = +toolboxModel.get('itemSize');\n var featureOpts = toolboxModel.get('feature') || {};\n var features = this._features || (this._features = {});\n var featureNames = [];\n zrUtil.each(featureOpts, function (opt, name) {\n featureNames.push(name);\n });\n new DataDiffer(this._featureNames || [], featureNames).add(processFeature).update(processFeature).remove(zrUtil.curry(processFeature, null)).execute(); // Keep for diff.\n\n this._featureNames = featureNames;\n\n function processFeature(newIndex, oldIndex) {\n var featureName = featureNames[newIndex];\n var oldName = featureNames[oldIndex];\n var featureOpt = featureOpts[featureName];\n var featureModel = new Model(featureOpt, toolboxModel, toolboxModel.ecModel);\n var feature; // FIX#11236, merge feature title from MagicType newOption. TODO: consider seriesIndex ?\n\n if (payload && payload.newTitle != null && payload.featureName === featureName) {\n featureOpt.title = payload.newTitle;\n }\n\n if (featureName && !oldName) {\n // Create\n if (isUserFeatureName(featureName)) {\n feature = {\n model: featureModel,\n onclick: featureModel.option.onclick,\n featureName: featureName\n };\n } else {\n var Feature = featureManager.get(featureName);\n\n if (!Feature) {\n return;\n }\n\n feature = new Feature(featureModel, ecModel, api);\n }\n\n features[featureName] = feature;\n } else {\n feature = features[oldName]; // If feature does not exsit.\n\n if (!feature) {\n return;\n }\n\n feature.model = featureModel;\n feature.ecModel = ecModel;\n feature.api = api;\n }\n\n if (!featureName && oldName) {\n feature.dispose && feature.dispose(ecModel, api);\n return;\n }\n\n if (!featureModel.get('show') || feature.unusable) {\n feature.remove && feature.remove(ecModel, api);\n return;\n }\n\n createIconPaths(featureModel, feature, featureName);\n\n featureModel.setIconStatus = function (iconName, status) {\n var option = this.option;\n var iconPaths = this.iconPaths;\n option.iconStatus = option.iconStatus || {};\n option.iconStatus[iconName] = status; // FIXME\n\n iconPaths[iconName] && iconPaths[iconName].trigger(status);\n };\n\n if (feature.render) {\n feature.render(featureModel, ecModel, api, payload);\n }\n }\n\n function createIconPaths(featureModel, feature, featureName) {\n var iconStyleModel = featureModel.getModel('iconStyle');\n var iconStyleEmphasisModel = featureModel.getModel('emphasis.iconStyle'); // If one feature has mutiple icon. they are orginaized as\n // {\n // icon: {\n // foo: '',\n // bar: ''\n // },\n // title: {\n // foo: '',\n // bar: ''\n // }\n // }\n\n var icons = feature.getIcons ? feature.getIcons() : featureModel.get('icon');\n var titles = featureModel.get('title') || {};\n\n if (typeof icons === 'string') {\n var icon = icons;\n var title = titles;\n icons = {};\n titles = {};\n icons[featureName] = icon;\n titles[featureName] = title;\n }\n\n var iconPaths = featureModel.iconPaths = {};\n zrUtil.each(icons, function (iconStr, iconName) {\n var path = graphic.createIcon(iconStr, {}, {\n x: -itemSize / 2,\n y: -itemSize / 2,\n width: itemSize,\n height: itemSize\n });\n path.setStyle(iconStyleModel.getItemStyle());\n path.hoverStyle = iconStyleEmphasisModel.getItemStyle(); // Text position calculation\n\n path.setStyle({\n text: titles[iconName],\n textAlign: iconStyleEmphasisModel.get('textAlign'),\n textBorderRadius: iconStyleEmphasisModel.get('textBorderRadius'),\n textPadding: iconStyleEmphasisModel.get('textPadding'),\n textFill: null\n });\n var tooltipModel = toolboxModel.getModel('tooltip');\n\n if (tooltipModel && tooltipModel.get('show')) {\n path.attr('tooltip', zrUtil.extend({\n content: titles[iconName],\n formatter: tooltipModel.get('formatter', true) || function () {\n return titles[iconName];\n },\n formatterParams: {\n componentType: 'toolbox',\n name: iconName,\n title: titles[iconName],\n $vars: ['name', 'title']\n },\n position: tooltipModel.get('position', true) || 'bottom'\n }, tooltipModel.option));\n }\n\n graphic.setHoverStyle(path);\n\n if (toolboxModel.get('showTitle')) {\n path.__title = titles[iconName];\n path.on('mouseover', function () {\n // Should not reuse above hoverStyle, which might be modified.\n var hoverStyle = iconStyleEmphasisModel.getItemStyle();\n var defaultTextPosition = toolboxModel.get('orient') === 'vertical' ? toolboxModel.get('right') == null ? 'right' : 'left' : toolboxModel.get('bottom') == null ? 'bottom' : 'top';\n path.setStyle({\n textFill: iconStyleEmphasisModel.get('textFill') || hoverStyle.fill || hoverStyle.stroke || '#000',\n textBackgroundColor: iconStyleEmphasisModel.get('textBackgroundColor'),\n textPosition: iconStyleEmphasisModel.get('textPosition') || defaultTextPosition\n });\n }).on('mouseout', function () {\n path.setStyle({\n textFill: null,\n textBackgroundColor: null\n });\n });\n }\n\n path.trigger(featureModel.get('iconStatus.' + iconName) || 'normal');\n group.add(path);\n path.on('click', zrUtil.bind(feature.onclick, feature, ecModel, api, iconName));\n iconPaths[iconName] = path;\n });\n }\n\n listComponentHelper.layout(group, toolboxModel, api); // Render background after group is layout\n // FIXME\n\n group.add(listComponentHelper.makeBackground(group.getBoundingRect(), toolboxModel)); // Adjust icon title positions to avoid them out of screen\n\n group.eachChild(function (icon) {\n var titleText = icon.__title;\n var hoverStyle = icon.hoverStyle; // May be background element\n\n if (hoverStyle && titleText) {\n var rect = textContain.getBoundingRect(titleText, textContain.makeFont(hoverStyle));\n var offsetX = icon.position[0] + group.position[0];\n var offsetY = icon.position[1] + group.position[1] + itemSize;\n var needPutOnTop = false;\n\n if (offsetY + rect.height > api.getHeight()) {\n hoverStyle.textPosition = 'top';\n needPutOnTop = true;\n }\n\n var topOffset = needPutOnTop ? -5 - rect.height : itemSize + 8;\n\n if (offsetX + rect.width / 2 > api.getWidth()) {\n hoverStyle.textPosition = ['100%', topOffset];\n hoverStyle.textAlign = 'right';\n } else if (offsetX - rect.width / 2 < 0) {\n hoverStyle.textPosition = [0, topOffset];\n hoverStyle.textAlign = 'left';\n }\n }\n });\n },\n updateView: function (toolboxModel, ecModel, api, payload) {\n zrUtil.each(this._features, function (feature) {\n feature.updateView && feature.updateView(feature.model, ecModel, api, payload);\n });\n },\n // updateLayout: function (toolboxModel, ecModel, api, payload) {\n // zrUtil.each(this._features, function (feature) {\n // feature.updateLayout && feature.updateLayout(feature.model, ecModel, api, payload);\n // });\n // },\n remove: function (ecModel, api) {\n zrUtil.each(this._features, function (feature) {\n feature.remove && feature.remove(ecModel, api);\n });\n this.group.removeAll();\n },\n dispose: function (ecModel, api) {\n zrUtil.each(this._features, function (feature) {\n feature.dispose && feature.dispose(ecModel, api);\n });\n }\n});\n\nfunction isUserFeatureName(featureName) {\n return featureName.indexOf('my') === 0;\n}\n\nmodule.exports = _default;","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAIKADAAQAAAABAAAAIAAAAACshmLzAAADA0lEQVRYCWNgGOmAkdwA6K7S03n/njHm/59/rCAzOLgYr9VPvDSXVPPIckBJst6iNft/x/z/z4Ci39WU+eycVVdMSHEEEymKQWpb8g2D1x7AtBwkd/jiXyMQTQog2QEnrvya8+8fxOfFEawM04rYGIxUIQHx4xdqiBDjEJIcUJGm23f53j8BkMEWWkwMucEsDF6WzAySIiQZg+IuonVOa9cV3H/uXy5INzNQV0MSOO2hGEYOh2gHXL7yf92Lt/9YQJZEuzIzaMgTrRWvu4gypaPIwGrv6b/2IJMEeBgZQHFPLQD2EbJhkyapsL+/yZX049d/FZj4qWt/Yn/+hia8cFYGfqAjcIHKVN1eXHKMTIx/BfhYNpd1nzsMU4NiUlepqcTuU9/u3Hr0jxumAJnWkGdk2NbFwcCEFm7Zfb8Yth7/i6wUJ5uFmeF/lBtbVfO0ix0gRShGPXz6fREuy0EJrymZFcNykCE6SijGgIRwgj9/GRjvPv6TAVOAEgVvPzGowSRA+RsZKEkx4kx4mQEsDMbqjAxvPiDrQGXfePSPYdKaP2BBbk7GlzBZFAf8RwoRUP4mBZhp4ld/9xnQdCiQFGZeB2MTH3YwHWTShy5C0gg7K8N/LnmWGTBj6OKAr98ZGM7f+ge2U1OB6V1FxdmPdHXA8at/GYCJDwwUJBhPwCwH0USHgELodwYQBmU5UsHhSxDfg/SJCrIsRNZPtAOQNZHKBlbTYC1CfAz/qiecX4Osn+YOePbmP8M9aA7QVGB+yMjIiMgOQJfQ3AFHoL4H+VpGhHEPsu9BbJo74NBFRPyL87NPp6sDgG1GhqNXIPGvIMn0o7jvzHm6OmDmxj8M7z9DrFSVZbyCbjmIj1IUIysgJrvN3fKH4Ry0gEHWC2LfffaP4cZDSHoD1YBKkhwF6GpAfBQHABMotLhgwFm9siLpAFlORDX8P8ieZX7VhDNHsTkAJRGqSjFOBeVVbApBYkA5hlAH/JUOTC8vF+M/IzXmV8nebFndcy8nw8RH6dEQQA8BANeZ4zeci3HEAAAAAElFTkSuQmCC\"","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @param {module:echarts/coord/View} view\n * @param {Object} payload\n * @param {Object} [zoomLimit]\n */\nfunction updateCenterAndZoom(view, payload, zoomLimit) {\n var previousZoom = view.getZoom();\n var center = view.getCenter();\n var zoom = payload.zoom;\n var point = view.dataToPoint(center);\n\n if (payload.dx != null && payload.dy != null) {\n point[0] -= payload.dx;\n point[1] -= payload.dy;\n var center = view.pointToData(point);\n view.setCenter(center);\n }\n\n if (zoom != null) {\n if (zoomLimit) {\n var zoomMin = zoomLimit.min || 0;\n var zoomMax = zoomLimit.max || Infinity;\n zoom = Math.max(Math.min(previousZoom * zoom, zoomMax), zoomMin) / previousZoom;\n } // Zoom on given point(originX, originY)\n\n\n view.scale[0] *= zoom;\n view.scale[1] *= zoom;\n var position = view.position;\n var fixX = (payload.originX - position[0]) * (zoom - 1);\n var fixY = (payload.originY - position[1]) * (zoom - 1);\n position[0] -= fixX;\n position[1] -= fixY;\n view.updateTransform(); // Get the new center\n\n var center = view.pointToData(point);\n view.setCenter(center);\n view.setZoom(zoom * previousZoom);\n }\n\n return {\n center: view.getCenter(),\n zoom: view.getZoom()\n };\n}\n\nexports.updateCenterAndZoom = updateCenterAndZoom;","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAA2CAYAAACMRWrdAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAANqADAAQAAAABAAAANgAAAADzQy6kAAACAklEQVRoBe1YwU7CQBCdKSYeuGjigYMJBb0AkvgJ3rjyB/IJ/IDGT/AT5A/4FGIinIQ2UU8eOMixXUdCaWkXssIAC5le2Jmdzr55rztZFkAeYUAY2CYDyJXcLVefOHJ5wz5LHrbCiqWK4ijMHw1YMDkcYGzMIYXZqIpgEgYOgIFMa3WvKk0IoXkA2GOIDnS990E3dgCcJI3pWOGtAnWf8VvsQIUewVsoTNq9xYJpoWU/RcAxbTw/HU2f5yX5crEfJxT3Hdv8IzqjXQCofCJzgIAfCXs2xHHal2ke6YDIdktVj4orRja92PFGg1Zkb+PXLVVeqLj5fqeifG/Ud03Wkj1mwpJNMaKYTWqYYNF0RZPX9DFuudamLnY2n0XVS58IornpCYcOA5EN1I294dtzbG82Yi0MlGovdE4FHYLX1UKkY1vyhENd1qc4tsJkj2lZt9gpilksjhaaKKalxWKnKGaxOFpoopiWFoudopjF4mihsR6CTf+2/yGZXSu0tKgYnPIpMpC40xSi2E7pZljsaBXboCtiwb2+uWMgd3mKICzQHcry+RUzaxdG9xUNCILGitx7nTraT/EfhamvvUpAiytUn6YYjAtzEB8A8cc0MXscrZ0DfDTNS9d55k+9Xj+fTMJa6ODae9N8tTgSMQhV/vTV6/XGsVdGwoAwIAwIA+YM/AKm4mdbnYNdEgAAAABJRU5ErkJggg==\"","var PathProxy = require(\"../core/PathProxy\");\n\nvar line = require(\"./line\");\n\nvar cubic = require(\"./cubic\");\n\nvar quadratic = require(\"./quadratic\");\n\nvar arc = require(\"./arc\");\n\nvar _util = require(\"./util\");\n\nvar normalizeRadian = _util.normalizeRadian;\n\nvar curve = require(\"../core/curve\");\n\nvar windingLine = require(\"./windingLine\");\n\nvar CMD = PathProxy.CMD;\nvar PI2 = Math.PI * 2;\nvar EPSILON = 1e-4;\n\nfunction isAroundEqual(a, b) {\n return Math.abs(a - b) < EPSILON;\n} // 临时数组\n\n\nvar roots = [-1, -1, -1];\nvar extrema = [-1, -1];\n\nfunction swapExtrema() {\n var tmp = extrema[0];\n extrema[0] = extrema[1];\n extrema[1] = tmp;\n}\n\nfunction windingCubic(x0, y0, x1, y1, x2, y2, x3, y3, x, y) {\n // Quick reject\n if (y > y0 && y > y1 && y > y2 && y > y3 || y < y0 && y < y1 && y < y2 && y < y3) {\n return 0;\n }\n\n var nRoots = curve.cubicRootAt(y0, y1, y2, y3, y, roots);\n\n if (nRoots === 0) {\n return 0;\n } else {\n var w = 0;\n var nExtrema = -1;\n var y0_;\n var y1_;\n\n for (var i = 0; i < nRoots; i++) {\n var t = roots[i]; // Avoid winding error when intersection point is the connect point of two line of polygon\n\n var unit = t === 0 || t === 1 ? 0.5 : 1;\n var x_ = curve.cubicAt(x0, x1, x2, x3, t);\n\n if (x_ < x) {\n // Quick reject\n continue;\n }\n\n if (nExtrema < 0) {\n nExtrema = curve.cubicExtrema(y0, y1, y2, y3, extrema);\n\n if (extrema[1] < extrema[0] && nExtrema > 1) {\n swapExtrema();\n }\n\n y0_ = curve.cubicAt(y0, y1, y2, y3, extrema[0]);\n\n if (nExtrema > 1) {\n y1_ = curve.cubicAt(y0, y1, y2, y3, extrema[1]);\n }\n }\n\n if (nExtrema === 2) {\n // 分成三段单调函数\n if (t < extrema[0]) {\n w += y0_ < y0 ? unit : -unit;\n } else if (t < extrema[1]) {\n w += y1_ < y0_ ? unit : -unit;\n } else {\n w += y3 < y1_ ? unit : -unit;\n }\n } else {\n // 分成两段单调函数\n if (t < extrema[0]) {\n w += y0_ < y0 ? unit : -unit;\n } else {\n w += y3 < y0_ ? unit : -unit;\n }\n }\n }\n\n return w;\n }\n}\n\nfunction windingQuadratic(x0, y0, x1, y1, x2, y2, x, y) {\n // Quick reject\n if (y > y0 && y > y1 && y > y2 || y < y0 && y < y1 && y < y2) {\n return 0;\n }\n\n var nRoots = curve.quadraticRootAt(y0, y1, y2, y, roots);\n\n if (nRoots === 0) {\n return 0;\n } else {\n var t = curve.quadraticExtremum(y0, y1, y2);\n\n if (t >= 0 && t <= 1) {\n var w = 0;\n var y_ = curve.quadraticAt(y0, y1, y2, t);\n\n for (var i = 0; i < nRoots; i++) {\n // Remove one endpoint.\n var unit = roots[i] === 0 || roots[i] === 1 ? 0.5 : 1;\n var x_ = curve.quadraticAt(x0, x1, x2, roots[i]);\n\n if (x_ < x) {\n // Quick reject\n continue;\n }\n\n if (roots[i] < t) {\n w += y_ < y0 ? unit : -unit;\n } else {\n w += y2 < y_ ? unit : -unit;\n }\n }\n\n return w;\n } else {\n // Remove one endpoint.\n var unit = roots[0] === 0 || roots[0] === 1 ? 0.5 : 1;\n var x_ = curve.quadraticAt(x0, x1, x2, roots[0]);\n\n if (x_ < x) {\n // Quick reject\n return 0;\n }\n\n return y2 < y0 ? unit : -unit;\n }\n }\n} // TODO\n// Arc 旋转\n\n\nfunction windingArc(cx, cy, r, startAngle, endAngle, anticlockwise, x, y) {\n y -= cy;\n\n if (y > r || y < -r) {\n return 0;\n }\n\n var tmp = Math.sqrt(r * r - y * y);\n roots[0] = -tmp;\n roots[1] = tmp;\n var diff = Math.abs(startAngle - endAngle);\n\n if (diff < 1e-4) {\n return 0;\n }\n\n if (diff % PI2 < 1e-4) {\n // Is a circle\n startAngle = 0;\n endAngle = PI2;\n var dir = anticlockwise ? 1 : -1;\n\n if (x >= roots[0] + cx && x <= roots[1] + cx) {\n return dir;\n } else {\n return 0;\n }\n }\n\n if (anticlockwise) {\n var tmp = startAngle;\n startAngle = normalizeRadian(endAngle);\n endAngle = normalizeRadian(tmp);\n } else {\n startAngle = normalizeRadian(startAngle);\n endAngle = normalizeRadian(endAngle);\n }\n\n if (startAngle > endAngle) {\n endAngle += PI2;\n }\n\n var w = 0;\n\n for (var i = 0; i < 2; i++) {\n var x_ = roots[i];\n\n if (x_ + cx > x) {\n var angle = Math.atan2(y, x_);\n var dir = anticlockwise ? 1 : -1;\n\n if (angle < 0) {\n angle = PI2 + angle;\n }\n\n if (angle >= startAngle && angle <= endAngle || angle + PI2 >= startAngle && angle + PI2 <= endAngle) {\n if (angle > Math.PI / 2 && angle < Math.PI * 1.5) {\n dir = -dir;\n }\n\n w += dir;\n }\n }\n }\n\n return w;\n}\n\nfunction containPath(data, lineWidth, isStroke, x, y) {\n var w = 0;\n var xi = 0;\n var yi = 0;\n var x0 = 0;\n var y0 = 0;\n\n for (var i = 0; i < data.length;) {\n var cmd = data[i++]; // Begin a new subpath\n\n if (cmd === CMD.M && i > 1) {\n // Close previous subpath\n if (!isStroke) {\n w += windingLine(xi, yi, x0, y0, x, y);\n } // 如果被任何一个 subpath 包含\n // if (w !== 0) {\n // return true;\n // }\n\n }\n\n if (i === 1) {\n // 如果第一个命令是 L, C, Q\n // 则 previous point 同绘制命令的第一个 point\n //\n // 第一个命令为 Arc 的情况下会在后面特殊处理\n xi = data[i];\n yi = data[i + 1];\n x0 = xi;\n y0 = yi;\n }\n\n switch (cmd) {\n case CMD.M:\n // moveTo 命令重新创建一个新的 subpath, 并且更新新的起点\n // 在 closePath 的时候使用\n x0 = data[i++];\n y0 = data[i++];\n xi = x0;\n yi = y0;\n break;\n\n case CMD.L:\n if (isStroke) {\n if (line.containStroke(xi, yi, data[i], data[i + 1], lineWidth, x, y)) {\n return true;\n }\n } else {\n // NOTE 在第一个命令为 L, C, Q 的时候会计算出 NaN\n w += windingLine(xi, yi, data[i], data[i + 1], x, y) || 0;\n }\n\n xi = data[i++];\n yi = data[i++];\n break;\n\n case CMD.C:\n if (isStroke) {\n if (cubic.containStroke(xi, yi, data[i++], data[i++], data[i++], data[i++], data[i], data[i + 1], lineWidth, x, y)) {\n return true;\n }\n } else {\n w += windingCubic(xi, yi, data[i++], data[i++], data[i++], data[i++], data[i], data[i + 1], x, y) || 0;\n }\n\n xi = data[i++];\n yi = data[i++];\n break;\n\n case CMD.Q:\n if (isStroke) {\n if (quadratic.containStroke(xi, yi, data[i++], data[i++], data[i], data[i + 1], lineWidth, x, y)) {\n return true;\n }\n } else {\n w += windingQuadratic(xi, yi, data[i++], data[i++], data[i], data[i + 1], x, y) || 0;\n }\n\n xi = data[i++];\n yi = data[i++];\n break;\n\n case CMD.A:\n // TODO Arc 判断的开销比较大\n var cx = data[i++];\n var cy = data[i++];\n var rx = data[i++];\n var ry = data[i++];\n var theta = data[i++];\n var dTheta = data[i++]; // TODO Arc 旋转\n\n i += 1;\n var anticlockwise = 1 - data[i++];\n var x1 = Math.cos(theta) * rx + cx;\n var y1 = Math.sin(theta) * ry + cy; // 不是直接使用 arc 命令\n\n if (i > 1) {\n w += windingLine(xi, yi, x1, y1, x, y);\n } else {\n // 第一个命令起点还未定义\n x0 = x1;\n y0 = y1;\n } // zr 使用scale来模拟椭圆, 这里也对x做一定的缩放\n\n\n var _x = (x - cx) * ry / rx + cx;\n\n if (isStroke) {\n if (arc.containStroke(cx, cy, ry, theta, theta + dTheta, anticlockwise, lineWidth, _x, y)) {\n return true;\n }\n } else {\n w += windingArc(cx, cy, ry, theta, theta + dTheta, anticlockwise, _x, y);\n }\n\n xi = Math.cos(theta + dTheta) * rx + cx;\n yi = Math.sin(theta + dTheta) * ry + cy;\n break;\n\n case CMD.R:\n x0 = xi = data[i++];\n y0 = yi = data[i++];\n var width = data[i++];\n var height = data[i++];\n var x1 = x0 + width;\n var y1 = y0 + height;\n\n if (isStroke) {\n if (line.containStroke(x0, y0, x1, y0, lineWidth, x, y) || line.containStroke(x1, y0, x1, y1, lineWidth, x, y) || line.containStroke(x1, y1, x0, y1, lineWidth, x, y) || line.containStroke(x0, y1, x0, y0, lineWidth, x, y)) {\n return true;\n }\n } else {\n // FIXME Clockwise ?\n w += windingLine(x1, y0, x1, y1, x, y);\n w += windingLine(x0, y1, x0, y0, x, y);\n }\n\n break;\n\n case CMD.Z:\n if (isStroke) {\n if (line.containStroke(xi, yi, x0, y0, lineWidth, x, y)) {\n return true;\n }\n } else {\n // Close a subpath\n w += windingLine(xi, yi, x0, y0, x, y); // 如果被任何一个 subpath 包含\n // FIXME subpaths may overlap\n // if (w !== 0) {\n // return true;\n // }\n }\n\n xi = x0;\n yi = y0;\n break;\n }\n }\n\n if (!isStroke && !isAroundEqual(yi, y0)) {\n w += windingLine(xi, yi, x0, y0, x, y) || 0;\n }\n\n return w !== 0;\n}\n\nfunction contain(pathData, x, y) {\n return containPath(pathData, 0, false, x, y);\n}\n\nfunction containStroke(pathData, lineWidth, x, y) {\n return containPath(pathData, lineWidth, true, x, y);\n}\n\nexports.contain = contain;\nexports.containStroke = containStroke;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar matrix = require(\"zrender/lib/core/matrix\");\n\nvar layoutUtil = require(\"../../util/layout\");\n\nvar axisHelper = require(\"../../coord/axisHelper\");\n\nvar ParallelAxis = require(\"./ParallelAxis\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar numberUtil = require(\"../../util/number\");\n\nvar sliderMove = require(\"../../component/helper/sliderMove\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Parallel Coordinates\n * \n */\nvar each = zrUtil.each;\nvar mathMin = Math.min;\nvar mathMax = Math.max;\nvar mathFloor = Math.floor;\nvar mathCeil = Math.ceil;\nvar round = numberUtil.round;\nvar PI = Math.PI;\n\nfunction Parallel(parallelModel, ecModel, api) {\n /**\n * key: dimension\n * @type {Object.}\n * @private\n */\n this._axesMap = zrUtil.createHashMap();\n /**\n * key: dimension\n * value: {position: [], rotation, }\n * @type {Object.}\n * @private\n */\n\n this._axesLayout = {};\n /**\n * Always follow axis order.\n * @type {Array.}\n * @readOnly\n */\n\n this.dimensions = parallelModel.dimensions;\n /**\n * @type {module:zrender/core/BoundingRect}\n */\n\n this._rect;\n /**\n * @type {module:echarts/coord/parallel/ParallelModel}\n */\n\n this._model = parallelModel;\n\n this._init(parallelModel, ecModel, api);\n}\n\nParallel.prototype = {\n type: 'parallel',\n constructor: Parallel,\n\n /**\n * Initialize cartesian coordinate systems\n * @private\n */\n _init: function (parallelModel, ecModel, api) {\n var dimensions = parallelModel.dimensions;\n var parallelAxisIndex = parallelModel.parallelAxisIndex;\n each(dimensions, function (dim, idx) {\n var axisIndex = parallelAxisIndex[idx];\n var axisModel = ecModel.getComponent('parallelAxis', axisIndex);\n\n var axis = this._axesMap.set(dim, new ParallelAxis(dim, axisHelper.createScaleByModel(axisModel), [0, 0], axisModel.get('type'), axisIndex));\n\n var isCategory = axis.type === 'category';\n axis.onBand = isCategory && axisModel.get('boundaryGap');\n axis.inverse = axisModel.get('inverse'); // Injection\n\n axisModel.axis = axis;\n axis.model = axisModel;\n axis.coordinateSystem = axisModel.coordinateSystem = this;\n }, this);\n },\n\n /**\n * Update axis scale after data processed\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n */\n update: function (ecModel, api) {\n this._updateAxesFromSeries(this._model, ecModel);\n },\n\n /**\n * @override\n */\n containPoint: function (point) {\n var layoutInfo = this._makeLayoutInfo();\n\n var axisBase = layoutInfo.axisBase;\n var layoutBase = layoutInfo.layoutBase;\n var pixelDimIndex = layoutInfo.pixelDimIndex;\n var pAxis = point[1 - pixelDimIndex];\n var pLayout = point[pixelDimIndex];\n return pAxis >= axisBase && pAxis <= axisBase + layoutInfo.axisLength && pLayout >= layoutBase && pLayout <= layoutBase + layoutInfo.layoutLength;\n },\n getModel: function () {\n return this._model;\n },\n\n /**\n * Update properties from series\n * @private\n */\n _updateAxesFromSeries: function (parallelModel, ecModel) {\n ecModel.eachSeries(function (seriesModel) {\n if (!parallelModel.contains(seriesModel, ecModel)) {\n return;\n }\n\n var data = seriesModel.getData();\n each(this.dimensions, function (dim) {\n var axis = this._axesMap.get(dim);\n\n axis.scale.unionExtentFromData(data, data.mapDimension(dim));\n axisHelper.niceScaleExtent(axis.scale, axis.model);\n }, this);\n }, this);\n },\n\n /**\n * Resize the parallel coordinate system.\n * @param {module:echarts/coord/parallel/ParallelModel} parallelModel\n * @param {module:echarts/ExtensionAPI} api\n */\n resize: function (parallelModel, api) {\n this._rect = layoutUtil.getLayoutRect(parallelModel.getBoxLayoutParams(), {\n width: api.getWidth(),\n height: api.getHeight()\n });\n\n this._layoutAxes();\n },\n\n /**\n * @return {module:zrender/core/BoundingRect}\n */\n getRect: function () {\n return this._rect;\n },\n\n /**\n * @private\n */\n _makeLayoutInfo: function () {\n var parallelModel = this._model;\n var rect = this._rect;\n var xy = ['x', 'y'];\n var wh = ['width', 'height'];\n var layout = parallelModel.get('layout');\n var pixelDimIndex = layout === 'horizontal' ? 0 : 1;\n var layoutLength = rect[wh[pixelDimIndex]];\n var layoutExtent = [0, layoutLength];\n var axisCount = this.dimensions.length;\n var axisExpandWidth = restrict(parallelModel.get('axisExpandWidth'), layoutExtent);\n var axisExpandCount = restrict(parallelModel.get('axisExpandCount') || 0, [0, axisCount]);\n var axisExpandable = parallelModel.get('axisExpandable') && axisCount > 3 && axisCount > axisExpandCount && axisExpandCount > 1 && axisExpandWidth > 0 && layoutLength > 0; // `axisExpandWindow` is According to the coordinates of [0, axisExpandLength],\n // for sake of consider the case that axisCollapseWidth is 0 (when screen is narrow),\n // where collapsed axes should be overlapped.\n\n var axisExpandWindow = parallelModel.get('axisExpandWindow');\n var winSize;\n\n if (!axisExpandWindow) {\n winSize = restrict(axisExpandWidth * (axisExpandCount - 1), layoutExtent);\n var axisExpandCenter = parallelModel.get('axisExpandCenter') || mathFloor(axisCount / 2);\n axisExpandWindow = [axisExpandWidth * axisExpandCenter - winSize / 2];\n axisExpandWindow[1] = axisExpandWindow[0] + winSize;\n } else {\n winSize = restrict(axisExpandWindow[1] - axisExpandWindow[0], layoutExtent);\n axisExpandWindow[1] = axisExpandWindow[0] + winSize;\n }\n\n var axisCollapseWidth = (layoutLength - winSize) / (axisCount - axisExpandCount); // Avoid axisCollapseWidth is too small.\n\n axisCollapseWidth < 3 && (axisCollapseWidth = 0); // Find the first and last indices > ewin[0] and < ewin[1].\n\n var winInnerIndices = [mathFloor(round(axisExpandWindow[0] / axisExpandWidth, 1)) + 1, mathCeil(round(axisExpandWindow[1] / axisExpandWidth, 1)) - 1]; // Pos in ec coordinates.\n\n var axisExpandWindow0Pos = axisCollapseWidth / axisExpandWidth * axisExpandWindow[0];\n return {\n layout: layout,\n pixelDimIndex: pixelDimIndex,\n layoutBase: rect[xy[pixelDimIndex]],\n layoutLength: layoutLength,\n axisBase: rect[xy[1 - pixelDimIndex]],\n axisLength: rect[wh[1 - pixelDimIndex]],\n axisExpandable: axisExpandable,\n axisExpandWidth: axisExpandWidth,\n axisCollapseWidth: axisCollapseWidth,\n axisExpandWindow: axisExpandWindow,\n axisCount: axisCount,\n winInnerIndices: winInnerIndices,\n axisExpandWindow0Pos: axisExpandWindow0Pos\n };\n },\n\n /**\n * @private\n */\n _layoutAxes: function () {\n var rect = this._rect;\n var axes = this._axesMap;\n var dimensions = this.dimensions;\n\n var layoutInfo = this._makeLayoutInfo();\n\n var layout = layoutInfo.layout;\n axes.each(function (axis) {\n var axisExtent = [0, layoutInfo.axisLength];\n var idx = axis.inverse ? 1 : 0;\n axis.setExtent(axisExtent[idx], axisExtent[1 - idx]);\n });\n each(dimensions, function (dim, idx) {\n var posInfo = (layoutInfo.axisExpandable ? layoutAxisWithExpand : layoutAxisWithoutExpand)(idx, layoutInfo);\n var positionTable = {\n horizontal: {\n x: posInfo.position,\n y: layoutInfo.axisLength\n },\n vertical: {\n x: 0,\n y: posInfo.position\n }\n };\n var rotationTable = {\n horizontal: PI / 2,\n vertical: 0\n };\n var position = [positionTable[layout].x + rect.x, positionTable[layout].y + rect.y];\n var rotation = rotationTable[layout];\n var transform = matrix.create();\n matrix.rotate(transform, transform, rotation);\n matrix.translate(transform, transform, position); // TODO\n // tick等排布信息。\n // TODO\n // 根据axis order 更新 dimensions顺序。\n\n this._axesLayout[dim] = {\n position: position,\n rotation: rotation,\n transform: transform,\n axisNameAvailableWidth: posInfo.axisNameAvailableWidth,\n axisLabelShow: posInfo.axisLabelShow,\n nameTruncateMaxWidth: posInfo.nameTruncateMaxWidth,\n tickDirection: 1,\n labelDirection: 1\n };\n }, this);\n },\n\n /**\n * Get axis by dim.\n * @param {string} dim\n * @return {module:echarts/coord/parallel/ParallelAxis} [description]\n */\n getAxis: function (dim) {\n return this._axesMap.get(dim);\n },\n\n /**\n * Convert a dim value of a single item of series data to Point.\n * @param {*} value\n * @param {string} dim\n * @return {Array}\n */\n dataToPoint: function (value, dim) {\n return this.axisCoordToPoint(this._axesMap.get(dim).dataToCoord(value), dim);\n },\n\n /**\n * Travel data for one time, get activeState of each data item.\n * @param {module:echarts/data/List} data\n * @param {Functio} cb param: {string} activeState 'active' or 'inactive' or 'normal'\n * {number} dataIndex\n * @param {number} [start=0] the start dataIndex that travel from.\n * @param {number} [end=data.count()] the next dataIndex of the last dataIndex will be travel.\n */\n eachActiveState: function (data, callback, start, end) {\n start == null && (start = 0);\n end == null && (end = data.count());\n var axesMap = this._axesMap;\n var dimensions = this.dimensions;\n var dataDimensions = [];\n var axisModels = [];\n zrUtil.each(dimensions, function (axisDim) {\n dataDimensions.push(data.mapDimension(axisDim));\n axisModels.push(axesMap.get(axisDim).model);\n });\n var hasActiveSet = this.hasAxisBrushed();\n\n for (var dataIndex = start; dataIndex < end; dataIndex++) {\n var activeState;\n\n if (!hasActiveSet) {\n activeState = 'normal';\n } else {\n activeState = 'active';\n var values = data.getValues(dataDimensions, dataIndex);\n\n for (var j = 0, lenj = dimensions.length; j < lenj; j++) {\n var state = axisModels[j].getActiveState(values[j]);\n\n if (state === 'inactive') {\n activeState = 'inactive';\n break;\n }\n }\n }\n\n callback(activeState, dataIndex);\n }\n },\n\n /**\n * Whether has any activeSet.\n * @return {boolean}\n */\n hasAxisBrushed: function () {\n var dimensions = this.dimensions;\n var axesMap = this._axesMap;\n var hasActiveSet = false;\n\n for (var j = 0, lenj = dimensions.length; j < lenj; j++) {\n if (axesMap.get(dimensions[j]).model.getActiveState() !== 'normal') {\n hasActiveSet = true;\n }\n }\n\n return hasActiveSet;\n },\n\n /**\n * Convert coords of each axis to Point.\n * Return point. For example: [10, 20]\n * @param {Array.} coords\n * @param {string} dim\n * @return {Array.}\n */\n axisCoordToPoint: function (coord, dim) {\n var axisLayout = this._axesLayout[dim];\n return graphic.applyTransform([coord, 0], axisLayout.transform);\n },\n\n /**\n * Get axis layout.\n */\n getAxisLayout: function (dim) {\n return zrUtil.clone(this._axesLayout[dim]);\n },\n\n /**\n * @param {Array.} point\n * @return {Object} {axisExpandWindow, delta, behavior: 'jump' | 'slide' | 'none'}.\n */\n getSlidedAxisExpandWindow: function (point) {\n var layoutInfo = this._makeLayoutInfo();\n\n var pixelDimIndex = layoutInfo.pixelDimIndex;\n var axisExpandWindow = layoutInfo.axisExpandWindow.slice();\n var winSize = axisExpandWindow[1] - axisExpandWindow[0];\n var extent = [0, layoutInfo.axisExpandWidth * (layoutInfo.axisCount - 1)]; // Out of the area of coordinate system.\n\n if (!this.containPoint(point)) {\n return {\n behavior: 'none',\n axisExpandWindow: axisExpandWindow\n };\n } // Conver the point from global to expand coordinates.\n\n\n var pointCoord = point[pixelDimIndex] - layoutInfo.layoutBase - layoutInfo.axisExpandWindow0Pos; // For dragging operation convenience, the window should not be\n // slided when mouse is the center area of the window.\n\n var delta;\n var behavior = 'slide';\n var axisCollapseWidth = layoutInfo.axisCollapseWidth;\n\n var triggerArea = this._model.get('axisExpandSlideTriggerArea'); // But consider touch device, jump is necessary.\n\n\n var useJump = triggerArea[0] != null;\n\n if (axisCollapseWidth) {\n if (useJump && axisCollapseWidth && pointCoord < winSize * triggerArea[0]) {\n behavior = 'jump';\n delta = pointCoord - winSize * triggerArea[2];\n } else if (useJump && axisCollapseWidth && pointCoord > winSize * (1 - triggerArea[0])) {\n behavior = 'jump';\n delta = pointCoord - winSize * (1 - triggerArea[2]);\n } else {\n (delta = pointCoord - winSize * triggerArea[1]) >= 0 && (delta = pointCoord - winSize * (1 - triggerArea[1])) <= 0 && (delta = 0);\n }\n\n delta *= layoutInfo.axisExpandWidth / axisCollapseWidth;\n delta ? sliderMove(delta, axisExpandWindow, extent, 'all') // Avoid nonsense triger on mousemove.\n : behavior = 'none';\n } // When screen is too narrow, make it visible and slidable, although it is hard to interact.\n else {\n var winSize = axisExpandWindow[1] - axisExpandWindow[0];\n var pos = extent[1] * pointCoord / winSize;\n axisExpandWindow = [mathMax(0, pos - winSize / 2)];\n axisExpandWindow[1] = mathMin(extent[1], axisExpandWindow[0] + winSize);\n axisExpandWindow[0] = axisExpandWindow[1] - winSize;\n }\n\n return {\n axisExpandWindow: axisExpandWindow,\n behavior: behavior\n };\n }\n};\n\nfunction restrict(len, extent) {\n return mathMin(mathMax(len, extent[0]), extent[1]);\n}\n\nfunction layoutAxisWithoutExpand(axisIndex, layoutInfo) {\n var step = layoutInfo.layoutLength / (layoutInfo.axisCount - 1);\n return {\n position: step * axisIndex,\n axisNameAvailableWidth: step,\n axisLabelShow: true\n };\n}\n\nfunction layoutAxisWithExpand(axisIndex, layoutInfo) {\n var layoutLength = layoutInfo.layoutLength;\n var axisExpandWidth = layoutInfo.axisExpandWidth;\n var axisCount = layoutInfo.axisCount;\n var axisCollapseWidth = layoutInfo.axisCollapseWidth;\n var winInnerIndices = layoutInfo.winInnerIndices;\n var position;\n var axisNameAvailableWidth = axisCollapseWidth;\n var axisLabelShow = false;\n var nameTruncateMaxWidth;\n\n if (axisIndex < winInnerIndices[0]) {\n position = axisIndex * axisCollapseWidth;\n nameTruncateMaxWidth = axisCollapseWidth;\n } else if (axisIndex <= winInnerIndices[1]) {\n position = layoutInfo.axisExpandWindow0Pos + axisIndex * axisExpandWidth - layoutInfo.axisExpandWindow[0];\n axisNameAvailableWidth = axisExpandWidth;\n axisLabelShow = true;\n } else {\n position = layoutLength - (axisCount - 1 - axisIndex) * axisCollapseWidth;\n nameTruncateMaxWidth = axisCollapseWidth;\n }\n\n return {\n position: position,\n axisNameAvailableWidth: axisNameAvailableWidth,\n axisLabelShow: axisLabelShow,\n nameTruncateMaxWidth: nameTruncateMaxWidth\n };\n}\n\nvar _default = Parallel;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar ComponentModel = require(\"../../model/Component\");\n\nvar axisModelCreator = require(\"../axisModelCreator\");\n\nvar axisModelCommonMixin = require(\"../axisModelCommonMixin\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar PolarAxisModel = ComponentModel.extend({\n type: 'polarAxis',\n\n /**\n * @type {module:echarts/coord/polar/AngleAxis|module:echarts/coord/polar/RadiusAxis}\n */\n axis: null,\n\n /**\n * @override\n */\n getCoordSysModel: function () {\n return this.ecModel.queryComponents({\n mainType: 'polar',\n index: this.option.polarIndex,\n id: this.option.polarId\n })[0];\n }\n});\nzrUtil.merge(PolarAxisModel.prototype, axisModelCommonMixin);\nvar polarAxisDefaultExtendedOption = {\n angle: {\n // polarIndex: 0,\n // polarId: '',\n startAngle: 90,\n clockwise: true,\n splitNumber: 12,\n axisLabel: {\n rotate: false\n }\n },\n radius: {\n // polarIndex: 0,\n // polarId: '',\n splitNumber: 5\n }\n};\n\nfunction getAxisType(axisDim, option) {\n // Default axis with data is category axis\n return option.type || (option.data ? 'category' : 'value');\n}\n\naxisModelCreator('angle', PolarAxisModel, getAxisType, polarAxisDefaultExtendedOption.angle);\naxisModelCreator('radius', PolarAxisModel, getAxisType, polarAxisDefaultExtendedOption.radius);","var Path = require(\"../Path\");\n\n/**\n * 圆形\n * @module zrender/shape/Circle\n */\nvar _default = Path.extend({\n type: 'circle',\n shape: {\n cx: 0,\n cy: 0,\n r: 0\n },\n buildPath: function (ctx, shape, inBundle) {\n // Better stroking in ShapeBundle\n // Always do it may have performence issue ( fill may be 2x more cost)\n if (inBundle) {\n ctx.moveTo(shape.cx + shape.r, shape.cy);\n } // else {\n // if (ctx.allocate && !ctx.data.length) {\n // ctx.allocate(ctx.CMD_MEM_SIZE.A);\n // }\n // }\n // Better stroking in ShapeBundle\n // ctx.moveTo(shape.cx + shape.r, shape.cy);\n\n\n ctx.arc(shape.cx, shape.cy, shape.r, 0, Math.PI * 2, true);\n }\n});\n\nmodule.exports = _default;","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./treemap/TreemapSeries\");\n\nrequire(\"./treemap/TreemapView\");\n\nrequire(\"./treemap/treemapAction\");\n\nvar treemapVisual = require(\"./treemap/treemapVisual\");\n\nvar treemapLayout = require(\"./treemap/treemapLayout\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerVisual(treemapVisual);\necharts.registerLayout(treemapLayout);","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./marker/MarkPointModel\");\n\nrequire(\"./marker/MarkPointView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// HINT Markpoint can't be used too much\necharts.registerPreprocessor(function (opt) {\n // Make sure markPoint component is enabled\n opt.markPoint = opt.markPoint || {};\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../../echarts\");\n\nvar history = require(\"../../dataZoom/history\");\n\nvar lang = require(\"../../../lang\");\n\nvar featureManager = require(\"../featureManager\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar restoreLang = lang.toolbox.restore;\n\nfunction Restore(model) {\n this.model = model;\n}\n\nRestore.defaultOption = {\n show: true,\n\n /* eslint-disable */\n icon: 'M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5',\n\n /* eslint-enable */\n title: restoreLang.title\n};\nvar proto = Restore.prototype;\n\nproto.onclick = function (ecModel, api, type) {\n history.clear(ecModel);\n api.dispatchAction({\n type: 'restore',\n from: this.uid\n });\n};\n\nfeatureManager.register('restore', Restore);\necharts.registerAction({\n type: 'restore',\n event: 'restore',\n update: 'prepareAndUpdate'\n}, function (payload, ecModel) {\n ecModel.resetOption('recreate');\n});\nvar _default = Restore;\nmodule.exports = _default;","var Pattern = function (image, repeat) {\n // Should do nothing more in this constructor. Because gradient can be\n // declard by `color: {image: ...}`, where this constructor will not be called.\n this.image = image;\n this.repeat = repeat; // Can be cloned\n\n this.type = 'pattern';\n};\n\nPattern.prototype.getCanvasPattern = function (ctx) {\n return ctx.createPattern(this.image, this.repeat || 'repeat');\n};\n\nvar _default = Pattern;\nmodule.exports = _default;","var _core = require(\"./core\");\n\nvar createElement = _core.createElement;\n\nvar util = require(\"../core/util\");\n\nvar logError = require(\"../core/log\");\n\nvar Path = require(\"../graphic/Path\");\n\nvar ZImage = require(\"../graphic/Image\");\n\nvar ZText = require(\"../graphic/Text\");\n\nvar arrayDiff = require(\"../core/arrayDiff2\");\n\nvar GradientManager = require(\"./helper/GradientManager\");\n\nvar ClippathManager = require(\"./helper/ClippathManager\");\n\nvar ShadowManager = require(\"./helper/ShadowManager\");\n\nvar _graphic = require(\"./graphic\");\n\nvar svgPath = _graphic.path;\nvar svgImage = _graphic.image;\nvar svgText = _graphic.text;\n\n/**\n * SVG Painter\n * @module zrender/svg/Painter\n */\nfunction parseInt10(val) {\n return parseInt(val, 10);\n}\n\nfunction getSvgProxy(el) {\n if (el instanceof Path) {\n return svgPath;\n } else if (el instanceof ZImage) {\n return svgImage;\n } else if (el instanceof ZText) {\n return svgText;\n } else {\n return svgPath;\n }\n}\n\nfunction checkParentAvailable(parent, child) {\n return child && parent && child.parentNode !== parent;\n}\n\nfunction insertAfter(parent, child, prevSibling) {\n if (checkParentAvailable(parent, child) && prevSibling) {\n var nextSibling = prevSibling.nextSibling;\n nextSibling ? parent.insertBefore(child, nextSibling) : parent.appendChild(child);\n }\n}\n\nfunction prepend(parent, child) {\n if (checkParentAvailable(parent, child)) {\n var firstChild = parent.firstChild;\n firstChild ? parent.insertBefore(child, firstChild) : parent.appendChild(child);\n }\n} // function append(parent, child) {\n// if (checkParentAvailable(parent, child)) {\n// parent.appendChild(child);\n// }\n// }\n\n\nfunction remove(parent, child) {\n if (child && parent && child.parentNode === parent) {\n parent.removeChild(child);\n }\n}\n\nfunction getTextSvgElement(displayable) {\n return displayable.__textSvgEl;\n}\n\nfunction getSvgElement(displayable) {\n return displayable.__svgEl;\n}\n/**\n * @alias module:zrender/svg/Painter\n * @constructor\n * @param {HTMLElement} root 绘图容器\n * @param {module:zrender/Storage} storage\n * @param {Object} opts\n */\n\n\nvar SVGPainter = function (root, storage, opts, zrId) {\n this.root = root;\n this.storage = storage;\n this._opts = opts = util.extend({}, opts || {});\n var svgDom = createElement('svg');\n svgDom.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n svgDom.setAttribute('version', '1.1');\n svgDom.setAttribute('baseProfile', 'full');\n svgDom.style.cssText = 'user-select:none;position:absolute;left:0;top:0;';\n var bgRoot = createElement('g');\n svgDom.appendChild(bgRoot);\n var svgRoot = createElement('g');\n svgDom.appendChild(svgRoot);\n this.gradientManager = new GradientManager(zrId, svgRoot);\n this.clipPathManager = new ClippathManager(zrId, svgRoot);\n this.shadowManager = new ShadowManager(zrId, svgRoot);\n var viewport = document.createElement('div');\n viewport.style.cssText = 'overflow:hidden;position:relative';\n this._svgDom = svgDom;\n this._svgRoot = svgRoot;\n this._backgroundRoot = bgRoot;\n this._viewport = viewport;\n root.appendChild(viewport);\n viewport.appendChild(svgDom);\n this.resize(opts.width, opts.height);\n this._visibleList = [];\n};\n\nSVGPainter.prototype = {\n constructor: SVGPainter,\n getType: function () {\n return 'svg';\n },\n getViewportRoot: function () {\n return this._viewport;\n },\n getSvgDom: function () {\n return this._svgDom;\n },\n getSvgRoot: function () {\n return this._svgRoot;\n },\n getViewportRootOffset: function () {\n var viewportRoot = this.getViewportRoot();\n\n if (viewportRoot) {\n return {\n offsetLeft: viewportRoot.offsetLeft || 0,\n offsetTop: viewportRoot.offsetTop || 0\n };\n }\n },\n refresh: function () {\n var list = this.storage.getDisplayList(true);\n\n this._paintList(list);\n },\n setBackgroundColor: function (backgroundColor) {\n // TODO gradient\n // Insert a bg rect instead of setting background to viewport.\n // Otherwise, the exported SVG don't have background.\n if (this._backgroundRoot && this._backgroundNode) {\n this._backgroundRoot.removeChild(this._backgroundNode);\n }\n\n var bgNode = createElement('rect');\n bgNode.setAttribute('width', this.getWidth());\n bgNode.setAttribute('height', this.getHeight());\n bgNode.setAttribute('x', 0);\n bgNode.setAttribute('y', 0);\n bgNode.setAttribute('id', 0);\n bgNode.style.fill = backgroundColor;\n\n this._backgroundRoot.appendChild(bgNode);\n\n this._backgroundNode = bgNode;\n },\n _paintList: function (list) {\n this.gradientManager.markAllUnused();\n this.clipPathManager.markAllUnused();\n this.shadowManager.markAllUnused();\n var svgRoot = this._svgRoot;\n var visibleList = this._visibleList;\n var listLen = list.length;\n var newVisibleList = [];\n var i;\n\n for (i = 0; i < listLen; i++) {\n var displayable = list[i];\n var svgProxy = getSvgProxy(displayable);\n var svgElement = getSvgElement(displayable) || getTextSvgElement(displayable);\n\n if (!displayable.invisible) {\n if (displayable.__dirty) {\n svgProxy && svgProxy.brush(displayable); // Update clipPath\n\n this.clipPathManager.update(displayable); // Update gradient and shadow\n\n if (displayable.style) {\n this.gradientManager.update(displayable.style.fill);\n this.gradientManager.update(displayable.style.stroke);\n this.shadowManager.update(svgElement, displayable);\n }\n\n displayable.__dirty = false;\n }\n\n newVisibleList.push(displayable);\n }\n }\n\n var diff = arrayDiff(visibleList, newVisibleList);\n var prevSvgElement; // First do remove, in case element moved to the head and do remove\n // after add\n\n for (i = 0; i < diff.length; i++) {\n var item = diff[i];\n\n if (item.removed) {\n for (var k = 0; k < item.count; k++) {\n var displayable = visibleList[item.indices[k]];\n var svgElement = getSvgElement(displayable);\n var textSvgElement = getTextSvgElement(displayable);\n remove(svgRoot, svgElement);\n remove(svgRoot, textSvgElement);\n }\n }\n }\n\n for (i = 0; i < diff.length; i++) {\n var item = diff[i];\n\n if (item.added) {\n for (var k = 0; k < item.count; k++) {\n var displayable = newVisibleList[item.indices[k]];\n var svgElement = getSvgElement(displayable);\n var textSvgElement = getTextSvgElement(displayable);\n prevSvgElement ? insertAfter(svgRoot, svgElement, prevSvgElement) : prepend(svgRoot, svgElement);\n\n if (svgElement) {\n insertAfter(svgRoot, textSvgElement, svgElement);\n } else if (prevSvgElement) {\n insertAfter(svgRoot, textSvgElement, prevSvgElement);\n } else {\n prepend(svgRoot, textSvgElement);\n } // Insert text\n\n\n insertAfter(svgRoot, textSvgElement, svgElement);\n prevSvgElement = textSvgElement || svgElement || prevSvgElement; // zrender.Text only create textSvgElement.\n\n this.gradientManager.addWithoutUpdate(svgElement || textSvgElement, displayable);\n this.shadowManager.addWithoutUpdate(svgElement || textSvgElement, displayable);\n this.clipPathManager.markUsed(displayable);\n }\n } else if (!item.removed) {\n for (var k = 0; k < item.count; k++) {\n var displayable = newVisibleList[item.indices[k]];\n var svgElement = getSvgElement(displayable);\n var textSvgElement = getTextSvgElement(displayable);\n var svgElement = getSvgElement(displayable);\n var textSvgElement = getTextSvgElement(displayable);\n this.gradientManager.markUsed(displayable);\n this.gradientManager.addWithoutUpdate(svgElement || textSvgElement, displayable);\n this.shadowManager.markUsed(displayable);\n this.shadowManager.addWithoutUpdate(svgElement || textSvgElement, displayable);\n this.clipPathManager.markUsed(displayable);\n\n if (textSvgElement) {\n // Insert text.\n insertAfter(svgRoot, textSvgElement, svgElement);\n }\n\n prevSvgElement = svgElement || textSvgElement || prevSvgElement;\n }\n }\n }\n\n this.gradientManager.removeUnused();\n this.clipPathManager.removeUnused();\n this.shadowManager.removeUnused();\n this._visibleList = newVisibleList;\n },\n _getDefs: function (isForceCreating) {\n var svgRoot = this._svgDom;\n var defs = svgRoot.getElementsByTagName('defs');\n\n if (defs.length === 0) {\n // Not exist\n if (isForceCreating) {\n var defs = svgRoot.insertBefore(createElement('defs'), // Create new tag\n svgRoot.firstChild // Insert in the front of svg\n );\n\n if (!defs.contains) {\n // IE doesn't support contains method\n defs.contains = function (el) {\n var children = defs.children;\n\n if (!children) {\n return false;\n }\n\n for (var i = children.length - 1; i >= 0; --i) {\n if (children[i] === el) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n return defs;\n } else {\n return null;\n }\n } else {\n return defs[0];\n }\n },\n resize: function (width, height) {\n var viewport = this._viewport; // FIXME Why ?\n\n viewport.style.display = 'none'; // Save input w/h\n\n var opts = this._opts;\n width != null && (opts.width = width);\n height != null && (opts.height = height);\n width = this._getSize(0);\n height = this._getSize(1);\n viewport.style.display = '';\n\n if (this._width !== width || this._height !== height) {\n this._width = width;\n this._height = height;\n var viewportStyle = viewport.style;\n viewportStyle.width = width + 'px';\n viewportStyle.height = height + 'px';\n var svgRoot = this._svgDom; // Set width by 'svgRoot.width = width' is invalid\n\n svgRoot.setAttribute('width', width);\n svgRoot.setAttribute('height', height);\n }\n\n if (this._backgroundNode) {\n this._backgroundNode.setAttribute('width', width);\n\n this._backgroundNode.setAttribute('height', height);\n }\n },\n\n /**\n * 获取绘图区域宽度\n */\n getWidth: function () {\n return this._width;\n },\n\n /**\n * 获取绘图区域高度\n */\n getHeight: function () {\n return this._height;\n },\n _getSize: function (whIdx) {\n var opts = this._opts;\n var wh = ['width', 'height'][whIdx];\n var cwh = ['clientWidth', 'clientHeight'][whIdx];\n var plt = ['paddingLeft', 'paddingTop'][whIdx];\n var prb = ['paddingRight', 'paddingBottom'][whIdx];\n\n if (opts[wh] != null && opts[wh] !== 'auto') {\n return parseFloat(opts[wh]);\n }\n\n var root = this.root; // IE8 does not support getComputedStyle, but it use VML.\n\n var stl = document.defaultView.getComputedStyle(root);\n return (root[cwh] || parseInt10(stl[wh]) || parseInt10(root.style[wh])) - (parseInt10(stl[plt]) || 0) - (parseInt10(stl[prb]) || 0) | 0;\n },\n dispose: function () {\n this.root.innerHTML = '';\n this._svgRoot = this._backgroundRoot = this._svgDom = this._backgroundNode = this._viewport = this.storage = null;\n },\n clear: function () {\n if (this._viewport) {\n this.root.removeChild(this._viewport);\n }\n },\n toDataURL: function () {\n this.refresh();\n var html = encodeURIComponent(this._svgDom.outerHTML.replace(/>\\n\\r<'));\n return 'data:image/svg+xml;charset=UTF-8,' + html;\n }\n}; // Not supported methods\n\nfunction createMethodNotSupport(method) {\n return function () {\n logError('In SVG mode painter not support method \"' + method + '\"');\n };\n} // Unsuppoted methods\n\n\nutil.each(['getLayer', 'insertLayer', 'eachLayer', 'eachBuiltinLayer', 'eachOtherLayer', 'getLayers', 'modLayer', 'delLayer', 'clearLayer', 'pathToImage'], function (name) {\n SVGPainter.prototype[name] = createMethodNotSupport(name);\n});\nvar _default = SVGPainter;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar clazzUtil = require(\"../../util/clazz\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar axisPointerModelHelper = require(\"./modelHelper\");\n\nvar eventTool = require(\"zrender/lib/core/event\");\n\nvar throttleUtil = require(\"../../util/throttle\");\n\nvar _model = require(\"../../util/model\");\n\nvar makeInner = _model.makeInner;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar inner = makeInner();\nvar clone = zrUtil.clone;\nvar bind = zrUtil.bind;\n/**\n * Base axis pointer class in 2D.\n * Implemenents {module:echarts/component/axis/IAxisPointer}.\n */\n\nfunction BaseAxisPointer() {}\n\nBaseAxisPointer.prototype = {\n /**\n * @private\n */\n _group: null,\n\n /**\n * @private\n */\n _lastGraphicKey: null,\n\n /**\n * @private\n */\n _handle: null,\n\n /**\n * @private\n */\n _dragging: false,\n\n /**\n * @private\n */\n _lastValue: null,\n\n /**\n * @private\n */\n _lastStatus: null,\n\n /**\n * @private\n */\n _payloadInfo: null,\n\n /**\n * In px, arbitrary value. Do not set too small,\n * no animation is ok for most cases.\n * @protected\n */\n animationThreshold: 15,\n\n /**\n * @implement\n */\n render: function (axisModel, axisPointerModel, api, forceRender) {\n var value = axisPointerModel.get('value');\n var status = axisPointerModel.get('status'); // Bind them to `this`, not in closure, otherwise they will not\n // be replaced when user calling setOption in not merge mode.\n\n this._axisModel = axisModel;\n this._axisPointerModel = axisPointerModel;\n this._api = api; // Optimize: `render` will be called repeatly during mouse move.\n // So it is power consuming if performing `render` each time,\n // especially on mobile device.\n\n if (!forceRender && this._lastValue === value && this._lastStatus === status) {\n return;\n }\n\n this._lastValue = value;\n this._lastStatus = status;\n var group = this._group;\n var handle = this._handle;\n\n if (!status || status === 'hide') {\n // Do not clear here, for animation better.\n group && group.hide();\n handle && handle.hide();\n return;\n }\n\n group && group.show();\n handle && handle.show(); // Otherwise status is 'show'\n\n var elOption = {};\n this.makeElOption(elOption, value, axisModel, axisPointerModel, api); // Enable change axis pointer type.\n\n var graphicKey = elOption.graphicKey;\n\n if (graphicKey !== this._lastGraphicKey) {\n this.clear(api);\n }\n\n this._lastGraphicKey = graphicKey;\n var moveAnimation = this._moveAnimation = this.determineAnimation(axisModel, axisPointerModel);\n\n if (!group) {\n group = this._group = new graphic.Group();\n this.createPointerEl(group, elOption, axisModel, axisPointerModel);\n this.createLabelEl(group, elOption, axisModel, axisPointerModel);\n api.getZr().add(group);\n } else {\n var doUpdateProps = zrUtil.curry(updateProps, axisPointerModel, moveAnimation);\n this.updatePointerEl(group, elOption, doUpdateProps, axisPointerModel);\n this.updateLabelEl(group, elOption, doUpdateProps, axisPointerModel);\n }\n\n updateMandatoryProps(group, axisPointerModel, true);\n\n this._renderHandle(value);\n },\n\n /**\n * @implement\n */\n remove: function (api) {\n this.clear(api);\n },\n\n /**\n * @implement\n */\n dispose: function (api) {\n this.clear(api);\n },\n\n /**\n * @protected\n */\n determineAnimation: function (axisModel, axisPointerModel) {\n var animation = axisPointerModel.get('animation');\n var axis = axisModel.axis;\n var isCategoryAxis = axis.type === 'category';\n var useSnap = axisPointerModel.get('snap'); // Value axis without snap always do not snap.\n\n if (!useSnap && !isCategoryAxis) {\n return false;\n }\n\n if (animation === 'auto' || animation == null) {\n var animationThreshold = this.animationThreshold;\n\n if (isCategoryAxis && axis.getBandWidth() > animationThreshold) {\n return true;\n } // It is important to auto animation when snap used. Consider if there is\n // a dataZoom, animation will be disabled when too many points exist, while\n // it will be enabled for better visual effect when little points exist.\n\n\n if (useSnap) {\n var seriesDataCount = axisPointerModelHelper.getAxisInfo(axisModel).seriesDataCount;\n var axisExtent = axis.getExtent(); // Approximate band width\n\n return Math.abs(axisExtent[0] - axisExtent[1]) / seriesDataCount > animationThreshold;\n }\n\n return false;\n }\n\n return animation === true;\n },\n\n /**\n * add {pointer, label, graphicKey} to elOption\n * @protected\n */\n makeElOption: function (elOption, value, axisModel, axisPointerModel, api) {// Shoule be implemenented by sub-class.\n },\n\n /**\n * @protected\n */\n createPointerEl: function (group, elOption, axisModel, axisPointerModel) {\n var pointerOption = elOption.pointer;\n\n if (pointerOption) {\n var pointerEl = inner(group).pointerEl = new graphic[pointerOption.type](clone(elOption.pointer));\n group.add(pointerEl);\n }\n },\n\n /**\n * @protected\n */\n createLabelEl: function (group, elOption, axisModel, axisPointerModel) {\n if (elOption.label) {\n var labelEl = inner(group).labelEl = new graphic.Rect(clone(elOption.label));\n group.add(labelEl);\n updateLabelShowHide(labelEl, axisPointerModel);\n }\n },\n\n /**\n * @protected\n */\n updatePointerEl: function (group, elOption, updateProps) {\n var pointerEl = inner(group).pointerEl;\n\n if (pointerEl && elOption.pointer) {\n pointerEl.setStyle(elOption.pointer.style);\n updateProps(pointerEl, {\n shape: elOption.pointer.shape\n });\n }\n },\n\n /**\n * @protected\n */\n updateLabelEl: function (group, elOption, updateProps, axisPointerModel) {\n var labelEl = inner(group).labelEl;\n\n if (labelEl) {\n labelEl.setStyle(elOption.label.style);\n updateProps(labelEl, {\n // Consider text length change in vertical axis, animation should\n // be used on shape, otherwise the effect will be weird.\n shape: elOption.label.shape,\n position: elOption.label.position\n });\n updateLabelShowHide(labelEl, axisPointerModel);\n }\n },\n\n /**\n * @private\n */\n _renderHandle: function (value) {\n if (this._dragging || !this.updateHandleTransform) {\n return;\n }\n\n var axisPointerModel = this._axisPointerModel;\n\n var zr = this._api.getZr();\n\n var handle = this._handle;\n var handleModel = axisPointerModel.getModel('handle');\n var status = axisPointerModel.get('status');\n\n if (!handleModel.get('show') || !status || status === 'hide') {\n handle && zr.remove(handle);\n this._handle = null;\n return;\n }\n\n var isInit;\n\n if (!this._handle) {\n isInit = true;\n handle = this._handle = graphic.createIcon(handleModel.get('icon'), {\n cursor: 'move',\n draggable: true,\n onmousemove: function (e) {\n // Fot mobile devicem, prevent screen slider on the button.\n eventTool.stop(e.event);\n },\n onmousedown: bind(this._onHandleDragMove, this, 0, 0),\n drift: bind(this._onHandleDragMove, this),\n ondragend: bind(this._onHandleDragEnd, this)\n });\n zr.add(handle);\n }\n\n updateMandatoryProps(handle, axisPointerModel, false); // update style\n\n var includeStyles = ['color', 'borderColor', 'borderWidth', 'opacity', 'shadowColor', 'shadowBlur', 'shadowOffsetX', 'shadowOffsetY'];\n handle.setStyle(handleModel.getItemStyle(null, includeStyles)); // update position\n\n var handleSize = handleModel.get('size');\n\n if (!zrUtil.isArray(handleSize)) {\n handleSize = [handleSize, handleSize];\n }\n\n handle.attr('scale', [handleSize[0] / 2, handleSize[1] / 2]);\n throttleUtil.createOrUpdate(this, '_doDispatchAxisPointer', handleModel.get('throttle') || 0, 'fixRate');\n\n this._moveHandleToValue(value, isInit);\n },\n\n /**\n * @private\n */\n _moveHandleToValue: function (value, isInit) {\n updateProps(this._axisPointerModel, !isInit && this._moveAnimation, this._handle, getHandleTransProps(this.getHandleTransform(value, this._axisModel, this._axisPointerModel)));\n },\n\n /**\n * @private\n */\n _onHandleDragMove: function (dx, dy) {\n var handle = this._handle;\n\n if (!handle) {\n return;\n }\n\n this._dragging = true; // Persistent for throttle.\n\n var trans = this.updateHandleTransform(getHandleTransProps(handle), [dx, dy], this._axisModel, this._axisPointerModel);\n this._payloadInfo = trans;\n handle.stopAnimation();\n handle.attr(getHandleTransProps(trans));\n inner(handle).lastProp = null;\n\n this._doDispatchAxisPointer();\n },\n\n /**\n * Throttled method.\n * @private\n */\n _doDispatchAxisPointer: function () {\n var handle = this._handle;\n\n if (!handle) {\n return;\n }\n\n var payloadInfo = this._payloadInfo;\n var axisModel = this._axisModel;\n\n this._api.dispatchAction({\n type: 'updateAxisPointer',\n x: payloadInfo.cursorPoint[0],\n y: payloadInfo.cursorPoint[1],\n tooltipOption: payloadInfo.tooltipOption,\n axesInfo: [{\n axisDim: axisModel.axis.dim,\n axisIndex: axisModel.componentIndex\n }]\n });\n },\n\n /**\n * @private\n */\n _onHandleDragEnd: function (moveAnimation) {\n this._dragging = false;\n var handle = this._handle;\n\n if (!handle) {\n return;\n }\n\n var value = this._axisPointerModel.get('value'); // Consider snap or categroy axis, handle may be not consistent with\n // axisPointer. So move handle to align the exact value position when\n // drag ended.\n\n\n this._moveHandleToValue(value); // For the effect: tooltip will be shown when finger holding on handle\n // button, and will be hidden after finger left handle button.\n\n\n this._api.dispatchAction({\n type: 'hideTip'\n });\n },\n\n /**\n * Should be implemenented by sub-class if support `handle`.\n * @protected\n * @param {number} value\n * @param {module:echarts/model/Model} axisModel\n * @param {module:echarts/model/Model} axisPointerModel\n * @return {Object} {position: [x, y], rotation: 0}\n */\n getHandleTransform: null,\n\n /**\n * * Should be implemenented by sub-class if support `handle`.\n * @protected\n * @param {Object} transform {position, rotation}\n * @param {Array.} delta [dx, dy]\n * @param {module:echarts/model/Model} axisModel\n * @param {module:echarts/model/Model} axisPointerModel\n * @return {Object} {position: [x, y], rotation: 0, cursorPoint: [x, y]}\n */\n updateHandleTransform: null,\n\n /**\n * @private\n */\n clear: function (api) {\n this._lastValue = null;\n this._lastStatus = null;\n var zr = api.getZr();\n var group = this._group;\n var handle = this._handle;\n\n if (zr && group) {\n this._lastGraphicKey = null;\n group && zr.remove(group);\n handle && zr.remove(handle);\n this._group = null;\n this._handle = null;\n this._payloadInfo = null;\n }\n },\n\n /**\n * @protected\n */\n doClear: function () {// Implemented by sub-class if necessary.\n },\n\n /**\n * @protected\n * @param {Array.} xy\n * @param {Array.} wh\n * @param {number} [xDimIndex=0] or 1\n */\n buildLabel: function (xy, wh, xDimIndex) {\n xDimIndex = xDimIndex || 0;\n return {\n x: xy[xDimIndex],\n y: xy[1 - xDimIndex],\n width: wh[xDimIndex],\n height: wh[1 - xDimIndex]\n };\n }\n};\nBaseAxisPointer.prototype.constructor = BaseAxisPointer;\n\nfunction updateProps(animationModel, moveAnimation, el, props) {\n // Animation optimize.\n if (!propsEqual(inner(el).lastProp, props)) {\n inner(el).lastProp = props;\n moveAnimation ? graphic.updateProps(el, props, animationModel) : (el.stopAnimation(), el.attr(props));\n }\n}\n\nfunction propsEqual(lastProps, newProps) {\n if (zrUtil.isObject(lastProps) && zrUtil.isObject(newProps)) {\n var equals = true;\n zrUtil.each(newProps, function (item, key) {\n equals = equals && propsEqual(lastProps[key], item);\n });\n return !!equals;\n } else {\n return lastProps === newProps;\n }\n}\n\nfunction updateLabelShowHide(labelEl, axisPointerModel) {\n labelEl[axisPointerModel.get('label.show') ? 'show' : 'hide']();\n}\n\nfunction getHandleTransProps(trans) {\n return {\n position: trans.position.slice(),\n rotation: trans.rotation || 0\n };\n}\n\nfunction updateMandatoryProps(group, axisPointerModel, silent) {\n var z = axisPointerModel.get('z');\n var zlevel = axisPointerModel.get('zlevel');\n group && group.traverse(function (el) {\n if (el.type !== 'group') {\n z != null && (el.z = z);\n zlevel != null && (el.zlevel = zlevel);\n el.silent = silent;\n }\n });\n}\n\nclazzUtil.enableClassExtend(BaseAxisPointer);\nvar _default = BaseAxisPointer;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar ChartView = require(\"../../view/Chart\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar Path = require(\"zrender/lib/graphic/Path\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Update common properties\nvar NORMAL_ITEM_STYLE_PATH = ['itemStyle'];\nvar EMPHASIS_ITEM_STYLE_PATH = ['emphasis', 'itemStyle'];\nvar BoxplotView = ChartView.extend({\n type: 'boxplot',\n render: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n var group = this.group;\n var oldData = this._data; // There is no old data only when first rendering or switching from\n // stream mode to normal mode, where previous elements should be removed.\n\n if (!this._data) {\n group.removeAll();\n }\n\n var constDim = seriesModel.get('layout') === 'horizontal' ? 1 : 0;\n data.diff(oldData).add(function (newIdx) {\n if (data.hasValue(newIdx)) {\n var itemLayout = data.getItemLayout(newIdx);\n var symbolEl = createNormalBox(itemLayout, data, newIdx, constDim, true);\n data.setItemGraphicEl(newIdx, symbolEl);\n group.add(symbolEl);\n }\n }).update(function (newIdx, oldIdx) {\n var symbolEl = oldData.getItemGraphicEl(oldIdx); // Empty data\n\n if (!data.hasValue(newIdx)) {\n group.remove(symbolEl);\n return;\n }\n\n var itemLayout = data.getItemLayout(newIdx);\n\n if (!symbolEl) {\n symbolEl = createNormalBox(itemLayout, data, newIdx, constDim);\n } else {\n updateNormalBoxData(itemLayout, symbolEl, data, newIdx);\n }\n\n group.add(symbolEl);\n data.setItemGraphicEl(newIdx, symbolEl);\n }).remove(function (oldIdx) {\n var el = oldData.getItemGraphicEl(oldIdx);\n el && group.remove(el);\n }).execute();\n this._data = data;\n },\n remove: function (ecModel) {\n var group = this.group;\n var data = this._data;\n this._data = null;\n data && data.eachItemGraphicEl(function (el) {\n el && group.remove(el);\n });\n },\n dispose: zrUtil.noop\n});\nvar BoxPath = Path.extend({\n type: 'boxplotBoxPath',\n shape: {},\n buildPath: function (ctx, shape) {\n var ends = shape.points;\n var i = 0;\n ctx.moveTo(ends[i][0], ends[i][1]);\n i++;\n\n for (; i < 4; i++) {\n ctx.lineTo(ends[i][0], ends[i][1]);\n }\n\n ctx.closePath();\n\n for (; i < ends.length; i++) {\n ctx.moveTo(ends[i][0], ends[i][1]);\n i++;\n ctx.lineTo(ends[i][0], ends[i][1]);\n }\n }\n});\n\nfunction createNormalBox(itemLayout, data, dataIndex, constDim, isInit) {\n var ends = itemLayout.ends;\n var el = new BoxPath({\n shape: {\n points: isInit ? transInit(ends, constDim, itemLayout) : ends\n }\n });\n updateNormalBoxData(itemLayout, el, data, dataIndex, isInit);\n return el;\n}\n\nfunction updateNormalBoxData(itemLayout, el, data, dataIndex, isInit) {\n var seriesModel = data.hostModel;\n var updateMethod = graphic[isInit ? 'initProps' : 'updateProps'];\n updateMethod(el, {\n shape: {\n points: itemLayout.ends\n }\n }, seriesModel, dataIndex);\n var itemModel = data.getItemModel(dataIndex);\n var normalItemStyleModel = itemModel.getModel(NORMAL_ITEM_STYLE_PATH);\n var borderColor = data.getItemVisual(dataIndex, 'color'); // Exclude borderColor.\n\n var itemStyle = normalItemStyleModel.getItemStyle(['borderColor']);\n itemStyle.stroke = borderColor;\n itemStyle.strokeNoScale = true;\n el.useStyle(itemStyle);\n el.z2 = 100;\n var hoverStyle = itemModel.getModel(EMPHASIS_ITEM_STYLE_PATH).getItemStyle();\n graphic.setHoverStyle(el, hoverStyle);\n}\n\nfunction transInit(points, dim, itemLayout) {\n return zrUtil.map(points, function (point) {\n point = point.slice();\n point[dim] = itemLayout.initBaseline;\n return point;\n });\n}\n\nvar _default = BoxplotView;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nrequire(\"./dataZoom/typeDefaulter\");\n\nrequire(\"./dataZoom/DataZoomModel\");\n\nrequire(\"./dataZoom/DataZoomView\");\n\nrequire(\"./dataZoom/SelectZoomModel\");\n\nrequire(\"./dataZoom/SelectZoomView\");\n\nrequire(\"./dataZoom/dataZoomProcessor\");\n\nrequire(\"./dataZoom/dataZoomAction\");","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar TimelineModel = require(\"./TimelineModel\");\n\nvar dataFormatMixin = require(\"../../model/mixin/dataFormat\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar SliderTimelineModel = TimelineModel.extend({\n type: 'timeline.slider',\n\n /**\n * @protected\n */\n defaultOption: {\n backgroundColor: 'rgba(0,0,0,0)',\n // 时间轴背景颜色\n borderColor: '#ccc',\n // 时间轴边框颜色\n borderWidth: 0,\n // 时间轴边框线宽,单位px,默认为0(无边框)\n orient: 'horizontal',\n // 'vertical'\n inverse: false,\n tooltip: {\n // boolean or Object\n trigger: 'item' // data item may also have tootip attr.\n\n },\n symbol: 'emptyCircle',\n symbolSize: 10,\n lineStyle: {\n show: true,\n width: 2,\n color: '#304654'\n },\n label: {\n // 文本标签\n position: 'auto',\n // auto left right top bottom\n // When using number, label position is not\n // restricted by viewRect.\n // positive: right/bottom, negative: left/top\n show: true,\n interval: 'auto',\n rotate: 0,\n // formatter: null,\n // 其余属性默认使用全局文本样式,详见TEXTSTYLE\n color: '#304654'\n },\n itemStyle: {\n color: '#304654',\n borderWidth: 1\n },\n checkpointStyle: {\n symbol: 'circle',\n symbolSize: 13,\n color: '#c23531',\n borderWidth: 5,\n borderColor: 'rgba(194,53,49, 0.5)',\n animation: true,\n animationDuration: 300,\n animationEasing: 'quinticInOut'\n },\n controlStyle: {\n show: true,\n showPlayBtn: true,\n showPrevBtn: true,\n showNextBtn: true,\n itemSize: 22,\n itemGap: 12,\n position: 'left',\n // 'left' 'right' 'top' 'bottom'\n playIcon: 'path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z',\n // jshint ignore:line\n stopIcon: 'path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z',\n // jshint ignore:line\n nextIcon: 'path://M18.6,50.8l22.5-22.5c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3-0.1-0.5-0.3-0.7L18.7,4.4c-0.1-0.1-0.2-0.3-0.2-0.5 c0-0.4,0.3-0.8,0.8-0.8c0.2,0,0.5,0.1,0.6,0.3l23.5,23.5l0,0c0.2,0.2,0.3,0.4,0.3,0.7c0,0.3-0.1,0.5-0.3,0.7l-0.1,0.1L19.7,52 c-0.1,0.1-0.3,0.2-0.5,0.2c-0.4,0-0.8-0.3-0.8-0.8C18.4,51.2,18.5,51,18.6,50.8z',\n // jshint ignore:line\n prevIcon: 'path://M43,52.8L20.4,30.3c-0.2-0.2-0.3-0.4-0.3-0.7c0-0.3,0.1-0.5,0.3-0.7L42.9,6.4c0.1-0.1,0.2-0.3,0.2-0.5 c0-0.4-0.3-0.8-0.8-0.8c-0.2,0-0.5,0.1-0.6,0.3L18.3,28.8l0,0c-0.2,0.2-0.3,0.4-0.3,0.7c0,0.3,0.1,0.5,0.3,0.7l0.1,0.1L41.9,54 c0.1,0.1,0.3,0.2,0.5,0.2c0.4,0,0.8-0.3,0.8-0.8C43.2,53.2,43.1,53,43,52.8z',\n // jshint ignore:line\n color: '#304654',\n borderColor: '#304654',\n borderWidth: 1\n },\n emphasis: {\n label: {\n show: true,\n // 其余属性默认使用全局文本样式,详见TEXTSTYLE\n color: '#c23531'\n },\n itemStyle: {\n color: '#c23531'\n },\n controlStyle: {\n color: '#c23531',\n borderColor: '#c23531',\n borderWidth: 2\n }\n },\n data: []\n }\n});\nzrUtil.mixin(SliderTimelineModel, dataFormatMixin);\nvar _default = SliderTimelineModel;\nmodule.exports = _default;","import React, { useState, useEffect } from 'react'\nimport get from 'lodash/get'\nimport fetch from 'lib/decorated-fetch'\nimport getUrl from 'lib/url'\nimport Loading from 'Components/loading'\n\ninterface ICarItem {\n info: any\n type: number\n}\ninterface ICar {\n name: string\n data: ICarItem[]\n}\ninterface IProp {\n show?: boolean\n style?: React.CSSProperties\n seriesId?: number\n onChange: (id: number, name: string) => void\n}\n\nconst Car = ({ seriesId, onChange, show = false, style = {} }: IProp) => {\n const [car, setCar] = useState([])\n const [loading, setLoading] = useState(false)\n const [empty, setEmpty] = useState(false)\n useEffect(() => {\n if (!seriesId) return\n fetchCar()\n }, [seriesId])\n // 获取品牌数据\n function fetchCar() {\n if (!seriesId) return\n setLoading(true)\n fetch(getUrl(`/motor/garage/get_cars_by_series_id/${seriesId}/?no_sales=1`))\n .then(res => {\n setLoading(false)\n const list = get(res, 'data.list', [])\n if (list.length === 0) {\n setEmpty(true)\n return\n }\n if (res.message === 'success') {\n const carList: ICar[] = []\n list.forEach((item: any) => {\n const car = { name: item.name, data: [] }\n get(item, 'data', []).forEach((item2: any) => {\n car.data = car.data.concat(item2.data)\n })\n carList.push(car)\n })\n setCar(carList)\n }\n })\n .catch(e => {\n setLoading(false)\n })\n }\n\n if (!show || !seriesId) return null\n return (\n
\n {loading && }\n {car.map((item: ICar) => (\n
\n

{item.name}

\n {item.data.map(item2 => (\n {\n e.stopPropagation()\n onChange(item2.info.id, item2.info.name)\n }}\n >\n {item2.info.name}\n

\n ))}\n
\n ))}\n \n
\n )\n}\n\nexport default Car\n","var zrUtil = require(\"../core/util\");\n\nvar Gradient = require(\"./Gradient\");\n\n/**\n * x, y, r are all percent from 0 to 1\n * @param {number} [x=0.5]\n * @param {number} [y=0.5]\n * @param {number} [r=0.5]\n * @param {Array.} [colorStops]\n * @param {boolean} [globalCoord=false]\n */\nvar RadialGradient = function (x, y, r, colorStops, globalCoord) {\n // Should do nothing more in this constructor. Because gradient can be\n // declard by `color: {type: 'radial', colorStops: ...}`, where\n // this constructor will not be called.\n this.x = x == null ? 0.5 : x;\n this.y = y == null ? 0.5 : y;\n this.r = r == null ? 0.5 : r; // Can be cloned\n\n this.type = 'radial'; // If use global coord\n\n this.global = globalCoord || false;\n Gradient.call(this, colorStops);\n};\n\nRadialGradient.prototype = {\n constructor: RadialGradient\n};\nzrUtil.inherits(RadialGradient, Gradient);\nvar _default = RadialGradient;\nmodule.exports = _default;","/**\n * zrender: 生成唯一id\n *\n * @author errorrik (errorrik@gmail.com)\n */\nvar idStart = 0x0907;\n\nfunction _default() {\n return idStart++;\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = {\n getBoxLayoutParams: function () {\n return {\n left: this.get('left'),\n top: this.get('top'),\n right: this.get('right'),\n bottom: this.get('bottom'),\n width: this.get('width'),\n height: this.get('height')\n };\n }\n};\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction normalize(a) {\n if (!(a instanceof Array)) {\n a = [a, a];\n }\n\n return a;\n}\n\nfunction _default(ecModel) {\n ecModel.eachSeriesByType('graph', function (seriesModel) {\n var graph = seriesModel.getGraph();\n var edgeData = seriesModel.getEdgeData();\n var symbolType = normalize(seriesModel.get('edgeSymbol'));\n var symbolSize = normalize(seriesModel.get('edgeSymbolSize'));\n var colorQuery = 'lineStyle.color'.split('.');\n var opacityQuery = 'lineStyle.opacity'.split('.');\n edgeData.setVisual('fromSymbol', symbolType && symbolType[0]);\n edgeData.setVisual('toSymbol', symbolType && symbolType[1]);\n edgeData.setVisual('fromSymbolSize', symbolSize && symbolSize[0]);\n edgeData.setVisual('toSymbolSize', symbolSize && symbolSize[1]);\n edgeData.setVisual('color', seriesModel.get(colorQuery));\n edgeData.setVisual('opacity', seriesModel.get(opacityQuery));\n edgeData.each(function (idx) {\n var itemModel = edgeData.getItemModel(idx);\n var edge = graph.getEdgeByIndex(idx);\n var symbolType = normalize(itemModel.getShallow('symbol', true));\n var symbolSize = normalize(itemModel.getShallow('symbolSize', true)); // Edge visual must after node visual\n\n var color = itemModel.get(colorQuery);\n var opacity = itemModel.get(opacityQuery);\n\n switch (color) {\n case 'source':\n color = edge.node1.getVisual('color');\n break;\n\n case 'target':\n color = edge.node2.getVisual('color');\n break;\n }\n\n symbolType[0] && edge.setVisual('fromSymbol', symbolType[0]);\n symbolType[1] && edge.setVisual('toSymbol', symbolType[1]);\n symbolSize[0] && edge.setVisual('fromSymbolSize', symbolSize[0]);\n symbolSize[1] && edge.setVisual('toSymbolSize', symbolSize[1]);\n edge.setVisual('color', color);\n edge.setVisual('opacity', opacity);\n });\n });\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar ComponentModel = require(\"../../model/Component\");\n\nvar makeStyleMapper = require(\"../../model/mixin/makeStyleMapper\");\n\nvar axisModelCreator = require(\"../axisModelCreator\");\n\nvar numberUtil = require(\"../../util/number\");\n\nvar axisModelCommonMixin = require(\"../axisModelCommonMixin\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar AxisModel = ComponentModel.extend({\n type: 'baseParallelAxis',\n\n /**\n * @type {module:echarts/coord/parallel/Axis}\n */\n axis: null,\n\n /**\n * @type {Array.}\n * @readOnly\n */\n activeIntervals: [],\n\n /**\n * @return {Object}\n */\n getAreaSelectStyle: function () {\n return makeStyleMapper([['fill', 'color'], ['lineWidth', 'borderWidth'], ['stroke', 'borderColor'], ['width', 'width'], ['opacity', 'opacity']])(this.getModel('areaSelectStyle'));\n },\n\n /**\n * The code of this feature is put on AxisModel but not ParallelAxis,\n * because axisModel can be alive after echarts updating but instance of\n * ParallelAxis having been disposed. this._activeInterval should be kept\n * when action dispatched (i.e. legend click).\n *\n * @param {Array.>} intervals interval.length === 0\n * means set all active.\n * @public\n */\n setActiveIntervals: function (intervals) {\n var activeIntervals = this.activeIntervals = zrUtil.clone(intervals); // Normalize\n\n if (activeIntervals) {\n for (var i = activeIntervals.length - 1; i >= 0; i--) {\n numberUtil.asc(activeIntervals[i]);\n }\n }\n },\n\n /**\n * @param {number|string} [value] When attempting to detect 'no activeIntervals set',\n * value can not be input.\n * @return {string} 'normal': no activeIntervals set,\n * 'active',\n * 'inactive'.\n * @public\n */\n getActiveState: function (value) {\n var activeIntervals = this.activeIntervals;\n\n if (!activeIntervals.length) {\n return 'normal';\n }\n\n if (value == null || isNaN(value)) {\n return 'inactive';\n } // Simple optimization\n\n\n if (activeIntervals.length === 1) {\n var interval = activeIntervals[0];\n\n if (interval[0] <= value && value <= interval[1]) {\n return 'active';\n }\n } else {\n for (var i = 0, len = activeIntervals.length; i < len; i++) {\n if (activeIntervals[i][0] <= value && value <= activeIntervals[i][1]) {\n return 'active';\n }\n }\n }\n\n return 'inactive';\n }\n});\nvar defaultOption = {\n type: 'value',\n\n /**\n * @type {Array.}\n */\n dim: null,\n // 0, 1, 2, ...\n // parallelIndex: null,\n areaSelectStyle: {\n width: 20,\n borderWidth: 1,\n borderColor: 'rgba(160,197,232)',\n color: 'rgba(160,197,232)',\n opacity: 0.3\n },\n realtime: true,\n // Whether realtime update view when select.\n z: 10\n};\nzrUtil.merge(AxisModel.prototype, axisModelCommonMixin);\n\nfunction getAxisType(axisName, option) {\n return option.type || (option.data ? 'category' : 'value');\n}\n\naxisModelCreator('parallel', AxisModel, getAxisType, defaultOption);\nvar _default = AxisModel;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphicUtil = require(\"../util/graphic\");\n\nvar _labelHelper = require(\"./helper/labelHelper\");\n\nvar getDefaultLabel = _labelHelper.getDefaultLabel;\n\nvar createListFromArray = require(\"./helper/createListFromArray\");\n\nvar _barGrid = require(\"../layout/barGrid\");\n\nvar getLayoutOnAxis = _barGrid.getLayoutOnAxis;\n\nvar DataDiffer = require(\"../data/DataDiffer\");\n\nvar SeriesModel = require(\"../model/Series\");\n\nvar Model = require(\"../model/Model\");\n\nvar ChartView = require(\"../view/Chart\");\n\nvar _createClipPathFromCoordSys = require(\"./helper/createClipPathFromCoordSys\");\n\nvar createClipPath = _createClipPathFromCoordSys.createClipPath;\n\nvar prepareCartesian2d = require(\"../coord/cartesian/prepareCustom\");\n\nvar prepareGeo = require(\"../coord/geo/prepareCustom\");\n\nvar prepareSingleAxis = require(\"../coord/single/prepareCustom\");\n\nvar preparePolar = require(\"../coord/polar/prepareCustom\");\n\nvar prepareCalendar = require(\"../coord/calendar/prepareCustom\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar CACHED_LABEL_STYLE_PROPERTIES = graphicUtil.CACHED_LABEL_STYLE_PROPERTIES;\nvar ITEM_STYLE_NORMAL_PATH = ['itemStyle'];\nvar ITEM_STYLE_EMPHASIS_PATH = ['emphasis', 'itemStyle'];\nvar LABEL_NORMAL = ['label'];\nvar LABEL_EMPHASIS = ['emphasis', 'label']; // Use prefix to avoid index to be the same as el.name,\n// which will cause weird udpate animation.\n\nvar GROUP_DIFF_PREFIX = 'e\\0\\0';\n/**\n * To reduce total package size of each coordinate systems, the modules `prepareCustom`\n * of each coordinate systems are not required by each coordinate systems directly, but\n * required by the module `custom`.\n *\n * prepareInfoForCustomSeries {Function}: optional\n * @return {Object} {coordSys: {...}, api: {\n * coord: function (data, clamp) {}, // return point in global.\n * size: function (dataSize, dataItem) {} // return size of each axis in coordSys.\n * }}\n */\n\nvar prepareCustoms = {\n cartesian2d: prepareCartesian2d,\n geo: prepareGeo,\n singleAxis: prepareSingleAxis,\n polar: preparePolar,\n calendar: prepareCalendar\n}; // ------\n// Model\n// ------\n\nSeriesModel.extend({\n type: 'series.custom',\n dependencies: ['grid', 'polar', 'geo', 'singleAxis', 'calendar'],\n defaultOption: {\n coordinateSystem: 'cartesian2d',\n // Can be set as 'none'\n zlevel: 0,\n z: 2,\n legendHoverLink: true,\n useTransform: true,\n // Custom series will not clip by default.\n // Some case will use custom series to draw label\n // For example https://echarts.apache.org/examples/en/editor.html?c=custom-gantt-flight\n // Only works on polar and cartesian2d coordinate system.\n clip: false // Cartesian coordinate system\n // xAxisIndex: 0,\n // yAxisIndex: 0,\n // Polar coordinate system\n // polarIndex: 0,\n // Geo coordinate system\n // geoIndex: 0,\n // label: {}\n // itemStyle: {}\n\n },\n\n /**\n * @override\n */\n getInitialData: function (option, ecModel) {\n return createListFromArray(this.getSource(), this);\n },\n\n /**\n * @override\n */\n getDataParams: function (dataIndex, dataType, el) {\n var params = SeriesModel.prototype.getDataParams.apply(this, arguments);\n el && (params.info = el.info);\n return params;\n }\n}); // -----\n// View\n// -----\n\nChartView.extend({\n type: 'custom',\n\n /**\n * @private\n * @type {module:echarts/data/List}\n */\n _data: null,\n\n /**\n * @override\n */\n render: function (customSeries, ecModel, api, payload) {\n var oldData = this._data;\n var data = customSeries.getData();\n var group = this.group;\n var renderItem = makeRenderItem(customSeries, data, ecModel, api); // By default, merge mode is applied. In most cases, custom series is\n // used in the scenario that data amount is not large but graphic elements\n // is complicated, where merge mode is probably necessary for optimization.\n // For example, reuse graphic elements and only update the transform when\n // roam or data zoom according to `actionType`.\n\n data.diff(oldData).add(function (newIdx) {\n createOrUpdate(null, newIdx, renderItem(newIdx, payload), customSeries, group, data);\n }).update(function (newIdx, oldIdx) {\n var el = oldData.getItemGraphicEl(oldIdx);\n createOrUpdate(el, newIdx, renderItem(newIdx, payload), customSeries, group, data);\n }).remove(function (oldIdx) {\n var el = oldData.getItemGraphicEl(oldIdx);\n el && group.remove(el);\n }).execute(); // Do clipping\n\n var clipPath = customSeries.get('clip', true) ? createClipPath(customSeries.coordinateSystem, false, customSeries) : null;\n\n if (clipPath) {\n group.setClipPath(clipPath);\n } else {\n group.removeClipPath();\n }\n\n this._data = data;\n },\n incrementalPrepareRender: function (customSeries, ecModel, api) {\n this.group.removeAll();\n this._data = null;\n },\n incrementalRender: function (params, customSeries, ecModel, api, payload) {\n var data = customSeries.getData();\n var renderItem = makeRenderItem(customSeries, data, ecModel, api);\n\n function setIncrementalAndHoverLayer(el) {\n if (!el.isGroup) {\n el.incremental = true;\n el.useHoverLayer = true;\n }\n }\n\n for (var idx = params.start; idx < params.end; idx++) {\n var el = createOrUpdate(null, idx, renderItem(idx, payload), customSeries, this.group, data);\n el.traverse(setIncrementalAndHoverLayer);\n }\n },\n\n /**\n * @override\n */\n dispose: zrUtil.noop,\n\n /**\n * @override\n */\n filterForExposedEvent: function (eventType, query, targetEl, packedEvent) {\n var elementName = query.element;\n\n if (elementName == null || targetEl.name === elementName) {\n return true;\n } // Enable to give a name on a group made by `renderItem`, and listen\n // events that triggerd by its descendents.\n\n\n while ((targetEl = targetEl.parent) && targetEl !== this.group) {\n if (targetEl.name === elementName) {\n return true;\n }\n }\n\n return false;\n }\n});\n\nfunction createEl(elOption) {\n var graphicType = elOption.type;\n var el; // Those graphic elements are not shapes. They should not be\n // overwritten by users, so do them first.\n\n if (graphicType === 'path') {\n var shape = elOption.shape; // Using pathRect brings convenience to users sacle svg path.\n\n var pathRect = shape.width != null && shape.height != null ? {\n x: shape.x || 0,\n y: shape.y || 0,\n width: shape.width,\n height: shape.height\n } : null;\n var pathData = getPathData(shape); // Path is also used for icon, so layout 'center' by default.\n\n el = graphicUtil.makePath(pathData, null, pathRect, shape.layout || 'center');\n el.__customPathData = pathData;\n } else if (graphicType === 'image') {\n el = new graphicUtil.Image({});\n el.__customImagePath = elOption.style.image;\n } else if (graphicType === 'text') {\n el = new graphicUtil.Text({});\n el.__customText = elOption.style.text;\n } else if (graphicType === 'group') {\n el = new graphicUtil.Group();\n } else if (graphicType === 'compoundPath') {\n throw new Error('\"compoundPath\" is not supported yet.');\n } else {\n var Clz = graphicUtil.getShapeClass(graphicType);\n el = new Clz();\n }\n\n el.__customGraphicType = graphicType;\n el.name = elOption.name;\n return el;\n}\n\nfunction updateEl(el, dataIndex, elOption, animatableModel, data, isInit, isRoot) {\n var transitionProps = {};\n var elOptionStyle = elOption.style || {};\n elOption.shape && (transitionProps.shape = zrUtil.clone(elOption.shape));\n elOption.position && (transitionProps.position = elOption.position.slice());\n elOption.scale && (transitionProps.scale = elOption.scale.slice());\n elOption.origin && (transitionProps.origin = elOption.origin.slice());\n elOption.rotation && (transitionProps.rotation = elOption.rotation);\n\n if (el.type === 'image' && elOption.style) {\n var targetStyle = transitionProps.style = {};\n zrUtil.each(['x', 'y', 'width', 'height'], function (prop) {\n prepareStyleTransition(prop, targetStyle, elOptionStyle, el.style, isInit);\n });\n }\n\n if (el.type === 'text' && elOption.style) {\n var targetStyle = transitionProps.style = {};\n zrUtil.each(['x', 'y'], function (prop) {\n prepareStyleTransition(prop, targetStyle, elOptionStyle, el.style, isInit);\n }); // Compatible with previous: both support\n // textFill and fill, textStroke and stroke in 'text' element.\n\n !elOptionStyle.hasOwnProperty('textFill') && elOptionStyle.fill && (elOptionStyle.textFill = elOptionStyle.fill);\n !elOptionStyle.hasOwnProperty('textStroke') && elOptionStyle.stroke && (elOptionStyle.textStroke = elOptionStyle.stroke);\n }\n\n if (el.type !== 'group') {\n el.useStyle(elOptionStyle); // Init animation.\n\n if (isInit) {\n el.style.opacity = 0;\n var targetOpacity = elOptionStyle.opacity;\n targetOpacity == null && (targetOpacity = 1);\n graphicUtil.initProps(el, {\n style: {\n opacity: targetOpacity\n }\n }, animatableModel, dataIndex);\n }\n }\n\n if (isInit) {\n el.attr(transitionProps);\n } else {\n graphicUtil.updateProps(el, transitionProps, animatableModel, dataIndex);\n } // Merge by default.\n // z2 must not be null/undefined, otherwise sort error may occur.\n\n\n elOption.hasOwnProperty('z2') && el.attr('z2', elOption.z2 || 0);\n elOption.hasOwnProperty('silent') && el.attr('silent', elOption.silent);\n elOption.hasOwnProperty('invisible') && el.attr('invisible', elOption.invisible);\n elOption.hasOwnProperty('ignore') && el.attr('ignore', elOption.ignore); // `elOption.info` enables user to mount some info on\n // elements and use them in event handlers.\n // Update them only when user specified, otherwise, remain.\n\n elOption.hasOwnProperty('info') && el.attr('info', elOption.info); // If `elOption.styleEmphasis` is `false`, remove hover style. The\n // logic is ensured by `graphicUtil.setElementHoverStyle`.\n\n var styleEmphasis = elOption.styleEmphasis; // hoverStyle should always be set here, because if the hover style\n // may already be changed, where the inner cache should be reset.\n\n graphicUtil.setElementHoverStyle(el, styleEmphasis);\n\n if (isRoot) {\n graphicUtil.setAsHighDownDispatcher(el, styleEmphasis !== false);\n }\n}\n\nfunction prepareStyleTransition(prop, targetStyle, elOptionStyle, oldElStyle, isInit) {\n if (elOptionStyle[prop] != null && !isInit) {\n targetStyle[prop] = elOptionStyle[prop];\n elOptionStyle[prop] = oldElStyle[prop];\n }\n}\n\nfunction makeRenderItem(customSeries, data, ecModel, api) {\n var renderItem = customSeries.get('renderItem');\n var coordSys = customSeries.coordinateSystem;\n var prepareResult = {};\n\n if (coordSys) {\n prepareResult = coordSys.prepareCustoms ? coordSys.prepareCustoms() : prepareCustoms[coordSys.type](coordSys);\n }\n\n var userAPI = zrUtil.defaults({\n getWidth: api.getWidth,\n getHeight: api.getHeight,\n getZr: api.getZr,\n getDevicePixelRatio: api.getDevicePixelRatio,\n value: value,\n style: style,\n styleEmphasis: styleEmphasis,\n visual: visual,\n barLayout: barLayout,\n currentSeriesIndices: currentSeriesIndices,\n font: font\n }, prepareResult.api || {});\n var userParams = {\n // The life cycle of context: current round of rendering.\n // The global life cycle is probably not necessary, because\n // user can store global status by themselves.\n context: {},\n seriesId: customSeries.id,\n seriesName: customSeries.name,\n seriesIndex: customSeries.seriesIndex,\n coordSys: prepareResult.coordSys,\n dataInsideLength: data.count(),\n encode: wrapEncodeDef(customSeries.getData())\n }; // Do not support call `api` asynchronously without dataIndexInside input.\n\n var currDataIndexInside;\n var currDirty = true;\n var currItemModel;\n var currLabelNormalModel;\n var currLabelEmphasisModel;\n var currVisualColor;\n return function (dataIndexInside, payload) {\n currDataIndexInside = dataIndexInside;\n currDirty = true;\n return renderItem && renderItem(zrUtil.defaults({\n dataIndexInside: dataIndexInside,\n dataIndex: data.getRawIndex(dataIndexInside),\n // Can be used for optimization when zoom or roam.\n actionType: payload ? payload.type : null\n }, userParams), userAPI);\n }; // Do not update cache until api called.\n\n function updateCache(dataIndexInside) {\n dataIndexInside == null && (dataIndexInside = currDataIndexInside);\n\n if (currDirty) {\n currItemModel = data.getItemModel(dataIndexInside);\n currLabelNormalModel = currItemModel.getModel(LABEL_NORMAL);\n currLabelEmphasisModel = currItemModel.getModel(LABEL_EMPHASIS);\n currVisualColor = data.getItemVisual(dataIndexInside, 'color');\n currDirty = false;\n }\n }\n /**\n * @public\n * @param {number|string} dim\n * @param {number} [dataIndexInside=currDataIndexInside]\n * @return {number|string} value\n */\n\n\n function value(dim, dataIndexInside) {\n dataIndexInside == null && (dataIndexInside = currDataIndexInside);\n return data.get(data.getDimension(dim || 0), dataIndexInside);\n }\n /**\n * By default, `visual` is applied to style (to support visualMap).\n * `visual.color` is applied at `fill`. If user want apply visual.color on `stroke`,\n * it can be implemented as:\n * `api.style({stroke: api.visual('color'), fill: null})`;\n * @public\n * @param {Object} [extra]\n * @param {number} [dataIndexInside=currDataIndexInside]\n */\n\n\n function style(extra, dataIndexInside) {\n dataIndexInside == null && (dataIndexInside = currDataIndexInside);\n updateCache(dataIndexInside);\n var itemStyle = currItemModel.getModel(ITEM_STYLE_NORMAL_PATH).getItemStyle();\n currVisualColor != null && (itemStyle.fill = currVisualColor);\n var opacity = data.getItemVisual(dataIndexInside, 'opacity');\n opacity != null && (itemStyle.opacity = opacity);\n var labelModel = extra ? applyExtraBefore(extra, currLabelNormalModel) : currLabelNormalModel;\n graphicUtil.setTextStyle(itemStyle, labelModel, null, {\n autoColor: currVisualColor,\n isRectText: true\n });\n itemStyle.text = labelModel.getShallow('show') ? zrUtil.retrieve2(customSeries.getFormattedLabel(dataIndexInside, 'normal'), getDefaultLabel(data, dataIndexInside)) : null;\n extra && applyExtraAfter(itemStyle, extra);\n return itemStyle;\n }\n /**\n * @public\n * @param {Object} [extra]\n * @param {number} [dataIndexInside=currDataIndexInside]\n */\n\n\n function styleEmphasis(extra, dataIndexInside) {\n dataIndexInside == null && (dataIndexInside = currDataIndexInside);\n updateCache(dataIndexInside);\n var itemStyle = currItemModel.getModel(ITEM_STYLE_EMPHASIS_PATH).getItemStyle();\n var labelModel = extra ? applyExtraBefore(extra, currLabelEmphasisModel) : currLabelEmphasisModel;\n graphicUtil.setTextStyle(itemStyle, labelModel, null, {\n isRectText: true\n }, true);\n itemStyle.text = labelModel.getShallow('show') ? zrUtil.retrieve3(customSeries.getFormattedLabel(dataIndexInside, 'emphasis'), customSeries.getFormattedLabel(dataIndexInside, 'normal'), getDefaultLabel(data, dataIndexInside)) : null;\n extra && applyExtraAfter(itemStyle, extra);\n return itemStyle;\n }\n /**\n * @public\n * @param {string} visualType\n * @param {number} [dataIndexInside=currDataIndexInside]\n */\n\n\n function visual(visualType, dataIndexInside) {\n dataIndexInside == null && (dataIndexInside = currDataIndexInside);\n return data.getItemVisual(dataIndexInside, visualType);\n }\n /**\n * @public\n * @param {number} opt.count Positive interger.\n * @param {number} [opt.barWidth]\n * @param {number} [opt.barMaxWidth]\n * @param {number} [opt.barMinWidth]\n * @param {number} [opt.barGap]\n * @param {number} [opt.barCategoryGap]\n * @return {Object} {width, offset, offsetCenter} is not support, return undefined.\n */\n\n\n function barLayout(opt) {\n if (coordSys.getBaseAxis) {\n var baseAxis = coordSys.getBaseAxis();\n return getLayoutOnAxis(zrUtil.defaults({\n axis: baseAxis\n }, opt), api);\n }\n }\n /**\n * @public\n * @return {Array.}\n */\n\n\n function currentSeriesIndices() {\n return ecModel.getCurrentSeriesIndices();\n }\n /**\n * @public\n * @param {Object} opt\n * @param {string} [opt.fontStyle]\n * @param {number} [opt.fontWeight]\n * @param {number} [opt.fontSize]\n * @param {string} [opt.fontFamily]\n * @return {string} font string\n */\n\n\n function font(opt) {\n return graphicUtil.getFont(opt, ecModel);\n }\n}\n\nfunction wrapEncodeDef(data) {\n var encodeDef = {};\n zrUtil.each(data.dimensions, function (dimName, dataDimIndex) {\n var dimInfo = data.getDimensionInfo(dimName);\n\n if (!dimInfo.isExtraCoord) {\n var coordDim = dimInfo.coordDim;\n var dataDims = encodeDef[coordDim] = encodeDef[coordDim] || [];\n dataDims[dimInfo.coordDimIndex] = dataDimIndex;\n }\n });\n return encodeDef;\n}\n\nfunction createOrUpdate(el, dataIndex, elOption, animatableModel, group, data) {\n el = doCreateOrUpdate(el, dataIndex, elOption, animatableModel, group, data, true);\n el && data.setItemGraphicEl(dataIndex, el);\n return el;\n}\n\nfunction doCreateOrUpdate(el, dataIndex, elOption, animatableModel, group, data, isRoot) {\n // [Rule]\n // By default, follow merge mode.\n // (It probably brings benifit for performance in some cases of large data, where\n // user program can be optimized to that only updated props needed to be re-calculated,\n // or according to `actionType` some calculation can be skipped.)\n // If `renderItem` returns `null`/`undefined`/`false`, remove the previous el if existing.\n // (It seems that violate the \"merge\" principle, but most of users probably intuitively\n // regard \"return;\" as \"show nothing element whatever\", so make a exception to meet the\n // most cases.)\n var simplyRemove = !elOption; // `null`/`undefined`/`false`\n\n elOption = elOption || {};\n var elOptionType = elOption.type;\n var elOptionShape = elOption.shape;\n var elOptionStyle = elOption.style;\n\n if (el && (simplyRemove // || elOption.$merge === false\n // If `elOptionType` is `null`, follow the merge principle.\n || elOptionType != null && elOptionType !== el.__customGraphicType || elOptionType === 'path' && hasOwnPathData(elOptionShape) && getPathData(elOptionShape) !== el.__customPathData || elOptionType === 'image' && hasOwn(elOptionStyle, 'image') && elOptionStyle.image !== el.__customImagePath // FIXME test and remove this restriction?\n || elOptionType === 'text' && hasOwn(elOptionShape, 'text') && elOptionStyle.text !== el.__customText)) {\n group.remove(el);\n el = null;\n } // `elOption.type` is undefined when `renderItem` returns nothing.\n\n\n if (simplyRemove) {\n return;\n }\n\n var isInit = !el;\n !el && (el = createEl(elOption));\n updateEl(el, dataIndex, elOption, animatableModel, data, isInit, isRoot);\n\n if (elOptionType === 'group') {\n mergeChildren(el, dataIndex, elOption, animatableModel, data);\n } // Always add whatever already added to ensure sequence.\n\n\n group.add(el);\n return el;\n} // Usage:\n// (1) By default, `elOption.$mergeChildren` is `'byIndex'`, which indicates that\n// the existing children will not be removed, and enables the feature that\n// update some of the props of some of the children simply by construct\n// the returned children of `renderItem` like:\n// `var children = group.children = []; children[3] = {opacity: 0.5};`\n// (2) If `elOption.$mergeChildren` is `'byName'`, add/update/remove children\n// by child.name. But that might be lower performance.\n// (3) If `elOption.$mergeChildren` is `false`, the existing children will be\n// replaced totally.\n// (4) If `!elOption.children`, following the \"merge\" principle, nothing will happen.\n//\n// For implementation simpleness, do not provide a direct way to remove sinlge\n// child (otherwise the total indicies of the children array have to be modified).\n// User can remove a single child by set its `ignore` as `true` or replace\n// it by another element, where its `$merge` can be set as `true` if necessary.\n\n\nfunction mergeChildren(el, dataIndex, elOption, animatableModel, data) {\n var newChildren = elOption.children;\n var newLen = newChildren ? newChildren.length : 0;\n var mergeChildren = elOption.$mergeChildren; // `diffChildrenByName` has been deprecated.\n\n var byName = mergeChildren === 'byName' || elOption.diffChildrenByName;\n var notMerge = mergeChildren === false; // For better performance on roam update, only enter if necessary.\n\n if (!newLen && !byName && !notMerge) {\n return;\n }\n\n if (byName) {\n diffGroupChildren({\n oldChildren: el.children() || [],\n newChildren: newChildren || [],\n dataIndex: dataIndex,\n animatableModel: animatableModel,\n group: el,\n data: data\n });\n return;\n }\n\n notMerge && el.removeAll(); // Mapping children of a group simply by index, which\n // might be better performance.\n\n var index = 0;\n\n for (; index < newLen; index++) {\n newChildren[index] && doCreateOrUpdate(el.childAt(index), dataIndex, newChildren[index], animatableModel, el, data);\n }\n}\n\nfunction diffGroupChildren(context) {\n new DataDiffer(context.oldChildren, context.newChildren, getKey, getKey, context).add(processAddUpdate).update(processAddUpdate).remove(processRemove).execute();\n}\n\nfunction getKey(item, idx) {\n var name = item && item.name;\n return name != null ? name : GROUP_DIFF_PREFIX + idx;\n}\n\nfunction processAddUpdate(newIndex, oldIndex) {\n var context = this.context;\n var childOption = newIndex != null ? context.newChildren[newIndex] : null;\n var child = oldIndex != null ? context.oldChildren[oldIndex] : null;\n doCreateOrUpdate(child, context.dataIndex, childOption, context.animatableModel, context.group, context.data);\n} // `graphic#applyDefaultTextStyle` will cache\n// textFill, textStroke, textStrokeWidth.\n// We have to do this trick.\n\n\nfunction applyExtraBefore(extra, model) {\n var dummyModel = new Model({}, model);\n zrUtil.each(CACHED_LABEL_STYLE_PROPERTIES, function (stylePropName, modelPropName) {\n if (extra.hasOwnProperty(stylePropName)) {\n dummyModel.option[modelPropName] = extra[stylePropName];\n }\n });\n return dummyModel;\n}\n\nfunction applyExtraAfter(itemStyle, extra) {\n for (var key in extra) {\n if (extra.hasOwnProperty(key) || !CACHED_LABEL_STYLE_PROPERTIES.hasOwnProperty(key)) {\n itemStyle[key] = extra[key];\n }\n }\n}\n\nfunction processRemove(oldIndex) {\n var context = this.context;\n var child = context.oldChildren[oldIndex];\n child && context.group.remove(child);\n}\n\nfunction getPathData(shape) {\n // \"d\" follows the SVG convention.\n return shape && (shape.pathData || shape.d);\n}\n\nfunction hasOwnPathData(shape) {\n return shape && (shape.hasOwnProperty('pathData') || shape.hasOwnProperty('d'));\n}\n\nfunction hasOwn(host, prop) {\n return host && host.hasOwnProperty(prop);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar textContain = require(\"zrender/lib/contain/text\");\n\nvar _model = require(\"../util/model\");\n\nvar makeInner = _model.makeInner;\n\nvar _axisHelper = require(\"./axisHelper\");\n\nvar makeLabelFormatter = _axisHelper.makeLabelFormatter;\nvar getOptionCategoryInterval = _axisHelper.getOptionCategoryInterval;\nvar shouldShowAllLabels = _axisHelper.shouldShowAllLabels;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar inner = makeInner();\n/**\n * @param {module:echats/coord/Axis} axis\n * @return {Object} {\n * labels: [{\n * formattedLabel: string,\n * rawLabel: string,\n * tickValue: number\n * }, ...],\n * labelCategoryInterval: number\n * }\n */\n\nfunction createAxisLabels(axis) {\n // Only ordinal scale support tick interval\n return axis.type === 'category' ? makeCategoryLabels(axis) : makeRealNumberLabels(axis);\n}\n/**\n * @param {module:echats/coord/Axis} axis\n * @param {module:echarts/model/Model} tickModel For example, can be axisTick, splitLine, splitArea.\n * @return {Object} {\n * ticks: Array.\n * tickCategoryInterval: number\n * }\n */\n\n\nfunction createAxisTicks(axis, tickModel) {\n // Only ordinal scale support tick interval\n return axis.type === 'category' ? makeCategoryTicks(axis, tickModel) : {\n ticks: axis.scale.getTicks()\n };\n}\n\nfunction makeCategoryLabels(axis) {\n var labelModel = axis.getLabelModel();\n var result = makeCategoryLabelsActually(axis, labelModel);\n return !labelModel.get('show') || axis.scale.isBlank() ? {\n labels: [],\n labelCategoryInterval: result.labelCategoryInterval\n } : result;\n}\n\nfunction makeCategoryLabelsActually(axis, labelModel) {\n var labelsCache = getListCache(axis, 'labels');\n var optionLabelInterval = getOptionCategoryInterval(labelModel);\n var result = listCacheGet(labelsCache, optionLabelInterval);\n\n if (result) {\n return result;\n }\n\n var labels;\n var numericLabelInterval;\n\n if (zrUtil.isFunction(optionLabelInterval)) {\n labels = makeLabelsByCustomizedCategoryInterval(axis, optionLabelInterval);\n } else {\n numericLabelInterval = optionLabelInterval === 'auto' ? makeAutoCategoryInterval(axis) : optionLabelInterval;\n labels = makeLabelsByNumericCategoryInterval(axis, numericLabelInterval);\n } // Cache to avoid calling interval function repeatly.\n\n\n return listCacheSet(labelsCache, optionLabelInterval, {\n labels: labels,\n labelCategoryInterval: numericLabelInterval\n });\n}\n\nfunction makeCategoryTicks(axis, tickModel) {\n var ticksCache = getListCache(axis, 'ticks');\n var optionTickInterval = getOptionCategoryInterval(tickModel);\n var result = listCacheGet(ticksCache, optionTickInterval);\n\n if (result) {\n return result;\n }\n\n var ticks;\n var tickCategoryInterval; // Optimize for the case that large category data and no label displayed,\n // we should not return all ticks.\n\n if (!tickModel.get('show') || axis.scale.isBlank()) {\n ticks = [];\n }\n\n if (zrUtil.isFunction(optionTickInterval)) {\n ticks = makeLabelsByCustomizedCategoryInterval(axis, optionTickInterval, true);\n } // Always use label interval by default despite label show. Consider this\n // scenario, Use multiple grid with the xAxis sync, and only one xAxis shows\n // labels. `splitLine` and `axisTick` should be consistent in this case.\n else if (optionTickInterval === 'auto') {\n var labelsResult = makeCategoryLabelsActually(axis, axis.getLabelModel());\n tickCategoryInterval = labelsResult.labelCategoryInterval;\n ticks = zrUtil.map(labelsResult.labels, function (labelItem) {\n return labelItem.tickValue;\n });\n } else {\n tickCategoryInterval = optionTickInterval;\n ticks = makeLabelsByNumericCategoryInterval(axis, tickCategoryInterval, true);\n } // Cache to avoid calling interval function repeatly.\n\n\n return listCacheSet(ticksCache, optionTickInterval, {\n ticks: ticks,\n tickCategoryInterval: tickCategoryInterval\n });\n}\n\nfunction makeRealNumberLabels(axis) {\n var ticks = axis.scale.getTicks();\n var labelFormatter = makeLabelFormatter(axis);\n return {\n labels: zrUtil.map(ticks, function (tickValue, idx) {\n return {\n formattedLabel: labelFormatter(tickValue, idx),\n rawLabel: axis.scale.getLabel(tickValue),\n tickValue: tickValue\n };\n })\n };\n} // Large category data calculation is performence sensitive, and ticks and label\n// probably be fetched by multiple times. So we cache the result.\n// axis is created each time during a ec process, so we do not need to clear cache.\n\n\nfunction getListCache(axis, prop) {\n // Because key can be funciton, and cache size always be small, we use array cache.\n return inner(axis)[prop] || (inner(axis)[prop] = []);\n}\n\nfunction listCacheGet(cache, key) {\n for (var i = 0; i < cache.length; i++) {\n if (cache[i].key === key) {\n return cache[i].value;\n }\n }\n}\n\nfunction listCacheSet(cache, key, value) {\n cache.push({\n key: key,\n value: value\n });\n return value;\n}\n\nfunction makeAutoCategoryInterval(axis) {\n var result = inner(axis).autoInterval;\n return result != null ? result : inner(axis).autoInterval = axis.calculateCategoryInterval();\n}\n/**\n * Calculate interval for category axis ticks and labels.\n * To get precise result, at least one of `getRotate` and `isHorizontal`\n * should be implemented in axis.\n */\n\n\nfunction calculateCategoryInterval(axis) {\n var params = fetchAutoCategoryIntervalCalculationParams(axis);\n var labelFormatter = makeLabelFormatter(axis);\n var rotation = (params.axisRotate - params.labelRotate) / 180 * Math.PI;\n var ordinalScale = axis.scale;\n var ordinalExtent = ordinalScale.getExtent(); // Providing this method is for optimization:\n // avoid generating a long array by `getTicks`\n // in large category data case.\n\n var tickCount = ordinalScale.count();\n\n if (ordinalExtent[1] - ordinalExtent[0] < 1) {\n return 0;\n }\n\n var step = 1; // Simple optimization. Empirical value: tick count should less than 40.\n\n if (tickCount > 40) {\n step = Math.max(1, Math.floor(tickCount / 40));\n }\n\n var tickValue = ordinalExtent[0];\n var unitSpan = axis.dataToCoord(tickValue + 1) - axis.dataToCoord(tickValue);\n var unitW = Math.abs(unitSpan * Math.cos(rotation));\n var unitH = Math.abs(unitSpan * Math.sin(rotation));\n var maxW = 0;\n var maxH = 0; // Caution: Performance sensitive for large category data.\n // Consider dataZoom, we should make appropriate step to avoid O(n) loop.\n\n for (; tickValue <= ordinalExtent[1]; tickValue += step) {\n var width = 0;\n var height = 0; // Not precise, do not consider align and vertical align\n // and each distance from axis line yet.\n\n var rect = textContain.getBoundingRect(labelFormatter(tickValue), params.font, 'center', 'top'); // Magic number\n\n width = rect.width * 1.3;\n height = rect.height * 1.3; // Min size, void long loop.\n\n maxW = Math.max(maxW, width, 7);\n maxH = Math.max(maxH, height, 7);\n }\n\n var dw = maxW / unitW;\n var dh = maxH / unitH; // 0/0 is NaN, 1/0 is Infinity.\n\n isNaN(dw) && (dw = Infinity);\n isNaN(dh) && (dh = Infinity);\n var interval = Math.max(0, Math.floor(Math.min(dw, dh)));\n var cache = inner(axis.model);\n var axisExtent = axis.getExtent();\n var lastAutoInterval = cache.lastAutoInterval;\n var lastTickCount = cache.lastTickCount; // Use cache to keep interval stable while moving zoom window,\n // otherwise the calculated interval might jitter when the zoom\n // window size is close to the interval-changing size.\n // For example, if all of the axis labels are `a, b, c, d, e, f, g`.\n // The jitter will cause that sometimes the displayed labels are\n // `a, d, g` (interval: 2) sometimes `a, c, e`(interval: 1).\n\n if (lastAutoInterval != null && lastTickCount != null && Math.abs(lastAutoInterval - interval) <= 1 && Math.abs(lastTickCount - tickCount) <= 1 // Always choose the bigger one, otherwise the critical\n // point is not the same when zooming in or zooming out.\n && lastAutoInterval > interval // If the axis change is caused by chart resize, the cache should not\n // be used. Otherwise some hiden labels might not be shown again.\n && cache.axisExtend0 === axisExtent[0] && cache.axisExtend1 === axisExtent[1]) {\n interval = lastAutoInterval;\n } // Only update cache if cache not used, otherwise the\n // changing of interval is too insensitive.\n else {\n cache.lastTickCount = tickCount;\n cache.lastAutoInterval = interval;\n cache.axisExtend0 = axisExtent[0];\n cache.axisExtend1 = axisExtent[1];\n }\n\n return interval;\n}\n\nfunction fetchAutoCategoryIntervalCalculationParams(axis) {\n var labelModel = axis.getLabelModel();\n return {\n axisRotate: axis.getRotate ? axis.getRotate() : axis.isHorizontal && !axis.isHorizontal() ? 90 : 0,\n labelRotate: labelModel.get('rotate') || 0,\n font: labelModel.getFont()\n };\n}\n\nfunction makeLabelsByNumericCategoryInterval(axis, categoryInterval, onlyTick) {\n var labelFormatter = makeLabelFormatter(axis);\n var ordinalScale = axis.scale;\n var ordinalExtent = ordinalScale.getExtent();\n var labelModel = axis.getLabelModel();\n var result = []; // TODO: axisType: ordinalTime, pick the tick from each month/day/year/...\n\n var step = Math.max((categoryInterval || 0) + 1, 1);\n var startTick = ordinalExtent[0];\n var tickCount = ordinalScale.count(); // Calculate start tick based on zero if possible to keep label consistent\n // while zooming and moving while interval > 0. Otherwise the selection\n // of displayable ticks and symbols probably keep changing.\n // 3 is empirical value.\n\n if (startTick !== 0 && step > 1 && tickCount / step > 2) {\n startTick = Math.round(Math.ceil(startTick / step) * step);\n } // (1) Only add min max label here but leave overlap checking\n // to render stage, which also ensure the returned list\n // suitable for splitLine and splitArea rendering.\n // (2) Scales except category always contain min max label so\n // do not need to perform this process.\n\n\n var showAllLabel = shouldShowAllLabels(axis);\n var includeMinLabel = labelModel.get('showMinLabel') || showAllLabel;\n var includeMaxLabel = labelModel.get('showMaxLabel') || showAllLabel;\n\n if (includeMinLabel && startTick !== ordinalExtent[0]) {\n addItem(ordinalExtent[0]);\n } // Optimize: avoid generating large array by `ordinalScale.getTicks()`.\n\n\n var tickValue = startTick;\n\n for (; tickValue <= ordinalExtent[1]; tickValue += step) {\n addItem(tickValue);\n }\n\n if (includeMaxLabel && tickValue - step !== ordinalExtent[1]) {\n addItem(ordinalExtent[1]);\n }\n\n function addItem(tVal) {\n result.push(onlyTick ? tVal : {\n formattedLabel: labelFormatter(tVal),\n rawLabel: ordinalScale.getLabel(tVal),\n tickValue: tVal\n });\n }\n\n return result;\n} // When interval is function, the result `false` means ignore the tick.\n// It is time consuming for large category data.\n\n\nfunction makeLabelsByCustomizedCategoryInterval(axis, categoryInterval, onlyTick) {\n var ordinalScale = axis.scale;\n var labelFormatter = makeLabelFormatter(axis);\n var result = [];\n zrUtil.each(ordinalScale.getTicks(), function (tickValue) {\n var rawLabel = ordinalScale.getLabel(tickValue);\n\n if (categoryInterval(tickValue, rawLabel)) {\n result.push(onlyTick ? tickValue : {\n formattedLabel: labelFormatter(tickValue),\n rawLabel: rawLabel,\n tickValue: tickValue\n });\n }\n });\n return result;\n}\n\nexports.createAxisLabels = createAxisLabels;\nexports.createAxisTicks = createAxisTicks;\nexports.calculateCategoryInterval = calculateCategoryInterval;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar env = require(\"zrender/lib/core/env\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar each = zrUtil.each;\nvar isObject = zrUtil.isObject;\nvar isArray = zrUtil.isArray;\n/**\n * Make the name displayable. But we should\n * make sure it is not duplicated with user\n * specified name, so use '\\0';\n */\n\nvar DUMMY_COMPONENT_NAME_PREFIX = 'series\\0';\n/**\n * If value is not array, then translate it to array.\n * @param {*} value\n * @return {Array} [value] or value\n */\n\nfunction normalizeToArray(value) {\n return value instanceof Array ? value : value == null ? [] : [value];\n}\n/**\n * Sync default option between normal and emphasis like `position` and `show`\n * In case some one will write code like\n * label: {\n * show: false,\n * position: 'outside',\n * fontSize: 18\n * },\n * emphasis: {\n * label: { show: true }\n * }\n * @param {Object} opt\n * @param {string} key\n * @param {Array.} subOpts\n */\n\n\nfunction defaultEmphasis(opt, key, subOpts) {\n // Caution: performance sensitive.\n if (opt) {\n opt[key] = opt[key] || {};\n opt.emphasis = opt.emphasis || {};\n opt.emphasis[key] = opt.emphasis[key] || {}; // Default emphasis option from normal\n\n for (var i = 0, len = subOpts.length; i < len; i++) {\n var subOptName = subOpts[i];\n\n if (!opt.emphasis[key].hasOwnProperty(subOptName) && opt[key].hasOwnProperty(subOptName)) {\n opt.emphasis[key][subOptName] = opt[key][subOptName];\n }\n }\n }\n}\n\nvar TEXT_STYLE_OPTIONS = ['fontStyle', 'fontWeight', 'fontSize', 'fontFamily', 'rich', 'tag', 'color', 'textBorderColor', 'textBorderWidth', 'width', 'height', 'lineHeight', 'align', 'verticalAlign', 'baseline', 'shadowColor', 'shadowBlur', 'shadowOffsetX', 'shadowOffsetY', 'textShadowColor', 'textShadowBlur', 'textShadowOffsetX', 'textShadowOffsetY', 'backgroundColor', 'borderColor', 'borderWidth', 'borderRadius', 'padding']; // modelUtil.LABEL_OPTIONS = modelUtil.TEXT_STYLE_OPTIONS.concat([\n// 'position', 'offset', 'rotate', 'origin', 'show', 'distance', 'formatter',\n// 'fontStyle', 'fontWeight', 'fontSize', 'fontFamily',\n// // FIXME: deprecated, check and remove it.\n// 'textStyle'\n// ]);\n\n/**\n * The method do not ensure performance.\n * data could be [12, 2323, {value: 223}, [1221, 23], {value: [2, 23]}]\n * This helper method retieves value from data.\n * @param {string|number|Date|Array|Object} dataItem\n * @return {number|string|Date|Array.}\n */\n\nfunction getDataItemValue(dataItem) {\n return isObject(dataItem) && !isArray(dataItem) && !(dataItem instanceof Date) ? dataItem.value : dataItem;\n}\n/**\n * data could be [12, 2323, {value: 223}, [1221, 23], {value: [2, 23]}]\n * This helper method determine if dataItem has extra option besides value\n * @param {string|number|Date|Array|Object} dataItem\n */\n\n\nfunction isDataItemOption(dataItem) {\n return isObject(dataItem) && !(dataItem instanceof Array); // // markLine data can be array\n // && !(dataItem[0] && isObject(dataItem[0]) && !(dataItem[0] instanceof Array));\n}\n/**\n * Mapping to exists for merge.\n *\n * @public\n * @param {Array.|Array.} exists\n * @param {Object|Array.} newCptOptions\n * @return {Array.} Result, like [{exist: ..., option: ...}, {}],\n * index of which is the same as exists.\n */\n\n\nfunction mappingToExists(exists, newCptOptions) {\n // Mapping by the order by original option (but not order of\n // new option) in merge mode. Because we should ensure\n // some specified index (like xAxisIndex) is consistent with\n // original option, which is easy to understand, espatially in\n // media query. And in most case, merge option is used to\n // update partial option but not be expected to change order.\n newCptOptions = (newCptOptions || []).slice();\n var result = zrUtil.map(exists || [], function (obj, index) {\n return {\n exist: obj\n };\n }); // Mapping by id or name if specified.\n\n each(newCptOptions, function (cptOption, index) {\n if (!isObject(cptOption)) {\n return;\n } // id has highest priority.\n\n\n for (var i = 0; i < result.length; i++) {\n if (!result[i].option // Consider name: two map to one.\n && cptOption.id != null && result[i].exist.id === cptOption.id + '') {\n result[i].option = cptOption;\n newCptOptions[index] = null;\n return;\n }\n }\n\n for (var i = 0; i < result.length; i++) {\n var exist = result[i].exist;\n\n if (!result[i].option // Consider name: two map to one.\n // Can not match when both ids exist but different.\n && (exist.id == null || cptOption.id == null) && cptOption.name != null && !isIdInner(cptOption) && !isIdInner(exist) && exist.name === cptOption.name + '') {\n result[i].option = cptOption;\n newCptOptions[index] = null;\n return;\n }\n }\n }); // Otherwise mapping by index.\n\n each(newCptOptions, function (cptOption, index) {\n if (!isObject(cptOption)) {\n return;\n }\n\n var i = 0;\n\n for (; i < result.length; i++) {\n var exist = result[i].exist;\n\n if (!result[i].option // Existing model that already has id should be able to\n // mapped to (because after mapping performed model may\n // be assigned with a id, whish should not affect next\n // mapping), except those has inner id.\n && !isIdInner(exist) // Caution:\n // Do not overwrite id. But name can be overwritten,\n // because axis use name as 'show label text'.\n // 'exist' always has id and name and we dont\n // need to check it.\n && cptOption.id == null) {\n result[i].option = cptOption;\n break;\n }\n }\n\n if (i >= result.length) {\n result.push({\n option: cptOption\n });\n }\n });\n return result;\n}\n/**\n * Make id and name for mapping result (result of mappingToExists)\n * into `keyInfo` field.\n *\n * @public\n * @param {Array.} Result, like [{exist: ..., option: ...}, {}],\n * which order is the same as exists.\n * @return {Array.} The input.\n */\n\n\nfunction makeIdAndName(mapResult) {\n // We use this id to hash component models and view instances\n // in echarts. id can be specified by user, or auto generated.\n // The id generation rule ensures new view instance are able\n // to mapped to old instance when setOption are called in\n // no-merge mode. So we generate model id by name and plus\n // type in view id.\n // name can be duplicated among components, which is convenient\n // to specify multi components (like series) by one name.\n // Ensure that each id is distinct.\n var idMap = zrUtil.createHashMap();\n each(mapResult, function (item, index) {\n var existCpt = item.exist;\n existCpt && idMap.set(existCpt.id, item);\n });\n each(mapResult, function (item, index) {\n var opt = item.option;\n zrUtil.assert(!opt || opt.id == null || !idMap.get(opt.id) || idMap.get(opt.id) === item, 'id duplicates: ' + (opt && opt.id));\n opt && opt.id != null && idMap.set(opt.id, item);\n !item.keyInfo && (item.keyInfo = {});\n }); // Make name and id.\n\n each(mapResult, function (item, index) {\n var existCpt = item.exist;\n var opt = item.option;\n var keyInfo = item.keyInfo;\n\n if (!isObject(opt)) {\n return;\n } // name can be overwitten. Consider case: axis.name = '20km'.\n // But id generated by name will not be changed, which affect\n // only in that case: setOption with 'not merge mode' and view\n // instance will be recreated, which can be accepted.\n\n\n keyInfo.name = opt.name != null ? opt.name + '' : existCpt ? existCpt.name // Avoid diffferent series has the same name,\n // because name may be used like in color pallet.\n : DUMMY_COMPONENT_NAME_PREFIX + index;\n\n if (existCpt) {\n keyInfo.id = existCpt.id;\n } else if (opt.id != null) {\n keyInfo.id = opt.id + '';\n } else {\n // Consider this situatoin:\n // optionA: [{name: 'a'}, {name: 'a'}, {..}]\n // optionB [{..}, {name: 'a'}, {name: 'a'}]\n // Series with the same name between optionA and optionB\n // should be mapped.\n var idNum = 0;\n\n do {\n keyInfo.id = '\\0' + keyInfo.name + '\\0' + idNum++;\n } while (idMap.get(keyInfo.id));\n }\n\n idMap.set(keyInfo.id, item);\n });\n}\n\nfunction isNameSpecified(componentModel) {\n var name = componentModel.name; // Is specified when `indexOf` get -1 or > 0.\n\n return !!(name && name.indexOf(DUMMY_COMPONENT_NAME_PREFIX));\n}\n/**\n * @public\n * @param {Object} cptOption\n * @return {boolean}\n */\n\n\nfunction isIdInner(cptOption) {\n return isObject(cptOption) && cptOption.id && (cptOption.id + '').indexOf('\\0_ec_\\0') === 0;\n}\n/**\n * A helper for removing duplicate items between batchA and batchB,\n * and in themselves, and categorize by series.\n *\n * @param {Array.} batchA Like: [{seriesId: 2, dataIndex: [32, 4, 5]}, ...]\n * @param {Array.} batchB Like: [{seriesId: 2, dataIndex: [32, 4, 5]}, ...]\n * @return {Array., Array.>} result: [resultBatchA, resultBatchB]\n */\n\n\nfunction compressBatches(batchA, batchB) {\n var mapA = {};\n var mapB = {};\n makeMap(batchA || [], mapA);\n makeMap(batchB || [], mapB, mapA);\n return [mapToArray(mapA), mapToArray(mapB)];\n\n function makeMap(sourceBatch, map, otherMap) {\n for (var i = 0, len = sourceBatch.length; i < len; i++) {\n var seriesId = sourceBatch[i].seriesId;\n var dataIndices = normalizeToArray(sourceBatch[i].dataIndex);\n var otherDataIndices = otherMap && otherMap[seriesId];\n\n for (var j = 0, lenj = dataIndices.length; j < lenj; j++) {\n var dataIndex = dataIndices[j];\n\n if (otherDataIndices && otherDataIndices[dataIndex]) {\n otherDataIndices[dataIndex] = null;\n } else {\n (map[seriesId] || (map[seriesId] = {}))[dataIndex] = 1;\n }\n }\n }\n }\n\n function mapToArray(map, isData) {\n var result = [];\n\n for (var i in map) {\n if (map.hasOwnProperty(i) && map[i] != null) {\n if (isData) {\n result.push(+i);\n } else {\n var dataIndices = mapToArray(map[i], true);\n dataIndices.length && result.push({\n seriesId: i,\n dataIndex: dataIndices\n });\n }\n }\n }\n\n return result;\n }\n}\n/**\n * @param {module:echarts/data/List} data\n * @param {Object} payload Contains dataIndex (means rawIndex) / dataIndexInside / name\n * each of which can be Array or primary type.\n * @return {number|Array.} dataIndex If not found, return undefined/null.\n */\n\n\nfunction queryDataIndex(data, payload) {\n if (payload.dataIndexInside != null) {\n return payload.dataIndexInside;\n } else if (payload.dataIndex != null) {\n return zrUtil.isArray(payload.dataIndex) ? zrUtil.map(payload.dataIndex, function (value) {\n return data.indexOfRawIndex(value);\n }) : data.indexOfRawIndex(payload.dataIndex);\n } else if (payload.name != null) {\n return zrUtil.isArray(payload.name) ? zrUtil.map(payload.name, function (value) {\n return data.indexOfName(value);\n }) : data.indexOfName(payload.name);\n }\n}\n/**\n * Enable property storage to any host object.\n * Notice: Serialization is not supported.\n *\n * For example:\n * var inner = zrUitl.makeInner();\n *\n * function some1(hostObj) {\n * inner(hostObj).someProperty = 1212;\n * ...\n * }\n * function some2() {\n * var fields = inner(this);\n * fields.someProperty1 = 1212;\n * fields.someProperty2 = 'xx';\n * ...\n * }\n *\n * @return {Function}\n */\n\n\nfunction makeInner() {\n // Consider different scope by es module import.\n var key = '__\\0ec_inner_' + innerUniqueIndex++ + '_' + Math.random().toFixed(5);\n return function (hostObj) {\n return hostObj[key] || (hostObj[key] = {});\n };\n}\n\nvar innerUniqueIndex = 0;\n/**\n * @param {module:echarts/model/Global} ecModel\n * @param {string|Object} finder\n * If string, e.g., 'geo', means {geoIndex: 0}.\n * If Object, could contain some of these properties below:\n * {\n * seriesIndex, seriesId, seriesName,\n * geoIndex, geoId, geoName,\n * bmapIndex, bmapId, bmapName,\n * xAxisIndex, xAxisId, xAxisName,\n * yAxisIndex, yAxisId, yAxisName,\n * gridIndex, gridId, gridName,\n * ... (can be extended)\n * }\n * Each properties can be number|string|Array.|Array.\n * For example, a finder could be\n * {\n * seriesIndex: 3,\n * geoId: ['aa', 'cc'],\n * gridName: ['xx', 'rr']\n * }\n * xxxIndex can be set as 'all' (means all xxx) or 'none' (means not specify)\n * If nothing or null/undefined specified, return nothing.\n * @param {Object} [opt]\n * @param {string} [opt.defaultMainType]\n * @param {Array.} [opt.includeMainTypes]\n * @return {Object} result like:\n * {\n * seriesModels: [seriesModel1, seriesModel2],\n * seriesModel: seriesModel1, // The first model\n * geoModels: [geoModel1, geoModel2],\n * geoModel: geoModel1, // The first model\n * ...\n * }\n */\n\nfunction parseFinder(ecModel, finder, opt) {\n if (zrUtil.isString(finder)) {\n var obj = {};\n obj[finder + 'Index'] = 0;\n finder = obj;\n }\n\n var defaultMainType = opt && opt.defaultMainType;\n\n if (defaultMainType && !has(finder, defaultMainType + 'Index') && !has(finder, defaultMainType + 'Id') && !has(finder, defaultMainType + 'Name')) {\n finder[defaultMainType + 'Index'] = 0;\n }\n\n var result = {};\n each(finder, function (value, key) {\n var value = finder[key]; // Exclude 'dataIndex' and other illgal keys.\n\n if (key === 'dataIndex' || key === 'dataIndexInside') {\n result[key] = value;\n return;\n }\n\n var parsedKey = key.match(/^(\\w+)(Index|Id|Name)$/) || [];\n var mainType = parsedKey[1];\n var queryType = (parsedKey[2] || '').toLowerCase();\n\n if (!mainType || !queryType || value == null || queryType === 'index' && value === 'none' || opt && opt.includeMainTypes && zrUtil.indexOf(opt.includeMainTypes, mainType) < 0) {\n return;\n }\n\n var queryParam = {\n mainType: mainType\n };\n\n if (queryType !== 'index' || value !== 'all') {\n queryParam[queryType] = value;\n }\n\n var models = ecModel.queryComponents(queryParam);\n result[mainType + 'Models'] = models;\n result[mainType + 'Model'] = models[0];\n });\n return result;\n}\n\nfunction has(obj, prop) {\n return obj && obj.hasOwnProperty(prop);\n}\n\nfunction setAttribute(dom, key, value) {\n dom.setAttribute ? dom.setAttribute(key, value) : dom[key] = value;\n}\n\nfunction getAttribute(dom, key) {\n return dom.getAttribute ? dom.getAttribute(key) : dom[key];\n}\n\nfunction getTooltipRenderMode(renderModeOption) {\n if (renderModeOption === 'auto') {\n // Using html when `document` exists, use richText otherwise\n return env.domSupported ? 'html' : 'richText';\n } else {\n return renderModeOption || 'html';\n }\n}\n/**\n * Group a list by key.\n *\n * @param {Array} array\n * @param {Function} getKey\n * param {*} Array item\n * return {string} key\n * @return {Object} Result\n * {Array}: keys,\n * {module:zrender/core/util/HashMap} buckets: {key -> Array}\n */\n\n\nfunction groupData(array, getKey) {\n var buckets = zrUtil.createHashMap();\n var keys = [];\n zrUtil.each(array, function (item) {\n var key = getKey(item);\n (buckets.get(key) || (keys.push(key), buckets.set(key, []))).push(item);\n });\n return {\n keys: keys,\n buckets: buckets\n };\n}\n\nexports.normalizeToArray = normalizeToArray;\nexports.defaultEmphasis = defaultEmphasis;\nexports.TEXT_STYLE_OPTIONS = TEXT_STYLE_OPTIONS;\nexports.getDataItemValue = getDataItemValue;\nexports.isDataItemOption = isDataItemOption;\nexports.mappingToExists = mappingToExists;\nexports.makeIdAndName = makeIdAndName;\nexports.isNameSpecified = isNameSpecified;\nexports.isIdInner = isIdInner;\nexports.compressBatches = compressBatches;\nexports.queryDataIndex = queryDataIndex;\nexports.makeInner = makeInner;\nexports.parseFinder = parseFinder;\nexports.setAttribute = setAttribute;\nexports.getAttribute = getAttribute;\nexports.getTooltipRenderMode = getTooltipRenderMode;\nexports.groupData = groupData;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar clazzUtil = require(\"../util/clazz\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * // Scale class management\n * @module echarts/scale/Scale\n */\n\n/**\n * @param {Object} [setting]\n */\nfunction Scale(setting) {\n this._setting = setting || {};\n /**\n * Extent\n * @type {Array.}\n * @protected\n */\n\n this._extent = [Infinity, -Infinity];\n /**\n * Step is calculated in adjustExtent\n * @type {Array.}\n * @protected\n */\n\n this._interval = 0;\n this.init && this.init.apply(this, arguments);\n}\n/**\n * Parse input val to valid inner number.\n * @param {*} val\n * @return {number}\n */\n\n\nScale.prototype.parse = function (val) {\n // Notice: This would be a trap here, If the implementation\n // of this method depends on extent, and this method is used\n // before extent set (like in dataZoom), it would be wrong.\n // Nevertheless, parse does not depend on extent generally.\n return val;\n};\n\nScale.prototype.getSetting = function (name) {\n return this._setting[name];\n};\n\nScale.prototype.contain = function (val) {\n var extent = this._extent;\n return val >= extent[0] && val <= extent[1];\n};\n/**\n * Normalize value to linear [0, 1], return 0.5 if extent span is 0\n * @param {number} val\n * @return {number}\n */\n\n\nScale.prototype.normalize = function (val) {\n var extent = this._extent;\n\n if (extent[1] === extent[0]) {\n return 0.5;\n }\n\n return (val - extent[0]) / (extent[1] - extent[0]);\n};\n/**\n * Scale normalized value\n * @param {number} val\n * @return {number}\n */\n\n\nScale.prototype.scale = function (val) {\n var extent = this._extent;\n return val * (extent[1] - extent[0]) + extent[0];\n};\n/**\n * Set extent from data\n * @param {Array.} other\n */\n\n\nScale.prototype.unionExtent = function (other) {\n var extent = this._extent;\n other[0] < extent[0] && (extent[0] = other[0]);\n other[1] > extent[1] && (extent[1] = other[1]); // not setExtent because in log axis it may transformed to power\n // this.setExtent(extent[0], extent[1]);\n};\n/**\n * Set extent from data\n * @param {module:echarts/data/List} data\n * @param {string} dim\n */\n\n\nScale.prototype.unionExtentFromData = function (data, dim) {\n this.unionExtent(data.getApproximateExtent(dim));\n};\n/**\n * Get extent\n * @return {Array.}\n */\n\n\nScale.prototype.getExtent = function () {\n return this._extent.slice();\n};\n/**\n * Set extent\n * @param {number} start\n * @param {number} end\n */\n\n\nScale.prototype.setExtent = function (start, end) {\n var thisExtent = this._extent;\n\n if (!isNaN(start)) {\n thisExtent[0] = start;\n }\n\n if (!isNaN(end)) {\n thisExtent[1] = end;\n }\n};\n/**\n * When axis extent depends on data and no data exists,\n * axis ticks should not be drawn, which is named 'blank'.\n */\n\n\nScale.prototype.isBlank = function () {\n return this._isBlank;\n},\n/**\n * When axis extent depends on data and no data exists,\n * axis ticks should not be drawn, which is named 'blank'.\n */\nScale.prototype.setBlank = function (isBlank) {\n this._isBlank = isBlank;\n};\n/**\n * @abstract\n * @param {*} tick\n * @return {string} label of the tick.\n */\n\nScale.prototype.getLabel = null;\nclazzUtil.enableClassExtend(Scale);\nclazzUtil.enableClassManagement(Scale, {\n registerWhenExtend: true\n});\nvar _default = Scale;\nmodule.exports = _default;","var zrUtil = require(\"../core/util\");\n\nvar Element = require(\"../Element\");\n\nvar BoundingRect = require(\"../core/BoundingRect\");\n\n/**\n * Group是一个容器,可以插入子节点,Group的变换也会被应用到子节点上\n * @module zrender/graphic/Group\n * @example\n * var Group = require('zrender/container/Group');\n * var Circle = require('zrender/graphic/shape/Circle');\n * var g = new Group();\n * g.position[0] = 100;\n * g.position[1] = 100;\n * g.add(new Circle({\n * style: {\n * x: 100,\n * y: 100,\n * r: 20,\n * }\n * }));\n * zr.add(g);\n */\n\n/**\n * @alias module:zrender/graphic/Group\n * @constructor\n * @extends module:zrender/mixin/Transformable\n * @extends module:zrender/mixin/Eventful\n */\nvar Group = function (opts) {\n opts = opts || {};\n Element.call(this, opts);\n\n for (var key in opts) {\n if (opts.hasOwnProperty(key)) {\n this[key] = opts[key];\n }\n }\n\n this._children = [];\n this.__storage = null;\n this.__dirty = true;\n};\n\nGroup.prototype = {\n constructor: Group,\n isGroup: true,\n\n /**\n * @type {string}\n */\n type: 'group',\n\n /**\n * 所有子孙元素是否响应鼠标事件\n * @name module:/zrender/container/Group#silent\n * @type {boolean}\n * @default false\n */\n silent: false,\n\n /**\n * @return {Array.}\n */\n children: function () {\n return this._children.slice();\n },\n\n /**\n * 获取指定 index 的儿子节点\n * @param {number} idx\n * @return {module:zrender/Element}\n */\n childAt: function (idx) {\n return this._children[idx];\n },\n\n /**\n * 获取指定名字的儿子节点\n * @param {string} name\n * @return {module:zrender/Element}\n */\n childOfName: function (name) {\n var children = this._children;\n\n for (var i = 0; i < children.length; i++) {\n if (children[i].name === name) {\n return children[i];\n }\n }\n },\n\n /**\n * @return {number}\n */\n childCount: function () {\n return this._children.length;\n },\n\n /**\n * 添加子节点到最后\n * @param {module:zrender/Element} child\n */\n add: function (child) {\n if (child && child !== this && child.parent !== this) {\n this._children.push(child);\n\n this._doAdd(child);\n }\n\n return this;\n },\n\n /**\n * 添加子节点在 nextSibling 之前\n * @param {module:zrender/Element} child\n * @param {module:zrender/Element} nextSibling\n */\n addBefore: function (child, nextSibling) {\n if (child && child !== this && child.parent !== this && nextSibling && nextSibling.parent === this) {\n var children = this._children;\n var idx = children.indexOf(nextSibling);\n\n if (idx >= 0) {\n children.splice(idx, 0, child);\n\n this._doAdd(child);\n }\n }\n\n return this;\n },\n _doAdd: function (child) {\n if (child.parent) {\n child.parent.remove(child);\n }\n\n child.parent = this;\n var storage = this.__storage;\n var zr = this.__zr;\n\n if (storage && storage !== child.__storage) {\n storage.addToStorage(child);\n\n if (child instanceof Group) {\n child.addChildrenToStorage(storage);\n }\n }\n\n zr && zr.refresh();\n },\n\n /**\n * 移除子节点\n * @param {module:zrender/Element} child\n */\n remove: function (child) {\n var zr = this.__zr;\n var storage = this.__storage;\n var children = this._children;\n var idx = zrUtil.indexOf(children, child);\n\n if (idx < 0) {\n return this;\n }\n\n children.splice(idx, 1);\n child.parent = null;\n\n if (storage) {\n storage.delFromStorage(child);\n\n if (child instanceof Group) {\n child.delChildrenFromStorage(storage);\n }\n }\n\n zr && zr.refresh();\n return this;\n },\n\n /**\n * 移除所有子节点\n */\n removeAll: function () {\n var children = this._children;\n var storage = this.__storage;\n var child;\n var i;\n\n for (i = 0; i < children.length; i++) {\n child = children[i];\n\n if (storage) {\n storage.delFromStorage(child);\n\n if (child instanceof Group) {\n child.delChildrenFromStorage(storage);\n }\n }\n\n child.parent = null;\n }\n\n children.length = 0;\n return this;\n },\n\n /**\n * 遍历所有子节点\n * @param {Function} cb\n * @param {} context\n */\n eachChild: function (cb, context) {\n var children = this._children;\n\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n cb.call(context, child, i);\n }\n\n return this;\n },\n\n /**\n * 深度优先遍历所有子孙节点\n * @param {Function} cb\n * @param {} context\n */\n traverse: function (cb, context) {\n for (var i = 0; i < this._children.length; i++) {\n var child = this._children[i];\n cb.call(context, child);\n\n if (child.type === 'group') {\n child.traverse(cb, context);\n }\n }\n\n return this;\n },\n addChildrenToStorage: function (storage) {\n for (var i = 0; i < this._children.length; i++) {\n var child = this._children[i];\n storage.addToStorage(child);\n\n if (child instanceof Group) {\n child.addChildrenToStorage(storage);\n }\n }\n },\n delChildrenFromStorage: function (storage) {\n for (var i = 0; i < this._children.length; i++) {\n var child = this._children[i];\n storage.delFromStorage(child);\n\n if (child instanceof Group) {\n child.delChildrenFromStorage(storage);\n }\n }\n },\n dirty: function () {\n this.__dirty = true;\n this.__zr && this.__zr.refresh();\n return this;\n },\n\n /**\n * @return {module:zrender/core/BoundingRect}\n */\n getBoundingRect: function (includeChildren) {\n // TODO Caching\n var rect = null;\n var tmpRect = new BoundingRect(0, 0, 0, 0);\n var children = includeChildren || this._children;\n var tmpMat = [];\n\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n\n if (child.ignore || child.invisible) {\n continue;\n }\n\n var childRect = child.getBoundingRect();\n var transform = child.getLocalTransform(tmpMat); // TODO\n // The boundingRect cacluated by transforming original\n // rect may be bigger than the actual bundingRect when rotation\n // is used. (Consider a circle rotated aginst its center, where\n // the actual boundingRect should be the same as that not be\n // rotated.) But we can not find better approach to calculate\n // actual boundingRect yet, considering performance.\n\n if (transform) {\n tmpRect.copy(childRect);\n tmpRect.applyTransform(transform);\n rect = rect || tmpRect.clone();\n rect.union(tmpRect);\n } else {\n rect = rect || childRect.clone();\n rect.union(childRect);\n }\n }\n\n return rect || tmpRect;\n }\n};\nzrUtil.inherits(Group, Element);\nvar _default = Group;\nmodule.exports = _default;","import React from 'react'\nimport classNames from 'classnames'\n\nimport { ImageItem } from './imageList'\n\ninterface IProps {\n list: ImageItem[]\n handleImageItemClick: (\n event: React.MouseEvent\n ) => void\n}\n\nconst ImageGrid = ({ list, handleImageItemClick }: IProps) => {\n return (\n
\n {list.map(({ url }: any, index) => (\n \n ))}\n \n
\n )\n}\n\nexport default ImageGrid\n","import React, { useState } from 'react'\nimport get from 'lodash/get'\nimport formatTime from 'lib/format-time'\n\nimport ImageGrid from 'Components/ugc/imageGrid'\nimport ImageViewer from 'Components/ugc/imageViewer'\nimport applyHttpsImage from 'lib/apply-https-img'\nimport { stubArray } from 'lodash'\nimport canUseWebp from 'lib/can-use-webp'\ninterface IProps {\n content: string\n image_urls: any[]\n title: string\n}\n\nfunction handleContent(content: string): string {\n return content.replace(/\\{!--.*?--\\}/g, '')\n}\n\nexport default function Content({ image_urls, content, title }: IProps) {\n const [activeIndex, setActiveIndex] = useState(0)\n const [viewing, setViewing] = useState(false)\n const handleImageItemClick = (e: any) => {\n const { index } = e.target.dataset\n if (!index) return\n setActiveIndex(Number(index))\n setViewing(true)\n }\n const getImageList = () => {\n if (!(image_urls && image_urls.length)) return null\n if (viewing)\n return (\n
\n applyHttpsImage(e.url))}\n activeIndex={activeIndex}\n onClick={() => {\n setViewing(false)\n }}\n />\n \n
\n )\n return (\n \n )\n }\n return (\n
\n {\n if (!node) {\n return\n }\n if (!canUseWebp) {\n const imgEles = node.querySelectorAll('img')\n for (const imgELe of imgEles) {\n imgELe.src = imgELe.src.replace(/\\.webp$/, '.png')\n }\n }\n }}\n >\n
{title}
\n {content && (\n \n )}\n {!content && getImageList()}\n \n \n
\n )\n}\n","/* 文章详情页 */\nimport React, {\n useEffect,\n useState,\n useCallback,\n createContext,\n useRef,\n} from 'react'\nimport get from 'lodash/get'\nimport fetch from 'lib/decorated-fetch'\nimport dynamic from 'next/dynamic'\n\nimport getUrl from 'lib/url'\nimport { sendTeaCommEvent } from 'lib/tea-analyze'\n\nimport Head from 'Components/head'\nimport Statement from 'Components/statement'\nimport Author, { IAuthor } from 'Components/author'\nimport CarSystem, { ICarSystem } from 'Components/car-system'\nimport HotSpot from '../home/old-components/hot-spot'\nimport Loading from 'Components/loading'\nimport KoubeiInfo, { IKoubeiInfo } from 'Components/ugc/koubeiInfo'\nimport Interact from 'Components/ugc/interact'\nimport Comment from 'Components/comment'\nimport {\n DEFAULT_VIDEO_KEYWORDS,\n DEFAULT_VIDEO_DESCRIPTION,\n DEFAULT_ARTICLE_KEYWORDS,\n DEFAULT_ARTICLE_DESCRIPTION,\n} from 'Constants/index'\n\nimport Content from './content'\nimport { ImageItem } from 'Components/ugc/imageList'\nimport useProcessSpy from 'Components/hooks/use-process-spy'\nimport useHandleBeforeLeave from 'Components/hooks/use-handle-before-leave'\nimport { getBoundingClientRect } from 'lib/utils'\nimport Recommend from 'Pages/article/recommend'\nimport Breadcrumb from 'Components/breadcrumb'\nimport { isNewVersion } from 'lib/version'\nimport ARTICLE_CONTENT_TYPE from 'Constants/articleType'\nimport redirectTo from 'lib/redirect-to'\nimport getUserInfo from 'lib/user-info'\nimport serializeObject from '@arsenal/arsenal/modules/serializeObject'\n\nconst Video = dynamic(() => import('Components/player'), {\n ssr: false,\n loading: () => ,\n})\n\nexport interface IArticle {\n article_type: number\n group_id: number\n group_id_str: string\n group_source: number\n created_time: number\n image_urls: ImageItem[]\n vid: string | null\n create_time: number\n motor_title: string\n content: string\n read_count: number\n comment_count: number\n share_count: number\n digg_count: number\n user_digg: boolean\n content_rich_span: string\n log_pb: any\n share_info: any\n activity_info: any\n question_info: any\n motor_car_info: any\n motor_profile_info: any\n motor_cover_info: any\n motor_series_info: any\n motor_koubei_info: IKoubeiInfo\n motor_repost_info: any\n label_tag_list: {\n name: string\n image: ImageItem\n concern_id: number\n }[]\n}\n\ninterface IProps {\n gid: string\n /**\n * 文章信息\n */\n article: IArticle\n /**\n * 作者信息\n */\n author: IAuthor\n /**\n * 相关车系\n */\n cars: ICarSystem[]\n is_motor: boolean\n articleType: number\n isKoubei: boolean // 是否口碑\n}\n\nexport const ugcArticleContext = createContext({\n updated_total_count: undefined,\n updateTotalCount: undefined,\n})\n\nfunction Article({\n gid,\n cars,\n article,\n isKoubei,\n is_motor,\n articleType,\n}: IProps) {\n /* 每日热点数据 */\n const [hotSpot, setHotSpot] = useState([])\n const flagDom = useRef(null)\n const initialTop = useRef(0)\n const processNow = useRef(0)\n const commentRef = (node: HTMLDivElement) => {\n if (node === null) {\n return\n }\n initialTop.current = getBoundingClientRect(node).top\n flagDom.current = node\n }\n useHandleBeforeLeave(processNow, gid)\n useProcessSpy(flagDom, processNow, initialTop, () =>\n sendTeaCommEvent('article_read_over', {\n group_id: gid,\n })\n )\n\n useEffect(() => {\n obtainHotSpot()\n\n function preventDefault(e: any) {\n if (e.keyCode === 32 && e.target.nodeName === 'VIDEO') {\n e.preventDefault()\n }\n }\n window.addEventListener('keydown', preventDefault)\n return () => {\n window.removeEventListener('keydown', preventDefault)\n }\n }, [])\n const contentTypeObj = ARTICLE_CONTENT_TYPE[articleType] || {}\n useEffect(() => {\n sendTeaCommEvent('go_detail', {\n group_id: gid,\n content_type: contentTypeObj.value,\n })\n }, [contentTypeObj.value, gid])\n /* 获取每日热点数据 */\n function obtainHotSpot() {\n fetch(getUrl('/motor/m_api/pc_recommend_articles', 'motor.m_station.api'))\n .then((json) => {\n const result = json?.data?.filter(\n (e: { gid_str: string }) => e?.gid_str !== String(gid)\n )\n setHotSpot(result || [])\n })\n .catch((e) => {\n console.error('fetch hotspot error', e)\n })\n }\n\n const {\n article_type,\n motor_title,\n image_urls,\n vid,\n content,\n motor_profile_info,\n motor_koubei_info,\n group_id_str,\n created_time,\n comment_count,\n digg_count,\n user_digg,\n label_tag_list,\n } = article\n\n const [updated_total_count, setTotalCount] = useState(comment_count)\n const updateTotalCount = (count: number) => {\n setTotalCount(count)\n }\n\n const pageTitle = motor_title?.slice(0, 20)\n const description = (content ?? '')\n .replace(/\\{!--.*?--\\}/g, '')\n .replace(/<[^>]+>/g, '')\n .slice(0, 140)\n\n return (\n
\n \n \n
\n {is_motor ? (\n <>\n \n \n {vid ? (\n
\n
\n ) : null}\n \n <>\n
\n \n
\n\n
\n \n
\n \n \n \n ) : (\n <>\n
\n \n \n 文章消失了,再去看看别的吧~\n
`,\n }}\n />\n
\n \n \n )}\n \n \n \n \n )\n}\n\nArticle.getInitialProps = async (ctx: any) => {\n const { query, req, asPath } = ctx\n const { gid, isKoubei } = query\n\n /* 获取文章类型 */\n const getArticleType = async () => {\n const userData = getUserInfo(req)\n const json = await fetch(\n getUrl(\n `/motor/pc/common/article/type?${serializeObject({\n group_id: query.gid,\n user_id: userData?.user_id,\n })}`\n )\n ).catch((err) => {\n // no-op\n })\n return json\n }\n\n const getArticle = async () => {\n const gidNum = Number(gid)\n if (Number.isNaN(gidNum) || gidNum <= 0) {\n return {}\n }\n const api = isKoubei\n ? '/motor/info/ugc/koubei/info/v1/'\n : '/motor/info/ugc/short/article/v1/'\n let result = {}\n try {\n const json = await fetch(\n getUrl(\n `${api}?group_id=${gid}&from=pc_station`,\n 'motor.ugc.information'\n ),\n {\n headers: {\n Cookie: get(req, 'headers.cookie', ''),\n },\n req,\n }\n )\n result = json.data || {}\n } catch (err) {\n console.error(err)\n }\n return result\n }\n /* 获取相关车系数据 */\n const getCars = async () => {\n let result = []\n try {\n const json = await fetch(\n getUrl(\n `/motor/pc/content/get_information?group_id=${query.gid}`,\n 'motor.pc_content.api'\n ),\n { req }\n )\n result = get(json, 'data.motor_material_car_info[0].info.list', [])\n } catch (err) {\n console.error(err)\n }\n return result\n }\n\n const [article, cars, articleType] = await Promise.all([\n getArticle(),\n getCars(),\n getArticleType(),\n ])\n\n if (articleType?.data?.type > 0 && articleType?.data?.type <= 4) {\n redirectTo(`/article/${gid}`, { res: ctx.res, status: 302 })\n return\n }\n if (!articleType?.data?.is_motor_article && articleType?.data?.is_visible) {\n redirectTo(`/404?from=${encodeURI(asPath)}`, { res: ctx.res, status: 302 })\n return\n }\n return {\n gid,\n article,\n cars,\n isKoubei,\n _pageType: isNewVersion(req?._isNewVersion) ? 'full auto-nav' : '',\n is_motor: articleType?.data?.is_motor_article,\n articleType: articleType?.data?.type,\n }\n}\n\nexport default Article\n","var vec2 = require(\"./vector\");\n\nvar curve = require(\"./curve\");\n\n/**\n * @author Yi Shen(https://github.com/pissang)\n */\nvar mathMin = Math.min;\nvar mathMax = Math.max;\nvar mathSin = Math.sin;\nvar mathCos = Math.cos;\nvar PI2 = Math.PI * 2;\nvar start = vec2.create();\nvar end = vec2.create();\nvar extremity = vec2.create();\n/**\n * 从顶点数组中计算出最小包围盒,写入`min`和`max`中\n * @module zrender/core/bbox\n * @param {Array} points 顶点数组\n * @param {number} min\n * @param {number} max\n */\n\nfunction fromPoints(points, min, max) {\n if (points.length === 0) {\n return;\n }\n\n var p = points[0];\n var left = p[0];\n var right = p[0];\n var top = p[1];\n var bottom = p[1];\n var i;\n\n for (i = 1; i < points.length; i++) {\n p = points[i];\n left = mathMin(left, p[0]);\n right = mathMax(right, p[0]);\n top = mathMin(top, p[1]);\n bottom = mathMax(bottom, p[1]);\n }\n\n min[0] = left;\n min[1] = top;\n max[0] = right;\n max[1] = bottom;\n}\n/**\n * @memberOf module:zrender/core/bbox\n * @param {number} x0\n * @param {number} y0\n * @param {number} x1\n * @param {number} y1\n * @param {Array.} min\n * @param {Array.} max\n */\n\n\nfunction fromLine(x0, y0, x1, y1, min, max) {\n min[0] = mathMin(x0, x1);\n min[1] = mathMin(y0, y1);\n max[0] = mathMax(x0, x1);\n max[1] = mathMax(y0, y1);\n}\n\nvar xDim = [];\nvar yDim = [];\n/**\n * 从三阶贝塞尔曲线(p0, p1, p2, p3)中计算出最小包围盒,写入`min`和`max`中\n * @memberOf module:zrender/core/bbox\n * @param {number} x0\n * @param {number} y0\n * @param {number} x1\n * @param {number} y1\n * @param {number} x2\n * @param {number} y2\n * @param {number} x3\n * @param {number} y3\n * @param {Array.} min\n * @param {Array.} max\n */\n\nfunction fromCubic(x0, y0, x1, y1, x2, y2, x3, y3, min, max) {\n var cubicExtrema = curve.cubicExtrema;\n var cubicAt = curve.cubicAt;\n var i;\n var n = cubicExtrema(x0, x1, x2, x3, xDim);\n min[0] = Infinity;\n min[1] = Infinity;\n max[0] = -Infinity;\n max[1] = -Infinity;\n\n for (i = 0; i < n; i++) {\n var x = cubicAt(x0, x1, x2, x3, xDim[i]);\n min[0] = mathMin(x, min[0]);\n max[0] = mathMax(x, max[0]);\n }\n\n n = cubicExtrema(y0, y1, y2, y3, yDim);\n\n for (i = 0; i < n; i++) {\n var y = cubicAt(y0, y1, y2, y3, yDim[i]);\n min[1] = mathMin(y, min[1]);\n max[1] = mathMax(y, max[1]);\n }\n\n min[0] = mathMin(x0, min[0]);\n max[0] = mathMax(x0, max[0]);\n min[0] = mathMin(x3, min[0]);\n max[0] = mathMax(x3, max[0]);\n min[1] = mathMin(y0, min[1]);\n max[1] = mathMax(y0, max[1]);\n min[1] = mathMin(y3, min[1]);\n max[1] = mathMax(y3, max[1]);\n}\n/**\n * 从二阶贝塞尔曲线(p0, p1, p2)中计算出最小包围盒,写入`min`和`max`中\n * @memberOf module:zrender/core/bbox\n * @param {number} x0\n * @param {number} y0\n * @param {number} x1\n * @param {number} y1\n * @param {number} x2\n * @param {number} y2\n * @param {Array.} min\n * @param {Array.} max\n */\n\n\nfunction fromQuadratic(x0, y0, x1, y1, x2, y2, min, max) {\n var quadraticExtremum = curve.quadraticExtremum;\n var quadraticAt = curve.quadraticAt; // Find extremities, where derivative in x dim or y dim is zero\n\n var tx = mathMax(mathMin(quadraticExtremum(x0, x1, x2), 1), 0);\n var ty = mathMax(mathMin(quadraticExtremum(y0, y1, y2), 1), 0);\n var x = quadraticAt(x0, x1, x2, tx);\n var y = quadraticAt(y0, y1, y2, ty);\n min[0] = mathMin(x0, x2, x);\n min[1] = mathMin(y0, y2, y);\n max[0] = mathMax(x0, x2, x);\n max[1] = mathMax(y0, y2, y);\n}\n/**\n * 从圆弧中计算出最小包围盒,写入`min`和`max`中\n * @method\n * @memberOf module:zrender/core/bbox\n * @param {number} x\n * @param {number} y\n * @param {number} rx\n * @param {number} ry\n * @param {number} startAngle\n * @param {number} endAngle\n * @param {number} anticlockwise\n * @param {Array.} min\n * @param {Array.} max\n */\n\n\nfunction fromArc(x, y, rx, ry, startAngle, endAngle, anticlockwise, min, max) {\n var vec2Min = vec2.min;\n var vec2Max = vec2.max;\n var diff = Math.abs(startAngle - endAngle);\n\n if (diff % PI2 < 1e-4 && diff > 1e-4) {\n // Is a circle\n min[0] = x - rx;\n min[1] = y - ry;\n max[0] = x + rx;\n max[1] = y + ry;\n return;\n }\n\n start[0] = mathCos(startAngle) * rx + x;\n start[1] = mathSin(startAngle) * ry + y;\n end[0] = mathCos(endAngle) * rx + x;\n end[1] = mathSin(endAngle) * ry + y;\n vec2Min(min, start, end);\n vec2Max(max, start, end); // Thresh to [0, Math.PI * 2]\n\n startAngle = startAngle % PI2;\n\n if (startAngle < 0) {\n startAngle = startAngle + PI2;\n }\n\n endAngle = endAngle % PI2;\n\n if (endAngle < 0) {\n endAngle = endAngle + PI2;\n }\n\n if (startAngle > endAngle && !anticlockwise) {\n endAngle += PI2;\n } else if (startAngle < endAngle && anticlockwise) {\n startAngle += PI2;\n }\n\n if (anticlockwise) {\n var tmp = endAngle;\n endAngle = startAngle;\n startAngle = tmp;\n } // var number = 0;\n // var step = (anticlockwise ? -Math.PI : Math.PI) / 2;\n\n\n for (var angle = 0; angle < endAngle; angle += Math.PI / 2) {\n if (angle > startAngle) {\n extremity[0] = mathCos(angle) * rx + x;\n extremity[1] = mathSin(angle) * ry + y;\n vec2Min(min, extremity, min);\n vec2Max(max, extremity, max);\n }\n }\n}\n\nexports.fromPoints = fromPoints;\nexports.fromLine = fromLine;\nexports.fromCubic = fromCubic;\nexports.fromQuadratic = fromQuadratic;\nexports.fromArc = fromArc;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar graphic = require(\"../../util/graphic\");\n\nvar _labelHelper = require(\"../helper/labelHelper\");\n\nvar getDefaultLabel = _labelHelper.getDefaultLabel;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction setLabel(normalStyle, hoverStyle, itemModel, color, seriesModel, dataIndex, labelPositionOutside) {\n var labelModel = itemModel.getModel('label');\n var hoverLabelModel = itemModel.getModel('emphasis.label');\n graphic.setLabelStyle(normalStyle, hoverStyle, labelModel, hoverLabelModel, {\n labelFetcher: seriesModel,\n labelDataIndex: dataIndex,\n defaultText: getDefaultLabel(seriesModel.getData(), dataIndex),\n isRectText: true,\n autoColor: color\n });\n fixPosition(normalStyle);\n fixPosition(hoverStyle);\n}\n\nfunction fixPosition(style, labelPositionOutside) {\n if (style.textPosition === 'outside') {\n style.textPosition = labelPositionOutside;\n }\n}\n\nexports.setLabel = setLabel;","var curve = require(\"../core/curve\");\n\n/**\n * 三次贝塞尔曲线描边包含判断\n * @param {number} x0\n * @param {number} y0\n * @param {number} x1\n * @param {number} y1\n * @param {number} x2\n * @param {number} y2\n * @param {number} x3\n * @param {number} y3\n * @param {number} lineWidth\n * @param {number} x\n * @param {number} y\n * @return {boolean}\n */\nfunction containStroke(x0, y0, x1, y1, x2, y2, x3, y3, lineWidth, x, y) {\n if (lineWidth === 0) {\n return false;\n }\n\n var _l = lineWidth; // Quick reject\n\n if (y > y0 + _l && y > y1 + _l && y > y2 + _l && y > y3 + _l || y < y0 - _l && y < y1 - _l && y < y2 - _l && y < y3 - _l || x > x0 + _l && x > x1 + _l && x > x2 + _l && x > x3 + _l || x < x0 - _l && x < x1 - _l && x < x2 - _l && x < x3 - _l) {\n return false;\n }\n\n var d = curve.cubicProjectPoint(x0, y0, x1, y1, x2, y2, x3, y3, x, y, null);\n return d <= _l / 2;\n}\n\nexports.containStroke = containStroke;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar createListSimply = require(\"../helper/createListSimply\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _dimensionHelper = require(\"../../data/helper/dimensionHelper\");\n\nvar getDimensionTypeByAxis = _dimensionHelper.getDimensionTypeByAxis;\n\nvar _sourceHelper = require(\"../../data/helper/sourceHelper\");\n\nvar makeSeriesEncodeForAxisCoordSys = _sourceHelper.makeSeriesEncodeForAxisCoordSys;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar seriesModelMixin = {\n /**\n * @private\n * @type {string}\n */\n _baseAxisDim: null,\n\n /**\n * @override\n */\n getInitialData: function (option, ecModel) {\n // When both types of xAxis and yAxis are 'value', layout is\n // needed to be specified by user. Otherwise, layout can be\n // judged by which axis is category.\n var ordinalMeta;\n var xAxisModel = ecModel.getComponent('xAxis', this.get('xAxisIndex'));\n var yAxisModel = ecModel.getComponent('yAxis', this.get('yAxisIndex'));\n var xAxisType = xAxisModel.get('type');\n var yAxisType = yAxisModel.get('type');\n var addOrdinal; // FIXME\n // Consider time axis.\n\n if (xAxisType === 'category') {\n option.layout = 'horizontal';\n ordinalMeta = xAxisModel.getOrdinalMeta();\n addOrdinal = true;\n } else if (yAxisType === 'category') {\n option.layout = 'vertical';\n ordinalMeta = yAxisModel.getOrdinalMeta();\n addOrdinal = true;\n } else {\n option.layout = option.layout || 'horizontal';\n }\n\n var coordDims = ['x', 'y'];\n var baseAxisDimIndex = option.layout === 'horizontal' ? 0 : 1;\n var baseAxisDim = this._baseAxisDim = coordDims[baseAxisDimIndex];\n var otherAxisDim = coordDims[1 - baseAxisDimIndex];\n var axisModels = [xAxisModel, yAxisModel];\n var baseAxisType = axisModels[baseAxisDimIndex].get('type');\n var otherAxisType = axisModels[1 - baseAxisDimIndex].get('type');\n var data = option.data; // ??? FIXME make a stage to perform data transfrom.\n // MUST create a new data, consider setOption({}) again.\n\n if (data && addOrdinal) {\n var newOptionData = [];\n zrUtil.each(data, function (item, index) {\n var newItem;\n\n if (item.value && zrUtil.isArray(item.value)) {\n newItem = item.value.slice();\n item.value.unshift(index);\n } else if (zrUtil.isArray(item)) {\n newItem = item.slice();\n item.unshift(index);\n } else {\n newItem = item;\n }\n\n newOptionData.push(newItem);\n });\n option.data = newOptionData;\n }\n\n var defaultValueDimensions = this.defaultValueDimensions;\n var coordDimensions = [{\n name: baseAxisDim,\n type: getDimensionTypeByAxis(baseAxisType),\n ordinalMeta: ordinalMeta,\n otherDims: {\n tooltip: false,\n itemName: 0\n },\n dimsDef: ['base']\n }, {\n name: otherAxisDim,\n type: getDimensionTypeByAxis(otherAxisType),\n dimsDef: defaultValueDimensions.slice()\n }];\n return createListSimply(this, {\n coordDimensions: coordDimensions,\n dimensionsCount: defaultValueDimensions.length + 1,\n encodeDefaulter: zrUtil.curry(makeSeriesEncodeForAxisCoordSys, coordDimensions, this)\n });\n },\n\n /**\n * If horizontal, base axis is x, otherwise y.\n * @override\n */\n getBaseAxis: function () {\n var dim = this._baseAxisDim;\n return this.ecModel.getComponent(dim + 'Axis', this.get(dim + 'AxisIndex')).axis;\n }\n};\nexports.seriesModelMixin = seriesModelMixin;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar createDimensions = require(\"../../data/helper/createDimensions\");\n\nvar List = require(\"../../data/List\");\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar extend = _util.extend;\nvar isArray = _util.isArray;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * [Usage]:\n * (1)\n * createListSimply(seriesModel, ['value']);\n * (2)\n * createListSimply(seriesModel, {\n * coordDimensions: ['value'],\n * dimensionsCount: 5\n * });\n *\n * @param {module:echarts/model/Series} seriesModel\n * @param {Object|Array.} opt opt or coordDimensions\n * The options in opt, see `echarts/data/helper/createDimensions`\n * @param {Array.} [nameList]\n * @return {module:echarts/data/List}\n */\nfunction _default(seriesModel, opt, nameList) {\n opt = isArray(opt) && {\n coordDimensions: opt\n } || extend({}, opt);\n var source = seriesModel.getSource();\n var dimensionsInfo = createDimensions(source, opt);\n var list = new List(dimensionsInfo, seriesModel);\n list.initData(source, nameList);\n return list;\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _model = require(\"../../util/model\");\n\nvar makeInner = _model.makeInner;\nvar normalizeToArray = _model.normalizeToArray;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar inner = makeInner();\n\nfunction getNearestColorPalette(colors, requestColorNum) {\n var paletteNum = colors.length; // TODO colors must be in order\n\n for (var i = 0; i < paletteNum; i++) {\n if (colors[i].length > requestColorNum) {\n return colors[i];\n }\n }\n\n return colors[paletteNum - 1];\n}\n\nvar _default = {\n clearColorPalette: function () {\n inner(this).colorIdx = 0;\n inner(this).colorNameMap = {};\n },\n\n /**\n * @param {string} name MUST NOT be null/undefined. Otherwise call this function\n * twise with the same parameters will get different result.\n * @param {Object} [scope=this]\n * @param {Object} [requestColorNum]\n * @return {string} color string.\n */\n getColorFromPalette: function (name, scope, requestColorNum) {\n scope = scope || this;\n var scopeFields = inner(scope);\n var colorIdx = scopeFields.colorIdx || 0;\n var colorNameMap = scopeFields.colorNameMap = scopeFields.colorNameMap || {}; // Use `hasOwnProperty` to avoid conflict with Object.prototype.\n\n if (colorNameMap.hasOwnProperty(name)) {\n return colorNameMap[name];\n }\n\n var defaultColorPalette = normalizeToArray(this.get('color', true));\n var layeredColorPalette = this.get('colorLayer', true);\n var colorPalette = requestColorNum == null || !layeredColorPalette ? defaultColorPalette : getNearestColorPalette(layeredColorPalette, requestColorNum); // In case can't find in layered color palette.\n\n colorPalette = colorPalette || defaultColorPalette;\n\n if (!colorPalette || !colorPalette.length) {\n return;\n }\n\n var color = colorPalette[colorIdx];\n\n if (name) {\n colorNameMap[name] = color;\n }\n\n scopeFields.colorIdx = (colorIdx + 1) % colorPalette.length;\n return color;\n }\n};\nmodule.exports = _default;","module.exports = \"https://sf6-scmcdn2-tos.pstatp.com/motor/pc/_next/static/images/invoice@3x-90cf41bbe265a1c3632973d4ee78628a.png\";","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nrequire(\"./dataZoom/typeDefaulter\");\n\nrequire(\"./dataZoom/DataZoomModel\");\n\nrequire(\"./dataZoom/DataZoomView\");\n\nrequire(\"./dataZoom/SliderZoomModel\");\n\nrequire(\"./dataZoom/SliderZoomView\");\n\nrequire(\"./dataZoom/dataZoomProcessor\");\n\nrequire(\"./dataZoom/dataZoomAction\");","import { sendTeaCommEvent } from 'lib/tea-analyze'\nimport { MutableRefObject, useEffect } from 'react'\n\nexport default function useHandleBeforeLeave(\n processNow: MutableRefObject,\n group_id: string\n) {\n function sendPct() {\n const processPct = Math.min(Math.max(0, processNow.current), 1)\n sendTeaCommEvent('article_read_pct', {\n group_id,\n pct: (processPct * 100).toFixed(0),\n })\n }\n useEffect(() => {\n window.addEventListener('beforeunload', sendPct)\n return () => {\n sendPct()\n window.removeEventListener('beforeunload', sendPct)\n }\n }, [])\n}\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @param {number} [time=500] Time in ms\n * @param {string} [easing='linear']\n * @param {number} [delay=0]\n * @param {Function} [callback]\n *\n * @example\n * // Animate position\n * animation\n * .createWrap()\n * .add(el1, {position: [10, 10]})\n * .add(el2, {shape: {width: 500}, style: {fill: 'red'}}, 400)\n * .done(function () { // done })\n * .start('cubicOut');\n */\nfunction createWrap() {\n var storage = [];\n var elExistsMap = {};\n var doneCallback;\n return {\n /**\n * Caution: a el can only be added once, otherwise 'done'\n * might not be called. This method checks this (by el.id),\n * suppresses adding and returns false when existing el found.\n *\n * @param {modele:zrender/Element} el\n * @param {Object} target\n * @param {number} [time=500]\n * @param {number} [delay=0]\n * @param {string} [easing='linear']\n * @return {boolean} Whether adding succeeded.\n *\n * @example\n * add(el, target, time, delay, easing);\n * add(el, target, time, easing);\n * add(el, target, time);\n * add(el, target);\n */\n add: function (el, target, time, delay, easing) {\n if (zrUtil.isString(delay)) {\n easing = delay;\n delay = 0;\n }\n\n if (elExistsMap[el.id]) {\n return false;\n }\n\n elExistsMap[el.id] = 1;\n storage.push({\n el: el,\n target: target,\n time: time,\n delay: delay,\n easing: easing\n });\n return true;\n },\n\n /**\n * Only execute when animation finished. Will not execute when any\n * of 'stop' or 'stopAnimation' called.\n *\n * @param {Function} callback\n */\n done: function (callback) {\n doneCallback = callback;\n return this;\n },\n\n /**\n * Will stop exist animation firstly.\n */\n start: function () {\n var count = storage.length;\n\n for (var i = 0, len = storage.length; i < len; i++) {\n var item = storage[i];\n item.el.animateTo(item.target, item.time, item.delay, item.easing, done);\n }\n\n return this;\n\n function done() {\n count--;\n\n if (!count) {\n storage.length = 0;\n elExistsMap = {};\n doneCallback && doneCallback();\n }\n }\n }\n };\n}\n\nexports.createWrap = createWrap;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @event legendScroll\n * @type {Object}\n * @property {string} type 'legendScroll'\n * @property {string} scrollDataIndex\n */\necharts.registerAction('legendScroll', 'legendscroll', function (payload, ecModel) {\n var scrollDataIndex = payload.scrollDataIndex;\n scrollDataIndex != null && ecModel.eachComponent({\n mainType: 'legend',\n subType: 'scroll',\n query: payload\n }, function (legendModel) {\n legendModel.setScrollDataIndex(scrollDataIndex);\n });\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _model = require(\"../../util/model\");\n\nvar makeInner = _model.makeInner;\n\nvar modelHelper = require(\"./modelHelper\");\n\nvar findPointFromSeries = require(\"./findPointFromSeries\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar each = zrUtil.each;\nvar curry = zrUtil.curry;\nvar inner = makeInner();\n/**\n * Basic logic: check all axis, if they do not demand show/highlight,\n * then hide/downplay them.\n *\n * @param {Object} coordSysAxesInfo\n * @param {Object} payload\n * @param {string} [payload.currTrigger] 'click' | 'mousemove' | 'leave'\n * @param {Array.} [payload.x] x and y, which are mandatory, specify a point to\n * trigger axisPointer and tooltip.\n * @param {Array.} [payload.y] x and y, which are mandatory, specify a point to\n * trigger axisPointer and tooltip.\n * @param {Object} [payload.seriesIndex] finder, optional, restrict target axes.\n * @param {Object} [payload.dataIndex] finder, restrict target axes.\n * @param {Object} [payload.axesInfo] finder, restrict target axes.\n * [{\n * axisDim: 'x'|'y'|'angle'|...,\n * axisIndex: ...,\n * value: ...\n * }, ...]\n * @param {Function} [payload.dispatchAction]\n * @param {Object} [payload.tooltipOption]\n * @param {Object|Array.|Function} [payload.position] Tooltip position,\n * which can be specified in dispatchAction\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @return {Object} content of event obj for echarts.connect.\n */\n\nfunction _default(payload, ecModel, api) {\n var currTrigger = payload.currTrigger;\n var point = [payload.x, payload.y];\n var finder = payload;\n var dispatchAction = payload.dispatchAction || zrUtil.bind(api.dispatchAction, api);\n var coordSysAxesInfo = ecModel.getComponent('axisPointer').coordSysAxesInfo; // Pending\n // See #6121. But we are not able to reproduce it yet.\n\n if (!coordSysAxesInfo) {\n return;\n }\n\n if (illegalPoint(point)) {\n // Used in the default behavior of `connection`: use the sample seriesIndex\n // and dataIndex. And also used in the tooltipView trigger.\n point = findPointFromSeries({\n seriesIndex: finder.seriesIndex,\n // Do not use dataIndexInside from other ec instance.\n // FIXME: auto detect it?\n dataIndex: finder.dataIndex\n }, ecModel).point;\n }\n\n var isIllegalPoint = illegalPoint(point); // Axis and value can be specified when calling dispatchAction({type: 'updateAxisPointer'}).\n // Notice: In this case, it is difficult to get the `point` (which is necessary to show\n // tooltip, so if point is not given, we just use the point found by sample seriesIndex\n // and dataIndex.\n\n var inputAxesInfo = finder.axesInfo;\n var axesInfo = coordSysAxesInfo.axesInfo;\n var shouldHide = currTrigger === 'leave' || illegalPoint(point);\n var outputFinder = {};\n var showValueMap = {};\n var dataByCoordSys = {\n list: [],\n map: {}\n };\n var updaters = {\n showPointer: curry(showPointer, showValueMap),\n showTooltip: curry(showTooltip, dataByCoordSys)\n }; // Process for triggered axes.\n\n each(coordSysAxesInfo.coordSysMap, function (coordSys, coordSysKey) {\n // If a point given, it must be contained by the coordinate system.\n var coordSysContainsPoint = isIllegalPoint || coordSys.containPoint(point);\n each(coordSysAxesInfo.coordSysAxesInfo[coordSysKey], function (axisInfo, key) {\n var axis = axisInfo.axis;\n var inputAxisInfo = findInputAxisInfo(inputAxesInfo, axisInfo); // If no inputAxesInfo, no axis is restricted.\n\n if (!shouldHide && coordSysContainsPoint && (!inputAxesInfo || inputAxisInfo)) {\n var val = inputAxisInfo && inputAxisInfo.value;\n\n if (val == null && !isIllegalPoint) {\n val = axis.pointToData(point);\n }\n\n val != null && processOnAxis(axisInfo, val, updaters, false, outputFinder);\n }\n });\n }); // Process for linked axes.\n\n var linkTriggers = {};\n each(axesInfo, function (tarAxisInfo, tarKey) {\n var linkGroup = tarAxisInfo.linkGroup; // If axis has been triggered in the previous stage, it should not be triggered by link.\n\n if (linkGroup && !showValueMap[tarKey]) {\n each(linkGroup.axesInfo, function (srcAxisInfo, srcKey) {\n var srcValItem = showValueMap[srcKey]; // If srcValItem exist, source axis is triggered, so link to target axis.\n\n if (srcAxisInfo !== tarAxisInfo && srcValItem) {\n var val = srcValItem.value;\n linkGroup.mapper && (val = tarAxisInfo.axis.scale.parse(linkGroup.mapper(val, makeMapperParam(srcAxisInfo), makeMapperParam(tarAxisInfo))));\n linkTriggers[tarAxisInfo.key] = val;\n }\n });\n }\n });\n each(linkTriggers, function (val, tarKey) {\n processOnAxis(axesInfo[tarKey], val, updaters, true, outputFinder);\n });\n updateModelActually(showValueMap, axesInfo, outputFinder);\n dispatchTooltipActually(dataByCoordSys, point, payload, dispatchAction);\n dispatchHighDownActually(axesInfo, dispatchAction, api);\n return outputFinder;\n}\n\nfunction processOnAxis(axisInfo, newValue, updaters, dontSnap, outputFinder) {\n var axis = axisInfo.axis;\n\n if (axis.scale.isBlank() || !axis.containData(newValue)) {\n return;\n }\n\n if (!axisInfo.involveSeries) {\n updaters.showPointer(axisInfo, newValue);\n return;\n } // Heavy calculation. So put it after axis.containData checking.\n\n\n var payloadInfo = buildPayloadsBySeries(newValue, axisInfo);\n var payloadBatch = payloadInfo.payloadBatch;\n var snapToValue = payloadInfo.snapToValue; // Fill content of event obj for echarts.connect.\n // By default use the first involved series data as a sample to connect.\n\n if (payloadBatch[0] && outputFinder.seriesIndex == null) {\n zrUtil.extend(outputFinder, payloadBatch[0]);\n } // If no linkSource input, this process is for collecting link\n // target, where snap should not be accepted.\n\n\n if (!dontSnap && axisInfo.snap) {\n if (axis.containData(snapToValue) && snapToValue != null) {\n newValue = snapToValue;\n }\n }\n\n updaters.showPointer(axisInfo, newValue, payloadBatch, outputFinder); // Tooltip should always be snapToValue, otherwise there will be\n // incorrect \"axis value ~ series value\" mapping displayed in tooltip.\n\n updaters.showTooltip(axisInfo, payloadInfo, snapToValue);\n}\n\nfunction buildPayloadsBySeries(value, axisInfo) {\n var axis = axisInfo.axis;\n var dim = axis.dim;\n var snapToValue = value;\n var payloadBatch = [];\n var minDist = Number.MAX_VALUE;\n var minDiff = -1;\n each(axisInfo.seriesModels, function (series, idx) {\n var dataDim = series.getData().mapDimension(dim, true);\n var seriesNestestValue;\n var dataIndices;\n\n if (series.getAxisTooltipData) {\n var result = series.getAxisTooltipData(dataDim, value, axis);\n dataIndices = result.dataIndices;\n seriesNestestValue = result.nestestValue;\n } else {\n dataIndices = series.getData().indicesOfNearest(dataDim[0], value, // Add a threshold to avoid find the wrong dataIndex\n // when data length is not same.\n // false,\n axis.type === 'category' ? 0.5 : null);\n\n if (!dataIndices.length) {\n return;\n }\n\n seriesNestestValue = series.getData().get(dataDim[0], dataIndices[0]);\n }\n\n if (seriesNestestValue == null || !isFinite(seriesNestestValue)) {\n return;\n }\n\n var diff = value - seriesNestestValue;\n var dist = Math.abs(diff); // Consider category case\n\n if (dist <= minDist) {\n if (dist < minDist || diff >= 0 && minDiff < 0) {\n minDist = dist;\n minDiff = diff;\n snapToValue = seriesNestestValue;\n payloadBatch.length = 0;\n }\n\n each(dataIndices, function (dataIndex) {\n payloadBatch.push({\n seriesIndex: series.seriesIndex,\n dataIndexInside: dataIndex,\n dataIndex: series.getData().getRawIndex(dataIndex)\n });\n });\n }\n });\n return {\n payloadBatch: payloadBatch,\n snapToValue: snapToValue\n };\n}\n\nfunction showPointer(showValueMap, axisInfo, value, payloadBatch) {\n showValueMap[axisInfo.key] = {\n value: value,\n payloadBatch: payloadBatch\n };\n}\n\nfunction showTooltip(dataByCoordSys, axisInfo, payloadInfo, value) {\n var payloadBatch = payloadInfo.payloadBatch;\n var axis = axisInfo.axis;\n var axisModel = axis.model;\n var axisPointerModel = axisInfo.axisPointerModel; // If no data, do not create anything in dataByCoordSys,\n // whose length will be used to judge whether dispatch action.\n\n if (!axisInfo.triggerTooltip || !payloadBatch.length) {\n return;\n }\n\n var coordSysModel = axisInfo.coordSys.model;\n var coordSysKey = modelHelper.makeKey(coordSysModel);\n var coordSysItem = dataByCoordSys.map[coordSysKey];\n\n if (!coordSysItem) {\n coordSysItem = dataByCoordSys.map[coordSysKey] = {\n coordSysId: coordSysModel.id,\n coordSysIndex: coordSysModel.componentIndex,\n coordSysType: coordSysModel.type,\n coordSysMainType: coordSysModel.mainType,\n dataByAxis: []\n };\n dataByCoordSys.list.push(coordSysItem);\n }\n\n coordSysItem.dataByAxis.push({\n axisDim: axis.dim,\n axisIndex: axisModel.componentIndex,\n axisType: axisModel.type,\n axisId: axisModel.id,\n value: value,\n // Caustion: viewHelper.getValueLabel is actually on \"view stage\", which\n // depends that all models have been updated. So it should not be performed\n // here. Considering axisPointerModel used here is volatile, which is hard\n // to be retrieve in TooltipView, we prepare parameters here.\n valueLabelOpt: {\n precision: axisPointerModel.get('label.precision'),\n formatter: axisPointerModel.get('label.formatter')\n },\n seriesDataIndices: payloadBatch.slice()\n });\n}\n\nfunction updateModelActually(showValueMap, axesInfo, outputFinder) {\n var outputAxesInfo = outputFinder.axesInfo = []; // Basic logic: If no 'show' required, 'hide' this axisPointer.\n\n each(axesInfo, function (axisInfo, key) {\n var option = axisInfo.axisPointerModel.option;\n var valItem = showValueMap[key];\n\n if (valItem) {\n !axisInfo.useHandle && (option.status = 'show');\n option.value = valItem.value; // For label formatter param and highlight.\n\n option.seriesDataIndices = (valItem.payloadBatch || []).slice();\n } // When always show (e.g., handle used), remain\n // original value and status.\n else {\n // If hide, value still need to be set, consider\n // click legend to toggle axis blank.\n !axisInfo.useHandle && (option.status = 'hide');\n } // If status is 'hide', should be no info in payload.\n\n\n option.status === 'show' && outputAxesInfo.push({\n axisDim: axisInfo.axis.dim,\n axisIndex: axisInfo.axis.model.componentIndex,\n value: option.value\n });\n });\n}\n\nfunction dispatchTooltipActually(dataByCoordSys, point, payload, dispatchAction) {\n // Basic logic: If no showTip required, hideTip will be dispatched.\n if (illegalPoint(point) || !dataByCoordSys.list.length) {\n dispatchAction({\n type: 'hideTip'\n });\n return;\n } // In most case only one axis (or event one series is used). It is\n // convinient to fetch payload.seriesIndex and payload.dataIndex\n // dirtectly. So put the first seriesIndex and dataIndex of the first\n // axis on the payload.\n\n\n var sampleItem = ((dataByCoordSys.list[0].dataByAxis[0] || {}).seriesDataIndices || [])[0] || {};\n dispatchAction({\n type: 'showTip',\n escapeConnect: true,\n x: point[0],\n y: point[1],\n tooltipOption: payload.tooltipOption,\n position: payload.position,\n dataIndexInside: sampleItem.dataIndexInside,\n dataIndex: sampleItem.dataIndex,\n seriesIndex: sampleItem.seriesIndex,\n dataByCoordSys: dataByCoordSys.list\n });\n}\n\nfunction dispatchHighDownActually(axesInfo, dispatchAction, api) {\n // FIXME\n // highlight status modification shoule be a stage of main process?\n // (Consider confilct (e.g., legend and axisPointer) and setOption)\n var zr = api.getZr();\n var highDownKey = 'axisPointerLastHighlights';\n var lastHighlights = inner(zr)[highDownKey] || {};\n var newHighlights = inner(zr)[highDownKey] = {}; // Update highlight/downplay status according to axisPointer model.\n // Build hash map and remove duplicate incidentally.\n\n each(axesInfo, function (axisInfo, key) {\n var option = axisInfo.axisPointerModel.option;\n option.status === 'show' && each(option.seriesDataIndices, function (batchItem) {\n var key = batchItem.seriesIndex + ' | ' + batchItem.dataIndex;\n newHighlights[key] = batchItem;\n });\n }); // Diff.\n\n var toHighlight = [];\n var toDownplay = [];\n zrUtil.each(lastHighlights, function (batchItem, key) {\n !newHighlights[key] && toDownplay.push(batchItem);\n });\n zrUtil.each(newHighlights, function (batchItem, key) {\n !lastHighlights[key] && toHighlight.push(batchItem);\n });\n toDownplay.length && api.dispatchAction({\n type: 'downplay',\n escapeConnect: true,\n batch: toDownplay\n });\n toHighlight.length && api.dispatchAction({\n type: 'highlight',\n escapeConnect: true,\n batch: toHighlight\n });\n}\n\nfunction findInputAxisInfo(inputAxesInfo, axisInfo) {\n for (var i = 0; i < (inputAxesInfo || []).length; i++) {\n var inputAxisInfo = inputAxesInfo[i];\n\n if (axisInfo.axis.dim === inputAxisInfo.axisDim && axisInfo.axis.model.componentIndex === inputAxisInfo.axisIndex) {\n return inputAxisInfo;\n }\n }\n}\n\nfunction makeMapperParam(axisInfo) {\n var axisModel = axisInfo.axis.model;\n var item = {};\n var dim = item.axisDim = axisInfo.axis.dim;\n item.axisIndex = item[dim + 'AxisIndex'] = axisModel.componentIndex;\n item.axisName = item[dim + 'AxisName'] = axisModel.name;\n item.axisId = item[dim + 'AxisId'] = axisModel.id;\n return item;\n}\n\nfunction illegalPoint(point) {\n return !point || point[0] == null || isNaN(point[0]) || point[1] == null || isNaN(point[1]);\n}\n\nmodule.exports = _default;","var BoundingRect = require(\"../core/BoundingRect\");\n\nvar imageHelper = require(\"../graphic/helper/image\");\n\nvar _util = require(\"../core/util\");\n\nvar getContext = _util.getContext;\nvar extend = _util.extend;\nvar retrieve2 = _util.retrieve2;\nvar retrieve3 = _util.retrieve3;\nvar trim = _util.trim;\nvar textWidthCache = {};\nvar textWidthCacheCounter = 0;\nvar TEXT_CACHE_MAX = 5000;\nvar STYLE_REG = /\\{([a-zA-Z0-9_]+)\\|([^}]*)\\}/g;\nvar DEFAULT_FONT = '12px sans-serif'; // Avoid assign to an exported variable, for transforming to cjs.\n\nvar methods = {};\n\nfunction $override(name, fn) {\n methods[name] = fn;\n}\n/**\n * @public\n * @param {string} text\n * @param {string} font\n * @return {number} width\n */\n\n\nfunction getWidth(text, font) {\n font = font || DEFAULT_FONT;\n var key = text + ':' + font;\n\n if (textWidthCache[key]) {\n return textWidthCache[key];\n }\n\n var textLines = (text + '').split('\\n');\n var width = 0;\n\n for (var i = 0, l = textLines.length; i < l; i++) {\n // textContain.measureText may be overrided in SVG or VML\n width = Math.max(measureText(textLines[i], font).width, width);\n }\n\n if (textWidthCacheCounter > TEXT_CACHE_MAX) {\n textWidthCacheCounter = 0;\n textWidthCache = {};\n }\n\n textWidthCacheCounter++;\n textWidthCache[key] = width;\n return width;\n}\n/**\n * @public\n * @param {string} text\n * @param {string} font\n * @param {string} [textAlign='left']\n * @param {string} [textVerticalAlign='top']\n * @param {Array.} [textPadding]\n * @param {Object} [rich]\n * @param {Object} [truncate]\n * @return {Object} {x, y, width, height, lineHeight}\n */\n\n\nfunction getBoundingRect(text, font, textAlign, textVerticalAlign, textPadding, textLineHeight, rich, truncate) {\n return rich ? getRichTextRect(text, font, textAlign, textVerticalAlign, textPadding, textLineHeight, rich, truncate) : getPlainTextRect(text, font, textAlign, textVerticalAlign, textPadding, textLineHeight, truncate);\n}\n\nfunction getPlainTextRect(text, font, textAlign, textVerticalAlign, textPadding, textLineHeight, truncate) {\n var contentBlock = parsePlainText(text, font, textPadding, textLineHeight, truncate);\n var outerWidth = getWidth(text, font);\n\n if (textPadding) {\n outerWidth += textPadding[1] + textPadding[3];\n }\n\n var outerHeight = contentBlock.outerHeight;\n var x = adjustTextX(0, outerWidth, textAlign);\n var y = adjustTextY(0, outerHeight, textVerticalAlign);\n var rect = new BoundingRect(x, y, outerWidth, outerHeight);\n rect.lineHeight = contentBlock.lineHeight;\n return rect;\n}\n\nfunction getRichTextRect(text, font, textAlign, textVerticalAlign, textPadding, textLineHeight, rich, truncate) {\n var contentBlock = parseRichText(text, {\n rich: rich,\n truncate: truncate,\n font: font,\n textAlign: textAlign,\n textPadding: textPadding,\n textLineHeight: textLineHeight\n });\n var outerWidth = contentBlock.outerWidth;\n var outerHeight = contentBlock.outerHeight;\n var x = adjustTextX(0, outerWidth, textAlign);\n var y = adjustTextY(0, outerHeight, textVerticalAlign);\n return new BoundingRect(x, y, outerWidth, outerHeight);\n}\n/**\n * @public\n * @param {number} x\n * @param {number} width\n * @param {string} [textAlign='left']\n * @return {number} Adjusted x.\n */\n\n\nfunction adjustTextX(x, width, textAlign) {\n // FIXME Right to left language\n if (textAlign === 'right') {\n x -= width;\n } else if (textAlign === 'center') {\n x -= width / 2;\n }\n\n return x;\n}\n/**\n * @public\n * @param {number} y\n * @param {number} height\n * @param {string} [textVerticalAlign='top']\n * @return {number} Adjusted y.\n */\n\n\nfunction adjustTextY(y, height, textVerticalAlign) {\n if (textVerticalAlign === 'middle') {\n y -= height / 2;\n } else if (textVerticalAlign === 'bottom') {\n y -= height;\n }\n\n return y;\n}\n/**\n * Follow same interface to `Displayable.prototype.calculateTextPosition`.\n * @public\n * @param {Obejct} [out] Prepared out object. If not input, auto created in the method.\n * @param {module:zrender/graphic/Style} style where `textPosition` and `textDistance` are visited.\n * @param {Object} rect {x, y, width, height} Rect of the host elment, according to which the text positioned.\n * @return {Object} The input `out`. Set: {x, y, textAlign, textVerticalAlign}\n */\n\n\nfunction calculateTextPosition(out, style, rect) {\n var textPosition = style.textPosition;\n var distance = style.textDistance;\n var x = rect.x;\n var y = rect.y;\n distance = distance || 0;\n var height = rect.height;\n var width = rect.width;\n var halfHeight = height / 2;\n var textAlign = 'left';\n var textVerticalAlign = 'top';\n\n switch (textPosition) {\n case 'left':\n x -= distance;\n y += halfHeight;\n textAlign = 'right';\n textVerticalAlign = 'middle';\n break;\n\n case 'right':\n x += distance + width;\n y += halfHeight;\n textVerticalAlign = 'middle';\n break;\n\n case 'top':\n x += width / 2;\n y -= distance;\n textAlign = 'center';\n textVerticalAlign = 'bottom';\n break;\n\n case 'bottom':\n x += width / 2;\n y += height + distance;\n textAlign = 'center';\n break;\n\n case 'inside':\n x += width / 2;\n y += halfHeight;\n textAlign = 'center';\n textVerticalAlign = 'middle';\n break;\n\n case 'insideLeft':\n x += distance;\n y += halfHeight;\n textVerticalAlign = 'middle';\n break;\n\n case 'insideRight':\n x += width - distance;\n y += halfHeight;\n textAlign = 'right';\n textVerticalAlign = 'middle';\n break;\n\n case 'insideTop':\n x += width / 2;\n y += distance;\n textAlign = 'center';\n break;\n\n case 'insideBottom':\n x += width / 2;\n y += height - distance;\n textAlign = 'center';\n textVerticalAlign = 'bottom';\n break;\n\n case 'insideTopLeft':\n x += distance;\n y += distance;\n break;\n\n case 'insideTopRight':\n x += width - distance;\n y += distance;\n textAlign = 'right';\n break;\n\n case 'insideBottomLeft':\n x += distance;\n y += height - distance;\n textVerticalAlign = 'bottom';\n break;\n\n case 'insideBottomRight':\n x += width - distance;\n y += height - distance;\n textAlign = 'right';\n textVerticalAlign = 'bottom';\n break;\n }\n\n out = out || {};\n out.x = x;\n out.y = y;\n out.textAlign = textAlign;\n out.textVerticalAlign = textVerticalAlign;\n return out;\n}\n/**\n * To be removed. But still do not remove in case that some one has imported it.\n * @deprecated\n * @public\n * @param {stirng} textPosition\n * @param {Object} rect {x, y, width, height}\n * @param {number} distance\n * @return {Object} {x, y, textAlign, textVerticalAlign}\n */\n\n\nfunction adjustTextPositionOnRect(textPosition, rect, distance) {\n var dummyStyle = {\n textPosition: textPosition,\n textDistance: distance\n };\n return calculateTextPosition({}, dummyStyle, rect);\n}\n/**\n * Show ellipsis if overflow.\n *\n * @public\n * @param {string} text\n * @param {string} containerWidth\n * @param {string} font\n * @param {number} [ellipsis='...']\n * @param {Object} [options]\n * @param {number} [options.maxIterations=3]\n * @param {number} [options.minChar=0] If truncate result are less\n * then minChar, ellipsis will not show, which is\n * better for user hint in some cases.\n * @param {number} [options.placeholder=''] When all truncated, use the placeholder.\n * @return {string}\n */\n\n\nfunction truncateText(text, containerWidth, font, ellipsis, options) {\n if (!containerWidth) {\n return '';\n }\n\n var textLines = (text + '').split('\\n');\n options = prepareTruncateOptions(containerWidth, font, ellipsis, options); // FIXME\n // It is not appropriate that every line has '...' when truncate multiple lines.\n\n for (var i = 0, len = textLines.length; i < len; i++) {\n textLines[i] = truncateSingleLine(textLines[i], options);\n }\n\n return textLines.join('\\n');\n}\n\nfunction prepareTruncateOptions(containerWidth, font, ellipsis, options) {\n options = extend({}, options);\n options.font = font;\n var ellipsis = retrieve2(ellipsis, '...');\n options.maxIterations = retrieve2(options.maxIterations, 2);\n var minChar = options.minChar = retrieve2(options.minChar, 0); // FIXME\n // Other languages?\n\n options.cnCharWidth = getWidth('国', font); // FIXME\n // Consider proportional font?\n\n var ascCharWidth = options.ascCharWidth = getWidth('a', font);\n options.placeholder = retrieve2(options.placeholder, ''); // Example 1: minChar: 3, text: 'asdfzxcv', truncate result: 'asdf', but not: 'a...'.\n // Example 2: minChar: 3, text: '维度', truncate result: '维', but not: '...'.\n\n var contentWidth = containerWidth = Math.max(0, containerWidth - 1); // Reserve some gap.\n\n for (var i = 0; i < minChar && contentWidth >= ascCharWidth; i++) {\n contentWidth -= ascCharWidth;\n }\n\n var ellipsisWidth = getWidth(ellipsis, font);\n\n if (ellipsisWidth > contentWidth) {\n ellipsis = '';\n ellipsisWidth = 0;\n }\n\n contentWidth = containerWidth - ellipsisWidth;\n options.ellipsis = ellipsis;\n options.ellipsisWidth = ellipsisWidth;\n options.contentWidth = contentWidth;\n options.containerWidth = containerWidth;\n return options;\n}\n\nfunction truncateSingleLine(textLine, options) {\n var containerWidth = options.containerWidth;\n var font = options.font;\n var contentWidth = options.contentWidth;\n\n if (!containerWidth) {\n return '';\n }\n\n var lineWidth = getWidth(textLine, font);\n\n if (lineWidth <= containerWidth) {\n return textLine;\n }\n\n for (var j = 0;; j++) {\n if (lineWidth <= contentWidth || j >= options.maxIterations) {\n textLine += options.ellipsis;\n break;\n }\n\n var subLength = j === 0 ? estimateLength(textLine, contentWidth, options.ascCharWidth, options.cnCharWidth) : lineWidth > 0 ? Math.floor(textLine.length * contentWidth / lineWidth) : 0;\n textLine = textLine.substr(0, subLength);\n lineWidth = getWidth(textLine, font);\n }\n\n if (textLine === '') {\n textLine = options.placeholder;\n }\n\n return textLine;\n}\n\nfunction estimateLength(text, contentWidth, ascCharWidth, cnCharWidth) {\n var width = 0;\n var i = 0;\n\n for (var len = text.length; i < len && width < contentWidth; i++) {\n var charCode = text.charCodeAt(i);\n width += 0 <= charCode && charCode <= 127 ? ascCharWidth : cnCharWidth;\n }\n\n return i;\n}\n/**\n * @public\n * @param {string} font\n * @return {number} line height\n */\n\n\nfunction getLineHeight(font) {\n // FIXME A rough approach.\n return getWidth('国', font);\n}\n/**\n * @public\n * @param {string} text\n * @param {string} font\n * @return {Object} width\n */\n\n\nfunction measureText(text, font) {\n return methods.measureText(text, font);\n} // Avoid assign to an exported variable, for transforming to cjs.\n\n\nmethods.measureText = function (text, font) {\n var ctx = getContext();\n ctx.font = font || DEFAULT_FONT;\n return ctx.measureText(text);\n};\n/**\n * @public\n * @param {string} text\n * @param {string} font\n * @param {Object} [truncate]\n * @return {Object} block: {lineHeight, lines, height, outerHeight, canCacheByTextString}\n * Notice: for performance, do not calculate outerWidth util needed.\n * `canCacheByTextString` means the result `lines` is only determined by the input `text`.\n * Thus we can simply comparing the `input` text to determin whether the result changed,\n * without travel the result `lines`.\n */\n\n\nfunction parsePlainText(text, font, padding, textLineHeight, truncate) {\n text != null && (text += '');\n var lineHeight = retrieve2(textLineHeight, getLineHeight(font));\n var lines = text ? text.split('\\n') : [];\n var height = lines.length * lineHeight;\n var outerHeight = height;\n var canCacheByTextString = true;\n\n if (padding) {\n outerHeight += padding[0] + padding[2];\n }\n\n if (text && truncate) {\n canCacheByTextString = false;\n var truncOuterHeight = truncate.outerHeight;\n var truncOuterWidth = truncate.outerWidth;\n\n if (truncOuterHeight != null && outerHeight > truncOuterHeight) {\n text = '';\n lines = [];\n } else if (truncOuterWidth != null) {\n var options = prepareTruncateOptions(truncOuterWidth - (padding ? padding[1] + padding[3] : 0), font, truncate.ellipsis, {\n minChar: truncate.minChar,\n placeholder: truncate.placeholder\n }); // FIXME\n // It is not appropriate that every line has '...' when truncate multiple lines.\n\n for (var i = 0, len = lines.length; i < len; i++) {\n lines[i] = truncateSingleLine(lines[i], options);\n }\n }\n }\n\n return {\n lines: lines,\n height: height,\n outerHeight: outerHeight,\n lineHeight: lineHeight,\n canCacheByTextString: canCacheByTextString\n };\n}\n/**\n * For example: 'some text {a|some text}other text{b|some text}xxx{c|}xxx'\n * Also consider 'bbbb{a|xxx\\nzzz}xxxx\\naaaa'.\n *\n * @public\n * @param {string} text\n * @param {Object} style\n * @return {Object} block\n * {\n * width,\n * height,\n * lines: [{\n * lineHeight,\n * width,\n * tokens: [[{\n * styleName,\n * text,\n * width, // include textPadding\n * height, // include textPadding\n * textWidth, // pure text width\n * textHeight, // pure text height\n * lineHeihgt,\n * font,\n * textAlign,\n * textVerticalAlign\n * }], [...], ...]\n * }, ...]\n * }\n * If styleName is undefined, it is plain text.\n */\n\n\nfunction parseRichText(text, style) {\n var contentBlock = {\n lines: [],\n width: 0,\n height: 0\n };\n text != null && (text += '');\n\n if (!text) {\n return contentBlock;\n }\n\n var lastIndex = STYLE_REG.lastIndex = 0;\n var result;\n\n while ((result = STYLE_REG.exec(text)) != null) {\n var matchedIndex = result.index;\n\n if (matchedIndex > lastIndex) {\n pushTokens(contentBlock, text.substring(lastIndex, matchedIndex));\n }\n\n pushTokens(contentBlock, result[2], result[1]);\n lastIndex = STYLE_REG.lastIndex;\n }\n\n if (lastIndex < text.length) {\n pushTokens(contentBlock, text.substring(lastIndex, text.length));\n }\n\n var lines = contentBlock.lines;\n var contentHeight = 0;\n var contentWidth = 0; // For `textWidth: 100%`\n\n var pendingList = [];\n var stlPadding = style.textPadding;\n var truncate = style.truncate;\n var truncateWidth = truncate && truncate.outerWidth;\n var truncateHeight = truncate && truncate.outerHeight;\n\n if (stlPadding) {\n truncateWidth != null && (truncateWidth -= stlPadding[1] + stlPadding[3]);\n truncateHeight != null && (truncateHeight -= stlPadding[0] + stlPadding[2]);\n } // Calculate layout info of tokens.\n\n\n for (var i = 0; i < lines.length; i++) {\n var line = lines[i];\n var lineHeight = 0;\n var lineWidth = 0;\n\n for (var j = 0; j < line.tokens.length; j++) {\n var token = line.tokens[j];\n var tokenStyle = token.styleName && style.rich[token.styleName] || {}; // textPadding should not inherit from style.\n\n var textPadding = token.textPadding = tokenStyle.textPadding; // textFont has been asigned to font by `normalizeStyle`.\n\n var font = token.font = tokenStyle.font || style.font; // textHeight can be used when textVerticalAlign is specified in token.\n\n var tokenHeight = token.textHeight = retrieve2( // textHeight should not be inherited, consider it can be specified\n // as box height of the block.\n tokenStyle.textHeight, getLineHeight(font));\n textPadding && (tokenHeight += textPadding[0] + textPadding[2]);\n token.height = tokenHeight;\n token.lineHeight = retrieve3(tokenStyle.textLineHeight, style.textLineHeight, tokenHeight);\n token.textAlign = tokenStyle && tokenStyle.textAlign || style.textAlign;\n token.textVerticalAlign = tokenStyle && tokenStyle.textVerticalAlign || 'middle';\n\n if (truncateHeight != null && contentHeight + token.lineHeight > truncateHeight) {\n return {\n lines: [],\n width: 0,\n height: 0\n };\n }\n\n token.textWidth = getWidth(token.text, font);\n var tokenWidth = tokenStyle.textWidth;\n var tokenWidthNotSpecified = tokenWidth == null || tokenWidth === 'auto'; // Percent width, can be `100%`, can be used in drawing separate\n // line when box width is needed to be auto.\n\n if (typeof tokenWidth === 'string' && tokenWidth.charAt(tokenWidth.length - 1) === '%') {\n token.percentWidth = tokenWidth;\n pendingList.push(token);\n tokenWidth = 0; // Do not truncate in this case, because there is no user case\n // and it is too complicated.\n } else {\n if (tokenWidthNotSpecified) {\n tokenWidth = token.textWidth; // FIXME: If image is not loaded and textWidth is not specified, calling\n // `getBoundingRect()` will not get correct result.\n\n var textBackgroundColor = tokenStyle.textBackgroundColor;\n var bgImg = textBackgroundColor && textBackgroundColor.image; // Use cases:\n // (1) If image is not loaded, it will be loaded at render phase and call\n // `dirty()` and `textBackgroundColor.image` will be replaced with the loaded\n // image, and then the right size will be calculated here at the next tick.\n // See `graphic/helper/text.js`.\n // (2) If image loaded, and `textBackgroundColor.image` is image src string,\n // use `imageHelper.findExistImage` to find cached image.\n // `imageHelper.findExistImage` will always be called here before\n // `imageHelper.createOrUpdateImage` in `graphic/helper/text.js#renderRichText`\n // which ensures that image will not be rendered before correct size calcualted.\n\n if (bgImg) {\n bgImg = imageHelper.findExistImage(bgImg);\n\n if (imageHelper.isImageReady(bgImg)) {\n tokenWidth = Math.max(tokenWidth, bgImg.width * tokenHeight / bgImg.height);\n }\n }\n }\n\n var paddingW = textPadding ? textPadding[1] + textPadding[3] : 0;\n tokenWidth += paddingW;\n var remianTruncWidth = truncateWidth != null ? truncateWidth - lineWidth : null;\n\n if (remianTruncWidth != null && remianTruncWidth < tokenWidth) {\n if (!tokenWidthNotSpecified || remianTruncWidth < paddingW) {\n token.text = '';\n token.textWidth = tokenWidth = 0;\n } else {\n token.text = truncateText(token.text, remianTruncWidth - paddingW, font, truncate.ellipsis, {\n minChar: truncate.minChar\n });\n token.textWidth = getWidth(token.text, font);\n tokenWidth = token.textWidth + paddingW;\n }\n }\n }\n\n lineWidth += token.width = tokenWidth;\n tokenStyle && (lineHeight = Math.max(lineHeight, token.lineHeight));\n }\n\n line.width = lineWidth;\n line.lineHeight = lineHeight;\n contentHeight += lineHeight;\n contentWidth = Math.max(contentWidth, lineWidth);\n }\n\n contentBlock.outerWidth = contentBlock.width = retrieve2(style.textWidth, contentWidth);\n contentBlock.outerHeight = contentBlock.height = retrieve2(style.textHeight, contentHeight);\n\n if (stlPadding) {\n contentBlock.outerWidth += stlPadding[1] + stlPadding[3];\n contentBlock.outerHeight += stlPadding[0] + stlPadding[2];\n }\n\n for (var i = 0; i < pendingList.length; i++) {\n var token = pendingList[i];\n var percentWidth = token.percentWidth; // Should not base on outerWidth, because token can not be placed out of padding.\n\n token.width = parseInt(percentWidth, 10) / 100 * contentWidth;\n }\n\n return contentBlock;\n}\n\nfunction pushTokens(block, str, styleName) {\n var isEmptyStr = str === '';\n var strs = str.split('\\n');\n var lines = block.lines;\n\n for (var i = 0; i < strs.length; i++) {\n var text = strs[i];\n var token = {\n styleName: styleName,\n text: text,\n isLineHolder: !text && !isEmptyStr\n }; // The first token should be appended to the last line.\n\n if (!i) {\n var tokens = (lines[lines.length - 1] || (lines[0] = {\n tokens: []\n })).tokens; // Consider cases:\n // (1) ''.split('\\n') => ['', '\\n', ''], the '' at the first item\n // (which is a placeholder) should be replaced by new token.\n // (2) A image backage, where token likes {a|}.\n // (3) A redundant '' will affect textAlign in line.\n // (4) tokens with the same tplName should not be merged, because\n // they should be displayed in different box (with border and padding).\n\n var tokensLen = tokens.length;\n tokensLen === 1 && tokens[0].isLineHolder ? tokens[0] = token : // Consider text is '', only insert when it is the \"lineHolder\" or\n // \"emptyStr\". Otherwise a redundant '' will affect textAlign in line.\n (text || !tokensLen || isEmptyStr) && tokens.push(token);\n } // Other tokens always start a new line.\n else {\n // If there is '', insert it as a placeholder.\n lines.push({\n tokens: [token]\n });\n }\n }\n}\n\nfunction makeFont(style) {\n // FIXME in node-canvas fontWeight is before fontStyle\n // Use `fontSize` `fontFamily` to check whether font properties are defined.\n var font = (style.fontSize || style.fontFamily) && [style.fontStyle, style.fontWeight, (style.fontSize || 12) + 'px', // If font properties are defined, `fontFamily` should not be ignored.\n style.fontFamily || 'sans-serif'].join(' ');\n return font && trim(font) || style.textFont || style.font;\n}\n\nexports.DEFAULT_FONT = DEFAULT_FONT;\nexports.$override = $override;\nexports.getWidth = getWidth;\nexports.getBoundingRect = getBoundingRect;\nexports.adjustTextX = adjustTextX;\nexports.adjustTextY = adjustTextY;\nexports.calculateTextPosition = calculateTextPosition;\nexports.adjustTextPositionOnRect = adjustTextPositionOnRect;\nexports.truncateText = truncateText;\nexports.getLineHeight = getLineHeight;\nexports.measureText = measureText;\nexports.parsePlainText = parsePlainText;\nexports.parseRichText = parseRichText;\nexports.makeFont = makeFont;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar each = _util.each;\n\nvar Group = require(\"zrender/lib/container/Group\");\n\nvar componentUtil = require(\"../util/component\");\n\nvar clazzUtil = require(\"../util/clazz\");\n\nvar modelUtil = require(\"../util/model\");\n\nvar graphicUtil = require(\"../util/graphic\");\n\nvar _task = require(\"../stream/task\");\n\nvar createTask = _task.createTask;\n\nvar createRenderPlanner = require(\"../chart/helper/createRenderPlanner\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar inner = modelUtil.makeInner();\nvar renderPlanner = createRenderPlanner();\n\nfunction Chart() {\n /**\n * @type {module:zrender/container/Group}\n * @readOnly\n */\n this.group = new Group();\n /**\n * @type {string}\n * @readOnly\n */\n\n this.uid = componentUtil.getUID('viewChart');\n this.renderTask = createTask({\n plan: renderTaskPlan,\n reset: renderTaskReset\n });\n this.renderTask.context = {\n view: this\n };\n}\n\nChart.prototype = {\n type: 'chart',\n\n /**\n * Init the chart.\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n */\n init: function (ecModel, api) {},\n\n /**\n * Render the chart.\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} payload\n */\n render: function (seriesModel, ecModel, api, payload) {},\n\n /**\n * Highlight series or specified data item.\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} payload\n */\n highlight: function (seriesModel, ecModel, api, payload) {\n toggleHighlight(seriesModel.getData(), payload, 'emphasis');\n },\n\n /**\n * Downplay series or specified data item.\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} payload\n */\n downplay: function (seriesModel, ecModel, api, payload) {\n toggleHighlight(seriesModel.getData(), payload, 'normal');\n },\n\n /**\n * Remove self.\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n */\n remove: function (ecModel, api) {\n this.group.removeAll();\n },\n\n /**\n * Dispose self.\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n */\n dispose: function () {},\n\n /**\n * Rendering preparation in progressive mode.\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} payload\n */\n incrementalPrepareRender: null,\n\n /**\n * Render in progressive mode.\n * @param {Object} params See taskParams in `stream/task.js`\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} payload\n */\n incrementalRender: null,\n\n /**\n * Update transform directly.\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} payload\n * @return {Object} {update: true}\n */\n updateTransform: null,\n\n /**\n * The view contains the given point.\n * @interface\n * @param {Array.} point\n * @return {boolean}\n */\n // containPoint: function () {}\n\n /**\n * @param {string} eventType\n * @param {Object} query\n * @param {module:zrender/Element} targetEl\n * @param {Object} packedEvent\n * @return {boolen} Pass only when return `true`.\n */\n filterForExposedEvent: null\n};\nvar chartProto = Chart.prototype;\n\nchartProto.updateView = chartProto.updateLayout = chartProto.updateVisual = function (seriesModel, ecModel, api, payload) {\n this.render(seriesModel, ecModel, api, payload);\n};\n/**\n * Set state of single element\n * @param {module:zrender/Element} el\n * @param {string} state 'normal'|'emphasis'\n * @param {number} highlightDigit\n */\n\n\nfunction elSetState(el, state, highlightDigit) {\n if (el) {\n el.trigger(state, highlightDigit);\n\n if (el.isGroup // Simple optimize.\n && !graphicUtil.isHighDownDispatcher(el)) {\n for (var i = 0, len = el.childCount(); i < len; i++) {\n elSetState(el.childAt(i), state, highlightDigit);\n }\n }\n }\n}\n/**\n * @param {module:echarts/data/List} data\n * @param {Object} payload\n * @param {string} state 'normal'|'emphasis'\n */\n\n\nfunction toggleHighlight(data, payload, state) {\n var dataIndex = modelUtil.queryDataIndex(data, payload);\n var highlightDigit = payload && payload.highlightKey != null ? graphicUtil.getHighlightDigit(payload.highlightKey) : null;\n\n if (dataIndex != null) {\n each(modelUtil.normalizeToArray(dataIndex), function (dataIdx) {\n elSetState(data.getItemGraphicEl(dataIdx), state, highlightDigit);\n });\n } else {\n data.eachItemGraphicEl(function (el) {\n elSetState(el, state, highlightDigit);\n });\n }\n} // Enable Chart.extend.\n\n\nclazzUtil.enableClassExtend(Chart, ['dispose']); // Add capability of registerClass, getClass, hasClass, registerSubTypeDefaulter and so on.\n\nclazzUtil.enableClassManagement(Chart, {\n registerWhenExtend: true\n});\n\nChart.markUpdateMethod = function (payload, methodName) {\n inner(payload).updateMethod = methodName;\n};\n\nfunction renderTaskPlan(context) {\n return renderPlanner(context.model);\n}\n\nfunction renderTaskReset(context) {\n var seriesModel = context.model;\n var ecModel = context.ecModel;\n var api = context.api;\n var payload = context.payload; // ???! remove updateView updateVisual\n\n var progressiveRender = seriesModel.pipelineContext.progressiveRender;\n var view = context.view;\n var updateMethod = payload && inner(payload).updateMethod;\n var methodName = progressiveRender ? 'incrementalPrepareRender' : updateMethod && view[updateMethod] ? updateMethod // `appendData` is also supported when data amount\n // is less than progressive threshold.\n : 'render';\n\n if (methodName !== 'render') {\n view[methodName](seriesModel, ecModel, api, payload);\n }\n\n return progressMethodMap[methodName];\n}\n\nvar progressMethodMap = {\n incrementalPrepareRender: {\n progress: function (params, context) {\n context.view.incrementalRender(params, context.model, context.ecModel, context.api, context.payload);\n }\n },\n render: {\n // Put view.render in `progress` to support appendData. But in this case\n // view.render should not be called in reset, otherwise it will be called\n // twise. Use `forceFirstProgress` to make sure that view.render is called\n // in any cases.\n forceFirstProgress: true,\n progress: function (params, context) {\n context.view.render(context.model, context.ecModel, context.api, context.payload);\n }\n }\n};\nvar _default = Chart;\nmodule.exports = _default;","module.exports = \"https://sf6-scmcdn2-tos.pstatp.com/motor/pc/_next/static/images/dcd-code@3x-7798dc19b4c261272684645a11a3b1dd.png\";","var logError = require(\"../core/log\");\n\nvar vmlCore = require(\"./core\");\n\nvar _util = require(\"../core/util\");\n\nvar each = _util.each;\n\n/**\n * VML Painter.\n *\n * @module zrender/vml/Painter\n */\nfunction parseInt10(val) {\n return parseInt(val, 10);\n}\n/**\n * @alias module:zrender/vml/Painter\n */\n\n\nfunction VMLPainter(root, storage) {\n vmlCore.initVML();\n this.root = root;\n this.storage = storage;\n var vmlViewport = document.createElement('div');\n var vmlRoot = document.createElement('div');\n vmlViewport.style.cssText = 'display:inline-block;overflow:hidden;position:relative;width:300px;height:150px;';\n vmlRoot.style.cssText = 'position:absolute;left:0;top:0;';\n root.appendChild(vmlViewport);\n this._vmlRoot = vmlRoot;\n this._vmlViewport = vmlViewport;\n this.resize(); // Modify storage\n\n var oldDelFromStorage = storage.delFromStorage;\n var oldAddToStorage = storage.addToStorage;\n\n storage.delFromStorage = function (el) {\n oldDelFromStorage.call(storage, el);\n\n if (el) {\n el.onRemove && el.onRemove(vmlRoot);\n }\n };\n\n storage.addToStorage = function (el) {\n // Displayable already has a vml node\n el.onAdd && el.onAdd(vmlRoot);\n oldAddToStorage.call(storage, el);\n };\n\n this._firstPaint = true;\n}\n\nVMLPainter.prototype = {\n constructor: VMLPainter,\n getType: function () {\n return 'vml';\n },\n\n /**\n * @return {HTMLDivElement}\n */\n getViewportRoot: function () {\n return this._vmlViewport;\n },\n getViewportRootOffset: function () {\n var viewportRoot = this.getViewportRoot();\n\n if (viewportRoot) {\n return {\n offsetLeft: viewportRoot.offsetLeft || 0,\n offsetTop: viewportRoot.offsetTop || 0\n };\n }\n },\n\n /**\n * 刷新\n */\n refresh: function () {\n var list = this.storage.getDisplayList(true, true);\n\n this._paintList(list);\n },\n _paintList: function (list) {\n var vmlRoot = this._vmlRoot;\n\n for (var i = 0; i < list.length; i++) {\n var el = list[i];\n\n if (el.invisible || el.ignore) {\n if (!el.__alreadyNotVisible) {\n el.onRemove(vmlRoot);\n } // Set as already invisible\n\n\n el.__alreadyNotVisible = true;\n } else {\n if (el.__alreadyNotVisible) {\n el.onAdd(vmlRoot);\n }\n\n el.__alreadyNotVisible = false;\n\n if (el.__dirty) {\n el.beforeBrush && el.beforeBrush();\n (el.brushVML || el.brush).call(el, vmlRoot);\n el.afterBrush && el.afterBrush();\n }\n }\n\n el.__dirty = false;\n }\n\n if (this._firstPaint) {\n // Detached from document at first time\n // to avoid page refreshing too many times\n // FIXME 如果每次都先 removeChild 可能会导致一些填充和描边的效果改变\n this._vmlViewport.appendChild(vmlRoot);\n\n this._firstPaint = false;\n }\n },\n resize: function (width, height) {\n var width = width == null ? this._getWidth() : width;\n var height = height == null ? this._getHeight() : height;\n\n if (this._width !== width || this._height !== height) {\n this._width = width;\n this._height = height;\n var vmlViewportStyle = this._vmlViewport.style;\n vmlViewportStyle.width = width + 'px';\n vmlViewportStyle.height = height + 'px';\n }\n },\n dispose: function () {\n this.root.innerHTML = '';\n this._vmlRoot = this._vmlViewport = this.storage = null;\n },\n getWidth: function () {\n return this._width;\n },\n getHeight: function () {\n return this._height;\n },\n clear: function () {\n if (this._vmlViewport) {\n this.root.removeChild(this._vmlViewport);\n }\n },\n _getWidth: function () {\n var root = this.root;\n var stl = root.currentStyle;\n return (root.clientWidth || parseInt10(stl.width)) - parseInt10(stl.paddingLeft) - parseInt10(stl.paddingRight) | 0;\n },\n _getHeight: function () {\n var root = this.root;\n var stl = root.currentStyle;\n return (root.clientHeight || parseInt10(stl.height)) - parseInt10(stl.paddingTop) - parseInt10(stl.paddingBottom) | 0;\n }\n}; // Not supported methods\n\nfunction createMethodNotSupport(method) {\n return function () {\n logError('In IE8.0 VML mode painter not support method \"' + method + '\"');\n };\n} // Unsupported methods\n\n\neach(['getLayer', 'insertLayer', 'eachLayer', 'eachBuiltinLayer', 'eachOtherLayer', 'getLayers', 'modLayer', 'delLayer', 'clearLayer', 'toDataURL', 'pathToImage'], function (name) {\n VMLPainter.prototype[name] = createMethodNotSupport(name);\n});\nvar _default = VMLPainter;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction _default(option) {\n if (!option || !zrUtil.isArray(option.series)) {\n return;\n } // Translate 'k' to 'candlestick'.\n\n\n zrUtil.each(option.series, function (seriesItem) {\n if (zrUtil.isObject(seriesItem) && seriesItem.type === 'k') {\n seriesItem.type = 'candlestick';\n }\n });\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar env = require(\"zrender/lib/core/env\");\n\nvar visualDefault = require(\"../../visual/visualDefault\");\n\nvar VisualMapping = require(\"../../visual/VisualMapping\");\n\nvar visualSolution = require(\"../../visual/visualSolution\");\n\nvar modelUtil = require(\"../../util/model\");\n\nvar numberUtil = require(\"../../util/number\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar mapVisual = VisualMapping.mapVisual;\nvar eachVisual = VisualMapping.eachVisual;\nvar isArray = zrUtil.isArray;\nvar each = zrUtil.each;\nvar asc = numberUtil.asc;\nvar linearMap = numberUtil.linearMap;\nvar noop = zrUtil.noop;\nvar VisualMapModel = echarts.extendComponentModel({\n type: 'visualMap',\n dependencies: ['series'],\n\n /**\n * @readOnly\n * @type {Array.}\n */\n stateList: ['inRange', 'outOfRange'],\n\n /**\n * @readOnly\n * @type {Array.}\n */\n replacableOptionKeys: ['inRange', 'outOfRange', 'target', 'controller', 'color'],\n\n /**\n * [lowerBound, upperBound]\n *\n * @readOnly\n * @type {Array.}\n */\n dataBound: [-Infinity, Infinity],\n\n /**\n * @readOnly\n * @type {string|Object}\n */\n layoutMode: {\n type: 'box',\n ignoreSize: true\n },\n\n /**\n * @protected\n */\n defaultOption: {\n show: true,\n zlevel: 0,\n z: 4,\n seriesIndex: 'all',\n // 'all' or null/undefined: all series.\n // A number or an array of number: the specified series.\n // set min: 0, max: 200, only for campatible with ec2.\n // In fact min max should not have default value.\n min: 0,\n // min value, must specified if pieces is not specified.\n max: 200,\n // max value, must specified if pieces is not specified.\n dimension: null,\n inRange: null,\n // 'color', 'colorHue', 'colorSaturation', 'colorLightness', 'colorAlpha',\n // 'symbol', 'symbolSize'\n outOfRange: null,\n // 'color', 'colorHue', 'colorSaturation',\n // 'colorLightness', 'colorAlpha',\n // 'symbol', 'symbolSize'\n left: 0,\n // 'center' ¦ 'left' ¦ 'right' ¦ {number} (px)\n right: null,\n // The same as left.\n top: null,\n // 'top' ¦ 'bottom' ¦ 'center' ¦ {number} (px)\n bottom: 0,\n // The same as top.\n itemWidth: null,\n itemHeight: null,\n inverse: false,\n orient: 'vertical',\n // 'horizontal' ¦ 'vertical'\n backgroundColor: 'rgba(0,0,0,0)',\n borderColor: '#ccc',\n // 值域边框颜色\n contentColor: '#5793f3',\n inactiveColor: '#aaa',\n borderWidth: 0,\n // 值域边框线宽,单位px,默认为0(无边框)\n padding: 5,\n // 值域内边距,单位px,默认各方向内边距为5,\n // 接受数组分别设定上右下左边距,同css\n textGap: 10,\n //\n precision: 0,\n // 小数精度,默认为0,无小数点\n color: null,\n //颜色(deprecated,兼容ec2,顺序同pieces,不同于inRange/outOfRange)\n formatter: null,\n text: null,\n // 文本,如['高', '低'],兼容ec2,text[0]对应高值,text[1]对应低值\n textStyle: {\n color: '#333' // 值域文字颜色\n\n }\n },\n\n /**\n * @protected\n */\n init: function (option, parentModel, ecModel) {\n /**\n * @private\n * @type {Array.}\n */\n this._dataExtent;\n /**\n * @readOnly\n */\n\n this.targetVisuals = {};\n /**\n * @readOnly\n */\n\n this.controllerVisuals = {};\n /**\n * @readOnly\n */\n\n this.textStyleModel;\n /**\n * [width, height]\n * @readOnly\n * @type {Array.}\n */\n\n this.itemSize;\n this.mergeDefaultAndTheme(option, ecModel);\n },\n\n /**\n * @protected\n */\n optionUpdated: function (newOption, isInit) {\n var thisOption = this.option; // FIXME\n // necessary?\n // Disable realtime view update if canvas is not supported.\n\n if (!env.canvasSupported) {\n thisOption.realtime = false;\n }\n\n !isInit && visualSolution.replaceVisualOption(thisOption, newOption, this.replacableOptionKeys);\n this.textStyleModel = this.getModel('textStyle');\n this.resetItemSize();\n this.completeVisualOption();\n },\n\n /**\n * @protected\n */\n resetVisual: function (supplementVisualOption) {\n var stateList = this.stateList;\n supplementVisualOption = zrUtil.bind(supplementVisualOption, this);\n this.controllerVisuals = visualSolution.createVisualMappings(this.option.controller, stateList, supplementVisualOption);\n this.targetVisuals = visualSolution.createVisualMappings(this.option.target, stateList, supplementVisualOption);\n },\n\n /**\n * @protected\n * @return {Array.} An array of series indices.\n */\n getTargetSeriesIndices: function () {\n var optionSeriesIndex = this.option.seriesIndex;\n var seriesIndices = [];\n\n if (optionSeriesIndex == null || optionSeriesIndex === 'all') {\n this.ecModel.eachSeries(function (seriesModel, index) {\n seriesIndices.push(index);\n });\n } else {\n seriesIndices = modelUtil.normalizeToArray(optionSeriesIndex);\n }\n\n return seriesIndices;\n },\n\n /**\n * @public\n */\n eachTargetSeries: function (callback, context) {\n zrUtil.each(this.getTargetSeriesIndices(), function (seriesIndex) {\n callback.call(context, this.ecModel.getSeriesByIndex(seriesIndex));\n }, this);\n },\n\n /**\n * @pubilc\n */\n isTargetSeries: function (seriesModel) {\n var is = false;\n this.eachTargetSeries(function (model) {\n model === seriesModel && (is = true);\n });\n return is;\n },\n\n /**\n * @example\n * this.formatValueText(someVal); // format single numeric value to text.\n * this.formatValueText(someVal, true); // format single category value to text.\n * this.formatValueText([min, max]); // format numeric min-max to text.\n * this.formatValueText([this.dataBound[0], max]); // using data lower bound.\n * this.formatValueText([min, this.dataBound[1]]); // using data upper bound.\n *\n * @param {number|Array.} value Real value, or this.dataBound[0 or 1].\n * @param {boolean} [isCategory=false] Only available when value is number.\n * @param {Array.} edgeSymbols Open-close symbol when value is interval.\n * @return {string}\n * @protected\n */\n formatValueText: function (value, isCategory, edgeSymbols) {\n var option = this.option;\n var precision = option.precision;\n var dataBound = this.dataBound;\n var formatter = option.formatter;\n var isMinMax;\n var textValue;\n edgeSymbols = edgeSymbols || ['<', '>'];\n\n if (zrUtil.isArray(value)) {\n value = value.slice();\n isMinMax = true;\n }\n\n textValue = isCategory ? value : isMinMax ? [toFixed(value[0]), toFixed(value[1])] : toFixed(value);\n\n if (zrUtil.isString(formatter)) {\n return formatter.replace('{value}', isMinMax ? textValue[0] : textValue).replace('{value2}', isMinMax ? textValue[1] : textValue);\n } else if (zrUtil.isFunction(formatter)) {\n return isMinMax ? formatter(value[0], value[1]) : formatter(value);\n }\n\n if (isMinMax) {\n if (value[0] === dataBound[0]) {\n return edgeSymbols[0] + ' ' + textValue[1];\n } else if (value[1] === dataBound[1]) {\n return edgeSymbols[1] + ' ' + textValue[0];\n } else {\n return textValue[0] + ' - ' + textValue[1];\n }\n } else {\n // Format single value (includes category case).\n return textValue;\n }\n\n function toFixed(val) {\n return val === dataBound[0] ? 'min' : val === dataBound[1] ? 'max' : (+val).toFixed(Math.min(precision, 20));\n }\n },\n\n /**\n * @protected\n */\n resetExtent: function () {\n var thisOption = this.option; // Can not calculate data extent by data here.\n // Because series and data may be modified in processing stage.\n // So we do not support the feature \"auto min/max\".\n\n var extent = asc([thisOption.min, thisOption.max]);\n this._dataExtent = extent;\n },\n\n /**\n * @public\n * @param {module:echarts/data/List} list\n * @return {string} Concrete dimention. If return null/undefined,\n * no dimension used.\n */\n getDataDimension: function (list) {\n var optDim = this.option.dimension;\n var listDimensions = list.dimensions;\n\n if (optDim == null && !listDimensions.length) {\n return;\n }\n\n if (optDim != null) {\n return list.getDimension(optDim);\n }\n\n var dimNames = list.dimensions;\n\n for (var i = dimNames.length - 1; i >= 0; i--) {\n var dimName = dimNames[i];\n var dimInfo = list.getDimensionInfo(dimName);\n\n if (!dimInfo.isCalculationCoord) {\n return dimName;\n }\n }\n },\n\n /**\n * @public\n * @override\n */\n getExtent: function () {\n return this._dataExtent.slice();\n },\n\n /**\n * @protected\n */\n completeVisualOption: function () {\n var ecModel = this.ecModel;\n var thisOption = this.option;\n var base = {\n inRange: thisOption.inRange,\n outOfRange: thisOption.outOfRange\n };\n var target = thisOption.target || (thisOption.target = {});\n var controller = thisOption.controller || (thisOption.controller = {});\n zrUtil.merge(target, base); // Do not override\n\n zrUtil.merge(controller, base); // Do not override\n\n var isCategory = this.isCategory();\n completeSingle.call(this, target);\n completeSingle.call(this, controller);\n completeInactive.call(this, target, 'inRange', 'outOfRange'); // completeInactive.call(this, target, 'outOfRange', 'inRange');\n\n completeController.call(this, controller);\n\n function completeSingle(base) {\n // Compatible with ec2 dataRange.color.\n // The mapping order of dataRange.color is: [high value, ..., low value]\n // whereas inRange.color and outOfRange.color is [low value, ..., high value]\n // Notice: ec2 has no inverse.\n if (isArray(thisOption.color) // If there has been inRange: {symbol: ...}, adding color is a mistake.\n // So adding color only when no inRange defined.\n && !base.inRange) {\n base.inRange = {\n color: thisOption.color.slice().reverse()\n };\n } // Compatible with previous logic, always give a defautl color, otherwise\n // simple config with no inRange and outOfRange will not work.\n // Originally we use visualMap.color as the default color, but setOption at\n // the second time the default color will be erased. So we change to use\n // constant DEFAULT_COLOR.\n // If user do not want the default color, set inRange: {color: null}.\n\n\n base.inRange = base.inRange || {\n color: ecModel.get('gradientColor')\n }; // If using shortcut like: {inRange: 'symbol'}, complete default value.\n\n each(this.stateList, function (state) {\n var visualType = base[state];\n\n if (zrUtil.isString(visualType)) {\n var defa = visualDefault.get(visualType, 'active', isCategory);\n\n if (defa) {\n base[state] = {};\n base[state][visualType] = defa;\n } else {\n // Mark as not specified.\n delete base[state];\n }\n }\n }, this);\n }\n\n function completeInactive(base, stateExist, stateAbsent) {\n var optExist = base[stateExist];\n var optAbsent = base[stateAbsent];\n\n if (optExist && !optAbsent) {\n optAbsent = base[stateAbsent] = {};\n each(optExist, function (visualData, visualType) {\n if (!VisualMapping.isValidType(visualType)) {\n return;\n }\n\n var defa = visualDefault.get(visualType, 'inactive', isCategory);\n\n if (defa != null) {\n optAbsent[visualType] = defa; // Compatibable with ec2:\n // Only inactive color to rgba(0,0,0,0) can not\n // make label transparent, so use opacity also.\n\n if (visualType === 'color' && !optAbsent.hasOwnProperty('opacity') && !optAbsent.hasOwnProperty('colorAlpha')) {\n optAbsent.opacity = [0, 0];\n }\n }\n });\n }\n }\n\n function completeController(controller) {\n var symbolExists = (controller.inRange || {}).symbol || (controller.outOfRange || {}).symbol;\n var symbolSizeExists = (controller.inRange || {}).symbolSize || (controller.outOfRange || {}).symbolSize;\n var inactiveColor = this.get('inactiveColor');\n each(this.stateList, function (state) {\n var itemSize = this.itemSize;\n var visuals = controller[state]; // Set inactive color for controller if no other color\n // attr (like colorAlpha) specified.\n\n if (!visuals) {\n visuals = controller[state] = {\n color: isCategory ? inactiveColor : [inactiveColor]\n };\n } // Consistent symbol and symbolSize if not specified.\n\n\n if (visuals.symbol == null) {\n visuals.symbol = symbolExists && zrUtil.clone(symbolExists) || (isCategory ? 'roundRect' : ['roundRect']);\n }\n\n if (visuals.symbolSize == null) {\n visuals.symbolSize = symbolSizeExists && zrUtil.clone(symbolSizeExists) || (isCategory ? itemSize[0] : [itemSize[0], itemSize[0]]);\n } // Filter square and none.\n\n\n visuals.symbol = mapVisual(visuals.symbol, function (symbol) {\n return symbol === 'none' || symbol === 'square' ? 'roundRect' : symbol;\n }); // Normalize symbolSize\n\n var symbolSize = visuals.symbolSize;\n\n if (symbolSize != null) {\n var max = -Infinity; // symbolSize can be object when categories defined.\n\n eachVisual(symbolSize, function (value) {\n value > max && (max = value);\n });\n visuals.symbolSize = mapVisual(symbolSize, function (value) {\n return linearMap(value, [0, max], [0, itemSize[0]], true);\n });\n }\n }, this);\n }\n },\n\n /**\n * @protected\n */\n resetItemSize: function () {\n this.itemSize = [parseFloat(this.get('itemWidth')), parseFloat(this.get('itemHeight'))];\n },\n\n /**\n * @public\n */\n isCategory: function () {\n return !!this.option.categories;\n },\n\n /**\n * @public\n * @abstract\n */\n setSelected: noop,\n\n /**\n * @public\n * @abstract\n * @param {*|module:echarts/data/List} valueOrData\n * @param {number} dataIndex\n * @return {string} state See this.stateList\n */\n getValueState: noop,\n\n /**\n * FIXME\n * Do not publish to thirt-part-dev temporarily\n * util the interface is stable. (Should it return\n * a function but not visual meta?)\n *\n * @pubilc\n * @abstract\n * @param {Function} getColorVisual\n * params: value, valueState\n * return: color\n * @return {Object} visualMeta\n * should includes {stops, outerColors}\n * outerColor means [colorBeyondMinValue, colorBeyondMaxValue]\n */\n getVisualMeta: noop\n});\nvar _default = VisualMapModel;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction dataToCoordSize(dataSize, dataItem) {\n // dataItem is necessary in log axis.\n return zrUtil.map(['Radius', 'Angle'], function (dim, dimIdx) {\n var axis = this['get' + dim + 'Axis']();\n var val = dataItem[dimIdx];\n var halfSize = dataSize[dimIdx] / 2;\n var method = 'dataTo' + dim;\n var result = axis.type === 'category' ? axis.getBandWidth() : Math.abs(axis[method](val - halfSize) - axis[method](val + halfSize));\n\n if (dim === 'Angle') {\n result = result * Math.PI / 180;\n }\n\n return result;\n }, this);\n}\n\nfunction _default(coordSys) {\n var radiusAxis = coordSys.getRadiusAxis();\n var angleAxis = coordSys.getAngleAxis();\n var radius = radiusAxis.getExtent();\n radius[0] > radius[1] && radius.reverse();\n return {\n coordSys: {\n type: 'polar',\n cx: coordSys.cx,\n cy: coordSys.cy,\n r: radius[1],\n r0: radius[0]\n },\n api: {\n coord: zrUtil.bind(function (data) {\n var radius = radiusAxis.dataToRadius(data[0]);\n var angle = angleAxis.dataToAngle(data[1]);\n var coord = coordSys.coordToPoint([radius, angle]);\n coord.push(radius, angle * Math.PI / 180);\n return coord;\n }),\n size: zrUtil.bind(dataToCoordSize, coordSys)\n }\n };\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Calculate slider move result.\n * Usage:\n * (1) If both handle0 and handle1 are needed to be moved, set minSpan the same as\n * maxSpan and the same as `Math.abs(handleEnd[1] - handleEnds[0])`.\n * (2) If handle0 is forbidden to cross handle1, set minSpan as `0`.\n *\n * @param {number} delta Move length.\n * @param {Array.} handleEnds handleEnds[0] can be bigger then handleEnds[1].\n * handleEnds will be modified in this method.\n * @param {Array.} extent handleEnds is restricted by extent.\n * extent[0] should less or equals than extent[1].\n * @param {number|string} handleIndex Can be 'all', means that both move the two handleEnds.\n * @param {number} [minSpan] The range of dataZoom can not be smaller than that.\n * If not set, handle0 and cross handle1. If set as a non-negative\n * number (including `0`), handles will push each other when reaching\n * the minSpan.\n * @param {number} [maxSpan] The range of dataZoom can not be larger than that.\n * @return {Array.} The input handleEnds.\n */\nfunction _default(delta, handleEnds, extent, handleIndex, minSpan, maxSpan) {\n delta = delta || 0;\n var extentSpan = extent[1] - extent[0]; // Notice maxSpan and minSpan can be null/undefined.\n\n if (minSpan != null) {\n minSpan = restrict(minSpan, [0, extentSpan]);\n }\n\n if (maxSpan != null) {\n maxSpan = Math.max(maxSpan, minSpan != null ? minSpan : 0);\n }\n\n if (handleIndex === 'all') {\n var handleSpan = Math.abs(handleEnds[1] - handleEnds[0]);\n handleSpan = restrict(handleSpan, [0, extentSpan]);\n minSpan = maxSpan = restrict(handleSpan, [minSpan, maxSpan]);\n handleIndex = 0;\n }\n\n handleEnds[0] = restrict(handleEnds[0], extent);\n handleEnds[1] = restrict(handleEnds[1], extent);\n var originalDistSign = getSpanSign(handleEnds, handleIndex);\n handleEnds[handleIndex] += delta; // Restrict in extent.\n\n var extentMinSpan = minSpan || 0;\n var realExtent = extent.slice();\n originalDistSign.sign < 0 ? realExtent[0] += extentMinSpan : realExtent[1] -= extentMinSpan;\n handleEnds[handleIndex] = restrict(handleEnds[handleIndex], realExtent); // Expand span.\n\n var currDistSign = getSpanSign(handleEnds, handleIndex);\n\n if (minSpan != null && (currDistSign.sign !== originalDistSign.sign || currDistSign.span < minSpan)) {\n // If minSpan exists, 'cross' is forbidden.\n handleEnds[1 - handleIndex] = handleEnds[handleIndex] + originalDistSign.sign * minSpan;\n } // Shrink span.\n\n\n var currDistSign = getSpanSign(handleEnds, handleIndex);\n\n if (maxSpan != null && currDistSign.span > maxSpan) {\n handleEnds[1 - handleIndex] = handleEnds[handleIndex] + currDistSign.sign * maxSpan;\n }\n\n return handleEnds;\n}\n\nfunction getSpanSign(handleEnds, handleIndex) {\n var dist = handleEnds[handleIndex] - handleEnds[1 - handleIndex]; // If `handleEnds[0] === handleEnds[1]`, always believe that handleEnd[0]\n // is at left of handleEnds[1] for non-cross case.\n\n return {\n span: Math.abs(dist),\n sign: dist > 0 ? -1 : dist < 0 ? 1 : handleIndex ? -1 : 1\n };\n}\n\nfunction restrict(value, extend) {\n return Math.min(extend[1] != null ? extend[1] : Infinity, Math.max(extend[0] != null ? extend[0] : -Infinity, value));\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./line/LineSeries\");\n\nrequire(\"./line/LineView\");\n\nvar visualSymbol = require(\"../visual/symbol\");\n\nvar layoutPoints = require(\"../layout/points\");\n\nvar dataSample = require(\"../processor/dataSample\");\n\nrequire(\"../component/gridSimple\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// In case developer forget to include grid component\necharts.registerVisual(visualSymbol('line', 'circle', 'line'));\necharts.registerLayout(layoutPoints('line')); // Down sample after filter\n\necharts.registerProcessor(echarts.PRIORITY.PROCESSOR.STATISTIC, dataSample('line'));","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./tree/TreeSeries\");\n\nrequire(\"./tree/TreeView\");\n\nrequire(\"./tree/treeAction\");\n\nvar visualSymbol = require(\"../visual/symbol\");\n\nvar treeLayout = require(\"./tree/treeLayout\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerVisual(visualSymbol('tree', 'circle'));\necharts.registerLayout(treeLayout);","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Axis = require(\"../Axis\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Extend axis 2d\n * @constructor module:echarts/coord/cartesian/Axis2D\n * @extends {module:echarts/coord/cartesian/Axis}\n * @param {string} dim\n * @param {*} scale\n * @param {Array.} coordExtent\n * @param {string} axisType\n * @param {string} position\n */\nvar Axis2D = function (dim, scale, coordExtent, axisType, position) {\n Axis.call(this, dim, scale, coordExtent);\n /**\n * Axis type\n * - 'category'\n * - 'value'\n * - 'time'\n * - 'log'\n * @type {string}\n */\n\n this.type = axisType || 'value';\n /**\n * Axis position\n * - 'top'\n * - 'bottom'\n * - 'left'\n * - 'right'\n */\n\n this.position = position || 'bottom';\n};\n\nAxis2D.prototype = {\n constructor: Axis2D,\n\n /**\n * Index of axis, can be used as key\n */\n index: 0,\n\n /**\n * Implemented in .\n * @return {Array.}\n * If not on zero of other axis, return null/undefined.\n * If no axes, return an empty array.\n */\n getAxesOnZeroOf: null,\n\n /**\n * Axis model\n * @param {module:echarts/coord/cartesian/AxisModel}\n */\n model: null,\n isHorizontal: function () {\n var position = this.position;\n return position === 'top' || position === 'bottom';\n },\n\n /**\n * Each item cooresponds to this.getExtent(), which\n * means globalExtent[0] may greater than globalExtent[1],\n * unless `asc` is input.\n *\n * @param {boolean} [asc]\n * @return {Array.}\n */\n getGlobalExtent: function (asc) {\n var ret = this.getExtent();\n ret[0] = this.toGlobalCoord(ret[0]);\n ret[1] = this.toGlobalCoord(ret[1]);\n asc && ret[0] > ret[1] && ret.reverse();\n return ret;\n },\n getOtherAxis: function () {\n this.grid.getOtherAxis();\n },\n\n /**\n * @override\n */\n pointToData: function (point, clamp) {\n return this.coordToData(this.toLocalCoord(point[this.dim === 'x' ? 0 : 1]), clamp);\n },\n\n /**\n * Transform global coord to local coord,\n * i.e. var localCoord = axis.toLocalCoord(80);\n * designate by module:echarts/coord/cartesian/Grid.\n * @type {Function}\n */\n toLocalCoord: null,\n\n /**\n * Transform global coord to local coord,\n * i.e. var globalCoord = axis.toLocalCoord(40);\n * designate by module:echarts/coord/cartesian/Grid.\n * @type {Function}\n */\n toGlobalCoord: null\n};\nzrUtil.inherits(Axis2D, Axis);\nvar _default = Axis2D;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar createHashMap = _util.createHashMap;\nvar isString = _util.isString;\nvar isArray = _util.isArray;\nvar each = _util.each;\nvar assert = _util.assert;\n\nvar _parseSVG = require(\"zrender/lib/tool/parseSVG\");\n\nvar parseXML = _parseSVG.parseXML;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar storage = createHashMap(); // For minimize the code size of common echarts package,\n// do not put too much logic in this module.\n\nvar _default = {\n // The format of record: see `echarts.registerMap`.\n // Compatible with previous `echarts.registerMap`.\n registerMap: function (mapName, rawGeoJson, rawSpecialAreas) {\n var records;\n\n if (isArray(rawGeoJson)) {\n records = rawGeoJson;\n } else if (rawGeoJson.svg) {\n records = [{\n type: 'svg',\n source: rawGeoJson.svg,\n specialAreas: rawGeoJson.specialAreas\n }];\n } else {\n // Backward compatibility.\n if (rawGeoJson.geoJson && !rawGeoJson.features) {\n rawSpecialAreas = rawGeoJson.specialAreas;\n rawGeoJson = rawGeoJson.geoJson;\n }\n\n records = [{\n type: 'geoJSON',\n source: rawGeoJson,\n specialAreas: rawSpecialAreas\n }];\n }\n\n each(records, function (record) {\n var type = record.type;\n type === 'geoJson' && (type = record.type = 'geoJSON');\n var parse = parsers[type];\n parse(record);\n });\n return storage.set(mapName, records);\n },\n retrieveMap: function (mapName) {\n return storage.get(mapName);\n }\n};\nvar parsers = {\n geoJSON: function (record) {\n var source = record.source;\n record.geoJSON = !isString(source) ? source : typeof JSON !== 'undefined' && JSON.parse ? JSON.parse(source) : new Function('return (' + source + ');')();\n },\n // Only perform parse to XML object here, which might be time\n // consiming for large SVG.\n // Although convert XML to zrender element is also time consiming,\n // if we do it here, the clone of zrender elements has to be\n // required. So we do it once for each geo instance, util real\n // performance issues call for optimizing it.\n svg: function (record) {\n record.svgXML = parseXML(record.source);\n }\n};\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar createHashMap = _util.createHashMap;\nvar isTypedArray = _util.isTypedArray;\n\nvar _clazz = require(\"../util/clazz\");\n\nvar enableClassCheck = _clazz.enableClassCheck;\n\nvar _sourceType = require(\"./helper/sourceType\");\n\nvar SOURCE_FORMAT_ORIGINAL = _sourceType.SOURCE_FORMAT_ORIGINAL;\nvar SERIES_LAYOUT_BY_COLUMN = _sourceType.SERIES_LAYOUT_BY_COLUMN;\nvar SOURCE_FORMAT_UNKNOWN = _sourceType.SOURCE_FORMAT_UNKNOWN;\nvar SOURCE_FORMAT_TYPED_ARRAY = _sourceType.SOURCE_FORMAT_TYPED_ARRAY;\nvar SOURCE_FORMAT_KEYED_COLUMNS = _sourceType.SOURCE_FORMAT_KEYED_COLUMNS;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * [sourceFormat]\n *\n * + \"original\":\n * This format is only used in series.data, where\n * itemStyle can be specified in data item.\n *\n * + \"arrayRows\":\n * [\n * ['product', 'score', 'amount'],\n * ['Matcha Latte', 89.3, 95.8],\n * ['Milk Tea', 92.1, 89.4],\n * ['Cheese Cocoa', 94.4, 91.2],\n * ['Walnut Brownie', 85.4, 76.9]\n * ]\n *\n * + \"objectRows\":\n * [\n * {product: 'Matcha Latte', score: 89.3, amount: 95.8},\n * {product: 'Milk Tea', score: 92.1, amount: 89.4},\n * {product: 'Cheese Cocoa', score: 94.4, amount: 91.2},\n * {product: 'Walnut Brownie', score: 85.4, amount: 76.9}\n * ]\n *\n * + \"keyedColumns\":\n * {\n * 'product': ['Matcha Latte', 'Milk Tea', 'Cheese Cocoa', 'Walnut Brownie'],\n * 'count': [823, 235, 1042, 988],\n * 'score': [95.8, 81.4, 91.2, 76.9]\n * }\n *\n * + \"typedArray\"\n *\n * + \"unknown\"\n */\n\n/**\n * @constructor\n * @param {Object} fields\n * @param {string} fields.sourceFormat\n * @param {Array|Object} fields.fromDataset\n * @param {Array|Object} [fields.data]\n * @param {string} [seriesLayoutBy='column']\n * @param {Array.} [dimensionsDefine]\n * @param {Objet|HashMap} [encodeDefine]\n * @param {number} [startIndex=0]\n * @param {number} [dimensionsDetectCount]\n */\nfunction Source(fields) {\n /**\n * @type {boolean}\n */\n this.fromDataset = fields.fromDataset;\n /**\n * Not null/undefined.\n * @type {Array|Object}\n */\n\n this.data = fields.data || (fields.sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS ? {} : []);\n /**\n * See also \"detectSourceFormat\".\n * Not null/undefined.\n * @type {string}\n */\n\n this.sourceFormat = fields.sourceFormat || SOURCE_FORMAT_UNKNOWN;\n /**\n * 'row' or 'column'\n * Not null/undefined.\n * @type {string} seriesLayoutBy\n */\n\n this.seriesLayoutBy = fields.seriesLayoutBy || SERIES_LAYOUT_BY_COLUMN;\n /**\n * dimensions definition in option.\n * can be null/undefined.\n * @type {Array.}\n */\n\n this.dimensionsDefine = fields.dimensionsDefine;\n /**\n * encode definition in option.\n * can be null/undefined.\n * @type {Objet|HashMap}\n */\n\n this.encodeDefine = fields.encodeDefine && createHashMap(fields.encodeDefine);\n /**\n * Not null/undefined, uint.\n * @type {number}\n */\n\n this.startIndex = fields.startIndex || 0;\n /**\n * Can be null/undefined (when unknown), uint.\n * @type {number}\n */\n\n this.dimensionsDetectCount = fields.dimensionsDetectCount;\n}\n/**\n * Wrap original series data for some compatibility cases.\n */\n\n\nSource.seriesDataToSource = function (data) {\n return new Source({\n data: data,\n sourceFormat: isTypedArray(data) ? SOURCE_FORMAT_TYPED_ARRAY : SOURCE_FORMAT_ORIGINAL,\n fromDataset: false\n });\n};\n\nenableClassCheck(Source);\nvar _default = Source;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _number = require(\"../../util/number\");\n\nvar parsePercent = _number.parsePercent;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar each = zrUtil.each;\n\nfunction _default(ecModel) {\n var groupResult = groupSeriesByAxis(ecModel);\n each(groupResult, function (groupItem) {\n var seriesModels = groupItem.seriesModels;\n\n if (!seriesModels.length) {\n return;\n }\n\n calculateBase(groupItem);\n each(seriesModels, function (seriesModel, idx) {\n layoutSingleSeries(seriesModel, groupItem.boxOffsetList[idx], groupItem.boxWidthList[idx]);\n });\n });\n}\n/**\n * Group series by axis.\n */\n\n\nfunction groupSeriesByAxis(ecModel) {\n var result = [];\n var axisList = [];\n ecModel.eachSeriesByType('boxplot', function (seriesModel) {\n var baseAxis = seriesModel.getBaseAxis();\n var idx = zrUtil.indexOf(axisList, baseAxis);\n\n if (idx < 0) {\n idx = axisList.length;\n axisList[idx] = baseAxis;\n result[idx] = {\n axis: baseAxis,\n seriesModels: []\n };\n }\n\n result[idx].seriesModels.push(seriesModel);\n });\n return result;\n}\n/**\n * Calculate offset and box width for each series.\n */\n\n\nfunction calculateBase(groupItem) {\n var extent;\n var baseAxis = groupItem.axis;\n var seriesModels = groupItem.seriesModels;\n var seriesCount = seriesModels.length;\n var boxWidthList = groupItem.boxWidthList = [];\n var boxOffsetList = groupItem.boxOffsetList = [];\n var boundList = [];\n var bandWidth;\n\n if (baseAxis.type === 'category') {\n bandWidth = baseAxis.getBandWidth();\n } else {\n var maxDataCount = 0;\n each(seriesModels, function (seriesModel) {\n maxDataCount = Math.max(maxDataCount, seriesModel.getData().count());\n });\n extent = baseAxis.getExtent(), Math.abs(extent[1] - extent[0]) / maxDataCount;\n }\n\n each(seriesModels, function (seriesModel) {\n var boxWidthBound = seriesModel.get('boxWidth');\n\n if (!zrUtil.isArray(boxWidthBound)) {\n boxWidthBound = [boxWidthBound, boxWidthBound];\n }\n\n boundList.push([parsePercent(boxWidthBound[0], bandWidth) || 0, parsePercent(boxWidthBound[1], bandWidth) || 0]);\n });\n var availableWidth = bandWidth * 0.8 - 2;\n var boxGap = availableWidth / seriesCount * 0.3;\n var boxWidth = (availableWidth - boxGap * (seriesCount - 1)) / seriesCount;\n var base = boxWidth / 2 - availableWidth / 2;\n each(seriesModels, function (seriesModel, idx) {\n boxOffsetList.push(base);\n base += boxGap + boxWidth;\n boxWidthList.push(Math.min(Math.max(boxWidth, boundList[idx][0]), boundList[idx][1]));\n });\n}\n/**\n * Calculate points location for each series.\n */\n\n\nfunction layoutSingleSeries(seriesModel, offset, boxWidth) {\n var coordSys = seriesModel.coordinateSystem;\n var data = seriesModel.getData();\n var halfWidth = boxWidth / 2;\n var cDimIdx = seriesModel.get('layout') === 'horizontal' ? 0 : 1;\n var vDimIdx = 1 - cDimIdx;\n var coordDims = ['x', 'y'];\n var cDim = data.mapDimension(coordDims[cDimIdx]);\n var vDims = data.mapDimension(coordDims[vDimIdx], true);\n\n if (cDim == null || vDims.length < 5) {\n return;\n }\n\n for (var dataIndex = 0; dataIndex < data.count(); dataIndex++) {\n var axisDimVal = data.get(cDim, dataIndex);\n var median = getPoint(axisDimVal, vDims[2], dataIndex);\n var end1 = getPoint(axisDimVal, vDims[0], dataIndex);\n var end2 = getPoint(axisDimVal, vDims[1], dataIndex);\n var end4 = getPoint(axisDimVal, vDims[3], dataIndex);\n var end5 = getPoint(axisDimVal, vDims[4], dataIndex);\n var ends = [];\n addBodyEnd(ends, end2, 0);\n addBodyEnd(ends, end4, 1);\n ends.push(end1, end2, end5, end4);\n layEndLine(ends, end1);\n layEndLine(ends, end5);\n layEndLine(ends, median);\n data.setItemLayout(dataIndex, {\n initBaseline: median[vDimIdx],\n ends: ends\n });\n }\n\n function getPoint(axisDimVal, dimIdx, dataIndex) {\n var val = data.get(dimIdx, dataIndex);\n var p = [];\n p[cDimIdx] = axisDimVal;\n p[vDimIdx] = val;\n var point;\n\n if (isNaN(axisDimVal) || isNaN(val)) {\n point = [NaN, NaN];\n } else {\n point = coordSys.dataToPoint(p);\n point[cDimIdx] += offset;\n }\n\n return point;\n }\n\n function addBodyEnd(ends, point, start) {\n var point1 = point.slice();\n var point2 = point.slice();\n point1[cDimIdx] += halfWidth;\n point2[cDimIdx] -= halfWidth;\n start ? ends.push(point1, point2) : ends.push(point2, point1);\n }\n\n function layEndLine(ends, endCenter) {\n var from = endCenter.slice();\n var to = endCenter.slice();\n from[cDimIdx] -= halfWidth;\n to[cDimIdx] += halfWidth;\n ends.push(from, to);\n }\n}\n\nmodule.exports = _default;","var _config = require(\"./config\");\n\nvar devicePixelRatio = _config.devicePixelRatio;\n\nvar util = require(\"./core/util\");\n\nvar logError = require(\"./core/log\");\n\nvar BoundingRect = require(\"./core/BoundingRect\");\n\nvar timsort = require(\"./core/timsort\");\n\nvar Layer = require(\"./Layer\");\n\nvar requestAnimationFrame = require(\"./animation/requestAnimationFrame\");\n\nvar Image = require(\"./graphic/Image\");\n\nvar env = require(\"./core/env\");\n\nvar HOVER_LAYER_ZLEVEL = 1e5;\nvar CANVAS_ZLEVEL = 314159;\nvar EL_AFTER_INCREMENTAL_INC = 0.01;\nvar INCREMENTAL_INC = 0.001;\n\nfunction parseInt10(val) {\n return parseInt(val, 10);\n}\n\nfunction isLayerValid(layer) {\n if (!layer) {\n return false;\n }\n\n if (layer.__builtin__) {\n return true;\n }\n\n if (typeof layer.resize !== 'function' || typeof layer.refresh !== 'function') {\n return false;\n }\n\n return true;\n}\n\nvar tmpRect = new BoundingRect(0, 0, 0, 0);\nvar viewRect = new BoundingRect(0, 0, 0, 0);\n\nfunction isDisplayableCulled(el, width, height) {\n tmpRect.copy(el.getBoundingRect());\n\n if (el.transform) {\n tmpRect.applyTransform(el.transform);\n }\n\n viewRect.width = width;\n viewRect.height = height;\n return !tmpRect.intersect(viewRect);\n}\n\nfunction isClipPathChanged(clipPaths, prevClipPaths) {\n // displayable.__clipPaths can only be `null`/`undefined` or an non-empty array.\n if (clipPaths === prevClipPaths) {\n return false;\n }\n\n if (!clipPaths || !prevClipPaths || clipPaths.length !== prevClipPaths.length) {\n return true;\n }\n\n for (var i = 0; i < clipPaths.length; i++) {\n if (clipPaths[i] !== prevClipPaths[i]) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction doClip(clipPaths, ctx) {\n for (var i = 0; i < clipPaths.length; i++) {\n var clipPath = clipPaths[i];\n clipPath.setTransform(ctx);\n ctx.beginPath();\n clipPath.buildPath(ctx, clipPath.shape);\n ctx.clip(); // Transform back\n\n clipPath.restoreTransform(ctx);\n }\n}\n\nfunction createRoot(width, height) {\n var domRoot = document.createElement('div'); // domRoot.onselectstart = returnFalse; // Avoid page selected\n\n domRoot.style.cssText = ['position:relative', // IOS13 safari probably has a compositing bug (z order of the canvas and the consequent\n // dom does not act as expected) when some of the parent dom has\n // `-webkit-overflow-scrolling: touch;` and the webpage is longer than one screen and\n // the canvas is not at the top part of the page.\n // Check `https://bugs.webkit.org/show_bug.cgi?id=203681` for more details. We remove\n // this `overflow:hidden` to avoid the bug.\n // 'overflow:hidden',\n 'width:' + width + 'px', 'height:' + height + 'px', 'padding:0', 'margin:0', 'border-width:0'].join(';') + ';';\n return domRoot;\n}\n/**\n * @alias module:zrender/Painter\n * @constructor\n * @param {HTMLElement} root 绘图容器\n * @param {module:zrender/Storage} storage\n * @param {Object} opts\n */\n\n\nvar Painter = function (root, storage, opts) {\n this.type = 'canvas'; // In node environment using node-canvas\n\n var singleCanvas = !root.nodeName // In node ?\n || root.nodeName.toUpperCase() === 'CANVAS';\n this._opts = opts = util.extend({}, opts || {});\n /**\n * @type {number}\n */\n\n this.dpr = opts.devicePixelRatio || devicePixelRatio;\n /**\n * @type {boolean}\n * @private\n */\n\n this._singleCanvas = singleCanvas;\n /**\n * 绘图容器\n * @type {HTMLElement}\n */\n\n this.root = root;\n var rootStyle = root.style;\n\n if (rootStyle) {\n rootStyle['-webkit-tap-highlight-color'] = 'transparent';\n rootStyle['-webkit-user-select'] = rootStyle['user-select'] = rootStyle['-webkit-touch-callout'] = 'none';\n root.innerHTML = '';\n }\n /**\n * @type {module:zrender/Storage}\n */\n\n\n this.storage = storage;\n /**\n * @type {Array.}\n * @private\n */\n\n var zlevelList = this._zlevelList = [];\n /**\n * @type {Object.}\n * @private\n */\n\n var layers = this._layers = {};\n /**\n * @type {Object.}\n * @private\n */\n\n this._layerConfig = {};\n /**\n * zrender will do compositing when root is a canvas and have multiple zlevels.\n */\n\n this._needsManuallyCompositing = false;\n\n if (!singleCanvas) {\n this._width = this._getSize(0);\n this._height = this._getSize(1);\n var domRoot = this._domRoot = createRoot(this._width, this._height);\n root.appendChild(domRoot);\n } else {\n var width = root.width;\n var height = root.height;\n\n if (opts.width != null) {\n width = opts.width;\n }\n\n if (opts.height != null) {\n height = opts.height;\n }\n\n this.dpr = opts.devicePixelRatio || 1; // Use canvas width and height directly\n\n root.width = width * this.dpr;\n root.height = height * this.dpr;\n this._width = width;\n this._height = height; // Create layer if only one given canvas\n // Device can be specified to create a high dpi image.\n\n var mainLayer = new Layer(root, this, this.dpr);\n mainLayer.__builtin__ = true;\n mainLayer.initContext(); // FIXME Use canvas width and height\n // mainLayer.resize(width, height);\n\n layers[CANVAS_ZLEVEL] = mainLayer;\n mainLayer.zlevel = CANVAS_ZLEVEL; // Not use common zlevel.\n\n zlevelList.push(CANVAS_ZLEVEL);\n this._domRoot = root;\n }\n /**\n * @type {module:zrender/Layer}\n * @private\n */\n\n\n this._hoverlayer = null;\n this._hoverElements = [];\n};\n\nPainter.prototype = {\n constructor: Painter,\n getType: function () {\n return 'canvas';\n },\n\n /**\n * If painter use a single canvas\n * @return {boolean}\n */\n isSingleCanvas: function () {\n return this._singleCanvas;\n },\n\n /**\n * @return {HTMLDivElement}\n */\n getViewportRoot: function () {\n return this._domRoot;\n },\n getViewportRootOffset: function () {\n var viewportRoot = this.getViewportRoot();\n\n if (viewportRoot) {\n return {\n offsetLeft: viewportRoot.offsetLeft || 0,\n offsetTop: viewportRoot.offsetTop || 0\n };\n }\n },\n\n /**\n * 刷新\n * @param {boolean} [paintAll=false] 强制绘制所有displayable\n */\n refresh: function (paintAll) {\n var list = this.storage.getDisplayList(true);\n var zlevelList = this._zlevelList;\n this._redrawId = Math.random();\n\n this._paintList(list, paintAll, this._redrawId); // Paint custum layers\n\n\n for (var i = 0; i < zlevelList.length; i++) {\n var z = zlevelList[i];\n var layer = this._layers[z];\n\n if (!layer.__builtin__ && layer.refresh) {\n var clearColor = i === 0 ? this._backgroundColor : null;\n layer.refresh(clearColor);\n }\n }\n\n this.refreshHover();\n return this;\n },\n addHover: function (el, hoverStyle) {\n if (el.__hoverMir) {\n return;\n }\n\n var elMirror = new el.constructor({\n style: el.style,\n shape: el.shape,\n z: el.z,\n z2: el.z2,\n silent: el.silent\n });\n elMirror.__from = el;\n el.__hoverMir = elMirror;\n hoverStyle && elMirror.setStyle(hoverStyle);\n\n this._hoverElements.push(elMirror);\n\n return elMirror;\n },\n removeHover: function (el) {\n var elMirror = el.__hoverMir;\n var hoverElements = this._hoverElements;\n var idx = util.indexOf(hoverElements, elMirror);\n\n if (idx >= 0) {\n hoverElements.splice(idx, 1);\n }\n\n el.__hoverMir = null;\n },\n clearHover: function (el) {\n var hoverElements = this._hoverElements;\n\n for (var i = 0; i < hoverElements.length; i++) {\n var from = hoverElements[i].__from;\n\n if (from) {\n from.__hoverMir = null;\n }\n }\n\n hoverElements.length = 0;\n },\n refreshHover: function () {\n var hoverElements = this._hoverElements;\n var len = hoverElements.length;\n var hoverLayer = this._hoverlayer;\n hoverLayer && hoverLayer.clear();\n\n if (!len) {\n return;\n }\n\n timsort(hoverElements, this.storage.displayableSortFunc); // Use a extream large zlevel\n // FIXME?\n\n if (!hoverLayer) {\n hoverLayer = this._hoverlayer = this.getLayer(HOVER_LAYER_ZLEVEL);\n }\n\n var scope = {};\n hoverLayer.ctx.save();\n\n for (var i = 0; i < len;) {\n var el = hoverElements[i];\n var originalEl = el.__from; // Original el is removed\n // PENDING\n\n if (!(originalEl && originalEl.__zr)) {\n hoverElements.splice(i, 1);\n originalEl.__hoverMir = null;\n len--;\n continue;\n }\n\n i++; // Use transform\n // FIXME style and shape ?\n\n if (!originalEl.invisible) {\n el.transform = originalEl.transform;\n el.invTransform = originalEl.invTransform;\n el.__clipPaths = originalEl.__clipPaths; // el.\n\n this._doPaintEl(el, hoverLayer, true, scope);\n }\n }\n\n hoverLayer.ctx.restore();\n },\n getHoverLayer: function () {\n return this.getLayer(HOVER_LAYER_ZLEVEL);\n },\n _paintList: function (list, paintAll, redrawId) {\n if (this._redrawId !== redrawId) {\n return;\n }\n\n paintAll = paintAll || false;\n\n this._updateLayerStatus(list);\n\n var finished = this._doPaintList(list, paintAll);\n\n if (this._needsManuallyCompositing) {\n this._compositeManually();\n }\n\n if (!finished) {\n var self = this;\n requestAnimationFrame(function () {\n self._paintList(list, paintAll, redrawId);\n });\n }\n },\n _compositeManually: function () {\n var ctx = this.getLayer(CANVAS_ZLEVEL).ctx;\n var width = this._domRoot.width;\n var height = this._domRoot.height;\n ctx.clearRect(0, 0, width, height); // PENDING, If only builtin layer?\n\n this.eachBuiltinLayer(function (layer) {\n if (layer.virtual) {\n ctx.drawImage(layer.dom, 0, 0, width, height);\n }\n });\n },\n _doPaintList: function (list, paintAll) {\n var layerList = [];\n\n for (var zi = 0; zi < this._zlevelList.length; zi++) {\n var zlevel = this._zlevelList[zi];\n var layer = this._layers[zlevel];\n\n if (layer.__builtin__ && layer !== this._hoverlayer && (layer.__dirty || paintAll)) {\n layerList.push(layer);\n }\n }\n\n var finished = true;\n\n for (var k = 0; k < layerList.length; k++) {\n var layer = layerList[k];\n var ctx = layer.ctx;\n var scope = {};\n ctx.save();\n var start = paintAll ? layer.__startIndex : layer.__drawIndex;\n var useTimer = !paintAll && layer.incremental && Date.now;\n var startTime = useTimer && Date.now();\n var clearColor = layer.zlevel === this._zlevelList[0] ? this._backgroundColor : null; // All elements in this layer are cleared.\n\n if (layer.__startIndex === layer.__endIndex) {\n layer.clear(false, clearColor);\n } else if (start === layer.__startIndex) {\n var firstEl = list[start];\n\n if (!firstEl.incremental || !firstEl.notClear || paintAll) {\n layer.clear(false, clearColor);\n }\n }\n\n if (start === -1) {\n console.error('For some unknown reason. drawIndex is -1');\n start = layer.__startIndex;\n }\n\n for (var i = start; i < layer.__endIndex; i++) {\n var el = list[i];\n\n this._doPaintEl(el, layer, paintAll, scope);\n\n el.__dirty = el.__dirtyText = false;\n\n if (useTimer) {\n // Date.now can be executed in 13,025,305 ops/second.\n var dTime = Date.now() - startTime; // Give 15 millisecond to draw.\n // The rest elements will be drawn in the next frame.\n\n if (dTime > 15) {\n break;\n }\n }\n }\n\n layer.__drawIndex = i;\n\n if (layer.__drawIndex < layer.__endIndex) {\n finished = false;\n }\n\n if (scope.prevElClipPaths) {\n // Needs restore the state. If last drawn element is in the clipping area.\n ctx.restore();\n }\n\n ctx.restore();\n }\n\n if (env.wxa) {\n // Flush for weixin application\n util.each(this._layers, function (layer) {\n if (layer && layer.ctx && layer.ctx.draw) {\n layer.ctx.draw();\n }\n });\n }\n\n return finished;\n },\n _doPaintEl: function (el, currentLayer, forcePaint, scope) {\n var ctx = currentLayer.ctx;\n var m = el.transform;\n\n if ((currentLayer.__dirty || forcePaint) && // Ignore invisible element\n !el.invisible // Ignore transparent element\n && el.style.opacity !== 0 // Ignore scale 0 element, in some environment like node-canvas\n // Draw a scale 0 element can cause all following draw wrong\n // And setTransform with scale 0 will cause set back transform failed.\n && !(m && !m[0] && !m[3]) // Ignore culled element\n && !(el.culling && isDisplayableCulled(el, this._width, this._height))) {\n var clipPaths = el.__clipPaths;\n var prevElClipPaths = scope.prevElClipPaths; // Optimize when clipping on group with several elements\n\n if (!prevElClipPaths || isClipPathChanged(clipPaths, prevElClipPaths)) {\n // If has previous clipping state, restore from it\n if (prevElClipPaths) {\n ctx.restore();\n scope.prevElClipPaths = null; // Reset prevEl since context has been restored\n\n scope.prevEl = null;\n } // New clipping state\n\n\n if (clipPaths) {\n ctx.save();\n doClip(clipPaths, ctx);\n scope.prevElClipPaths = clipPaths;\n }\n }\n\n el.beforeBrush && el.beforeBrush(ctx);\n el.brush(ctx, scope.prevEl || null);\n scope.prevEl = el;\n el.afterBrush && el.afterBrush(ctx);\n }\n },\n\n /**\n * 获取 zlevel 所在层,如果不存在则会创建一个新的层\n * @param {number} zlevel\n * @param {boolean} virtual Virtual layer will not be inserted into dom.\n * @return {module:zrender/Layer}\n */\n getLayer: function (zlevel, virtual) {\n if (this._singleCanvas && !this._needsManuallyCompositing) {\n zlevel = CANVAS_ZLEVEL;\n }\n\n var layer = this._layers[zlevel];\n\n if (!layer) {\n // Create a new layer\n layer = new Layer('zr_' + zlevel, this, this.dpr);\n layer.zlevel = zlevel;\n layer.__builtin__ = true;\n\n if (this._layerConfig[zlevel]) {\n util.merge(layer, this._layerConfig[zlevel], true);\n } // TODO Remove EL_AFTER_INCREMENTAL_INC magic number\n else if (this._layerConfig[zlevel - EL_AFTER_INCREMENTAL_INC]) {\n util.merge(layer, this._layerConfig[zlevel - EL_AFTER_INCREMENTAL_INC], true);\n }\n\n if (virtual) {\n layer.virtual = virtual;\n }\n\n this.insertLayer(zlevel, layer); // Context is created after dom inserted to document\n // Or excanvas will get 0px clientWidth and clientHeight\n\n layer.initContext();\n }\n\n return layer;\n },\n insertLayer: function (zlevel, layer) {\n var layersMap = this._layers;\n var zlevelList = this._zlevelList;\n var len = zlevelList.length;\n var prevLayer = null;\n var i = -1;\n var domRoot = this._domRoot;\n\n if (layersMap[zlevel]) {\n logError('ZLevel ' + zlevel + ' has been used already');\n return;\n } // Check if is a valid layer\n\n\n if (!isLayerValid(layer)) {\n logError('Layer of zlevel ' + zlevel + ' is not valid');\n return;\n }\n\n if (len > 0 && zlevel > zlevelList[0]) {\n for (i = 0; i < len - 1; i++) {\n if (zlevelList[i] < zlevel && zlevelList[i + 1] > zlevel) {\n break;\n }\n }\n\n prevLayer = layersMap[zlevelList[i]];\n }\n\n zlevelList.splice(i + 1, 0, zlevel);\n layersMap[zlevel] = layer; // Vitual layer will not directly show on the screen.\n // (It can be a WebGL layer and assigned to a ZImage element)\n // But it still under management of zrender.\n\n if (!layer.virtual) {\n if (prevLayer) {\n var prevDom = prevLayer.dom;\n\n if (prevDom.nextSibling) {\n domRoot.insertBefore(layer.dom, prevDom.nextSibling);\n } else {\n domRoot.appendChild(layer.dom);\n }\n } else {\n if (domRoot.firstChild) {\n domRoot.insertBefore(layer.dom, domRoot.firstChild);\n } else {\n domRoot.appendChild(layer.dom);\n }\n }\n }\n },\n // Iterate each layer\n eachLayer: function (cb, context) {\n var zlevelList = this._zlevelList;\n var z;\n var i;\n\n for (i = 0; i < zlevelList.length; i++) {\n z = zlevelList[i];\n cb.call(context, this._layers[z], z);\n }\n },\n // Iterate each buildin layer\n eachBuiltinLayer: function (cb, context) {\n var zlevelList = this._zlevelList;\n var layer;\n var z;\n var i;\n\n for (i = 0; i < zlevelList.length; i++) {\n z = zlevelList[i];\n layer = this._layers[z];\n\n if (layer.__builtin__) {\n cb.call(context, layer, z);\n }\n }\n },\n // Iterate each other layer except buildin layer\n eachOtherLayer: function (cb, context) {\n var zlevelList = this._zlevelList;\n var layer;\n var z;\n var i;\n\n for (i = 0; i < zlevelList.length; i++) {\n z = zlevelList[i];\n layer = this._layers[z];\n\n if (!layer.__builtin__) {\n cb.call(context, layer, z);\n }\n }\n },\n\n /**\n * 获取所有已创建的层\n * @param {Array.} [prevLayer]\n */\n getLayers: function () {\n return this._layers;\n },\n _updateLayerStatus: function (list) {\n this.eachBuiltinLayer(function (layer, z) {\n layer.__dirty = layer.__used = false;\n });\n\n function updatePrevLayer(idx) {\n if (prevLayer) {\n if (prevLayer.__endIndex !== idx) {\n prevLayer.__dirty = true;\n }\n\n prevLayer.__endIndex = idx;\n }\n }\n\n if (this._singleCanvas) {\n for (var i = 1; i < list.length; i++) {\n var el = list[i];\n\n if (el.zlevel !== list[i - 1].zlevel || el.incremental) {\n this._needsManuallyCompositing = true;\n break;\n }\n }\n }\n\n var prevLayer = null;\n var incrementalLayerCount = 0;\n var prevZlevel;\n\n for (var i = 0; i < list.length; i++) {\n var el = list[i];\n var zlevel = el.zlevel;\n var layer;\n\n if (prevZlevel !== zlevel) {\n prevZlevel = zlevel;\n incrementalLayerCount = 0;\n } // TODO Not use magic number on zlevel.\n // Each layer with increment element can be separated to 3 layers.\n // (Other Element drawn after incremental element)\n // -----------------zlevel + EL_AFTER_INCREMENTAL_INC--------------------\n // (Incremental element)\n // ----------------------zlevel + INCREMENTAL_INC------------------------\n // (Element drawn before incremental element)\n // --------------------------------zlevel--------------------------------\n\n\n if (el.incremental) {\n layer = this.getLayer(zlevel + INCREMENTAL_INC, this._needsManuallyCompositing);\n layer.incremental = true;\n incrementalLayerCount = 1;\n } else {\n layer = this.getLayer(zlevel + (incrementalLayerCount > 0 ? EL_AFTER_INCREMENTAL_INC : 0), this._needsManuallyCompositing);\n }\n\n if (!layer.__builtin__) {\n logError('ZLevel ' + zlevel + ' has been used by unkown layer ' + layer.id);\n }\n\n if (layer !== prevLayer) {\n layer.__used = true;\n\n if (layer.__startIndex !== i) {\n layer.__dirty = true;\n }\n\n layer.__startIndex = i;\n\n if (!layer.incremental) {\n layer.__drawIndex = i;\n } else {\n // Mark layer draw index needs to update.\n layer.__drawIndex = -1;\n }\n\n updatePrevLayer(i);\n prevLayer = layer;\n }\n\n if (el.__dirty) {\n layer.__dirty = true;\n\n if (layer.incremental && layer.__drawIndex < 0) {\n // Start draw from the first dirty element.\n layer.__drawIndex = i;\n }\n }\n }\n\n updatePrevLayer(i);\n this.eachBuiltinLayer(function (layer, z) {\n // Used in last frame but not in this frame. Needs clear\n if (!layer.__used && layer.getElementCount() > 0) {\n layer.__dirty = true;\n layer.__startIndex = layer.__endIndex = layer.__drawIndex = 0;\n } // For incremental layer. In case start index changed and no elements are dirty.\n\n\n if (layer.__dirty && layer.__drawIndex < 0) {\n layer.__drawIndex = layer.__startIndex;\n }\n });\n },\n\n /**\n * 清除hover层外所有内容\n */\n clear: function () {\n this.eachBuiltinLayer(this._clearLayer);\n return this;\n },\n _clearLayer: function (layer) {\n layer.clear();\n },\n setBackgroundColor: function (backgroundColor) {\n this._backgroundColor = backgroundColor;\n },\n\n /**\n * 修改指定zlevel的绘制参数\n *\n * @param {string} zlevel\n * @param {Object} config 配置对象\n * @param {string} [config.clearColor=0] 每次清空画布的颜色\n * @param {string} [config.motionBlur=false] 是否开启动态模糊\n * @param {number} [config.lastFrameAlpha=0.7]\n * 在开启动态模糊的时候使用,与上一帧混合的alpha值,值越大尾迹越明显\n */\n configLayer: function (zlevel, config) {\n if (config) {\n var layerConfig = this._layerConfig;\n\n if (!layerConfig[zlevel]) {\n layerConfig[zlevel] = config;\n } else {\n util.merge(layerConfig[zlevel], config, true);\n }\n\n for (var i = 0; i < this._zlevelList.length; i++) {\n var _zlevel = this._zlevelList[i]; // TODO Remove EL_AFTER_INCREMENTAL_INC magic number\n\n if (_zlevel === zlevel || _zlevel === zlevel + EL_AFTER_INCREMENTAL_INC) {\n var layer = this._layers[_zlevel];\n util.merge(layer, layerConfig[zlevel], true);\n }\n }\n }\n },\n\n /**\n * 删除指定层\n * @param {number} zlevel 层所在的zlevel\n */\n delLayer: function (zlevel) {\n var layers = this._layers;\n var zlevelList = this._zlevelList;\n var layer = layers[zlevel];\n\n if (!layer) {\n return;\n }\n\n layer.dom.parentNode.removeChild(layer.dom);\n delete layers[zlevel];\n zlevelList.splice(util.indexOf(zlevelList, zlevel), 1);\n },\n\n /**\n * 区域大小变化后重绘\n */\n resize: function (width, height) {\n if (!this._domRoot.style) {\n // Maybe in node or worker\n if (width == null || height == null) {\n return;\n }\n\n this._width = width;\n this._height = height;\n this.getLayer(CANVAS_ZLEVEL).resize(width, height);\n } else {\n var domRoot = this._domRoot; // FIXME Why ?\n\n domRoot.style.display = 'none'; // Save input w/h\n\n var opts = this._opts;\n width != null && (opts.width = width);\n height != null && (opts.height = height);\n width = this._getSize(0);\n height = this._getSize(1);\n domRoot.style.display = ''; // 优化没有实际改变的resize\n\n if (this._width !== width || height !== this._height) {\n domRoot.style.width = width + 'px';\n domRoot.style.height = height + 'px';\n\n for (var id in this._layers) {\n if (this._layers.hasOwnProperty(id)) {\n this._layers[id].resize(width, height);\n }\n }\n\n util.each(this._progressiveLayers, function (layer) {\n layer.resize(width, height);\n });\n this.refresh(true);\n }\n\n this._width = width;\n this._height = height;\n }\n\n return this;\n },\n\n /**\n * 清除单独的一个层\n * @param {number} zlevel\n */\n clearLayer: function (zlevel) {\n var layer = this._layers[zlevel];\n\n if (layer) {\n layer.clear();\n }\n },\n\n /**\n * 释放\n */\n dispose: function () {\n this.root.innerHTML = '';\n this.root = this.storage = this._domRoot = this._layers = null;\n },\n\n /**\n * Get canvas which has all thing rendered\n * @param {Object} opts\n * @param {string} [opts.backgroundColor]\n * @param {number} [opts.pixelRatio]\n */\n getRenderedCanvas: function (opts) {\n opts = opts || {};\n\n if (this._singleCanvas && !this._compositeManually) {\n return this._layers[CANVAS_ZLEVEL].dom;\n }\n\n var imageLayer = new Layer('image', this, opts.pixelRatio || this.dpr);\n imageLayer.initContext();\n imageLayer.clear(false, opts.backgroundColor || this._backgroundColor);\n\n if (opts.pixelRatio <= this.dpr) {\n this.refresh();\n var width = imageLayer.dom.width;\n var height = imageLayer.dom.height;\n var ctx = imageLayer.ctx;\n this.eachLayer(function (layer) {\n if (layer.__builtin__) {\n ctx.drawImage(layer.dom, 0, 0, width, height);\n } else if (layer.renderToCanvas) {\n imageLayer.ctx.save();\n layer.renderToCanvas(imageLayer.ctx);\n imageLayer.ctx.restore();\n }\n });\n } else {\n // PENDING, echarts-gl and incremental rendering.\n var scope = {};\n var displayList = this.storage.getDisplayList(true);\n\n for (var i = 0; i < displayList.length; i++) {\n var el = displayList[i];\n\n this._doPaintEl(el, imageLayer, true, scope);\n }\n }\n\n return imageLayer.dom;\n },\n\n /**\n * 获取绘图区域宽度\n */\n getWidth: function () {\n return this._width;\n },\n\n /**\n * 获取绘图区域高度\n */\n getHeight: function () {\n return this._height;\n },\n _getSize: function (whIdx) {\n var opts = this._opts;\n var wh = ['width', 'height'][whIdx];\n var cwh = ['clientWidth', 'clientHeight'][whIdx];\n var plt = ['paddingLeft', 'paddingTop'][whIdx];\n var prb = ['paddingRight', 'paddingBottom'][whIdx];\n\n if (opts[wh] != null && opts[wh] !== 'auto') {\n return parseFloat(opts[wh]);\n }\n\n var root = this.root; // IE8 does not support getComputedStyle, but it use VML.\n\n var stl = document.defaultView.getComputedStyle(root);\n return (root[cwh] || parseInt10(stl[wh]) || parseInt10(root.style[wh])) - (parseInt10(stl[plt]) || 0) - (parseInt10(stl[prb]) || 0) | 0;\n },\n pathToImage: function (path, dpr) {\n dpr = dpr || this.dpr;\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n var rect = path.getBoundingRect();\n var style = path.style;\n var shadowBlurSize = style.shadowBlur * dpr;\n var shadowOffsetX = style.shadowOffsetX * dpr;\n var shadowOffsetY = style.shadowOffsetY * dpr;\n var lineWidth = style.hasStroke() ? style.lineWidth : 0;\n var leftMargin = Math.max(lineWidth / 2, -shadowOffsetX + shadowBlurSize);\n var rightMargin = Math.max(lineWidth / 2, shadowOffsetX + shadowBlurSize);\n var topMargin = Math.max(lineWidth / 2, -shadowOffsetY + shadowBlurSize);\n var bottomMargin = Math.max(lineWidth / 2, shadowOffsetY + shadowBlurSize);\n var width = rect.width + leftMargin + rightMargin;\n var height = rect.height + topMargin + bottomMargin;\n canvas.width = width * dpr;\n canvas.height = height * dpr;\n ctx.scale(dpr, dpr);\n ctx.clearRect(0, 0, width, height);\n ctx.dpr = dpr;\n var pathTransform = {\n position: path.position,\n rotation: path.rotation,\n scale: path.scale\n };\n path.position = [leftMargin - rect.x, topMargin - rect.y];\n path.rotation = 0;\n path.scale = [1, 1];\n path.updateTransform();\n\n if (path) {\n path.brush(ctx);\n }\n\n var ImageShape = Image;\n var imgShape = new ImageShape({\n style: {\n x: 0,\n y: 0,\n image: canvas\n }\n });\n\n if (pathTransform.position != null) {\n imgShape.position = path.position = pathTransform.position;\n }\n\n if (pathTransform.rotation != null) {\n imgShape.rotation = path.rotation = pathTransform.rotation;\n }\n\n if (pathTransform.scale != null) {\n imgShape.scale = path.scale = pathTransform.scale;\n }\n\n return imgShape;\n }\n};\nvar _default = Painter;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar ComponentModel = require(\"../../model/Component\");\n\nvar List = require(\"../../data/List\");\n\nvar modelUtil = require(\"../../util/model\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar TimelineModel = ComponentModel.extend({\n type: 'timeline',\n layoutMode: 'box',\n\n /**\n * @protected\n */\n defaultOption: {\n zlevel: 0,\n // 一级层叠\n z: 4,\n // 二级层叠\n show: true,\n axisType: 'time',\n // 模式是时间类型,支持 value, category\n realtime: true,\n left: '20%',\n top: null,\n right: '20%',\n bottom: 0,\n width: null,\n height: 40,\n padding: 5,\n controlPosition: 'left',\n // 'left' 'right' 'top' 'bottom' 'none'\n autoPlay: false,\n rewind: false,\n // 反向播放\n loop: true,\n playInterval: 2000,\n // 播放时间间隔,单位ms\n currentIndex: 0,\n itemStyle: {},\n label: {\n color: '#000'\n },\n data: []\n },\n\n /**\n * @override\n */\n init: function (option, parentModel, ecModel) {\n /**\n * @private\n * @type {module:echarts/data/List}\n */\n this._data;\n /**\n * @private\n * @type {Array.}\n */\n\n this._names;\n this.mergeDefaultAndTheme(option, ecModel);\n\n this._initData();\n },\n\n /**\n * @override\n */\n mergeOption: function (option) {\n TimelineModel.superApply(this, 'mergeOption', arguments);\n\n this._initData();\n },\n\n /**\n * @param {number} [currentIndex]\n */\n setCurrentIndex: function (currentIndex) {\n if (currentIndex == null) {\n currentIndex = this.option.currentIndex;\n }\n\n var count = this._data.count();\n\n if (this.option.loop) {\n currentIndex = (currentIndex % count + count) % count;\n } else {\n currentIndex >= count && (currentIndex = count - 1);\n currentIndex < 0 && (currentIndex = 0);\n }\n\n this.option.currentIndex = currentIndex;\n },\n\n /**\n * @return {number} currentIndex\n */\n getCurrentIndex: function () {\n return this.option.currentIndex;\n },\n\n /**\n * @return {boolean}\n */\n isIndexMax: function () {\n return this.getCurrentIndex() >= this._data.count() - 1;\n },\n\n /**\n * @param {boolean} state true: play, false: stop\n */\n setPlayState: function (state) {\n this.option.autoPlay = !!state;\n },\n\n /**\n * @return {boolean} true: play, false: stop\n */\n getPlayState: function () {\n return !!this.option.autoPlay;\n },\n\n /**\n * @private\n */\n _initData: function () {\n var thisOption = this.option;\n var dataArr = thisOption.data || [];\n var axisType = thisOption.axisType;\n var names = this._names = [];\n\n if (axisType === 'category') {\n var idxArr = [];\n zrUtil.each(dataArr, function (item, index) {\n var value = modelUtil.getDataItemValue(item);\n var newItem;\n\n if (zrUtil.isObject(item)) {\n newItem = zrUtil.clone(item);\n newItem.value = index;\n } else {\n newItem = index;\n }\n\n idxArr.push(newItem);\n\n if (!zrUtil.isString(value) && (value == null || isNaN(value))) {\n value = '';\n }\n\n names.push(value + '');\n });\n dataArr = idxArr;\n }\n\n var dimType = {\n category: 'ordinal',\n time: 'time'\n }[axisType] || 'number';\n var data = this._data = new List([{\n name: 'value',\n type: dimType\n }], this);\n data.initData(dataArr, names);\n },\n getData: function () {\n return this._data;\n },\n\n /**\n * @public\n * @return {Array.} categoreis\n */\n getCategories: function () {\n if (this.get('axisType') === 'category') {\n return this._names.slice();\n }\n }\n});\nvar _default = TimelineModel;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar textContain = require(\"zrender/lib/contain/text\");\n\nvar numberUtil = require(\"./number\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// import Text from 'zrender/src/graphic/Text';\n\n/**\n * add commas after every three numbers\n * @param {string|number} x\n * @return {string}\n */\nfunction addCommas(x) {\n if (isNaN(x)) {\n return '-';\n }\n\n x = (x + '').split('.');\n return x[0].replace(/(\\d{1,3})(?=(?:\\d{3})+(?!\\d))/g, '$1,') + (x.length > 1 ? '.' + x[1] : '');\n}\n/**\n * @param {string} str\n * @param {boolean} [upperCaseFirst=false]\n * @return {string} str\n */\n\n\nfunction toCamelCase(str, upperCaseFirst) {\n str = (str || '').toLowerCase().replace(/-(.)/g, function (match, group1) {\n return group1.toUpperCase();\n });\n\n if (upperCaseFirst && str) {\n str = str.charAt(0).toUpperCase() + str.slice(1);\n }\n\n return str;\n}\n\nvar normalizeCssArray = zrUtil.normalizeCssArray;\nvar replaceReg = /([&<>\"'])/g;\nvar replaceMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n '\\'': '''\n};\n\nfunction encodeHTML(source) {\n return source == null ? '' : (source + '').replace(replaceReg, function (str, c) {\n return replaceMap[c];\n });\n}\n\nvar TPL_VAR_ALIAS = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];\n\nvar wrapVar = function (varName, seriesIdx) {\n return '{' + varName + (seriesIdx == null ? '' : seriesIdx) + '}';\n};\n/**\n * Template formatter\n * @param {string} tpl\n * @param {Array.|Object} paramsList\n * @param {boolean} [encode=false]\n * @return {string}\n */\n\n\nfunction formatTpl(tpl, paramsList, encode) {\n if (!zrUtil.isArray(paramsList)) {\n paramsList = [paramsList];\n }\n\n var seriesLen = paramsList.length;\n\n if (!seriesLen) {\n return '';\n }\n\n var $vars = paramsList[0].$vars || [];\n\n for (var i = 0; i < $vars.length; i++) {\n var alias = TPL_VAR_ALIAS[i];\n tpl = tpl.replace(wrapVar(alias), wrapVar(alias, 0));\n }\n\n for (var seriesIdx = 0; seriesIdx < seriesLen; seriesIdx++) {\n for (var k = 0; k < $vars.length; k++) {\n var val = paramsList[seriesIdx][$vars[k]];\n tpl = tpl.replace(wrapVar(TPL_VAR_ALIAS[k], seriesIdx), encode ? encodeHTML(val) : val);\n }\n }\n\n return tpl;\n}\n/**\n * simple Template formatter\n *\n * @param {string} tpl\n * @param {Object} param\n * @param {boolean} [encode=false]\n * @return {string}\n */\n\n\nfunction formatTplSimple(tpl, param, encode) {\n zrUtil.each(param, function (value, key) {\n tpl = tpl.replace('{' + key + '}', encode ? encodeHTML(value) : value);\n });\n return tpl;\n}\n/**\n * @param {Object|string} [opt] If string, means color.\n * @param {string} [opt.color]\n * @param {string} [opt.extraCssText]\n * @param {string} [opt.type='item'] 'item' or 'subItem'\n * @param {string} [opt.renderMode='html'] render mode of tooltip, 'html' or 'richText'\n * @param {string} [opt.markerId='X'] id name for marker. If only one marker is in a rich text, this can be omitted.\n * @return {string}\n */\n\n\nfunction getTooltipMarker(opt, extraCssText) {\n opt = zrUtil.isString(opt) ? {\n color: opt,\n extraCssText: extraCssText\n } : opt || {};\n var color = opt.color;\n var type = opt.type;\n var extraCssText = opt.extraCssText;\n var renderMode = opt.renderMode || 'html';\n var markerId = opt.markerId || 'X';\n\n if (!color) {\n return '';\n }\n\n if (renderMode === 'html') {\n return type === 'subItem' ? '' : '';\n } else {\n // Space for rich element marker\n return {\n renderMode: renderMode,\n content: '{marker' + markerId + '|} ',\n style: {\n color: color\n }\n };\n }\n}\n\nfunction pad(str, len) {\n str += '';\n return '0000'.substr(0, len - str.length) + str;\n}\n/**\n * ISO Date format\n * @param {string} tpl\n * @param {number} value\n * @param {boolean} [isUTC=false] Default in local time.\n * see `module:echarts/scale/Time`\n * and `module:echarts/util/number#parseDate`.\n * @inner\n */\n\n\nfunction formatTime(tpl, value, isUTC) {\n if (tpl === 'week' || tpl === 'month' || tpl === 'quarter' || tpl === 'half-year' || tpl === 'year') {\n tpl = 'MM-dd\\nyyyy';\n }\n\n var date = numberUtil.parseDate(value);\n var utc = isUTC ? 'UTC' : '';\n var y = date['get' + utc + 'FullYear']();\n var M = date['get' + utc + 'Month']() + 1;\n var d = date['get' + utc + 'Date']();\n var h = date['get' + utc + 'Hours']();\n var m = date['get' + utc + 'Minutes']();\n var s = date['get' + utc + 'Seconds']();\n var S = date['get' + utc + 'Milliseconds']();\n tpl = tpl.replace('MM', pad(M, 2)).replace('M', M).replace('yyyy', y).replace('yy', y % 100).replace('dd', pad(d, 2)).replace('d', d).replace('hh', pad(h, 2)).replace('h', h).replace('mm', pad(m, 2)).replace('m', m).replace('ss', pad(s, 2)).replace('s', s).replace('SSS', pad(S, 3));\n return tpl;\n}\n/**\n * Capital first\n * @param {string} str\n * @return {string}\n */\n\n\nfunction capitalFirst(str) {\n return str ? str.charAt(0).toUpperCase() + str.substr(1) : str;\n}\n\nvar truncateText = textContain.truncateText;\n/**\n * @public\n * @param {Object} opt\n * @param {string} opt.text\n * @param {string} opt.font\n * @param {string} [opt.textAlign='left']\n * @param {string} [opt.textVerticalAlign='top']\n * @param {Array.} [opt.textPadding]\n * @param {number} [opt.textLineHeight]\n * @param {Object} [opt.rich]\n * @param {Object} [opt.truncate]\n * @return {Object} {x, y, width, height, lineHeight}\n */\n\nfunction getTextBoundingRect(opt) {\n return textContain.getBoundingRect(opt.text, opt.font, opt.textAlign, opt.textVerticalAlign, opt.textPadding, opt.textLineHeight, opt.rich, opt.truncate);\n}\n/**\n * @deprecated\n * the `textLineHeight` was added later.\n * For backward compatiblility, put it as the last parameter.\n * But deprecated this interface. Please use `getTextBoundingRect` instead.\n */\n\n\nfunction getTextRect(text, font, textAlign, textVerticalAlign, textPadding, rich, truncate, textLineHeight) {\n return textContain.getBoundingRect(text, font, textAlign, textVerticalAlign, textPadding, textLineHeight, rich, truncate);\n}\n/**\n * open new tab\n * @param {string} link url\n * @param {string} target blank or self\n */\n\n\nfunction windowOpen(link, target) {\n if (target === '_blank' || target === 'blank') {\n var blank = window.open();\n blank.opener = null;\n blank.location = link;\n } else {\n window.open(link, target);\n }\n}\n\nexports.addCommas = addCommas;\nexports.toCamelCase = toCamelCase;\nexports.normalizeCssArray = normalizeCssArray;\nexports.encodeHTML = encodeHTML;\nexports.formatTpl = formatTpl;\nexports.formatTplSimple = formatTplSimple;\nexports.getTooltipMarker = getTooltipMarker;\nexports.formatTime = formatTime;\nexports.capitalFirst = capitalFirst;\nexports.truncateText = truncateText;\nexports.getTextBoundingRect = getTextBoundingRect;\nexports.getTextRect = getTextRect;\nexports.windowOpen = windowOpen;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @param {Object} opt {labelInside}\n * @return {Object} {\n * position, rotation, labelDirection, labelOffset,\n * tickDirection, labelRotate, z2\n * }\n */\nfunction layout(axisModel, opt) {\n opt = opt || {};\n var single = axisModel.coordinateSystem;\n var axis = axisModel.axis;\n var layout = {};\n var axisPosition = axis.position;\n var orient = axis.orient;\n var rect = single.getRect();\n var rectBound = [rect.x, rect.x + rect.width, rect.y, rect.y + rect.height];\n var positionMap = {\n horizontal: {\n top: rectBound[2],\n bottom: rectBound[3]\n },\n vertical: {\n left: rectBound[0],\n right: rectBound[1]\n }\n };\n layout.position = [orient === 'vertical' ? positionMap.vertical[axisPosition] : rectBound[0], orient === 'horizontal' ? positionMap.horizontal[axisPosition] : rectBound[3]];\n var r = {\n horizontal: 0,\n vertical: 1\n };\n layout.rotation = Math.PI / 2 * r[orient];\n var directionMap = {\n top: -1,\n bottom: 1,\n right: 1,\n left: -1\n };\n layout.labelDirection = layout.tickDirection = layout.nameDirection = directionMap[axisPosition];\n\n if (axisModel.get('axisTick.inside')) {\n layout.tickDirection = -layout.tickDirection;\n }\n\n if (zrUtil.retrieve(opt.labelInside, axisModel.get('axisLabel.inside'))) {\n layout.labelDirection = -layout.labelDirection;\n }\n\n var labelRotation = opt.rotate;\n labelRotation == null && (labelRotation = axisModel.get('axisLabel.rotate'));\n layout.labelRotation = axisPosition === 'top' ? -labelRotation : labelRotation;\n layout.z2 = 1;\n return layout;\n}\n\nexports.layout = layout;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar each = _util.each;\nvar isString = _util.isString;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Note that it is too complicated to support 3d stack by value\n * (have to create two-dimension inverted index), so in 3d case\n * we just support that stacked by index.\n *\n * @param {module:echarts/model/Series} seriesModel\n * @param {Array.} dimensionInfoList The same as the input of .\n * The input dimensionInfoList will be modified.\n * @param {Object} [opt]\n * @param {boolean} [opt.stackedCoordDimension=''] Specify a coord dimension if needed.\n * @param {boolean} [opt.byIndex=false]\n * @return {Object} calculationInfo\n * {\n * stackedDimension: string\n * stackedByDimension: string\n * isStackedByIndex: boolean\n * stackedOverDimension: string\n * stackResultDimension: string\n * }\n */\nfunction enableDataStack(seriesModel, dimensionInfoList, opt) {\n opt = opt || {};\n var byIndex = opt.byIndex;\n var stackedCoordDimension = opt.stackedCoordDimension; // Compatibal: when `stack` is set as '', do not stack.\n\n var mayStack = !!(seriesModel && seriesModel.get('stack'));\n var stackedByDimInfo;\n var stackedDimInfo;\n var stackResultDimension;\n var stackedOverDimension;\n each(dimensionInfoList, function (dimensionInfo, index) {\n if (isString(dimensionInfo)) {\n dimensionInfoList[index] = dimensionInfo = {\n name: dimensionInfo\n };\n }\n\n if (mayStack && !dimensionInfo.isExtraCoord) {\n // Find the first ordinal dimension as the stackedByDimInfo.\n if (!byIndex && !stackedByDimInfo && dimensionInfo.ordinalMeta) {\n stackedByDimInfo = dimensionInfo;\n } // Find the first stackable dimension as the stackedDimInfo.\n\n\n if (!stackedDimInfo && dimensionInfo.type !== 'ordinal' && dimensionInfo.type !== 'time' && (!stackedCoordDimension || stackedCoordDimension === dimensionInfo.coordDim)) {\n stackedDimInfo = dimensionInfo;\n }\n }\n });\n\n if (stackedDimInfo && !byIndex && !stackedByDimInfo) {\n // Compatible with previous design, value axis (time axis) only stack by index.\n // It may make sense if the user provides elaborately constructed data.\n byIndex = true;\n } // Add stack dimension, they can be both calculated by coordinate system in `unionExtent`.\n // That put stack logic in List is for using conveniently in echarts extensions, but it\n // might not be a good way.\n\n\n if (stackedDimInfo) {\n // Use a weird name that not duplicated with other names.\n stackResultDimension = '__\\0ecstackresult';\n stackedOverDimension = '__\\0ecstackedover'; // Create inverted index to fast query index by value.\n\n if (stackedByDimInfo) {\n stackedByDimInfo.createInvertedIndices = true;\n }\n\n var stackedDimCoordDim = stackedDimInfo.coordDim;\n var stackedDimType = stackedDimInfo.type;\n var stackedDimCoordIndex = 0;\n each(dimensionInfoList, function (dimensionInfo) {\n if (dimensionInfo.coordDim === stackedDimCoordDim) {\n stackedDimCoordIndex++;\n }\n });\n dimensionInfoList.push({\n name: stackResultDimension,\n coordDim: stackedDimCoordDim,\n coordDimIndex: stackedDimCoordIndex,\n type: stackedDimType,\n isExtraCoord: true,\n isCalculationCoord: true\n });\n stackedDimCoordIndex++;\n dimensionInfoList.push({\n name: stackedOverDimension,\n // This dimension contains stack base (generally, 0), so do not set it as\n // `stackedDimCoordDim` to avoid extent calculation, consider log scale.\n coordDim: stackedOverDimension,\n coordDimIndex: stackedDimCoordIndex,\n type: stackedDimType,\n isExtraCoord: true,\n isCalculationCoord: true\n });\n }\n\n return {\n stackedDimension: stackedDimInfo && stackedDimInfo.name,\n stackedByDimension: stackedByDimInfo && stackedByDimInfo.name,\n isStackedByIndex: byIndex,\n stackedOverDimension: stackedOverDimension,\n stackResultDimension: stackResultDimension\n };\n}\n/**\n * @param {module:echarts/data/List} data\n * @param {string} stackedDim\n */\n\n\nfunction isDimensionStacked(data, stackedDim\n/*, stackedByDim*/\n) {\n // Each single series only maps to one pair of axis. So we do not need to\n // check stackByDim, whatever stacked by a dimension or stacked by index.\n return !!stackedDim && stackedDim === data.getCalculationInfo('stackedDimension'); // && (\n // stackedByDim != null\n // ? stackedByDim === data.getCalculationInfo('stackedByDimension')\n // : data.getCalculationInfo('isStackedByIndex')\n // );\n}\n/**\n * @param {module:echarts/data/List} data\n * @param {string} targetDim\n * @param {string} [stackedByDim] If not input this parameter, check whether\n * stacked by index.\n * @return {string} dimension\n */\n\n\nfunction getStackedDimension(data, targetDim) {\n return isDimensionStacked(data, targetDim) ? data.getCalculationInfo('stackResultDimension') : targetDim;\n}\n\nexports.enableDataStack = enableDataStack;\nexports.isDimensionStacked = isDimensionStacked;\nexports.getStackedDimension = getStackedDimension;","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAACG0lEQVRoBe2YMU/CQBTH7x0oOLhoolETaIsxAgYHI4sODYmrowkDJDq6uujGpl9Av4euJjoYFx1IEGIgFIwDiYOTg6hwz4LapJEglGtr9Fi4e72+9///XsvREiI+goAgIAgIAoKAICAI/F8CwMt6UIlc6LnGKMJmtVq44pX3pzz0pwU9H0dcJYgRBngpKdHdTCbDL3cXEfw6IIfRVAfgzD/kSxWL2ZopznliHyXERP21npNno+ucNZvS2Wfgo8w4a7JjWQkfSqrqN1XmNLHbQFsmQ7KN9w/XoVBsgZNuI40jBtrVkCw02dt1UIluG9U5DJwzoIvV73I/QXYoyZHj+fn4OAf9xFEDX4KR4Przy1MuFIomvmJWv10x8Cl2usHYqaRE9lVV9Vo1YN8+0IciALga9nqSpdJNpY/T2kvd7IChFRHjr41Gdm5uccYI9jj4FQY+tSIANe/mPZj4FQZal5CXepas/O1w2wDTxR9IgYmVcjmv9QD82xI3b+Kal9KUphXOvqnqI+BKB4DAyYhvNDao+JZPy7+/fUAylurtriPQnbtK4cgIDjhwzgCQvAeGkpqWyw+o2XS6I5cQBXIEgcll3uJbTuzuwCP10K1quXBCKrcmcrwm9nWg9Ug57I+1xfNS2yEPfwMADX1H3dtMb6xZ2Zg6aOwa4rYPSHL4XK80BYSmnXyt0tWdOCgICAKCgCAgCAgCgsAfJ/AOh5+H7ARnjIMAAAAASUVORK5CYII=\"","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar formatUtil = require(\"../../util/format\");\n\nvar numberUtil = require(\"../../util/number\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar MONTH_TEXT = {\n EN: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n CN: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']\n};\nvar WEEK_TEXT = {\n EN: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n CN: ['日', '一', '二', '三', '四', '五', '六']\n};\n\nvar _default = echarts.extendComponentView({\n type: 'calendar',\n\n /**\n * top/left line points\n * @private\n */\n _tlpoints: null,\n\n /**\n * bottom/right line points\n * @private\n */\n _blpoints: null,\n\n /**\n * first day of month\n * @private\n */\n _firstDayOfMonth: null,\n\n /**\n * first day point of month\n * @private\n */\n _firstDayPoints: null,\n render: function (calendarModel, ecModel, api) {\n var group = this.group;\n group.removeAll();\n var coordSys = calendarModel.coordinateSystem; // range info\n\n var rangeData = coordSys.getRangeInfo();\n var orient = coordSys.getOrient();\n\n this._renderDayRect(calendarModel, rangeData, group); // _renderLines must be called prior to following function\n\n\n this._renderLines(calendarModel, rangeData, orient, group);\n\n this._renderYearText(calendarModel, rangeData, orient, group);\n\n this._renderMonthText(calendarModel, orient, group);\n\n this._renderWeekText(calendarModel, rangeData, orient, group);\n },\n // render day rect\n _renderDayRect: function (calendarModel, rangeData, group) {\n var coordSys = calendarModel.coordinateSystem;\n var itemRectStyleModel = calendarModel.getModel('itemStyle').getItemStyle();\n var sw = coordSys.getCellWidth();\n var sh = coordSys.getCellHeight();\n\n for (var i = rangeData.start.time; i <= rangeData.end.time; i = coordSys.getNextNDay(i, 1).time) {\n var point = coordSys.dataToRect([i], false).tl; // every rect\n\n var rect = new graphic.Rect({\n shape: {\n x: point[0],\n y: point[1],\n width: sw,\n height: sh\n },\n cursor: 'default',\n style: itemRectStyleModel\n });\n group.add(rect);\n }\n },\n // render separate line\n _renderLines: function (calendarModel, rangeData, orient, group) {\n var self = this;\n var coordSys = calendarModel.coordinateSystem;\n var lineStyleModel = calendarModel.getModel('splitLine.lineStyle').getLineStyle();\n var show = calendarModel.get('splitLine.show');\n var lineWidth = lineStyleModel.lineWidth;\n this._tlpoints = [];\n this._blpoints = [];\n this._firstDayOfMonth = [];\n this._firstDayPoints = [];\n var firstDay = rangeData.start;\n\n for (var i = 0; firstDay.time <= rangeData.end.time; i++) {\n addPoints(firstDay.formatedDate);\n\n if (i === 0) {\n firstDay = coordSys.getDateInfo(rangeData.start.y + '-' + rangeData.start.m);\n }\n\n var date = firstDay.date;\n date.setMonth(date.getMonth() + 1);\n firstDay = coordSys.getDateInfo(date);\n }\n\n addPoints(coordSys.getNextNDay(rangeData.end.time, 1).formatedDate);\n\n function addPoints(date) {\n self._firstDayOfMonth.push(coordSys.getDateInfo(date));\n\n self._firstDayPoints.push(coordSys.dataToRect([date], false).tl);\n\n var points = self._getLinePointsOfOneWeek(calendarModel, date, orient);\n\n self._tlpoints.push(points[0]);\n\n self._blpoints.push(points[points.length - 1]);\n\n show && self._drawSplitline(points, lineStyleModel, group);\n } // render top/left line\n\n\n show && this._drawSplitline(self._getEdgesPoints(self._tlpoints, lineWidth, orient), lineStyleModel, group); // render bottom/right line\n\n show && this._drawSplitline(self._getEdgesPoints(self._blpoints, lineWidth, orient), lineStyleModel, group);\n },\n // get points at both ends\n _getEdgesPoints: function (points, lineWidth, orient) {\n var rs = [points[0].slice(), points[points.length - 1].slice()];\n var idx = orient === 'horizontal' ? 0 : 1; // both ends of the line are extend half lineWidth\n\n rs[0][idx] = rs[0][idx] - lineWidth / 2;\n rs[1][idx] = rs[1][idx] + lineWidth / 2;\n return rs;\n },\n // render split line\n _drawSplitline: function (points, lineStyleModel, group) {\n var poyline = new graphic.Polyline({\n z2: 20,\n shape: {\n points: points\n },\n style: lineStyleModel\n });\n group.add(poyline);\n },\n // render month line of one week points\n _getLinePointsOfOneWeek: function (calendarModel, date, orient) {\n var coordSys = calendarModel.coordinateSystem;\n date = coordSys.getDateInfo(date);\n var points = [];\n\n for (var i = 0; i < 7; i++) {\n var tmpD = coordSys.getNextNDay(date.time, i);\n var point = coordSys.dataToRect([tmpD.time], false);\n points[2 * tmpD.day] = point.tl;\n points[2 * tmpD.day + 1] = point[orient === 'horizontal' ? 'bl' : 'tr'];\n }\n\n return points;\n },\n _formatterLabel: function (formatter, params) {\n if (typeof formatter === 'string' && formatter) {\n return formatUtil.formatTplSimple(formatter, params);\n }\n\n if (typeof formatter === 'function') {\n return formatter(params);\n }\n\n return params.nameMap;\n },\n _yearTextPositionControl: function (textEl, point, orient, position, margin) {\n point = point.slice();\n var aligns = ['center', 'bottom'];\n\n if (position === 'bottom') {\n point[1] += margin;\n aligns = ['center', 'top'];\n } else if (position === 'left') {\n point[0] -= margin;\n } else if (position === 'right') {\n point[0] += margin;\n aligns = ['center', 'top'];\n } else {\n // top\n point[1] -= margin;\n }\n\n var rotate = 0;\n\n if (position === 'left' || position === 'right') {\n rotate = Math.PI / 2;\n }\n\n return {\n rotation: rotate,\n position: point,\n style: {\n textAlign: aligns[0],\n textVerticalAlign: aligns[1]\n }\n };\n },\n // render year\n _renderYearText: function (calendarModel, rangeData, orient, group) {\n var yearLabel = calendarModel.getModel('yearLabel');\n\n if (!yearLabel.get('show')) {\n return;\n }\n\n var margin = yearLabel.get('margin');\n var pos = yearLabel.get('position');\n\n if (!pos) {\n pos = orient !== 'horizontal' ? 'top' : 'left';\n }\n\n var points = [this._tlpoints[this._tlpoints.length - 1], this._blpoints[0]];\n var xc = (points[0][0] + points[1][0]) / 2;\n var yc = (points[0][1] + points[1][1]) / 2;\n var idx = orient === 'horizontal' ? 0 : 1;\n var posPoints = {\n top: [xc, points[idx][1]],\n bottom: [xc, points[1 - idx][1]],\n left: [points[1 - idx][0], yc],\n right: [points[idx][0], yc]\n };\n var name = rangeData.start.y;\n\n if (+rangeData.end.y > +rangeData.start.y) {\n name = name + '-' + rangeData.end.y;\n }\n\n var formatter = yearLabel.get('formatter');\n var params = {\n start: rangeData.start.y,\n end: rangeData.end.y,\n nameMap: name\n };\n\n var content = this._formatterLabel(formatter, params);\n\n var yearText = new graphic.Text({\n z2: 30\n });\n graphic.setTextStyle(yearText.style, yearLabel, {\n text: content\n }), yearText.attr(this._yearTextPositionControl(yearText, posPoints[pos], orient, pos, margin));\n group.add(yearText);\n },\n _monthTextPositionControl: function (point, isCenter, orient, position, margin) {\n var align = 'left';\n var vAlign = 'top';\n var x = point[0];\n var y = point[1];\n\n if (orient === 'horizontal') {\n y = y + margin;\n\n if (isCenter) {\n align = 'center';\n }\n\n if (position === 'start') {\n vAlign = 'bottom';\n }\n } else {\n x = x + margin;\n\n if (isCenter) {\n vAlign = 'middle';\n }\n\n if (position === 'start') {\n align = 'right';\n }\n }\n\n return {\n x: x,\n y: y,\n textAlign: align,\n textVerticalAlign: vAlign\n };\n },\n // render month and year text\n _renderMonthText: function (calendarModel, orient, group) {\n var monthLabel = calendarModel.getModel('monthLabel');\n\n if (!monthLabel.get('show')) {\n return;\n }\n\n var nameMap = monthLabel.get('nameMap');\n var margin = monthLabel.get('margin');\n var pos = monthLabel.get('position');\n var align = monthLabel.get('align');\n var termPoints = [this._tlpoints, this._blpoints];\n\n if (zrUtil.isString(nameMap)) {\n nameMap = MONTH_TEXT[nameMap.toUpperCase()] || [];\n }\n\n var idx = pos === 'start' ? 0 : 1;\n var axis = orient === 'horizontal' ? 0 : 1;\n margin = pos === 'start' ? -margin : margin;\n var isCenter = align === 'center';\n\n for (var i = 0; i < termPoints[idx].length - 1; i++) {\n var tmp = termPoints[idx][i].slice();\n var firstDay = this._firstDayOfMonth[i];\n\n if (isCenter) {\n var firstDayPoints = this._firstDayPoints[i];\n tmp[axis] = (firstDayPoints[axis] + termPoints[0][i + 1][axis]) / 2;\n }\n\n var formatter = monthLabel.get('formatter');\n var name = nameMap[+firstDay.m - 1];\n var params = {\n yyyy: firstDay.y,\n yy: (firstDay.y + '').slice(2),\n MM: firstDay.m,\n M: +firstDay.m,\n nameMap: name\n };\n\n var content = this._formatterLabel(formatter, params);\n\n var monthText = new graphic.Text({\n z2: 30\n });\n zrUtil.extend(graphic.setTextStyle(monthText.style, monthLabel, {\n text: content\n }), this._monthTextPositionControl(tmp, isCenter, orient, pos, margin));\n group.add(monthText);\n }\n },\n _weekTextPositionControl: function (point, orient, position, margin, cellSize) {\n var align = 'center';\n var vAlign = 'middle';\n var x = point[0];\n var y = point[1];\n var isStart = position === 'start';\n\n if (orient === 'horizontal') {\n x = x + margin + (isStart ? 1 : -1) * cellSize[0] / 2;\n align = isStart ? 'right' : 'left';\n } else {\n y = y + margin + (isStart ? 1 : -1) * cellSize[1] / 2;\n vAlign = isStart ? 'bottom' : 'top';\n }\n\n return {\n x: x,\n y: y,\n textAlign: align,\n textVerticalAlign: vAlign\n };\n },\n // render weeks\n _renderWeekText: function (calendarModel, rangeData, orient, group) {\n var dayLabel = calendarModel.getModel('dayLabel');\n\n if (!dayLabel.get('show')) {\n return;\n }\n\n var coordSys = calendarModel.coordinateSystem;\n var pos = dayLabel.get('position');\n var nameMap = dayLabel.get('nameMap');\n var margin = dayLabel.get('margin');\n var firstDayOfWeek = coordSys.getFirstDayOfWeek();\n\n if (zrUtil.isString(nameMap)) {\n nameMap = WEEK_TEXT[nameMap.toUpperCase()] || [];\n }\n\n var start = coordSys.getNextNDay(rangeData.end.time, 7 - rangeData.lweek).time;\n var cellSize = [coordSys.getCellWidth(), coordSys.getCellHeight()];\n margin = numberUtil.parsePercent(margin, cellSize[orient === 'horizontal' ? 0 : 1]);\n\n if (pos === 'start') {\n start = coordSys.getNextNDay(rangeData.start.time, -(7 + rangeData.fweek)).time;\n margin = -margin;\n }\n\n for (var i = 0; i < 7; i++) {\n var tmpD = coordSys.getNextNDay(start, i);\n var point = coordSys.dataToRect([tmpD.time], false).center;\n var day = i;\n day = Math.abs((i + firstDayOfWeek) % 7);\n var weekText = new graphic.Text({\n z2: 30\n });\n zrUtil.extend(graphic.setTextStyle(weekText.style, dayLabel, {\n text: nameMap[day]\n }), this._weekTextPositionControl(point, orient, pos, margin, cellSize));\n group.add(weekText);\n }\n }\n});\n\nmodule.exports = _default;","var PathProxy = require(\"../core/PathProxy\");\n\nvar _vector = require(\"../core/vector\");\n\nvar v2ApplyTransform = _vector.applyTransform;\nvar CMD = PathProxy.CMD;\nvar points = [[], [], []];\nvar mathSqrt = Math.sqrt;\nvar mathAtan2 = Math.atan2;\n\nfunction _default(path, m) {\n var data = path.data;\n var cmd;\n var nPoint;\n var i;\n var j;\n var k;\n var p;\n var M = CMD.M;\n var C = CMD.C;\n var L = CMD.L;\n var R = CMD.R;\n var A = CMD.A;\n var Q = CMD.Q;\n\n for (i = 0, j = 0; i < data.length;) {\n cmd = data[i++];\n j = i;\n nPoint = 0;\n\n switch (cmd) {\n case M:\n nPoint = 1;\n break;\n\n case L:\n nPoint = 1;\n break;\n\n case C:\n nPoint = 3;\n break;\n\n case Q:\n nPoint = 2;\n break;\n\n case A:\n var x = m[4];\n var y = m[5];\n var sx = mathSqrt(m[0] * m[0] + m[1] * m[1]);\n var sy = mathSqrt(m[2] * m[2] + m[3] * m[3]);\n var angle = mathAtan2(-m[1] / sy, m[0] / sx); // cx\n\n data[i] *= sx;\n data[i++] += x; // cy\n\n data[i] *= sy;\n data[i++] += y; // Scale rx and ry\n // FIXME Assume psi is 0 here\n\n data[i++] *= sx;\n data[i++] *= sy; // Start angle\n\n data[i++] += angle; // end angle\n\n data[i++] += angle; // FIXME psi\n\n i += 2;\n j = i;\n break;\n\n case R:\n // x0, y0\n p[0] = data[i++];\n p[1] = data[i++];\n v2ApplyTransform(p, p, m);\n data[j++] = p[0];\n data[j++] = p[1]; // x1, y1\n\n p[0] += data[i++];\n p[1] += data[i++];\n v2ApplyTransform(p, p, m);\n data[j++] = p[0];\n data[j++] = p[1];\n }\n\n for (k = 0; k < nPoint; k++) {\n var p = points[k];\n p[0] = data[i++];\n p[1] = data[i++];\n v2ApplyTransform(p, p, m); // Write back\n\n data[j++] = p[0];\n data[j++] = p[1];\n }\n }\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nvar preprocessor = require(\"./timeline/preprocessor\");\n\nrequire(\"./timeline/typeDefaulter\");\n\nrequire(\"./timeline/timelineAction\");\n\nrequire(\"./timeline/SliderTimelineModel\");\n\nrequire(\"./timeline/SliderTimelineView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * DataZoom component entry\n */\necharts.registerPreprocessor(preprocessor);","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction normalize(a) {\n if (!(a instanceof Array)) {\n a = [a, a];\n }\n\n return a;\n}\n\nvar opacityQuery = 'lineStyle.opacity'.split('.');\nvar _default = {\n seriesType: 'lines',\n reset: function (seriesModel, ecModel, api) {\n var symbolType = normalize(seriesModel.get('symbol'));\n var symbolSize = normalize(seriesModel.get('symbolSize'));\n var data = seriesModel.getData();\n data.setVisual('fromSymbol', symbolType && symbolType[0]);\n data.setVisual('toSymbol', symbolType && symbolType[1]);\n data.setVisual('fromSymbolSize', symbolSize && symbolSize[0]);\n data.setVisual('toSymbolSize', symbolSize && symbolSize[1]);\n data.setVisual('opacity', seriesModel.get(opacityQuery));\n\n function dataEach(data, idx) {\n var itemModel = data.getItemModel(idx);\n var symbolType = normalize(itemModel.getShallow('symbol', true));\n var symbolSize = normalize(itemModel.getShallow('symbolSize', true));\n var opacity = itemModel.get(opacityQuery);\n symbolType[0] && data.setItemVisual(idx, 'fromSymbol', symbolType[0]);\n symbolType[1] && data.setItemVisual(idx, 'toSymbol', symbolType[1]);\n symbolSize[0] && data.setItemVisual(idx, 'fromSymbolSize', symbolSize[0]);\n symbolSize[1] && data.setItemVisual(idx, 'toSymbolSize', symbolSize[1]);\n data.setItemVisual(idx, 'opacity', opacity);\n }\n\n return {\n dataEach: data.hasItemOption ? dataEach : null\n };\n }\n};\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Geo = require(\"./Geo\");\n\nvar layout = require(\"../../util/layout\");\n\nvar numberUtil = require(\"../../util/number\");\n\nvar geoSourceManager = require(\"./geoSourceManager\");\n\nvar mapDataStorage = require(\"./mapDataStorage\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Resize method bound to the geo\n * @param {module:echarts/coord/geo/GeoModel|module:echarts/chart/map/MapModel} geoModel\n * @param {module:echarts/ExtensionAPI} api\n */\nfunction resizeGeo(geoModel, api) {\n var boundingCoords = geoModel.get('boundingCoords');\n\n if (boundingCoords != null) {\n var leftTop = boundingCoords[0];\n var rightBottom = boundingCoords[1];\n\n if (isNaN(leftTop[0]) || isNaN(leftTop[1]) || isNaN(rightBottom[0]) || isNaN(rightBottom[1])) {} else {\n this.setBoundingRect(leftTop[0], leftTop[1], rightBottom[0] - leftTop[0], rightBottom[1] - leftTop[1]);\n }\n }\n\n var rect = this.getBoundingRect();\n var boxLayoutOption;\n var center = geoModel.get('layoutCenter');\n var size = geoModel.get('layoutSize');\n var viewWidth = api.getWidth();\n var viewHeight = api.getHeight();\n var aspect = rect.width / rect.height * this.aspectScale;\n var useCenterAndSize = false;\n\n if (center && size) {\n center = [numberUtil.parsePercent(center[0], viewWidth), numberUtil.parsePercent(center[1], viewHeight)];\n size = numberUtil.parsePercent(size, Math.min(viewWidth, viewHeight));\n\n if (!isNaN(center[0]) && !isNaN(center[1]) && !isNaN(size)) {\n useCenterAndSize = true;\n } else {}\n }\n\n var viewRect;\n\n if (useCenterAndSize) {\n var viewRect = {};\n\n if (aspect > 1) {\n // Width is same with size\n viewRect.width = size;\n viewRect.height = size / aspect;\n } else {\n viewRect.height = size;\n viewRect.width = size * aspect;\n }\n\n viewRect.y = center[1] - viewRect.height / 2;\n viewRect.x = center[0] - viewRect.width / 2;\n } else {\n // Use left/top/width/height\n boxLayoutOption = geoModel.getBoxLayoutParams(); // 0.75 rate\n\n boxLayoutOption.aspect = aspect;\n viewRect = layout.getLayoutRect(boxLayoutOption, {\n width: viewWidth,\n height: viewHeight\n });\n }\n\n this.setViewRect(viewRect.x, viewRect.y, viewRect.width, viewRect.height);\n this.setCenter(geoModel.get('center'));\n this.setZoom(geoModel.get('zoom'));\n}\n/**\n * @param {module:echarts/coord/Geo} geo\n * @param {module:echarts/model/Model} model\n * @inner\n */\n\n\nfunction setGeoCoords(geo, model) {\n zrUtil.each(model.get('geoCoord'), function (geoCoord, name) {\n geo.addGeoCoord(name, geoCoord);\n });\n}\n\nvar geoCreator = {\n // For deciding which dimensions to use when creating list data\n dimensions: Geo.prototype.dimensions,\n create: function (ecModel, api) {\n var geoList = []; // FIXME Create each time may be slow\n\n ecModel.eachComponent('geo', function (geoModel, idx) {\n var name = geoModel.get('map');\n var aspectScale = geoModel.get('aspectScale');\n var invertLongitute = true;\n var mapRecords = mapDataStorage.retrieveMap(name);\n\n if (mapRecords && mapRecords[0] && mapRecords[0].type === 'svg') {\n aspectScale == null && (aspectScale = 1);\n invertLongitute = false;\n } else {\n aspectScale == null && (aspectScale = 0.75);\n }\n\n var geo = new Geo(name + idx, name, geoModel.get('nameMap'), invertLongitute);\n geo.aspectScale = aspectScale;\n geo.zoomLimit = geoModel.get('scaleLimit');\n geoList.push(geo);\n setGeoCoords(geo, geoModel);\n geoModel.coordinateSystem = geo;\n geo.model = geoModel; // Inject resize method\n\n geo.resize = resizeGeo;\n geo.resize(geoModel, api);\n });\n ecModel.eachSeries(function (seriesModel) {\n var coordSys = seriesModel.get('coordinateSystem');\n\n if (coordSys === 'geo') {\n var geoIndex = seriesModel.get('geoIndex') || 0;\n seriesModel.coordinateSystem = geoList[geoIndex];\n }\n }); // If has map series\n\n var mapModelGroupBySeries = {};\n ecModel.eachSeriesByType('map', function (seriesModel) {\n if (!seriesModel.getHostGeoModel()) {\n var mapType = seriesModel.getMapType();\n mapModelGroupBySeries[mapType] = mapModelGroupBySeries[mapType] || [];\n mapModelGroupBySeries[mapType].push(seriesModel);\n }\n });\n zrUtil.each(mapModelGroupBySeries, function (mapSeries, mapType) {\n var nameMapList = zrUtil.map(mapSeries, function (singleMapSeries) {\n return singleMapSeries.get('nameMap');\n });\n var geo = new Geo(mapType, mapType, zrUtil.mergeAll(nameMapList));\n geo.zoomLimit = zrUtil.retrieve.apply(null, zrUtil.map(mapSeries, function (singleMapSeries) {\n return singleMapSeries.get('scaleLimit');\n }));\n geoList.push(geo); // Inject resize method\n\n geo.resize = resizeGeo;\n geo.aspectScale = mapSeries[0].get('aspectScale');\n geo.resize(mapSeries[0], api);\n zrUtil.each(mapSeries, function (singleMapSeries) {\n singleMapSeries.coordinateSystem = geo;\n setGeoCoords(geo, singleMapSeries);\n });\n });\n return geoList;\n },\n\n /**\n * Fill given regions array\n * @param {Array.} originRegionArr\n * @param {string} mapName\n * @param {Object} [nameMap]\n * @return {Array}\n */\n getFilledRegions: function (originRegionArr, mapName, nameMap) {\n // Not use the original\n var regionsArr = (originRegionArr || []).slice();\n var dataNameMap = zrUtil.createHashMap();\n\n for (var i = 0; i < regionsArr.length; i++) {\n dataNameMap.set(regionsArr[i].name, regionsArr[i]);\n }\n\n var source = geoSourceManager.load(mapName, nameMap);\n zrUtil.each(source.regions, function (region) {\n var name = region.name;\n !dataNameMap.get(name) && regionsArr.push({\n name: name\n });\n });\n return regionsArr;\n }\n};\necharts.registerCoordinateSystem('geo', geoCreator);\nvar _default = geoCreator;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar vec2 = require(\"zrender/lib/core/vector\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* A third-party license is embeded for some of the code in this file:\n* Some formulas were originally copied from \"d3.js\" with some\n* modifications made for this project.\n* (See more details in the comment of the method \"step\" below.)\n* The use of the source code of this file is also subject to the terms\n* and consitions of the license of \"d3.js\" (BSD-3Clause, see\n* ).\n*/\nvar scaleAndAdd = vec2.scaleAndAdd; // function adjacentNode(n, e) {\n// return e.n1 === n ? e.n2 : e.n1;\n// }\n\nfunction forceLayout(nodes, edges, opts) {\n var rect = opts.rect;\n var width = rect.width;\n var height = rect.height;\n var center = [rect.x + width / 2, rect.y + height / 2]; // var scale = opts.scale || 1;\n\n var gravity = opts.gravity == null ? 0.1 : opts.gravity; // for (var i = 0; i < edges.length; i++) {\n // var e = edges[i];\n // var n1 = e.n1;\n // var n2 = e.n2;\n // n1.edges = n1.edges || [];\n // n2.edges = n2.edges || [];\n // n1.edges.push(e);\n // n2.edges.push(e);\n // }\n // Init position\n\n for (var i = 0; i < nodes.length; i++) {\n var n = nodes[i];\n\n if (!n.p) {\n n.p = vec2.create(width * (Math.random() - 0.5) + center[0], height * (Math.random() - 0.5) + center[1]);\n }\n\n n.pp = vec2.clone(n.p);\n n.edges = null;\n } // Formula in 'Graph Drawing by Force-directed Placement'\n // var k = scale * Math.sqrt(width * height / nodes.length);\n // var k2 = k * k;\n\n\n var initialFriction = opts.friction == null ? 0.6 : opts.friction;\n var friction = initialFriction;\n return {\n warmUp: function () {\n friction = initialFriction * 0.8;\n },\n setFixed: function (idx) {\n nodes[idx].fixed = true;\n },\n setUnfixed: function (idx) {\n nodes[idx].fixed = false;\n },\n\n /**\n * Some formulas were originally copied from \"d3.js\"\n * https://github.com/d3/d3/blob/b516d77fb8566b576088e73410437494717ada26/src/layout/force.js\n * with some modifications made for this project.\n * See the license statement at the head of this file.\n */\n step: function (cb) {\n var v12 = [];\n var nLen = nodes.length;\n\n for (var i = 0; i < edges.length; i++) {\n var e = edges[i];\n\n if (e.ignoreForceLayout) {\n continue;\n }\n\n var n1 = e.n1;\n var n2 = e.n2;\n vec2.sub(v12, n2.p, n1.p);\n var d = vec2.len(v12) - e.d;\n var w = n2.w / (n1.w + n2.w);\n\n if (isNaN(w)) {\n w = 0;\n }\n\n vec2.normalize(v12, v12);\n !n1.fixed && scaleAndAdd(n1.p, n1.p, v12, w * d * friction);\n !n2.fixed && scaleAndAdd(n2.p, n2.p, v12, -(1 - w) * d * friction);\n } // Gravity\n\n\n for (var i = 0; i < nLen; i++) {\n var n = nodes[i];\n\n if (!n.fixed) {\n vec2.sub(v12, center, n.p); // var d = vec2.len(v12);\n // vec2.scale(v12, v12, 1 / d);\n // var gravityFactor = gravity;\n\n scaleAndAdd(n.p, n.p, v12, gravity * friction);\n }\n } // Repulsive\n // PENDING\n\n\n for (var i = 0; i < nLen; i++) {\n var n1 = nodes[i];\n\n for (var j = i + 1; j < nLen; j++) {\n var n2 = nodes[j];\n vec2.sub(v12, n2.p, n1.p);\n var d = vec2.len(v12);\n\n if (d === 0) {\n // Random repulse\n vec2.set(v12, Math.random() - 0.5, Math.random() - 0.5);\n d = 1;\n }\n\n var repFact = (n1.rep + n2.rep) / d / d;\n !n1.fixed && scaleAndAdd(n1.pp, n1.pp, v12, repFact);\n !n2.fixed && scaleAndAdd(n2.pp, n2.pp, v12, -repFact);\n }\n }\n\n var v = [];\n\n for (var i = 0; i < nLen; i++) {\n var n = nodes[i];\n\n if (!n.fixed) {\n vec2.sub(v, n.p, n.pp);\n scaleAndAdd(n.p, n.p, v, friction);\n vec2.copy(n.pp, n.p);\n }\n }\n\n friction = friction * 0.992;\n cb && cb(nodes, edges, friction < 0.01);\n }\n };\n}\n\nexports.forceLayout = forceLayout;","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAHqADAAQAAAABAAAAHgAAAADKQTcFAAADCElEQVRIDeVWz08TQRR+s7sEmhRSixrtwYD0gEpMTUxjPOnBmzF46M2/QkP06s2EwNk/gBsHGuWuJw6NicagElN+nJADYqMkBbu74/tmd6a726WCJZLoJNv35s1739fZefveEP1vQxxlw5VKxa69XSkL3x+RUhYQK4TYlJa1Ub42Xpufn/cOi3co4tHRiauSvEeSxF0imU8HFzuC5EtB9uz6+vL7dJ+2tSvx+Hh5eG//x6wkesAhVjusq+Yz6NxA/+DDlZXa14M8DyQuFi9faXn0gnd4EcH8SlskqSqFqNrkvMlk3E3Ym02n4JF7XUg5SYIm+Qj6YOeItT6b7tXrHz8E8/hvKjFIXV8uSUlDCkLQgmPZU/X68mo8PD4rFifGXN+b5rj7Ydx3xxI308g7iPF6m/u7tXCnvmXRk/XVT9Nxiu6z0bFLU75Pz9iLj0esZfqz5eRrt5MQ2cGh52y7BTuTPk4jHSmVcrns6Ru5/NmR3IVCo7G1tQd/PRrftpfyw2eavPM7bDvleT/PNRrbVb0OGUuYIHtVIvGZ0kIaqQredUvS817hIdajgFpHLDAwR3ICW69BxojxycCGRMKZRh3/RAeGSkrGDLENjCFGcQi+U17j7P1dIhmELorCYCy4ABsc2t0QoyLxsioO+GS0Q6+yjSXzAUeAaIhRBjUJvlOt9yqjWFEOQ6xrL4h0ceiVNIkV5TDEx0GShuG6uXatEIITPBiGGF1GG1EGtd6rbLV2z2sM/gdftO5oBa2NPF9NUXtZ+azXOqTjbPB5PVV21jvWI4YQS1kUR7hmdox+yuVtB3ZV8EOHVDFADS5rr9UDvctoY4mdgCNwNsRo4txPF5WZuwwK/oF4h6hciFUYjAUdvTp6UTDEwaI9w9JHa0OXga2XEXQq1Sa5R9uzUawYMW4OnABzcEBrQ5eJOhs967wTtn0bD7Fu7BEFsaY9MmbyVtJO9TDob7XFDmLwn8hFQL+tE7n6aPITuexpcsgjXG8XOXtnkokUxdJ66hnrxaQ8zgt9Evvfn/8Ci4iQ/MheKOwAAAAASUVORK5CYII=\"","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1-lts\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _helper = require(\"./helper\");\n\nvar prepareDataCoordInfo = _helper.prepareDataCoordInfo;\nvar getStackedOnPoint = _helper.getStackedOnPoint;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// var arrayDiff = require('zrender/src/core/arrayDiff');\n// 'zrender/src/core/arrayDiff' has been used before, but it did\n// not do well in performance when roam with fixed dataZoom window.\n// function convertToIntId(newIdList, oldIdList) {\n// // Generate int id instead of string id.\n// // Compare string maybe slow in score function of arrDiff\n// // Assume id in idList are all unique\n// var idIndicesMap = {};\n// var idx = 0;\n// for (var i = 0; i < newIdList.length; i++) {\n// idIndicesMap[newIdList[i]] = idx;\n// newIdList[i] = idx++;\n// }\n// for (var i = 0; i < oldIdList.length; i++) {\n// var oldId = oldIdList[i];\n// // Same with newIdList\n// if (idIndicesMap[oldId]) {\n// oldIdList[i] = idIndicesMap[oldId];\n// }\n// else {\n// oldIdList[i] = idx++;\n// }\n// }\n// }\nfunction diffData(oldData, newData) {\n var diffResult = [];\n newData.diff(oldData).add(function (idx) {\n diffResult.push({\n cmd: '+',\n idx: idx\n });\n }).update(function (newIdx, oldIdx) {\n diffResult.push({\n cmd: '=',\n idx: oldIdx,\n idx1: newIdx\n });\n }).remove(function (idx) {\n diffResult.push({\n cmd: '-',\n idx: idx\n });\n }).execute();\n return diffResult;\n}\n\nfunction _default(oldData, newData, oldStackedOnPoints, newStackedOnPoints, oldCoordSys, newCoordSys, oldValueOrigin, newValueOrigin) {\n var diff = diffData(oldData, newData); // var newIdList = newData.mapArray(newData.getId);\n // var oldIdList = oldData.mapArray(oldData.getId);\n // convertToIntId(newIdList, oldIdList);\n // // FIXME One data ?\n // diff = arrayDiff(oldIdList, newIdList);\n\n var currPoints = [];\n var nextPoints = []; // Points for stacking base line\n\n var currStackedPoints = [];\n var nextStackedPoints = [];\n var status = [];\n var sortedIndices = [];\n var rawIndices = [];\n var newDataOldCoordInfo = prepareDataCoordInfo(oldCoordSys, newData, oldValueOrigin);\n var oldDataNewCoordInfo = prepareDataCoordInfo(newCoordSys, oldData, newValueOrigin);\n\n for (var i = 0; i < diff.length; i++) {\n var diffItem = diff[i];\n var pointAdded = true; // FIXME, animation is not so perfect when dataZoom window moves fast\n // Which is in case remvoing or add more than one data in the tail or head\n\n switch (diffItem.cmd) {\n case '=':\n var currentPt = oldData.getItemLayout(diffItem.idx);\n var nextPt = newData.getItemLayout(diffItem.idx1); // If previous data is NaN, use next point directly\n\n if (isNaN(currentPt[0]) || isNaN(currentPt[1])) {\n currentPt = nextPt.slice();\n }\n\n currPoints.push(currentPt);\n nextPoints.push(nextPt);\n currStackedPoints.push(oldStackedOnPoints[diffItem.idx]);\n nextStackedPoints.push(newStackedOnPoints[diffItem.idx1]);\n rawIndices.push(newData.getRawIndex(diffItem.idx1));\n break;\n\n case '+':\n var idx = diffItem.idx;\n currPoints.push(oldCoordSys.dataToPoint([newData.get(newDataOldCoordInfo.dataDimsForPoint[0], idx), newData.get(newDataOldCoordInfo.dataDimsForPoint[1], idx)]));\n nextPoints.push(newData.getItemLayout(idx).slice());\n currStackedPoints.push(getStackedOnPoint(newDataOldCoordInfo, oldCoordSys, newData, idx));\n nextStackedPoints.push(newStackedOnPoints[idx]);\n rawIndices.push(newData.getRawIndex(idx));\n break;\n\n case '-':\n var idx = diffItem.idx;\n var rawIndex = oldData.getRawIndex(idx); // Data is replaced. In the case of dynamic data queue\n // FIXME FIXME FIXME\n\n if (rawIndex !== idx) {\n currPoints.push(oldData.getItemLayout(idx));\n nextPoints.push(newCoordSys.dataToPoint([oldData.get(oldDataNewCoordInfo.dataDimsForPoint[0], idx), oldData.get(oldDataNewCoordInfo.dataDimsForPoint[1], idx)]));\n currStackedPoints.push(oldStackedOnPoints[idx]);\n nextStackedPoints.push(getStackedOnPoint(oldDataNewCoordInfo, newCoordSys, oldData, idx));\n rawIndices.push(rawIndex);\n } else {\n pointAdded = false;\n }\n\n } // Original indices\n\n\n if (pointAdded) {\n status.push(diffItem);\n sortedIndices.push(sortedIndices.length);\n }\n } // Diff result may be crossed if all items are changed\n // Sort by data index\n\n\n sortedIndices.sort(function (a, b) {\n return rawIndices[a] - rawIndices[b];\n });\n var sortedCurrPoints = [];\n var sortedNextPoints = [];\n var sortedCurrStackedPoints = [];\n var sortedNextStackedPoints = [];\n var sortedStatus = [];\n\n for (var i = 0; i < sortedIndices.length; i++) {\n var idx = sortedIndices[i];\n sortedCurrPoints[i] = currPoints[idx];\n sortedNextPoints[i] = nextPoints[idx];\n sortedCurrStackedPoints[i] = currStackedPoints[idx];\n sortedNextStackedPoints[i] = nextStackedPoints[idx];\n sortedStatus[i] = status[idx];\n }\n\n return {\n current: sortedCurrPoints,\n next: sortedNextPoints,\n stackedOnCurrent: sortedCurrStackedPoints,\n stackedOnNext: sortedNextStackedPoints,\n status: sortedStatus\n };\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar BaseAxisPointer = require(\"./BaseAxisPointer\");\n\nvar viewHelper = require(\"./viewHelper\");\n\nvar singleAxisHelper = require(\"../../coord/single/singleAxisHelper\");\n\nvar AxisView = require(\"../axis/AxisView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar XY = ['x', 'y'];\nvar WH = ['width', 'height'];\nvar SingleAxisPointer = BaseAxisPointer.extend({\n /**\n * @override\n */\n makeElOption: function (elOption, value, axisModel, axisPointerModel, api) {\n var axis = axisModel.axis;\n var coordSys = axis.coordinateSystem;\n var otherExtent = getGlobalExtent(coordSys, 1 - getPointDimIndex(axis));\n var pixelValue = coordSys.dataToPoint(value)[0];\n var axisPointerType = axisPointerModel.get('type');\n\n if (axisPointerType && axisPointerType !== 'none') {\n var elStyle = viewHelper.buildElStyle(axisPointerModel);\n var pointerOption = pointerShapeBuilder[axisPointerType](axis, pixelValue, otherExtent);\n pointerOption.style = elStyle;\n elOption.graphicKey = pointerOption.type;\n elOption.pointer = pointerOption;\n }\n\n var layoutInfo = singleAxisHelper.layout(axisModel);\n viewHelper.buildCartesianSingleLabelElOption(value, elOption, layoutInfo, axisModel, axisPointerModel, api);\n },\n\n /**\n * @override\n */\n getHandleTransform: function (value, axisModel, axisPointerModel) {\n var layoutInfo = singleAxisHelper.layout(axisModel, {\n labelInside: false\n });\n layoutInfo.labelMargin = axisPointerModel.get('handle.margin');\n return {\n position: viewHelper.getTransformedPosition(axisModel.axis, value, layoutInfo),\n rotation: layoutInfo.rotation + (layoutInfo.labelDirection < 0 ? Math.PI : 0)\n };\n },\n\n /**\n * @override\n */\n updateHandleTransform: function (transform, delta, axisModel, axisPointerModel) {\n var axis = axisModel.axis;\n var coordSys = axis.coordinateSystem;\n var dimIndex = getPointDimIndex(axis);\n var axisExtent = getGlobalExtent(coordSys, dimIndex);\n var currPosition = transform.position;\n currPosition[dimIndex] += delta[dimIndex];\n currPosition[dimIndex] = Math.min(axisExtent[1], currPosition[dimIndex]);\n currPosition[dimIndex] = Math.max(axisExtent[0], currPosition[dimIndex]);\n var otherExtent = getGlobalExtent(coordSys, 1 - dimIndex);\n var cursorOtherValue = (otherExtent[1] + otherExtent[0]) / 2;\n var cursorPoint = [cursorOtherValue, cursorOtherValue];\n cursorPoint[dimIndex] = currPosition[dimIndex];\n return {\n position: currPosition,\n rotation: transform.rotation,\n cursorPoint: cursorPoint,\n tooltipOption: {\n verticalAlign: 'middle'\n }\n };\n }\n});\nvar pointerShapeBuilder = {\n line: function (axis, pixelValue, otherExtent) {\n var targetShape = viewHelper.makeLineShape([pixelValue, otherExtent[0]], [pixelValue, otherExtent[1]], getPointDimIndex(axis));\n return {\n type: 'Line',\n subPixelOptimize: true,\n shape: targetShape\n };\n },\n shadow: function (axis, pixelValue, otherExtent) {\n var bandWidth = axis.getBandWidth();\n var span = otherExtent[1] - otherExtent[0];\n return {\n type: 'Rect',\n shape: viewHelper.makeRectShape([pixelValue - bandWidth / 2, otherExtent[0]], [bandWidth, span], getPointDimIndex(axis))\n };\n }\n};\n\nfunction getPointDimIndex(axis) {\n return axis.isHorizontal() ? 0 : 1;\n}\n\nfunction getGlobalExtent(coordSys, dimIndex) {\n var rect = coordSys.getRect();\n return [rect[XY[dimIndex]], rect[XY[dimIndex]] + rect[WH[dimIndex]]];\n}\n\nAxisView.registerAxisPointerClass('SingleAxisPointer', SingleAxisPointer);\nvar _default = SingleAxisPointer;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar LegendModel = require(\"./LegendModel\");\n\nvar _layout = require(\"../../util/layout\");\n\nvar mergeLayoutParam = _layout.mergeLayoutParam;\nvar getLayoutParams = _layout.getLayoutParams;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar ScrollableLegendModel = LegendModel.extend({\n type: 'legend.scroll',\n\n /**\n * @param {number} scrollDataIndex\n */\n setScrollDataIndex: function (scrollDataIndex) {\n this.option.scrollDataIndex = scrollDataIndex;\n },\n defaultOption: {\n scrollDataIndex: 0,\n pageButtonItemGap: 5,\n pageButtonGap: null,\n pageButtonPosition: 'end',\n // 'start' or 'end'\n pageFormatter: '{current}/{total}',\n // If null/undefined, do not show page.\n pageIcons: {\n horizontal: ['M0,0L12,-10L12,10z', 'M0,0L-12,-10L-12,10z'],\n vertical: ['M0,0L20,0L10,-20z', 'M0,0L20,0L10,20z']\n },\n pageIconColor: '#2f4554',\n pageIconInactiveColor: '#aaa',\n pageIconSize: 15,\n // Can be [10, 3], which represents [width, height]\n pageTextStyle: {\n color: '#333'\n },\n animationDurationUpdate: 800\n },\n\n /**\n * @override\n */\n init: function (option, parentModel, ecModel, extraOpt) {\n var inputPositionParams = getLayoutParams(option);\n ScrollableLegendModel.superCall(this, 'init', option, parentModel, ecModel, extraOpt);\n mergeAndNormalizeLayoutParams(this, option, inputPositionParams);\n },\n\n /**\n * @override\n */\n mergeOption: function (option, extraOpt) {\n ScrollableLegendModel.superCall(this, 'mergeOption', option, extraOpt);\n mergeAndNormalizeLayoutParams(this, this.option, option);\n }\n}); // Do not `ignoreSize` to enable setting {left: 10, right: 10}.\n\nfunction mergeAndNormalizeLayoutParams(legendModel, target, raw) {\n var orient = legendModel.getOrient();\n var ignoreSize = [1, 1];\n ignoreSize[orient.index] = 0;\n mergeLayoutParam(target, raw, {\n type: 'box',\n ignoreSize: ignoreSize\n });\n}\n\nvar _default = ScrollableLegendModel;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _bbox = require(\"zrender/lib/core/bbox\");\n\nvar fromPoints = _bbox.fromPoints;\n\nvar SymbolDraw = require(\"../helper/SymbolDraw\");\n\nvar SymbolClz = require(\"../helper/Symbol\");\n\nvar lineAnimationDiff = require(\"./lineAnimationDiff\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar modelUtil = require(\"../../util/model\");\n\nvar _poly = require(\"./poly\");\n\nvar Polyline = _poly.Polyline;\nvar Polygon = _poly.Polygon;\n\nvar ChartView = require(\"../../view/Chart\");\n\nvar _helper = require(\"./helper\");\n\nvar prepareDataCoordInfo = _helper.prepareDataCoordInfo;\nvar getStackedOnPoint = _helper.getStackedOnPoint;\n\nvar _createClipPathFromCoordSys = require(\"../helper/createClipPathFromCoordSys\");\n\nvar createGridClipPath = _createClipPathFromCoordSys.createGridClipPath;\nvar createPolarClipPath = _createClipPathFromCoordSys.createPolarClipPath;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// FIXME step not support polar\nfunction isPointsSame(points1, points2) {\n if (points1.length !== points2.length) {\n return;\n }\n\n for (var i = 0; i < points1.length; i++) {\n var p1 = points1[i];\n var p2 = points2[i];\n\n if (p1[0] !== p2[0] || p1[1] !== p2[1]) {\n return;\n }\n }\n\n return true;\n}\n\nfunction getBoundingDiff(points1, points2) {\n var min1 = [];\n var max1 = [];\n var min2 = [];\n var max2 = [];\n fromPoints(points1, min1, max1);\n fromPoints(points2, min2, max2); // Get a max value from each corner of two boundings.\n\n return Math.max(Math.abs(min1[0] - min2[0]), Math.abs(min1[1] - min2[1]), Math.abs(max1[0] - max2[0]), Math.abs(max1[1] - max2[1]));\n}\n\nfunction getSmooth(smooth) {\n return typeof smooth === 'number' ? smooth : smooth ? 0.5 : 0;\n}\n/**\n * @param {module:echarts/coord/cartesian/Cartesian2D|module:echarts/coord/polar/Polar} coordSys\n * @param {module:echarts/data/List} data\n * @param {Object} dataCoordInfo\n * @param {Array.>} points\n */\n\n\nfunction getStackedOnPoints(coordSys, data, dataCoordInfo) {\n if (!dataCoordInfo.valueDim) {\n return [];\n }\n\n var points = [];\n\n for (var idx = 0, len = data.count(); idx < len; idx++) {\n points.push(getStackedOnPoint(dataCoordInfo, coordSys, data, idx));\n }\n\n return points;\n}\n\nfunction turnPointsIntoStep(points, coordSys, stepTurnAt) {\n var baseAxis = coordSys.getBaseAxis();\n var baseIndex = baseAxis.dim === 'x' || baseAxis.dim === 'radius' ? 0 : 1;\n var stepPoints = [];\n\n for (var i = 0; i < points.length - 1; i++) {\n var nextPt = points[i + 1];\n var pt = points[i];\n stepPoints.push(pt);\n var stepPt = [];\n\n switch (stepTurnAt) {\n case 'end':\n stepPt[baseIndex] = nextPt[baseIndex];\n stepPt[1 - baseIndex] = pt[1 - baseIndex]; // default is start\n\n stepPoints.push(stepPt);\n break;\n\n case 'middle':\n // default is start\n var middle = (pt[baseIndex] + nextPt[baseIndex]) / 2;\n var stepPt2 = [];\n stepPt[baseIndex] = stepPt2[baseIndex] = middle;\n stepPt[1 - baseIndex] = pt[1 - baseIndex];\n stepPt2[1 - baseIndex] = nextPt[1 - baseIndex];\n stepPoints.push(stepPt);\n stepPoints.push(stepPt2);\n break;\n\n default:\n stepPt[baseIndex] = pt[baseIndex];\n stepPt[1 - baseIndex] = nextPt[1 - baseIndex]; // default is start\n\n stepPoints.push(stepPt);\n }\n } // Last points\n\n\n points[i] && stepPoints.push(points[i]);\n return stepPoints;\n}\n\nfunction getVisualGradient(data, coordSys) {\n var visualMetaList = data.getVisual('visualMeta');\n\n if (!visualMetaList || !visualMetaList.length || !data.count()) {\n // When data.count() is 0, gradient range can not be calculated.\n return;\n }\n\n if (coordSys.type !== 'cartesian2d') {\n return;\n }\n\n var coordDim;\n var visualMeta;\n\n for (var i = visualMetaList.length - 1; i >= 0; i--) {\n var dimIndex = visualMetaList[i].dimension;\n var dimName = data.dimensions[dimIndex];\n var dimInfo = data.getDimensionInfo(dimName);\n coordDim = dimInfo && dimInfo.coordDim; // Can only be x or y\n\n if (coordDim === 'x' || coordDim === 'y') {\n visualMeta = visualMetaList[i];\n break;\n }\n }\n\n if (!visualMeta) {\n return;\n } // If the area to be rendered is bigger than area defined by LinearGradient,\n // the canvas spec prescribes that the color of the first stop and the last\n // stop should be used. But if two stops are added at offset 0, in effect\n // browsers use the color of the second stop to render area outside\n // LinearGradient. So we can only infinitesimally extend area defined in\n // LinearGradient to render `outerColors`.\n\n\n var axis = coordSys.getAxis(coordDim); // dataToCoor mapping may not be linear, but must be monotonic.\n\n var colorStops = zrUtil.map(visualMeta.stops, function (stop) {\n return {\n coord: axis.toGlobalCoord(axis.dataToCoord(stop.value)),\n color: stop.color\n };\n });\n var stopLen = colorStops.length;\n var outerColors = visualMeta.outerColors.slice();\n\n if (stopLen && colorStops[0].coord > colorStops[stopLen - 1].coord) {\n colorStops.reverse();\n outerColors.reverse();\n }\n\n var tinyExtent = 10; // Arbitrary value: 10px\n\n var minCoord = colorStops[0].coord - tinyExtent;\n var maxCoord = colorStops[stopLen - 1].coord + tinyExtent;\n var coordSpan = maxCoord - minCoord;\n\n if (coordSpan < 1e-3) {\n return 'transparent';\n }\n\n zrUtil.each(colorStops, function (stop) {\n stop.offset = (stop.coord - minCoord) / coordSpan;\n });\n colorStops.push({\n offset: stopLen ? colorStops[stopLen - 1].offset : 0.5,\n color: outerColors[1] || 'transparent'\n });\n colorStops.unshift({\n // notice colorStops.length have been changed.\n offset: stopLen ? colorStops[0].offset : 0.5,\n color: outerColors[0] || 'transparent'\n }); // zrUtil.each(colorStops, function (colorStop) {\n // // Make sure each offset has rounded px to avoid not sharp edge\n // colorStop.offset = (Math.round(colorStop.offset * (end - start) + start) - start) / (end - start);\n // });\n\n var gradient = new graphic.LinearGradient(0, 0, 0, 0, colorStops, true);\n gradient[coordDim] = minCoord;\n gradient[coordDim + '2'] = maxCoord;\n return gradient;\n}\n\nfunction getIsIgnoreFunc(seriesModel, data, coordSys) {\n var showAllSymbol = seriesModel.get('showAllSymbol');\n var isAuto = showAllSymbol === 'auto';\n\n if (showAllSymbol && !isAuto) {\n return;\n }\n\n var categoryAxis = coordSys.getAxesByScale('ordinal')[0];\n\n if (!categoryAxis) {\n return;\n } // Note that category label interval strategy might bring some weird effect\n // in some scenario: users may wonder why some of the symbols are not\n // displayed. So we show all symbols as possible as we can.\n\n\n if (isAuto // Simplify the logic, do not determine label overlap here.\n && canShowAllSymbolForCategory(categoryAxis, data)) {\n return;\n } // Otherwise follow the label interval strategy on category axis.\n\n\n var categoryDataDim = data.mapDimension(categoryAxis.dim);\n var labelMap = {};\n zrUtil.each(categoryAxis.getViewLabels(), function (labelItem) {\n labelMap[labelItem.tickValue] = 1;\n });\n return function (dataIndex) {\n return !labelMap.hasOwnProperty(data.get(categoryDataDim, dataIndex));\n };\n}\n\nfunction canShowAllSymbolForCategory(categoryAxis, data) {\n // In mose cases, line is monotonous on category axis, and the label size\n // is close with each other. So we check the symbol size and some of the\n // label size alone with the category axis to estimate whether all symbol\n // can be shown without overlap.\n var axisExtent = categoryAxis.getExtent();\n var availSize = Math.abs(axisExtent[1] - axisExtent[0]) / categoryAxis.scale.count();\n isNaN(availSize) && (availSize = 0); // 0/0 is NaN.\n // Sampling some points, max 5.\n\n var dataLen = data.count();\n var step = Math.max(1, Math.round(dataLen / 5));\n\n for (var dataIndex = 0; dataIndex < dataLen; dataIndex += step) {\n if (SymbolClz.getSymbolSize(data, dataIndex // Only for cartesian, where `isHorizontal` exists.\n )[categoryAxis.isHorizontal() ? 1 : 0] // Empirical number\n * 1.5 > availSize) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction createLineClipPath(coordSys, hasAnimation, seriesModel) {\n if (coordSys.type === 'cartesian2d') {\n var isHorizontal = coordSys.getBaseAxis().isHorizontal();\n var clipPath = createGridClipPath(coordSys, hasAnimation, seriesModel); // Expand clip shape to avoid clipping when line value exceeds axis\n\n if (!seriesModel.get('clip', true)) {\n var rectShape = clipPath.shape;\n var expandSize = Math.max(rectShape.width, rectShape.height);\n\n if (isHorizontal) {\n rectShape.y -= expandSize;\n rectShape.height += expandSize * 2;\n } else {\n rectShape.x -= expandSize;\n rectShape.width += expandSize * 2;\n }\n }\n\n return clipPath;\n } else {\n return createPolarClipPath(coordSys, hasAnimation, seriesModel);\n }\n}\n\nvar _default = ChartView.extend({\n type: 'line',\n init: function () {\n var lineGroup = new graphic.Group();\n var symbolDraw = new SymbolDraw();\n this.group.add(symbolDraw.group);\n this._symbolDraw = symbolDraw;\n this._lineGroup = lineGroup;\n },\n render: function (seriesModel, ecModel, api) {\n var coordSys = seriesModel.coordinateSystem;\n var group = this.group;\n var data = seriesModel.getData();\n var lineStyleModel = seriesModel.getModel('lineStyle');\n var areaStyleModel = seriesModel.getModel('areaStyle');\n var points = data.mapArray(data.getItemLayout);\n var isCoordSysPolar = coordSys.type === 'polar';\n var prevCoordSys = this._coordSys;\n var symbolDraw = this._symbolDraw;\n var polyline = this._polyline;\n var polygon = this._polygon;\n var lineGroup = this._lineGroup;\n var hasAnimation = seriesModel.get('animation');\n var isAreaChart = !areaStyleModel.isEmpty();\n var valueOrigin = areaStyleModel.get('origin');\n var dataCoordInfo = prepareDataCoordInfo(coordSys, data, valueOrigin);\n var stackedOnPoints = getStackedOnPoints(coordSys, data, dataCoordInfo);\n var showSymbol = seriesModel.get('showSymbol');\n var isIgnoreFunc = showSymbol && !isCoordSysPolar && getIsIgnoreFunc(seriesModel, data, coordSys); // Remove temporary symbols\n\n var oldData = this._data;\n oldData && oldData.eachItemGraphicEl(function (el, idx) {\n if (el.__temp) {\n group.remove(el);\n oldData.setItemGraphicEl(idx, null);\n }\n }); // Remove previous created symbols if showSymbol changed to false\n\n if (!showSymbol) {\n symbolDraw.remove();\n }\n\n group.add(lineGroup); // FIXME step not support polar\n\n var step = !isCoordSysPolar && seriesModel.get('step');\n var clipShapeForSymbol;\n\n if (coordSys && coordSys.getArea && seriesModel.get('clip', true)) {\n clipShapeForSymbol = coordSys.getArea(); // Avoid float number rounding error for symbol on the edge of axis extent.\n // See #7913 and `test/dataZoom-clip.html`.\n\n if (clipShapeForSymbol.width != null) {\n clipShapeForSymbol.x -= 0.1;\n clipShapeForSymbol.y -= 0.1;\n clipShapeForSymbol.width += 0.2;\n clipShapeForSymbol.height += 0.2;\n } else if (clipShapeForSymbol.r0) {\n clipShapeForSymbol.r0 -= 0.5;\n clipShapeForSymbol.r1 += 0.5;\n }\n }\n\n this._clipShapeForSymbol = clipShapeForSymbol; // Initialization animation or coordinate system changed\n\n if (!(polyline && prevCoordSys.type === coordSys.type && step === this._step)) {\n showSymbol && symbolDraw.updateData(data, {\n isIgnore: isIgnoreFunc,\n clipShape: clipShapeForSymbol\n });\n\n if (step) {\n // TODO If stacked series is not step\n points = turnPointsIntoStep(points, coordSys, step);\n stackedOnPoints = turnPointsIntoStep(stackedOnPoints, coordSys, step);\n }\n\n polyline = this._newPolyline(points, coordSys, hasAnimation);\n\n if (isAreaChart) {\n polygon = this._newPolygon(points, stackedOnPoints, coordSys, hasAnimation);\n }\n\n lineGroup.setClipPath(createLineClipPath(coordSys, true, seriesModel));\n } else {\n if (isAreaChart && !polygon) {\n // If areaStyle is added\n polygon = this._newPolygon(points, stackedOnPoints, coordSys, hasAnimation);\n } else if (polygon && !isAreaChart) {\n // If areaStyle is removed\n lineGroup.remove(polygon);\n polygon = this._polygon = null;\n } // Update clipPath\n\n\n lineGroup.setClipPath(createLineClipPath(coordSys, false, seriesModel)); // Always update, or it is wrong in the case turning on legend\n // because points are not changed\n\n showSymbol && symbolDraw.updateData(data, {\n isIgnore: isIgnoreFunc,\n clipShape: clipShapeForSymbol\n }); // Stop symbol animation and sync with line points\n // FIXME performance?\n\n data.eachItemGraphicEl(function (el) {\n el.stopAnimation(true);\n }); // In the case data zoom triggerred refreshing frequently\n // Data may not change if line has a category axis. So it should animate nothing\n\n if (!isPointsSame(this._stackedOnPoints, stackedOnPoints) || !isPointsSame(this._points, points)) {\n if (hasAnimation) {\n this._updateAnimation(data, stackedOnPoints, coordSys, api, step, valueOrigin);\n } else {\n // Not do it in update with animation\n if (step) {\n // TODO If stacked series is not step\n points = turnPointsIntoStep(points, coordSys, step);\n stackedOnPoints = turnPointsIntoStep(stackedOnPoints, coordSys, step);\n }\n\n polyline.setShape({\n points: points\n });\n polygon && polygon.setShape({\n points: points,\n stackedOnPoints: stackedOnPoints\n });\n }\n }\n }\n\n var visualColor = getVisualGradient(data, coordSys) || data.getVisual('color');\n polyline.useStyle(zrUtil.defaults( // Use color in lineStyle first\n lineStyleModel.getLineStyle(), {\n fill: 'none',\n stroke: visualColor,\n lineJoin: 'bevel'\n }));\n var smooth = seriesModel.get('smooth');\n smooth = getSmooth(seriesModel.get('smooth'));\n polyline.setShape({\n smooth: smooth,\n smoothMonotone: seriesModel.get('smoothMonotone'),\n connectNulls: seriesModel.get('connectNulls')\n });\n\n if (polygon) {\n var stackedOnSeries = data.getCalculationInfo('stackedOnSeries');\n var stackedOnSmooth = 0;\n polygon.useStyle(zrUtil.defaults(areaStyleModel.getAreaStyle(), {\n fill: visualColor,\n opacity: 0.7,\n lineJoin: 'bevel'\n }));\n\n if (stackedOnSeries) {\n stackedOnSmooth = getSmooth(stackedOnSeries.get('smooth'));\n }\n\n polygon.setShape({\n smooth: smooth,\n stackedOnSmooth: stackedOnSmooth,\n smoothMonotone: seriesModel.get('smoothMonotone'),\n connectNulls: seriesModel.get('connectNulls')\n });\n }\n\n this._data = data; // Save the coordinate system for transition animation when data changed\n\n this._coordSys = coordSys;\n this._stackedOnPoints = stackedOnPoints;\n this._points = points;\n this._step = step;\n this._valueOrigin = valueOrigin;\n },\n dispose: function () {},\n highlight: function (seriesModel, ecModel, api, payload) {\n var data = seriesModel.getData();\n var dataIndex = modelUtil.queryDataIndex(data, payload);\n\n if (!(dataIndex instanceof Array) && dataIndex != null && dataIndex >= 0) {\n var symbol = data.getItemGraphicEl(dataIndex);\n\n if (!symbol) {\n // Create a temporary symbol if it is not exists\n var pt = data.getItemLayout(dataIndex);\n\n if (!pt) {\n // Null data\n return;\n } // fix #11360: should't draw symbol outside clipShapeForSymbol\n\n\n if (this._clipShapeForSymbol && !this._clipShapeForSymbol.contain(pt[0], pt[1])) {\n return;\n }\n\n symbol = new SymbolClz(data, dataIndex);\n symbol.position = pt;\n symbol.setZ(seriesModel.get('zlevel'), seriesModel.get('z'));\n symbol.ignore = isNaN(pt[0]) || isNaN(pt[1]);\n symbol.__temp = true;\n data.setItemGraphicEl(dataIndex, symbol); // Stop scale animation\n\n symbol.stopSymbolAnimation(true);\n this.group.add(symbol);\n }\n\n symbol.highlight();\n } else {\n // Highlight whole series\n ChartView.prototype.highlight.call(this, seriesModel, ecModel, api, payload);\n }\n },\n downplay: function (seriesModel, ecModel, api, payload) {\n var data = seriesModel.getData();\n var dataIndex = modelUtil.queryDataIndex(data, payload);\n\n if (dataIndex != null && dataIndex >= 0) {\n var symbol = data.getItemGraphicEl(dataIndex);\n\n if (symbol) {\n if (symbol.__temp) {\n data.setItemGraphicEl(dataIndex, null);\n this.group.remove(symbol);\n } else {\n symbol.downplay();\n }\n }\n } else {\n // FIXME\n // can not downplay completely.\n // Downplay whole series\n ChartView.prototype.downplay.call(this, seriesModel, ecModel, api, payload);\n }\n },\n\n /**\n * @param {module:zrender/container/Group} group\n * @param {Array.>} points\n * @private\n */\n _newPolyline: function (points) {\n var polyline = this._polyline; // Remove previous created polyline\n\n if (polyline) {\n this._lineGroup.remove(polyline);\n }\n\n polyline = new Polyline({\n shape: {\n points: points\n },\n silent: true,\n z2: 10\n });\n\n this._lineGroup.add(polyline);\n\n this._polyline = polyline;\n return polyline;\n },\n\n /**\n * @param {module:zrender/container/Group} group\n * @param {Array.>} stackedOnPoints\n * @param {Array.>} points\n * @private\n */\n _newPolygon: function (points, stackedOnPoints) {\n var polygon = this._polygon; // Remove previous created polygon\n\n if (polygon) {\n this._lineGroup.remove(polygon);\n }\n\n polygon = new Polygon({\n shape: {\n points: points,\n stackedOnPoints: stackedOnPoints\n },\n silent: true\n });\n\n this._lineGroup.add(polygon);\n\n this._polygon = polygon;\n return polygon;\n },\n\n /**\n * @private\n */\n // FIXME Two value axis\n _updateAnimation: function (data, stackedOnPoints, coordSys, api, step, valueOrigin) {\n var polyline = this._polyline;\n var polygon = this._polygon;\n var seriesModel = data.hostModel;\n var diff = lineAnimationDiff(this._data, data, this._stackedOnPoints, stackedOnPoints, this._coordSys, coordSys, this._valueOrigin, valueOrigin);\n var current = diff.current;\n var stackedOnCurrent = diff.stackedOnCurrent;\n var next = diff.next;\n var stackedOnNext = diff.stackedOnNext;\n\n if (step) {\n // TODO If stacked series is not step\n current = turnPointsIntoStep(diff.current, coordSys, step);\n stackedOnCurrent = turnPointsIntoStep(diff.stackedOnCurrent, coordSys, step);\n next = turnPointsIntoStep(diff.next, coordSys, step);\n stackedOnNext = turnPointsIntoStep(diff.stackedOnNext, coordSys, step);\n } // Don't apply animation if diff is large.\n // For better result and avoid memory explosion problems like\n // https://github.com/apache/incubator-echarts/issues/12229\n\n\n if (getBoundingDiff(current, next) > 3000 || polygon && getBoundingDiff(stackedOnCurrent, stackedOnNext) > 3000) {\n polyline.setShape({\n points: next\n });\n\n if (polygon) {\n polygon.setShape({\n points: next,\n stackedOnPoints: stackedOnNext\n });\n }\n\n return;\n } // `diff.current` is subset of `current` (which should be ensured by\n // turnPointsIntoStep), so points in `__points` can be updated when\n // points in `current` are update during animation.\n\n\n polyline.shape.__points = diff.current;\n polyline.shape.points = current;\n graphic.updateProps(polyline, {\n shape: {\n points: next\n }\n }, seriesModel);\n\n if (polygon) {\n polygon.setShape({\n points: current,\n stackedOnPoints: stackedOnCurrent\n });\n graphic.updateProps(polygon, {\n shape: {\n points: next,\n stackedOnPoints: stackedOnNext\n }\n }, seriesModel);\n }\n\n var updatedDataInfo = [];\n var diffStatus = diff.status;\n\n for (var i = 0; i < diffStatus.length; i++) {\n var cmd = diffStatus[i].cmd;\n\n if (cmd === '=') {\n var el = data.getItemGraphicEl(diffStatus[i].idx1);\n\n if (el) {\n updatedDataInfo.push({\n el: el,\n ptIdx: i // Index of points\n\n });\n }\n }\n }\n\n if (polyline.animators && polyline.animators.length) {\n polyline.animators[0].during(function () {\n for (var i = 0; i < updatedDataInfo.length; i++) {\n var el = updatedDataInfo[i].el;\n el.attr('position', polyline.shape.__points[updatedDataInfo[i].ptIdx]);\n }\n });\n }\n },\n remove: function (ecModel) {\n var group = this.group;\n var oldData = this._data;\n\n this._lineGroup.removeAll();\n\n this._symbolDraw.remove(true); // Remove temporary created elements when highlighting\n\n\n oldData && oldData.eachItemGraphicEl(function (el, idx) {\n if (el.__temp) {\n group.remove(el);\n oldData.setItemGraphicEl(idx, null);\n }\n });\n this._polyline = this._polygon = this._coordSys = this._points = this._stackedOnPoints = this._data = null;\n }\n});\n\nmodule.exports = _default;","require(\"./graphic\");\n\nvar _zrender = require(\"../zrender\");\n\nvar registerPainter = _zrender.registerPainter;\n\nvar Painter = require(\"./Painter\");\n\nregisterPainter('vml', Painter);","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar contrastColor = '#eee';\n\nvar axisCommon = function () {\n return {\n axisLine: {\n lineStyle: {\n color: contrastColor\n }\n },\n axisTick: {\n lineStyle: {\n color: contrastColor\n }\n },\n axisLabel: {\n textStyle: {\n color: contrastColor\n }\n },\n splitLine: {\n lineStyle: {\n type: 'dashed',\n color: '#aaa'\n }\n },\n splitArea: {\n areaStyle: {\n color: contrastColor\n }\n }\n };\n};\n\nvar colorPalette = ['#dd6b66', '#759aa0', '#e69d87', '#8dc1a9', '#ea7e53', '#eedd78', '#73a373', '#73b9bc', '#7289ab', '#91ca8c', '#f49f42'];\nvar theme = {\n color: colorPalette,\n backgroundColor: '#333',\n tooltip: {\n axisPointer: {\n lineStyle: {\n color: contrastColor\n },\n crossStyle: {\n color: contrastColor\n },\n label: {\n color: '#000'\n }\n }\n },\n legend: {\n textStyle: {\n color: contrastColor\n }\n },\n textStyle: {\n color: contrastColor\n },\n title: {\n textStyle: {\n color: contrastColor\n }\n },\n toolbox: {\n iconStyle: {\n normal: {\n borderColor: contrastColor\n }\n }\n },\n dataZoom: {\n textStyle: {\n color: contrastColor\n }\n },\n visualMap: {\n textStyle: {\n color: contrastColor\n }\n },\n timeline: {\n lineStyle: {\n color: contrastColor\n },\n itemStyle: {\n normal: {\n color: colorPalette[1]\n }\n },\n label: {\n normal: {\n textStyle: {\n color: contrastColor\n }\n }\n },\n controlStyle: {\n normal: {\n color: contrastColor,\n borderColor: contrastColor\n }\n }\n },\n timeAxis: axisCommon(),\n logAxis: axisCommon(),\n valueAxis: axisCommon(),\n categoryAxis: axisCommon(),\n line: {\n symbol: 'circle'\n },\n graph: {\n color: colorPalette\n },\n gauge: {\n title: {\n textStyle: {\n color: contrastColor\n }\n }\n },\n candlestick: {\n itemStyle: {\n normal: {\n color: '#FD1050',\n color0: '#0CF49B',\n borderColor: '#FD1050',\n borderColor0: '#0CF49B'\n }\n }\n }\n};\ntheme.categoryAxis.splitLine.show = false;\nvar _default = theme;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar AxisBuilder = require(\"./AxisBuilder\");\n\nvar AxisView = require(\"./AxisView\");\n\nvar cartesianAxisHelper = require(\"../../coord/cartesian/cartesianAxisHelper\");\n\nvar _axisSplitHelper = require(\"./axisSplitHelper\");\n\nvar rectCoordAxisBuildSplitArea = _axisSplitHelper.rectCoordAxisBuildSplitArea;\nvar rectCoordAxisHandleRemove = _axisSplitHelper.rectCoordAxisHandleRemove;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar axisBuilderAttrs = ['axisLine', 'axisTickLabel', 'axisName'];\nvar selfBuilderAttrs = ['splitArea', 'splitLine', 'minorSplitLine'];\nvar CartesianAxisView = AxisView.extend({\n type: 'cartesianAxis',\n axisPointerClass: 'CartesianAxisPointer',\n\n /**\n * @override\n */\n render: function (axisModel, ecModel, api, payload) {\n this.group.removeAll();\n var oldAxisGroup = this._axisGroup;\n this._axisGroup = new graphic.Group();\n this.group.add(this._axisGroup);\n\n if (!axisModel.get('show')) {\n return;\n }\n\n var gridModel = axisModel.getCoordSysModel();\n var layout = cartesianAxisHelper.layout(gridModel, axisModel);\n var axisBuilder = new AxisBuilder(axisModel, layout);\n zrUtil.each(axisBuilderAttrs, axisBuilder.add, axisBuilder);\n\n this._axisGroup.add(axisBuilder.getGroup());\n\n zrUtil.each(selfBuilderAttrs, function (name) {\n if (axisModel.get(name + '.show')) {\n this['_' + name](axisModel, gridModel);\n }\n }, this);\n graphic.groupTransition(oldAxisGroup, this._axisGroup, axisModel);\n CartesianAxisView.superCall(this, 'render', axisModel, ecModel, api, payload);\n },\n remove: function () {\n rectCoordAxisHandleRemove(this);\n },\n\n /**\n * @param {module:echarts/coord/cartesian/AxisModel} axisModel\n * @param {module:echarts/coord/cartesian/GridModel} gridModel\n * @private\n */\n _splitLine: function (axisModel, gridModel) {\n var axis = axisModel.axis;\n\n if (axis.scale.isBlank()) {\n return;\n }\n\n var splitLineModel = axisModel.getModel('splitLine');\n var lineStyleModel = splitLineModel.getModel('lineStyle');\n var lineColors = lineStyleModel.get('color');\n lineColors = zrUtil.isArray(lineColors) ? lineColors : [lineColors];\n var gridRect = gridModel.coordinateSystem.getRect();\n var isHorizontal = axis.isHorizontal();\n var lineCount = 0;\n var ticksCoords = axis.getTicksCoords({\n tickModel: splitLineModel\n });\n var p1 = [];\n var p2 = [];\n var lineStyle = lineStyleModel.getLineStyle();\n\n for (var i = 0; i < ticksCoords.length; i++) {\n var tickCoord = axis.toGlobalCoord(ticksCoords[i].coord);\n\n if (isHorizontal) {\n p1[0] = tickCoord;\n p1[1] = gridRect.y;\n p2[0] = tickCoord;\n p2[1] = gridRect.y + gridRect.height;\n } else {\n p1[0] = gridRect.x;\n p1[1] = tickCoord;\n p2[0] = gridRect.x + gridRect.width;\n p2[1] = tickCoord;\n }\n\n var colorIndex = lineCount++ % lineColors.length;\n var tickValue = ticksCoords[i].tickValue;\n\n this._axisGroup.add(new graphic.Line({\n anid: tickValue != null ? 'line_' + ticksCoords[i].tickValue : null,\n subPixelOptimize: true,\n shape: {\n x1: p1[0],\n y1: p1[1],\n x2: p2[0],\n y2: p2[1]\n },\n style: zrUtil.defaults({\n stroke: lineColors[colorIndex]\n }, lineStyle),\n silent: true\n }));\n }\n },\n\n /**\n * @param {module:echarts/coord/cartesian/AxisModel} axisModel\n * @param {module:echarts/coord/cartesian/GridModel} gridModel\n * @private\n */\n _minorSplitLine: function (axisModel, gridModel) {\n var axis = axisModel.axis;\n var minorSplitLineModel = axisModel.getModel('minorSplitLine');\n var lineStyleModel = minorSplitLineModel.getModel('lineStyle');\n var gridRect = gridModel.coordinateSystem.getRect();\n var isHorizontal = axis.isHorizontal();\n var minorTicksCoords = axis.getMinorTicksCoords();\n\n if (!minorTicksCoords.length) {\n return;\n }\n\n var p1 = [];\n var p2 = [];\n var lineStyle = lineStyleModel.getLineStyle();\n\n for (var i = 0; i < minorTicksCoords.length; i++) {\n for (var k = 0; k < minorTicksCoords[i].length; k++) {\n var tickCoord = axis.toGlobalCoord(minorTicksCoords[i][k].coord);\n\n if (isHorizontal) {\n p1[0] = tickCoord;\n p1[1] = gridRect.y;\n p2[0] = tickCoord;\n p2[1] = gridRect.y + gridRect.height;\n } else {\n p1[0] = gridRect.x;\n p1[1] = tickCoord;\n p2[0] = gridRect.x + gridRect.width;\n p2[1] = tickCoord;\n }\n\n this._axisGroup.add(new graphic.Line({\n anid: 'minor_line_' + minorTicksCoords[i][k].tickValue,\n subPixelOptimize: true,\n shape: {\n x1: p1[0],\n y1: p1[1],\n x2: p2[0],\n y2: p2[1]\n },\n style: lineStyle,\n silent: true\n }));\n }\n }\n },\n\n /**\n * @param {module:echarts/coord/cartesian/AxisModel} axisModel\n * @param {module:echarts/coord/cartesian/GridModel} gridModel\n * @private\n */\n _splitArea: function (axisModel, gridModel) {\n rectCoordAxisBuildSplitArea(this, this._axisGroup, axisModel, gridModel);\n }\n});\nCartesianAxisView.extend({\n type: 'xAxis'\n});\nCartesianAxisView.extend({\n type: 'yAxis'\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar bbox = require(\"zrender/lib/core/bbox\");\n\nvar vec2 = require(\"zrender/lib/core/vector\");\n\nvar polygonContain = require(\"zrender/lib/contain/polygon\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @module echarts/coord/geo/Region\n */\n\n/**\n * @param {string|Region} name\n * @param {Array} geometries\n * @param {Array.} cp\n */\nfunction Region(name, geometries, cp) {\n /**\n * @type {string}\n * @readOnly\n */\n this.name = name;\n /**\n * @type {Array.}\n * @readOnly\n */\n\n this.geometries = geometries;\n\n if (!cp) {\n var rect = this.getBoundingRect();\n cp = [rect.x + rect.width / 2, rect.y + rect.height / 2];\n } else {\n cp = [cp[0], cp[1]];\n }\n /**\n * @type {Array.}\n */\n\n\n this.center = cp;\n}\n\nRegion.prototype = {\n constructor: Region,\n properties: null,\n\n /**\n * @return {module:zrender/core/BoundingRect}\n */\n getBoundingRect: function () {\n var rect = this._rect;\n\n if (rect) {\n return rect;\n }\n\n var MAX_NUMBER = Number.MAX_VALUE;\n var min = [MAX_NUMBER, MAX_NUMBER];\n var max = [-MAX_NUMBER, -MAX_NUMBER];\n var min2 = [];\n var max2 = [];\n var geometries = this.geometries;\n\n for (var i = 0; i < geometries.length; i++) {\n // Only support polygon\n if (geometries[i].type !== 'polygon') {\n continue;\n } // Doesn't consider hole\n\n\n var exterior = geometries[i].exterior;\n bbox.fromPoints(exterior, min2, max2);\n vec2.min(min, min, min2);\n vec2.max(max, max, max2);\n } // No data\n\n\n if (i === 0) {\n min[0] = min[1] = max[0] = max[1] = 0;\n }\n\n return this._rect = new BoundingRect(min[0], min[1], max[0] - min[0], max[1] - min[1]);\n },\n\n /**\n * @param {} coord\n * @return {boolean}\n */\n contain: function (coord) {\n var rect = this.getBoundingRect();\n var geometries = this.geometries;\n\n if (!rect.contain(coord[0], coord[1])) {\n return false;\n }\n\n loopGeo: for (var i = 0, len = geometries.length; i < len; i++) {\n // Only support polygon.\n if (geometries[i].type !== 'polygon') {\n continue;\n }\n\n var exterior = geometries[i].exterior;\n var interiors = geometries[i].interiors;\n\n if (polygonContain.contain(exterior, coord[0], coord[1])) {\n // Not in the region if point is in the hole.\n for (var k = 0; k < (interiors ? interiors.length : 0); k++) {\n if (polygonContain.contain(interiors[k])) {\n continue loopGeo;\n }\n }\n\n return true;\n }\n }\n\n return false;\n },\n transformTo: function (x, y, width, height) {\n var rect = this.getBoundingRect();\n var aspect = rect.width / rect.height;\n\n if (!width) {\n width = aspect * height;\n } else if (!height) {\n height = width / aspect;\n }\n\n var target = new BoundingRect(x, y, width, height);\n var transform = rect.calculateTransform(target);\n var geometries = this.geometries;\n\n for (var i = 0; i < geometries.length; i++) {\n // Only support polygon.\n if (geometries[i].type !== 'polygon') {\n continue;\n }\n\n var exterior = geometries[i].exterior;\n var interiors = geometries[i].interiors;\n\n for (var p = 0; p < exterior.length; p++) {\n vec2.applyTransform(exterior[p], exterior[p], transform);\n }\n\n for (var h = 0; h < (interiors ? interiors.length : 0); h++) {\n for (var p = 0; p < interiors[h].length; p++) {\n vec2.applyTransform(interiors[h][p], interiors[h][p], transform);\n }\n }\n }\n\n rect = this._rect;\n rect.copy(target); // Update center\n\n this.center = [rect.x + rect.width / 2, rect.y + rect.height / 2];\n },\n cloneShallow: function (name) {\n name == null && (name = this.name);\n var newRegion = new Region(name, this.geometries, this.center);\n newRegion._rect = this._rect;\n newRegion.transformTo = null; // Simply avoid to be called.\n\n return newRegion;\n }\n};\nvar _default = Region;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar throttleUtil = require(\"../util/throttle\");\n\nvar parallelPreprocessor = require(\"../coord/parallel/parallelPreprocessor\");\n\nrequire(\"../coord/parallel/parallelCreator\");\n\nrequire(\"../coord/parallel/ParallelModel\");\n\nrequire(\"./parallelAxis\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar CLICK_THRESHOLD = 5; // > 4\n// Parallel view\n\necharts.extendComponentView({\n type: 'parallel',\n render: function (parallelModel, ecModel, api) {\n this._model = parallelModel;\n this._api = api;\n\n if (!this._handlers) {\n this._handlers = {};\n zrUtil.each(handlers, function (handler, eventName) {\n api.getZr().on(eventName, this._handlers[eventName] = zrUtil.bind(handler, this));\n }, this);\n }\n\n throttleUtil.createOrUpdate(this, '_throttledDispatchExpand', parallelModel.get('axisExpandRate'), 'fixRate');\n },\n dispose: function (ecModel, api) {\n zrUtil.each(this._handlers, function (handler, eventName) {\n api.getZr().off(eventName, handler);\n });\n this._handlers = null;\n },\n\n /**\n * @param {Object} [opt] If null, cancle the last action triggering for debounce.\n */\n _throttledDispatchExpand: function (opt) {\n this._dispatchExpand(opt);\n },\n _dispatchExpand: function (opt) {\n opt && this._api.dispatchAction(zrUtil.extend({\n type: 'parallelAxisExpand'\n }, opt));\n }\n});\nvar handlers = {\n mousedown: function (e) {\n if (checkTrigger(this, 'click')) {\n this._mouseDownPoint = [e.offsetX, e.offsetY];\n }\n },\n mouseup: function (e) {\n var mouseDownPoint = this._mouseDownPoint;\n\n if (checkTrigger(this, 'click') && mouseDownPoint) {\n var point = [e.offsetX, e.offsetY];\n var dist = Math.pow(mouseDownPoint[0] - point[0], 2) + Math.pow(mouseDownPoint[1] - point[1], 2);\n\n if (dist > CLICK_THRESHOLD) {\n return;\n }\n\n var result = this._model.coordinateSystem.getSlidedAxisExpandWindow([e.offsetX, e.offsetY]);\n\n result.behavior !== 'none' && this._dispatchExpand({\n axisExpandWindow: result.axisExpandWindow\n });\n }\n\n this._mouseDownPoint = null;\n },\n mousemove: function (e) {\n // Should do nothing when brushing.\n if (this._mouseDownPoint || !checkTrigger(this, 'mousemove')) {\n return;\n }\n\n var model = this._model;\n var result = model.coordinateSystem.getSlidedAxisExpandWindow([e.offsetX, e.offsetY]);\n var behavior = result.behavior;\n behavior === 'jump' && this._throttledDispatchExpand.debounceNextCall(model.get('axisExpandDebounce'));\n\n this._throttledDispatchExpand(behavior === 'none' ? null // Cancle the last trigger, in case that mouse slide out of the area quickly.\n : {\n axisExpandWindow: result.axisExpandWindow,\n // Jumping uses animation, and sliding suppresses animation.\n animation: behavior === 'jump' ? null : false\n });\n }\n};\n\nfunction checkTrigger(view, triggerOn) {\n var model = view._model;\n return model.get('axisExpandable') && model.get('axisExpandTriggerOn') === triggerOn;\n}\n\necharts.registerPreprocessor(parallelPreprocessor);","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar visualSolution = require(\"../../visual/visualSolution\");\n\nvar Model = require(\"../../model/Model\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar DEFAULT_OUT_OF_BRUSH_COLOR = ['#ddd'];\nvar BrushModel = echarts.extendComponentModel({\n type: 'brush',\n dependencies: ['geo', 'grid', 'xAxis', 'yAxis', 'parallel', 'series'],\n\n /**\n * @protected\n */\n defaultOption: {\n // inBrush: null,\n // outOfBrush: null,\n toolbox: null,\n // Default value see preprocessor.\n brushLink: null,\n // Series indices array, broadcast using dataIndex.\n // or 'all', which means all series. 'none' or null means no series.\n seriesIndex: 'all',\n // seriesIndex array, specify series controlled by this brush component.\n geoIndex: null,\n //\n xAxisIndex: null,\n yAxisIndex: null,\n brushType: 'rect',\n // Default brushType, see BrushController.\n brushMode: 'single',\n // Default brushMode, 'single' or 'multiple'\n transformable: true,\n // Default transformable.\n brushStyle: {\n // Default brushStyle\n borderWidth: 1,\n color: 'rgba(120,140,180,0.3)',\n borderColor: 'rgba(120,140,180,0.8)'\n },\n throttleType: 'fixRate',\n // Throttle in brushSelected event. 'fixRate' or 'debounce'.\n // If null, no throttle. Valid only in the first brush component\n throttleDelay: 0,\n // Unit: ms, 0 means every event will be triggered.\n // FIXME\n // 试验效果\n removeOnClick: true,\n z: 10000\n },\n\n /**\n * @readOnly\n * @type {Array.}\n */\n areas: [],\n\n /**\n * Current activated brush type.\n * If null, brush is inactived.\n * see module:echarts/component/helper/BrushController\n * @readOnly\n * @type {string}\n */\n brushType: null,\n\n /**\n * Current brush opt.\n * see module:echarts/component/helper/BrushController\n * @readOnly\n * @type {Object}\n */\n brushOption: {},\n\n /**\n * @readOnly\n * @type {Array.}\n */\n coordInfoList: [],\n optionUpdated: function (newOption, isInit) {\n var thisOption = this.option;\n !isInit && visualSolution.replaceVisualOption(thisOption, newOption, ['inBrush', 'outOfBrush']);\n var inBrush = thisOption.inBrush = thisOption.inBrush || {}; // Always give default visual, consider setOption at the second time.\n\n thisOption.outOfBrush = thisOption.outOfBrush || {\n color: DEFAULT_OUT_OF_BRUSH_COLOR\n };\n\n if (!inBrush.hasOwnProperty('liftZ')) {\n // Bigger than the highlight z lift, otherwise it will\n // be effected by the highlight z when brush.\n inBrush.liftZ = 5;\n }\n },\n\n /**\n * If ranges is null/undefined, range state remain.\n *\n * @param {Array.} [ranges]\n */\n setAreas: function (areas) {\n // If ranges is null/undefined, range state remain.\n // This helps user to dispatchAction({type: 'brush'}) with no areas\n // set but just want to get the current brush select info from a `brush` event.\n if (!areas) {\n return;\n }\n\n this.areas = zrUtil.map(areas, function (area) {\n return generateBrushOption(this.option, area);\n }, this);\n },\n\n /**\n * see module:echarts/component/helper/BrushController\n * @param {Object} brushOption\n */\n setBrushOption: function (brushOption) {\n this.brushOption = generateBrushOption(this.option, brushOption);\n this.brushType = this.brushOption.brushType;\n }\n});\n\nfunction generateBrushOption(option, brushOption) {\n return zrUtil.merge({\n brushType: option.brushType,\n brushMode: option.brushMode,\n transformable: option.transformable,\n brushStyle: new Model(option.brushStyle).getItemStyle(),\n removeOnClick: option.removeOnClick,\n z: option.z\n }, brushOption, true);\n}\n\nvar _default = BrushModel;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar createListSimply = require(\"../helper/createListSimply\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar modelUtil = require(\"../../util/model\");\n\nvar _number = require(\"../../util/number\");\n\nvar getPercentWithPrecision = _number.getPercentWithPrecision;\n\nvar dataSelectableMixin = require(\"../../component/helper/selectableMixin\");\n\nvar _dataProvider = require(\"../../data/helper/dataProvider\");\n\nvar retrieveRawAttr = _dataProvider.retrieveRawAttr;\n\nvar _sourceHelper = require(\"../../data/helper/sourceHelper\");\n\nvar makeSeriesEncodeForNameBased = _sourceHelper.makeSeriesEncodeForNameBased;\n\nvar LegendVisualProvider = require(\"../../visual/LegendVisualProvider\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar PieSeries = echarts.extendSeriesModel({\n type: 'series.pie',\n // Overwrite\n init: function (option) {\n PieSeries.superApply(this, 'init', arguments); // Enable legend selection for each data item\n // Use a function instead of direct access because data reference may changed\n\n this.legendVisualProvider = new LegendVisualProvider(zrUtil.bind(this.getData, this), zrUtil.bind(this.getRawData, this));\n this.updateSelectedMap(this._createSelectableList());\n\n this._defaultLabelLine(option);\n },\n // Overwrite\n mergeOption: function (newOption) {\n PieSeries.superCall(this, 'mergeOption', newOption);\n this.updateSelectedMap(this._createSelectableList());\n },\n getInitialData: function (option, ecModel) {\n return createListSimply(this, {\n coordDimensions: ['value'],\n encodeDefaulter: zrUtil.curry(makeSeriesEncodeForNameBased, this)\n });\n },\n _createSelectableList: function () {\n var data = this.getRawData();\n var valueDim = data.mapDimension('value');\n var targetList = [];\n\n for (var i = 0, len = data.count(); i < len; i++) {\n targetList.push({\n name: data.getName(i),\n value: data.get(valueDim, i),\n selected: retrieveRawAttr(data, i, 'selected')\n });\n }\n\n return targetList;\n },\n // Overwrite\n getDataParams: function (dataIndex) {\n var data = this.getData();\n var params = PieSeries.superCall(this, 'getDataParams', dataIndex); // FIXME toFixed?\n\n var valueList = [];\n data.each(data.mapDimension('value'), function (value) {\n valueList.push(value);\n });\n params.percent = getPercentWithPrecision(valueList, dataIndex, data.hostModel.get('percentPrecision'));\n params.$vars.push('percent');\n return params;\n },\n _defaultLabelLine: function (option) {\n // Extend labelLine emphasis\n modelUtil.defaultEmphasis(option, 'labelLine', ['show']);\n var labelLineNormalOpt = option.labelLine;\n var labelLineEmphasisOpt = option.emphasis.labelLine; // Not show label line if `label.normal.show = false`\n\n labelLineNormalOpt.show = labelLineNormalOpt.show && option.label.show;\n labelLineEmphasisOpt.show = labelLineEmphasisOpt.show && option.emphasis.label.show;\n },\n defaultOption: {\n zlevel: 0,\n z: 2,\n legendHoverLink: true,\n hoverAnimation: true,\n // 默认全局居中\n center: ['50%', '50%'],\n radius: [0, '75%'],\n // 默认顺时针\n clockwise: true,\n startAngle: 90,\n // 最小角度改为0\n minAngle: 0,\n // If the angle of a sector less than `minShowLabelAngle`,\n // the label will not be displayed.\n minShowLabelAngle: 0,\n // 选中时扇区偏移量\n selectedOffset: 10,\n // 高亮扇区偏移量\n hoverOffset: 10,\n // If use strategy to avoid label overlapping\n avoidLabelOverlap: true,\n // 选择模式,默认关闭,可选single,multiple\n // selectedMode: false,\n // 南丁格尔玫瑰图模式,'radius'(半径) | 'area'(面积)\n // roseType: null,\n percentPrecision: 2,\n // If still show when all data zero.\n stillShowZeroSum: true,\n // cursor: null,\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n width: null,\n height: null,\n label: {\n // If rotate around circle\n rotate: false,\n show: true,\n // 'outer', 'inside', 'center'\n position: 'outer',\n // 'none', 'labelLine', 'edge'. Works only when position is 'outer'\n alignTo: 'none',\n // Closest distance between label and chart edge.\n // Works only position is 'outer' and alignTo is 'edge'.\n margin: '25%',\n // Works only position is 'outer' and alignTo is not 'edge'.\n bleedMargin: 10,\n // Distance between text and label line.\n distanceToLabelLine: 5 // formatter: 标签文本格式器,同Tooltip.formatter,不支持异步回调\n // 默认使用全局文本样式,详见TEXTSTYLE\n // distance: 当position为inner时有效,为label位置到圆心的距离与圆半径(环状图为内外半径和)的比例系数\n\n },\n // Enabled when label.normal.position is 'outer'\n labelLine: {\n show: true,\n // 引导线两段中的第一段长度\n length: 15,\n // 引导线两段中的第二段长度\n length2: 15,\n smooth: false,\n lineStyle: {\n // color: 各异,\n width: 1,\n type: 'solid'\n }\n },\n itemStyle: {\n borderWidth: 1\n },\n // Animation type. Valid values: expansion, scale\n animationType: 'expansion',\n // Animation type when update. Valid values: transition, expansion\n animationTypeUpdate: 'transition',\n animationEasing: 'cubicOut'\n }\n});\nzrUtil.mixin(PieSeries, dataSelectableMixin);\nvar _default = PieSeries;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar assert = _util.assert;\nvar isArray = _util.isArray;\n\nvar _config = require(\"../config\");\n\nvar __DEV__ = _config.__DEV__;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @param {Object} define\n * @return See the return of `createTask`.\n */\nfunction createTask(define) {\n return new Task(define);\n}\n/**\n * @constructor\n * @param {Object} define\n * @param {Function} define.reset Custom reset\n * @param {Function} [define.plan] Returns 'reset' indicate reset immediately.\n * @param {Function} [define.count] count is used to determin data task.\n * @param {Function} [define.onDirty] count is used to determin data task.\n */\n\n\nfunction Task(define) {\n define = define || {};\n this._reset = define.reset;\n this._plan = define.plan;\n this._count = define.count;\n this._onDirty = define.onDirty;\n this._dirty = true; // Context must be specified implicitly, to\n // avoid miss update context when model changed.\n\n this.context;\n}\n\nvar taskProto = Task.prototype;\n/**\n * @param {Object} performArgs\n * @param {number} [performArgs.step] Specified step.\n * @param {number} [performArgs.skip] Skip customer perform call.\n * @param {number} [performArgs.modBy] Sampling window size.\n * @param {number} [performArgs.modDataCount] Sampling count.\n */\n\ntaskProto.perform = function (performArgs) {\n var upTask = this._upstream;\n var skip = performArgs && performArgs.skip; // TODO some refactor.\n // Pull data. Must pull data each time, because context.data\n // may be updated by Series.setData.\n\n if (this._dirty && upTask) {\n var context = this.context;\n context.data = context.outputData = upTask.context.outputData;\n }\n\n if (this.__pipeline) {\n this.__pipeline.currentTask = this;\n }\n\n var planResult;\n\n if (this._plan && !skip) {\n planResult = this._plan(this.context);\n } // Support sharding by mod, which changes the render sequence and makes the rendered graphic\n // elements uniformed distributed when progress, especially when moving or zooming.\n\n\n var lastModBy = normalizeModBy(this._modBy);\n var lastModDataCount = this._modDataCount || 0;\n var modBy = normalizeModBy(performArgs && performArgs.modBy);\n var modDataCount = performArgs && performArgs.modDataCount || 0;\n\n if (lastModBy !== modBy || lastModDataCount !== modDataCount) {\n planResult = 'reset';\n }\n\n function normalizeModBy(val) {\n !(val >= 1) && (val = 1); // jshint ignore:line\n\n return val;\n }\n\n var forceFirstProgress;\n\n if (this._dirty || planResult === 'reset') {\n this._dirty = false;\n forceFirstProgress = reset(this, skip);\n }\n\n this._modBy = modBy;\n this._modDataCount = modDataCount;\n var step = performArgs && performArgs.step;\n\n if (upTask) {\n this._dueEnd = upTask._outputDueEnd;\n } // DataTask or overallTask\n else {\n this._dueEnd = this._count ? this._count(this.context) : Infinity;\n } // Note: Stubs, that its host overall task let it has progress, has progress.\n // If no progress, pass index from upstream to downstream each time plan called.\n\n\n if (this._progress) {\n var start = this._dueIndex;\n var end = Math.min(step != null ? this._dueIndex + step : Infinity, this._dueEnd);\n\n if (!skip && (forceFirstProgress || start < end)) {\n var progress = this._progress;\n\n if (isArray(progress)) {\n for (var i = 0; i < progress.length; i++) {\n doProgress(this, progress[i], start, end, modBy, modDataCount);\n }\n } else {\n doProgress(this, progress, start, end, modBy, modDataCount);\n }\n }\n\n this._dueIndex = end; // If no `outputDueEnd`, assume that output data and\n // input data is the same, so use `dueIndex` as `outputDueEnd`.\n\n var outputDueEnd = this._settedOutputEnd != null ? this._settedOutputEnd : end;\n this._outputDueEnd = outputDueEnd;\n } else {\n // (1) Some overall task has no progress.\n // (2) Stubs, that its host overall task do not let it has progress, has no progress.\n // This should always be performed so it can be passed to downstream.\n this._dueIndex = this._outputDueEnd = this._settedOutputEnd != null ? this._settedOutputEnd : this._dueEnd;\n }\n\n return this.unfinished();\n};\n\nvar iterator = function () {\n var end;\n var current;\n var modBy;\n var modDataCount;\n var winCount;\n var it = {\n reset: function (s, e, sStep, sCount) {\n current = s;\n end = e;\n modBy = sStep;\n modDataCount = sCount;\n winCount = Math.ceil(modDataCount / modBy);\n it.next = modBy > 1 && modDataCount > 0 ? modNext : sequentialNext;\n }\n };\n return it;\n\n function sequentialNext() {\n return current < end ? current++ : null;\n }\n\n function modNext() {\n var dataIndex = current % winCount * modBy + Math.ceil(current / winCount);\n var result = current >= end ? null : dataIndex < modDataCount ? dataIndex // If modDataCount is smaller than data.count() (consider `appendData` case),\n // Use normal linear rendering mode.\n : current;\n current++;\n return result;\n }\n}();\n\ntaskProto.dirty = function () {\n this._dirty = true;\n this._onDirty && this._onDirty(this.context);\n};\n\nfunction doProgress(taskIns, progress, start, end, modBy, modDataCount) {\n iterator.reset(start, end, modBy, modDataCount);\n taskIns._callingProgress = progress;\n\n taskIns._callingProgress({\n start: start,\n end: end,\n count: end - start,\n next: iterator.next\n }, taskIns.context);\n}\n\nfunction reset(taskIns, skip) {\n taskIns._dueIndex = taskIns._outputDueEnd = taskIns._dueEnd = 0;\n taskIns._settedOutputEnd = null;\n var progress;\n var forceFirstProgress;\n\n if (!skip && taskIns._reset) {\n progress = taskIns._reset(taskIns.context);\n\n if (progress && progress.progress) {\n forceFirstProgress = progress.forceFirstProgress;\n progress = progress.progress;\n } // To simplify no progress checking, array must has item.\n\n\n if (isArray(progress) && !progress.length) {\n progress = null;\n }\n }\n\n taskIns._progress = progress;\n taskIns._modBy = taskIns._modDataCount = null;\n var downstream = taskIns._downstream;\n downstream && downstream.dirty();\n return forceFirstProgress;\n}\n/**\n * @return {boolean}\n */\n\n\ntaskProto.unfinished = function () {\n return this._progress && this._dueIndex < this._dueEnd;\n};\n/**\n * @param {Object} downTask The downstream task.\n * @return {Object} The downstream task.\n */\n\n\ntaskProto.pipe = function (downTask) {\n // If already downstream, do not dirty downTask.\n if (this._downstream !== downTask || this._dirty) {\n this._downstream = downTask;\n downTask._upstream = this;\n downTask.dirty();\n }\n};\n\ntaskProto.dispose = function () {\n if (this._disposed) {\n return;\n }\n\n this._upstream && (this._upstream._downstream = null);\n this._downstream && (this._downstream._upstream = null);\n this._dirty = false;\n this._disposed = true;\n};\n\ntaskProto.getUpstream = function () {\n return this._upstream;\n};\n\ntaskProto.getDownstream = function () {\n return this._downstream;\n};\n\ntaskProto.setOutputEnd = function (end) {\n // This only happend in dataTask, dataZoom, map, currently.\n // where dataZoom do not set end each time, but only set\n // when reset. So we should record the setted end, in case\n // that the stub of dataZoom perform again and earse the\n // setted end by upstream.\n this._outputDueEnd = this._settedOutputEnd = end;\n}; ///////////////////////////////////////////////////////////\n// For stream debug (Should be commented out after used!)\n// Usage: printTask(this, 'begin');\n// Usage: printTask(this, null, {someExtraProp});\n// function printTask(task, prefix, extra) {\n// window.ecTaskUID == null && (window.ecTaskUID = 0);\n// task.uidDebug == null && (task.uidDebug = `task_${window.ecTaskUID++}`);\n// task.agent && task.agent.uidDebug == null && (task.agent.uidDebug = `task_${window.ecTaskUID++}`);\n// var props = [];\n// if (task.__pipeline) {\n// var val = `${task.__idxInPipeline}/${task.__pipeline.tail.__idxInPipeline} ${task.agent ? '(stub)' : ''}`;\n// props.push({text: 'idx', value: val});\n// } else {\n// var stubCount = 0;\n// task.agentStubMap.each(() => stubCount++);\n// props.push({text: 'idx', value: `overall (stubs: ${stubCount})`});\n// }\n// props.push({text: 'uid', value: task.uidDebug});\n// if (task.__pipeline) {\n// props.push({text: 'pid', value: task.__pipeline.id});\n// task.agent && props.push(\n// {text: 'stubFor', value: task.agent.uidDebug}\n// );\n// }\n// props.push(\n// {text: 'dirty', value: task._dirty},\n// {text: 'dueIndex', value: task._dueIndex},\n// {text: 'dueEnd', value: task._dueEnd},\n// {text: 'outputDueEnd', value: task._outputDueEnd}\n// );\n// if (extra) {\n// Object.keys(extra).forEach(key => {\n// props.push({text: key, value: extra[key]});\n// });\n// }\n// var args = ['color: blue'];\n// var msg = `%c[${prefix || 'T'}] %c` + props.map(item => (\n// args.push('color: black', 'color: red'),\n// `${item.text}: %c${item.value}`\n// )).join('%c, ');\n// console.log.apply(console, [msg].concat(args));\n// // console.log(this);\n// }\n\n\nexports.createTask = createTask;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar _cursorHelper = require(\"./cursorHelper\");\n\nvar onIrrelevantElement = _cursorHelper.onIrrelevantElement;\n\nvar graphicUtil = require(\"../../util/graphic\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction makeRectPanelClipPath(rect) {\n rect = normalizeRect(rect);\n return function (localPoints, transform) {\n return graphicUtil.clipPointsByRect(localPoints, rect);\n };\n}\n\nfunction makeLinearBrushOtherExtent(rect, specifiedXYIndex) {\n rect = normalizeRect(rect);\n return function (xyIndex) {\n var idx = specifiedXYIndex != null ? specifiedXYIndex : xyIndex;\n var brushWidth = idx ? rect.width : rect.height;\n var base = idx ? rect.x : rect.y;\n return [base, base + (brushWidth || 0)];\n };\n}\n\nfunction makeRectIsTargetByCursor(rect, api, targetModel) {\n rect = normalizeRect(rect);\n return function (e, localCursorPoint, transform) {\n return rect.contain(localCursorPoint[0], localCursorPoint[1]) && !onIrrelevantElement(e, api, targetModel);\n };\n} // Consider width/height is negative.\n\n\nfunction normalizeRect(rect) {\n return BoundingRect.create(rect);\n}\n\nexports.makeRectPanelClipPath = makeRectPanelClipPath;\nexports.makeLinearBrushOtherExtent = makeLinearBrushOtherExtent;\nexports.makeRectIsTargetByCursor = makeRectIsTargetByCursor;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nrequire(\"../coord/polar/polarCreator\");\n\nrequire(\"./axis/AngleAxisView\");","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar graphic = require(\"../../util/graphic\");\n\nvar layout = require(\"../../util/layout\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _treeHelper = require(\"../helper/treeHelper\");\n\nvar wrapTreePathInfo = _treeHelper.wrapTreePathInfo;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar TEXT_PADDING = 8;\nvar ITEM_GAP = 8;\nvar ARRAY_LENGTH = 5;\n\nfunction Breadcrumb(containerGroup) {\n /**\n * @private\n * @type {module:zrender/container/Group}\n */\n this.group = new graphic.Group();\n containerGroup.add(this.group);\n}\n\nBreadcrumb.prototype = {\n constructor: Breadcrumb,\n render: function (seriesModel, api, targetNode, onSelect) {\n var model = seriesModel.getModel('breadcrumb');\n var thisGroup = this.group;\n thisGroup.removeAll();\n\n if (!model.get('show') || !targetNode) {\n return;\n }\n\n var normalStyleModel = model.getModel('itemStyle'); // var emphasisStyleModel = model.getModel('emphasis.itemStyle');\n\n var textStyleModel = normalStyleModel.getModel('textStyle');\n var layoutParam = {\n pos: {\n left: model.get('left'),\n right: model.get('right'),\n top: model.get('top'),\n bottom: model.get('bottom')\n },\n box: {\n width: api.getWidth(),\n height: api.getHeight()\n },\n emptyItemWidth: model.get('emptyItemWidth'),\n totalWidth: 0,\n renderList: []\n };\n\n this._prepare(targetNode, layoutParam, textStyleModel);\n\n this._renderContent(seriesModel, layoutParam, normalStyleModel, textStyleModel, onSelect);\n\n layout.positionElement(thisGroup, layoutParam.pos, layoutParam.box);\n },\n\n /**\n * Prepare render list and total width\n * @private\n */\n _prepare: function (targetNode, layoutParam, textStyleModel) {\n for (var node = targetNode; node; node = node.parentNode) {\n var text = node.getModel().get('name');\n var textRect = textStyleModel.getTextRect(text);\n var itemWidth = Math.max(textRect.width + TEXT_PADDING * 2, layoutParam.emptyItemWidth);\n layoutParam.totalWidth += itemWidth + ITEM_GAP;\n layoutParam.renderList.push({\n node: node,\n text: text,\n width: itemWidth\n });\n }\n },\n\n /**\n * @private\n */\n _renderContent: function (seriesModel, layoutParam, normalStyleModel, textStyleModel, onSelect) {\n // Start rendering.\n var lastX = 0;\n var emptyItemWidth = layoutParam.emptyItemWidth;\n var height = seriesModel.get('breadcrumb.height');\n var availableSize = layout.getAvailableSize(layoutParam.pos, layoutParam.box);\n var totalWidth = layoutParam.totalWidth;\n var renderList = layoutParam.renderList;\n\n for (var i = renderList.length - 1; i >= 0; i--) {\n var item = renderList[i];\n var itemNode = item.node;\n var itemWidth = item.width;\n var text = item.text; // Hdie text and shorten width if necessary.\n\n if (totalWidth > availableSize.width) {\n totalWidth -= itemWidth - emptyItemWidth;\n itemWidth = emptyItemWidth;\n text = null;\n }\n\n var el = new graphic.Polygon({\n shape: {\n points: makeItemPoints(lastX, 0, itemWidth, height, i === renderList.length - 1, i === 0)\n },\n style: zrUtil.defaults(normalStyleModel.getItemStyle(), {\n lineJoin: 'bevel',\n text: text,\n textFill: textStyleModel.getTextColor(),\n textFont: textStyleModel.getFont()\n }),\n z: 10,\n onclick: zrUtil.curry(onSelect, itemNode)\n });\n this.group.add(el);\n packEventData(el, seriesModel, itemNode);\n lastX += itemWidth + ITEM_GAP;\n }\n },\n\n /**\n * @override\n */\n remove: function () {\n this.group.removeAll();\n }\n};\n\nfunction makeItemPoints(x, y, itemWidth, itemHeight, head, tail) {\n var points = [[head ? x : x - ARRAY_LENGTH, y], [x + itemWidth, y], [x + itemWidth, y + itemHeight], [head ? x : x - ARRAY_LENGTH, y + itemHeight]];\n !tail && points.splice(2, 0, [x + itemWidth + ARRAY_LENGTH, y + itemHeight / 2]);\n !head && points.push([x, y + itemHeight / 2]);\n return points;\n} // Package custom mouse event.\n\n\nfunction packEventData(el, seriesModel, itemNode) {\n el.eventData = {\n componentType: 'series',\n componentSubType: 'treemap',\n componentIndex: seriesModel.componentIndex,\n seriesIndex: seriesModel.componentIndex,\n seriesName: seriesModel.name,\n seriesType: 'treemap',\n selfType: 'breadcrumb',\n // Distinguish with click event on treemap node.\n nodeData: {\n dataIndex: itemNode && itemNode.dataIndex,\n name: itemNode && itemNode.name\n },\n treePathInfo: itemNode && wrapTreePathInfo(itemNode, seriesModel)\n };\n}\n\nvar _default = Breadcrumb;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// FIXME 公用?\n\n/**\n * @param {Array.} datas\n * @param {string} statisticType 'average' 'sum'\n * @inner\n */\nfunction dataStatistics(datas, statisticType) {\n var dataNameMap = {};\n zrUtil.each(datas, function (data) {\n data.each(data.mapDimension('value'), function (value, idx) {\n // Add prefix to avoid conflict with Object.prototype.\n var mapKey = 'ec-' + data.getName(idx);\n dataNameMap[mapKey] = dataNameMap[mapKey] || [];\n\n if (!isNaN(value)) {\n dataNameMap[mapKey].push(value);\n }\n });\n });\n return datas[0].map(datas[0].mapDimension('value'), function (value, idx) {\n var mapKey = 'ec-' + datas[0].getName(idx);\n var sum = 0;\n var min = Infinity;\n var max = -Infinity;\n var len = dataNameMap[mapKey].length;\n\n for (var i = 0; i < len; i++) {\n min = Math.min(min, dataNameMap[mapKey][i]);\n max = Math.max(max, dataNameMap[mapKey][i]);\n sum += dataNameMap[mapKey][i];\n }\n\n var result;\n\n if (statisticType === 'min') {\n result = min;\n } else if (statisticType === 'max') {\n result = max;\n } else if (statisticType === 'average') {\n result = sum / len;\n } else {\n result = sum;\n }\n\n return len === 0 ? NaN : result;\n });\n}\n\nfunction _default(ecModel) {\n var seriesGroups = {};\n ecModel.eachSeriesByType('map', function (seriesModel) {\n var hostGeoModel = seriesModel.getHostGeoModel();\n var key = hostGeoModel ? 'o' + hostGeoModel.id : 'i' + seriesModel.getMapType();\n (seriesGroups[key] = seriesGroups[key] || []).push(seriesModel);\n });\n zrUtil.each(seriesGroups, function (seriesList, key) {\n var data = dataStatistics(zrUtil.map(seriesList, function (seriesModel) {\n return seriesModel.getData();\n }), seriesList[0].get('mapValueCalculation'));\n\n for (var i = 0; i < seriesList.length; i++) {\n seriesList[i].originalData = seriesList[i].getData();\n } // FIXME Put where?\n\n\n for (var i = 0; i < seriesList.length; i++) {\n seriesList[i].seriesGroup = seriesList;\n seriesList[i].needsDrawMap = i === 0 && !seriesList[i].getHostGeoModel();\n seriesList[i].setData(data.cloneShallow());\n seriesList[i].mainSeries = seriesList[0];\n }\n });\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar graphic = require(\"../../util/graphic\");\n\nvar SymbolClz = require(\"./Symbol\");\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar isObject = _util.isObject;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @module echarts/chart/helper/SymbolDraw\n */\n\n/**\n * @constructor\n * @alias module:echarts/chart/helper/SymbolDraw\n * @param {module:zrender/graphic/Group} [symbolCtor]\n */\nfunction SymbolDraw(symbolCtor) {\n this.group = new graphic.Group();\n this._symbolCtor = symbolCtor || SymbolClz;\n}\n\nvar symbolDrawProto = SymbolDraw.prototype;\n\nfunction symbolNeedsDraw(data, point, idx, opt) {\n return point && !isNaN(point[0]) && !isNaN(point[1]) && !(opt.isIgnore && opt.isIgnore(idx)) // We do not set clipShape on group, because it will cut part of\n // the symbol element shape. We use the same clip shape here as\n // the line clip.\n && !(opt.clipShape && !opt.clipShape.contain(point[0], point[1])) && data.getItemVisual(idx, 'symbol') !== 'none';\n}\n/**\n * Update symbols draw by new data\n * @param {module:echarts/data/List} data\n * @param {Object} [opt] Or isIgnore\n * @param {Function} [opt.isIgnore]\n * @param {Object} [opt.clipShape]\n */\n\n\nsymbolDrawProto.updateData = function (data, opt) {\n opt = normalizeUpdateOpt(opt);\n var group = this.group;\n var seriesModel = data.hostModel;\n var oldData = this._data;\n var SymbolCtor = this._symbolCtor;\n var seriesScope = makeSeriesScope(data); // There is no oldLineData only when first rendering or switching from\n // stream mode to normal mode, where previous elements should be removed.\n\n if (!oldData) {\n group.removeAll();\n }\n\n data.diff(oldData).add(function (newIdx) {\n var point = data.getItemLayout(newIdx);\n\n if (symbolNeedsDraw(data, point, newIdx, opt)) {\n var symbolEl = new SymbolCtor(data, newIdx, seriesScope);\n symbolEl.attr('position', point);\n data.setItemGraphicEl(newIdx, symbolEl);\n group.add(symbolEl);\n }\n }).update(function (newIdx, oldIdx) {\n var symbolEl = oldData.getItemGraphicEl(oldIdx);\n var point = data.getItemLayout(newIdx);\n\n if (!symbolNeedsDraw(data, point, newIdx, opt)) {\n group.remove(symbolEl);\n return;\n }\n\n if (!symbolEl) {\n symbolEl = new SymbolCtor(data, newIdx);\n symbolEl.attr('position', point);\n } else {\n symbolEl.updateData(data, newIdx, seriesScope);\n graphic.updateProps(symbolEl, {\n position: point\n }, seriesModel);\n } // Add back\n\n\n group.add(symbolEl);\n data.setItemGraphicEl(newIdx, symbolEl);\n }).remove(function (oldIdx) {\n var el = oldData.getItemGraphicEl(oldIdx);\n el && el.fadeOut(function () {\n group.remove(el);\n });\n }).execute();\n this._data = data;\n};\n\nsymbolDrawProto.isPersistent = function () {\n return true;\n};\n\nsymbolDrawProto.updateLayout = function () {\n var data = this._data;\n\n if (data) {\n // Not use animation\n data.eachItemGraphicEl(function (el, idx) {\n var point = data.getItemLayout(idx);\n el.attr('position', point);\n });\n }\n};\n\nsymbolDrawProto.incrementalPrepareUpdate = function (data) {\n this._seriesScope = makeSeriesScope(data);\n this._data = null;\n this.group.removeAll();\n};\n/**\n * Update symbols draw by new data\n * @param {module:echarts/data/List} data\n * @param {Object} [opt] Or isIgnore\n * @param {Function} [opt.isIgnore]\n * @param {Object} [opt.clipShape]\n */\n\n\nsymbolDrawProto.incrementalUpdate = function (taskParams, data, opt) {\n opt = normalizeUpdateOpt(opt);\n\n function updateIncrementalAndHover(el) {\n if (!el.isGroup) {\n el.incremental = el.useHoverLayer = true;\n }\n }\n\n for (var idx = taskParams.start; idx < taskParams.end; idx++) {\n var point = data.getItemLayout(idx);\n\n if (symbolNeedsDraw(data, point, idx, opt)) {\n var el = new this._symbolCtor(data, idx, this._seriesScope);\n el.traverse(updateIncrementalAndHover);\n el.attr('position', point);\n this.group.add(el);\n data.setItemGraphicEl(idx, el);\n }\n }\n};\n\nfunction normalizeUpdateOpt(opt) {\n if (opt != null && !isObject(opt)) {\n opt = {\n isIgnore: opt\n };\n }\n\n return opt || {};\n}\n\nsymbolDrawProto.remove = function (enableAnimation) {\n var group = this.group;\n var data = this._data; // Incremental model do not have this._data.\n\n if (data && enableAnimation) {\n data.eachItemGraphicEl(function (el) {\n el.fadeOut(function () {\n group.remove(el);\n });\n });\n } else {\n group.removeAll();\n }\n};\n\nfunction makeSeriesScope(data) {\n var seriesModel = data.hostModel;\n return {\n itemStyle: seriesModel.getModel('itemStyle').getItemStyle(['color']),\n hoverItemStyle: seriesModel.getModel('emphasis.itemStyle').getItemStyle(),\n symbolRotate: seriesModel.get('symbolRotate'),\n symbolOffset: seriesModel.get('symbolOffset'),\n hoverAnimation: seriesModel.get('hoverAnimation'),\n labelModel: seriesModel.getModel('label'),\n hoverLabelModel: seriesModel.getModel('emphasis.label'),\n cursorStyle: seriesModel.get('cursor')\n };\n}\n\nvar _default = SymbolDraw;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar ComponentModel = require(\"../model/Component\");\n\nvar ComponentView = require(\"../view/Component\");\n\nvar _sourceHelper = require(\"../data/helper/sourceHelper\");\n\nvar detectSourceFormat = _sourceHelper.detectSourceFormat;\n\nvar _sourceType = require(\"../data/helper/sourceType\");\n\nvar SERIES_LAYOUT_BY_COLUMN = _sourceType.SERIES_LAYOUT_BY_COLUMN;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * This module is imported by echarts directly.\n *\n * Notice:\n * Always keep this file exists for backward compatibility.\n * Because before 4.1.0, dataset is an optional component,\n * some users may import this module manually.\n */\nComponentModel.extend({\n type: 'dataset',\n\n /**\n * @protected\n */\n defaultOption: {\n // 'row', 'column'\n seriesLayoutBy: SERIES_LAYOUT_BY_COLUMN,\n // null/'auto': auto detect header, see \"module:echarts/data/helper/sourceHelper\"\n sourceHeader: null,\n dimensions: null,\n source: null\n },\n optionUpdated: function () {\n detectSourceFormat(this);\n }\n});\nComponentView.extend({\n type: 'dataset'\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar VisualMapView = require(\"./VisualMapView\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar _symbol = require(\"../../util/symbol\");\n\nvar createSymbol = _symbol.createSymbol;\n\nvar layout = require(\"../../util/layout\");\n\nvar helper = require(\"./helper\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar PiecewiseVisualMapView = VisualMapView.extend({\n type: 'visualMap.piecewise',\n\n /**\n * @protected\n * @override\n */\n doRender: function () {\n var thisGroup = this.group;\n thisGroup.removeAll();\n var visualMapModel = this.visualMapModel;\n var textGap = visualMapModel.get('textGap');\n var textStyleModel = visualMapModel.textStyleModel;\n var textFont = textStyleModel.getFont();\n var textFill = textStyleModel.getTextColor();\n\n var itemAlign = this._getItemAlign();\n\n var itemSize = visualMapModel.itemSize;\n\n var viewData = this._getViewData();\n\n var endsText = viewData.endsText;\n var showLabel = zrUtil.retrieve(visualMapModel.get('showLabel', true), !endsText);\n endsText && this._renderEndsText(thisGroup, endsText[0], itemSize, showLabel, itemAlign);\n zrUtil.each(viewData.viewPieceList, renderItem, this);\n endsText && this._renderEndsText(thisGroup, endsText[1], itemSize, showLabel, itemAlign);\n layout.box(visualMapModel.get('orient'), thisGroup, visualMapModel.get('itemGap'));\n this.renderBackground(thisGroup);\n this.positionGroup(thisGroup);\n\n function renderItem(item) {\n var piece = item.piece;\n var itemGroup = new graphic.Group();\n itemGroup.onclick = zrUtil.bind(this._onItemClick, this, piece);\n\n this._enableHoverLink(itemGroup, item.indexInModelPieceList);\n\n var representValue = visualMapModel.getRepresentValue(piece);\n\n this._createItemSymbol(itemGroup, representValue, [0, 0, itemSize[0], itemSize[1]]);\n\n if (showLabel) {\n var visualState = this.visualMapModel.getValueState(representValue);\n itemGroup.add(new graphic.Text({\n style: {\n x: itemAlign === 'right' ? -textGap : itemSize[0] + textGap,\n y: itemSize[1] / 2,\n text: piece.text,\n textVerticalAlign: 'middle',\n textAlign: itemAlign,\n textFont: textFont,\n textFill: textFill,\n opacity: visualState === 'outOfRange' ? 0.5 : 1\n }\n }));\n }\n\n thisGroup.add(itemGroup);\n }\n },\n\n /**\n * @private\n */\n _enableHoverLink: function (itemGroup, pieceIndex) {\n itemGroup.on('mouseover', zrUtil.bind(onHoverLink, this, 'highlight')).on('mouseout', zrUtil.bind(onHoverLink, this, 'downplay'));\n\n function onHoverLink(method) {\n var visualMapModel = this.visualMapModel;\n visualMapModel.option.hoverLink && this.api.dispatchAction({\n type: method,\n batch: helper.makeHighDownBatch(visualMapModel.findTargetDataIndices(pieceIndex), visualMapModel)\n });\n }\n },\n\n /**\n * @private\n */\n _getItemAlign: function () {\n var visualMapModel = this.visualMapModel;\n var modelOption = visualMapModel.option;\n\n if (modelOption.orient === 'vertical') {\n return helper.getItemAlign(visualMapModel, this.api, visualMapModel.itemSize);\n } else {\n // horizontal, most case left unless specifying right.\n var align = modelOption.align;\n\n if (!align || align === 'auto') {\n align = 'left';\n }\n\n return align;\n }\n },\n\n /**\n * @private\n */\n _renderEndsText: function (group, text, itemSize, showLabel, itemAlign) {\n if (!text) {\n return;\n }\n\n var itemGroup = new graphic.Group();\n var textStyleModel = this.visualMapModel.textStyleModel;\n itemGroup.add(new graphic.Text({\n style: {\n x: showLabel ? itemAlign === 'right' ? itemSize[0] : 0 : itemSize[0] / 2,\n y: itemSize[1] / 2,\n textVerticalAlign: 'middle',\n textAlign: showLabel ? itemAlign : 'center',\n text: text,\n textFont: textStyleModel.getFont(),\n textFill: textStyleModel.getTextColor()\n }\n }));\n group.add(itemGroup);\n },\n\n /**\n * @private\n * @return {Object} {peiceList, endsText} The order is the same as screen pixel order.\n */\n _getViewData: function () {\n var visualMapModel = this.visualMapModel;\n var viewPieceList = zrUtil.map(visualMapModel.getPieceList(), function (piece, index) {\n return {\n piece: piece,\n indexInModelPieceList: index\n };\n });\n var endsText = visualMapModel.get('text'); // Consider orient and inverse.\n\n var orient = visualMapModel.get('orient');\n var inverse = visualMapModel.get('inverse'); // Order of model pieceList is always [low, ..., high]\n\n if (orient === 'horizontal' ? inverse : !inverse) {\n viewPieceList.reverse();\n } // Origin order of endsText is [high, low]\n else if (endsText) {\n endsText = endsText.slice().reverse();\n }\n\n return {\n viewPieceList: viewPieceList,\n endsText: endsText\n };\n },\n\n /**\n * @private\n */\n _createItemSymbol: function (group, representValue, shapeParam) {\n group.add(createSymbol(this.getControllerVisual(representValue, 'symbol'), shapeParam[0], shapeParam[1], shapeParam[2], shapeParam[3], this.getControllerVisual(representValue, 'color')));\n },\n\n /**\n * @private\n */\n _onItemClick: function (piece) {\n var visualMapModel = this.visualMapModel;\n var option = visualMapModel.option;\n var selected = zrUtil.clone(option.selected);\n var newKey = visualMapModel.getSelectedMapKey(piece);\n\n if (option.selectedMode === 'single') {\n selected[newKey] = true;\n zrUtil.each(selected, function (o, key) {\n selected[key] = key === newKey;\n });\n } else {\n selected[newKey] = !selected[newKey];\n }\n\n this.api.dispatchAction({\n type: 'selectDataRange',\n from: this.uid,\n visualMapId: this.visualMapModel.id,\n selected: selected\n });\n }\n});\nvar _default = PiecewiseVisualMapView;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar each = _util.each;\nvar createHashMap = _util.createHashMap;\n\nvar SeriesModel = require(\"../../model/Series\");\n\nvar createListFromArray = require(\"../helper/createListFromArray\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = SeriesModel.extend({\n type: 'series.parallel',\n dependencies: ['parallel'],\n visualColorAccessPath: 'lineStyle.color',\n getInitialData: function (option, ecModel) {\n var source = this.getSource();\n setEncodeAndDimensions(source, this);\n return createListFromArray(source, this);\n },\n\n /**\n * User can get data raw indices on 'axisAreaSelected' event received.\n *\n * @public\n * @param {string} activeState 'active' or 'inactive' or 'normal'\n * @return {Array.} Raw indices\n */\n getRawIndicesByActiveState: function (activeState) {\n var coordSys = this.coordinateSystem;\n var data = this.getData();\n var indices = [];\n coordSys.eachActiveState(data, function (theActiveState, dataIndex) {\n if (activeState === theActiveState) {\n indices.push(data.getRawIndex(dataIndex));\n }\n });\n return indices;\n },\n defaultOption: {\n zlevel: 0,\n // 一级层叠\n z: 2,\n // 二级层叠\n coordinateSystem: 'parallel',\n parallelIndex: 0,\n label: {\n show: false\n },\n inactiveOpacity: 0.05,\n activeOpacity: 1,\n lineStyle: {\n width: 1,\n opacity: 0.45,\n type: 'solid'\n },\n emphasis: {\n label: {\n show: false\n }\n },\n progressive: 500,\n smooth: false,\n // true | false | number\n animationEasing: 'linear'\n }\n});\n\nfunction setEncodeAndDimensions(source, seriesModel) {\n // The mapping of parallelAxis dimension to data dimension can\n // be specified in parallelAxis.option.dim. For example, if\n // parallelAxis.option.dim is 'dim3', it mapping to the third\n // dimension of data. But `data.encode` has higher priority.\n // Moreover, parallelModel.dimension should not be regarded as data\n // dimensions. Consider dimensions = ['dim4', 'dim2', 'dim6'];\n if (source.encodeDefine) {\n return;\n }\n\n var parallelModel = seriesModel.ecModel.getComponent('parallel', seriesModel.get('parallelIndex'));\n\n if (!parallelModel) {\n return;\n }\n\n var encodeDefine = source.encodeDefine = createHashMap();\n each(parallelModel.dimensions, function (axisDim) {\n var dataDimIndex = convertDimNameToNumber(axisDim);\n encodeDefine.set(axisDim, dataDimIndex);\n });\n}\n\nfunction convertDimNameToNumber(dimName) {\n return +dimName.replace('dim', '');\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./axisPointer\");\n\nrequire(\"./tooltip/TooltipModel\");\n\nrequire(\"./tooltip/TooltipView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// FIXME Better way to pack data in graphic element\n\n/**\n * @action\n * @property {string} type\n * @property {number} seriesIndex\n * @property {number} dataIndex\n * @property {number} [x]\n * @property {number} [y]\n */\necharts.registerAction({\n type: 'showTip',\n event: 'showTip',\n update: 'tooltip:manuallyShowTip'\n}, // noop\nfunction () {});\necharts.registerAction({\n type: 'hideTip',\n event: 'hideTip',\n update: 'tooltip:manuallyHideTip'\n}, // noop\nfunction () {});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar createListSimply = require(\"../helper/createListSimply\");\n\nvar _model = require(\"../../util/model\");\n\nvar defaultEmphasis = _model.defaultEmphasis;\n\nvar _sourceHelper = require(\"../../data/helper/sourceHelper\");\n\nvar makeSeriesEncodeForNameBased = _sourceHelper.makeSeriesEncodeForNameBased;\n\nvar LegendVisualProvider = require(\"../../visual/LegendVisualProvider\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar FunnelSeries = echarts.extendSeriesModel({\n type: 'series.funnel',\n init: function (option) {\n FunnelSeries.superApply(this, 'init', arguments); // Enable legend selection for each data item\n // Use a function instead of direct access because data reference may changed\n\n this.legendVisualProvider = new LegendVisualProvider(zrUtil.bind(this.getData, this), zrUtil.bind(this.getRawData, this)); // Extend labelLine emphasis\n\n this._defaultLabelLine(option);\n },\n getInitialData: function (option, ecModel) {\n return createListSimply(this, {\n coordDimensions: ['value'],\n encodeDefaulter: zrUtil.curry(makeSeriesEncodeForNameBased, this)\n });\n },\n _defaultLabelLine: function (option) {\n // Extend labelLine emphasis\n defaultEmphasis(option, 'labelLine', ['show']);\n var labelLineNormalOpt = option.labelLine;\n var labelLineEmphasisOpt = option.emphasis.labelLine; // Not show label line if `label.normal.show = false`\n\n labelLineNormalOpt.show = labelLineNormalOpt.show && option.label.show;\n labelLineEmphasisOpt.show = labelLineEmphasisOpt.show && option.emphasis.label.show;\n },\n // Overwrite\n getDataParams: function (dataIndex) {\n var data = this.getData();\n var params = FunnelSeries.superCall(this, 'getDataParams', dataIndex);\n var valueDim = data.mapDimension('value');\n var sum = data.getSum(valueDim); // Percent is 0 if sum is 0\n\n params.percent = !sum ? 0 : +(data.get(valueDim, dataIndex) / sum * 100).toFixed(2);\n params.$vars.push('percent');\n return params;\n },\n defaultOption: {\n zlevel: 0,\n // 一级层叠\n z: 2,\n // 二级层叠\n legendHoverLink: true,\n left: 80,\n top: 60,\n right: 80,\n bottom: 60,\n // width: {totalWidth} - left - right,\n // height: {totalHeight} - top - bottom,\n // 默认取数据最小最大值\n // min: 0,\n // max: 100,\n minSize: '0%',\n maxSize: '100%',\n sort: 'descending',\n // 'ascending', 'descending'\n orient: 'vertical',\n gap: 0,\n funnelAlign: 'center',\n label: {\n show: true,\n position: 'outer' // formatter: 标签文本格式器,同Tooltip.formatter,不支持异步回调\n\n },\n labelLine: {\n show: true,\n length: 20,\n lineStyle: {\n // color: 各异,\n width: 1,\n type: 'solid'\n }\n },\n itemStyle: {\n // color: 各异,\n borderColor: '#fff',\n borderWidth: 1\n },\n emphasis: {\n label: {\n show: true\n }\n }\n }\n});\nvar _default = FunnelSeries;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction dataToCoordSize(dataSize, dataItem) {\n dataItem = dataItem || [0, 0];\n return zrUtil.map([0, 1], function (dimIdx) {\n var val = dataItem[dimIdx];\n var halfSize = dataSize[dimIdx] / 2;\n var p1 = [];\n var p2 = [];\n p1[dimIdx] = val - halfSize;\n p2[dimIdx] = val + halfSize;\n p1[1 - dimIdx] = p2[1 - dimIdx] = dataItem[1 - dimIdx];\n return Math.abs(this.dataToPoint(p1)[dimIdx] - this.dataToPoint(p2)[dimIdx]);\n }, this);\n}\n\nfunction _default(coordSys) {\n var rect = coordSys.getBoundingRect();\n return {\n coordSys: {\n type: 'geo',\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height,\n zoom: coordSys.getZoom()\n },\n api: {\n coord: function (data) {\n // do not provide \"out\" and noRoam param,\n // Compatible with this usage:\n // echarts.util.map(item.points, api.coord)\n return coordSys.dataToPoint(data);\n },\n size: zrUtil.bind(dataToCoordSize, coordSys)\n }\n };\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar View = require(\"../View\");\n\nvar geoSourceManager = require(\"./geoSourceManager\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * [Geo description]\n * For backward compatibility, the orginal interface:\n * `name, map, geoJson, specialAreas, nameMap` is kept.\n *\n * @param {string|Object} name\n * @param {string} map Map type\n * Specify the positioned areas by left, top, width, height\n * @param {Object.} [nameMap]\n * Specify name alias\n * @param {boolean} [invertLongitute=true]\n */\nfunction Geo(name, map, nameMap, invertLongitute) {\n View.call(this, name);\n /**\n * Map type\n * @type {string}\n */\n\n this.map = map;\n var source = geoSourceManager.load(map, nameMap);\n this._nameCoordMap = source.nameCoordMap;\n this._regionsMap = source.regionsMap;\n this._invertLongitute = invertLongitute == null ? true : invertLongitute;\n /**\n * @readOnly\n */\n\n this.regions = source.regions;\n /**\n * @type {module:zrender/src/core/BoundingRect}\n */\n\n this._rect = source.boundingRect;\n}\n\nGeo.prototype = {\n constructor: Geo,\n type: 'geo',\n\n /**\n * @param {Array.}\n * @readOnly\n */\n dimensions: ['lng', 'lat'],\n\n /**\n * If contain given lng,lat coord\n * @param {Array.}\n * @readOnly\n */\n containCoord: function (coord) {\n var regions = this.regions;\n\n for (var i = 0; i < regions.length; i++) {\n if (regions[i].contain(coord)) {\n return true;\n }\n }\n\n return false;\n },\n\n /**\n * @override\n */\n transformTo: function (x, y, width, height) {\n var rect = this.getBoundingRect();\n var invertLongitute = this._invertLongitute;\n rect = rect.clone();\n\n if (invertLongitute) {\n // Longitute is inverted\n rect.y = -rect.y - rect.height;\n }\n\n var rawTransformable = this._rawTransformable;\n rawTransformable.transform = rect.calculateTransform(new BoundingRect(x, y, width, height));\n rawTransformable.decomposeTransform();\n\n if (invertLongitute) {\n var scale = rawTransformable.scale;\n scale[1] = -scale[1];\n }\n\n rawTransformable.updateTransform();\n\n this._updateTransform();\n },\n\n /**\n * @param {string} name\n * @return {module:echarts/coord/geo/Region}\n */\n getRegion: function (name) {\n return this._regionsMap.get(name);\n },\n getRegionByCoord: function (coord) {\n var regions = this.regions;\n\n for (var i = 0; i < regions.length; i++) {\n if (regions[i].contain(coord)) {\n return regions[i];\n }\n }\n },\n\n /**\n * Add geoCoord for indexing by name\n * @param {string} name\n * @param {Array.} geoCoord\n */\n addGeoCoord: function (name, geoCoord) {\n this._nameCoordMap.set(name, geoCoord);\n },\n\n /**\n * Get geoCoord by name\n * @param {string} name\n * @return {Array.}\n */\n getGeoCoord: function (name) {\n return this._nameCoordMap.get(name);\n },\n\n /**\n * @override\n */\n getBoundingRect: function () {\n return this._rect;\n },\n\n /**\n * @param {string|Array.} data\n * @param {boolean} noRoam\n * @param {Array.} [out]\n * @return {Array.}\n */\n dataToPoint: function (data, noRoam, out) {\n if (typeof data === 'string') {\n // Map area name to geoCoord\n data = this.getGeoCoord(data);\n }\n\n if (data) {\n return View.prototype.dataToPoint.call(this, data, noRoam, out);\n }\n },\n\n /**\n * @override\n */\n convertToPixel: zrUtil.curry(doConvert, 'dataToPoint'),\n\n /**\n * @override\n */\n convertFromPixel: zrUtil.curry(doConvert, 'pointToData')\n};\nzrUtil.mixin(Geo, View);\n\nfunction doConvert(methodName, ecModel, finder, value) {\n var geoModel = finder.geoModel;\n var seriesModel = finder.seriesModel;\n var coordSys = geoModel ? geoModel.coordinateSystem : seriesModel ? seriesModel.coordinateSystem // For map.\n || (seriesModel.getReferringComponents('geo')[0] || {}).coordinateSystem : null;\n return coordSys === this ? coordSys[methodName](value) : null;\n}\n\nvar _default = Geo;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Can only be called after coordinate system creation stage.\n * (Can be called before coordinate system update stage).\n *\n * @param {Object} opt {labelInside}\n * @return {Object} {\n * position, rotation, labelDirection, labelOffset,\n * tickDirection, labelRotate, z2\n * }\n */\nfunction layout(gridModel, axisModel, opt) {\n opt = opt || {};\n var grid = gridModel.coordinateSystem;\n var axis = axisModel.axis;\n var layout = {};\n var otherAxisOnZeroOf = axis.getAxesOnZeroOf()[0];\n var rawAxisPosition = axis.position;\n var axisPosition = otherAxisOnZeroOf ? 'onZero' : rawAxisPosition;\n var axisDim = axis.dim;\n var rect = grid.getRect();\n var rectBound = [rect.x, rect.x + rect.width, rect.y, rect.y + rect.height];\n var idx = {\n left: 0,\n right: 1,\n top: 0,\n bottom: 1,\n onZero: 2\n };\n var axisOffset = axisModel.get('offset') || 0;\n var posBound = axisDim === 'x' ? [rectBound[2] - axisOffset, rectBound[3] + axisOffset] : [rectBound[0] - axisOffset, rectBound[1] + axisOffset];\n\n if (otherAxisOnZeroOf) {\n var onZeroCoord = otherAxisOnZeroOf.toGlobalCoord(otherAxisOnZeroOf.dataToCoord(0));\n posBound[idx.onZero] = Math.max(Math.min(onZeroCoord, posBound[1]), posBound[0]);\n } // Axis position\n\n\n layout.position = [axisDim === 'y' ? posBound[idx[axisPosition]] : rectBound[0], axisDim === 'x' ? posBound[idx[axisPosition]] : rectBound[3]]; // Axis rotation\n\n layout.rotation = Math.PI / 2 * (axisDim === 'x' ? 0 : 1); // Tick and label direction, x y is axisDim\n\n var dirMap = {\n top: -1,\n bottom: 1,\n left: -1,\n right: 1\n };\n layout.labelDirection = layout.tickDirection = layout.nameDirection = dirMap[rawAxisPosition];\n layout.labelOffset = otherAxisOnZeroOf ? posBound[idx[rawAxisPosition]] - posBound[idx.onZero] : 0;\n\n if (axisModel.get('axisTick.inside')) {\n layout.tickDirection = -layout.tickDirection;\n }\n\n if (zrUtil.retrieve(opt.labelInside, axisModel.get('axisLabel.inside'))) {\n layout.labelDirection = -layout.labelDirection;\n } // Special label rotation\n\n\n var labelRotate = axisModel.get('axisLabel.rotate');\n layout.labelRotate = axisPosition === 'top' ? -labelRotate : labelRotate; // Over splitLine and splitArea\n\n layout.z2 = 1;\n return layout;\n}\n\nexports.layout = layout;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * For geo and graph.\n *\n * @param {Object} controllerHost\n * @param {module:zrender/Element} controllerHost.target\n */\nfunction updateViewOnPan(controllerHost, dx, dy) {\n var target = controllerHost.target;\n var pos = target.position;\n pos[0] += dx;\n pos[1] += dy;\n target.dirty();\n}\n/**\n * For geo and graph.\n *\n * @param {Object} controllerHost\n * @param {module:zrender/Element} controllerHost.target\n * @param {number} controllerHost.zoom\n * @param {number} controllerHost.zoomLimit like: {min: 1, max: 2}\n */\n\n\nfunction updateViewOnZoom(controllerHost, zoomDelta, zoomX, zoomY) {\n var target = controllerHost.target;\n var zoomLimit = controllerHost.zoomLimit;\n var pos = target.position;\n var scale = target.scale;\n var newZoom = controllerHost.zoom = controllerHost.zoom || 1;\n newZoom *= zoomDelta;\n\n if (zoomLimit) {\n var zoomMin = zoomLimit.min || 0;\n var zoomMax = zoomLimit.max || Infinity;\n newZoom = Math.max(Math.min(zoomMax, newZoom), zoomMin);\n }\n\n var zoomScale = newZoom / controllerHost.zoom;\n controllerHost.zoom = newZoom; // Keep the mouse center when scaling\n\n pos[0] -= (zoomX - pos[0]) * (zoomScale - 1);\n pos[1] -= (zoomY - pos[1]) * (zoomScale - 1);\n scale[0] *= zoomScale;\n scale[1] *= zoomScale;\n target.dirty();\n}\n\nexports.updateViewOnPan = updateViewOnPan;\nexports.updateViewOnZoom = updateViewOnZoom;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../util/graphic\");\n\nrequire(\"../coord/cartesian/Grid\");\n\nrequire(\"./axis\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Grid view\necharts.extendComponentView({\n type: 'grid',\n render: function (gridModel, ecModel) {\n this.group.removeAll();\n\n if (gridModel.get('show')) {\n this.group.add(new graphic.Rect({\n shape: gridModel.coordinateSystem.getRect(),\n style: zrUtil.defaults({\n fill: gridModel.get('backgroundColor')\n }, gridModel.getItemStyle()),\n silent: true,\n z2: -1\n }));\n }\n }\n});\necharts.registerPreprocessor(function (option) {\n // Only create grid when need\n if (option.xAxis && option.yAxis && !option.grid) {\n option.grid = {};\n }\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nrequire(\"./gauge/GaugeSeries\");\n\nrequire(\"./gauge/GaugeView\");","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar zrColor = require(\"zrender/lib/tool/color\");\n\nvar eventUtil = require(\"zrender/lib/core/event\");\n\nvar domUtil = require(\"zrender/lib/core/dom\");\n\nvar env = require(\"zrender/lib/core/env\");\n\nvar formatUtil = require(\"../../util/format\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar each = zrUtil.each;\nvar toCamelCase = formatUtil.toCamelCase;\nvar vendors = ['', '-webkit-', '-moz-', '-o-'];\nvar gCssText = 'position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;';\n/**\n * @param {number} duration\n * @return {string}\n * @inner\n */\n\nfunction assembleTransition(duration) {\n var transitionCurve = 'cubic-bezier(0.23, 1, 0.32, 1)';\n var transitionText = 'left ' + duration + 's ' + transitionCurve + ',' + 'top ' + duration + 's ' + transitionCurve;\n return zrUtil.map(vendors, function (vendorPrefix) {\n return vendorPrefix + 'transition:' + transitionText;\n }).join(';');\n}\n/**\n * @param {Object} textStyle\n * @return {string}\n * @inner\n */\n\n\nfunction assembleFont(textStyleModel) {\n var cssText = [];\n var fontSize = textStyleModel.get('fontSize');\n var color = textStyleModel.getTextColor();\n color && cssText.push('color:' + color);\n cssText.push('font:' + textStyleModel.getFont());\n var lineHeight = textStyleModel.get('lineHeight');\n\n if (lineHeight == null) {\n lineHeight = Math.round(fontSize * 3 / 2);\n }\n\n fontSize && cssText.push('line-height:' + lineHeight + 'px');\n var shadowColor = textStyleModel.get('textShadowColor');\n var shadowBlur = textStyleModel.get('textShadowBlur') || 0;\n var shadowOffsetX = textStyleModel.get('textShadowOffsetX') || 0;\n var shadowOffsetY = textStyleModel.get('textShadowOffsetY') || 0;\n shadowBlur && cssText.push('text-shadow:' + shadowOffsetX + 'px ' + shadowOffsetY + 'px ' + shadowBlur + 'px ' + shadowColor);\n each(['decoration', 'align'], function (name) {\n var val = textStyleModel.get(name);\n val && cssText.push('text-' + name + ':' + val);\n });\n return cssText.join(';');\n}\n/**\n * @param {Object} tooltipModel\n * @return {string}\n * @inner\n */\n\n\nfunction assembleCssText(tooltipModel) {\n var cssText = [];\n var transitionDuration = tooltipModel.get('transitionDuration');\n var backgroundColor = tooltipModel.get('backgroundColor');\n var textStyleModel = tooltipModel.getModel('textStyle');\n var padding = tooltipModel.get('padding'); // Animation transition. Do not animate when transitionDuration is 0.\n\n transitionDuration && cssText.push(assembleTransition(transitionDuration));\n\n if (backgroundColor) {\n if (env.canvasSupported) {\n cssText.push('background-Color:' + backgroundColor);\n } else {\n // for ie\n cssText.push('background-Color:#' + zrColor.toHex(backgroundColor));\n cssText.push('filter:alpha(opacity=70)');\n }\n } // Border style\n\n\n each(['width', 'color', 'radius'], function (name) {\n var borderName = 'border-' + name;\n var camelCase = toCamelCase(borderName);\n var val = tooltipModel.get(camelCase);\n val != null && cssText.push(borderName + ':' + val + (name === 'color' ? '' : 'px'));\n }); // Text style\n\n cssText.push(assembleFont(textStyleModel)); // Padding\n\n if (padding != null) {\n cssText.push('padding:' + formatUtil.normalizeCssArray(padding).join('px ') + 'px');\n }\n\n return cssText.join(';') + ';';\n} // If not able to make, do not modify the input `out`.\n\n\nfunction makeStyleCoord(out, zr, appendToBody, zrX, zrY) {\n var zrPainter = zr && zr.painter;\n\n if (appendToBody) {\n var zrViewportRoot = zrPainter && zrPainter.getViewportRoot();\n\n if (zrViewportRoot) {\n // Some APPs might use scale on body, so we support CSS transform here.\n domUtil.transformLocalCoord(out, zrViewportRoot, document.body, zrX, zrY);\n }\n } else {\n out[0] = zrX;\n out[1] = zrY; // xy should be based on canvas root. But tooltipContent is\n // the sibling of canvas root. So padding of ec container\n // should be considered here.\n\n var viewportRootOffset = zrPainter && zrPainter.getViewportRootOffset();\n\n if (viewportRootOffset) {\n out[0] += viewportRootOffset.offsetLeft;\n out[1] += viewportRootOffset.offsetTop;\n }\n }\n\n out[2] = out[0] / zr.getWidth(); // The ratio of left to width\n\n out[3] = out[1] / zr.getHeight(); // The ratio of top to height\n}\n/**\n * @alias module:echarts/component/tooltip/TooltipContent\n * @param {HTMLElement} container\n * @param {ExtensionAPI} api\n * @param {Object} [opt]\n * @param {boolean} [opt.appendToBody]\n * `false`: the DOM element will be inside the container. Default value.\n * `true`: the DOM element will be appended to HTML body, which avoid\n * some overflow clip but intrude outside of the container.\n * @constructor\n */\n\n\nfunction TooltipContent(container, api, opt) {\n if (env.wxa) {\n return null;\n }\n\n var el = document.createElement('div');\n el.domBelongToZr = true;\n this.el = el;\n var zr = this._zr = api.getZr();\n var appendToBody = this._appendToBody = opt && opt.appendToBody;\n this._styleCoord = [0, 0, 0, 0]; // [left, top, left/width, top/height]\n\n makeStyleCoord(this._styleCoord, zr, appendToBody, api.getWidth() / 2, api.getHeight() / 2);\n\n if (appendToBody) {\n document.body.appendChild(el);\n } else {\n container.appendChild(el);\n }\n\n this._container = container;\n this._show = false;\n /**\n * @private\n */\n\n this._hideTimeout; // FIXME\n // Is it needed to trigger zr event manually if\n // the browser do not support `pointer-events: none`.\n\n var self = this;\n\n el.onmouseenter = function () {\n // clear the timeout in hideLater and keep showing tooltip\n if (self._enterable) {\n clearTimeout(self._hideTimeout);\n self._show = true;\n }\n\n self._inContent = true;\n };\n\n el.onmousemove = function (e) {\n e = e || window.event;\n\n if (!self._enterable) {\n // `pointer-events: none` is set to tooltip content div\n // if `enterable` is set as `false`, and `el.onmousemove`\n // can not be triggered. But in browser that do not\n // support `pointer-events`, we need to do this:\n // Try trigger zrender event to avoid mouse\n // in and out shape too frequently\n var handler = zr.handler;\n var zrViewportRoot = zr.painter.getViewportRoot();\n eventUtil.normalizeEvent(zrViewportRoot, e, true);\n handler.dispatch('mousemove', e);\n }\n };\n\n el.onmouseleave = function () {\n if (self._enterable) {\n if (self._show) {\n self.hideLater(self._hideDelay);\n }\n }\n\n self._inContent = false;\n };\n}\n\nTooltipContent.prototype = {\n constructor: TooltipContent,\n\n /**\n * @private\n * @type {boolean}\n */\n _enterable: true,\n\n /**\n * Update when tooltip is rendered\n */\n update: function (tooltipModel) {\n // FIXME\n // Move this logic to ec main?\n var container = this._container;\n var stl = container.currentStyle || document.defaultView.getComputedStyle(container);\n var domStyle = container.style;\n\n if (domStyle.position !== 'absolute' && stl.position !== 'absolute') {\n domStyle.position = 'relative';\n }\n\n var alwaysShowContent = tooltipModel.get('alwaysShowContent');\n alwaysShowContent && this._moveTooltipIfResized(); // Hide the tooltip\n // PENDING\n // this.hide();\n },\n\n /**\n * when `alwaysShowContent` is true,\n * we should move the tooltip after chart resized\n */\n _moveTooltipIfResized: function () {\n var ratioX = this._styleCoord[2]; // The ratio of left to width\n\n var ratioY = this._styleCoord[3]; // The ratio of top to height\n\n var realX = ratioX * this._zr.getWidth();\n\n var realY = ratioY * this._zr.getHeight();\n\n this.moveTo(realX, realY);\n },\n show: function (tooltipModel) {\n clearTimeout(this._hideTimeout);\n var el = this.el;\n var styleCoord = this._styleCoord;\n el.style.cssText = gCssText + assembleCssText(tooltipModel) // Because of the reason described in:\n // http://stackoverflow.com/questions/21125587/css3-transition-not-working-in-chrome-anymore\n // we should set initial value to `left` and `top`.\n + ';left:' + styleCoord[0] + 'px;top:' + styleCoord[1] + 'px;' + (tooltipModel.get('extraCssText') || '');\n el.style.display = el.innerHTML ? 'block' : 'none'; // If mouse occasionally move over the tooltip, a mouseout event will be\n // triggered by canvas, and cause some unexpectable result like dragging\n // stop, \"unfocusAdjacency\". Here `pointer-events: none` is used to solve\n // it. Although it is not supported by IE8~IE10, fortunately it is a rare\n // scenario.\n\n el.style.pointerEvents = this._enterable ? 'auto' : 'none';\n this._show = true;\n },\n setContent: function (content) {\n this.el.innerHTML = content == null ? '' : content;\n },\n setEnterable: function (enterable) {\n this._enterable = enterable;\n },\n getSize: function () {\n var el = this.el;\n return [el.clientWidth, el.clientHeight];\n },\n moveTo: function (zrX, zrY) {\n var styleCoord = this._styleCoord;\n makeStyleCoord(styleCoord, this._zr, this._appendToBody, zrX, zrY);\n var style = this.el.style;\n style.left = styleCoord[0] + 'px';\n style.top = styleCoord[1] + 'px';\n },\n hide: function () {\n this.el.style.display = 'none';\n this._show = false;\n },\n hideLater: function (time) {\n if (this._show && !(this._inContent && this._enterable)) {\n if (time) {\n this._hideDelay = time; // Set show false to avoid invoke hideLater multiple times\n\n this._show = false;\n this._hideTimeout = setTimeout(zrUtil.bind(this.hide, this), time);\n } else {\n this.hide();\n }\n }\n },\n isShow: function () {\n return this._show;\n },\n dispose: function () {\n this.el.parentNode.removeChild(this.el);\n },\n getOuterSize: function () {\n var width = this.el.clientWidth;\n var height = this.el.clientHeight; // Consider browser compatibility.\n // IE8 does not support getComputedStyle.\n\n if (document.defaultView && document.defaultView.getComputedStyle) {\n var stl = document.defaultView.getComputedStyle(this.el);\n\n if (stl) {\n width += parseInt(stl.borderLeftWidth, 10) + parseInt(stl.borderRightWidth, 10);\n height += parseInt(stl.borderTopWidth, 10) + parseInt(stl.borderBottomWidth, 10);\n }\n }\n\n return {\n width: width,\n height: height\n };\n }\n};\nvar _default = TooltipContent;\nmodule.exports = _default;","// https://github.com/mziccard/node-timsort\nvar DEFAULT_MIN_MERGE = 32;\nvar DEFAULT_MIN_GALLOPING = 7;\nvar DEFAULT_TMP_STORAGE_LENGTH = 256;\n\nfunction minRunLength(n) {\n var r = 0;\n\n while (n >= DEFAULT_MIN_MERGE) {\n r |= n & 1;\n n >>= 1;\n }\n\n return n + r;\n}\n\nfunction makeAscendingRun(array, lo, hi, compare) {\n var runHi = lo + 1;\n\n if (runHi === hi) {\n return 1;\n }\n\n if (compare(array[runHi++], array[lo]) < 0) {\n while (runHi < hi && compare(array[runHi], array[runHi - 1]) < 0) {\n runHi++;\n }\n\n reverseRun(array, lo, runHi);\n } else {\n while (runHi < hi && compare(array[runHi], array[runHi - 1]) >= 0) {\n runHi++;\n }\n }\n\n return runHi - lo;\n}\n\nfunction reverseRun(array, lo, hi) {\n hi--;\n\n while (lo < hi) {\n var t = array[lo];\n array[lo++] = array[hi];\n array[hi--] = t;\n }\n}\n\nfunction binaryInsertionSort(array, lo, hi, start, compare) {\n if (start === lo) {\n start++;\n }\n\n for (; start < hi; start++) {\n var pivot = array[start];\n var left = lo;\n var right = start;\n var mid;\n\n while (left < right) {\n mid = left + right >>> 1;\n\n if (compare(pivot, array[mid]) < 0) {\n right = mid;\n } else {\n left = mid + 1;\n }\n }\n\n var n = start - left;\n\n switch (n) {\n case 3:\n array[left + 3] = array[left + 2];\n\n case 2:\n array[left + 2] = array[left + 1];\n\n case 1:\n array[left + 1] = array[left];\n break;\n\n default:\n while (n > 0) {\n array[left + n] = array[left + n - 1];\n n--;\n }\n\n }\n\n array[left] = pivot;\n }\n}\n\nfunction gallopLeft(value, array, start, length, hint, compare) {\n var lastOffset = 0;\n var maxOffset = 0;\n var offset = 1;\n\n if (compare(value, array[start + hint]) > 0) {\n maxOffset = length - hint;\n\n while (offset < maxOffset && compare(value, array[start + hint + offset]) > 0) {\n lastOffset = offset;\n offset = (offset << 1) + 1;\n\n if (offset <= 0) {\n offset = maxOffset;\n }\n }\n\n if (offset > maxOffset) {\n offset = maxOffset;\n }\n\n lastOffset += hint;\n offset += hint;\n } else {\n maxOffset = hint + 1;\n\n while (offset < maxOffset && compare(value, array[start + hint - offset]) <= 0) {\n lastOffset = offset;\n offset = (offset << 1) + 1;\n\n if (offset <= 0) {\n offset = maxOffset;\n }\n }\n\n if (offset > maxOffset) {\n offset = maxOffset;\n }\n\n var tmp = lastOffset;\n lastOffset = hint - offset;\n offset = hint - tmp;\n }\n\n lastOffset++;\n\n while (lastOffset < offset) {\n var m = lastOffset + (offset - lastOffset >>> 1);\n\n if (compare(value, array[start + m]) > 0) {\n lastOffset = m + 1;\n } else {\n offset = m;\n }\n }\n\n return offset;\n}\n\nfunction gallopRight(value, array, start, length, hint, compare) {\n var lastOffset = 0;\n var maxOffset = 0;\n var offset = 1;\n\n if (compare(value, array[start + hint]) < 0) {\n maxOffset = hint + 1;\n\n while (offset < maxOffset && compare(value, array[start + hint - offset]) < 0) {\n lastOffset = offset;\n offset = (offset << 1) + 1;\n\n if (offset <= 0) {\n offset = maxOffset;\n }\n }\n\n if (offset > maxOffset) {\n offset = maxOffset;\n }\n\n var tmp = lastOffset;\n lastOffset = hint - offset;\n offset = hint - tmp;\n } else {\n maxOffset = length - hint;\n\n while (offset < maxOffset && compare(value, array[start + hint + offset]) >= 0) {\n lastOffset = offset;\n offset = (offset << 1) + 1;\n\n if (offset <= 0) {\n offset = maxOffset;\n }\n }\n\n if (offset > maxOffset) {\n offset = maxOffset;\n }\n\n lastOffset += hint;\n offset += hint;\n }\n\n lastOffset++;\n\n while (lastOffset < offset) {\n var m = lastOffset + (offset - lastOffset >>> 1);\n\n if (compare(value, array[start + m]) < 0) {\n offset = m;\n } else {\n lastOffset = m + 1;\n }\n }\n\n return offset;\n}\n\nfunction TimSort(array, compare) {\n var minGallop = DEFAULT_MIN_GALLOPING;\n var length = 0;\n var tmpStorageLength = DEFAULT_TMP_STORAGE_LENGTH;\n var stackLength = 0;\n var runStart;\n var runLength;\n var stackSize = 0;\n length = array.length;\n\n if (length < 2 * DEFAULT_TMP_STORAGE_LENGTH) {\n tmpStorageLength = length >>> 1;\n }\n\n var tmp = [];\n stackLength = length < 120 ? 5 : length < 1542 ? 10 : length < 119151 ? 19 : 40;\n runStart = [];\n runLength = [];\n\n function pushRun(_runStart, _runLength) {\n runStart[stackSize] = _runStart;\n runLength[stackSize] = _runLength;\n stackSize += 1;\n }\n\n function mergeRuns() {\n while (stackSize > 1) {\n var n = stackSize - 2;\n\n if (n >= 1 && runLength[n - 1] <= runLength[n] + runLength[n + 1] || n >= 2 && runLength[n - 2] <= runLength[n] + runLength[n - 1]) {\n if (runLength[n - 1] < runLength[n + 1]) {\n n--;\n }\n } else if (runLength[n] > runLength[n + 1]) {\n break;\n }\n\n mergeAt(n);\n }\n }\n\n function forceMergeRuns() {\n while (stackSize > 1) {\n var n = stackSize - 2;\n\n if (n > 0 && runLength[n - 1] < runLength[n + 1]) {\n n--;\n }\n\n mergeAt(n);\n }\n }\n\n function mergeAt(i) {\n var start1 = runStart[i];\n var length1 = runLength[i];\n var start2 = runStart[i + 1];\n var length2 = runLength[i + 1];\n runLength[i] = length1 + length2;\n\n if (i === stackSize - 3) {\n runStart[i + 1] = runStart[i + 2];\n runLength[i + 1] = runLength[i + 2];\n }\n\n stackSize--;\n var k = gallopRight(array[start2], array, start1, length1, 0, compare);\n start1 += k;\n length1 -= k;\n\n if (length1 === 0) {\n return;\n }\n\n length2 = gallopLeft(array[start1 + length1 - 1], array, start2, length2, length2 - 1, compare);\n\n if (length2 === 0) {\n return;\n }\n\n if (length1 <= length2) {\n mergeLow(start1, length1, start2, length2);\n } else {\n mergeHigh(start1, length1, start2, length2);\n }\n }\n\n function mergeLow(start1, length1, start2, length2) {\n var i = 0;\n\n for (i = 0; i < length1; i++) {\n tmp[i] = array[start1 + i];\n }\n\n var cursor1 = 0;\n var cursor2 = start2;\n var dest = start1;\n array[dest++] = array[cursor2++];\n\n if (--length2 === 0) {\n for (i = 0; i < length1; i++) {\n array[dest + i] = tmp[cursor1 + i];\n }\n\n return;\n }\n\n if (length1 === 1) {\n for (i = 0; i < length2; i++) {\n array[dest + i] = array[cursor2 + i];\n }\n\n array[dest + length2] = tmp[cursor1];\n return;\n }\n\n var _minGallop = minGallop;\n var count1;\n var count2;\n var exit;\n\n while (1) {\n count1 = 0;\n count2 = 0;\n exit = false;\n\n do {\n if (compare(array[cursor2], tmp[cursor1]) < 0) {\n array[dest++] = array[cursor2++];\n count2++;\n count1 = 0;\n\n if (--length2 === 0) {\n exit = true;\n break;\n }\n } else {\n array[dest++] = tmp[cursor1++];\n count1++;\n count2 = 0;\n\n if (--length1 === 1) {\n exit = true;\n break;\n }\n }\n } while ((count1 | count2) < _minGallop);\n\n if (exit) {\n break;\n }\n\n do {\n count1 = gallopRight(array[cursor2], tmp, cursor1, length1, 0, compare);\n\n if (count1 !== 0) {\n for (i = 0; i < count1; i++) {\n array[dest + i] = tmp[cursor1 + i];\n }\n\n dest += count1;\n cursor1 += count1;\n length1 -= count1;\n\n if (length1 <= 1) {\n exit = true;\n break;\n }\n }\n\n array[dest++] = array[cursor2++];\n\n if (--length2 === 0) {\n exit = true;\n break;\n }\n\n count2 = gallopLeft(tmp[cursor1], array, cursor2, length2, 0, compare);\n\n if (count2 !== 0) {\n for (i = 0; i < count2; i++) {\n array[dest + i] = array[cursor2 + i];\n }\n\n dest += count2;\n cursor2 += count2;\n length2 -= count2;\n\n if (length2 === 0) {\n exit = true;\n break;\n }\n }\n\n array[dest++] = tmp[cursor1++];\n\n if (--length1 === 1) {\n exit = true;\n break;\n }\n\n _minGallop--;\n } while (count1 >= DEFAULT_MIN_GALLOPING || count2 >= DEFAULT_MIN_GALLOPING);\n\n if (exit) {\n break;\n }\n\n if (_minGallop < 0) {\n _minGallop = 0;\n }\n\n _minGallop += 2;\n }\n\n minGallop = _minGallop;\n minGallop < 1 && (minGallop = 1);\n\n if (length1 === 1) {\n for (i = 0; i < length2; i++) {\n array[dest + i] = array[cursor2 + i];\n }\n\n array[dest + length2] = tmp[cursor1];\n } else if (length1 === 0) {\n throw new Error(); // throw new Error('mergeLow preconditions were not respected');\n } else {\n for (i = 0; i < length1; i++) {\n array[dest + i] = tmp[cursor1 + i];\n }\n }\n }\n\n function mergeHigh(start1, length1, start2, length2) {\n var i = 0;\n\n for (i = 0; i < length2; i++) {\n tmp[i] = array[start2 + i];\n }\n\n var cursor1 = start1 + length1 - 1;\n var cursor2 = length2 - 1;\n var dest = start2 + length2 - 1;\n var customCursor = 0;\n var customDest = 0;\n array[dest--] = array[cursor1--];\n\n if (--length1 === 0) {\n customCursor = dest - (length2 - 1);\n\n for (i = 0; i < length2; i++) {\n array[customCursor + i] = tmp[i];\n }\n\n return;\n }\n\n if (length2 === 1) {\n dest -= length1;\n cursor1 -= length1;\n customDest = dest + 1;\n customCursor = cursor1 + 1;\n\n for (i = length1 - 1; i >= 0; i--) {\n array[customDest + i] = array[customCursor + i];\n }\n\n array[dest] = tmp[cursor2];\n return;\n }\n\n var _minGallop = minGallop;\n\n while (true) {\n var count1 = 0;\n var count2 = 0;\n var exit = false;\n\n do {\n if (compare(tmp[cursor2], array[cursor1]) < 0) {\n array[dest--] = array[cursor1--];\n count1++;\n count2 = 0;\n\n if (--length1 === 0) {\n exit = true;\n break;\n }\n } else {\n array[dest--] = tmp[cursor2--];\n count2++;\n count1 = 0;\n\n if (--length2 === 1) {\n exit = true;\n break;\n }\n }\n } while ((count1 | count2) < _minGallop);\n\n if (exit) {\n break;\n }\n\n do {\n count1 = length1 - gallopRight(tmp[cursor2], array, start1, length1, length1 - 1, compare);\n\n if (count1 !== 0) {\n dest -= count1;\n cursor1 -= count1;\n length1 -= count1;\n customDest = dest + 1;\n customCursor = cursor1 + 1;\n\n for (i = count1 - 1; i >= 0; i--) {\n array[customDest + i] = array[customCursor + i];\n }\n\n if (length1 === 0) {\n exit = true;\n break;\n }\n }\n\n array[dest--] = tmp[cursor2--];\n\n if (--length2 === 1) {\n exit = true;\n break;\n }\n\n count2 = length2 - gallopLeft(array[cursor1], tmp, 0, length2, length2 - 1, compare);\n\n if (count2 !== 0) {\n dest -= count2;\n cursor2 -= count2;\n length2 -= count2;\n customDest = dest + 1;\n customCursor = cursor2 + 1;\n\n for (i = 0; i < count2; i++) {\n array[customDest + i] = tmp[customCursor + i];\n }\n\n if (length2 <= 1) {\n exit = true;\n break;\n }\n }\n\n array[dest--] = array[cursor1--];\n\n if (--length1 === 0) {\n exit = true;\n break;\n }\n\n _minGallop--;\n } while (count1 >= DEFAULT_MIN_GALLOPING || count2 >= DEFAULT_MIN_GALLOPING);\n\n if (exit) {\n break;\n }\n\n if (_minGallop < 0) {\n _minGallop = 0;\n }\n\n _minGallop += 2;\n }\n\n minGallop = _minGallop;\n\n if (minGallop < 1) {\n minGallop = 1;\n }\n\n if (length2 === 1) {\n dest -= length1;\n cursor1 -= length1;\n customDest = dest + 1;\n customCursor = cursor1 + 1;\n\n for (i = length1 - 1; i >= 0; i--) {\n array[customDest + i] = array[customCursor + i];\n }\n\n array[dest] = tmp[cursor2];\n } else if (length2 === 0) {\n throw new Error(); // throw new Error('mergeHigh preconditions were not respected');\n } else {\n customCursor = dest - (length2 - 1);\n\n for (i = 0; i < length2; i++) {\n array[customCursor + i] = tmp[i];\n }\n }\n }\n\n this.mergeRuns = mergeRuns;\n this.forceMergeRuns = forceMergeRuns;\n this.pushRun = pushRun;\n}\n\nfunction sort(array, compare, lo, hi) {\n if (!lo) {\n lo = 0;\n }\n\n if (!hi) {\n hi = array.length;\n }\n\n var remaining = hi - lo;\n\n if (remaining < 2) {\n return;\n }\n\n var runLength = 0;\n\n if (remaining < DEFAULT_MIN_MERGE) {\n runLength = makeAscendingRun(array, lo, hi, compare);\n binaryInsertionSort(array, lo, hi, lo + runLength, compare);\n return;\n }\n\n var ts = new TimSort(array, compare);\n var minRun = minRunLength(remaining);\n\n do {\n runLength = makeAscendingRun(array, lo, hi, compare);\n\n if (runLength < minRun) {\n var force = remaining;\n\n if (force > minRun) {\n force = minRun;\n }\n\n binaryInsertionSort(array, lo, lo + force, lo + runLength, compare);\n runLength = force;\n }\n\n ts.pushRun(lo, runLength);\n ts.mergeRuns();\n remaining -= runLength;\n lo += runLength;\n } while (remaining !== 0);\n\n ts.forceMergeRuns();\n}\n\nmodule.exports = sort;","var windingLine = require(\"./windingLine\");\n\nvar EPSILON = 1e-8;\n\nfunction isAroundEqual(a, b) {\n return Math.abs(a - b) < EPSILON;\n}\n\nfunction contain(points, x, y) {\n var w = 0;\n var p = points[0];\n\n if (!p) {\n return false;\n }\n\n for (var i = 1; i < points.length; i++) {\n var p2 = points[i];\n w += windingLine(p[0], p[1], p2[0], p2[1], x, y);\n p = p2;\n } // Close polygon\n\n\n var p0 = points[0];\n\n if (!isAroundEqual(p[0], p0[0]) || !isAroundEqual(p[1], p0[1])) {\n w += windingLine(p[0], p[1], p0[0], p0[1], x, y);\n }\n\n return w !== 0;\n}\n\nexports.contain = contain;","var Clip = require(\"./Clip\");\n\nvar color = require(\"../tool/color\");\n\nvar _util = require(\"../core/util\");\n\nvar isArrayLike = _util.isArrayLike;\n\n/**\n * @module echarts/animation/Animator\n */\nvar arraySlice = Array.prototype.slice;\n\nfunction defaultGetter(target, key) {\n return target[key];\n}\n\nfunction defaultSetter(target, key, value) {\n target[key] = value;\n}\n/**\n * @param {number} p0\n * @param {number} p1\n * @param {number} percent\n * @return {number}\n */\n\n\nfunction interpolateNumber(p0, p1, percent) {\n return (p1 - p0) * percent + p0;\n}\n/**\n * @param {string} p0\n * @param {string} p1\n * @param {number} percent\n * @return {string}\n */\n\n\nfunction interpolateString(p0, p1, percent) {\n return percent > 0.5 ? p1 : p0;\n}\n/**\n * @param {Array} p0\n * @param {Array} p1\n * @param {number} percent\n * @param {Array} out\n * @param {number} arrDim\n */\n\n\nfunction interpolateArray(p0, p1, percent, out, arrDim) {\n var len = p0.length;\n\n if (arrDim === 1) {\n for (var i = 0; i < len; i++) {\n out[i] = interpolateNumber(p0[i], p1[i], percent);\n }\n } else {\n var len2 = len && p0[0].length;\n\n for (var i = 0; i < len; i++) {\n for (var j = 0; j < len2; j++) {\n out[i][j] = interpolateNumber(p0[i][j], p1[i][j], percent);\n }\n }\n }\n} // arr0 is source array, arr1 is target array.\n// Do some preprocess to avoid error happened when interpolating from arr0 to arr1\n\n\nfunction fillArr(arr0, arr1, arrDim) {\n var arr0Len = arr0.length;\n var arr1Len = arr1.length;\n\n if (arr0Len !== arr1Len) {\n // FIXME Not work for TypedArray\n var isPreviousLarger = arr0Len > arr1Len;\n\n if (isPreviousLarger) {\n // Cut the previous\n arr0.length = arr1Len;\n } else {\n // Fill the previous\n for (var i = arr0Len; i < arr1Len; i++) {\n arr0.push(arrDim === 1 ? arr1[i] : arraySlice.call(arr1[i]));\n }\n }\n } // Handling NaN value\n\n\n var len2 = arr0[0] && arr0[0].length;\n\n for (var i = 0; i < arr0.length; i++) {\n if (arrDim === 1) {\n if (isNaN(arr0[i])) {\n arr0[i] = arr1[i];\n }\n } else {\n for (var j = 0; j < len2; j++) {\n if (isNaN(arr0[i][j])) {\n arr0[i][j] = arr1[i][j];\n }\n }\n }\n }\n}\n/**\n * @param {Array} arr0\n * @param {Array} arr1\n * @param {number} arrDim\n * @return {boolean}\n */\n\n\nfunction isArraySame(arr0, arr1, arrDim) {\n if (arr0 === arr1) {\n return true;\n }\n\n var len = arr0.length;\n\n if (len !== arr1.length) {\n return false;\n }\n\n if (arrDim === 1) {\n for (var i = 0; i < len; i++) {\n if (arr0[i] !== arr1[i]) {\n return false;\n }\n }\n } else {\n var len2 = arr0[0].length;\n\n for (var i = 0; i < len; i++) {\n for (var j = 0; j < len2; j++) {\n if (arr0[i][j] !== arr1[i][j]) {\n return false;\n }\n }\n }\n }\n\n return true;\n}\n/**\n * Catmull Rom interpolate array\n * @param {Array} p0\n * @param {Array} p1\n * @param {Array} p2\n * @param {Array} p3\n * @param {number} t\n * @param {number} t2\n * @param {number} t3\n * @param {Array} out\n * @param {number} arrDim\n */\n\n\nfunction catmullRomInterpolateArray(p0, p1, p2, p3, t, t2, t3, out, arrDim) {\n var len = p0.length;\n\n if (arrDim === 1) {\n for (var i = 0; i < len; i++) {\n out[i] = catmullRomInterpolate(p0[i], p1[i], p2[i], p3[i], t, t2, t3);\n }\n } else {\n var len2 = p0[0].length;\n\n for (var i = 0; i < len; i++) {\n for (var j = 0; j < len2; j++) {\n out[i][j] = catmullRomInterpolate(p0[i][j], p1[i][j], p2[i][j], p3[i][j], t, t2, t3);\n }\n }\n }\n}\n/**\n * Catmull Rom interpolate number\n * @param {number} p0\n * @param {number} p1\n * @param {number} p2\n * @param {number} p3\n * @param {number} t\n * @param {number} t2\n * @param {number} t3\n * @return {number}\n */\n\n\nfunction catmullRomInterpolate(p0, p1, p2, p3, t, t2, t3) {\n var v0 = (p2 - p0) * 0.5;\n var v1 = (p3 - p1) * 0.5;\n return (2 * (p1 - p2) + v0 + v1) * t3 + (-3 * (p1 - p2) - 2 * v0 - v1) * t2 + v0 * t + p1;\n}\n\nfunction cloneValue(value) {\n if (isArrayLike(value)) {\n var len = value.length;\n\n if (isArrayLike(value[0])) {\n var ret = [];\n\n for (var i = 0; i < len; i++) {\n ret.push(arraySlice.call(value[i]));\n }\n\n return ret;\n }\n\n return arraySlice.call(value);\n }\n\n return value;\n}\n\nfunction rgba2String(rgba) {\n rgba[0] = Math.floor(rgba[0]);\n rgba[1] = Math.floor(rgba[1]);\n rgba[2] = Math.floor(rgba[2]);\n return 'rgba(' + rgba.join(',') + ')';\n}\n\nfunction getArrayDim(keyframes) {\n var lastValue = keyframes[keyframes.length - 1].value;\n return isArrayLike(lastValue && lastValue[0]) ? 2 : 1;\n}\n\nfunction createTrackClip(animator, easing, oneTrackDone, keyframes, propName, forceAnimate) {\n var getter = animator._getter;\n var setter = animator._setter;\n var useSpline = easing === 'spline';\n var trackLen = keyframes.length;\n\n if (!trackLen) {\n return;\n } // Guess data type\n\n\n var firstVal = keyframes[0].value;\n var isValueArray = isArrayLike(firstVal);\n var isValueColor = false;\n var isValueString = false; // For vertices morphing\n\n var arrDim = isValueArray ? getArrayDim(keyframes) : 0;\n var trackMaxTime; // Sort keyframe as ascending\n\n keyframes.sort(function (a, b) {\n return a.time - b.time;\n });\n trackMaxTime = keyframes[trackLen - 1].time; // Percents of each keyframe\n\n var kfPercents = []; // Value of each keyframe\n\n var kfValues = [];\n var prevValue = keyframes[0].value;\n var isAllValueEqual = true;\n\n for (var i = 0; i < trackLen; i++) {\n kfPercents.push(keyframes[i].time / trackMaxTime); // Assume value is a color when it is a string\n\n var value = keyframes[i].value; // Check if value is equal, deep check if value is array\n\n if (!(isValueArray && isArraySame(value, prevValue, arrDim) || !isValueArray && value === prevValue)) {\n isAllValueEqual = false;\n }\n\n prevValue = value; // Try converting a string to a color array\n\n if (typeof value === 'string') {\n var colorArray = color.parse(value);\n\n if (colorArray) {\n value = colorArray;\n isValueColor = true;\n } else {\n isValueString = true;\n }\n }\n\n kfValues.push(value);\n }\n\n if (!forceAnimate && isAllValueEqual) {\n return;\n }\n\n var lastValue = kfValues[trackLen - 1]; // Polyfill array and NaN value\n\n for (var i = 0; i < trackLen - 1; i++) {\n if (isValueArray) {\n fillArr(kfValues[i], lastValue, arrDim);\n } else {\n if (isNaN(kfValues[i]) && !isNaN(lastValue) && !isValueString && !isValueColor) {\n kfValues[i] = lastValue;\n }\n }\n }\n\n isValueArray && fillArr(getter(animator._target, propName), lastValue, arrDim); // Cache the key of last frame to speed up when\n // animation playback is sequency\n\n var lastFrame = 0;\n var lastFramePercent = 0;\n var start;\n var w;\n var p0;\n var p1;\n var p2;\n var p3;\n\n if (isValueColor) {\n var rgba = [0, 0, 0, 0];\n }\n\n var onframe = function (target, percent) {\n // Find the range keyframes\n // kf1-----kf2---------current--------kf3\n // find kf2 and kf3 and do interpolation\n var frame; // In the easing function like elasticOut, percent may less than 0\n\n if (percent < 0) {\n frame = 0;\n } else if (percent < lastFramePercent) {\n // Start from next key\n // PENDING start from lastFrame ?\n start = Math.min(lastFrame + 1, trackLen - 1);\n\n for (frame = start; frame >= 0; frame--) {\n if (kfPercents[frame] <= percent) {\n break;\n }\n } // PENDING really need to do this ?\n\n\n frame = Math.min(frame, trackLen - 2);\n } else {\n for (frame = lastFrame; frame < trackLen; frame++) {\n if (kfPercents[frame] > percent) {\n break;\n }\n }\n\n frame = Math.min(frame - 1, trackLen - 2);\n }\n\n lastFrame = frame;\n lastFramePercent = percent;\n var range = kfPercents[frame + 1] - kfPercents[frame];\n\n if (range === 0) {\n return;\n } else {\n w = (percent - kfPercents[frame]) / range;\n }\n\n if (useSpline) {\n p1 = kfValues[frame];\n p0 = kfValues[frame === 0 ? frame : frame - 1];\n p2 = kfValues[frame > trackLen - 2 ? trackLen - 1 : frame + 1];\n p3 = kfValues[frame > trackLen - 3 ? trackLen - 1 : frame + 2];\n\n if (isValueArray) {\n catmullRomInterpolateArray(p0, p1, p2, p3, w, w * w, w * w * w, getter(target, propName), arrDim);\n } else {\n var value;\n\n if (isValueColor) {\n value = catmullRomInterpolateArray(p0, p1, p2, p3, w, w * w, w * w * w, rgba, 1);\n value = rgba2String(rgba);\n } else if (isValueString) {\n // String is step(0.5)\n return interpolateString(p1, p2, w);\n } else {\n value = catmullRomInterpolate(p0, p1, p2, p3, w, w * w, w * w * w);\n }\n\n setter(target, propName, value);\n }\n } else {\n if (isValueArray) {\n interpolateArray(kfValues[frame], kfValues[frame + 1], w, getter(target, propName), arrDim);\n } else {\n var value;\n\n if (isValueColor) {\n interpolateArray(kfValues[frame], kfValues[frame + 1], w, rgba, 1);\n value = rgba2String(rgba);\n } else if (isValueString) {\n // String is step(0.5)\n return interpolateString(kfValues[frame], kfValues[frame + 1], w);\n } else {\n value = interpolateNumber(kfValues[frame], kfValues[frame + 1], w);\n }\n\n setter(target, propName, value);\n }\n }\n };\n\n var clip = new Clip({\n target: animator._target,\n life: trackMaxTime,\n loop: animator._loop,\n delay: animator._delay,\n onframe: onframe,\n ondestroy: oneTrackDone\n });\n\n if (easing && easing !== 'spline') {\n clip.easing = easing;\n }\n\n return clip;\n}\n/**\n * @alias module:zrender/animation/Animator\n * @constructor\n * @param {Object} target\n * @param {boolean} loop\n * @param {Function} getter\n * @param {Function} setter\n */\n\n\nvar Animator = function (target, loop, getter, setter) {\n this._tracks = {};\n this._target = target;\n this._loop = loop || false;\n this._getter = getter || defaultGetter;\n this._setter = setter || defaultSetter;\n this._clipCount = 0;\n this._delay = 0;\n this._doneList = [];\n this._onframeList = [];\n this._clipList = [];\n};\n\nAnimator.prototype = {\n /**\n * Set Animation keyframe\n * @param {number} time 关键帧时间,单位是ms\n * @param {Object} props 关键帧的属性值,key-value表示\n * @return {module:zrender/animation/Animator}\n */\n when: function (time\n /* ms */\n , props) {\n var tracks = this._tracks;\n\n for (var propName in props) {\n if (!props.hasOwnProperty(propName)) {\n continue;\n }\n\n if (!tracks[propName]) {\n tracks[propName] = []; // Invalid value\n\n var value = this._getter(this._target, propName);\n\n if (value == null) {\n // zrLog('Invalid property ' + propName);\n continue;\n } // If time is 0\n // Then props is given initialize value\n // Else\n // Initialize value from current prop value\n\n\n if (time !== 0) {\n tracks[propName].push({\n time: 0,\n value: cloneValue(value)\n });\n }\n }\n\n tracks[propName].push({\n time: time,\n value: props[propName]\n });\n }\n\n return this;\n },\n\n /**\n * 添加动画每一帧的回调函数\n * @param {Function} callback\n * @return {module:zrender/animation/Animator}\n */\n during: function (callback) {\n this._onframeList.push(callback);\n\n return this;\n },\n pause: function () {\n for (var i = 0; i < this._clipList.length; i++) {\n this._clipList[i].pause();\n }\n\n this._paused = true;\n },\n resume: function () {\n for (var i = 0; i < this._clipList.length; i++) {\n this._clipList[i].resume();\n }\n\n this._paused = false;\n },\n isPaused: function () {\n return !!this._paused;\n },\n _doneCallback: function () {\n // Clear all tracks\n this._tracks = {}; // Clear all clips\n\n this._clipList.length = 0;\n var doneList = this._doneList;\n var len = doneList.length;\n\n for (var i = 0; i < len; i++) {\n doneList[i].call(this);\n }\n },\n\n /**\n * Start the animation\n * @param {string|Function} [easing]\n * 动画缓动函数,详见{@link module:zrender/animation/easing}\n * @param {boolean} forceAnimate\n * @return {module:zrender/animation/Animator}\n */\n start: function (easing, forceAnimate) {\n var self = this;\n var clipCount = 0;\n\n var oneTrackDone = function () {\n clipCount--;\n\n if (!clipCount) {\n self._doneCallback();\n }\n };\n\n var lastClip;\n\n for (var propName in this._tracks) {\n if (!this._tracks.hasOwnProperty(propName)) {\n continue;\n }\n\n var clip = createTrackClip(this, easing, oneTrackDone, this._tracks[propName], propName, forceAnimate);\n\n if (clip) {\n this._clipList.push(clip);\n\n clipCount++; // If start after added to animation\n\n if (this.animation) {\n this.animation.addClip(clip);\n }\n\n lastClip = clip;\n }\n } // Add during callback on the last clip\n\n\n if (lastClip) {\n var oldOnFrame = lastClip.onframe;\n\n lastClip.onframe = function (target, percent) {\n oldOnFrame(target, percent);\n\n for (var i = 0; i < self._onframeList.length; i++) {\n self._onframeList[i](target, percent);\n }\n };\n } // This optimization will help the case that in the upper application\n // the view may be refreshed frequently, where animation will be\n // called repeatly but nothing changed.\n\n\n if (!clipCount) {\n this._doneCallback();\n }\n\n return this;\n },\n\n /**\n * Stop animation\n * @param {boolean} forwardToLast If move to last frame before stop\n */\n stop: function (forwardToLast) {\n var clipList = this._clipList;\n var animation = this.animation;\n\n for (var i = 0; i < clipList.length; i++) {\n var clip = clipList[i];\n\n if (forwardToLast) {\n // Move to last frame before stop\n clip.onframe(this._target, 1);\n }\n\n animation && animation.removeClip(clip);\n }\n\n clipList.length = 0;\n },\n\n /**\n * Set when animation delay starts\n * @param {number} time 单位ms\n * @return {module:zrender/animation/Animator}\n */\n delay: function (time) {\n this._delay = time;\n return this;\n },\n\n /**\n * Add callback for animation end\n * @param {Function} cb\n * @return {module:zrender/animation/Animator}\n */\n done: function (cb) {\n if (cb) {\n this._doneList.push(cb);\n }\n\n return this;\n },\n\n /**\n * @return {Array.}\n */\n getClips: function () {\n return this._clipList;\n }\n};\nvar _default = Animator;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar linkList = require(\"./helper/linkList\");\n\nvar List = require(\"./List\");\n\nvar createDimensions = require(\"./helper/createDimensions\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Tree data structure\n *\n * @module echarts/data/Tree\n */\n\n/**\n * @constructor module:echarts/data/Tree~TreeNode\n * @param {string} name\n * @param {module:echarts/data/Tree} hostTree\n */\nvar TreeNode = function (name, hostTree) {\n /**\n * @type {string}\n */\n this.name = name || '';\n /**\n * Depth of node\n *\n * @type {number}\n * @readOnly\n */\n\n this.depth = 0;\n /**\n * Height of the subtree rooted at this node.\n * @type {number}\n * @readOnly\n */\n\n this.height = 0;\n /**\n * @type {module:echarts/data/Tree~TreeNode}\n * @readOnly\n */\n\n this.parentNode = null;\n /**\n * Reference to list item.\n * Do not persistent dataIndex outside,\n * besause it may be changed by list.\n * If dataIndex -1,\n * this node is logical deleted (filtered) in list.\n *\n * @type {Object}\n * @readOnly\n */\n\n this.dataIndex = -1;\n /**\n * @type {Array.}\n * @readOnly\n */\n\n this.children = [];\n /**\n * @type {Array.}\n * @pubilc\n */\n\n this.viewChildren = [];\n /**\n * @type {moduel:echarts/data/Tree}\n * @readOnly\n */\n\n this.hostTree = hostTree;\n};\n\nTreeNode.prototype = {\n constructor: TreeNode,\n\n /**\n * The node is removed.\n * @return {boolean} is removed.\n */\n isRemoved: function () {\n return this.dataIndex < 0;\n },\n\n /**\n * Travel this subtree (include this node).\n * Usage:\n * node.eachNode(function () { ... }); // preorder\n * node.eachNode('preorder', function () { ... }); // preorder\n * node.eachNode('postorder', function () { ... }); // postorder\n * node.eachNode(\n * {order: 'postorder', attr: 'viewChildren'},\n * function () { ... }\n * ); // postorder\n *\n * @param {(Object|string)} options If string, means order.\n * @param {string=} options.order 'preorder' or 'postorder'\n * @param {string=} options.attr 'children' or 'viewChildren'\n * @param {Function} cb If in preorder and return false,\n * its subtree will not be visited.\n * @param {Object} [context]\n */\n eachNode: function (options, cb, context) {\n if (typeof options === 'function') {\n context = cb;\n cb = options;\n options = null;\n }\n\n options = options || {};\n\n if (zrUtil.isString(options)) {\n options = {\n order: options\n };\n }\n\n var order = options.order || 'preorder';\n var children = this[options.attr || 'children'];\n var suppressVisitSub;\n order === 'preorder' && (suppressVisitSub = cb.call(context, this));\n\n for (var i = 0; !suppressVisitSub && i < children.length; i++) {\n children[i].eachNode(options, cb, context);\n }\n\n order === 'postorder' && cb.call(context, this);\n },\n\n /**\n * Update depth and height of this subtree.\n *\n * @param {number} depth\n */\n updateDepthAndHeight: function (depth) {\n var height = 0;\n this.depth = depth;\n\n for (var i = 0; i < this.children.length; i++) {\n var child = this.children[i];\n child.updateDepthAndHeight(depth + 1);\n\n if (child.height > height) {\n height = child.height;\n }\n }\n\n this.height = height + 1;\n },\n\n /**\n * @param {string} id\n * @return {module:echarts/data/Tree~TreeNode}\n */\n getNodeById: function (id) {\n if (this.getId() === id) {\n return this;\n }\n\n for (var i = 0, children = this.children, len = children.length; i < len; i++) {\n var res = children[i].getNodeById(id);\n\n if (res) {\n return res;\n }\n }\n },\n\n /**\n * @param {module:echarts/data/Tree~TreeNode} node\n * @return {boolean}\n */\n contains: function (node) {\n if (node === this) {\n return true;\n }\n\n for (var i = 0, children = this.children, len = children.length; i < len; i++) {\n var res = children[i].contains(node);\n\n if (res) {\n return res;\n }\n }\n },\n\n /**\n * @param {boolean} includeSelf Default false.\n * @return {Array.} order: [root, child, grandchild, ...]\n */\n getAncestors: function (includeSelf) {\n var ancestors = [];\n var node = includeSelf ? this : this.parentNode;\n\n while (node) {\n ancestors.push(node);\n node = node.parentNode;\n }\n\n ancestors.reverse();\n return ancestors;\n },\n\n /**\n * @param {string|Array=} [dimension='value'] Default 'value'. can be 0, 1, 2, 3\n * @return {number} Value.\n */\n getValue: function (dimension) {\n var data = this.hostTree.data;\n return data.get(data.getDimension(dimension || 'value'), this.dataIndex);\n },\n\n /**\n * @param {Object} layout\n * @param {boolean=} [merge=false]\n */\n setLayout: function (layout, merge) {\n this.dataIndex >= 0 && this.hostTree.data.setItemLayout(this.dataIndex, layout, merge);\n },\n\n /**\n * @return {Object} layout\n */\n getLayout: function () {\n return this.hostTree.data.getItemLayout(this.dataIndex);\n },\n\n /**\n * @param {string} [path]\n * @return {module:echarts/model/Model}\n */\n getModel: function (path) {\n if (this.dataIndex < 0) {\n return;\n }\n\n var hostTree = this.hostTree;\n var itemModel = hostTree.data.getItemModel(this.dataIndex);\n return itemModel.getModel(path);\n },\n\n /**\n * @example\n * setItemVisual('color', color);\n * setItemVisual({\n * 'color': color\n * });\n */\n setVisual: function (key, value) {\n this.dataIndex >= 0 && this.hostTree.data.setItemVisual(this.dataIndex, key, value);\n },\n\n /**\n * Get item visual\n */\n getVisual: function (key, ignoreParent) {\n return this.hostTree.data.getItemVisual(this.dataIndex, key, ignoreParent);\n },\n\n /**\n * @public\n * @return {number}\n */\n getRawIndex: function () {\n return this.hostTree.data.getRawIndex(this.dataIndex);\n },\n\n /**\n * @public\n * @return {string}\n */\n getId: function () {\n return this.hostTree.data.getId(this.dataIndex);\n },\n\n /**\n * if this is an ancestor of another node\n *\n * @public\n * @param {TreeNode} node another node\n * @return {boolean} if is ancestor\n */\n isAncestorOf: function (node) {\n var parent = node.parentNode;\n\n while (parent) {\n if (parent === this) {\n return true;\n }\n\n parent = parent.parentNode;\n }\n\n return false;\n },\n\n /**\n * if this is an descendant of another node\n *\n * @public\n * @param {TreeNode} node another node\n * @return {boolean} if is descendant\n */\n isDescendantOf: function (node) {\n return node !== this && node.isAncestorOf(this);\n }\n};\n/**\n * @constructor\n * @alias module:echarts/data/Tree\n * @param {module:echarts/model/Model} hostModel\n */\n\nfunction Tree(hostModel) {\n /**\n * @type {module:echarts/data/Tree~TreeNode}\n * @readOnly\n */\n this.root;\n /**\n * @type {module:echarts/data/List}\n * @readOnly\n */\n\n this.data;\n /**\n * Index of each item is the same as the raw index of coresponding list item.\n * @private\n * @type {Array.}, ...]\n * @private\n * @type {Array.}\n */\n\n this._pieceList = [];\n this.resetExtent();\n /**\n * 'pieces', 'categories', 'splitNumber'\n * @type {string}\n */\n\n var mode = this._mode = this._determineMode();\n\n resetMethods[this._mode].call(this);\n\n this._resetSelected(newOption, isInit);\n\n var categories = this.option.categories;\n this.resetVisual(function (mappingOption, state) {\n if (mode === 'categories') {\n mappingOption.mappingMethod = 'category';\n mappingOption.categories = zrUtil.clone(categories);\n } else {\n mappingOption.dataExtent = this.getExtent();\n mappingOption.mappingMethod = 'piecewise';\n mappingOption.pieceList = zrUtil.map(this._pieceList, function (piece) {\n var piece = zrUtil.clone(piece);\n\n if (state !== 'inRange') {\n // FIXME\n // outOfRange do not support special visual in pieces.\n piece.visual = null;\n }\n\n return piece;\n });\n }\n });\n },\n\n /**\n * @protected\n * @override\n */\n completeVisualOption: function () {\n // Consider this case:\n // visualMap: {\n // pieces: [{symbol: 'circle', lt: 0}, {symbol: 'rect', gte: 0}]\n // }\n // where no inRange/outOfRange set but only pieces. So we should make\n // default inRange/outOfRange for this case, otherwise visuals that only\n // appear in `pieces` will not be taken into account in visual encoding.\n var option = this.option;\n var visualTypesInPieces = {};\n var visualTypes = VisualMapping.listVisualTypes();\n var isCategory = this.isCategory();\n zrUtil.each(option.pieces, function (piece) {\n zrUtil.each(visualTypes, function (visualType) {\n if (piece.hasOwnProperty(visualType)) {\n visualTypesInPieces[visualType] = 1;\n }\n });\n });\n zrUtil.each(visualTypesInPieces, function (v, visualType) {\n var exists = 0;\n zrUtil.each(this.stateList, function (state) {\n exists |= has(option, state, visualType) || has(option.target, state, visualType);\n }, this);\n !exists && zrUtil.each(this.stateList, function (state) {\n (option[state] || (option[state] = {}))[visualType] = visualDefault.get(visualType, state === 'inRange' ? 'active' : 'inactive', isCategory);\n });\n }, this);\n\n function has(obj, state, visualType) {\n return obj && obj[state] && (zrUtil.isObject(obj[state]) ? obj[state].hasOwnProperty(visualType) : obj[state] === visualType // e.g., inRange: 'symbol'\n );\n }\n\n VisualMapModel.prototype.completeVisualOption.apply(this, arguments);\n },\n _resetSelected: function (newOption, isInit) {\n var thisOption = this.option;\n var pieceList = this._pieceList; // Selected do not merge but all override.\n\n var selected = (isInit ? thisOption : newOption).selected || {};\n thisOption.selected = selected; // Consider 'not specified' means true.\n\n zrUtil.each(pieceList, function (piece, index) {\n var key = this.getSelectedMapKey(piece);\n\n if (!selected.hasOwnProperty(key)) {\n selected[key] = true;\n }\n }, this);\n\n if (thisOption.selectedMode === 'single') {\n // Ensure there is only one selected.\n var hasSel = false;\n zrUtil.each(pieceList, function (piece, index) {\n var key = this.getSelectedMapKey(piece);\n\n if (selected[key]) {\n hasSel ? selected[key] = false : hasSel = true;\n }\n }, this);\n } // thisOption.selectedMode === 'multiple', default: all selected.\n\n },\n\n /**\n * @public\n */\n getSelectedMapKey: function (piece) {\n return this._mode === 'categories' ? piece.value + '' : piece.index + '';\n },\n\n /**\n * @public\n */\n getPieceList: function () {\n return this._pieceList;\n },\n\n /**\n * @private\n * @return {string}\n */\n _determineMode: function () {\n var option = this.option;\n return option.pieces && option.pieces.length > 0 ? 'pieces' : this.option.categories ? 'categories' : 'splitNumber';\n },\n\n /**\n * @public\n * @override\n */\n setSelected: function (selected) {\n this.option.selected = zrUtil.clone(selected);\n },\n\n /**\n * @public\n * @override\n */\n getValueState: function (value) {\n var index = VisualMapping.findPieceIndex(value, this._pieceList);\n return index != null ? this.option.selected[this.getSelectedMapKey(this._pieceList[index])] ? 'inRange' : 'outOfRange' : 'outOfRange';\n },\n\n /**\n * @public\n * @params {number} pieceIndex piece index in visualMapModel.getPieceList()\n * @return {Array.} [{seriesId, dataIndex: >}, ...]\n */\n findTargetDataIndices: function (pieceIndex) {\n var result = [];\n this.eachTargetSeries(function (seriesModel) {\n var dataIndices = [];\n var data = seriesModel.getData();\n data.each(this.getDataDimension(data), function (value, dataIndex) {\n // Should always base on model pieceList, because it is order sensitive.\n var pIdx = VisualMapping.findPieceIndex(value, this._pieceList);\n pIdx === pieceIndex && dataIndices.push(dataIndex);\n }, this);\n result.push({\n seriesId: seriesModel.id,\n dataIndex: dataIndices\n });\n }, this);\n return result;\n },\n\n /**\n * @private\n * @param {Object} piece piece.value or piece.interval is required.\n * @return {number} Can be Infinity or -Infinity\n */\n getRepresentValue: function (piece) {\n var representValue;\n\n if (this.isCategory()) {\n representValue = piece.value;\n } else {\n if (piece.value != null) {\n representValue = piece.value;\n } else {\n var pieceInterval = piece.interval || [];\n representValue = pieceInterval[0] === -Infinity && pieceInterval[1] === Infinity ? 0 : (pieceInterval[0] + pieceInterval[1]) / 2;\n }\n }\n\n return representValue;\n },\n getVisualMeta: function (getColorVisual) {\n // Do not support category. (category axis is ordinal, numerical)\n if (this.isCategory()) {\n return;\n }\n\n var stops = [];\n var outerColors = [];\n var visualMapModel = this;\n\n function setStop(interval, valueState) {\n var representValue = visualMapModel.getRepresentValue({\n interval: interval\n });\n\n if (!valueState) {\n valueState = visualMapModel.getValueState(representValue);\n }\n\n var color = getColorVisual(representValue, valueState);\n\n if (interval[0] === -Infinity) {\n outerColors[0] = color;\n } else if (interval[1] === Infinity) {\n outerColors[1] = color;\n } else {\n stops.push({\n value: interval[0],\n color: color\n }, {\n value: interval[1],\n color: color\n });\n }\n } // Suplement\n\n\n var pieceList = this._pieceList.slice();\n\n if (!pieceList.length) {\n pieceList.push({\n interval: [-Infinity, Infinity]\n });\n } else {\n var edge = pieceList[0].interval[0];\n edge !== -Infinity && pieceList.unshift({\n interval: [-Infinity, edge]\n });\n edge = pieceList[pieceList.length - 1].interval[1];\n edge !== Infinity && pieceList.push({\n interval: [edge, Infinity]\n });\n }\n\n var curr = -Infinity;\n zrUtil.each(pieceList, function (piece) {\n var interval = piece.interval;\n\n if (interval) {\n // Fulfill gap.\n interval[0] > curr && setStop([curr, interval[0]], 'outOfRange');\n setStop(interval.slice());\n curr = interval[1];\n }\n }, this);\n return {\n stops: stops,\n outerColors: outerColors\n };\n }\n});\n/**\n * Key is this._mode\n * @type {Object}\n * @this {module:echarts/component/viusalMap/PiecewiseMode}\n */\n\nvar resetMethods = {\n splitNumber: function () {\n var thisOption = this.option;\n var pieceList = this._pieceList;\n var precision = Math.min(thisOption.precision, 20);\n var dataExtent = this.getExtent();\n var splitNumber = thisOption.splitNumber;\n splitNumber = Math.max(parseInt(splitNumber, 10), 1);\n thisOption.splitNumber = splitNumber;\n var splitStep = (dataExtent[1] - dataExtent[0]) / splitNumber; // Precision auto-adaption\n\n while (+splitStep.toFixed(precision) !== splitStep && precision < 5) {\n precision++;\n }\n\n thisOption.precision = precision;\n splitStep = +splitStep.toFixed(precision);\n\n if (thisOption.minOpen) {\n pieceList.push({\n interval: [-Infinity, dataExtent[0]],\n close: [0, 0]\n });\n }\n\n for (var index = 0, curr = dataExtent[0]; index < splitNumber; curr += splitStep, index++) {\n var max = index === splitNumber - 1 ? dataExtent[1] : curr + splitStep;\n pieceList.push({\n interval: [curr, max],\n close: [1, 1]\n });\n }\n\n if (thisOption.maxOpen) {\n pieceList.push({\n interval: [dataExtent[1], Infinity],\n close: [0, 0]\n });\n }\n\n reformIntervals(pieceList);\n zrUtil.each(pieceList, function (piece, index) {\n piece.index = index;\n piece.text = this.formatValueText(piece.interval);\n }, this);\n },\n categories: function () {\n var thisOption = this.option;\n zrUtil.each(thisOption.categories, function (cate) {\n // FIXME category模式也使用pieceList,但在visualMapping中不是使用pieceList。\n // 是否改一致。\n this._pieceList.push({\n text: this.formatValueText(cate, true),\n value: cate\n });\n }, this); // See \"Order Rule\".\n\n normalizeReverse(thisOption, this._pieceList);\n },\n pieces: function () {\n var thisOption = this.option;\n var pieceList = this._pieceList;\n zrUtil.each(thisOption.pieces, function (pieceListItem, index) {\n if (!zrUtil.isObject(pieceListItem)) {\n pieceListItem = {\n value: pieceListItem\n };\n }\n\n var item = {\n text: '',\n index: index\n };\n\n if (pieceListItem.label != null) {\n item.text = pieceListItem.label;\n }\n\n if (pieceListItem.hasOwnProperty('value')) {\n var value = item.value = pieceListItem.value;\n item.interval = [value, value];\n item.close = [1, 1];\n } else {\n // `min` `max` is legacy option.\n // `lt` `gt` `lte` `gte` is recommanded.\n var interval = item.interval = [];\n var close = item.close = [0, 0];\n var closeList = [1, 0, 1];\n var infinityList = [-Infinity, Infinity];\n var useMinMax = [];\n\n for (var lg = 0; lg < 2; lg++) {\n var names = [['gte', 'gt', 'min'], ['lte', 'lt', 'max']][lg];\n\n for (var i = 0; i < 3 && interval[lg] == null; i++) {\n interval[lg] = pieceListItem[names[i]];\n close[lg] = closeList[i];\n useMinMax[lg] = i === 2;\n }\n\n interval[lg] == null && (interval[lg] = infinityList[lg]);\n }\n\n useMinMax[0] && interval[1] === Infinity && (close[0] = 0);\n useMinMax[1] && interval[0] === -Infinity && (close[1] = 0);\n\n if (interval[0] === interval[1] && close[0] && close[1]) {\n // Consider: [{min: 5, max: 5, visual: {...}}, {min: 0, max: 5}],\n // we use value to lift the priority when min === max\n item.value = interval[0];\n }\n }\n\n item.visual = VisualMapping.retrieveVisuals(pieceListItem);\n pieceList.push(item);\n }, this); // See \"Order Rule\".\n\n normalizeReverse(thisOption, pieceList); // Only pieces\n\n reformIntervals(pieceList);\n zrUtil.each(pieceList, function (piece) {\n var close = piece.close;\n var edgeSymbols = [['<', '≤'][close[1]], ['>', '≥'][close[0]]];\n piece.text = piece.text || this.formatValueText(piece.value != null ? piece.value : piece.interval, false, edgeSymbols);\n }, this);\n }\n};\n\nfunction normalizeReverse(thisOption, pieceList) {\n var inverse = thisOption.inverse;\n\n if (thisOption.orient === 'vertical' ? !inverse : inverse) {\n pieceList.reverse();\n }\n}\n\nvar _default = PiecewiseModel;\nmodule.exports = _default;","var eventUtil = require(\"./event\");\n\n/**\n * Only implements needed gestures for mobile.\n */\nvar GestureMgr = function () {\n /**\n * @private\n * @type {Array.}\n */\n this._track = [];\n};\n\nGestureMgr.prototype = {\n constructor: GestureMgr,\n recognize: function (event, target, root) {\n this._doTrack(event, target, root);\n\n return this._recognize(event);\n },\n clear: function () {\n this._track.length = 0;\n return this;\n },\n _doTrack: function (event, target, root) {\n var touches = event.touches;\n\n if (!touches) {\n return;\n }\n\n var trackItem = {\n points: [],\n touches: [],\n target: target,\n event: event\n };\n\n for (var i = 0, len = touches.length; i < len; i++) {\n var touch = touches[i];\n var pos = eventUtil.clientToLocal(root, touch, {});\n trackItem.points.push([pos.zrX, pos.zrY]);\n trackItem.touches.push(touch);\n }\n\n this._track.push(trackItem);\n },\n _recognize: function (event) {\n for (var eventName in recognizers) {\n if (recognizers.hasOwnProperty(eventName)) {\n var gestureInfo = recognizers[eventName](this._track, event);\n\n if (gestureInfo) {\n return gestureInfo;\n }\n }\n }\n }\n};\n\nfunction dist(pointPair) {\n var dx = pointPair[1][0] - pointPair[0][0];\n var dy = pointPair[1][1] - pointPair[0][1];\n return Math.sqrt(dx * dx + dy * dy);\n}\n\nfunction center(pointPair) {\n return [(pointPair[0][0] + pointPair[1][0]) / 2, (pointPair[0][1] + pointPair[1][1]) / 2];\n}\n\nvar recognizers = {\n pinch: function (track, event) {\n var trackLen = track.length;\n\n if (!trackLen) {\n return;\n }\n\n var pinchEnd = (track[trackLen - 1] || {}).points;\n var pinchPre = (track[trackLen - 2] || {}).points || pinchEnd;\n\n if (pinchPre && pinchPre.length > 1 && pinchEnd && pinchEnd.length > 1) {\n var pinchScale = dist(pinchEnd) / dist(pinchPre);\n !isFinite(pinchScale) && (pinchScale = 1);\n event.pinchScale = pinchScale;\n var pinchCenter = center(pinchEnd);\n event.pinchX = pinchCenter[0];\n event.pinchY = pinchCenter[1];\n return {\n type: 'pinch',\n target: track[0].target,\n event: event\n };\n }\n } // Only pinch currently.\n\n};\nvar _default = GestureMgr;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nrequire(\"./legend\");\n\nrequire(\"./legend/ScrollableLegendModel\");\n\nrequire(\"./legend/ScrollableLegendView\");\n\nrequire(\"./legend/scrollableLegendAction\");","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"../component/parallel\");\n\nrequire(\"./parallel/ParallelSeries\");\n\nrequire(\"./parallel/ParallelView\");\n\nvar parallelVisual = require(\"./parallel/parallelVisual\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerVisual(parallelVisual);","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./candlestick/CandlestickSeries\");\n\nrequire(\"./candlestick/CandlestickView\");\n\nvar preprocessor = require(\"./candlestick/preprocessor\");\n\nvar candlestickVisual = require(\"./candlestick/candlestickVisual\");\n\nvar candlestickLayout = require(\"./candlestick/candlestickLayout\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerPreprocessor(preprocessor);\necharts.registerVisual(candlestickVisual);\necharts.registerLayout(candlestickLayout);","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Axis = require(\"../../coord/Axis\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Extend axis 2d\n * @constructor module:echarts/coord/cartesian/Axis2D\n * @extends {module:echarts/coord/cartesian/Axis}\n * @param {string} dim\n * @param {*} scale\n * @param {Array.} coordExtent\n * @param {string} axisType\n * @param {string} position\n */\nvar TimelineAxis = function (dim, scale, coordExtent, axisType) {\n Axis.call(this, dim, scale, coordExtent);\n /**\n * Axis type\n * - 'category'\n * - 'value'\n * - 'time'\n * - 'log'\n * @type {string}\n */\n\n this.type = axisType || 'value';\n /**\n * Axis model\n * @param {module:echarts/component/TimelineModel}\n */\n\n this.model = null;\n};\n\nTimelineAxis.prototype = {\n constructor: TimelineAxis,\n\n /**\n * @override\n */\n getLabelModel: function () {\n return this.model.getModel('label');\n },\n\n /**\n * @override\n */\n isHorizontal: function () {\n return this.model.get('orient') === 'horizontal';\n }\n};\nzrUtil.inherits(TimelineAxis, Axis);\nvar _default = TimelineAxis;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _graphic = require(\"../../util/graphic\");\n\nvar subPixelOptimize = _graphic.subPixelOptimize;\n\nvar createRenderPlanner = require(\"../helper/createRenderPlanner\");\n\nvar _number = require(\"../../util/number\");\n\nvar parsePercent = _number.parsePercent;\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar retrieve2 = _util.retrieve2;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/* global Float32Array */\nvar LargeArr = typeof Float32Array !== 'undefined' ? Float32Array : Array;\nvar _default = {\n seriesType: 'candlestick',\n plan: createRenderPlanner(),\n reset: function (seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n var data = seriesModel.getData();\n var candleWidth = calculateCandleWidth(seriesModel, data);\n var cDimIdx = 0;\n var vDimIdx = 1;\n var coordDims = ['x', 'y'];\n var cDim = data.mapDimension(coordDims[cDimIdx]);\n var vDims = data.mapDimension(coordDims[vDimIdx], true);\n var openDim = vDims[0];\n var closeDim = vDims[1];\n var lowestDim = vDims[2];\n var highestDim = vDims[3];\n data.setLayout({\n candleWidth: candleWidth,\n // The value is experimented visually.\n isSimpleBox: candleWidth <= 1.3\n });\n\n if (cDim == null || vDims.length < 4) {\n return;\n }\n\n return {\n progress: seriesModel.pipelineContext.large ? largeProgress : normalProgress\n };\n\n function normalProgress(params, data) {\n var dataIndex;\n\n while ((dataIndex = params.next()) != null) {\n var axisDimVal = data.get(cDim, dataIndex);\n var openVal = data.get(openDim, dataIndex);\n var closeVal = data.get(closeDim, dataIndex);\n var lowestVal = data.get(lowestDim, dataIndex);\n var highestVal = data.get(highestDim, dataIndex);\n var ocLow = Math.min(openVal, closeVal);\n var ocHigh = Math.max(openVal, closeVal);\n var ocLowPoint = getPoint(ocLow, axisDimVal);\n var ocHighPoint = getPoint(ocHigh, axisDimVal);\n var lowestPoint = getPoint(lowestVal, axisDimVal);\n var highestPoint = getPoint(highestVal, axisDimVal);\n var ends = [];\n addBodyEnd(ends, ocHighPoint, 0);\n addBodyEnd(ends, ocLowPoint, 1);\n ends.push(subPixelOptimizePoint(highestPoint), subPixelOptimizePoint(ocHighPoint), subPixelOptimizePoint(lowestPoint), subPixelOptimizePoint(ocLowPoint));\n data.setItemLayout(dataIndex, {\n sign: getSign(data, dataIndex, openVal, closeVal, closeDim),\n initBaseline: openVal > closeVal ? ocHighPoint[vDimIdx] : ocLowPoint[vDimIdx],\n // open point.\n ends: ends,\n brushRect: makeBrushRect(lowestVal, highestVal, axisDimVal)\n });\n }\n\n function getPoint(val, axisDimVal) {\n var p = [];\n p[cDimIdx] = axisDimVal;\n p[vDimIdx] = val;\n return isNaN(axisDimVal) || isNaN(val) ? [NaN, NaN] : coordSys.dataToPoint(p);\n }\n\n function addBodyEnd(ends, point, start) {\n var point1 = point.slice();\n var point2 = point.slice();\n point1[cDimIdx] = subPixelOptimize(point1[cDimIdx] + candleWidth / 2, 1, false);\n point2[cDimIdx] = subPixelOptimize(point2[cDimIdx] - candleWidth / 2, 1, true);\n start ? ends.push(point1, point2) : ends.push(point2, point1);\n }\n\n function makeBrushRect(lowestVal, highestVal, axisDimVal) {\n var pmin = getPoint(lowestVal, axisDimVal);\n var pmax = getPoint(highestVal, axisDimVal);\n pmin[cDimIdx] -= candleWidth / 2;\n pmax[cDimIdx] -= candleWidth / 2;\n return {\n x: pmin[0],\n y: pmin[1],\n width: vDimIdx ? candleWidth : pmax[0] - pmin[0],\n height: vDimIdx ? pmax[1] - pmin[1] : candleWidth\n };\n }\n\n function subPixelOptimizePoint(point) {\n point[cDimIdx] = subPixelOptimize(point[cDimIdx], 1);\n return point;\n }\n }\n\n function largeProgress(params, data) {\n // Structure: [sign, x, yhigh, ylow, sign, x, yhigh, ylow, ...]\n var points = new LargeArr(params.count * 4);\n var offset = 0;\n var point;\n var tmpIn = [];\n var tmpOut = [];\n var dataIndex;\n\n while ((dataIndex = params.next()) != null) {\n var axisDimVal = data.get(cDim, dataIndex);\n var openVal = data.get(openDim, dataIndex);\n var closeVal = data.get(closeDim, dataIndex);\n var lowestVal = data.get(lowestDim, dataIndex);\n var highestVal = data.get(highestDim, dataIndex);\n\n if (isNaN(axisDimVal) || isNaN(lowestVal) || isNaN(highestVal)) {\n points[offset++] = NaN;\n offset += 3;\n continue;\n }\n\n points[offset++] = getSign(data, dataIndex, openVal, closeVal, closeDim);\n tmpIn[cDimIdx] = axisDimVal;\n tmpIn[vDimIdx] = lowestVal;\n point = coordSys.dataToPoint(tmpIn, null, tmpOut);\n points[offset++] = point ? point[0] : NaN;\n points[offset++] = point ? point[1] : NaN;\n tmpIn[vDimIdx] = highestVal;\n point = coordSys.dataToPoint(tmpIn, null, tmpOut);\n points[offset++] = point ? point[1] : NaN;\n }\n\n data.setLayout('largePoints', points);\n }\n }\n};\n\nfunction getSign(data, dataIndex, openVal, closeVal, closeDim) {\n var sign;\n\n if (openVal > closeVal) {\n sign = -1;\n } else if (openVal < closeVal) {\n sign = 1;\n } else {\n sign = dataIndex > 0 // If close === open, compare with close of last record\n ? data.get(closeDim, dataIndex - 1) <= closeVal ? 1 : -1 : // No record of previous, set to be positive\n 1;\n }\n\n return sign;\n}\n\nfunction calculateCandleWidth(seriesModel, data) {\n var baseAxis = seriesModel.getBaseAxis();\n var extent;\n var bandWidth = baseAxis.type === 'category' ? baseAxis.getBandWidth() : (extent = baseAxis.getExtent(), Math.abs(extent[1] - extent[0]) / data.count());\n var barMaxWidth = parsePercent(retrieve2(seriesModel.get('barMaxWidth'), bandWidth), bandWidth);\n var barMinWidth = parsePercent(retrieve2(seriesModel.get('barMinWidth'), 1), bandWidth);\n var barWidth = seriesModel.get('barWidth');\n return barWidth != null ? parsePercent(barWidth, bandWidth) // Put max outer to ensure bar visible in spite of overlap.\n : Math.max(Math.min(bandWidth / 2, barMaxWidth), barMinWidth);\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nrequire(\"./dataZoomSlider\");\n\nrequire(\"./dataZoomInside\");","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACcAAAAkCAYAAAAKNyObAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAJ6ADAAQAAAABAAAAJAAAAAB5lLh4AAADXUlEQVRYCeWYa28TMRBFE0iBFsqjlBIKAoFA4v//HQSlpFSlUGh5ludyTrSOnHazL7sfECNd7WbXHt+5Ho+9GQz+FyuKYhWsgWGOmEc5nOgDQle4PAX63AJ7IMnOJfUuO5dKbfLzEvgF7vBsqXzd+5KFHKNfA2vgHdgHqngbJFkyuUi18zA5Aj/BZzDmnUr2tmRyjHwTXAcqFkwFV8A4POhzTSKHMqplrhXgS0TgN/eHYIM2l6PnnW6TyDHSLbAK3lSMesCzi6C3er3JoYir0YF/gGNw0lTzPVin7dWTL9v87k0O5xtA1d7WDPSBdxfAJgQ7F+ZWHUrHKuU0BZhr5lZTsTUAF80u+Aq+BwyHQ9VdaHPkIKGSYfBwtRyY1JJzAQjbOZUO+Ac0WVDZdgYkLNaS/QZmhL2HtO8GM3IQM7nvA7cfCXg1MuuWnc2tcJ125ndXMyin2cDjq89j0pai7XhvtVaZuNarEE2t7LTraqqs4lULSLJiDEyDHRkHM3es8JJUrdzEcFlrzoziODuvndrZtNqNqTV5HwNz7BXoO3107WwuMNPpJcSmdXOOnO4g6KYtQa8ToIpnaXK4Ww4gsdk2eIqcjSCock+ASqrgWRF0/HvAFHoBMRfCzCrJ+RaCbtwqaA6qoLmQ0xzb6mDqPIeYu8mcLSRnKwha41RQgjsgF0EXosRcBBJzJzllteRsDUFrkgq6vHMo6JgPgOVEYlaISotLSWUDOqvWM+AB8kZlo24PXWjWO3NsITFdNpKzEWZeGLFVPNX00cpXW3JO7QjkyDl9WM/M51rrSs4ETrWgnAHXWltyRmm0OZSTkGmSjZyOTOJc+60z4MKoNfOojS3TqGlKw6HS2TgE1q5FwTgDy5SpEStWFSutkRwOXFl15PygtgaaSxIyiHXgR7YkrfyqHpvkVM50sURVWiM5eoVz1qfIg4TdNax7Ru53hCeJI5QgnmKPe0+/HmAf+RxIMpQiAzCHTZckcmExWNElJSHhAJ4gJPVRUlynxr3fsFsRSYk+BAZ4ADxINJaTNsoZnY48CAqnZBfsQyJWk0fzxntP1NuQNABV9P8Tty6/HbTaFduGnApJyOmdAEmpTGujvapPSpKqKPSbfhTD6QqojZKBWhu+loB/NJom/6b9BXbIEl5RvPD5AAAAAElFTkSuQmCC\"","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Axis = require(\"../Axis\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @constructor module:echarts/coord/parallel/ParallelAxis\n * @extends {module:echarts/coord/Axis}\n * @param {string} dim\n * @param {*} scale\n * @param {Array.} coordExtent\n * @param {string} axisType\n */\nvar ParallelAxis = function (dim, scale, coordExtent, axisType, axisIndex) {\n Axis.call(this, dim, scale, coordExtent);\n /**\n * Axis type\n * - 'category'\n * - 'value'\n * - 'time'\n * - 'log'\n * @type {string}\n */\n\n this.type = axisType || 'value';\n /**\n * @type {number}\n * @readOnly\n */\n\n this.axisIndex = axisIndex;\n};\n\nParallelAxis.prototype = {\n constructor: ParallelAxis,\n\n /**\n * Axis model\n * @param {module:echarts/coord/parallel/AxisModel}\n */\n model: null,\n\n /**\n * @override\n */\n isHorizontal: function () {\n return this.coordinateSystem.getModel().get('layout') !== 'horizontal';\n }\n};\nzrUtil.inherits(ParallelAxis, Axis);\nvar _default = ParallelAxis;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar _model = require(\"../../util/model\");\n\nvar makeInner = _model.makeInner;\nvar getDataItemValue = _model.getDataItemValue;\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar createHashMap = _util.createHashMap;\nvar each = _util.each;\nvar map = _util.map;\nvar isArray = _util.isArray;\nvar isString = _util.isString;\nvar isObject = _util.isObject;\nvar isTypedArray = _util.isTypedArray;\nvar isArrayLike = _util.isArrayLike;\nvar extend = _util.extend;\nvar assert = _util.assert;\n\nvar Source = require(\"../Source\");\n\nvar _sourceType = require(\"./sourceType\");\n\nvar SOURCE_FORMAT_ORIGINAL = _sourceType.SOURCE_FORMAT_ORIGINAL;\nvar SOURCE_FORMAT_ARRAY_ROWS = _sourceType.SOURCE_FORMAT_ARRAY_ROWS;\nvar SOURCE_FORMAT_OBJECT_ROWS = _sourceType.SOURCE_FORMAT_OBJECT_ROWS;\nvar SOURCE_FORMAT_KEYED_COLUMNS = _sourceType.SOURCE_FORMAT_KEYED_COLUMNS;\nvar SOURCE_FORMAT_UNKNOWN = _sourceType.SOURCE_FORMAT_UNKNOWN;\nvar SOURCE_FORMAT_TYPED_ARRAY = _sourceType.SOURCE_FORMAT_TYPED_ARRAY;\nvar SERIES_LAYOUT_BY_ROW = _sourceType.SERIES_LAYOUT_BY_ROW;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// The result of `guessOrdinal`.\nvar BE_ORDINAL = {\n Must: 1,\n // Encounter string but not '-' and not number-like.\n Might: 2,\n // Encounter string but number-like.\n Not: 3 // Other cases\n\n};\nvar inner = makeInner();\n/**\n * @see {module:echarts/data/Source}\n * @param {module:echarts/component/dataset/DatasetModel} datasetModel\n * @return {string} sourceFormat\n */\n\nfunction detectSourceFormat(datasetModel) {\n var data = datasetModel.option.source;\n var sourceFormat = SOURCE_FORMAT_UNKNOWN;\n\n if (isTypedArray(data)) {\n sourceFormat = SOURCE_FORMAT_TYPED_ARRAY;\n } else if (isArray(data)) {\n // FIXME Whether tolerate null in top level array?\n if (data.length === 0) {\n sourceFormat = SOURCE_FORMAT_ARRAY_ROWS;\n }\n\n for (var i = 0, len = data.length; i < len; i++) {\n var item = data[i];\n\n if (item == null) {\n continue;\n } else if (isArray(item)) {\n sourceFormat = SOURCE_FORMAT_ARRAY_ROWS;\n break;\n } else if (isObject(item)) {\n sourceFormat = SOURCE_FORMAT_OBJECT_ROWS;\n break;\n }\n }\n } else if (isObject(data)) {\n for (var key in data) {\n if (data.hasOwnProperty(key) && isArrayLike(data[key])) {\n sourceFormat = SOURCE_FORMAT_KEYED_COLUMNS;\n break;\n }\n }\n } else if (data != null) {\n throw new Error('Invalid data');\n }\n\n inner(datasetModel).sourceFormat = sourceFormat;\n}\n/**\n * [Scenarios]:\n * (1) Provide source data directly:\n * series: {\n * encode: {...},\n * dimensions: [...]\n * seriesLayoutBy: 'row',\n * data: [[...]]\n * }\n * (2) Refer to datasetModel.\n * series: [{\n * encode: {...}\n * // Ignore datasetIndex means `datasetIndex: 0`\n * // and the dimensions defination in dataset is used\n * }, {\n * encode: {...},\n * seriesLayoutBy: 'column',\n * datasetIndex: 1\n * }]\n *\n * Get data from series itself or datset.\n * @return {module:echarts/data/Source} source\n */\n\n\nfunction getSource(seriesModel) {\n return inner(seriesModel).source;\n}\n/**\n * MUST be called before mergeOption of all series.\n * @param {module:echarts/model/Global} ecModel\n */\n\n\nfunction resetSourceDefaulter(ecModel) {\n // `datasetMap` is used to make default encode.\n inner(ecModel).datasetMap = createHashMap();\n}\n/**\n * [Caution]:\n * MUST be called after series option merged and\n * before \"series.getInitailData()\" called.\n *\n * [The rule of making default encode]:\n * Category axis (if exists) alway map to the first dimension.\n * Each other axis occupies a subsequent dimension.\n *\n * [Why make default encode]:\n * Simplify the typing of encode in option, avoiding the case like that:\n * series: [{encode: {x: 0, y: 1}}, {encode: {x: 0, y: 2}}, {encode: {x: 0, y: 3}}],\n * where the \"y\" have to be manually typed as \"1, 2, 3, ...\".\n *\n * @param {module:echarts/model/Series} seriesModel\n */\n\n\nfunction prepareSource(seriesModel) {\n var seriesOption = seriesModel.option;\n var data = seriesOption.data;\n var sourceFormat = isTypedArray(data) ? SOURCE_FORMAT_TYPED_ARRAY : SOURCE_FORMAT_ORIGINAL;\n var fromDataset = false;\n var seriesLayoutBy = seriesOption.seriesLayoutBy;\n var sourceHeader = seriesOption.sourceHeader;\n var dimensionsDefine = seriesOption.dimensions;\n var datasetModel = getDatasetModel(seriesModel);\n\n if (datasetModel) {\n var datasetOption = datasetModel.option;\n data = datasetOption.source;\n sourceFormat = inner(datasetModel).sourceFormat;\n fromDataset = true; // These settings from series has higher priority.\n\n seriesLayoutBy = seriesLayoutBy || datasetOption.seriesLayoutBy;\n sourceHeader == null && (sourceHeader = datasetOption.sourceHeader);\n dimensionsDefine = dimensionsDefine || datasetOption.dimensions;\n }\n\n var completeResult = completeBySourceData(data, sourceFormat, seriesLayoutBy, sourceHeader, dimensionsDefine);\n inner(seriesModel).source = new Source({\n data: data,\n fromDataset: fromDataset,\n seriesLayoutBy: seriesLayoutBy,\n sourceFormat: sourceFormat,\n dimensionsDefine: completeResult.dimensionsDefine,\n startIndex: completeResult.startIndex,\n dimensionsDetectCount: completeResult.dimensionsDetectCount,\n // Note: dataset option does not have `encode`.\n encodeDefine: seriesOption.encode\n });\n} // return {startIndex, dimensionsDefine, dimensionsCount}\n\n\nfunction completeBySourceData(data, sourceFormat, seriesLayoutBy, sourceHeader, dimensionsDefine) {\n if (!data) {\n return {\n dimensionsDefine: normalizeDimensionsDefine(dimensionsDefine)\n };\n }\n\n var dimensionsDetectCount;\n var startIndex;\n\n if (sourceFormat === SOURCE_FORMAT_ARRAY_ROWS) {\n // Rule: Most of the first line are string: it is header.\n // Caution: consider a line with 5 string and 1 number,\n // it still can not be sure it is a head, because the\n // 5 string may be 5 values of category columns.\n if (sourceHeader === 'auto' || sourceHeader == null) {\n arrayRowsTravelFirst(function (val) {\n // '-' is regarded as null/undefined.\n if (val != null && val !== '-') {\n if (isString(val)) {\n startIndex == null && (startIndex = 1);\n } else {\n startIndex = 0;\n }\n } // 10 is an experience number, avoid long loop.\n\n }, seriesLayoutBy, data, 10);\n } else {\n startIndex = sourceHeader ? 1 : 0;\n }\n\n if (!dimensionsDefine && startIndex === 1) {\n dimensionsDefine = [];\n arrayRowsTravelFirst(function (val, index) {\n dimensionsDefine[index] = val != null ? val : '';\n }, seriesLayoutBy, data);\n }\n\n dimensionsDetectCount = dimensionsDefine ? dimensionsDefine.length : seriesLayoutBy === SERIES_LAYOUT_BY_ROW ? data.length : data[0] ? data[0].length : null;\n } else if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS) {\n if (!dimensionsDefine) {\n dimensionsDefine = objectRowsCollectDimensions(data);\n }\n } else if (sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS) {\n if (!dimensionsDefine) {\n dimensionsDefine = [];\n each(data, function (colArr, key) {\n dimensionsDefine.push(key);\n });\n }\n } else if (sourceFormat === SOURCE_FORMAT_ORIGINAL) {\n var value0 = getDataItemValue(data[0]);\n dimensionsDetectCount = isArray(value0) && value0.length || 1;\n } else if (sourceFormat === SOURCE_FORMAT_TYPED_ARRAY) {}\n\n return {\n startIndex: startIndex,\n dimensionsDefine: normalizeDimensionsDefine(dimensionsDefine),\n dimensionsDetectCount: dimensionsDetectCount\n };\n} // Consider dimensions defined like ['A', 'price', 'B', 'price', 'C', 'price'],\n// which is reasonable. But dimension name is duplicated.\n// Returns undefined or an array contains only object without null/undefiend or string.\n\n\nfunction normalizeDimensionsDefine(dimensionsDefine) {\n if (!dimensionsDefine) {\n // The meaning of null/undefined is different from empty array.\n return;\n }\n\n var nameMap = createHashMap();\n return map(dimensionsDefine, function (item, index) {\n item = extend({}, isObject(item) ? item : {\n name: item\n }); // User can set null in dimensions.\n // We dont auto specify name, othewise a given name may\n // cause it be refered unexpectedly.\n\n if (item.name == null) {\n return item;\n } // Also consider number form like 2012.\n\n\n item.name += ''; // User may also specify displayName.\n // displayName will always exists except user not\n // specified or dim name is not specified or detected.\n // (A auto generated dim name will not be used as\n // displayName).\n\n if (item.displayName == null) {\n item.displayName = item.name;\n }\n\n var exist = nameMap.get(item.name);\n\n if (!exist) {\n nameMap.set(item.name, {\n count: 1\n });\n } else {\n item.name += '-' + exist.count++;\n }\n\n return item;\n });\n}\n\nfunction arrayRowsTravelFirst(cb, seriesLayoutBy, data, maxLoop) {\n maxLoop == null && (maxLoop = Infinity);\n\n if (seriesLayoutBy === SERIES_LAYOUT_BY_ROW) {\n for (var i = 0; i < data.length && i < maxLoop; i++) {\n cb(data[i] ? data[i][0] : null, i);\n }\n } else {\n var value0 = data[0] || [];\n\n for (var i = 0; i < value0.length && i < maxLoop; i++) {\n cb(value0[i], i);\n }\n }\n}\n\nfunction objectRowsCollectDimensions(data) {\n var firstIndex = 0;\n var obj;\n\n while (firstIndex < data.length && !(obj = data[firstIndex++])) {} // jshint ignore: line\n\n\n if (obj) {\n var dimensions = [];\n each(obj, function (value, key) {\n dimensions.push(key);\n });\n return dimensions;\n }\n}\n/**\n * [The strategy of the arrengment of data dimensions for dataset]:\n * \"value way\": all axes are non-category axes. So series one by one take\n * several (the number is coordSysDims.length) dimensions from dataset.\n * The result of data arrengment of data dimensions like:\n * | ser0_x | ser0_y | ser1_x | ser1_y | ser2_x | ser2_y |\n * \"category way\": at least one axis is category axis. So the the first data\n * dimension is always mapped to the first category axis and shared by\n * all of the series. The other data dimensions are taken by series like\n * \"value way\" does.\n * The result of data arrengment of data dimensions like:\n * | ser_shared_x | ser0_y | ser1_y | ser2_y |\n *\n * @param {Array.} coordDimensions [{name: , type: , dimsDef: }, ...]\n * @param {module:model/Series} seriesModel\n * @param {module:data/Source} source\n * @return {Object} encode Never be `null/undefined`.\n */\n\n\nfunction makeSeriesEncodeForAxisCoordSys(coordDimensions, seriesModel, source) {\n var encode = {};\n var datasetModel = getDatasetModel(seriesModel); // Currently only make default when using dataset, util more reqirements occur.\n\n if (!datasetModel || !coordDimensions) {\n return encode;\n }\n\n var encodeItemName = [];\n var encodeSeriesName = [];\n var ecModel = seriesModel.ecModel;\n var datasetMap = inner(ecModel).datasetMap;\n var key = datasetModel.uid + '_' + source.seriesLayoutBy;\n var baseCategoryDimIndex;\n var categoryWayValueDimStart;\n coordDimensions = coordDimensions.slice();\n each(coordDimensions, function (coordDimInfo, coordDimIdx) {\n !isObject(coordDimInfo) && (coordDimensions[coordDimIdx] = {\n name: coordDimInfo\n });\n\n if (coordDimInfo.type === 'ordinal' && baseCategoryDimIndex == null) {\n baseCategoryDimIndex = coordDimIdx;\n categoryWayValueDimStart = getDataDimCountOnCoordDim(coordDimensions[coordDimIdx]);\n }\n\n encode[coordDimInfo.name] = [];\n });\n var datasetRecord = datasetMap.get(key) || datasetMap.set(key, {\n categoryWayDim: categoryWayValueDimStart,\n valueWayDim: 0\n }); // TODO\n // Auto detect first time axis and do arrangement.\n\n each(coordDimensions, function (coordDimInfo, coordDimIdx) {\n var coordDimName = coordDimInfo.name;\n var count = getDataDimCountOnCoordDim(coordDimInfo); // In value way.\n\n if (baseCategoryDimIndex == null) {\n var start = datasetRecord.valueWayDim;\n pushDim(encode[coordDimName], start, count);\n pushDim(encodeSeriesName, start, count);\n datasetRecord.valueWayDim += count; // ??? TODO give a better default series name rule?\n // especially when encode x y specified.\n // consider: when mutiple series share one dimension\n // category axis, series name should better use\n // the other dimsion name. On the other hand, use\n // both dimensions name.\n } // In category way, the first category axis.\n else if (baseCategoryDimIndex === coordDimIdx) {\n pushDim(encode[coordDimName], 0, count);\n pushDim(encodeItemName, 0, count);\n } // In category way, the other axis.\n else {\n var start = datasetRecord.categoryWayDim;\n pushDim(encode[coordDimName], start, count);\n pushDim(encodeSeriesName, start, count);\n datasetRecord.categoryWayDim += count;\n }\n });\n\n function pushDim(dimIdxArr, idxFrom, idxCount) {\n for (var i = 0; i < idxCount; i++) {\n dimIdxArr.push(idxFrom + i);\n }\n }\n\n function getDataDimCountOnCoordDim(coordDimInfo) {\n var dimsDef = coordDimInfo.dimsDef;\n return dimsDef ? dimsDef.length : 1;\n }\n\n encodeItemName.length && (encode.itemName = encodeItemName);\n encodeSeriesName.length && (encode.seriesName = encodeSeriesName);\n return encode;\n}\n/**\n * Work for data like [{name: ..., value: ...}, ...].\n *\n * @param {module:model/Series} seriesModel\n * @param {module:data/Source} source\n * @return {Object} encode Never be `null/undefined`.\n */\n\n\nfunction makeSeriesEncodeForNameBased(seriesModel, source, dimCount) {\n var encode = {};\n var datasetModel = getDatasetModel(seriesModel); // Currently only make default when using dataset, util more reqirements occur.\n\n if (!datasetModel) {\n return encode;\n }\n\n var sourceFormat = source.sourceFormat;\n var dimensionsDefine = source.dimensionsDefine;\n var potentialNameDimIndex;\n\n if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS || sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS) {\n each(dimensionsDefine, function (dim, idx) {\n if ((isObject(dim) ? dim.name : dim) === 'name') {\n potentialNameDimIndex = idx;\n }\n });\n } // idxResult: {v, n}.\n\n\n var idxResult = function () {\n var idxRes0 = {};\n var idxRes1 = {};\n var guessRecords = []; // 5 is an experience value.\n\n for (var i = 0, len = Math.min(5, dimCount); i < len; i++) {\n var guessResult = doGuessOrdinal(source.data, sourceFormat, source.seriesLayoutBy, dimensionsDefine, source.startIndex, i);\n guessRecords.push(guessResult);\n var isPureNumber = guessResult === BE_ORDINAL.Not; // [Strategy of idxRes0]: find the first BE_ORDINAL.Not as the value dim,\n // and then find a name dim with the priority:\n // \"BE_ORDINAL.Might|BE_ORDINAL.Must\" > \"other dim\" > \"the value dim itself\".\n\n if (isPureNumber && idxRes0.v == null && i !== potentialNameDimIndex) {\n idxRes0.v = i;\n }\n\n if (idxRes0.n == null || idxRes0.n === idxRes0.v || !isPureNumber && guessRecords[idxRes0.n] === BE_ORDINAL.Not) {\n idxRes0.n = i;\n }\n\n if (fulfilled(idxRes0) && guessRecords[idxRes0.n] !== BE_ORDINAL.Not) {\n return idxRes0;\n } // [Strategy of idxRes1]: if idxRes0 not satisfied (that is, no BE_ORDINAL.Not),\n // find the first BE_ORDINAL.Might as the value dim,\n // and then find a name dim with the priority:\n // \"other dim\" > \"the value dim itself\".\n // That is for backward compat: number-like (e.g., `'3'`, `'55'`) can be\n // treated as number.\n\n\n if (!isPureNumber) {\n if (guessResult === BE_ORDINAL.Might && idxRes1.v == null && i !== potentialNameDimIndex) {\n idxRes1.v = i;\n }\n\n if (idxRes1.n == null || idxRes1.n === idxRes1.v) {\n idxRes1.n = i;\n }\n }\n }\n\n function fulfilled(idxResult) {\n return idxResult.v != null && idxResult.n != null;\n }\n\n return fulfilled(idxRes0) ? idxRes0 : fulfilled(idxRes1) ? idxRes1 : null;\n }();\n\n if (idxResult) {\n encode.value = idxResult.v; // `potentialNameDimIndex` has highest priority.\n\n var nameDimIndex = potentialNameDimIndex != null ? potentialNameDimIndex : idxResult.n; // By default, label use itemName in charts.\n // So we dont set encodeLabel here.\n\n encode.itemName = [nameDimIndex];\n encode.seriesName = [nameDimIndex];\n }\n\n return encode;\n}\n/**\n * If return null/undefined, indicate that should not use datasetModel.\n */\n\n\nfunction getDatasetModel(seriesModel) {\n var option = seriesModel.option; // Caution: consider the scenario:\n // A dataset is declared and a series is not expected to use the dataset,\n // and at the beginning `setOption({series: { noData })` (just prepare other\n // option but no data), then `setOption({series: {data: [...]}); In this case,\n // the user should set an empty array to avoid that dataset is used by default.\n\n var thisData = option.data;\n\n if (!thisData) {\n return seriesModel.ecModel.getComponent('dataset', option.datasetIndex || 0);\n }\n}\n/**\n * The rule should not be complex, otherwise user might not\n * be able to known where the data is wrong.\n * The code is ugly, but how to make it neat?\n *\n * @param {module:echars/data/Source} source\n * @param {number} dimIndex\n * @return {BE_ORDINAL} guess result.\n */\n\n\nfunction guessOrdinal(source, dimIndex) {\n return doGuessOrdinal(source.data, source.sourceFormat, source.seriesLayoutBy, source.dimensionsDefine, source.startIndex, dimIndex);\n} // dimIndex may be overflow source data.\n// return {BE_ORDINAL}\n\n\nfunction doGuessOrdinal(data, sourceFormat, seriesLayoutBy, dimensionsDefine, startIndex, dimIndex) {\n var result; // Experience value.\n\n var maxLoop = 5;\n\n if (isTypedArray(data)) {\n return BE_ORDINAL.Not;\n } // When sourceType is 'objectRows' or 'keyedColumns', dimensionsDefine\n // always exists in source.\n\n\n var dimName;\n var dimType;\n\n if (dimensionsDefine) {\n var dimDefItem = dimensionsDefine[dimIndex];\n\n if (isObject(dimDefItem)) {\n dimName = dimDefItem.name;\n dimType = dimDefItem.type;\n } else if (isString(dimDefItem)) {\n dimName = dimDefItem;\n }\n }\n\n if (dimType != null) {\n return dimType === 'ordinal' ? BE_ORDINAL.Must : BE_ORDINAL.Not;\n }\n\n if (sourceFormat === SOURCE_FORMAT_ARRAY_ROWS) {\n if (seriesLayoutBy === SERIES_LAYOUT_BY_ROW) {\n var sample = data[dimIndex];\n\n for (var i = 0; i < (sample || []).length && i < maxLoop; i++) {\n if ((result = detectValue(sample[startIndex + i])) != null) {\n return result;\n }\n }\n } else {\n for (var i = 0; i < data.length && i < maxLoop; i++) {\n var row = data[startIndex + i];\n\n if (row && (result = detectValue(row[dimIndex])) != null) {\n return result;\n }\n }\n }\n } else if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS) {\n if (!dimName) {\n return BE_ORDINAL.Not;\n }\n\n for (var i = 0; i < data.length && i < maxLoop; i++) {\n var item = data[i];\n\n if (item && (result = detectValue(item[dimName])) != null) {\n return result;\n }\n }\n } else if (sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS) {\n if (!dimName) {\n return BE_ORDINAL.Not;\n }\n\n var sample = data[dimName];\n\n if (!sample || isTypedArray(sample)) {\n return BE_ORDINAL.Not;\n }\n\n for (var i = 0; i < sample.length && i < maxLoop; i++) {\n if ((result = detectValue(sample[i])) != null) {\n return result;\n }\n }\n } else if (sourceFormat === SOURCE_FORMAT_ORIGINAL) {\n for (var i = 0; i < data.length && i < maxLoop; i++) {\n var item = data[i];\n var val = getDataItemValue(item);\n\n if (!isArray(val)) {\n return BE_ORDINAL.Not;\n }\n\n if ((result = detectValue(val[dimIndex])) != null) {\n return result;\n }\n }\n }\n\n function detectValue(val) {\n var beStr = isString(val); // Consider usage convenience, '1', '2' will be treated as \"number\".\n // `isFinit('')` get `true`.\n\n if (val != null && isFinite(val) && val !== '') {\n return beStr ? BE_ORDINAL.Might : BE_ORDINAL.Not;\n } else if (beStr && val !== '-') {\n return BE_ORDINAL.Must;\n }\n }\n\n return BE_ORDINAL.Not;\n}\n\nexports.BE_ORDINAL = BE_ORDINAL;\nexports.detectSourceFormat = detectSourceFormat;\nexports.getSource = getSource;\nexports.resetSourceDefaulter = resetSourceDefaulter;\nexports.prepareSource = prepareSource;\nexports.makeSeriesEncodeForAxisCoordSys = makeSeriesEncodeForAxisCoordSys;\nexports.makeSeriesEncodeForNameBased = makeSeriesEncodeForNameBased;\nexports.guessOrdinal = guessOrdinal;","import Link from 'next/link'\nimport React, { useContext, useState } from 'react'\n\nimport { focus } from 'lib/ugc-interact'\nimport { ArticleCardContext } from 'Components/ugc/article-card'\nimport { sendTeaCommEvent } from 'lib/tea-analyze'\nimport Toast from 'Components/toast-messager'\nimport { GlobalStoreContext } from 'Components/store'\nimport { get } from 'lodash'\nimport Button from 'Components/button'\nimport classNames from 'classnames'\nimport useLoginCheckCallback from 'Components/hooks/use-login-check-callback'\n\nexport interface IUser {\n user_id: number\n name: string\n avatar_url: string\n description: string\n follow: boolean\n user_verified: boolean\n verified_content: string\n motor_auth_show_info: {\n car_identity_desc: string\n auth_v_desc: string\n auth_v_type: number\n }\n standard_user_info: string\n}\n\ninterface IProps {\n info: IUser\n}\n\nconst vip_1_icon = require('static/yellow-v.png')\nconst vip_2_icon = require('static/v_blue_24.png')\nconst plus_icon = require('static/plus.png')\n\nconst handleClickFocus = (\n user_id: number,\n to_user_id: number,\n setFocused: (b: boolean) => void\n) => {\n setFocused(true)\n focus({ user_id, to_user_id }).catch((e) => {\n console.error(e)\n setFocused(false)\n })\n}\n\n/* eslint-disable complexity */\nconst User = ({ info }: IProps) => {\n const {\n user_id,\n name,\n avatar_url,\n description,\n verified_content,\n motor_auth_show_info,\n user_verified,\n follow,\n standard_user_info,\n } = info || {}\n const { auth_v_desc, auth_v_type } = motor_auth_show_info || {}\n const desc = description || verified_content || auth_v_desc\n const [focused, setFocused] = useState(false)\n const { inheritNewCard, group_id } = useContext(ArticleCardContext)\n const { state: globalState } = useContext(GlobalStoreContext)\n\n let standardUserInfo = null\n try {\n standardUserInfo = JSON.parse(standard_user_info)\n if (typeof standardUserInfo !== 'object') {\n throw new Error('standard_user_info 不是JSON对象')\n }\n } catch (e) {\n console.error(e)\n }\n const { desc_content: badge_content, pic_url: badge_icon } =\n standardUserInfo?.medal_list?.[0] || {}\n const { description: brand_content, icon: brand_icon } =\n standardUserInfo?.feed_user_description || {}\n\n const doFocus = useLoginCheckCallback(\n () => {\n inheritNewCard &&\n sendTeaCommEvent('rt_follow', {\n author_id: user_id,\n group_id,\n })\n const user_id_login = get(globalState, 'userData.user_id')\n if (!user_id_login) {\n Toast.show({\n text: '请先登录~', // 1\n })\n return\n }\n handleClickFocus(user_id, user_id, setFocused)\n },\n {\n enter_method: 'follow',\n }\n )\n\n const handleFocus = (e: React.MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n doFocus()\n }\n\n return (\n
\n \n {\n if (inheritNewCard) {\n sendTeaCommEvent('click_forum_feed_profile', {\n author_id: user_id,\n group_id,\n })\n }\n }}\n />\n \n \n
\n \n {name}\n {badge_content && (\n \n {badge_icon && (\n \n )}\n {badge_content}\n \n )}\n \n {(brand_content || follow) && (\n \n {follow && `已关注`}\n {follow && brand_content && ' ·\\u00A0'}\n {brand_icon && (\n \n )}\n {brand_content}\n \n )}\n
\n \n {!follow && String(user_id) !== globalState?.userData?.user_id && (\n \n {focused ? '已' : }关注\n \n )}\n\n \n
\n )\n}\n\nexport default User\n","import { sendTeaCommEvent } from 'lib/tea-analyze'\nimport { ArticleCardContext, getType } from 'Components/ugc/article-card'\nimport React, { useContext } from 'react'\nimport Toast from 'Components/toast-messager'\n\ninterface IProps {\n text: string\n}\n\nexport default React.memo(({ text }: IProps) => {\n const { inheritNewCard, type: group_type, group_id, disabled } = useContext(\n ArticleCardContext\n )\n if (!text) {\n return null\n }\n return (\n
\n {text.slice(0, 76)}\n {text.length > 76 && (\n \n ...\n {\n if (disabled) {\n Toast.show({\n text: '内容审核中',\n })\n }\n inheritNewCard &&\n sendTeaCommEvent('click_view_full_forum_content', {\n group_type,\n group_id,\n content_type: getType(group_type),\n })\n }}\n >\n 查看全文\n \n \n )}\n\n \n
\n )\n})\n","import React, { useContext, useState } from 'react'\nimport classNames from 'classnames'\nimport ImageViewer from './imageViewer'\nimport { ArticleCardContext } from 'Components/ugc/article-card'\nimport { sendTeaCommEvent } from 'lib/tea-analyze'\nimport { processUrlWith_tplv_noop } from 'lib/optimize-image'\nimport applyHttpsImg from 'lib/apply-https-img'\nexport interface ImageItem {\n uri: string\n url: string\n width: number\n height: number\n}\n\ninterface IProps {\n list: ImageItem[] | null\n}\n\nconst compareFunc = (prevProps: IProps, nextProps: IProps) =>\n (prevProps.list?.length === nextProps.list?.length &&\n prevProps.list?.every(\n (e, index) => e.url === nextProps.list?.[index].url\n )) ||\n false\n\nexport default React.memo(({ list }: IProps) => {\n if (!list) return null\n const { inheritNewCard, group_id } = useContext(ArticleCardContext)\n const [isViewing, setViewing] = useState(false)\n const [activeIndex, setActiveIndex] = useState(0)\n const onClick = () => {\n setViewing(false)\n }\n\n return (\n
\n {isViewing ? (\n
\n \n applyHttpsImg(\n e.uri ? processUrlWith_tplv_noop(e.uri, 1000) : e.url\n )\n )}\n activeIndex={activeIndex}\n onClick={onClick}\n />\n
\n ) : (\n list.slice(0, 4).map((e, index) => {\n return (\n 4 && index === 3,\n })}\n style={{\n backgroundImage: `url(${applyHttpsImg(\n e.uri ? processUrlWith_tplv_noop(e.uri, 1000) : e.url\n )})`,\n cursor: 'zoom-in',\n }}\n onClick={(e: React.MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n inheritNewCard &&\n sendTeaCommEvent('click_motor_forum_feed_pic', {\n group_id,\n })\n setViewing(true)\n setActiveIndex(index)\n }}\n />\n )\n })\n )}\n\n \n
\n )\n}, compareFunc)\n","import React from 'react'\n\nimport User, { IUser } from './user'\nimport Text from './text'\nimport ImageList, { ImageItem } from './imageList'\nimport Interact, { IInteract } from './interact'\n\nexport interface IWtt extends IInteract {\n user_info: IUser\n content: string\n image_list: ImageItem[]\n}\n\ninterface IProps {\n info: IWtt\n}\n\nconst Wtt = ({ info }: IProps) => {\n const {\n group_id,\n ugcType,\n user_info,\n content,\n image_list,\n behot_time,\n comment_count,\n digg_count,\n user_digg,\n label_tag_list,\n } = info\n return (\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n )\n}\n\nexport default Wtt\n","import React from 'react'\nimport get from 'lodash/get'\n\nimport User, { IUser } from './user'\nimport Text from './text'\nimport { ImageItem } from './imageList'\nimport Interact, { IInteract } from './interact'\nimport Loading from 'Components/loading'\nimport dynamic from 'next/dynamic'\nimport { processUrlWith_tplv_noop } from 'lib/optimize-image'\n\nconst Player = dynamic(() => import('Components/player'), {\n ssr: false,\n loading: () => ,\n})\nexport interface IVideo extends IInteract {\n user_info: IUser\n content: string\n image_list: ImageItem[]\n video_thumb_url: ImageItem[]\n video_id: string\n label_tag_list: {\n name: string\n image: ImageItem\n concern_id: number\n }[]\n}\n\ninterface IProps {\n info: IVideo\n}\n\nconst Video = ({ info }: IProps) => {\n const {\n group_id,\n ugcType,\n user_info,\n content,\n image_list,\n video_thumb_url,\n behot_time,\n comment_count,\n digg_count,\n user_digg,\n label_tag_list,\n video_id,\n } = info\n const cover = processUrlWith_tplv_noop(\n get(video_thumb_url, '0.uri') || get(image_list, '0.uri'),\n 1000\n )\n return (\n
\n \n
\n
\n \n
\n {\n e.stopPropagation()\n e.preventDefault()\n }}\n >\n \n
\n
\n \n
\n
\n \n \n )\n}\n\nexport default Video\n","import React from 'react'\n\nimport User, { IUser } from './user'\nimport KoubeiInfo, { IKoubeiInfo } from './koubeiInfo'\nimport Text from './text'\nimport ImageList, { ImageItem } from './imageList'\nimport Interact, { IInteract } from './interact'\n\nexport interface IKoubei extends IInteract {\n user_info: IUser\n motor_koubei_info: IKoubeiInfo\n content: string\n image_list: ImageItem[]\n}\n\ninterface IProps {\n info: IKoubei\n}\nconst Koubei = ({ info }: IProps) => {\n const {\n user_info,\n motor_koubei_info,\n content,\n image_list,\n group_id,\n ugcType,\n behot_time,\n comment_count,\n digg_count,\n user_digg,\n label_tag_list,\n } = info\n return (\n
\n \n
\n
\n \n
\n {/* {title && (\n
\n 口碑标题标题标题标题标题标题标题标题标题标题\n
\n )} */}\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n )\n}\n\nexport default Koubei\n","import React from 'react'\nimport formatTime from 'lib/format-time'\nimport classNames from 'classnames'\n\nexport interface IAnswer {\n text: string\n create_time: number\n user_id: number\n user_name: string\n avatar_url: string\n user_digg: boolean\n high_quality_comment: boolean\n label_url?: string\n image_url?: string\n user_verified: boolean\n motor_auth_show_info: {\n auth_v_type: number\n }\n}\n\ninterface IProps {\n info: IAnswer\n}\n\nconst vip_1_icon = require('static/yellow-v.png')\nconst vip_2_icon = require('static/v_blue_24.png')\n\nconst Answer = ({ info }: IProps) => {\n const {\n text,\n create_time,\n user_id,\n user_name,\n avatar_url,\n user_digg,\n high_quality_comment,\n label_url,\n image_url,\n motor_auth_show_info,\n user_verified,\n } = info\n const { auth_v_type } = motor_auth_show_info || {}\n return (\n
\n {image_url ? (\n <>\n
\n \n
{text}
\n
\n \n ) : (\n <>\n
\n \n {user_name}\n
\n
{text}
\n {label_url && (\n \n )}\n \n )}\n\n \n
\n )\n}\n\nexport default Answer\n","import React from 'react'\nimport get from 'lodash/get'\n\nimport User, { IUser } from './user'\nimport Text from './text'\nimport ImageList, { ImageItem } from './imageList'\nimport Answer, { IAnswer } from './answer'\nimport Interact, { IInteract } from './interact'\nimport { processUrlWith_tplv_noop } from 'lib/optimize-image'\nimport dynamic from 'next/dynamic'\nimport Loading from 'Components/loading'\n\nexport interface IQA extends IInteract {\n user_info: IUser\n content: string\n image_list?: ImageItem[]\n comment_list: IAnswer[]\n question_info: {\n send_award: string\n award_icon_url: string\n }\n link_info?: {\n image_url: string\n }\n video_thumb_url?: ImageItem[]\n video_id?: string\n}\n\ninterface IProps {\n info: IQA\n}\n\nconst Player = dynamic(() => import('Components/player'), {\n ssr: false,\n loading: () => ,\n})\n\nconst QA = ({ info }: IProps) => {\n const {\n group_id,\n ugcType,\n user_info,\n content,\n image_list,\n comment_list,\n behot_time,\n comment_count,\n digg_count,\n user_digg,\n label_tag_list,\n question_info,\n link_info,\n video_id,\n video_thumb_url,\n } = info\n const cover = processUrlWith_tplv_noop(\n get(video_thumb_url, '0.uri') || get(image_list, '0.uri'),\n 1000\n )\n const { image_url } = link_info || {}\n const answer = get(comment_list, '0', {})\n const { adopted } = answer\n return (\n
\n
\n \n
\n\n
\n
\n \n
\n {image_list && image_list.length > 0 && (\n
\n \n
\n )}\n {video_id && (\n {\n e.stopPropagation()\n e.preventDefault()\n }}\n >\n \n
\n )}\n\n {adopted ? : null}\n
\n \n
\n
\n \n \n )\n}\n\nexport default QA\n","import React, { createContext, useState } from 'react'\nimport Wtt from 'Components/ugc/wtt'\nimport { ImageItem } from 'Components/ugc/imageList'\nimport { IUser } from 'Components/ugc/user'\nimport Video from 'Components/ugc/video'\nimport getLinkHref from 'lib/get-link-href'\nimport Link from 'next/link'\nimport Koubei from 'Components/ugc/koubei'\nimport { IKoubeiInfo } from 'Components/ugc/koubeiInfo'\nimport QA from 'Components/ugc/qa'\nimport { IAnswer } from 'Components/ugc/answer'\n\nexport interface RawData {\n type: number\n info: {\n behot_time: number\n foleded: boolean\n image_list: ImageItem[]\n digg_count: number\n title: string\n comment_count: number\n user_info: IUser\n user_digg: boolean\n video_id: string\n video_thumb_url: ImageItem[]\n label_tag_list: {\n name: string\n image: ImageItem\n concern_id: number\n }[]\n motor_koubei_info: IKoubeiInfo\n comment_list: IAnswer[]\n question_info: {\n send_award: string\n award_icon_url: string\n }\n }\n unique_id_str: string\n disabled?: boolean\n}\n\nexport const ArticleCardContext = createContext({\n inheritNewCard: false,\n onReplyClick: undefined,\n group_id: undefined,\n author_id: undefined,\n video_id: undefined,\n type: undefined,\n updated_total_count: undefined,\n updateTotalCount: undefined,\n disabled: false,\n})\nexport const getType = (type: number) => {\n switch (true) {\n case [\n 2300,\n 2301,\n 2302,\n 2304,\n 2305,\n 2306,\n 2310,\n 2311,\n 2312,\n 2314,\n 2316,\n ].includes(type):\n return 'ugc_article'\n case [2303, 2307, 2313, 2315, 2317].includes(type):\n return 'ugc_video'\n case 2360 <= type && type <= 2369:\n return 'reputation'\n case type === 2318 || (2320 <= type && type <= 2328):\n return 'ugc_qa'\n default:\n return 'other'\n }\n}\nconst ArticleCard = (rawData: RawData) => {\n const { type, info, unique_id_str, disabled } = rawData\n const {\n behot_time,\n image_list,\n digg_count,\n title: content,\n comment_count,\n user_info,\n user_digg,\n video_id,\n video_thumb_url,\n label_tag_list,\n motor_koubei_info,\n comment_list,\n question_info,\n } = info\n\n const all_info = {\n type,\n image_list,\n user_info,\n content,\n group_id: unique_id_str,\n behot_time,\n comment_count,\n digg_count,\n user_digg,\n video_thumb_url,\n video_id,\n label_tag_list,\n ugcType: -1,\n motor_koubei_info,\n comment_list,\n question_info,\n }\n const [updated_total_count, setTotalCount] = useState(comment_count)\n const updateTotalCount = (count: number) => {\n setTotalCount(count)\n }\n const href = getLinkHref(\n `/ugc/${\n 2360 <= type && type <= 2369 ? 'koubei' : 'article'\n }/${unique_id_str}`\n )\n\n let card\n switch (getType(type)) {\n case 'ugc_article':\n card = \n break\n case 'ugc_video':\n card =