You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@echarts.apache.org by su...@apache.org on 2020/11/10 17:28:58 UTC

[incubator-echarts-website] branch asf-site updated: update

This is an automated email from the ASF dual-hosted git repository.

sushuang pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/incubator-echarts-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 366f4cc  update
366f4cc is described below

commit 366f4cc2054f500de543974e621fd9666bc4634e
Author: 100pah <su...@gmail.com>
AuthorDate: Wed Nov 11 01:05:57 2020 +0800

    update
---
 components/builder.html                            |      4 +-
 components/download.html                           |      4 +-
 en/404.html                                        |      4 +-
 en/api.html                                        |      8 +-
 en/builder.html                                    |      4 +-
 en/builder/echarts.html                            |      2 +-
 en/changelog.html                                  |      4 +-
 en/cheat-sheet.html                                |      6 +-
 en/coding-standard.html                            |      4 +-
 en/committers.html                                 |      4 +-
 en/contributing.html                               |      4 +-
 en/dependencies.html                               |      4 +-
 en/download-extension.html                         |      4 +-
 en/download-map.html                               |      4 +-
 en/download-theme.html                             |      4 +-
 en/download.html                                   |      4 +-
 en/faq.html                                        |      4 +-
 en/feature.html                                    |      4 +-
 en/index.html                                      |      6 +-
 en/maillist.html                                   |      4 +-
 en/option-gl.html                                  |      8 +-
 en/option.html                                     |      8 +-
 en/option3.html                                    |      4 +-
 en/resources.html                                  |      4 +-
 en/security.html                                   |      4 +-
 en/spreadsheet.html                                |     10 +-
 en/theme-builder.html                              |      4 +-
 en/theme-builder/app.min.js                        |      2 +-
 en/tutorial.html                                   |      8 +-
 examples/en/editor.html                            |      6 +-
 examples/en/index.html                             |      6 +-
 examples/en/view.html                              |      6 +-
 examples/zh/editor.html                            |      6 +-
 examples/zh/index.html                             |      6 +-
 examples/zh/view.html                              |      6 +-
 layouts/basic.html                                 |      4 +-
 layouts/doc-old.html                               |     10 +-
 layouts/doc.html                                   |      8 +-
 layouts/next-doc.html                              |      8 +-
 layouts/next-example-simple.html                   |      8 +-
 layouts/next-example.html                          |      8 +-
 next/en/api.html                                   |      8 +-
 next/en/css/SourceCodePro-Regular.woff             |    Bin 0 -> 89796 bytes
 next/en/css/doc-bundle.css                         |   1678 +
 next/en/css/doc-bundle.css.map                     |      1 +
 next/en/css/element-icons.ttf                      |    Bin 0 -> 55956 bytes
 next/en/css/element-icons.woff                     |    Bin 0 -> 28200 bytes
 next/en/css/icon.eot                               |    Bin 0 -> 1440 bytes
 next/en/css/icon.svg                               |     11 +
 next/en/css/icon.ttf                               |    Bin 0 -> 1276 bytes
 next/en/css/icon.woff                              |    Bin 0 -> 1352 bytes
 next/en/documents/api-parts/api-outline.js         |      1 +
 next/en/documents/api-parts/api-outline.json       |      1 +
 next/en/documents/api-parts/api.action.js          |    110 +
 next/en/documents/api-parts/api.action.json        |    110 +
 next/en/documents/api-parts/api.echarts.js         |     47 +
 next/en/documents/api-parts/api.echarts.json       |     47 +
 next/en/documents/api-parts/api.echartsInstance.js |     65 +
 .../documents/api-parts/api.echartsInstance.json   |     65 +
 next/en/documents/api-parts/api.events.js          |     89 +
 next/en/documents/api-parts/api.events.json        |     89 +
 next/en/documents/api-parts/api.js                 |     14 +
 next/en/documents/api-parts/api.json               |     14 +
 next/en/documents/api.json                         |      1 +
 next/en/documents/asset/gl/img/alpha-beta.sketch   |    Bin 0 -> 65536 bytes
 next/en/documents/asset/gl/img/bar3D-bevel.png     |    Bin 0 -> 936101 bytes
 next/en/documents/asset/gl/img/bar3D-no-bevel.png  |    Bin 0 -> 653448 bytes
 next/en/documents/asset/gl/img/buildings-cold.jpg  |    Bin 0 -> 244509 bytes
 next/en/documents/asset/gl/img/buildings-warm.jpg  |    Bin 0 -> 271468 bytes
 .../documents/asset/gl/img/city-region-height.jpg  |    Bin 0 -> 115703 bytes
 next/en/documents/asset/gl/img/crispwinter.png     |    Bin 0 -> 134164 bytes
 .../asset/gl/img/displacement-disable.png          |    Bin 0 -> 444676 bytes
 .../documents/asset/gl/img/displacement-enable.png |    Bin 0 -> 469684 bytes
 .../en/documents/asset/gl/img/displacement-low.png |    Bin 0 -> 393852 bytes
 .../documents/asset/gl/img/displacement-ultra.png  |    Bin 0 -> 752937 bytes
 next/en/documents/asset/gl/img/flowGL-line.jpg     |    Bin 0 -> 477721 bytes
 next/en/documents/asset/gl/img/flowGL-noss.jpg     |    Bin 0 -> 468782 bytes
 next/en/documents/asset/gl/img/flowGL-point.jpg    |    Bin 0 -> 481332 bytes
 next/en/documents/asset/gl/img/flowGL-ss.jpg       |    Bin 0 -> 491893 bytes
 next/en/documents/asset/gl/img/flowGL-wind.jpg     |    Bin 0 -> 309476 bytes
 next/en/documents/asset/gl/img/geo-bar3D.jpg       |    Bin 0 -> 144774 bytes
 next/en/documents/asset/gl/img/geo-border.png      |    Bin 0 -> 120977 bytes
 next/en/documents/asset/gl/img/geo-dof-large.png   |    Bin 0 -> 251435 bytes
 next/en/documents/asset/gl/img/geo-dof-small.png   |    Bin 0 -> 242725 bytes
 next/en/documents/asset/gl/img/geo-dof.png         |    Bin 0 -> 280814 bytes
 next/en/documents/asset/gl/img/geo-no-dof.png      |    Bin 0 -> 313830 bytes
 next/en/documents/asset/gl/img/geo-no-shadow.png   |    Bin 0 -> 348841 bytes
 next/en/documents/asset/gl/img/geo-no-ssao.png     |    Bin 0 -> 795777 bytes
 next/en/documents/asset/gl/img/geo-shadow-high.png |    Bin 0 -> 456090 bytes
 next/en/documents/asset/gl/img/geo-shadow-low.png  |    Bin 0 -> 462952 bytes
 next/en/documents/asset/gl/img/geo-shadow.png      |    Bin 0 -> 417158 bytes
 next/en/documents/asset/gl/img/geo-size.png        |    Bin 0 -> 609536 bytes
 next/en/documents/asset/gl/img/geo-size.sketch     |    Bin 0 -> 1452208 bytes
 .../asset/gl/img/geo-ssao-large-radius.png         |    Bin 0 -> 777267 bytes
 .../asset/gl/img/geo-ssao-small-radius.png         |    Bin 0 -> 784519 bytes
 next/en/documents/asset/gl/img/geo-ssao.png        |    Bin 0 -> 798212 bytes
 next/en/documents/asset/gl/img/globe-airline.png   |    Bin 0 -> 705346 bytes
 next/en/documents/asset/gl/img/globe-gloss.png     |    Bin 0 -> 658718 bytes
 next/en/documents/asset/gl/img/globe-metal.png     |    Bin 0 -> 435143 bytes
 next/en/documents/asset/gl/img/globe-non-metal.png |    Bin 0 -> 444160 bytes
 .../asset/gl/img/globe-posteffect-bloom.png        |    Bin 0 -> 124521 bytes
 .../asset/gl/img/globe-posteffect-disable.png      |    Bin 0 -> 614586 bytes
 .../asset/gl/img/globe-posteffect-enable.png       |    Bin 0 -> 569860 bytes
 next/en/documents/asset/gl/img/globe-rough.png     |    Bin 0 -> 611425 bytes
 .../documents/asset/gl/img/globe-shading-color.png |    Bin 0 -> 214590 bytes
 .../asset/gl/img/globe-shading-lambert.png         |    Bin 0 -> 372631 bytes
 .../asset/gl/img/globe-shading-realistic.png       |    Bin 0 -> 513755 bytes
 next/en/documents/asset/gl/img/gpu-layout-perf.png |    Bin 0 -> 19249 bytes
 next/en/documents/asset/gl/img/grid3D.png          |    Bin 0 -> 83657 bytes
 next/en/documents/asset/gl/img/grid3D.sketch       |    Bin 0 -> 122880 bytes
 .../documents/asset/gl/img/heightmap-disable.png   |    Bin 0 -> 42600 bytes
 .../en/documents/asset/gl/img/heightmap-enable.png |    Bin 0 -> 97918 bytes
 .../en/documents/asset/gl/img/light-alpha-beta.png |    Bin 0 -> 10156 bytes
 next/en/documents/asset/gl/img/line3D.png          |    Bin 0 -> 403986 bytes
 next/en/documents/asset/gl/img/lookup.png          |    Bin 0 -> 2095 bytes
 .../documents/asset/gl/img/parametric-surface.png  |    Bin 0 -> 619802 bytes
 next/en/documents/asset/gl/img/polygons3D-ny.jpg   |    Bin 0 -> 541314 bytes
 next/en/documents/asset/gl/img/roughness.png       |    Bin 0 -> 204762 bytes
 next/en/documents/asset/gl/img/scatter3D.png       |    Bin 0 -> 771845 bytes
 next/en/documents/asset/gl/img/surface-index.png   |    Bin 0 -> 121825 bytes
 .../en/documents/asset/gl/img/surface-index.sketch |    Bin 0 -> 240059 bytes
 next/en/documents/asset/gl/img/surface-no-taa.png  |    Bin 0 -> 190861 bytes
 next/en/documents/asset/gl/img/surface-taa.png     |    Bin 0 -> 227139 bytes
 next/en/documents/asset/gl/img/view-alpha-beta.png |    Bin 0 -> 9788 bytes
 next/en/documents/asset/img/aria-example.png       |    Bin 0 -> 290782 bytes
 .../documents/asset/img/axis-align-with-label.png  |    Bin 0 -> 7514 bytes
 .../img/basic-concepts-overview/components.jpg     |    Bin 0 -> 71127 bytes
 .../img/basic-concepts-overview/coord-sys-0.jpg    |    Bin 0 -> 29259 bytes
 .../img/basic-concepts-overview/coord-sys-1.jpg    |    Bin 0 -> 45861 bytes
 .../img/basic-concepts-overview/coord-sys-2.jpg    |    Bin 0 -> 69891 bytes
 .../asset/img/basic-concepts-overview/locate.jpg   |    Bin 0 -> 47641 bytes
 .../multiple-ec-instance.jpg                       |    Bin 0 -> 88599 bytes
 .../img/basic-concepts-overview/series-all-a.jpg   |    Bin 0 -> 63608 bytes
 .../img/basic-concepts-overview/series-all-b.jpg   |    Bin 0 -> 69138 bytes
 next/en/documents/asset/img/custom-build-line.png  |    Bin 0 -> 72720 bytes
 next/en/documents/asset/img/custom-build-pie.png   |    Bin 0 -> 41231 bytes
 next/en/documents/asset/img/dataZoom-zone.png      |    Bin 0 -> 70513 bytes
 next/en/documents/asset/img/echarts-aria.jpg       |    Bin 0 -> 143809 bytes
 next/en/documents/asset/img/gl/bar3D-2d-data.png   |    Bin 0 -> 58130 bytes
 next/en/documents/asset/img/gl/bar3D.png           |    Bin 0 -> 142020 bytes
 next/en/documents/asset/img/gl/grid3D-basic.png    |    Bin 0 -> 30307 bytes
 next/en/documents/asset/img/gl/scatter3D-color.png |    Bin 0 -> 145129 bytes
 .../documents/asset/img/gl/scatter3D-gaussian.png  |    Bin 0 -> 114828 bytes
 next/en/documents/asset/img/gl/scatter3D-life.png  |    Bin 0 -> 90059 bytes
 next/en/documents/asset/img/gl/scatter3D-life2.png |    Bin 0 -> 167782 bytes
 next/en/documents/asset/img/gl/surface.png         |    Bin 0 -> 189074 bytes
 next/en/documents/asset/img/smooth-algorithm.png   |    Bin 0 -> 244496 bytes
 .../documents/asset/img/smooth-monotone-none.png   |    Bin 0 -> 43625 bytes
 next/en/documents/asset/img/smooth-monotone-x.png  |    Bin 0 -> 47594 bytes
 .../documents/asset/img/smooth-non-monotone-x.png  |    Bin 0 -> 161468 bytes
 next/en/documents/asset/img/smooth-old-problem.png |    Bin 0 -> 145198 bytes
 next/en/documents/asset/img/smooth-old-vs-new.png  |    Bin 0 -> 121268 bytes
 next/en/documents/asset/img/treemap-border-gap.png |    Bin 0 -> 92466 bytes
 .../documents/option-gl-parts/option-gl-outline.js |      1 +
 .../option-gl-parts/option-gl-outline.json         |      1 +
 .../documents/option-gl-parts/option-gl.geo3D.js   |    512 +
 .../documents/option-gl-parts/option-gl.geo3D.json |    512 +
 .../documents/option-gl-parts/option-gl.globe.js   |    350 +
 .../documents/option-gl-parts/option-gl.globe.json |    350 +
 .../documents/option-gl-parts/option-gl.grid3D.js  |    398 +
 .../option-gl-parts/option-gl.grid3D.json          |    398 +
 next/en/documents/option-gl-parts/option-gl.js     |     56 +
 next/en/documents/option-gl-parts/option-gl.json   |     56 +
 .../option-gl-parts/option-gl.mapbox3D.js          |    203 +
 .../option-gl-parts/option-gl.mapbox3D.json        |    203 +
 .../option-gl-parts/option-gl.series-bar3D.js      |    269 +
 .../option-gl-parts/option-gl.series-bar3D.json    |    269 +
 .../option-gl-parts/option-gl.series-flowGL.js     |     38 +
 .../option-gl-parts/option-gl.series-flowGL.json   |     38 +
 .../option-gl-parts/option-gl.series-graphGL.js    |    140 +
 .../option-gl-parts/option-gl.series-graphGL.json  |    140 +
 .../option-gl-parts/option-gl.series-line3D.js     |     68 +
 .../option-gl-parts/option-gl.series-line3D.json   |     68 +
 .../option-gl-parts/option-gl.series-lines3D.js    |     83 +
 .../option-gl-parts/option-gl.series-lines3D.json  |     83 +
 .../option-gl-parts/option-gl.series-map3D.js      |    515 +
 .../option-gl-parts/option-gl.series-map3D.json    |    515 +
 .../option-gl-parts/option-gl.series-polygons3D.js |     35 +
 .../option-gl.series-polygons3D.json               |     35 +
 .../option-gl-parts/option-gl.series-scatter3D.js  |    143 +
 .../option-gl.series-scatter3D.json                |    143 +
 .../option-gl-parts/option-gl.series-scatterGL.js  |     65 +
 .../option-gl.series-scatterGL.json                |     65 +
 .../option-gl-parts/option-gl.series-surface.js    |    194 +
 .../option-gl-parts/option-gl.series-surface.json  |    194 +
 .../documents/option-gl-parts/option-gl.xAxis3D.js |    233 +
 .../option-gl-parts/option-gl.xAxis3D.json         |    233 +
 .../documents/option-gl-parts/option-gl.yAxis3D.js |    233 +
 .../option-gl-parts/option-gl.yAxis3D.json         |    233 +
 .../documents/option-gl-parts/option-gl.zAxis3D.js |    233 +
 .../option-gl-parts/option-gl.zAxis3D.json         |    233 +
 next/en/documents/option-gl.json                   |      1 +
 next/en/documents/option-parts/option-outline.js   |      1 +
 next/en/documents/option-parts/option-outline.json |      1 +
 next/en/documents/option-parts/option.angleAxis.js |   1830 +
 .../documents/option-parts/option.angleAxis.json   |   1830 +
 next/en/documents/option-parts/option.aria.js      |     83 +
 next/en/documents/option-parts/option.aria.json    |     83 +
 .../documents/option-parts/option.axisPointer.js   |    427 +
 .../documents/option-parts/option.axisPointer.json |    427 +
 next/en/documents/option-parts/option.brush.js     |     53 +
 next/en/documents/option-parts/option.brush.json   |     53 +
 next/en/documents/option-parts/option.calendar.js  |   1454 +
 .../en/documents/option-parts/option.calendar.json |   1454 +
 .../option-parts/option.dataZoom-inside.js         |    136 +
 .../option-parts/option.dataZoom-inside.json       |    136 +
 .../option-parts/option.dataZoom-slider.js         |    947 +
 .../option-parts/option.dataZoom-slider.json       |    947 +
 next/en/documents/option-parts/option.dataset.js   |     50 +
 next/en/documents/option-parts/option.dataset.json |     50 +
 next/en/documents/option-parts/option.geo.js       |   3073 +
 next/en/documents/option-parts/option.geo.json     |   3073 +
 next/en/documents/option-parts/option.graphic.js   |   1298 +
 next/en/documents/option-parts/option.graphic.json |   1298 +
 next/en/documents/option-parts/option.grid.js      |    719 +
 next/en/documents/option-parts/option.grid.json    |    719 +
 next/en/documents/option-parts/option.js           |    589 +
 next/en/documents/option-parts/option.json         |    589 +
 next/en/documents/option-parts/option.legend.js    |   1612 +
 next/en/documents/option-parts/option.legend.json  |   1612 +
 next/en/documents/option-parts/option.parallel.js  |   1681 +
 .../en/documents/option-parts/option.parallel.json |   1681 +
 .../documents/option-parts/option.parallelAxis.js  |   1642 +
 .../option-parts/option.parallelAxis.json          |   1642 +
 next/en/documents/option-parts/option.polar.js     |    624 +
 next/en/documents/option-parts/option.polar.json   |    624 +
 next/en/documents/option-parts/option.radar.js     |   1184 +
 next/en/documents/option-parts/option.radar.json   |   1184 +
 .../en/documents/option-parts/option.radiusAxis.js |   2233 +
 .../documents/option-parts/option.radiusAxis.json  |   2233 +
 .../en/documents/option-parts/option.series-bar.js |   5156 +
 .../documents/option-parts/option.series-bar.json  |   5156 +
 .../option-parts/option.series-boxplot.js          |   9209 +
 .../option-parts/option.series-boxplot.json        |   9209 +
 .../option-parts/option.series-candlestick.js      |   9276 +
 .../option-parts/option.series-candlestick.json    |   9276 +
 .../documents/option-parts/option.series-custom.js |   2123 +
 .../option-parts/option.series-custom.json         |   2123 +
 .../option-parts/option.series-effectScatter.js    |  13373 +
 .../option-parts/option.series-effectScatter.json  |  13373 +
 .../documents/option-parts/option.series-funnel.js |  12815 +
 .../option-parts/option.series-funnel.json         |  12815 +
 .../documents/option-parts/option.series-gauge.js  |  11078 +
 .../option-parts/option.series-gauge.json          |  11078 +
 .../documents/option-parts/option.series-graph.js  |  18602 +
 .../option-parts/option.series-graph.json          |  18602 +
 .../option-parts/option.series-heatmap.js          |  11302 +
 .../option-parts/option.series-heatmap.json        |  11302 +
 .../documents/option-parts/option.series-line.js   |  15286 +
 .../documents/option-parts/option.series-line.json |  15286 +
 .../documents/option-parts/option.series-lines.js  |  11912 +
 .../option-parts/option.series-lines.json          |  11912 +
 .../en/documents/option-parts/option.series-map.js |  11910 +
 .../documents/option-parts/option.series-map.json  |  11910 +
 .../option-parts/option.series-parallel.js         |    394 +
 .../option-parts/option.series-parallel.json       |    394 +
 .../option-parts/option.series-pictorialBar.js     |  13589 +
 .../option-parts/option.series-pictorialBar.json   |  13589 +
 .../en/documents/option-parts/option.series-pie.js |  12475 +
 .../documents/option-parts/option.series-pie.json  |  12475 +
 .../documents/option-parts/option.series-radar.js  |   5359 +
 .../option-parts/option.series-radar.json          |   5359 +
 .../documents/option-parts/option.series-sankey.js |   7022 +
 .../option-parts/option.series-sankey.json         |   7022 +
 .../option-parts/option.series-scatter.js          |  13359 +
 .../option-parts/option.series-scatter.json        |  13359 +
 .../option-parts/option.series-sunburst.js         |   7162 +
 .../option-parts/option.series-sunburst.json       |   7162 +
 .../option-parts/option.series-themeRiver.js       |   2503 +
 .../option-parts/option.series-themeRiver.json     |   2503 +
 .../documents/option-parts/option.series-tree.js   |   7118 +
 .../documents/option-parts/option.series-tree.json |   7118 +
 .../option-parts/option.series-treemap.js          |  12825 +
 .../option-parts/option.series-treemap.json        |  12825 +
 .../en/documents/option-parts/option.singleAxis.js |   2873 +
 .../documents/option-parts/option.singleAxis.json  |   2873 +
 next/en/documents/option-parts/option.textStyle.js |    113 +
 .../documents/option-parts/option.textStyle.json   |    113 +
 next/en/documents/option-parts/option.timeline.js  |   1985 +
 .../en/documents/option-parts/option.timeline.json |   1985 +
 next/en/documents/option-parts/option.title.js     |    766 +
 next/en/documents/option-parts/option.title.json   |    766 +
 next/en/documents/option-parts/option.toolbox.js   |   1478 +
 next/en/documents/option-parts/option.toolbox.json |   1478 +
 next/en/documents/option-parts/option.tooltip.js   |    673 +
 next/en/documents/option-parts/option.tooltip.json |    673 +
 .../option-parts/option.visualMap-continuous.js    |    448 +
 .../option-parts/option.visualMap-continuous.json  |    448 +
 .../option-parts/option.visualMap-piecewise.js     |    315 +
 .../option-parts/option.visualMap-piecewise.json   |    315 +
 next/en/documents/option-parts/option.xAxis.js     |   2271 +
 next/en/documents/option-parts/option.xAxis.json   |   2271 +
 next/en/documents/option-parts/option.yAxis.js     |   2271 +
 next/en/documents/option-parts/option.yAxis.json   |   2271 +
 next/en/documents/option.json                      |      1 +
 .../documents/tutorial-parts/tutorial-outline.js   |      1 +
 .../documents/tutorial-parts/tutorial-outline.json |      1 +
 next/en/documents/tutorial-parts/tutorial.js       |     62 +
 next/en/documents/tutorial-parts/tutorial.json     |     62 +
 next/en/documents/tutorial.json                    |      1 +
 next/en/js/doc-bundle.js                           |      8 +
 next/en/option-gl.html                             |      8 +-
 next/en/option.html                                |      8 +-
 next/en/tutorial.html                              |      8 +-
 next/examples/asset/chart-icon.png                 |    Bin 0 -> 13805 bytes
 next/examples/asset/placeholder.jpg                |    Bin 0 -> 5473 bytes
 next/examples/css/example-bundle.css               |   1142 +
 next/examples/css/example-bundle.css.map           |      1 +
 .../examples/data-gl/animating-contour-on-globe.js |    176 +
 .../data-gl/asset/bathymetry_bw_composite_4k.jpg   |    Bin 0 -> 1275134 bytes
 next/examples/data-gl/asset/bitcoin.png            |    Bin 0 -> 19411 bytes
 next/examples/data-gl/asset/canyon.hdr             |    Bin 0 -> 386561 bytes
 next/examples/data-gl/asset/clouds.png             |    Bin 0 -> 639195 bytes
 next/examples/data-gl/asset/data/alcohol.json      |      1 +
 next/examples/data-gl/asset/data/buildings.json    |      1 +
 next/examples/data-gl/asset/data/flights.json      |      1 +
 next/examples/data-gl/asset/data/flights2.json     |      1 +
 next/examples/data-gl/asset/data/gfs.json          |      1 +
 .../data-gl/asset/data/internet.graph.json         |      1 +
 next/examples/data-gl/asset/data/npmdep.json       |      1 +
 next/examples/data-gl/asset/data/population.json   |      1 +
 next/examples/data-gl/asset/data/wave.json         |      1 +
 next/examples/data-gl/asset/data/winds.json        |      1 +
 .../data-gl/asset/data/world-population.json       |    177 +
 next/examples/data-gl/asset/earth.jpg              |    Bin 0 -> 826367 bytes
 next/examples/data-gl/asset/elev_bump_4k.jpg       |    Bin 0 -> 313999 bytes
 next/examples/data-gl/asset/icon.png               |    Bin 0 -> 94223 bytes
 .../asset/iron-rusted4/iron-rusted4-basecolor.jpg  |    Bin 0 -> 614737 bytes
 .../asset/iron-rusted4/iron-rusted4-metalness.jpg  |    Bin 0 -> 763060 bytes
 .../asset/iron-rusted4/iron-rusted4-normal.jpg     |    Bin 0 -> 429053 bytes
 .../asset/iron-rusted4/iron-rusted4-roughness.jpg  |    Bin 0 -> 680390 bytes
 next/examples/data-gl/asset/lake.hdr               |    Bin 0 -> 452398 bytes
 .../data-gl/asset/leather/leather_albedo.jpg       |    Bin 0 -> 192654 bytes
 .../data-gl/asset/leather/leather_height.jpg       |    Bin 0 -> 139667 bytes
 .../data-gl/asset/leather/leather_normal.jpg       |    Bin 0 -> 203403 bytes
 .../data-gl/asset/leather/leather_roughness.jpg    |    Bin 0 -> 458902 bytes
 next/examples/data-gl/asset/moon-base.jpg          |    Bin 0 -> 1591331 bytes
 next/examples/data-gl/asset/moon-bump.jpg          |    Bin 0 -> 1021019 bytes
 next/examples/data-gl/asset/night.jpg              |    Bin 0 -> 1218734 bytes
 next/examples/data-gl/asset/pisa.hdr               |    Bin 0 -> 364559 bytes
 next/examples/data-gl/asset/redbricks/diffuse.jpg  |    Bin 0 -> 472880 bytes
 next/examples/data-gl/asset/redbricks/normal.jpg   |    Bin 0 -> 713238 bytes
 .../examples/data-gl/asset/redbricks/roughness.jpg |    Bin 0 -> 403950 bytes
 next/examples/data-gl/asset/sample.jpg             |    Bin 0 -> 7742 bytes
 next/examples/data-gl/asset/starfield.jpg          |    Bin 0 -> 922942 bytes
 next/examples/data-gl/asset/wood/diffuse.jpg       |    Bin 0 -> 2046292 bytes
 next/examples/data-gl/asset/wood/normal.jpg        |    Bin 0 -> 2706595 bytes
 next/examples/data-gl/asset/wood/roughness.png     |    Bin 0 -> 3231654 bytes
 next/examples/data-gl/asset/woods.jpg              |    Bin 0 -> 85365 bytes
 .../data-gl/asset/world.topo.bathy.200401.jpg      |    Bin 0 -> 1312275 bytes
 next/examples/data-gl/bar3d-dataset.js             |     49 +
 next/examples/data-gl/bar3d-global-population.js   |     96 +
 next/examples/data-gl/bar3d-mapbox-view-change.js  |    104 +
 next/examples/data-gl/bar3d-music-visualization.js |    157 +
 next/examples/data-gl/bar3d-myth.js                |    102 +
 .../bar3d-noise-modified-from-marpi-demo.js        |    210 +
 next/examples/data-gl/bar3d-on-mapbox.js           |     71 +
 next/examples/data-gl/bar3d-punch-card.js          |     80 +
 next/examples/data-gl/bar3d-shanghai.js            |     71 +
 next/examples/data-gl/bar3d-simplex-noise.js       |     79 +
 next/examples/data-gl/bar3d-voxelize-image.js      |    171 +
 next/examples/data-gl/flowGL-noise.js              |    104 +
 .../data-gl/geo3d-with-different-height.js         |     72 +
 next/examples/data-gl/geo3d.js                     |     50 +
 .../data-gl/global-population-bar3d-on-globe.js    |     65 +
 .../data-gl/global-wind-visualization-2.js         |    244 +
 next/examples/data-gl/global-wind-visualization.js |    192 +
 next/examples/data-gl/globe-contour-paint.js       |    177 +
 next/examples/data-gl/globe-country-carousel.js    |    113 +
 next/examples/data-gl/globe-displacement.js        |     57 +
 .../data-gl/globe-echarts-gl-hello-world.js        |     33 +
 next/examples/data-gl/globe-layers.js              |     41 +
 next/examples/data-gl/globe-moon.js                |     55 +
 .../examples/data-gl/globe-with-echarts-surface.js |    239 +
 next/examples/data-gl/graphgl-gpu-layout.js        |     68 +
 next/examples/data-gl/graphgl-large-internet.js    |     63 +
 next/examples/data-gl/graphgl-npm-dep.js           |     94 +
 next/examples/data-gl/image-surface-sushuang.js    |     87 +
 next/examples/data-gl/image-to-bar3d.js            |     90 +
 next/examples/data-gl/iron-globe.js                |     41 +
 next/examples/data-gl/line3d-orthographic.js       |     51 +
 next/examples/data-gl/lines3d-airline-on-globe.js  |     58 +
 .../data-gl/lines3d-flight-path-on-mapbox.js       |    183 +
 next/examples/data-gl/lines3d-flights-gl.js        |     94 +
 next/examples/data-gl/lines3d-flights-on-geo3d.js  |     77 +
 next/examples/data-gl/lines3d-flights.js           |    149 +
 next/examples/data-gl/lines3d-taxi-chengdu.js      |    492 +
 .../data-gl/lines3d-taxi-routes-of-cape-town.js    |    169 +
 next/examples/data-gl/linesGL-ny.js                |     91 +
 next/examples/data-gl/map3d-alcohol-consumption.js |     72 +
 next/examples/data-gl/map3d-buildings-on-mapbox.js |     77 +
 next/examples/data-gl/map3d-buildings.js           |    113 +
 next/examples/data-gl/map3d-colorful-cities.js     |     93 +
 ...d-plastic-material-style-buildings-on-mapbox.js |     85 +
 next/examples/data-gl/map3d-wood-city.js           |     97 +
 next/examples/data-gl/map3d-wood-map-on-mapbox.js  |     68 +
 next/examples/data-gl/map3d-wood-map.js            |     72 +
 next/examples/data-gl/metal-bar3d.js               |     99 +
 next/examples/data-gl/metal-surface.js             |    102 +
 next/examples/data-gl/parametric-surface-rose.js   |    150 +
 next/examples/data-gl/scatter3D-dataset.js         |     42 +
 .../examples/data-gl/scatter3d-globe-population.js |     90 +
 next/examples/data-gl/scatter3d-orthographic.js    |     68 +
 next/examples/data-gl/scatter3d-scatter.js         |    109 +
 next/examples/data-gl/scatter3d-shanghai.js        |     50 +
 next/examples/data-gl/scatter3d-simplex-noise.js   |     68 +
 .../data-gl/scatter3d-weibo-checkin-on-mapbox.js   |     87 +
 next/examples/data-gl/scatter3d.js                 |    209 +
 next/examples/data-gl/scatterGL-gps.js             |     89 +
 next/examples/data-gl/scattergl-weibo.js           |    100 +
 next/examples/data-gl/simple-surface.js            |     54 +
 next/examples/data-gl/sphere-parametric-surface.js |     49 +
 next/examples/data-gl/stacked-bar3d.js             |     62 +
 next/examples/data-gl/surface-breather.js          |    119 +
 next/examples/data-gl/surface-golden-rose.js       |    160 +
 next/examples/data-gl/surface-leather.js           |    137 +
 next/examples/data-gl/surface-mollusc-shell.js     |     79 +
 next/examples/data-gl/surface-theme-roses.js       |    155 +
 next/examples/data-gl/surface-wave.js              |     59 +
 .../thumb-manual/animating-contour-on-globe.png    |    Bin 0 -> 182873 bytes
 .../data-gl/thumb-manual/bar3d-dataset.png         |    Bin 0 -> 125956 bytes
 .../thumb-manual/bar3d-global-population.png       |    Bin 0 -> 135509 bytes
 .../thumb-manual/bar3d-mapbox-view-change.png      |    Bin 0 -> 208407 bytes
 .../thumb-manual/bar3d-music-visualization.png     |    Bin 0 -> 119499 bytes
 next/examples/data-gl/thumb-manual/bar3d-myth.png  |    Bin 0 -> 155970 bytes
 .../bar3d-noise-modified-from-marpi-demo.png       |    Bin 0 -> 156933 bytes
 .../data-gl/thumb-manual/bar3d-on-mapbox.png       |    Bin 0 -> 198335 bytes
 .../data-gl/thumb-manual/bar3d-punch-card.png      |    Bin 0 -> 59845 bytes
 .../data-gl/thumb-manual/bar3d-shanghai.png        |    Bin 0 -> 211027 bytes
 .../data-gl/thumb-manual/bar3d-simplex-noise.png   |    Bin 0 -> 92570 bytes
 .../data-gl/thumb-manual/bar3d-voxelize-image.png  |    Bin 0 -> 257316 bytes
 .../examples/data-gl/thumb-manual/flowGL-noise.png |    Bin 0 -> 203284 bytes
 .../thumb-manual/geo3d-with-different-height.png   |    Bin 0 -> 138046 bytes
 next/examples/data-gl/thumb-manual/geo3d.png       |    Bin 0 -> 147968 bytes
 .../global-population-bar3d-on-globe.png           |    Bin 0 -> 256052 bytes
 .../thumb-manual/global-wind-visualization-2.png   |    Bin 0 -> 293640 bytes
 .../thumb-manual/global-wind-visualization.png     |    Bin 0 -> 299634 bytes
 .../data-gl/thumb-manual/globe-contour-paint.png   |    Bin 0 -> 186982 bytes
 .../thumb-manual/globe-country-carousel.png        |    Bin 0 -> 103135 bytes
 .../data-gl/thumb-manual/globe-displacement.png    |    Bin 0 -> 136009 bytes
 .../thumb-manual/globe-echarts-gl-hello-world.png  |    Bin 0 -> 240338 bytes
 .../examples/data-gl/thumb-manual/globe-layers.png |    Bin 0 -> 253003 bytes
 next/examples/data-gl/thumb-manual/globe-moon.png  |    Bin 0 -> 205957 bytes
 .../thumb-manual/globe-with-echarts-surface.png    |    Bin 0 -> 112106 bytes
 .../data-gl/thumb-manual/graphgl-gpu-layout.png    |    Bin 0 -> 75850 bytes
 .../thumb-manual/graphgl-large-internet.png        |    Bin 0 -> 198619 bytes
 .../data-gl/thumb-manual/graphgl-npm-dep.png       |    Bin 0 -> 202757 bytes
 .../thumb-manual/image-surface-sushuang.png        |    Bin 0 -> 141164 bytes
 .../data-gl/thumb-manual/image-to-bar3d.png        |    Bin 0 -> 212188 bytes
 next/examples/data-gl/thumb-manual/iron-globe.png  |    Bin 0 -> 272936 bytes
 .../data-gl/thumb-manual/line3d-orthographic.png   |    Bin 0 -> 82468 bytes
 .../thumb-manual/lines3d-airline-on-globe.png      |    Bin 0 -> 248985 bytes
 .../thumb-manual/lines3d-flight-path-on-mapbox.png |    Bin 0 -> 226053 bytes
 .../data-gl/thumb-manual/lines3d-flights-gl.png    |    Bin 0 -> 159858 bytes
 .../thumb-manual/lines3d-flights-on-geo3d.png      |    Bin 0 -> 144764 bytes
 .../data-gl/thumb-manual/lines3d-flights.png       |    Bin 0 -> 236786 bytes
 .../data-gl/thumb-manual/lines3d-taxi-chengdu.png  |    Bin 0 -> 140023 bytes
 .../lines3d-taxi-routes-of-cape-town.png           |    Bin 0 -> 243117 bytes
 next/examples/data-gl/thumb-manual/linesGL-ny.png  |    Bin 0 -> 302121 bytes
 .../thumb-manual/map3d-alcohol-consumption.png     |    Bin 0 -> 80448 bytes
 .../thumb-manual/map3d-buildings-on-mapbox.png     |    Bin 0 -> 226609 bytes
 .../data-gl/thumb-manual/map3d-buildings.png       |    Bin 0 -> 214976 bytes
 .../data-gl/thumb-manual/map3d-colorful-cities.png |    Bin 0 -> 276560 bytes
 ...-plastic-material-style-buildings-on-mapbox.png |    Bin 0 -> 221674 bytes
 .../data-gl/thumb-manual/map3d-wood-city.png       |    Bin 0 -> 219895 bytes
 .../thumb-manual/map3d-wood-map-on-mapbox.png      |    Bin 0 -> 120830 bytes
 .../data-gl/thumb-manual/map3d-wood-map.png        |    Bin 0 -> 292347 bytes
 next/examples/data-gl/thumb-manual/metal-bar3d.png |    Bin 0 -> 171908 bytes
 .../data-gl/thumb-manual/metal-surface.png         |    Bin 0 -> 153014 bytes
 .../thumb-manual/parametric-surface-rose.png       |    Bin 0 -> 163393 bytes
 .../data-gl/thumb-manual/scatter3D-dataset.png     |    Bin 0 -> 119434 bytes
 .../thumb-manual/scatter3d-globe-population.png    |    Bin 0 -> 235220 bytes
 .../thumb-manual/scatter3d-orthographic.png        |    Bin 0 -> 158700 bytes
 .../data-gl/thumb-manual/scatter3d-scatter.png     |    Bin 0 -> 155801 bytes
 .../data-gl/thumb-manual/scatter3d-shanghai.png    |    Bin 0 -> 177498 bytes
 .../thumb-manual/scatter3d-simplex-noise.png       |    Bin 0 -> 180276 bytes
 .../scatter3d-weibo-checkin-on-mapbox.png          |    Bin 0 -> 166449 bytes
 next/examples/data-gl/thumb-manual/scatter3d.png   |    Bin 0 -> 65909 bytes
 .../data-gl/thumb-manual/scatterGL-gps.png         |    Bin 0 -> 314310 bytes
 .../data-gl/thumb-manual/scattergl-weibo.png       |    Bin 0 -> 91282 bytes
 .../data-gl/thumb-manual/simple-surface.png        |    Bin 0 -> 114949 bytes
 .../thumb-manual/sphere-parametric-surface.png     |    Bin 0 -> 79793 bytes
 .../data-gl/thumb-manual/stacked-bar3d.png         |    Bin 0 -> 76241 bytes
 .../data-gl/thumb-manual/surface-breather.png      |    Bin 0 -> 136398 bytes
 .../data-gl/thumb-manual/surface-golden-rose.png   |    Bin 0 -> 155381 bytes
 .../data-gl/thumb-manual/surface-leather.png       |    Bin 0 -> 206596 bytes
 .../data-gl/thumb-manual/surface-mollusc-shell.png |    Bin 0 -> 90134 bytes
 .../data-gl/thumb-manual/surface-theme-roses.png   |    Bin 0 -> 132344 bytes
 .../examples/data-gl/thumb-manual/surface-wave.png |    Bin 0 -> 90553 bytes
 .../data-gl/thumb-manual/transparent-bar3d.png     |    Bin 0 -> 70567 bytes
 .../data-gl/thumb/animating-contour-on-globe.jpg   |    Bin 0 -> 36668 bytes
 next/examples/data-gl/thumb/bar3d-dataset.jpg      |    Bin 0 -> 56370 bytes
 .../data-gl/thumb/bar3d-global-population.jpg      |    Bin 0 -> 40002 bytes
 .../data-gl/thumb/bar3d-mapbox-view-change.jpg     |    Bin 0 -> 64727 bytes
 .../data-gl/thumb/bar3d-music-visualization.jpg    |    Bin 0 -> 31005 bytes
 next/examples/data-gl/thumb/bar3d-myth.jpg         |    Bin 0 -> 26984 bytes
 .../thumb/bar3d-noise-modified-from-marpi-demo.jpg |    Bin 0 -> 31950 bytes
 next/examples/data-gl/thumb/bar3d-on-mapbox.jpg    |    Bin 0 -> 56834 bytes
 next/examples/data-gl/thumb/bar3d-punch-card.jpg   |    Bin 0 -> 30372 bytes
 next/examples/data-gl/thumb/bar3d-shanghai.jpg     |    Bin 0 -> 52492 bytes
 .../examples/data-gl/thumb/bar3d-simplex-noise.jpg |    Bin 0 -> 31563 bytes
 .../data-gl/thumb/bar3d-voxelize-image.jpg         |    Bin 0 -> 59949 bytes
 next/examples/data-gl/thumb/flowGL-noise.jpg       |    Bin 0 -> 51283 bytes
 .../data-gl/thumb/geo3d-with-different-height.jpg  |    Bin 0 -> 30414 bytes
 next/examples/data-gl/thumb/geo3d.jpg              |    Bin 0 -> 38673 bytes
 .../thumb/global-population-bar3d-on-globe.jpg     |    Bin 0 -> 65867 bytes
 .../data-gl/thumb/global-wind-visualization-2.jpg  |    Bin 0 -> 66339 bytes
 .../data-gl/thumb/global-wind-visualization.jpg    |    Bin 0 -> 65628 bytes
 .../examples/data-gl/thumb/globe-contour-paint.jpg |    Bin 0 -> 41095 bytes
 .../data-gl/thumb/globe-country-carousel.jpg       |    Bin 0 -> 22408 bytes
 next/examples/data-gl/thumb/globe-displacement.jpg |    Bin 0 -> 31117 bytes
 .../data-gl/thumb/globe-echarts-gl-hello-world.jpg |    Bin 0 -> 52745 bytes
 next/examples/data-gl/thumb/globe-layers.jpg       |    Bin 0 -> 52434 bytes
 next/examples/data-gl/thumb/globe-moon.jpg         |    Bin 0 -> 55042 bytes
 .../data-gl/thumb/globe-with-echarts-surface.jpg   |    Bin 0 -> 30654 bytes
 next/examples/data-gl/thumb/graphgl-gpu-layout.jpg |    Bin 0 -> 45923 bytes
 .../data-gl/thumb/graphgl-large-internet.jpg       |    Bin 0 -> 69362 bytes
 next/examples/data-gl/thumb/graphgl-npm-dep.jpg    |    Bin 0 -> 76480 bytes
 .../data-gl/thumb/image-surface-sushuang.jpg       |    Bin 0 -> 27558 bytes
 next/examples/data-gl/thumb/image-to-bar3d.jpg     |    Bin 0 -> 47956 bytes
 next/examples/data-gl/thumb/iron-globe.jpg         |    Bin 0 -> 57421 bytes
 .../examples/data-gl/thumb/line3d-orthographic.jpg |    Bin 0 -> 29732 bytes
 .../data-gl/thumb/lines3d-airline-on-globe.jpg     |    Bin 0 -> 58580 bytes
 .../thumb/lines3d-flight-path-on-mapbox.jpg        |    Bin 0 -> 60073 bytes
 next/examples/data-gl/thumb/lines3d-flights-gl.jpg |    Bin 0 -> 48896 bytes
 .../data-gl/thumb/lines3d-flights-on-geo3d.jpg     |    Bin 0 -> 35749 bytes
 next/examples/data-gl/thumb/lines3d-flights.jpg    |    Bin 0 -> 46521 bytes
 .../data-gl/thumb/lines3d-taxi-chengdu.jpg         |    Bin 0 -> 40451 bytes
 .../thumb/lines3d-taxi-routes-of-cape-town.jpg     |    Bin 0 -> 64925 bytes
 next/examples/data-gl/thumb/linesGL-ny.jpg         |    Bin 0 -> 96144 bytes
 .../data-gl/thumb/map3d-alcohol-consumption.jpg    |    Bin 0 -> 31895 bytes
 .../data-gl/thumb/map3d-buildings-on-mapbox.jpg    |    Bin 0 -> 56946 bytes
 next/examples/data-gl/thumb/map3d-buildings.jpg    |    Bin 0 -> 60078 bytes
 .../data-gl/thumb/map3d-colorful-cities.jpg        |    Bin 0 -> 79304 bytes
 ...-plastic-material-style-buildings-on-mapbox.jpg |    Bin 0 -> 61597 bytes
 next/examples/data-gl/thumb/map3d-wood-city.jpg    |    Bin 0 -> 48770 bytes
 .../data-gl/thumb/map3d-wood-map-on-mapbox.jpg     |    Bin 0 -> 29968 bytes
 next/examples/data-gl/thumb/map3d-wood-map.jpg     |    Bin 0 -> 67111 bytes
 next/examples/data-gl/thumb/metal-bar3d.jpg        |    Bin 0 -> 41634 bytes
 next/examples/data-gl/thumb/metal-surface.jpg      |    Bin 0 -> 28317 bytes
 .../data-gl/thumb/parametric-surface-rose.jpg      |    Bin 0 -> 31880 bytes
 next/examples/data-gl/thumb/scatter3D-dataset.jpg  |    Bin 0 -> 68358 bytes
 .../data-gl/thumb/scatter3d-globe-population.jpg   |    Bin 0 -> 46642 bytes
 .../data-gl/thumb/scatter3d-orthographic.jpg       |    Bin 0 -> 29251 bytes
 next/examples/data-gl/thumb/scatter3d-scatter.jpg  |    Bin 0 -> 107389 bytes
 next/examples/data-gl/thumb/scatter3d-shanghai.jpg |    Bin 0 -> 55374 bytes
 .../data-gl/thumb/scatter3d-simplex-noise.jpg      |    Bin 0 -> 40674 bytes
 .../thumb/scatter3d-weibo-checkin-on-mapbox.jpg    |    Bin 0 -> 52082 bytes
 next/examples/data-gl/thumb/scatter3d.jpg          |    Bin 0 -> 31771 bytes
 next/examples/data-gl/thumb/scatterGL-gps.jpg      |    Bin 0 -> 83023 bytes
 next/examples/data-gl/thumb/scattergl-weibo.jpg    |    Bin 0 -> 29596 bytes
 next/examples/data-gl/thumb/simple-surface.jpg     |    Bin 0 -> 42424 bytes
 .../data-gl/thumb/sphere-parametric-surface.jpg    |    Bin 0 -> 33636 bytes
 next/examples/data-gl/thumb/stacked-bar3d.jpg      |    Bin 0 -> 33320 bytes
 next/examples/data-gl/thumb/surface-breather.jpg   |    Bin 0 -> 31682 bytes
 .../examples/data-gl/thumb/surface-golden-rose.jpg |    Bin 0 -> 22144 bytes
 next/examples/data-gl/thumb/surface-leather.jpg    |    Bin 0 -> 34698 bytes
 .../data-gl/thumb/surface-mollusc-shell.jpg        |    Bin 0 -> 19313 bytes
 .../examples/data-gl/thumb/surface-theme-roses.jpg |    Bin 0 -> 27141 bytes
 next/examples/data-gl/thumb/surface-wave.jpg       |    Bin 0 -> 25641 bytes
 next/examples/data-gl/thumb/transparent-bar3d.jpg  |    Bin 0 -> 24969 bytes
 next/examples/data-gl/transparent-bar3d.js         |     81 +
 next/examples/data/area-basic.js                   |     22 +
 next/examples/data/area-pieces.js                  |     66 +
 next/examples/data/area-rainfall.js                |    188 +
 next/examples/data/area-simple.js                  |     78 +
 next/examples/data/area-stack-gradient.js          |    174 +
 next/examples/data/area-stack.js                   |    103 +
 next/examples/data/area-time-axis.js               |     67 +
 .../examples/data/asset/data/airport-schedule.json |      1 +
 next/examples/data/asset/data/aqi-beijing.json     |      1 +
 next/examples/data/asset/data/aqi.csv              | 444391 ++++++++++++++++++
 next/examples/data/asset/data/aqi_convert.js       |     11 +
 next/examples/data/asset/data/confidence-band.json |    548 +
 next/examples/data/asset/data/disk.tree.json       |  21035 +
 next/examples/data/asset/data/draggable.js         |    226 +
 .../data/ec-option-doc-statistics-201604.json      |  11714 +
 next/examples/data/asset/data/energy.json          |    120 +
 next/examples/data/asset/data/fake-nebula.bin      |    Bin 0 -> 8000000 bytes
 next/examples/data/asset/data/flare.json           |    380 +
 next/examples/data/asset/data/flights.json         |      1 +
 next/examples/data/asset/data/gps/extract.js       |     37 +
 next/examples/data/asset/data/gps/gps_0.bin        |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_1.bin        |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_10.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_100.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_101.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_102.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_103.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_104.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_105.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_106.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_107.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_108.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_109.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_11.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_110.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_111.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_112.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_113.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_114.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_115.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_116.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_117.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_118.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_119.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_12.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_120.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_121.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_122.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_123.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_124.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_125.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_126.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_127.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_128.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_129.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_13.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_130.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_131.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_132.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_133.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_134.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_135.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_136.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_137.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_138.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_139.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_14.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_140.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_141.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_142.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_143.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_144.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_145.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_146.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_147.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_148.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_149.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_15.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_150.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_151.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_152.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_153.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_154.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_155.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_156.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_157.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_158.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_159.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_16.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_160.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_161.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_162.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_163.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_164.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_165.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_166.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_167.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_168.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_169.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_17.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_170.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_171.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_172.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_173.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_174.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_175.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_176.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_177.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_178.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_179.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_18.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_180.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_181.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_182.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_183.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_184.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_185.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_186.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_187.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_188.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_189.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_19.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_190.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_191.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_192.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_193.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_194.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_195.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_196.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_197.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_198.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_199.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_2.bin        |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_20.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_200.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_201.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_202.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_203.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_204.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_205.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_206.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_207.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_208.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_209.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_21.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_210.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_211.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_212.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_213.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_214.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_215.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_216.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_217.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_218.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_219.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_22.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_220.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_221.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_222.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_223.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_224.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_225.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_226.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_227.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_228.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_229.bin      |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_23.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_24.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_25.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_26.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_27.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_28.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_29.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_3.bin        |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_30.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_31.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_32.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_33.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_34.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_35.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_36.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_37.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_38.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_39.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_4.bin        |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_40.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_41.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_42.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_43.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_44.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_45.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_46.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_47.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_48.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_49.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_5.bin        |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_50.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_51.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_52.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_53.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_54.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_55.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_56.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_57.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_58.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_59.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_6.bin        |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_60.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_61.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_62.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_63.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_64.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_65.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_66.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_67.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_68.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_69.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_7.bin        |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_70.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_71.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_72.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_73.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_74.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_75.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_76.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_77.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_78.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_79.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_8.bin        |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_80.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_81.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_82.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_83.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_84.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_85.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_86.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_87.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_88.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_89.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_9.bin        |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_90.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_91.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_92.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_93.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_94.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_95.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_96.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_97.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_98.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/gps_99.bin       |    Bin 0 -> 400000 bytes
 next/examples/data/asset/data/gps/uniform.js       |     38 +
 next/examples/data/asset/data/hangzhou-tracks.json |      1 +
 .../data/asset/data/house-price-area2.json         |      1 +
 .../asset/data/kawhi-leonard-16-17-regular.json    |      1 +
 next/examples/data/asset/data/les-miserables.json  |   1744 +
 .../data/asset/data/life-expectancy-table.json     |      1 +
 next/examples/data/asset/data/life-expectancy.json |      1 +
 .../data/asset/data/linear-regression.json         |    202 +
 next/examples/data/asset/data/lines-bus.json       |      1 +
 .../examples/data/asset/data/links-ny/links_ny.bin |    Bin 0 -> 24238524 bytes
 .../data/asset/data/links-ny/links_ny_0.bin        |    Bin 0 -> 1160700 bytes
 .../data/asset/data/links-ny/links_ny_1.bin        |    Bin 0 -> 1088196 bytes
 .../data/asset/data/links-ny/links_ny_10.bin       |    Bin 0 -> 827404 bytes
 .../data/asset/data/links-ny/links_ny_11.bin       |    Bin 0 -> 805660 bytes
 .../data/asset/data/links-ny/links_ny_12.bin       |    Bin 0 -> 797484 bytes
 .../data/asset/data/links-ny/links_ny_13.bin       |    Bin 0 -> 770180 bytes
 .../data/asset/data/links-ny/links_ny_14.bin       |    Bin 0 -> 764228 bytes
 .../data/asset/data/links-ny/links_ny_15.bin       |    Bin 0 -> 743868 bytes
 .../data/asset/data/links-ny/links_ny_16.bin       |    Bin 0 -> 733556 bytes
 .../data/asset/data/links-ny/links_ny_17.bin       |    Bin 0 -> 720532 bytes
 .../data/asset/data/links-ny/links_ny_18.bin       |    Bin 0 -> 711908 bytes
 .../data/asset/data/links-ny/links_ny_19.bin       |    Bin 0 -> 697916 bytes
 .../data/asset/data/links-ny/links_ny_2.bin        |    Bin 0 -> 1035404 bytes
 .../data/asset/data/links-ny/links_ny_20.bin       |    Bin 0 -> 679100 bytes
 .../data/asset/data/links-ny/links_ny_21.bin       |    Bin 0 -> 670508 bytes
 .../data/asset/data/links-ny/links_ny_22.bin       |    Bin 0 -> 650380 bytes
 .../data/asset/data/links-ny/links_ny_23.bin       |    Bin 0 -> 640836 bytes
 .../data/asset/data/links-ny/links_ny_24.bin       |    Bin 0 -> 633060 bytes
 .../data/asset/data/links-ny/links_ny_25.bin       |    Bin 0 -> 612156 bytes
 .../data/asset/data/links-ny/links_ny_26.bin       |    Bin 0 -> 601148 bytes
 .../data/asset/data/links-ny/links_ny_27.bin       |    Bin 0 -> 583340 bytes
 .../data/asset/data/links-ny/links_ny_28.bin       |    Bin 0 -> 578716 bytes
 .../data/asset/data/links-ny/links_ny_29.bin       |    Bin 0 -> 577492 bytes
 .../data/asset/data/links-ny/links_ny_3.bin        |    Bin 0 -> 1016164 bytes
 .../data/asset/data/links-ny/links_ny_30.bin       |    Bin 0 -> 587756 bytes
 .../data/asset/data/links-ny/links_ny_31.bin       |    Bin 0 -> 123200 bytes
 .../data/asset/data/links-ny/links_ny_4.bin        |    Bin 0 -> 976948 bytes
 .../data/asset/data/links-ny/links_ny_5.bin        |    Bin 0 -> 955572 bytes
 .../data/asset/data/links-ny/links_ny_6.bin        |    Bin 0 -> 901724 bytes
 .../data/asset/data/links-ny/links_ny_7.bin        |    Bin 0 -> 888716 bytes
 .../data/asset/data/links-ny/links_ny_8.bin        |    Bin 0 -> 871316 bytes
 .../data/asset/data/links-ny/links_ny_9.bin        |    Bin 0 -> 833604 bytes
 .../data/asset/data/masterPainterColorChoice.json  |      1 +
 next/examples/data/asset/data/nba-court.json       |      1 +
 .../data/asset/data/npmdepgraph.min10.json         |      1 +
 next/examples/data/asset/data/nutrients.json       |   7639 +
 .../asset/data/obama_budget_proposal_2012.json     |   4540 +
 .../data/obama_budget_proposal_2012.list.json      |   1798 +
 next/examples/data/asset/data/product.json         |    134 +
 .../data/asset/data/south-america-polygon.json     |      1 +
 next/examples/data/asset/data/stock-DJI.json       |      1 +
 next/examples/data/asset/data/timelineGDP.js       |    124 +
 next/examples/data/asset/data/webkit-dep.json      |   5717 +
 next/examples/data/asset/data/weibo.json           |      1 +
 .../examples/data/asset/data/wind-barb-hobart.json |    826 +
 next/examples/data/asset/geo/HK.json               |     41 +
 next/examples/data/asset/geo/USA.json              |     54 +
 next/examples/data/asset/img/arrow-down.png        |    Bin 0 -> 17903 bytes
 next/examples/data/asset/img/arrow-up.png          |    Bin 0 -> 15825 bytes
 .../examples/data/asset/img/custom-gauge-panel.png |    Bin 0 -> 13745 bytes
 next/examples/data/asset/img/hill-Kilimanjaro.png  |    Bin 0 -> 284816 bytes
 next/examples/data/asset/img/hill-Qomolangma.png   |    Bin 0 -> 1597143 bytes
 next/examples/data/asset/img/weather/cloudy.png    |    Bin 0 -> 47083 bytes
 .../examples/data/asset/img/weather/cloudy_128.png |    Bin 0 -> 16734 bytes
 next/examples/data/asset/img/weather/showers.png   |    Bin 0 -> 72929 bytes
 .../data/asset/img/weather/showers_128.png         |    Bin 0 -> 28491 bytes
 next/examples/data/asset/img/weather/sunny.png     |    Bin 0 -> 55814 bytes
 next/examples/data/asset/img/weather/sunny_128.png |    Bin 0 -> 25404 bytes
 next/examples/data/asset/js/myTransform.js         |    247 +
 next/examples/data/asset/js/transitionPlayer.js    |    256 +
 next/examples/data/asset/sound/roll-it-up.mp3      |    Bin 0 -> 1213646 bytes
 next/examples/data/bar-animation-delay.js          |     70 +
 next/examples/data/bar-background.js               |     24 +
 next/examples/data/bar-brush.js                    |    114 +
 next/examples/data/bar-data-color.js               |     25 +
 next/examples/data/bar-gradient.js                 |     96 +
 next/examples/data/bar-histogram.js                |    126 +
 next/examples/data/bar-label-rotation.js           |    166 +
 next/examples/data/bar-large.js                    |     93 +
 next/examples/data/bar-negative.js                 |     77 +
 next/examples/data/bar-negative2.js                |     66 +
 next/examples/data/bar-polar-real-estate.js        |    101 +
 next/examples/data/bar-polar-stack-radial.js       |     49 +
 next/examples/data/bar-polar-stack.js              |     50 +
 next/examples/data/bar-race.js                     |     67 +
 next/examples/data/bar-rich-text.js                |    151 +
 next/examples/data/bar-simple.js                   |     20 +
 next/examples/data/bar-stack.js                    |    125 +
 next/examples/data/bar-tick-align.js               |     43 +
 next/examples/data/bar-waterfall.js                |     66 +
 next/examples/data/bar-waterfall2.js               |     91 +
 next/examples/data/bar-y-category-stack.js         |     92 +
 next/examples/data/bar-y-category.js               |     48 +
 next/examples/data/bar1.js                         |     74 +
 next/examples/data/boxplot-light-velocity.js       |     84 +
 next/examples/data/boxplot-light-velocity2.js      |     87 +
 next/examples/data/boxplot-multi.js                |    106 +
 next/examples/data/bubble-gradient.js              |    109 +
 next/examples/data/calendar-charts.js              |    193 +
 next/examples/data/calendar-effectscatter.js       |    167 +
 next/examples/data/calendar-graph.js               |    127 +
 next/examples/data/calendar-heatmap.js             |     54 +
 next/examples/data/calendar-horizontal.js          |     72 +
 next/examples/data/calendar-lunar.js               |    468 +
 next/examples/data/calendar-pie.js                 |    116 +
 next/examples/data/calendar-simple.js              |     37 +
 next/examples/data/calendar-vertical.js            |     78 +
 next/examples/data/candlestick-brush.js            |    264 +
 next/examples/data/candlestick-large.js            |    208 +
 next/examples/data/candlestick-sh-2015.js          |    134 +
 next/examples/data/candlestick-sh.js               |    324 +
 next/examples/data/candlestick-simple.js           |     22 +
 next/examples/data/candlestick-touch.js            |    245 +
 next/examples/data/circle-packing-with-d3.js       |      8 +
 next/examples/data/confidence-band.js              |    113 +
 next/examples/data/custom-bar-trend.js             |    115 +
 next/examples/data/custom-calendar-icon.js         |    119 +
 next/examples/data/custom-cartesian-polygon.js     |     65 +
 .../examples/data/custom-combine-separate-morph.js |    505 +
 next/examples/data/custom-error-bar.js             |    110 +
 next/examples/data/custom-error-scatter.js         |    140 +
 next/examples/data/custom-gantt-flight.js          |    533 +
 next/examples/data/custom-gauge.js                 |    185 +
 next/examples/data/custom-hexbin.js                |    251 +
 next/examples/data/custom-ohlc.js                  |    161 +
 next/examples/data/custom-one-to-one-morph.js      |    222 +
 next/examples/data/custom-polar-heatmap.js         |     82 +
 next/examples/data/custom-profile.js               |    119 +
 next/examples/data/custom-profit.js                |     67 +
 next/examples/data/custom-spiral-race.js           |    257 +
 next/examples/data/custom-story-transition.js      |    400 +
 next/examples/data/custom-wind.js                  |    111 +
 next/examples/data/cycle-plot.js                   |    140 +
 next/examples/data/data-transform-filter.js        |     81 +
 next/examples/data/data-transform-multiple-pie.js  |     80 +
 next/examples/data/data-transform-sort-bar.js      |     38 +
 next/examples/data/dataset-default.js              |     50 +
 next/examples/data/dataset-encode0.js              |     49 +
 next/examples/data/dataset-encode1.js              |     98 +
 next/examples/data/dataset-link.js                 |     73 +
 next/examples/data/dataset-series-layout-by.js     |     42 +
 next/examples/data/dataset-simple0.js              |     29 +
 next/examples/data/dataset-simple1.js              |     29 +
 next/examples/data/doc-example/aria-pie.js         |     22 +
 .../data/doc-example/axisPointer-handle-image.js   |    504 +
 .../data/doc-example/bar-dataZoom-filterMode.js    |     81 +
 next/examples/data/doc-example/bar-large.js        |     58 +
 .../data/doc-example/bar-media-timeline.js         |    353 +
 next/examples/data/doc-example/barGrid-barGap.js   |     52 +
 .../data/doc-example/candlestick-axisPointer.js    |    240 +
 next/examples/data/doc-example/canvas-vs-svg-en.js |    119 +
 next/examples/data/doc-example/canvas-vs-svg.js    |    119 +
 .../data-transform-multiple-sort-bar.js            |     51 +
 .../data/doc-example/dataset-encode-simple0.js     |     30 +
 next/examples/data/doc-example/getting-started.js  |     18 +
 next/examples/data/doc-example/graphic-bounding.js |     98 +
 next/examples/data/doc-example/label-position.js   |     82 +
 next/examples/data/doc-example/line-stack-tiled.js |     45 +
 next/examples/data/doc-example/map-example.js      |    143 +
 .../doc-example/map-visualMap-continuous-text.js   |     93 +
 .../data/doc-example/map-visualMap-continuous.js   |    229 +
 .../data/doc-example/map-visualMap-pieces.js       |     96 +
 .../doc-example/map-visualMap-piecewise-text.js    |     93 +
 next/examples/data/doc-example/mix-timeline-all.js |    362 +
 next/examples/data/doc-example/parallel-all.js     |    178 +
 .../examples/data/doc-example/pictorialBar-clip.js |     94 +
 .../data/doc-example/pictorialBar-graphicType.js   |     60 +
 .../data/doc-example/pictorialBar-patternSize.js   |     44 +
 .../data/doc-example/pictorialBar-position.js      |     53 +
 .../data/doc-example/pictorialBar-repeat.js        |     24 +
 .../doc-example/pictorialBar-repeatDirection.js    |     52 +
 .../data/doc-example/pictorialBar-repeatLayout.js  |    212 +
 .../pictorialBar-symbolBoundingDataArray.js        |     83 +
 .../data/doc-example/pictorialBar-symbolSize.js    |    114 +
 next/examples/data/doc-example/pie-highlight.js    |     62 +
 .../data/doc-example/pie-label-bleedMargin.js      |     69 +
 .../doc-example/pie-label-distanceToLabelLine.js   |     69 +
 next/examples/data/doc-example/pie-label-margin.js |     69 +
 next/examples/data/doc-example/pie-media.js        |    190 +
 .../data/doc-example/polar-anticlockwise.js        |     15 +
 .../examples/data/doc-example/polar-start-angle.js |     15 +
 next/examples/data/doc-example/radar.js            |     49 +
 .../data/doc-example/scatter-dataZoom-all.js       |    109 +
 .../doc-example/scatter-tutorial-dataZoom-1.js     |     31 +
 .../doc-example/scatter-tutorial-dataZoom-2.js     |     36 +
 .../doc-example/scatter-tutorial-dataZoom-3.js     |     50 +
 .../doc-example/scatter-visualMap-categories.js    |    235 +
 .../doc-example/scatter-visualMap-piecewise.js     |    468 +
 next/examples/data/doc-example/sunburst-color.js   |     44 +
 .../doc-example/sunburst-highlight-ancestor.js     |     71 +
 .../doc-example/sunburst-highlight-descendant.js   |     71 +
 .../data/doc-example/sunburst-label-align.js       |     33 +
 next/examples/data/doc-example/sunburst-simple.js  |     28 +
 .../data/doc-example/text-block-fragment.js        |     67 +
 .../data/doc-example/text-fregment-align.js        |    121 +
 next/examples/data/doc-example/text-options.js     |     91 +
 next/examples/data/doc-example/title-block.js      |    134 +
 .../data/doc-example/treemap-borderColor.js        |     89 +
 next/examples/data/doc-example/tutorial-async.js   |     42 +
 .../data/doc-example/tutorial-dynamic-data.js      |     61 +
 next/examples/data/doc-example/tutorial-loading.js |     45 +
 .../data/doc-example/tutorial-styling-step0.js     |     16 +
 .../data/doc-example/tutorial-styling-step1.js     |     17 +
 .../data/doc-example/tutorial-styling-step2.js     |     23 +
 .../data/doc-example/tutorial-styling-step3.js     |     38 +
 .../data/doc-example/tutorial-styling-step4.js     |     39 +
 .../data/doc-example/tutorial-styling-step5.js     |     47 +
 next/examples/data/dynamic-data.js                 |    132 +
 next/examples/data/dynamic-data2.js                |     77 +
 next/examples/data/effectScatter-bmap.js           |    575 +
 next/examples/data/effectScatter-map.js            |    503 +
 next/examples/data/funnel-align.js                 |    114 +
 next/examples/data/funnel-customize.js             |     88 +
 next/examples/data/funnel-mutiple.js               |    103 +
 next/examples/data/funnel.js                       |     72 +
 next/examples/data/gauge-barometer.js              |    122 +
 next/examples/data/gauge-car.js                    |    575 +
 next/examples/data/gauge-clock.js                  |    228 +
 next/examples/data/gauge-grade.js                  |     88 +
 next/examples/data/gauge-multi-title.js            |     85 +
 next/examples/data/gauge-progress.js               |     93 +
 next/examples/data/gauge-ring.js                   |     97 +
 next/examples/data/gauge-simple.js                 |     24 +
 next/examples/data/gauge-speed.js                  |     55 +
 next/examples/data/gauge-stage.js                  |     61 +
 next/examples/data/gauge-temperature.js            |    123 +
 next/examples/data/gauge.js                        |     23 +
 next/examples/data/geo-lines.js                    |    298 +
 next/examples/data/geo-map-scatter.js              |    349 +
 next/examples/data/graph-circular-layout.js        |     59 +
 next/examples/data/graph-force-dynamic.js          |     57 +
 next/examples/data/graph-force.js                  |     48 +
 next/examples/data/graph-force2.js                 |     64 +
 next/examples/data/graph-grid.js                   |     50 +
 next/examples/data/graph-label-overlap.js          |     49 +
 next/examples/data/graph-life-expectancy.js        |    103 +
 next/examples/data/graph-npm.js                    |     54 +
 next/examples/data/graph-simple.js                 |     87 +
 next/examples/data/graph-webkit-dep.js             |     43 +
 next/examples/data/graph.js                        |     61 +
 next/examples/data/grid-multiple.js                |    174 +
 next/examples/data/heatmap-bmap.js                 |     45 +
 next/examples/data/heatmap-cartesian.js            |     66 +
 next/examples/data/heatmap-large-piecewise.js      |    373 +
 next/examples/data/heatmap-large.js                |    365 +
 next/examples/data/heatmap-map.js                  |    447 +
 next/examples/data/line-aqi.js                     |     99 +
 next/examples/data/line-draggable.js               |    139 +
 next/examples/data/line-easing.js                  |    233 +
 next/examples/data/line-function.js                |     72 +
 next/examples/data/line-gradient.js                |     74 +
 next/examples/data/line-graphic.js                 |    125 +
 .../data/line-in-cartesian-coordinate-system.js    |     15 +
 next/examples/data/line-log.js                     |     57 +
 next/examples/data/line-marker.js                  |     88 +
 next/examples/data/line-markline.js                |     78 +
 next/examples/data/line-pen.js                     |     73 +
 next/examples/data/line-polar.js                   |     42 +
 next/examples/data/line-polar2.js                  |     47 +
 next/examples/data/line-sections.js                |     86 +
 next/examples/data/line-simple.js                  |     20 +
 next/examples/data/line-smooth.js                  |     21 +
 next/examples/data/line-stack.js                   |     69 +
 next/examples/data/line-step.js                    |     56 +
 next/examples/data/line-style.js                   |     32 +
 next/examples/data/line-tooltip-touch.js           |    151 +
 next/examples/data/line-y-category.js              |     53 +
 next/examples/data/lines-airline.js                |     64 +
 next/examples/data/lines-bmap-bus.js               |    148 +
 next/examples/data/lines-bmap-effect.js            |    195 +
 next/examples/data/lines-bmap.js                   |    133 +
 next/examples/data/lines-ny.js                     |     91 +
 next/examples/data/map-HK.js                       |     98 +
 next/examples/data/map-bin.js                      |    207 +
 next/examples/data/map-china-dataRange.js          |    137 +
 next/examples/data/map-china.js                    |     26 +
 next/examples/data/map-labels.js                   |    169 +
 next/examples/data/map-locate.js                   |     52 +
 next/examples/data/map-polygon.js                  |    659 +
 next/examples/data/map-province.js                 |     95 +
 next/examples/data/map-usa.js                      |    141 +
 next/examples/data/map-world-dataRange.js          |    237 +
 next/examples/data/map-world.js                    |    213 +
 next/examples/data/mix-line-bar.js                 |     78 +
 next/examples/data/mix-timeline-finance.js         |    381 +
 next/examples/data/mix-zoom-on-value.js            |    101 +
 next/examples/data/multiple-x-axis.js              |     96 +
 next/examples/data/multiple-y-axis.js              |    111 +
 next/examples/data/parallel-aqi.js                 |    224 +
 next/examples/data/parallel-nutrients.js           |    186 +
 next/examples/data/parallel-simple.js              |     31 +
 next/examples/data/pictorialBar-body-fill.js       |    146 +
 next/examples/data/pictorialBar-dotted.js          |    111 +
 next/examples/data/pictorialBar-forest.js          |    110 +
 next/examples/data/pictorialBar-hill.js            |    111 +
 next/examples/data/pictorialBar-spirit.js          |    114 +
 next/examples/data/pictorialBar-vehicle.js         |    113 +
 next/examples/data/pictorialBar-velocity.js        |    100 +
 next/examples/data/pie-alignTo.js                  |     94 +
 next/examples/data/pie-borderRadius.js             |     51 +
 next/examples/data/pie-custom.js                   |     66 +
 next/examples/data/pie-doughnut.js                 |     46 +
 next/examples/data/pie-labelLine-adjust.js         |     96 +
 next/examples/data/pie-legend.js                   |     81 +
 next/examples/data/pie-nest.js                     |     87 +
 next/examples/data/pie-pattern.js                  |     63 +
 next/examples/data/pie-rich-text.js                |    135 +
 next/examples/data/pie-roseType-simple.js          |     44 +
 next/examples/data/pie-roseType.js                 |     82 +
 next/examples/data/pie-simple.js                   |     43 +
 next/examples/data/polar-roundCap.js               |     49 +
 next/examples/data/radar-aqi.js                    |    222 +
 next/examples/data/radar-custom.js                 |    131 +
 next/examples/data/radar-multiple.js               |     97 +
 next/examples/data/radar.js                        |     50 +
 next/examples/data/radar2.js                       |     73 +
 next/examples/data/sankey-energy.js                |     35 +
 next/examples/data/sankey-itemstyle.js             |   1281 +
 next/examples/data/sankey-levels.js                |     71 +
 next/examples/data/sankey-nodeAlign-left.js        |     37 +
 next/examples/data/sankey-nodeAlign-right.js       |     38 +
 next/examples/data/sankey-simple.js                |     54 +
 next/examples/data/sankey-vertical.js              |     50 +
 next/examples/data/scatter-anscombe-quartet.js     |    145 +
 next/examples/data/scatter-aqi-color.js            |    261 +
 next/examples/data/scatter-clustering-process.js   |    246 +
 next/examples/data/scatter-clustering.js           |    131 +
 next/examples/data/scatter-effect.js               |     78 +
 .../data/scatter-exponential-regression.js         |     84 +
 next/examples/data/scatter-label-align-right.js    |     57 +
 next/examples/data/scatter-label-align-top.js      |     51 +
 next/examples/data/scatter-large.js                |     74 +
 .../data/scatter-life-expectancy-timeline.js       |    169 +
 next/examples/data/scatter-linear-regression.js    |    267 +
 .../data/scatter-logarithmic-regression.js         |    133 +
 next/examples/data/scatter-map-brush.js            |    652 +
 next/examples/data/scatter-map.js                  |    472 +
 next/examples/data/scatter-matrix.js               |    300 +
 next/examples/data/scatter-nebula.js               |     76 +
 next/examples/data/scatter-nutrients-matrix.js     |    422 +
 next/examples/data/scatter-nutrients.js            |    177 +
 next/examples/data/scatter-painter-choice.js       |     61 +
 next/examples/data/scatter-polar-punchCard.js      |     66 +
 .../examples/data/scatter-polynomial-regression.js |     84 +
 next/examples/data/scatter-punchCard.js            |     71 +
 next/examples/data/scatter-simple.js               |     39 +
 next/examples/data/scatter-single-axis.js          |     56 +
 next/examples/data/scatter-stream-visual.js        |     60 +
 next/examples/data/scatter-weibo.js                |    103 +
 next/examples/data/scatter-weight.js               |    264 +
 next/examples/data/scatter-world-population.js     |    503 +
 next/examples/data/sunburst-book.js                |    336 +
 next/examples/data/sunburst-borderRadius.js        |     65 +
 next/examples/data/sunburst-drink.js               |    723 +
 next/examples/data/sunburst-label-rotate.js        |     95 +
 next/examples/data/sunburst-monochrome.js          |    175 +
 next/examples/data/sunburst-simple.js              |     64 +
 next/examples/data/sunburst-visualMap.js           |     94 +
 next/examples/data/themeRiver-basic.js             |    100 +
 next/examples/data/themeRiver-lastfm.js            |     80 +
 next/examples/data/thumb-dark/area-basic.jpg       |    Bin 0 -> 11806 bytes
 next/examples/data/thumb-dark/area-basic.png       |    Bin 0 -> 19436 bytes
 next/examples/data/thumb-dark/area-basic.webp      |    Bin 0 -> 3596 bytes
 next/examples/data/thumb-dark/area-pieces.jpg      |    Bin 0 -> 16276 bytes
 next/examples/data/thumb-dark/area-pieces.png      |    Bin 0 -> 36051 bytes
 next/examples/data/thumb-dark/area-pieces.webp     |    Bin 0 -> 7606 bytes
 next/examples/data/thumb-dark/area-rainfall.jpg    |    Bin 0 -> 25429 bytes
 next/examples/data/thumb-dark/area-rainfall.png    |    Bin 0 -> 83238 bytes
 next/examples/data/thumb-dark/area-rainfall.webp   |    Bin 0 -> 12530 bytes
 next/examples/data/thumb-dark/area-simple.jpg      |    Bin 0 -> 22745 bytes
 next/examples/data/thumb-dark/area-simple.png      |    Bin 0 -> 60979 bytes
 next/examples/data/thumb-dark/area-simple.webp     |    Bin 0 -> 9516 bytes
 .../data/thumb-dark/area-stack-gradient.png        |    Bin 0 -> 81331 bytes
 .../data/thumb-dark/area-stack-gradient.webp       |    Bin 0 -> 11714 bytes
 next/examples/data/thumb-dark/area-stack.jpg       |    Bin 0 -> 23524 bytes
 next/examples/data/thumb-dark/area-stack.png       |    Bin 0 -> 69873 bytes
 next/examples/data/thumb-dark/area-stack.webp      |    Bin 0 -> 10754 bytes
 next/examples/data/thumb-dark/area-time-axis.png   |    Bin 0 -> 57824 bytes
 next/examples/data/thumb-dark/area-time-axis.webp  |    Bin 0 -> 8992 bytes
 .../data/thumb-dark/bar-animation-delay.jpg        |    Bin 0 -> 26131 bytes
 .../data/thumb-dark/bar-animation-delay.png        |    Bin 0 -> 48105 bytes
 .../data/thumb-dark/bar-animation-delay.webp       |    Bin 0 -> 11144 bytes
 next/examples/data/thumb-dark/bar-background.jpg   |    Bin 0 -> 14872 bytes
 next/examples/data/thumb-dark/bar-background.png   |    Bin 0 -> 18922 bytes
 next/examples/data/thumb-dark/bar-background.webp  |    Bin 0 -> 3800 bytes
 next/examples/data/thumb-dark/bar-brush.jpg        |    Bin 0 -> 15740 bytes
 next/examples/data/thumb-dark/bar-brush.png        |    Bin 0 -> 27617 bytes
 next/examples/data/thumb-dark/bar-brush.webp       |    Bin 0 -> 8234 bytes
 next/examples/data/thumb-dark/bar-data-color.png   |    Bin 0 -> 16403 bytes
 next/examples/data/thumb-dark/bar-data-color.webp  |    Bin 0 -> 3454 bytes
 next/examples/data/thumb-dark/bar-gradient.jpg     |    Bin 0 -> 24692 bytes
 next/examples/data/thumb-dark/bar-gradient.png     |    Bin 0 -> 60354 bytes
 next/examples/data/thumb-dark/bar-gradient.webp    |    Bin 0 -> 10494 bytes
 next/examples/data/thumb-dark/bar-histogram.jpg    |    Bin 0 -> 19615 bytes
 next/examples/data/thumb-dark/bar-histogram.png    |    Bin 0 -> 39944 bytes
 next/examples/data/thumb-dark/bar-histogram.webp   |    Bin 0 -> 6946 bytes
 .../data/thumb-dark/bar-label-rotation.jpg         |    Bin 0 -> 27070 bytes
 .../data/thumb-dark/bar-label-rotation.png         |    Bin 0 -> 46724 bytes
 .../data/thumb-dark/bar-label-rotation.webp        |    Bin 0 -> 12546 bytes
 next/examples/data/thumb-dark/bar-large.jpg        |    Bin 0 -> 22377 bytes
 next/examples/data/thumb-dark/bar-large.png        |    Bin 0 -> 104462 bytes
 next/examples/data/thumb-dark/bar-large.webp       |    Bin 0 -> 12320 bytes
 next/examples/data/thumb-dark/bar-negative.jpg     |    Bin 0 -> 26038 bytes
 next/examples/data/thumb-dark/bar-negative.png     |    Bin 0 -> 45443 bytes
 next/examples/data/thumb-dark/bar-negative.webp    |    Bin 0 -> 8966 bytes
 next/examples/data/thumb-dark/bar-negative2.jpg    |    Bin 0 -> 16477 bytes
 next/examples/data/thumb-dark/bar-negative2.png    |    Bin 0 -> 28613 bytes
 next/examples/data/thumb-dark/bar-negative2.webp   |    Bin 0 -> 6624 bytes
 .../data/thumb-dark/bar-polar-real-estate.jpg      |    Bin 0 -> 25031 bytes
 .../data/thumb-dark/bar-polar-real-estate.png      |    Bin 0 -> 88348 bytes
 .../data/thumb-dark/bar-polar-real-estate.webp     |    Bin 0 -> 13854 bytes
 .../data/thumb-dark/bar-polar-stack-radial.jpg     |    Bin 0 -> 19394 bytes
 .../data/thumb-dark/bar-polar-stack-radial.png     |    Bin 0 -> 79383 bytes
 .../data/thumb-dark/bar-polar-stack-radial.webp    |    Bin 0 -> 11656 bytes
 next/examples/data/thumb-dark/bar-polar-stack.jpg  |    Bin 0 -> 21050 bytes
 next/examples/data/thumb-dark/bar-polar-stack.png  |    Bin 0 -> 84039 bytes
 next/examples/data/thumb-dark/bar-polar-stack.webp |    Bin 0 -> 13776 bytes
 next/examples/data/thumb-dark/bar-race.png         |    Bin 0 -> 14663 bytes
 next/examples/data/thumb-dark/bar-race.webp        |    Bin 0 -> 2954 bytes
 next/examples/data/thumb-dark/bar-rich-text.jpg    |    Bin 0 -> 23723 bytes
 next/examples/data/thumb-dark/bar-rich-text.png    |    Bin 0 -> 52992 bytes
 next/examples/data/thumb-dark/bar-rich-text.webp   |    Bin 0 -> 9436 bytes
 next/examples/data/thumb-dark/bar-simple.jpg       |    Bin 0 -> 13822 bytes
 next/examples/data/thumb-dark/bar-simple.png       |    Bin 0 -> 16399 bytes
 next/examples/data/thumb-dark/bar-simple.webp      |    Bin 0 -> 3452 bytes
 next/examples/data/thumb-dark/bar-stack.jpg        |    Bin 0 -> 32731 bytes
 next/examples/data/thumb-dark/bar-stack.png        |    Bin 0 -> 54669 bytes
 next/examples/data/thumb-dark/bar-stack.webp       |    Bin 0 -> 10778 bytes
 next/examples/data/thumb-dark/bar-tick-align.jpg   |    Bin 0 -> 14587 bytes
 next/examples/data/thumb-dark/bar-tick-align.png   |    Bin 0 -> 16237 bytes
 next/examples/data/thumb-dark/bar-tick-align.webp  |    Bin 0 -> 3468 bytes
 next/examples/data/thumb-dark/bar-waterfall.jpg    |    Bin 0 -> 21926 bytes
 next/examples/data/thumb-dark/bar-waterfall.png    |    Bin 0 -> 36277 bytes
 next/examples/data/thumb-dark/bar-waterfall.webp   |    Bin 0 -> 6696 bytes
 next/examples/data/thumb-dark/bar-waterfall2.jpg   |    Bin 0 -> 23597 bytes
 next/examples/data/thumb-dark/bar-waterfall2.png   |    Bin 0 -> 37691 bytes
 next/examples/data/thumb-dark/bar-waterfall2.webp  |    Bin 0 -> 7180 bytes
 .../data/thumb-dark/bar-y-category-stack.jpg       |    Bin 0 -> 27406 bytes
 .../data/thumb-dark/bar-y-category-stack.png       |    Bin 0 -> 61267 bytes
 .../data/thumb-dark/bar-y-category-stack.webp      |    Bin 0 -> 11474 bytes
 next/examples/data/thumb-dark/bar-y-category.jpg   |    Bin 0 -> 20126 bytes
 next/examples/data/thumb-dark/bar-y-category.png   |    Bin 0 -> 35748 bytes
 next/examples/data/thumb-dark/bar-y-category.webp  |    Bin 0 -> 6516 bytes
 next/examples/data/thumb-dark/bar1.jpg             |    Bin 0 -> 25894 bytes
 next/examples/data/thumb-dark/bar1.png             |    Bin 0 -> 48270 bytes
 next/examples/data/thumb-dark/bar1.webp            |    Bin 0 -> 11536 bytes
 .../data/thumb-dark/boxplot-light-velocity.jpg     |    Bin 0 -> 19436 bytes
 .../data/thumb-dark/boxplot-light-velocity.png     |    Bin 0 -> 34919 bytes
 .../data/thumb-dark/boxplot-light-velocity.webp    |    Bin 0 -> 7190 bytes
 .../data/thumb-dark/boxplot-light-velocity2.jpg    |    Bin 0 -> 18619 bytes
 .../data/thumb-dark/boxplot-light-velocity2.png    |    Bin 0 -> 38368 bytes
 .../data/thumb-dark/boxplot-light-velocity2.webp   |    Bin 0 -> 7216 bytes
 next/examples/data/thumb-dark/boxplot-multi.jpg    |    Bin 0 -> 16219 bytes
 next/examples/data/thumb-dark/boxplot-multi.png    |    Bin 0 -> 35515 bytes
 next/examples/data/thumb-dark/boxplot-multi.webp   |    Bin 0 -> 7418 bytes
 next/examples/data/thumb-dark/bubble-gradient.jpg  |    Bin 0 -> 16212 bytes
 next/examples/data/thumb-dark/bubble-gradient.png  |    Bin 0 -> 222872 bytes
 next/examples/data/thumb-dark/bubble-gradient.webp |    Bin 0 -> 14832 bytes
 next/examples/data/thumb-dark/calendar-charts.jpg  |    Bin 0 -> 19456 bytes
 next/examples/data/thumb-dark/calendar-charts.png  |    Bin 0 -> 59292 bytes
 next/examples/data/thumb-dark/calendar-charts.webp |    Bin 0 -> 10230 bytes
 .../data/thumb-dark/calendar-effectscatter.jpg     |    Bin 0 -> 45020 bytes
 .../data/thumb-dark/calendar-effectscatter.png     |    Bin 0 -> 172727 bytes
 .../data/thumb-dark/calendar-effectscatter.webp    |    Bin 0 -> 29576 bytes
 next/examples/data/thumb-dark/calendar-graph.jpg   |    Bin 0 -> 17908 bytes
 next/examples/data/thumb-dark/calendar-graph.png   |    Bin 0 -> 45299 bytes
 next/examples/data/thumb-dark/calendar-graph.webp  |    Bin 0 -> 7606 bytes
 next/examples/data/thumb-dark/calendar-heatmap.jpg |    Bin 0 -> 20038 bytes
 next/examples/data/thumb-dark/calendar-heatmap.png |    Bin 0 -> 71689 bytes
 .../examples/data/thumb-dark/calendar-heatmap.webp |    Bin 0 -> 11144 bytes
 .../data/thumb-dark/calendar-horizontal.jpg        |    Bin 0 -> 39950 bytes
 .../data/thumb-dark/calendar-horizontal.png        |    Bin 0 -> 199364 bytes
 .../data/thumb-dark/calendar-horizontal.webp       |    Bin 0 -> 24878 bytes
 next/examples/data/thumb-dark/calendar-lunar.jpg   |    Bin 0 -> 19303 bytes
 next/examples/data/thumb-dark/calendar-lunar.png   |    Bin 0 -> 45169 bytes
 next/examples/data/thumb-dark/calendar-lunar.webp  |    Bin 0 -> 5778 bytes
 next/examples/data/thumb-dark/calendar-pie.jpg     |    Bin 0 -> 36971 bytes
 next/examples/data/thumb-dark/calendar-pie.png     |    Bin 0 -> 142782 bytes
 next/examples/data/thumb-dark/calendar-pie.webp    |    Bin 0 -> 24000 bytes
 next/examples/data/thumb-dark/calendar-simple.jpg  |    Bin 0 -> 16602 bytes
 next/examples/data/thumb-dark/calendar-simple.png  |    Bin 0 -> 48822 bytes
 next/examples/data/thumb-dark/calendar-simple.webp |    Bin 0 -> 7362 bytes
 .../examples/data/thumb-dark/calendar-vertical.jpg |    Bin 0 -> 31976 bytes
 .../examples/data/thumb-dark/calendar-vertical.png |    Bin 0 -> 152939 bytes
 .../data/thumb-dark/calendar-vertical.webp         |    Bin 0 -> 18018 bytes
 .../examples/data/thumb-dark/candlestick-brush.jpg |    Bin 0 -> 18864 bytes
 .../examples/data/thumb-dark/candlestick-brush.png |    Bin 0 -> 96809 bytes
 .../data/thumb-dark/candlestick-brush.webp         |    Bin 0 -> 15616 bytes
 .../examples/data/thumb-dark/candlestick-large.jpg |    Bin 0 -> 29106 bytes
 .../examples/data/thumb-dark/candlestick-large.png |    Bin 0 -> 84870 bytes
 .../data/thumb-dark/candlestick-large.webp         |    Bin 0 -> 12426 bytes
 .../data/thumb-dark/candlestick-sh-2015.jpg        |    Bin 0 -> 18348 bytes
 .../data/thumb-dark/candlestick-sh-2015.png        |    Bin 0 -> 66344 bytes
 .../data/thumb-dark/candlestick-sh-2015.webp       |    Bin 0 -> 10592 bytes
 next/examples/data/thumb-dark/candlestick-sh.jpg   |    Bin 0 -> 32746 bytes
 next/examples/data/thumb-dark/candlestick-sh.png   |    Bin 0 -> 102579 bytes
 next/examples/data/thumb-dark/candlestick-sh.webp  |    Bin 0 -> 19132 bytes
 .../data/thumb-dark/candlestick-simple.jpg         |    Bin 0 -> 13566 bytes
 .../data/thumb-dark/candlestick-simple.png         |    Bin 0 -> 12842 bytes
 .../data/thumb-dark/candlestick-simple.webp        |    Bin 0 -> 3510 bytes
 .../examples/data/thumb-dark/candlestick-touch.jpg |    Bin 0 -> 23468 bytes
 .../examples/data/thumb-dark/candlestick-touch.png |    Bin 0 -> 64602 bytes
 .../data/thumb-dark/candlestick-touch.webp         |    Bin 0 -> 11784 bytes
 next/examples/data/thumb-dark/confidence-band.jpg  |    Bin 0 -> 13225 bytes
 next/examples/data/thumb-dark/confidence-band.png  |    Bin 0 -> 42810 bytes
 next/examples/data/thumb-dark/confidence-band.webp |    Bin 0 -> 6866 bytes
 next/examples/data/thumb-dark/custom-bar-trend.jpg |    Bin 0 -> 27240 bytes
 next/examples/data/thumb-dark/custom-bar-trend.png |    Bin 0 -> 56540 bytes
 .../examples/data/thumb-dark/custom-bar-trend.webp |    Bin 0 -> 10452 bytes
 .../data/thumb-dark/custom-calendar-icon.jpg       |    Bin 0 -> 18947 bytes
 .../data/thumb-dark/custom-calendar-icon.png       |    Bin 0 -> 38378 bytes
 .../data/thumb-dark/custom-calendar-icon.webp      |    Bin 0 -> 8264 bytes
 .../data/thumb-dark/custom-cartesian-polygon.jpg   |    Bin 0 -> 21800 bytes
 .../data/thumb-dark/custom-cartesian-polygon.png   |    Bin 0 -> 41106 bytes
 .../data/thumb-dark/custom-cartesian-polygon.webp  |    Bin 0 -> 6198 bytes
 .../thumb-dark/custom-combine-separate-morph.png   |    Bin 0 -> 87252 bytes
 .../thumb-dark/custom-combine-separate-morph.webp  |    Bin 0 -> 12764 bytes
 next/examples/data/thumb-dark/custom-error-bar.jpg |    Bin 0 -> 25135 bytes
 next/examples/data/thumb-dark/custom-error-bar.png |    Bin 0 -> 40302 bytes
 .../examples/data/thumb-dark/custom-error-bar.webp |    Bin 0 -> 9734 bytes
 .../data/thumb-dark/custom-error-scatter.jpg       |    Bin 0 -> 20920 bytes
 .../data/thumb-dark/custom-error-scatter.png       |    Bin 0 -> 44324 bytes
 .../data/thumb-dark/custom-error-scatter.webp      |    Bin 0 -> 6314 bytes
 .../data/thumb-dark/custom-gantt-flight.jpg        |    Bin 0 -> 31534 bytes
 .../data/thumb-dark/custom-gantt-flight.png        |    Bin 0 -> 59319 bytes
 .../data/thumb-dark/custom-gantt-flight.webp       |    Bin 0 -> 11876 bytes
 next/examples/data/thumb-dark/custom-gauge.png     |    Bin 0 -> 30986 bytes
 next/examples/data/thumb-dark/custom-gauge.webp    |    Bin 0 -> 3472 bytes
 next/examples/data/thumb-dark/custom-hexbin.jpg    |    Bin 0 -> 54215 bytes
 next/examples/data/thumb-dark/custom-hexbin.png    |    Bin 0 -> 200027 bytes
 next/examples/data/thumb-dark/custom-hexbin.webp   |    Bin 0 -> 33488 bytes
 next/examples/data/thumb-dark/custom-ohlc.jpg      |    Bin 0 -> 12397 bytes
 next/examples/data/thumb-dark/custom-ohlc.png      |    Bin 0 -> 47388 bytes
 next/examples/data/thumb-dark/custom-ohlc.webp     |    Bin 0 -> 8076 bytes
 .../data/thumb-dark/custom-one-to-one-morph.png    |    Bin 0 -> 28380 bytes
 .../data/thumb-dark/custom-one-to-one-morph.webp   |    Bin 0 -> 3550 bytes
 .../data/thumb-dark/custom-polar-heatmap.jpg       |    Bin 0 -> 22690 bytes
 .../data/thumb-dark/custom-polar-heatmap.png       |    Bin 0 -> 123388 bytes
 .../data/thumb-dark/custom-polar-heatmap.webp      |    Bin 0 -> 13736 bytes
 next/examples/data/thumb-dark/custom-profile.jpg   |    Bin 0 -> 19289 bytes
 next/examples/data/thumb-dark/custom-profile.png   |    Bin 0 -> 32775 bytes
 next/examples/data/thumb-dark/custom-profile.webp  |    Bin 0 -> 6942 bytes
 next/examples/data/thumb-dark/custom-profit.jpg    |    Bin 0 -> 16008 bytes
 next/examples/data/thumb-dark/custom-profit.png    |    Bin 0 -> 20510 bytes
 next/examples/data/thumb-dark/custom-profit.webp   |    Bin 0 -> 3828 bytes
 .../data/thumb-dark/custom-spiral-race.png         |    Bin 0 -> 95565 bytes
 .../data/thumb-dark/custom-spiral-race.webp        |    Bin 0 -> 8804 bytes
 .../data/thumb-dark/custom-story-transition.png    |    Bin 0 -> 37897 bytes
 .../data/thumb-dark/custom-story-transition.webp   |    Bin 0 -> 7622 bytes
 next/examples/data/thumb-dark/custom-wind.jpg      |    Bin 0 -> 53212 bytes
 next/examples/data/thumb-dark/custom-wind.png      |    Bin 0 -> 631616 bytes
 next/examples/data/thumb-dark/custom-wind.webp     |    Bin 0 -> 43376 bytes
 next/examples/data/thumb-dark/cycle-plot.jpg       |    Bin 0 -> 22824 bytes
 next/examples/data/thumb-dark/cycle-plot.png       |    Bin 0 -> 58485 bytes
 next/examples/data/thumb-dark/cycle-plot.webp      |    Bin 0 -> 11666 bytes
 .../data/thumb-dark/data-transform-filter.png      |    Bin 0 -> 48194 bytes
 .../data/thumb-dark/data-transform-filter.webp     |    Bin 0 -> 9740 bytes
 .../thumb-dark/data-transform-multiple-pie.png     |    Bin 0 -> 38359 bytes
 .../thumb-dark/data-transform-multiple-pie.webp    |    Bin 0 -> 6718 bytes
 .../data/thumb-dark/data-transform-sort-bar.png    |    Bin 0 -> 27109 bytes
 .../data/thumb-dark/data-transform-sort-bar.webp   |    Bin 0 -> 5926 bytes
 next/examples/data/thumb-dark/dataset-default.jpg  |    Bin 0 -> 20637 bytes
 next/examples/data/thumb-dark/dataset-default.png  |    Bin 0 -> 65494 bytes
 next/examples/data/thumb-dark/dataset-default.webp |    Bin 0 -> 11688 bytes
 next/examples/data/thumb-dark/dataset-encode0.jpg  |    Bin 0 -> 20229 bytes
 next/examples/data/thumb-dark/dataset-encode0.png  |    Bin 0 -> 40146 bytes
 next/examples/data/thumb-dark/dataset-encode0.webp |    Bin 0 -> 6956 bytes
 next/examples/data/thumb-dark/dataset-encode1.jpg  |    Bin 0 -> 46544 bytes
 next/examples/data/thumb-dark/dataset-encode1.png  |    Bin 0 -> 128294 bytes
 next/examples/data/thumb-dark/dataset-encode1.webp |    Bin 0 -> 24716 bytes
 next/examples/data/thumb-dark/dataset-link.jpg     |    Bin 0 -> 24346 bytes
 next/examples/data/thumb-dark/dataset-link.png     |    Bin 0 -> 74705 bytes
 next/examples/data/thumb-dark/dataset-link.webp    |    Bin 0 -> 13964 bytes
 .../data/thumb-dark/dataset-series-layout-by.jpg   |    Bin 0 -> 25625 bytes
 .../data/thumb-dark/dataset-series-layout-by.png   |    Bin 0 -> 35939 bytes
 .../data/thumb-dark/dataset-series-layout-by.webp  |    Bin 0 -> 8668 bytes
 next/examples/data/thumb-dark/dataset-simple0.jpg  |    Bin 0 -> 17397 bytes
 next/examples/data/thumb-dark/dataset-simple0.png  |    Bin 0 -> 23540 bytes
 next/examples/data/thumb-dark/dataset-simple0.webp |    Bin 0 -> 5968 bytes
 next/examples/data/thumb-dark/dataset-simple1.jpg  |    Bin 0 -> 17397 bytes
 next/examples/data/thumb-dark/dataset-simple1.png  |    Bin 0 -> 23540 bytes
 next/examples/data/thumb-dark/dataset-simple1.webp |    Bin 0 -> 5968 bytes
 next/examples/data/thumb-dark/dynamic-data.jpg     |    Bin 0 -> 23974 bytes
 next/examples/data/thumb-dark/dynamic-data.png     |    Bin 0 -> 43448 bytes
 next/examples/data/thumb-dark/dynamic-data.webp    |    Bin 0 -> 10186 bytes
 next/examples/data/thumb-dark/dynamic-data2.jpg    |    Bin 0 -> 12007 bytes
 next/examples/data/thumb-dark/dynamic-data2.png    |    Bin 0 -> 32182 bytes
 next/examples/data/thumb-dark/dynamic-data2.webp   |    Bin 0 -> 6424 bytes
 .../data/thumb-dark/effectScatter-bmap.jpg         |    Bin 0 -> 14762 bytes
 .../data/thumb-dark/effectScatter-bmap.png         |    Bin 0 -> 80751 bytes
 .../data/thumb-dark/effectScatter-bmap.webp        |    Bin 0 -> 13080 bytes
 .../examples/data/thumb-dark/effectScatter-map.jpg |    Bin 0 -> 18289 bytes
 .../examples/data/thumb-dark/effectScatter-map.png |    Bin 0 -> 96802 bytes
 .../data/thumb-dark/effectScatter-map.webp         |    Bin 0 -> 10920 bytes
 next/examples/data/thumb-dark/funnel-align.jpg     |    Bin 0 -> 25446 bytes
 next/examples/data/thumb-dark/funnel-align.png     |    Bin 0 -> 56991 bytes
 next/examples/data/thumb-dark/funnel-align.webp    |    Bin 0 -> 11674 bytes
 next/examples/data/thumb-dark/funnel-customize.jpg |    Bin 0 -> 18148 bytes
 next/examples/data/thumb-dark/funnel-customize.png |    Bin 0 -> 54369 bytes
 .../examples/data/thumb-dark/funnel-customize.webp |    Bin 0 -> 8494 bytes
 next/examples/data/thumb-dark/funnel-mutiple.jpg   |    Bin 0 -> 24878 bytes
 next/examples/data/thumb-dark/funnel-mutiple.png   |    Bin 0 -> 64323 bytes
 next/examples/data/thumb-dark/funnel-mutiple.webp  |    Bin 0 -> 11470 bytes
 next/examples/data/thumb-dark/funnel.jpg           |    Bin 0 -> 14275 bytes
 next/examples/data/thumb-dark/funnel.png           |    Bin 0 -> 34095 bytes
 next/examples/data/thumb-dark/funnel.webp          |    Bin 0 -> 6052 bytes
 next/examples/data/thumb-dark/gauge-barometer.png  |    Bin 0 -> 57940 bytes
 next/examples/data/thumb-dark/gauge-barometer.webp |    Bin 0 -> 8384 bytes
 next/examples/data/thumb-dark/gauge-car-dark.jpg   |    Bin 0 -> 18142 bytes
 next/examples/data/thumb-dark/gauge-car-dark.png   |    Bin 0 -> 73649 bytes
 next/examples/data/thumb-dark/gauge-car-dark.webp  |    Bin 0 -> 13378 bytes
 next/examples/data/thumb-dark/gauge-car.jpg        |    Bin 0 -> 14634 bytes
 next/examples/data/thumb-dark/gauge-car.png        |    Bin 0 -> 62601 bytes
 next/examples/data/thumb-dark/gauge-car.webp       |    Bin 0 -> 13512 bytes
 next/examples/data/thumb-dark/gauge-clock.png      |    Bin 0 -> 53061 bytes
 next/examples/data/thumb-dark/gauge-clock.webp     |    Bin 0 -> 5254 bytes
 next/examples/data/thumb-dark/gauge-grade.png      |    Bin 0 -> 36273 bytes
 next/examples/data/thumb-dark/gauge-grade.webp     |    Bin 0 -> 6656 bytes
 next/examples/data/thumb-dark/gauge-level.png      |    Bin 0 -> 39332 bytes
 next/examples/data/thumb-dark/gauge-level.webp     |    Bin 0 -> 12110 bytes
 .../examples/data/thumb-dark/gauge-multi-title.png |    Bin 0 -> 50083 bytes
 .../data/thumb-dark/gauge-multi-title.webp         |    Bin 0 -> 7714 bytes
 next/examples/data/thumb-dark/gauge-progress.png   |    Bin 0 -> 43657 bytes
 next/examples/data/thumb-dark/gauge-progress.webp  |    Bin 0 -> 5546 bytes
 next/examples/data/thumb-dark/gauge-ring.png       |    Bin 0 -> 51333 bytes
 next/examples/data/thumb-dark/gauge-ring.webp      |    Bin 0 -> 7442 bytes
 next/examples/data/thumb-dark/gauge-simple.png     |    Bin 0 -> 32361 bytes
 next/examples/data/thumb-dark/gauge-simple.webp    |    Bin 0 -> 3914 bytes
 .../data/thumb-dark/gauge-speed-simple.png         |    Bin 0 -> 41437 bytes
 .../data/thumb-dark/gauge-speed-simple.webp        |    Bin 0 -> 6130 bytes
 next/examples/data/thumb-dark/gauge-speed.png      |    Bin 0 -> 41437 bytes
 next/examples/data/thumb-dark/gauge-speed.webp     |    Bin 0 -> 6130 bytes
 next/examples/data/thumb-dark/gauge-stage.png      |    Bin 0 -> 47712 bytes
 next/examples/data/thumb-dark/gauge-stage.webp     |    Bin 0 -> 8110 bytes
 .../examples/data/thumb-dark/gauge-temperature.png |    Bin 0 -> 44692 bytes
 .../data/thumb-dark/gauge-temperature.webp         |    Bin 0 -> 6724 bytes
 next/examples/data/thumb-dark/gauge.jpg            |    Bin 0 -> 10758 bytes
 next/examples/data/thumb-dark/gauge.png            |    Bin 0 -> 32361 bytes
 next/examples/data/thumb-dark/gauge.webp           |    Bin 0 -> 3914 bytes
 next/examples/data/thumb-dark/geo-lines.jpg        |    Bin 0 -> 13764 bytes
 next/examples/data/thumb-dark/geo-lines.png        |    Bin 0 -> 74263 bytes
 next/examples/data/thumb-dark/geo-lines.webp       |    Bin 0 -> 6638 bytes
 next/examples/data/thumb-dark/geo-map-scatter.jpg  |    Bin 0 -> 23543 bytes
 next/examples/data/thumb-dark/geo-map-scatter.png  |    Bin 0 -> 118752 bytes
 next/examples/data/thumb-dark/geo-map-scatter.webp |    Bin 0 -> 14836 bytes
 .../data/thumb-dark/graph-circular-layout.jpg      |    Bin 0 -> 48683 bytes
 .../data/thumb-dark/graph-circular-layout.png      |    Bin 0 -> 216322 bytes
 .../data/thumb-dark/graph-circular-layout.webp     |    Bin 0 -> 27722 bytes
 .../data/thumb-dark/graph-force-dynamic.jpg        |    Bin 0 -> 2828 bytes
 .../data/thumb-dark/graph-force-dynamic.png        |    Bin 0 -> 22749 bytes
 .../data/thumb-dark/graph-force-dynamic.webp       |    Bin 0 -> 3414 bytes
 next/examples/data/thumb-dark/graph-force.jpg      |    Bin 0 -> 24193 bytes
 next/examples/data/thumb-dark/graph-force.png      |    Bin 0 -> 46359 bytes
 next/examples/data/thumb-dark/graph-force.webp     |    Bin 0 -> 7788 bytes
 next/examples/data/thumb-dark/graph-force2.jpg     |    Bin 0 -> 17768 bytes
 next/examples/data/thumb-dark/graph-force2.png     |    Bin 0 -> 66688 bytes
 next/examples/data/thumb-dark/graph-force2.webp    |    Bin 0 -> 10620 bytes
 next/examples/data/thumb-dark/graph-grid.jpg       |    Bin 0 -> 16936 bytes
 next/examples/data/thumb-dark/graph-grid.png       |    Bin 0 -> 39456 bytes
 next/examples/data/thumb-dark/graph-grid.webp      |    Bin 0 -> 6268 bytes
 .../data/thumb-dark/graph-label-overlap.png        |    Bin 0 -> 181211 bytes
 .../data/thumb-dark/graph-label-overlap.webp       |    Bin 0 -> 27658 bytes
 .../data/thumb-dark/graph-life-expectancy.jpg      |    Bin 0 -> 25279 bytes
 .../data/thumb-dark/graph-life-expectancy.png      |    Bin 0 -> 65340 bytes
 .../data/thumb-dark/graph-life-expectancy.webp     |    Bin 0 -> 11514 bytes
 next/examples/data/thumb-dark/graph-npm.jpg        |    Bin 0 -> 20651 bytes
 next/examples/data/thumb-dark/graph-npm.png        |    Bin 0 -> 140037 bytes
 next/examples/data/thumb-dark/graph-npm.webp       |    Bin 0 -> 17134 bytes
 next/examples/data/thumb-dark/graph-simple.jpg     |    Bin 0 -> 14039 bytes
 next/examples/data/thumb-dark/graph-simple.png     |    Bin 0 -> 49602 bytes
 next/examples/data/thumb-dark/graph-simple.webp    |    Bin 0 -> 7992 bytes
 next/examples/data/thumb-dark/graph-webkit-dep.jpg |    Bin 0 -> 46107 bytes
 next/examples/data/thumb-dark/graph-webkit-dep.png |    Bin 0 -> 145983 bytes
 .../examples/data/thumb-dark/graph-webkit-dep.webp |    Bin 0 -> 26700 bytes
 next/examples/data/thumb-dark/graph.jpg            |    Bin 0 -> 28118 bytes
 next/examples/data/thumb-dark/graph.png            |    Bin 0 -> 136199 bytes
 next/examples/data/thumb-dark/graph.webp           |    Bin 0 -> 19796 bytes
 next/examples/data/thumb-dark/grid-multiple.jpg    |    Bin 0 -> 31393 bytes
 next/examples/data/thumb-dark/grid-multiple.png    |    Bin 0 -> 79371 bytes
 next/examples/data/thumb-dark/grid-multiple.webp   |    Bin 0 -> 14812 bytes
 next/examples/data/thumb-dark/heatmap-bmap.jpg     |    Bin 0 -> 27105 bytes
 next/examples/data/thumb-dark/heatmap-bmap.png     |    Bin 0 -> 257652 bytes
 next/examples/data/thumb-dark/heatmap-bmap.webp    |    Bin 0 -> 18562 bytes
 .../examples/data/thumb-dark/heatmap-cartesian.jpg |    Bin 0 -> 21592 bytes
 .../examples/data/thumb-dark/heatmap-cartesian.png |    Bin 0 -> 66643 bytes
 .../data/thumb-dark/heatmap-cartesian.webp         |    Bin 0 -> 10476 bytes
 .../data/thumb-dark/heatmap-large-piecewise.jpg    |    Bin 0 -> 40471 bytes
 .../data/thumb-dark/heatmap-large-piecewise.png    |    Bin 0 -> 141242 bytes
 .../data/thumb-dark/heatmap-large-piecewise.webp   |    Bin 0 -> 24772 bytes
 next/examples/data/thumb-dark/heatmap-large.jpg    |    Bin 0 -> 28718 bytes
 next/examples/data/thumb-dark/heatmap-large.png    |    Bin 0 -> 293472 bytes
 next/examples/data/thumb-dark/heatmap-large.webp   |    Bin 0 -> 14824 bytes
 next/examples/data/thumb-dark/heatmap-map.jpg      |    Bin 0 -> 13987 bytes
 next/examples/data/thumb-dark/heatmap-map.png      |    Bin 0 -> 108483 bytes
 next/examples/data/thumb-dark/heatmap-map.webp     |    Bin 0 -> 7236 bytes
 next/examples/data/thumb-dark/line-aqi.jpg         |    Bin 0 -> 30970 bytes
 next/examples/data/thumb-dark/line-aqi.png         |    Bin 0 -> 121786 bytes
 next/examples/data/thumb-dark/line-aqi.webp        |    Bin 0 -> 21236 bytes
 next/examples/data/thumb-dark/line-draggable.jpg   |    Bin 0 -> 21807 bytes
 next/examples/data/thumb-dark/line-draggable.png   |    Bin 0 -> 45046 bytes
 next/examples/data/thumb-dark/line-draggable.webp  |    Bin 0 -> 6960 bytes
 next/examples/data/thumb-dark/line-easing.jpg      |    Bin 0 -> 27802 bytes
 next/examples/data/thumb-dark/line-easing.png      |    Bin 0 -> 100171 bytes
 next/examples/data/thumb-dark/line-easing.webp     |    Bin 0 -> 20136 bytes
 next/examples/data/thumb-dark/line-function.jpg    |    Bin 0 -> 36285 bytes
 next/examples/data/thumb-dark/line-function.png    |    Bin 0 -> 65271 bytes
 next/examples/data/thumb-dark/line-function.webp   |    Bin 0 -> 9258 bytes
 next/examples/data/thumb-dark/line-gradient.jpg    |    Bin 0 -> 22315 bytes
 next/examples/data/thumb-dark/line-gradient.png    |    Bin 0 -> 69692 bytes
 next/examples/data/thumb-dark/line-gradient.webp   |    Bin 0 -> 14218 bytes
 next/examples/data/thumb-dark/line-graphic.jpg     |    Bin 0 -> 24281 bytes
 next/examples/data/thumb-dark/line-graphic.png     |    Bin 0 -> 68016 bytes
 next/examples/data/thumb-dark/line-graphic.webp    |    Bin 0 -> 12552 bytes
 .../line-in-cartesian-coordinate-system.jpg        |    Bin 0 -> 15250 bytes
 .../line-in-cartesian-coordinate-system.png        |    Bin 0 -> 26084 bytes
 .../line-in-cartesian-coordinate-system.webp       |    Bin 0 -> 4804 bytes
 next/examples/data/thumb-dark/line-log.jpg         |    Bin 0 -> 35706 bytes
 next/examples/data/thumb-dark/line-log.png         |    Bin 0 -> 49919 bytes
 next/examples/data/thumb-dark/line-log.webp        |    Bin 0 -> 9340 bytes
 next/examples/data/thumb-dark/line-marker.jpg      |    Bin 0 -> 24050 bytes
 next/examples/data/thumb-dark/line-marker.png      |    Bin 0 -> 53616 bytes
 next/examples/data/thumb-dark/line-marker.webp     |    Bin 0 -> 12826 bytes
 next/examples/data/thumb-dark/line-markline.jpg    |    Bin 0 -> 13966 bytes
 next/examples/data/thumb-dark/line-markline.png    |    Bin 0 -> 85920 bytes
 next/examples/data/thumb-dark/line-markline.webp   |    Bin 0 -> 17462 bytes
 next/examples/data/thumb-dark/line-pen.jpg         |    Bin 0 -> 17608 bytes
 next/examples/data/thumb-dark/line-pen.png         |    Bin 0 -> 33752 bytes
 next/examples/data/thumb-dark/line-pen.webp        |    Bin 0 -> 5814 bytes
 next/examples/data/thumb-dark/line-polar.jpg       |    Bin 0 -> 21643 bytes
 next/examples/data/thumb-dark/line-polar.png       |    Bin 0 -> 78314 bytes
 next/examples/data/thumb-dark/line-polar.webp      |    Bin 0 -> 11402 bytes
 next/examples/data/thumb-dark/line-polar2.jpg      |    Bin 0 -> 26303 bytes
 next/examples/data/thumb-dark/line-polar2.png      |    Bin 0 -> 105405 bytes
 next/examples/data/thumb-dark/line-polar2.webp     |    Bin 0 -> 16636 bytes
 next/examples/data/thumb-dark/line-sections.jpg    |    Bin 0 -> 17290 bytes
 next/examples/data/thumb-dark/line-sections.png    |    Bin 0 -> 42450 bytes
 next/examples/data/thumb-dark/line-sections.webp   |    Bin 0 -> 7134 bytes
 next/examples/data/thumb-dark/line-simple.jpg      |    Bin 0 -> 12736 bytes
 next/examples/data/thumb-dark/line-simple.png      |    Bin 0 -> 22356 bytes
 next/examples/data/thumb-dark/line-simple.webp     |    Bin 0 -> 4156 bytes
 next/examples/data/thumb-dark/line-smooth.jpg      |    Bin 0 -> 12740 bytes
 next/examples/data/thumb-dark/line-smooth.png      |    Bin 0 -> 19496 bytes
 next/examples/data/thumb-dark/line-smooth.webp     |    Bin 0 -> 3540 bytes
 next/examples/data/thumb-dark/line-stack.jpg       |    Bin 0 -> 25901 bytes
 next/examples/data/thumb-dark/line-stack.png       |    Bin 0 -> 66682 bytes
 next/examples/data/thumb-dark/line-stack.webp      |    Bin 0 -> 11744 bytes
 next/examples/data/thumb-dark/line-step.jpg        |    Bin 0 -> 19416 bytes
 next/examples/data/thumb-dark/line-step.png        |    Bin 0 -> 28568 bytes
 next/examples/data/thumb-dark/line-step.webp       |    Bin 0 -> 5918 bytes
 next/examples/data/thumb-dark/line-style.jpg       |    Bin 0 -> 13458 bytes
 next/examples/data/thumb-dark/line-style.png       |    Bin 0 -> 26728 bytes
 next/examples/data/thumb-dark/line-style.webp      |    Bin 0 -> 4828 bytes
 .../data/thumb-dark/line-tooltip-touch.jpg         |    Bin 0 -> 15750 bytes
 .../data/thumb-dark/line-tooltip-touch.png         |    Bin 0 -> 47973 bytes
 .../data/thumb-dark/line-tooltip-touch.webp        |    Bin 0 -> 7586 bytes
 next/examples/data/thumb-dark/line-y-category.jpg  |    Bin 0 -> 17553 bytes
 next/examples/data/thumb-dark/line-y-category.png  |    Bin 0 -> 57002 bytes
 next/examples/data/thumb-dark/line-y-category.webp |    Bin 0 -> 7614 bytes
 next/examples/data/thumb-dark/lines-airline.jpg    |    Bin 0 -> 31827 bytes
 next/examples/data/thumb-dark/lines-airline.png    |    Bin 0 -> 334613 bytes
 next/examples/data/thumb-dark/lines-airline.webp   |    Bin 0 -> 23010 bytes
 next/examples/data/thumb-dark/lines-bmap-bus.jpg   |    Bin 0 -> 24053 bytes
 next/examples/data/thumb-dark/lines-bmap-bus.png   |    Bin 0 -> 206636 bytes
 next/examples/data/thumb-dark/lines-bmap-bus.webp  |    Bin 0 -> 24362 bytes
 .../examples/data/thumb-dark/lines-bmap-effect.jpg |    Bin 0 -> 135693 bytes
 .../examples/data/thumb-dark/lines-bmap-effect.png |    Bin 0 -> 290164 bytes
 .../data/thumb-dark/lines-bmap-effect.webp         |    Bin 0 -> 36240 bytes
 next/examples/data/thumb-dark/lines-bmap.jpg       |    Bin 0 -> 10154 bytes
 next/examples/data/thumb-dark/lines-bmap.png       |    Bin 0 -> 99605 bytes
 next/examples/data/thumb-dark/lines-bmap.webp      |    Bin 0 -> 11702 bytes
 next/examples/data/thumb-dark/lines-ny.jpg         |    Bin 0 -> 5240 bytes
 next/examples/data/thumb-dark/lines-ny.png         |    Bin 0 -> 392530 bytes
 next/examples/data/thumb-dark/lines-ny.webp        |    Bin 0 -> 61566 bytes
 next/examples/data/thumb-dark/map-HK.jpg           |    Bin 0 -> 28451 bytes
 next/examples/data/thumb-dark/map-HK.png           |    Bin 0 -> 126651 bytes
 next/examples/data/thumb-dark/map-HK.webp          |    Bin 0 -> 19390 bytes
 next/examples/data/thumb-dark/map-bin.jpg          |    Bin 0 -> 29984 bytes
 next/examples/data/thumb-dark/map-bin.png          |    Bin 0 -> 101995 bytes
 next/examples/data/thumb-dark/map-bin.webp         |    Bin 0 -> 15624 bytes
 .../data/thumb-dark/map-china-dataRange.jpg        |    Bin 0 -> 27963 bytes
 .../data/thumb-dark/map-china-dataRange.png        |    Bin 0 -> 110573 bytes
 .../data/thumb-dark/map-china-dataRange.webp       |    Bin 0 -> 15140 bytes
 next/examples/data/thumb-dark/map-china.jpg        |    Bin 0 -> 23904 bytes
 next/examples/data/thumb-dark/map-china.png        |    Bin 0 -> 88015 bytes
 next/examples/data/thumb-dark/map-china.webp       |    Bin 0 -> 14150 bytes
 next/examples/data/thumb-dark/map-labels.jpg       |    Bin 0 -> 32703 bytes
 next/examples/data/thumb-dark/map-labels.png       |    Bin 0 -> 111933 bytes
 next/examples/data/thumb-dark/map-labels.webp      |    Bin 0 -> 20762 bytes
 next/examples/data/thumb-dark/map-locate.jpg       |    Bin 0 -> 23824 bytes
 next/examples/data/thumb-dark/map-locate.png       |    Bin 0 -> 58691 bytes
 next/examples/data/thumb-dark/map-locate.webp      |    Bin 0 -> 8792 bytes
 .../data/thumb-dark/map-parallel-prices.jpg        |    Bin 0 -> 36598 bytes
 next/examples/data/thumb-dark/map-polygon.jpg      |    Bin 0 -> 31250 bytes
 next/examples/data/thumb-dark/map-polygon.png      |    Bin 0 -> 172233 bytes
 next/examples/data/thumb-dark/map-polygon.webp     |    Bin 0 -> 25150 bytes
 next/examples/data/thumb-dark/map-province.jpg     |    Bin 0 -> 13113 bytes
 next/examples/data/thumb-dark/map-province.png     |    Bin 0 -> 5014 bytes
 next/examples/data/thumb-dark/map-province.webp    |    Bin 0 -> 1012 bytes
 next/examples/data/thumb-dark/map-usa.jpg          |    Bin 0 -> 17596 bytes
 next/examples/data/thumb-dark/map-usa.png          |    Bin 0 -> 79993 bytes
 next/examples/data/thumb-dark/map-usa.webp         |    Bin 0 -> 10442 bytes
 .../data/thumb-dark/map-world-dataRange.jpg        |    Bin 0 -> 25250 bytes
 .../data/thumb-dark/map-world-dataRange.png        |    Bin 0 -> 119190 bytes
 .../data/thumb-dark/map-world-dataRange.webp       |    Bin 0 -> 17082 bytes
 next/examples/data/thumb-dark/map-world.jpg        |    Bin 0 -> 18409 bytes
 next/examples/data/thumb-dark/map-world.png        |    Bin 0 -> 81521 bytes
 next/examples/data/thumb-dark/map-world.webp       |    Bin 0 -> 12432 bytes
 next/examples/data/thumb-dark/mix-line-bar.jpg     |    Bin 0 -> 24232 bytes
 next/examples/data/thumb-dark/mix-line-bar.png     |    Bin 0 -> 48610 bytes
 next/examples/data/thumb-dark/mix-line-bar.webp    |    Bin 0 -> 10436 bytes
 .../data/thumb-dark/mix-timeline-finance.jpg       |    Bin 0 -> 35302 bytes
 .../data/thumb-dark/mix-timeline-finance.png       |    Bin 0 -> 89101 bytes
 .../data/thumb-dark/mix-timeline-finance.webp      |    Bin 0 -> 17558 bytes
 .../examples/data/thumb-dark/mix-zoom-on-value.jpg |    Bin 0 -> 28737 bytes
 .../examples/data/thumb-dark/mix-zoom-on-value.png |    Bin 0 -> 52600 bytes
 .../data/thumb-dark/mix-zoom-on-value.webp         |    Bin 0 -> 9984 bytes
 next/examples/data/thumb-dark/multiple-x-axis.jpg  |    Bin 0 -> 18931 bytes
 next/examples/data/thumb-dark/multiple-x-axis.png  |    Bin 0 -> 48794 bytes
 next/examples/data/thumb-dark/multiple-x-axis.webp |    Bin 0 -> 8262 bytes
 next/examples/data/thumb-dark/multiple-y-axis.jpg  |    Bin 0 -> 25246 bytes
 next/examples/data/thumb-dark/multiple-y-axis.png  |    Bin 0 -> 54650 bytes
 next/examples/data/thumb-dark/multiple-y-axis.webp |    Bin 0 -> 10514 bytes
 next/examples/data/thumb-dark/parallel-aqi.jpg     |    Bin 0 -> 39649 bytes
 next/examples/data/thumb-dark/parallel-aqi.png     |    Bin 0 -> 254775 bytes
 next/examples/data/thumb-dark/parallel-aqi.webp    |    Bin 0 -> 31712 bytes
 .../data/thumb-dark/parallel-nutrients.jpg         |    Bin 0 -> 47250 bytes
 .../data/thumb-dark/parallel-nutrients.png         |    Bin 0 -> 332128 bytes
 .../data/thumb-dark/parallel-nutrients.webp        |    Bin 0 -> 31622 bytes
 next/examples/data/thumb-dark/parallel-simple.jpg  |    Bin 0 -> 12791 bytes
 next/examples/data/thumb-dark/parallel-simple.png  |    Bin 0 -> 43254 bytes
 next/examples/data/thumb-dark/parallel-simple.webp |    Bin 0 -> 6444 bytes
 .../data/thumb-dark/pictorialBar-body-fill.jpg     |    Bin 0 -> 17612 bytes
 .../data/thumb-dark/pictorialBar-body-fill.png     |    Bin 0 -> 58646 bytes
 .../data/thumb-dark/pictorialBar-body-fill.webp    |    Bin 0 -> 9682 bytes
 .../data/thumb-dark/pictorialBar-dotted.jpg        |    Bin 0 -> 25017 bytes
 .../data/thumb-dark/pictorialBar-dotted.png        |    Bin 0 -> 98932 bytes
 .../data/thumb-dark/pictorialBar-dotted.webp       |    Bin 0 -> 13840 bytes
 .../data/thumb-dark/pictorialBar-forest.jpg        |    Bin 0 -> 5367 bytes
 .../data/thumb-dark/pictorialBar-forest.png        |    Bin 0 -> 74379 bytes
 .../data/thumb-dark/pictorialBar-forest.webp       |    Bin 0 -> 8966 bytes
 .../examples/data/thumb-dark/pictorialBar-hill.jpg |    Bin 0 -> 28083 bytes
 .../examples/data/thumb-dark/pictorialBar-hill.png |    Bin 0 -> 199684 bytes
 .../data/thumb-dark/pictorialBar-hill.webp         |    Bin 0 -> 20824 bytes
 .../data/thumb-dark/pictorialBar-spirit.jpg        |    Bin 0 -> 19949 bytes
 .../data/thumb-dark/pictorialBar-spirit.png        |    Bin 0 -> 109766 bytes
 .../data/thumb-dark/pictorialBar-spirit.webp       |    Bin 0 -> 14960 bytes
 .../data/thumb-dark/pictorialBar-vehicle.jpg       |    Bin 0 -> 17587 bytes
 .../data/thumb-dark/pictorialBar-vehicle.png       |    Bin 0 -> 72717 bytes
 .../data/thumb-dark/pictorialBar-vehicle.webp      |    Bin 0 -> 14526 bytes
 .../data/thumb-dark/pictorialBar-velocity.jpg      |    Bin 0 -> 10957 bytes
 .../data/thumb-dark/pictorialBar-velocity.png      |    Bin 0 -> 42423 bytes
 .../data/thumb-dark/pictorialBar-velocity.webp     |    Bin 0 -> 7270 bytes
 next/examples/data/thumb-dark/pie-alignTo.jpg      |    Bin 0 -> 15523 bytes
 next/examples/data/thumb-dark/pie-alignTo.png      |    Bin 0 -> 50783 bytes
 next/examples/data/thumb-dark/pie-alignTo.webp     |    Bin 0 -> 9426 bytes
 next/examples/data/thumb-dark/pie-borderRadius.png |    Bin 0 -> 44686 bytes
 .../examples/data/thumb-dark/pie-borderRadius.webp |    Bin 0 -> 7436 bytes
 next/examples/data/thumb-dark/pie-custom.jpg       |    Bin 0 -> 7785 bytes
 next/examples/data/thumb-dark/pie-custom.png       |    Bin 0 -> 53703 bytes
 next/examples/data/thumb-dark/pie-custom.webp      |    Bin 0 -> 5488 bytes
 next/examples/data/thumb-dark/pie-doughnut.jpg     |    Bin 0 -> 12261 bytes
 next/examples/data/thumb-dark/pie-doughnut.png     |    Bin 0 -> 37140 bytes
 next/examples/data/thumb-dark/pie-doughnut.webp    |    Bin 0 -> 6256 bytes
 .../data/thumb-dark/pie-labelLine-adjust.png       |    Bin 0 -> 98981 bytes
 .../data/thumb-dark/pie-labelLine-adjust.webp      |    Bin 0 -> 16716 bytes
 next/examples/data/thumb-dark/pie-legend.jpg       |    Bin 0 -> 19092 bytes
 next/examples/data/thumb-dark/pie-legend.png       |    Bin 0 -> 206365 bytes
 next/examples/data/thumb-dark/pie-legend.webp      |    Bin 0 -> 32200 bytes
 next/examples/data/thumb-dark/pie-nest.jpg         |    Bin 0 -> 25117 bytes
 next/examples/data/thumb-dark/pie-nest.png         |    Bin 0 -> 103140 bytes
 next/examples/data/thumb-dark/pie-nest.webp        |    Bin 0 -> 17336 bytes
 next/examples/data/thumb-dark/pie-pattern.jpg      |    Bin 0 -> 39635 bytes
 next/examples/data/thumb-dark/pie-pattern.png      |    Bin 0 -> 548395 bytes
 next/examples/data/thumb-dark/pie-pattern.webp     |    Bin 0 -> 27432 bytes
 next/examples/data/thumb-dark/pie-rich-text.jpg    |    Bin 0 -> 14597 bytes
 next/examples/data/thumb-dark/pie-rich-text.png    |    Bin 0 -> 52215 bytes
 next/examples/data/thumb-dark/pie-rich-text.webp   |    Bin 0 -> 7978 bytes
 .../data/thumb-dark/pie-roseType-simple.png        |    Bin 0 -> 44581 bytes
 .../data/thumb-dark/pie-roseType-simple.webp       |    Bin 0 -> 8346 bytes
 next/examples/data/thumb-dark/pie-roseType.jpg     |    Bin 0 -> 17638 bytes
 next/examples/data/thumb-dark/pie-roseType.png     |    Bin 0 -> 51301 bytes
 next/examples/data/thumb-dark/pie-roseType.webp    |    Bin 0 -> 8670 bytes
 next/examples/data/thumb-dark/pie-rounded.png      |    Bin 0 -> 46117 bytes
 next/examples/data/thumb-dark/pie-rounded.webp     |    Bin 0 -> 7826 bytes
 next/examples/data/thumb-dark/pie-simple.jpg       |    Bin 0 -> 15314 bytes
 next/examples/data/thumb-dark/pie-simple.png       |    Bin 0 -> 46250 bytes
 next/examples/data/thumb-dark/pie-simple.webp      |    Bin 0 -> 7706 bytes
 next/examples/data/thumb-dark/polar-roundCap.jpg   |    Bin 0 -> 18034 bytes
 next/examples/data/thumb-dark/polar-roundCap.png   |    Bin 0 -> 113715 bytes
 next/examples/data/thumb-dark/polar-roundCap.webp  |    Bin 0 -> 14762 bytes
 next/examples/data/thumb-dark/radar-aqi.jpg        |    Bin 0 -> 17576 bytes
 next/examples/data/thumb-dark/radar-aqi.png        |    Bin 0 -> 110193 bytes
 next/examples/data/thumb-dark/radar-aqi.webp       |    Bin 0 -> 10082 bytes
 next/examples/data/thumb-dark/radar-custom.jpg     |    Bin 0 -> 22825 bytes
 next/examples/data/thumb-dark/radar-custom.png     |    Bin 0 -> 120013 bytes
 next/examples/data/thumb-dark/radar-custom.webp    |    Bin 0 -> 13334 bytes
 next/examples/data/thumb-dark/radar-multiple.jpg   |    Bin 0 -> 23247 bytes
 next/examples/data/thumb-dark/radar-multiple.png   |    Bin 0 -> 80817 bytes
 next/examples/data/thumb-dark/radar-multiple.webp  |    Bin 0 -> 12786 bytes
 next/examples/data/thumb-dark/radar.jpg            |    Bin 0 -> 23514 bytes
 next/examples/data/thumb-dark/radar.png            |    Bin 0 -> 94521 bytes
 next/examples/data/thumb-dark/radar.webp           |    Bin 0 -> 15306 bytes
 next/examples/data/thumb-dark/radar2.jpg           |    Bin 0 -> 24691 bytes
 next/examples/data/thumb-dark/radar2.png           |    Bin 0 -> 136669 bytes
 next/examples/data/thumb-dark/radar2.webp          |    Bin 0 -> 17380 bytes
 next/examples/data/thumb-dark/sankey-energy.jpg    |    Bin 0 -> 28461 bytes
 next/examples/data/thumb-dark/sankey-energy.png    |    Bin 0 -> 203310 bytes
 next/examples/data/thumb-dark/sankey-energy.webp   |    Bin 0 -> 24838 bytes
 next/examples/data/thumb-dark/sankey-itemstyle.jpg |    Bin 0 -> 29334 bytes
 next/examples/data/thumb-dark/sankey-itemstyle.png |    Bin 0 -> 140610 bytes
 .../examples/data/thumb-dark/sankey-itemstyle.webp |    Bin 0 -> 19390 bytes
 next/examples/data/thumb-dark/sankey-levels.jpg    |    Bin 0 -> 30739 bytes
 next/examples/data/thumb-dark/sankey-levels.png    |    Bin 0 -> 155780 bytes
 next/examples/data/thumb-dark/sankey-levels.webp   |    Bin 0 -> 22572 bytes
 .../data/thumb-dark/sankey-nodeAlign-left.jpg      |    Bin 0 -> 25349 bytes
 .../data/thumb-dark/sankey-nodeAlign-left.png      |    Bin 0 -> 172700 bytes
 .../data/thumb-dark/sankey-nodeAlign-left.webp     |    Bin 0 -> 23722 bytes
 .../data/thumb-dark/sankey-nodeAlign-right.jpg     |    Bin 0 -> 25021 bytes
 .../data/thumb-dark/sankey-nodeAlign-right.png     |    Bin 0 -> 166362 bytes
 .../data/thumb-dark/sankey-nodeAlign-right.webp    |    Bin 0 -> 23572 bytes
 next/examples/data/thumb-dark/sankey-simple.jpg    |    Bin 0 -> 6370 bytes
 next/examples/data/thumb-dark/sankey-simple.png    |    Bin 0 -> 22358 bytes
 next/examples/data/thumb-dark/sankey-simple.webp   |    Bin 0 -> 2222 bytes
 next/examples/data/thumb-dark/sankey-vertical.jpg  |    Bin 0 -> 7570 bytes
 next/examples/data/thumb-dark/sankey-vertical.png  |    Bin 0 -> 23625 bytes
 next/examples/data/thumb-dark/sankey-vertical.webp |    Bin 0 -> 1980 bytes
 .../data/thumb-dark/scatter-anscombe-quartet.jpg   |    Bin 0 -> 32679 bytes
 .../data/thumb-dark/scatter-anscombe-quartet.png   |    Bin 0 -> 51428 bytes
 .../data/thumb-dark/scatter-anscombe-quartet.webp  |    Bin 0 -> 12338 bytes
 .../examples/data/thumb-dark/scatter-aqi-color.jpg |    Bin 0 -> 23760 bytes
 .../examples/data/thumb-dark/scatter-aqi-color.png |    Bin 0 -> 129793 bytes
 .../data/thumb-dark/scatter-aqi-color.webp         |    Bin 0 -> 13874 bytes
 .../data/thumb-dark/scatter-clustering-process.jpg |    Bin 0 -> 21266 bytes
 .../data/thumb-dark/scatter-clustering-process.png |    Bin 0 -> 54454 bytes
 .../thumb-dark/scatter-clustering-process.webp     |    Bin 0 -> 7800 bytes
 .../data/thumb-dark/scatter-clustering.png         |    Bin 0 -> 53067 bytes
 .../data/thumb-dark/scatter-clustering.webp        |    Bin 0 -> 7130 bytes
 next/examples/data/thumb-dark/scatter-effect.jpg   |    Bin 0 -> 22847 bytes
 next/examples/data/thumb-dark/scatter-effect.png   |    Bin 0 -> 64385 bytes
 next/examples/data/thumb-dark/scatter-effect.webp  |    Bin 0 -> 11458 bytes
 .../thumb-dark/scatter-exponential-regression.jpg  |    Bin 0 -> 31176 bytes
 .../thumb-dark/scatter-exponential-regression.png  |    Bin 0 -> 60438 bytes
 .../thumb-dark/scatter-exponential-regression.webp |    Bin 0 -> 13990 bytes
 .../data/thumb-dark/scatter-label-align-right.png  |    Bin 0 -> 96812 bytes
 .../data/thumb-dark/scatter-label-align-right.webp |    Bin 0 -> 15436 bytes
 .../data/thumb-dark/scatter-label-align-top.png    |    Bin 0 -> 45372 bytes
 .../data/thumb-dark/scatter-label-align-top.webp   |    Bin 0 -> 7888 bytes
 next/examples/data/thumb-dark/scatter-large.jpg    |    Bin 0 -> 22127 bytes
 next/examples/data/thumb-dark/scatter-large.png    |    Bin 0 -> 108121 bytes
 next/examples/data/thumb-dark/scatter-large.webp   |    Bin 0 -> 12102 bytes
 .../scatter-life-expectancy-timeline.jpg           |    Bin 0 -> 17892 bytes
 .../scatter-life-expectancy-timeline.png           |    Bin 0 -> 68279 bytes
 .../scatter-life-expectancy-timeline.webp          |    Bin 0 -> 11166 bytes
 .../data/thumb-dark/scatter-linear-regression.jpg  |    Bin 0 -> 21204 bytes
 .../data/thumb-dark/scatter-linear-regression.png  |    Bin 0 -> 50144 bytes
 .../data/thumb-dark/scatter-linear-regression.webp |    Bin 0 -> 11306 bytes
 .../thumb-dark/scatter-logarithmic-regression.jpg  |    Bin 0 -> 23278 bytes
 .../thumb-dark/scatter-logarithmic-regression.png  |    Bin 0 -> 74588 bytes
 .../thumb-dark/scatter-logarithmic-regression.webp |    Bin 0 -> 15220 bytes
 .../examples/data/thumb-dark/scatter-map-brush.jpg |    Bin 0 -> 33156 bytes
 .../examples/data/thumb-dark/scatter-map-brush.png |    Bin 0 -> 146273 bytes
 .../data/thumb-dark/scatter-map-brush.webp         |    Bin 0 -> 18862 bytes
 next/examples/data/thumb-dark/scatter-map.jpg      |    Bin 0 -> 18446 bytes
 next/examples/data/thumb-dark/scatter-map.png      |    Bin 0 -> 103620 bytes
 next/examples/data/thumb-dark/scatter-map.webp     |    Bin 0 -> 10512 bytes
 next/examples/data/thumb-dark/scatter-matrix.jpg   |    Bin 0 -> 37526 bytes
 next/examples/data/thumb-dark/scatter-matrix.png   |    Bin 0 -> 181894 bytes
 next/examples/data/thumb-dark/scatter-matrix.webp  |    Bin 0 -> 26116 bytes
 next/examples/data/thumb-dark/scatter-nebula.jpg   |    Bin 0 -> 35267 bytes
 next/examples/data/thumb-dark/scatter-nebula.png   |    Bin 0 -> 157413 bytes
 next/examples/data/thumb-dark/scatter-nebula.webp  |    Bin 0 -> 17752 bytes
 .../data/thumb-dark/scatter-nutrients-matrix.jpg   |    Bin 0 -> 28133 bytes
 .../data/thumb-dark/scatter-nutrients-matrix.png   |    Bin 0 -> 120411 bytes
 .../data/thumb-dark/scatter-nutrients-matrix.webp  |    Bin 0 -> 19058 bytes
 .../examples/data/thumb-dark/scatter-nutrients.jpg |    Bin 0 -> 10796 bytes
 .../examples/data/thumb-dark/scatter-nutrients.png |    Bin 0 -> 54973 bytes
 .../data/thumb-dark/scatter-nutrients.webp         |    Bin 0 -> 7566 bytes
 .../data/thumb-dark/scatter-painter-choice.jpg     |    Bin 0 -> 28351 bytes
 .../data/thumb-dark/scatter-painter-choice.png     |    Bin 0 -> 183741 bytes
 .../data/thumb-dark/scatter-painter-choice.webp    |    Bin 0 -> 19114 bytes
 .../data/thumb-dark/scatter-polar-punchCard.jpg    |    Bin 0 -> 22093 bytes
 .../data/thumb-dark/scatter-polar-punchCard.png    |    Bin 0 -> 83426 bytes
 .../data/thumb-dark/scatter-polar-punchCard.webp   |    Bin 0 -> 12730 bytes
 .../thumb-dark/scatter-polynomial-regression.jpg   |    Bin 0 -> 35523 bytes
 .../thumb-dark/scatter-polynomial-regression.png   |    Bin 0 -> 90271 bytes
 .../thumb-dark/scatter-polynomial-regression.webp  |    Bin 0 -> 23644 bytes
 .../examples/data/thumb-dark/scatter-punchCard.jpg |    Bin 0 -> 24623 bytes
 .../examples/data/thumb-dark/scatter-punchCard.png |    Bin 0 -> 67072 bytes
 .../data/thumb-dark/scatter-punchCard.webp         |    Bin 0 -> 12250 bytes
 next/examples/data/thumb-dark/scatter-simple.jpg   |    Bin 0 -> 16319 bytes
 next/examples/data/thumb-dark/scatter-simple.png   |    Bin 0 -> 25657 bytes
 next/examples/data/thumb-dark/scatter-simple.webp  |    Bin 0 -> 4214 bytes
 .../data/thumb-dark/scatter-single-axis.jpg        |    Bin 0 -> 29768 bytes
 .../data/thumb-dark/scatter-single-axis.png        |    Bin 0 -> 99984 bytes
 .../data/thumb-dark/scatter-single-axis.webp       |    Bin 0 -> 18370 bytes
 .../data/thumb-dark/scatter-stream-visual.jpg      |    Bin 0 -> 37344 bytes
 .../data/thumb-dark/scatter-stream-visual.png      |    Bin 0 -> 183127 bytes
 .../data/thumb-dark/scatter-stream-visual.webp     |    Bin 0 -> 27020 bytes
 next/examples/data/thumb-dark/scatter-weibo.jpg    |    Bin 0 -> 33738 bytes
 next/examples/data/thumb-dark/scatter-weibo.png    |    Bin 0 -> 212790 bytes
 next/examples/data/thumb-dark/scatter-weibo.webp   |    Bin 0 -> 23052 bytes
 next/examples/data/thumb-dark/scatter-weight.jpg   |    Bin 0 -> 33898 bytes
 next/examples/data/thumb-dark/scatter-weight.png   |    Bin 0 -> 135930 bytes
 next/examples/data/thumb-dark/scatter-weight.webp  |    Bin 0 -> 26394 bytes
 .../data/thumb-dark/scatter-world-population.jpg   |    Bin 0 -> 15647 bytes
 .../data/thumb-dark/scatter-world-population.png   |    Bin 0 -> 88956 bytes
 .../data/thumb-dark/scatter-world-population.webp  |    Bin 0 -> 9546 bytes
 next/examples/data/thumb-dark/sunburst-book.jpg    |    Bin 0 -> 36905 bytes
 next/examples/data/thumb-dark/sunburst-book.png    |    Bin 0 -> 159000 bytes
 next/examples/data/thumb-dark/sunburst-book.webp   |    Bin 0 -> 17130 bytes
 .../data/thumb-dark/sunburst-borderRadius.png      |    Bin 0 -> 49932 bytes
 .../data/thumb-dark/sunburst-borderRadius.webp     |    Bin 0 -> 7158 bytes
 next/examples/data/thumb-dark/sunburst-drink.jpg   |    Bin 0 -> 56335 bytes
 next/examples/data/thumb-dark/sunburst-drink.png   |    Bin 0 -> 168339 bytes
 next/examples/data/thumb-dark/sunburst-drink.webp  |    Bin 0 -> 26846 bytes
 .../data/thumb-dark/sunburst-label-rotate.jpg      |    Bin 0 -> 19590 bytes
 .../data/thumb-dark/sunburst-label-rotate.png      |    Bin 0 -> 67623 bytes
 .../data/thumb-dark/sunburst-label-rotate.webp     |    Bin 0 -> 10904 bytes
 .../data/thumb-dark/sunburst-monochrome.jpg        |    Bin 0 -> 19825 bytes
 .../data/thumb-dark/sunburst-monochrome.png        |    Bin 0 -> 70658 bytes
 .../data/thumb-dark/sunburst-monochrome.webp       |    Bin 0 -> 12028 bytes
 next/examples/data/thumb-dark/sunburst-simple.jpg  |    Bin 0 -> 15405 bytes
 next/examples/data/thumb-dark/sunburst-simple.png  |    Bin 0 -> 59939 bytes
 next/examples/data/thumb-dark/sunburst-simple.webp |    Bin 0 -> 8172 bytes
 .../data/thumb-dark/sunburst-visualMap.jpg         |    Bin 0 -> 18115 bytes
 .../data/thumb-dark/sunburst-visualMap.png         |    Bin 0 -> 82982 bytes
 .../data/thumb-dark/sunburst-visualMap.webp        |    Bin 0 -> 10712 bytes
 next/examples/data/thumb-dark/themeRiver-basic.jpg |    Bin 0 -> 22636 bytes
 next/examples/data/thumb-dark/themeRiver-basic.png |    Bin 0 -> 79406 bytes
 .../examples/data/thumb-dark/themeRiver-basic.webp |    Bin 0 -> 12512 bytes
 .../examples/data/thumb-dark/themeRiver-lastfm.jpg |    Bin 0 -> 25746 bytes
 .../examples/data/thumb-dark/themeRiver-lastfm.png |    Bin 0 -> 136893 bytes
 .../data/thumb-dark/themeRiver-lastfm.webp         |    Bin 0 -> 16668 bytes
 next/examples/data/thumb-dark/tree-basic.jpg       |    Bin 0 -> 26096 bytes
 next/examples/data/thumb-dark/tree-basic.png       |    Bin 0 -> 142159 bytes
 next/examples/data/thumb-dark/tree-basic.webp      |    Bin 0 -> 23354 bytes
 next/examples/data/thumb-dark/tree-legend.jpg      |    Bin 0 -> 26084 bytes
 next/examples/data/thumb-dark/tree-legend.png      |    Bin 0 -> 144095 bytes
 next/examples/data/thumb-dark/tree-legend.webp     |    Bin 0 -> 25886 bytes
 .../data/thumb-dark/tree-orient-bottom-top.jpg     |    Bin 0 -> 32550 bytes
 .../data/thumb-dark/tree-orient-bottom-top.png     |    Bin 0 -> 190912 bytes
 .../data/thumb-dark/tree-orient-bottom-top.webp    |    Bin 0 -> 35350 bytes
 .../data/thumb-dark/tree-orient-right-left.jpg     |    Bin 0 -> 28423 bytes
 .../data/thumb-dark/tree-orient-right-left.png     |    Bin 0 -> 161300 bytes
 .../data/thumb-dark/tree-orient-right-left.webp    |    Bin 0 -> 27966 bytes
 next/examples/data/thumb-dark/tree-polyline.jpg    |    Bin 0 -> 29121 bytes
 next/examples/data/thumb-dark/tree-polyline.png    |    Bin 0 -> 69799 bytes
 next/examples/data/thumb-dark/tree-polyline.webp   |    Bin 0 -> 11610 bytes
 next/examples/data/thumb-dark/tree-radial.jpg      |    Bin 0 -> 36685 bytes
 next/examples/data/thumb-dark/tree-radial.png      |    Bin 0 -> 241590 bytes
 next/examples/data/thumb-dark/tree-radial.webp     |    Bin 0 -> 47300 bytes
 next/examples/data/thumb-dark/tree-vertical.jpg    |    Bin 0 -> 31023 bytes
 next/examples/data/thumb-dark/tree-vertical.png    |    Bin 0 -> 173845 bytes
 next/examples/data/thumb-dark/tree-vertical.webp   |    Bin 0 -> 30878 bytes
 next/examples/data/thumb-dark/treemap-disk.jpg     |    Bin 0 -> 28359 bytes
 next/examples/data/thumb-dark/treemap-disk.png     |    Bin 0 -> 71114 bytes
 next/examples/data/thumb-dark/treemap-disk.webp    |    Bin 0 -> 15724 bytes
 .../data/thumb-dark/treemap-drill-down.jpg         |    Bin 0 -> 30632 bytes
 .../data/thumb-dark/treemap-drill-down.png         |    Bin 0 -> 83051 bytes
 .../data/thumb-dark/treemap-drill-down.webp        |    Bin 0 -> 16374 bytes
 next/examples/data/thumb-dark/treemap-obama.jpg    |    Bin 0 -> 29855 bytes
 next/examples/data/thumb-dark/treemap-obama.png    |    Bin 0 -> 109647 bytes
 next/examples/data/thumb-dark/treemap-obama.webp   |    Bin 0 -> 21156 bytes
 .../data/thumb-dark/treemap-show-parent.jpg        |    Bin 0 -> 27816 bytes
 .../data/thumb-dark/treemap-show-parent.png        |    Bin 0 -> 88942 bytes
 .../data/thumb-dark/treemap-show-parent.webp       |    Bin 0 -> 16584 bytes
 next/examples/data/thumb-dark/treemap-simple.jpg   |    Bin 0 -> 9035 bytes
 next/examples/data/thumb-dark/treemap-simple.png   |    Bin 0 -> 11053 bytes
 next/examples/data/thumb-dark/treemap-simple.webp  |    Bin 0 -> 2342 bytes
 next/examples/data/thumb-dark/treemap-visual.jpg   |    Bin 0 -> 24828 bytes
 next/examples/data/thumb-dark/treemap-visual.png   |    Bin 0 -> 75039 bytes
 next/examples/data/thumb-dark/treemap-visual.webp  |    Bin 0 -> 12782 bytes
 next/examples/data/thumb-dark/watermark.jpg        |    Bin 0 -> 23442 bytes
 next/examples/data/thumb-dark/watermark.png        |    Bin 0 -> 109128 bytes
 next/examples/data/thumb-dark/watermark.webp       |    Bin 0 -> 15946 bytes
 next/examples/data/thumb-dark/wind-barb.jpg        |    Bin 0 -> 36967 bytes
 next/examples/data/thumb-dark/wind-barb.png        |    Bin 0 -> 112038 bytes
 next/examples/data/thumb-dark/wind-barb.webp       |    Bin 0 -> 17104 bytes
 .../data/thumb-manual/lines-bmap-effect.png        |    Bin 0 -> 597492 bytes
 next/examples/data/thumb/area-basic.jpg            |    Bin 0 -> 10484 bytes
 next/examples/data/thumb/area-basic.png            |    Bin 0 -> 17067 bytes
 next/examples/data/thumb/area-basic.webp           |    Bin 0 -> 3318 bytes
 next/examples/data/thumb/area-pieces.jpg           |    Bin 0 -> 17219 bytes
 next/examples/data/thumb/area-pieces.png           |    Bin 0 -> 30997 bytes
 next/examples/data/thumb/area-pieces.webp          |    Bin 0 -> 7670 bytes
 next/examples/data/thumb/area-rainfall.jpg         |    Bin 0 -> 24777 bytes
 next/examples/data/thumb/area-rainfall.png         |    Bin 0 -> 70989 bytes
 next/examples/data/thumb/area-rainfall.webp        |    Bin 0 -> 10696 bytes
 next/examples/data/thumb/area-simple.jpg           |    Bin 0 -> 19869 bytes
 next/examples/data/thumb/area-simple.png           |    Bin 0 -> 48035 bytes
 next/examples/data/thumb/area-simple.webp          |    Bin 0 -> 8634 bytes
 next/examples/data/thumb/area-stack-gradient.png   |    Bin 0 -> 74444 bytes
 next/examples/data/thumb/area-stack-gradient.webp  |    Bin 0 -> 10830 bytes
 next/examples/data/thumb/area-stack.jpg            |    Bin 0 -> 20116 bytes
 next/examples/data/thumb/area-stack.png            |    Bin 0 -> 60580 bytes
 next/examples/data/thumb/area-stack.webp           |    Bin 0 -> 9768 bytes
 next/examples/data/thumb/area-time-axis.png        |    Bin 0 -> 48502 bytes
 next/examples/data/thumb/area-time-axis.webp       |    Bin 0 -> 8056 bytes
 next/examples/data/thumb/bar-animation-delay.jpg   |    Bin 0 -> 24711 bytes
 next/examples/data/thumb/bar-animation-delay.png   |    Bin 0 -> 37938 bytes
 next/examples/data/thumb/bar-animation-delay.webp  |    Bin 0 -> 9312 bytes
 next/examples/data/thumb/bar-background.jpg        |    Bin 0 -> 14506 bytes
 next/examples/data/thumb/bar-background.png        |    Bin 0 -> 15983 bytes
 next/examples/data/thumb/bar-background.webp       |    Bin 0 -> 3360 bytes
 next/examples/data/thumb/bar-brush.jpg             |    Bin 0 -> 20718 bytes
 next/examples/data/thumb/bar-brush.png             |    Bin 0 -> 22052 bytes
 next/examples/data/thumb/bar-brush.webp            |    Bin 0 -> 7286 bytes
 next/examples/data/thumb/bar-data-color.png        |    Bin 0 -> 13844 bytes
 next/examples/data/thumb/bar-data-color.webp       |    Bin 0 -> 3098 bytes
 next/examples/data/thumb/bar-gradient.jpg          |    Bin 0 -> 25448 bytes
 next/examples/data/thumb/bar-gradient.png          |    Bin 0 -> 52086 bytes
 next/examples/data/thumb/bar-gradient.webp         |    Bin 0 -> 9402 bytes
 next/examples/data/thumb/bar-histogram.jpg         |    Bin 0 -> 14846 bytes
 next/examples/data/thumb/bar-histogram.png         |    Bin 0 -> 31135 bytes
 next/examples/data/thumb/bar-histogram.webp        |    Bin 0 -> 5956 bytes
 next/examples/data/thumb/bar-label-rotation.jpg    |    Bin 0 -> 28331 bytes
 next/examples/data/thumb/bar-label-rotation.png    |    Bin 0 -> 40855 bytes
 next/examples/data/thumb/bar-label-rotation.webp   |    Bin 0 -> 11722 bytes
 next/examples/data/thumb/bar-large.jpg             |    Bin 0 -> 27541 bytes
 next/examples/data/thumb/bar-large.png             |    Bin 0 -> 102699 bytes
 next/examples/data/thumb/bar-large.webp            |    Bin 0 -> 11042 bytes
 next/examples/data/thumb/bar-negative.jpg          |    Bin 0 -> 28282 bytes
 next/examples/data/thumb/bar-negative.png          |    Bin 0 -> 38107 bytes
 next/examples/data/thumb/bar-negative.webp         |    Bin 0 -> 7910 bytes
 next/examples/data/thumb/bar-negative2.jpg         |    Bin 0 -> 15728 bytes
 next/examples/data/thumb/bar-negative2.png         |    Bin 0 -> 24067 bytes
 next/examples/data/thumb/bar-negative2.webp        |    Bin 0 -> 5282 bytes
 next/examples/data/thumb/bar-polar-real-estate.jpg |    Bin 0 -> 24676 bytes
 next/examples/data/thumb/bar-polar-real-estate.png |    Bin 0 -> 71484 bytes
 .../examples/data/thumb/bar-polar-real-estate.webp |    Bin 0 -> 11712 bytes
 .../examples/data/thumb/bar-polar-stack-radial.jpg |    Bin 0 -> 19258 bytes
 .../examples/data/thumb/bar-polar-stack-radial.png |    Bin 0 -> 65151 bytes
 .../data/thumb/bar-polar-stack-radial.webp         |    Bin 0 -> 8742 bytes
 next/examples/data/thumb/bar-polar-stack.jpg       |    Bin 0 -> 22027 bytes
 next/examples/data/thumb/bar-polar-stack.png       |    Bin 0 -> 67753 bytes
 next/examples/data/thumb/bar-polar-stack.webp      |    Bin 0 -> 10392 bytes
 next/examples/data/thumb/bar-race.png              |    Bin 0 -> 12027 bytes
 next/examples/data/thumb/bar-race.webp             |    Bin 0 -> 2640 bytes
 next/examples/data/thumb/bar-rich-text.jpg         |    Bin 0 -> 22839 bytes
 next/examples/data/thumb/bar-rich-text.png         |    Bin 0 -> 45262 bytes
 next/examples/data/thumb/bar-rich-text.webp        |    Bin 0 -> 8338 bytes
 next/examples/data/thumb/bar-simple.jpg            |    Bin 0 -> 13399 bytes
 next/examples/data/thumb/bar-simple.png            |    Bin 0 -> 13729 bytes
 next/examples/data/thumb/bar-simple.webp           |    Bin 0 -> 3126 bytes
 next/examples/data/thumb/bar-stack.jpg             |    Bin 0 -> 27407 bytes
 next/examples/data/thumb/bar-stack.png             |    Bin 0 -> 43000 bytes
 next/examples/data/thumb/bar-stack.webp            |    Bin 0 -> 9470 bytes
 next/examples/data/thumb/bar-tick-align.jpg        |    Bin 0 -> 13197 bytes
 next/examples/data/thumb/bar-tick-align.png        |    Bin 0 -> 13764 bytes
 next/examples/data/thumb/bar-tick-align.webp       |    Bin 0 -> 3044 bytes
 next/examples/data/thumb/bar-waterfall.jpg         |    Bin 0 -> 18402 bytes
 next/examples/data/thumb/bar-waterfall.png         |    Bin 0 -> 29980 bytes
 next/examples/data/thumb/bar-waterfall.webp        |    Bin 0 -> 6036 bytes
 next/examples/data/thumb/bar-waterfall2.jpg        |    Bin 0 -> 18511 bytes
 next/examples/data/thumb/bar-waterfall2.png        |    Bin 0 -> 29307 bytes
 next/examples/data/thumb/bar-waterfall2.webp       |    Bin 0 -> 6308 bytes
 next/examples/data/thumb/bar-y-category-stack.jpg  |    Bin 0 -> 26649 bytes
 next/examples/data/thumb/bar-y-category-stack.png  |    Bin 0 -> 53063 bytes
 next/examples/data/thumb/bar-y-category-stack.webp |    Bin 0 -> 10488 bytes
 next/examples/data/thumb/bar-y-category.jpg        |    Bin 0 -> 17817 bytes
 next/examples/data/thumb/bar-y-category.png        |    Bin 0 -> 28696 bytes
 next/examples/data/thumb/bar-y-category.webp       |    Bin 0 -> 5524 bytes
 next/examples/data/thumb/bar1.jpg                  |    Bin 0 -> 24690 bytes
 next/examples/data/thumb/bar1.png                  |    Bin 0 -> 38603 bytes
 next/examples/data/thumb/bar1.webp                 |    Bin 0 -> 9846 bytes
 .../examples/data/thumb/boxplot-light-velocity.jpg |    Bin 0 -> 17840 bytes
 .../examples/data/thumb/boxplot-light-velocity.png |    Bin 0 -> 27261 bytes
 .../data/thumb/boxplot-light-velocity.webp         |    Bin 0 -> 6418 bytes
 .../data/thumb/boxplot-light-velocity2.jpg         |    Bin 0 -> 17163 bytes
 .../data/thumb/boxplot-light-velocity2.png         |    Bin 0 -> 30209 bytes
 .../data/thumb/boxplot-light-velocity2.webp        |    Bin 0 -> 6474 bytes
 next/examples/data/thumb/boxplot-multi.jpg         |    Bin 0 -> 17339 bytes
 next/examples/data/thumb/boxplot-multi.png         |    Bin 0 -> 28536 bytes
 next/examples/data/thumb/boxplot-multi.webp        |    Bin 0 -> 6386 bytes
 next/examples/data/thumb/bubble-gradient.jpg       |    Bin 0 -> 18143 bytes
 next/examples/data/thumb/bubble-gradient.png       |    Bin 0 -> 207906 bytes
 next/examples/data/thumb/bubble-gradient.webp      |    Bin 0 -> 8266 bytes
 next/examples/data/thumb/calendar-charts.jpg       |    Bin 0 -> 21272 bytes
 next/examples/data/thumb/calendar-charts.png       |    Bin 0 -> 50092 bytes
 next/examples/data/thumb/calendar-charts.webp      |    Bin 0 -> 8698 bytes
 .../examples/data/thumb/calendar-effectscatter.jpg |    Bin 0 -> 45034 bytes
 .../examples/data/thumb/calendar-effectscatter.png |    Bin 0 -> 169178 bytes
 .../data/thumb/calendar-effectscatter.webp         |    Bin 0 -> 28916 bytes
 next/examples/data/thumb/calendar-graph.jpg        |    Bin 0 -> 18800 bytes
 next/examples/data/thumb/calendar-graph.png        |    Bin 0 -> 40134 bytes
 next/examples/data/thumb/calendar-graph.webp       |    Bin 0 -> 7320 bytes
 next/examples/data/thumb/calendar-heatmap.jpg      |    Bin 0 -> 23849 bytes
 next/examples/data/thumb/calendar-heatmap.png      |    Bin 0 -> 65044 bytes
 next/examples/data/thumb/calendar-heatmap.webp     |    Bin 0 -> 10834 bytes
 next/examples/data/thumb/calendar-horizontal.jpg   |    Bin 0 -> 46390 bytes
 next/examples/data/thumb/calendar-horizontal.png   |    Bin 0 -> 178267 bytes
 next/examples/data/thumb/calendar-horizontal.webp  |    Bin 0 -> 25228 bytes
 next/examples/data/thumb/calendar-lunar.jpg        |    Bin 0 -> 20195 bytes
 next/examples/data/thumb/calendar-lunar.png        |    Bin 0 -> 50556 bytes
 next/examples/data/thumb/calendar-lunar.webp       |    Bin 0 -> 8838 bytes
 next/examples/data/thumb/calendar-pie.jpg          |    Bin 0 -> 43510 bytes
 next/examples/data/thumb/calendar-pie.png          |    Bin 0 -> 124511 bytes
 next/examples/data/thumb/calendar-pie.webp         |    Bin 0 -> 20690 bytes
 next/examples/data/thumb/calendar-simple.jpg       |    Bin 0 -> 18187 bytes
 next/examples/data/thumb/calendar-simple.png       |    Bin 0 -> 43956 bytes
 next/examples/data/thumb/calendar-simple.webp      |    Bin 0 -> 7226 bytes
 next/examples/data/thumb/calendar-vertical.jpg     |    Bin 0 -> 36186 bytes
 next/examples/data/thumb/calendar-vertical.png     |    Bin 0 -> 138371 bytes
 next/examples/data/thumb/calendar-vertical.webp    |    Bin 0 -> 17694 bytes
 next/examples/data/thumb/candlestick-brush.jpg     |    Bin 0 -> 24875 bytes
 next/examples/data/thumb/candlestick-brush.png     |    Bin 0 -> 86832 bytes
 next/examples/data/thumb/candlestick-brush.webp    |    Bin 0 -> 14418 bytes
 next/examples/data/thumb/candlestick-large.jpg     |    Bin 0 -> 26741 bytes
 next/examples/data/thumb/candlestick-large.png     |    Bin 0 -> 75421 bytes
 next/examples/data/thumb/candlestick-large.webp    |    Bin 0 -> 12744 bytes
 next/examples/data/thumb/candlestick-sh-2015.jpg   |    Bin 0 -> 16524 bytes
 next/examples/data/thumb/candlestick-sh-2015.png   |    Bin 0 -> 53078 bytes
 next/examples/data/thumb/candlestick-sh-2015.webp  |    Bin 0 -> 9456 bytes
 next/examples/data/thumb/candlestick-sh.jpg        |    Bin 0 -> 33855 bytes
 next/examples/data/thumb/candlestick-sh.png        |    Bin 0 -> 95444 bytes
 next/examples/data/thumb/candlestick-sh.webp       |    Bin 0 -> 20148 bytes
 next/examples/data/thumb/candlestick-simple.jpg    |    Bin 0 -> 11098 bytes
 next/examples/data/thumb/candlestick-simple.png    |    Bin 0 -> 10971 bytes
 next/examples/data/thumb/candlestick-simple.webp   |    Bin 0 -> 3024 bytes
 next/examples/data/thumb/candlestick-touch.jpg     |    Bin 0 -> 23052 bytes
 next/examples/data/thumb/candlestick-touch.png     |    Bin 0 -> 53630 bytes
 next/examples/data/thumb/candlestick-touch.webp    |    Bin 0 -> 11262 bytes
 next/examples/data/thumb/confidence-band.jpg       |    Bin 0 -> 12859 bytes
 next/examples/data/thumb/confidence-band.png       |    Bin 0 -> 32496 bytes
 next/examples/data/thumb/confidence-band.webp      |    Bin 0 -> 5868 bytes
 next/examples/data/thumb/custom-bar-trend.jpg      |    Bin 0 -> 25456 bytes
 next/examples/data/thumb/custom-bar-trend.png      |    Bin 0 -> 45257 bytes
 next/examples/data/thumb/custom-bar-trend.webp     |    Bin 0 -> 8652 bytes
 next/examples/data/thumb/custom-calendar-icon.jpg  |    Bin 0 -> 19689 bytes
 next/examples/data/thumb/custom-calendar-icon.png  |    Bin 0 -> 32381 bytes
 next/examples/data/thumb/custom-calendar-icon.webp |    Bin 0 -> 8040 bytes
 .../data/thumb/custom-cartesian-polygon.jpg        |    Bin 0 -> 18317 bytes
 .../data/thumb/custom-cartesian-polygon.png        |    Bin 0 -> 40253 bytes
 .../data/thumb/custom-cartesian-polygon.webp       |    Bin 0 -> 6248 bytes
 .../data/thumb/custom-combine-separate-morph.png   |    Bin 0 -> 82666 bytes
 .../data/thumb/custom-combine-separate-morph.webp  |    Bin 0 -> 13280 bytes
 next/examples/data/thumb/custom-error-bar.jpg      |    Bin 0 -> 23319 bytes
 next/examples/data/thumb/custom-error-bar.png      |    Bin 0 -> 31943 bytes
 next/examples/data/thumb/custom-error-bar.webp     |    Bin 0 -> 8108 bytes
 next/examples/data/thumb/custom-error-scatter.jpg  |    Bin 0 -> 16077 bytes
 next/examples/data/thumb/custom-error-scatter.png  |    Bin 0 -> 35202 bytes
 next/examples/data/thumb/custom-error-scatter.webp |    Bin 0 -> 5610 bytes
 next/examples/data/thumb/custom-gantt-flight.jpg   |    Bin 0 -> 32781 bytes
 next/examples/data/thumb/custom-gantt-flight.png   |    Bin 0 -> 52657 bytes
 next/examples/data/thumb/custom-gantt-flight.webp  |    Bin 0 -> 11946 bytes
 next/examples/data/thumb/custom-gauge.png          |    Bin 0 -> 32419 bytes
 next/examples/data/thumb/custom-gauge.webp         |    Bin 0 -> 3904 bytes
 next/examples/data/thumb/custom-hexbin.jpg         |    Bin 0 -> 54215 bytes
 next/examples/data/thumb/custom-hexbin.png         |    Bin 0 -> 199758 bytes
 next/examples/data/thumb/custom-hexbin.webp        |    Bin 0 -> 33262 bytes
 next/examples/data/thumb/custom-ohlc.jpg           |    Bin 0 -> 19011 bytes
 next/examples/data/thumb/custom-ohlc.png           |    Bin 0 -> 38745 bytes
 next/examples/data/thumb/custom-ohlc.webp          |    Bin 0 -> 7448 bytes
 .../data/thumb/custom-one-to-one-morph.png         |    Bin 0 -> 24300 bytes
 .../data/thumb/custom-one-to-one-morph.webp        |    Bin 0 -> 3692 bytes
 next/examples/data/thumb/custom-polar-heatmap.jpg  |    Bin 0 -> 17523 bytes
 next/examples/data/thumb/custom-polar-heatmap.png  |    Bin 0 -> 101954 bytes
 next/examples/data/thumb/custom-polar-heatmap.webp |    Bin 0 -> 8664 bytes
 next/examples/data/thumb/custom-profile.jpg        |    Bin 0 -> 16657 bytes
 next/examples/data/thumb/custom-profile.png        |    Bin 0 -> 24344 bytes
 next/examples/data/thumb/custom-profile.webp       |    Bin 0 -> 5926 bytes
 next/examples/data/thumb/custom-profit.jpg         |    Bin 0 -> 12957 bytes
 next/examples/data/thumb/custom-profit.png         |    Bin 0 -> 17386 bytes
 next/examples/data/thumb/custom-profit.webp        |    Bin 0 -> 3542 bytes
 next/examples/data/thumb/custom-spiral-race.png    |    Bin 0 -> 92559 bytes
 next/examples/data/thumb/custom-spiral-race.webp   |    Bin 0 -> 12520 bytes
 .../data/thumb/custom-story-transition.png         |    Bin 0 -> 34726 bytes
 .../data/thumb/custom-story-transition.webp        |    Bin 0 -> 6576 bytes
 next/examples/data/thumb/custom-wind.jpg           |    Bin 0 -> 53212 bytes
 next/examples/data/thumb/custom-wind.png           |    Bin 0 -> 631616 bytes
 next/examples/data/thumb/custom-wind.webp          |    Bin 0 -> 43376 bytes
 next/examples/data/thumb/cycle-plot.jpg            |    Bin 0 -> 21428 bytes
 next/examples/data/thumb/cycle-plot.png            |    Bin 0 -> 46139 bytes
 next/examples/data/thumb/cycle-plot.webp           |    Bin 0 -> 9172 bytes
 next/examples/data/thumb/data-transform-filter.png |    Bin 0 -> 38640 bytes
 .../examples/data/thumb/data-transform-filter.webp |    Bin 0 -> 8486 bytes
 .../data/thumb/data-transform-multiple-pie.png     |    Bin 0 -> 30442 bytes
 .../data/thumb/data-transform-multiple-pie.webp    |    Bin 0 -> 5626 bytes
 .../data/thumb/data-transform-sort-bar.png         |    Bin 0 -> 22305 bytes
 .../data/thumb/data-transform-sort-bar.webp        |    Bin 0 -> 5092 bytes
 next/examples/data/thumb/dataset-default.jpg       |    Bin 0 -> 20847 bytes
 next/examples/data/thumb/dataset-default.png       |    Bin 0 -> 49333 bytes
 next/examples/data/thumb/dataset-default.webp      |    Bin 0 -> 10410 bytes
 next/examples/data/thumb/dataset-encode0.jpg       |    Bin 0 -> 17990 bytes
 next/examples/data/thumb/dataset-encode0.png       |    Bin 0 -> 33351 bytes
 next/examples/data/thumb/dataset-encode0.webp      |    Bin 0 -> 6094 bytes
 next/examples/data/thumb/dataset-encode1.jpg       |    Bin 0 -> 41510 bytes
 next/examples/data/thumb/dataset-encode1.png       |    Bin 0 -> 102372 bytes
 next/examples/data/thumb/dataset-encode1.webp      |    Bin 0 -> 20482 bytes
 next/examples/data/thumb/dataset-link.jpg          |    Bin 0 -> 22806 bytes
 next/examples/data/thumb/dataset-link.png          |    Bin 0 -> 57774 bytes
 next/examples/data/thumb/dataset-link.webp         |    Bin 0 -> 12394 bytes
 .../data/thumb/dataset-series-layout-by.jpg        |    Bin 0 -> 22788 bytes
 .../data/thumb/dataset-series-layout-by.png        |    Bin 0 -> 28461 bytes
 .../data/thumb/dataset-series-layout-by.webp       |    Bin 0 -> 7380 bytes
 next/examples/data/thumb/dataset-simple0.jpg       |    Bin 0 -> 16458 bytes
 next/examples/data/thumb/dataset-simple0.png       |    Bin 0 -> 19229 bytes
 next/examples/data/thumb/dataset-simple0.webp      |    Bin 0 -> 5046 bytes
 next/examples/data/thumb/dataset-simple1.jpg       |    Bin 0 -> 16458 bytes
 next/examples/data/thumb/dataset-simple1.png       |    Bin 0 -> 19229 bytes
 next/examples/data/thumb/dataset-simple1.webp      |    Bin 0 -> 5046 bytes
 next/examples/data/thumb/dynamic-data.jpg          |    Bin 0 -> 22674 bytes
 next/examples/data/thumb/dynamic-data.png          |    Bin 0 -> 36900 bytes
 next/examples/data/thumb/dynamic-data.webp         |    Bin 0 -> 9020 bytes
 next/examples/data/thumb/dynamic-data2.jpg         |    Bin 0 -> 12835 bytes
 next/examples/data/thumb/dynamic-data2.png         |    Bin 0 -> 26424 bytes
 next/examples/data/thumb/dynamic-data2.webp        |    Bin 0 -> 5924 bytes
 next/examples/data/thumb/effectScatter-bmap.jpg    |    Bin 0 -> 30061 bytes
 next/examples/data/thumb/effectScatter-bmap.png    |    Bin 0 -> 146654 bytes
 next/examples/data/thumb/effectScatter-bmap.webp   |    Bin 0 -> 18646 bytes
 next/examples/data/thumb/effectScatter-map.jpg     |    Bin 0 -> 18301 bytes
 next/examples/data/thumb/effectScatter-map.png     |    Bin 0 -> 95769 bytes
 next/examples/data/thumb/effectScatter-map.webp    |    Bin 0 -> 10804 bytes
 next/examples/data/thumb/funnel-align.jpg          |    Bin 0 -> 22702 bytes
 next/examples/data/thumb/funnel-align.png          |    Bin 0 -> 46245 bytes
 next/examples/data/thumb/funnel-align.webp         |    Bin 0 -> 9470 bytes
 next/examples/data/thumb/funnel-customize.jpg      |    Bin 0 -> 15949 bytes
 next/examples/data/thumb/funnel-customize.png      |    Bin 0 -> 40983 bytes
 next/examples/data/thumb/funnel-customize.webp     |    Bin 0 -> 6706 bytes
 next/examples/data/thumb/funnel-mutiple.jpg        |    Bin 0 -> 21859 bytes
 next/examples/data/thumb/funnel-mutiple.png        |    Bin 0 -> 48193 bytes
 next/examples/data/thumb/funnel-mutiple.webp       |    Bin 0 -> 8784 bytes
 next/examples/data/thumb/funnel.jpg                |    Bin 0 -> 13396 bytes
 next/examples/data/thumb/funnel.png                |    Bin 0 -> 26985 bytes
 next/examples/data/thumb/funnel.webp               |    Bin 0 -> 5166 bytes
 next/examples/data/thumb/gauge-barometer.png       |    Bin 0 -> 52307 bytes
 next/examples/data/thumb/gauge-barometer.webp      |    Bin 0 -> 13722 bytes
 next/examples/data/thumb/gauge-car-dark.jpg        |    Bin 0 -> 17982 bytes
 next/examples/data/thumb/gauge-car-dark.png        |    Bin 0 -> 71360 bytes
 next/examples/data/thumb/gauge-car-dark.webp       |    Bin 0 -> 12544 bytes
 next/examples/data/thumb/gauge-car.jpg             |    Bin 0 -> 17656 bytes
 next/examples/data/thumb/gauge-car.png             |    Bin 0 -> 62305 bytes
 next/examples/data/thumb/gauge-car.webp            |    Bin 0 -> 13454 bytes
 next/examples/data/thumb/gauge-clock.png           |    Bin 0 -> 55672 bytes
 next/examples/data/thumb/gauge-clock.webp          |    Bin 0 -> 7616 bytes
 next/examples/data/thumb/gauge-grade.png           |    Bin 0 -> 28638 bytes
 next/examples/data/thumb/gauge-grade.webp          |    Bin 0 -> 5368 bytes
 next/examples/data/thumb/gauge-level.png           |    Bin 0 -> 35155 bytes
 next/examples/data/thumb/gauge-level.webp          |    Bin 0 -> 9992 bytes
 next/examples/data/thumb/gauge-multi-title.png     |    Bin 0 -> 44949 bytes
 next/examples/data/thumb/gauge-multi-title.webp    |    Bin 0 -> 7028 bytes
 next/examples/data/thumb/gauge-progress.png        |    Bin 0 -> 35711 bytes
 next/examples/data/thumb/gauge-progress.webp       |    Bin 0 -> 4596 bytes
 next/examples/data/thumb/gauge-ring.png            |    Bin 0 -> 49226 bytes
 next/examples/data/thumb/gauge-ring.webp           |    Bin 0 -> 7078 bytes
 next/examples/data/thumb/gauge-simple.png          |    Bin 0 -> 27713 bytes
 next/examples/data/thumb/gauge-simple.webp         |    Bin 0 -> 3846 bytes
 next/examples/data/thumb/gauge-speed-simple.png    |    Bin 0 -> 32915 bytes
 next/examples/data/thumb/gauge-speed-simple.webp   |    Bin 0 -> 5412 bytes
 next/examples/data/thumb/gauge-speed.png           |    Bin 0 -> 32915 bytes
 next/examples/data/thumb/gauge-speed.webp          |    Bin 0 -> 5412 bytes
 next/examples/data/thumb/gauge-stage.png           |    Bin 0 -> 38854 bytes
 next/examples/data/thumb/gauge-stage.webp          |    Bin 0 -> 7512 bytes
 next/examples/data/thumb/gauge-temperature.png     |    Bin 0 -> 40300 bytes
 next/examples/data/thumb/gauge-temperature.webp    |    Bin 0 -> 6464 bytes
 next/examples/data/thumb/gauge.jpg                 |    Bin 0 -> 12052 bytes
 next/examples/data/thumb/gauge.png                 |    Bin 0 -> 27713 bytes
 next/examples/data/thumb/gauge.webp                |    Bin 0 -> 3846 bytes
 next/examples/data/thumb/geo-lines.jpg             |    Bin 0 -> 13339 bytes
 next/examples/data/thumb/geo-lines.png             |    Bin 0 -> 72808 bytes
 next/examples/data/thumb/geo-lines.webp            |    Bin 0 -> 6472 bytes
 next/examples/data/thumb/geo-map-scatter.jpg       |    Bin 0 -> 19779 bytes
 next/examples/data/thumb/geo-map-scatter.png       |    Bin 0 -> 110413 bytes
 next/examples/data/thumb/geo-map-scatter.webp      |    Bin 0 -> 12090 bytes
 next/examples/data/thumb/graph-circular-layout.jpg |    Bin 0 -> 48632 bytes
 next/examples/data/thumb/graph-circular-layout.png |    Bin 0 -> 175838 bytes
 .../examples/data/thumb/graph-circular-layout.webp |    Bin 0 -> 22274 bytes
 next/examples/data/thumb/graph-force-dynamic.jpg   |    Bin 0 -> 2929 bytes
 next/examples/data/thumb/graph-force-dynamic.png   |    Bin 0 -> 17694 bytes
 next/examples/data/thumb/graph-force-dynamic.webp  |    Bin 0 -> 2886 bytes
 next/examples/data/thumb/graph-force.jpg           |    Bin 0 -> 22344 bytes
 next/examples/data/thumb/graph-force.png           |    Bin 0 -> 35102 bytes
 next/examples/data/thumb/graph-force.webp          |    Bin 0 -> 6536 bytes
 next/examples/data/thumb/graph-force2.jpg          |    Bin 0 -> 17405 bytes
 next/examples/data/thumb/graph-force2.png          |    Bin 0 -> 57997 bytes
 next/examples/data/thumb/graph-force2.webp         |    Bin 0 -> 9050 bytes
 next/examples/data/thumb/graph-grid.jpg            |    Bin 0 -> 16832 bytes
 next/examples/data/thumb/graph-grid.png            |    Bin 0 -> 35576 bytes
 next/examples/data/thumb/graph-grid.webp           |    Bin 0 -> 6336 bytes
 next/examples/data/thumb/graph-label-overlap.png   |    Bin 0 -> 140212 bytes
 next/examples/data/thumb/graph-label-overlap.webp  |    Bin 0 -> 24598 bytes
 next/examples/data/thumb/graph-life-expectancy.jpg |    Bin 0 -> 16442 bytes
 next/examples/data/thumb/graph-life-expectancy.png |    Bin 0 -> 51142 bytes
 .../examples/data/thumb/graph-life-expectancy.webp |    Bin 0 -> 9162 bytes
 next/examples/data/thumb/graph-npm.jpg             |    Bin 0 -> 21555 bytes
 next/examples/data/thumb/graph-npm.png             |    Bin 0 -> 108123 bytes
 next/examples/data/thumb/graph-npm.webp            |    Bin 0 -> 14388 bytes
 next/examples/data/thumb/graph-simple.jpg          |    Bin 0 -> 13433 bytes
 next/examples/data/thumb/graph-simple.png          |    Bin 0 -> 34548 bytes
 next/examples/data/thumb/graph-simple.webp         |    Bin 0 -> 6430 bytes
 next/examples/data/thumb/graph-webkit-dep.jpg      |    Bin 0 -> 41155 bytes
 next/examples/data/thumb/graph-webkit-dep.png      |    Bin 0 -> 113376 bytes
 next/examples/data/thumb/graph-webkit-dep.webp     |    Bin 0 -> 19360 bytes
 next/examples/data/thumb/graph.jpg                 |    Bin 0 -> 26528 bytes
 next/examples/data/thumb/graph.png                 |    Bin 0 -> 108583 bytes
 next/examples/data/thumb/graph.webp                |    Bin 0 -> 16280 bytes
 next/examples/data/thumb/grid-multiple.jpg         |    Bin 0 -> 27385 bytes
 next/examples/data/thumb/grid-multiple.png         |    Bin 0 -> 64098 bytes
 next/examples/data/thumb/grid-multiple.webp        |    Bin 0 -> 12554 bytes
 next/examples/data/thumb/heatmap-bmap.jpg          |    Bin 0 -> 50397 bytes
 next/examples/data/thumb/heatmap-bmap.png          |    Bin 0 -> 493632 bytes
 next/examples/data/thumb/heatmap-bmap.webp         |    Bin 0 -> 45138 bytes
 next/examples/data/thumb/heatmap-cartesian.jpg     |    Bin 0 -> 22385 bytes
 next/examples/data/thumb/heatmap-cartesian.png     |    Bin 0 -> 59173 bytes
 next/examples/data/thumb/heatmap-cartesian.webp    |    Bin 0 -> 9648 bytes
 .../data/thumb/heatmap-large-piecewise.jpg         |    Bin 0 -> 41577 bytes
 .../data/thumb/heatmap-large-piecewise.png         |    Bin 0 -> 140240 bytes
 .../data/thumb/heatmap-large-piecewise.webp        |    Bin 0 -> 25130 bytes
 next/examples/data/thumb/heatmap-large.jpg         |    Bin 0 -> 28458 bytes
 next/examples/data/thumb/heatmap-large.png         |    Bin 0 -> 285497 bytes
 next/examples/data/thumb/heatmap-large.webp        |    Bin 0 -> 13790 bytes
 next/examples/data/thumb/heatmap-map.jpg           |    Bin 0 -> 13987 bytes
 next/examples/data/thumb/heatmap-map.png           |    Bin 0 -> 107924 bytes
 next/examples/data/thumb/heatmap-map.webp          |    Bin 0 -> 7090 bytes
 next/examples/data/thumb/line-aqi.jpg              |    Bin 0 -> 36030 bytes
 next/examples/data/thumb/line-aqi.png              |    Bin 0 -> 108147 bytes
 next/examples/data/thumb/line-aqi.webp             |    Bin 0 -> 22414 bytes
 next/examples/data/thumb/line-draggable.jpg        |    Bin 0 -> 16777 bytes
 next/examples/data/thumb/line-draggable.png        |    Bin 0 -> 37504 bytes
 next/examples/data/thumb/line-draggable.webp       |    Bin 0 -> 6322 bytes
 next/examples/data/thumb/line-easing.jpg           |    Bin 0 -> 31994 bytes
 next/examples/data/thumb/line-easing.png           |    Bin 0 -> 77547 bytes
 next/examples/data/thumb/line-easing.webp          |    Bin 0 -> 17070 bytes
 next/examples/data/thumb/line-function.jpg         |    Bin 0 -> 27616 bytes
 next/examples/data/thumb/line-function.png         |    Bin 0 -> 49764 bytes
 next/examples/data/thumb/line-function.webp        |    Bin 0 -> 7742 bytes
 next/examples/data/thumb/line-gradient.jpg         |    Bin 0 -> 20997 bytes
 next/examples/data/thumb/line-gradient.png         |    Bin 0 -> 55365 bytes
 next/examples/data/thumb/line-gradient.webp        |    Bin 0 -> 11646 bytes
 next/examples/data/thumb/line-graphic.jpg          |    Bin 0 -> 22806 bytes
 next/examples/data/thumb/line-graphic.png          |    Bin 0 -> 56871 bytes
 next/examples/data/thumb/line-graphic.webp         |    Bin 0 -> 11700 bytes
 .../thumb/line-in-cartesian-coordinate-system.jpg  |    Bin 0 -> 11662 bytes
 .../thumb/line-in-cartesian-coordinate-system.png  |    Bin 0 -> 22562 bytes
 .../thumb/line-in-cartesian-coordinate-system.webp |    Bin 0 -> 4530 bytes
 next/examples/data/thumb/line-log.jpg              |    Bin 0 -> 24651 bytes
 next/examples/data/thumb/line-log.png              |    Bin 0 -> 40400 bytes
 next/examples/data/thumb/line-log.webp             |    Bin 0 -> 7734 bytes
 next/examples/data/thumb/line-marker.jpg           |    Bin 0 -> 23649 bytes
 next/examples/data/thumb/line-marker.png           |    Bin 0 -> 43333 bytes
 next/examples/data/thumb/line-marker.webp          |    Bin 0 -> 10876 bytes
 next/examples/data/thumb/line-markline.jpg         |    Bin 0 -> 27812 bytes
 next/examples/data/thumb/line-markline.png         |    Bin 0 -> 69545 bytes
 next/examples/data/thumb/line-markline.webp        |    Bin 0 -> 16774 bytes
 next/examples/data/thumb/line-pen.jpg              |    Bin 0 -> 14452 bytes
 next/examples/data/thumb/line-pen.png              |    Bin 0 -> 28637 bytes
 next/examples/data/thumb/line-pen.webp             |    Bin 0 -> 5628 bytes
 next/examples/data/thumb/line-polar.jpg            |    Bin 0 -> 19855 bytes
 next/examples/data/thumb/line-polar.png            |    Bin 0 -> 64306 bytes
 next/examples/data/thumb/line-polar.webp           |    Bin 0 -> 9752 bytes
 next/examples/data/thumb/line-polar2.jpg           |    Bin 0 -> 26513 bytes
 next/examples/data/thumb/line-polar2.png           |    Bin 0 -> 83413 bytes
 next/examples/data/thumb/line-polar2.webp          |    Bin 0 -> 14170 bytes
 next/examples/data/thumb/line-sections.jpg         |    Bin 0 -> 17651 bytes
 next/examples/data/thumb/line-sections.png         |    Bin 0 -> 36741 bytes
 next/examples/data/thumb/line-sections.webp        |    Bin 0 -> 7668 bytes
 next/examples/data/thumb/line-simple.jpg           |    Bin 0 -> 10522 bytes
 next/examples/data/thumb/line-simple.png           |    Bin 0 -> 19030 bytes
 next/examples/data/thumb/line-simple.webp          |    Bin 0 -> 3812 bytes
 next/examples/data/thumb/line-smooth.jpg           |    Bin 0 -> 10616 bytes
 next/examples/data/thumb/line-smooth.png           |    Bin 0 -> 16209 bytes
 next/examples/data/thumb/line-smooth.webp          |    Bin 0 -> 3284 bytes
 next/examples/data/thumb/line-stack.jpg            |    Bin 0 -> 21105 bytes
 next/examples/data/thumb/line-stack.png            |    Bin 0 -> 52275 bytes
 next/examples/data/thumb/line-stack.webp           |    Bin 0 -> 10234 bytes
 next/examples/data/thumb/line-step.jpg             |    Bin 0 -> 16326 bytes
 next/examples/data/thumb/line-step.png             |    Bin 0 -> 24382 bytes
 next/examples/data/thumb/line-step.webp            |    Bin 0 -> 5338 bytes
 next/examples/data/thumb/line-style.jpg            |    Bin 0 -> 12006 bytes
 next/examples/data/thumb/line-style.png            |    Bin 0 -> 23586 bytes
 next/examples/data/thumb/line-style.webp           |    Bin 0 -> 4724 bytes
 next/examples/data/thumb/line-tooltip-touch.jpg    |    Bin 0 -> 16187 bytes
 next/examples/data/thumb/line-tooltip-touch.png    |    Bin 0 -> 42061 bytes
 next/examples/data/thumb/line-tooltip-touch.webp   |    Bin 0 -> 7194 bytes
 next/examples/data/thumb/line-y-category.jpg       |    Bin 0 -> 16870 bytes
 next/examples/data/thumb/line-y-category.png       |    Bin 0 -> 50576 bytes
 next/examples/data/thumb/line-y-category.webp      |    Bin 0 -> 7140 bytes
 next/examples/data/thumb/lines-airline.jpg         |    Bin 0 -> 28392 bytes
 next/examples/data/thumb/lines-airline.png         |    Bin 0 -> 334739 bytes
 next/examples/data/thumb/lines-airline.webp        |    Bin 0 -> 22288 bytes
 next/examples/data/thumb/lines-bmap-bus.jpg        |    Bin 0 -> 52867 bytes
 next/examples/data/thumb/lines-bmap-bus.png        |    Bin 0 -> 299105 bytes
 next/examples/data/thumb/lines-bmap-bus.webp       |    Bin 0 -> 39532 bytes
 next/examples/data/thumb/lines-bmap-effect.jpg     |    Bin 0 -> 135693 bytes
 next/examples/data/thumb/lines-bmap-effect.png     |    Bin 0 -> 356199 bytes
 next/examples/data/thumb/lines-bmap-effect.webp    |    Bin 0 -> 40172 bytes
 next/examples/data/thumb/lines-bmap.jpg            |    Bin 0 -> 39366 bytes
 next/examples/data/thumb/lines-bmap.png            |    Bin 0 -> 205252 bytes
 next/examples/data/thumb/lines-bmap.webp           |    Bin 0 -> 28572 bytes
 next/examples/data/thumb/lines-ny.jpg              |    Bin 0 -> 5240 bytes
 next/examples/data/thumb/lines-ny.png              |    Bin 0 -> 390937 bytes
 next/examples/data/thumb/lines-ny.webp             |    Bin 0 -> 61276 bytes
 next/examples/data/thumb/map-HK.jpg                |    Bin 0 -> 28298 bytes
 next/examples/data/thumb/map-HK.png                |    Bin 0 -> 118638 bytes
 next/examples/data/thumb/map-HK.webp               |    Bin 0 -> 18208 bytes
 next/examples/data/thumb/map-bin.jpg               |    Bin 0 -> 43084 bytes
 next/examples/data/thumb/map-bin.png               |    Bin 0 -> 363860 bytes
 next/examples/data/thumb/map-bin.webp              |    Bin 0 -> 27936 bytes
 next/examples/data/thumb/map-china-dataRange.jpg   |    Bin 0 -> 29172 bytes
 next/examples/data/thumb/map-china-dataRange.png   |    Bin 0 -> 104900 bytes
 next/examples/data/thumb/map-china-dataRange.webp  |    Bin 0 -> 13864 bytes
 next/examples/data/thumb/map-china.jpg             |    Bin 0 -> 23456 bytes
 next/examples/data/thumb/map-china.png             |    Bin 0 -> 68362 bytes
 next/examples/data/thumb/map-china.webp            |    Bin 0 -> 13174 bytes
 next/examples/data/thumb/map-labels.jpg            |    Bin 0 -> 31484 bytes
 next/examples/data/thumb/map-labels.png            |    Bin 0 -> 106841 bytes
 next/examples/data/thumb/map-labels.webp           |    Bin 0 -> 19486 bytes
 next/examples/data/thumb/map-locate.jpg            |    Bin 0 -> 23235 bytes
 next/examples/data/thumb/map-locate.png            |    Bin 0 -> 65372 bytes
 next/examples/data/thumb/map-locate.webp           |    Bin 0 -> 12946 bytes
 next/examples/data/thumb/map-parallel-prices.jpg   |    Bin 0 -> 32548 bytes
 next/examples/data/thumb/map-polygon.jpg           |    Bin 0 -> 31467 bytes
 next/examples/data/thumb/map-polygon.png           |    Bin 0 -> 171835 bytes
 next/examples/data/thumb/map-polygon.webp          |    Bin 0 -> 24962 bytes
 next/examples/data/thumb/map-province.jpg          |    Bin 0 -> 13113 bytes
 next/examples/data/thumb/map-province.png          |    Bin 0 -> 2975 bytes
 next/examples/data/thumb/map-province.webp         |    Bin 0 -> 636 bytes
 next/examples/data/thumb/map-usa.jpg               |    Bin 0 -> 19275 bytes
 next/examples/data/thumb/map-usa.png               |    Bin 0 -> 75869 bytes
 next/examples/data/thumb/map-usa.webp              |    Bin 0 -> 10370 bytes
 next/examples/data/thumb/map-world-dataRange.jpg   |    Bin 0 -> 25381 bytes
 next/examples/data/thumb/map-world-dataRange.png   |    Bin 0 -> 107882 bytes
 next/examples/data/thumb/map-world-dataRange.webp  |    Bin 0 -> 16218 bytes
 next/examples/data/thumb/map-world.jpg             |    Bin 0 -> 17647 bytes
 next/examples/data/thumb/map-world.png             |    Bin 0 -> 53236 bytes
 next/examples/data/thumb/map-world.webp            |    Bin 0 -> 10528 bytes
 next/examples/data/thumb/mix-line-bar.jpg          |    Bin 0 -> 22126 bytes
 next/examples/data/thumb/mix-line-bar.png          |    Bin 0 -> 39929 bytes
 next/examples/data/thumb/mix-line-bar.webp         |    Bin 0 -> 8530 bytes
 next/examples/data/thumb/mix-timeline-finance.jpg  |    Bin 0 -> 31724 bytes
 next/examples/data/thumb/mix-timeline-finance.png  |    Bin 0 -> 69479 bytes
 next/examples/data/thumb/mix-timeline-finance.webp |    Bin 0 -> 14656 bytes
 next/examples/data/thumb/mix-zoom-on-value.jpg     |    Bin 0 -> 26129 bytes
 next/examples/data/thumb/mix-zoom-on-value.png     |    Bin 0 -> 41731 bytes
 next/examples/data/thumb/mix-zoom-on-value.webp    |    Bin 0 -> 8320 bytes
 next/examples/data/thumb/multiple-x-axis.jpg       |    Bin 0 -> 17496 bytes
 next/examples/data/thumb/multiple-x-axis.png       |    Bin 0 -> 40854 bytes
 next/examples/data/thumb/multiple-x-axis.webp      |    Bin 0 -> 8804 bytes
 next/examples/data/thumb/multiple-y-axis.jpg       |    Bin 0 -> 24398 bytes
 next/examples/data/thumb/multiple-y-axis.png       |    Bin 0 -> 46246 bytes
 next/examples/data/thumb/multiple-y-axis.webp      |    Bin 0 -> 9892 bytes
 next/examples/data/thumb/parallel-aqi.jpg          |    Bin 0 -> 39518 bytes
 next/examples/data/thumb/parallel-aqi.png          |    Bin 0 -> 254773 bytes
 next/examples/data/thumb/parallel-aqi.webp         |    Bin 0 -> 31694 bytes
 next/examples/data/thumb/parallel-nutrients.jpg    |    Bin 0 -> 47250 bytes
 next/examples/data/thumb/parallel-nutrients.png    |    Bin 0 -> 332128 bytes
 next/examples/data/thumb/parallel-nutrients.webp   |    Bin 0 -> 31622 bytes
 next/examples/data/thumb/parallel-simple.jpg       |    Bin 0 -> 13761 bytes
 next/examples/data/thumb/parallel-simple.png       |    Bin 0 -> 36539 bytes
 next/examples/data/thumb/parallel-simple.webp      |    Bin 0 -> 5654 bytes
 .../examples/data/thumb/pictorialBar-body-fill.jpg |    Bin 0 -> 17363 bytes
 .../examples/data/thumb/pictorialBar-body-fill.png |    Bin 0 -> 42173 bytes
 .../data/thumb/pictorialBar-body-fill.webp         |    Bin 0 -> 7676 bytes
 next/examples/data/thumb/pictorialBar-dotted.jpg   |    Bin 0 -> 24200 bytes
 next/examples/data/thumb/pictorialBar-dotted.png   |    Bin 0 -> 96517 bytes
 next/examples/data/thumb/pictorialBar-dotted.webp  |    Bin 0 -> 12880 bytes
 next/examples/data/thumb/pictorialBar-forest.jpg   |    Bin 0 -> 6202 bytes
 next/examples/data/thumb/pictorialBar-forest.png   |    Bin 0 -> 72122 bytes
 next/examples/data/thumb/pictorialBar-forest.webp  |    Bin 0 -> 8764 bytes
 next/examples/data/thumb/pictorialBar-hill.jpg     |    Bin 0 -> 28058 bytes
 next/examples/data/thumb/pictorialBar-hill.png     |    Bin 0 -> 199660 bytes
 next/examples/data/thumb/pictorialBar-hill.webp    |    Bin 0 -> 20796 bytes
 next/examples/data/thumb/pictorialBar-spirit.jpg   |    Bin 0 -> 22818 bytes
 next/examples/data/thumb/pictorialBar-spirit.png   |    Bin 0 -> 101903 bytes
 next/examples/data/thumb/pictorialBar-spirit.webp  |    Bin 0 -> 14802 bytes
 next/examples/data/thumb/pictorialBar-vehicle.jpg  |    Bin 0 -> 21544 bytes
 next/examples/data/thumb/pictorialBar-vehicle.png  |    Bin 0 -> 57765 bytes
 next/examples/data/thumb/pictorialBar-vehicle.webp |    Bin 0 -> 11876 bytes
 next/examples/data/thumb/pictorialBar-velocity.jpg |    Bin 0 -> 14433 bytes
 next/examples/data/thumb/pictorialBar-velocity.png |    Bin 0 -> 38650 bytes
 .../examples/data/thumb/pictorialBar-velocity.webp |    Bin 0 -> 7362 bytes
 next/examples/data/thumb/pie-alignTo.jpg           |    Bin 0 -> 14573 bytes
 next/examples/data/thumb/pie-alignTo.png           |    Bin 0 -> 38336 bytes
 next/examples/data/thumb/pie-alignTo.webp          |    Bin 0 -> 8472 bytes
 next/examples/data/thumb/pie-borderRadius.png      |    Bin 0 -> 30915 bytes
 next/examples/data/thumb/pie-borderRadius.webp     |    Bin 0 -> 5404 bytes
 next/examples/data/thumb/pie-custom.jpg            |    Bin 0 -> 7785 bytes
 next/examples/data/thumb/pie-custom.png            |    Bin 0 -> 51564 bytes
 next/examples/data/thumb/pie-custom.webp           |    Bin 0 -> 5542 bytes
 next/examples/data/thumb/pie-doughnut.jpg          |    Bin 0 -> 11710 bytes
 next/examples/data/thumb/pie-doughnut.png          |    Bin 0 -> 30920 bytes
 next/examples/data/thumb/pie-doughnut.webp         |    Bin 0 -> 5214 bytes
 next/examples/data/thumb/pie-labelLine-adjust.png  |    Bin 0 -> 71514 bytes
 next/examples/data/thumb/pie-labelLine-adjust.webp |    Bin 0 -> 14196 bytes
 next/examples/data/thumb/pie-legend.jpg            |    Bin 0 -> 16706 bytes
 next/examples/data/thumb/pie-legend.png            |    Bin 0 -> 162310 bytes
 next/examples/data/thumb/pie-legend.webp           |    Bin 0 -> 28738 bytes
 next/examples/data/thumb/pie-nest.jpg              |    Bin 0 -> 30094 bytes
 next/examples/data/thumb/pie-nest.png              |    Bin 0 -> 92214 bytes
 next/examples/data/thumb/pie-nest.webp             |    Bin 0 -> 16530 bytes
 next/examples/data/thumb/pie-pattern.jpg           |    Bin 0 -> 39635 bytes
 next/examples/data/thumb/pie-pattern.png           |    Bin 0 -> 548395 bytes
 next/examples/data/thumb/pie-pattern.webp          |    Bin 0 -> 27432 bytes
 next/examples/data/thumb/pie-rich-text.jpg         |    Bin 0 -> 16200 bytes
 next/examples/data/thumb/pie-rich-text.png         |    Bin 0 -> 45410 bytes
 next/examples/data/thumb/pie-rich-text.webp        |    Bin 0 -> 7024 bytes
 next/examples/data/thumb/pie-roseType-simple.png   |    Bin 0 -> 35790 bytes
 next/examples/data/thumb/pie-roseType-simple.webp  |    Bin 0 -> 7154 bytes
 next/examples/data/thumb/pie-roseType.jpg          |    Bin 0 -> 16819 bytes
 next/examples/data/thumb/pie-roseType.png          |    Bin 0 -> 42560 bytes
 next/examples/data/thumb/pie-roseType.webp         |    Bin 0 -> 7440 bytes
 next/examples/data/thumb/pie-rounded.png           |    Bin 0 -> 32191 bytes
 next/examples/data/thumb/pie-rounded.webp          |    Bin 0 -> 5950 bytes
 next/examples/data/thumb/pie-simple.jpg            |    Bin 0 -> 14702 bytes
 next/examples/data/thumb/pie-simple.png            |    Bin 0 -> 37209 bytes
 next/examples/data/thumb/pie-simple.webp           |    Bin 0 -> 6862 bytes
 next/examples/data/thumb/polar-roundCap.jpg        |    Bin 0 -> 26608 bytes
 next/examples/data/thumb/polar-roundCap.png        |    Bin 0 -> 98083 bytes
 next/examples/data/thumb/polar-roundCap.webp       |    Bin 0 -> 15396 bytes
 next/examples/data/thumb/radar-aqi.jpg             |    Bin 0 -> 17576 bytes
 next/examples/data/thumb/radar-aqi.png             |    Bin 0 -> 110193 bytes
 next/examples/data/thumb/radar-aqi.webp            |    Bin 0 -> 10082 bytes
 next/examples/data/thumb/radar-custom.jpg          |    Bin 0 -> 21077 bytes
 next/examples/data/thumb/radar-custom.png          |    Bin 0 -> 100381 bytes
 next/examples/data/thumb/radar-custom.webp         |    Bin 0 -> 10296 bytes
 next/examples/data/thumb/radar-multiple.jpg        |    Bin 0 -> 18377 bytes
 next/examples/data/thumb/radar-multiple.png        |    Bin 0 -> 59206 bytes
 next/examples/data/thumb/radar-multiple.webp       |    Bin 0 -> 7548 bytes
 next/examples/data/thumb/radar.jpg                 |    Bin 0 -> 23489 bytes
 next/examples/data/thumb/radar.png                 |    Bin 0 -> 73408 bytes
 next/examples/data/thumb/radar.webp                |    Bin 0 -> 11280 bytes
 next/examples/data/thumb/radar2.jpg                |    Bin 0 -> 23795 bytes
 next/examples/data/thumb/radar2.png                |    Bin 0 -> 107626 bytes
 next/examples/data/thumb/radar2.webp               |    Bin 0 -> 15580 bytes
 next/examples/data/thumb/sankey-energy.jpg         |    Bin 0 -> 40537 bytes
 next/examples/data/thumb/sankey-energy.png         |    Bin 0 -> 161661 bytes
 next/examples/data/thumb/sankey-energy.webp        |    Bin 0 -> 21738 bytes
 next/examples/data/thumb/sankey-itemstyle.jpg      |    Bin 0 -> 29334 bytes
 next/examples/data/thumb/sankey-itemstyle.png      |    Bin 0 -> 141126 bytes
 next/examples/data/thumb/sankey-itemstyle.webp     |    Bin 0 -> 19584 bytes
 next/examples/data/thumb/sankey-levels.jpg         |    Bin 0 -> 32630 bytes
 next/examples/data/thumb/sankey-levels.png         |    Bin 0 -> 114526 bytes
 next/examples/data/thumb/sankey-levels.webp        |    Bin 0 -> 15192 bytes
 next/examples/data/thumb/sankey-nodeAlign-left.jpg |    Bin 0 -> 39435 bytes
 next/examples/data/thumb/sankey-nodeAlign-left.png |    Bin 0 -> 136428 bytes
 .../examples/data/thumb/sankey-nodeAlign-left.webp |    Bin 0 -> 21094 bytes
 .../examples/data/thumb/sankey-nodeAlign-right.jpg |    Bin 0 -> 37965 bytes
 .../examples/data/thumb/sankey-nodeAlign-right.png |    Bin 0 -> 133913 bytes
 .../data/thumb/sankey-nodeAlign-right.webp         |    Bin 0 -> 20854 bytes
 next/examples/data/thumb/sankey-simple.jpg         |    Bin 0 -> 9847 bytes
 next/examples/data/thumb/sankey-simple.png         |    Bin 0 -> 26637 bytes
 next/examples/data/thumb/sankey-simple.webp        |    Bin 0 -> 2956 bytes
 next/examples/data/thumb/sankey-vertical.jpg       |    Bin 0 -> 10212 bytes
 next/examples/data/thumb/sankey-vertical.png       |    Bin 0 -> 26328 bytes
 next/examples/data/thumb/sankey-vertical.webp      |    Bin 0 -> 2840 bytes
 .../data/thumb/scatter-anscombe-quartet.jpg        |    Bin 0 -> 25369 bytes
 .../data/thumb/scatter-anscombe-quartet.png        |    Bin 0 -> 39691 bytes
 .../data/thumb/scatter-anscombe-quartet.webp       |    Bin 0 -> 10034 bytes
 next/examples/data/thumb/scatter-aqi-color.jpg     |    Bin 0 -> 23760 bytes
 next/examples/data/thumb/scatter-aqi-color.png     |    Bin 0 -> 120533 bytes
 next/examples/data/thumb/scatter-aqi-color.webp    |    Bin 0 -> 10882 bytes
 .../data/thumb/scatter-clustering-process.jpg      |    Bin 0 -> 18758 bytes
 .../data/thumb/scatter-clustering-process.png      |    Bin 0 -> 45356 bytes
 .../data/thumb/scatter-clustering-process.webp     |    Bin 0 -> 7716 bytes
 next/examples/data/thumb/scatter-clustering.png    |    Bin 0 -> 49013 bytes
 next/examples/data/thumb/scatter-clustering.webp   |    Bin 0 -> 7686 bytes
 next/examples/data/thumb/scatter-effect.jpg        |    Bin 0 -> 21239 bytes
 next/examples/data/thumb/scatter-effect.png        |    Bin 0 -> 52641 bytes
 next/examples/data/thumb/scatter-effect.webp       |    Bin 0 -> 7406 bytes
 .../data/thumb/scatter-exponential-regression.jpg  |    Bin 0 -> 26585 bytes
 .../data/thumb/scatter-exponential-regression.png  |    Bin 0 -> 45307 bytes
 .../data/thumb/scatter-exponential-regression.webp |    Bin 0 -> 9140 bytes
 .../data/thumb/scatter-label-align-right.png       |    Bin 0 -> 59619 bytes
 .../data/thumb/scatter-label-align-right.webp      |    Bin 0 -> 11892 bytes
 .../data/thumb/scatter-label-align-top.png         |    Bin 0 -> 33685 bytes
 .../data/thumb/scatter-label-align-top.webp        |    Bin 0 -> 6674 bytes
 next/examples/data/thumb/scatter-large.jpg         |    Bin 0 -> 23674 bytes
 next/examples/data/thumb/scatter-large.png         |    Bin 0 -> 107817 bytes
 next/examples/data/thumb/scatter-large.webp        |    Bin 0 -> 9798 bytes
 .../thumb/scatter-life-expectancy-timeline.jpg     |    Bin 0 -> 17466 bytes
 .../thumb/scatter-life-expectancy-timeline.png     |    Bin 0 -> 54419 bytes
 .../thumb/scatter-life-expectancy-timeline.webp    |    Bin 0 -> 9320 bytes
 .../data/thumb/scatter-linear-regression.jpg       |    Bin 0 -> 19210 bytes
 .../data/thumb/scatter-linear-regression.png       |    Bin 0 -> 41436 bytes
 .../data/thumb/scatter-linear-regression.webp      |    Bin 0 -> 8092 bytes
 .../data/thumb/scatter-logarithmic-regression.jpg  |    Bin 0 -> 21089 bytes
 .../data/thumb/scatter-logarithmic-regression.png  |    Bin 0 -> 56821 bytes
 .../data/thumb/scatter-logarithmic-regression.webp |    Bin 0 -> 10584 bytes
 next/examples/data/thumb/scatter-map-brush.jpg     |    Bin 0 -> 32954 bytes
 next/examples/data/thumb/scatter-map-brush.png     |    Bin 0 -> 145930 bytes
 next/examples/data/thumb/scatter-map-brush.webp    |    Bin 0 -> 18820 bytes
 next/examples/data/thumb/scatter-map.jpg           |    Bin 0 -> 18402 bytes
 next/examples/data/thumb/scatter-map.png           |    Bin 0 -> 103090 bytes
 next/examples/data/thumb/scatter-map.webp          |    Bin 0 -> 10314 bytes
 next/examples/data/thumb/scatter-matrix.jpg        |    Bin 0 -> 40475 bytes
 next/examples/data/thumb/scatter-matrix.png        |    Bin 0 -> 161989 bytes
 next/examples/data/thumb/scatter-matrix.webp       |    Bin 0 -> 24408 bytes
 next/examples/data/thumb/scatter-nebula.jpg        |    Bin 0 -> 33213 bytes
 next/examples/data/thumb/scatter-nebula.png        |    Bin 0 -> 135588 bytes
 next/examples/data/thumb/scatter-nebula.webp       |    Bin 0 -> 16798 bytes
 .../data/thumb/scatter-nutrients-matrix.jpg        |    Bin 0 -> 27161 bytes
 .../data/thumb/scatter-nutrients-matrix.png        |    Bin 0 -> 104671 bytes
 .../data/thumb/scatter-nutrients-matrix.webp       |    Bin 0 -> 17424 bytes
 next/examples/data/thumb/scatter-nutrients.jpg     |    Bin 0 -> 10822 bytes
 next/examples/data/thumb/scatter-nutrients.png     |    Bin 0 -> 49149 bytes
 next/examples/data/thumb/scatter-nutrients.webp    |    Bin 0 -> 7366 bytes
 .../examples/data/thumb/scatter-painter-choice.jpg |    Bin 0 -> 31551 bytes
 .../examples/data/thumb/scatter-painter-choice.png |    Bin 0 -> 164324 bytes
 .../data/thumb/scatter-painter-choice.webp         |    Bin 0 -> 19312 bytes
 .../data/thumb/scatter-polar-punchCard.jpg         |    Bin 0 -> 23760 bytes
 .../data/thumb/scatter-polar-punchCard.png         |    Bin 0 -> 65499 bytes
 .../data/thumb/scatter-polar-punchCard.webp        |    Bin 0 -> 10574 bytes
 .../data/thumb/scatter-polynomial-regression.jpg   |    Bin 0 -> 30961 bytes
 .../data/thumb/scatter-polynomial-regression.png   |    Bin 0 -> 65749 bytes
 .../data/thumb/scatter-polynomial-regression.webp  |    Bin 0 -> 15058 bytes
 next/examples/data/thumb/scatter-punchCard.jpg     |    Bin 0 -> 26993 bytes
 next/examples/data/thumb/scatter-punchCard.png     |    Bin 0 -> 52932 bytes
 next/examples/data/thumb/scatter-punchCard.webp    |    Bin 0 -> 10990 bytes
 next/examples/data/thumb/scatter-simple.jpg        |    Bin 0 -> 11613 bytes
 next/examples/data/thumb/scatter-simple.png        |    Bin 0 -> 21570 bytes
 next/examples/data/thumb/scatter-simple.webp       |    Bin 0 -> 3808 bytes
 next/examples/data/thumb/scatter-single-axis.jpg   |    Bin 0 -> 30478 bytes
 next/examples/data/thumb/scatter-single-axis.png   |    Bin 0 -> 83250 bytes
 next/examples/data/thumb/scatter-single-axis.webp  |    Bin 0 -> 15010 bytes
 next/examples/data/thumb/scatter-stream-visual.jpg |    Bin 0 -> 32101 bytes
 next/examples/data/thumb/scatter-stream-visual.png |    Bin 0 -> 156442 bytes
 .../examples/data/thumb/scatter-stream-visual.webp |    Bin 0 -> 21060 bytes
 next/examples/data/thumb/scatter-weibo.jpg         |    Bin 0 -> 33794 bytes
 next/examples/data/thumb/scatter-weibo.png         |    Bin 0 -> 212328 bytes
 next/examples/data/thumb/scatter-weibo.webp        |    Bin 0 -> 23026 bytes
 next/examples/data/thumb/scatter-weight.jpg        |    Bin 0 -> 40490 bytes
 next/examples/data/thumb/scatter-weight.png        |    Bin 0 -> 110991 bytes
 next/examples/data/thumb/scatter-weight.webp       |    Bin 0 -> 21062 bytes
 .../data/thumb/scatter-world-population.jpg        |    Bin 0 -> 15647 bytes
 .../data/thumb/scatter-world-population.png        |    Bin 0 -> 88415 bytes
 .../data/thumb/scatter-world-population.webp       |    Bin 0 -> 9366 bytes
 next/examples/data/thumb/sunburst-book.jpg         |    Bin 0 -> 36905 bytes
 next/examples/data/thumb/sunburst-book.png         |    Bin 0 -> 159000 bytes
 next/examples/data/thumb/sunburst-book.webp        |    Bin 0 -> 17130 bytes
 next/examples/data/thumb/sunburst-borderRadius.png |    Bin 0 -> 38936 bytes
 .../examples/data/thumb/sunburst-borderRadius.webp |    Bin 0 -> 5118 bytes
 next/examples/data/thumb/sunburst-drink.jpg        |    Bin 0 -> 52160 bytes
 next/examples/data/thumb/sunburst-drink.png        |    Bin 0 -> 142431 bytes
 next/examples/data/thumb/sunburst-drink.webp       |    Bin 0 -> 24530 bytes
 next/examples/data/thumb/sunburst-label-rotate.jpg |    Bin 0 -> 17101 bytes
 next/examples/data/thumb/sunburst-label-rotate.png |    Bin 0 -> 55381 bytes
 .../examples/data/thumb/sunburst-label-rotate.webp |    Bin 0 -> 9368 bytes
 next/examples/data/thumb/sunburst-monochrome.jpg   |    Bin 0 -> 15696 bytes
 next/examples/data/thumb/sunburst-monochrome.png   |    Bin 0 -> 52895 bytes
 next/examples/data/thumb/sunburst-monochrome.webp  |    Bin 0 -> 8826 bytes
 next/examples/data/thumb/sunburst-simple.jpg       |    Bin 0 -> 17196 bytes
 next/examples/data/thumb/sunburst-simple.png       |    Bin 0 -> 49704 bytes
 next/examples/data/thumb/sunburst-simple.webp      |    Bin 0 -> 6782 bytes
 next/examples/data/thumb/sunburst-visualMap.jpg    |    Bin 0 -> 17428 bytes
 next/examples/data/thumb/sunburst-visualMap.png    |    Bin 0 -> 71114 bytes
 next/examples/data/thumb/sunburst-visualMap.webp   |    Bin 0 -> 9532 bytes
 next/examples/data/thumb/themeRiver-basic.jpg      |    Bin 0 -> 22135 bytes
 next/examples/data/thumb/themeRiver-basic.png      |    Bin 0 -> 71276 bytes
 next/examples/data/thumb/themeRiver-basic.webp     |    Bin 0 -> 11116 bytes
 next/examples/data/thumb/themeRiver-lastfm.jpg     |    Bin 0 -> 24605 bytes
 next/examples/data/thumb/themeRiver-lastfm.png     |    Bin 0 -> 127274 bytes
 next/examples/data/thumb/themeRiver-lastfm.webp    |    Bin 0 -> 13294 bytes
 next/examples/data/thumb/tree-basic.jpg            |    Bin 0 -> 26938 bytes
 next/examples/data/thumb/tree-basic.png            |    Bin 0 -> 80774 bytes
 next/examples/data/thumb/tree-basic.webp           |    Bin 0 -> 15042 bytes
 next/examples/data/thumb/tree-legend.jpg           |    Bin 0 -> 34248 bytes
 next/examples/data/thumb/tree-legend.png           |    Bin 0 -> 92390 bytes
 next/examples/data/thumb/tree-legend.webp          |    Bin 0 -> 20058 bytes
 .../examples/data/thumb/tree-orient-bottom-top.jpg |    Bin 0 -> 36271 bytes
 .../examples/data/thumb/tree-orient-bottom-top.png |    Bin 0 -> 108358 bytes
 .../data/thumb/tree-orient-bottom-top.webp         |    Bin 0 -> 25428 bytes
 .../examples/data/thumb/tree-orient-right-left.jpg |    Bin 0 -> 30551 bytes
 .../examples/data/thumb/tree-orient-right-left.png |    Bin 0 -> 92717 bytes
 .../data/thumb/tree-orient-right-left.webp         |    Bin 0 -> 19400 bytes
 next/examples/data/thumb/tree-polyline.jpg         |    Bin 0 -> 26505 bytes
 next/examples/data/thumb/tree-polyline.png         |    Bin 0 -> 57012 bytes
 next/examples/data/thumb/tree-polyline.webp        |    Bin 0 -> 13576 bytes
 next/examples/data/thumb/tree-radial.jpg           |    Bin 0 -> 58675 bytes
 next/examples/data/thumb/tree-radial.png           |    Bin 0 -> 164520 bytes
 next/examples/data/thumb/tree-radial.webp          |    Bin 0 -> 41890 bytes
 next/examples/data/thumb/tree-vertical.jpg         |    Bin 0 -> 32923 bytes
 next/examples/data/thumb/tree-vertical.png         |    Bin 0 -> 96352 bytes
 next/examples/data/thumb/tree-vertical.webp        |    Bin 0 -> 20562 bytes
 next/examples/data/thumb/treemap-disk.jpg          |    Bin 0 -> 27908 bytes
 next/examples/data/thumb/treemap-disk.png          |    Bin 0 -> 71690 bytes
 next/examples/data/thumb/treemap-disk.webp         |    Bin 0 -> 14676 bytes
 next/examples/data/thumb/treemap-drill-down.jpg    |    Bin 0 -> 30636 bytes
 next/examples/data/thumb/treemap-drill-down.png    |    Bin 0 -> 82601 bytes
 next/examples/data/thumb/treemap-drill-down.webp   |    Bin 0 -> 15058 bytes
 next/examples/data/thumb/treemap-obama.jpg         |    Bin 0 -> 32605 bytes
 next/examples/data/thumb/treemap-obama.png         |    Bin 0 -> 108442 bytes
 next/examples/data/thumb/treemap-obama.webp        |    Bin 0 -> 20672 bytes
 next/examples/data/thumb/treemap-show-parent.jpg   |    Bin 0 -> 28224 bytes
 next/examples/data/thumb/treemap-show-parent.png   |    Bin 0 -> 82707 bytes
 next/examples/data/thumb/treemap-show-parent.webp  |    Bin 0 -> 15596 bytes
 next/examples/data/thumb/treemap-simple.jpg        |    Bin 0 -> 9727 bytes
 next/examples/data/thumb/treemap-simple.png        |    Bin 0 -> 11189 bytes
 next/examples/data/thumb/treemap-simple.webp       |    Bin 0 -> 2366 bytes
 next/examples/data/thumb/treemap-visual.jpg        |    Bin 0 -> 24899 bytes
 next/examples/data/thumb/treemap-visual.png        |    Bin 0 -> 72629 bytes
 next/examples/data/thumb/treemap-visual.webp       |    Bin 0 -> 12340 bytes
 next/examples/data/thumb/watermark.jpg             |    Bin 0 -> 40170 bytes
 next/examples/data/thumb/watermark.png             |    Bin 0 -> 118455 bytes
 next/examples/data/thumb/watermark.webp            |    Bin 0 -> 21830 bytes
 next/examples/data/thumb/wind-barb.jpg             |    Bin 0 -> 34140 bytes
 next/examples/data/thumb/wind-barb.png             |    Bin 0 -> 101852 bytes
 next/examples/data/thumb/wind-barb.webp            |    Bin 0 -> 17644 bytes
 next/examples/data/tree-basic.js                   |     58 +
 next/examples/data/tree-legend.js                  |    260 +
 next/examples/data/tree-orient-bottom-top.js       |     59 +
 next/examples/data/tree-orient-right-left.js       |     64 +
 next/examples/data/tree-polyline.js                |    179 +
 next/examples/data/tree-radial.js                  |     41 +
 next/examples/data/tree-vertical.js                |     54 +
 next/examples/data/treemap-disk.js                 |     87 +
 next/examples/data/treemap-drill-down.js           |     85 +
 next/examples/data/treemap-obama.js                |    226 +
 next/examples/data/treemap-show-parent.js          |    103 +
 next/examples/data/treemap-simple.js               |     33 +
 next/examples/data/treemap-visual.js               |    144 +
 next/examples/data/watermark.js                    |    218 +
 next/examples/data/wind-barb.js                    |    272 +
 next/examples/en/editor.html                       |      8 +-
 next/examples/en/index.html                        |      8 +-
 next/examples/en/view.html                         |      8 +-
 next/examples/js/example-bundle.js                 |      1 +
 next/examples/js/example-bundle.js.map             |      1 +
 next/examples/js/example-transform-ts-bundle.js    |      8 +
 .../examples/js/example-transform-ts-bundle.js.map |      1 +
 next/examples/screenshot.html                      |    132 +
 next/examples/types/echarts.d.ts                   |   4191 +
 next/examples/zh/editor.html                       |      8 +-
 next/examples/zh/index.html                        |      8 +-
 next/examples/zh/view.html                         |      8 +-
 next/zh/api.html                                   |      8 +-
 next/zh/css/SourceCodePro-Regular.woff             |    Bin 0 -> 89796 bytes
 next/zh/css/doc-bundle.css                         |   1678 +
 next/zh/css/doc-bundle.css.map                     |      1 +
 next/zh/css/element-icons.ttf                      |    Bin 0 -> 55956 bytes
 next/zh/css/element-icons.woff                     |    Bin 0 -> 28200 bytes
 next/zh/css/icon.eot                               |    Bin 0 -> 1440 bytes
 next/zh/css/icon.svg                               |     11 +
 next/zh/css/icon.ttf                               |    Bin 0 -> 1276 bytes
 next/zh/css/icon.woff                              |    Bin 0 -> 1352 bytes
 next/zh/documents/api-parts/api-outline.js         |      1 +
 next/zh/documents/api-parts/api-outline.json       |      1 +
 next/zh/documents/api-parts/api.action.js          |    101 +
 next/zh/documents/api-parts/api.action.json        |    101 +
 next/zh/documents/api-parts/api.echarts.js         |     47 +
 next/zh/documents/api-parts/api.echarts.json       |     47 +
 next/zh/documents/api-parts/api.echartsInstance.js |     65 +
 .../documents/api-parts/api.echartsInstance.json   |     65 +
 next/zh/documents/api-parts/api.events.js          |     89 +
 next/zh/documents/api-parts/api.events.json        |     89 +
 next/zh/documents/api-parts/api.js                 |     14 +
 next/zh/documents/api-parts/api.json               |     14 +
 next/zh/documents/api.json                         |      1 +
 next/zh/documents/asset/gl/img/alpha-beta.sketch   |    Bin 0 -> 65536 bytes
 next/zh/documents/asset/gl/img/bar3D-bevel.png     |    Bin 0 -> 936101 bytes
 next/zh/documents/asset/gl/img/bar3D-no-bevel.png  |    Bin 0 -> 653448 bytes
 next/zh/documents/asset/gl/img/buildings-cold.jpg  |    Bin 0 -> 244509 bytes
 next/zh/documents/asset/gl/img/buildings-warm.jpg  |    Bin 0 -> 271468 bytes
 .../documents/asset/gl/img/city-region-height.jpg  |    Bin 0 -> 115703 bytes
 next/zh/documents/asset/gl/img/crispwinter.png     |    Bin 0 -> 134164 bytes
 .../asset/gl/img/displacement-disable.png          |    Bin 0 -> 444676 bytes
 .../documents/asset/gl/img/displacement-enable.png |    Bin 0 -> 469684 bytes
 .../zh/documents/asset/gl/img/displacement-low.png |    Bin 0 -> 393852 bytes
 .../documents/asset/gl/img/displacement-ultra.png  |    Bin 0 -> 752937 bytes
 next/zh/documents/asset/gl/img/flowGL-line.jpg     |    Bin 0 -> 477721 bytes
 next/zh/documents/asset/gl/img/flowGL-noss.jpg     |    Bin 0 -> 468782 bytes
 next/zh/documents/asset/gl/img/flowGL-point.jpg    |    Bin 0 -> 481332 bytes
 next/zh/documents/asset/gl/img/flowGL-ss.jpg       |    Bin 0 -> 491893 bytes
 next/zh/documents/asset/gl/img/flowGL-wind.jpg     |    Bin 0 -> 309476 bytes
 next/zh/documents/asset/gl/img/geo-bar3D.jpg       |    Bin 0 -> 144774 bytes
 next/zh/documents/asset/gl/img/geo-border.png      |    Bin 0 -> 120977 bytes
 next/zh/documents/asset/gl/img/geo-dof-large.png   |    Bin 0 -> 251435 bytes
 next/zh/documents/asset/gl/img/geo-dof-small.png   |    Bin 0 -> 242725 bytes
 next/zh/documents/asset/gl/img/geo-dof.png         |    Bin 0 -> 280814 bytes
 next/zh/documents/asset/gl/img/geo-no-dof.png      |    Bin 0 -> 313830 bytes
 next/zh/documents/asset/gl/img/geo-no-shadow.png   |    Bin 0 -> 348841 bytes
 next/zh/documents/asset/gl/img/geo-no-ssao.png     |    Bin 0 -> 795777 bytes
 next/zh/documents/asset/gl/img/geo-shadow-high.png |    Bin 0 -> 456090 bytes
 next/zh/documents/asset/gl/img/geo-shadow-low.png  |    Bin 0 -> 462952 bytes
 next/zh/documents/asset/gl/img/geo-shadow.png      |    Bin 0 -> 417158 bytes
 next/zh/documents/asset/gl/img/geo-size.png        |    Bin 0 -> 609536 bytes
 next/zh/documents/asset/gl/img/geo-size.sketch     |    Bin 0 -> 1452208 bytes
 .../asset/gl/img/geo-ssao-large-radius.png         |    Bin 0 -> 777267 bytes
 .../asset/gl/img/geo-ssao-small-radius.png         |    Bin 0 -> 784519 bytes
 next/zh/documents/asset/gl/img/geo-ssao.png        |    Bin 0 -> 798212 bytes
 next/zh/documents/asset/gl/img/globe-airline.png   |    Bin 0 -> 705346 bytes
 next/zh/documents/asset/gl/img/globe-gloss.png     |    Bin 0 -> 658718 bytes
 next/zh/documents/asset/gl/img/globe-metal.png     |    Bin 0 -> 435143 bytes
 next/zh/documents/asset/gl/img/globe-non-metal.png |    Bin 0 -> 444160 bytes
 .../asset/gl/img/globe-posteffect-bloom.png        |    Bin 0 -> 124521 bytes
 .../asset/gl/img/globe-posteffect-disable.png      |    Bin 0 -> 614586 bytes
 .../asset/gl/img/globe-posteffect-enable.png       |    Bin 0 -> 569860 bytes
 next/zh/documents/asset/gl/img/globe-rough.png     |    Bin 0 -> 611425 bytes
 .../documents/asset/gl/img/globe-shading-color.png |    Bin 0 -> 214590 bytes
 .../asset/gl/img/globe-shading-lambert.png         |    Bin 0 -> 372631 bytes
 .../asset/gl/img/globe-shading-realistic.png       |    Bin 0 -> 513755 bytes
 next/zh/documents/asset/gl/img/gpu-layout-perf.png |    Bin 0 -> 19249 bytes
 next/zh/documents/asset/gl/img/grid3D.png          |    Bin 0 -> 83657 bytes
 next/zh/documents/asset/gl/img/grid3D.sketch       |    Bin 0 -> 122880 bytes
 .../documents/asset/gl/img/heightmap-disable.png   |    Bin 0 -> 42600 bytes
 .../zh/documents/asset/gl/img/heightmap-enable.png |    Bin 0 -> 97918 bytes
 .../zh/documents/asset/gl/img/light-alpha-beta.png |    Bin 0 -> 10156 bytes
 next/zh/documents/asset/gl/img/line3D.png          |    Bin 0 -> 403986 bytes
 next/zh/documents/asset/gl/img/lookup.png          |    Bin 0 -> 2095 bytes
 .../documents/asset/gl/img/parametric-surface.png  |    Bin 0 -> 619802 bytes
 next/zh/documents/asset/gl/img/polygons3D-ny.jpg   |    Bin 0 -> 541314 bytes
 next/zh/documents/asset/gl/img/roughness.png       |    Bin 0 -> 204762 bytes
 next/zh/documents/asset/gl/img/scatter3D.png       |    Bin 0 -> 771845 bytes
 next/zh/documents/asset/gl/img/surface-index.png   |    Bin 0 -> 121825 bytes
 .../zh/documents/asset/gl/img/surface-index.sketch |    Bin 0 -> 240059 bytes
 next/zh/documents/asset/gl/img/surface-no-taa.png  |    Bin 0 -> 190861 bytes
 next/zh/documents/asset/gl/img/surface-taa.png     |    Bin 0 -> 227139 bytes
 next/zh/documents/asset/gl/img/view-alpha-beta.png |    Bin 0 -> 9788 bytes
 next/zh/documents/asset/img/aria-example.png       |    Bin 0 -> 290782 bytes
 .../documents/asset/img/axis-align-with-label.png  |    Bin 0 -> 7514 bytes
 .../img/basic-concepts-overview/components.jpg     |    Bin 0 -> 71127 bytes
 .../img/basic-concepts-overview/coord-sys-0.jpg    |    Bin 0 -> 29259 bytes
 .../img/basic-concepts-overview/coord-sys-1.jpg    |    Bin 0 -> 45861 bytes
 .../img/basic-concepts-overview/coord-sys-2.jpg    |    Bin 0 -> 69891 bytes
 .../asset/img/basic-concepts-overview/locate.jpg   |    Bin 0 -> 47641 bytes
 .../multiple-ec-instance.jpg                       |    Bin 0 -> 88599 bytes
 .../img/basic-concepts-overview/series-all-a.jpg   |    Bin 0 -> 63608 bytes
 .../img/basic-concepts-overview/series-all-b.jpg   |    Bin 0 -> 69138 bytes
 next/zh/documents/asset/img/custom-build-line.png  |    Bin 0 -> 72720 bytes
 next/zh/documents/asset/img/custom-build-pie.png   |    Bin 0 -> 41231 bytes
 next/zh/documents/asset/img/dataZoom-zone.png      |    Bin 0 -> 70513 bytes
 next/zh/documents/asset/img/echarts-aria.jpg       |    Bin 0 -> 143809 bytes
 next/zh/documents/asset/img/gl/bar3D-2d-data.png   |    Bin 0 -> 58130 bytes
 next/zh/documents/asset/img/gl/bar3D.png           |    Bin 0 -> 142020 bytes
 next/zh/documents/asset/img/gl/grid3D-basic.png    |    Bin 0 -> 30307 bytes
 next/zh/documents/asset/img/gl/scatter3D-color.png |    Bin 0 -> 145129 bytes
 .../documents/asset/img/gl/scatter3D-gaussian.png  |    Bin 0 -> 114828 bytes
 next/zh/documents/asset/img/gl/scatter3D-life.png  |    Bin 0 -> 90059 bytes
 next/zh/documents/asset/img/gl/scatter3D-life2.png |    Bin 0 -> 167782 bytes
 next/zh/documents/asset/img/gl/surface.png         |    Bin 0 -> 189074 bytes
 next/zh/documents/asset/img/smooth-algorithm.png   |    Bin 0 -> 244496 bytes
 .../documents/asset/img/smooth-monotone-none.png   |    Bin 0 -> 43625 bytes
 next/zh/documents/asset/img/smooth-monotone-x.png  |    Bin 0 -> 47594 bytes
 .../documents/asset/img/smooth-non-monotone-x.png  |    Bin 0 -> 161468 bytes
 next/zh/documents/asset/img/smooth-old-problem.png |    Bin 0 -> 145198 bytes
 next/zh/documents/asset/img/smooth-old-vs-new.png  |    Bin 0 -> 121268 bytes
 next/zh/documents/asset/img/treemap-border-gap.png |    Bin 0 -> 92466 bytes
 .../documents/option-gl-parts/option-gl-outline.js |      1 +
 .../option-gl-parts/option-gl-outline.json         |      1 +
 .../documents/option-gl-parts/option-gl.geo3D.js   |    512 +
 .../documents/option-gl-parts/option-gl.geo3D.json |    512 +
 .../documents/option-gl-parts/option-gl.globe.js   |    350 +
 .../documents/option-gl-parts/option-gl.globe.json |    350 +
 .../documents/option-gl-parts/option-gl.grid3D.js  |    398 +
 .../option-gl-parts/option-gl.grid3D.json          |    398 +
 next/zh/documents/option-gl-parts/option-gl.js     |     56 +
 next/zh/documents/option-gl-parts/option-gl.json   |     56 +
 .../option-gl-parts/option-gl.mapbox3D.js          |    203 +
 .../option-gl-parts/option-gl.mapbox3D.json        |    203 +
 .../option-gl-parts/option-gl.series-bar3D.js      |    269 +
 .../option-gl-parts/option-gl.series-bar3D.json    |    269 +
 .../option-gl-parts/option-gl.series-flowGL.js     |     38 +
 .../option-gl-parts/option-gl.series-flowGL.json   |     38 +
 .../option-gl-parts/option-gl.series-graphGL.js    |    140 +
 .../option-gl-parts/option-gl.series-graphGL.json  |    140 +
 .../option-gl-parts/option-gl.series-line3D.js     |     68 +
 .../option-gl-parts/option-gl.series-line3D.json   |     68 +
 .../option-gl-parts/option-gl.series-lines3D.js    |     83 +
 .../option-gl-parts/option-gl.series-lines3D.json  |     83 +
 .../option-gl-parts/option-gl.series-map3D.js      |    515 +
 .../option-gl-parts/option-gl.series-map3D.json    |    515 +
 .../option-gl-parts/option-gl.series-polygons3D.js |     35 +
 .../option-gl.series-polygons3D.json               |     35 +
 .../option-gl-parts/option-gl.series-scatter3D.js  |    143 +
 .../option-gl.series-scatter3D.json                |    143 +
 .../option-gl-parts/option-gl.series-scatterGL.js  |     65 +
 .../option-gl.series-scatterGL.json                |     65 +
 .../option-gl-parts/option-gl.series-surface.js    |    194 +
 .../option-gl-parts/option-gl.series-surface.json  |    194 +
 .../documents/option-gl-parts/option-gl.xAxis3D.js |    233 +
 .../option-gl-parts/option-gl.xAxis3D.json         |    233 +
 .../documents/option-gl-parts/option-gl.yAxis3D.js |    233 +
 .../option-gl-parts/option-gl.yAxis3D.json         |    233 +
 .../documents/option-gl-parts/option-gl.zAxis3D.js |    233 +
 .../option-gl-parts/option-gl.zAxis3D.json         |    233 +
 next/zh/documents/option-gl.json                   |      1 +
 next/zh/documents/option-parts/option-outline.js   |      1 +
 next/zh/documents/option-parts/option-outline.json |      1 +
 next/zh/documents/option-parts/option.angleAxis.js |   1830 +
 .../documents/option-parts/option.angleAxis.json   |   1830 +
 next/zh/documents/option-parts/option.aria.js      |     83 +
 next/zh/documents/option-parts/option.aria.json    |     83 +
 .../documents/option-parts/option.axisPointer.js   |    427 +
 .../documents/option-parts/option.axisPointer.json |    427 +
 next/zh/documents/option-parts/option.brush.js     |     53 +
 next/zh/documents/option-parts/option.brush.json   |     53 +
 next/zh/documents/option-parts/option.calendar.js  |   1454 +
 .../zh/documents/option-parts/option.calendar.json |   1454 +
 .../option-parts/option.dataZoom-inside.js         |    136 +
 .../option-parts/option.dataZoom-inside.json       |    136 +
 .../option-parts/option.dataZoom-slider.js         |    947 +
 .../option-parts/option.dataZoom-slider.json       |    947 +
 next/zh/documents/option-parts/option.dataset.js   |     50 +
 next/zh/documents/option-parts/option.dataset.json |     50 +
 next/zh/documents/option-parts/option.geo.js       |   3073 +
 next/zh/documents/option-parts/option.geo.json     |   3073 +
 next/zh/documents/option-parts/option.graphic.js   |   1298 +
 next/zh/documents/option-parts/option.graphic.json |   1298 +
 next/zh/documents/option-parts/option.grid.js      |    719 +
 next/zh/documents/option-parts/option.grid.json    |    719 +
 next/zh/documents/option-parts/option.js           |    595 +
 next/zh/documents/option-parts/option.json         |    595 +
 next/zh/documents/option-parts/option.legend.js    |   1612 +
 next/zh/documents/option-parts/option.legend.json  |   1612 +
 next/zh/documents/option-parts/option.parallel.js  |   1681 +
 .../zh/documents/option-parts/option.parallel.json |   1681 +
 .../documents/option-parts/option.parallelAxis.js  |   1642 +
 .../option-parts/option.parallelAxis.json          |   1642 +
 next/zh/documents/option-parts/option.polar.js     |    624 +
 next/zh/documents/option-parts/option.polar.json   |    624 +
 next/zh/documents/option-parts/option.radar.js     |   1184 +
 next/zh/documents/option-parts/option.radar.json   |   1184 +
 .../zh/documents/option-parts/option.radiusAxis.js |   2233 +
 .../documents/option-parts/option.radiusAxis.json  |   2233 +
 .../zh/documents/option-parts/option.series-bar.js |   5156 +
 .../documents/option-parts/option.series-bar.json  |   5156 +
 .../option-parts/option.series-boxplot.js          |   9209 +
 .../option-parts/option.series-boxplot.json        |   9209 +
 .../option-parts/option.series-candlestick.js      |   9276 +
 .../option-parts/option.series-candlestick.json    |   9276 +
 .../documents/option-parts/option.series-custom.js |   2123 +
 .../option-parts/option.series-custom.json         |   2123 +
 .../option-parts/option.series-effectScatter.js    |  13373 +
 .../option-parts/option.series-effectScatter.json  |  13373 +
 .../documents/option-parts/option.series-funnel.js |  12815 +
 .../option-parts/option.series-funnel.json         |  12815 +
 .../documents/option-parts/option.series-gauge.js  |  11078 +
 .../option-parts/option.series-gauge.json          |  11078 +
 .../documents/option-parts/option.series-graph.js  |  18602 +
 .../option-parts/option.series-graph.json          |  18602 +
 .../option-parts/option.series-heatmap.js          |  11302 +
 .../option-parts/option.series-heatmap.json        |  11302 +
 .../documents/option-parts/option.series-line.js   |  15286 +
 .../documents/option-parts/option.series-line.json |  15286 +
 .../documents/option-parts/option.series-lines.js  |  11912 +
 .../option-parts/option.series-lines.json          |  11912 +
 .../zh/documents/option-parts/option.series-map.js |  11910 +
 .../documents/option-parts/option.series-map.json  |  11910 +
 .../option-parts/option.series-parallel.js         |    394 +
 .../option-parts/option.series-parallel.json       |    394 +
 .../option-parts/option.series-pictorialBar.js     |  13589 +
 .../option-parts/option.series-pictorialBar.json   |  13589 +
 .../zh/documents/option-parts/option.series-pie.js |  12475 +
 .../documents/option-parts/option.series-pie.json  |  12475 +
 .../documents/option-parts/option.series-radar.js  |   5359 +
 .../option-parts/option.series-radar.json          |   5359 +
 .../documents/option-parts/option.series-sankey.js |   7022 +
 .../option-parts/option.series-sankey.json         |   7022 +
 .../option-parts/option.series-scatter.js          |  13359 +
 .../option-parts/option.series-scatter.json        |  13359 +
 .../option-parts/option.series-sunburst.js         |   7162 +
 .../option-parts/option.series-sunburst.json       |   7162 +
 .../option-parts/option.series-themeRiver.js       |   2503 +
 .../option-parts/option.series-themeRiver.json     |   2503 +
 .../documents/option-parts/option.series-tree.js   |   7118 +
 .../documents/option-parts/option.series-tree.json |   7118 +
 .../option-parts/option.series-treemap.js          |  12825 +
 .../option-parts/option.series-treemap.json        |  12825 +
 .../zh/documents/option-parts/option.singleAxis.js |   2873 +
 .../documents/option-parts/option.singleAxis.json  |   2873 +
 .../option-parts/option.stateAnimation.js          |     18 +
 .../option-parts/option.stateAnimation.json        |     18 +
 next/zh/documents/option-parts/option.textStyle.js |    113 +
 .../documents/option-parts/option.textStyle.json   |    113 +
 next/zh/documents/option-parts/option.timeline.js  |   1985 +
 .../zh/documents/option-parts/option.timeline.json |   1985 +
 next/zh/documents/option-parts/option.title.js     |    766 +
 next/zh/documents/option-parts/option.title.json   |    766 +
 next/zh/documents/option-parts/option.toolbox.js   |   1478 +
 next/zh/documents/option-parts/option.toolbox.json |   1478 +
 next/zh/documents/option-parts/option.tooltip.js   |    673 +
 next/zh/documents/option-parts/option.tooltip.json |    673 +
 .../option-parts/option.visualMap-continuous.js    |    448 +
 .../option-parts/option.visualMap-continuous.json  |    448 +
 .../option-parts/option.visualMap-piecewise.js     |    315 +
 .../option-parts/option.visualMap-piecewise.json   |    315 +
 next/zh/documents/option-parts/option.xAxis.js     |   2271 +
 next/zh/documents/option-parts/option.xAxis.json   |   2271 +
 next/zh/documents/option-parts/option.yAxis.js     |   2271 +
 next/zh/documents/option-parts/option.yAxis.json   |   2271 +
 next/zh/documents/option.json                      |      1 +
 .../documents/tutorial-parts/tutorial-outline.js   |      1 +
 .../documents/tutorial-parts/tutorial-outline.json |      1 +
 next/zh/documents/tutorial-parts/tutorial.js       |     74 +
 next/zh/documents/tutorial-parts/tutorial.json     |     74 +
 next/zh/documents/tutorial.json                    |      1 +
 next/zh/js/doc-bundle.js                           |      8 +
 next/zh/option-gl.html                             |      8 +-
 next/zh/option.html                                |      8 +-
 next/zh/tutorial.html                              |      8 +-
 zh/404.html                                        |      4 +-
 zh/api.html                                        |      8 +-
 zh/builder.html                                    |      4 +-
 zh/builder/echarts.html                            |      2 +-
 zh/builder3.html                                   |      4 +-
 zh/changelog.html                                  |      4 +-
 zh/cheat-sheet.html                                |      6 +-
 zh/coding-standard.html                            |      4 +-
 zh/committers.html                                 |      4 +-
 zh/contributing.html                               |      4 +-
 zh/css/only_for_cdn_ready_check.css                |      2 +-
 zh/demo.html                                       |      6 +-
 zh/dependencies.html                               |      4 +-
 zh/download-extension.html                         |      4 +-
 zh/download-map.html                               |      4 +-
 zh/download-theme.html                             |      4 +-
 zh/download.html                                   |      4 +-
 zh/download3.html                                  |      4 +-
 zh/examples.html                                   |      6 +-
 zh/faq.html                                        |      4 +-
 zh/feature.html                                    |      4 +-
 zh/index.html                                      |      6 +-
 zh/maillist.html                                   |      4 +-
 zh/option-gl.html                                  |      8 +-
 zh/option.html                                     |      8 +-
 zh/option3.html                                    |     10 +-
 zh/resources.html                                  |      4 +-
 zh/security.html                                   |      4 +-
 zh/spreadsheet.html                                |     10 +-
 zh/theme-builder.html                              |      4 +-
 zh/theme-builder/app.min.js                        |      2 +-
 zh/tutorial.html                                   |      8 +-
 2933 files changed, 1562230 insertions(+), 245 deletions(-)

diff --git a/components/builder.html b/components/builder.html
index 09c3e4f..8378a52 100644
--- a/components/builder.html
+++ b/components/builder.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/zh/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/zh/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -7,7 +7,7 @@
     document.head.insertBefore(el, document.getElementById('font-hack'));
 }
 </script><title>ECharts 在线构建</title><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/zh/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![endif]-->
-<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts 是一个正在由 Apache 孵化器赞助的 Apache 开源基金会孵化的项目。</p><p>我们正在处理将本站跳转到 <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a> 的迁移工作。您可以现在就前往我们的 Apache 官网。</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="btn btn-main"><div>访问官网</div></a><a href="javascript:;" onclick="closeApacheBanner(true)" class="close [...]
+<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts 是一个正在由 Apache 孵化器赞助的 Apache 开源基金会孵化的项目。</p><p>我们正在处理将本站跳转到 <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a> 的迁移工作。您可以现在就前往我们的 Apache 官网。</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="btn btn-main"><div>访问官网</div></a><a href="javascript:;" onclick="closeApacheBanner(true)" class="close [...]
 
 fetch('https://data.jsdelivr.com/v1/package/npm/echarts', {
     mode: 'cors'
diff --git a/components/download.html b/components/download.html
index 1adea2e..97368c7 100644
--- a/components/download.html
+++ b/components/download.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/zh/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/zh/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -7,7 +7,7 @@
     document.head.insertBefore(el, document.getElementById('font-hack'));
 }
 </script><title>下载 - Apache ECharts (incubating)</title><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/zh/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![endif]-->
-<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts 是一个正在由 Apache 孵化器赞助的 Apache 开源基金会孵化的项目。</p><p>我们正在处理将本站跳转到 <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a> 的迁移工作。您可以现在就前往我们的 Apache 官网。</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="btn btn-main"><div>访问官网</div></a><a href="javascript:;" onclick="closeApacheBanner(true)" class="close [...]
+<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts 是一个正在由 Apache 孵化器赞助的 Apache 开源基金会孵化的项目。</p><p>我们正在处理将本站跳转到 <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a> 的迁移工作。您可以现在就前往我们的 Apache 官网。</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="btn btn-main"><div>访问官网</div></a><a href="javascript:;" onclick="closeApacheBanner(true)" class="close [...]
 
 //- $('.download-echarts').click(function (e) {
 //-     var el = document.createElement('div');
diff --git a/en/404.html b/en/404.html
index b89835f..0e22428 100644
--- a/en/404.html
+++ b/en/404.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/zh/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/zh/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -7,7 +7,7 @@
     document.head.insertBefore(el, document.getElementById('font-hack'));
 }
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/zh/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![endif]-->
-<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts 是一个正在由 Apache 孵化器赞助的 Apache 开源基金会孵化的项目。</p><p>我们正在处理将本站跳转到 <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a> 的迁移工作。您可以现在就前往我们的 Apache 官网。</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="btn btn-main"><div>访问官网</div></a><a href="javascript:;" onclick="closeApacheBanner(true)" class="close [...]
+<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts 是一个正在由 Apache 孵化器赞助的 Apache 开源基金会孵化的项目。</p><p>我们正在处理将本站跳转到 <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a> 的迁移工作。您可以现在就前往我们的 Apache 官网。</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="btn btn-main"><div>访问官网</div></a><a href="javascript:;" onclick="closeApacheBanner(true)" class="close [...]
 (function() {
 var hm = document.createElement("script");
 
diff --git a/en/api.html b/en/api.html
index e0bf822..b2a02f1 100644
--- a/en/api.html
+++ b/en/api.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -9,8 +9,8 @@
 </script><title>Documentation - Apache ECharts(incubating)</title><style>html, body {
     /* position: sticky should not have overflow parents.*/
     overflow-x: hidden;
-}</style><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/element-ui@2.13.2/lib/theme-chalk/index.css"><link rel="stylesheet" href="https://echarts.apache.org/en/css/doc-bundle.css?_v_=1604161749206"><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/en/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![endif]-->
-<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="lo [...]
+}</style><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/element-ui@2.13.2/lib/theme-chalk/index.css"><link rel="stylesheet" href="https://echarts.apache.org/en/css/doc-bundle.css?_v_=1605027828939"><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/en/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![endif]-->
+<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="lo [...]
 </script><script type="text/javascript">window.globalArgsExtra = {
     baseUrl: 'documents/api-parts',
     docType: 'api',
@@ -19,7 +19,7 @@
 if (window.EC_WWW_CDN_PAY_ROOT) {
     window.globalArgsExtra.cdnRoot = window.EC_WWW_CDN_PAY_ROOT + '/en/' + window.globalArgsExtra.baseUrl
 }</script><script type="text/javascript">document.getElementById('nav-doc').className = 'active';
-window.globalArgsExtra.version = '1604161749206';
+window.globalArgsExtra.version = '1605027828939';
 echartsDoc.init('#ec-doc-main', window.globalArgsExtra);</script><!-- Baidu Tongji--><script type="text/javascript">var _hmt = _hmt || [];
 (function() {
 var hm = document.createElement("script");
diff --git a/en/builder.html b/en/builder.html
index b686301..07b986c 100644
--- a/en/builder.html
+++ b/en/builder.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -7,7 +7,7 @@
     document.head.insertBefore(el, document.getElementById('font-hack'));
 }
 </script><title>ECharts Online Builder</title><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/en/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![endif]-->
-<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="lo [...]
+<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="lo [...]
 
 fetch('https://data.jsdelivr.com/v1/package/npm/echarts', {
     mode: 'cors'
diff --git a/en/builder/echarts.html b/en/builder/echarts.html
index 46f895f..71ede81 100644
--- a/en/builder/echarts.html
+++ b/en/builder/echarts.html
@@ -54,7 +54,7 @@
                 'rollup': 'lib/rollup.browser',
                 'transformDev': 'lib/transform-dev-bundle'
             },
-            urlArgs: 'v=1604161749206'
+            urlArgs: 'v=1605027828939'
         });
 
         require(['build']);
diff --git a/en/changelog.html b/en/changelog.html
index 0f4219d..4671570 100644
--- a/en/changelog.html
+++ b/en/changelog.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -1347,7 +1347,7 @@ Fix that the line label can not be returned to its original opacity after <code>
 <ul>
 <li>The new echarts</li>
 </ul>
-<footer class="inner-footer"><div class="container"><div class="row"><div class="col-md-8"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessaril [...]
+<footer class="inner-footer"><div class="container"><div class="row"><div class="col-md-8"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessaril [...]
 
 // Fix scroll position covered by nav
 window.addEventListener('hashchange', function() {
diff --git a/en/cheat-sheet.html b/en/cheat-sheet.html
index 30686a6..7382de6 100644
--- a/en/cheat-sheet.html
+++ b/en/cheat-sheet.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -7,8 +7,8 @@
     document.head.insertBefore(el, document.getElementById('font-hack'));
 }
 </script><title>Cheat Sheet - Apache ECharts (incubating)</title><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/en/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![endif]-->
-<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="lo [...]
-</script><script src="https://cdn.jsdelivr.net/npm/echarts@4.8.0/dist/echarts.min.js"></script><script src="https://echarts.apache.org/en/js/cheat-sheet-en.js?_v_=1604161749206"></script><!-- Baidu Tongji--><script type="text/javascript">var _hmt = _hmt || [];
+<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="lo [...]
+</script><script src="https://cdn.jsdelivr.net/npm/echarts@4.8.0/dist/echarts.min.js"></script><script src="https://echarts.apache.org/en/js/cheat-sheet-en.js?_v_=1605027828939"></script><!-- Baidu Tongji--><script type="text/javascript">var _hmt = _hmt || [];
 (function() {
 var hm = document.createElement("script");
 
diff --git a/en/coding-standard.html b/en/coding-standard.html
index 69e3561..08c7ad1 100644
--- a/en/coding-standard.html
+++ b/en/coding-standard.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -574,7 +574,7 @@ var arr = new Array();
 <p><strong>[MUST]</strong> Do not use <code>for in</code> in array traverse.</p>
 <h3 id="others">Others</h3>
 <p><strong>[MUST]</strong> Do not use <code>eval</code> and <code>with</code>. <code>new Function</code> can be used.</p>
-<footer class="inner-footer"><div class="container"><div class="row"><div class="col-md-8"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessaril [...]
+<footer class="inner-footer"><div class="container"><div class="row"><div class="col-md-8"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessaril [...]
 
 var $list = $('#standard-nav');
 $('.page-detail h2, .page-detail h3, .page-detail h4')
diff --git a/en/committers.html b/en/committers.html
index f9472ed..c146a20 100644
--- a/en/committers.html
+++ b/en/committers.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -7,7 +7,7 @@
     document.head.insertBefore(el, document.getElementById('font-hack'));
 }
 </script><title>Committers - Apache ECharts (incubating)</title><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/en/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![endif]-->
-<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="lo [...]
+<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="lo [...]
 (function() {
 var hm = document.createElement("script");
 
diff --git a/en/contributing.html b/en/contributing.html
index 6d7c5c6..2346ea1 100644
--- a/en/contributing.html
+++ b/en/contributing.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/zh/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/zh/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -7,7 +7,7 @@
     document.head.insertBefore(el, document.getElementById('font-hack'));
 }
 </script><title>Contributing - Apache ECharts (incubating)</title><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/zh/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![endif]-->
-<!--[if (gt IE 8)|!(IE)]><body class="ECharts FAQ"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts 是一个正在由 Apache 孵化器赞助的 Apache 开源基金会孵化的项目。</p><p>我们正在处理将本站跳转到 <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a> 的迁移工作。您可以现在就前往我们的 Apache 官网。</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="btn btn-main"><div>访问官网</div></a><a href="javascript:;" onclick="closeApacheBanner(true)" class="clo [...]
+<!--[if (gt IE 8)|!(IE)]><body class="ECharts FAQ"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts 是一个正在由 Apache 孵化器赞助的 Apache 开源基金会孵化的项目。</p><p>我们正在处理将本站跳转到 <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a> 的迁移工作。您可以现在就前往我们的 Apache 官网。</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="btn btn-main"><div>访问官网</div></a><a href="javascript:;" onclick="closeApacheBanner(true)" class="clo [...]
 (function() {
 var hm = document.createElement("script");
 
diff --git a/en/dependencies.html b/en/dependencies.html
index 70382bf..53d8393 100644
--- a/en/dependencies.html
+++ b/en/dependencies.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -7,7 +7,7 @@
     document.head.insertBefore(el, document.getElementById('font-hack'));
 }
 </script><title>Dependencies - Apache ECharts (incubating)</title><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/en/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![endif]-->
-<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="lo [...]
+<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="lo [...]
 (function() {
 var hm = document.createElement("script");
 
diff --git a/en/download-extension.html b/en/download-extension.html
index b81d1d1..e59ac8a 100644
--- a/en/download-extension.html
+++ b/en/download-extension.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -7,7 +7,7 @@
     document.head.insertBefore(el, document.getElementById('font-hack'));
 }
 </script><title>Download Extensions - Apache ECharts (incubating)</title><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/en/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![endif]-->
-<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="lo [...]
+<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="lo [...]
 (function() {
 var hm = document.createElement("script");
 
diff --git a/en/download-map.html b/en/download-map.html
index 674ca10..8d444aa 100644
--- a/en/download-map.html
+++ b/en/download-map.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -8,7 +8,7 @@
 }
 </script><title>Download Maps - Apache ECharts (incubating)</title><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/en/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![endif]-->
 <!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="lo [...]
-</script><footer><div class="container"><div class="row"><div class="col-md-9"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflecti [...]
+</script><footer><div class="container"><div class="row"><div class="col-md-9"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflecti [...]
 (function() {
 var hm = document.createElement("script");
 
diff --git a/en/download-theme.html b/en/download-theme.html
index 1f66538..0ae523f 100644
--- a/en/download-theme.html
+++ b/en/download-theme.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -17,7 +17,7 @@ chart.setOption({
     ...
 });
 &lt;/script&gt;
-</pre></div></div></section><footer><div class="container"><div class="row"><div class="col-md-9"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not nec [...]
+</pre></div></div></section><footer><div class="container"><div class="row"><div class="col-md-9"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not nec [...]
 
 $('pre').addClass('prettyprint');
 prettyPrint();
diff --git a/en/download.html b/en/download.html
index d4aec24..8adbfb6 100644
--- a/en/download.html
+++ b/en/download.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -16,7 +16,7 @@
     font-weight: normal;
 }
 */
-</style><nav class="navbar navbar-default navbar-fixed-top"><div class="container-fluid"><div class="navbar-header"><button type="button" data-toggle="collapse" data-target="#navbar-collapse" aria-expanded="false" class="navbar-toggle collapsed"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button><a href="https://echarts.apache.org/en/index.html" class="navbar-brand"><img src="https://echarts.apa [...]
+</style><nav class="navbar navbar-default navbar-fixed-top"><div class="container-fluid"><div class="navbar-header"><button type="button" data-toggle="collapse" data-target="#navbar-collapse" aria-expanded="false" class="navbar-toggle collapsed"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button><a href="https://echarts.apache.org/en/index.html" class="navbar-brand"><img src="https://echarts.apa [...]
 
 //- var list = [
 //-         {
diff --git a/en/faq.html b/en/faq.html
index d5c4ca9..97f6abe 100644
--- a/en/faq.html
+++ b/en/faq.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -9,7 +9,7 @@
 </script><title>FAQ - Apache ECharts (incubating)</title><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/en/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![endif]-->
 <!--[if (gt IE 8)|!(IE)]><body class="FAQ - Apache ECharts (incubating)"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now.</p></div><a href="https://echarts.apache.org" tar [...]
    console.log(params);
-});</code></pre><p>Please refer to <a href="https://gallery.echartsjs.com/editor.html?c=xHyqn_rQ6g">this example</a>.</p><h3>How to make my custom map?</h3><p>The ECharts map is <a href="https://github.com/apache/incubator-echarts/blob/8eeb7e5abe207d0536c62ce1f4ddecc6adfdf85e/src/util/mapData/rawData/encode.js">additionally encoded</a> from original coordinates. You can use the <a href="https://github.com/giscafer/mapshaper-plus">mapshaper-plus tool</a> to upload a custom geojson file an [...]
+});</code></pre><p>Please refer to <a href="https://gallery.echartsjs.com/editor.html?c=xHyqn_rQ6g">this example</a>.</p><h3>How to make my custom map?</h3><p>The ECharts map is <a href="https://github.com/apache/incubator-echarts/blob/8eeb7e5abe207d0536c62ce1f4ddecc6adfdf85e/src/util/mapData/rawData/encode.js">additionally encoded</a> from original coordinates. You can use the <a href="https://github.com/giscafer/mapshaper-plus">mapshaper-plus tool</a> to upload a custom geojson file an [...]
 (function() {
 var hm = document.createElement("script");
 
diff --git a/en/feature.html b/en/feature.html
index 17f5b8d..8f90800 100644
--- a/en/feature.html
+++ b/en/feature.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -7,7 +7,7 @@
     document.head.insertBefore(el, document.getElementById('font-hack'));
 }
 </script><title>Features - Apache ECharts (incubating)</title><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/en/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![endif]-->
-<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="lo [...]
+<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="lo [...]
 (function() {
 var hm = document.createElement("script");
 
diff --git a/en/index.html b/en/index.html
index 64fcaac..3606abd 100644
--- a/en/index.html
+++ b/en/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -17,9 +17,9 @@
 
 </script><section id="feature-section"><div class="container"><div class="row features"><p>Apache ECharts (incubating)<sup>TM</sup> is an incubation project at <a target="_blank" href="https://www.apache.org/">The Apache Software Foundation</a> (ASF).</p></div><div class="row features"><div class="col-sm-4"><div class="feature-icon-panel"><svg width="36px" height="33px" viewbox="0 0 36 33" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class=" [...]
 <a class="github-button" href="https://github.com/apache/incubator-echarts" data-icon="octicon-star" data-size="large" data-show-count="true" aria-label="Star apache/incubator-echarts on GitHub">GitHub Stars</a></p></div></div><div id="feature-4" class="row feature-detail"><div class="col-sm-4 col"><h2>Brand-new v4.0</h2><p>Rendering ability for ten-million-level data</p><p>Supports both SVG and Canvas rendering</p><p>Seperates data and style configuring</p><p>Accessibility supports</p>< [...]
-</script></div></div></section><section id="publication"><div class="container"><div class="col-sm-8 col"><h2>ECharts: A Declarative Framework for Rapid Construction of Web-based Visualization</h2><p class="note"><i class="note-icon"><img classs="lazy" data-src="https://echarts.apache.org/en/images/note.svg?_v_=20200710_1" /></i> Please cite the following paper whenever you use ECharts in your R&D projects, products, research papers, technical reports, news reports, books, presentations, [...]
+</script></div></div></section><section id="publication"><div class="container"><div class="col-sm-8 col"><h2>ECharts: A Declarative Framework for Rapid Construction of Web-based Visualization</h2><p class="note"><i class="note-icon"><img classs="lazy" data-src="https://echarts.apache.org/en/images/note.svg?_v_=20200710_1" /></i> Please cite the following paper whenever you use ECharts in your R&D projects, products, research papers, technical reports, news reports, books, presentations, [...]
     elements_selector: ".lazy"
-};</script><script src="https://cdn.jsdelivr.net/npm/vanilla-lazyload@12.0.0/dist/lazyload.min.js"></script><script src="https://echarts.apache.org/en/js/index.js?_v_=1604161749206"></script><script async defer src="https://buttons.github.io/buttons.js"></script><!-- Baidu Tongji--><script type="text/javascript">var _hmt = _hmt || [];
+};</script><script src="https://cdn.jsdelivr.net/npm/vanilla-lazyload@12.0.0/dist/lazyload.min.js"></script><script src="https://echarts.apache.org/en/js/index.js?_v_=1605027828939"></script><script async defer src="https://buttons.github.io/buttons.js"></script><!-- Baidu Tongji--><script type="text/javascript">var _hmt = _hmt || [];
 (function() {
 var hm = document.createElement("script");
 
diff --git a/en/maillist.html b/en/maillist.html
index 0d85c30..a0aa8d1 100644
--- a/en/maillist.html
+++ b/en/maillist.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -7,7 +7,7 @@
     document.head.insertBefore(el, document.getElementById('font-hack'));
 }
 </script><title>Mailing List - Apache ECharts (incubating)</title><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/en/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![endif]-->
-<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="lo [...]
+<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="lo [...]
 (function() {
 var hm = document.createElement("script");
 
diff --git a/en/option-gl.html b/en/option-gl.html
index 4d53335..6f81921 100644
--- a/en/option-gl.html
+++ b/en/option-gl.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -9,8 +9,8 @@
 </script><title>Documentation - Apache ECharts(incubating)</title><style>html, body {
     /* position: sticky should not have overflow parents.*/
     overflow-x: hidden;
-}</style><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/element-ui@2.13.2/lib/theme-chalk/index.css"><link rel="stylesheet" href="https://echarts.apache.org/en/css/doc-bundle.css?_v_=1604161749206"><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/en/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![endif]-->
-<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="lo [...]
+}</style><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/element-ui@2.13.2/lib/theme-chalk/index.css"><link rel="stylesheet" href="https://echarts.apache.org/en/css/doc-bundle.css?_v_=1605027828939"><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/en/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![endif]-->
+<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="lo [...]
 </script><script type="text/javascript">window.globalArgsExtra = {
     baseUrl: 'documents/option-gl-parts',
     docType: 'option-gl',
@@ -19,7 +19,7 @@
 if (window.EC_WWW_CDN_PAY_ROOT) {
     window.globalArgsExtra.cdnRoot = window.EC_WWW_CDN_PAY_ROOT + '/en/' + window.globalArgsExtra.baseUrl
 }</script><script type="text/javascript">document.getElementById('nav-doc').className = 'active';
-window.globalArgsExtra.version = '1604161749206';
+window.globalArgsExtra.version = '1605027828939';
 echartsDoc.init('#ec-doc-main', window.globalArgsExtra);</script><!-- Baidu Tongji--><script type="text/javascript">var _hmt = _hmt || [];
 (function() {
 var hm = document.createElement("script");
diff --git a/en/option.html b/en/option.html
index 22d6e20..f8ecc0c 100644
--- a/en/option.html
+++ b/en/option.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -9,8 +9,8 @@
 </script><title>Documentation - Apache ECharts(incubating)</title><style>html, body {
     /* position: sticky should not have overflow parents.*/
     overflow-x: hidden;
-}</style><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/element-ui@2.13.2/lib/theme-chalk/index.css"><link rel="stylesheet" href="https://echarts.apache.org/en/css/doc-bundle.css?_v_=1604161749206"><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/en/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![endif]-->
-<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="lo [...]
+}</style><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/element-ui@2.13.2/lib/theme-chalk/index.css"><link rel="stylesheet" href="https://echarts.apache.org/en/css/doc-bundle.css?_v_=1605027828939"><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/en/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![endif]-->
+<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="lo [...]
 </script><script type="text/javascript">window.globalArgsExtra = {
     baseUrl: 'documents/option-parts',
     docType: 'option',
@@ -19,7 +19,7 @@
 if (window.EC_WWW_CDN_PAY_ROOT) {
     window.globalArgsExtra.cdnRoot = window.EC_WWW_CDN_PAY_ROOT + '/en/' + window.globalArgsExtra.baseUrl
 }</script><script type="text/javascript">document.getElementById('nav-doc').className = 'active';
-window.globalArgsExtra.version = '1604161749206';
+window.globalArgsExtra.version = '1605027828939';
 echartsDoc.init('#ec-doc-main', window.globalArgsExtra);</script><!-- Baidu Tongji--><script type="text/javascript">var _hmt = _hmt || [];
 (function() {
 var hm = document.createElement("script");
diff --git a/en/option3.html b/en/option3.html
index 8042472..408b2ef 100644
--- a/en/option3.html
+++ b/en/option3.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -7,7 +7,7 @@
     document.head.insertBefore(el, document.getElementById('font-hack'));
 }
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/en/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![endif]-->
-<!--[if (gt IE 8)|!(IE)]><body class="ECharts Configurations"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now.</p></div><a href="https://echarts.apache.org" target="_blank [...]
+<!--[if (gt IE 8)|!(IE)]><body class="ECharts Configurations"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now.</p></div><a href="https://echarts.apache.org" target="_blank [...]
 </script><footer><div class="container"><div class="row"><div class="col-md-9"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflecti [...]
 (function() {
 var hm = document.createElement("script");
diff --git a/en/resources.html b/en/resources.html
index 6231bb2..99172c5 100644
--- a/en/resources.html
+++ b/en/resources.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/zh/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/zh/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -7,7 +7,7 @@
     document.head.insertBefore(el, document.getElementById('font-hack'));
 }
 </script><title>More Resources - Apache ECharts (incubating)</title><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/zh/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![endif]-->
-<!--[if (gt IE 8)|!(IE)]><body class="More Resources"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts 是一个正在由 Apache 孵化器赞助的 Apache 开源基金会孵化的项目。</p><p>我们正在处理将本站跳转到 <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a> 的迁移工作。您可以现在就前往我们的 Apache 官网。</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="btn btn-main"><div>访问官网</div></a><a href="javascript:;" onclick="closeApacheBanner(true)" class=" [...]
+<!--[if (gt IE 8)|!(IE)]><body class="More Resources"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts 是一个正在由 Apache 孵化器赞助的 Apache 开源基金会孵化的项目。</p><p>我们正在处理将本站跳转到 <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a> 的迁移工作。您可以现在就前往我们的 Apache 官网。</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="btn btn-main"><div>访问官网</div></a><a href="javascript:;" onclick="closeApacheBanner(true)" class=" [...]
 (function() {
 var hm = document.createElement("script");
 
diff --git a/en/security.html b/en/security.html
index 9d32a33..67a8e3f 100644
--- a/en/security.html
+++ b/en/security.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/zh/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/zh/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -7,7 +7,7 @@
     document.head.insertBefore(el, document.getElementById('font-hack'));
 }
 </script><title>Security - Apache ECharts (incubating)</title><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/zh/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![endif]-->
-<!--[if (gt IE 8)|!(IE)]><body class="Security"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts 是一个正在由 Apache 孵化器赞助的 Apache 开源基金会孵化的项目。</p><p>我们正在处理将本站跳转到 <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a> 的迁移工作。您可以现在就前往我们的 Apache 官网。</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="btn btn-main"><div>访问官网</div></a><a href="javascript:;" onclick="closeApacheBanner(true)" class="close- [...]
+<!--[if (gt IE 8)|!(IE)]><body class="Security"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts 是一个正在由 Apache 孵化器赞助的 Apache 开源基金会孵化的项目。</p><p>我们正在处理将本站跳转到 <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a> 的迁移工作。您可以现在就前往我们的 Apache 官网。</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="btn btn-main"><div>访问官网</div></a><a href="javascript:;" onclick="closeApacheBanner(true)" class="close- [...]
 (function() {
 var hm = document.createElement("script");
 
diff --git a/en/spreadsheet.html b/en/spreadsheet.html
index 110a9e2..8788aa5 100644
--- a/en/spreadsheet.html
+++ b/en/spreadsheet.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -6,13 +6,13 @@
         + '@font-face {font-family:"noto-light";src:local("Microsoft Yahei");}';
     document.head.insertBefore(el, document.getElementById('font-hack'));
 }
-</script><title>Spreadsheet Tool - Apache ECharts (incubating)</title><link rel="stylesheet" type="text/css" href="https://echarts.apache.org/en/vendors/handsontable/0.26.1/dist/handsontable.full.min.css?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://echarts.apache.org/en/css/spreadsheet.css?_v_=1604161749206"><script src="vendors/esl.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[i [...]
-<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="lo [...]
+</script><title>Spreadsheet Tool - Apache ECharts (incubating)</title><link rel="stylesheet" type="text/css" href="https://echarts.apache.org/en/vendors/handsontable/0.26.1/dist/handsontable.full.min.css?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://echarts.apache.org/en/css/spreadsheet.css?_v_=1605027828939"><script src="vendors/esl.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[i [...]
+<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="lo [...]
 
 var vendorPath = '../vendors';
 
 define('globalArgs', extend({
-    version: '1604161749206',
+    version: '1605027828939',
     basePath: './'
 }, window.globalArgsExtra || {}));
 
@@ -31,7 +31,7 @@ require.config({
         numeral: vendorPath + '/numeral/1.4.7/numeral.min',
         immutable: vendorPath + '/immutable/3.7.4/dist/immutable'
     },
-    urlArgs: '_v_=1604161749206'
+    urlArgs: '_v_=1605027828939'
 });
 
 require(['spreadsheet/spreadsheet'], function (spreadsheet) {
diff --git a/en/theme-builder.html b/en/theme-builder.html
index a26aa14..280fa41 100644
--- a/en/theme-builder.html
+++ b/en/theme-builder.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -526,7 +526,7 @@
 <script src="//cdn.jsdelivr.net/npm/file-saver@2.0.2/dist/FileSaver.min.js"></script>
 
 <script src="./theme-builder/app.min.js"></script>
-</div></div><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script><script type="text/javascript" src="https://echarts.apache.org/en/js/common.js?_v_=1604161749206"></script><script type="text/javascript">document.getElementById('nav-resources').className = 'active';</script><!-- Baidu Tongji--><script type="text/javascript">var _hmt = _hmt || [];
+</div></div><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script><script type="text/javascript" src="https://echarts.apache.org/en/js/common.js?_v_=1605027828939"></script><script type="text/javascript">document.getElementById('nav-resources').className = 'active';</script><!-- Baidu Tongji--><script type="text/javascript">var _hmt = _hmt || [];
 (function() {
 var hm = document.createElement("script");
 
diff --git a/en/theme-builder/app.min.js b/en/theme-builder/app.min.js
index 7791411..228c5d6 100644
--- a/en/theme-builder/app.min.js
+++ b/en/theme-builder/app.min.js
@@ -1 +1 @@
-var VueColor=Vue.extend({template:'<div class="input-group colorpicker-component"><input type="text" class="form-control" debounce="2000" /><span class="input-group-addon"><i></i></span></div>',compiled:function(){var a=this,t=$(this.$el);t.find("input").val(this.color),t.colorpicker().on("changeColor",function(){var e=t.find("input").val();echarts.color.parse(e)&&a.$set("color",e)}),a.$watch("color",function(e){t.colorpicker("setValue",e)})},props:{color:{twoWay:!0}}});Vue.component("co [...]
\ No newline at end of file
+var VueColor=Vue.extend({template:'<div class="input-group colorpicker-component"><input type="text" class="form-control" debounce="2000" /><span class="input-group-addon"><i></i></span></div>',compiled:function(){var a=this,t=$(this.$el);t.find("input").val(this.color),t.colorpicker().on("changeColor",function(){var e=t.find("input").val();echarts.color.parse(e)&&a.$set("color",e)}),a.$watch("color",function(e){t.colorpicker("setValue",e)})},props:{color:{twoWay:!0}}});Vue.component("co [...]
\ No newline at end of file
diff --git a/en/tutorial.html b/en/tutorial.html
index d30c1ec..2b8d78c 100644
--- a/en/tutorial.html
+++ b/en/tutorial.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -9,8 +9,8 @@
 </script><title>Documentation - Apache ECharts(incubating)</title><style>html, body {
     /* position: sticky should not have overflow parents.*/
     overflow-x: hidden;
-}</style><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/element-ui@2.13.2/lib/theme-chalk/index.css"><link rel="stylesheet" href="https://echarts.apache.org/en/css/doc-bundle.css?_v_=1604161749206"><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/en/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![endif]-->
-<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="lo [...]
+}</style><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/element-ui@2.13.2/lib/theme-chalk/index.css"><link rel="stylesheet" href="https://echarts.apache.org/en/css/doc-bundle.css?_v_=1605027828939"><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/en/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![endif]-->
+<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="lo [...]
 </script><script type="text/javascript">window.globalArgsExtra = {
     baseUrl: 'documents/tutorial-parts',
     docType: 'tutorial',
@@ -19,7 +19,7 @@
 if (window.EC_WWW_CDN_PAY_ROOT) {
     window.globalArgsExtra.cdnRoot = window.EC_WWW_CDN_PAY_ROOT + '/en/' + window.globalArgsExtra.baseUrl
 }</script><script type="text/javascript">document.getElementById('nav-doc').className = 'active';
-window.globalArgsExtra.version = '1604161749206';
+window.globalArgsExtra.version = '1605027828939';
 echartsDoc.init('#ec-doc-main', window.globalArgsExtra);</script><!-- Baidu Tongji--><script type="text/javascript">var _hmt = _hmt || [];
 (function() {
 var hm = document.createElement("script");
diff --git a/examples/en/editor.html b/examples/en/editor.html
index 229af69..02b6435 100644
--- a/examples/en/editor.html
+++ b/examples/en/editor.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"><link rel="shortcut icon" href="https://echarts.apache.org/examples/images/favicon.png?_v_=20200710_1"><!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries--><!--[if lt IE 9] [...]
+<!DOCTYPE html><html><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"><link rel="shortcut icon" href="https://echarts.apache.org/examples/images/favicon.png?_v_=20200710_1"><!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries--><!--[if lt IE 9] [...]
 </script></head><body><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now for the latest information.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="b [...]
 var menu = document.getElementById(selector);
 if (menu) {
@@ -8,7 +8,7 @@ if (menu) {
     var nav = document.getElementsByClassName('navbar')[0];
     nav.parentNode.removeChild(nav);
     document.getElementById('main-container').style.top = 0;
-}</script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@1.11.3/dist/jquery.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/lodash@3.10.1/index.min.js"></script><script type="text/javascript" src="https://echarts.apache.org/examples/javascripts/common.js?_v_=1604161743928"></script><script type="text/javascript">fun [...]
+}</script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@1.11.3/dist/jquery.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/lodash@3.10.1/index.min.js"></script><script type="text/javascript" src="https://echarts.apache.org/examples/javascripts/common.js?_v_=1605027798018"></script><script type="text/javascript">fun [...]
     if (lang === 'en') {
         if (location.hostname !== 'echarts.apache.org') {
             var re = new RegExp('/zh/', 'g');
@@ -42,7 +42,7 @@ window.ROOT_PATH = EC_EXAMPLE_IS_GL ? 'https://echarts.apache.org/examples' : 'h
 window.CDN_PAY_ROOT_PATH = 'https://echarts.apache.org/examples';
 window.CDN_PAY_VERSION = '20200710_1';
 window.CDN_THIRD_PARTY_ECHARTS_GL = 'https://cdn.jsdelivr.net/npm/echarts-gl/dist/echarts-gl.min.js'
-</script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/dat.gui@0.6.5/build/dat.gui.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js?_v_=1604161743928"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts-stat/dist/ecStat.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/map/js/china.js?_v_=1604161743928"></script><script type="text/javascrip [...]
+</script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/dat.gui@0.6.5/build/dat.gui.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js?_v_=1605027798018"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts-stat/dist/ecStat.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/map/js/china.js?_v_=1605027798018"></script><script type="text/javascrip [...]
 (function() {
 var hm = document.createElement("script");
 
diff --git a/examples/en/index.html b/examples/en/index.html
index 23cb486..14bdbf3 100644
--- a/examples/en/index.html
+++ b/examples/en/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"><link rel="shortcut icon" href="https://echarts.apache.org/examples/images/favicon.png?_v_=20200710_1"><!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries--><!--[if lt IE 9] [...]
+<!DOCTYPE html><html><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"><link rel="shortcut icon" href="https://echarts.apache.org/examples/images/favicon.png?_v_=20200710_1"><!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries--><!--[if lt IE 9] [...]
 </script></head><body><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now for the latest information.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="b [...]
 var menu = document.getElementById(selector);
 if (menu) {
     menu.className = 'active';
 }
-</script><div id="left-chart-nav"><ul></ul></div><div id="explore-container"><div id="toolbar"><div id="theme"><span>Theme:</span><a href="./index.html" title="default" data-theme="default" class="default"><span></span></a><a href="./index.html?theme=light" title="light" data-theme="light" class="light"><span></span></a><a href="./index.html?theme=dark" title="dark" data-theme="dark" class="dark"><span></span></a></div></div><div class="chart-list-panel"></div></div><script type="text/ja [...]
+</script><div id="left-chart-nav"><ul></ul></div><div id="explore-container"><div id="toolbar"><div id="theme"><span>Theme:</span><a href="./index.html" title="default" data-theme="default" class="default"><span></span></a><a href="./index.html?theme=light" title="light" data-theme="light" class="light"><span></span></a><a href="./index.html?theme=dark" title="dark" data-theme="dark" class="dark"><span></span></a></div></div><div class="chart-list-panel"></div></div><script type="text/ja [...]
     if (lang === 'en') {
         if (location.hostname !== 'echarts.apache.org') {
             var re = new RegExp('/zh/', 'g');
@@ -38,7 +38,7 @@ window.ROOT_PATH = EC_EXAMPLE_IS_GL ? 'https://echarts.apache.org/examples' : 'h
 window.CDN_PAY_ROOT_PATH = 'https://echarts.apache.org/examples';
 window.CDN_PAY_VERSION = '20200710_1';
 window.CDN_THIRD_PARTY_ECHARTS_GL = 'https://cdn.jsdelivr.net/npm/echarts-gl/dist/echarts-gl.min.js'
-</script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/waypoints@4.0.0/lib/jquery.waypoints.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery-lazyload@1.9.7/jquery.lazyload.min.js"></script><script type="text/javascript" src="https://echarts.apache.org/examples/javascripts/chart-list-data.js?_v_=1604161743928"></script><script type="text/javascript" src="https://echarts.apache.org/examples/javascripts/chart-list-data-gl.js?_v_=160 [...]
+</script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/waypoints@4.0.0/lib/jquery.waypoints.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery-lazyload@1.9.7/jquery.lazyload.min.js"></script><script type="text/javascript" src="https://echarts.apache.org/examples/javascripts/chart-list-data.js?_v_=1605027798018"></script><script type="text/javascript" src="https://echarts.apache.org/examples/javascripts/chart-list-data-gl.js?_v_=160 [...]
 (function() {
 var hm = document.createElement("script");
 
diff --git a/examples/en/view.html b/examples/en/view.html
index cc327c4..2b91777 100644
--- a/examples/en/view.html
+++ b/examples/en/view.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"><link rel="shortcut icon" href="https://echarts.apache.org/examples/images/favicon.png?_v_=20200710_1"><!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries--><!--[if lt IE 9] [...]
-</script></head><body><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now for the latest information.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="b [...]
+<!DOCTYPE html><html><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"><link rel="shortcut icon" href="https://echarts.apache.org/examples/images/favicon.png?_v_=20200710_1"><!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries--><!--[if lt IE 9] [...]
+</script></head><body><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now for the latest information.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="b [...]
     if (lang === 'en') {
         if (location.hostname !== 'echarts.apache.org') {
             var re = new RegExp('/zh/', 'g');
@@ -33,7 +33,7 @@ window.ROOT_PATH = EC_EXAMPLE_IS_GL ? 'https://echarts.apache.org/examples' : 'h
 window.CDN_PAY_ROOT_PATH = 'https://echarts.apache.org/examples';
 window.CDN_PAY_VERSION = '20200710_1';
 window.CDN_THIRD_PARTY_ECHARTS_GL = 'https://cdn.jsdelivr.net/npm/echarts-gl/dist/echarts-gl.min.js'
-</script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/dat.gui@0.6.5/build/dat.gui.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js?_v_=1604161743928"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts-stat/dist/ecStat.min.js"></script><script id="echarts-js" type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/map/js/china.js?_v_=1604161743928"></script><script id=" [...]
+</script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/dat.gui@0.6.5/build/dat.gui.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js?_v_=1605027798018"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts-stat/dist/ecStat.min.js"></script><script id="echarts-js" type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/map/js/china.js?_v_=1605027798018"></script><script id=" [...]
 (function() {
 var hm = document.createElement("script");
 
diff --git a/examples/zh/editor.html b/examples/zh/editor.html
index 2982bae..659df53 100644
--- a/examples/zh/editor.html
+++ b/examples/zh/editor.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"><link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/apache/incubator-echarts-website@asf-site/examples/images/favicon.png?_v_=20200710_1"><!-- HTML5 shim and Respond.js for IE8 support of HTML5 el [...]
+<!DOCTYPE html><html><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"><link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/apache/incubator-echarts-website@asf-site/examples/images/favicon.png?_v_=20200710_1"><!-- HTML5 shim and Respond.js for IE8 support of HTML5 el [...]
 </script></head><body><div id="apache-banner"><div class="txt"><p>Apache ECharts 是一个正在由 Apache 孵化器赞助的 Apache 开源基金会孵化的项目。</p><p>我们正在处理将本站跳转到 <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a> 的迁移工作。您可以现在就前往我们的 Apache 官网以获取最新版的网站信息。</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="btn"><div>访问官网</div></a><a href="javascript:;" onclick="closeApacheBanner(true)" class="close-btn">x</a></div><nav class="navbar navbar-d [...]
 var menu = document.getElementById(selector);
 if (menu) {
@@ -8,7 +8,7 @@ if (menu) {
     var nav = document.getElementsByClassName('navbar')[0];
     nav.parentNode.removeChild(nav);
     document.getElementById('main-container').style.top = 0;
-}</script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@1.11.3/dist/jquery.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/lodash@3.10.1/index.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/gh/apache/incubator-echarts-website@asf-site/examples/javascripts/common.js?_v_=1604161743928"> [...]
+}</script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@1.11.3/dist/jquery.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/lodash@3.10.1/index.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/gh/apache/incubator-echarts-website@asf-site/examples/javascripts/common.js?_v_=1605027798018"> [...]
     if (lang === 'en') {
         if (location.hostname !== 'echarts.apache.org') {
             var re = new RegExp('/zh/', 'g');
@@ -42,7 +42,7 @@ window.ROOT_PATH = EC_EXAMPLE_IS_GL ? 'https://echarts.apache.org/examples' : 'h
 window.CDN_PAY_ROOT_PATH = 'https://cdn.jsdelivr.net/gh/apache/incubator-echarts-website@asf-site/examples';
 window.CDN_PAY_VERSION = '20200710_1';
 window.CDN_THIRD_PARTY_ECHARTS_GL = 'https://cdn.jsdelivr.net/npm/echarts-gl/dist/echarts-gl.min.js'
-</script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/dat.gui@0.6.5/build/dat.gui.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js?_v_=1604161743928"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts-stat/dist/ecStat.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/map/js/china.js?_v_=1604161743928"></script><script type="text/javascrip [...]
+</script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/dat.gui@0.6.5/build/dat.gui.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js?_v_=1605027798018"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts-stat/dist/ecStat.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/map/js/china.js?_v_=1605027798018"></script><script type="text/javascrip [...]
 (function() {
 var hm = document.createElement("script");
 
diff --git a/examples/zh/index.html b/examples/zh/index.html
index 0ceb49b..87f47ff 100644
--- a/examples/zh/index.html
+++ b/examples/zh/index.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"><link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/apache/incubator-echarts-website@asf-site/examples/images/favicon.png?_v_=20200710_1"><!-- HTML5 shim and Respond.js for IE8 support of HTML5 el [...]
+<!DOCTYPE html><html><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"><link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/apache/incubator-echarts-website@asf-site/examples/images/favicon.png?_v_=20200710_1"><!-- HTML5 shim and Respond.js for IE8 support of HTML5 el [...]
 </script></head><body><div id="apache-banner"><div class="txt"><p>Apache ECharts 是一个正在由 Apache 孵化器赞助的 Apache 开源基金会孵化的项目。</p><p>我们正在处理将本站跳转到 <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a> 的迁移工作。您可以现在就前往我们的 Apache 官网以获取最新版的网站信息。</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="btn"><div>访问官网</div></a><a href="javascript:;" onclick="closeApacheBanner(true)" class="close-btn">x</a></div><nav class="navbar navbar-d [...]
 var menu = document.getElementById(selector);
 if (menu) {
     menu.className = 'active';
 }
-</script><div id="left-chart-nav"><ul></ul></div><div id="explore-container"><div id="toolbar"><div id="theme"><span>Theme:</span><a href="./index.html" title="default" data-theme="default" class="default"><span></span></a><a href="./index.html?theme=light" title="light" data-theme="light" class="light"><span></span></a><a href="./index.html?theme=dark" title="dark" data-theme="dark" class="dark"><span></span></a></div></div><div class="chart-list-panel"></div></div><script type="text/ja [...]
+</script><div id="left-chart-nav"><ul></ul></div><div id="explore-container"><div id="toolbar"><div id="theme"><span>Theme:</span><a href="./index.html" title="default" data-theme="default" class="default"><span></span></a><a href="./index.html?theme=light" title="light" data-theme="light" class="light"><span></span></a><a href="./index.html?theme=dark" title="dark" data-theme="dark" class="dark"><span></span></a></div></div><div class="chart-list-panel"></div></div><script type="text/ja [...]
     if (lang === 'en') {
         if (location.hostname !== 'echarts.apache.org') {
             var re = new RegExp('/zh/', 'g');
@@ -38,7 +38,7 @@ window.ROOT_PATH = EC_EXAMPLE_IS_GL ? 'https://echarts.apache.org/examples' : 'h
 window.CDN_PAY_ROOT_PATH = 'https://cdn.jsdelivr.net/gh/apache/incubator-echarts-website@asf-site/examples';
 window.CDN_PAY_VERSION = '20200710_1';
 window.CDN_THIRD_PARTY_ECHARTS_GL = 'https://cdn.jsdelivr.net/npm/echarts-gl/dist/echarts-gl.min.js'
-</script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/waypoints@4.0.0/lib/jquery.waypoints.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery-lazyload@1.9.7/jquery.lazyload.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/gh/apache/incubator-echarts-website@asf-site/examples/javascripts/chart-list-data.js?_v_=1604161743928"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/gh/apache [...]
+</script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/waypoints@4.0.0/lib/jquery.waypoints.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery-lazyload@1.9.7/jquery.lazyload.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/gh/apache/incubator-echarts-website@asf-site/examples/javascripts/chart-list-data.js?_v_=1605027798018"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/gh/apache [...]
 (function() {
 var hm = document.createElement("script");
 
diff --git a/examples/zh/view.html b/examples/zh/view.html
index d37a2a5..084f088 100644
--- a/examples/zh/view.html
+++ b/examples/zh/view.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"><link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/apache/incubator-echarts-website@asf-site/examples/images/favicon.png?_v_=20200710_1"><!-- HTML5 shim and Respond.js for IE8 support of HTML5 el [...]
-</script></head><body><div id="apache-banner"><div class="txt"><p>Apache ECharts 是一个正在由 Apache 孵化器赞助的 Apache 开源基金会孵化的项目。</p><p>我们正在处理将本站跳转到 <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a> 的迁移工作。您可以现在就前往我们的 Apache 官网以获取最新版的网站信息。</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="btn"><div>访问官网</div></a><a href="javascript:;" onclick="closeApacheBanner(true)" class="close-btn">x</a></div><div id="view-main"><div cl [...]
+<!DOCTYPE html><html><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"><link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/apache/incubator-echarts-website@asf-site/examples/images/favicon.png?_v_=20200710_1"><!-- HTML5 shim and Respond.js for IE8 support of HTML5 el [...]
+</script></head><body><div id="apache-banner"><div class="txt"><p>Apache ECharts 是一个正在由 Apache 孵化器赞助的 Apache 开源基金会孵化的项目。</p><p>我们正在处理将本站跳转到 <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a> 的迁移工作。您可以现在就前往我们的 Apache 官网以获取最新版的网站信息。</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="btn"><div>访问官网</div></a><a href="javascript:;" onclick="closeApacheBanner(true)" class="close-btn">x</a></div><div id="view-main"><div cl [...]
     if (lang === 'en') {
         if (location.hostname !== 'echarts.apache.org') {
             var re = new RegExp('/zh/', 'g');
@@ -33,7 +33,7 @@ window.ROOT_PATH = EC_EXAMPLE_IS_GL ? 'https://echarts.apache.org/examples' : 'h
 window.CDN_PAY_ROOT_PATH = 'https://cdn.jsdelivr.net/gh/apache/incubator-echarts-website@asf-site/examples';
 window.CDN_PAY_VERSION = '20200710_1';
 window.CDN_THIRD_PARTY_ECHARTS_GL = 'https://cdn.jsdelivr.net/npm/echarts-gl/dist/echarts-gl.min.js'
-</script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/dat.gui@0.6.5/build/dat.gui.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js?_v_=1604161743928"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts-stat/dist/ecStat.min.js"></script><script id="echarts-js" type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/map/js/china.js?_v_=1604161743928"></script><script id=" [...]
+</script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/dat.gui@0.6.5/build/dat.gui.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js?_v_=1605027798018"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts-stat/dist/ecStat.min.js"></script><script id="echarts-js" type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/map/js/china.js?_v_=1605027798018"></script><script id=" [...]
 (function() {
 var hm = document.createElement("script");
 
diff --git a/layouts/basic.html b/layouts/basic.html
index cf17fff..8670a18 100644
--- a/layouts/basic.html
+++ b/layouts/basic.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/zh/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/zh/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -7,7 +7,7 @@
     document.head.insertBefore(el, document.getElementById('font-hack'));
 }
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/zh/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![endif]-->
-<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts 是一个正在由 Apache 孵化器赞助的 Apache 开源基金会孵化的项目。</p><p>我们正在处理将本站跳转到 <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a> 的迁移工作。您可以现在就前往我们的 Apache 官网。</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="btn btn-main"><div>访问官网</div></a><a href="javascript:;" onclick="closeApacheBanner(true)" class="close [...]
+<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts 是一个正在由 Apache 孵化器赞助的 Apache 开源基金会孵化的项目。</p><p>我们正在处理将本站跳转到 <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a> 的迁移工作。您可以现在就前往我们的 Apache 官网。</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="btn btn-main"><div>访问官网</div></a><a href="javascript:;" onclick="closeApacheBanner(true)" class="close [...]
 (function() {
 var hm = document.createElement("script");
 
diff --git a/layouts/doc-old.html b/layouts/doc-old.html
index ddb755c..a253e33 100644
--- a/layouts/doc-old.html
+++ b/layouts/doc-old.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/zh/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/zh/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -6,13 +6,13 @@
         + '@font-face {font-family:"noto-light";src:local("Microsoft Yahei");}';
     document.head.insertBefore(el, document.getElementById('font-hack'));
 }
-</script><title>ECharts Documentation</title><link rel="stylesheet" type="text/css" href="css/ecOption.css?_v_=1604161749206"><link rel="stylesheet" type="text/css" href="vendors/prettify/prettify.css"><link rel="stylesheet" type="text/css" href="vendors/perfect-scrollbar/0.6.8/css/perfect-scrollbar.min.css"><link rel="stylesheet" type="text/css" href="vendors/jquery-autocomplete/jquery.auto-complete.css"><link rel="stylesheet" type="text/css" href="vendors/twentytwenty/twentytwenty.css" [...]
-<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts 是一个正在由 Apache 孵化器赞助的 Apache 开源基金会孵化的项目。</p><p>我们正在处理将本站跳转到 <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a> 的迁移工作。您可以现在就前往我们的 Apache 官网。</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="btn btn-main"><div>访问官网</div></a><a href="javascript:;" onclick="closeApacheBanner(true)" class="close [...]
+</script><title>ECharts Documentation</title><link rel="stylesheet" type="text/css" href="css/ecOption.css?_v_=1605027828939"><link rel="stylesheet" type="text/css" href="vendors/prettify/prettify.css"><link rel="stylesheet" type="text/css" href="vendors/perfect-scrollbar/0.6.8/css/perfect-scrollbar.min.css"><link rel="stylesheet" type="text/css" href="vendors/jquery-autocomplete/jquery.auto-complete.css"><link rel="stylesheet" type="text/css" href="vendors/twentytwenty/twentytwenty.css" [...]
+<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts 是一个正在由 Apache 孵化器赞助的 Apache 开源基金会孵化的项目。</p><p>我们正在处理将本站跳转到 <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a> 的迁移工作。您可以现在就前往我们的 Apache 官网。</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="btn btn-main"><div>访问官网</div></a><a href="javascript:;" onclick="closeApacheBanner(true)" class="close [...]
 
 var vendorPath = '../vendors';
 
 define('globalArgs', extend({
-    version: '1604161749206',
+    version: '1605027828939',
     basePath: './',
     // Schema url is added by each doc page
     schemaUrl: '',
@@ -39,7 +39,7 @@ require.config({
         hasher: vendorPath + '/hasher/1.2.0/hasher.min',
         perfectScrollbar: vendorPath + '/perfect-scrollbar/0.6.8/js/perfect-scrollbar'
     },
-    urlArgs: '_v_=1604161749206'
+    urlArgs: '_v_=1605027828939'
 });
 
 require(['docTool/main'], function (main) {
diff --git a/layouts/doc.html b/layouts/doc.html
index 726d239..ec143b2 100644
--- a/layouts/doc.html
+++ b/layouts/doc.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/zh/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/zh/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -9,10 +9,10 @@
 </script><title>Documentation - Apache ECharts(incubating)</title><style>html, body {
     /* position: sticky should not have overflow parents.*/
     overflow-x: hidden;
-}</style><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/element-ui@2.13.2/lib/theme-chalk/index.css"><link rel="stylesheet" href="https://echarts.apache.org/zh/css/doc-bundle.css?_v_=1604161749206"><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/zh/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![endif]-->
-<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts 是一个正在由 Apache 孵化器赞助的 Apache 开源基金会孵化的项目。</p><p>我们正在处理将本站跳转到 <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a> 的迁移工作。您可以现在就前往我们的 Apache 官网。</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="btn btn-main"><div>访问官网</div></a><a href="javascript:;" onclick="closeApacheBanner(true)" class="close [...]
+}</style><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/element-ui@2.13.2/lib/theme-chalk/index.css"><link rel="stylesheet" href="https://echarts.apache.org/zh/css/doc-bundle.css?_v_=1605027828939"><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/zh/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![endif]-->
+<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts 是一个正在由 Apache 孵化器赞助的 Apache 开源基金会孵化的项目。</p><p>我们正在处理将本站跳转到 <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a> 的迁移工作。您可以现在就前往我们的 Apache 官网。</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="btn btn-main"><div>访问官网</div></a><a href="javascript:;" onclick="closeApacheBanner(true)" class="close [...]
 </script><script type="text/javascript">document.getElementById('nav-doc').className = 'active';
-window.globalArgsExtra.version = '1604161749206';
+window.globalArgsExtra.version = '1605027828939';
 echartsDoc.init('#ec-doc-main', window.globalArgsExtra);</script><!-- Baidu Tongji--><script type="text/javascript">var _hmt = _hmt || [];
 (function() {
 var hm = document.createElement("script");
diff --git a/layouts/next-doc.html b/layouts/next-doc.html
index fdd1da1..9cfec55 100644
--- a/layouts/next-doc.html
+++ b/layouts/next-doc.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/zh/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/zh/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -9,10 +9,10 @@
 </script><title>Documentation - Apache ECharts(incubating)</title><style>html, body {
     /* position: sticky should not have overflow parents.*/
     overflow-x: hidden;
-}</style><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/element-ui@2.13.2/lib/theme-chalk/index.css"><link rel="stylesheet" href="https://echarts.apache.org/next/zh/css/doc-bundle.css?_v_=1604161749206"><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/zh/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![ [...]
-<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts 是一个正在由 Apache 孵化器赞助的 Apache 开源基金会孵化的项目。</p><p>我们正在处理将本站跳转到 <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a> 的迁移工作。您可以现在就前往我们的 Apache 官网。</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="btn btn-main"><div>访问官网</div></a><a href="javascript:;" onclick="closeApacheBanner(true)" class="close [...]
+}</style><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/element-ui@2.13.2/lib/theme-chalk/index.css"><link rel="stylesheet" href="https://echarts.apache.org/next/zh/css/doc-bundle.css?_v_=1605027828939"><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/zh/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![ [...]
+<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts 是一个正在由 Apache 孵化器赞助的 Apache 开源基金会孵化的项目。</p><p>我们正在处理将本站跳转到 <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a> 的迁移工作。您可以现在就前往我们的 Apache 官网。</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="btn btn-main"><div>访问官网</div></a><a href="javascript:;" onclick="closeApacheBanner(true)" class="close [...]
 </script><script type="text/javascript">document.getElementById('nav-doc').className = 'active';
-window.globalArgsExtra.version = '1604161749206';
+window.globalArgsExtra.version = '1605027828939';
 echartsDoc.init('#ec-doc-main', window.globalArgsExtra);</script><!-- Baidu Tongji--><script type="text/javascript">var _hmt = _hmt || [];
 (function() {
 var hm = document.createElement("script");
diff --git a/layouts/next-example-simple.html b/layouts/next-example-simple.html
index e1cee79..9b1e3bd 100644
--- a/layouts/next-example-simple.html
+++ b/layouts/next-example-simple.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/zh/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/zh/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -9,9 +9,9 @@
 </script><title>Examples - Apache ECharts(incubating)</title><style>html, body {
     /* position: sticky should not have overflow parents.*/
     overflow-x: hidden;
-}</style><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/element-ui@2.13.2/lib/theme-chalk/index.css"><link rel="stylesheet" href="https://echarts.apache.org/next/examples/css/example-bundle.css?_v_=1604161749206"><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/zh/images/forie.png?_v_=20200710_1" alt="ie tip"></div> [...]
-<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts 是一个正在由 Apache 孵化器赞助的 Apache 开源基金会孵化的项目。</p><p>我们正在处理将本站跳转到 <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a> 的迁移工作。您可以现在就前往我们的 Apache 官网。</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="btn btn-main"><div>访问官网</div></a><a href="javascript:;" onclick="closeApacheBanner(true)" class="close [...]
-</script><script type="text/javascript">window.globalArgsExtra.version = '1604161749206';
+}</style><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/element-ui@2.13.2/lib/theme-chalk/index.css"><link rel="stylesheet" href="https://echarts.apache.org/next/examples/css/example-bundle.css?_v_=1605027828939"><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/zh/images/forie.png?_v_=20200710_1" alt="ie tip"></div> [...]
+<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts 是一个正在由 Apache 孵化器赞助的 Apache 开源基金会孵化的项目。</p><p>我们正在处理将本站跳转到 <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a> 的迁移工作。您可以现在就前往我们的 Apache 官网。</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="btn btn-main"><div>访问官网</div></a><a href="javascript:;" onclick="closeApacheBanner(true)" class="close [...]
+</script><script type="text/javascript">window.globalArgsExtra.version = '1605027828939';
 window.globalArgsExtra.cdnRoot = EC_WWW_CDN_PAY_ROOT + '/next/examples';
 echartsExample.init('#ec-example-main', window.globalArgsExtra);
 
diff --git a/layouts/next-example.html b/layouts/next-example.html
index 638310a..4e465c9 100644
--- a/layouts/next-example.html
+++ b/layouts/next-example.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/zh/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/zh/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -9,10 +9,10 @@
 </script><title>Examples - Apache ECharts(incubating)</title><style>html, body {
     /* position: sticky should not have overflow parents.*/
     overflow-x: hidden;
-}</style><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/element-ui@2.13.2/lib/theme-chalk/index.css"><link rel="stylesheet" href="https://echarts.apache.org/next/examples/css/example-bundle.css?_v_=1604161749206"><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/zh/images/forie.png?_v_=20200710_1" alt="ie tip"></div> [...]
-<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts 是一个正在由 Apache 孵化器赞助的 Apache 开源基金会孵化的项目。</p><p>我们正在处理将本站跳转到 <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a> 的迁移工作。您可以现在就前往我们的 Apache 官网。</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="btn btn-main"><div>访问官网</div></a><a href="javascript:;" onclick="closeApacheBanner(true)" class="close [...]
+}</style><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/element-ui@2.13.2/lib/theme-chalk/index.css"><link rel="stylesheet" href="https://echarts.apache.org/next/examples/css/example-bundle.css?_v_=1605027828939"><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/zh/images/forie.png?_v_=20200710_1" alt="ie tip"></div> [...]
+<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts 是一个正在由 Apache 孵化器赞助的 Apache 开源基金会孵化的项目。</p><p>我们正在处理将本站跳转到 <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a> 的迁移工作。您可以现在就前往我们的 Apache 官网。</p></div><a href="https://echarts.apache.org" target="_blank" onclick="logApache()" class="btn btn-main"><div>访问官网</div></a><a href="javascript:;" onclick="closeApacheBanner(true)" class="close [...]
 </script><script type="text/javascript">document.getElementById('nav-doc').className = 'active';
-window.globalArgsExtra.version = '1604161749206';
+window.globalArgsExtra.version = '1605027828939';
 window.globalArgsExtra.cdnRoot = EC_WWW_CDN_PAY_ROOT + '/next/examples';
 echartsExample.init('#ec-example-main', window.globalArgsExtra);</script><!-- Baidu Tongji--><script type="text/javascript">var _hmt = _hmt || [];
 (function() {
diff --git a/next/en/api.html b/next/en/api.html
index 064819b..24981ac 100644
--- a/next/en/api.html
+++ b/next/en/api.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1" user-scalable="no"><meta name="description" content="ECharts, a powerful, interactive charting and visualization library for browser"><link rel="shortcut icon" href="https://echarts.apache.org/en/images/favicon.png?_v_=20200710_1"><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/boot [...]
 </script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/pace-progressbar@1.0.2/pace.min.js"></script><script id="font-hack" type="text/javascript">if (/windows/i.test(navigator.userAgent)) {
     var el = document.createElement('style');
     el.innerHTML = ''
@@ -9,8 +9,8 @@
 </script><title>Documentation - Apache ECharts(incubating)</title><style>html, body {
     /* position: sticky should not have overflow parents.*/
     overflow-x: hidden;
-}</style><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/element-ui@2.13.2/lib/theme-chalk/index.css"><link rel="stylesheet" href="https://echarts.apache.org/next/en/css/doc-bundle.css?_v_=1604161749206"><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/en/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![ [...]
-<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="lo [...]
+}</style><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/element-ui@2.13.2/lib/theme-chalk/index.css"><link rel="stylesheet" href="https://echarts.apache.org/next/en/css/doc-bundle.css?_v_=1605027828939"><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@2.2.4/dist/jquery.min.js"></script></head><!--[if lte IE 8]><body class="lower-ie"><div id="lowie-main"><img src="https://echarts.apache.org/en/images/forie.png?_v_=20200710_1" alt="ie tip"></div></body><![ [...]
+<!--[if (gt IE 8)|!(IE)]><body class="undefined"></body><![endif]--><div id="apache-banner"><div class="txt"><p>Apache ECharts is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.</p><p>We are working on redirecting this Website to <a href="https://echarts.apache.org" target="_blank">https://echarts.apache.org</a>. You may visit our new official Website now.</p></div><a href="https://echarts.apache.org" target="_blank" onclick="lo [...]
 </script><script type="text/javascript">window.globalArgsExtra = {
     baseUrl: 'documents/api-parts',
     docType: 'api',
@@ -19,7 +19,7 @@
 if (window.EC_WWW_CDN_PAY_ROOT) {
     window.globalArgsExtra.cdnRoot = window.EC_WWW_CDN_PAY_ROOT + '/next/en/' + window.globalArgsExtra.baseUrl
 }</script><script type="text/javascript">document.getElementById('nav-doc').className = 'active';
-window.globalArgsExtra.version = '1604161749206';
+window.globalArgsExtra.version = '1605027828939';
 echartsDoc.init('#ec-doc-main', window.globalArgsExtra);</script><!-- Baidu Tongji--><script type="text/javascript">var _hmt = _hmt || [];
 (function() {
 var hm = document.createElement("script");
diff --git a/next/en/css/SourceCodePro-Regular.woff b/next/en/css/SourceCodePro-Regular.woff
new file mode 100644
index 0000000..4c18af4
Binary files /dev/null and b/next/en/css/SourceCodePro-Regular.woff differ
diff --git a/next/en/css/doc-bundle.css b/next/en/css/doc-bundle.css
new file mode 100644
index 0000000..434744e
--- /dev/null
+++ b/next/en/css/doc-bundle.css
@@ -0,0 +1,1678 @@
+@import url(https://fonts.googleapis.com/css?family=Montserrat&display=swap);
+.doc-nav h3 {
+  margin: 0;
+  padding: 5px;
+  font-family: Monaco, 'Source Code Pro', monospace;
+  font-size: 14px;
+}
+.doc-nav .toolbox {
+  position: absolute;
+  right: 10px;
+  top: 5px;
+}
+.doc-nav .toolbox .item {
+    font-size: 14px;
+    cursor: pointer;
+    color: #337ab7;
+}
+.doc-nav .toolbox .item:hover {
+      text-decoration: underline;
+}
+.doc-nav .el-tree {
+  padding-left: 6px;
+}
+.doc-nav .el-tree-node {
+  color: #333;
+}
+.doc-nav .el-tree-node .el-tree-node__content {
+    height: 24px;
+}
+.doc-nav .el-tree-node.is-current > .el-tree-node__content {
+    background-color: #B03A5B;
+    color: #fff;
+}
+.doc-nav .el-tree-node.is-current > .el-tree-node__content .default-value {
+      color: #eee;
+}
+.doc-nav .doc-nav-item {
+  font-family: 'Source Code Pro', monospace;
+  font-size: 13px;
+  white-space: nowrap;
+}
+.doc-nav .doc-nav-item .default-value {
+    color: #999;
+}
+.ec-doc-tutorial .doc-nav .el-tree, .ec-doc-api .doc-nav .el-tree {
+  padding-left: 0;
+  margin-top: 10px;
+}
+.ec-doc-tutorial .doc-nav .el-tree-node .el-tree-node__content {
+  height: 32px;
+}
+.ec-doc-tutorial .doc-nav .el-tree-node .doc-nav-item {
+  margin-left: -10px;
+  font-family: "Source Sans Pro", "Helvetica Neue", "Segoe UI", Arial, "PingFang SC", STHeiti, "Microsoft Yahei", sans-serif;
+}
+
+.properties-list-panel h5 {
+  font-weight: normal;
+  color: #999;
+  font-size: 30px;
+  margin: 5px 0;
+  font-size: 14px;
+}
+.properties-list-panel .properties-list a {
+  font-family: Monaco,'Source Code Pro', STHeiti, "Microsoft Yahei", "WenQuanYi Micro Hei", sans-serif;
+  font-size: 12px;
+  margin-right: 2px;
+}
+.property-popup-desc {
+  max-height: 300px;
+  max-width: 500px;
+  overflow-y: auto;
+  overflow-x: auto;
+}
+.property-popup-desc .hljs {
+    background: transparent;
+    padding: 0;
+}
+.property-popup-desc hr {
+    border: none;
+    border-bottom: 1px solid #eee;
+    width: 80%;
+}
+.property-popup-desc blockquote {
+    font-size: 12px;
+    color: #999;
+    background-color: #fdfdfd;
+    border-left: 2px solid #ddd;
+    margin-left: 0px;
+    padding: 5px 10px;
+}
+.property-popup-desc blockquote p {
+      margin: 0;
+      font-size: 12px;
+}
+.property-popup-desc blockquote pre {
+      font-size: 12px;
+}
+.property-popup-desc iframe {
+    border: none;
+    display: block;
+    margin-top: 5px;
+    max-width: 100%;
+}
+.property-popup-desc img {
+    max-width: 100%;
+}
+.property-popup-desc p {
+    line-height: 1.7em;
+    margin: 12px 0 12px 0;
+    font-size: 14px;
+}
+.property-popup-desc pre {
+    margin: 5px 0;
+    border-radius: 5px;
+    background-color: #f5f7fa;
+    border: none;
+    padding: 10px;
+    font-size: 13px;
+}
+.property-popup-desc .codespan {
+    padding: 1px 5px;
+    font-size: 14px;
+    background-color: #f4f4f4;
+    border-radius: 4px;
+}
+.property-popup-desc code *, .property-popup-desc code {
+    font-family: 'Source Code Pro', 'Courier New', monospace;
+}
+.property-popup-desc ol {
+    margin-left: 20px;
+}
+.property-popup-desc ul li {
+    list-style: disc;
+    margin: 10px 20px;
+    font-size: 14px;
+}
+.property-popup-desc ol li {
+    margin: 1em 0;
+    list-style: decimal;
+    font-size: 14px;
+}
+.property-popup-desc a {
+    font-family: 'Source Code Pro', STHeiti, "Microsoft Yahei", "WenQuanYi Micro Hei", sans-serif;
+}
+.property-popup-desc pre {
+    font-size: 12px;
+}
+.property-popup-desc p {
+    font-size: 12px;
+}
+.property-popup-desc ul {
+    margin: 0;
+    padding: 0;
+}
+.property-popup-desc ul li {
+    font-size: 12px;
+    margin: 5px 20px;
+    list-style: disc;
+}
+.property-popup-desc pre {
+    padding: 5px;
+}
+.property-popup-desc .codespan {
+    font-size: 12px;
+}
+
+.control-color > * {
+  display: inline-block;
+  vertical-align: middle;
+}
+.control-color span {
+  font-size: 12px;
+  font-weight: bold;
+}
+
+.control-number .el-input-number {
+  width: 120px;
+}
+
+.control-vector > div {
+  display: inline-block;
+  margin-left: 8px;
+  font-size: 12px;
+  font-weight: bold;
+}
+.control-vector .control-vector-group > div {
+  display: inline-block;
+  margin-left: 5px;
+}
+.control-vector .el-input-number {
+  width: 90px;
+}
+.control-vector label {
+  text-transform: uppercase;
+  margin-right: 5px;
+}
+
+.control-enum-special {
+  font-style: italic;
+}
+
+.control-percent > div {
+  display: inline-block;
+}
+.control-percent .el-slider {
+  width: 200px;
+  display: inline-block;
+  vertical-align: middle;
+}
+.control-percent .el-input-number {
+  display: inline-block;
+  width: 90px;
+  margin-left: 10px;
+}
+.control-percent .el-radio-group {
+  margin-right: 10px;
+}
+.control-percent .el-radio-button--mini .el-radio-button__inner {
+  padding: 5px 4px;
+  font-size: 10px;
+}
+
+.control-percent-vector > div {
+  margin-top: 3px;
+  font-size: 12px;
+  font-weight: bold;
+}
+.control-percent-vector > div > label {
+    text-transform: uppercase;
+    margin-right: 5px;
+}
+.control-percent-vector .control-percent, .control-percent-vector label {
+  display: inline-block;
+}
+.control-percent-vector .control-percent .el-slider {
+  width: 100px;
+}
+
+.option-control {
+  margin-top: 10px;
+}
+
+.doc-content-item-card {
+  margin-top: 30px;
+  margin-left: 15px;
+  border-top: 1px solid #ccc;
+  position: relative;
+  padding: 15px 0;
+}
+.doc-content-item-card .hierarchy-line {
+    position: absolute;
+    top: 35px;
+    bottom: 0px;
+    left: -14px;
+    width: 10px;
+    border-left: 1px solid #E0E6F1;
+    border-bottom: 1px solid #E0E6F1;
+}
+.doc-content-item-card h4 {
+    margin: 0;
+    padding: 0;
+    font-family: 'Source Code Pro', monospace;
+}
+.doc-content-item-card h4 > * {
+      vertical-align: bottom;
+      display: inline-block;
+}
+.doc-content-item-card h4 .expand-toggle {
+      font-size: 18px;
+      margin-left: -23px;
+      color: #9aadd1;
+      cursor: pointer;
+      position: relative;
+      background-color: #fff;
+}
+.doc-content-item-card h4 .anchor {
+      color: #C592A0;
+      font-size: 16px;
+      text-decoration: none;
+}
+.doc-content-item-card h4 .anchor:hover {
+        text-decoration: underline;
+}
+.doc-content-item-card h4 .path-parent {
+      font-size: 12px;
+      padding: 0;
+      font-weight: normal;
+}
+.doc-content-item-card h4 .path-parent .separator {
+        margin: 0 3px;
+        color: #B03A5B;
+}
+.doc-content-item-card h4 .path-parent a {
+        color: #C592A0;
+        margin: 0;
+}
+.doc-content-item-card h4 .path-base {
+      font-size: 14px;
+      padding: 0;
+      margin-left: -4px;
+      font-weight: normal;
+}
+.doc-content-item-card h4 .path-base a {
+        color: #B03A5B;
+        margin: 0;
+}
+.doc-content-item-card h4 .path-parent a, .doc-content-item-card h4 .path-base a {
+      text-decoration: none;
+}
+.doc-content-item-card h4 .path-parent a:hover, .doc-content-item-card h4 .path-base a:hover {
+        text-decoration: underline;
+}
+.doc-content-item-card h4 .current-flag {
+      color: #434343;
+      font-size: 16px;
+}
+.doc-content-item-card h4 .default-value {
+      color: #434343;
+      font-size: 16px;
+      margin-left: 15px;
+      vertical-align: bottom;
+      font-weight: normal;
+}
+.doc-content-item-card h4 .control-toggle {
+      float: right;
+      font-size: 14px;
+      cursor: pointer;
+      color: #555;
+}
+.doc-content-item-card h4 .control-toggle i {
+        font-family: iconfont;
+        font-style: normal;
+        vertical-align: middle;
+}
+.doc-content-item-card h4 .control-toggle:hover {
+        color: #999;
+}
+.doc-content-item-card h4 .control-toggle.active {
+        color: #409eff;
+}
+.doc-content-item-card.level-1 > h4 .anchor {
+    font-size: 20px;
+}
+.doc-content-item-card.level-1 > h4 .path-parent {
+    font-size: 16px;
+}
+.doc-content-item-card.level-1 > h4 .path-base {
+    font-size: 20px;
+}
+.doc-content-item-card.level-2 > h4 .anchor {
+    font-size: 16px;
+}
+.doc-content-item-card.level-2 > h4 .path-parent {
+    font-size: 14px;
+}
+.doc-content-item-card.level-2 > h4 .path-base {
+    font-size: 16px;
+}
+.doc-content-item-card.level-3 > h4 .anchor {
+    font-size: 16px;
+}
+.doc-content-item-card.level-3 > h4 .path-parent {
+    font-size: 13px;
+}
+.doc-content-item-card.level-3 > h4 .path-base {
+    font-size: 16px;
+}
+.doc-content-item-card.level-2 {
+    border-top: 1px solid #eee;
+    margin-top: 10px;
+}
+.doc-content-item-card.level-2 .guider {
+      vertical-align: middle;
+      width: 28px;
+      margin-left: -39px;
+      margin-right: 2px;
+      border-top: 1px solid #E0E6F1;
+      position: relative;
+}
+.doc-content-item-card.level-3 {
+    border-top: 1px solid #eee;
+    margin-top: 10px;
+}
+.doc-content-item-card.level-3 .guider {
+      vertical-align: middle;
+      width: 28px;
+      margin-left: -39px;
+      margin-right: 2px;
+      border-top: 1px solid #E0E6F1;
+      position: relative;
+}
+.doc-content-item-card.level-4 {
+    border-top: 1px solid #eee;
+    margin-top: 10px;
+}
+.doc-content-item-card.level-4 .guider {
+      vertical-align: middle;
+      width: 28px;
+      margin-left: -39px;
+      margin-right: 2px;
+      border-top: 1px solid #E0E6F1;
+      position: relative;
+}
+.doc-content-item-card.level-5 {
+    border-top: 1px solid #eee;
+    margin-top: 10px;
+}
+.doc-content-item-card.level-5 .guider {
+      vertical-align: middle;
+      width: 28px;
+      margin-left: -39px;
+      margin-right: 2px;
+      border-top: 1px solid #E0E6F1;
+      position: relative;
+}
+.doc-content-item-card.level-6 {
+    border-top: 1px solid #eee;
+    margin-top: 10px;
+}
+.doc-content-item-card.level-6 .guider {
+      vertical-align: middle;
+      width: 28px;
+      margin-left: -39px;
+      margin-right: 2px;
+      border-top: 1px solid #E0E6F1;
+      position: relative;
+}
+.doc-content-item-card.level-7 {
+    border-top: 1px solid #eee;
+    margin-top: 10px;
+}
+.doc-content-item-card.level-7 .guider {
+      vertical-align: middle;
+      width: 28px;
+      margin-left: -39px;
+      margin-right: 2px;
+      border-top: 1px solid #E0E6F1;
+      position: relative;
+}
+.doc-content-item-card.level-8 {
+    border-top: 1px solid #eee;
+    margin-top: 10px;
+}
+.doc-content-item-card.level-8 .guider {
+      vertical-align: middle;
+      width: 28px;
+      margin-left: -39px;
+      margin-right: 2px;
+      border-top: 1px solid #E0E6F1;
+      position: relative;
+}
+.doc-content-item-card.level-9 {
+    border-top: 1px solid #eee;
+    margin-top: 10px;
+}
+.doc-content-item-card.level-9 .guider {
+      vertical-align: middle;
+      width: 28px;
+      margin-left: -39px;
+      margin-right: 2px;
+      border-top: 1px solid #E0E6F1;
+      position: relative;
+}
+.doc-content-item-card.level-10 {
+    border-top: 1px solid #eee;
+    margin-top: 10px;
+}
+.doc-content-item-card.level-10 .guider {
+      vertical-align: middle;
+      width: 28px;
+      margin-left: -39px;
+      margin-right: 2px;
+      border-top: 1px solid #E0E6F1;
+      position: relative;
+}
+.doc-content-item-card.level-11 {
+    border-top: 1px solid #eee;
+    margin-top: 10px;
+}
+.doc-content-item-card.level-11 .guider {
+      vertical-align: middle;
+      width: 28px;
+      margin-left: -39px;
+      margin-right: 2px;
+      border-top: 1px solid #E0E6F1;
+      position: relative;
+}
+.doc-content-item-card .prop-types {
+    margin-top: 5px;
+    display: inline-block;
+}
+.doc-content-item-card .option-control {
+    float: right;
+}
+.doc-content-item-card .prop-type {
+    display: inline-block;
+    margin-right: 4px;
+    border-radius: 4px;
+    padding: 3px 5px;
+    color: #333;
+    background-color: #f9f2f4;
+    font-size: 12px;
+}
+.doc-content-item-card .prop-type-string {
+    background-color: #f9f2f4;
+}
+.doc-content-item-card .prop-type-number {
+    background-color: #f9f2f4;
+}
+.doc-content-item-card .prop-type-boolean {
+    background-color: #f9f2f4;
+}
+.doc-content-item-card .properties-list-panel {
+    max-width: 700px;
+}
+.doc-content-item-card .children {
+    padding: 10px;
+}
+.ec-doc-mobile .doc-content-item-card {
+  margin-left: 0;
+  margin-top: 10px;
+  padding: 10px 10px;
+  background: #fff;
+  border-top: none;
+}
+.ec-doc-mobile .doc-content-item-card.level-1 > h4 .anchor {
+    font-size: 18px;
+}
+.ec-doc-mobile .doc-content-item-card.level-1 > h4 .path-parent {
+    font-size: 13px;
+}
+.ec-doc-mobile .doc-content-item-card.level-1 > h4 .path-base {
+    font-size: 18px;
+}
+.ec-doc-mobile .doc-content-item-card.level-1 > h4 .default-value {
+    font-size: 14px;
+}
+
+/* BASICS */
+
+.CodeMirror {
+  /* Set height, width, borders, and global font properties here */
+  font-family: monospace;
+  height: 300px;
+  color: black;
+  direction: ltr;
+}
+
+/* PADDING */
+
+.CodeMirror-lines {
+  padding: 4px 0; /* Vertical padding around content */
+}
+.CodeMirror pre.CodeMirror-line,
+.CodeMirror pre.CodeMirror-line-like {
+  padding: 0 4px; /* Horizontal padding of content */
+}
+
+.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
+  background-color: white; /* The little square between H and V scrollbars */
+}
+
+/* GUTTER */
+
+.CodeMirror-gutters {
+  border-right: 1px solid #ddd;
+  background-color: #f7f7f7;
+  white-space: nowrap;
+}
+.CodeMirror-linenumbers {}
+.CodeMirror-linenumber {
+  padding: 0 3px 0 5px;
+  min-width: 20px;
+  text-align: right;
+  color: #999;
+  white-space: nowrap;
+}
+
+.CodeMirror-guttermarker { color: black; }
+.CodeMirror-guttermarker-subtle { color: #999; }
+
+/* CURSOR */
+
+.CodeMirror-cursor {
+  border-left: 1px solid black;
+  border-right: none;
+  width: 0;
+}
+/* Shown when moving in bi-directional text */
+.CodeMirror div.CodeMirror-secondarycursor {
+  border-left: 1px solid silver;
+}
+.cm-fat-cursor .CodeMirror-cursor {
+  width: auto;
+  border: 0 !important;
+  background: #7e7;
+}
+.cm-fat-cursor div.CodeMirror-cursors {
+  z-index: 1;
+}
+.cm-fat-cursor-mark {
+  background-color: rgba(20, 255, 20, 0.5);
+  -webkit-animation: blink 1.06s steps(1) infinite;
+  -moz-animation: blink 1.06s steps(1) infinite;
+  animation: blink 1.06s steps(1) infinite;
+}
+.cm-animate-fat-cursor {
+  width: auto;
+  border: 0;
+  -webkit-animation: blink 1.06s steps(1) infinite;
+  -moz-animation: blink 1.06s steps(1) infinite;
+  animation: blink 1.06s steps(1) infinite;
+  background-color: #7e7;
+}
+@-moz-keyframes blink {
+  0% {}
+  50% { background-color: transparent; }
+  100% {}
+}
+@-webkit-keyframes blink {
+  0% {}
+  50% { background-color: transparent; }
+  100% {}
+}
+@keyframes blink {
+  0% {}
+  50% { background-color: transparent; }
+  100% {}
+}
+
+/* Can style cursor different in overwrite (non-insert) mode */
+.CodeMirror-overwrite .CodeMirror-cursor {}
+
+.cm-tab { display: inline-block; text-decoration: inherit; }
+
+.CodeMirror-rulers {
+  position: absolute;
+  left: 0; right: 0; top: -50px; bottom: 0;
+  overflow: hidden;
+}
+.CodeMirror-ruler {
+  border-left: 1px solid #ccc;
+  top: 0; bottom: 0;
+  position: absolute;
+}
+
+/* DEFAULT THEME */
+
+.cm-s-default .cm-header {color: blue;}
+.cm-s-default .cm-quote {color: #090;}
+.cm-negative {color: #d44;}
+.cm-positive {color: #292;}
+.cm-header, .cm-strong {font-weight: bold;}
+.cm-em {font-style: italic;}
+.cm-link {text-decoration: underline;}
+.cm-strikethrough {text-decoration: line-through;}
+
+.cm-s-default .cm-keyword {color: #708;}
+.cm-s-default .cm-atom {color: #219;}
+.cm-s-default .cm-number {color: #164;}
+.cm-s-default .cm-def {color: #00f;}
+.cm-s-default .cm-variable,
+.cm-s-default .cm-punctuation,
+.cm-s-default .cm-property,
+.cm-s-default .cm-operator {}
+.cm-s-default .cm-variable-2 {color: #05a;}
+.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}
+.cm-s-default .cm-comment {color: #a50;}
+.cm-s-default .cm-string {color: #a11;}
+.cm-s-default .cm-string-2 {color: #f50;}
+.cm-s-default .cm-meta {color: #555;}
+.cm-s-default .cm-qualifier {color: #555;}
+.cm-s-default .cm-builtin {color: #30a;}
+.cm-s-default .cm-bracket {color: #997;}
+.cm-s-default .cm-tag {color: #170;}
+.cm-s-default .cm-attribute {color: #00c;}
+.cm-s-default .cm-hr {color: #999;}
+.cm-s-default .cm-link {color: #00c;}
+
+.cm-s-default .cm-error {color: #f00;}
+.cm-invalidchar {color: #f00;}
+
+.CodeMirror-composing { border-bottom: 2px solid; }
+
+/* Default styles for common addons */
+
+div.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}
+div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}
+.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }
+.CodeMirror-activeline-background {background: #e8f2ff;}
+
+/* STOP */
+
+/* The rest of this file contains styles related to the mechanics of
+   the editor. You probably shouldn't touch them. */
+
+.CodeMirror {
+  position: relative;
+  overflow: hidden;
+  background: white;
+}
+
+.CodeMirror-scroll {
+  overflow: scroll !important; /* Things will break if this is overridden */
+  /* 50px is the magic margin used to hide the element's real scrollbars */
+  /* See overflow: hidden in .CodeMirror */
+  margin-bottom: -50px; margin-right: -50px;
+  padding-bottom: 50px;
+  height: 100%;
+  outline: none; /* Prevent dragging from highlighting the element */
+  position: relative;
+}
+.CodeMirror-sizer {
+  position: relative;
+  border-right: 50px solid transparent;
+}
+
+/* The fake, visible scrollbars. Used to force redraw during scrolling
+   before actual scrolling happens, thus preventing shaking and
+   flickering artifacts. */
+.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
+  position: absolute;
+  z-index: 6;
+  display: none;
+}
+.CodeMirror-vscrollbar {
+  right: 0; top: 0;
+  overflow-x: hidden;
+  overflow-y: scroll;
+}
+.CodeMirror-hscrollbar {
+  bottom: 0; left: 0;
+  overflow-y: hidden;
+  overflow-x: scroll;
+}
+.CodeMirror-scrollbar-filler {
+  right: 0; bottom: 0;
+}
+.CodeMirror-gutter-filler {
+  left: 0; bottom: 0;
+}
+
+.CodeMirror-gutters {
+  position: absolute; left: 0; top: 0;
+  min-height: 100%;
+  z-index: 3;
+}
+.CodeMirror-gutter {
+  white-space: normal;
+  height: 100%;
+  display: inline-block;
+  vertical-align: top;
+  margin-bottom: -50px;
+}
+.CodeMirror-gutter-wrapper {
+  position: absolute;
+  z-index: 4;
+  background: none !important;
+  border: none !important;
+}
+.CodeMirror-gutter-background {
+  position: absolute;
+  top: 0; bottom: 0;
+  z-index: 4;
+}
+.CodeMirror-gutter-elt {
+  position: absolute;
+  cursor: default;
+  z-index: 4;
+}
+.CodeMirror-gutter-wrapper ::selection { background-color: transparent }
+.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent }
+
+.CodeMirror-lines {
+  cursor: text;
+  min-height: 1px; /* prevents collapsing before first draw */
+}
+.CodeMirror pre.CodeMirror-line,
+.CodeMirror pre.CodeMirror-line-like {
+  /* Reset some styles that the rest of the page might have set */
+  -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;
+  border-width: 0;
+  background: transparent;
+  font-family: inherit;
+  font-size: inherit;
+  margin: 0;
+  white-space: pre;
+  word-wrap: normal;
+  line-height: inherit;
+  color: inherit;
+  z-index: 2;
+  position: relative;
+  overflow: visible;
+  -webkit-tap-highlight-color: transparent;
+  -webkit-font-variant-ligatures: contextual;
+  font-variant-ligatures: contextual;
+}
+.CodeMirror-wrap pre.CodeMirror-line,
+.CodeMirror-wrap pre.CodeMirror-line-like {
+  word-wrap: break-word;
+  white-space: pre-wrap;
+  word-break: normal;
+}
+
+.CodeMirror-linebackground {
+  position: absolute;
+  left: 0; right: 0; top: 0; bottom: 0;
+  z-index: 0;
+}
+
+.CodeMirror-linewidget {
+  position: relative;
+  z-index: 2;
+  padding: 0.1px; /* Force widget margins to stay inside of the container */
+}
+
+.CodeMirror-widget {}
+
+.CodeMirror-rtl pre { direction: rtl; }
+
+.CodeMirror-code {
+  outline: none;
+}
+
+/* Force content-box sizing for the elements where we expect it */
+.CodeMirror-scroll,
+.CodeMirror-sizer,
+.CodeMirror-gutter,
+.CodeMirror-gutters,
+.CodeMirror-linenumber {
+  -moz-box-sizing: content-box;
+  box-sizing: content-box;
+}
+
+.CodeMirror-measure {
+  position: absolute;
+  width: 100%;
+  height: 0;
+  overflow: hidden;
+  visibility: hidden;
+}
+
+.CodeMirror-cursor {
+  position: absolute;
+  pointer-events: none;
+}
+.CodeMirror-measure pre { position: static; }
+
+div.CodeMirror-cursors {
+  visibility: hidden;
+  position: relative;
+  z-index: 3;
+}
+div.CodeMirror-dragcursors {
+  visibility: visible;
+}
+
+.CodeMirror-focused div.CodeMirror-cursors {
+  visibility: visible;
+}
+
+.CodeMirror-selected { background: #d9d9d9; }
+.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }
+.CodeMirror-crosshair { cursor: crosshair; }
+.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }
+.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }
+
+.cm-searching {
+  background-color: #ffa;
+  background-color: rgba(255, 255, 0, .4);
+}
+
+/* Used to force a border model for a node */
+.cm-force-border { padding-right: .1px; }
+
+@media print {
+  /* Hide the cursor when printing */
+  .CodeMirror div.CodeMirror-cursors {
+    visibility: hidden;
+  }
+}
+
+/* See issue #2901 */
+.cm-tab-wrap-hack:after { content: ''; }
+
+/* Help users use markselection to safely style text background */
+span.CodeMirror-selectedtext { background: none; }
+
+/*
+
+    Name:       dracula
+    Author:     Michael Kaminsky (http://github.com/mkaminsky11)
+
+    Original dracula color scheme by Zeno Rocha (https://github.com/zenorocha/dracula-theme)
+
+*/
+
+
+.cm-s-dracula.CodeMirror, .cm-s-dracula .CodeMirror-gutters {
+  background-color: #282a36 !important;
+  color: #f8f8f2 !important;
+  border: none;
+}
+.cm-s-dracula .CodeMirror-gutters { color: #282a36; }
+.cm-s-dracula .CodeMirror-cursor { border-left: solid thin #f8f8f0; }
+.cm-s-dracula .CodeMirror-linenumber { color: #6D8A88; }
+.cm-s-dracula .CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }
+.cm-s-dracula .CodeMirror-line::selection, .cm-s-dracula .CodeMirror-line > span::selection, .cm-s-dracula .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }
+.cm-s-dracula .CodeMirror-line::-moz-selection, .cm-s-dracula .CodeMirror-line > span::-moz-selection, .cm-s-dracula .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }
+.cm-s-dracula span.cm-comment { color: #6272a4; }
+.cm-s-dracula span.cm-string, .cm-s-dracula span.cm-string-2 { color: #f1fa8c; }
+.cm-s-dracula span.cm-number { color: #bd93f9; }
+.cm-s-dracula span.cm-variable { color: #50fa7b; }
+.cm-s-dracula span.cm-variable-2 { color: white; }
+.cm-s-dracula span.cm-def { color: #50fa7b; }
+.cm-s-dracula span.cm-operator { color: #ff79c6; }
+.cm-s-dracula span.cm-keyword { color: #ff79c6; }
+.cm-s-dracula span.cm-atom { color: #bd93f9; }
+.cm-s-dracula span.cm-meta { color: #f8f8f2; }
+.cm-s-dracula span.cm-tag { color: #ff79c6; }
+.cm-s-dracula span.cm-attribute { color: #50fa7b; }
+.cm-s-dracula span.cm-qualifier { color: #50fa7b; }
+.cm-s-dracula span.cm-property { color: #66d9ef; }
+.cm-s-dracula span.cm-builtin { color: #50fa7b; }
+.cm-s-dracula span.cm-variable-3, .cm-s-dracula span.cm-type { color: #ffb86c; }
+
+.cm-s-dracula .CodeMirror-activeline-background { background: rgba(255,255,255,0.1); }
+.cm-s-dracula .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
+
+#example-panel {
+  position: fixed;
+  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
+  padding: 10px 0px;
+  text-align: left;
+  background: #fff;
+}
+#example-panel h2 {
+    font-weight: normal;
+    font-size: 20px;
+    color: #333;
+    padding-left: 20px;
+    font-weight: bold;
+    margin: 5px 0;
+}
+#example-panel p.intro {
+    color: #aaa;
+    padding-left: 20px;
+    margin: 5px 0;
+    font-size: 12px;
+}
+#example-panel .preview-and-code {
+    position: absolute;
+    top: 75px;
+    bottom: 0;
+    left: 0;
+    right: 0;
+}
+#example-panel .el-alert {
+    position: absolute;
+    top: 0;
+}
+#example-panel .preview-main {
+    position: relative;
+    padding: 0 10px;
+    background: #fefefe;
+    box-sizing: border-box;
+}
+#example-panel .example-code {
+    position: relative;
+}
+#example-panel .example-code .codemirror-main {
+      position: absolute;
+      left: 10px;
+      top: 10px;
+      right: 10px;
+      bottom: 15px;
+      box-shadow: -5px -5px 15px rgba(0, 0, 0, 0.1);
+}
+#example-panel .example-code .codemirror-main .CodeMirror {
+        height: 100%;
+        overflow-y: scroll;
+        border-radius: 6px;
+        font-family: 'Source Code Pro', monospace;
+        font-size: 13px;
+}
+#example-panel .example-code .codemirror-main .CodeMirror .CodeMirror-scroll {
+          padding: 15px;
+}
+#example-panel .example-code .codemirror-main .CodeMirror ::-webkit-scrollbar-thumb {
+          width: 8px;
+          min-height: 15px;
+          background: rgba(255, 255, 255, 0.3) !important;
+          -webkit-transition: all 0.3s ease-in-out;
+          transition: all 0.3s ease-in-out;
+          border-radius: 2px;
+}
+#example-panel .example-code .codemirror-main .CodeMirror .option-changed {
+          background: rgba(255, 255, 255, 0.1);
+}
+#example-panel .example-code .codemirror-main .CodeMirror .CodeMirror-cursor {
+          display: none;
+}
+#example-panel .toolbar {
+    position: absolute;
+    top: 15px;
+    right: 10px;
+}
+#example-panel .toolbar .example-list {
+      width: 180px;
+}
+#example-panel.right-layout {
+    bottom: 0;
+    top: 40px;
+    right: 10px;
+}
+#example-panel.right-layout .preview-main {
+      width: 100%;
+      height: 50%;
+}
+#example-panel.right-layout .example-code {
+      width: 100%;
+      height: 50%;
+}
+#example-panel.bottom-layout {
+    left: 300px;
+    bottom: 0;
+    right: 10px;
+}
+#example-panel.bottom-layout .preview-main {
+      width: 50%;
+      height: 100%;
+      float: left;
+}
+#example-panel.bottom-layout .example-code {
+      width: 50%;
+      height: 100%;
+      float: left;
+}
+#example-panel.top-layout {
+    left: 300px;
+    top: 50px;
+    right: 10px;
+}
+#example-panel.top-layout .preview-main {
+      width: 50%;
+      height: 100%;
+      float: left;
+}
+#example-panel.top-layout .example-code {
+      width: 50%;
+      height: 100%;
+      float: left;
+}
+.example-change-layout .layout-title > i {
+  font-size: 14px;
+  margin-right: 5px;
+}
+.example-change-layout .layout-mode {
+  margin-top: 10px;
+}
+
+.doc-main {
+  margin-left: 10px;
+}
+.doc-main .open-option-example {
+    position: fixed;
+    right: 0;
+    top: 50%;
+    padding: 10px;
+    border-radius: 20px 0 0 20px;
+    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
+    background: #fff;
+    cursor: pointer;
+    font-size: 12px;
+}
+.doc-main .open-option-example:hover {
+      background: #eee;
+}
+.doc-main .open-option-example i {
+      font-size: 16px;
+      vertical-align: middle;
+}
+.doc-content {
+  text-align: left;
+  color: #4d555e;
+}
+.doc-content.option-example-actived.option-example-right-layout {
+    margin-right: 45%;
+}
+.doc-content h2 {
+    color: #B03A5B;
+    font-size: 34px;
+    border-bottom: 1px solid #ccc;
+    height: 45px;
+    line-height: 45px;
+    margin: 0;
+    margin-left: 15px;
+    font-weight: normal;
+    box-sizing: content-box;
+}
+.doc-content h3 {
+    font-weight: normal;
+    color: #969696;
+    font-size: 28px;
+    margin: 20px 0px 20px 15px;
+}
+.doc-content .page-description {
+    padding: 5px 0;
+    margin-left: 15px;
+}
+.doc-content .page-description .hljs {
+      background: transparent;
+      padding: 0;
+}
+.doc-content .page-description hr {
+      border: none;
+      border-bottom: 1px solid #eee;
+      width: 80%;
+}
+.doc-content .page-description blockquote {
+      font-size: 12px;
+      color: #999;
+      background-color: #fdfdfd;
+      border-left: 2px solid #ddd;
+      margin-left: 0px;
+      padding: 5px 10px;
+}
+.doc-content .page-description blockquote p {
+        margin: 0;
+        font-size: 12px;
+}
+.doc-content .page-description blockquote pre {
+        font-size: 12px;
+}
+.doc-content .page-description iframe {
+      border: none;
+      display: block;
+      margin-top: 5px;
+      max-width: 100%;
+}
+.doc-content .page-description img {
+      max-width: 100%;
+}
+.doc-content .page-description p {
+      line-height: 1.7em;
+      margin: 12px 0 12px 0;
+      font-size: 14px;
+}
+.doc-content .page-description pre {
+      margin: 5px 0;
+      border-radius: 5px;
+      background-color: #f5f7fa;
+      border: none;
+      padding: 10px;
+      font-size: 13px;
+}
+.doc-content .page-description .codespan {
+      padding: 1px 5px;
+      font-size: 14px;
+      background-color: #f4f4f4;
+      border-radius: 4px;
+}
+.doc-content .page-description code *, .doc-content .page-description code {
+      font-family: 'Source Code Pro', 'Courier New', monospace;
+}
+.doc-content .page-description ol {
+      margin-left: 20px;
+}
+.doc-content .page-description ul li {
+      list-style: disc;
+      margin: 10px 20px;
+      font-size: 14px;
+}
+.doc-content .page-description ol li {
+      margin: 1em 0;
+      list-style: decimal;
+      font-size: 14px;
+}
+.doc-content .page-description a {
+      font-family: 'Source Code Pro', STHeiti, "Microsoft Yahei", "WenQuanYi Micro Hei", sans-serif;
+}
+.doc-content .item-description {
+    margin: 0;
+    padding: 5px 0;
+}
+.doc-content .item-description .hljs {
+      background: transparent;
+      padding: 0;
+}
+.doc-content .item-description hr {
+      border: none;
+      border-bottom: 1px solid #eee;
+      width: 80%;
+}
+.doc-content .item-description blockquote {
+      font-size: 12px;
+      color: #999;
+      background-color: #fdfdfd;
+      border-left: 2px solid #ddd;
+      margin-left: 0px;
+      padding: 5px 10px;
+}
+.doc-content .item-description blockquote p {
+        margin: 0;
+        font-size: 12px;
+}
+.doc-content .item-description blockquote pre {
+        font-size: 12px;
+}
+.doc-content .item-description iframe {
+      border: none;
+      display: block;
+      margin-top: 5px;
+      max-width: 100%;
+}
+.doc-content .item-description img {
+      max-width: 100%;
+}
+.doc-content .item-description p {
+      line-height: 1.7em;
+      margin: 12px 0 12px 0;
+      font-size: 14px;
+}
+.doc-content .item-description pre {
+      margin: 5px 0;
+      border-radius: 5px;
+      background-color: #f5f7fa;
+      border: none;
+      padding: 10px;
+      font-size: 13px;
+}
+.doc-content .item-description .codespan {
+      padding: 1px 5px;
+      font-size: 14px;
+      background-color: #f4f4f4;
+      border-radius: 4px;
+}
+.doc-content .item-description code *, .doc-content .item-description code {
+      font-family: 'Source Code Pro', 'Courier New', monospace;
+}
+.doc-content .item-description ol {
+      margin-left: 20px;
+}
+.doc-content .item-description ul li {
+      list-style: disc;
+      margin: 10px 20px;
+      font-size: 14px;
+}
+.doc-content .item-description ol li {
+      margin: 1em 0;
+      list-style: decimal;
+      font-size: 14px;
+}
+.doc-content .item-description a {
+      font-family: 'Source Code Pro', STHeiti, "Microsoft Yahei", "WenQuanYi Micro Hei", sans-serif;
+}
+.ec-doc-tutorial .page-description h2 {
+  font-weight: normal;
+  font-size: 22px;
+  margin-left: 0;
+  margin-top: 40px;
+}
+.ec-doc-mobile .doc-main {
+  margin-left: 0;
+}
+.ec-doc-mobile .doc-content {
+  background: #f2f2f2;
+  margin-bottom: 100px;
+}
+.ec-doc-mobile .page-description {
+  padding: 5px 10px;
+  background: #fff;
+}
+.ec-doc-mobile h2 {
+  font-size: 22px;
+  font-weight: normal;
+  padding: 20px 10px;
+  border-bottom: none;
+}
+.ec-doc-mobile h3 {
+  font-size: 20px;
+  padding-left: 10px;
+}
+
+.doc-search {
+  padding: 5px;
+}
+.doc-search .search-input {
+    width: 100%;
+}
+.el-autocomplete-suggestion.search-input-popper {
+  width: auto !important;
+  min-width: 300px;
+}
+.el-autocomplete-suggestion.search-input-popper li {
+    line-height: 28px;
+    padding: 0 10px;
+}
+.doc-path-suggestion-item {
+  font-family: Monaco,Consolas,Courier new,monospace;
+  font-size: 12px;
+}
+
+.doc-search-result-item-card {
+  margin: 30px 10px;
+  border-top: 1px solid #ccc;
+}
+.doc-search-result-item-card h4 {
+    margin: 10px 0;
+}
+.doc-search-result-item-card h4 > * {
+      vertical-align: middle;
+      display: inline-block;
+}
+.doc-search-result-item-card h4 a.path {
+      font-family: Montserrat, sans-serif;
+      font-size: 18px;
+      padding-left: 5px;
+      padding: 0;
+      font-weight: normal;
+      color: #B03A5B;
+}
+.doc-search-result-item-card .item-description mark, .doc-search-result-item-card h4 mark {
+    background-color: #fc0;
+    border-radius: 3px;
+    padding: 2px;
+}
+.doc-search-result-item-card .other-result {
+    font-size: 12px;
+    padding: 0 0 10px 0;
+}
+.doc-search-result-item-card .other-result > div {
+      font-family: Montserrat, sans-serif;
+}
+.doc-search-result-item-card.needs-show-more .item-description {
+    max-height: 200px;
+    overflow-y: hidden;
+}
+.doc-search-result-item-card.needs-show-more .show-more-button {
+    display: block;
+}
+.doc-search-result-item-card .show-more-button {
+    display: none;
+    text-align: center;
+    cursor: pointer;
+}
+.doc-search-result-item-card .hljs {
+    background: transparent;
+    padding: 0;
+}
+.doc-search-result-item-card hr {
+    border: none;
+    border-bottom: 1px solid #eee;
+    width: 80%;
+}
+.doc-search-result-item-card blockquote {
+    font-size: 12px;
+    color: #999;
+    background-color: #fdfdfd;
+    border-left: 2px solid #ddd;
+    margin-left: 0px;
+    padding: 5px 10px;
+}
+.doc-search-result-item-card blockquote p {
+      margin: 0;
+      font-size: 12px;
+}
+.doc-search-result-item-card blockquote pre {
+      font-size: 12px;
+}
+.doc-search-result-item-card iframe {
+    border: none;
+    display: block;
+    margin-top: 5px;
+    max-width: 100%;
+}
+.doc-search-result-item-card img {
+    max-width: 100%;
+}
+.doc-search-result-item-card p {
+    line-height: 1.7em;
+    margin: 12px 0 12px 0;
+    font-size: 14px;
+}
+.doc-search-result-item-card pre {
+    margin: 5px 0;
+    border-radius: 5px;
+    background-color: #f5f7fa;
+    border: none;
+    padding: 10px;
+    font-size: 13px;
+}
+.doc-search-result-item-card .codespan {
+    padding: 1px 5px;
+    font-size: 14px;
+    background-color: #f4f4f4;
+    border-radius: 4px;
+}
+.doc-search-result-item-card code *, .doc-search-result-item-card code {
+    font-family: 'Source Code Pro', 'Courier New', monospace;
+}
+.doc-search-result-item-card ol {
+    margin-left: 20px;
+}
+.doc-search-result-item-card ul li {
+    list-style: disc;
+    margin: 10px 20px;
+    font-size: 14px;
+}
+.doc-search-result-item-card ol li {
+    margin: 1em 0;
+    list-style: decimal;
+    font-size: 14px;
+}
+.doc-search-result-item-card a {
+    font-family: 'Source Code Pro', STHeiti, "Microsoft Yahei", "WenQuanYi Micro Hei", sans-serif;
+}
+.doc-search-result-item-card iframe, .doc-search-result-item-card pre, .doc-search-result-item-card image {
+    display: none;
+}
+.ec-doc-mobile .doc-search-result-item-card {
+  margin: 30px 0;
+}
+
+.doc-search-result h3 {
+  font-weight: normal;
+  font-size: 24px;
+  margin: 20px 20px 20px 0;
+}
+.doc-search-result .result-summary {
+  padding: 10px 0;
+  color: #999;
+}
+.doc-search-result .result-summary .searching {
+    color: #B03A5B;
+}
+.ec-doc-mobile .doc-search-result {
+  padding: 0 10px;
+}
+
+@font-face {
+  font-family: 'iconfont';
+  src: url(../css/icon.eot);
+  src: url(../css/icon.eot#iefix) format("embedded-opentype"), url(../css/icon.ttf) format("truetype"), url(../css/icon.woff) format("woff"), url(../css/icon.svg) format("svg");
+  font-weight: normal;
+  font-style: normal;
+  font-display: block;
+}
+@font-face {
+  font-family: 'Source Code Pro';
+  font-style: normal;
+  font-weight: 400;
+  font-display: swap;
+  src: url(../css/SourceCodePro-Regular.woff) format("woff");
+}
+.ec-doc {
+  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", "Helvetica Neue", Helvetica, Arial, sans-serif;
+  height: 100%;
+}
+.ec-doc ul, .ec-doc ol {
+    margin: 0;
+    padding: 0;
+}
+.ec-doc a {
+    color: #337ab7;
+    text-decoration: none;
+    margin: 0 3px;
+}
+.ec-doc a:hover {
+      text-decoration: underline;
+}
+.ec-doc > .el-aside {
+    border-right: 1px solid #ddd;
+    position: relative;
+}
+.ec-doc > .el-aside .doc-type-nav {
+      border-bottom: 1px solid #eee;
+      margin-bottom: 10px;
+      margin-left: 5px;
+}
+.ec-doc > .el-aside .doc-type-nav a {
+        display: inline-block;
+        line-height: 35px;
+        width: 20%;
+        text-align: center;
+        box-sizing: border-box;
+        text-decoration: none;
+        color: #000;
+        cursor: pointer;
+        font-size: 14px;
+}
+.ec-doc > .el-aside .doc-type-nav a.selected {
+          border-top: 3px solid #B03A5B;
+}
+.ec-doc > .el-aside .doc-nav {
+      position: absolute;
+      top: 90px;
+      bottom: 0;
+      left: 0;
+      right: 0;
+      overflow-y: scroll;
+}
+.ec-doc > .el-main {
+    text-align: center;
+}
+.ec-doc > .el-main > div {
+      margin: 0 auto;
+      text-align: left;
+      min-width: 100%;
+}
+.ec-doc.ec-doc-locale-zh .doc-type-nav a {
+  width: 20%;
+}
+.el-select-dropdown.el-popper {
+  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", "Helvetica Neue", Helvetica, Arial, sans-serif;
+}
+
+.ec-doc-mobile {
+  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", "Helvetica Neue", Helvetica, Arial, sans-serif;
+  position: relative;
+}
+.ec-doc-mobile ul, .ec-doc-mobile ol {
+    margin: 0;
+    padding: 0;
+}
+.ec-doc-mobile a {
+    color: #337ab7;
+    text-decoration: none;
+    margin: 0 3px;
+}
+.ec-doc-mobile a:hover {
+      text-decoration: underline;
+}
+.ec-doc-mobile .top-bar {
+    position: sticky;
+    top: 0;
+    height: 90px;
+    left: 0;
+    right: 0;
+    background: #fff;
+    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
+    border-bottom: 1px solid #ddd;
+    z-index: 10;
+}
+.ec-doc-mobile .doc-type-nav {
+    border-bottom: 1px solid #eee;
+    margin-bottom: 10px;
+    margin-left: 5px;
+}
+.ec-doc-mobile .doc-type-nav a {
+      display: inline-block;
+      line-height: 30px;
+      width: 22%;
+      text-align: center;
+      box-sizing: border-box;
+      text-decoration: none;
+      color: #000;
+      cursor: pointer;
+      font-size: 14px;
+}
+.ec-doc-mobile .doc-type-nav a.selected {
+        border-top: 3px solid #B03A5B;
+}
+.ec-doc-mobile .doc-mobile-toolbar {
+    display: flex;
+    flex-direction: row;
+}
+.ec-doc-mobile .doc-mobile-toolbar .open-nav {
+      margin: 6px 5px;
+}
+.ec-doc-mobile .doc-mobile-toolbar .doc-search {
+      flex: 1;
+}
+.ec-doc-mobile .doc-breadcrumb {
+    position: fixed;
+    text-align: center;
+    left: 50%;
+    transform: translate(-50%, 0);
+    bottom: 20px;
+    border-radius: 4px;
+    padding: 5px;
+    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
+    background: #337ab7;
+}
+.ec-doc-mobile .doc-breadcrumb a {
+      display: inline-block;
+      color: #fff;
+}
+.el-drawer .doc-nav {
+  position: absolute;
+  top: 10px;
+  bottom: 0;
+  left: 0;
+  right: 0;
+  overflow-y: scroll;
+}
+
+/**
+ * GitHub Gist Theme
+ * Author : Anthony Attard - https://github.com/AnthonyAttard
+ * Author : Louis Barranqueiro - https://github.com/LouisBarranqueiro
+ */
+
+.hljs {
+  display: block;
+  background: white;
+  padding: 0.5em;
+  color: #333333;
+  overflow-x: auto;
+}
+
+.hljs-comment,
+.hljs-meta {
+  color: #969896;
+}
+
+.hljs-variable,
+.hljs-template-variable,
+.hljs-strong,
+.hljs-emphasis,
+.hljs-quote {
+  color: #df5000;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-type {
+  color: #d73a49;
+}
+
+.hljs-literal,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-attribute {
+  color: #0086b3;
+}
+
+.hljs-section,
+.hljs-name {
+  color: #63a35c;
+}
+
+.hljs-tag {
+  color: #333333;
+}
+
+.hljs-title,
+.hljs-attr,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-selector-attr,
+.hljs-selector-pseudo {
+  color: #6f42c1;
+}
+
+.hljs-addition {
+  color: #55a532;
+  background-color: #eaffea;
+}
+
+.hljs-deletion {
+  color: #bd2c00;
+  background-color: #ffecec;
+}
+
+.hljs-link {
+  text-decoration: underline;
+}
+
+.hljs-number {
+  color: #005cc5;
+}
+
+.hljs-string {
+  color: #032f62;
+}
+
diff --git a/next/en/css/doc-bundle.css.map b/next/en/css/doc-bundle.css.map
new file mode 100644
index 0000000..34ad652
--- /dev/null
+++ b/next/en/css/doc-bundle.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack://echartsDoc/./src/components/DocNav.vue?4e19","webpack://echartsDoc/./src/components/PropertiesList.vue?f705","webpack://echartsDoc/./src/controls/ControlColor.vue?00aa","webpack://echartsDoc/./src/controls/ControlNumber.vue?7d88","webpack://echartsDoc/./src/controls/ControlVector.vue?59cc","webpack://echartsDoc/./src/controls/ControlEnum.vue?c193","webpack://echartsDoc/./src/controls/ControlPercent.vue?4384","webpack://echartsDoc/./src/controls/ControlP [...]
\ No newline at end of file
diff --git a/next/en/css/element-icons.ttf b/next/en/css/element-icons.ttf
new file mode 100644
index 0000000..91b74de
Binary files /dev/null and b/next/en/css/element-icons.ttf differ
diff --git a/next/en/css/element-icons.woff b/next/en/css/element-icons.woff
new file mode 100644
index 0000000..02b9a25
Binary files /dev/null and b/next/en/css/element-icons.woff differ
diff --git a/next/en/css/icon.eot b/next/en/css/icon.eot
new file mode 100644
index 0000000..28362b4
Binary files /dev/null and b/next/en/css/icon.eot differ
diff --git a/next/en/css/icon.svg b/next/en/css/icon.svg
new file mode 100644
index 0000000..3dbd03e
--- /dev/null
+++ b/next/en/css/icon.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata>Generated by IcoMoon</metadata>
+<defs>
+<font id="icomoon" horiz-adv-x="1024">
+<font-face units-per-em="1024" ascent="960" descent="-64" />
+<missing-glyph horiz-adv-x="1024" />
+<glyph unicode="&#x20;" horiz-adv-x="512" d="" />
+<glyph unicode="&#xe900;" glyph-name="try" horiz-adv-x="1073" d="M292.571 813.714c0-80.791-65.494-146.286-146.286-146.286s-146.286 65.494-146.286 146.286c0 80.791 65.494 146.286 146.286 146.286s146.286-65.494 146.286-146.286zM434.812 862.476c-5.873 35.007-17.963 67.907-35.096 97.524h380.474c134.652 0 243.81-109.157 243.81-243.81v-239.922c-17.44 12.333-37.865 21.022-60.348 24.769l-37.176 6.196v208.956c0 80.791-65.494 146.286-146.286 146.286h-345.379zM146.286 521.143v-292.571c0-80.791 65.4 [...]
+</font></defs></svg>
\ No newline at end of file
diff --git a/next/en/css/icon.ttf b/next/en/css/icon.ttf
new file mode 100644
index 0000000..8523a69
Binary files /dev/null and b/next/en/css/icon.ttf differ
diff --git a/next/en/css/icon.woff b/next/en/css/icon.woff
new file mode 100644
index 0000000..43ac0d9
Binary files /dev/null and b/next/en/css/icon.woff differ
diff --git a/next/en/documents/api-parts/api-outline.js b/next/en/documents/api-parts/api-outline.js
new file mode 100644
index 0000000..1f623bf
--- /dev/null
+++ b/next/en/documents/api-parts/api-outline.js
@@ -0,0 +1 @@
+window.__EC_DOC_api_outline = {"children":[{"type":"Object","isObject":true,"prop":"echarts","children":[{"type":"Function","prop":"init"},{"type":"Function","prop":"connect"},{"type":"Function","prop":"disconnect"},{"type":"Function","prop":"dispose"},{"type":"Function","prop":"getInstanceByDom"},{"type":"Function","prop":"registerMap"},{"type":"Function","prop":"getMap"},{"type":"Function","prop":"registerTheme"},{"type":"Function","prop":"registerLocale"},{"type":"*","isObject":true," [...]
\ No newline at end of file
diff --git a/next/en/documents/api-parts/api-outline.json b/next/en/documents/api-parts/api-outline.json
new file mode 100644
index 0000000..5a4f117
--- /dev/null
+++ b/next/en/documents/api-parts/api-outline.json
@@ -0,0 +1 @@
+{"children":[{"type":"Object","isObject":true,"prop":"echarts","children":[{"type":"Function","prop":"init"},{"type":"Function","prop":"connect"},{"type":"Function","prop":"disconnect"},{"type":"Function","prop":"dispose"},{"type":"Function","prop":"getInstanceByDom"},{"type":"Function","prop":"registerMap"},{"type":"Function","prop":"getMap"},{"type":"Function","prop":"registerTheme"},{"type":"Function","prop":"registerLocale"},{"type":"*","isObject":true,"prop":"graphic","children":[{" [...]
\ No newline at end of file
diff --git a/next/en/documents/api-parts/api.action.js b/next/en/documents/api-parts/api.action.js
new file mode 100644
index 0000000..3732088
--- /dev/null
+++ b/next/en/documents/api-parts/api.action.js
@@ -0,0 +1,110 @@
+window.__EC_DOC_api_action = {
+  "highlight": {
+    "desc": "<p>Highlights specified data.</p>\n<p>Series is specified through <code class=\"codespan\">seriesName</code> or <code class=\"codespan\">seriesIndex</code>. If another data needs to be specified, then use <code class=\"codespan\">dataIndex</code> or <code class=\"codespan\">name</code>.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;highlight&#39;,\n    // optional; series index; could be an array of multiple series\n    seriesIndex?: number|Array,\n    / [...]
+  },
+  "downplay": {
+    "desc": "<p>Downplay specified data.</p>\n<p>Series is specified through <code class=\"codespan\">seriesName</code> or <code class=\"codespan\">seriesIndex</code>. If another data needs to be specified, then use <code class=\"codespan\">dataIndex</code> or <code class=\"codespan\">name</code>.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;downplay&#39;,\n    // optional; series index; could be an array of multiple series\n    seriesIndex?: number|Array,\n    // o [...]
+  },
+  "select": {
+    "desc": "<p>Select specified data. Selected data will apply the style of <a href=\"option.html#series-bar.select\" target=\"_blank\">select</a>.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;select&#39;,\n    // 图例名称\n    // optional; series index; could be an array of multiple series\n    seriesIndex?: number|Array,\n    // optional; series name; could be an array of multiple series\n    seriesName?: string|Array,\n    // data index; could assign by name attribu [...]
+  },
+  "unselect": {
+    "desc": "<p>Unselect specified data.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;unselect&#39;,\n    // 图例名称\n    // optional; series index; could be an array of multiple series\n    seriesIndex?: number|Array,\n    // optional; series name; could be an array of multiple series\n    seriesName?: string|Array,\n    // data index; could assign by name attribute when not defined\n    dataIndex?: number,\n    // optional; data name; ignored when dataIndex is define [...]
+  },
+  "toggleSelected": {
+    "desc": "<p>Toggle selected status of specified data.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;toggleSelected&#39;,\n    // 图例名称\n    // optional; series index; could be an array of multiple series\n    seriesIndex?: number|Array,\n    // optional; series name; could be an array of multiple series\n    seriesName?: string|Array,\n    // data index; could assign by name attribute when not defined\n    dataIndex?: number,\n    // optional; data name; ignored w [...]
+  },
+  "legend": {
+    "desc": "<p>Actions related to <a href=\"option.html#legend\" target=\"_blank\">legend component</a>, <a href=\"option.html#legend\" target=\"_blank\">legend component</a> should be imported before use.</p>\n"
+  },
+  "legend.legendSelect": {
+    "desc": "<p>Selects legend.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;legendSelect&#39;,\n    // legend name\n    name: string\n})\n</code></pre>\n<p><strong>EVENT:</strong> <a href=\"#events.legendselected\">legendselected</a></p>\n"
+  },
+  "legend.legendUnSelect": {
+    "desc": "<p>Unselects the legend.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;legendUnSelect&#39;,\n    // legend name\n    name: string\n})\n</code></pre>\n<p><strong>EVENT:</strong> <a href=\"#events.legendunselected\">legendunselected</a></p>\n"
+  },
+  "legend.legendToggleSelect": {
+    "desc": "<p>Toggles legend selecting state.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;legendToggleSelect&#39;,\n    // legend name\n    name: string\n})\n</code></pre>\n<p><strong>EVENT:</strong> <a href=\"#events.legendselectchanged\">legendselectchanged</a></p>\n"
+  },
+  "legend.legendAllSelect": {
+    "desc": "<p>Selects all legends.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;legendAllSelect&#39;\n})\n</code></pre>\n<p><strong>EVENT:</strong> <a href=\"#events.legendselectall\">legendselectall</a></p>\n"
+  },
+  "legend.legendInverseSelect": {
+    "desc": "<p>Inverses all legends.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;legendInverseSelect&#39;\n})\n</code></pre>\n<p><strong>EVENT:</strong> <a href=\"#events.legendinverseselect\">legendinverseselect</a></p>\n"
+  },
+  "legend.legendScroll": {
+    "desc": "<p>Control the scrolling of legend. It works when <a href=\"option.html#legend.type\" target=\"_blank\">legend.type</a> is <code class=\"codespan\">&#39;scroll&#39;</code>.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;legendScroll&#39;,\n    scrollDataIndex: number,\n    legendId: string\n})\n</code></pre>\n<p><strong>EVENT:</strong> <a href=\"#events.legendscroll\">legendscroll</a></p>\n"
+  },
+  "tooltip": {
+    "desc": "<p>Actions related to <a href=\"option.html#tooltip\" target=\"_blank\">tooltip component</a>, <a href=\"option.html#tooltip\" target=\"_blank\">tooltip component</a> should be imported before use.</p>\n"
+  },
+  "tooltip.showTip": {
+    "desc": "<p>Shows tooltip.</p>\n<p>There are two usages as followed.</p>\n<p>1 Display tooltip at certain position relative to container. If it cannot be displayed at the specified location, then it is invalid.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;showTip&#39;,\n    // x coordinate on screen\n    x: number,\n    // y coordinate on screen\n    y: number,\n    // Position of tooltip. Only works in this action.\n    // Use tooltip.position in option by defa [...]
+  },
+  "tooltip.hideTip": {
+    "desc": "<p>Hides tooltip.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;hideTip&#39;\n})\n</code></pre>\n"
+  },
+  "dataZoom": {
+    "desc": "<p>Actions related to <a href=\"option.html#dataZoom\" target=\"_blank\">data region zoom component</a>, <a href=\"option.html#dataZoom\" target=\"_blank\">data region zoom component</a> should be imported before use.</p>\n"
+  },
+  "dataZoom.dataZoom": {
+    "desc": "<p>Zoom data region.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;dataZoom&#39;,\n    // optional; index of dataZoom component; useful for are multiple dataZoom components; 0 by default\n    dataZoomIndex: number,\n    // percentage of starting position; 0 - 100\n    start: number,\n    // percentage of ending position; 0 - 100\n    end: number,\n    // data value at starting location\n    startValue: number,\n    // data value at ending location\n    e [...]
+  },
+  "dataZoom.takeGlobalCursor": {
+    "desc": "<p>Activate or inactivate <code class=\"codespan\">dataZoom</code> buttom in <code class=\"codespan\">toolbox</code>.</p>\n<pre><code class=\"lang-js\">myChart.dispatchAction({\n    type: &#39;takeGlobalCursor&#39;,\n    key: &#39;dataZoomSelect&#39;,\n    // Activate or inactivate.\n    dataZoomSelectActive: true\n});\n</code></pre>\n"
+  },
+  "visualMap": {
+    "desc": "<p>Actions related to <a href=\"option.html#visualMap\" target=\"_blank\">visual mapping component</a>, <a href=\"option.html#visualMap\" target=\"_blank\">visual mapping component</a> should be imported before use.</p>\n"
+  },
+  "visualMap.selectDataRange": {
+    "desc": "<p>Selects data range of visual mapping.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;selectDataRange&#39;,\n    // optional; index of visualMap component; useful for are multiple visualMap components; 0 by default\n    visualMapIndex: number,\n    // continuous visualMap is different from discrete one\n    // continuous visualMap is an array representing range of data values.\n    // discrete visualMap is an object, whose key is category or piece index [...]
+  },
+  "timeline": {
+    "desc": "<p>Actions related to <a href=\"option.html#timeline\" target=\"_blank\">timeline component</a>, <a href=\"option.html#timeline\" target=\"_blank\">timeline component</a> should be imported before use.</p>\n"
+  },
+  "timeline.timelineChange": {
+    "desc": "<p>Sets the current time point.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;timelineChange&#39;,\n    // index of time point\n    currentIndex: number\n})\n</code></pre>\n<p><strong>EVENT:</strong> <a href=\"#events.timelinechanged\">timelinechanged</a></p>\n"
+  },
+  "timeline.timelinePlayChange": {
+    "desc": "<p>Toggles playing status of timeline.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;timelinePlayChange&#39;,\n    // laying status; true for auto-play\n    playState: boolean\n})\n</code></pre>\n<p><strong>EVENT:</strong> <a href=\"#events.timelineplaychanged\">timelineplaychanged</a></p>\n"
+  },
+  "toolbox": {
+    "desc": "<p>Actions related to <a href=\"option.html#toolbox\" target=\"_blank\">toolbox component</a>, <a href=\"option.html#toolbox\" target=\"_blank\">toolbox component</a> should be imported before use.</p>\n"
+  },
+  "toolbox.restore": {
+    "desc": "<p>Resets option.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;restore&#39;\n})\n</code></pre>\n<p><strong>EVENT:</strong> <a href=\"#events.restore\">restore</a></p>\n"
+  },
+  "geo": {
+    "desc": "<p>Actions related to <a href=\"option.html#geo\" target=\"_blank\">geo</a> component, <a href=\"option.html#geo\" target=\"_blank\">geo</a> should be imported before use.</p>\n"
+  },
+  "geo.geoSelect": {
+    "desc": "<p>Selects the specified geo region.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;geoSelect&#39;,\n    // optional; series index; could be an array of multiple series\n    seriesIndex?: number|Array,\n    // optional; series name; could be an array of multiple series\n    seriesName?: string|Array,\n    // data index; could assign by name attribute when not defined\n    dataIndex?: number,\n    // optional; data name; ignored when dataIndex is defined\n [...]
+  },
+  "geo.geoUnSelect": {
+    "desc": "<p>Cancels selecting specified geo region.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;geoUnSelect&#39;,\n    // optional; series index; could be an array of multiple series\n    seriesIndex?: number|Array,\n    // optional; series name; could be an array of multiple series\n    seriesName?: string|Array,\n    // data index; could assign by name attribute when not defined\n    dataIndex?: number,\n    // optional; data name; ignored when dataIndex is d [...]
+  },
+  "geo.geoToggleSelect": {
+    "desc": "<p>Toggles selecting status of specified geo region.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;geoToggleSelect&#39;,\n    // optional; series index; could be an array of multiple series\n    seriesIndex?: number|Array,\n    // optional; series name; could be an array of multiple series\n    seriesName?: string|Array,\n    // data index; could assign by name attribute when not defined\n    dataIndex?: number,\n    // optional; data name; ignored when  [...]
+  },
+  "graph": {
+    "desc": "<p>Actions related to <a href=\"option.html#series-graph\" target=\"_blank\">graph</a>, <a href=\"option.html#series-graph\" target=\"_blank\">graph</a> should be imported before use.</p>\n"
+  },
+  "graph.focusNodeAdjacency": {
+    "desc": "<p>Highlight the specified node and all of its adjacent nodes.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;focusNodeAdjacency&#39;,\n\n    // Use seriesId or seriesIndex or seriesName to specify\n    // the target series.\n    seriesId: &#39;xxx&#39;,\n    seriesIndex: 0,\n    seriesName: &#39;nnn&#39;,\n\n    // Use either `dataIndex` or `edgeDataIndex` to specify\n    // the target node or target edge.\n    dataIndex: 12\n    edgeDataIndex: 5\n})\n</ [...]
+  },
+  "graph.unfocusNodeAdjacency": {
+    "desc": "<p>Reverse highlight the specified node and all of its adjacent nodes.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;unfocusNodeAdjacency&#39;,\n\n    // Use seriesId or seriesIndex or seriesName to location the series.\n    seriesId: &#39;xxx&#39;,\n    seriesIndex: 0,\n    seriesName: &#39;nnn&#39;\n})\n</code></pre>\n<p>Event <a href=\"#event.unfocusNodeAdjacency\">unfocusNodeAdjacency</a> will be thrown finally.</p>\n"
+  },
+  "brush": {
+    "desc": "<p><a href=\"option.html#brush\" target=\"_blank\">brush</a> related actions.</p>\n"
+  },
+  "brush.brush": {
+    "desc": "<p>This action is dispatched when the &quot;brush&quot; behavior is performing.\nIt sets select-boxes (areas) in this chart. For example:</p>\n<pre><code class=\"lang-javascript\">myChart.dispatchAction({\n    type: &#39;brush&#39;,\n    areas: [ // &quot;areas&quot; means select-boxes. Multi-boxes can be specified.\n             // If &quot;areas&quot; is empty, all of the select-boxes will be deleted.\n        { // The first area.\n\n            // Indicate that this area  [...]
+  },
+  "brush.brushEnd": {
+    "desc": "<blockquote>\n<p>Since <code class=\"codespan\">v4.5.0</code></p>\n</blockquote>\n<p>This action is dispatched when the &quot;brush&quot; behavior finished.\nThe parameters are the same as <a href=\"#action.brush.brush\">action brush</a>.</p>\n"
+  },
+  "brush.takeGlobalCursor": {
+    "desc": "<p>The switch of the brush. This action can make the mouse enabled/disabled to brush.\nIn fact, the brush buttons in <a href=\"option.html#toolbox.feature.brush\" target=\"_blank\">toolbox</a> just use this aciton.</p>\n<p>This event corresponding to this action is <a href=\"#events.globalCursorTaken\">globalCursorTaken</a>.</p>\n<pre><code class=\"lang-js\">api.dispatchAction({\n    type: &#39;takeGlobalCursor&#39;,\n    // If intending to enable brush, must set. Otherwise, [...]
+  }
+}
\ No newline at end of file
diff --git a/next/en/documents/api-parts/api.action.json b/next/en/documents/api-parts/api.action.json
new file mode 100644
index 0000000..3d78938
--- /dev/null
+++ b/next/en/documents/api-parts/api.action.json
@@ -0,0 +1,110 @@
+{
+  "highlight": {
+    "desc": "<p>Highlights specified data.</p>\n<p>Series is specified through <code class=\"codespan\">seriesName</code> or <code class=\"codespan\">seriesIndex</code>. If another data needs to be specified, then use <code class=\"codespan\">dataIndex</code> or <code class=\"codespan\">name</code>.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;highlight&#39;,\n    // optional; series index; could be an array of multiple series\n    seriesIndex?: number|Array,\n    / [...]
+  },
+  "downplay": {
+    "desc": "<p>Downplay specified data.</p>\n<p>Series is specified through <code class=\"codespan\">seriesName</code> or <code class=\"codespan\">seriesIndex</code>. If another data needs to be specified, then use <code class=\"codespan\">dataIndex</code> or <code class=\"codespan\">name</code>.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;downplay&#39;,\n    // optional; series index; could be an array of multiple series\n    seriesIndex?: number|Array,\n    // o [...]
+  },
+  "select": {
+    "desc": "<p>Select specified data. Selected data will apply the style of <a href=\"option.html#series-bar.select\" target=\"_blank\">select</a>.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;select&#39;,\n    // 图例名称\n    // optional; series index; could be an array of multiple series\n    seriesIndex?: number|Array,\n    // optional; series name; could be an array of multiple series\n    seriesName?: string|Array,\n    // data index; could assign by name attribu [...]
+  },
+  "unselect": {
+    "desc": "<p>Unselect specified data.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;unselect&#39;,\n    // 图例名称\n    // optional; series index; could be an array of multiple series\n    seriesIndex?: number|Array,\n    // optional; series name; could be an array of multiple series\n    seriesName?: string|Array,\n    // data index; could assign by name attribute when not defined\n    dataIndex?: number,\n    // optional; data name; ignored when dataIndex is define [...]
+  },
+  "toggleSelected": {
+    "desc": "<p>Toggle selected status of specified data.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;toggleSelected&#39;,\n    // 图例名称\n    // optional; series index; could be an array of multiple series\n    seriesIndex?: number|Array,\n    // optional; series name; could be an array of multiple series\n    seriesName?: string|Array,\n    // data index; could assign by name attribute when not defined\n    dataIndex?: number,\n    // optional; data name; ignored w [...]
+  },
+  "legend": {
+    "desc": "<p>Actions related to <a href=\"option.html#legend\" target=\"_blank\">legend component</a>, <a href=\"option.html#legend\" target=\"_blank\">legend component</a> should be imported before use.</p>\n"
+  },
+  "legend.legendSelect": {
+    "desc": "<p>Selects legend.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;legendSelect&#39;,\n    // legend name\n    name: string\n})\n</code></pre>\n<p><strong>EVENT:</strong> <a href=\"#events.legendselected\">legendselected</a></p>\n"
+  },
+  "legend.legendUnSelect": {
+    "desc": "<p>Unselects the legend.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;legendUnSelect&#39;,\n    // legend name\n    name: string\n})\n</code></pre>\n<p><strong>EVENT:</strong> <a href=\"#events.legendunselected\">legendunselected</a></p>\n"
+  },
+  "legend.legendToggleSelect": {
+    "desc": "<p>Toggles legend selecting state.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;legendToggleSelect&#39;,\n    // legend name\n    name: string\n})\n</code></pre>\n<p><strong>EVENT:</strong> <a href=\"#events.legendselectchanged\">legendselectchanged</a></p>\n"
+  },
+  "legend.legendAllSelect": {
+    "desc": "<p>Selects all legends.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;legendAllSelect&#39;\n})\n</code></pre>\n<p><strong>EVENT:</strong> <a href=\"#events.legendselectall\">legendselectall</a></p>\n"
+  },
+  "legend.legendInverseSelect": {
+    "desc": "<p>Inverses all legends.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;legendInverseSelect&#39;\n})\n</code></pre>\n<p><strong>EVENT:</strong> <a href=\"#events.legendinverseselect\">legendinverseselect</a></p>\n"
+  },
+  "legend.legendScroll": {
+    "desc": "<p>Control the scrolling of legend. It works when <a href=\"option.html#legend.type\" target=\"_blank\">legend.type</a> is <code class=\"codespan\">&#39;scroll&#39;</code>.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;legendScroll&#39;,\n    scrollDataIndex: number,\n    legendId: string\n})\n</code></pre>\n<p><strong>EVENT:</strong> <a href=\"#events.legendscroll\">legendscroll</a></p>\n"
+  },
+  "tooltip": {
+    "desc": "<p>Actions related to <a href=\"option.html#tooltip\" target=\"_blank\">tooltip component</a>, <a href=\"option.html#tooltip\" target=\"_blank\">tooltip component</a> should be imported before use.</p>\n"
+  },
+  "tooltip.showTip": {
+    "desc": "<p>Shows tooltip.</p>\n<p>There are two usages as followed.</p>\n<p>1 Display tooltip at certain position relative to container. If it cannot be displayed at the specified location, then it is invalid.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;showTip&#39;,\n    // x coordinate on screen\n    x: number,\n    // y coordinate on screen\n    y: number,\n    // Position of tooltip. Only works in this action.\n    // Use tooltip.position in option by defa [...]
+  },
+  "tooltip.hideTip": {
+    "desc": "<p>Hides tooltip.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;hideTip&#39;\n})\n</code></pre>\n"
+  },
+  "dataZoom": {
+    "desc": "<p>Actions related to <a href=\"option.html#dataZoom\" target=\"_blank\">data region zoom component</a>, <a href=\"option.html#dataZoom\" target=\"_blank\">data region zoom component</a> should be imported before use.</p>\n"
+  },
+  "dataZoom.dataZoom": {
+    "desc": "<p>Zoom data region.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;dataZoom&#39;,\n    // optional; index of dataZoom component; useful for are multiple dataZoom components; 0 by default\n    dataZoomIndex: number,\n    // percentage of starting position; 0 - 100\n    start: number,\n    // percentage of ending position; 0 - 100\n    end: number,\n    // data value at starting location\n    startValue: number,\n    // data value at ending location\n    e [...]
+  },
+  "dataZoom.takeGlobalCursor": {
+    "desc": "<p>Activate or inactivate <code class=\"codespan\">dataZoom</code> buttom in <code class=\"codespan\">toolbox</code>.</p>\n<pre><code class=\"lang-js\">myChart.dispatchAction({\n    type: &#39;takeGlobalCursor&#39;,\n    key: &#39;dataZoomSelect&#39;,\n    // Activate or inactivate.\n    dataZoomSelectActive: true\n});\n</code></pre>\n"
+  },
+  "visualMap": {
+    "desc": "<p>Actions related to <a href=\"option.html#visualMap\" target=\"_blank\">visual mapping component</a>, <a href=\"option.html#visualMap\" target=\"_blank\">visual mapping component</a> should be imported before use.</p>\n"
+  },
+  "visualMap.selectDataRange": {
+    "desc": "<p>Selects data range of visual mapping.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;selectDataRange&#39;,\n    // optional; index of visualMap component; useful for are multiple visualMap components; 0 by default\n    visualMapIndex: number,\n    // continuous visualMap is different from discrete one\n    // continuous visualMap is an array representing range of data values.\n    // discrete visualMap is an object, whose key is category or piece index [...]
+  },
+  "timeline": {
+    "desc": "<p>Actions related to <a href=\"option.html#timeline\" target=\"_blank\">timeline component</a>, <a href=\"option.html#timeline\" target=\"_blank\">timeline component</a> should be imported before use.</p>\n"
+  },
+  "timeline.timelineChange": {
+    "desc": "<p>Sets the current time point.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;timelineChange&#39;,\n    // index of time point\n    currentIndex: number\n})\n</code></pre>\n<p><strong>EVENT:</strong> <a href=\"#events.timelinechanged\">timelinechanged</a></p>\n"
+  },
+  "timeline.timelinePlayChange": {
+    "desc": "<p>Toggles playing status of timeline.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;timelinePlayChange&#39;,\n    // laying status; true for auto-play\n    playState: boolean\n})\n</code></pre>\n<p><strong>EVENT:</strong> <a href=\"#events.timelineplaychanged\">timelineplaychanged</a></p>\n"
+  },
+  "toolbox": {
+    "desc": "<p>Actions related to <a href=\"option.html#toolbox\" target=\"_blank\">toolbox component</a>, <a href=\"option.html#toolbox\" target=\"_blank\">toolbox component</a> should be imported before use.</p>\n"
+  },
+  "toolbox.restore": {
+    "desc": "<p>Resets option.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;restore&#39;\n})\n</code></pre>\n<p><strong>EVENT:</strong> <a href=\"#events.restore\">restore</a></p>\n"
+  },
+  "geo": {
+    "desc": "<p>Actions related to <a href=\"option.html#geo\" target=\"_blank\">geo</a> component, <a href=\"option.html#geo\" target=\"_blank\">geo</a> should be imported before use.</p>\n"
+  },
+  "geo.geoSelect": {
+    "desc": "<p>Selects the specified geo region.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;geoSelect&#39;,\n    // optional; series index; could be an array of multiple series\n    seriesIndex?: number|Array,\n    // optional; series name; could be an array of multiple series\n    seriesName?: string|Array,\n    // data index; could assign by name attribute when not defined\n    dataIndex?: number,\n    // optional; data name; ignored when dataIndex is defined\n [...]
+  },
+  "geo.geoUnSelect": {
+    "desc": "<p>Cancels selecting specified geo region.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;geoUnSelect&#39;,\n    // optional; series index; could be an array of multiple series\n    seriesIndex?: number|Array,\n    // optional; series name; could be an array of multiple series\n    seriesName?: string|Array,\n    // data index; could assign by name attribute when not defined\n    dataIndex?: number,\n    // optional; data name; ignored when dataIndex is d [...]
+  },
+  "geo.geoToggleSelect": {
+    "desc": "<p>Toggles selecting status of specified geo region.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;geoToggleSelect&#39;,\n    // optional; series index; could be an array of multiple series\n    seriesIndex?: number|Array,\n    // optional; series name; could be an array of multiple series\n    seriesName?: string|Array,\n    // data index; could assign by name attribute when not defined\n    dataIndex?: number,\n    // optional; data name; ignored when  [...]
+  },
+  "graph": {
+    "desc": "<p>Actions related to <a href=\"option.html#series-graph\" target=\"_blank\">graph</a>, <a href=\"option.html#series-graph\" target=\"_blank\">graph</a> should be imported before use.</p>\n"
+  },
+  "graph.focusNodeAdjacency": {
+    "desc": "<p>Highlight the specified node and all of its adjacent nodes.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;focusNodeAdjacency&#39;,\n\n    // Use seriesId or seriesIndex or seriesName to specify\n    // the target series.\n    seriesId: &#39;xxx&#39;,\n    seriesIndex: 0,\n    seriesName: &#39;nnn&#39;,\n\n    // Use either `dataIndex` or `edgeDataIndex` to specify\n    // the target node or target edge.\n    dataIndex: 12\n    edgeDataIndex: 5\n})\n</ [...]
+  },
+  "graph.unfocusNodeAdjacency": {
+    "desc": "<p>Reverse highlight the specified node and all of its adjacent nodes.</p>\n<pre><code class=\"lang-js\">dispatchAction({\n    type: &#39;unfocusNodeAdjacency&#39;,\n\n    // Use seriesId or seriesIndex or seriesName to location the series.\n    seriesId: &#39;xxx&#39;,\n    seriesIndex: 0,\n    seriesName: &#39;nnn&#39;\n})\n</code></pre>\n<p>Event <a href=\"#event.unfocusNodeAdjacency\">unfocusNodeAdjacency</a> will be thrown finally.</p>\n"
+  },
+  "brush": {
+    "desc": "<p><a href=\"option.html#brush\" target=\"_blank\">brush</a> related actions.</p>\n"
+  },
+  "brush.brush": {
+    "desc": "<p>This action is dispatched when the &quot;brush&quot; behavior is performing.\nIt sets select-boxes (areas) in this chart. For example:</p>\n<pre><code class=\"lang-javascript\">myChart.dispatchAction({\n    type: &#39;brush&#39;,\n    areas: [ // &quot;areas&quot; means select-boxes. Multi-boxes can be specified.\n             // If &quot;areas&quot; is empty, all of the select-boxes will be deleted.\n        { // The first area.\n\n            // Indicate that this area  [...]
+  },
+  "brush.brushEnd": {
+    "desc": "<blockquote>\n<p>Since <code class=\"codespan\">v4.5.0</code></p>\n</blockquote>\n<p>This action is dispatched when the &quot;brush&quot; behavior finished.\nThe parameters are the same as <a href=\"#action.brush.brush\">action brush</a>.</p>\n"
+  },
+  "brush.takeGlobalCursor": {
+    "desc": "<p>The switch of the brush. This action can make the mouse enabled/disabled to brush.\nIn fact, the brush buttons in <a href=\"option.html#toolbox.feature.brush\" target=\"_blank\">toolbox</a> just use this aciton.</p>\n<p>This event corresponding to this action is <a href=\"#events.globalCursorTaken\">globalCursorTaken</a>.</p>\n<pre><code class=\"lang-js\">api.dispatchAction({\n    type: &#39;takeGlobalCursor&#39;,\n    // If intending to enable brush, must set. Otherwise, [...]
+  }
+}
\ No newline at end of file
diff --git a/next/en/documents/api-parts/api.echarts.js b/next/en/documents/api-parts/api.echarts.js
new file mode 100644
index 0000000..08f5352
--- /dev/null
+++ b/next/en/documents/api-parts/api.echarts.js
@@ -0,0 +1,47 @@
+window.__EC_DOC_api_echarts = {
+  "init": {
+    "desc": "<pre><code class=\"lang-js\">(dom: HTMLDivElement|HTMLCanvasElement, theme?: Object|string, opts?: {\n    devicePixelRatio?: number,\n    renderer?: string,\n    width?: number|string,\n    height?: number|string,\n    locale?: string\n}) =&gt; ECharts\n</code></pre>\n<p>Creates an ECharts instance, and returns an <a href=\"#echartsInstance\">echartsInstance</a>. You shall not initialize multiple ECharts instances on a single container.</p>\n<p><strong>Parameters</strong></p [...]
+  },
+  "connect": {
+    "desc": "<pre><code class=\"lang-js\">(group:string|Array)\n</code></pre>\n<p>Connects interaction of multiple chart series.</p>\n<p><strong>Parameters</strong></p>\n<ul>\n<li><code class=\"codespan\">group</code>\n  Group id, or array of chart instance.</li>\n</ul>\n<p><strong>For example: </strong></p>\n<pre><code class=\"lang-js\">// set group id of each instance respectively.\nchart1.group = &#39;group1&#39;;\nchart2.group = &#39;group1&#39;;\necharts.connect(&#39;group1&#39;);\n [...]
+  },
+  "disconnect": {
+    "desc": "<pre><code class=\"lang-js\">(group:string)\n</code></pre>\n<p>Disconnects interaction of multiple chart series. To have one single instance to be removed, you can set <code class=\"codespan\">group</code> of chart instance to be null.</p>\n<p><strong>Parameters</strong></p>\n<ul>\n<li><p><code class=\"codespan\">group</code></p>\n<p>  group id.</p>\n</li>\n</ul>\n"
+  },
+  "dispose": {
+    "desc": "<pre><code class=\"lang-js\">(target: ECharts|HTMLDivElement|HTMLCanvasElement)\n</code></pre>\n<p>Destroys chart instance, after which the instance cannot be used any more.</p>\n"
+  },
+  "getInstanceByDom": {
+    "desc": "<pre><code class=\"lang-js\">(target: HTMLDivElement|HTMLCanvasElement) =&gt; ECharts\n</code></pre>\n<p>Returns chart instance of dom container.</p>\n"
+  },
+  "registerMap": {
+    "desc": "<pre><code class=\"lang-js\">(mapName: string, geoJson: Object, specialAreas?: Object)\n</code></pre>\n<p>Registers available maps. This can only be used after including <a href=\"option.html#geo\" target=\"_blank\">geo</a> component or chart series of <a href=\"option.html#series-map\" target=\"_blank\">map</a>.</p>\n<p>Please refer to <a href=\"option.html#geo.map\" target=\"_blank\">option.geo</a> for usage.</p>\n<p><strong>Parameters</strong></p>\n<ul>\n<li><p><code clas [...]
+  },
+  "getMap": {
+    "desc": "<pre><code class=\"lang-js\">(mapName: string)\n</code></pre>\n<p>Get a registered map in the following format:</p>\n<pre><code class=\"lang-js\">{\n    // geoJson data of the map\n    geoJson: Object,\n    // special area, see registerMap() for more information\n    specialAreas: Object\n}\n</code></pre>\n"
+  },
+  "registerTheme": {
+    "desc": "<pre><code class=\"lang-js\">(themeName: string, theme: Object)\n</code></pre>\n<p>Registers a theme, should be specified when <a href=\"#echarts.init\">initialize the chart instance</a>.</p>\n"
+  },
+  "registerLocale": {
+    "desc": "<pre><code class=\"lang-js\">(locale: string, localeCfg: Object)\n</code></pre>\n<p>Registers a locale, should be specified when <a href=\"#echarts.init\">initialize the chart instance</a>. See the format in <a href=\"https://github.com/apache/incubator-echarts/blob/release/src/i18n/langEN.ts\" target=\"_blank\">src/i18n/langEN.ts</a></p>\n"
+  },
+  "graphic": {
+    "desc": "<p>Util methods about graphics.</p>\n"
+  },
+  "graphic.extendShape": {
+    "desc": "<p>Create a new shape class.</p>\n<pre><code class=\"lang-js\">(\n    opts: Object\n) =&gt; zrender.graphic.Path\n</code></pre>\n<p>The details of the parameter <code class=\"codespan\">opts</code> can be checked in <a href=\"https://ecomfe.github.io/zrender-doc/public/api.html#zrenderpath\" target=\"_blank\">zrender.graphic.Path</a></p>\n"
+  },
+  "graphic.registerShape": {
+    "desc": "<p>Register a user defined shape.</p>\n<pre><code class=\"lang-js\">(\n    name: string,\n    ShapeClass: zrender.graphic.Path\n)\n</code></pre>\n<p>The <code class=\"codespan\">ShapeClass</code> should be generated by <a href=\"#echarts.graphic.extendShape\">echarts.graphic.extendShape</a>.\nThen the shape class can be fetched by <a href=\"#echarts.graphic.getShapeClass\">echarts.graphic.getShapeClass</a>\n<code class=\"codespan\">registerShape</code> will overwrite the reg [...]
+  },
+  "graphic.getShapeClass": {
+    "desc": "<p>Get the <a href=\"#echarts.graphic.registerShape\">registered</a> shape class.</p>\n<pre><code class=\"lang-js\">(\n    name: String\n) =&gt; zrender.graphic.Path\n</code></pre>\n<p>Some built-in shapes are registered by default:\n<code class=\"codespan\">&#39;circle&#39;</code>, <code class=\"codespan\">&#39;sector&#39;</code>, <code class=\"codespan\">&#39;ring&#39;</code>, <code class=\"codespan\">&#39;polygon&#39;</code>, <code class=\"codespan\">&#39;polyline&#39;</c [...]
+  },
+  "graphic.clipPointsByRect": {
+    "desc": "<p>Clip the given points by the given rectangular.</p>\n<pre><code class=\"lang-js\">(\n    // The points to be clipped, like [[23, 44], [12, 15], ...].\n    points: Array.&lt;Array.&lt;number&gt;&gt;,\n    // The rectangular that is used to clip points.\n    rect: {\n        x: number,\n        y: number,\n        width: number,\n        height: number\n    }\n) =&gt; Array.&lt;Array.&lt;number&gt;&gt; // The result Points.\n</code></pre>\n"
+  },
+  "graphic.clipRectByRect": {
+    "desc": "<p>Clip the first input rectangular by the second input rectangular.</p>\n<pre><code class=\"lang-js\">(\n    // The rectangular to be clipped.\n    targetRect: {\n        x: number,\n        y: number,\n        width: number,\n        height: number\n    },\n    // The rectangular that is used to clip the first  rectangular.\n    rect: {\n        x: number,\n        y: number,\n        width: number,\n        height: number\n    }\n) =&gt; { // The result rectangular.\n     [...]
+  }
+}
\ No newline at end of file
diff --git a/next/en/documents/api-parts/api.echarts.json b/next/en/documents/api-parts/api.echarts.json
new file mode 100644
index 0000000..dfda83d
--- /dev/null
+++ b/next/en/documents/api-parts/api.echarts.json
@@ -0,0 +1,47 @@
+{
+  "init": {
+    "desc": "<pre><code class=\"lang-js\">(dom: HTMLDivElement|HTMLCanvasElement, theme?: Object|string, opts?: {\n    devicePixelRatio?: number,\n    renderer?: string,\n    width?: number|string,\n    height?: number|string,\n    locale?: string\n}) =&gt; ECharts\n</code></pre>\n<p>Creates an ECharts instance, and returns an <a href=\"#echartsInstance\">echartsInstance</a>. You shall not initialize multiple ECharts instances on a single container.</p>\n<p><strong>Parameters</strong></p [...]
+  },
+  "connect": {
+    "desc": "<pre><code class=\"lang-js\">(group:string|Array)\n</code></pre>\n<p>Connects interaction of multiple chart series.</p>\n<p><strong>Parameters</strong></p>\n<ul>\n<li><code class=\"codespan\">group</code>\n  Group id, or array of chart instance.</li>\n</ul>\n<p><strong>For example: </strong></p>\n<pre><code class=\"lang-js\">// set group id of each instance respectively.\nchart1.group = &#39;group1&#39;;\nchart2.group = &#39;group1&#39;;\necharts.connect(&#39;group1&#39;);\n [...]
+  },
+  "disconnect": {
+    "desc": "<pre><code class=\"lang-js\">(group:string)\n</code></pre>\n<p>Disconnects interaction of multiple chart series. To have one single instance to be removed, you can set <code class=\"codespan\">group</code> of chart instance to be null.</p>\n<p><strong>Parameters</strong></p>\n<ul>\n<li><p><code class=\"codespan\">group</code></p>\n<p>  group id.</p>\n</li>\n</ul>\n"
+  },
+  "dispose": {
+    "desc": "<pre><code class=\"lang-js\">(target: ECharts|HTMLDivElement|HTMLCanvasElement)\n</code></pre>\n<p>Destroys chart instance, after which the instance cannot be used any more.</p>\n"
+  },
+  "getInstanceByDom": {
+    "desc": "<pre><code class=\"lang-js\">(target: HTMLDivElement|HTMLCanvasElement) =&gt; ECharts\n</code></pre>\n<p>Returns chart instance of dom container.</p>\n"
+  },
+  "registerMap": {
+    "desc": "<pre><code class=\"lang-js\">(mapName: string, geoJson: Object, specialAreas?: Object)\n</code></pre>\n<p>Registers available maps. This can only be used after including <a href=\"option.html#geo\" target=\"_blank\">geo</a> component or chart series of <a href=\"option.html#series-map\" target=\"_blank\">map</a>.</p>\n<p>Please refer to <a href=\"option.html#geo.map\" target=\"_blank\">option.geo</a> for usage.</p>\n<p><strong>Parameters</strong></p>\n<ul>\n<li><p><code clas [...]
+  },
+  "getMap": {
+    "desc": "<pre><code class=\"lang-js\">(mapName: string)\n</code></pre>\n<p>Get a registered map in the following format:</p>\n<pre><code class=\"lang-js\">{\n    // geoJson data of the map\n    geoJson: Object,\n    // special area, see registerMap() for more information\n    specialAreas: Object\n}\n</code></pre>\n"
+  },
+  "registerTheme": {
+    "desc": "<pre><code class=\"lang-js\">(themeName: string, theme: Object)\n</code></pre>\n<p>Registers a theme, should be specified when <a href=\"#echarts.init\">initialize the chart instance</a>.</p>\n"
+  },
+  "registerLocale": {
+    "desc": "<pre><code class=\"lang-js\">(locale: string, localeCfg: Object)\n</code></pre>\n<p>Registers a locale, should be specified when <a href=\"#echarts.init\">initialize the chart instance</a>. See the format in <a href=\"https://github.com/apache/incubator-echarts/blob/release/src/i18n/langEN.ts\" target=\"_blank\">src/i18n/langEN.ts</a></p>\n"
+  },
+  "graphic": {
+    "desc": "<p>Util methods about graphics.</p>\n"
+  },
+  "graphic.extendShape": {
+    "desc": "<p>Create a new shape class.</p>\n<pre><code class=\"lang-js\">(\n    opts: Object\n) =&gt; zrender.graphic.Path\n</code></pre>\n<p>The details of the parameter <code class=\"codespan\">opts</code> can be checked in <a href=\"https://ecomfe.github.io/zrender-doc/public/api.html#zrenderpath\" target=\"_blank\">zrender.graphic.Path</a></p>\n"
+  },
+  "graphic.registerShape": {
+    "desc": "<p>Register a user defined shape.</p>\n<pre><code class=\"lang-js\">(\n    name: string,\n    ShapeClass: zrender.graphic.Path\n)\n</code></pre>\n<p>The <code class=\"codespan\">ShapeClass</code> should be generated by <a href=\"#echarts.graphic.extendShape\">echarts.graphic.extendShape</a>.\nThen the shape class can be fetched by <a href=\"#echarts.graphic.getShapeClass\">echarts.graphic.getShapeClass</a>\n<code class=\"codespan\">registerShape</code> will overwrite the reg [...]
+  },
+  "graphic.getShapeClass": {
+    "desc": "<p>Get the <a href=\"#echarts.graphic.registerShape\">registered</a> shape class.</p>\n<pre><code class=\"lang-js\">(\n    name: String\n) =&gt; zrender.graphic.Path\n</code></pre>\n<p>Some built-in shapes are registered by default:\n<code class=\"codespan\">&#39;circle&#39;</code>, <code class=\"codespan\">&#39;sector&#39;</code>, <code class=\"codespan\">&#39;ring&#39;</code>, <code class=\"codespan\">&#39;polygon&#39;</code>, <code class=\"codespan\">&#39;polyline&#39;</c [...]
+  },
+  "graphic.clipPointsByRect": {
+    "desc": "<p>Clip the given points by the given rectangular.</p>\n<pre><code class=\"lang-js\">(\n    // The points to be clipped, like [[23, 44], [12, 15], ...].\n    points: Array.&lt;Array.&lt;number&gt;&gt;,\n    // The rectangular that is used to clip points.\n    rect: {\n        x: number,\n        y: number,\n        width: number,\n        height: number\n    }\n) =&gt; Array.&lt;Array.&lt;number&gt;&gt; // The result Points.\n</code></pre>\n"
+  },
+  "graphic.clipRectByRect": {
+    "desc": "<p>Clip the first input rectangular by the second input rectangular.</p>\n<pre><code class=\"lang-js\">(\n    // The rectangular to be clipped.\n    targetRect: {\n        x: number,\n        y: number,\n        width: number,\n        height: number\n    },\n    // The rectangular that is used to clip the first  rectangular.\n    rect: {\n        x: number,\n        y: number,\n        width: number,\n        height: number\n    }\n) =&gt; { // The result rectangular.\n     [...]
+  }
+}
\ No newline at end of file
diff --git a/next/en/documents/api-parts/api.echartsInstance.js b/next/en/documents/api-parts/api.echartsInstance.js
new file mode 100644
index 0000000..96915ef
--- /dev/null
+++ b/next/en/documents/api-parts/api.echartsInstance.js
@@ -0,0 +1,65 @@
+window.__EC_DOC_api_echartsInstance = {
+  "group": {
+    "desc": "<p>Group name to be used in chart <a href=\"#echarts.connect\">connection</a>.</p>\n"
+  },
+  "setOption": {
+    "desc": "<pre><code class=\"lang-js\">(option: Object, notMerge?: boolean, lazyUpdate?: boolean)\nor\n(option: Object, opts?: Object)\n</code></pre>\n<p>Configuration item, data, universal interface, all parameters and data can all be modified through <code class=\"codespan\">setOption</code>. ECharts will merge new parameters and data, and then refresh chart. If <a href=\"option.html#animation\" target=\"_blank\">animation</a> is enabled, ECharts will find the difference between two [...]
+  },
+  "getWidth": {
+    "desc": "<pre><code class=\"lang-js\">() =&gt; number\n</code></pre>\n<p>Gets width of ECharts instance container.</p>\n"
+  },
+  "getHeight": {
+    "desc": "<pre><code class=\"lang-js\">() =&gt; number\n</code></pre>\n<p>Gets height of ECharts instance container.</p>\n"
+  },
+  "getDom": {
+    "desc": "<pre><code class=\"lang-js\">() =&gt; HTMLCanvasElement|HTMLDivElement\n</code></pre>\n<p>Gets DOM element of ECharts instance container.</p>\n"
+  },
+  "getOption": {
+    "desc": "<pre><code class=\"lang-js\">() =&gt; Object\n</code></pre>\n<p>Gets <code class=\"codespan\">option</code> object maintained in current instance, which contains configuration item and data merged from previous <code class=\"codespan\">setOption</code> operations by users, along with user interaction states. For example, switching of legend, zooming area of data zoom, and so on. Therefore, a new instance that is exactly the same can be recovered from this option.</p>\n<p><st [...]
+  },
+  "resize": {
+    "desc": "<pre><code class=\"lang-js\">(opts?: {\n    width?: number|string,\n    height?: number|string,\n    silent?: boolean\n}) =&gt; ECharts\n</code></pre>\n<p>Resizes chart, which should be called manually when container size changes.</p>\n<p><strong>Parameters</strong></p>\n<ul>\n<li><p><code class=\"codespan\">opts</code></p>\n<p>  Optional; which may contain:</p>\n<ul>\n<li><p><code class=\"codespan\">width</code></p>\n<p>  Specify width explicitly, in pixel. If setting to <c [...]
+  },
+  "dispatchAction": {
+    "desc": "<pre><code class=\"lang-js\">(payload: Object)\n</code></pre>\n<p>Triggers chart action, like chart switch <code class=\"codespan\">legendToggleSelect</code>,zoom data area <code class=\"codespan\">dataZoom</code>, show tooltip <code class=\"codespan\">showTip</code> and so on. See <a href=\"#action\">action</a> and <a href=\"#events\">events</a> for more information.</p>\n<p><code class=\"codespan\">payload</code> parameter can trigger multiple actions through <code class=\ [...]
+  },
+  "on": {
+    "desc": "<pre><code class=\"lang-js\">(\n    eventName: string,\n    handler: Function,\n    context?: Object\n)\n(\n    eventName: string,\n    query: string|Object,\n    handler: Function,\n    context?: Object\n)\n</code></pre>\n<p>Binds event-handling function.</p>\n<p>There are two kinds of events in ECharts, one of which is mouse events, which will be triggered when the mouse clicks certain element in the chart, the other kind will be triggered after <a href=\"#echartsInstance. [...]
+  },
+  "off": {
+    "desc": "<pre><code class=\"lang-js\">(eventName: string, handler?: Function)\n</code></pre>\n<p>Unbind event-handler function.</p>\n<p><strong>parameter: </strong></p>\n<ul>\n<li><p><code class=\"codespan\">eventName</code></p>\n<p>  Event name.</p>\n</li>\n<li><p><code class=\"codespan\">handler</code></p>\n<p>  Optional. The function to be unbound could be passed. Otherwise, all event functions of this type will be unbound.</p>\n</li>\n</ul>\n"
+  },
+  "convertToPixel": {
+    "desc": "<pre><code class=\"lang-js\">(\n    // finder is used to indicate in which coordinate system conversion is performed.\n    // Generally, index or id or name can be used to specify coordinate system.\n    finder: {\n        seriesIndex?: number,\n        seriesId?: string,\n        seriesName?: string,\n        geoIndex?: number,\n        geoId?: string,\n        geoName?: string,\n        xAxisIndex?: number,\n        xAxisId?: string,\n        xAxisName?: string,\n        y [...]
+  },
+  "convertFromPixel": {
+    "desc": "<pre><code class=\"lang-js\">(\n    // finder is used to indicate in which coordinate system conversion is performed.\n    // Generally, index or id or name can be used to specify coordinate system.\n    finder: {\n        seriesIndex?: number,\n        seriesId?: string,\n        seriesName?: string,\n        geoIndex?: number,\n        geoId?: string,\n        geoName?: string,\n        xAxisIndex?: number,\n        xAxisId?: string,\n        xAxisName?: string,\n        y [...]
+  },
+  "containPixel": {
+    "desc": "<pre><code class=\"lang-js\">(\n    // finder is used to specify coordinate systems or series on which the judgement performed.\n    // Generally, index or id or name can be used to specify coordinate system.\n    finder: {\n        seriesIndex?: number,\n        seriesId?: string,\n        seriesName?: string,\n        geoIndex?: number,\n        geoId?: string,\n        geoName?: string,\n        xAxisIndex?: number,\n        xAxisId?: string,\n        xAxisName?: string,\ [...]
+  },
+  "showLoading": {
+    "desc": "<pre><code class=\"lang-js\">(type?: string, opts?: Object)\n</code></pre>\n<p>Shows loading animation. You can call this interface manually before data is loaded, and call <a href=\"#echartsInstance.hideLoading\">hideLoading</a> to hide loading animation after data is loaded.</p>\n<p><strong>parameter: </strong></p>\n<ul>\n<li><p><code class=\"codespan\">type</code></p>\n<p>  Optional; type of loading animation; only <code class=\"codespan\">&#39;default&#39;</code> is supp [...]
+  },
+  "hideLoading": {
+    "desc": "<p>Hides animation loading effect.</p>\n"
+  },
+  "getDataURL": {
+    "desc": "<pre><code class=\"lang-js\">(opts: {\n    // Exporting format, can be either png, or jpeg\n    type?: string,\n    // Resolution ratio of exporting image, 1 by default.\n    pixelRatio?: number,\n    // Background color of exporting image, use backgroundColor in option by default.\n    backgroundColor?: string,\n    // Excluded components list. e.g. [&#39;toolbox&#39;]\n    excludeComponents?: Array.&lt;string&gt;\n}) =&gt; string\n</code></pre>\n<p>Exports chart image; ret [...]
+  },
+  "getConnectedDataURL": {
+    "desc": "<pre><code class=\"lang-js\">(opts: {\n    // Exporting format, can be either png, or jpeg\n    type?: string,\n    // Resolution ratio of exporting image, 1 by default.\n    pixelRatio?: number,\n    // Background color of exporting image, use backgroundColor in option by default.\n    backgroundColor?: string,\n    // Excluded components list. e.g. [&#39;toolbox&#39;]\n    excludeComponents?: Array.&lt;string&gt;\n}) =&gt; string\n</code></pre>\n<p>Exports connected chart  [...]
+  },
+  "appendData": {
+    "desc": "<pre><code class=\"lang-js\">(opts: {\n    // Specify which series the data will be appended to.\n    seriesIndex?: string,\n    // The data to be appended.\n    data?: Array|TypedArray\n}) =&gt; string\n</code></pre>\n<p>The method is used in rendering millions of data (e.g. rendering geo data). In these scenarios, the entire size of data is probably up to 10 or 100 MB, even using binary format. So chunked load data and rendering is required. When using <code class=\"codesp [...]
+  },
+  "clear": {
+    "desc": "<p>Clears current instance; removes all components and series in current instance.</p>\n"
+  },
+  "isDisposed": {
+    "desc": "<pre><code class=\"lang-js\">() =&gt; boolean\n</code></pre>\n<p>Returns whether current instance has been disposed.</p>\n"
+  },
+  "dispose": {
+    "desc": "<p>Disposes instance. Once disposed, the instance can not be used again.</p>\n"
+  }
+}
\ No newline at end of file
diff --git a/next/en/documents/api-parts/api.echartsInstance.json b/next/en/documents/api-parts/api.echartsInstance.json
new file mode 100644
index 0000000..eb86944
--- /dev/null
+++ b/next/en/documents/api-parts/api.echartsInstance.json
@@ -0,0 +1,65 @@
+{
+  "group": {
+    "desc": "<p>Group name to be used in chart <a href=\"#echarts.connect\">connection</a>.</p>\n"
+  },
+  "setOption": {
+    "desc": "<pre><code class=\"lang-js\">(option: Object, notMerge?: boolean, lazyUpdate?: boolean)\nor\n(option: Object, opts?: Object)\n</code></pre>\n<p>Configuration item, data, universal interface, all parameters and data can all be modified through <code class=\"codespan\">setOption</code>. ECharts will merge new parameters and data, and then refresh chart. If <a href=\"option.html#animation\" target=\"_blank\">animation</a> is enabled, ECharts will find the difference between two [...]
+  },
+  "getWidth": {
+    "desc": "<pre><code class=\"lang-js\">() =&gt; number\n</code></pre>\n<p>Gets width of ECharts instance container.</p>\n"
+  },
+  "getHeight": {
+    "desc": "<pre><code class=\"lang-js\">() =&gt; number\n</code></pre>\n<p>Gets height of ECharts instance container.</p>\n"
+  },
+  "getDom": {
+    "desc": "<pre><code class=\"lang-js\">() =&gt; HTMLCanvasElement|HTMLDivElement\n</code></pre>\n<p>Gets DOM element of ECharts instance container.</p>\n"
+  },
+  "getOption": {
+    "desc": "<pre><code class=\"lang-js\">() =&gt; Object\n</code></pre>\n<p>Gets <code class=\"codespan\">option</code> object maintained in current instance, which contains configuration item and data merged from previous <code class=\"codespan\">setOption</code> operations by users, along with user interaction states. For example, switching of legend, zooming area of data zoom, and so on. Therefore, a new instance that is exactly the same can be recovered from this option.</p>\n<p><st [...]
+  },
+  "resize": {
+    "desc": "<pre><code class=\"lang-js\">(opts?: {\n    width?: number|string,\n    height?: number|string,\n    silent?: boolean\n}) =&gt; ECharts\n</code></pre>\n<p>Resizes chart, which should be called manually when container size changes.</p>\n<p><strong>Parameters</strong></p>\n<ul>\n<li><p><code class=\"codespan\">opts</code></p>\n<p>  Optional; which may contain:</p>\n<ul>\n<li><p><code class=\"codespan\">width</code></p>\n<p>  Specify width explicitly, in pixel. If setting to <c [...]
+  },
+  "dispatchAction": {
+    "desc": "<pre><code class=\"lang-js\">(payload: Object)\n</code></pre>\n<p>Triggers chart action, like chart switch <code class=\"codespan\">legendToggleSelect</code>,zoom data area <code class=\"codespan\">dataZoom</code>, show tooltip <code class=\"codespan\">showTip</code> and so on. See <a href=\"#action\">action</a> and <a href=\"#events\">events</a> for more information.</p>\n<p><code class=\"codespan\">payload</code> parameter can trigger multiple actions through <code class=\ [...]
+  },
+  "on": {
+    "desc": "<pre><code class=\"lang-js\">(\n    eventName: string,\n    handler: Function,\n    context?: Object\n)\n(\n    eventName: string,\n    query: string|Object,\n    handler: Function,\n    context?: Object\n)\n</code></pre>\n<p>Binds event-handling function.</p>\n<p>There are two kinds of events in ECharts, one of which is mouse events, which will be triggered when the mouse clicks certain element in the chart, the other kind will be triggered after <a href=\"#echartsInstance. [...]
+  },
+  "off": {
+    "desc": "<pre><code class=\"lang-js\">(eventName: string, handler?: Function)\n</code></pre>\n<p>Unbind event-handler function.</p>\n<p><strong>parameter: </strong></p>\n<ul>\n<li><p><code class=\"codespan\">eventName</code></p>\n<p>  Event name.</p>\n</li>\n<li><p><code class=\"codespan\">handler</code></p>\n<p>  Optional. The function to be unbound could be passed. Otherwise, all event functions of this type will be unbound.</p>\n</li>\n</ul>\n"
+  },
+  "convertToPixel": {
+    "desc": "<pre><code class=\"lang-js\">(\n    // finder is used to indicate in which coordinate system conversion is performed.\n    // Generally, index or id or name can be used to specify coordinate system.\n    finder: {\n        seriesIndex?: number,\n        seriesId?: string,\n        seriesName?: string,\n        geoIndex?: number,\n        geoId?: string,\n        geoName?: string,\n        xAxisIndex?: number,\n        xAxisId?: string,\n        xAxisName?: string,\n        y [...]
+  },
+  "convertFromPixel": {
+    "desc": "<pre><code class=\"lang-js\">(\n    // finder is used to indicate in which coordinate system conversion is performed.\n    // Generally, index or id or name can be used to specify coordinate system.\n    finder: {\n        seriesIndex?: number,\n        seriesId?: string,\n        seriesName?: string,\n        geoIndex?: number,\n        geoId?: string,\n        geoName?: string,\n        xAxisIndex?: number,\n        xAxisId?: string,\n        xAxisName?: string,\n        y [...]
+  },
+  "containPixel": {
+    "desc": "<pre><code class=\"lang-js\">(\n    // finder is used to specify coordinate systems or series on which the judgement performed.\n    // Generally, index or id or name can be used to specify coordinate system.\n    finder: {\n        seriesIndex?: number,\n        seriesId?: string,\n        seriesName?: string,\n        geoIndex?: number,\n        geoId?: string,\n        geoName?: string,\n        xAxisIndex?: number,\n        xAxisId?: string,\n        xAxisName?: string,\ [...]
+  },
+  "showLoading": {
+    "desc": "<pre><code class=\"lang-js\">(type?: string, opts?: Object)\n</code></pre>\n<p>Shows loading animation. You can call this interface manually before data is loaded, and call <a href=\"#echartsInstance.hideLoading\">hideLoading</a> to hide loading animation after data is loaded.</p>\n<p><strong>parameter: </strong></p>\n<ul>\n<li><p><code class=\"codespan\">type</code></p>\n<p>  Optional; type of loading animation; only <code class=\"codespan\">&#39;default&#39;</code> is supp [...]
+  },
+  "hideLoading": {
+    "desc": "<p>Hides animation loading effect.</p>\n"
+  },
+  "getDataURL": {
+    "desc": "<pre><code class=\"lang-js\">(opts: {\n    // Exporting format, can be either png, or jpeg\n    type?: string,\n    // Resolution ratio of exporting image, 1 by default.\n    pixelRatio?: number,\n    // Background color of exporting image, use backgroundColor in option by default.\n    backgroundColor?: string,\n    // Excluded components list. e.g. [&#39;toolbox&#39;]\n    excludeComponents?: Array.&lt;string&gt;\n}) =&gt; string\n</code></pre>\n<p>Exports chart image; ret [...]
+  },
+  "getConnectedDataURL": {
+    "desc": "<pre><code class=\"lang-js\">(opts: {\n    // Exporting format, can be either png, or jpeg\n    type?: string,\n    // Resolution ratio of exporting image, 1 by default.\n    pixelRatio?: number,\n    // Background color of exporting image, use backgroundColor in option by default.\n    backgroundColor?: string,\n    // Excluded components list. e.g. [&#39;toolbox&#39;]\n    excludeComponents?: Array.&lt;string&gt;\n}) =&gt; string\n</code></pre>\n<p>Exports connected chart  [...]
+  },
+  "appendData": {
+    "desc": "<pre><code class=\"lang-js\">(opts: {\n    // Specify which series the data will be appended to.\n    seriesIndex?: string,\n    // The data to be appended.\n    data?: Array|TypedArray\n}) =&gt; string\n</code></pre>\n<p>The method is used in rendering millions of data (e.g. rendering geo data). In these scenarios, the entire size of data is probably up to 10 or 100 MB, even using binary format. So chunked load data and rendering is required. When using <code class=\"codesp [...]
+  },
+  "clear": {
+    "desc": "<p>Clears current instance; removes all components and series in current instance.</p>\n"
+  },
+  "isDisposed": {
+    "desc": "<pre><code class=\"lang-js\">() =&gt; boolean\n</code></pre>\n<p>Returns whether current instance has been disposed.</p>\n"
+  },
+  "dispose": {
+    "desc": "<p>Disposes instance. Once disposed, the instance can not be used again.</p>\n"
+  }
+}
\ No newline at end of file
diff --git a/next/en/documents/api-parts/api.events.js b/next/en/documents/api-parts/api.events.js
new file mode 100644
index 0000000..9d2afd8
--- /dev/null
+++ b/next/en/documents/api-parts/api.events.js
@@ -0,0 +1,89 @@
+window.__EC_DOC_api_events = {
+  "Mouse events": {
+    "desc": "<p>Event parameters of mouse events are attributes of event object. The following shows basic parameters for chart click events. Other charts, like pie charts, may have additional parameters like <code class=\"codespan\">percent</code>. Please refer to callback <code class=\"codespan\">params</code> of each chart&#39;s label formatter.</p>\n<pre><code class=\"lang-js\">{\n    // type of the component to which the clicked glyph belongs\n    // i.e., &#39;series&#39;, &#39;mar [...]
+  },
+  "highlight": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.highlight\">highlight</a></p>\n<p>Event of data highlight.</p>\n"
+  },
+  "downplay": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.downplay\">downplay</a></p>\n<p>Event of data downplay.</p>\n"
+  },
+  "selectchanged": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.toggleSelected\">toggleSelected</a>, <a href=\"#action.select\">select</a>, <a href=\"#action.unselect\">unselect</a></p>\n<p>Event emitted when data selection is changed.</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;selectchanged&#39;,\n    fromAction: &#39;select&#39; | &#39;toggleSelected&#39; | &#39;unselect&#39;,\n    // Grouped by series.\n    selected: ({\n        dataIndex: number[], seriesIndex: number\n    })[]\n [...]
+  },
+  "legendselectchanged": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.legend.legendToggleSelect\">legendToggleSelect</a>\nEvent emitted after legend selecting state changes.</p>\n<p><strong>Attention: </strong> This event will be emitted when users toggle legend button in legend component.</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;legendselectchanged&#39;,\n    // change legend name\n    name: string\n    // table of all legend selecting states\n    selected: Object\n}\n</code></pre>\n"
+  },
+  "legendselected": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.legend.legendSelect\">legendSelect</a>\nEvent emitted after legend is selected.</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;legendselected&#39;,\n    // name of selected legend\n    name: string\n    // table of all legend selecting states\n    selected: Object\n}\n</code></pre>\n<p><strong>Attention: </strong> In ECharts 2.x, event related to user switching lengend is now changed from  <code class=\"codespan\">legendsele [...]
+  },
+  "legendunselected": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.legend.legendUnSelect\">legendUnSelect</a>\nEvent emitted after unselecting legend.</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;legendunselected&#39;,\n    // name of unselected legend\n    name: string\n    // table of all legend selecting states\n    selected: Object\n}\n</code></pre>\n"
+  },
+  "legendselectall": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.legend.legendAllSelect\">legendAllSelect</a>\nEvent emitted after all legends are selected.</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;legendselectall&#39;,\n    // table of all legend selecting states\n    selected: Object\n}\n</code></pre>\n"
+  },
+  "legendinverseselect": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.legend.legendInverseSelect\">legendInverseSelect</a>\nEvent emitted after inversing all legends.</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;legendinverseselect&#39;,\n    // table of all legend selecting states\n    selected: Object\n}\n</code></pre>\n"
+  },
+  "legendscroll": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.legend.legendScroll\">legendscroll</a>\nEvent when trigger legend scroll.</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;legendscroll&#39;,\n    scrollDataIndex: number\n    legendId: string\n}\n</code></pre>\n"
+  },
+  "datazoom": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.dataZoom.dataZoom\">dataZoom</a></p>\n<p>Event emitted after zooming data area.</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;datazoom&#39;,\n    // percentage of zoom start position, 0 - 100\n    start: number\n    // percentage of zoom finish position, 0 - 100\n    end: number\n    // data value of zoom start position; only exists in zoom event of triggered by toolbar\n    startValue?: number\n    // data value of zoom fi [...]
+  },
+  "datarangeselected": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.dataRange.selectDataRange\">selectDataRange</a>\nEvent emitted after range is changed in visualMap.</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;datarangeselected&#39;,\n    // continuous visualMap is different from discrete one\n    // continuous visualMap is an array representing range of data values.\n    // discrete visualMap is an object, whose key is category or piece index; value is `true` or `false`\n    selected:  [...]
+  },
+  "timelinechanged": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.timeline.timelineChange\">timelineChange</a>\nEvent emitted after time point in timeline is changed.</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;timelinechanged&#39;,\n    // index of time point\n    currentIndex: number\n}\n</code></pre>\n"
+  },
+  "timelineplaychanged": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.timeline.timelinePlayChange\">timelinePlayChange</a>\nSwitching event of play state in timeline.</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;timelineplaychanged&#39;,\n    // play state, true for auto play\n    playState: boolean\n}\n</code></pre>\n"
+  },
+  "restore": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.toolbox.restore\">restore</a>\nResets option event.</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;restore&#39;\n}\n</code></pre>\n"
+  },
+  "dataviewchanged": {
+    "desc": "<p>Changing event of <a href=\"option.html#toolbox.feature.dataView\" target=\"_blank\">data view tool in toolbox</a>.</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;dataviewchanged&#39;\n}\n</code></pre>\n"
+  },
+  "magictypechanged": {
+    "desc": "<p>Switching event of <a href=\"option.html#toolbox.feature.magicType\" target=\"_blank\">magic type tool in toolbox</a>.</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;magictypechanged&#39;,\n    // click to change current type; same as type attribute in echarts 2.x\n    currentType: string\n}\n</code></pre>\n"
+  },
+  "geoselectchanged": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.geo.geoToggleSelect\">geoToggleSelect</a></p>\n<p>Event emitted after  selecting state changes.</p>\n<p>It will be triggered when user clicks to select.</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;geoselectchanged&#39;,\n    // series ID, can be passed in option\n    seriesId: string\n    // data name\n    name: name,\n    // table of all selected data.\n    selected: Object\n}\n</code></pre>\n<p><strong>Attention: </stro [...]
+  },
+  "geoselected": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.geo.geoSelect\">geoSelect</a></p>\n<p>Event after selecting.</p>\n<p>Use <code class=\"codespan\">dispatchAction</code> can trigger this event, but user clicking this event won&#39;t trigger this (User clicking event please use <a href=\"#events.geoselectchanged\">geoselectchanged</a>).</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;geoselected&#39;,\n    // series ID, can incoming in option\n    seriesId: string\n    // dat [...]
+  },
+  "geounselected": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.geo.geoUnSelect\">geoUnSelect</a></p>\n<p> cancels selected event.</p>\n<p>Use <code class=\"codespan\">dispatchAction</code> will trigger this event, but user clicking won&#39;t trigger it. (For user clicking event, please refer to <a href=\"#events.geoselectchanged\">geoselectchanged</a>).</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;geounselected&#39;,\n    // series ID, can incoming in option\n    seriesId: string\n    [...]
+  },
+  "axisareaselected": {
+    "desc": "<p>Selecting event of range of <a href=\"option.html#parallelAxis\" target=\"_blank\">parallel axis</a>.</p>\n<p>When selecting axis range, the following method can be used to get data indices of currently highlighted lines, which is the list of indices in <code class=\"codespan\">data</code> of <code class=\"codespan\">series</code>.</p>\n<pre><code class=\"lang-javascript\">chart.on(&#39;axisareaselected&#39;, function () {\n    var series1 = chart.getModel().getSeries()[0 [...]
+  },
+  "focusnodeadjacency": {
+    "desc": "<p>Adjacent nodes highlight event in <a href=\"option.html#graph\" target=\"_blank\">graph</a>.</p>\n<p>See <a href=\"#action.graph.focusNodeAdjacency\">focusNodeAdjacency</a>.</p>\n"
+  },
+  "unfocusnodeadjacency": {
+    "desc": "<p>Adjacent nodes reverse-highlight event in <a href=\"option.html#graph\" target=\"_blank\">graph</a>.</p>\n<p>See <a href=\"#action.graph.unfocusNodeAdjacency\">unfocusNodeAdjacency</a>.</p>\n"
+  },
+  "brush": {
+    "desc": "<p>Event triggered after action <a href=\"#action.brush.brush\">brush</a> dispatched.</p>\n"
+  },
+  "brushEnd": {
+    "desc": "<blockquote>\n<p>Since <code class=\"codespan\">v4.5.0</code></p>\n</blockquote>\n<p>Event triggered after action <a href=\"#action.brush.brushEnd\">brushEnd</a> dispatched.</p>\n"
+  },
+  "brushselected": {
+    "desc": "<p>Notice what are selected.</p>\n<p>See <a href=\"option.html#brush\" target=\"_blank\">brush component</a>.</p>\n<p>This event will be triggered when <code class=\"codespan\">dispatchAction</code> called, or use do brush behavior.\nBut this event will not be triggered in <code class=\"codespan\">setOption</code>.</p>\n<p>Properties in this event.</p>\n<pre><code class=\"lang-javascript\">{\n    type: &#39;brushselected&#39;,\n    batch: [\n        {\n            // Id of t [...]
+  },
+  "globalcursortaken": {
+    "desc": "<p>See <a href=\"#action.brush.takeGlobalCursor\">takeGlobalCursor</a>.</p>\n"
+  },
+  "rendered": {
+    "desc": "<p>Trigger when a frame rendered. Notice that the <code class=\"codespan\">rendered</code> event does not indicate that the animation finished (see <a href=\"#animation\">animation</a> and relevant options) or progressive rendering finished (see <a href=\"#series-scatter.progressive\">progressive</a> and relevant options).</p>\n<p>For example:</p>\n<pre><code class=\"lang-js\">var snapshotImage = new Image();\ndocument.body.append(snapshotImage);\nchart.on(&#39;rendered&#39; [...]
+  },
+  "finished": {
+    "desc": "<p>Triggered when render finished, that is, when animation finished (see <a href=\"#animation\">animation</a> and relevant options) and progressive rendering finished (see <a href=\"#series-scatter.progressive\">progressive</a> and relevant options).</p>\n<pre><code class=\"lang-js\">var snapshotImage = new Image();\ndocument.body.append(snapshotImage);\nchart.on(&#39;finished&#39;, function () {\n    snapshotImage.src = chart.getDataURL();\n});\n</code></pre>\n"
+  }
+}
\ No newline at end of file
diff --git a/next/en/documents/api-parts/api.events.json b/next/en/documents/api-parts/api.events.json
new file mode 100644
index 0000000..6ff0d1d
--- /dev/null
+++ b/next/en/documents/api-parts/api.events.json
@@ -0,0 +1,89 @@
+{
+  "Mouse events": {
+    "desc": "<p>Event parameters of mouse events are attributes of event object. The following shows basic parameters for chart click events. Other charts, like pie charts, may have additional parameters like <code class=\"codespan\">percent</code>. Please refer to callback <code class=\"codespan\">params</code> of each chart&#39;s label formatter.</p>\n<pre><code class=\"lang-js\">{\n    // type of the component to which the clicked glyph belongs\n    // i.e., &#39;series&#39;, &#39;mar [...]
+  },
+  "highlight": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.highlight\">highlight</a></p>\n<p>Event of data highlight.</p>\n"
+  },
+  "downplay": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.downplay\">downplay</a></p>\n<p>Event of data downplay.</p>\n"
+  },
+  "selectchanged": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.toggleSelected\">toggleSelected</a>, <a href=\"#action.select\">select</a>, <a href=\"#action.unselect\">unselect</a></p>\n<p>Event emitted when data selection is changed.</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;selectchanged&#39;,\n    fromAction: &#39;select&#39; | &#39;toggleSelected&#39; | &#39;unselect&#39;,\n    // Grouped by series.\n    selected: ({\n        dataIndex: number[], seriesIndex: number\n    })[]\n [...]
+  },
+  "legendselectchanged": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.legend.legendToggleSelect\">legendToggleSelect</a>\nEvent emitted after legend selecting state changes.</p>\n<p><strong>Attention: </strong> This event will be emitted when users toggle legend button in legend component.</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;legendselectchanged&#39;,\n    // change legend name\n    name: string\n    // table of all legend selecting states\n    selected: Object\n}\n</code></pre>\n"
+  },
+  "legendselected": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.legend.legendSelect\">legendSelect</a>\nEvent emitted after legend is selected.</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;legendselected&#39;,\n    // name of selected legend\n    name: string\n    // table of all legend selecting states\n    selected: Object\n}\n</code></pre>\n<p><strong>Attention: </strong> In ECharts 2.x, event related to user switching lengend is now changed from  <code class=\"codespan\">legendsele [...]
+  },
+  "legendunselected": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.legend.legendUnSelect\">legendUnSelect</a>\nEvent emitted after unselecting legend.</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;legendunselected&#39;,\n    // name of unselected legend\n    name: string\n    // table of all legend selecting states\n    selected: Object\n}\n</code></pre>\n"
+  },
+  "legendselectall": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.legend.legendAllSelect\">legendAllSelect</a>\nEvent emitted after all legends are selected.</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;legendselectall&#39;,\n    // table of all legend selecting states\n    selected: Object\n}\n</code></pre>\n"
+  },
+  "legendinverseselect": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.legend.legendInverseSelect\">legendInverseSelect</a>\nEvent emitted after inversing all legends.</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;legendinverseselect&#39;,\n    // table of all legend selecting states\n    selected: Object\n}\n</code></pre>\n"
+  },
+  "legendscroll": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.legend.legendScroll\">legendscroll</a>\nEvent when trigger legend scroll.</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;legendscroll&#39;,\n    scrollDataIndex: number\n    legendId: string\n}\n</code></pre>\n"
+  },
+  "datazoom": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.dataZoom.dataZoom\">dataZoom</a></p>\n<p>Event emitted after zooming data area.</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;datazoom&#39;,\n    // percentage of zoom start position, 0 - 100\n    start: number\n    // percentage of zoom finish position, 0 - 100\n    end: number\n    // data value of zoom start position; only exists in zoom event of triggered by toolbar\n    startValue?: number\n    // data value of zoom fi [...]
+  },
+  "datarangeselected": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.dataRange.selectDataRange\">selectDataRange</a>\nEvent emitted after range is changed in visualMap.</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;datarangeselected&#39;,\n    // continuous visualMap is different from discrete one\n    // continuous visualMap is an array representing range of data values.\n    // discrete visualMap is an object, whose key is category or piece index; value is `true` or `false`\n    selected:  [...]
+  },
+  "timelinechanged": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.timeline.timelineChange\">timelineChange</a>\nEvent emitted after time point in timeline is changed.</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;timelinechanged&#39;,\n    // index of time point\n    currentIndex: number\n}\n</code></pre>\n"
+  },
+  "timelineplaychanged": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.timeline.timelinePlayChange\">timelinePlayChange</a>\nSwitching event of play state in timeline.</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;timelineplaychanged&#39;,\n    // play state, true for auto play\n    playState: boolean\n}\n</code></pre>\n"
+  },
+  "restore": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.toolbox.restore\">restore</a>\nResets option event.</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;restore&#39;\n}\n</code></pre>\n"
+  },
+  "dataviewchanged": {
+    "desc": "<p>Changing event of <a href=\"option.html#toolbox.feature.dataView\" target=\"_blank\">data view tool in toolbox</a>.</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;dataviewchanged&#39;\n}\n</code></pre>\n"
+  },
+  "magictypechanged": {
+    "desc": "<p>Switching event of <a href=\"option.html#toolbox.feature.magicType\" target=\"_blank\">magic type tool in toolbox</a>.</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;magictypechanged&#39;,\n    // click to change current type; same as type attribute in echarts 2.x\n    currentType: string\n}\n</code></pre>\n"
+  },
+  "geoselectchanged": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.geo.geoToggleSelect\">geoToggleSelect</a></p>\n<p>Event emitted after  selecting state changes.</p>\n<p>It will be triggered when user clicks to select.</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;geoselectchanged&#39;,\n    // series ID, can be passed in option\n    seriesId: string\n    // data name\n    name: name,\n    // table of all selected data.\n    selected: Object\n}\n</code></pre>\n<p><strong>Attention: </stro [...]
+  },
+  "geoselected": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.geo.geoSelect\">geoSelect</a></p>\n<p>Event after selecting.</p>\n<p>Use <code class=\"codespan\">dispatchAction</code> can trigger this event, but user clicking this event won&#39;t trigger this (User clicking event please use <a href=\"#events.geoselectchanged\">geoselectchanged</a>).</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;geoselected&#39;,\n    // series ID, can incoming in option\n    seriesId: string\n    // dat [...]
+  },
+  "geounselected": {
+    "desc": "<p><strong>ACTION:</strong> <a href=\"#action.geo.geoUnSelect\">geoUnSelect</a></p>\n<p> cancels selected event.</p>\n<p>Use <code class=\"codespan\">dispatchAction</code> will trigger this event, but user clicking won&#39;t trigger it. (For user clicking event, please refer to <a href=\"#events.geoselectchanged\">geoselectchanged</a>).</p>\n<pre><code class=\"lang-js\">{\n    type: &#39;geounselected&#39;,\n    // series ID, can incoming in option\n    seriesId: string\n    [...]
+  },
+  "axisareaselected": {
+    "desc": "<p>Selecting event of range of <a href=\"option.html#parallelAxis\" target=\"_blank\">parallel axis</a>.</p>\n<p>When selecting axis range, the following method can be used to get data indices of currently highlighted lines, which is the list of indices in <code class=\"codespan\">data</code> of <code class=\"codespan\">series</code>.</p>\n<pre><code class=\"lang-javascript\">chart.on(&#39;axisareaselected&#39;, function () {\n    var series1 = chart.getModel().getSeries()[0 [...]
+  },
+  "focusnodeadjacency": {
+    "desc": "<p>Adjacent nodes highlight event in <a href=\"option.html#graph\" target=\"_blank\">graph</a>.</p>\n<p>See <a href=\"#action.graph.focusNodeAdjacency\">focusNodeAdjacency</a>.</p>\n"
+  },
+  "unfocusnodeadjacency": {
+    "desc": "<p>Adjacent nodes reverse-highlight event in <a href=\"option.html#graph\" target=\"_blank\">graph</a>.</p>\n<p>See <a href=\"#action.graph.unfocusNodeAdjacency\">unfocusNodeAdjacency</a>.</p>\n"
+  },
+  "brush": {
+    "desc": "<p>Event triggered after action <a href=\"#action.brush.brush\">brush</a> dispatched.</p>\n"
+  },
+  "brushEnd": {
+    "desc": "<blockquote>\n<p>Since <code class=\"codespan\">v4.5.0</code></p>\n</blockquote>\n<p>Event triggered after action <a href=\"#action.brush.brushEnd\">brushEnd</a> dispatched.</p>\n"
+  },
+  "brushselected": {
+    "desc": "<p>Notice what are selected.</p>\n<p>See <a href=\"option.html#brush\" target=\"_blank\">brush component</a>.</p>\n<p>This event will be triggered when <code class=\"codespan\">dispatchAction</code> called, or use do brush behavior.\nBut this event will not be triggered in <code class=\"codespan\">setOption</code>.</p>\n<p>Properties in this event.</p>\n<pre><code class=\"lang-javascript\">{\n    type: &#39;brushselected&#39;,\n    batch: [\n        {\n            // Id of t [...]
+  },
+  "globalcursortaken": {
+    "desc": "<p>See <a href=\"#action.brush.takeGlobalCursor\">takeGlobalCursor</a>.</p>\n"
+  },
+  "rendered": {
+    "desc": "<p>Trigger when a frame rendered. Notice that the <code class=\"codespan\">rendered</code> event does not indicate that the animation finished (see <a href=\"#animation\">animation</a> and relevant options) or progressive rendering finished (see <a href=\"#series-scatter.progressive\">progressive</a> and relevant options).</p>\n<p>For example:</p>\n<pre><code class=\"lang-js\">var snapshotImage = new Image();\ndocument.body.append(snapshotImage);\nchart.on(&#39;rendered&#39; [...]
+  },
+  "finished": {
+    "desc": "<p>Triggered when render finished, that is, when animation finished (see <a href=\"#animation\">animation</a> and relevant options) and progressive rendering finished (see <a href=\"#series-scatter.progressive\">progressive</a> and relevant options).</p>\n<pre><code class=\"lang-js\">var snapshotImage = new Image();\ndocument.body.append(snapshotImage);\nchart.on(&#39;finished&#39;, function () {\n    snapshotImage.src = chart.getDataURL();\n});\n</code></pre>\n"
+  }
+}
\ No newline at end of file
diff --git a/next/en/documents/api-parts/api.js b/next/en/documents/api-parts/api.js
new file mode 100644
index 0000000..65146fe
--- /dev/null
+++ b/next/en/documents/api-parts/api.js
@@ -0,0 +1,14 @@
+window.__EC_DOC_api = {
+  "echarts": {
+    "desc": "<p>Global echarts object, which can be accessed after including <code class=\"codespan\">echarts.js</code> in script tag or through <code class=\"codespan\">require(&#39;echarts&#39;)</code> in AMD environment.</p>\n"
+  },
+  "echartsInstance": {
+    "desc": "<p>Instance created through <a href=\"#echarts.init\">echarts.init</a>.</p>\n"
+  },
+  "action": {
+    "desc": "<p>Chart actions supported by ECharts are triggered through <a href=\"#echartsInstance.dispatchAction\">dispatchAction</a>.</p>\n<p><strong>Attention: </strong> The <code class=\"codespan\">?:</code> note in the code shows that this attribute is optional. <em>EVENT:</em> stands for the event that triggers action.</p>\n"
+  },
+  "events": {
+    "desc": "<p>Event-handling functions are mainly added through <a href=\"#echartsInstance.on\">on</a> in ECharts. This document describes all event list in ECharts.</p>\n<p>Event in ECharts can be divided in two kinds. One is mouse event, which is triggered when mouse clicks on certain component, the other is triggered after dispatches <a href=\"#echartsInstance.dispatchAction\">dispatchAction</a>.</p>\n<p><strong>For example:</strong></p>\n<pre><code class=\"lang-js\">myChart.on(&#39 [...]
+  }
+}
\ No newline at end of file
diff --git a/next/en/documents/api-parts/api.json b/next/en/documents/api-parts/api.json
new file mode 100644
index 0000000..d77fb52
--- /dev/null
+++ b/next/en/documents/api-parts/api.json
@@ -0,0 +1,14 @@
+{
+  "echarts": {
+    "desc": "<p>Global echarts object, which can be accessed after including <code class=\"codespan\">echarts.js</code> in script tag or through <code class=\"codespan\">require(&#39;echarts&#39;)</code> in AMD environment.</p>\n"
+  },
+  "echartsInstance": {
+    "desc": "<p>Instance created through <a href=\"#echarts.init\">echarts.init</a>.</p>\n"
+  },
+  "action": {
+    "desc": "<p>Chart actions supported by ECharts are triggered through <a href=\"#echartsInstance.dispatchAction\">dispatchAction</a>.</p>\n<p><strong>Attention: </strong> The <code class=\"codespan\">?:</code> note in the code shows that this attribute is optional. <em>EVENT:</em> stands for the event that triggers action.</p>\n"
+  },
+  "events": {
+    "desc": "<p>Event-handling functions are mainly added through <a href=\"#echartsInstance.on\">on</a> in ECharts. This document describes all event list in ECharts.</p>\n<p>Event in ECharts can be divided in two kinds. One is mouse event, which is triggered when mouse clicks on certain component, the other is triggered after dispatches <a href=\"#echartsInstance.dispatchAction\">dispatchAction</a>.</p>\n<p><strong>For example:</strong></p>\n<pre><code class=\"lang-js\">myChart.on(&#39 [...]
+  }
+}
\ No newline at end of file
diff --git a/next/en/documents/api.json b/next/en/documents/api.json
new file mode 100644
index 0000000..9e778c7
--- /dev/null
+++ b/next/en/documents/api.json
@@ -0,0 +1 @@
+{"$schema":"https://echarts.apache.org/doc/json-schem","option":{"type":"Object","properties":{"echarts":{"type":["Object"],"description":"<p>Global echarts object, which can be accessed after including <code class=\"codespan\">echarts.js</code> in script tag or through <code class=\"codespan\">require(&#39;echarts&#39;)</code> in AMD environment.</p>\n","properties":{"init":{"type":["Function"],"description":"<pre><code class=\"lang-js\">(dom: HTMLDivElement|HTMLCanvasElement, theme?: O [...]
\ No newline at end of file
diff --git a/next/en/documents/asset/gl/img/alpha-beta.sketch b/next/en/documents/asset/gl/img/alpha-beta.sketch
new file mode 100644
index 0000000..f55c7e7
Binary files /dev/null and b/next/en/documents/asset/gl/img/alpha-beta.sketch differ
diff --git a/next/en/documents/asset/gl/img/bar3D-bevel.png b/next/en/documents/asset/gl/img/bar3D-bevel.png
new file mode 100644
index 0000000..184736a
Binary files /dev/null and b/next/en/documents/asset/gl/img/bar3D-bevel.png differ
diff --git a/next/en/documents/asset/gl/img/bar3D-no-bevel.png b/next/en/documents/asset/gl/img/bar3D-no-bevel.png
new file mode 100644
index 0000000..0c091e4
Binary files /dev/null and b/next/en/documents/asset/gl/img/bar3D-no-bevel.png differ
diff --git a/next/en/documents/asset/gl/img/buildings-cold.jpg b/next/en/documents/asset/gl/img/buildings-cold.jpg
new file mode 100644
index 0000000..0544e8f
Binary files /dev/null and b/next/en/documents/asset/gl/img/buildings-cold.jpg differ
diff --git a/next/en/documents/asset/gl/img/buildings-warm.jpg b/next/en/documents/asset/gl/img/buildings-warm.jpg
new file mode 100644
index 0000000..10ac3c7
Binary files /dev/null and b/next/en/documents/asset/gl/img/buildings-warm.jpg differ
diff --git a/next/en/documents/asset/gl/img/city-region-height.jpg b/next/en/documents/asset/gl/img/city-region-height.jpg
new file mode 100644
index 0000000..cba9419
Binary files /dev/null and b/next/en/documents/asset/gl/img/city-region-height.jpg differ
diff --git a/next/en/documents/asset/gl/img/crispwinter.png b/next/en/documents/asset/gl/img/crispwinter.png
new file mode 100644
index 0000000..17a31fe
Binary files /dev/null and b/next/en/documents/asset/gl/img/crispwinter.png differ
diff --git a/next/en/documents/asset/gl/img/displacement-disable.png b/next/en/documents/asset/gl/img/displacement-disable.png
new file mode 100644
index 0000000..4cfdf6d
Binary files /dev/null and b/next/en/documents/asset/gl/img/displacement-disable.png differ
diff --git a/next/en/documents/asset/gl/img/displacement-enable.png b/next/en/documents/asset/gl/img/displacement-enable.png
new file mode 100644
index 0000000..5497d9f
Binary files /dev/null and b/next/en/documents/asset/gl/img/displacement-enable.png differ
diff --git a/next/en/documents/asset/gl/img/displacement-low.png b/next/en/documents/asset/gl/img/displacement-low.png
new file mode 100644
index 0000000..3070548
Binary files /dev/null and b/next/en/documents/asset/gl/img/displacement-low.png differ
diff --git a/next/en/documents/asset/gl/img/displacement-ultra.png b/next/en/documents/asset/gl/img/displacement-ultra.png
new file mode 100644
index 0000000..88957bd
Binary files /dev/null and b/next/en/documents/asset/gl/img/displacement-ultra.png differ
diff --git a/next/en/documents/asset/gl/img/flowGL-line.jpg b/next/en/documents/asset/gl/img/flowGL-line.jpg
new file mode 100644
index 0000000..b4f9a8b
Binary files /dev/null and b/next/en/documents/asset/gl/img/flowGL-line.jpg differ
diff --git a/next/en/documents/asset/gl/img/flowGL-noss.jpg b/next/en/documents/asset/gl/img/flowGL-noss.jpg
new file mode 100644
index 0000000..63c6150
Binary files /dev/null and b/next/en/documents/asset/gl/img/flowGL-noss.jpg differ
diff --git a/next/en/documents/asset/gl/img/flowGL-point.jpg b/next/en/documents/asset/gl/img/flowGL-point.jpg
new file mode 100644
index 0000000..efca5bb
Binary files /dev/null and b/next/en/documents/asset/gl/img/flowGL-point.jpg differ
diff --git a/next/en/documents/asset/gl/img/flowGL-ss.jpg b/next/en/documents/asset/gl/img/flowGL-ss.jpg
new file mode 100644
index 0000000..e5e129b
Binary files /dev/null and b/next/en/documents/asset/gl/img/flowGL-ss.jpg differ
diff --git a/next/en/documents/asset/gl/img/flowGL-wind.jpg b/next/en/documents/asset/gl/img/flowGL-wind.jpg
new file mode 100644
index 0000000..c3f2b38
Binary files /dev/null and b/next/en/documents/asset/gl/img/flowGL-wind.jpg differ
diff --git a/next/en/documents/asset/gl/img/geo-bar3D.jpg b/next/en/documents/asset/gl/img/geo-bar3D.jpg
new file mode 100644
index 0000000..b5e87f7
Binary files /dev/null and b/next/en/documents/asset/gl/img/geo-bar3D.jpg differ
diff --git a/next/en/documents/asset/gl/img/geo-border.png b/next/en/documents/asset/gl/img/geo-border.png
new file mode 100644
index 0000000..f0a387e
Binary files /dev/null and b/next/en/documents/asset/gl/img/geo-border.png differ
diff --git a/next/en/documents/asset/gl/img/geo-dof-large.png b/next/en/documents/asset/gl/img/geo-dof-large.png
new file mode 100644
index 0000000..de000ee
Binary files /dev/null and b/next/en/documents/asset/gl/img/geo-dof-large.png differ
diff --git a/next/en/documents/asset/gl/img/geo-dof-small.png b/next/en/documents/asset/gl/img/geo-dof-small.png
new file mode 100644
index 0000000..9da1426
Binary files /dev/null and b/next/en/documents/asset/gl/img/geo-dof-small.png differ
diff --git a/next/en/documents/asset/gl/img/geo-dof.png b/next/en/documents/asset/gl/img/geo-dof.png
new file mode 100644
index 0000000..19c6d23
Binary files /dev/null and b/next/en/documents/asset/gl/img/geo-dof.png differ
diff --git a/next/en/documents/asset/gl/img/geo-no-dof.png b/next/en/documents/asset/gl/img/geo-no-dof.png
new file mode 100644
index 0000000..da6c472
Binary files /dev/null and b/next/en/documents/asset/gl/img/geo-no-dof.png differ
diff --git a/next/en/documents/asset/gl/img/geo-no-shadow.png b/next/en/documents/asset/gl/img/geo-no-shadow.png
new file mode 100644
index 0000000..a80574b
Binary files /dev/null and b/next/en/documents/asset/gl/img/geo-no-shadow.png differ
diff --git a/next/en/documents/asset/gl/img/geo-no-ssao.png b/next/en/documents/asset/gl/img/geo-no-ssao.png
new file mode 100644
index 0000000..9c0b001
Binary files /dev/null and b/next/en/documents/asset/gl/img/geo-no-ssao.png differ
diff --git a/next/en/documents/asset/gl/img/geo-shadow-high.png b/next/en/documents/asset/gl/img/geo-shadow-high.png
new file mode 100644
index 0000000..8d161fe
Binary files /dev/null and b/next/en/documents/asset/gl/img/geo-shadow-high.png differ
diff --git a/next/en/documents/asset/gl/img/geo-shadow-low.png b/next/en/documents/asset/gl/img/geo-shadow-low.png
new file mode 100644
index 0000000..b0d67f9
Binary files /dev/null and b/next/en/documents/asset/gl/img/geo-shadow-low.png differ
diff --git a/next/en/documents/asset/gl/img/geo-shadow.png b/next/en/documents/asset/gl/img/geo-shadow.png
new file mode 100644
index 0000000..7a1a66e
Binary files /dev/null and b/next/en/documents/asset/gl/img/geo-shadow.png differ
diff --git a/next/en/documents/asset/gl/img/geo-size.png b/next/en/documents/asset/gl/img/geo-size.png
new file mode 100644
index 0000000..cffd2fe
Binary files /dev/null and b/next/en/documents/asset/gl/img/geo-size.png differ
diff --git a/next/en/documents/asset/gl/img/geo-size.sketch b/next/en/documents/asset/gl/img/geo-size.sketch
new file mode 100644
index 0000000..8b5f83c
Binary files /dev/null and b/next/en/documents/asset/gl/img/geo-size.sketch differ
diff --git a/next/en/documents/asset/gl/img/geo-ssao-large-radius.png b/next/en/documents/asset/gl/img/geo-ssao-large-radius.png
new file mode 100644
index 0000000..44e799c
Binary files /dev/null and b/next/en/documents/asset/gl/img/geo-ssao-large-radius.png differ
diff --git a/next/en/documents/asset/gl/img/geo-ssao-small-radius.png b/next/en/documents/asset/gl/img/geo-ssao-small-radius.png
new file mode 100644
index 0000000..9fa0a52
Binary files /dev/null and b/next/en/documents/asset/gl/img/geo-ssao-small-radius.png differ
diff --git a/next/en/documents/asset/gl/img/geo-ssao.png b/next/en/documents/asset/gl/img/geo-ssao.png
new file mode 100644
index 0000000..a59b30d
Binary files /dev/null and b/next/en/documents/asset/gl/img/geo-ssao.png differ
diff --git a/next/en/documents/asset/gl/img/globe-airline.png b/next/en/documents/asset/gl/img/globe-airline.png
new file mode 100644
index 0000000..99bb031
Binary files /dev/null and b/next/en/documents/asset/gl/img/globe-airline.png differ
diff --git a/next/en/documents/asset/gl/img/globe-gloss.png b/next/en/documents/asset/gl/img/globe-gloss.png
new file mode 100644
index 0000000..f5bf666
Binary files /dev/null and b/next/en/documents/asset/gl/img/globe-gloss.png differ
diff --git a/next/en/documents/asset/gl/img/globe-metal.png b/next/en/documents/asset/gl/img/globe-metal.png
new file mode 100644
index 0000000..3baa3d1
Binary files /dev/null and b/next/en/documents/asset/gl/img/globe-metal.png differ
diff --git a/next/en/documents/asset/gl/img/globe-non-metal.png b/next/en/documents/asset/gl/img/globe-non-metal.png
new file mode 100644
index 0000000..49c64fb
Binary files /dev/null and b/next/en/documents/asset/gl/img/globe-non-metal.png differ
diff --git a/next/en/documents/asset/gl/img/globe-posteffect-bloom.png b/next/en/documents/asset/gl/img/globe-posteffect-bloom.png
new file mode 100644
index 0000000..a1ab2f5
Binary files /dev/null and b/next/en/documents/asset/gl/img/globe-posteffect-bloom.png differ
diff --git a/next/en/documents/asset/gl/img/globe-posteffect-disable.png b/next/en/documents/asset/gl/img/globe-posteffect-disable.png
new file mode 100644
index 0000000..34bbfb7
Binary files /dev/null and b/next/en/documents/asset/gl/img/globe-posteffect-disable.png differ
diff --git a/next/en/documents/asset/gl/img/globe-posteffect-enable.png b/next/en/documents/asset/gl/img/globe-posteffect-enable.png
new file mode 100644
index 0000000..d326ded
Binary files /dev/null and b/next/en/documents/asset/gl/img/globe-posteffect-enable.png differ
diff --git a/next/en/documents/asset/gl/img/globe-rough.png b/next/en/documents/asset/gl/img/globe-rough.png
new file mode 100644
index 0000000..239daee
Binary files /dev/null and b/next/en/documents/asset/gl/img/globe-rough.png differ
diff --git a/next/en/documents/asset/gl/img/globe-shading-color.png b/next/en/documents/asset/gl/img/globe-shading-color.png
new file mode 100644
index 0000000..c86a20e
Binary files /dev/null and b/next/en/documents/asset/gl/img/globe-shading-color.png differ
diff --git a/next/en/documents/asset/gl/img/globe-shading-lambert.png b/next/en/documents/asset/gl/img/globe-shading-lambert.png
new file mode 100644
index 0000000..b0c5469
Binary files /dev/null and b/next/en/documents/asset/gl/img/globe-shading-lambert.png differ
diff --git a/next/en/documents/asset/gl/img/globe-shading-realistic.png b/next/en/documents/asset/gl/img/globe-shading-realistic.png
new file mode 100644
index 0000000..67080d6
Binary files /dev/null and b/next/en/documents/asset/gl/img/globe-shading-realistic.png differ
diff --git a/next/en/documents/asset/gl/img/gpu-layout-perf.png b/next/en/documents/asset/gl/img/gpu-layout-perf.png
new file mode 100644
index 0000000..3d07eae
Binary files /dev/null and b/next/en/documents/asset/gl/img/gpu-layout-perf.png differ
diff --git a/next/en/documents/asset/gl/img/grid3D.png b/next/en/documents/asset/gl/img/grid3D.png
new file mode 100644
index 0000000..45e97f7
Binary files /dev/null and b/next/en/documents/asset/gl/img/grid3D.png differ
diff --git a/next/en/documents/asset/gl/img/grid3D.sketch b/next/en/documents/asset/gl/img/grid3D.sketch
new file mode 100644
index 0000000..55095cc
Binary files /dev/null and b/next/en/documents/asset/gl/img/grid3D.sketch differ
diff --git a/next/en/documents/asset/gl/img/heightmap-disable.png b/next/en/documents/asset/gl/img/heightmap-disable.png
new file mode 100644
index 0000000..a77caf9
Binary files /dev/null and b/next/en/documents/asset/gl/img/heightmap-disable.png differ
diff --git a/next/en/documents/asset/gl/img/heightmap-enable.png b/next/en/documents/asset/gl/img/heightmap-enable.png
new file mode 100644
index 0000000..7d235ad
Binary files /dev/null and b/next/en/documents/asset/gl/img/heightmap-enable.png differ
diff --git a/next/en/documents/asset/gl/img/light-alpha-beta.png b/next/en/documents/asset/gl/img/light-alpha-beta.png
new file mode 100644
index 0000000..a5faad2
Binary files /dev/null and b/next/en/documents/asset/gl/img/light-alpha-beta.png differ
diff --git a/next/en/documents/asset/gl/img/line3D.png b/next/en/documents/asset/gl/img/line3D.png
new file mode 100644
index 0000000..a15ecfe
Binary files /dev/null and b/next/en/documents/asset/gl/img/line3D.png differ
diff --git a/next/en/documents/asset/gl/img/lookup.png b/next/en/documents/asset/gl/img/lookup.png
new file mode 100644
index 0000000..ed814df
Binary files /dev/null and b/next/en/documents/asset/gl/img/lookup.png differ
diff --git a/next/en/documents/asset/gl/img/parametric-surface.png b/next/en/documents/asset/gl/img/parametric-surface.png
new file mode 100644
index 0000000..f7033a7
Binary files /dev/null and b/next/en/documents/asset/gl/img/parametric-surface.png differ
diff --git a/next/en/documents/asset/gl/img/polygons3D-ny.jpg b/next/en/documents/asset/gl/img/polygons3D-ny.jpg
new file mode 100644
index 0000000..f053fa0
Binary files /dev/null and b/next/en/documents/asset/gl/img/polygons3D-ny.jpg differ
diff --git a/next/en/documents/asset/gl/img/roughness.png b/next/en/documents/asset/gl/img/roughness.png
new file mode 100644
index 0000000..76eb955
Binary files /dev/null and b/next/en/documents/asset/gl/img/roughness.png differ
diff --git a/next/en/documents/asset/gl/img/scatter3D.png b/next/en/documents/asset/gl/img/scatter3D.png
new file mode 100644
index 0000000..0972ec5
Binary files /dev/null and b/next/en/documents/asset/gl/img/scatter3D.png differ
diff --git a/next/en/documents/asset/gl/img/surface-index.png b/next/en/documents/asset/gl/img/surface-index.png
new file mode 100644
index 0000000..5c342d4
Binary files /dev/null and b/next/en/documents/asset/gl/img/surface-index.png differ
diff --git a/next/en/documents/asset/gl/img/surface-index.sketch b/next/en/documents/asset/gl/img/surface-index.sketch
new file mode 100644
index 0000000..2a7b185
Binary files /dev/null and b/next/en/documents/asset/gl/img/surface-index.sketch differ
diff --git a/next/en/documents/asset/gl/img/surface-no-taa.png b/next/en/documents/asset/gl/img/surface-no-taa.png
new file mode 100644
index 0000000..390e448
Binary files /dev/null and b/next/en/documents/asset/gl/img/surface-no-taa.png differ
diff --git a/next/en/documents/asset/gl/img/surface-taa.png b/next/en/documents/asset/gl/img/surface-taa.png
new file mode 100644
index 0000000..e3f1676
Binary files /dev/null and b/next/en/documents/asset/gl/img/surface-taa.png differ
diff --git a/next/en/documents/asset/gl/img/view-alpha-beta.png b/next/en/documents/asset/gl/img/view-alpha-beta.png
new file mode 100644
index 0000000..1199994
Binary files /dev/null and b/next/en/documents/asset/gl/img/view-alpha-beta.png differ
diff --git a/next/en/documents/asset/img/aria-example.png b/next/en/documents/asset/img/aria-example.png
new file mode 100644
index 0000000..79c8b77
Binary files /dev/null and b/next/en/documents/asset/img/aria-example.png differ
diff --git a/next/en/documents/asset/img/axis-align-with-label.png b/next/en/documents/asset/img/axis-align-with-label.png
new file mode 100644
index 0000000..e5ec04e
Binary files /dev/null and b/next/en/documents/asset/img/axis-align-with-label.png differ
diff --git a/next/en/documents/asset/img/basic-concepts-overview/components.jpg b/next/en/documents/asset/img/basic-concepts-overview/components.jpg
new file mode 100644
index 0000000..21a6788
Binary files /dev/null and b/next/en/documents/asset/img/basic-concepts-overview/components.jpg differ
diff --git a/next/en/documents/asset/img/basic-concepts-overview/coord-sys-0.jpg b/next/en/documents/asset/img/basic-concepts-overview/coord-sys-0.jpg
new file mode 100644
index 0000000..be9e808
Binary files /dev/null and b/next/en/documents/asset/img/basic-concepts-overview/coord-sys-0.jpg differ
diff --git a/next/en/documents/asset/img/basic-concepts-overview/coord-sys-1.jpg b/next/en/documents/asset/img/basic-concepts-overview/coord-sys-1.jpg
new file mode 100644
index 0000000..9f1ccde
Binary files /dev/null and b/next/en/documents/asset/img/basic-concepts-overview/coord-sys-1.jpg differ
diff --git a/next/en/documents/asset/img/basic-concepts-overview/coord-sys-2.jpg b/next/en/documents/asset/img/basic-concepts-overview/coord-sys-2.jpg
new file mode 100644
index 0000000..d01d249
Binary files /dev/null and b/next/en/documents/asset/img/basic-concepts-overview/coord-sys-2.jpg differ
diff --git a/next/en/documents/asset/img/basic-concepts-overview/locate.jpg b/next/en/documents/asset/img/basic-concepts-overview/locate.jpg
new file mode 100644
index 0000000..0c03d09
Binary files /dev/null and b/next/en/documents/asset/img/basic-concepts-overview/locate.jpg differ
diff --git a/next/en/documents/asset/img/basic-concepts-overview/multiple-ec-instance.jpg b/next/en/documents/asset/img/basic-concepts-overview/multiple-ec-instance.jpg
new file mode 100644
index 0000000..912a80f
Binary files /dev/null and b/next/en/documents/asset/img/basic-concepts-overview/multiple-ec-instance.jpg differ
diff --git a/next/en/documents/asset/img/basic-concepts-overview/series-all-a.jpg b/next/en/documents/asset/img/basic-concepts-overview/series-all-a.jpg
new file mode 100644
index 0000000..f76eee7
Binary files /dev/null and b/next/en/documents/asset/img/basic-concepts-overview/series-all-a.jpg differ
diff --git a/next/en/documents/asset/img/basic-concepts-overview/series-all-b.jpg b/next/en/documents/asset/img/basic-concepts-overview/series-all-b.jpg
new file mode 100644
index 0000000..bb9b133
Binary files /dev/null and b/next/en/documents/asset/img/basic-concepts-overview/series-all-b.jpg differ
diff --git a/next/en/documents/asset/img/custom-build-line.png b/next/en/documents/asset/img/custom-build-line.png
new file mode 100644
index 0000000..8b16a79
Binary files /dev/null and b/next/en/documents/asset/img/custom-build-line.png differ
diff --git a/next/en/documents/asset/img/custom-build-pie.png b/next/en/documents/asset/img/custom-build-pie.png
new file mode 100644
index 0000000..041aeb5
Binary files /dev/null and b/next/en/documents/asset/img/custom-build-pie.png differ
diff --git a/next/en/documents/asset/img/dataZoom-zone.png b/next/en/documents/asset/img/dataZoom-zone.png
new file mode 100644
index 0000000..3f6f71b
Binary files /dev/null and b/next/en/documents/asset/img/dataZoom-zone.png differ
diff --git a/next/en/documents/asset/img/echarts-aria.jpg b/next/en/documents/asset/img/echarts-aria.jpg
new file mode 100644
index 0000000..f654c23
Binary files /dev/null and b/next/en/documents/asset/img/echarts-aria.jpg differ
diff --git a/next/en/documents/asset/img/gl/bar3D-2d-data.png b/next/en/documents/asset/img/gl/bar3D-2d-data.png
new file mode 100644
index 0000000..65a591a
Binary files /dev/null and b/next/en/documents/asset/img/gl/bar3D-2d-data.png differ
diff --git a/next/en/documents/asset/img/gl/bar3D.png b/next/en/documents/asset/img/gl/bar3D.png
new file mode 100644
index 0000000..7f8b504
Binary files /dev/null and b/next/en/documents/asset/img/gl/bar3D.png differ
diff --git a/next/en/documents/asset/img/gl/grid3D-basic.png b/next/en/documents/asset/img/gl/grid3D-basic.png
new file mode 100644
index 0000000..170046c
Binary files /dev/null and b/next/en/documents/asset/img/gl/grid3D-basic.png differ
diff --git a/next/en/documents/asset/img/gl/scatter3D-color.png b/next/en/documents/asset/img/gl/scatter3D-color.png
new file mode 100644
index 0000000..99a00e8
Binary files /dev/null and b/next/en/documents/asset/img/gl/scatter3D-color.png differ
diff --git a/next/en/documents/asset/img/gl/scatter3D-gaussian.png b/next/en/documents/asset/img/gl/scatter3D-gaussian.png
new file mode 100644
index 0000000..652734e
Binary files /dev/null and b/next/en/documents/asset/img/gl/scatter3D-gaussian.png differ
diff --git a/next/en/documents/asset/img/gl/scatter3D-life.png b/next/en/documents/asset/img/gl/scatter3D-life.png
new file mode 100644
index 0000000..9a31b4b
Binary files /dev/null and b/next/en/documents/asset/img/gl/scatter3D-life.png differ
diff --git a/next/en/documents/asset/img/gl/scatter3D-life2.png b/next/en/documents/asset/img/gl/scatter3D-life2.png
new file mode 100644
index 0000000..4b3e8db
Binary files /dev/null and b/next/en/documents/asset/img/gl/scatter3D-life2.png differ
diff --git a/next/en/documents/asset/img/gl/surface.png b/next/en/documents/asset/img/gl/surface.png
new file mode 100644
index 0000000..adf4cc2
Binary files /dev/null and b/next/en/documents/asset/img/gl/surface.png differ
diff --git a/next/en/documents/asset/img/smooth-algorithm.png b/next/en/documents/asset/img/smooth-algorithm.png
new file mode 100644
index 0000000..8f322dc
Binary files /dev/null and b/next/en/documents/asset/img/smooth-algorithm.png differ
diff --git a/next/en/documents/asset/img/smooth-monotone-none.png b/next/en/documents/asset/img/smooth-monotone-none.png
new file mode 100644
index 0000000..c620225
Binary files /dev/null and b/next/en/documents/asset/img/smooth-monotone-none.png differ
diff --git a/next/en/documents/asset/img/smooth-monotone-x.png b/next/en/documents/asset/img/smooth-monotone-x.png
new file mode 100644
index 0000000..0cc3025
Binary files /dev/null and b/next/en/documents/asset/img/smooth-monotone-x.png differ
diff --git a/next/en/documents/asset/img/smooth-non-monotone-x.png b/next/en/documents/asset/img/smooth-non-monotone-x.png
new file mode 100644
index 0000000..4d520e2
Binary files /dev/null and b/next/en/documents/asset/img/smooth-non-monotone-x.png differ
diff --git a/next/en/documents/asset/img/smooth-old-problem.png b/next/en/documents/asset/img/smooth-old-problem.png
new file mode 100644
index 0000000..f0a7796
Binary files /dev/null and b/next/en/documents/asset/img/smooth-old-problem.png differ
diff --git a/next/en/documents/asset/img/smooth-old-vs-new.png b/next/en/documents/asset/img/smooth-old-vs-new.png
new file mode 100644
index 0000000..3f47e50
Binary files /dev/null and b/next/en/documents/asset/img/smooth-old-vs-new.png differ
diff --git a/next/en/documents/asset/img/treemap-border-gap.png b/next/en/documents/asset/img/treemap-border-gap.png
new file mode 100644
index 0000000..e754562
Binary files /dev/null and b/next/en/documents/asset/img/treemap-border-gap.png differ
diff --git a/next/en/documents/option-gl-parts/option-gl-outline.js b/next/en/documents/option-gl-parts/option-gl-outline.js
new file mode 100644
index 0000000..663af18
--- /dev/null
+++ b/next/en/documents/option-gl-parts/option-gl-outline.js
@@ -0,0 +1 @@
+window.__EC_DOC_option_gl_outline = {"children":[{"type":"Object","isObject":true,"prop":"globe","children":[{"default":true,"prop":"show"},{"default":-10,"prop":"zlevel"},{"type":["string","number"],"default":"auto","prop":"left"},{"type":["string","number"],"default":"auto","prop":"top"},{"type":["string","number"],"default":"auto","prop":"right"},{"type":["string","number"],"default":"auto","prop":"bottom"},{"type":["string","number"],"default":"auto","prop":"width"},{"type":["string" [...]
\ No newline at end of file
diff --git a/next/en/documents/option-gl-parts/option-gl-outline.json b/next/en/documents/option-gl-parts/option-gl-outline.json
new file mode 100644
index 0000000..383c8c2
--- /dev/null
+++ b/next/en/documents/option-gl-parts/option-gl-outline.json
@@ -0,0 +1 @@
+{"children":[{"type":"Object","isObject":true,"prop":"globe","children":[{"default":true,"prop":"show"},{"default":-10,"prop":"zlevel"},{"type":["string","number"],"default":"auto","prop":"left"},{"type":["string","number"],"default":"auto","prop":"top"},{"type":["string","number"],"default":"auto","prop":"right"},{"type":["string","number"],"default":"auto","prop":"bottom"},{"type":["string","number"],"default":"auto","prop":"width"},{"type":["string","number"],"default":"auto","prop":" [...]
\ No newline at end of file
diff --git a/next/en/documents/option-gl-parts/option-gl.geo3D.js b/next/en/documents/option-gl-parts/option-gl.geo3D.js
new file mode 100644
index 0000000..e3aaec3
--- /dev/null
+++ b/next/en/documents/option-gl-parts/option-gl.geo3D.js
@@ -0,0 +1,512 @@
+window.__EC_DOC_option_gl_geo3D = {
+  "show": {
+    "desc": "<p>Whether to display 3D geographic coordinate system components.</p>\n"
+  },
+  "map": {
+    "desc": "<p>The map type. The map type used in ECharts-gl is the same as the <a href=\"http://echarts.baidu.com/option.html#geo.map\" target=\"_blank\">geo</a> component.</p>\n<p>You can download the required map file in the <a href=\"http://ecomfe.github.io/echarts-builder-web/map3.html\" target=\"_blank\">Map Download Interface</a>, then to import and register it into ECharts.</p>\n<p>EChart provides map data in two formats. One is the JS file that can be imported directly through  [...]
+  },
+  "boxWidth": {
+    "desc": "<p>A 3D geographic coordinate system component width in a 3D scene. With <a href=\"#geo3D.viewControl.distance\">viewControl.distance</a> you can get the most appropriate display size.</p>\n<p>The following image is a schematic diagram of <code class=\"codespan\">boxWidth</code>, <code class=\"codespan\">boxHeight</code>, <code class=\"codespan\">boxDepth</code>, <code class=\"codespan\">regionHeight</code> in A 3D geographic coordinate system component.</p>\n<p><img width=\ [...]
+  },
+  "boxHeight": {
+    "desc": "<p>A 3D geographic coordinate system component height in a 3D scene.</p>\n<p>Component height. This height contains the height of the bar and scatter on a 3D map.</p>\n"
+  },
+  "boxDepth": {
+    "desc": "<p>A 3D geographic coordinate system component depth in a 3D scene.</p>\n<p>The component depth defaults to automatic, ensuring that the scale of the 3D component is the same as the ratio of the input GeoJSON.</p>\n"
+  },
+  "regionHeight": {
+    "desc": "<p>The height of each area of the 3D map. This height is the height of the model, less than <a href=\"#geo3D.boxHeight\">boxHeight</a>. <code class=\"codespan\">boxHeight - regionHeight</code> will be used for the display of 3D bar, 3D scatter, and etc.</p>\n"
+  },
+  "environment": {
+    "desc": "<p>Environment map. Support for solid colors, gradual colors, URL of panoramic texture. The default is <code class=\"codespan\">&#39;auto&#39;</code>, which is used as the environment texture when <a href=\"#geo3D.light.ambientCubemap.texture\">light.ambientCubemap.texture</a> is configured. Otherwise, the environment texture is not displayed.</p>\n<p>Example: </p>\n<pre><code class=\"lang-js\">// Configure as a panoramic texture\nenvironment: &#39;asset/starfield.jpg&#39;\n [...]
+  },
+  "groundPlane": {
+    "desc": "<p>The ground allows the entire assembly to be “placed” to make the entire scene look more realistic.</p>\n<p> <code class=\"codespan\">groundPlane</code> supports setting up separate <code class=\"codespan\">realisticMaterial</code>, <code class=\"codespan\">colorMaterial</code>, <code class=\"codespan\">lambertMaterial</code> and other materials. If not set, the material parameters of the component are taken by default.</p>\n"
+  },
+  "groundPlane.show": {
+    "desc": "<p>Whether to display the ground.</p>\n"
+  },
+  "groundPlane.color": {
+    "desc": "<p>The color of the ground.</p>\n"
+  },
+  "instancing": {
+    "desc": "<p><code class=\"codespan\">instancing</code> will merge all the <a href=\"http://geojson.org/geojson-spec.html#geometry-objects\" target=\"_blank\">geometry</a>  in GeoJSON into one. When GeoJSON has a lot of (thousands) <a href=\"http://geojson.org/geojson-spec.html#geometry-objects\" target=\"_blank\">geometry</a>, it can effectively improve drawing efficiency.</p>\n"
+  },
+  "label": {
+    "desc": "<p>The setting of the label.</p>\n"
+  },
+  "label.show": {
+    "desc": "<p>Whether to show the label.</p>\n"
+  },
+  "label.distance": {
+    "desc": "<p>Distance to the host graphic element.</p>\n<p>The distance from the label to the graphic. In a 3D Scatter, this distance is the pixel value of the screen space. In other figures, this distance is the relative 3D distance.</p>\n"
+  },
+  "label.formatter": {
+    "desc": "<p>The formatter of the label content, which supports the string template and the callback function. In either form, <code class=\"codespan\">\\n</code> is supported to represent a new line.</p>\n<p><strong>String template:</strong> </p>\n<p>The model variation includes:</p>\n<ul>\n<li><code class=\"codespan\">{a}</code>: series name.</li>\n<li><code class=\"codespan\">{b}</code>: the name of a data item.</li>\n<li><code class=\"codespan\">{c}</code>: the value of a data ite [...]
+  },
+  "label.textStyle": {
+    "desc": "<p>The font style of the label.</p>\n"
+  },
+  "label.textStyle.color": {
+    "desc": "<p>The Color of the text.</p>\n"
+  },
+  "label.textStyle.borderWidth": {
+    "desc": "<p>The border width of the text.</p>\n"
+  },
+  "label.textStyle.borderColor": {
+    "desc": "<p>The border color of the text.</p>\n"
+  },
+  "label.textStyle.fontFamily": {
+    "desc": "<p>The font family of the text.</p>\n"
+  },
+  "label.textStyle.fontSize": {
+    "desc": "<p>The font size of the text.</p>\n"
+  },
+  "label.textStyle.fontWeight": {
+    "desc": "<p>The font thick weight of the text.</p>\n<p><strong>Optional:</strong></p>\n<ul>\n<li><code class=\"codespan\">&#39;normal&#39;</code></li>\n<li><code class=\"codespan\">&#39;bold&#39;</code></li>\n<li><code class=\"codespan\">&#39;bolder&#39;</code></li>\n<li><code class=\"codespan\">&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n"
+  },
+  "itemStyle": {
+    "desc": "<p>Visual properties of 3D graphics in A 3D geographic coordinate system component, including color, transparency, strokes, etc.</p>\n"
+  },
+  "itemStyle.color": {
+    "desc": "<p>The color of the graphic. </p>\n<pre><code class=\"lang-js\">// pure white\n[1, 1, 1, 1]\n</code></pre>\n<p>When using an array representation, each channel can set a value greater than 1 to represent the color value of HDR.</p>\n"
+  },
+  "itemStyle.opacity": {
+    "desc": "<p>The opacity of the graphic.</p>\n"
+  },
+  "itemStyle.borderWidth": {
+    "desc": "<p>The width of the border. With the border, you can distinguish each area more clearly. As shown below:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/geo-border.png\"></p>\n"
+  },
+  "itemStyle.borderColor": {
+    "desc": "<p>The color of the border.</p>\n"
+  },
+  "emphasis": {
+    "desc": "<p>Graphic and label styles when mouse hover is highlighted.</p>\n"
+  },
+  "emphasis.label.show": {
+    "desc": "<p>Whether to show the label.</p>\n"
+  },
+  "emphasis.label.distance": {
+    "desc": "<p>Distance to the host graphic element.</p>\n<p>The distance from the label to the graphic. In a 3D Scatter, this distance is the pixel value of the screen space. In other figures, this distance is the relative 3D distance.</p>\n"
+  },
+  "emphasis.label.formatter": {
+    "desc": "<p>The formatter of the label content, which supports the string template and the callback function. In either form, <code class=\"codespan\">\\n</code> is supported to represent a new line.</p>\n<p><strong>String template:</strong> </p>\n<p>The model variation includes:</p>\n<ul>\n<li><code class=\"codespan\">{a}</code>: series name.</li>\n<li><code class=\"codespan\">{b}</code>: the name of a data item.</li>\n<li><code class=\"codespan\">{c}</code>: the value of a data ite [...]
+  },
+  "emphasis.label.textStyle": {
+    "desc": "<p>The font style of the label.</p>\n"
+  },
+  "emphasis.label.textStyle.color": {
+    "desc": "<p>The Color of the text.</p>\n"
+  },
+  "emphasis.label.textStyle.borderWidth": {
+    "desc": "<p>The border width of the text.</p>\n"
+  },
+  "emphasis.label.textStyle.borderColor": {
+    "desc": "<p>The border color of the text.</p>\n"
+  },
+  "emphasis.label.textStyle.fontFamily": {
+    "desc": "<p>The font family of the text.</p>\n"
+  },
+  "emphasis.label.textStyle.fontSize": {
+    "desc": "<p>The font size of the text.</p>\n"
+  },
+  "emphasis.label.textStyle.fontWeight": {
+    "desc": "<p>The font thick weight of the text.</p>\n<p><strong>Optional:</strong></p>\n<ul>\n<li><code class=\"codespan\">&#39;normal&#39;</code></li>\n<li><code class=\"codespan\">&#39;bold&#39;</code></li>\n<li><code class=\"codespan\">&#39;bolder&#39;</code></li>\n<li><code class=\"codespan\">&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n"
+  },
+  "emphasis.itemStyle.color": {
+    "desc": "<p>The color of the graphic. </p>\n<pre><code class=\"lang-js\">// pure white\n[1, 1, 1, 1]\n</code></pre>\n<p>When using an array representation, each channel can set a value greater than 1 to represent the color value of HDR.</p>\n"
+  },
+  "emphasis.itemStyle.opacity": {
+    "desc": "<p>The opacity of the graphic.</p>\n"
+  },
+  "regions": {
+    "desc": "<p>The setting of the map area.</p>\n"
+  },
+  "regions.name": {
+    "desc": "<p>The name of the corresponding map area, such as <code class=\"codespan\">&#39;Guangdong&#39;</code>, <code class=\"codespan\">&#39;Zhejiang&#39;</code>.</p>\n"
+  },
+  "regions.regionHeight": {
+    "desc": "<p>The height of the area. Different heights can be set to express the size of the data. When GeoJSON is the data of the building, this value can also be used to represent the approximate height. As shown below:</p>\n<p><img width=\"700\" height=\"auto\" src=\"documents/asset/gl/img/city-region-height.jpg\"></p>\n"
+  },
+  "regions.itemStyle": {
+    "desc": "<p>Style settings for a single area.</p>\n"
+  },
+  "regions.itemStyle.color": {
+    "desc": "<p>The color of the graphic. </p>\n<pre><code class=\"lang-js\">// pure white\n[1, 1, 1, 1]\n</code></pre>\n<p>When using an array representation, each channel can set a value greater than 1 to represent the color value of HDR.</p>\n"
+  },
+  "regions.itemStyle.opacity": {
+    "desc": "<p>The opacity of the graphic.</p>\n"
+  },
+  "regions.itemStyle.borderWidth": {
+    "desc": "<p>The width of the border. With the border, you can distinguish each area more clearly. As shown below:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/geo-border.png\"></p>\n"
+  },
+  "regions.itemStyle.borderColor": {
+    "desc": "<p>The color of the border.</p>\n"
+  },
+  "regions.label": {
+    "desc": "<p>Label settings for a single area.</p>\n"
+  },
+  "regions.label.show": {
+    "desc": "<p>Whether to show the label.</p>\n"
+  },
+  "regions.label.distance": {
+    "desc": "<p>Distance to the host graphic element.</p>\n<p>The distance from the label to the graphic. In a 3D Scatter, this distance is the pixel value of the screen space. In other figures, this distance is the relative 3D distance.</p>\n"
+  },
+  "regions.label.formatter": {
+    "desc": "<p>The formatter of the label content, which supports the string template and the callback function. In either form, <code class=\"codespan\">\\n</code> is supported to represent a new line.</p>\n<p><strong>String template:</strong> </p>\n<p>The model variation includes:</p>\n<ul>\n<li><code class=\"codespan\">{a}</code>: series name.</li>\n<li><code class=\"codespan\">{b}</code>: the name of a data item.</li>\n<li><code class=\"codespan\">{c}</code>: the value of a data ite [...]
+  },
+  "regions.label.textStyle": {
+    "desc": "<p>The font style of the label.</p>\n"
+  },
+  "regions.label.textStyle.color": {
+    "desc": "<p>The Color of the text.</p>\n"
+  },
+  "regions.label.textStyle.borderWidth": {
+    "desc": "<p>The border width of the text.</p>\n"
+  },
+  "regions.label.textStyle.borderColor": {
+    "desc": "<p>The border color of the text.</p>\n"
+  },
+  "regions.label.textStyle.fontFamily": {
+    "desc": "<p>The font family of the text.</p>\n"
+  },
+  "regions.label.textStyle.fontSize": {
+    "desc": "<p>The font size of the text.</p>\n"
+  },
+  "regions.label.textStyle.fontWeight": {
+    "desc": "<p>The font thick weight of the text.</p>\n<p><strong>Optional:</strong></p>\n<ul>\n<li><code class=\"codespan\">&#39;normal&#39;</code></li>\n<li><code class=\"codespan\">&#39;bold&#39;</code></li>\n<li><code class=\"codespan\">&#39;bolder&#39;</code></li>\n<li><code class=\"codespan\">&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n"
+  },
+  "regions.emphasis": {
+    "desc": "<p>Setting the highlight for labels and styles for a single area.</p>\n"
+  },
+  "regions.emphasis.itemStyle.color": {
+    "desc": "<p>The color of the graphic. </p>\n<pre><code class=\"lang-js\">// pure white\n[1, 1, 1, 1]\n</code></pre>\n<p>When using an array representation, each channel can set a value greater than 1 to represent the color value of HDR.</p>\n"
+  },
+  "regions.emphasis.itemStyle.opacity": {
+    "desc": "<p>The opacity of the graphic.</p>\n"
+  },
+  "regions.emphasis.itemStyle.borderWidth": {
+    "desc": "<p>The width of the border. With the border, you can distinguish each area more clearly. As shown below:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/geo-border.png\"></p>\n"
+  },
+  "regions.emphasis.itemStyle.borderColor": {
+    "desc": "<p>The color of the border.</p>\n"
+  },
+  "regions.emphasis.label.show": {
+    "desc": "<p>Whether to show the label.</p>\n"
+  },
+  "regions.emphasis.label.distance": {
+    "desc": "<p>Distance to the host graphic element.</p>\n<p>The distance from the label to the graphic. In a 3D Scatter, this distance is the pixel value of the screen space. In other figures, this distance is the relative 3D distance.</p>\n"
+  },
+  "regions.emphasis.label.formatter": {
+    "desc": "<p>The formatter of the label content, which supports the string template and the callback function. In either form, <code class=\"codespan\">\\n</code> is supported to represent a new line.</p>\n<p><strong>String template:</strong> </p>\n<p>The model variation includes:</p>\n<ul>\n<li><code class=\"codespan\">{a}</code>: series name.</li>\n<li><code class=\"codespan\">{b}</code>: the name of a data item.</li>\n<li><code class=\"codespan\">{c}</code>: the value of a data ite [...]
+  },
+  "regions.emphasis.label.textStyle": {
+    "desc": "<p>The font style of the label.</p>\n"
+  },
+  "regions.emphasis.label.textStyle.color": {
+    "desc": "<p>The Color of the text.</p>\n"
+  },
+  "regions.emphasis.label.textStyle.borderWidth": {
+    "desc": "<p>The border width of the text.</p>\n"
+  },
+  "regions.emphasis.label.textStyle.borderColor": {
+    "desc": "<p>The border color of the text.</p>\n"
+  },
+  "regions.emphasis.label.textStyle.fontFamily": {
+    "desc": "<p>The font family of the text.</p>\n"
+  },
+  "regions.emphasis.label.textStyle.fontSize": {
+    "desc": "<p>The font size of the text.</p>\n"
+  },
+  "regions.emphasis.label.textStyle.fontWeight": {
+    "desc": "<p>The font thick weight of the text.</p>\n<p><strong>Optional:</strong></p>\n<ul>\n<li><code class=\"codespan\">&#39;normal&#39;</code></li>\n<li><code class=\"codespan\">&#39;bold&#39;</code></li>\n<li><code class=\"codespan\">&#39;bolder&#39;</code></li>\n<li><code class=\"codespan\">&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n"
+  },
+  "shading": {
+    "desc": "<p>The coloring effect of 3D graphics in A 3D geographic coordinate system component. The following three coloring methods are supported in echarts-gl:</p>\n<ul>\n<li><p><code class=\"codespan\">&#39;color&#39;</code>\nOnly display colors, not affected by other factors such as lighting.</p>\n</li>\n<li><p><code class=\"codespan\">&#39;lambert&#39;</code>\nThrough the classic [lambert] coloring, can express the light and dark that the light shows.</p>\n</li>\n<li><p><code cla [...]
+  },
+  "realisticMaterial": {
+    "desc": "<p>The configuration item of the realistic material is valid when <a href=\"#geo3D.shading\">shading</a> is <code class=\"codespan\">&#39;realistic&#39;</code>.</p>\n"
+  },
+  "realisticMaterial.detailTexture": {
+    "desc": "<p>The texture map of the material detail.</p>\n"
+  },
+  "realisticMaterial.textureTiling": {
+    "desc": "<p>Tiles the texture map of the material detail. The default is <code class=\"codespan\">1</code>, which means that the stretch is filled. When greater than <code class=\"codespan\">1</code>, the number indicates how many times the texture is tiled.</p>\n<p><strong>Note:</strong>  The use of tiling requires the <code class=\"codespan\">detail texture</code> height and width to be 2 to the power of n. For example, 512x512, if it is a 200x200 texture, you cannot use tiling.</p>\n"
+  },
+  "realisticMaterial.textureOffset": {
+    "desc": "<p>The displacement of the texture detail texture.</p>\n"
+  },
+  "realisticMaterial.roughness": {
+    "desc": "<p>The <code class=\"codespan\">roughness</code> attribute is used to indicate the roughness of the material, <code class=\"codespan\">0</code> is completely smooth, <code class=\"codespan\">1</code> is completely rough, and the middle value is between the two.</p>\n<p>The following images show the effect of <code class=\"codespan\">roughness</code> in <a href=\"#globe\"><code class=\"codespan\">globe</code></a> <code class=\"codespan\">0.2</code> (smooth) and <code class=\" [...]
+  },
+  "realisticMaterial.metalness": {
+    "desc": "<p>The <code class=\"codespan\">metalness</code> attribute is used to indicate whether the material is metal or non-metal, <code class=\"codespan\">0</code> is non-metallic, <code class=\"codespan\">1</code> is metal, and the middle value is between the two. Usually set to <code class=\"codespan\">0</code> and <code class=\"codespan\">1</code> to meet most of the scenes.</p>\n<p>The picture below show the difference between `metal&#39; and &#39;0&#39; in <a href=\"#globe\">g [...]
+  },
+  "realisticMaterial.roughnessAdjust": {
+    "desc": "<p>Roughness adjustment is useful when using roughness map. The overall roughness of the texture can be adjusted. The default is <code class=\"codespan\">0.5</code>, <code class=\"codespan\">0</code> is completely smooth, <code class=\"codespan\">1</code> is completely rough.</p>\n"
+  },
+  "realisticMaterial.metalnessAdjust": {
+    "desc": "<p>Metalness adjustment is useful when using metalness maps. The overall metallicity of the texture can be adjusted. The default is <code class=\"codespan\">0.5</code>, <code class=\"codespan\">0</code> is non-metal, <code class=\"codespan\">1</code> is metal.</p>\n"
+  },
+  "realisticMaterial.normalTexture": {
+    "desc": "<p>Normal map of material details.</p>\n<p>Using normal maps, you can still display rich shades of detail on the surface of the object with fewer vertices.</p>\n"
+  },
+  "lambertMaterial": {
+    "desc": "<p>The configuration item of the lambert material is valid when <a href=\"#geo3D.shading\">shading</a> is <code class=\"codespan\">&#39;lambert&#39;</code>.</p>\n"
+  },
+  "lambertMaterial.detailTexture": {
+    "desc": "<p>The texture map of the material detail.</p>\n"
+  },
+  "lambertMaterial.textureTiling": {
+    "desc": "<p>Tiles the texture map of the material detail. The default is <code class=\"codespan\">1</code>, which means that the stretch is filled. When greater than <code class=\"codespan\">1</code>, the number indicates how many times the texture is tiled.</p>\n<p><strong>Note:</strong>  The use of tiling requires the <code class=\"codespan\">detail texture</code> height and width to be 2 to the power of n. For example, 512x512, if it is a 200x200 texture, you cannot use tiling.</p>\n"
+  },
+  "lambertMaterial.textureOffset": {
+    "desc": "<p>The displacement of the texture detail texture.</p>\n"
+  },
+  "colorMaterial": {
+    "desc": "<p>The color material related configuration item is valid when <a href=\"#geo3D.shading\">shading</a> is <code class=\"codespan\">&#39;color&#39;</code>.</p>\n"
+  },
+  "colorMaterial.detailTexture": {
+    "desc": "<p>The texture map of the material detail.</p>\n"
+  },
+  "colorMaterial.textureTiling": {
+    "desc": "<p>Tiles the texture map of the material detail. The default is <code class=\"codespan\">1</code>, which means that the stretch is filled. When greater than <code class=\"codespan\">1</code>, the number indicates how many times the texture is tiled.</p>\n<p><strong>Note:</strong>  The use of tiling requires the <code class=\"codespan\">detail texture</code> height and width to be 2 to the power of n. For example, 512x512, if it is a 200x200 texture, you cannot use tiling.</p>\n"
+  },
+  "colorMaterial.textureOffset": {
+    "desc": "<p>The displacement of the texture detail texture.</p>\n"
+  },
+  "light": {
+    "desc": "<p>Light related settings. Invalid when <a href=\"#geo3D.shading\">shading</a> is &#39;color&#39;.</p>\n<p>The lighting settings affect the components and all the charts on the component&#39;s coordinate system.</p>\n<p>A reasonable lighting setting can make the brightness and darkness of the whole scene richer and more layered.</p>\n"
+  },
+  "light.main": {
+    "desc": "<p>The setting of the main light source of the scene. In the <a href=\"#globe\">globe</a> component is the sun.</p>\n"
+  },
+  "light.main.color": {
+    "desc": "<p>The color of the main light source.</p>\n"
+  },
+  "light.main.intensity": {
+    "desc": "<p>The intensity of the main light source.</p>\n"
+  },
+  "light.main.shadow": {
+    "desc": "<p>Whether the main light source displays a shadow. The default is off.</p>\n<p>Turning on the shadows can bring more realistic and layered lighting to the scene. But it also increases the operating overhead of the program.</p>\n<p>The following two images show the difference between turning on the shadow and turning off the shadow.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-shadow.png\" width=\"100%\" tit [...]
+  },
+  "light.main.shadowQuality": {
+    "desc": "<p>The quality of the shadow. You can choose <code class=\"codespan\">&#39;low&#39;</code>, <code class=\"codespan\">&#39;medium&#39;</code>, <code class=\"codespan\">&#39;high&#39;</code>, <code class=\"codespan\">&#39;ultra&#39;</code></p>\n<p>The following two images shows the difference between low quality and high quality shadows.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-shadow-low.png\" width=\"100 [...]
+  },
+  "light.main.alpha": {
+    "desc": "<p>The main light source is around the x-axis, which is the angle of up-down rotation. Control the direction of the light with <a href=\"#geo3D.light.main.beta\">beta</a>.</p>\n<p>As the following image show:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/light-alpha-beta.png\"></p>\n<p>The <a href=\"#globe\">globe</a> component can control the time of sunlight by <a href=\"#globe.light.main.time\">time</a>.</p>\n"
+  },
+  "light.main.beta": {
+    "desc": "<p>The main light source is around the y-axis, which is the angle of the left-right rotation.</p>\n"
+  },
+  "light.ambient": {
+    "desc": "<p>Global ambient light settings.</p>\n"
+  },
+  "light.ambient.color": {
+    "desc": "<p>The color of ambient light.</p>\n"
+  },
+  "light.ambient.intensity": {
+    "desc": "<p>The intensity of ambient light.</p>\n"
+  },
+  "light.ambientCubemap": {
+    "desc": "<p>The ambientCubemap uses texture as the source of ambient light, which provides diffuse and specular for objects. The diffuse and specular can be set separately by <a href=\"#geo3D.light.ambientCubemap.diffuseIntensity\">diffuseIntensity</a> and <a href=\"#geo3D.light.ambientCubemap.specularIntensity\">specularIntensity</a>.</p>\n"
+  },
+  "light.ambientCubemap.texture": {
+    "desc": "<p>The URL of the ambient cubemap supports HDR images in the <code class=\"codespan\">.hdr</code> format. You can obtained the resources for <code class=\"codespan\">.hdr</code> from <a href=\"http://www.hdrlabs.com/sibl/archive.html\" target=\"_blank\">http://www.hdrlabs.com/sibl/archive.html</a> and other websites.</p>\n<p>Example:</p>\n<pre><code class=\"lang-js\">ambientCubemap: {\n    texture: &#39;pisa.hdr&#39;,\n    // The exposure value used when analytic hdr\n    ex [...]
+  },
+  "light.ambientCubemap.diffuseIntensity": {
+    "desc": "<p>The intensity of diffuse.</p>\n"
+  },
+  "light.ambientCubemap.specularIntensity": {
+    "desc": "<p>The intensity of specular.</p>\n"
+  },
+  "postEffect": {
+    "desc": "<p>Post-processing effects related configuration. It can add effects such as highlights, depth of field, screen space ambient occlusion (SSAO), toning to the picture. And it can make the whole picture more textured.</p>\n<p>The following are the differences between closing <code class=\"codespan\">postEffect</code> and opening <code class=\"codespan\">postEffect</code>.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/i [...]
+  },
+  "postEffect.enable": {
+    "desc": "<p>Whether to enable post-processing effects. Not enabled by default.</p>\n"
+  },
+  "postEffect.bloom": {
+    "desc": "<p>Bloom is used to reproducing the effects that occur in real cameras when taking pictures in a bright environment.\nBecause traditional RGB can only represent colors in the range of &#39;0 - 255&#39;, so we need to use the bloom effect simulates fringes of light extending from the borders of bright areas, creating the illusion of a bright light overwhelming the camera. As shown below:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/globe-posteffect-blo [...]
+  },
+  "postEffect.bloom.enable": {
+    "desc": "<p>Whether to enable the bloom effect.</p>\n"
+  },
+  "postEffect.bloom.bloomIntensity": {
+    "desc": "<p>The intensity of the bloom. The default is 0.1.</p>\n"
+  },
+  "postEffect.depthOfField": {
+    "desc": "<p>Depth of Field is a post-processing effect that simulates the focus properties of a camera. The area of focus is clear, and the area away from the focus is gradually blurred.</p>\n<p>The depth of field effect allows the observer to focus on the area of focus and make the picture feel stronger. Large depth of field can also create a macro model effect.</p>\n<p>The following are the differences between turning off and turning on the depth of field effect.</p>\n<div  class=\ [...]
+  },
+  "postEffect.depthOfField.enable": {
+    "desc": "<p>Whether to enable the depth of field.</p>\n"
+  },
+  "postEffect.depthOfField.focalDistance": {
+    "desc": "<p>The initial focus distance. The user can click on the area to automatically focus.</p>\n"
+  },
+  "postEffect.depthOfField.focalRange": {
+    "desc": "<p>The size of the in-focus area. The objects in this range are completely clear and there is no blurring.</p>\n"
+  },
+  "postEffect.depthOfField.fstop": {
+    "desc": "<p>[F value] of the lens (<a href=\"https://zh.wikipedia.org/wiki/%E7%84%A6%E6%AF%94)\" target=\"_blank\">https://zh.wikipedia.org/wiki/%E7%84%A6%E6%AF%94)</a>, the smaller the value, the shallower the depth of field.</p>\n"
+  },
+  "postEffect.depthOfField.blurRadius": {
+    "desc": "<p>Blur radius outside the focus.</p>\n<p>The difference blur effect between the different radius. </p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-dof-small.png\" width=\"100%\" title=\"blurSize: 3\"><img />\n    <img  src=\"documents/asset/gl/img/geo-dof-large.png\" width=\"100%\" title=\"blurSize: 10\"><img />\n<div />\n"
+  },
+  "postEffect.screenSpaceAmbientOcclusion": {
+    "desc": "<p>The ambient occlusion post-processing effect darkens the corners, holes, crevices, and areas where most light can`t reach. It is a supplement to the traditional shadow map, which makes the whole scene more natural and layered.</p>\n<p>Below is a comparison of the effects of no SSAO and SSAO:</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-no-ssao.png\" width=\"100%\" title=\"No SSAO\"><img />\n    <img  src= [...]
+  },
+  "postEffect.SSAO": {
+    "desc": "<p>Same as <a href=\"#geo3D.postEffect.screenSpaceAmbientOcclusion\">screenSpaceAmbientOcclusion</a></p>\n"
+  },
+  "postEffect.SSAO.enable": {
+    "desc": "<p>Whether to enable SSAO (screen space ambient occlusion). Not enabled by default.</p>\n"
+  },
+  "postEffect.SSAO.quality": {
+    "desc": "<p>The quality of SSAO (screen space ambient occlusion). Supporting<code class=\"codespan\">&#39;low&#39;</code>, <code class=\"codespan\">&#39;medium&#39;</code>, <code class=\"codespan\">&#39;high&#39;</code>, <code class=\"codespan\">&#39;ultra&#39;</code></p>\n"
+  },
+  "postEffect.SSAO.radius": {
+    "desc": "<p>The radius of the SSAO (screen space ambient occlusion). The larger the radius, the more natural the effect, but you need to set a higher <code class=\"codespan\">&#39;quality&#39;</code>. </p>\n<p>The following example is the difference between a smaller and larger radius:</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-ssao-small-radius.png\" width=\"100%\" title=\"Radius: 1\"><img />\n    <img  src=\"docu [...]
+  },
+  "postEffect.SSAO.intensity": {
+    "desc": "<p>The intensity of SSAO (screen space ambient occlusion). The larger the value, the darker the color.</p>\n"
+  },
+  "postEffect.colorCorrection": {
+    "desc": "<p>Color correction and adjustment. Similar to Color Adjustments in Photoshop.</p>\n<p>The same scene in the figure below is adjusted to the difference between the cool color system and the warm color system.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/buildings-cold.jpg\" width=\"100%\" title=\"Cold\"><img />\n    <img  src=\"documents/asset/gl/img/buildings-warm.jpg\" width=\"100%\" title=\"Warm\"><img />\n<d [...]
+  },
+  "postEffect.colorCorrection.enable": {
+    "desc": "<p>Whether to enable the color correction.</p>\n"
+  },
+  "postEffect.colorCorrection.lookupTexture": {
+    "desc": "<p>Color correction lookup texture, recommended.</p>\n<p>The color correction lookup texture is a texture image like the one below.</p>\n<p><img width=\"200\" height=\"auto\" src=\"documents/asset/gl/img/lookup.png\"></p>\n<p>This is the basic lookup texture image that you can use directly.\nTo adjust the color of the scene to the effect you want, you can take a screenshot of the scene and adjust the color to the desired effect in image processing software such as Photoshop. [...]
+  },
+  "postEffect.colorCorrection.exposure": {
+    "desc": "<p>The exposure of the image.</p>\n"
+  },
+  "postEffect.colorCorrection.brightness": {
+    "desc": "<p>The brightness of the image.</p>\n"
+  },
+  "postEffect.colorCorrection.contrast": {
+    "desc": "<p>The contrast of the image.</p>\n"
+  },
+  "postEffect.colorCorrection.saturation": {
+    "desc": "<p>The saturation of the image.</p>\n"
+  },
+  "postEffect.FXAA": {
+    "desc": "<p>After opening <a href=\"#geo3D.postEffect\">postEffect</a>, WebGL&#39;s default MSAA (Multi Sampling Anti Aliasing) will not work. At this time, FXAA (Fast Approximate Anti-Aliasing) can solve the anti-aliasing problem quickly and easily. FXAA blurs the edge of the scene to solve the problem of aliasing. It works well on some scenes, but in echarts-gl, you need to ensure that the edges of many texts and lines are sharp and clear, so FXAA is not suitable. At this point we  [...]
+  },
+  "postEffect.FXAA.enable": {
+    "desc": "<p>Whether to enable FXAA. Not enabled by default.</p>\n"
+  },
+  "temporalSuperSampling": {
+    "desc": "<p>Temporal supersampling. After opening <a href=\"#geo3D.postEffect\">postEffect</a>, WebGL&#39;s default MSAA (MultiSampling Anti-Aliasing) will not work, so we need to solve the problem of sampling.</p>\n<p>Temporal supersampling is an anti-aliasing method. After the picture is still, it will continue to sample multiple times and taken at several instances inside the pixel and an average color value is calculated, thus achieving anti-aliasing effect.\nAnd in this process, [...]
+  },
+  "temporalSuperSampling.enable": {
+    "desc": "<p>Whether to enable temporal supersampling. By default, temporal supersampling is also turned on synchronously when <a href=\"#geo3D.postEffect\">postEffect</a> is turned on.</p>\n"
+  },
+  "viewControl": {
+    "desc": "<p><code class=\"codespan\">viewControl</code> is used for mouse rotation, zooming, and other perspective control.</p>\n"
+  },
+  "viewControl.projection": {
+    "desc": "<p>The way of projection, the default is <code class=\"codespan\">&#39;perspective&#39;</code> projection, also supports setting to <code class=\"codespan\">&#39;orthogonal&#39;</code> projection.</p>\n"
+  },
+  "viewControl.autoRotate": {
+    "desc": "<p>Whether to enable the angle of view to automatically rotate around the object.</p>\n"
+  },
+  "viewControl.autoRotateDirection": {
+    "desc": "<p>The direction in which the object auto rotates. The default is <code class=\"codespan\">&#39;cw&#39;</code> means clockwise from top to bottom, and can also use  <code class=\"codespan\">&#39;ccw&#39;</code> means counterclockwise from top to bottom.</p>\n"
+  },
+  "viewControl.autoRotateSpeed": {
+    "desc": "<p>The speed at which the object auto rotates. The unit is <code class=\"codespan\">angle/second</code>, the default is <code class=\"codespan\">10</code>, which is a turn of <code class=\"codespan\">36</code> seconds.</p>\n"
+  },
+  "viewControl.autoRotateAfterStill": {
+    "desc": "<p>The time interval for automatic rotation to resume after the mouse is still. Valid after opening <a href=\"#geo3D.viewControl.autoRotate\">autoRotate</a>.</p>\n"
+  },
+  "viewControl.damping": {
+    "desc": "<p>The damping when the mouse is rotated, zoomed, etc.\nWhen it is greater than 0, the angle of view will continue to move (rotate and zoom) due to certain inertia after the mouse is still.</p>\n"
+  },
+  "viewControl.rotateSensitivity": {
+    "desc": "<p>The sensitivity of the rotation operation. The greater the value, the more sensitive. Supports the use of arrays to set the horizontal and vertical rotation sensitivity separately.</p>\n<p>The default is <code class=\"codespan\">1</code>.</p>\n<p>Cannot be rotated after setting to <code class=\"codespan\">0</code>.</p>\n<pre><code class=\"lang-js\">// can&#39;t rotate\nrotateSensitivity: 0\n// can only be rotated horizontally\nrotateSensitivity: [1, 0]\n//  can only rotat [...]
+  },
+  "viewControl.zoomSensitivity": {
+    "desc": "<p>The sensitivity of the zoom operation, the larger the value, the more sensitive. The default is <code class=\"codespan\">1</code>.</p>\n<p>Can<code class=\"codespan\">t be scaled after setting to</code>0`.</p>\n"
+  },
+  "viewControl.panSensitivity": {
+    "desc": "<p>The sensitivity of the panning operation, the greater the value, the more sensitive. Supports the use of arrays to set the horizontal and vertical translation sensitivity.</p>\n<p>The default is <code class=\"codespan\">1</code>.</p>\n<p>Cannot pan after setting to <code class=\"codespan\">0</code>.</p>\n"
+  },
+  "viewControl.panMouseButton": {
+    "desc": "<p>The mouse button used for panning operation supports:</p>\n<ul>\n<li><p><code class=\"codespan\">&#39;left&#39;</code> left mouse button (default)</p>\n</li>\n<li><p><code class=\"codespan\">&#39;middle&#39;</code> middle mouse button</p>\n</li>\n<li><p><code class=\"codespan\">&#39;right&#39;</code> right mouse button</p>\n</li>\n</ul>\n<p>Note: If set to the right mouse button, the default context menu will be blocked.</p>\n"
+  },
+  "viewControl.rotateMouseButton": {
+    "desc": "<p>The mouse button used for the rotation operation supports:</p>\n<ul>\n<li><p><code class=\"codespan\">&#39;left&#39;</code> left mouse button</p>\n</li>\n<li><p><code class=\"codespan\">&#39;middle&#39;</code> middle mouse button (default)</p>\n</li>\n<li><p><code class=\"codespan\">&#39;right&#39;</code> right mouse button</p>\n</li>\n</ul>\n<p>Note: If set to the right mouse button, the default context menu will be blocked.</p>\n"
+  },
+  "viewControl.distance": {
+    "desc": "<p>The distance of the default perspective from the subject. For <a href=\"#globe\">globe</a>, the distance from the Earth&#39;s surface is the distance from the center origin for other components such as <a href=\"#grid3D\">grid3D</a> and <a href=\"#geo3D\">geo3D</a>. Valid when <a href=\"#geo3D.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;perspective&#39;</code>.</p>\n"
+  },
+  "viewControl.minDistance": {
+    "desc": "<p>The angle of view is controlled by the mouse to bring the minimum distance to the subject. Valid when <a href=\"#geo3D.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;perspective&#39;</code>.</p>\n"
+  },
+  "viewControl.maxDistance": {
+    "desc": "<p>The angle of view can be extended to the maximum distance of the subject by mouse control. Valid when <a href=\"#geo3D.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;perspective&#39;</code>.</p>\n"
+  },
+  "viewControl.orthographicSize": {
+    "desc": "<p>The size of the orthogonal projection. Valid when <a href=\"#geo3D.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;orthographic&#39;</code>.</p>\n"
+  },
+  "viewControl.maxOrthographicSize": {
+    "desc": "<p>The maximum value of the orthogonal projection scaling. Valid when <a href=\"#geo3D.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;orthographic&#39;</code>.</p>\n"
+  },
+  "viewControl.minOrthographicSize": {
+    "desc": "<p>The minimum value of the orthogonal projection scaling. Valid when <a href=\"#geo3D.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;orthographic&#39;</code></p>\n"
+  },
+  "viewControl.alpha": {
+    "desc": "<p>The angle of view is around the x-axis, which is the angle of rotation up and down. With <a href=\"#geo3D.light.main.beta\">beta</a> you can control the direction of the perspective.</p>\n<p>As shown below:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/view-alpha-beta.png\"></p>\n"
+  },
+  "viewControl.beta": {
+    "desc": "<p>The angle of view is around the y-axis, which is the angle of rotation from left to right.</p>\n"
+  },
+  "viewControl.center": {
+    "desc": "<p>At the center of the angle of view, the rotation will also rotate around this center point. The default is <code class=\"codespan\">[0,0,0]</code>.</p>\n"
+  },
+  "viewControl.minAlpha": {
+    "desc": "<p>The minimum alpha value to rotate up and down. That is, the angle of view can be rotated to reach the uppermost angle.</p>\n"
+  },
+  "viewControl.maxAlpha": {
+    "desc": "<p>The maximum alpha value to rotate up and down. That is, the angle of view can be rotated to the lowest angle.</p>\n"
+  },
+  "viewControl.minBeta": {
+    "desc": "<p>The minimum beta value to rotate left and right. That is, the angle of view can be rotated to the leftmost angle.</p>\n"
+  },
+  "viewControl.maxBeta": {
+    "desc": "<p>The maximum beta value to rotate left and right rotation. That is, the angle of view can be rotated to the rightmost angle.</p>\n"
+  },
+  "viewControl.animation": {
+    "desc": "<p>Whether to enable animation.</p>\n"
+  },
+  "viewControl.animationDurationUpdate": {
+    "desc": "<p>The duration time for update the transition animation.</p>\n"
+  },
+  "viewControl.animationEasingUpdate": {
+    "desc": "<p>The easing effect for update transition animation.</p>\n"
+  },
+  "zlevel": {
+    "desc": "<p>The layer in which the component is located.</p>\n<p><code class=\"codespan\">zlevel</code> is used to make layers with Canvas. Graphical elements with different <code class=\"codespan\">zlevel</code> values will be placed in different Canvases, which is a common optimization technique. We can put those frequently changed elements (like those with animations) to a separate <code class=\"codespan\">zlevel</code>. Notice that too many Canvases will increase memory cost, and [...]
+  },
+  "left": {
+    "desc": "<p>Distance between  component and the left side of the container.</p>\n<p><code class=\"codespan\">left</code> value can be instant pixel value like <code class=\"codespan\">20</code>; it can also be a percentage value relative to container width like <code class=\"codespan\">&#39;20%&#39;</code>; and it can also be <code class=\"codespan\">&#39;left&#39;</code>, <code class=\"codespan\">&#39;center&#39;</code>, or <code class=\"codespan\">&#39;right&#39;</code>.</p>\n<p>If [...]
+  },
+  "top": {
+    "desc": "<p>Distance between  component and the top side of the container.</p>\n<p><code class=\"codespan\">top</code> value can be instant pixel value like <code class=\"codespan\">20</code>; it can also be a percentage value relative to container width like <code class=\"codespan\">&#39;20%&#39;</code>; and it can also be <code class=\"codespan\">&#39;top&#39;</code>, <code class=\"codespan\">&#39;middle&#39;</code>, or <code class=\"codespan\">&#39;bottom&#39;</code>.</p>\n<p>If t [...]
+  },
+  "right": {
+    "desc": "<p>Distance between  component and the right side of the container.</p>\n<p><code class=\"codespan\">right</code> value can be instant pixel value like <code class=\"codespan\">20</code>; it can also be a percentage value relative to container width like <code class=\"codespan\">&#39;20%&#39;</code>.</p>\n<p> Adaptive by default.</p>\n"
+  },
+  "bottom": {
+    "desc": "<p>Distance between  component and the bottom side of the container.</p>\n<p><code class=\"codespan\">bottom</code> value can be instant pixel value like <code class=\"codespan\">20</code>; it can also be a percentage value relative to container width like <code class=\"codespan\">&#39;20%&#39;</code>.</p>\n<p> Adaptive by default.</p>\n"
+  },
+  "width": {
+    "desc": "<p> The width of the view of the component.</p>\n"
+  },
+  "height": {
+    "desc": "<p> The height of the view of the component.</p>\n"
+  }
+}
\ No newline at end of file
diff --git a/next/en/documents/option-gl-parts/option-gl.geo3D.json b/next/en/documents/option-gl-parts/option-gl.geo3D.json
new file mode 100644
index 0000000..6b8da0a
--- /dev/null
+++ b/next/en/documents/option-gl-parts/option-gl.geo3D.json
@@ -0,0 +1,512 @@
+{
+  "show": {
+    "desc": "<p>Whether to display 3D geographic coordinate system components.</p>\n"
+  },
+  "map": {
+    "desc": "<p>The map type. The map type used in ECharts-gl is the same as the <a href=\"http://echarts.baidu.com/option.html#geo.map\" target=\"_blank\">geo</a> component.</p>\n<p>You can download the required map file in the <a href=\"http://ecomfe.github.io/echarts-builder-web/map3.html\" target=\"_blank\">Map Download Interface</a>, then to import and register it into ECharts.</p>\n<p>EChart provides map data in two formats. One is the JS file that can be imported directly through  [...]
+  },
+  "boxWidth": {
+    "desc": "<p>A 3D geographic coordinate system component width in a 3D scene. With <a href=\"#geo3D.viewControl.distance\">viewControl.distance</a> you can get the most appropriate display size.</p>\n<p>The following image is a schematic diagram of <code class=\"codespan\">boxWidth</code>, <code class=\"codespan\">boxHeight</code>, <code class=\"codespan\">boxDepth</code>, <code class=\"codespan\">regionHeight</code> in A 3D geographic coordinate system component.</p>\n<p><img width=\ [...]
+  },
+  "boxHeight": {
+    "desc": "<p>A 3D geographic coordinate system component height in a 3D scene.</p>\n<p>Component height. This height contains the height of the bar and scatter on a 3D map.</p>\n"
+  },
+  "boxDepth": {
+    "desc": "<p>A 3D geographic coordinate system component depth in a 3D scene.</p>\n<p>The component depth defaults to automatic, ensuring that the scale of the 3D component is the same as the ratio of the input GeoJSON.</p>\n"
+  },
+  "regionHeight": {
+    "desc": "<p>The height of each area of the 3D map. This height is the height of the model, less than <a href=\"#geo3D.boxHeight\">boxHeight</a>. <code class=\"codespan\">boxHeight - regionHeight</code> will be used for the display of 3D bar, 3D scatter, and etc.</p>\n"
+  },
+  "environment": {
+    "desc": "<p>Environment map. Support for solid colors, gradual colors, URL of panoramic texture. The default is <code class=\"codespan\">&#39;auto&#39;</code>, which is used as the environment texture when <a href=\"#geo3D.light.ambientCubemap.texture\">light.ambientCubemap.texture</a> is configured. Otherwise, the environment texture is not displayed.</p>\n<p>Example: </p>\n<pre><code class=\"lang-js\">// Configure as a panoramic texture\nenvironment: &#39;asset/starfield.jpg&#39;\n [...]
+  },
+  "groundPlane": {
+    "desc": "<p>The ground allows the entire assembly to be “placed” to make the entire scene look more realistic.</p>\n<p> <code class=\"codespan\">groundPlane</code> supports setting up separate <code class=\"codespan\">realisticMaterial</code>, <code class=\"codespan\">colorMaterial</code>, <code class=\"codespan\">lambertMaterial</code> and other materials. If not set, the material parameters of the component are taken by default.</p>\n"
+  },
+  "groundPlane.show": {
+    "desc": "<p>Whether to display the ground.</p>\n"
+  },
+  "groundPlane.color": {
+    "desc": "<p>The color of the ground.</p>\n"
+  },
+  "instancing": {
+    "desc": "<p><code class=\"codespan\">instancing</code> will merge all the <a href=\"http://geojson.org/geojson-spec.html#geometry-objects\" target=\"_blank\">geometry</a>  in GeoJSON into one. When GeoJSON has a lot of (thousands) <a href=\"http://geojson.org/geojson-spec.html#geometry-objects\" target=\"_blank\">geometry</a>, it can effectively improve drawing efficiency.</p>\n"
+  },
+  "label": {
+    "desc": "<p>The setting of the label.</p>\n"
+  },
+  "label.show": {
+    "desc": "<p>Whether to show the label.</p>\n"
+  },
+  "label.distance": {
+    "desc": "<p>Distance to the host graphic element.</p>\n<p>The distance from the label to the graphic. In a 3D Scatter, this distance is the pixel value of the screen space. In other figures, this distance is the relative 3D distance.</p>\n"
+  },
+  "label.formatter": {
+    "desc": "<p>The formatter of the label content, which supports the string template and the callback function. In either form, <code class=\"codespan\">\\n</code> is supported to represent a new line.</p>\n<p><strong>String template:</strong> </p>\n<p>The model variation includes:</p>\n<ul>\n<li><code class=\"codespan\">{a}</code>: series name.</li>\n<li><code class=\"codespan\">{b}</code>: the name of a data item.</li>\n<li><code class=\"codespan\">{c}</code>: the value of a data ite [...]
+  },
+  "label.textStyle": {
+    "desc": "<p>The font style of the label.</p>\n"
+  },
+  "label.textStyle.color": {
+    "desc": "<p>The Color of the text.</p>\n"
+  },
+  "label.textStyle.borderWidth": {
+    "desc": "<p>The border width of the text.</p>\n"
+  },
+  "label.textStyle.borderColor": {
+    "desc": "<p>The border color of the text.</p>\n"
+  },
+  "label.textStyle.fontFamily": {
+    "desc": "<p>The font family of the text.</p>\n"
+  },
+  "label.textStyle.fontSize": {
+    "desc": "<p>The font size of the text.</p>\n"
+  },
+  "label.textStyle.fontWeight": {
+    "desc": "<p>The font thick weight of the text.</p>\n<p><strong>Optional:</strong></p>\n<ul>\n<li><code class=\"codespan\">&#39;normal&#39;</code></li>\n<li><code class=\"codespan\">&#39;bold&#39;</code></li>\n<li><code class=\"codespan\">&#39;bolder&#39;</code></li>\n<li><code class=\"codespan\">&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n"
+  },
+  "itemStyle": {
+    "desc": "<p>Visual properties of 3D graphics in A 3D geographic coordinate system component, including color, transparency, strokes, etc.</p>\n"
+  },
+  "itemStyle.color": {
+    "desc": "<p>The color of the graphic. </p>\n<pre><code class=\"lang-js\">// pure white\n[1, 1, 1, 1]\n</code></pre>\n<p>When using an array representation, each channel can set a value greater than 1 to represent the color value of HDR.</p>\n"
+  },
+  "itemStyle.opacity": {
+    "desc": "<p>The opacity of the graphic.</p>\n"
+  },
+  "itemStyle.borderWidth": {
+    "desc": "<p>The width of the border. With the border, you can distinguish each area more clearly. As shown below:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/geo-border.png\"></p>\n"
+  },
+  "itemStyle.borderColor": {
+    "desc": "<p>The color of the border.</p>\n"
+  },
+  "emphasis": {
+    "desc": "<p>Graphic and label styles when mouse hover is highlighted.</p>\n"
+  },
+  "emphasis.label.show": {
+    "desc": "<p>Whether to show the label.</p>\n"
+  },
+  "emphasis.label.distance": {
+    "desc": "<p>Distance to the host graphic element.</p>\n<p>The distance from the label to the graphic. In a 3D Scatter, this distance is the pixel value of the screen space. In other figures, this distance is the relative 3D distance.</p>\n"
+  },
+  "emphasis.label.formatter": {
+    "desc": "<p>The formatter of the label content, which supports the string template and the callback function. In either form, <code class=\"codespan\">\\n</code> is supported to represent a new line.</p>\n<p><strong>String template:</strong> </p>\n<p>The model variation includes:</p>\n<ul>\n<li><code class=\"codespan\">{a}</code>: series name.</li>\n<li><code class=\"codespan\">{b}</code>: the name of a data item.</li>\n<li><code class=\"codespan\">{c}</code>: the value of a data ite [...]
+  },
+  "emphasis.label.textStyle": {
+    "desc": "<p>The font style of the label.</p>\n"
+  },
+  "emphasis.label.textStyle.color": {
+    "desc": "<p>The Color of the text.</p>\n"
+  },
+  "emphasis.label.textStyle.borderWidth": {
+    "desc": "<p>The border width of the text.</p>\n"
+  },
+  "emphasis.label.textStyle.borderColor": {
+    "desc": "<p>The border color of the text.</p>\n"
+  },
+  "emphasis.label.textStyle.fontFamily": {
+    "desc": "<p>The font family of the text.</p>\n"
+  },
+  "emphasis.label.textStyle.fontSize": {
+    "desc": "<p>The font size of the text.</p>\n"
+  },
+  "emphasis.label.textStyle.fontWeight": {
+    "desc": "<p>The font thick weight of the text.</p>\n<p><strong>Optional:</strong></p>\n<ul>\n<li><code class=\"codespan\">&#39;normal&#39;</code></li>\n<li><code class=\"codespan\">&#39;bold&#39;</code></li>\n<li><code class=\"codespan\">&#39;bolder&#39;</code></li>\n<li><code class=\"codespan\">&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n"
+  },
+  "emphasis.itemStyle.color": {
+    "desc": "<p>The color of the graphic. </p>\n<pre><code class=\"lang-js\">// pure white\n[1, 1, 1, 1]\n</code></pre>\n<p>When using an array representation, each channel can set a value greater than 1 to represent the color value of HDR.</p>\n"
+  },
+  "emphasis.itemStyle.opacity": {
+    "desc": "<p>The opacity of the graphic.</p>\n"
+  },
+  "regions": {
+    "desc": "<p>The setting of the map area.</p>\n"
+  },
+  "regions.name": {
+    "desc": "<p>The name of the corresponding map area, such as <code class=\"codespan\">&#39;Guangdong&#39;</code>, <code class=\"codespan\">&#39;Zhejiang&#39;</code>.</p>\n"
+  },
+  "regions.regionHeight": {
+    "desc": "<p>The height of the area. Different heights can be set to express the size of the data. When GeoJSON is the data of the building, this value can also be used to represent the approximate height. As shown below:</p>\n<p><img width=\"700\" height=\"auto\" src=\"documents/asset/gl/img/city-region-height.jpg\"></p>\n"
+  },
+  "regions.itemStyle": {
+    "desc": "<p>Style settings for a single area.</p>\n"
+  },
+  "regions.itemStyle.color": {
+    "desc": "<p>The color of the graphic. </p>\n<pre><code class=\"lang-js\">// pure white\n[1, 1, 1, 1]\n</code></pre>\n<p>When using an array representation, each channel can set a value greater than 1 to represent the color value of HDR.</p>\n"
+  },
+  "regions.itemStyle.opacity": {
+    "desc": "<p>The opacity of the graphic.</p>\n"
+  },
+  "regions.itemStyle.borderWidth": {
+    "desc": "<p>The width of the border. With the border, you can distinguish each area more clearly. As shown below:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/geo-border.png\"></p>\n"
+  },
+  "regions.itemStyle.borderColor": {
+    "desc": "<p>The color of the border.</p>\n"
+  },
+  "regions.label": {
+    "desc": "<p>Label settings for a single area.</p>\n"
+  },
+  "regions.label.show": {
+    "desc": "<p>Whether to show the label.</p>\n"
+  },
+  "regions.label.distance": {
+    "desc": "<p>Distance to the host graphic element.</p>\n<p>The distance from the label to the graphic. In a 3D Scatter, this distance is the pixel value of the screen space. In other figures, this distance is the relative 3D distance.</p>\n"
+  },
+  "regions.label.formatter": {
+    "desc": "<p>The formatter of the label content, which supports the string template and the callback function. In either form, <code class=\"codespan\">\\n</code> is supported to represent a new line.</p>\n<p><strong>String template:</strong> </p>\n<p>The model variation includes:</p>\n<ul>\n<li><code class=\"codespan\">{a}</code>: series name.</li>\n<li><code class=\"codespan\">{b}</code>: the name of a data item.</li>\n<li><code class=\"codespan\">{c}</code>: the value of a data ite [...]
+  },
+  "regions.label.textStyle": {
+    "desc": "<p>The font style of the label.</p>\n"
+  },
+  "regions.label.textStyle.color": {
+    "desc": "<p>The Color of the text.</p>\n"
+  },
+  "regions.label.textStyle.borderWidth": {
+    "desc": "<p>The border width of the text.</p>\n"
+  },
+  "regions.label.textStyle.borderColor": {
+    "desc": "<p>The border color of the text.</p>\n"
+  },
+  "regions.label.textStyle.fontFamily": {
+    "desc": "<p>The font family of the text.</p>\n"
+  },
+  "regions.label.textStyle.fontSize": {
+    "desc": "<p>The font size of the text.</p>\n"
+  },
+  "regions.label.textStyle.fontWeight": {
+    "desc": "<p>The font thick weight of the text.</p>\n<p><strong>Optional:</strong></p>\n<ul>\n<li><code class=\"codespan\">&#39;normal&#39;</code></li>\n<li><code class=\"codespan\">&#39;bold&#39;</code></li>\n<li><code class=\"codespan\">&#39;bolder&#39;</code></li>\n<li><code class=\"codespan\">&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n"
+  },
+  "regions.emphasis": {
+    "desc": "<p>Setting the highlight for labels and styles for a single area.</p>\n"
+  },
+  "regions.emphasis.itemStyle.color": {
+    "desc": "<p>The color of the graphic. </p>\n<pre><code class=\"lang-js\">// pure white\n[1, 1, 1, 1]\n</code></pre>\n<p>When using an array representation, each channel can set a value greater than 1 to represent the color value of HDR.</p>\n"
+  },
+  "regions.emphasis.itemStyle.opacity": {
+    "desc": "<p>The opacity of the graphic.</p>\n"
+  },
+  "regions.emphasis.itemStyle.borderWidth": {
+    "desc": "<p>The width of the border. With the border, you can distinguish each area more clearly. As shown below:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/geo-border.png\"></p>\n"
+  },
+  "regions.emphasis.itemStyle.borderColor": {
+    "desc": "<p>The color of the border.</p>\n"
+  },
+  "regions.emphasis.label.show": {
+    "desc": "<p>Whether to show the label.</p>\n"
+  },
+  "regions.emphasis.label.distance": {
+    "desc": "<p>Distance to the host graphic element.</p>\n<p>The distance from the label to the graphic. In a 3D Scatter, this distance is the pixel value of the screen space. In other figures, this distance is the relative 3D distance.</p>\n"
+  },
+  "regions.emphasis.label.formatter": {
+    "desc": "<p>The formatter of the label content, which supports the string template and the callback function. In either form, <code class=\"codespan\">\\n</code> is supported to represent a new line.</p>\n<p><strong>String template:</strong> </p>\n<p>The model variation includes:</p>\n<ul>\n<li><code class=\"codespan\">{a}</code>: series name.</li>\n<li><code class=\"codespan\">{b}</code>: the name of a data item.</li>\n<li><code class=\"codespan\">{c}</code>: the value of a data ite [...]
+  },
+  "regions.emphasis.label.textStyle": {
+    "desc": "<p>The font style of the label.</p>\n"
+  },
+  "regions.emphasis.label.textStyle.color": {
+    "desc": "<p>The Color of the text.</p>\n"
+  },
+  "regions.emphasis.label.textStyle.borderWidth": {
+    "desc": "<p>The border width of the text.</p>\n"
+  },
+  "regions.emphasis.label.textStyle.borderColor": {
+    "desc": "<p>The border color of the text.</p>\n"
+  },
+  "regions.emphasis.label.textStyle.fontFamily": {
+    "desc": "<p>The font family of the text.</p>\n"
+  },
+  "regions.emphasis.label.textStyle.fontSize": {
+    "desc": "<p>The font size of the text.</p>\n"
+  },
+  "regions.emphasis.label.textStyle.fontWeight": {
+    "desc": "<p>The font thick weight of the text.</p>\n<p><strong>Optional:</strong></p>\n<ul>\n<li><code class=\"codespan\">&#39;normal&#39;</code></li>\n<li><code class=\"codespan\">&#39;bold&#39;</code></li>\n<li><code class=\"codespan\">&#39;bolder&#39;</code></li>\n<li><code class=\"codespan\">&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n"
+  },
+  "shading": {
+    "desc": "<p>The coloring effect of 3D graphics in A 3D geographic coordinate system component. The following three coloring methods are supported in echarts-gl:</p>\n<ul>\n<li><p><code class=\"codespan\">&#39;color&#39;</code>\nOnly display colors, not affected by other factors such as lighting.</p>\n</li>\n<li><p><code class=\"codespan\">&#39;lambert&#39;</code>\nThrough the classic [lambert] coloring, can express the light and dark that the light shows.</p>\n</li>\n<li><p><code cla [...]
+  },
+  "realisticMaterial": {
+    "desc": "<p>The configuration item of the realistic material is valid when <a href=\"#geo3D.shading\">shading</a> is <code class=\"codespan\">&#39;realistic&#39;</code>.</p>\n"
+  },
+  "realisticMaterial.detailTexture": {
+    "desc": "<p>The texture map of the material detail.</p>\n"
+  },
+  "realisticMaterial.textureTiling": {
+    "desc": "<p>Tiles the texture map of the material detail. The default is <code class=\"codespan\">1</code>, which means that the stretch is filled. When greater than <code class=\"codespan\">1</code>, the number indicates how many times the texture is tiled.</p>\n<p><strong>Note:</strong>  The use of tiling requires the <code class=\"codespan\">detail texture</code> height and width to be 2 to the power of n. For example, 512x512, if it is a 200x200 texture, you cannot use tiling.</p>\n"
+  },
+  "realisticMaterial.textureOffset": {
+    "desc": "<p>The displacement of the texture detail texture.</p>\n"
+  },
+  "realisticMaterial.roughness": {
+    "desc": "<p>The <code class=\"codespan\">roughness</code> attribute is used to indicate the roughness of the material, <code class=\"codespan\">0</code> is completely smooth, <code class=\"codespan\">1</code> is completely rough, and the middle value is between the two.</p>\n<p>The following images show the effect of <code class=\"codespan\">roughness</code> in <a href=\"#globe\"><code class=\"codespan\">globe</code></a> <code class=\"codespan\">0.2</code> (smooth) and <code class=\" [...]
+  },
+  "realisticMaterial.metalness": {
+    "desc": "<p>The <code class=\"codespan\">metalness</code> attribute is used to indicate whether the material is metal or non-metal, <code class=\"codespan\">0</code> is non-metallic, <code class=\"codespan\">1</code> is metal, and the middle value is between the two. Usually set to <code class=\"codespan\">0</code> and <code class=\"codespan\">1</code> to meet most of the scenes.</p>\n<p>The picture below show the difference between `metal&#39; and &#39;0&#39; in <a href=\"#globe\">g [...]
+  },
+  "realisticMaterial.roughnessAdjust": {
+    "desc": "<p>Roughness adjustment is useful when using roughness map. The overall roughness of the texture can be adjusted. The default is <code class=\"codespan\">0.5</code>, <code class=\"codespan\">0</code> is completely smooth, <code class=\"codespan\">1</code> is completely rough.</p>\n"
+  },
+  "realisticMaterial.metalnessAdjust": {
+    "desc": "<p>Metalness adjustment is useful when using metalness maps. The overall metallicity of the texture can be adjusted. The default is <code class=\"codespan\">0.5</code>, <code class=\"codespan\">0</code> is non-metal, <code class=\"codespan\">1</code> is metal.</p>\n"
+  },
+  "realisticMaterial.normalTexture": {
+    "desc": "<p>Normal map of material details.</p>\n<p>Using normal maps, you can still display rich shades of detail on the surface of the object with fewer vertices.</p>\n"
+  },
+  "lambertMaterial": {
+    "desc": "<p>The configuration item of the lambert material is valid when <a href=\"#geo3D.shading\">shading</a> is <code class=\"codespan\">&#39;lambert&#39;</code>.</p>\n"
+  },
+  "lambertMaterial.detailTexture": {
+    "desc": "<p>The texture map of the material detail.</p>\n"
+  },
+  "lambertMaterial.textureTiling": {
+    "desc": "<p>Tiles the texture map of the material detail. The default is <code class=\"codespan\">1</code>, which means that the stretch is filled. When greater than <code class=\"codespan\">1</code>, the number indicates how many times the texture is tiled.</p>\n<p><strong>Note:</strong>  The use of tiling requires the <code class=\"codespan\">detail texture</code> height and width to be 2 to the power of n. For example, 512x512, if it is a 200x200 texture, you cannot use tiling.</p>\n"
+  },
+  "lambertMaterial.textureOffset": {
+    "desc": "<p>The displacement of the texture detail texture.</p>\n"
+  },
+  "colorMaterial": {
+    "desc": "<p>The color material related configuration item is valid when <a href=\"#geo3D.shading\">shading</a> is <code class=\"codespan\">&#39;color&#39;</code>.</p>\n"
+  },
+  "colorMaterial.detailTexture": {
+    "desc": "<p>The texture map of the material detail.</p>\n"
+  },
+  "colorMaterial.textureTiling": {
+    "desc": "<p>Tiles the texture map of the material detail. The default is <code class=\"codespan\">1</code>, which means that the stretch is filled. When greater than <code class=\"codespan\">1</code>, the number indicates how many times the texture is tiled.</p>\n<p><strong>Note:</strong>  The use of tiling requires the <code class=\"codespan\">detail texture</code> height and width to be 2 to the power of n. For example, 512x512, if it is a 200x200 texture, you cannot use tiling.</p>\n"
+  },
+  "colorMaterial.textureOffset": {
+    "desc": "<p>The displacement of the texture detail texture.</p>\n"
+  },
+  "light": {
+    "desc": "<p>Light related settings. Invalid when <a href=\"#geo3D.shading\">shading</a> is &#39;color&#39;.</p>\n<p>The lighting settings affect the components and all the charts on the component&#39;s coordinate system.</p>\n<p>A reasonable lighting setting can make the brightness and darkness of the whole scene richer and more layered.</p>\n"
+  },
+  "light.main": {
+    "desc": "<p>The setting of the main light source of the scene. In the <a href=\"#globe\">globe</a> component is the sun.</p>\n"
+  },
+  "light.main.color": {
+    "desc": "<p>The color of the main light source.</p>\n"
+  },
+  "light.main.intensity": {
+    "desc": "<p>The intensity of the main light source.</p>\n"
+  },
+  "light.main.shadow": {
+    "desc": "<p>Whether the main light source displays a shadow. The default is off.</p>\n<p>Turning on the shadows can bring more realistic and layered lighting to the scene. But it also increases the operating overhead of the program.</p>\n<p>The following two images show the difference between turning on the shadow and turning off the shadow.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-shadow.png\" width=\"100%\" tit [...]
+  },
+  "light.main.shadowQuality": {
+    "desc": "<p>The quality of the shadow. You can choose <code class=\"codespan\">&#39;low&#39;</code>, <code class=\"codespan\">&#39;medium&#39;</code>, <code class=\"codespan\">&#39;high&#39;</code>, <code class=\"codespan\">&#39;ultra&#39;</code></p>\n<p>The following two images shows the difference between low quality and high quality shadows.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-shadow-low.png\" width=\"100 [...]
+  },
+  "light.main.alpha": {
+    "desc": "<p>The main light source is around the x-axis, which is the angle of up-down rotation. Control the direction of the light with <a href=\"#geo3D.light.main.beta\">beta</a>.</p>\n<p>As the following image show:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/light-alpha-beta.png\"></p>\n<p>The <a href=\"#globe\">globe</a> component can control the time of sunlight by <a href=\"#globe.light.main.time\">time</a>.</p>\n"
+  },
+  "light.main.beta": {
+    "desc": "<p>The main light source is around the y-axis, which is the angle of the left-right rotation.</p>\n"
+  },
+  "light.ambient": {
+    "desc": "<p>Global ambient light settings.</p>\n"
+  },
+  "light.ambient.color": {
+    "desc": "<p>The color of ambient light.</p>\n"
+  },
+  "light.ambient.intensity": {
+    "desc": "<p>The intensity of ambient light.</p>\n"
+  },
+  "light.ambientCubemap": {
+    "desc": "<p>The ambientCubemap uses texture as the source of ambient light, which provides diffuse and specular for objects. The diffuse and specular can be set separately by <a href=\"#geo3D.light.ambientCubemap.diffuseIntensity\">diffuseIntensity</a> and <a href=\"#geo3D.light.ambientCubemap.specularIntensity\">specularIntensity</a>.</p>\n"
+  },
+  "light.ambientCubemap.texture": {
+    "desc": "<p>The URL of the ambient cubemap supports HDR images in the <code class=\"codespan\">.hdr</code> format. You can obtained the resources for <code class=\"codespan\">.hdr</code> from <a href=\"http://www.hdrlabs.com/sibl/archive.html\" target=\"_blank\">http://www.hdrlabs.com/sibl/archive.html</a> and other websites.</p>\n<p>Example:</p>\n<pre><code class=\"lang-js\">ambientCubemap: {\n    texture: &#39;pisa.hdr&#39;,\n    // The exposure value used when analytic hdr\n    ex [...]
+  },
+  "light.ambientCubemap.diffuseIntensity": {
+    "desc": "<p>The intensity of diffuse.</p>\n"
+  },
+  "light.ambientCubemap.specularIntensity": {
+    "desc": "<p>The intensity of specular.</p>\n"
+  },
+  "postEffect": {
+    "desc": "<p>Post-processing effects related configuration. It can add effects such as highlights, depth of field, screen space ambient occlusion (SSAO), toning to the picture. And it can make the whole picture more textured.</p>\n<p>The following are the differences between closing <code class=\"codespan\">postEffect</code> and opening <code class=\"codespan\">postEffect</code>.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/i [...]
+  },
+  "postEffect.enable": {
+    "desc": "<p>Whether to enable post-processing effects. Not enabled by default.</p>\n"
+  },
+  "postEffect.bloom": {
+    "desc": "<p>Bloom is used to reproducing the effects that occur in real cameras when taking pictures in a bright environment.\nBecause traditional RGB can only represent colors in the range of &#39;0 - 255&#39;, so we need to use the bloom effect simulates fringes of light extending from the borders of bright areas, creating the illusion of a bright light overwhelming the camera. As shown below:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/globe-posteffect-blo [...]
+  },
+  "postEffect.bloom.enable": {
+    "desc": "<p>Whether to enable the bloom effect.</p>\n"
+  },
+  "postEffect.bloom.bloomIntensity": {
+    "desc": "<p>The intensity of the bloom. The default is 0.1.</p>\n"
+  },
+  "postEffect.depthOfField": {
+    "desc": "<p>Depth of Field is a post-processing effect that simulates the focus properties of a camera. The area of focus is clear, and the area away from the focus is gradually blurred.</p>\n<p>The depth of field effect allows the observer to focus on the area of focus and make the picture feel stronger. Large depth of field can also create a macro model effect.</p>\n<p>The following are the differences between turning off and turning on the depth of field effect.</p>\n<div  class=\ [...]
+  },
+  "postEffect.depthOfField.enable": {
+    "desc": "<p>Whether to enable the depth of field.</p>\n"
+  },
+  "postEffect.depthOfField.focalDistance": {
+    "desc": "<p>The initial focus distance. The user can click on the area to automatically focus.</p>\n"
+  },
+  "postEffect.depthOfField.focalRange": {
+    "desc": "<p>The size of the in-focus area. The objects in this range are completely clear and there is no blurring.</p>\n"
+  },
+  "postEffect.depthOfField.fstop": {
+    "desc": "<p>[F value] of the lens (<a href=\"https://zh.wikipedia.org/wiki/%E7%84%A6%E6%AF%94)\" target=\"_blank\">https://zh.wikipedia.org/wiki/%E7%84%A6%E6%AF%94)</a>, the smaller the value, the shallower the depth of field.</p>\n"
+  },
+  "postEffect.depthOfField.blurRadius": {
+    "desc": "<p>Blur radius outside the focus.</p>\n<p>The difference blur effect between the different radius. </p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-dof-small.png\" width=\"100%\" title=\"blurSize: 3\"><img />\n    <img  src=\"documents/asset/gl/img/geo-dof-large.png\" width=\"100%\" title=\"blurSize: 10\"><img />\n<div />\n"
+  },
+  "postEffect.screenSpaceAmbientOcclusion": {
+    "desc": "<p>The ambient occlusion post-processing effect darkens the corners, holes, crevices, and areas where most light can`t reach. It is a supplement to the traditional shadow map, which makes the whole scene more natural and layered.</p>\n<p>Below is a comparison of the effects of no SSAO and SSAO:</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-no-ssao.png\" width=\"100%\" title=\"No SSAO\"><img />\n    <img  src= [...]
+  },
+  "postEffect.SSAO": {
+    "desc": "<p>Same as <a href=\"#geo3D.postEffect.screenSpaceAmbientOcclusion\">screenSpaceAmbientOcclusion</a></p>\n"
+  },
+  "postEffect.SSAO.enable": {
+    "desc": "<p>Whether to enable SSAO (screen space ambient occlusion). Not enabled by default.</p>\n"
+  },
+  "postEffect.SSAO.quality": {
+    "desc": "<p>The quality of SSAO (screen space ambient occlusion). Supporting<code class=\"codespan\">&#39;low&#39;</code>, <code class=\"codespan\">&#39;medium&#39;</code>, <code class=\"codespan\">&#39;high&#39;</code>, <code class=\"codespan\">&#39;ultra&#39;</code></p>\n"
+  },
+  "postEffect.SSAO.radius": {
+    "desc": "<p>The radius of the SSAO (screen space ambient occlusion). The larger the radius, the more natural the effect, but you need to set a higher <code class=\"codespan\">&#39;quality&#39;</code>. </p>\n<p>The following example is the difference between a smaller and larger radius:</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-ssao-small-radius.png\" width=\"100%\" title=\"Radius: 1\"><img />\n    <img  src=\"docu [...]
+  },
+  "postEffect.SSAO.intensity": {
+    "desc": "<p>The intensity of SSAO (screen space ambient occlusion). The larger the value, the darker the color.</p>\n"
+  },
+  "postEffect.colorCorrection": {
+    "desc": "<p>Color correction and adjustment. Similar to Color Adjustments in Photoshop.</p>\n<p>The same scene in the figure below is adjusted to the difference between the cool color system and the warm color system.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/buildings-cold.jpg\" width=\"100%\" title=\"Cold\"><img />\n    <img  src=\"documents/asset/gl/img/buildings-warm.jpg\" width=\"100%\" title=\"Warm\"><img />\n<d [...]
+  },
+  "postEffect.colorCorrection.enable": {
+    "desc": "<p>Whether to enable the color correction.</p>\n"
+  },
+  "postEffect.colorCorrection.lookupTexture": {
+    "desc": "<p>Color correction lookup texture, recommended.</p>\n<p>The color correction lookup texture is a texture image like the one below.</p>\n<p><img width=\"200\" height=\"auto\" src=\"documents/asset/gl/img/lookup.png\"></p>\n<p>This is the basic lookup texture image that you can use directly.\nTo adjust the color of the scene to the effect you want, you can take a screenshot of the scene and adjust the color to the desired effect in image processing software such as Photoshop. [...]
+  },
+  "postEffect.colorCorrection.exposure": {
+    "desc": "<p>The exposure of the image.</p>\n"
+  },
+  "postEffect.colorCorrection.brightness": {
+    "desc": "<p>The brightness of the image.</p>\n"
+  },
+  "postEffect.colorCorrection.contrast": {
+    "desc": "<p>The contrast of the image.</p>\n"
+  },
+  "postEffect.colorCorrection.saturation": {
+    "desc": "<p>The saturation of the image.</p>\n"
+  },
+  "postEffect.FXAA": {
+    "desc": "<p>After opening <a href=\"#geo3D.postEffect\">postEffect</a>, WebGL&#39;s default MSAA (Multi Sampling Anti Aliasing) will not work. At this time, FXAA (Fast Approximate Anti-Aliasing) can solve the anti-aliasing problem quickly and easily. FXAA blurs the edge of the scene to solve the problem of aliasing. It works well on some scenes, but in echarts-gl, you need to ensure that the edges of many texts and lines are sharp and clear, so FXAA is not suitable. At this point we  [...]
+  },
+  "postEffect.FXAA.enable": {
+    "desc": "<p>Whether to enable FXAA. Not enabled by default.</p>\n"
+  },
+  "temporalSuperSampling": {
+    "desc": "<p>Temporal supersampling. After opening <a href=\"#geo3D.postEffect\">postEffect</a>, WebGL&#39;s default MSAA (MultiSampling Anti-Aliasing) will not work, so we need to solve the problem of sampling.</p>\n<p>Temporal supersampling is an anti-aliasing method. After the picture is still, it will continue to sample multiple times and taken at several instances inside the pixel and an average color value is calculated, thus achieving anti-aliasing effect.\nAnd in this process, [...]
+  },
+  "temporalSuperSampling.enable": {
+    "desc": "<p>Whether to enable temporal supersampling. By default, temporal supersampling is also turned on synchronously when <a href=\"#geo3D.postEffect\">postEffect</a> is turned on.</p>\n"
+  },
+  "viewControl": {
+    "desc": "<p><code class=\"codespan\">viewControl</code> is used for mouse rotation, zooming, and other perspective control.</p>\n"
+  },
+  "viewControl.projection": {
+    "desc": "<p>The way of projection, the default is <code class=\"codespan\">&#39;perspective&#39;</code> projection, also supports setting to <code class=\"codespan\">&#39;orthogonal&#39;</code> projection.</p>\n"
+  },
+  "viewControl.autoRotate": {
+    "desc": "<p>Whether to enable the angle of view to automatically rotate around the object.</p>\n"
+  },
+  "viewControl.autoRotateDirection": {
+    "desc": "<p>The direction in which the object auto rotates. The default is <code class=\"codespan\">&#39;cw&#39;</code> means clockwise from top to bottom, and can also use  <code class=\"codespan\">&#39;ccw&#39;</code> means counterclockwise from top to bottom.</p>\n"
+  },
+  "viewControl.autoRotateSpeed": {
+    "desc": "<p>The speed at which the object auto rotates. The unit is <code class=\"codespan\">angle/second</code>, the default is <code class=\"codespan\">10</code>, which is a turn of <code class=\"codespan\">36</code> seconds.</p>\n"
+  },
+  "viewControl.autoRotateAfterStill": {
+    "desc": "<p>The time interval for automatic rotation to resume after the mouse is still. Valid after opening <a href=\"#geo3D.viewControl.autoRotate\">autoRotate</a>.</p>\n"
+  },
+  "viewControl.damping": {
+    "desc": "<p>The damping when the mouse is rotated, zoomed, etc.\nWhen it is greater than 0, the angle of view will continue to move (rotate and zoom) due to certain inertia after the mouse is still.</p>\n"
+  },
+  "viewControl.rotateSensitivity": {
+    "desc": "<p>The sensitivity of the rotation operation. The greater the value, the more sensitive. Supports the use of arrays to set the horizontal and vertical rotation sensitivity separately.</p>\n<p>The default is <code class=\"codespan\">1</code>.</p>\n<p>Cannot be rotated after setting to <code class=\"codespan\">0</code>.</p>\n<pre><code class=\"lang-js\">// can&#39;t rotate\nrotateSensitivity: 0\n// can only be rotated horizontally\nrotateSensitivity: [1, 0]\n//  can only rotat [...]
+  },
+  "viewControl.zoomSensitivity": {
+    "desc": "<p>The sensitivity of the zoom operation, the larger the value, the more sensitive. The default is <code class=\"codespan\">1</code>.</p>\n<p>Can<code class=\"codespan\">t be scaled after setting to</code>0`.</p>\n"
+  },
+  "viewControl.panSensitivity": {
+    "desc": "<p>The sensitivity of the panning operation, the greater the value, the more sensitive. Supports the use of arrays to set the horizontal and vertical translation sensitivity.</p>\n<p>The default is <code class=\"codespan\">1</code>.</p>\n<p>Cannot pan after setting to <code class=\"codespan\">0</code>.</p>\n"
+  },
+  "viewControl.panMouseButton": {
+    "desc": "<p>The mouse button used for panning operation supports:</p>\n<ul>\n<li><p><code class=\"codespan\">&#39;left&#39;</code> left mouse button (default)</p>\n</li>\n<li><p><code class=\"codespan\">&#39;middle&#39;</code> middle mouse button</p>\n</li>\n<li><p><code class=\"codespan\">&#39;right&#39;</code> right mouse button</p>\n</li>\n</ul>\n<p>Note: If set to the right mouse button, the default context menu will be blocked.</p>\n"
+  },
+  "viewControl.rotateMouseButton": {
+    "desc": "<p>The mouse button used for the rotation operation supports:</p>\n<ul>\n<li><p><code class=\"codespan\">&#39;left&#39;</code> left mouse button</p>\n</li>\n<li><p><code class=\"codespan\">&#39;middle&#39;</code> middle mouse button (default)</p>\n</li>\n<li><p><code class=\"codespan\">&#39;right&#39;</code> right mouse button</p>\n</li>\n</ul>\n<p>Note: If set to the right mouse button, the default context menu will be blocked.</p>\n"
+  },
+  "viewControl.distance": {
+    "desc": "<p>The distance of the default perspective from the subject. For <a href=\"#globe\">globe</a>, the distance from the Earth&#39;s surface is the distance from the center origin for other components such as <a href=\"#grid3D\">grid3D</a> and <a href=\"#geo3D\">geo3D</a>. Valid when <a href=\"#geo3D.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;perspective&#39;</code>.</p>\n"
+  },
+  "viewControl.minDistance": {
+    "desc": "<p>The angle of view is controlled by the mouse to bring the minimum distance to the subject. Valid when <a href=\"#geo3D.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;perspective&#39;</code>.</p>\n"
+  },
+  "viewControl.maxDistance": {
+    "desc": "<p>The angle of view can be extended to the maximum distance of the subject by mouse control. Valid when <a href=\"#geo3D.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;perspective&#39;</code>.</p>\n"
+  },
+  "viewControl.orthographicSize": {
+    "desc": "<p>The size of the orthogonal projection. Valid when <a href=\"#geo3D.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;orthographic&#39;</code>.</p>\n"
+  },
+  "viewControl.maxOrthographicSize": {
+    "desc": "<p>The maximum value of the orthogonal projection scaling. Valid when <a href=\"#geo3D.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;orthographic&#39;</code>.</p>\n"
+  },
+  "viewControl.minOrthographicSize": {
+    "desc": "<p>The minimum value of the orthogonal projection scaling. Valid when <a href=\"#geo3D.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;orthographic&#39;</code></p>\n"
+  },
+  "viewControl.alpha": {
+    "desc": "<p>The angle of view is around the x-axis, which is the angle of rotation up and down. With <a href=\"#geo3D.light.main.beta\">beta</a> you can control the direction of the perspective.</p>\n<p>As shown below:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/view-alpha-beta.png\"></p>\n"
+  },
+  "viewControl.beta": {
+    "desc": "<p>The angle of view is around the y-axis, which is the angle of rotation from left to right.</p>\n"
+  },
+  "viewControl.center": {
+    "desc": "<p>At the center of the angle of view, the rotation will also rotate around this center point. The default is <code class=\"codespan\">[0,0,0]</code>.</p>\n"
+  },
+  "viewControl.minAlpha": {
+    "desc": "<p>The minimum alpha value to rotate up and down. That is, the angle of view can be rotated to reach the uppermost angle.</p>\n"
+  },
+  "viewControl.maxAlpha": {
+    "desc": "<p>The maximum alpha value to rotate up and down. That is, the angle of view can be rotated to the lowest angle.</p>\n"
+  },
+  "viewControl.minBeta": {
+    "desc": "<p>The minimum beta value to rotate left and right. That is, the angle of view can be rotated to the leftmost angle.</p>\n"
+  },
+  "viewControl.maxBeta": {
+    "desc": "<p>The maximum beta value to rotate left and right rotation. That is, the angle of view can be rotated to the rightmost angle.</p>\n"
+  },
+  "viewControl.animation": {
+    "desc": "<p>Whether to enable animation.</p>\n"
+  },
+  "viewControl.animationDurationUpdate": {
+    "desc": "<p>The duration time for update the transition animation.</p>\n"
+  },
+  "viewControl.animationEasingUpdate": {
+    "desc": "<p>The easing effect for update transition animation.</p>\n"
+  },
+  "zlevel": {
+    "desc": "<p>The layer in which the component is located.</p>\n<p><code class=\"codespan\">zlevel</code> is used to make layers with Canvas. Graphical elements with different <code class=\"codespan\">zlevel</code> values will be placed in different Canvases, which is a common optimization technique. We can put those frequently changed elements (like those with animations) to a separate <code class=\"codespan\">zlevel</code>. Notice that too many Canvases will increase memory cost, and [...]
+  },
+  "left": {
+    "desc": "<p>Distance between  component and the left side of the container.</p>\n<p><code class=\"codespan\">left</code> value can be instant pixel value like <code class=\"codespan\">20</code>; it can also be a percentage value relative to container width like <code class=\"codespan\">&#39;20%&#39;</code>; and it can also be <code class=\"codespan\">&#39;left&#39;</code>, <code class=\"codespan\">&#39;center&#39;</code>, or <code class=\"codespan\">&#39;right&#39;</code>.</p>\n<p>If [...]
+  },
+  "top": {
+    "desc": "<p>Distance between  component and the top side of the container.</p>\n<p><code class=\"codespan\">top</code> value can be instant pixel value like <code class=\"codespan\">20</code>; it can also be a percentage value relative to container width like <code class=\"codespan\">&#39;20%&#39;</code>; and it can also be <code class=\"codespan\">&#39;top&#39;</code>, <code class=\"codespan\">&#39;middle&#39;</code>, or <code class=\"codespan\">&#39;bottom&#39;</code>.</p>\n<p>If t [...]
+  },
+  "right": {
+    "desc": "<p>Distance between  component and the right side of the container.</p>\n<p><code class=\"codespan\">right</code> value can be instant pixel value like <code class=\"codespan\">20</code>; it can also be a percentage value relative to container width like <code class=\"codespan\">&#39;20%&#39;</code>.</p>\n<p> Adaptive by default.</p>\n"
+  },
+  "bottom": {
+    "desc": "<p>Distance between  component and the bottom side of the container.</p>\n<p><code class=\"codespan\">bottom</code> value can be instant pixel value like <code class=\"codespan\">20</code>; it can also be a percentage value relative to container width like <code class=\"codespan\">&#39;20%&#39;</code>.</p>\n<p> Adaptive by default.</p>\n"
+  },
+  "width": {
+    "desc": "<p> The width of the view of the component.</p>\n"
+  },
+  "height": {
+    "desc": "<p> The height of the view of the component.</p>\n"
+  }
+}
\ No newline at end of file
diff --git a/next/en/documents/option-gl-parts/option-gl.globe.js b/next/en/documents/option-gl-parts/option-gl.globe.js
new file mode 100644
index 0000000..6dea46e
--- /dev/null
+++ b/next/en/documents/option-gl-parts/option-gl.globe.js
@@ -0,0 +1,350 @@
+window.__EC_DOC_option_gl_globe = {
+  "show": {
+    "desc": "<p>Whether to show the globe component.</p>\n"
+  },
+  "zlevel": {
+    "desc": "<p>The layer in which the component is located.</p>\n<p><code class=\"codespan\">zlevel</code> is used to make layers with Canvas. Graphical elements with different <code class=\"codespan\">zlevel</code> values will be placed in different Canvases, which is a common optimization technique. We can put those frequently changed elements (like those with animations) to a separate <code class=\"codespan\">zlevel</code>. Notice that too many Canvases will increase memory cost, and [...]
+  },
+  "left": {
+    "desc": "<p>Distance between  component and the left side of the container.</p>\n<p><code class=\"codespan\">left</code> value can be instant pixel value like <code class=\"codespan\">20</code>; it can also be a percentage value relative to container width like <code class=\"codespan\">&#39;20%&#39;</code>; and it can also be <code class=\"codespan\">&#39;left&#39;</code>, <code class=\"codespan\">&#39;center&#39;</code>, or <code class=\"codespan\">&#39;right&#39;</code>.</p>\n<p>If [...]
+  },
+  "top": {
+    "desc": "<p>Distance between  component and the top side of the container.</p>\n<p><code class=\"codespan\">top</code> value can be instant pixel value like <code class=\"codespan\">20</code>; it can also be a percentage value relative to container width like <code class=\"codespan\">&#39;20%&#39;</code>; and it can also be <code class=\"codespan\">&#39;top&#39;</code>, <code class=\"codespan\">&#39;middle&#39;</code>, or <code class=\"codespan\">&#39;bottom&#39;</code>.</p>\n<p>If t [...]
+  },
+  "right": {
+    "desc": "<p>Distance between  component and the right side of the container.</p>\n<p><code class=\"codespan\">right</code> value can be instant pixel value like <code class=\"codespan\">20</code>; it can also be a percentage value relative to container width like <code class=\"codespan\">&#39;20%&#39;</code>.</p>\n<p> Adaptive by default.</p>\n"
+  },
+  "bottom": {
+    "desc": "<p>Distance between  component and the bottom side of the container.</p>\n<p><code class=\"codespan\">bottom</code> value can be instant pixel value like <code class=\"codespan\">20</code>; it can also be a percentage value relative to container width like <code class=\"codespan\">&#39;20%&#39;</code>.</p>\n<p> Adaptive by default.</p>\n"
+  },
+  "width": {
+    "desc": "<p> The width of the view of the component.</p>\n"
+  },
+  "height": {
+    "desc": "<p> The height of the view of the component.</p>\n"
+  },
+  "globeRadius": {
+    "desc": "<p>The radius of the globe. The unit is relative to the three-dimensional space, related to <a href=\"#globe.viewControl.distance\">viewControl.distance</a>.</p>\n"
+  },
+  "globeOuterRadius": {
+    "desc": "<p>The outer radius of the globe. This area between <code class=\"codespan\">globeRadius</code> and <code class=\"codespan\">globeOuterRadius</code> will be used to display 3D histograms, scatter plots, etc.</p>\n"
+  },
+  "environment": {
+    "desc": "<p>Environment map. Support for solid colors, gradual colors, URL of panoramic texture. The default is <code class=\"codespan\">&#39;auto&#39;</code>, which is used as the environment texture when <a href=\"#.light.ambientCubemap.texture\">light.ambientCubemap.texture</a> is configured. Otherwise, the environment texture is not displayed.</p>\n<p>Example: </p>\n<pre><code class=\"lang-js\">// Configure as a panoramic texture\nenvironment: &#39;asset/starfield.jpg&#39;\n// Co [...]
+  },
+  "baseTexture": {
+    "desc": "<p>The texture of the globe. Support for the string of image paths, images object or Canvas objects.</p>\n<p>It also supports to use an echarts example as a texture directly, in which case mouse actions on Earth will be linked to the echarts instance used on the texture.</p>\n<p>Example: </p>\n<pre><code class=\"lang-js\">// Use the globe&#39;s texture image\nbaseTexture: &#39;asset/earth.jpg&#39;\n\n// Use the world map example of echarts as a texture.\nvar canvas = documen [...]
+  },
+  "heightTexture": {
+    "desc": "<p>The high texture of the globe. High textures can be used to match <a href=\"https://zh.wikipedia.org/wiki/%E5%87%B9%E5%87%B8%E8%B4%B4%E5%9B%BE\" target=\"_blank\">Bump Map</a> to show the light and dark details of the Earth&#39;s surface.\nThe following two images show the difference between using <code class=\"codespan\">heightTexture</code> and not using <code class=\"codespan\">heightTexuture</code>.</p>\n<p><img width=\"400\" height=\"auto\" src=\"documents/asset/gl/i [...]
+  },
+  "displacementTexture": {
+    "desc": "<p>The displacement texture of the vertices of the globe, the default is the same as a <a href=\"\" target=\"_blank\">heightTexture</a></p>\n<p>Compared to bump maps, The displacement of the vertex is to directly shift the vertices according to the texture. Valid when <a href=\"#globe.displaymentScale\">displaymentScale</a> is greater than 0.</p>\n"
+  },
+  "displacementScale": {
+    "desc": "<p>The displacement map of the globe&#39;s vertex. The default is 0, which means no displacement.\nThe following two images show the effects of setting different <code class=\"codespan\">displacementScale</code>.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/displacement-disable.png\" width=\"100%\" title=\"Scale: 0\"><img />\n    <img  src=\"documents/asset/gl/img/displacement-enable.png\" width=\"100%\" title=\ [...]
+  },
+  "displacementQuality": {
+    "desc": "<p>The quality of the globe&#39;s vertex displacement. Support for <code class=\"codespan\">&#39;low&#39;</code>, <code class=\"codespan\">&#39;medium&#39;</code>, <code class=\"codespan\">&#39;high&#39;</code>, <code class=\"codespan\">&#39;ultra&#39;</code> settings.Higher quality can show more ground height detail. \nThe following two images show the effects of different <code class=\"codespan\">displacementQuality</code>.</p>\n<div  class=\"twentytwenty-container\" style [...]
+  },
+  "shading": {
+    "desc": "<p>The coloring effect of 3D graphics in 地球. The following three coloring methods are supported in echarts-gl:</p>\n<ul>\n<li><p><code class=\"codespan\">&#39;color&#39;</code>\nOnly display colors, not affected by other factors such as lighting.</p>\n</li>\n<li><p><code class=\"codespan\">&#39;lambert&#39;</code>\nThrough the classic [lambert] coloring, can express the light and dark that the light shows.</p>\n</li>\n<li><p><code class=\"codespan\">&#39;realistic&#39;</code [...]
+  },
+  "realisticMaterial": {
+    "desc": "<p>The configuration item of the realistic material is valid when <a href=\"#globe.shading\">shading</a> is <code class=\"codespan\">&#39;realistic&#39;</code>.</p>\n"
+  },
+  "realisticMaterial.detailTexture": {
+    "desc": "<p>The texture map of the material detail.</p>\n"
+  },
+  "realisticMaterial.textureTiling": {
+    "desc": "<p>Tiles the texture map of the material detail. The default is <code class=\"codespan\">1</code>, which means that the stretch is filled. When greater than <code class=\"codespan\">1</code>, the number indicates how many times the texture is tiled.</p>\n<p><strong>Note:</strong>  The use of tiling requires the <code class=\"codespan\">detail texture</code> height and width to be 2 to the power of n. For example, 512x512, if it is a 200x200 texture, you cannot use tiling.</p>\n"
+  },
+  "realisticMaterial.textureOffset": {
+    "desc": "<p>The displacement of the texture detail texture.</p>\n"
+  },
+  "realisticMaterial.roughness": {
+    "desc": "<p>The <code class=\"codespan\">roughness</code> attribute is used to indicate the roughness of the material, <code class=\"codespan\">0</code> is completely smooth, <code class=\"codespan\">1</code> is completely rough, and the middle value is between the two.</p>\n<p>The following images show the effect of <code class=\"codespan\">roughness</code> in <a href=\"#globe\"><code class=\"codespan\">globe</code></a> <code class=\"codespan\">0.2</code> (smooth) and <code class=\" [...]
+  },
+  "realisticMaterial.metalness": {
+    "desc": "<p>The <code class=\"codespan\">metalness</code> attribute is used to indicate whether the material is metal or non-metal, <code class=\"codespan\">0</code> is non-metallic, <code class=\"codespan\">1</code> is metal, and the middle value is between the two. Usually set to <code class=\"codespan\">0</code> and <code class=\"codespan\">1</code> to meet most of the scenes.</p>\n<p>The picture below show the difference between `metal&#39; and &#39;0&#39; in <a href=\"#globe\">g [...]
+  },
+  "realisticMaterial.roughnessAdjust": {
+    "desc": "<p>Roughness adjustment is useful when using roughness map. The overall roughness of the texture can be adjusted. The default is <code class=\"codespan\">0.5</code>, <code class=\"codespan\">0</code> is completely smooth, <code class=\"codespan\">1</code> is completely rough.</p>\n"
+  },
+  "realisticMaterial.metalnessAdjust": {
+    "desc": "<p>Metalness adjustment is useful when using metalness maps. The overall metallicity of the texture can be adjusted. The default is <code class=\"codespan\">0.5</code>, <code class=\"codespan\">0</code> is non-metal, <code class=\"codespan\">1</code> is metal.</p>\n"
+  },
+  "realisticMaterial.normalTexture": {
+    "desc": "<p>Normal map of material details.</p>\n<p>Using normal maps, you can still display rich shades of detail on the surface of the object with fewer vertices.</p>\n"
+  },
+  "lambertMaterial": {
+    "desc": "<p>The configuration item of the lambert material is valid when <a href=\"#globe.shading\">shading</a> is <code class=\"codespan\">&#39;lambert&#39;</code>.</p>\n"
+  },
+  "lambertMaterial.detailTexture": {
+    "desc": "<p>The texture map of the material detail.</p>\n"
+  },
+  "lambertMaterial.textureTiling": {
+    "desc": "<p>Tiles the texture map of the material detail. The default is <code class=\"codespan\">1</code>, which means that the stretch is filled. When greater than <code class=\"codespan\">1</code>, the number indicates how many times the texture is tiled.</p>\n<p><strong>Note:</strong>  The use of tiling requires the <code class=\"codespan\">detail texture</code> height and width to be 2 to the power of n. For example, 512x512, if it is a 200x200 texture, you cannot use tiling.</p>\n"
+  },
+  "lambertMaterial.textureOffset": {
+    "desc": "<p>The displacement of the texture detail texture.</p>\n"
+  },
+  "colorMaterial": {
+    "desc": "<p>The color material related configuration item is valid when <a href=\"#globe.shading\">shading</a> is <code class=\"codespan\">&#39;color&#39;</code>.</p>\n"
+  },
+  "colorMaterial.detailTexture": {
+    "desc": "<p>The texture map of the material detail.</p>\n"
+  },
+  "colorMaterial.textureTiling": {
+    "desc": "<p>Tiles the texture map of the material detail. The default is <code class=\"codespan\">1</code>, which means that the stretch is filled. When greater than <code class=\"codespan\">1</code>, the number indicates how many times the texture is tiled.</p>\n<p><strong>Note:</strong>  The use of tiling requires the <code class=\"codespan\">detail texture</code> height and width to be 2 to the power of n. For example, 512x512, if it is a 200x200 texture, you cannot use tiling.</p>\n"
+  },
+  "colorMaterial.textureOffset": {
+    "desc": "<p>The displacement of the texture detail texture.</p>\n"
+  },
+  "light": {
+    "desc": "<p>Light related settings. Invalid when <a href=\"#globe.shading\">shading</a> is &#39;color&#39;.</p>\n<p>The lighting settings affect the components and all the charts on the component&#39;s coordinate system.</p>\n<p>A reasonable lighting setting can make the brightness and darkness of the whole scene richer and more layered.</p>\n"
+  },
+  "light.main": {
+    "desc": "<p>The setting of the main light source of the scene. In the <a href=\"#globe\">globe</a> component is the sun.</p>\n"
+  },
+  "light.main.color": {
+    "desc": "<p>The color of the main light source.</p>\n"
+  },
+  "light.main.intensity": {
+    "desc": "<p>The intensity of the main light source.</p>\n"
+  },
+  "light.main.shadow": {
+    "desc": "<p>Whether the main light source displays a shadow. The default is off.</p>\n<p>Turning on the shadows can bring more realistic and layered lighting to the scene. But it also increases the operating overhead of the program.</p>\n<p>The following two images show the difference between turning on the shadow and turning off the shadow.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-shadow.png\" width=\"100%\" tit [...]
+  },
+  "light.main.shadowQuality": {
+    "desc": "<p>The quality of the shadow. You can choose <code class=\"codespan\">&#39;low&#39;</code>, <code class=\"codespan\">&#39;medium&#39;</code>, <code class=\"codespan\">&#39;high&#39;</code>, <code class=\"codespan\">&#39;ultra&#39;</code></p>\n<p>The following two images shows the difference between low quality and high quality shadows.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-shadow-low.png\" width=\"100 [...]
+  },
+  "light.main.alpha": {
+    "desc": "<p>The main light source is around the x-axis, which is the angle of up-down rotation. Control the direction of the light with <a href=\"#globe.light.main.beta\">beta</a>.</p>\n<p>As the following image show:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/light-alpha-beta.png\"></p>\n<p>The <a href=\"#globe\">globe</a> component can control the time of sunlight by <a href=\"#globe.light.main.time\">time</a>.</p>\n"
+  },
+  "light.main.beta": {
+    "desc": "<p>The main light source is around the y-axis, which is the angle of the left-right rotation.</p>\n"
+  },
+  "light.main.time": {
+    "desc": "<p>The time of sunshine. The current system time is used by default.</p>\n"
+  },
+  "light.ambient": {
+    "desc": "<p>Global ambient light settings.</p>\n"
+  },
+  "light.ambient.color": {
+    "desc": "<p>The color of ambient light.</p>\n"
+  },
+  "light.ambient.intensity": {
+    "desc": "<p>The intensity of ambient light.</p>\n"
+  },
+  "light.ambientCubemap": {
+    "desc": "<p>The ambientCubemap uses texture as the source of ambient light, which provides diffuse and specular for objects. The diffuse and specular can be set separately by <a href=\"#globe.light.ambientCubemap.diffuseIntensity\">diffuseIntensity</a> and <a href=\"#globe.light.ambientCubemap.specularIntensity\">specularIntensity</a>.</p>\n"
+  },
+  "light.ambientCubemap.texture": {
+    "desc": "<p>The URL of the ambient cubemap supports HDR images in the <code class=\"codespan\">.hdr</code> format. You can obtained the resources for <code class=\"codespan\">.hdr</code> from <a href=\"http://www.hdrlabs.com/sibl/archive.html\" target=\"_blank\">http://www.hdrlabs.com/sibl/archive.html</a> and other websites.</p>\n<p>Example:</p>\n<pre><code class=\"lang-js\">ambientCubemap: {\n    texture: &#39;pisa.hdr&#39;,\n    // The exposure value used when analytic hdr\n    ex [...]
+  },
+  "light.ambientCubemap.diffuseIntensity": {
+    "desc": "<p>The intensity of diffuse.</p>\n"
+  },
+  "light.ambientCubemap.specularIntensity": {
+    "desc": "<p>The intensity of specular.</p>\n"
+  },
+  "postEffect": {
+    "desc": "<p>Post-processing effects related configuration. It can add effects such as highlights, depth of field, screen space ambient occlusion (SSAO), toning to the picture. And it can make the whole picture more textured.</p>\n<p>The following are the differences between closing <code class=\"codespan\">postEffect</code> and opening <code class=\"codespan\">postEffect</code>.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/i [...]
+  },
+  "postEffect.enable": {
+    "desc": "<p>Whether to enable post-processing effects. Not enabled by default.</p>\n"
+  },
+  "postEffect.bloom": {
+    "desc": "<p>Bloom is used to reproducing the effects that occur in real cameras when taking pictures in a bright environment.\nBecause traditional RGB can only represent colors in the range of &#39;0 - 255&#39;, so we need to use the bloom effect simulates fringes of light extending from the borders of bright areas, creating the illusion of a bright light overwhelming the camera. As shown below:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/globe-posteffect-blo [...]
+  },
+  "postEffect.bloom.enable": {
+    "desc": "<p>Whether to enable the bloom effect.</p>\n"
+  },
+  "postEffect.bloom.bloomIntensity": {
+    "desc": "<p>The intensity of the bloom. The default is 0.1.</p>\n"
+  },
+  "postEffect.depthOfField": {
+    "desc": "<p>Depth of Field is a post-processing effect that simulates the focus properties of a camera. The area of focus is clear, and the area away from the focus is gradually blurred.</p>\n<p>The depth of field effect allows the observer to focus on the area of focus and make the picture feel stronger. Large depth of field can also create a macro model effect.</p>\n<p>The following are the differences between turning off and turning on the depth of field effect.</p>\n<div  class=\ [...]
+  },
+  "postEffect.depthOfField.enable": {
+    "desc": "<p>Whether to enable the depth of field.</p>\n"
+  },
+  "postEffect.depthOfField.focalDistance": {
+    "desc": "<p>The initial focus distance. The user can click on the area to automatically focus.</p>\n"
+  },
+  "postEffect.depthOfField.focalRange": {
+    "desc": "<p>The size of the in-focus area. The objects in this range are completely clear and there is no blurring.</p>\n"
+  },
+  "postEffect.depthOfField.fstop": {
+    "desc": "<p>[F value] of the lens (<a href=\"https://zh.wikipedia.org/wiki/%E7%84%A6%E6%AF%94)\" target=\"_blank\">https://zh.wikipedia.org/wiki/%E7%84%A6%E6%AF%94)</a>, the smaller the value, the shallower the depth of field.</p>\n"
+  },
+  "postEffect.depthOfField.blurRadius": {
+    "desc": "<p>Blur radius outside the focus.</p>\n<p>The difference blur effect between the different radius. </p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-dof-small.png\" width=\"100%\" title=\"blurSize: 3\"><img />\n    <img  src=\"documents/asset/gl/img/geo-dof-large.png\" width=\"100%\" title=\"blurSize: 10\"><img />\n<div />\n"
+  },
+  "postEffect.screenSpaceAmbientOcclusion": {
+    "desc": "<p>The ambient occlusion post-processing effect darkens the corners, holes, crevices, and areas where most light can`t reach. It is a supplement to the traditional shadow map, which makes the whole scene more natural and layered.</p>\n<p>Below is a comparison of the effects of no SSAO and SSAO:</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-no-ssao.png\" width=\"100%\" title=\"No SSAO\"><img />\n    <img  src= [...]
+  },
+  "postEffect.SSAO": {
+    "desc": "<p>Same as <a href=\"#globe.postEffect.screenSpaceAmbientOcclusion\">screenSpaceAmbientOcclusion</a></p>\n"
+  },
+  "postEffect.SSAO.enable": {
+    "desc": "<p>Whether to enable SSAO (screen space ambient occlusion). Not enabled by default.</p>\n"
+  },
+  "postEffect.SSAO.quality": {
+    "desc": "<p>The quality of SSAO (screen space ambient occlusion). Supporting<code class=\"codespan\">&#39;low&#39;</code>, <code class=\"codespan\">&#39;medium&#39;</code>, <code class=\"codespan\">&#39;high&#39;</code>, <code class=\"codespan\">&#39;ultra&#39;</code></p>\n"
+  },
+  "postEffect.SSAO.radius": {
+    "desc": "<p>The radius of the SSAO (screen space ambient occlusion). The larger the radius, the more natural the effect, but you need to set a higher <code class=\"codespan\">&#39;quality&#39;</code>. </p>\n<p>The following example is the difference between a smaller and larger radius:</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-ssao-small-radius.png\" width=\"100%\" title=\"Radius: 1\"><img />\n    <img  src=\"docu [...]
+  },
+  "postEffect.SSAO.intensity": {
+    "desc": "<p>The intensity of SSAO (screen space ambient occlusion). The larger the value, the darker the color.</p>\n"
+  },
+  "postEffect.colorCorrection": {
+    "desc": "<p>Color correction and adjustment. Similar to Color Adjustments in Photoshop.</p>\n<p>The same scene in the figure below is adjusted to the difference between the cool color system and the warm color system.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/buildings-cold.jpg\" width=\"100%\" title=\"Cold\"><img />\n    <img  src=\"documents/asset/gl/img/buildings-warm.jpg\" width=\"100%\" title=\"Warm\"><img />\n<d [...]
+  },
+  "postEffect.colorCorrection.enable": {
+    "desc": "<p>Whether to enable the color correction.</p>\n"
+  },
+  "postEffect.colorCorrection.lookupTexture": {
+    "desc": "<p>Color correction lookup texture, recommended.</p>\n<p>The color correction lookup texture is a texture image like the one below.</p>\n<p><img width=\"200\" height=\"auto\" src=\"documents/asset/gl/img/lookup.png\"></p>\n<p>This is the basic lookup texture image that you can use directly.\nTo adjust the color of the scene to the effect you want, you can take a screenshot of the scene and adjust the color to the desired effect in image processing software such as Photoshop. [...]
+  },
+  "postEffect.colorCorrection.exposure": {
+    "desc": "<p>The exposure of the image.</p>\n"
+  },
+  "postEffect.colorCorrection.brightness": {
+    "desc": "<p>The brightness of the image.</p>\n"
+  },
+  "postEffect.colorCorrection.contrast": {
+    "desc": "<p>The contrast of the image.</p>\n"
+  },
+  "postEffect.colorCorrection.saturation": {
+    "desc": "<p>The saturation of the image.</p>\n"
+  },
+  "postEffect.FXAA": {
+    "desc": "<p>After opening <a href=\"#globe.postEffect\">postEffect</a>, WebGL&#39;s default MSAA (Multi Sampling Anti Aliasing) will not work. At this time, FXAA (Fast Approximate Anti-Aliasing) can solve the anti-aliasing problem quickly and easily. FXAA blurs the edge of the scene to solve the problem of aliasing. It works well on some scenes, but in echarts-gl, you need to ensure that the edges of many texts and lines are sharp and clear, so FXAA is not suitable. At this point we  [...]
+  },
+  "postEffect.FXAA.enable": {
+    "desc": "<p>Whether to enable FXAA. Not enabled by default.</p>\n"
+  },
+  "temporalSuperSampling": {
+    "desc": "<p>Temporal supersampling. After opening <a href=\"#globe.postEffect\">postEffect</a>, WebGL&#39;s default MSAA (MultiSampling Anti-Aliasing) will not work, so we need to solve the problem of sampling.</p>\n<p>Temporal supersampling is an anti-aliasing method. After the picture is still, it will continue to sample multiple times and taken at several instances inside the pixel and an average color value is calculated, thus achieving anti-aliasing effect.\nAnd in this process, [...]
+  },
+  "temporalSuperSampling.enable": {
+    "desc": "<p>Whether to enable temporal supersampling. By default, temporal supersampling is also turned on synchronously when <a href=\"#globe.postEffect\">postEffect</a> is turned on.</p>\n"
+  },
+  "viewControl": {
+    "desc": "<p><code class=\"codespan\">viewControl</code> is used for mouse rotation, zooming, and other perspective control.</p>\n"
+  },
+  "viewControl.projection": {
+    "desc": "<p>The way of projection, the default is <code class=\"codespan\">&#39;perspective&#39;</code> projection, also supports setting to <code class=\"codespan\">&#39;orthogonal&#39;</code> projection.</p>\n"
+  },
+  "viewControl.autoRotate": {
+    "desc": "<p>Whether to enable the angle of view to automatically rotate around the object.</p>\n"
+  },
+  "viewControl.autoRotateDirection": {
+    "desc": "<p>The direction in which the object auto rotates. The default is <code class=\"codespan\">&#39;cw&#39;</code> means clockwise from top to bottom, and can also use  <code class=\"codespan\">&#39;ccw&#39;</code> means counterclockwise from top to bottom.</p>\n"
+  },
+  "viewControl.autoRotateSpeed": {
+    "desc": "<p>The speed at which the object auto rotates. The unit is <code class=\"codespan\">angle/second</code>, the default is <code class=\"codespan\">10</code>, which is a turn of <code class=\"codespan\">36</code> seconds.</p>\n"
+  },
+  "viewControl.autoRotateAfterStill": {
+    "desc": "<p>The time interval for automatic rotation to resume after the mouse is still. Valid after opening <a href=\"#globe.viewControl.autoRotate\">autoRotate</a>.</p>\n"
+  },
+  "viewControl.damping": {
+    "desc": "<p>The damping when the mouse is rotated, zoomed, etc.\nWhen it is greater than 0, the angle of view will continue to move (rotate and zoom) due to certain inertia after the mouse is still.</p>\n"
+  },
+  "viewControl.rotateSensitivity": {
+    "desc": "<p>The sensitivity of the rotation operation. The greater the value, the more sensitive. Supports the use of arrays to set the horizontal and vertical rotation sensitivity separately.</p>\n<p>The default is <code class=\"codespan\">1</code>.</p>\n<p>Cannot be rotated after setting to <code class=\"codespan\">0</code>.</p>\n<pre><code class=\"lang-js\">// can&#39;t rotate\nrotateSensitivity: 0\n// can only be rotated horizontally\nrotateSensitivity: [1, 0]\n//  can only rotat [...]
+  },
+  "viewControl.zoomSensitivity": {
+    "desc": "<p>The sensitivity of the zoom operation, the larger the value, the more sensitive. The default is <code class=\"codespan\">1</code>.</p>\n<p>Can<code class=\"codespan\">t be scaled after setting to</code>0`.</p>\n"
+  },
+  "viewControl.panSensitivity": {
+    "desc": "<p>The sensitivity of the panning operation, the greater the value, the more sensitive. Supports the use of arrays to set the horizontal and vertical translation sensitivity.</p>\n<p>The default is <code class=\"codespan\">1</code>.</p>\n<p>Cannot pan after setting to <code class=\"codespan\">0</code>.</p>\n"
+  },
+  "viewControl.panMouseButton": {
+    "desc": "<p>The mouse button used for panning operation supports:</p>\n<ul>\n<li><p><code class=\"codespan\">&#39;left&#39;</code> left mouse button (default)</p>\n</li>\n<li><p><code class=\"codespan\">&#39;middle&#39;</code> middle mouse button</p>\n</li>\n<li><p><code class=\"codespan\">&#39;right&#39;</code> right mouse button</p>\n</li>\n</ul>\n<p>Note: If set to the right mouse button, the default context menu will be blocked.</p>\n"
+  },
+  "viewControl.rotateMouseButton": {
+    "desc": "<p>The mouse button used for the rotation operation supports:</p>\n<ul>\n<li><p><code class=\"codespan\">&#39;left&#39;</code> left mouse button</p>\n</li>\n<li><p><code class=\"codespan\">&#39;middle&#39;</code> middle mouse button (default)</p>\n</li>\n<li><p><code class=\"codespan\">&#39;right&#39;</code> right mouse button</p>\n</li>\n</ul>\n<p>Note: If set to the right mouse button, the default context menu will be blocked.</p>\n"
+  },
+  "viewControl.distance": {
+    "desc": "<p>The distance of the default perspective from the subject. For <a href=\"#globe\">globe</a>, the distance from the Earth&#39;s surface is the distance from the center origin for other components such as <a href=\"#grid3D\">grid3D</a> and <a href=\"#geo3D\">geo3D</a>. Valid when <a href=\"#globe.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;perspective&#39;</code>.</p>\n"
+  },
+  "viewControl.minDistance": {
+    "desc": "<p>The angle of view is controlled by the mouse to bring the minimum distance to the subject. Valid when <a href=\"#globe.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;perspective&#39;</code>.</p>\n"
+  },
+  "viewControl.maxDistance": {
+    "desc": "<p>The angle of view can be extended to the maximum distance of the subject by mouse control. Valid when <a href=\"#globe.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;perspective&#39;</code>.</p>\n"
+  },
+  "viewControl.orthographicSize": {
+    "desc": "<p>The size of the orthogonal projection. Valid when <a href=\"#globe.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;orthographic&#39;</code>.</p>\n"
+  },
+  "viewControl.maxOrthographicSize": {
+    "desc": "<p>The maximum value of the orthogonal projection scaling. Valid when <a href=\"#globe.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;orthographic&#39;</code>.</p>\n"
+  },
+  "viewControl.minOrthographicSize": {
+    "desc": "<p>The minimum value of the orthogonal projection scaling. Valid when <a href=\"#globe.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;orthographic&#39;</code></p>\n"
+  },
+  "viewControl.alpha": {
+    "desc": "<p>The angle of view is around the x-axis, which is the angle of rotation up and down. With <a href=\"#globe.light.main.beta\">beta</a> you can control the direction of the perspective.</p>\n<p>As shown below:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/view-alpha-beta.png\"></p>\n"
+  },
+  "viewControl.beta": {
+    "desc": "<p>The angle of view is around the y-axis, which is the angle of rotation from left to right.</p>\n"
+  },
+  "viewControl.center": {
+    "desc": "<p>At the center of the angle of view, the rotation will also rotate around this center point. The default is <code class=\"codespan\">[0,0,0]</code>.</p>\n"
+  },
+  "viewControl.minAlpha": {
+    "desc": "<p>The minimum alpha value to rotate up and down. That is, the angle of view can be rotated to reach the uppermost angle.</p>\n"
+  },
+  "viewControl.maxAlpha": {
+    "desc": "<p>The maximum alpha value to rotate up and down. That is, the angle of view can be rotated to the lowest angle.</p>\n"
+  },
+  "viewControl.minBeta": {
+    "desc": "<p>The minimum beta value to rotate left and right. That is, the angle of view can be rotated to the leftmost angle.</p>\n"
+  },
+  "viewControl.maxBeta": {
+    "desc": "<p>The maximum beta value to rotate left and right rotation. That is, the angle of view can be rotated to the rightmost angle.</p>\n"
+  },
+  "viewControl.animation": {
+    "desc": "<p>Whether to enable animation.</p>\n"
+  },
+  "viewControl.animationDurationUpdate": {
+    "desc": "<p>The duration time for update the transition animation.</p>\n"
+  },
+  "viewControl.animationEasingUpdate": {
+    "desc": "<p>The easing effect for update transition animation.</p>\n"
+  },
+  "viewControl.targetCoord": {
+    "desc": "<p>Position the longitudes and latitudes.\nIgnore <a href=\"#globe.viewControl.alpha\">alpha</a> 和 <a href=\"#globe.viewControl.beta\">beta</a> after the setting.</p>\n<pre><code class=\"lang-js\">viewControl: {\n    // locate in BeiJing\n    targetCoord: [116.46, 39.92]\n}\n</code></pre>\n"
+  },
+  "layers": {
+    "desc": "<p>Configuration of the Earth&#39;s Surface Layer.\nYou can use this configuration item to add clouds, or to supplement <a href=\"#globe. baseTexture\">baseTexture</a> to draw the outline of the country, and so on.</p>\n"
+  },
+  "layers.show": {
+    "desc": "<p>Whether to show this layer.</p>\n"
+  },
+  "layers.type": {
+    "desc": "<p>Layper type, Optional:</p>\n<ul>\n<li><code class=\"codespan\">&#39;overlay&#39;</code></li>\n</ul>\n<p>The overlay on the ground surface can be used to display clouds and the like.</p>\n<ul>\n<li><code class=\"codespan\">&#39;blend&#39;</code></li>\n</ul>\n<p>Mix with <a href=\"#globe.baseTexture\">baseTexture</a>.</p>\n"
+  },
+  "layers.name": {
+    "desc": "<p>The name of the layer. When setting the properties of the layer with setOption, you can use the name to identify the layer that needs to be updated.</p>\n<pre><code class=\"lang-js\">chart.setOption({\n    globe: {\n        layer: [{\n            // Update the texture of the layer named &#39;cloud&#39;\n            name: &#39;cloud&#39;,\n            texture: &#39;cloud.png&#39;\n        }]\n    }\n});\n</code></pre>\n"
+  },
+  "layers.blendTo": {
+    "desc": "<p>When <a href=\"#globe.layers.type\">type</a> is <code class=\"codespan\">&#39;blend&#39;</code> is valid .</p>\n<p>Optional:</p>\n<ul>\n<li><p><code class=\"codespan\">albedo</code> is mixed to albedo, affected by lighting.</p>\n</li>\n<li><p><code class=\"codespan\">emission</code> is mixed to self-illuminating, unaffected by light.</p>\n</li>\n</ul>\n"
+  },
+  "layers.intensity": {
+    "desc": "<p>The intensity of the mixture.</p>\n"
+  },
+  "layers.shading": {
+    "desc": "<p>The coloring effect of the overlay is the same as <a href=\"#globe.shading\">globe.shading</a>, which supports <code class=\"codespan\">&#39;color&#39;</code>, <code class=\"codespan\">&#39;lambert&#39;</code>, <code class=\"codespan\">&#39;realistic&#39;</code></p>\n<p>Valid when <a href=\"globe.layers.type\" target=\"_blank\">type</a> is <code class=\"codespan\">&#39;overlay&#39;</code>.</p>\n"
+  },
+  "layers.distance": {
+    "desc": "<p>The distance from the overlay to the surface of the globe.</p>\n<p>Valid when <a href=\"#globe.layers.type\">type</a> is <code class=\"codespan\">&#39;overlay&#39;</code>.</p>\n"
+  },
+  "layers.texture": {
+    "desc": "<p>The texture of the globe. Support for the string of image paths, images object or Canvas objects.</p>\n<p>It also supports to use an echarts example as a texture directly, in which case mouse actions on Earth will be linked to the echarts instance used on the texture.</p>\n"
+  }
+}
\ No newline at end of file
diff --git a/next/en/documents/option-gl-parts/option-gl.globe.json b/next/en/documents/option-gl-parts/option-gl.globe.json
new file mode 100644
index 0000000..1acb14f
--- /dev/null
+++ b/next/en/documents/option-gl-parts/option-gl.globe.json
@@ -0,0 +1,350 @@
+{
+  "show": {
+    "desc": "<p>Whether to show the globe component.</p>\n"
+  },
+  "zlevel": {
+    "desc": "<p>The layer in which the component is located.</p>\n<p><code class=\"codespan\">zlevel</code> is used to make layers with Canvas. Graphical elements with different <code class=\"codespan\">zlevel</code> values will be placed in different Canvases, which is a common optimization technique. We can put those frequently changed elements (like those with animations) to a separate <code class=\"codespan\">zlevel</code>. Notice that too many Canvases will increase memory cost, and [...]
+  },
+  "left": {
+    "desc": "<p>Distance between  component and the left side of the container.</p>\n<p><code class=\"codespan\">left</code> value can be instant pixel value like <code class=\"codespan\">20</code>; it can also be a percentage value relative to container width like <code class=\"codespan\">&#39;20%&#39;</code>; and it can also be <code class=\"codespan\">&#39;left&#39;</code>, <code class=\"codespan\">&#39;center&#39;</code>, or <code class=\"codespan\">&#39;right&#39;</code>.</p>\n<p>If [...]
+  },
+  "top": {
+    "desc": "<p>Distance between  component and the top side of the container.</p>\n<p><code class=\"codespan\">top</code> value can be instant pixel value like <code class=\"codespan\">20</code>; it can also be a percentage value relative to container width like <code class=\"codespan\">&#39;20%&#39;</code>; and it can also be <code class=\"codespan\">&#39;top&#39;</code>, <code class=\"codespan\">&#39;middle&#39;</code>, or <code class=\"codespan\">&#39;bottom&#39;</code>.</p>\n<p>If t [...]
+  },
+  "right": {
+    "desc": "<p>Distance between  component and the right side of the container.</p>\n<p><code class=\"codespan\">right</code> value can be instant pixel value like <code class=\"codespan\">20</code>; it can also be a percentage value relative to container width like <code class=\"codespan\">&#39;20%&#39;</code>.</p>\n<p> Adaptive by default.</p>\n"
+  },
+  "bottom": {
+    "desc": "<p>Distance between  component and the bottom side of the container.</p>\n<p><code class=\"codespan\">bottom</code> value can be instant pixel value like <code class=\"codespan\">20</code>; it can also be a percentage value relative to container width like <code class=\"codespan\">&#39;20%&#39;</code>.</p>\n<p> Adaptive by default.</p>\n"
+  },
+  "width": {
+    "desc": "<p> The width of the view of the component.</p>\n"
+  },
+  "height": {
+    "desc": "<p> The height of the view of the component.</p>\n"
+  },
+  "globeRadius": {
+    "desc": "<p>The radius of the globe. The unit is relative to the three-dimensional space, related to <a href=\"#globe.viewControl.distance\">viewControl.distance</a>.</p>\n"
+  },
+  "globeOuterRadius": {
+    "desc": "<p>The outer radius of the globe. This area between <code class=\"codespan\">globeRadius</code> and <code class=\"codespan\">globeOuterRadius</code> will be used to display 3D histograms, scatter plots, etc.</p>\n"
+  },
+  "environment": {
+    "desc": "<p>Environment map. Support for solid colors, gradual colors, URL of panoramic texture. The default is <code class=\"codespan\">&#39;auto&#39;</code>, which is used as the environment texture when <a href=\"#.light.ambientCubemap.texture\">light.ambientCubemap.texture</a> is configured. Otherwise, the environment texture is not displayed.</p>\n<p>Example: </p>\n<pre><code class=\"lang-js\">// Configure as a panoramic texture\nenvironment: &#39;asset/starfield.jpg&#39;\n// Co [...]
+  },
+  "baseTexture": {
+    "desc": "<p>The texture of the globe. Support for the string of image paths, images object or Canvas objects.</p>\n<p>It also supports to use an echarts example as a texture directly, in which case mouse actions on Earth will be linked to the echarts instance used on the texture.</p>\n<p>Example: </p>\n<pre><code class=\"lang-js\">// Use the globe&#39;s texture image\nbaseTexture: &#39;asset/earth.jpg&#39;\n\n// Use the world map example of echarts as a texture.\nvar canvas = documen [...]
+  },
+  "heightTexture": {
+    "desc": "<p>The high texture of the globe. High textures can be used to match <a href=\"https://zh.wikipedia.org/wiki/%E5%87%B9%E5%87%B8%E8%B4%B4%E5%9B%BE\" target=\"_blank\">Bump Map</a> to show the light and dark details of the Earth&#39;s surface.\nThe following two images show the difference between using <code class=\"codespan\">heightTexture</code> and not using <code class=\"codespan\">heightTexuture</code>.</p>\n<p><img width=\"400\" height=\"auto\" src=\"documents/asset/gl/i [...]
+  },
+  "displacementTexture": {
+    "desc": "<p>The displacement texture of the vertices of the globe, the default is the same as a <a href=\"\" target=\"_blank\">heightTexture</a></p>\n<p>Compared to bump maps, The displacement of the vertex is to directly shift the vertices according to the texture. Valid when <a href=\"#globe.displaymentScale\">displaymentScale</a> is greater than 0.</p>\n"
+  },
+  "displacementScale": {
+    "desc": "<p>The displacement map of the globe&#39;s vertex. The default is 0, which means no displacement.\nThe following two images show the effects of setting different <code class=\"codespan\">displacementScale</code>.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/displacement-disable.png\" width=\"100%\" title=\"Scale: 0\"><img />\n    <img  src=\"documents/asset/gl/img/displacement-enable.png\" width=\"100%\" title=\ [...]
+  },
+  "displacementQuality": {
+    "desc": "<p>The quality of the globe&#39;s vertex displacement. Support for <code class=\"codespan\">&#39;low&#39;</code>, <code class=\"codespan\">&#39;medium&#39;</code>, <code class=\"codespan\">&#39;high&#39;</code>, <code class=\"codespan\">&#39;ultra&#39;</code> settings.Higher quality can show more ground height detail. \nThe following two images show the effects of different <code class=\"codespan\">displacementQuality</code>.</p>\n<div  class=\"twentytwenty-container\" style [...]
+  },
+  "shading": {
+    "desc": "<p>The coloring effect of 3D graphics in 地球. The following three coloring methods are supported in echarts-gl:</p>\n<ul>\n<li><p><code class=\"codespan\">&#39;color&#39;</code>\nOnly display colors, not affected by other factors such as lighting.</p>\n</li>\n<li><p><code class=\"codespan\">&#39;lambert&#39;</code>\nThrough the classic [lambert] coloring, can express the light and dark that the light shows.</p>\n</li>\n<li><p><code class=\"codespan\">&#39;realistic&#39;</code [...]
+  },
+  "realisticMaterial": {
+    "desc": "<p>The configuration item of the realistic material is valid when <a href=\"#globe.shading\">shading</a> is <code class=\"codespan\">&#39;realistic&#39;</code>.</p>\n"
+  },
+  "realisticMaterial.detailTexture": {
+    "desc": "<p>The texture map of the material detail.</p>\n"
+  },
+  "realisticMaterial.textureTiling": {
+    "desc": "<p>Tiles the texture map of the material detail. The default is <code class=\"codespan\">1</code>, which means that the stretch is filled. When greater than <code class=\"codespan\">1</code>, the number indicates how many times the texture is tiled.</p>\n<p><strong>Note:</strong>  The use of tiling requires the <code class=\"codespan\">detail texture</code> height and width to be 2 to the power of n. For example, 512x512, if it is a 200x200 texture, you cannot use tiling.</p>\n"
+  },
+  "realisticMaterial.textureOffset": {
+    "desc": "<p>The displacement of the texture detail texture.</p>\n"
+  },
+  "realisticMaterial.roughness": {
+    "desc": "<p>The <code class=\"codespan\">roughness</code> attribute is used to indicate the roughness of the material, <code class=\"codespan\">0</code> is completely smooth, <code class=\"codespan\">1</code> is completely rough, and the middle value is between the two.</p>\n<p>The following images show the effect of <code class=\"codespan\">roughness</code> in <a href=\"#globe\"><code class=\"codespan\">globe</code></a> <code class=\"codespan\">0.2</code> (smooth) and <code class=\" [...]
+  },
+  "realisticMaterial.metalness": {
+    "desc": "<p>The <code class=\"codespan\">metalness</code> attribute is used to indicate whether the material is metal or non-metal, <code class=\"codespan\">0</code> is non-metallic, <code class=\"codespan\">1</code> is metal, and the middle value is between the two. Usually set to <code class=\"codespan\">0</code> and <code class=\"codespan\">1</code> to meet most of the scenes.</p>\n<p>The picture below show the difference between `metal&#39; and &#39;0&#39; in <a href=\"#globe\">g [...]
+  },
+  "realisticMaterial.roughnessAdjust": {
+    "desc": "<p>Roughness adjustment is useful when using roughness map. The overall roughness of the texture can be adjusted. The default is <code class=\"codespan\">0.5</code>, <code class=\"codespan\">0</code> is completely smooth, <code class=\"codespan\">1</code> is completely rough.</p>\n"
+  },
+  "realisticMaterial.metalnessAdjust": {
+    "desc": "<p>Metalness adjustment is useful when using metalness maps. The overall metallicity of the texture can be adjusted. The default is <code class=\"codespan\">0.5</code>, <code class=\"codespan\">0</code> is non-metal, <code class=\"codespan\">1</code> is metal.</p>\n"
+  },
+  "realisticMaterial.normalTexture": {
+    "desc": "<p>Normal map of material details.</p>\n<p>Using normal maps, you can still display rich shades of detail on the surface of the object with fewer vertices.</p>\n"
+  },
+  "lambertMaterial": {
+    "desc": "<p>The configuration item of the lambert material is valid when <a href=\"#globe.shading\">shading</a> is <code class=\"codespan\">&#39;lambert&#39;</code>.</p>\n"
+  },
+  "lambertMaterial.detailTexture": {
+    "desc": "<p>The texture map of the material detail.</p>\n"
+  },
+  "lambertMaterial.textureTiling": {
+    "desc": "<p>Tiles the texture map of the material detail. The default is <code class=\"codespan\">1</code>, which means that the stretch is filled. When greater than <code class=\"codespan\">1</code>, the number indicates how many times the texture is tiled.</p>\n<p><strong>Note:</strong>  The use of tiling requires the <code class=\"codespan\">detail texture</code> height and width to be 2 to the power of n. For example, 512x512, if it is a 200x200 texture, you cannot use tiling.</p>\n"
+  },
+  "lambertMaterial.textureOffset": {
+    "desc": "<p>The displacement of the texture detail texture.</p>\n"
+  },
+  "colorMaterial": {
+    "desc": "<p>The color material related configuration item is valid when <a href=\"#globe.shading\">shading</a> is <code class=\"codespan\">&#39;color&#39;</code>.</p>\n"
+  },
+  "colorMaterial.detailTexture": {
+    "desc": "<p>The texture map of the material detail.</p>\n"
+  },
+  "colorMaterial.textureTiling": {
+    "desc": "<p>Tiles the texture map of the material detail. The default is <code class=\"codespan\">1</code>, which means that the stretch is filled. When greater than <code class=\"codespan\">1</code>, the number indicates how many times the texture is tiled.</p>\n<p><strong>Note:</strong>  The use of tiling requires the <code class=\"codespan\">detail texture</code> height and width to be 2 to the power of n. For example, 512x512, if it is a 200x200 texture, you cannot use tiling.</p>\n"
+  },
+  "colorMaterial.textureOffset": {
+    "desc": "<p>The displacement of the texture detail texture.</p>\n"
+  },
+  "light": {
+    "desc": "<p>Light related settings. Invalid when <a href=\"#globe.shading\">shading</a> is &#39;color&#39;.</p>\n<p>The lighting settings affect the components and all the charts on the component&#39;s coordinate system.</p>\n<p>A reasonable lighting setting can make the brightness and darkness of the whole scene richer and more layered.</p>\n"
+  },
+  "light.main": {
+    "desc": "<p>The setting of the main light source of the scene. In the <a href=\"#globe\">globe</a> component is the sun.</p>\n"
+  },
+  "light.main.color": {
+    "desc": "<p>The color of the main light source.</p>\n"
+  },
+  "light.main.intensity": {
+    "desc": "<p>The intensity of the main light source.</p>\n"
+  },
+  "light.main.shadow": {
+    "desc": "<p>Whether the main light source displays a shadow. The default is off.</p>\n<p>Turning on the shadows can bring more realistic and layered lighting to the scene. But it also increases the operating overhead of the program.</p>\n<p>The following two images show the difference between turning on the shadow and turning off the shadow.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-shadow.png\" width=\"100%\" tit [...]
+  },
+  "light.main.shadowQuality": {
+    "desc": "<p>The quality of the shadow. You can choose <code class=\"codespan\">&#39;low&#39;</code>, <code class=\"codespan\">&#39;medium&#39;</code>, <code class=\"codespan\">&#39;high&#39;</code>, <code class=\"codespan\">&#39;ultra&#39;</code></p>\n<p>The following two images shows the difference between low quality and high quality shadows.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-shadow-low.png\" width=\"100 [...]
+  },
+  "light.main.alpha": {
+    "desc": "<p>The main light source is around the x-axis, which is the angle of up-down rotation. Control the direction of the light with <a href=\"#globe.light.main.beta\">beta</a>.</p>\n<p>As the following image show:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/light-alpha-beta.png\"></p>\n<p>The <a href=\"#globe\">globe</a> component can control the time of sunlight by <a href=\"#globe.light.main.time\">time</a>.</p>\n"
+  },
+  "light.main.beta": {
+    "desc": "<p>The main light source is around the y-axis, which is the angle of the left-right rotation.</p>\n"
+  },
+  "light.main.time": {
+    "desc": "<p>The time of sunshine. The current system time is used by default.</p>\n"
+  },
+  "light.ambient": {
+    "desc": "<p>Global ambient light settings.</p>\n"
+  },
+  "light.ambient.color": {
+    "desc": "<p>The color of ambient light.</p>\n"
+  },
+  "light.ambient.intensity": {
+    "desc": "<p>The intensity of ambient light.</p>\n"
+  },
+  "light.ambientCubemap": {
+    "desc": "<p>The ambientCubemap uses texture as the source of ambient light, which provides diffuse and specular for objects. The diffuse and specular can be set separately by <a href=\"#globe.light.ambientCubemap.diffuseIntensity\">diffuseIntensity</a> and <a href=\"#globe.light.ambientCubemap.specularIntensity\">specularIntensity</a>.</p>\n"
+  },
+  "light.ambientCubemap.texture": {
+    "desc": "<p>The URL of the ambient cubemap supports HDR images in the <code class=\"codespan\">.hdr</code> format. You can obtained the resources for <code class=\"codespan\">.hdr</code> from <a href=\"http://www.hdrlabs.com/sibl/archive.html\" target=\"_blank\">http://www.hdrlabs.com/sibl/archive.html</a> and other websites.</p>\n<p>Example:</p>\n<pre><code class=\"lang-js\">ambientCubemap: {\n    texture: &#39;pisa.hdr&#39;,\n    // The exposure value used when analytic hdr\n    ex [...]
+  },
+  "light.ambientCubemap.diffuseIntensity": {
+    "desc": "<p>The intensity of diffuse.</p>\n"
+  },
+  "light.ambientCubemap.specularIntensity": {
+    "desc": "<p>The intensity of specular.</p>\n"
+  },
+  "postEffect": {
+    "desc": "<p>Post-processing effects related configuration. It can add effects such as highlights, depth of field, screen space ambient occlusion (SSAO), toning to the picture. And it can make the whole picture more textured.</p>\n<p>The following are the differences between closing <code class=\"codespan\">postEffect</code> and opening <code class=\"codespan\">postEffect</code>.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/i [...]
+  },
+  "postEffect.enable": {
+    "desc": "<p>Whether to enable post-processing effects. Not enabled by default.</p>\n"
+  },
+  "postEffect.bloom": {
+    "desc": "<p>Bloom is used to reproducing the effects that occur in real cameras when taking pictures in a bright environment.\nBecause traditional RGB can only represent colors in the range of &#39;0 - 255&#39;, so we need to use the bloom effect simulates fringes of light extending from the borders of bright areas, creating the illusion of a bright light overwhelming the camera. As shown below:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/globe-posteffect-blo [...]
+  },
+  "postEffect.bloom.enable": {
+    "desc": "<p>Whether to enable the bloom effect.</p>\n"
+  },
+  "postEffect.bloom.bloomIntensity": {
+    "desc": "<p>The intensity of the bloom. The default is 0.1.</p>\n"
+  },
+  "postEffect.depthOfField": {
+    "desc": "<p>Depth of Field is a post-processing effect that simulates the focus properties of a camera. The area of focus is clear, and the area away from the focus is gradually blurred.</p>\n<p>The depth of field effect allows the observer to focus on the area of focus and make the picture feel stronger. Large depth of field can also create a macro model effect.</p>\n<p>The following are the differences between turning off and turning on the depth of field effect.</p>\n<div  class=\ [...]
+  },
+  "postEffect.depthOfField.enable": {
+    "desc": "<p>Whether to enable the depth of field.</p>\n"
+  },
+  "postEffect.depthOfField.focalDistance": {
+    "desc": "<p>The initial focus distance. The user can click on the area to automatically focus.</p>\n"
+  },
+  "postEffect.depthOfField.focalRange": {
+    "desc": "<p>The size of the in-focus area. The objects in this range are completely clear and there is no blurring.</p>\n"
+  },
+  "postEffect.depthOfField.fstop": {
+    "desc": "<p>[F value] of the lens (<a href=\"https://zh.wikipedia.org/wiki/%E7%84%A6%E6%AF%94)\" target=\"_blank\">https://zh.wikipedia.org/wiki/%E7%84%A6%E6%AF%94)</a>, the smaller the value, the shallower the depth of field.</p>\n"
+  },
+  "postEffect.depthOfField.blurRadius": {
+    "desc": "<p>Blur radius outside the focus.</p>\n<p>The difference blur effect between the different radius. </p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-dof-small.png\" width=\"100%\" title=\"blurSize: 3\"><img />\n    <img  src=\"documents/asset/gl/img/geo-dof-large.png\" width=\"100%\" title=\"blurSize: 10\"><img />\n<div />\n"
+  },
+  "postEffect.screenSpaceAmbientOcclusion": {
+    "desc": "<p>The ambient occlusion post-processing effect darkens the corners, holes, crevices, and areas where most light can`t reach. It is a supplement to the traditional shadow map, which makes the whole scene more natural and layered.</p>\n<p>Below is a comparison of the effects of no SSAO and SSAO:</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-no-ssao.png\" width=\"100%\" title=\"No SSAO\"><img />\n    <img  src= [...]
+  },
+  "postEffect.SSAO": {
+    "desc": "<p>Same as <a href=\"#globe.postEffect.screenSpaceAmbientOcclusion\">screenSpaceAmbientOcclusion</a></p>\n"
+  },
+  "postEffect.SSAO.enable": {
+    "desc": "<p>Whether to enable SSAO (screen space ambient occlusion). Not enabled by default.</p>\n"
+  },
+  "postEffect.SSAO.quality": {
+    "desc": "<p>The quality of SSAO (screen space ambient occlusion). Supporting<code class=\"codespan\">&#39;low&#39;</code>, <code class=\"codespan\">&#39;medium&#39;</code>, <code class=\"codespan\">&#39;high&#39;</code>, <code class=\"codespan\">&#39;ultra&#39;</code></p>\n"
+  },
+  "postEffect.SSAO.radius": {
+    "desc": "<p>The radius of the SSAO (screen space ambient occlusion). The larger the radius, the more natural the effect, but you need to set a higher <code class=\"codespan\">&#39;quality&#39;</code>. </p>\n<p>The following example is the difference between a smaller and larger radius:</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-ssao-small-radius.png\" width=\"100%\" title=\"Radius: 1\"><img />\n    <img  src=\"docu [...]
+  },
+  "postEffect.SSAO.intensity": {
+    "desc": "<p>The intensity of SSAO (screen space ambient occlusion). The larger the value, the darker the color.</p>\n"
+  },
+  "postEffect.colorCorrection": {
+    "desc": "<p>Color correction and adjustment. Similar to Color Adjustments in Photoshop.</p>\n<p>The same scene in the figure below is adjusted to the difference between the cool color system and the warm color system.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/buildings-cold.jpg\" width=\"100%\" title=\"Cold\"><img />\n    <img  src=\"documents/asset/gl/img/buildings-warm.jpg\" width=\"100%\" title=\"Warm\"><img />\n<d [...]
+  },
+  "postEffect.colorCorrection.enable": {
+    "desc": "<p>Whether to enable the color correction.</p>\n"
+  },
+  "postEffect.colorCorrection.lookupTexture": {
+    "desc": "<p>Color correction lookup texture, recommended.</p>\n<p>The color correction lookup texture is a texture image like the one below.</p>\n<p><img width=\"200\" height=\"auto\" src=\"documents/asset/gl/img/lookup.png\"></p>\n<p>This is the basic lookup texture image that you can use directly.\nTo adjust the color of the scene to the effect you want, you can take a screenshot of the scene and adjust the color to the desired effect in image processing software such as Photoshop. [...]
+  },
+  "postEffect.colorCorrection.exposure": {
+    "desc": "<p>The exposure of the image.</p>\n"
+  },
+  "postEffect.colorCorrection.brightness": {
+    "desc": "<p>The brightness of the image.</p>\n"
+  },
+  "postEffect.colorCorrection.contrast": {
+    "desc": "<p>The contrast of the image.</p>\n"
+  },
+  "postEffect.colorCorrection.saturation": {
+    "desc": "<p>The saturation of the image.</p>\n"
+  },
+  "postEffect.FXAA": {
+    "desc": "<p>After opening <a href=\"#globe.postEffect\">postEffect</a>, WebGL&#39;s default MSAA (Multi Sampling Anti Aliasing) will not work. At this time, FXAA (Fast Approximate Anti-Aliasing) can solve the anti-aliasing problem quickly and easily. FXAA blurs the edge of the scene to solve the problem of aliasing. It works well on some scenes, but in echarts-gl, you need to ensure that the edges of many texts and lines are sharp and clear, so FXAA is not suitable. At this point we  [...]
+  },
+  "postEffect.FXAA.enable": {
+    "desc": "<p>Whether to enable FXAA. Not enabled by default.</p>\n"
+  },
+  "temporalSuperSampling": {
+    "desc": "<p>Temporal supersampling. After opening <a href=\"#globe.postEffect\">postEffect</a>, WebGL&#39;s default MSAA (MultiSampling Anti-Aliasing) will not work, so we need to solve the problem of sampling.</p>\n<p>Temporal supersampling is an anti-aliasing method. After the picture is still, it will continue to sample multiple times and taken at several instances inside the pixel and an average color value is calculated, thus achieving anti-aliasing effect.\nAnd in this process, [...]
+  },
+  "temporalSuperSampling.enable": {
+    "desc": "<p>Whether to enable temporal supersampling. By default, temporal supersampling is also turned on synchronously when <a href=\"#globe.postEffect\">postEffect</a> is turned on.</p>\n"
+  },
+  "viewControl": {
+    "desc": "<p><code class=\"codespan\">viewControl</code> is used for mouse rotation, zooming, and other perspective control.</p>\n"
+  },
+  "viewControl.projection": {
+    "desc": "<p>The way of projection, the default is <code class=\"codespan\">&#39;perspective&#39;</code> projection, also supports setting to <code class=\"codespan\">&#39;orthogonal&#39;</code> projection.</p>\n"
+  },
+  "viewControl.autoRotate": {
+    "desc": "<p>Whether to enable the angle of view to automatically rotate around the object.</p>\n"
+  },
+  "viewControl.autoRotateDirection": {
+    "desc": "<p>The direction in which the object auto rotates. The default is <code class=\"codespan\">&#39;cw&#39;</code> means clockwise from top to bottom, and can also use  <code class=\"codespan\">&#39;ccw&#39;</code> means counterclockwise from top to bottom.</p>\n"
+  },
+  "viewControl.autoRotateSpeed": {
+    "desc": "<p>The speed at which the object auto rotates. The unit is <code class=\"codespan\">angle/second</code>, the default is <code class=\"codespan\">10</code>, which is a turn of <code class=\"codespan\">36</code> seconds.</p>\n"
+  },
+  "viewControl.autoRotateAfterStill": {
+    "desc": "<p>The time interval for automatic rotation to resume after the mouse is still. Valid after opening <a href=\"#globe.viewControl.autoRotate\">autoRotate</a>.</p>\n"
+  },
+  "viewControl.damping": {
+    "desc": "<p>The damping when the mouse is rotated, zoomed, etc.\nWhen it is greater than 0, the angle of view will continue to move (rotate and zoom) due to certain inertia after the mouse is still.</p>\n"
+  },
+  "viewControl.rotateSensitivity": {
+    "desc": "<p>The sensitivity of the rotation operation. The greater the value, the more sensitive. Supports the use of arrays to set the horizontal and vertical rotation sensitivity separately.</p>\n<p>The default is <code class=\"codespan\">1</code>.</p>\n<p>Cannot be rotated after setting to <code class=\"codespan\">0</code>.</p>\n<pre><code class=\"lang-js\">// can&#39;t rotate\nrotateSensitivity: 0\n// can only be rotated horizontally\nrotateSensitivity: [1, 0]\n//  can only rotat [...]
+  },
+  "viewControl.zoomSensitivity": {
+    "desc": "<p>The sensitivity of the zoom operation, the larger the value, the more sensitive. The default is <code class=\"codespan\">1</code>.</p>\n<p>Can<code class=\"codespan\">t be scaled after setting to</code>0`.</p>\n"
+  },
+  "viewControl.panSensitivity": {
+    "desc": "<p>The sensitivity of the panning operation, the greater the value, the more sensitive. Supports the use of arrays to set the horizontal and vertical translation sensitivity.</p>\n<p>The default is <code class=\"codespan\">1</code>.</p>\n<p>Cannot pan after setting to <code class=\"codespan\">0</code>.</p>\n"
+  },
+  "viewControl.panMouseButton": {
+    "desc": "<p>The mouse button used for panning operation supports:</p>\n<ul>\n<li><p><code class=\"codespan\">&#39;left&#39;</code> left mouse button (default)</p>\n</li>\n<li><p><code class=\"codespan\">&#39;middle&#39;</code> middle mouse button</p>\n</li>\n<li><p><code class=\"codespan\">&#39;right&#39;</code> right mouse button</p>\n</li>\n</ul>\n<p>Note: If set to the right mouse button, the default context menu will be blocked.</p>\n"
+  },
+  "viewControl.rotateMouseButton": {
+    "desc": "<p>The mouse button used for the rotation operation supports:</p>\n<ul>\n<li><p><code class=\"codespan\">&#39;left&#39;</code> left mouse button</p>\n</li>\n<li><p><code class=\"codespan\">&#39;middle&#39;</code> middle mouse button (default)</p>\n</li>\n<li><p><code class=\"codespan\">&#39;right&#39;</code> right mouse button</p>\n</li>\n</ul>\n<p>Note: If set to the right mouse button, the default context menu will be blocked.</p>\n"
+  },
+  "viewControl.distance": {
+    "desc": "<p>The distance of the default perspective from the subject. For <a href=\"#globe\">globe</a>, the distance from the Earth&#39;s surface is the distance from the center origin for other components such as <a href=\"#grid3D\">grid3D</a> and <a href=\"#geo3D\">geo3D</a>. Valid when <a href=\"#globe.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;perspective&#39;</code>.</p>\n"
+  },
+  "viewControl.minDistance": {
+    "desc": "<p>The angle of view is controlled by the mouse to bring the minimum distance to the subject. Valid when <a href=\"#globe.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;perspective&#39;</code>.</p>\n"
+  },
+  "viewControl.maxDistance": {
+    "desc": "<p>The angle of view can be extended to the maximum distance of the subject by mouse control. Valid when <a href=\"#globe.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;perspective&#39;</code>.</p>\n"
+  },
+  "viewControl.orthographicSize": {
+    "desc": "<p>The size of the orthogonal projection. Valid when <a href=\"#globe.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;orthographic&#39;</code>.</p>\n"
+  },
+  "viewControl.maxOrthographicSize": {
+    "desc": "<p>The maximum value of the orthogonal projection scaling. Valid when <a href=\"#globe.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;orthographic&#39;</code>.</p>\n"
+  },
+  "viewControl.minOrthographicSize": {
+    "desc": "<p>The minimum value of the orthogonal projection scaling. Valid when <a href=\"#globe.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;orthographic&#39;</code></p>\n"
+  },
+  "viewControl.alpha": {
+    "desc": "<p>The angle of view is around the x-axis, which is the angle of rotation up and down. With <a href=\"#globe.light.main.beta\">beta</a> you can control the direction of the perspective.</p>\n<p>As shown below:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/view-alpha-beta.png\"></p>\n"
+  },
+  "viewControl.beta": {
+    "desc": "<p>The angle of view is around the y-axis, which is the angle of rotation from left to right.</p>\n"
+  },
+  "viewControl.center": {
+    "desc": "<p>At the center of the angle of view, the rotation will also rotate around this center point. The default is <code class=\"codespan\">[0,0,0]</code>.</p>\n"
+  },
+  "viewControl.minAlpha": {
+    "desc": "<p>The minimum alpha value to rotate up and down. That is, the angle of view can be rotated to reach the uppermost angle.</p>\n"
+  },
+  "viewControl.maxAlpha": {
+    "desc": "<p>The maximum alpha value to rotate up and down. That is, the angle of view can be rotated to the lowest angle.</p>\n"
+  },
+  "viewControl.minBeta": {
+    "desc": "<p>The minimum beta value to rotate left and right. That is, the angle of view can be rotated to the leftmost angle.</p>\n"
+  },
+  "viewControl.maxBeta": {
+    "desc": "<p>The maximum beta value to rotate left and right rotation. That is, the angle of view can be rotated to the rightmost angle.</p>\n"
+  },
+  "viewControl.animation": {
+    "desc": "<p>Whether to enable animation.</p>\n"
+  },
+  "viewControl.animationDurationUpdate": {
+    "desc": "<p>The duration time for update the transition animation.</p>\n"
+  },
+  "viewControl.animationEasingUpdate": {
+    "desc": "<p>The easing effect for update transition animation.</p>\n"
+  },
+  "viewControl.targetCoord": {
+    "desc": "<p>Position the longitudes and latitudes.\nIgnore <a href=\"#globe.viewControl.alpha\">alpha</a> 和 <a href=\"#globe.viewControl.beta\">beta</a> after the setting.</p>\n<pre><code class=\"lang-js\">viewControl: {\n    // locate in BeiJing\n    targetCoord: [116.46, 39.92]\n}\n</code></pre>\n"
+  },
+  "layers": {
+    "desc": "<p>Configuration of the Earth&#39;s Surface Layer.\nYou can use this configuration item to add clouds, or to supplement <a href=\"#globe. baseTexture\">baseTexture</a> to draw the outline of the country, and so on.</p>\n"
+  },
+  "layers.show": {
+    "desc": "<p>Whether to show this layer.</p>\n"
+  },
+  "layers.type": {
+    "desc": "<p>Layper type, Optional:</p>\n<ul>\n<li><code class=\"codespan\">&#39;overlay&#39;</code></li>\n</ul>\n<p>The overlay on the ground surface can be used to display clouds and the like.</p>\n<ul>\n<li><code class=\"codespan\">&#39;blend&#39;</code></li>\n</ul>\n<p>Mix with <a href=\"#globe.baseTexture\">baseTexture</a>.</p>\n"
+  },
+  "layers.name": {
+    "desc": "<p>The name of the layer. When setting the properties of the layer with setOption, you can use the name to identify the layer that needs to be updated.</p>\n<pre><code class=\"lang-js\">chart.setOption({\n    globe: {\n        layer: [{\n            // Update the texture of the layer named &#39;cloud&#39;\n            name: &#39;cloud&#39;,\n            texture: &#39;cloud.png&#39;\n        }]\n    }\n});\n</code></pre>\n"
+  },
+  "layers.blendTo": {
+    "desc": "<p>When <a href=\"#globe.layers.type\">type</a> is <code class=\"codespan\">&#39;blend&#39;</code> is valid .</p>\n<p>Optional:</p>\n<ul>\n<li><p><code class=\"codespan\">albedo</code> is mixed to albedo, affected by lighting.</p>\n</li>\n<li><p><code class=\"codespan\">emission</code> is mixed to self-illuminating, unaffected by light.</p>\n</li>\n</ul>\n"
+  },
+  "layers.intensity": {
+    "desc": "<p>The intensity of the mixture.</p>\n"
+  },
+  "layers.shading": {
+    "desc": "<p>The coloring effect of the overlay is the same as <a href=\"#globe.shading\">globe.shading</a>, which supports <code class=\"codespan\">&#39;color&#39;</code>, <code class=\"codespan\">&#39;lambert&#39;</code>, <code class=\"codespan\">&#39;realistic&#39;</code></p>\n<p>Valid when <a href=\"globe.layers.type\" target=\"_blank\">type</a> is <code class=\"codespan\">&#39;overlay&#39;</code>.</p>\n"
+  },
+  "layers.distance": {
+    "desc": "<p>The distance from the overlay to the surface of the globe.</p>\n<p>Valid when <a href=\"#globe.layers.type\">type</a> is <code class=\"codespan\">&#39;overlay&#39;</code>.</p>\n"
+  },
+  "layers.texture": {
+    "desc": "<p>The texture of the globe. Support for the string of image paths, images object or Canvas objects.</p>\n<p>It also supports to use an echarts example as a texture directly, in which case mouse actions on Earth will be linked to the echarts instance used on the texture.</p>\n"
+  }
+}
\ No newline at end of file
diff --git a/next/en/documents/option-gl-parts/option-gl.grid3D.js b/next/en/documents/option-gl-parts/option-gl.grid3D.js
new file mode 100644
index 0000000..665ca68
--- /dev/null
+++ b/next/en/documents/option-gl-parts/option-gl.grid3D.js
@@ -0,0 +1,398 @@
+window.__EC_DOC_option_gl_grid3D = {
+  "show": {
+    "desc": "<p>Whether to display a 3D cartesian coordinate system component.</p>\n"
+  },
+  "boxWidth": {
+    "desc": "<p>3D cartesian coordinate system width in a 3D scene. With <a href=\"#grid3D.viewControl.distance\">viewControl.distance</a> you can get the most appropriate display size.</p>\n"
+  },
+  "boxHeight": {
+    "desc": "<p>3D cartesian coordinate system height in a 3D scene.</p>\n"
+  },
+  "boxDepth": {
+    "desc": "<p>3D cartesian coordinate system depth in a 3D scene.</p>\n"
+  },
+  "axisLine": {
+    "desc": "<p>Settings related to axis line.</p>\n"
+  },
+  "axisLine.show": {
+    "desc": "<p>Set this to be <code class=\"codespan\">false</code> to prevent the axis line from showing.</p>\n"
+  },
+  "axisLine.interval": {
+    "desc": "<p>axis scale label is valid in the category axis. </p>\n<p>By default, <code class=\"codespan\">interval</code> is automatically calculated to ensure a good display.</p>\n<p>It can be set to 0 to force all labels to be displayed.</p>\n<p>If the value is <code class=\"codespan\">1</code>, it means &quot;displays a label every other label&quot;. If the value is <code class=\"codespan\">2</code>, it means &quot;displays a label between two labels&quot;, and so on.</p>\n<p>The  [...]
+  },
+  "axisLine.lineStyle.color": {
+    "desc": "<p>The color of the line. </p>\n<p>In addition to color strings, RGBA values represented by arrays are supported, for example:</p>\n<pre><code class=\"lang-js\">// pure white\n[1, 1, 1, 1]\n</code></pre>\n<p>When using an array representation, each channel can set a value greater than 1 to represent the color value of HDR.</p>\n"
+  },
+  "axisLine.lineStyle.opacity": {
+    "desc": "<p>The opacity of the line.</p>\n"
+  },
+  "axisLine.lineStyle.width": {
+    "desc": "<p>The width of the line.</p>\n"
+  },
+  "axisLabel": {
+    "desc": "<p>Settings related to axis label.</p>\n"
+  },
+  "axisLabel.show": {
+    "desc": "<p>Set this to be <code class=\"codespan\">false</code> to prevent the axis label from appearing.</p>\n"
+  },
+  "axisLabel.margin": {
+    "desc": "<p>The margin between the axis label and the axis line.</p>\n<p><strong>Note:</strong> This distance is three-dimensional space, not screen space.</p>\n"
+  },
+  "axisLabel.interval": {
+    "desc": "<p>axis scale label is valid in the category axis. </p>\n<p>By default, <code class=\"codespan\">interval</code> is automatically calculated to ensure a good display.</p>\n<p>It can be set to 0 to force all labels to be displayed.</p>\n<p>If the value is <code class=\"codespan\">1</code>, it means &quot;displays a label every other label&quot;. If the value is <code class=\"codespan\">2</code>, it means &quot;displays a label between two labels&quot;, and so on.</p>\n<p>The  [...]
+  },
+  "axisLabel.textStyle.color": {
+    "desc": "<p>Color of axis label is set to be <a href=\"#.axisLine.lineStyle.color\">axisLine.lineStyle.color</a> by default. Callback function is supported, in the following format:</p>\n<pre><code class=\"lang-js\">(val: string) =&gt; Color\n</code></pre>\n<p>Parameter is the text of label, and return value is the color. See the following example:</p>\n<pre><code class=\"lang-js\">textStyle: {\n    color: function (value, index) {\n        return value &gt;= 0 ? &#39;green&#39; : &# [...]
+  },
+  "axisLabel.textStyle.borderWidth": {
+    "desc": "<p>The border width of the text.</p>\n"
+  },
+  "axisLabel.textStyle.borderColor": {
+    "desc": "<p>The border color of the text.</p>\n"
+  },
+  "axisLabel.textStyle.fontFamily": {
+    "desc": "<p>The font family of the text.</p>\n"
+  },
+  "axisLabel.textStyle.fontSize": {
+    "desc": "<p>The font size of the text.</p>\n"
+  },
+  "axisLabel.textStyle.fontWeight": {
+    "desc": "<p>The font thick weight of the text.</p>\n<p><strong>Optional:</strong></p>\n<ul>\n<li><code class=\"codespan\">&#39;normal&#39;</code></li>\n<li><code class=\"codespan\">&#39;bold&#39;</code></li>\n<li><code class=\"codespan\">&#39;bolder&#39;</code></li>\n<li><code class=\"codespan\">&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n"
+  },
+  "axisTick": {
+    "desc": "<p>Settings related to axis tick.</p>\n"
+  },
+  "axisTick.show": {
+    "desc": "<p>Set this to be <code class=\"codespan\">false</code> to prevent the axis tick from showing.</p>\n"
+  },
+  "axisTick.interval": {
+    "desc": "<p>axis scale label is valid in the category axis.  Defaults to the same as <a href=\"#.axisLabel.interval\">axisLabel.interval</a>. </p>\n<p>By default, <code class=\"codespan\">interval</code> is automatically calculated to ensure a good display.</p>\n<p>It can be set to 0 to force all labels to be displayed.</p>\n<p>If the value is <code class=\"codespan\">1</code>, it means &quot;displays a label every other label&quot;. If the value is <code class=\"codespan\">2</code>, [...]
+  },
+  "axisTick.length": {
+    "desc": "<p>The length of the axis tick.</p>\n"
+  },
+  "axisTick.lineStyle.color": {
+    "desc": "<p>Color of axis label is set to be <a href=\"#.axisLine.lineStyle.color\">axisLine.lineStyle.color</a> by default.</p>\n"
+  },
+  "axisTick.lineStyle.opacity": {
+    "desc": "<p>The opacity of the line.</p>\n"
+  },
+  "axisTick.lineStyle.width": {
+    "desc": "<p>The width of the line.</p>\n"
+  },
+  "splitLine": {
+    "desc": "<p>Settings related to axis line.</p>\n"
+  },
+  "splitLine.show": {
+    "desc": "<p>Set this to be <code class=\"codespan\">false</code> to prevent the axis line from showing.</p>\n"
+  },
+  "splitLine.interval": {
+    "desc": "<p>axis scale label is valid in the category axis. </p>\n<p>By default, <code class=\"codespan\">interval</code> is automatically calculated to ensure a good display.</p>\n<p>It can be set to 0 to force all labels to be displayed.</p>\n<p>If the value is <code class=\"codespan\">1</code>, it means &quot;displays a label every other label&quot;. If the value is <code class=\"codespan\">2</code>, it means &quot;displays a label between two labels&quot;, and so on.</p>\n<p>The  [...]
+  },
+  "splitLine.lineStyle.color": {
+    "desc": "<p>The color of the line. </p>\n<p>In addition to color strings, RGBA values represented by arrays are supported, for example:</p>\n<pre><code class=\"lang-js\">// pure white\n[1, 1, 1, 1]\n</code></pre>\n<p>When using an array representation, each channel can set a value greater than 1 to represent the color value of HDR.</p>\n"
+  },
+  "splitLine.lineStyle.opacity": {
+    "desc": "<p>The opacity of the line.</p>\n"
+  },
+  "splitLine.lineStyle.width": {
+    "desc": "<p>The width of the line.</p>\n"
+  },
+  "splitArea": {
+    "desc": "<p>Split area of axis in <a href=\"#grid\">grid</a> area.</p>\n"
+  },
+  "splitArea.show": {
+    "desc": "<p>Set this to be <code class=\"codespan\">true</code> to show the splitArea.</p>\n"
+  },
+  "splitArea.interval": {
+    "desc": "<p>Axis splitArea is valid in the category axis.  Defaults to the same as <a href=\"#.axisLabel.interval\">axisLabel.interval</a>. </p>\n<p>By default, <code class=\"codespan\">interval</code> is automatically calculated to ensure a good display.</p>\n<p>It can be set to 0 to force all labels to be displayed.</p>\n<p>If the value is <code class=\"codespan\">1</code>, it means &quot;displays a label every other label&quot;. If the value is <code class=\"codespan\">2</code>, i [...]
+  },
+  "splitArea.areaStyle": {
+    "desc": "<p>Split area style.</p>\n"
+  },
+  "splitArea.areaStyle.color": {
+    "desc": "<p>Color of the split area.\nThe split area color could also be set in color array, which the split lines would take as their colors in turns. Dark and light colors in turns are used by default.</p>\n"
+  },
+  "axisPointer": {
+    "desc": "<p>Configurations for axis pointer.</p>\n"
+  },
+  "axisPointer.show": {
+    "desc": "<p>Whether to display the axisPointer. Set this to be <code class=\"codespan\">true</code> to show the splitArea.</p>\n"
+  },
+  "axisPointer.lineStyle.color": {
+    "desc": "<p>The color of the line. </p>\n<p>In addition to color strings, RGBA values represented by arrays are supported, for example:</p>\n<pre><code class=\"lang-js\">// pure white\n[1, 1, 1, 1]\n</code></pre>\n<p>When using an array representation, each channel can set a value greater than 1 to represent the color value of HDR.</p>\n"
+  },
+  "axisPointer.lineStyle.opacity": {
+    "desc": "<p>The opacity of the line.</p>\n"
+  },
+  "axisPointer.lineStyle.width": {
+    "desc": "<p>The width of the line.</p>\n"
+  },
+  "axisPointer.label": {
+    "desc": "<p>The label of axisPointer.</p>\n"
+  },
+  "axisPointer.label.show": {
+    "desc": "<p>Whether to display the label of axisPointer. Value axes are displayed by default, while category axes are not.</p>\n"
+  },
+  "axisPointer.label.formatter": {
+    "desc": "<p>The formatter of the label. . The first parameter to the function is the value of the current axis. The second parameter to the function is an array of values for all axes.</p>\n<pre><code class=\"lang-js\">(value: number, valueAll: Array) =&gt; string\n</code></pre>\n"
+  },
+  "axisPointer.label.margin": {
+    "desc": "<p>Distance between label and axis.\nLike the scale label, this distance is a 3D space rather than a screen pixel.</p>\n"
+  },
+  "axisPointer.label.textStyle.color": {
+    "desc": "<p>The Color of the text.</p>\n"
+  },
+  "axisPointer.label.textStyle.borderWidth": {
+    "desc": "<p>The border width of the text.</p>\n"
+  },
+  "axisPointer.label.textStyle.borderColor": {
+    "desc": "<p>The border color of the text.</p>\n"
+  },
+  "axisPointer.label.textStyle.fontFamily": {
+    "desc": "<p>The font family of the text.</p>\n"
+  },
+  "axisPointer.label.textStyle.fontSize": {
+    "desc": "<p>The font size of the text.</p>\n"
+  },
+  "axisPointer.label.textStyle.fontWeight": {
+    "desc": "<p>The font thick weight of the text.</p>\n<p><strong>Optional:</strong></p>\n<ul>\n<li><code class=\"codespan\">&#39;normal&#39;</code></li>\n<li><code class=\"codespan\">&#39;bold&#39;</code></li>\n<li><code class=\"codespan\">&#39;bolder&#39;</code></li>\n<li><code class=\"codespan\">&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n"
+  },
+  "environment": {
+    "desc": "<p>Environment map. Support for solid colors, gradual colors, URL of panoramic texture. The default is <code class=\"codespan\">&#39;auto&#39;</code>, which is used as the environment texture when <a href=\"#grid3D.light.ambientCubemap.texture\">light.ambientCubemap.texture</a> is configured. Otherwise, the environment texture is not displayed.</p>\n<p>Example: </p>\n<pre><code class=\"lang-js\">// Configure as a panoramic texture\nenvironment: &#39;asset/starfield.jpg&#39;\ [...]
+  },
+  "light": {
+    "desc": "<p>Light related settings. Invalid when <a href=\"#grid3D.shading\">shading</a> is &#39;color&#39;.</p>\n<p>The lighting settings affect the components and all the charts on the component&#39;s coordinate system.</p>\n<p>A reasonable lighting setting can make the brightness and darkness of the whole scene richer and more layered.</p>\n"
+  },
+  "light.main": {
+    "desc": "<p>The setting of the main light source of the scene. In the <a href=\"#globe\">globe</a> component is the sun.</p>\n"
+  },
+  "light.main.color": {
+    "desc": "<p>The color of the main light source.</p>\n"
+  },
+  "light.main.intensity": {
+    "desc": "<p>The intensity of the main light source.</p>\n"
+  },
+  "light.main.shadow": {
+    "desc": "<p>Whether the main light source displays a shadow. The default is off.</p>\n<p>Turning on the shadows can bring more realistic and layered lighting to the scene. But it also increases the operating overhead of the program.</p>\n<p>The following two images show the difference between turning on the shadow and turning off the shadow.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-shadow.png\" width=\"100%\" tit [...]
+  },
+  "light.main.shadowQuality": {
+    "desc": "<p>The quality of the shadow. You can choose <code class=\"codespan\">&#39;low&#39;</code>, <code class=\"codespan\">&#39;medium&#39;</code>, <code class=\"codespan\">&#39;high&#39;</code>, <code class=\"codespan\">&#39;ultra&#39;</code></p>\n<p>The following two images shows the difference between low quality and high quality shadows.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-shadow-low.png\" width=\"100 [...]
+  },
+  "light.main.alpha": {
+    "desc": "<p>The main light source is around the x-axis, which is the angle of up-down rotation. Control the direction of the light with <a href=\"#grid3D.light.main.beta\">beta</a>.</p>\n<p>As the following image show:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/light-alpha-beta.png\"></p>\n<p>The <a href=\"#globe\">globe</a> component can control the time of sunlight by <a href=\"#globe.light.main.time\">time</a>.</p>\n"
+  },
+  "light.main.beta": {
+    "desc": "<p>The main light source is around the y-axis, which is the angle of the left-right rotation.</p>\n"
+  },
+  "light.ambient": {
+    "desc": "<p>Global ambient light settings.</p>\n"
+  },
+  "light.ambient.color": {
+    "desc": "<p>The color of ambient light.</p>\n"
+  },
+  "light.ambient.intensity": {
+    "desc": "<p>The intensity of ambient light.</p>\n"
+  },
+  "light.ambientCubemap": {
+    "desc": "<p>The ambientCubemap uses texture as the source of ambient light, which provides diffuse and specular for objects. The diffuse and specular can be set separately by <a href=\"#grid3D.light.ambientCubemap.diffuseIntensity\">diffuseIntensity</a> and <a href=\"#grid3D.light.ambientCubemap.specularIntensity\">specularIntensity</a>.</p>\n"
+  },
+  "light.ambientCubemap.texture": {
+    "desc": "<p>The URL of the ambient cubemap supports HDR images in the <code class=\"codespan\">.hdr</code> format. You can obtained the resources for <code class=\"codespan\">.hdr</code> from <a href=\"http://www.hdrlabs.com/sibl/archive.html\" target=\"_blank\">http://www.hdrlabs.com/sibl/archive.html</a> and other websites.</p>\n<p>Example:</p>\n<pre><code class=\"lang-js\">ambientCubemap: {\n    texture: &#39;pisa.hdr&#39;,\n    // The exposure value used when analytic hdr\n    ex [...]
+  },
+  "light.ambientCubemap.diffuseIntensity": {
+    "desc": "<p>The intensity of diffuse.</p>\n"
+  },
+  "light.ambientCubemap.specularIntensity": {
+    "desc": "<p>The intensity of specular.</p>\n"
+  },
+  "postEffect": {
+    "desc": "<p>Post-processing effects related configuration. It can add effects such as highlights, depth of field, screen space ambient occlusion (SSAO), toning to the picture. And it can make the whole picture more textured.</p>\n<p>The following are the differences between closing <code class=\"codespan\">postEffect</code> and opening <code class=\"codespan\">postEffect</code>.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/i [...]
+  },
+  "postEffect.enable": {
+    "desc": "<p>Whether to enable post-processing effects. Not enabled by default.</p>\n"
+  },
+  "postEffect.bloom": {
+    "desc": "<p>Bloom is used to reproducing the effects that occur in real cameras when taking pictures in a bright environment.\nBecause traditional RGB can only represent colors in the range of &#39;0 - 255&#39;, so we need to use the bloom effect simulates fringes of light extending from the borders of bright areas, creating the illusion of a bright light overwhelming the camera. As shown below:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/globe-posteffect-blo [...]
+  },
+  "postEffect.bloom.enable": {
+    "desc": "<p>Whether to enable the bloom effect.</p>\n"
+  },
+  "postEffect.bloom.bloomIntensity": {
+    "desc": "<p>The intensity of the bloom. The default is 0.1.</p>\n"
+  },
+  "postEffect.depthOfField": {
+    "desc": "<p>Depth of Field is a post-processing effect that simulates the focus properties of a camera. The area of focus is clear, and the area away from the focus is gradually blurred.</p>\n<p>The depth of field effect allows the observer to focus on the area of focus and make the picture feel stronger. Large depth of field can also create a macro model effect.</p>\n<p>The following are the differences between turning off and turning on the depth of field effect.</p>\n<div  class=\ [...]
+  },
+  "postEffect.depthOfField.enable": {
+    "desc": "<p>Whether to enable the depth of field.</p>\n"
+  },
+  "postEffect.depthOfField.focalDistance": {
+    "desc": "<p>The initial focus distance. The user can click on the area to automatically focus.</p>\n"
+  },
+  "postEffect.depthOfField.focalRange": {
+    "desc": "<p>The size of the in-focus area. The objects in this range are completely clear and there is no blurring.</p>\n"
+  },
+  "postEffect.depthOfField.fstop": {
+    "desc": "<p>[F value] of the lens (<a href=\"https://zh.wikipedia.org/wiki/%E7%84%A6%E6%AF%94)\" target=\"_blank\">https://zh.wikipedia.org/wiki/%E7%84%A6%E6%AF%94)</a>, the smaller the value, the shallower the depth of field.</p>\n"
+  },
+  "postEffect.depthOfField.blurRadius": {
+    "desc": "<p>Blur radius outside the focus.</p>\n<p>The difference blur effect between the different radius. </p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-dof-small.png\" width=\"100%\" title=\"blurSize: 3\"><img />\n    <img  src=\"documents/asset/gl/img/geo-dof-large.png\" width=\"100%\" title=\"blurSize: 10\"><img />\n<div />\n"
+  },
+  "postEffect.screenSpaceAmbientOcclusion": {
+    "desc": "<p>The ambient occlusion post-processing effect darkens the corners, holes, crevices, and areas where most light can`t reach. It is a supplement to the traditional shadow map, which makes the whole scene more natural and layered.</p>\n<p>Below is a comparison of the effects of no SSAO and SSAO:</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-no-ssao.png\" width=\"100%\" title=\"No SSAO\"><img />\n    <img  src= [...]
+  },
+  "postEffect.SSAO": {
+    "desc": "<p>Same as <a href=\"#grid3D.postEffect.screenSpaceAmbientOcclusion\">screenSpaceAmbientOcclusion</a></p>\n"
+  },
+  "postEffect.SSAO.enable": {
+    "desc": "<p>Whether to enable SSAO (screen space ambient occlusion). Not enabled by default.</p>\n"
+  },
+  "postEffect.SSAO.quality": {
+    "desc": "<p>The quality of SSAO (screen space ambient occlusion). Supporting<code class=\"codespan\">&#39;low&#39;</code>, <code class=\"codespan\">&#39;medium&#39;</code>, <code class=\"codespan\">&#39;high&#39;</code>, <code class=\"codespan\">&#39;ultra&#39;</code></p>\n"
+  },
+  "postEffect.SSAO.radius": {
+    "desc": "<p>The radius of the SSAO (screen space ambient occlusion). The larger the radius, the more natural the effect, but you need to set a higher <code class=\"codespan\">&#39;quality&#39;</code>. </p>\n<p>The following example is the difference between a smaller and larger radius:</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-ssao-small-radius.png\" width=\"100%\" title=\"Radius: 1\"><img />\n    <img  src=\"docu [...]
+  },
+  "postEffect.SSAO.intensity": {
+    "desc": "<p>The intensity of SSAO (screen space ambient occlusion). The larger the value, the darker the color.</p>\n"
+  },
+  "postEffect.colorCorrection": {
+    "desc": "<p>Color correction and adjustment. Similar to Color Adjustments in Photoshop.</p>\n<p>The same scene in the figure below is adjusted to the difference between the cool color system and the warm color system.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/buildings-cold.jpg\" width=\"100%\" title=\"Cold\"><img />\n    <img  src=\"documents/asset/gl/img/buildings-warm.jpg\" width=\"100%\" title=\"Warm\"><img />\n<d [...]
+  },
+  "postEffect.colorCorrection.enable": {
+    "desc": "<p>Whether to enable the color correction.</p>\n"
+  },
+  "postEffect.colorCorrection.lookupTexture": {
+    "desc": "<p>Color correction lookup texture, recommended.</p>\n<p>The color correction lookup texture is a texture image like the one below.</p>\n<p><img width=\"200\" height=\"auto\" src=\"documents/asset/gl/img/lookup.png\"></p>\n<p>This is the basic lookup texture image that you can use directly.\nTo adjust the color of the scene to the effect you want, you can take a screenshot of the scene and adjust the color to the desired effect in image processing software such as Photoshop. [...]
+  },
+  "postEffect.colorCorrection.exposure": {
+    "desc": "<p>The exposure of the image.</p>\n"
+  },
+  "postEffect.colorCorrection.brightness": {
+    "desc": "<p>The brightness of the image.</p>\n"
+  },
+  "postEffect.colorCorrection.contrast": {
+    "desc": "<p>The contrast of the image.</p>\n"
+  },
+  "postEffect.colorCorrection.saturation": {
+    "desc": "<p>The saturation of the image.</p>\n"
+  },
+  "postEffect.FXAA": {
+    "desc": "<p>After opening <a href=\"#grid3D.postEffect\">postEffect</a>, WebGL&#39;s default MSAA (Multi Sampling Anti Aliasing) will not work. At this time, FXAA (Fast Approximate Anti-Aliasing) can solve the anti-aliasing problem quickly and easily. FXAA blurs the edge of the scene to solve the problem of aliasing. It works well on some scenes, but in echarts-gl, you need to ensure that the edges of many texts and lines are sharp and clear, so FXAA is not suitable. At this point we [...]
+  },
+  "postEffect.FXAA.enable": {
+    "desc": "<p>Whether to enable FXAA. Not enabled by default.</p>\n"
+  },
+  "temporalSuperSampling": {
+    "desc": "<p>Temporal supersampling. After opening <a href=\"#grid3D.postEffect\">postEffect</a>, WebGL&#39;s default MSAA (MultiSampling Anti-Aliasing) will not work, so we need to solve the problem of sampling.</p>\n<p>Temporal supersampling is an anti-aliasing method. After the picture is still, it will continue to sample multiple times and taken at several instances inside the pixel and an average color value is calculated, thus achieving anti-aliasing effect.\nAnd in this process [...]
+  },
+  "temporalSuperSampling.enable": {
+    "desc": "<p>Whether to enable temporal supersampling. By default, temporal supersampling is also turned on synchronously when <a href=\"#grid3D.postEffect\">postEffect</a> is turned on.</p>\n"
+  },
+  "viewControl": {
+    "desc": "<p><code class=\"codespan\">viewControl</code> is used for mouse rotation, zooming, and other perspective control.</p>\n"
+  },
+  "viewControl.projection": {
+    "desc": "<p>The way of projection, the default is <code class=\"codespan\">&#39;perspective&#39;</code> projection, also supports setting to <code class=\"codespan\">&#39;orthogonal&#39;</code> projection.</p>\n"
+  },
+  "viewControl.autoRotate": {
+    "desc": "<p>Whether to enable the angle of view to automatically rotate around the object.</p>\n"
+  },
+  "viewControl.autoRotateDirection": {
+    "desc": "<p>The direction in which the object auto rotates. The default is <code class=\"codespan\">&#39;cw&#39;</code> means clockwise from top to bottom, and can also use  <code class=\"codespan\">&#39;ccw&#39;</code> means counterclockwise from top to bottom.</p>\n"
+  },
+  "viewControl.autoRotateSpeed": {
+    "desc": "<p>The speed at which the object auto rotates. The unit is <code class=\"codespan\">angle/second</code>, the default is <code class=\"codespan\">10</code>, which is a turn of <code class=\"codespan\">36</code> seconds.</p>\n"
+  },
+  "viewControl.autoRotateAfterStill": {
+    "desc": "<p>The time interval for automatic rotation to resume after the mouse is still. Valid after opening <a href=\"#grid3D.viewControl.autoRotate\">autoRotate</a>.</p>\n"
+  },
+  "viewControl.damping": {
+    "desc": "<p>The damping when the mouse is rotated, zoomed, etc.\nWhen it is greater than 0, the angle of view will continue to move (rotate and zoom) due to certain inertia after the mouse is still.</p>\n"
+  },
+  "viewControl.rotateSensitivity": {
+    "desc": "<p>The sensitivity of the rotation operation. The greater the value, the more sensitive. Supports the use of arrays to set the horizontal and vertical rotation sensitivity separately.</p>\n<p>The default is <code class=\"codespan\">1</code>.</p>\n<p>Cannot be rotated after setting to <code class=\"codespan\">0</code>.</p>\n<pre><code class=\"lang-js\">// can&#39;t rotate\nrotateSensitivity: 0\n// can only be rotated horizontally\nrotateSensitivity: [1, 0]\n//  can only rotat [...]
+  },
+  "viewControl.zoomSensitivity": {
+    "desc": "<p>The sensitivity of the zoom operation, the larger the value, the more sensitive. The default is <code class=\"codespan\">1</code>.</p>\n<p>Can<code class=\"codespan\">t be scaled after setting to</code>0`.</p>\n"
+  },
+  "viewControl.panSensitivity": {
+    "desc": "<p>The sensitivity of the panning operation, the greater the value, the more sensitive. Supports the use of arrays to set the horizontal and vertical translation sensitivity.</p>\n<p>The default is <code class=\"codespan\">1</code>.</p>\n<p>Cannot pan after setting to <code class=\"codespan\">0</code>.</p>\n"
+  },
+  "viewControl.panMouseButton": {
+    "desc": "<p>The mouse button used for panning operation supports:</p>\n<ul>\n<li><p><code class=\"codespan\">&#39;left&#39;</code> left mouse button (default)</p>\n</li>\n<li><p><code class=\"codespan\">&#39;middle&#39;</code> middle mouse button</p>\n</li>\n<li><p><code class=\"codespan\">&#39;right&#39;</code> right mouse button</p>\n</li>\n</ul>\n<p>Note: If set to the right mouse button, the default context menu will be blocked.</p>\n"
+  },
+  "viewControl.rotateMouseButton": {
+    "desc": "<p>The mouse button used for the rotation operation supports:</p>\n<ul>\n<li><p><code class=\"codespan\">&#39;left&#39;</code> left mouse button</p>\n</li>\n<li><p><code class=\"codespan\">&#39;middle&#39;</code> middle mouse button (default)</p>\n</li>\n<li><p><code class=\"codespan\">&#39;right&#39;</code> right mouse button</p>\n</li>\n</ul>\n<p>Note: If set to the right mouse button, the default context menu will be blocked.</p>\n"
+  },
+  "viewControl.distance": {
+    "desc": "<p>The distance of the default perspective from the subject. For <a href=\"#globe\">globe</a>, the distance from the Earth&#39;s surface is the distance from the center origin for other components such as <a href=\"#grid3D\">grid3D</a> and <a href=\"#geo3D\">geo3D</a>. Valid when <a href=\"#grid3D.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;perspective&#39;</code>.</p>\n"
+  },
+  "viewControl.minDistance": {
+    "desc": "<p>The angle of view is controlled by the mouse to bring the minimum distance to the subject. Valid when <a href=\"#grid3D.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;perspective&#39;</code>.</p>\n"
+  },
+  "viewControl.maxDistance": {
+    "desc": "<p>The angle of view can be extended to the maximum distance of the subject by mouse control. Valid when <a href=\"#grid3D.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;perspective&#39;</code>.</p>\n"
+  },
+  "viewControl.orthographicSize": {
+    "desc": "<p>The size of the orthogonal projection. Valid when <a href=\"#grid3D.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;orthographic&#39;</code>.</p>\n"
+  },
+  "viewControl.maxOrthographicSize": {
+    "desc": "<p>The maximum value of the orthogonal projection scaling. Valid when <a href=\"#grid3D.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;orthographic&#39;</code>.</p>\n"
+  },
+  "viewControl.minOrthographicSize": {
+    "desc": "<p>The minimum value of the orthogonal projection scaling. Valid when <a href=\"#grid3D.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;orthographic&#39;</code></p>\n"
+  },
+  "viewControl.alpha": {
+    "desc": "<p>The angle of view is around the x-axis, which is the angle of rotation up and down. With <a href=\"#grid3D.light.main.beta\">beta</a> you can control the direction of the perspective.</p>\n<p>As shown below:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/view-alpha-beta.png\"></p>\n"
+  },
+  "viewControl.beta": {
+    "desc": "<p>The angle of view is around the y-axis, which is the angle of rotation from left to right.</p>\n"
+  },
+  "viewControl.center": {
+    "desc": "<p>At the center of the angle of view, the rotation will also rotate around this center point. The default is <code class=\"codespan\">[0,0,0]</code>.</p>\n"
+  },
+  "viewControl.minAlpha": {
+    "desc": "<p>The minimum alpha value to rotate up and down. That is, the angle of view can be rotated to reach the uppermost angle.</p>\n"
+  },
+  "viewControl.maxAlpha": {
+    "desc": "<p>The maximum alpha value to rotate up and down. That is, the angle of view can be rotated to the lowest angle.</p>\n"
+  },
+  "viewControl.minBeta": {
+    "desc": "<p>The minimum beta value to rotate left and right. That is, the angle of view can be rotated to the leftmost angle.</p>\n"
+  },
+  "viewControl.maxBeta": {
+    "desc": "<p>The maximum beta value to rotate left and right rotation. That is, the angle of view can be rotated to the rightmost angle.</p>\n"
+  },
+  "viewControl.animation": {
+    "desc": "<p>Whether to enable animation.</p>\n"
+  },
+  "viewControl.animationDurationUpdate": {
+    "desc": "<p>The duration time for update the transition animation.</p>\n"
+  },
+  "viewControl.animationEasingUpdate": {
+    "desc": "<p>The easing effect for update transition animation.</p>\n"
+  },
+  "zlevel": {
+    "desc": "<p>The layer in which the component is located.</p>\n<p><code class=\"codespan\">zlevel</code> is used to make layers with Canvas. Graphical elements with different <code class=\"codespan\">zlevel</code> values will be placed in different Canvases, which is a common optimization technique. We can put those frequently changed elements (like those with animations) to a separate <code class=\"codespan\">zlevel</code>. Notice that too many Canvases will increase memory cost, and [...]
+  },
+  "left": {
+    "desc": "<p>Distance between  component and the left side of the container.</p>\n<p><code class=\"codespan\">left</code> value can be instant pixel value like <code class=\"codespan\">20</code>; it can also be a percentage value relative to container width like <code class=\"codespan\">&#39;20%&#39;</code>; and it can also be <code class=\"codespan\">&#39;left&#39;</code>, <code class=\"codespan\">&#39;center&#39;</code>, or <code class=\"codespan\">&#39;right&#39;</code>.</p>\n<p>If [...]
+  },
+  "top": {
+    "desc": "<p>Distance between  component and the top side of the container.</p>\n<p><code class=\"codespan\">top</code> value can be instant pixel value like <code class=\"codespan\">20</code>; it can also be a percentage value relative to container width like <code class=\"codespan\">&#39;20%&#39;</code>; and it can also be <code class=\"codespan\">&#39;top&#39;</code>, <code class=\"codespan\">&#39;middle&#39;</code>, or <code class=\"codespan\">&#39;bottom&#39;</code>.</p>\n<p>If t [...]
+  },
+  "right": {
+    "desc": "<p>Distance between  component and the right side of the container.</p>\n<p><code class=\"codespan\">right</code> value can be instant pixel value like <code class=\"codespan\">20</code>; it can also be a percentage value relative to container width like <code class=\"codespan\">&#39;20%&#39;</code>.</p>\n<p> Adaptive by default.</p>\n"
+  },
+  "bottom": {
+    "desc": "<p>Distance between  component and the bottom side of the container.</p>\n<p><code class=\"codespan\">bottom</code> value can be instant pixel value like <code class=\"codespan\">20</code>; it can also be a percentage value relative to container width like <code class=\"codespan\">&#39;20%&#39;</code>.</p>\n<p> Adaptive by default.</p>\n"
+  },
+  "width": {
+    "desc": "<p> The width of the view of the component.</p>\n"
+  },
+  "height": {
+    "desc": "<p> The height of the view of the component.</p>\n"
+  }
+}
\ No newline at end of file
diff --git a/next/en/documents/option-gl-parts/option-gl.grid3D.json b/next/en/documents/option-gl-parts/option-gl.grid3D.json
new file mode 100644
index 0000000..a322d97
--- /dev/null
+++ b/next/en/documents/option-gl-parts/option-gl.grid3D.json
@@ -0,0 +1,398 @@
+{
+  "show": {
+    "desc": "<p>Whether to display a 3D cartesian coordinate system component.</p>\n"
+  },
+  "boxWidth": {
+    "desc": "<p>3D cartesian coordinate system width in a 3D scene. With <a href=\"#grid3D.viewControl.distance\">viewControl.distance</a> you can get the most appropriate display size.</p>\n"
+  },
+  "boxHeight": {
+    "desc": "<p>3D cartesian coordinate system height in a 3D scene.</p>\n"
+  },
+  "boxDepth": {
+    "desc": "<p>3D cartesian coordinate system depth in a 3D scene.</p>\n"
+  },
+  "axisLine": {
+    "desc": "<p>Settings related to axis line.</p>\n"
+  },
+  "axisLine.show": {
+    "desc": "<p>Set this to be <code class=\"codespan\">false</code> to prevent the axis line from showing.</p>\n"
+  },
+  "axisLine.interval": {
+    "desc": "<p>axis scale label is valid in the category axis. </p>\n<p>By default, <code class=\"codespan\">interval</code> is automatically calculated to ensure a good display.</p>\n<p>It can be set to 0 to force all labels to be displayed.</p>\n<p>If the value is <code class=\"codespan\">1</code>, it means &quot;displays a label every other label&quot;. If the value is <code class=\"codespan\">2</code>, it means &quot;displays a label between two labels&quot;, and so on.</p>\n<p>The  [...]
+  },
+  "axisLine.lineStyle.color": {
+    "desc": "<p>The color of the line. </p>\n<p>In addition to color strings, RGBA values represented by arrays are supported, for example:</p>\n<pre><code class=\"lang-js\">// pure white\n[1, 1, 1, 1]\n</code></pre>\n<p>When using an array representation, each channel can set a value greater than 1 to represent the color value of HDR.</p>\n"
+  },
+  "axisLine.lineStyle.opacity": {
+    "desc": "<p>The opacity of the line.</p>\n"
+  },
+  "axisLine.lineStyle.width": {
+    "desc": "<p>The width of the line.</p>\n"
+  },
+  "axisLabel": {
+    "desc": "<p>Settings related to axis label.</p>\n"
+  },
+  "axisLabel.show": {
+    "desc": "<p>Set this to be <code class=\"codespan\">false</code> to prevent the axis label from appearing.</p>\n"
+  },
+  "axisLabel.margin": {
+    "desc": "<p>The margin between the axis label and the axis line.</p>\n<p><strong>Note:</strong> This distance is three-dimensional space, not screen space.</p>\n"
+  },
+  "axisLabel.interval": {
+    "desc": "<p>axis scale label is valid in the category axis. </p>\n<p>By default, <code class=\"codespan\">interval</code> is automatically calculated to ensure a good display.</p>\n<p>It can be set to 0 to force all labels to be displayed.</p>\n<p>If the value is <code class=\"codespan\">1</code>, it means &quot;displays a label every other label&quot;. If the value is <code class=\"codespan\">2</code>, it means &quot;displays a label between two labels&quot;, and so on.</p>\n<p>The  [...]
+  },
+  "axisLabel.textStyle.color": {
+    "desc": "<p>Color of axis label is set to be <a href=\"#.axisLine.lineStyle.color\">axisLine.lineStyle.color</a> by default. Callback function is supported, in the following format:</p>\n<pre><code class=\"lang-js\">(val: string) =&gt; Color\n</code></pre>\n<p>Parameter is the text of label, and return value is the color. See the following example:</p>\n<pre><code class=\"lang-js\">textStyle: {\n    color: function (value, index) {\n        return value &gt;= 0 ? &#39;green&#39; : &# [...]
+  },
+  "axisLabel.textStyle.borderWidth": {
+    "desc": "<p>The border width of the text.</p>\n"
+  },
+  "axisLabel.textStyle.borderColor": {
+    "desc": "<p>The border color of the text.</p>\n"
+  },
+  "axisLabel.textStyle.fontFamily": {
+    "desc": "<p>The font family of the text.</p>\n"
+  },
+  "axisLabel.textStyle.fontSize": {
+    "desc": "<p>The font size of the text.</p>\n"
+  },
+  "axisLabel.textStyle.fontWeight": {
+    "desc": "<p>The font thick weight of the text.</p>\n<p><strong>Optional:</strong></p>\n<ul>\n<li><code class=\"codespan\">&#39;normal&#39;</code></li>\n<li><code class=\"codespan\">&#39;bold&#39;</code></li>\n<li><code class=\"codespan\">&#39;bolder&#39;</code></li>\n<li><code class=\"codespan\">&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n"
+  },
+  "axisTick": {
+    "desc": "<p>Settings related to axis tick.</p>\n"
+  },
+  "axisTick.show": {
+    "desc": "<p>Set this to be <code class=\"codespan\">false</code> to prevent the axis tick from showing.</p>\n"
+  },
+  "axisTick.interval": {
+    "desc": "<p>axis scale label is valid in the category axis.  Defaults to the same as <a href=\"#.axisLabel.interval\">axisLabel.interval</a>. </p>\n<p>By default, <code class=\"codespan\">interval</code> is automatically calculated to ensure a good display.</p>\n<p>It can be set to 0 to force all labels to be displayed.</p>\n<p>If the value is <code class=\"codespan\">1</code>, it means &quot;displays a label every other label&quot;. If the value is <code class=\"codespan\">2</code>, [...]
+  },
+  "axisTick.length": {
+    "desc": "<p>The length of the axis tick.</p>\n"
+  },
+  "axisTick.lineStyle.color": {
+    "desc": "<p>Color of axis label is set to be <a href=\"#.axisLine.lineStyle.color\">axisLine.lineStyle.color</a> by default.</p>\n"
+  },
+  "axisTick.lineStyle.opacity": {
+    "desc": "<p>The opacity of the line.</p>\n"
+  },
+  "axisTick.lineStyle.width": {
+    "desc": "<p>The width of the line.</p>\n"
+  },
+  "splitLine": {
+    "desc": "<p>Settings related to axis line.</p>\n"
+  },
+  "splitLine.show": {
+    "desc": "<p>Set this to be <code class=\"codespan\">false</code> to prevent the axis line from showing.</p>\n"
+  },
+  "splitLine.interval": {
+    "desc": "<p>axis scale label is valid in the category axis. </p>\n<p>By default, <code class=\"codespan\">interval</code> is automatically calculated to ensure a good display.</p>\n<p>It can be set to 0 to force all labels to be displayed.</p>\n<p>If the value is <code class=\"codespan\">1</code>, it means &quot;displays a label every other label&quot;. If the value is <code class=\"codespan\">2</code>, it means &quot;displays a label between two labels&quot;, and so on.</p>\n<p>The  [...]
+  },
+  "splitLine.lineStyle.color": {
+    "desc": "<p>The color of the line. </p>\n<p>In addition to color strings, RGBA values represented by arrays are supported, for example:</p>\n<pre><code class=\"lang-js\">// pure white\n[1, 1, 1, 1]\n</code></pre>\n<p>When using an array representation, each channel can set a value greater than 1 to represent the color value of HDR.</p>\n"
+  },
+  "splitLine.lineStyle.opacity": {
+    "desc": "<p>The opacity of the line.</p>\n"
+  },
+  "splitLine.lineStyle.width": {
+    "desc": "<p>The width of the line.</p>\n"
+  },
+  "splitArea": {
+    "desc": "<p>Split area of axis in <a href=\"#grid\">grid</a> area.</p>\n"
+  },
+  "splitArea.show": {
+    "desc": "<p>Set this to be <code class=\"codespan\">true</code> to show the splitArea.</p>\n"
+  },
+  "splitArea.interval": {
+    "desc": "<p>Axis splitArea is valid in the category axis.  Defaults to the same as <a href=\"#.axisLabel.interval\">axisLabel.interval</a>. </p>\n<p>By default, <code class=\"codespan\">interval</code> is automatically calculated to ensure a good display.</p>\n<p>It can be set to 0 to force all labels to be displayed.</p>\n<p>If the value is <code class=\"codespan\">1</code>, it means &quot;displays a label every other label&quot;. If the value is <code class=\"codespan\">2</code>, i [...]
+  },
+  "splitArea.areaStyle": {
+    "desc": "<p>Split area style.</p>\n"
+  },
+  "splitArea.areaStyle.color": {
+    "desc": "<p>Color of the split area.\nThe split area color could also be set in color array, which the split lines would take as their colors in turns. Dark and light colors in turns are used by default.</p>\n"
+  },
+  "axisPointer": {
+    "desc": "<p>Configurations for axis pointer.</p>\n"
+  },
+  "axisPointer.show": {
+    "desc": "<p>Whether to display the axisPointer. Set this to be <code class=\"codespan\">true</code> to show the splitArea.</p>\n"
+  },
+  "axisPointer.lineStyle.color": {
+    "desc": "<p>The color of the line. </p>\n<p>In addition to color strings, RGBA values represented by arrays are supported, for example:</p>\n<pre><code class=\"lang-js\">// pure white\n[1, 1, 1, 1]\n</code></pre>\n<p>When using an array representation, each channel can set a value greater than 1 to represent the color value of HDR.</p>\n"
+  },
+  "axisPointer.lineStyle.opacity": {
+    "desc": "<p>The opacity of the line.</p>\n"
+  },
+  "axisPointer.lineStyle.width": {
+    "desc": "<p>The width of the line.</p>\n"
+  },
+  "axisPointer.label": {
+    "desc": "<p>The label of axisPointer.</p>\n"
+  },
+  "axisPointer.label.show": {
+    "desc": "<p>Whether to display the label of axisPointer. Value axes are displayed by default, while category axes are not.</p>\n"
+  },
+  "axisPointer.label.formatter": {
+    "desc": "<p>The formatter of the label. . The first parameter to the function is the value of the current axis. The second parameter to the function is an array of values for all axes.</p>\n<pre><code class=\"lang-js\">(value: number, valueAll: Array) =&gt; string\n</code></pre>\n"
+  },
+  "axisPointer.label.margin": {
+    "desc": "<p>Distance between label and axis.\nLike the scale label, this distance is a 3D space rather than a screen pixel.</p>\n"
+  },
+  "axisPointer.label.textStyle.color": {
+    "desc": "<p>The Color of the text.</p>\n"
+  },
+  "axisPointer.label.textStyle.borderWidth": {
+    "desc": "<p>The border width of the text.</p>\n"
+  },
+  "axisPointer.label.textStyle.borderColor": {
+    "desc": "<p>The border color of the text.</p>\n"
+  },
+  "axisPointer.label.textStyle.fontFamily": {
+    "desc": "<p>The font family of the text.</p>\n"
+  },
+  "axisPointer.label.textStyle.fontSize": {
+    "desc": "<p>The font size of the text.</p>\n"
+  },
+  "axisPointer.label.textStyle.fontWeight": {
+    "desc": "<p>The font thick weight of the text.</p>\n<p><strong>Optional:</strong></p>\n<ul>\n<li><code class=\"codespan\">&#39;normal&#39;</code></li>\n<li><code class=\"codespan\">&#39;bold&#39;</code></li>\n<li><code class=\"codespan\">&#39;bolder&#39;</code></li>\n<li><code class=\"codespan\">&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n"
+  },
+  "environment": {
+    "desc": "<p>Environment map. Support for solid colors, gradual colors, URL of panoramic texture. The default is <code class=\"codespan\">&#39;auto&#39;</code>, which is used as the environment texture when <a href=\"#grid3D.light.ambientCubemap.texture\">light.ambientCubemap.texture</a> is configured. Otherwise, the environment texture is not displayed.</p>\n<p>Example: </p>\n<pre><code class=\"lang-js\">// Configure as a panoramic texture\nenvironment: &#39;asset/starfield.jpg&#39;\ [...]
+  },
+  "light": {
+    "desc": "<p>Light related settings. Invalid when <a href=\"#grid3D.shading\">shading</a> is &#39;color&#39;.</p>\n<p>The lighting settings affect the components and all the charts on the component&#39;s coordinate system.</p>\n<p>A reasonable lighting setting can make the brightness and darkness of the whole scene richer and more layered.</p>\n"
+  },
+  "light.main": {
+    "desc": "<p>The setting of the main light source of the scene. In the <a href=\"#globe\">globe</a> component is the sun.</p>\n"
+  },
+  "light.main.color": {
+    "desc": "<p>The color of the main light source.</p>\n"
+  },
+  "light.main.intensity": {
+    "desc": "<p>The intensity of the main light source.</p>\n"
+  },
+  "light.main.shadow": {
+    "desc": "<p>Whether the main light source displays a shadow. The default is off.</p>\n<p>Turning on the shadows can bring more realistic and layered lighting to the scene. But it also increases the operating overhead of the program.</p>\n<p>The following two images show the difference between turning on the shadow and turning off the shadow.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-shadow.png\" width=\"100%\" tit [...]
+  },
+  "light.main.shadowQuality": {
+    "desc": "<p>The quality of the shadow. You can choose <code class=\"codespan\">&#39;low&#39;</code>, <code class=\"codespan\">&#39;medium&#39;</code>, <code class=\"codespan\">&#39;high&#39;</code>, <code class=\"codespan\">&#39;ultra&#39;</code></p>\n<p>The following two images shows the difference between low quality and high quality shadows.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-shadow-low.png\" width=\"100 [...]
+  },
+  "light.main.alpha": {
+    "desc": "<p>The main light source is around the x-axis, which is the angle of up-down rotation. Control the direction of the light with <a href=\"#grid3D.light.main.beta\">beta</a>.</p>\n<p>As the following image show:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/light-alpha-beta.png\"></p>\n<p>The <a href=\"#globe\">globe</a> component can control the time of sunlight by <a href=\"#globe.light.main.time\">time</a>.</p>\n"
+  },
+  "light.main.beta": {
+    "desc": "<p>The main light source is around the y-axis, which is the angle of the left-right rotation.</p>\n"
+  },
+  "light.ambient": {
+    "desc": "<p>Global ambient light settings.</p>\n"
+  },
+  "light.ambient.color": {
+    "desc": "<p>The color of ambient light.</p>\n"
+  },
+  "light.ambient.intensity": {
+    "desc": "<p>The intensity of ambient light.</p>\n"
+  },
+  "light.ambientCubemap": {
+    "desc": "<p>The ambientCubemap uses texture as the source of ambient light, which provides diffuse and specular for objects. The diffuse and specular can be set separately by <a href=\"#grid3D.light.ambientCubemap.diffuseIntensity\">diffuseIntensity</a> and <a href=\"#grid3D.light.ambientCubemap.specularIntensity\">specularIntensity</a>.</p>\n"
+  },
+  "light.ambientCubemap.texture": {
+    "desc": "<p>The URL of the ambient cubemap supports HDR images in the <code class=\"codespan\">.hdr</code> format. You can obtained the resources for <code class=\"codespan\">.hdr</code> from <a href=\"http://www.hdrlabs.com/sibl/archive.html\" target=\"_blank\">http://www.hdrlabs.com/sibl/archive.html</a> and other websites.</p>\n<p>Example:</p>\n<pre><code class=\"lang-js\">ambientCubemap: {\n    texture: &#39;pisa.hdr&#39;,\n    // The exposure value used when analytic hdr\n    ex [...]
+  },
+  "light.ambientCubemap.diffuseIntensity": {
+    "desc": "<p>The intensity of diffuse.</p>\n"
+  },
+  "light.ambientCubemap.specularIntensity": {
+    "desc": "<p>The intensity of specular.</p>\n"
+  },
+  "postEffect": {
+    "desc": "<p>Post-processing effects related configuration. It can add effects such as highlights, depth of field, screen space ambient occlusion (SSAO), toning to the picture. And it can make the whole picture more textured.</p>\n<p>The following are the differences between closing <code class=\"codespan\">postEffect</code> and opening <code class=\"codespan\">postEffect</code>.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/i [...]
+  },
+  "postEffect.enable": {
+    "desc": "<p>Whether to enable post-processing effects. Not enabled by default.</p>\n"
+  },
+  "postEffect.bloom": {
+    "desc": "<p>Bloom is used to reproducing the effects that occur in real cameras when taking pictures in a bright environment.\nBecause traditional RGB can only represent colors in the range of &#39;0 - 255&#39;, so we need to use the bloom effect simulates fringes of light extending from the borders of bright areas, creating the illusion of a bright light overwhelming the camera. As shown below:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/globe-posteffect-blo [...]
+  },
+  "postEffect.bloom.enable": {
+    "desc": "<p>Whether to enable the bloom effect.</p>\n"
+  },
+  "postEffect.bloom.bloomIntensity": {
+    "desc": "<p>The intensity of the bloom. The default is 0.1.</p>\n"
+  },
+  "postEffect.depthOfField": {
+    "desc": "<p>Depth of Field is a post-processing effect that simulates the focus properties of a camera. The area of focus is clear, and the area away from the focus is gradually blurred.</p>\n<p>The depth of field effect allows the observer to focus on the area of focus and make the picture feel stronger. Large depth of field can also create a macro model effect.</p>\n<p>The following are the differences between turning off and turning on the depth of field effect.</p>\n<div  class=\ [...]
+  },
+  "postEffect.depthOfField.enable": {
+    "desc": "<p>Whether to enable the depth of field.</p>\n"
+  },
+  "postEffect.depthOfField.focalDistance": {
+    "desc": "<p>The initial focus distance. The user can click on the area to automatically focus.</p>\n"
+  },
+  "postEffect.depthOfField.focalRange": {
+    "desc": "<p>The size of the in-focus area. The objects in this range are completely clear and there is no blurring.</p>\n"
+  },
+  "postEffect.depthOfField.fstop": {
+    "desc": "<p>[F value] of the lens (<a href=\"https://zh.wikipedia.org/wiki/%E7%84%A6%E6%AF%94)\" target=\"_blank\">https://zh.wikipedia.org/wiki/%E7%84%A6%E6%AF%94)</a>, the smaller the value, the shallower the depth of field.</p>\n"
+  },
+  "postEffect.depthOfField.blurRadius": {
+    "desc": "<p>Blur radius outside the focus.</p>\n<p>The difference blur effect between the different radius. </p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-dof-small.png\" width=\"100%\" title=\"blurSize: 3\"><img />\n    <img  src=\"documents/asset/gl/img/geo-dof-large.png\" width=\"100%\" title=\"blurSize: 10\"><img />\n<div />\n"
+  },
+  "postEffect.screenSpaceAmbientOcclusion": {
+    "desc": "<p>The ambient occlusion post-processing effect darkens the corners, holes, crevices, and areas where most light can`t reach. It is a supplement to the traditional shadow map, which makes the whole scene more natural and layered.</p>\n<p>Below is a comparison of the effects of no SSAO and SSAO:</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-no-ssao.png\" width=\"100%\" title=\"No SSAO\"><img />\n    <img  src= [...]
+  },
+  "postEffect.SSAO": {
+    "desc": "<p>Same as <a href=\"#grid3D.postEffect.screenSpaceAmbientOcclusion\">screenSpaceAmbientOcclusion</a></p>\n"
+  },
+  "postEffect.SSAO.enable": {
+    "desc": "<p>Whether to enable SSAO (screen space ambient occlusion). Not enabled by default.</p>\n"
+  },
+  "postEffect.SSAO.quality": {
+    "desc": "<p>The quality of SSAO (screen space ambient occlusion). Supporting<code class=\"codespan\">&#39;low&#39;</code>, <code class=\"codespan\">&#39;medium&#39;</code>, <code class=\"codespan\">&#39;high&#39;</code>, <code class=\"codespan\">&#39;ultra&#39;</code></p>\n"
+  },
+  "postEffect.SSAO.radius": {
+    "desc": "<p>The radius of the SSAO (screen space ambient occlusion). The larger the radius, the more natural the effect, but you need to set a higher <code class=\"codespan\">&#39;quality&#39;</code>. </p>\n<p>The following example is the difference between a smaller and larger radius:</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-ssao-small-radius.png\" width=\"100%\" title=\"Radius: 1\"><img />\n    <img  src=\"docu [...]
+  },
+  "postEffect.SSAO.intensity": {
+    "desc": "<p>The intensity of SSAO (screen space ambient occlusion). The larger the value, the darker the color.</p>\n"
+  },
+  "postEffect.colorCorrection": {
+    "desc": "<p>Color correction and adjustment. Similar to Color Adjustments in Photoshop.</p>\n<p>The same scene in the figure below is adjusted to the difference between the cool color system and the warm color system.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/buildings-cold.jpg\" width=\"100%\" title=\"Cold\"><img />\n    <img  src=\"documents/asset/gl/img/buildings-warm.jpg\" width=\"100%\" title=\"Warm\"><img />\n<d [...]
+  },
+  "postEffect.colorCorrection.enable": {
+    "desc": "<p>Whether to enable the color correction.</p>\n"
+  },
+  "postEffect.colorCorrection.lookupTexture": {
+    "desc": "<p>Color correction lookup texture, recommended.</p>\n<p>The color correction lookup texture is a texture image like the one below.</p>\n<p><img width=\"200\" height=\"auto\" src=\"documents/asset/gl/img/lookup.png\"></p>\n<p>This is the basic lookup texture image that you can use directly.\nTo adjust the color of the scene to the effect you want, you can take a screenshot of the scene and adjust the color to the desired effect in image processing software such as Photoshop. [...]
+  },
+  "postEffect.colorCorrection.exposure": {
+    "desc": "<p>The exposure of the image.</p>\n"
+  },
+  "postEffect.colorCorrection.brightness": {
+    "desc": "<p>The brightness of the image.</p>\n"
+  },
+  "postEffect.colorCorrection.contrast": {
+    "desc": "<p>The contrast of the image.</p>\n"
+  },
+  "postEffect.colorCorrection.saturation": {
+    "desc": "<p>The saturation of the image.</p>\n"
+  },
+  "postEffect.FXAA": {
+    "desc": "<p>After opening <a href=\"#grid3D.postEffect\">postEffect</a>, WebGL&#39;s default MSAA (Multi Sampling Anti Aliasing) will not work. At this time, FXAA (Fast Approximate Anti-Aliasing) can solve the anti-aliasing problem quickly and easily. FXAA blurs the edge of the scene to solve the problem of aliasing. It works well on some scenes, but in echarts-gl, you need to ensure that the edges of many texts and lines are sharp and clear, so FXAA is not suitable. At this point we [...]
+  },
+  "postEffect.FXAA.enable": {
+    "desc": "<p>Whether to enable FXAA. Not enabled by default.</p>\n"
+  },
+  "temporalSuperSampling": {
+    "desc": "<p>Temporal supersampling. After opening <a href=\"#grid3D.postEffect\">postEffect</a>, WebGL&#39;s default MSAA (MultiSampling Anti-Aliasing) will not work, so we need to solve the problem of sampling.</p>\n<p>Temporal supersampling is an anti-aliasing method. After the picture is still, it will continue to sample multiple times and taken at several instances inside the pixel and an average color value is calculated, thus achieving anti-aliasing effect.\nAnd in this process [...]
+  },
+  "temporalSuperSampling.enable": {
+    "desc": "<p>Whether to enable temporal supersampling. By default, temporal supersampling is also turned on synchronously when <a href=\"#grid3D.postEffect\">postEffect</a> is turned on.</p>\n"
+  },
+  "viewControl": {
+    "desc": "<p><code class=\"codespan\">viewControl</code> is used for mouse rotation, zooming, and other perspective control.</p>\n"
+  },
+  "viewControl.projection": {
+    "desc": "<p>The way of projection, the default is <code class=\"codespan\">&#39;perspective&#39;</code> projection, also supports setting to <code class=\"codespan\">&#39;orthogonal&#39;</code> projection.</p>\n"
+  },
+  "viewControl.autoRotate": {
+    "desc": "<p>Whether to enable the angle of view to automatically rotate around the object.</p>\n"
+  },
+  "viewControl.autoRotateDirection": {
+    "desc": "<p>The direction in which the object auto rotates. The default is <code class=\"codespan\">&#39;cw&#39;</code> means clockwise from top to bottom, and can also use  <code class=\"codespan\">&#39;ccw&#39;</code> means counterclockwise from top to bottom.</p>\n"
+  },
+  "viewControl.autoRotateSpeed": {
+    "desc": "<p>The speed at which the object auto rotates. The unit is <code class=\"codespan\">angle/second</code>, the default is <code class=\"codespan\">10</code>, which is a turn of <code class=\"codespan\">36</code> seconds.</p>\n"
+  },
+  "viewControl.autoRotateAfterStill": {
+    "desc": "<p>The time interval for automatic rotation to resume after the mouse is still. Valid after opening <a href=\"#grid3D.viewControl.autoRotate\">autoRotate</a>.</p>\n"
+  },
+  "viewControl.damping": {
+    "desc": "<p>The damping when the mouse is rotated, zoomed, etc.\nWhen it is greater than 0, the angle of view will continue to move (rotate and zoom) due to certain inertia after the mouse is still.</p>\n"
+  },
+  "viewControl.rotateSensitivity": {
+    "desc": "<p>The sensitivity of the rotation operation. The greater the value, the more sensitive. Supports the use of arrays to set the horizontal and vertical rotation sensitivity separately.</p>\n<p>The default is <code class=\"codespan\">1</code>.</p>\n<p>Cannot be rotated after setting to <code class=\"codespan\">0</code>.</p>\n<pre><code class=\"lang-js\">// can&#39;t rotate\nrotateSensitivity: 0\n// can only be rotated horizontally\nrotateSensitivity: [1, 0]\n//  can only rotat [...]
+  },
+  "viewControl.zoomSensitivity": {
+    "desc": "<p>The sensitivity of the zoom operation, the larger the value, the more sensitive. The default is <code class=\"codespan\">1</code>.</p>\n<p>Can<code class=\"codespan\">t be scaled after setting to</code>0`.</p>\n"
+  },
+  "viewControl.panSensitivity": {
+    "desc": "<p>The sensitivity of the panning operation, the greater the value, the more sensitive. Supports the use of arrays to set the horizontal and vertical translation sensitivity.</p>\n<p>The default is <code class=\"codespan\">1</code>.</p>\n<p>Cannot pan after setting to <code class=\"codespan\">0</code>.</p>\n"
+  },
+  "viewControl.panMouseButton": {
+    "desc": "<p>The mouse button used for panning operation supports:</p>\n<ul>\n<li><p><code class=\"codespan\">&#39;left&#39;</code> left mouse button (default)</p>\n</li>\n<li><p><code class=\"codespan\">&#39;middle&#39;</code> middle mouse button</p>\n</li>\n<li><p><code class=\"codespan\">&#39;right&#39;</code> right mouse button</p>\n</li>\n</ul>\n<p>Note: If set to the right mouse button, the default context menu will be blocked.</p>\n"
+  },
+  "viewControl.rotateMouseButton": {
+    "desc": "<p>The mouse button used for the rotation operation supports:</p>\n<ul>\n<li><p><code class=\"codespan\">&#39;left&#39;</code> left mouse button</p>\n</li>\n<li><p><code class=\"codespan\">&#39;middle&#39;</code> middle mouse button (default)</p>\n</li>\n<li><p><code class=\"codespan\">&#39;right&#39;</code> right mouse button</p>\n</li>\n</ul>\n<p>Note: If set to the right mouse button, the default context menu will be blocked.</p>\n"
+  },
+  "viewControl.distance": {
+    "desc": "<p>The distance of the default perspective from the subject. For <a href=\"#globe\">globe</a>, the distance from the Earth&#39;s surface is the distance from the center origin for other components such as <a href=\"#grid3D\">grid3D</a> and <a href=\"#geo3D\">geo3D</a>. Valid when <a href=\"#grid3D.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;perspective&#39;</code>.</p>\n"
+  },
+  "viewControl.minDistance": {
+    "desc": "<p>The angle of view is controlled by the mouse to bring the minimum distance to the subject. Valid when <a href=\"#grid3D.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;perspective&#39;</code>.</p>\n"
+  },
+  "viewControl.maxDistance": {
+    "desc": "<p>The angle of view can be extended to the maximum distance of the subject by mouse control. Valid when <a href=\"#grid3D.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;perspective&#39;</code>.</p>\n"
+  },
+  "viewControl.orthographicSize": {
+    "desc": "<p>The size of the orthogonal projection. Valid when <a href=\"#grid3D.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;orthographic&#39;</code>.</p>\n"
+  },
+  "viewControl.maxOrthographicSize": {
+    "desc": "<p>The maximum value of the orthogonal projection scaling. Valid when <a href=\"#grid3D.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;orthographic&#39;</code>.</p>\n"
+  },
+  "viewControl.minOrthographicSize": {
+    "desc": "<p>The minimum value of the orthogonal projection scaling. Valid when <a href=\"#grid3D.viewControl.projection\">projection</a> is <code class=\"codespan\">&#39;orthographic&#39;</code></p>\n"
+  },
+  "viewControl.alpha": {
+    "desc": "<p>The angle of view is around the x-axis, which is the angle of rotation up and down. With <a href=\"#grid3D.light.main.beta\">beta</a> you can control the direction of the perspective.</p>\n<p>As shown below:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/view-alpha-beta.png\"></p>\n"
+  },
+  "viewControl.beta": {
+    "desc": "<p>The angle of view is around the y-axis, which is the angle of rotation from left to right.</p>\n"
+  },
+  "viewControl.center": {
+    "desc": "<p>At the center of the angle of view, the rotation will also rotate around this center point. The default is <code class=\"codespan\">[0,0,0]</code>.</p>\n"
+  },
+  "viewControl.minAlpha": {
+    "desc": "<p>The minimum alpha value to rotate up and down. That is, the angle of view can be rotated to reach the uppermost angle.</p>\n"
+  },
+  "viewControl.maxAlpha": {
+    "desc": "<p>The maximum alpha value to rotate up and down. That is, the angle of view can be rotated to the lowest angle.</p>\n"
+  },
+  "viewControl.minBeta": {
+    "desc": "<p>The minimum beta value to rotate left and right. That is, the angle of view can be rotated to the leftmost angle.</p>\n"
+  },
+  "viewControl.maxBeta": {
+    "desc": "<p>The maximum beta value to rotate left and right rotation. That is, the angle of view can be rotated to the rightmost angle.</p>\n"
+  },
+  "viewControl.animation": {
+    "desc": "<p>Whether to enable animation.</p>\n"
+  },
+  "viewControl.animationDurationUpdate": {
+    "desc": "<p>The duration time for update the transition animation.</p>\n"
+  },
+  "viewControl.animationEasingUpdate": {
+    "desc": "<p>The easing effect for update transition animation.</p>\n"
+  },
+  "zlevel": {
+    "desc": "<p>The layer in which the component is located.</p>\n<p><code class=\"codespan\">zlevel</code> is used to make layers with Canvas. Graphical elements with different <code class=\"codespan\">zlevel</code> values will be placed in different Canvases, which is a common optimization technique. We can put those frequently changed elements (like those with animations) to a separate <code class=\"codespan\">zlevel</code>. Notice that too many Canvases will increase memory cost, and [...]
+  },
+  "left": {
+    "desc": "<p>Distance between  component and the left side of the container.</p>\n<p><code class=\"codespan\">left</code> value can be instant pixel value like <code class=\"codespan\">20</code>; it can also be a percentage value relative to container width like <code class=\"codespan\">&#39;20%&#39;</code>; and it can also be <code class=\"codespan\">&#39;left&#39;</code>, <code class=\"codespan\">&#39;center&#39;</code>, or <code class=\"codespan\">&#39;right&#39;</code>.</p>\n<p>If [...]
+  },
+  "top": {
+    "desc": "<p>Distance between  component and the top side of the container.</p>\n<p><code class=\"codespan\">top</code> value can be instant pixel value like <code class=\"codespan\">20</code>; it can also be a percentage value relative to container width like <code class=\"codespan\">&#39;20%&#39;</code>; and it can also be <code class=\"codespan\">&#39;top&#39;</code>, <code class=\"codespan\">&#39;middle&#39;</code>, or <code class=\"codespan\">&#39;bottom&#39;</code>.</p>\n<p>If t [...]
+  },
+  "right": {
+    "desc": "<p>Distance between  component and the right side of the container.</p>\n<p><code class=\"codespan\">right</code> value can be instant pixel value like <code class=\"codespan\">20</code>; it can also be a percentage value relative to container width like <code class=\"codespan\">&#39;20%&#39;</code>.</p>\n<p> Adaptive by default.</p>\n"
+  },
+  "bottom": {
+    "desc": "<p>Distance between  component and the bottom side of the container.</p>\n<p><code class=\"codespan\">bottom</code> value can be instant pixel value like <code class=\"codespan\">20</code>; it can also be a percentage value relative to container width like <code class=\"codespan\">&#39;20%&#39;</code>.</p>\n<p> Adaptive by default.</p>\n"
+  },
+  "width": {
+    "desc": "<p> The width of the view of the component.</p>\n"
+  },
+  "height": {
+    "desc": "<p> The height of the view of the component.</p>\n"
+  }
+}
\ No newline at end of file
diff --git a/next/en/documents/option-gl-parts/option-gl.js b/next/en/documents/option-gl-parts/option-gl.js
new file mode 100644
index 0000000..f561459
--- /dev/null
+++ b/next/en/documents/option-gl-parts/option-gl.js
@@ -0,0 +1,56 @@
+window.__EC_DOC_option_gl = {
+  "globe": {
+    "desc": "<p>Globe component. The component provides the drawing of the Earth and the coordinate system. The developer can display 3D Scatter, 3D Bubble, 3D Bar, 3D Lines on it.</p>\n"
+  },
+  "geo3D": {
+    "desc": "<p>A 3D geographic coordinate system component. The component can draw a 3D GeoJSON and coordinate system. Developers can display 3D Scatter, 3D Bubble, 3D Bar, 3D Lines on it.</p>\n"
+  },
+  "mapbox3D": {
+    "desc": "<p>A geographic component based on mapbox-gl-js. Support for drawing <a href=\"#series-scatter3D\">3D Scatter</a>, <a href=\"#series-lines3D\">3D Lines</a>, <a href=\"#series-bar3D\">3D Bar</a>, <a href=\"#series-map3D\">3D map</a> on mapbox maps. You can take advantage of Mapbox&#39;s powerful map service and ECharts GL&#39;s rich visualization and rendering effects to achieve the visualization you want.</p>\n<p>You need to introduce the official sdk of mapbox before using  [...]
+  },
+  "grid3D": {
+    "desc": "<p>3D cartesian coordinate system component. It requires <a href=\"#xAxis3D\">xAxis3D</a>, <a href=\"#yAxis3D\">yAxis3D</a>and <a href=\"#zAxis3D\">zAxis3D</a> axis components to be used together.</p>\n<p>You can draw <a href=\"#series-line3D\">3D Lines</a>, <a href=\"#series-bar3D\">3D Bar</a>, <a href=\"#series-scatter3D\">3D Scatter</a>, <a href=\"#series-surface\">surface</a> on the 3D Cartesian coordinate system.</p>\n<p>You can set the <a href=\"#grid3D.postEffect\">po [...]
+  },
+  "xAxis3D": {
+    "desc": "<p>The X-axis in a 3D cartesian coordinate system.\nYou can use <a href=\"#xAxis3D.grid3DIndex\">grid3DIndex</a> to index <a href=\"#grid3D\">3D cartesian coordinate system</a>.</p>\n<p>The <a href=\"#xAxis3D.axisLine\">axisLine</a>, <a href=\"#xAxis3D.axisTick\">axisTick</a>, <a href=\"#xAxis3D.axisLabel\">axisLabel</a>, <a href=\"#xAxis3D.splitLine\">splitLine</a>, <a href=\"#xAxis3D.splitArea\">splitArea</a>, <a href=\"#xAxis3D.axisPointer\">axisPointer</a> set separately [...]
+  },
+  "yAxis3D": {
+    "desc": "<p>The Y-axis in a 3D cartesian coordinate system.\nYou can use <a href=\"#yAxis3D.grid3DIndex\">grid3DIndex</a> to index <a href=\"#grid3D\">3D cartesian coordinate system</a>.</p>\n<p>The <a href=\"#yAxis3D.axisLine\">axisLine</a>, <a href=\"#yAxis3D.axisTick\">axisTick</a>, <a href=\"#yAxis3D.axisLabel\">axisLabel</a>, <a href=\"#yAxis3D.splitLine\">splitLine</a>, <a href=\"#yAxis3D.splitArea\">splitArea</a>, <a href=\"#yAxis3D.axisPointer\">axisPointer</a> set separately [...]
+  },
+  "zAxis3D": {
+    "desc": "<p>The Z-axis in a 3D cartesian coordinate system.\nYou can use <a href=\"#zAxis3D.grid3DIndex\">grid3DIndex</a> to index <a href=\"#grid3D\">3D cartesian coordinate system</a>.</p>\n<p>The <a href=\"#zAxis3D.axisLine\">axisLine</a>, <a href=\"#zAxis3D.axisTick\">axisTick</a>, <a href=\"#zAxis3D.axisLabel\">axisLabel</a>, <a href=\"#zAxis3D.splitLine\">splitLine</a>, <a href=\"#zAxis3D.splitArea\">splitArea</a>, <a href=\"#zAxis3D.axisPointer\">axisPointer</a> set separately [...]
+  },
+  "series": {
+    "desc": "<p>Series list. Each series decides its diagram type through <code class=\"codespan\">type</code>.</p>\n<p>ECharts-gl adds a rich 3D visualization type.\nIncluding [3D bar] (~series.bar3D), [3D scatter] (~series.scatter3D), [3D lines] (~series.lines3D), [surface] (~series. Surface),\nMost visualization types can be used in a variety of coordinate system components, and are well integrated with the original echarts legend, tooltip, and other interactive components.</p>\n<p>At [...]
+  },
+  "series-scatter3D": {
+    "desc": "<p>3D scatter chart. It can be used to display data in <a href=\"#grid3D\">grid3D</a>, <a href=\"#geo3D\"> geo3D</a>, <a href=\"#globe\">globe</a> using attributes such as size、color and so on.</p>\n<p>This example is a 3D simplex noise drawn with a bubble chart.</p>\n<p><img width=\"500\" height=\"auto\" src=\"documents/asset/gl/img/scatter3D.png\"></p>\n"
+  },
+  "series-bar3D": {
+    "desc": "<p>3D bar. It can be used to display data in <a href=\"#grid3D\">grid3D</a>, <a href=\"#geo3D\"> geo3D</a>, <a href=\"#globe\">globe</a> using attributes such as size 、color and so on.</p>\n<p>The figure below shows the population density data of the world through a 3D bar chart on [geo3D] (~geo3D).</p>\n<p><img width=\"700\" height=\"auto\" src=\"documents/asset/gl/img/geo-bar3D.jpg\"></p>\n"
+  },
+  "series-line3D": {
+    "desc": "<p>3D Line. Can be used for [grid3D] (~grid3D)</p>\n<p><img width=\"600\" height=\"auto\" src=\"documents/asset/gl/img/line3D.png\"></p>\n"
+  },
+  "series-lines3D": {
+    "desc": "<p>3D lines. Like the 2D [lines] (<a href=\"https://echarts.apache.org/zh/option.html#series-line)\" target=\"_blank\">https://echarts.apache.org/zh/option.html#series-line)</a>, it is used to represent the line data from the start point to the end point. More is used in geographic visualization.</p>\n<p>Below is an example of a visual airplane flight using <a href=\"#series-lines3D\">lines3D</a> on <a href=\"#globe\">globe</a>.</p>\n<p><img width=\"700\" height=\"auto\" src [...]
+  },
+  "series-map3D": {
+    "desc": "<p><strong>3D map</strong></p>\n<p>3D maps are mainly used for visualizing geographic area data. With the [visualMap] (<a href=\"http://echarts.baidu.com/option.html#visualMap\" target=\"_blank\">http://echarts.baidu.com/option.html#visualMap</a>) component, it can be used to display data such as population distribution density in different regions.</p>\n<p>Compared to 2D maps, 3D maps can set different heights for each area. This height can be used to display data and to di [...]
+  },
+  "series-surface": {
+    "desc": "<p>Surface. Support to drawn the [Parameter surface] (<a href=\"https://en.wikipedia.org/wiki/Parametric_surface\" target=\"_blank\">https://en.wikipedia.org/wiki/Parametric_surface</a>) by <a href=\"#series-surface.parametric\">parametric</a>.</p>\n<p>The figure below is a parametric surface similar to a metal part configured as a metal material.</p>\n<p><img width=\"500\" height=\"auto\" src=\"documents/asset/gl/img/parametric-surface.png\"></p>\n"
+  },
+  "series-polygons3D": {
+    "desc": "<p><code class=\"codespan\">polygons3D</code> is used to visualize polygon data with high information on the map, which is often used for drawing of buildings.\nThe picture below shows the nearly 50w number of New York buildings drawn with <code class=\"codespan\">polygons3D</code>.</p>\n<p><img width=\"900\" height=\"auto\" src=\"documents/asset/gl/img/polygons3D-ny.jpg\"></p>\n"
+  },
+  "series-scatterGL": {
+    "desc": "<p>A 2D scatter/bubble plot drawn using WebGL.</p>\n<p>It is used in the same way as <a href=\"http://echarts.baidu.com/option.html#series-scatter\" target=\"_blank\">scatter</a>.</p>\n"
+  },
+  "series-graphGL": {
+    "desc": "<p>Uses WebGL to drawn the relational chart, support the layout and rendering of large-scale network/relational data.</p>\n"
+  },
+  "series-flowGL": {
+    "desc": "<p>The <code class=\"codespan\">flowGL</code> component visualizes the traces of the vector field through the particle effects implemented by WebGL.</p>\n<p>The figure below shows the effect of the global wind field visualized by <code class=\"codespan\">flowGL</code>.</p>\n<p><img width=\"700\" height=\"auto\" src=\"documents/asset/gl/img/flowGL-wind.jpg\"></p>\n"
+  }
+}
\ No newline at end of file
diff --git a/next/en/documents/option-gl-parts/option-gl.json b/next/en/documents/option-gl-parts/option-gl.json
new file mode 100644
index 0000000..3de8b9a
--- /dev/null
+++ b/next/en/documents/option-gl-parts/option-gl.json
@@ -0,0 +1,56 @@
+{
+  "globe": {
+    "desc": "<p>Globe component. The component provides the drawing of the Earth and the coordinate system. The developer can display 3D Scatter, 3D Bubble, 3D Bar, 3D Lines on it.</p>\n"
+  },
+  "geo3D": {
+    "desc": "<p>A 3D geographic coordinate system component. The component can draw a 3D GeoJSON and coordinate system. Developers can display 3D Scatter, 3D Bubble, 3D Bar, 3D Lines on it.</p>\n"
+  },
+  "mapbox3D": {
+    "desc": "<p>A geographic component based on mapbox-gl-js. Support for drawing <a href=\"#series-scatter3D\">3D Scatter</a>, <a href=\"#series-lines3D\">3D Lines</a>, <a href=\"#series-bar3D\">3D Bar</a>, <a href=\"#series-map3D\">3D map</a> on mapbox maps. You can take advantage of Mapbox&#39;s powerful map service and ECharts GL&#39;s rich visualization and rendering effects to achieve the visualization you want.</p>\n<p>You need to introduce the official sdk of mapbox before using  [...]
+  },
+  "grid3D": {
+    "desc": "<p>3D cartesian coordinate system component. It requires <a href=\"#xAxis3D\">xAxis3D</a>, <a href=\"#yAxis3D\">yAxis3D</a>and <a href=\"#zAxis3D\">zAxis3D</a> axis components to be used together.</p>\n<p>You can draw <a href=\"#series-line3D\">3D Lines</a>, <a href=\"#series-bar3D\">3D Bar</a>, <a href=\"#series-scatter3D\">3D Scatter</a>, <a href=\"#series-surface\">surface</a> on the 3D Cartesian coordinate system.</p>\n<p>You can set the <a href=\"#grid3D.postEffect\">po [...]
+  },
+  "xAxis3D": {
+    "desc": "<p>The X-axis in a 3D cartesian coordinate system.\nYou can use <a href=\"#xAxis3D.grid3DIndex\">grid3DIndex</a> to index <a href=\"#grid3D\">3D cartesian coordinate system</a>.</p>\n<p>The <a href=\"#xAxis3D.axisLine\">axisLine</a>, <a href=\"#xAxis3D.axisTick\">axisTick</a>, <a href=\"#xAxis3D.axisLabel\">axisLabel</a>, <a href=\"#xAxis3D.splitLine\">splitLine</a>, <a href=\"#xAxis3D.splitArea\">splitArea</a>, <a href=\"#xAxis3D.axisPointer\">axisPointer</a> set separately [...]
+  },
+  "yAxis3D": {
+    "desc": "<p>The Y-axis in a 3D cartesian coordinate system.\nYou can use <a href=\"#yAxis3D.grid3DIndex\">grid3DIndex</a> to index <a href=\"#grid3D\">3D cartesian coordinate system</a>.</p>\n<p>The <a href=\"#yAxis3D.axisLine\">axisLine</a>, <a href=\"#yAxis3D.axisTick\">axisTick</a>, <a href=\"#yAxis3D.axisLabel\">axisLabel</a>, <a href=\"#yAxis3D.splitLine\">splitLine</a>, <a href=\"#yAxis3D.splitArea\">splitArea</a>, <a href=\"#yAxis3D.axisPointer\">axisPointer</a> set separately [...]
+  },
+  "zAxis3D": {
+    "desc": "<p>The Z-axis in a 3D cartesian coordinate system.\nYou can use <a href=\"#zAxis3D.grid3DIndex\">grid3DIndex</a> to index <a href=\"#grid3D\">3D cartesian coordinate system</a>.</p>\n<p>The <a href=\"#zAxis3D.axisLine\">axisLine</a>, <a href=\"#zAxis3D.axisTick\">axisTick</a>, <a href=\"#zAxis3D.axisLabel\">axisLabel</a>, <a href=\"#zAxis3D.splitLine\">splitLine</a>, <a href=\"#zAxis3D.splitArea\">splitArea</a>, <a href=\"#zAxis3D.axisPointer\">axisPointer</a> set separately [...]
+  },
+  "series": {
+    "desc": "<p>Series list. Each series decides its diagram type through <code class=\"codespan\">type</code>.</p>\n<p>ECharts-gl adds a rich 3D visualization type.\nIncluding [3D bar] (~series.bar3D), [3D scatter] (~series.scatter3D), [3D lines] (~series.lines3D), [surface] (~series. Surface),\nMost visualization types can be used in a variety of coordinate system components, and are well integrated with the original echarts legend, tooltip, and other interactive components.</p>\n<p>At [...]
+  },
+  "series-scatter3D": {
+    "desc": "<p>3D scatter chart. It can be used to display data in <a href=\"#grid3D\">grid3D</a>, <a href=\"#geo3D\"> geo3D</a>, <a href=\"#globe\">globe</a> using attributes such as size、color and so on.</p>\n<p>This example is a 3D simplex noise drawn with a bubble chart.</p>\n<p><img width=\"500\" height=\"auto\" src=\"documents/asset/gl/img/scatter3D.png\"></p>\n"
+  },
+  "series-bar3D": {
+    "desc": "<p>3D bar. It can be used to display data in <a href=\"#grid3D\">grid3D</a>, <a href=\"#geo3D\"> geo3D</a>, <a href=\"#globe\">globe</a> using attributes such as size 、color and so on.</p>\n<p>The figure below shows the population density data of the world through a 3D bar chart on [geo3D] (~geo3D).</p>\n<p><img width=\"700\" height=\"auto\" src=\"documents/asset/gl/img/geo-bar3D.jpg\"></p>\n"
+  },
+  "series-line3D": {
+    "desc": "<p>3D Line. Can be used for [grid3D] (~grid3D)</p>\n<p><img width=\"600\" height=\"auto\" src=\"documents/asset/gl/img/line3D.png\"></p>\n"
+  },
+  "series-lines3D": {
+    "desc": "<p>3D lines. Like the 2D [lines] (<a href=\"https://echarts.apache.org/zh/option.html#series-line)\" target=\"_blank\">https://echarts.apache.org/zh/option.html#series-line)</a>, it is used to represent the line data from the start point to the end point. More is used in geographic visualization.</p>\n<p>Below is an example of a visual airplane flight using <a href=\"#series-lines3D\">lines3D</a> on <a href=\"#globe\">globe</a>.</p>\n<p><img width=\"700\" height=\"auto\" src [...]
+  },
+  "series-map3D": {
+    "desc": "<p><strong>3D map</strong></p>\n<p>3D maps are mainly used for visualizing geographic area data. With the [visualMap] (<a href=\"http://echarts.baidu.com/option.html#visualMap\" target=\"_blank\">http://echarts.baidu.com/option.html#visualMap</a>) component, it can be used to display data such as population distribution density in different regions.</p>\n<p>Compared to 2D maps, 3D maps can set different heights for each area. This height can be used to display data and to di [...]
+  },
+  "series-surface": {
+    "desc": "<p>Surface. Support to drawn the [Parameter surface] (<a href=\"https://en.wikipedia.org/wiki/Parametric_surface\" target=\"_blank\">https://en.wikipedia.org/wiki/Parametric_surface</a>) by <a href=\"#series-surface.parametric\">parametric</a>.</p>\n<p>The figure below is a parametric surface similar to a metal part configured as a metal material.</p>\n<p><img width=\"500\" height=\"auto\" src=\"documents/asset/gl/img/parametric-surface.png\"></p>\n"
+  },
+  "series-polygons3D": {
+    "desc": "<p><code class=\"codespan\">polygons3D</code> is used to visualize polygon data with high information on the map, which is often used for drawing of buildings.\nThe picture below shows the nearly 50w number of New York buildings drawn with <code class=\"codespan\">polygons3D</code>.</p>\n<p><img width=\"900\" height=\"auto\" src=\"documents/asset/gl/img/polygons3D-ny.jpg\"></p>\n"
+  },
+  "series-scatterGL": {
+    "desc": "<p>A 2D scatter/bubble plot drawn using WebGL.</p>\n<p>It is used in the same way as <a href=\"http://echarts.baidu.com/option.html#series-scatter\" target=\"_blank\">scatter</a>.</p>\n"
+  },
+  "series-graphGL": {
+    "desc": "<p>Uses WebGL to drawn the relational chart, support the layout and rendering of large-scale network/relational data.</p>\n"
+  },
+  "series-flowGL": {
+    "desc": "<p>The <code class=\"codespan\">flowGL</code> component visualizes the traces of the vector field through the particle effects implemented by WebGL.</p>\n<p>The figure below shows the effect of the global wind field visualized by <code class=\"codespan\">flowGL</code>.</p>\n<p><img width=\"700\" height=\"auto\" src=\"documents/asset/gl/img/flowGL-wind.jpg\"></p>\n"
+  }
+}
\ No newline at end of file
diff --git a/next/en/documents/option-gl-parts/option-gl.mapbox3D.js b/next/en/documents/option-gl-parts/option-gl.mapbox3D.js
new file mode 100644
index 0000000..d6d878a
--- /dev/null
+++ b/next/en/documents/option-gl-parts/option-gl.mapbox3D.js
@@ -0,0 +1,203 @@
+window.__EC_DOC_option_gl_mapbox3D = {
+  "style": {
+    "desc": "<p>Sets the style of the Mapbox map. Same as <a href=\"https://www.mapbox.com/mapbox-gl-js/style-spec/\" target=\"_blank\">https://www.mapbox.com/mapbox-gl-js/style-spec/</a>.</p>\n"
+  },
+  "center": {
+    "desc": "<p>Sets the longitude and latitude of the center of the map. Longitude and latitude are represented by arrays, for example:</p>\n<pre><code class=\"lang-js\">mapbox3D: {\n    center: [104.114129, 37.550339],\n    zoom: 3\n}\n</code></pre>\n"
+  },
+  "zoom": {
+    "desc": "<p>Sets the zoom level of the map. See <a href=\"https://www.mapbox.com/mapbox-gl-js/style-spec/#root-zoom\" target=\"_blank\">https://www.mapbox.com/mapbox-gl-js/style-spec/#root-zoom</a></p>\n"
+  },
+  "bearing": {
+    "desc": "<p>Sets the bearing angle of the map. See <a href=\"https://www.mapbox.com/mapbox-gl-js/style-spec/#root-bearing\" target=\"_blank\">https://www.mapbox.com/mapbox-gl-js/style-spec/#root-bearing</a></p>\n"
+  },
+  "pitch": {
+    "desc": "<p>Sets the pitch angle of the map. The default is <code class=\"codespan\">0</code> means perpendicular to the surface of the map. The greater value is <code class=\"codespan\">60</code>. See <a href=\"https://www.mapbox.com/mapbox-gl-js/style-spec/#root-pitch\" target=\"_blank\">https://www.mapbox.com/mapbox-gl-js/style-spec/#root-pitch</a></p>\n"
+  },
+  "altitudeScale": {
+    "desc": "<p>The zoom of the altitude Scale.</p>\n"
+  },
+  "shading": {
+    "desc": "<p>The coloring effect of 3D graphics in mapbox3D. The following three coloring methods are supported in echarts-gl:</p>\n<ul>\n<li><p><code class=\"codespan\">&#39;color&#39;</code>\nOnly display colors, not affected by other factors such as lighting.</p>\n</li>\n<li><p><code class=\"codespan\">&#39;lambert&#39;</code>\nThrough the classic [lambert] coloring, can express the light and dark that the light shows.</p>\n</li>\n<li><p><code class=\"codespan\">&#39;realistic&#39; [...]
+  },
+  "realisticMaterial": {
+    "desc": "<p>The configuration item of the realistic material is valid when <a href=\"#mapbox3D.shading\">shading</a> is <code class=\"codespan\">&#39;realistic&#39;</code>.</p>\n"
+  },
+  "realisticMaterial.detailTexture": {
+    "desc": "<p>The texture map of the material detail.</p>\n"
+  },
+  "realisticMaterial.textureTiling": {
+    "desc": "<p>Tiles the texture map of the material detail. The default is <code class=\"codespan\">1</code>, which means that the stretch is filled. When greater than <code class=\"codespan\">1</code>, the number indicates how many times the texture is tiled.</p>\n<p><strong>Note:</strong>  The use of tiling requires the <code class=\"codespan\">detail texture</code> height and width to be 2 to the power of n. For example, 512x512, if it is a 200x200 texture, you cannot use tiling.</p>\n"
+  },
+  "realisticMaterial.textureOffset": {
+    "desc": "<p>The displacement of the texture detail texture.</p>\n"
+  },
+  "realisticMaterial.roughness": {
+    "desc": "<p>The <code class=\"codespan\">roughness</code> attribute is used to indicate the roughness of the material, <code class=\"codespan\">0</code> is completely smooth, <code class=\"codespan\">1</code> is completely rough, and the middle value is between the two.</p>\n<p>The following images show the effect of <code class=\"codespan\">roughness</code> in <a href=\"#globe\"><code class=\"codespan\">globe</code></a> <code class=\"codespan\">0.2</code> (smooth) and <code class=\" [...]
+  },
+  "realisticMaterial.metalness": {
+    "desc": "<p>The <code class=\"codespan\">metalness</code> attribute is used to indicate whether the material is metal or non-metal, <code class=\"codespan\">0</code> is non-metallic, <code class=\"codespan\">1</code> is metal, and the middle value is between the two. Usually set to <code class=\"codespan\">0</code> and <code class=\"codespan\">1</code> to meet most of the scenes.</p>\n<p>The picture below show the difference between `metal&#39; and &#39;0&#39; in <a href=\"#globe\">g [...]
+  },
+  "realisticMaterial.roughnessAdjust": {
+    "desc": "<p>Roughness adjustment is useful when using roughness map. The overall roughness of the texture can be adjusted. The default is <code class=\"codespan\">0.5</code>, <code class=\"codespan\">0</code> is completely smooth, <code class=\"codespan\">1</code> is completely rough.</p>\n"
+  },
+  "realisticMaterial.metalnessAdjust": {
+    "desc": "<p>Metalness adjustment is useful when using metalness maps. The overall metallicity of the texture can be adjusted. The default is <code class=\"codespan\">0.5</code>, <code class=\"codespan\">0</code> is non-metal, <code class=\"codespan\">1</code> is metal.</p>\n"
+  },
+  "realisticMaterial.normalTexture": {
+    "desc": "<p>Normal map of material details.</p>\n<p>Using normal maps, you can still display rich shades of detail on the surface of the object with fewer vertices.</p>\n"
+  },
+  "lambertMaterial": {
+    "desc": "<p>The configuration item of the lambert material is valid when <a href=\"#mapbox3D.shading\">shading</a> is <code class=\"codespan\">&#39;lambert&#39;</code>.</p>\n"
+  },
+  "lambertMaterial.detailTexture": {
+    "desc": "<p>The texture map of the material detail.</p>\n"
+  },
+  "lambertMaterial.textureTiling": {
+    "desc": "<p>Tiles the texture map of the material detail. The default is <code class=\"codespan\">1</code>, which means that the stretch is filled. When greater than <code class=\"codespan\">1</code>, the number indicates how many times the texture is tiled.</p>\n<p><strong>Note:</strong>  The use of tiling requires the <code class=\"codespan\">detail texture</code> height and width to be 2 to the power of n. For example, 512x512, if it is a 200x200 texture, you cannot use tiling.</p>\n"
+  },
+  "lambertMaterial.textureOffset": {
+    "desc": "<p>The displacement of the texture detail texture.</p>\n"
+  },
+  "colorMaterial": {
+    "desc": "<p>The color material related configuration item is valid when <a href=\"#mapbox3D.shading\">shading</a> is <code class=\"codespan\">&#39;color&#39;</code>.</p>\n"
+  },
+  "colorMaterial.detailTexture": {
+    "desc": "<p>The texture map of the material detail.</p>\n"
+  },
+  "colorMaterial.textureTiling": {
+    "desc": "<p>Tiles the texture map of the material detail. The default is <code class=\"codespan\">1</code>, which means that the stretch is filled. When greater than <code class=\"codespan\">1</code>, the number indicates how many times the texture is tiled.</p>\n<p><strong>Note:</strong>  The use of tiling requires the <code class=\"codespan\">detail texture</code> height and width to be 2 to the power of n. For example, 512x512, if it is a 200x200 texture, you cannot use tiling.</p>\n"
+  },
+  "colorMaterial.textureOffset": {
+    "desc": "<p>The displacement of the texture detail texture.</p>\n"
+  },
+  "light": {
+    "desc": "<p>Light related settings. Invalid when <a href=\"#mapbox3D.shading\">shading</a> is &#39;color&#39;.</p>\n<p>The lighting settings affect the components and all the charts on the component&#39;s coordinate system.</p>\n<p>A reasonable lighting setting can make the brightness and darkness of the whole scene richer and more layered.</p>\n"
+  },
+  "light.main": {
+    "desc": "<p>The setting of the main light source of the scene. In the <a href=\"#globe\">globe</a> component is the sun.</p>\n"
+  },
+  "light.main.color": {
+    "desc": "<p>The color of the main light source.</p>\n"
+  },
+  "light.main.intensity": {
+    "desc": "<p>The intensity of the main light source.</p>\n"
+  },
+  "light.main.shadow": {
+    "desc": "<p>Whether the main light source displays a shadow. The default is off.</p>\n<p>Turning on the shadows can bring more realistic and layered lighting to the scene. But it also increases the operating overhead of the program.</p>\n<p>The following two images show the difference between turning on the shadow and turning off the shadow.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-shadow.png\" width=\"100%\" tit [...]
+  },
+  "light.main.shadowQuality": {
+    "desc": "<p>The quality of the shadow. You can choose <code class=\"codespan\">&#39;low&#39;</code>, <code class=\"codespan\">&#39;medium&#39;</code>, <code class=\"codespan\">&#39;high&#39;</code>, <code class=\"codespan\">&#39;ultra&#39;</code></p>\n<p>The following two images shows the difference between low quality and high quality shadows.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-shadow-low.png\" width=\"100 [...]
+  },
+  "light.main.alpha": {
+    "desc": "<p>The main light source is around the x-axis, which is the angle of up-down rotation. Control the direction of the light with <a href=\"#mapbox3D.light.main.beta\">beta</a>.</p>\n<p>As the following image show:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/light-alpha-beta.png\"></p>\n<p>The <a href=\"#globe\">globe</a> component can control the time of sunlight by <a href=\"#globe.light.main.time\">time</a>.</p>\n"
+  },
+  "light.main.beta": {
+    "desc": "<p>The main light source is around the y-axis, which is the angle of the left-right rotation.</p>\n"
+  },
+  "light.ambient": {
+    "desc": "<p>Global ambient light settings.</p>\n"
+  },
+  "light.ambient.color": {
+    "desc": "<p>The color of ambient light.</p>\n"
+  },
+  "light.ambient.intensity": {
+    "desc": "<p>The intensity of ambient light.</p>\n"
+  },
+  "light.ambientCubemap": {
+    "desc": "<p>The ambientCubemap uses texture as the source of ambient light, which provides diffuse and specular for objects. The diffuse and specular can be set separately by <a href=\"#mapbox3D.light.ambientCubemap.diffuseIntensity\">diffuseIntensity</a> and <a href=\"#mapbox3D.light.ambientCubemap.specularIntensity\">specularIntensity</a>.</p>\n"
+  },
+  "light.ambientCubemap.texture": {
+    "desc": "<p>The URL of the ambient cubemap supports HDR images in the <code class=\"codespan\">.hdr</code> format. You can obtained the resources for <code class=\"codespan\">.hdr</code> from <a href=\"http://www.hdrlabs.com/sibl/archive.html\" target=\"_blank\">http://www.hdrlabs.com/sibl/archive.html</a> and other websites.</p>\n<p>Example:</p>\n<pre><code class=\"lang-js\">ambientCubemap: {\n    texture: &#39;pisa.hdr&#39;,\n    // The exposure value used when analytic hdr\n    ex [...]
+  },
+  "light.ambientCubemap.diffuseIntensity": {
+    "desc": "<p>The intensity of diffuse.</p>\n"
+  },
+  "light.ambientCubemap.specularIntensity": {
+    "desc": "<p>The intensity of specular.</p>\n"
+  },
+  "postEffect": {
+    "desc": "<p>Post-processing effects related configuration. It can add effects such as highlights, depth of field, screen space ambient occlusion (SSAO), toning to the picture. And it can make the whole picture more textured.</p>\n<p>The following are the differences between closing <code class=\"codespan\">postEffect</code> and opening <code class=\"codespan\">postEffect</code>.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/i [...]
+  },
+  "postEffect.enable": {
+    "desc": "<p>Whether to enable post-processing effects. Not enabled by default.</p>\n"
+  },
+  "postEffect.bloom": {
+    "desc": "<p>Bloom is used to reproducing the effects that occur in real cameras when taking pictures in a bright environment.\nBecause traditional RGB can only represent colors in the range of &#39;0 - 255&#39;, so we need to use the bloom effect simulates fringes of light extending from the borders of bright areas, creating the illusion of a bright light overwhelming the camera. As shown below:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/globe-posteffect-blo [...]
+  },
+  "postEffect.bloom.enable": {
+    "desc": "<p>Whether to enable the bloom effect.</p>\n"
+  },
+  "postEffect.bloom.bloomIntensity": {
+    "desc": "<p>The intensity of the bloom. The default is 0.1.</p>\n"
+  },
+  "postEffect.depthOfField": {
+    "desc": "<p>Depth of Field is a post-processing effect that simulates the focus properties of a camera. The area of focus is clear, and the area away from the focus is gradually blurred.</p>\n<p>The depth of field effect allows the observer to focus on the area of focus and make the picture feel stronger. Large depth of field can also create a macro model effect.</p>\n<p>The following are the differences between turning off and turning on the depth of field effect.</p>\n<div  class=\ [...]
+  },
+  "postEffect.depthOfField.enable": {
+    "desc": "<p>Whether to enable the depth of field.</p>\n"
+  },
+  "postEffect.depthOfField.focalDistance": {
+    "desc": "<p>The initial focus distance. The user can click on the area to automatically focus.</p>\n"
+  },
+  "postEffect.depthOfField.focalRange": {
+    "desc": "<p>The size of the in-focus area. The objects in this range are completely clear and there is no blurring.</p>\n"
+  },
+  "postEffect.depthOfField.fstop": {
+    "desc": "<p>[F value] of the lens (<a href=\"https://zh.wikipedia.org/wiki/%E7%84%A6%E6%AF%94)\" target=\"_blank\">https://zh.wikipedia.org/wiki/%E7%84%A6%E6%AF%94)</a>, the smaller the value, the shallower the depth of field.</p>\n"
+  },
+  "postEffect.depthOfField.blurRadius": {
+    "desc": "<p>Blur radius outside the focus.</p>\n<p>The difference blur effect between the different radius. </p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-dof-small.png\" width=\"100%\" title=\"blurSize: 3\"><img />\n    <img  src=\"documents/asset/gl/img/geo-dof-large.png\" width=\"100%\" title=\"blurSize: 10\"><img />\n<div />\n"
+  },
+  "postEffect.screenSpaceAmbientOcclusion": {
+    "desc": "<p>The ambient occlusion post-processing effect darkens the corners, holes, crevices, and areas where most light can`t reach. It is a supplement to the traditional shadow map, which makes the whole scene more natural and layered.</p>\n<p>Below is a comparison of the effects of no SSAO and SSAO:</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-no-ssao.png\" width=\"100%\" title=\"No SSAO\"><img />\n    <img  src= [...]
+  },
+  "postEffect.SSAO": {
+    "desc": "<p>Same as <a href=\"#mapbox3D.postEffect.screenSpaceAmbientOcclusion\">screenSpaceAmbientOcclusion</a></p>\n"
+  },
+  "postEffect.SSAO.enable": {
+    "desc": "<p>Whether to enable SSAO (screen space ambient occlusion). Not enabled by default.</p>\n"
+  },
+  "postEffect.SSAO.quality": {
+    "desc": "<p>The quality of SSAO (screen space ambient occlusion). Supporting<code class=\"codespan\">&#39;low&#39;</code>, <code class=\"codespan\">&#39;medium&#39;</code>, <code class=\"codespan\">&#39;high&#39;</code>, <code class=\"codespan\">&#39;ultra&#39;</code></p>\n"
+  },
+  "postEffect.SSAO.radius": {
+    "desc": "<p>The radius of the SSAO (screen space ambient occlusion). The larger the radius, the more natural the effect, but you need to set a higher <code class=\"codespan\">&#39;quality&#39;</code>. </p>\n<p>The following example is the difference between a smaller and larger radius:</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-ssao-small-radius.png\" width=\"100%\" title=\"Radius: 1\"><img />\n    <img  src=\"docu [...]
+  },
+  "postEffect.SSAO.intensity": {
+    "desc": "<p>The intensity of SSAO (screen space ambient occlusion). The larger the value, the darker the color.</p>\n"
+  },
+  "postEffect.colorCorrection": {
+    "desc": "<p>Color correction and adjustment. Similar to Color Adjustments in Photoshop.</p>\n<p>The same scene in the figure below is adjusted to the difference between the cool color system and the warm color system.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/buildings-cold.jpg\" width=\"100%\" title=\"Cold\"><img />\n    <img  src=\"documents/asset/gl/img/buildings-warm.jpg\" width=\"100%\" title=\"Warm\"><img />\n<d [...]
+  },
+  "postEffect.colorCorrection.enable": {
+    "desc": "<p>Whether to enable the color correction.</p>\n"
+  },
+  "postEffect.colorCorrection.lookupTexture": {
+    "desc": "<p>Color correction lookup texture, recommended.</p>\n<p>The color correction lookup texture is a texture image like the one below.</p>\n<p><img width=\"200\" height=\"auto\" src=\"documents/asset/gl/img/lookup.png\"></p>\n<p>This is the basic lookup texture image that you can use directly.\nTo adjust the color of the scene to the effect you want, you can take a screenshot of the scene and adjust the color to the desired effect in image processing software such as Photoshop. [...]
+  },
+  "postEffect.colorCorrection.exposure": {
+    "desc": "<p>The exposure of the image.</p>\n"
+  },
+  "postEffect.colorCorrection.brightness": {
+    "desc": "<p>The brightness of the image.</p>\n"
+  },
+  "postEffect.colorCorrection.contrast": {
+    "desc": "<p>The contrast of the image.</p>\n"
+  },
+  "postEffect.colorCorrection.saturation": {
+    "desc": "<p>The saturation of the image.</p>\n"
+  },
+  "postEffect.FXAA": {
+    "desc": "<p>After opening <a href=\"#mapbox3D.postEffect\">postEffect</a>, WebGL&#39;s default MSAA (Multi Sampling Anti Aliasing) will not work. At this time, FXAA (Fast Approximate Anti-Aliasing) can solve the anti-aliasing problem quickly and easily. FXAA blurs the edge of the scene to solve the problem of aliasing. It works well on some scenes, but in echarts-gl, you need to ensure that the edges of many texts and lines are sharp and clear, so FXAA is not suitable. At this point  [...]
+  },
+  "postEffect.FXAA.enable": {
+    "desc": "<p>Whether to enable FXAA. Not enabled by default.</p>\n"
+  },
+  "temporalSuperSampling": {
+    "desc": "<p>Temporal supersampling. After opening <a href=\"#mapbox3D.postEffect\">postEffect</a>, WebGL&#39;s default MSAA (MultiSampling Anti-Aliasing) will not work, so we need to solve the problem of sampling.</p>\n<p>Temporal supersampling is an anti-aliasing method. After the picture is still, it will continue to sample multiple times and taken at several instances inside the pixel and an average color value is calculated, thus achieving anti-aliasing effect.\nAnd in this proce [...]
+  },
+  "temporalSuperSampling.enable": {
+    "desc": "<p>Whether to enable temporal supersampling. By default, temporal supersampling is also turned on synchronously when <a href=\"#mapbox3D.postEffect\">postEffect</a> is turned on.</p>\n"
+  }
+}
\ No newline at end of file
diff --git a/next/en/documents/option-gl-parts/option-gl.mapbox3D.json b/next/en/documents/option-gl-parts/option-gl.mapbox3D.json
new file mode 100644
index 0000000..833e9c8
--- /dev/null
+++ b/next/en/documents/option-gl-parts/option-gl.mapbox3D.json
@@ -0,0 +1,203 @@
+{
+  "style": {
+    "desc": "<p>Sets the style of the Mapbox map. Same as <a href=\"https://www.mapbox.com/mapbox-gl-js/style-spec/\" target=\"_blank\">https://www.mapbox.com/mapbox-gl-js/style-spec/</a>.</p>\n"
+  },
+  "center": {
+    "desc": "<p>Sets the longitude and latitude of the center of the map. Longitude and latitude are represented by arrays, for example:</p>\n<pre><code class=\"lang-js\">mapbox3D: {\n    center: [104.114129, 37.550339],\n    zoom: 3\n}\n</code></pre>\n"
+  },
+  "zoom": {
+    "desc": "<p>Sets the zoom level of the map. See <a href=\"https://www.mapbox.com/mapbox-gl-js/style-spec/#root-zoom\" target=\"_blank\">https://www.mapbox.com/mapbox-gl-js/style-spec/#root-zoom</a></p>\n"
+  },
+  "bearing": {
+    "desc": "<p>Sets the bearing angle of the map. See <a href=\"https://www.mapbox.com/mapbox-gl-js/style-spec/#root-bearing\" target=\"_blank\">https://www.mapbox.com/mapbox-gl-js/style-spec/#root-bearing</a></p>\n"
+  },
+  "pitch": {
+    "desc": "<p>Sets the pitch angle of the map. The default is <code class=\"codespan\">0</code> means perpendicular to the surface of the map. The greater value is <code class=\"codespan\">60</code>. See <a href=\"https://www.mapbox.com/mapbox-gl-js/style-spec/#root-pitch\" target=\"_blank\">https://www.mapbox.com/mapbox-gl-js/style-spec/#root-pitch</a></p>\n"
+  },
+  "altitudeScale": {
+    "desc": "<p>The zoom of the altitude Scale.</p>\n"
+  },
+  "shading": {
+    "desc": "<p>The coloring effect of 3D graphics in mapbox3D. The following three coloring methods are supported in echarts-gl:</p>\n<ul>\n<li><p><code class=\"codespan\">&#39;color&#39;</code>\nOnly display colors, not affected by other factors such as lighting.</p>\n</li>\n<li><p><code class=\"codespan\">&#39;lambert&#39;</code>\nThrough the classic [lambert] coloring, can express the light and dark that the light shows.</p>\n</li>\n<li><p><code class=\"codespan\">&#39;realistic&#39; [...]
+  },
+  "realisticMaterial": {
+    "desc": "<p>The configuration item of the realistic material is valid when <a href=\"#mapbox3D.shading\">shading</a> is <code class=\"codespan\">&#39;realistic&#39;</code>.</p>\n"
+  },
+  "realisticMaterial.detailTexture": {
+    "desc": "<p>The texture map of the material detail.</p>\n"
+  },
+  "realisticMaterial.textureTiling": {
+    "desc": "<p>Tiles the texture map of the material detail. The default is <code class=\"codespan\">1</code>, which means that the stretch is filled. When greater than <code class=\"codespan\">1</code>, the number indicates how many times the texture is tiled.</p>\n<p><strong>Note:</strong>  The use of tiling requires the <code class=\"codespan\">detail texture</code> height and width to be 2 to the power of n. For example, 512x512, if it is a 200x200 texture, you cannot use tiling.</p>\n"
+  },
+  "realisticMaterial.textureOffset": {
+    "desc": "<p>The displacement of the texture detail texture.</p>\n"
+  },
+  "realisticMaterial.roughness": {
+    "desc": "<p>The <code class=\"codespan\">roughness</code> attribute is used to indicate the roughness of the material, <code class=\"codespan\">0</code> is completely smooth, <code class=\"codespan\">1</code> is completely rough, and the middle value is between the two.</p>\n<p>The following images show the effect of <code class=\"codespan\">roughness</code> in <a href=\"#globe\"><code class=\"codespan\">globe</code></a> <code class=\"codespan\">0.2</code> (smooth) and <code class=\" [...]
+  },
+  "realisticMaterial.metalness": {
+    "desc": "<p>The <code class=\"codespan\">metalness</code> attribute is used to indicate whether the material is metal or non-metal, <code class=\"codespan\">0</code> is non-metallic, <code class=\"codespan\">1</code> is metal, and the middle value is between the two. Usually set to <code class=\"codespan\">0</code> and <code class=\"codespan\">1</code> to meet most of the scenes.</p>\n<p>The picture below show the difference between `metal&#39; and &#39;0&#39; in <a href=\"#globe\">g [...]
+  },
+  "realisticMaterial.roughnessAdjust": {
+    "desc": "<p>Roughness adjustment is useful when using roughness map. The overall roughness of the texture can be adjusted. The default is <code class=\"codespan\">0.5</code>, <code class=\"codespan\">0</code> is completely smooth, <code class=\"codespan\">1</code> is completely rough.</p>\n"
+  },
+  "realisticMaterial.metalnessAdjust": {
+    "desc": "<p>Metalness adjustment is useful when using metalness maps. The overall metallicity of the texture can be adjusted. The default is <code class=\"codespan\">0.5</code>, <code class=\"codespan\">0</code> is non-metal, <code class=\"codespan\">1</code> is metal.</p>\n"
+  },
+  "realisticMaterial.normalTexture": {
+    "desc": "<p>Normal map of material details.</p>\n<p>Using normal maps, you can still display rich shades of detail on the surface of the object with fewer vertices.</p>\n"
+  },
+  "lambertMaterial": {
+    "desc": "<p>The configuration item of the lambert material is valid when <a href=\"#mapbox3D.shading\">shading</a> is <code class=\"codespan\">&#39;lambert&#39;</code>.</p>\n"
+  },
+  "lambertMaterial.detailTexture": {
+    "desc": "<p>The texture map of the material detail.</p>\n"
+  },
+  "lambertMaterial.textureTiling": {
+    "desc": "<p>Tiles the texture map of the material detail. The default is <code class=\"codespan\">1</code>, which means that the stretch is filled. When greater than <code class=\"codespan\">1</code>, the number indicates how many times the texture is tiled.</p>\n<p><strong>Note:</strong>  The use of tiling requires the <code class=\"codespan\">detail texture</code> height and width to be 2 to the power of n. For example, 512x512, if it is a 200x200 texture, you cannot use tiling.</p>\n"
+  },
+  "lambertMaterial.textureOffset": {
+    "desc": "<p>The displacement of the texture detail texture.</p>\n"
+  },
+  "colorMaterial": {
+    "desc": "<p>The color material related configuration item is valid when <a href=\"#mapbox3D.shading\">shading</a> is <code class=\"codespan\">&#39;color&#39;</code>.</p>\n"
+  },
+  "colorMaterial.detailTexture": {
+    "desc": "<p>The texture map of the material detail.</p>\n"
+  },
+  "colorMaterial.textureTiling": {
+    "desc": "<p>Tiles the texture map of the material detail. The default is <code class=\"codespan\">1</code>, which means that the stretch is filled. When greater than <code class=\"codespan\">1</code>, the number indicates how many times the texture is tiled.</p>\n<p><strong>Note:</strong>  The use of tiling requires the <code class=\"codespan\">detail texture</code> height and width to be 2 to the power of n. For example, 512x512, if it is a 200x200 texture, you cannot use tiling.</p>\n"
+  },
+  "colorMaterial.textureOffset": {
+    "desc": "<p>The displacement of the texture detail texture.</p>\n"
+  },
+  "light": {
+    "desc": "<p>Light related settings. Invalid when <a href=\"#mapbox3D.shading\">shading</a> is &#39;color&#39;.</p>\n<p>The lighting settings affect the components and all the charts on the component&#39;s coordinate system.</p>\n<p>A reasonable lighting setting can make the brightness and darkness of the whole scene richer and more layered.</p>\n"
+  },
+  "light.main": {
+    "desc": "<p>The setting of the main light source of the scene. In the <a href=\"#globe\">globe</a> component is the sun.</p>\n"
+  },
+  "light.main.color": {
+    "desc": "<p>The color of the main light source.</p>\n"
+  },
+  "light.main.intensity": {
+    "desc": "<p>The intensity of the main light source.</p>\n"
+  },
+  "light.main.shadow": {
+    "desc": "<p>Whether the main light source displays a shadow. The default is off.</p>\n<p>Turning on the shadows can bring more realistic and layered lighting to the scene. But it also increases the operating overhead of the program.</p>\n<p>The following two images show the difference between turning on the shadow and turning off the shadow.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-shadow.png\" width=\"100%\" tit [...]
+  },
+  "light.main.shadowQuality": {
+    "desc": "<p>The quality of the shadow. You can choose <code class=\"codespan\">&#39;low&#39;</code>, <code class=\"codespan\">&#39;medium&#39;</code>, <code class=\"codespan\">&#39;high&#39;</code>, <code class=\"codespan\">&#39;ultra&#39;</code></p>\n<p>The following two images shows the difference between low quality and high quality shadows.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-shadow-low.png\" width=\"100 [...]
+  },
+  "light.main.alpha": {
+    "desc": "<p>The main light source is around the x-axis, which is the angle of up-down rotation. Control the direction of the light with <a href=\"#mapbox3D.light.main.beta\">beta</a>.</p>\n<p>As the following image show:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/light-alpha-beta.png\"></p>\n<p>The <a href=\"#globe\">globe</a> component can control the time of sunlight by <a href=\"#globe.light.main.time\">time</a>.</p>\n"
+  },
+  "light.main.beta": {
+    "desc": "<p>The main light source is around the y-axis, which is the angle of the left-right rotation.</p>\n"
+  },
+  "light.ambient": {
+    "desc": "<p>Global ambient light settings.</p>\n"
+  },
+  "light.ambient.color": {
+    "desc": "<p>The color of ambient light.</p>\n"
+  },
+  "light.ambient.intensity": {
+    "desc": "<p>The intensity of ambient light.</p>\n"
+  },
+  "light.ambientCubemap": {
+    "desc": "<p>The ambientCubemap uses texture as the source of ambient light, which provides diffuse and specular for objects. The diffuse and specular can be set separately by <a href=\"#mapbox3D.light.ambientCubemap.diffuseIntensity\">diffuseIntensity</a> and <a href=\"#mapbox3D.light.ambientCubemap.specularIntensity\">specularIntensity</a>.</p>\n"
+  },
+  "light.ambientCubemap.texture": {
+    "desc": "<p>The URL of the ambient cubemap supports HDR images in the <code class=\"codespan\">.hdr</code> format. You can obtained the resources for <code class=\"codespan\">.hdr</code> from <a href=\"http://www.hdrlabs.com/sibl/archive.html\" target=\"_blank\">http://www.hdrlabs.com/sibl/archive.html</a> and other websites.</p>\n<p>Example:</p>\n<pre><code class=\"lang-js\">ambientCubemap: {\n    texture: &#39;pisa.hdr&#39;,\n    // The exposure value used when analytic hdr\n    ex [...]
+  },
+  "light.ambientCubemap.diffuseIntensity": {
+    "desc": "<p>The intensity of diffuse.</p>\n"
+  },
+  "light.ambientCubemap.specularIntensity": {
+    "desc": "<p>The intensity of specular.</p>\n"
+  },
+  "postEffect": {
+    "desc": "<p>Post-processing effects related configuration. It can add effects such as highlights, depth of field, screen space ambient occlusion (SSAO), toning to the picture. And it can make the whole picture more textured.</p>\n<p>The following are the differences between closing <code class=\"codespan\">postEffect</code> and opening <code class=\"codespan\">postEffect</code>.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/i [...]
+  },
+  "postEffect.enable": {
+    "desc": "<p>Whether to enable post-processing effects. Not enabled by default.</p>\n"
+  },
+  "postEffect.bloom": {
+    "desc": "<p>Bloom is used to reproducing the effects that occur in real cameras when taking pictures in a bright environment.\nBecause traditional RGB can only represent colors in the range of &#39;0 - 255&#39;, so we need to use the bloom effect simulates fringes of light extending from the borders of bright areas, creating the illusion of a bright light overwhelming the camera. As shown below:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/globe-posteffect-blo [...]
+  },
+  "postEffect.bloom.enable": {
+    "desc": "<p>Whether to enable the bloom effect.</p>\n"
+  },
+  "postEffect.bloom.bloomIntensity": {
+    "desc": "<p>The intensity of the bloom. The default is 0.1.</p>\n"
+  },
+  "postEffect.depthOfField": {
+    "desc": "<p>Depth of Field is a post-processing effect that simulates the focus properties of a camera. The area of focus is clear, and the area away from the focus is gradually blurred.</p>\n<p>The depth of field effect allows the observer to focus on the area of focus and make the picture feel stronger. Large depth of field can also create a macro model effect.</p>\n<p>The following are the differences between turning off and turning on the depth of field effect.</p>\n<div  class=\ [...]
+  },
+  "postEffect.depthOfField.enable": {
+    "desc": "<p>Whether to enable the depth of field.</p>\n"
+  },
+  "postEffect.depthOfField.focalDistance": {
+    "desc": "<p>The initial focus distance. The user can click on the area to automatically focus.</p>\n"
+  },
+  "postEffect.depthOfField.focalRange": {
+    "desc": "<p>The size of the in-focus area. The objects in this range are completely clear and there is no blurring.</p>\n"
+  },
+  "postEffect.depthOfField.fstop": {
+    "desc": "<p>[F value] of the lens (<a href=\"https://zh.wikipedia.org/wiki/%E7%84%A6%E6%AF%94)\" target=\"_blank\">https://zh.wikipedia.org/wiki/%E7%84%A6%E6%AF%94)</a>, the smaller the value, the shallower the depth of field.</p>\n"
+  },
+  "postEffect.depthOfField.blurRadius": {
+    "desc": "<p>Blur radius outside the focus.</p>\n<p>The difference blur effect between the different radius. </p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-dof-small.png\" width=\"100%\" title=\"blurSize: 3\"><img />\n    <img  src=\"documents/asset/gl/img/geo-dof-large.png\" width=\"100%\" title=\"blurSize: 10\"><img />\n<div />\n"
+  },
+  "postEffect.screenSpaceAmbientOcclusion": {
+    "desc": "<p>The ambient occlusion post-processing effect darkens the corners, holes, crevices, and areas where most light can`t reach. It is a supplement to the traditional shadow map, which makes the whole scene more natural and layered.</p>\n<p>Below is a comparison of the effects of no SSAO and SSAO:</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-no-ssao.png\" width=\"100%\" title=\"No SSAO\"><img />\n    <img  src= [...]
+  },
+  "postEffect.SSAO": {
+    "desc": "<p>Same as <a href=\"#mapbox3D.postEffect.screenSpaceAmbientOcclusion\">screenSpaceAmbientOcclusion</a></p>\n"
+  },
+  "postEffect.SSAO.enable": {
+    "desc": "<p>Whether to enable SSAO (screen space ambient occlusion). Not enabled by default.</p>\n"
+  },
+  "postEffect.SSAO.quality": {
+    "desc": "<p>The quality of SSAO (screen space ambient occlusion). Supporting<code class=\"codespan\">&#39;low&#39;</code>, <code class=\"codespan\">&#39;medium&#39;</code>, <code class=\"codespan\">&#39;high&#39;</code>, <code class=\"codespan\">&#39;ultra&#39;</code></p>\n"
+  },
+  "postEffect.SSAO.radius": {
+    "desc": "<p>The radius of the SSAO (screen space ambient occlusion). The larger the radius, the more natural the effect, but you need to set a higher <code class=\"codespan\">&#39;quality&#39;</code>. </p>\n<p>The following example is the difference between a smaller and larger radius:</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/geo-ssao-small-radius.png\" width=\"100%\" title=\"Radius: 1\"><img />\n    <img  src=\"docu [...]
+  },
+  "postEffect.SSAO.intensity": {
+    "desc": "<p>The intensity of SSAO (screen space ambient occlusion). The larger the value, the darker the color.</p>\n"
+  },
+  "postEffect.colorCorrection": {
+    "desc": "<p>Color correction and adjustment. Similar to Color Adjustments in Photoshop.</p>\n<p>The same scene in the figure below is adjusted to the difference between the cool color system and the warm color system.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/buildings-cold.jpg\" width=\"100%\" title=\"Cold\"><img />\n    <img  src=\"documents/asset/gl/img/buildings-warm.jpg\" width=\"100%\" title=\"Warm\"><img />\n<d [...]
+  },
+  "postEffect.colorCorrection.enable": {
+    "desc": "<p>Whether to enable the color correction.</p>\n"
+  },
+  "postEffect.colorCorrection.lookupTexture": {
+    "desc": "<p>Color correction lookup texture, recommended.</p>\n<p>The color correction lookup texture is a texture image like the one below.</p>\n<p><img width=\"200\" height=\"auto\" src=\"documents/asset/gl/img/lookup.png\"></p>\n<p>This is the basic lookup texture image that you can use directly.\nTo adjust the color of the scene to the effect you want, you can take a screenshot of the scene and adjust the color to the desired effect in image processing software such as Photoshop. [...]
+  },
+  "postEffect.colorCorrection.exposure": {
+    "desc": "<p>The exposure of the image.</p>\n"
+  },
+  "postEffect.colorCorrection.brightness": {
+    "desc": "<p>The brightness of the image.</p>\n"
+  },
+  "postEffect.colorCorrection.contrast": {
+    "desc": "<p>The contrast of the image.</p>\n"
+  },
+  "postEffect.colorCorrection.saturation": {
+    "desc": "<p>The saturation of the image.</p>\n"
+  },
+  "postEffect.FXAA": {
+    "desc": "<p>After opening <a href=\"#mapbox3D.postEffect\">postEffect</a>, WebGL&#39;s default MSAA (Multi Sampling Anti Aliasing) will not work. At this time, FXAA (Fast Approximate Anti-Aliasing) can solve the anti-aliasing problem quickly and easily. FXAA blurs the edge of the scene to solve the problem of aliasing. It works well on some scenes, but in echarts-gl, you need to ensure that the edges of many texts and lines are sharp and clear, so FXAA is not suitable. At this point  [...]
+  },
+  "postEffect.FXAA.enable": {
+    "desc": "<p>Whether to enable FXAA. Not enabled by default.</p>\n"
+  },
+  "temporalSuperSampling": {
+    "desc": "<p>Temporal supersampling. After opening <a href=\"#mapbox3D.postEffect\">postEffect</a>, WebGL&#39;s default MSAA (MultiSampling Anti-Aliasing) will not work, so we need to solve the problem of sampling.</p>\n<p>Temporal supersampling is an anti-aliasing method. After the picture is still, it will continue to sample multiple times and taken at several instances inside the pixel and an average color value is calculated, thus achieving anti-aliasing effect.\nAnd in this proce [...]
+  },
+  "temporalSuperSampling.enable": {
+    "desc": "<p>Whether to enable temporal supersampling. By default, temporal supersampling is also turned on synchronously when <a href=\"#mapbox3D.postEffect\">postEffect</a> is turned on.</p>\n"
+  }
+}
\ No newline at end of file
diff --git a/next/en/documents/option-gl-parts/option-gl.series-bar3D.js b/next/en/documents/option-gl-parts/option-gl.series-bar3D.js
new file mode 100644
index 0000000..43abad6
--- /dev/null
+++ b/next/en/documents/option-gl-parts/option-gl.series-bar3D.js
@@ -0,0 +1,269 @@
+window.__EC_DOC_option_gl_series_bar3D = {
+  "name": {
+    "desc": "<p>Series name used for displaying in <a href=\"https://echarts.apache.org/zh/option.html#tooltip\" target=\"_blank\">tooltip</a> and filtering with <a href=\"https://echarts.apache.org/zh/option.html#legend\" target=\"_blank\">legend</a>, or updating data and configuration with <code class=\"codespan\">setOption</code>.</p>\n"
+  },
+  "coordinateSystem": {
+    "desc": "<p>The coordinate used in the series, whose options are:</p>\n<ul>\n<li><p><code class=\"codespan\">&#39;cartesian3D&#39;</code></p>\n<p>  Use a 3D rectangular coordinate (also known as Cartesian coordinate), with <a href=\"#series-.xAxisIndex\">xAxisIndex</a> and <a href=\"#series-.yAxisIndex\">yAxisIndex</a> to assign the corresponding axis component.</p>\n</li>\n</ul>\n<ul>\n<li><code class=\"codespan\">&#39;geo3D&#39;</code>\n  Use 3D geographic coordinate, with <a href= [...]
+  },
+  "grid3DIndex": {
+    "desc": "<p>Use the index of the <a href=\"#grid3D\">grid3D</a> component. The first <a href=\"#grid3D\">grid3D</a> component is used by default.</p>\n"
+  },
+  "geo3DIndex": {
+    "desc": "<p>The index of the <a href=\"#geo3D\">geo3D</a> component used by the axis.The first <a href=\"#grid3D\">grid3D</a> component is used by default.</p>\n"
+  },
+  "globeIndex": {
+    "desc": "<p>The index of the <a href=\"#globe\">globe</a> component used by the axis.The first <a href=\"#globe\">globe</a> component is used by default.</p>\n"
+  },
+  "bevelSize": {
+    "desc": "<p>The size of the bevel.\nSupport for setting values from 0 to 1. The default is 0, which means there is no bevel.</p>\n<p>Below are the differences between beveling and no beveling.</p>\n<div  class=\"twentytwenty-container\" style=\"width: 700px;\">\n    <img  src=\"documents/asset/gl/img/bar3D-no-bevel.png\" width=\"100%\" title=\"bevelSize: 0\"><img />\n    <img  src=\"documents/asset/gl/img/bar3D-bevel.png\" width=\"100%\" title=\"bevelSize: 0.3\"><img />\n<div />\n"
+  },
+  "bevelSmoothness": {
+    "desc": "<p>The smoothness of the bevel, the larger the value, the smoother.</p>\n"
+  },
+  "stack": {
+    "desc": "<p>Stacking of bar chart. On the same category axis, the series with the same <code class=\"codespan\">stack</code> name would be put on top of each other. Note that the data items that need to be stack in different series must have the same index in the array.</p>\n"
+  },
+  "minHeight": {
+    "desc": "<p>The minimum width of the bar.</p>\n"
+  },
+  "itemStyle": {
+    "desc": "<p>The style of the bar, including color and opacity.</p>\n"
+  },
+  "itemStyle.color": {
+    "desc": "<p>The color of the graphic. </p>\n<pre><code class=\"lang-js\">// pure white\n[1, 1, 1, 1]\n</code></pre>\n<p>When using an array representation, each channel can set a value greater than 1 to represent the color value of HDR.</p>\n"
+  },
+  "itemStyle.opacity": {
+    "desc": "<p>The opacity of the graphic.</p>\n"
+  },
+  "label": {
+    "desc": "<p>Configure the label of the bar.</p>\n"
+  },
+  "label.show": {
+    "desc": "<p>Whether to show the label.</p>\n"
+  },
+  "label.distance": {
+    "desc": "<p>Distance to the host graphic element.</p>\n<p>The distance from the label to the graphic. In a 3D Scatter, this distance is the pixel value of the screen space. In other figures, this distance is the relative 3D distance.</p>\n"
+  },
+  "label.formatter": {
+    "desc": "<p>The formatter of the label content, which supports the string template and the callback function. In either form, <code class=\"codespan\">\\n</code> is supported to represent a new line.</p>\n<p><strong>String template:</strong> </p>\n<p>The model variation includes:</p>\n<ul>\n<li><code class=\"codespan\">{a}</code>: series name.</li>\n<li><code class=\"codespan\">{b}</code>: the name of a data item.</li>\n<li><code class=\"codespan\">{c}</code>: the value of a data ite [...]
+  },
+  "label.textStyle": {
+    "desc": "<p>The font style of the label.</p>\n"
+  },
+  "label.textStyle.color": {
+    "desc": "<p>The Color of the text.</p>\n"
+  },
+  "label.textStyle.borderWidth": {
+    "desc": "<p>The border width of the text.</p>\n"
+  },
+  "label.textStyle.borderColor": {
+    "desc": "<p>The border color of the text.</p>\n"
+  },
+  "label.textStyle.fontFamily": {
+    "desc": "<p>The font family of the text.</p>\n"
+  },
+  "label.textStyle.fontSize": {
+    "desc": "<p>The font size of the text.</p>\n"
+  },
+  "label.textStyle.fontWeight": {
+    "desc": "<p>The font thick weight of the text.</p>\n<p><strong>Optional:</strong></p>\n<ul>\n<li><code class=\"codespan\">&#39;normal&#39;</code></li>\n<li><code class=\"codespan\">&#39;bold&#39;</code></li>\n<li><code class=\"codespan\">&#39;bolder&#39;</code></li>\n<li><code class=\"codespan\">&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n"
+  },
+  "emphasis": {
+    "desc": "<p>Configure labels and styles for bar highlighting.</p>\n"
+  },
+  "emphasis.itemStyle.color": {
+    "desc": "<p>The color of the graphic. </p>\n<pre><code class=\"lang-js\">// pure white\n[1, 1, 1, 1]\n</code></pre>\n<p>When using an array representation, each channel can set a value greater than 1 to represent the color value of HDR.</p>\n"
+  },
+  "emphasis.itemStyle.opacity": {
+    "desc": "<p>The opacity of the graphic.</p>\n"
+  },
+  "emphasis.label.show": {
+    "desc": "<p>Whether to show the label.</p>\n"
+  },
+  "emphasis.label.distance": {
+    "desc": "<p>Distance to the host graphic element.</p>\n<p>The distance from the label to the graphic. In a 3D Scatter, this distance is the pixel value of the screen space. In other figures, this distance is the relative 3D distance.</p>\n"
+  },
+  "emphasis.label.formatter": {
+    "desc": "<p>The formatter of the label content, which supports the string template and the callback function. In either form, <code class=\"codespan\">\\n</code> is supported to represent a new line.</p>\n<p><strong>String template:</strong> </p>\n<p>The model variation includes:</p>\n<ul>\n<li><code class=\"codespan\">{a}</code>: series name.</li>\n<li><code class=\"codespan\">{b}</code>: the name of a data item.</li>\n<li><code class=\"codespan\">{c}</code>: the value of a data ite [...]
+  },
+  "emphasis.label.textStyle": {
+    "desc": "<p>The font style of the label.</p>\n"
+  },
+  "emphasis.label.textStyle.color": {
+    "desc": "<p>The Color of the text.</p>\n"
+  },
+  "emphasis.label.textStyle.borderWidth": {
+    "desc": "<p>The border width of the text.</p>\n"
+  },
+  "emphasis.label.textStyle.borderColor": {
+    "desc": "<p>The border color of the text.</p>\n"
+  },
+  "emphasis.label.textStyle.fontFamily": {
+    "desc": "<p>The font family of the text.</p>\n"
+  },
+  "emphasis.label.textStyle.fontSize": {
+    "desc": "<p>The font size of the text.</p>\n"
+  },
+  "emphasis.label.textStyle.fontWeight": {
+    "desc": "<p>The font thick weight of the text.</p>\n<p><strong>Optional:</strong></p>\n<ul>\n<li><code class=\"codespan\">&#39;normal&#39;</code></li>\n<li><code class=\"codespan\">&#39;bold&#39;</code></li>\n<li><code class=\"codespan\">&#39;bolder&#39;</code></li>\n<li><code class=\"codespan\">&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n"
+  },
+  "data": {
+    "desc": "<p>A data array of 3D bar. Each item of the array is a piece of data. Usually this data is an array to store each attribute/dimension of the data. For example below:</p>\n<pre><code class=\"lang-js\">data: [\n    [[12, 14, 10], [34, 50, 15], [56, 30, 20], [10, 15, 12], [23, 10, 14]]\n]\n</code></pre>\n<p>For each item in the array:</p>\n<ol>\n<li>In [grid3D] (~grid3D), the first three values of each item are <code class=\"codespan\">x</code>, <code class=\"codespan\">y</code [...]
+  },
+  "data.name": {
+    "desc": "<p>The name of data item.</p>\n"
+  },
+  "data.value": {
+    "desc": "<p>Data value.</p>\n"
+  },
+  "data.itemStyle": {
+    "desc": "<p>The style setting of a single data item.</p>\n"
+  },
+  "data.itemStyle.color": {
+    "desc": "<p>The color of the graphic. </p>\n<pre><code class=\"lang-js\">// pure white\n[1, 1, 1, 1]\n</code></pre>\n<p>When using an array representation, each channel can set a value greater than 1 to represent the color value of HDR.</p>\n"
+  },
+  "data.itemStyle.opacity": {
+    "desc": "<p>The opacity of the graphic.</p>\n"
+  },
+  "data.label": {
+    "desc": "<p>The label setting of a single data item.</p>\n"
+  },
+  "data.label.show": {
+    "desc": "<p>Whether to show the label.</p>\n"
+  },
+  "data.label.distance": {
+    "desc": "<p>Distance to the host graphic element.</p>\n<p>The distance from the label to the graphic. In a 3D Scatter, this distance is the pixel value of the screen space. In other figures, this distance is the relative 3D distance.</p>\n"
+  },
+  "data.label.formatter": {
+    "desc": "<p>The formatter of the label content, which supports the string template and the callback function. In either form, <code class=\"codespan\">\\n</code> is supported to represent a new line.</p>\n<p><strong>String template:</strong> </p>\n<p>The model variation includes:</p>\n<ul>\n<li><code class=\"codespan\">{a}</code>: series name.</li>\n<li><code class=\"codespan\">{b}</code>: the name of a data item.</li>\n<li><code class=\"codespan\">{c}</code>: the value of a data ite [...]
+  },
+  "data.label.textStyle": {
+    "desc": "<p>The font style of the label.</p>\n"
+  },
+  "data.label.textStyle.color": {
+    "desc": "<p>The Color of the text.</p>\n"
+  },
+  "data.label.textStyle.borderWidth": {
+    "desc": "<p>The border width of the text.</p>\n"
+  },
+  "data.label.textStyle.borderColor": {
+    "desc": "<p>The border color of the text.</p>\n"
+  },
+  "data.label.textStyle.fontFamily": {
+    "desc": "<p>The font family of the text.</p>\n"
+  },
+  "data.label.textStyle.fontSize": {
+    "desc": "<p>The font size of the text.</p>\n"
+  },
+  "data.label.textStyle.fontWeight": {
+    "desc": "<p>The font thick weight of the text.</p>\n<p><strong>Optional:</strong></p>\n<ul>\n<li><code class=\"codespan\">&#39;normal&#39;</code></li>\n<li><code class=\"codespan\">&#39;bold&#39;</code></li>\n<li><code class=\"codespan\">&#39;bolder&#39;</code></li>\n<li><code class=\"codespan\">&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n"
+  },
... 1570445 lines suppressed ...


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@echarts.apache.org
For additional commands, e-mail: commits-help@echarts.apache.org