├── 1.png ├── 2.png ├── 3.png ├── 4.png ├── 5.png ├── README.md ├── __init__.py ├── app ├── .DS_Store ├── __init__.py ├── __pycache__ │ ├── __init__.cpython-36.pyc │ └── __init__.cpython-37.pyc ├── auth │ ├── __init__.py │ └── views.py ├── email.py ├── main │ ├── __init__.py │ ├── errors.py │ ├── static │ │ ├── chosen │ │ │ ├── css │ │ │ │ ├── chosen-sprite.png │ │ │ │ ├── chosen.css │ │ │ │ └── chosen.min.css │ │ │ └── js │ │ │ │ ├── chosen.jquery.js │ │ │ │ ├── chosen.jquery.min.js │ │ │ │ ├── chosen.proto.js │ │ │ │ └── chosen.proto.min.js │ │ ├── css │ │ │ ├── bootstrap-theme.min.css │ │ │ ├── bootstrap.min.css │ │ │ ├── materialize.css │ │ │ └── materialize.min.css │ │ ├── datatime │ │ │ ├── css │ │ │ │ ├── jeDate-test.css │ │ │ │ ├── jedate-full.css │ │ │ │ └── jedate.css │ │ │ └── js │ │ │ │ ├── jedate-test.js │ │ │ │ ├── jquery.jedate.js │ │ │ │ └── jquery.jedate.min.js │ │ ├── dropzone │ │ │ ├── css │ │ │ │ ├── basic.css │ │ │ │ └── dropzone.css │ │ │ └── js │ │ │ │ ├── dropzone-amd-module.js │ │ │ │ └── dropzone.js │ │ ├── js │ │ │ ├── jquery-2.1.1.min.js │ │ │ ├── materialize.js │ │ │ └── materialize.min.js │ │ └── picklist │ │ │ ├── css │ │ │ └── pickList.css │ │ │ └── js │ │ │ └── pickList.js │ └── views.py ├── models.py ├── static │ ├── .DS_Store │ ├── chosen │ │ ├── css │ │ │ ├── chosen-sprite.png │ │ │ ├── chosen.css │ │ │ └── chosen.min.css │ │ └── js │ │ │ ├── chosen.jquery.js │ │ │ ├── chosen.jquery.min.js │ │ │ ├── chosen.proto.js │ │ │ └── chosen.proto.min.js │ ├── css │ │ ├── bootstrap-theme.min.css │ │ ├── bootstrap.min.css │ │ ├── materialize.css │ │ └── materialize.min.css │ ├── datatime │ │ ├── css │ │ │ ├── jeDate-test.css │ │ │ ├── jedate-full.css │ │ │ └── jedate.css │ │ └── js │ │ │ ├── jedate-test.js │ │ │ ├── jquery.jedate.js │ │ │ └── jquery.jedate.min.js │ ├── dropzone │ │ ├── css │ │ │ ├── basic.css │ │ │ └── dropzone.css │ │ └── js │ │ │ ├── dropzone-amd-module.js │ │ │ └── dropzone.js │ ├── fonts │ │ ├── flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.woff2 │ │ └── fonts.css │ ├── img │ │ └── logo.png │ ├── js │ │ ├── jquery-2.1.1.min.js │ │ ├── materialize.js │ │ └── materialize.min.js │ ├── login │ │ ├── css │ │ │ ├── chartist.min.css │ │ │ ├── fullcalendar.min.css │ │ │ ├── img │ │ │ │ ├── Material-Design-Icons.eot │ │ │ │ ├── Material-Design-Icons.ttf │ │ │ │ ├── Roboto-Bold.ttf │ │ │ │ ├── Roboto-Light.ttf │ │ │ │ ├── Roboto-Medium.ttf │ │ │ │ ├── Roboto-Regular.ttf │ │ │ │ ├── Roboto-Thin.ttf │ │ │ │ ├── sample-1.jpg │ │ │ │ ├── sort_asc.png │ │ │ │ ├── sort_asc_disabled.png │ │ │ │ ├── sort_both.png │ │ │ │ ├── sort_desc.png │ │ │ │ ├── sort_desc_disabled.png │ │ │ │ └── user-bg.jpg │ │ │ ├── jquery-jvectormap.css │ │ │ ├── jquery.dataTables.min.css │ │ │ ├── jquery.dataTables.min01.css │ │ │ ├── materialize.css │ │ │ ├── morris.css │ │ │ ├── page-center.css │ │ │ ├── perfect-scrollbar.css │ │ │ ├── prism.css │ │ │ ├── style.css │ │ │ └── xcharts.min.css │ │ ├── img │ │ │ ├── avatar.jpg │ │ │ ├── generic-logo.png │ │ │ ├── login-logo.png │ │ │ ├── materialize-logo.png │ │ │ ├── office.jpg │ │ │ ├── sample-1.jpg │ │ │ ├── sdw.png │ │ │ ├── signature-scan.png │ │ │ ├── style_typography_roboto.png │ │ │ └── user-bg.jpg │ │ └── js │ │ │ ├── chart-script.js │ │ │ ├── chart.min.js │ │ │ ├── chartist-script.js │ │ │ ├── chartist.min.js │ │ │ ├── chartjs-sample-chart.js │ │ │ ├── d3.min.js │ │ │ ├── data-tables-script.js │ │ │ ├── flot-chart.js │ │ │ ├── flot-script.js │ │ │ ├── fullcalendar-script.js │ │ │ ├── fullcalendar.min.js │ │ │ ├── jquery-1.10.2.js │ │ │ ├── jquery-1.11.2.min.js │ │ │ ├── jquery-jvectormap-1.2.2.min.js │ │ │ ├── jquery-jvectormap-world-mill-en.js │ │ │ ├── jquery-ui.custom.min.js │ │ │ ├── jquery.dataTables.min.js │ │ │ ├── jquery.flot.min.js │ │ │ ├── jquery.flot.pie.js │ │ │ ├── jquery.flot.stack.js │ │ │ ├── jquery.flot.time.js │ │ │ ├── jquery.sparkline.min.js │ │ │ ├── materialize.js │ │ │ ├── materialize.min.js │ │ │ ├── moment.min.js │ │ │ ├── morris-script.js │ │ │ ├── morris.min.js │ │ │ ├── perfect-scrollbar.min.js │ │ │ ├── plugins.js │ │ │ ├── prism.js │ │ │ ├── raphael-min.js │ │ │ ├── sparkline-script.js │ │ │ ├── vectormap-script.js │ │ │ ├── xcharts-script.js │ │ │ └── xcharts.min.js │ ├── particles │ │ ├── app.js │ │ ├── bower.json │ │ ├── package.json │ │ ├── particles.js │ │ ├── particles.min.js │ │ └── style.css │ ├── picklist │ │ ├── css │ │ │ └── pickList.css │ │ └── js │ │ │ └── pickList.js │ ├── socket │ │ └── socket.io.js │ ├── sshlogin │ │ ├── css │ │ │ ├── default.css │ │ │ └── styles.css │ │ ├── fonts │ │ │ ├── icomoon.eot │ │ │ ├── icomoon.svg │ │ │ ├── icomoon.ttf │ │ │ └── icomoon.woff │ │ ├── index.html │ │ └── js │ │ │ └── html5shiv.min.js │ ├── tuxing │ │ ├── code │ │ │ ├── css │ │ │ │ ├── highcharts.css │ │ │ │ ├── highcharts.scss │ │ │ │ └── js │ │ │ │ │ ├── highcharts-3d.js │ │ │ │ │ ├── highcharts-3d.js.map │ │ │ │ │ ├── highcharts-3d.src.js │ │ │ │ │ ├── highcharts-more.js │ │ │ │ │ ├── highcharts-more.js.map │ │ │ │ │ ├── highcharts-more.src.js │ │ │ │ │ ├── highcharts.js │ │ │ │ │ ├── highcharts.js.map │ │ │ │ │ ├── highcharts.src.js │ │ │ │ │ ├── modules │ │ │ │ │ ├── accessibility.js │ │ │ │ │ ├── accessibility.js.map │ │ │ │ │ ├── accessibility.src.js │ │ │ │ │ ├── annotations.js │ │ │ │ │ ├── annotations.js.map │ │ │ │ │ ├── annotations.src.js │ │ │ │ │ ├── boost-canvas.js │ │ │ │ │ ├── boost-canvas.js.map │ │ │ │ │ ├── boost-canvas.src.js │ │ │ │ │ ├── boost.js │ │ │ │ │ ├── boost.js.map │ │ │ │ │ ├── boost.src.js │ │ │ │ │ ├── broken-axis.js │ │ │ │ │ ├── broken-axis.js.map │ │ │ │ │ ├── broken-axis.src.js │ │ │ │ │ ├── bullet.js │ │ │ │ │ ├── bullet.js.map │ │ │ │ │ ├── bullet.src.js │ │ │ │ │ ├── data.js │ │ │ │ │ ├── data.js.map │ │ │ │ │ ├── data.src.js │ │ │ │ │ ├── drag-panes.js │ │ │ │ │ ├── drag-panes.js.map │ │ │ │ │ ├── drag-panes.src.js │ │ │ │ │ ├── drilldown.js │ │ │ │ │ ├── drilldown.js.map │ │ │ │ │ ├── drilldown.src.js │ │ │ │ │ ├── export-data.js │ │ │ │ │ ├── export-data.js.map │ │ │ │ │ ├── export-data.src.js │ │ │ │ │ ├── exporting.js │ │ │ │ │ ├── exporting.js.map │ │ │ │ │ ├── exporting.src.js │ │ │ │ │ ├── funnel.js │ │ │ │ │ ├── funnel.js.map │ │ │ │ │ ├── funnel.src.js │ │ │ │ │ ├── gantt.js │ │ │ │ │ ├── gantt.js.map │ │ │ │ │ ├── gantt.src.js │ │ │ │ │ ├── grid-axis.js │ │ │ │ │ ├── grid-axis.js.map │ │ │ │ │ ├── grid-axis.src.js │ │ │ │ │ ├── heatmap.js │ │ │ │ │ ├── heatmap.js.map │ │ │ │ │ ├── heatmap.src.js │ │ │ │ │ ├── histogram-bellcurve.js │ │ │ │ │ ├── histogram-bellcurve.js.map │ │ │ │ │ ├── histogram-bellcurve.src.js │ │ │ │ │ ├── item-series.js │ │ │ │ │ ├── item-series.js.map │ │ │ │ │ ├── item-series.src.js │ │ │ │ │ ├── no-data-to-display.js │ │ │ │ │ ├── no-data-to-display.js.map │ │ │ │ │ ├── no-data-to-display.src.js │ │ │ │ │ ├── offline-exporting.js │ │ │ │ │ ├── offline-exporting.js.map │ │ │ │ │ ├── offline-exporting.src.js │ │ │ │ │ ├── oldie.js │ │ │ │ │ ├── oldie.js.map │ │ │ │ │ ├── oldie.src.js │ │ │ │ │ ├── overlapping-datalabels.js │ │ │ │ │ ├── overlapping-datalabels.js.map │ │ │ │ │ ├── overlapping-datalabels.src.js │ │ │ │ │ ├── parallel-coordinates.js │ │ │ │ │ ├── parallel-coordinates.js.map │ │ │ │ │ ├── parallel-coordinates.src.js │ │ │ │ │ ├── pareto.js │ │ │ │ │ ├── pareto.js.map │ │ │ │ │ ├── pareto.src.js │ │ │ │ │ ├── sankey.js │ │ │ │ │ ├── sankey.js.map │ │ │ │ │ ├── sankey.src.js │ │ │ │ │ ├── series-label.js │ │ │ │ │ ├── series-label.js.map │ │ │ │ │ ├── series-label.src.js │ │ │ │ │ ├── solid-gauge.js │ │ │ │ │ ├── solid-gauge.js.map │ │ │ │ │ ├── solid-gauge.src.js │ │ │ │ │ ├── static-scale.js │ │ │ │ │ ├── static-scale.js.map │ │ │ │ │ ├── static-scale.src.js │ │ │ │ │ ├── stock.js │ │ │ │ │ ├── stock.js.map │ │ │ │ │ ├── stock.src.js │ │ │ │ │ ├── streamgraph.js │ │ │ │ │ ├── streamgraph.js.map │ │ │ │ │ ├── streamgraph.src.js │ │ │ │ │ ├── sunburst.src.js │ │ │ │ │ ├── tilemap.js │ │ │ │ │ ├── tilemap.js.map │ │ │ │ │ ├── tilemap.src.js │ │ │ │ │ ├── treemap.js │ │ │ │ │ ├── treemap.js.map │ │ │ │ │ ├── treemap.src.js │ │ │ │ │ ├── variable-pie.js │ │ │ │ │ ├── variable-pie.js.map │ │ │ │ │ ├── variable-pie.src.js │ │ │ │ │ ├── variwide.js │ │ │ │ │ ├── variwide.js.map │ │ │ │ │ ├── variwide.src.js │ │ │ │ │ ├── vector.js │ │ │ │ │ ├── vector.js.map │ │ │ │ │ ├── vector.src.js │ │ │ │ │ ├── windbarb.js │ │ │ │ │ ├── windbarb.js.map │ │ │ │ │ ├── windbarb.src.js │ │ │ │ │ ├── wordcloud.js │ │ │ │ │ ├── wordcloud.js.map │ │ │ │ │ ├── wordcloud.src.js │ │ │ │ │ ├── xrange.js │ │ │ │ │ ├── xrange.js.map │ │ │ │ │ └── xrange.src.js │ │ │ │ │ └── themes │ │ │ │ │ ├── avocado.js │ │ │ │ │ ├── avocado.js.map │ │ │ │ │ ├── avocado.src.js │ │ │ │ │ ├── dark-blue.js │ │ │ │ │ ├── dark-blue.js.map │ │ │ │ │ ├── dark-blue.src.js │ │ │ │ │ ├── dark-green.js │ │ │ │ │ ├── dark-green.js.map │ │ │ │ │ ├── dark-green.src.js │ │ │ │ │ ├── dark-unica.js │ │ │ │ │ ├── dark-unica.js.map │ │ │ │ │ ├── dark-unica.src.js │ │ │ │ │ ├── gray.js │ │ │ │ │ ├── gray.js.map │ │ │ │ │ ├── gray.src.js │ │ │ │ │ ├── grid-light.js │ │ │ │ │ ├── grid-light.js.map │ │ │ │ │ ├── grid-light.src.js │ │ │ │ │ ├── grid.js │ │ │ │ │ ├── grid.js.map │ │ │ │ │ ├── grid.src.js │ │ │ │ │ ├── sand-signika.js │ │ │ │ │ ├── sand-signika.js.map │ │ │ │ │ ├── sand-signika.src.js │ │ │ │ │ ├── skies.js │ │ │ │ │ ├── skies.js.map │ │ │ │ │ ├── skies.src.js │ │ │ │ │ ├── sunset.js │ │ │ │ │ ├── sunset.js.map │ │ │ │ │ └── sunset.src.js │ │ │ ├── highcharts-3d.js │ │ │ ├── highcharts-3d.js.map │ │ │ ├── highcharts-3d.src.js │ │ │ ├── highcharts-more.js │ │ │ ├── highcharts-more.js.map │ │ │ ├── highcharts-more.src.js │ │ │ ├── highcharts-zh_CN.js │ │ │ ├── highcharts.js │ │ │ ├── highcharts.js.map │ │ │ ├── highcharts.src.js │ │ │ ├── highstock │ │ │ │ ├── code │ │ │ │ │ ├── css │ │ │ │ │ │ ├── annotations │ │ │ │ │ │ │ ├── popup.css │ │ │ │ │ │ │ └── popup.scss │ │ │ │ │ │ ├── highcharts.css │ │ │ │ │ │ ├── highcharts.scss │ │ │ │ │ │ ├── stocktools │ │ │ │ │ │ │ ├── gui.css │ │ │ │ │ │ │ └── gui.scss │ │ │ │ │ │ └── themes │ │ │ │ │ │ │ ├── dark-unica.css │ │ │ │ │ │ │ ├── dark-unica.scss │ │ │ │ │ │ │ ├── grid-light.css │ │ │ │ │ │ │ ├── grid-light.scss │ │ │ │ │ │ │ ├── sand-signika.css │ │ │ │ │ │ │ └── sand-signika.scss │ │ │ │ │ ├── es-modules │ │ │ │ │ │ ├── annotations │ │ │ │ │ │ │ ├── ControlPoint.js │ │ │ │ │ │ │ ├── MockPoint.js │ │ │ │ │ │ │ ├── annotations.src.js │ │ │ │ │ │ │ ├── controllable │ │ │ │ │ │ │ │ ├── ControllableCircle.js │ │ │ │ │ │ │ │ ├── ControllableImage.js │ │ │ │ │ │ │ │ ├── ControllableLabel.js │ │ │ │ │ │ │ │ ├── ControllablePath.js │ │ │ │ │ │ │ │ ├── ControllableRect.js │ │ │ │ │ │ │ │ ├── controllableMixin.js │ │ │ │ │ │ │ │ └── markerMixin.js │ │ │ │ │ │ │ ├── eventEmitterMixin.js │ │ │ │ │ │ │ ├── navigationBindings.js │ │ │ │ │ │ │ ├── popup.js │ │ │ │ │ │ │ └── types │ │ │ │ │ │ │ │ ├── CrookedLine.js │ │ │ │ │ │ │ │ ├── ElliottWave.js │ │ │ │ │ │ │ │ ├── Fibonacci.js │ │ │ │ │ │ │ │ ├── InfinityLine.js │ │ │ │ │ │ │ │ ├── Measure.js │ │ │ │ │ │ │ │ ├── Pitchfork.js │ │ │ │ │ │ │ │ ├── Tunnel.js │ │ │ │ │ │ │ │ └── VerticalLine.js │ │ │ │ │ │ ├── error-messages.js │ │ │ │ │ │ ├── error.js │ │ │ │ │ │ ├── indicators │ │ │ │ │ │ │ ├── acceleration-bands.src.js │ │ │ │ │ │ │ ├── accumulation-distribution.src.js │ │ │ │ │ │ │ ├── ao.src.js │ │ │ │ │ │ │ ├── apo.src.js │ │ │ │ │ │ │ ├── aroon-oscillator.src.js │ │ │ │ │ │ │ ├── aroon.src.js │ │ │ │ │ │ │ ├── atr.src.js │ │ │ │ │ │ │ ├── bollinger-bands.src.js │ │ │ │ │ │ │ ├── cci.src.js │ │ │ │ │ │ │ ├── chaikin.src.js │ │ │ │ │ │ │ ├── cmf.src.js │ │ │ │ │ │ │ ├── dema.src.js │ │ │ │ │ │ │ ├── dpo.src.js │ │ │ │ │ │ │ ├── ema.src.js │ │ │ │ │ │ │ ├── ichimoku-kinko-hyo.src.js │ │ │ │ │ │ │ ├── indicators.src.js │ │ │ │ │ │ │ ├── keltner-channels.src.js │ │ │ │ │ │ │ ├── macd.src.js │ │ │ │ │ │ │ ├── mfi.src.js │ │ │ │ │ │ │ ├── momentum.src.js │ │ │ │ │ │ │ ├── natr.src.js │ │ │ │ │ │ │ ├── pivot-points.src.js │ │ │ │ │ │ │ ├── ppo.src.js │ │ │ │ │ │ │ ├── price-channel.src.js │ │ │ │ │ │ │ ├── price-envelopes.src.js │ │ │ │ │ │ │ ├── psar.src.js │ │ │ │ │ │ │ ├── regressions.src.js │ │ │ │ │ │ │ ├── roc.src.js │ │ │ │ │ │ │ ├── rsi.src.js │ │ │ │ │ │ │ ├── stochastic.src.js │ │ │ │ │ │ │ ├── supertrend.src.js │ │ │ │ │ │ │ ├── tema.src.js │ │ │ │ │ │ │ ├── trix.src.js │ │ │ │ │ │ │ ├── volume-by-price.src.js │ │ │ │ │ │ │ ├── vwap.src.js │ │ │ │ │ │ │ ├── williams-r.src.js │ │ │ │ │ │ │ ├── wma.src.js │ │ │ │ │ │ │ └── zigzag.src.js │ │ │ │ │ │ ├── masters │ │ │ │ │ │ │ ├── highcharts-3d.src.js │ │ │ │ │ │ │ ├── highcharts-more.src.js │ │ │ │ │ │ │ ├── highstock.src.js │ │ │ │ │ │ │ ├── indicators │ │ │ │ │ │ │ │ ├── acceleration-bands.src.js │ │ │ │ │ │ │ │ ├── accumulation-distribution.src.js │ │ │ │ │ │ │ │ ├── ao.src.js │ │ │ │ │ │ │ │ ├── apo.src.js │ │ │ │ │ │ │ │ ├── aroon-oscillator.src.js │ │ │ │ │ │ │ │ ├── aroon.src.js │ │ │ │ │ │ │ │ ├── atr.src.js │ │ │ │ │ │ │ │ ├── bollinger-bands.src.js │ │ │ │ │ │ │ │ ├── cci.src.js │ │ │ │ │ │ │ │ ├── chaikin.src.js │ │ │ │ │ │ │ │ ├── cmf.src.js │ │ │ │ │ │ │ │ ├── dema.src.js │ │ │ │ │ │ │ │ ├── dpo.src.js │ │ │ │ │ │ │ │ ├── ema.src.js │ │ │ │ │ │ │ │ ├── ichimoku-kinko-hyo.src.js │ │ │ │ │ │ │ │ ├── indicators-all.src.js │ │ │ │ │ │ │ │ ├── indicators.src.js │ │ │ │ │ │ │ │ ├── keltner-channels.src.js │ │ │ │ │ │ │ │ ├── macd.src.js │ │ │ │ │ │ │ │ ├── mfi.src.js │ │ │ │ │ │ │ │ ├── momentum.src.js │ │ │ │ │ │ │ │ ├── natr.src.js │ │ │ │ │ │ │ │ ├── pivot-points.src.js │ │ │ │ │ │ │ │ ├── ppo.src.js │ │ │ │ │ │ │ │ ├── price-channel.src.js │ │ │ │ │ │ │ │ ├── price-envelopes.src.js │ │ │ │ │ │ │ │ ├── psar.src.js │ │ │ │ │ │ │ │ ├── regressions.src.js │ │ │ │ │ │ │ │ ├── roc.src.js │ │ │ │ │ │ │ │ ├── rsi.src.js │ │ │ │ │ │ │ │ ├── stochastic.src.js │ │ │ │ │ │ │ │ ├── supertrend.src.js │ │ │ │ │ │ │ │ ├── tema.src.js │ │ │ │ │ │ │ │ ├── trix.src.js │ │ │ │ │ │ │ │ ├── volume-by-price.src.js │ │ │ │ │ │ │ │ ├── vwap.src.js │ │ │ │ │ │ │ │ ├── williams-r.src.js │ │ │ │ │ │ │ │ ├── wma.src.js │ │ │ │ │ │ │ │ └── zigzag.src.js │ │ │ │ │ │ │ ├── modules │ │ │ │ │ │ │ │ ├── accessibility.src.js │ │ │ │ │ │ │ │ ├── annotations-advanced.src.js │ │ │ │ │ │ │ │ ├── annotations.src.js │ │ │ │ │ │ │ │ ├── arrow-symbols.src.js │ │ │ │ │ │ │ │ ├── boost-canvas.src.js │ │ │ │ │ │ │ │ ├── boost.src.js │ │ │ │ │ │ │ │ ├── bullet.src.js │ │ │ │ │ │ │ │ ├── current-date-indicator.src.js │ │ │ │ │ │ │ │ ├── cylinder.src.js │ │ │ │ │ │ │ │ ├── data.src.js │ │ │ │ │ │ │ │ ├── debugger.src.js │ │ │ │ │ │ │ │ ├── drag-panes.src.js │ │ │ │ │ │ │ │ ├── draggable-points.src.js │ │ │ │ │ │ │ │ ├── drilldown.src.js │ │ │ │ │ │ │ │ ├── export-data.src.js │ │ │ │ │ │ │ │ ├── exporting.src.js │ │ │ │ │ │ │ │ ├── full-screen.src.js │ │ │ │ │ │ │ │ ├── funnel.src.js │ │ │ │ │ │ │ │ ├── grid-axis.src.js │ │ │ │ │ │ │ │ ├── heatmap.src.js │ │ │ │ │ │ │ │ ├── histogram-bellcurve.src.js │ │ │ │ │ │ │ │ ├── item-series.src.js │ │ │ │ │ │ │ │ ├── networkgraph.src.js │ │ │ │ │ │ │ │ ├── no-data-to-display.src.js │ │ │ │ │ │ │ │ ├── offline-exporting.src.js │ │ │ │ │ │ │ │ ├── oldie-polyfills.src.js │ │ │ │ │ │ │ │ ├── oldie.src.js │ │ │ │ │ │ │ │ ├── overlapping-datalabels.src.js │ │ │ │ │ │ │ │ ├── parallel-coordinates.src.js │ │ │ │ │ │ │ │ ├── pareto.src.js │ │ │ │ │ │ │ │ ├── pathfinder.src.js │ │ │ │ │ │ │ │ ├── pattern-fill.src.js │ │ │ │ │ │ │ │ ├── price-indicator.src.js │ │ │ │ │ │ │ │ ├── sankey.src.js │ │ │ │ │ │ │ │ ├── series-label.src.js │ │ │ │ │ │ │ │ ├── solid-gauge.src.js │ │ │ │ │ │ │ │ ├── sonification.src.js │ │ │ │ │ │ │ │ ├── static-scale.src.js │ │ │ │ │ │ │ │ ├── stock-tools.src.js │ │ │ │ │ │ │ │ ├── stock.src.js │ │ │ │ │ │ │ │ ├── streamgraph.src.js │ │ │ │ │ │ │ │ ├── sunburst.src.js │ │ │ │ │ │ │ │ ├── tilemap.src.js │ │ │ │ │ │ │ │ ├── timeline.src.js │ │ │ │ │ │ │ │ ├── treegrid.src.js │ │ │ │ │ │ │ │ ├── treemap.src.js │ │ │ │ │ │ │ │ ├── variable-pie.src.js │ │ │ │ │ │ │ │ ├── variwide.src.js │ │ │ │ │ │ │ │ ├── vector.src.js │ │ │ │ │ │ │ │ ├── venn.src.js │ │ │ │ │ │ │ │ ├── windbarb.src.js │ │ │ │ │ │ │ │ ├── wordcloud.src.js │ │ │ │ │ │ │ │ └── xrange.src.js │ │ │ │ │ │ │ └── themes │ │ │ │ │ │ │ │ ├── avocado.js │ │ │ │ │ │ │ │ ├── avocado.src.js │ │ │ │ │ │ │ │ ├── dark-blue.src.js │ │ │ │ │ │ │ │ ├── dark-green.src.js │ │ │ │ │ │ │ │ ├── dark-unica.src.js │ │ │ │ │ │ │ │ ├── gray.src.js │ │ │ │ │ │ │ │ ├── grid-light.src.js │ │ │ │ │ │ │ │ ├── grid.src.js │ │ │ │ │ │ │ │ ├── sand-signika.src.js │ │ │ │ │ │ │ │ ├── skies.src.js │ │ │ │ │ │ │ │ ├── sunset.js │ │ │ │ │ │ │ │ └── sunset.src.js │ │ │ │ │ │ ├── mixins │ │ │ │ │ │ │ ├── ajax.js │ │ │ │ │ │ │ ├── centered-series.js │ │ │ │ │ │ │ ├── derived-series.js │ │ │ │ │ │ │ ├── download-url.js │ │ │ │ │ │ │ ├── draw-point.js │ │ │ │ │ │ │ ├── geometry-circles.js │ │ │ │ │ │ │ ├── geometry.js │ │ │ │ │ │ │ ├── indicator-required.js │ │ │ │ │ │ │ ├── multipe-lines.js │ │ │ │ │ │ │ ├── nodes.js │ │ │ │ │ │ │ ├── on-series.js │ │ │ │ │ │ │ ├── polygon.js │ │ │ │ │ │ │ ├── reduce-array.js │ │ │ │ │ │ │ └── tree-series.js │ │ │ │ │ │ ├── modules │ │ │ │ │ │ │ ├── a11y-i18n.src.js │ │ │ │ │ │ │ ├── annotations-legacy.src.js │ │ │ │ │ │ │ ├── bellcurve.src.js │ │ │ │ │ │ │ ├── boost-canvas.src.js │ │ │ │ │ │ │ ├── boost.src.js │ │ │ │ │ │ │ ├── bullet.src.js │ │ │ │ │ │ │ ├── cylinder.src.js │ │ │ │ │ │ │ ├── data.src.js │ │ │ │ │ │ │ ├── debugger.src.js │ │ │ │ │ │ │ ├── drag-panes.src.js │ │ │ │ │ │ │ ├── draggable-points.src.js │ │ │ │ │ │ │ ├── drilldown.src.js │ │ │ │ │ │ │ ├── export-data.src.js │ │ │ │ │ │ │ ├── exporting.src.js │ │ │ │ │ │ │ ├── full-screen.src.js │ │ │ │ │ │ │ ├── funnel.src.js │ │ │ │ │ │ │ ├── histogram.src.js │ │ │ │ │ │ │ ├── item-series.src.js │ │ │ │ │ │ │ ├── keyboard-navigation.src.js │ │ │ │ │ │ │ ├── networkgraph │ │ │ │ │ │ │ │ ├── QuadTree.js │ │ │ │ │ │ │ │ ├── layouts.js │ │ │ │ │ │ │ │ └── networkgraph.src.js │ │ │ │ │ │ │ ├── no-data-to-display.src.js │ │ │ │ │ │ │ ├── offline-exporting.src.js │ │ │ │ │ │ │ ├── oldie-polyfills.src.js │ │ │ │ │ │ │ ├── oldie.src.js │ │ │ │ │ │ │ ├── overlapping-datalabels.src.js │ │ │ │ │ │ │ ├── parallel-coordinates.src.js │ │ │ │ │ │ │ ├── pareto.src.js │ │ │ │ │ │ │ ├── pattern-fill.src.js │ │ │ │ │ │ │ ├── price-indicator.src.js │ │ │ │ │ │ │ ├── sankey.src.js │ │ │ │ │ │ │ ├── screen-reader.src.js │ │ │ │ │ │ │ ├── series-label.src.js │ │ │ │ │ │ │ ├── solid-gauge.src.js │ │ │ │ │ │ │ ├── sonification │ │ │ │ │ │ │ │ ├── Earcon.js │ │ │ │ │ │ │ │ ├── Instrument.js │ │ │ │ │ │ │ │ ├── Timeline.js │ │ │ │ │ │ │ │ ├── chartSonify.js │ │ │ │ │ │ │ │ ├── instrumentDefinitions.js │ │ │ │ │ │ │ │ ├── musicalFrequencies.js │ │ │ │ │ │ │ │ ├── pointSonify.js │ │ │ │ │ │ │ │ ├── sonification.js │ │ │ │ │ │ │ │ └── utilities.js │ │ │ │ │ │ │ ├── static-scale.src.js │ │ │ │ │ │ │ ├── stock-tools-bindings.js │ │ │ │ │ │ │ ├── stock-tools-gui.js │ │ │ │ │ │ │ ├── streamgraph.src.js │ │ │ │ │ │ │ ├── sunburst.src.js │ │ │ │ │ │ │ ├── tilemap.src.js │ │ │ │ │ │ │ ├── timeline.src.js │ │ │ │ │ │ │ ├── treemap.src.js │ │ │ │ │ │ │ ├── variable-pie.src.js │ │ │ │ │ │ │ ├── variwide.src.js │ │ │ │ │ │ │ ├── vector.src.js │ │ │ │ │ │ │ ├── venn.src.js │ │ │ │ │ │ │ ├── windbarb.src.js │ │ │ │ │ │ │ ├── wordcloud.src.js │ │ │ │ │ │ │ └── xrange.src.js │ │ │ │ │ │ ├── parts-3d │ │ │ │ │ │ │ ├── Axis.js │ │ │ │ │ │ │ ├── Chart.js │ │ │ │ │ │ │ ├── Column.js │ │ │ │ │ │ │ ├── Math.js │ │ │ │ │ │ │ ├── Pie.js │ │ │ │ │ │ │ ├── SVGRenderer.js │ │ │ │ │ │ │ ├── Scatter.js │ │ │ │ │ │ │ ├── Series.js │ │ │ │ │ │ │ └── VMLRenderer.js │ │ │ │ │ │ ├── parts-gantt │ │ │ │ │ │ │ ├── ArrowSymbols.js │ │ │ │ │ │ │ ├── CurrentDateIndicator.js │ │ │ │ │ │ │ ├── GanttChart.js │ │ │ │ │ │ │ ├── GanttSeries.js │ │ │ │ │ │ │ ├── GridAxis.js │ │ │ │ │ │ │ ├── Pathfinder.js │ │ │ │ │ │ │ ├── PathfinderAlgorithms.js │ │ │ │ │ │ │ ├── Tree.js │ │ │ │ │ │ │ └── TreeGrid.js │ │ │ │ │ │ ├── parts-map │ │ │ │ │ │ │ ├── ColorAxis.js │ │ │ │ │ │ │ ├── ColorSeriesMixin.js │ │ │ │ │ │ │ ├── GeoJSON.js │ │ │ │ │ │ │ ├── HeatmapSeries.js │ │ │ │ │ │ │ ├── Map.js │ │ │ │ │ │ │ ├── MapAxis.js │ │ │ │ │ │ │ ├── MapBubbleSeries.js │ │ │ │ │ │ │ ├── MapLineSeries.js │ │ │ │ │ │ │ ├── MapNavigation.js │ │ │ │ │ │ │ ├── MapPointSeries.js │ │ │ │ │ │ │ ├── MapPointer.js │ │ │ │ │ │ │ └── MapSeries.js │ │ │ │ │ │ ├── parts-more │ │ │ │ │ │ │ ├── AreaRangeSeries.js │ │ │ │ │ │ │ ├── AreaSplineRangeSeries.js │ │ │ │ │ │ │ ├── BoxPlotSeries.js │ │ │ │ │ │ │ ├── BubbleLegend.js │ │ │ │ │ │ │ ├── BubbleSeries.js │ │ │ │ │ │ │ ├── ColumnPyramidSeries.js │ │ │ │ │ │ │ ├── ColumnRangeSeries.js │ │ │ │ │ │ │ ├── ErrorBarSeries.js │ │ │ │ │ │ │ ├── GaugeSeries.js │ │ │ │ │ │ │ ├── PackedBubbleSeries.js │ │ │ │ │ │ │ ├── Pane.js │ │ │ │ │ │ │ ├── Polar.js │ │ │ │ │ │ │ ├── PolygonSeries.js │ │ │ │ │ │ │ ├── RadialAxis.js │ │ │ │ │ │ │ └── WaterfallSeries.js │ │ │ │ │ │ ├── parts.js │ │ │ │ │ │ ├── parts │ │ │ │ │ │ │ ├── AreaSeries.js │ │ │ │ │ │ │ ├── AreaSplineSeries.js │ │ │ │ │ │ │ ├── Axis.js │ │ │ │ │ │ │ ├── BarSeries.js │ │ │ │ │ │ │ ├── CandlestickSeries.js │ │ │ │ │ │ │ ├── Chart.js │ │ │ │ │ │ │ ├── Color.js │ │ │ │ │ │ │ ├── ColumnSeries.js │ │ │ │ │ │ │ ├── DataGrouping.js │ │ │ │ │ │ │ ├── DataLabels.js │ │ │ │ │ │ │ ├── DateTimeAxis.js │ │ │ │ │ │ │ ├── Dynamics.js │ │ │ │ │ │ │ ├── FlagsSeries.js │ │ │ │ │ │ │ ├── Globals.js │ │ │ │ │ │ │ ├── Html.js │ │ │ │ │ │ │ ├── Interaction.js │ │ │ │ │ │ │ ├── Legend.js │ │ │ │ │ │ │ ├── LogarithmicAxis.js │ │ │ │ │ │ │ ├── MSPointer.js │ │ │ │ │ │ │ ├── Navigator.js │ │ │ │ │ │ │ ├── OHLCSeries.js │ │ │ │ │ │ │ ├── Options.js │ │ │ │ │ │ │ ├── OrdinalAxis.js │ │ │ │ │ │ │ ├── PieSeries.js │ │ │ │ │ │ │ ├── PlotBandSeries.experimental.js │ │ │ │ │ │ │ ├── PlotLineOrBand.js │ │ │ │ │ │ │ ├── Point.js │ │ │ │ │ │ │ ├── Pointer.js │ │ │ │ │ │ │ ├── RangeSelector.js │ │ │ │ │ │ │ ├── Responsive.js │ │ │ │ │ │ │ ├── ScatterSeries.js │ │ │ │ │ │ │ ├── ScrollablePlotArea.js │ │ │ │ │ │ │ ├── Scrollbar.js │ │ │ │ │ │ │ ├── Series.js │ │ │ │ │ │ │ ├── SplineSeries.js │ │ │ │ │ │ │ ├── Stacking.js │ │ │ │ │ │ │ ├── StockChart.js │ │ │ │ │ │ │ ├── SvgRenderer.js │ │ │ │ │ │ │ ├── Tick.js │ │ │ │ │ │ │ ├── Time.js │ │ │ │ │ │ │ ├── Tooltip.js │ │ │ │ │ │ │ ├── TouchPointer.js │ │ │ │ │ │ │ └── Utilities.js │ │ │ │ │ │ └── themes │ │ │ │ │ │ │ ├── avocado.js │ │ │ │ │ │ │ ├── dark-blue.js │ │ │ │ │ │ │ ├── dark-green.js │ │ │ │ │ │ │ ├── dark-unica.js │ │ │ │ │ │ │ ├── gray.js │ │ │ │ │ │ │ ├── grid-light.js │ │ │ │ │ │ │ ├── grid.js │ │ │ │ │ │ │ ├── sand-signika.js │ │ │ │ │ │ │ ├── skies.js │ │ │ │ │ │ │ └── sunset.js │ │ │ │ │ ├── highstock.js │ │ │ │ │ ├── highstock.src.js │ │ │ │ │ ├── indicators │ │ │ │ │ │ ├── acceleration-bands.js │ │ │ │ │ │ ├── acceleration-bands.src.js │ │ │ │ │ │ ├── accumulation-distribution.js │ │ │ │ │ │ ├── accumulation-distribution.src.js │ │ │ │ │ │ ├── ao.js │ │ │ │ │ │ ├── ao.src.js │ │ │ │ │ │ ├── apo.js │ │ │ │ │ │ ├── apo.src.js │ │ │ │ │ │ ├── aroon-oscillator.js │ │ │ │ │ │ ├── aroon-oscillator.src.js │ │ │ │ │ │ ├── aroon.js │ │ │ │ │ │ ├── aroon.src.js │ │ │ │ │ │ ├── atr.js │ │ │ │ │ │ ├── atr.src.js │ │ │ │ │ │ ├── bollinger-bands.js │ │ │ │ │ │ ├── bollinger-bands.src.js │ │ │ │ │ │ ├── cci.js │ │ │ │ │ │ ├── cci.src.js │ │ │ │ │ │ ├── chaikin.js │ │ │ │ │ │ ├── chaikin.src.js │ │ │ │ │ │ ├── cmf.js │ │ │ │ │ │ ├── cmf.src.js │ │ │ │ │ │ ├── dema.js │ │ │ │ │ │ ├── dema.src.js │ │ │ │ │ │ ├── dpo.js │ │ │ │ │ │ ├── dpo.src.js │ │ │ │ │ │ ├── ema.js │ │ │ │ │ │ ├── ema.src.js │ │ │ │ │ │ ├── ichimoku-kinko-hyo.js │ │ │ │ │ │ ├── ichimoku-kinko-hyo.src.js │ │ │ │ │ │ ├── indicators-all.js │ │ │ │ │ │ ├── indicators-all.src.js │ │ │ │ │ │ ├── indicators.js │ │ │ │ │ │ ├── indicators.src.js │ │ │ │ │ │ ├── keltner-channels.js │ │ │ │ │ │ ├── keltner-channels.src.js │ │ │ │ │ │ ├── macd.js │ │ │ │ │ │ ├── macd.src.js │ │ │ │ │ │ ├── mfi.js │ │ │ │ │ │ ├── mfi.src.js │ │ │ │ │ │ ├── momentum.js │ │ │ │ │ │ ├── momentum.src.js │ │ │ │ │ │ ├── natr.js │ │ │ │ │ │ ├── natr.src.js │ │ │ │ │ │ ├── pivot-points.js │ │ │ │ │ │ ├── pivot-points.src.js │ │ │ │ │ │ ├── ppo.js │ │ │ │ │ │ ├── ppo.src.js │ │ │ │ │ │ ├── price-channel.js │ │ │ │ │ │ ├── price-channel.src.js │ │ │ │ │ │ ├── price-envelopes.js │ │ │ │ │ │ ├── price-envelopes.src.js │ │ │ │ │ │ ├── psar.js │ │ │ │ │ │ ├── psar.src.js │ │ │ │ │ │ ├── regressions.js │ │ │ │ │ │ ├── regressions.src.js │ │ │ │ │ │ ├── roc.js │ │ │ │ │ │ ├── roc.src.js │ │ │ │ │ │ ├── rsi.js │ │ │ │ │ │ ├── rsi.src.js │ │ │ │ │ │ ├── stochastic.js │ │ │ │ │ │ ├── stochastic.src.js │ │ │ │ │ │ ├── supertrend.js │ │ │ │ │ │ ├── supertrend.src.js │ │ │ │ │ │ ├── tema.js │ │ │ │ │ │ ├── tema.src.js │ │ │ │ │ │ ├── trix.js │ │ │ │ │ │ ├── trix.src.js │ │ │ │ │ │ ├── volume-by-price.js │ │ │ │ │ │ ├── volume-by-price.src.js │ │ │ │ │ │ ├── vwap.js │ │ │ │ │ │ ├── vwap.src.js │ │ │ │ │ │ ├── williams-r.js │ │ │ │ │ │ ├── williams-r.src.js │ │ │ │ │ │ ├── wma.js │ │ │ │ │ │ ├── wma.src.js │ │ │ │ │ │ ├── zigzag.js │ │ │ │ │ │ └── zigzag.src.js │ │ │ │ │ ├── lib │ │ │ │ │ │ ├── canvg.js │ │ │ │ │ │ ├── canvg.src.js │ │ │ │ │ │ ├── jspdf.js │ │ │ │ │ │ ├── jspdf.src.js │ │ │ │ │ │ ├── rgbcolor.js │ │ │ │ │ │ ├── rgbcolor.src.js │ │ │ │ │ │ ├── svg2pdf.js │ │ │ │ │ │ └── svg2pdf.src.js │ │ │ │ │ ├── modules │ │ │ │ │ │ ├── accessibility.js │ │ │ │ │ │ ├── accessibility.src.js │ │ │ │ │ │ ├── annotations-advanced.js │ │ │ │ │ │ ├── annotations-advanced.src.js │ │ │ │ │ │ ├── annotations.js │ │ │ │ │ │ ├── annotations.src.js │ │ │ │ │ │ ├── arrow-symbols.js │ │ │ │ │ │ ├── arrow-symbols.src.js │ │ │ │ │ │ ├── boost-canvas.js │ │ │ │ │ │ ├── boost-canvas.src.js │ │ │ │ │ │ ├── boost.js │ │ │ │ │ │ ├── boost.src.js │ │ │ │ │ │ ├── bullet.js │ │ │ │ │ │ ├── bullet.src.js │ │ │ │ │ │ ├── current-date-indicator.js │ │ │ │ │ │ ├── current-date-indicator.src.js │ │ │ │ │ │ ├── cylinder.js │ │ │ │ │ │ ├── cylinder.src.js │ │ │ │ │ │ ├── data.js │ │ │ │ │ │ ├── data.src.js │ │ │ │ │ │ ├── debugger.js │ │ │ │ │ │ ├── debugger.src.js │ │ │ │ │ │ ├── drag-panes.js │ │ │ │ │ │ ├── drag-panes.src.js │ │ │ │ │ │ ├── draggable-points.js │ │ │ │ │ │ ├── draggable-points.src.js │ │ │ │ │ │ ├── drilldown.js │ │ │ │ │ │ ├── drilldown.src.js │ │ │ │ │ │ ├── export-data.js │ │ │ │ │ │ ├── export-data.src.js │ │ │ │ │ │ ├── exporting.js │ │ │ │ │ │ ├── exporting.src.js │ │ │ │ │ │ ├── full-screen.js │ │ │ │ │ │ ├── full-screen.src.js │ │ │ │ │ │ ├── funnel.js │ │ │ │ │ │ ├── funnel.src.js │ │ │ │ │ │ ├── grid-axis.js │ │ │ │ │ │ ├── grid-axis.src.js │ │ │ │ │ │ ├── heatmap.js │ │ │ │ │ │ ├── heatmap.src.js │ │ │ │ │ │ ├── histogram-bellcurve.js │ │ │ │ │ │ ├── histogram-bellcurve.src.js │ │ │ │ │ │ ├── item-series.js │ │ │ │ │ │ ├── item-series.src.js │ │ │ │ │ │ ├── networkgraph.js │ │ │ │ │ │ ├── networkgraph.src.js │ │ │ │ │ │ ├── no-data-to-display.js │ │ │ │ │ │ ├── no-data-to-display.src.js │ │ │ │ │ │ ├── offline-exporting.js │ │ │ │ │ │ ├── offline-exporting.src.js │ │ │ │ │ │ ├── oldie-polyfills.js │ │ │ │ │ │ ├── oldie-polyfills.src.js │ │ │ │ │ │ ├── oldie.js │ │ │ │ │ │ ├── oldie.src.js │ │ │ │ │ │ ├── overlapping-datalabels.js │ │ │ │ │ │ ├── overlapping-datalabels.src.js │ │ │ │ │ │ ├── parallel-coordinates.js │ │ │ │ │ │ ├── parallel-coordinates.src.js │ │ │ │ │ │ ├── pareto.js │ │ │ │ │ │ ├── pareto.src.js │ │ │ │ │ │ ├── pathfinder.js │ │ │ │ │ │ ├── pathfinder.src.js │ │ │ │ │ │ ├── pattern-fill.js │ │ │ │ │ │ ├── pattern-fill.src.js │ │ │ │ │ │ ├── price-indicator.js │ │ │ │ │ │ ├── price-indicator.src.js │ │ │ │ │ │ ├── sankey.js │ │ │ │ │ │ ├── sankey.src.js │ │ │ │ │ │ ├── series-label.js │ │ │ │ │ │ ├── series-label.src.js │ │ │ │ │ │ ├── solid-gauge.js │ │ │ │ │ │ ├── solid-gauge.src.js │ │ │ │ │ │ ├── sonification.js │ │ │ │ │ │ ├── sonification.src.js │ │ │ │ │ │ ├── static-scale.js │ │ │ │ │ │ ├── static-scale.src.js │ │ │ │ │ │ ├── stock-tools.js │ │ │ │ │ │ ├── stock-tools.src.js │ │ │ │ │ │ ├── stock.js │ │ │ │ │ │ ├── stock.src.js │ │ │ │ │ │ ├── streamgraph.js │ │ │ │ │ │ ├── streamgraph.src.js │ │ │ │ │ │ ├── sunburst.js │ │ │ │ │ │ ├── sunburst.src.js │ │ │ │ │ │ ├── tilemap.js │ │ │ │ │ │ ├── tilemap.src.js │ │ │ │ │ │ ├── timeline.js │ │ │ │ │ │ ├── timeline.src.js │ │ │ │ │ │ ├── treegrid.js │ │ │ │ │ │ ├── treegrid.src.js │ │ │ │ │ │ ├── treemap.js │ │ │ │ │ │ ├── treemap.src.js │ │ │ │ │ │ ├── variable-pie.js │ │ │ │ │ │ ├── variable-pie.src.js │ │ │ │ │ │ ├── variwide.js │ │ │ │ │ │ ├── variwide.src.js │ │ │ │ │ │ ├── vector.js │ │ │ │ │ │ ├── vector.src.js │ │ │ │ │ │ ├── venn.js │ │ │ │ │ │ ├── venn.src.js │ │ │ │ │ │ ├── windbarb.js │ │ │ │ │ │ ├── windbarb.src.js │ │ │ │ │ │ ├── wordcloud.js │ │ │ │ │ │ ├── wordcloud.src.js │ │ │ │ │ │ ├── xrange.js │ │ │ │ │ │ └── xrange.src.js │ │ │ │ │ └── themes │ │ │ │ │ │ ├── avocado.js │ │ │ │ │ │ ├── avocado.src.js │ │ │ │ │ │ ├── dark-blue.js │ │ │ │ │ │ ├── dark-blue.src.js │ │ │ │ │ │ ├── dark-green.js │ │ │ │ │ │ ├── dark-green.src.js │ │ │ │ │ │ ├── dark-unica.js │ │ │ │ │ │ ├── dark-unica.src.js │ │ │ │ │ │ ├── gray.js │ │ │ │ │ │ ├── gray.src.js │ │ │ │ │ │ ├── grid-light.js │ │ │ │ │ │ ├── grid-light.src.js │ │ │ │ │ │ ├── grid.js │ │ │ │ │ │ ├── grid.src.js │ │ │ │ │ │ ├── sand-signika.js │ │ │ │ │ │ ├── sand-signika.src.js │ │ │ │ │ │ ├── skies.js │ │ │ │ │ │ ├── skies.src.js │ │ │ │ │ │ ├── sunset.js │ │ │ │ │ │ └── sunset.src.js │ │ │ │ ├── examples │ │ │ │ │ ├── area │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── arearange │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── areaspline │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── areasplinerange │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── basic-line │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── candlestick-and-volume │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── candlestick │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── column │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── columnrange │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── compare │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── data-grouping │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── depth-chart │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── dynamic-update │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── flags-general │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── flags-placement │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── flags-shapes │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── intraday-area │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── intraday-breaks │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── intraday-candlestick │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── lazy-loading │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── line-markers │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── macd-pivot-points │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── markers-only │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── navigator-disabled │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── ohlc │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── responsive │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── scrollbar-disabled │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── sma-volume-by-price │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── spline │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── step-line │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── stock-tools-custom-gui │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── stock-tools-gui │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── styled-scrollbar │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── yaxis-plotbands │ │ │ │ │ │ └── index.htm │ │ │ │ │ ├── yaxis-plotlines │ │ │ │ │ │ └── index.htm │ │ │ │ │ └── yaxis-reversed │ │ │ │ │ │ └── index.htm │ │ │ │ ├── gfx │ │ │ │ │ ├── stock-icons │ │ │ │ │ │ ├── annotations-hidden.svg │ │ │ │ │ │ ├── annotations-visible.svg │ │ │ │ │ │ ├── arrow-bottom.svg │ │ │ │ │ │ ├── arrow-left.svg │ │ │ │ │ │ ├── arrow-line.svg │ │ │ │ │ │ ├── arrow-ray.svg │ │ │ │ │ │ ├── arrow-right.svg │ │ │ │ │ │ ├── arrow-segment.svg │ │ │ │ │ │ ├── arrow.svg │ │ │ │ │ │ ├── circle.svg │ │ │ │ │ │ ├── close.svg │ │ │ │ │ │ ├── crooked-3.svg │ │ │ │ │ │ ├── crooked-5.svg │ │ │ │ │ │ ├── current-price-hide.svg │ │ │ │ │ │ ├── current-price-show.svg │ │ │ │ │ │ ├── destroy.svg │ │ │ │ │ │ ├── edit.svg │ │ │ │ │ │ ├── elliott-3.svg │ │ │ │ │ │ ├── elliott-5.svg │ │ │ │ │ │ ├── fibonacci.svg │ │ │ │ │ │ ├── flag-basic.svg │ │ │ │ │ │ ├── flag-diamond.svg │ │ │ │ │ │ ├── flag-elipse.svg │ │ │ │ │ │ ├── flag-trapeze.svg │ │ │ │ │ │ ├── fullscreen.svg │ │ │ │ │ │ ├── horizontal-line.svg │ │ │ │ │ │ ├── indicators.svg │ │ │ │ │ │ ├── label.svg │ │ │ │ │ │ ├── line.svg │ │ │ │ │ │ ├── measure-x.svg │ │ │ │ │ │ ├── measure-xy.svg │ │ │ │ │ │ ├── measure-y.svg │ │ │ │ │ │ ├── parallel-channel.svg │ │ │ │ │ │ ├── pitchfork.svg │ │ │ │ │ │ ├── ray.svg │ │ │ │ │ │ ├── rectangle.svg │ │ │ │ │ │ ├── remove-annotations.svg │ │ │ │ │ │ ├── save-chart.svg │ │ │ │ │ │ ├── segment.svg │ │ │ │ │ │ ├── separator.svg │ │ │ │ │ │ ├── series-candlestick.svg │ │ │ │ │ │ ├── series-line.svg │ │ │ │ │ │ ├── series-ohlc.svg │ │ │ │ │ │ ├── text.svg │ │ │ │ │ │ ├── vertical-arrow.svg │ │ │ │ │ │ ├── vertical-counter.svg │ │ │ │ │ │ ├── vertical-double-arrow.svg │ │ │ │ │ │ ├── vertical-label.svg │ │ │ │ │ │ ├── vertical-line.svg │ │ │ │ │ │ ├── zoom-x.svg │ │ │ │ │ │ ├── zoom-xy.svg │ │ │ │ │ │ └── zoom-y.svg │ │ │ │ │ └── vml-radial-gradient.png │ │ │ │ ├── graphics │ │ │ │ │ ├── color-picker.svg │ │ │ │ │ ├── cursor.svg │ │ │ │ │ ├── earth.svg │ │ │ │ │ ├── feature.svg │ │ │ │ │ ├── flag-circle.svg │ │ │ │ │ ├── flag-circlepin.svg │ │ │ │ │ ├── flag-diamondpin.svg │ │ │ │ │ ├── flag-flag.svg │ │ │ │ │ ├── flag-rectangle.svg │ │ │ │ │ ├── flag-squarepin.svg │ │ │ │ │ ├── flag.svg │ │ │ │ │ ├── rect.svg │ │ │ │ │ ├── reset.svg │ │ │ │ │ ├── save-chart-cloud.svg │ │ │ │ │ ├── save.svg │ │ │ │ │ ├── search.png │ │ │ │ │ ├── skies.jpg │ │ │ │ │ ├── snow.png │ │ │ │ │ └── sun.png │ │ │ │ ├── index.htm │ │ │ │ ├── license.pdf │ │ │ │ ├── readme.htm │ │ │ │ └── 使用说明.pdf │ │ │ ├── lib │ │ │ │ ├── canvg.js │ │ │ │ ├── canvg.src.js │ │ │ │ ├── jspdf.js │ │ │ │ ├── jspdf.src.js │ │ │ │ ├── rgbcolor.js │ │ │ │ ├── rgbcolor.src.js │ │ │ │ ├── svg2pdf.js │ │ │ │ └── svg2pdf.src.js │ │ │ ├── modules │ │ │ │ ├── accessibility.js │ │ │ │ ├── accessibility.js.map │ │ │ │ ├── accessibility.src.js │ │ │ │ ├── annotations.js │ │ │ │ ├── annotations.js.map │ │ │ │ ├── annotations.src.js │ │ │ │ ├── boost-canvas.js │ │ │ │ ├── boost-canvas.js.map │ │ │ │ ├── boost-canvas.src.js │ │ │ │ ├── boost.js │ │ │ │ ├── boost.js.map │ │ │ │ ├── boost.src.js │ │ │ │ ├── broken-axis.js │ │ │ │ ├── broken-axis.js.map │ │ │ │ ├── broken-axis.src.js │ │ │ │ ├── bullet.js │ │ │ │ ├── bullet.js.map │ │ │ │ ├── bullet.src.js │ │ │ │ ├── data.js │ │ │ │ ├── data.js.map │ │ │ │ ├── data.src.js │ │ │ │ ├── drag-panes.js │ │ │ │ ├── drag-panes.js.map │ │ │ │ ├── drag-panes.src.js │ │ │ │ ├── drilldown.js │ │ │ │ ├── drilldown.js.map │ │ │ │ ├── drilldown.src.js │ │ │ │ ├── export-data.js │ │ │ │ ├── export-data.js.map │ │ │ │ ├── export-data.src.js │ │ │ │ ├── exporting.js │ │ │ │ ├── exporting.js.map │ │ │ │ ├── exporting.src.js │ │ │ │ ├── funnel.js │ │ │ │ ├── funnel.js.map │ │ │ │ ├── funnel.src.js │ │ │ │ ├── gantt.js │ │ │ │ ├── gantt.js.map │ │ │ │ ├── gantt.src.js │ │ │ │ ├── grid-axis.js │ │ │ │ ├── grid-axis.js.map │ │ │ │ ├── grid-axis.src.js │ │ │ │ ├── heatmap.js │ │ │ │ ├── heatmap.js.map │ │ │ │ ├── heatmap.src.js │ │ │ │ ├── histogram-bellcurve.js │ │ │ │ ├── histogram-bellcurve.js.map │ │ │ │ ├── histogram-bellcurve.src.js │ │ │ │ ├── item-series.js │ │ │ │ ├── item-series.js.map │ │ │ │ ├── item-series.src.js │ │ │ │ ├── no-data-to-display.js │ │ │ │ ├── no-data-to-display.js.map │ │ │ │ ├── no-data-to-display.src.js │ │ │ │ ├── offline-exporting.js │ │ │ │ ├── offline-exporting.js.map │ │ │ │ ├── offline-exporting.src.js │ │ │ │ ├── oldie.js │ │ │ │ ├── oldie.js.map │ │ │ │ ├── oldie.src.js │ │ │ │ ├── overlapping-datalabels.js │ │ │ │ ├── overlapping-datalabels.js.map │ │ │ │ ├── overlapping-datalabels.src.js │ │ │ │ ├── parallel-coordinates.js │ │ │ │ ├── parallel-coordinates.js.map │ │ │ │ ├── parallel-coordinates.src.js │ │ │ │ ├── pareto.js │ │ │ │ ├── pareto.js.map │ │ │ │ ├── pareto.src.js │ │ │ │ ├── sankey.js │ │ │ │ ├── sankey.js.map │ │ │ │ ├── sankey.src.js │ │ │ │ ├── series-label.js │ │ │ │ ├── series-label.js.map │ │ │ │ ├── series-label.src.js │ │ │ │ ├── solid-gauge.js │ │ │ │ ├── solid-gauge.js.map │ │ │ │ ├── solid-gauge.src.js │ │ │ │ ├── static-scale.js │ │ │ │ ├── static-scale.js.map │ │ │ │ ├── static-scale.src.js │ │ │ │ ├── stock.js │ │ │ │ ├── stock.js.map │ │ │ │ ├── stock.src.js │ │ │ │ ├── streamgraph.js │ │ │ │ ├── streamgraph.js.map │ │ │ │ ├── streamgraph.src.js │ │ │ │ ├── sunburst.src.js │ │ │ │ ├── tilemap.js │ │ │ │ ├── tilemap.js.map │ │ │ │ ├── tilemap.src.js │ │ │ │ ├── treemap.js │ │ │ │ ├── treemap.js.map │ │ │ │ ├── treemap.src.js │ │ │ │ ├── variable-pie.js │ │ │ │ ├── variable-pie.js.map │ │ │ │ ├── variable-pie.src.js │ │ │ │ ├── variwide.js │ │ │ │ ├── variwide.js.map │ │ │ │ ├── variwide.src.js │ │ │ │ ├── vector.js │ │ │ │ ├── vector.js.map │ │ │ │ ├── vector.src.js │ │ │ │ ├── windbarb.js │ │ │ │ ├── windbarb.js.map │ │ │ │ ├── windbarb.src.js │ │ │ │ ├── wordcloud.js │ │ │ │ ├── wordcloud.js.map │ │ │ │ ├── wordcloud.src.js │ │ │ │ ├── xrange.js │ │ │ │ ├── xrange.js.map │ │ │ │ └── xrange.src.js │ │ │ ├── readme.txt │ │ │ └── themes │ │ │ │ ├── avocado.js │ │ │ │ ├── avocado.js.map │ │ │ │ ├── avocado.src.js │ │ │ │ ├── dark-blue.js │ │ │ │ ├── dark-blue.js.map │ │ │ │ ├── dark-blue.src.js │ │ │ │ ├── dark-green.js │ │ │ │ ├── dark-green.js.map │ │ │ │ ├── dark-green.src.js │ │ │ │ ├── dark-unica.js │ │ │ │ ├── dark-unica.js.map │ │ │ │ ├── dark-unica.src.js │ │ │ │ ├── gray.js │ │ │ │ ├── gray.js.map │ │ │ │ ├── gray.src.js │ │ │ │ ├── grid-light.js │ │ │ │ ├── grid-light.js.map │ │ │ │ ├── grid-light.src.js │ │ │ │ ├── grid.js │ │ │ │ ├── grid.js.map │ │ │ │ ├── grid.src.js │ │ │ │ ├── sand-signika.js │ │ │ │ ├── sand-signika.js.map │ │ │ │ ├── sand-signika.src.js │ │ │ │ ├── skies.js │ │ │ │ ├── skies.js.map │ │ │ │ ├── skies.src.js │ │ │ │ ├── sunset.js │ │ │ │ ├── sunset.js.map │ │ │ │ └── sunset.src.js │ │ ├── examples │ │ │ ├── 3d-column-interactive │ │ │ │ └── index.htm │ │ │ ├── 3d-column-null-values │ │ │ │ └── index.htm │ │ │ ├── 3d-column-stacking-grouping │ │ │ │ └── index.htm │ │ │ ├── 3d-pie-donut │ │ │ │ └── index.htm │ │ │ ├── 3d-pie │ │ │ │ └── index.htm │ │ │ ├── 3d-scatter-draggable │ │ │ │ └── index.htm │ │ │ ├── annotations │ │ │ │ └── index.htm │ │ │ ├── area-basic │ │ │ │ └── index.htm │ │ │ ├── area-inverted │ │ │ │ └── index.htm │ │ │ ├── area-missing │ │ │ │ └── index.htm │ │ │ ├── area-negative │ │ │ │ └── index.htm │ │ │ ├── area-stacked-percent │ │ │ │ └── index.htm │ │ │ ├── area-stacked │ │ │ │ └── index.htm │ │ │ ├── arearange-line │ │ │ │ └── index.htm │ │ │ ├── arearange │ │ │ │ └── index.htm │ │ │ ├── areaspline │ │ │ │ └── index.htm │ │ │ ├── bar-basic │ │ │ │ └── index.htm │ │ │ ├── bar-negative-stack │ │ │ │ └── index.htm │ │ │ ├── bar-stacked │ │ │ │ └── index.htm │ │ │ ├── bellcurve │ │ │ │ └── index.htm │ │ │ ├── box-plot │ │ │ │ └── index.htm │ │ │ ├── bubble-3d │ │ │ │ └── index.htm │ │ │ ├── bubble │ │ │ │ └── index.htm │ │ │ ├── bullet-graph │ │ │ │ └── index.htm │ │ │ ├── chart-update │ │ │ │ └── index.htm │ │ │ ├── column-basic │ │ │ │ └── index.htm │ │ │ ├── column-drilldown │ │ │ │ └── index.htm │ │ │ ├── column-negative │ │ │ │ └── index.htm │ │ │ ├── column-parsed │ │ │ │ └── index.htm │ │ │ ├── column-placement │ │ │ │ └── index.htm │ │ │ ├── column-rotated-labels │ │ │ │ └── index.htm │ │ │ ├── column-stacked-and-grouped │ │ │ │ └── index.htm │ │ │ ├── column-stacked-percent │ │ │ │ └── index.htm │ │ │ ├── column-stacked │ │ │ │ └── index.htm │ │ │ ├── columnrange │ │ │ │ └── index.htm │ │ │ ├── combo-dual-axes │ │ │ │ └── index.htm │ │ │ ├── combo-meteogram │ │ │ │ └── index.htm │ │ │ ├── combo-multi-axes │ │ │ │ └── index.htm │ │ │ ├── combo-regression │ │ │ │ └── index.htm │ │ │ ├── combo-timeline │ │ │ │ └── index.htm │ │ │ ├── combo │ │ │ │ └── index.htm │ │ │ ├── dynamic-click-to-add │ │ │ │ └── index.htm │ │ │ ├── dynamic-master-detail │ │ │ │ └── index.htm │ │ │ ├── dynamic-update │ │ │ │ └── index.htm │ │ │ ├── error-bar │ │ │ │ └── index.htm │ │ │ ├── funnel │ │ │ │ └── index.htm │ │ │ ├── gauge-activity │ │ │ │ └── index.htm │ │ │ ├── gauge-clock │ │ │ │ └── index.htm │ │ │ ├── gauge-dual │ │ │ │ └── index.htm │ │ │ ├── gauge-solid │ │ │ │ └── index.htm │ │ │ ├── gauge-speedometer │ │ │ │ └── index.htm │ │ │ ├── gauge-vu-meter │ │ │ │ └── index.htm │ │ │ ├── heatmap-canvas │ │ │ │ └── index.htm │ │ │ ├── heatmap │ │ │ │ └── index.htm │ │ │ ├── histogram │ │ │ │ └── index.htm │ │ │ ├── honeycomb-usa │ │ │ │ └── index.htm │ │ │ ├── item-series │ │ │ │ └── index.htm │ │ │ ├── line-ajax │ │ │ │ └── index.htm │ │ │ ├── line-basic │ │ │ │ └── index.htm │ │ │ ├── line-boost │ │ │ │ └── index.htm │ │ │ ├── line-labels │ │ │ │ └── index.htm │ │ │ ├── line-log-axis │ │ │ │ └── index.htm │ │ │ ├── line-time-series │ │ │ │ └── index.htm │ │ │ ├── parallel-coordinates │ │ │ │ └── index.htm │ │ │ ├── pareto │ │ │ │ └── index.htm │ │ │ ├── pie-basic │ │ │ │ └── index.htm │ │ │ ├── pie-donut │ │ │ │ └── index.htm │ │ │ ├── pie-drilldown │ │ │ │ └── index.htm │ │ │ ├── pie-gradient │ │ │ │ └── index.htm │ │ │ ├── pie-legend │ │ │ │ └── index.htm │ │ │ ├── pie-monochrome │ │ │ │ └── index.htm │ │ │ ├── pie-semi-circle │ │ │ │ └── index.htm │ │ │ ├── polar-spider │ │ │ │ └── index.htm │ │ │ ├── polar-wind-rose │ │ │ │ └── index.htm │ │ │ ├── polar │ │ │ │ └── index.htm │ │ │ ├── polygon │ │ │ │ └── index.htm │ │ │ ├── pyramid │ │ │ │ └── index.htm │ │ │ ├── renderer │ │ │ │ └── index.htm │ │ │ ├── responsive │ │ │ │ └── index.htm │ │ │ ├── sankey-diagram │ │ │ │ └── index.htm │ │ │ ├── scatter-boost │ │ │ │ └── index.htm │ │ │ ├── scatter │ │ │ │ └── index.htm │ │ │ ├── sparkline │ │ │ │ └── index.htm │ │ │ ├── spline-inverted │ │ │ │ └── index.htm │ │ │ ├── spline-irregular-time │ │ │ │ └── index.htm │ │ │ ├── spline-plot-bands │ │ │ │ └── index.htm │ │ │ ├── spline-symbols │ │ │ │ └── index.htm │ │ │ ├── streamgraph │ │ │ │ └── index.htm │ │ │ ├── styled-mode-column │ │ │ │ └── index.htm │ │ │ ├── styled-mode-pie │ │ │ │ └── index.htm │ │ │ ├── sunburst │ │ │ │ └── index.htm │ │ │ ├── synchronized-charts │ │ │ │ └── index.htm │ │ │ ├── treemap-coloraxis │ │ │ │ └── index.htm │ │ │ ├── treemap-large-dataset │ │ │ │ └── index.htm │ │ │ ├── treemap-with-levels │ │ │ │ └── index.htm │ │ │ ├── variable-radius-pie │ │ │ │ └── index.htm │ │ │ ├── variwide │ │ │ │ └── index.htm │ │ │ ├── vector-plot │ │ │ │ └── index.htm │ │ │ ├── waterfall │ │ │ │ └── index.htm │ │ │ ├── windbarb-series │ │ │ │ └── index.htm │ │ │ ├── wordcloud │ │ │ │ └── index.htm │ │ │ └── x-range │ │ │ │ └── index.htm │ │ ├── gfx │ │ │ └── vml-radial-gradient.png │ │ ├── graphics │ │ │ ├── arrow.svg │ │ │ ├── circle.svg │ │ │ ├── earth.svg │ │ │ ├── feature.svg │ │ │ ├── fibonacci.svg │ │ │ ├── flag-circlepin.svg │ │ │ ├── flag-diamondpin.svg │ │ │ ├── flag-flag.svg │ │ │ ├── flag-squarepin.svg │ │ │ ├── flag.svg │ │ │ ├── line.svg │ │ │ ├── rect.svg │ │ │ ├── reset.svg │ │ │ ├── save.svg │ │ │ ├── search.png │ │ │ ├── skies.jpg │ │ │ ├── snow.png │ │ │ ├── sun.png │ │ │ ├── text.svg │ │ │ └── tunnel.svg │ │ ├── index.htm │ │ ├── license.pdf │ │ └── readme.txt │ ├── validation │ │ ├── jquery.validate.min.js │ │ └── messages_zh.js │ ├── xterm │ │ ├── addons │ │ │ ├── attach │ │ │ │ └── attach.js │ │ │ ├── fit │ │ │ │ └── fit.js │ │ │ ├── fullscreen │ │ │ │ ├── fullscreen.css │ │ │ │ └── fullscreen.js │ │ │ ├── linkify │ │ │ │ └── linkify.js │ │ │ └── terminado │ │ │ │ └── terminado.js │ │ ├── xterm.css │ │ ├── xterm.js │ │ └── xterm.js.map │ └── ztree │ │ ├── css │ │ ├── awesomeStyle │ │ │ ├── awesome.css │ │ │ ├── awesome.less │ │ │ ├── fa.less │ │ │ └── img │ │ │ │ └── loading.gif │ │ ├── demo.css │ │ ├── metroStyle │ │ │ ├── img │ │ │ │ ├── line_conn.png │ │ │ │ ├── loading.gif │ │ │ │ ├── metro.gif │ │ │ │ └── metro.png │ │ │ └── metroStyle.css │ │ └── zTreeStyle │ │ │ ├── img │ │ │ ├── diy │ │ │ │ ├── 1_close.png │ │ │ │ ├── 1_open.png │ │ │ │ ├── 2.png │ │ │ │ ├── 3.png │ │ │ │ ├── 4.png │ │ │ │ ├── 5.png │ │ │ │ ├── 6.png │ │ │ │ ├── 7.png │ │ │ │ ├── 8.png │ │ │ │ └── 9.png │ │ │ ├── line_conn.gif │ │ │ ├── loading.gif │ │ │ ├── zTreeStandard.gif │ │ │ └── zTreeStandard.png │ │ │ └── zTreeStyle.css │ │ └── js │ │ ├── jquery-1.4.4.min.js │ │ ├── jquery.ztree.all.js │ │ ├── jquery.ztree.all.min.js │ │ ├── jquery.ztree.core.js │ │ ├── jquery.ztree.core.min.js │ │ ├── jquery.ztree.excheck.js │ │ ├── jquery.ztree.excheck.min.js │ │ ├── jquery.ztree.exedit.js │ │ ├── jquery.ztree.exedit.min.js │ │ ├── jquery.ztree.exhide.js │ │ └── jquery.ztree.exhide.min.js └── templates │ ├── 404.html │ ├── 500.html │ ├── addrole.html │ ├── auth │ ├── email │ │ ├── confirm.html │ │ ├── confirm.txt │ │ ├── reset_passwd.html │ │ └── reset_passwd.txt │ ├── page-forgat.html │ ├── page-login.html │ ├── page-register.html │ ├── page-setpasswd.html │ └── unconfirm.html │ ├── base.html │ ├── cdn.html │ ├── checkip.html │ ├── datastore.html │ ├── editgroup.html │ ├── editrole.html │ ├── edituser.html │ ├── groupadd.html │ ├── host.html │ ├── hostgroup.html │ ├── index.html │ ├── listfile.html │ ├── logs.html │ ├── menu.html │ ├── ossfile.html │ ├── osslist.html │ ├── role.html │ ├── update.html │ ├── useradd.html │ ├── users.html │ └── webssh.html ├── config.py ├── fileloads └── test.txt ├── infomanage.sql ├── key └── root │ └── user_key ├── manage.py ├── migrations ├── README ├── alembic.ini ├── env.py ├── env.pyc ├── script.py.mako └── versions │ ├── 57ace35e7e7d_.py │ ├── 57ace35e7e7d_.pyc │ ├── 7db8fc8a74c2_.py │ ├── 7db8fc8a74c2_.pyc │ ├── 838a18d88391_.py │ ├── 838a18d88391_.pyc │ ├── f7b668260459_.py │ └── f7b668260459_.pyc ├── requirements.txt ├── script ├── __init__.py ├── findfiles.py ├── grouping_host_count ├── hosts.py ├── oss.py ├── oss_obj_info ├── push_cdn.py ├── rdsdata.py └── webssh_conncet.py └── whoosh_index ├── Groupname ├── MAIN_6i06t7koy2eyonh4.seg ├── MAIN_WRITELOCK ├── MAIN_jmx1cof3ujy5boj6.seg └── _MAIN_22.toc └── Hosts ├── MAIN_20b4ugtz8cloxygm.seg ├── MAIN_2ezsozdufw4e2jj0.seg ├── MAIN_9uxakqkz77ui2cbz.seg ├── MAIN_WRITELOCK ├── MAIN_ghmga987afuscbcb.seg ├── MAIN_jo966xm355oicws5.seg ├── MAIN_nh8pifwk9ngehy6y.seg ├── MAIN_o6czla2xyt3dwdsh.seg ├── MAIN_vdo2nnvzv5c71dd8.seg ├── MAIN_yza6620shq8fsue6.seg └── _MAIN_34.toc /1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/1.png -------------------------------------------------------------------------------- /2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/2.png -------------------------------------------------------------------------------- /3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/3.png -------------------------------------------------------------------------------- /4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/4.png -------------------------------------------------------------------------------- /5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/5.png -------------------------------------------------------------------------------- /__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/__init__.py -------------------------------------------------------------------------------- /app/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/.DS_Store -------------------------------------------------------------------------------- /app/__init__.py: -------------------------------------------------------------------------------- 1 | from flask import Flask 2 | from flask_mail import Mail 3 | from flask_sqlalchemy import SQLAlchemy 4 | from config import config 5 | from flask_login import LoginManager 6 | import flask_whooshalchemyplus 7 | from flask_apscheduler import APScheduler 8 | from flask_sockets import Sockets 9 | 10 | mail = Mail() 11 | db = SQLAlchemy() 12 | scheduler = APScheduler() 13 | sockets = Sockets() 14 | 15 | login_manager = LoginManager() 16 | login_manager.session_protection = 'strong' 17 | login_manager.login_view = 'auth.login' 18 | 19 | def create_app(config_name): 20 | app = Flask(__name__) 21 | app.config.from_object(config[config_name]) 22 | config[config_name].init_app(app) 23 | 24 | mail.init_app(app) 25 | db.init_app(app) 26 | flask_whooshalchemyplus.init_app(app) 27 | login_manager.init_app(app) 28 | sockets.init_app(app) 29 | scheduler.init_app(app) 30 | scheduler.start() 31 | 32 | from .main import main as main_blueprint 33 | app.register_blueprint(main_blueprint) 34 | 35 | from .auth import auth as auth_blueprint 36 | app.register_blueprint(auth_blueprint,url_prefix='/auth') 37 | 38 | return app 39 | 40 | -------------------------------------------------------------------------------- /app/__pycache__/__init__.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/__pycache__/__init__.cpython-36.pyc -------------------------------------------------------------------------------- /app/__pycache__/__init__.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/__pycache__/__init__.cpython-37.pyc -------------------------------------------------------------------------------- /app/auth/__init__.py: -------------------------------------------------------------------------------- 1 | from flask import Blueprint 2 | 3 | auth = Blueprint('auth', __name__) 4 | 5 | from . import views 6 | -------------------------------------------------------------------------------- /app/email.py: -------------------------------------------------------------------------------- 1 | from flask_mail import Message 2 | from flask import current_app, render_template 3 | from . import mail 4 | 5 | 6 | def send_email(to, subject, template, **kwargs): 7 | app = current_app._get_current_object() 8 | msg = Message(app.config['FLASKY_MAIL_SUBJECT_PREFIX'] + ' ' + subject, 9 | sender=app.config['FLASKY_MAIL_SENDER'], recipients=[to]) 10 | msg.body = render_template(template + '.txt', **kwargs) 11 | msg.html = render_template(template + '.html', **kwargs) 12 | with app.app_context(): 13 | mail.send(msg) 14 | -------------------------------------------------------------------------------- /app/main/__init__.py: -------------------------------------------------------------------------------- 1 | from flask import Blueprint 2 | main = Blueprint('main',__name__,static_folder='static') 3 | 4 | from . import views,errors 5 | -------------------------------------------------------------------------------- /app/main/errors.py: -------------------------------------------------------------------------------- 1 | from flask import render_template 2 | from . import main 3 | 4 | 5 | @main.app_errorhandler(404) 6 | def not_found(e): 7 | return render_template('404.html') 8 | 9 | @main.app_errorhandler(500) 10 | def server_error(e): 11 | return render_temlpalte('500.html') 12 | -------------------------------------------------------------------------------- /app/main/static/chosen/css/chosen-sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/main/static/chosen/css/chosen-sprite.png -------------------------------------------------------------------------------- /app/main/static/dropzone/css/basic.css: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License 3 | * Copyright (c) 2012 Matias Meno 4 | */ 5 | .dropzone, .dropzone * { 6 | box-sizing: border-box; } 7 | 8 | .dropzone { 9 | position: relative; } 10 | .dropzone .dz-preview { 11 | position: relative; 12 | display: inline-block; 13 | width: 120px; 14 | margin: 0.5em; } 15 | .dropzone .dz-preview .dz-progress { 16 | display: block; 17 | height: 15px; 18 | border: 1px solid #aaa; } 19 | .dropzone .dz-preview .dz-progress .dz-upload { 20 | display: block; 21 | height: 100%; 22 | width: 0; 23 | background: green; } 24 | .dropzone .dz-preview .dz-error-message { 25 | color: red; 26 | display: none; } 27 | .dropzone .dz-preview.dz-error .dz-error-message, .dropzone .dz-preview.dz-error .dz-error-mark { 28 | display: block; } 29 | .dropzone .dz-preview.dz-success .dz-success-mark { 30 | display: block; } 31 | .dropzone .dz-preview .dz-error-mark, .dropzone .dz-preview .dz-success-mark { 32 | position: absolute; 33 | display: none; 34 | left: 30px; 35 | top: 30px; 36 | width: 54px; 37 | height: 58px; 38 | left: 50%; 39 | margin-left: -27px; } 40 | -------------------------------------------------------------------------------- /app/main/static/picklist/css/pickList.css: -------------------------------------------------------------------------------- 1 | .pickListButtons { 2 | padding: 10px; 3 | text-align: center; 4 | } 5 | 6 | .pickListButtons button { 7 | margin-bottom: 5px; 8 | } 9 | 10 | .pickListSelect { 11 | height: 200px !important; 12 | } 13 | -------------------------------------------------------------------------------- /app/static/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/.DS_Store -------------------------------------------------------------------------------- /app/static/chosen/css/chosen-sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/chosen/css/chosen-sprite.png -------------------------------------------------------------------------------- /app/static/dropzone/css/basic.css: -------------------------------------------------------------------------------- 1 | /* 2 | * The MIT License 3 | * Copyright (c) 2012 Matias Meno 4 | */ 5 | .dropzone, .dropzone * { 6 | box-sizing: border-box; } 7 | 8 | .dropzone { 9 | position: relative; } 10 | .dropzone .dz-preview { 11 | position: relative; 12 | display: inline-block; 13 | width: 120px; 14 | margin: 0.5em; } 15 | .dropzone .dz-preview .dz-progress { 16 | display: block; 17 | height: 15px; 18 | border: 1px solid #aaa; } 19 | .dropzone .dz-preview .dz-progress .dz-upload { 20 | display: block; 21 | height: 100%; 22 | width: 0; 23 | background: green; } 24 | .dropzone .dz-preview .dz-error-message { 25 | color: red; 26 | display: none; } 27 | .dropzone .dz-preview.dz-error .dz-error-message, .dropzone .dz-preview.dz-error .dz-error-mark { 28 | display: block; } 29 | .dropzone .dz-preview.dz-success .dz-success-mark { 30 | display: block; } 31 | .dropzone .dz-preview .dz-error-mark, .dropzone .dz-preview .dz-success-mark { 32 | position: absolute; 33 | display: none; 34 | left: 30px; 35 | top: 30px; 36 | width: 54px; 37 | height: 58px; 38 | left: 50%; 39 | margin-left: -27px; } 40 | -------------------------------------------------------------------------------- /app/static/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.woff2 -------------------------------------------------------------------------------- /app/static/fonts/fonts.css: -------------------------------------------------------------------------------- 1 | /* fallback */ 2 | @font-face { 3 | font-family: 'Material Icons'; 4 | font-style: normal; 5 | font-weight: 400; 6 | src: url(./flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.woff2) format('woff2'); 7 | } 8 | 9 | .material-icons { 10 | font-family: 'Material Icons'; 11 | font-weight: normal; 12 | font-style: normal; 13 | font-size: 24px; 14 | line-height: 1; 15 | letter-spacing: normal; 16 | text-transform: none; 17 | display: inline-block; 18 | white-space: nowrap; 19 | word-wrap: normal; 20 | direction: ltr; 21 | -webkit-font-feature-settings: 'liga'; 22 | -webkit-font-smoothing: antialiased; 23 | } 24 | -------------------------------------------------------------------------------- /app/static/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/img/logo.png -------------------------------------------------------------------------------- /app/static/login/css/img/Material-Design-Icons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/login/css/img/Material-Design-Icons.eot -------------------------------------------------------------------------------- /app/static/login/css/img/Material-Design-Icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/login/css/img/Material-Design-Icons.ttf -------------------------------------------------------------------------------- /app/static/login/css/img/Roboto-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/login/css/img/Roboto-Bold.ttf -------------------------------------------------------------------------------- /app/static/login/css/img/Roboto-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/login/css/img/Roboto-Light.ttf -------------------------------------------------------------------------------- /app/static/login/css/img/Roboto-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/login/css/img/Roboto-Medium.ttf -------------------------------------------------------------------------------- /app/static/login/css/img/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/login/css/img/Roboto-Regular.ttf -------------------------------------------------------------------------------- /app/static/login/css/img/Roboto-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/login/css/img/Roboto-Thin.ttf -------------------------------------------------------------------------------- /app/static/login/css/img/sample-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/login/css/img/sample-1.jpg -------------------------------------------------------------------------------- /app/static/login/css/img/sort_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/login/css/img/sort_asc.png -------------------------------------------------------------------------------- /app/static/login/css/img/sort_asc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/login/css/img/sort_asc_disabled.png -------------------------------------------------------------------------------- /app/static/login/css/img/sort_both.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/login/css/img/sort_both.png -------------------------------------------------------------------------------- /app/static/login/css/img/sort_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/login/css/img/sort_desc.png -------------------------------------------------------------------------------- /app/static/login/css/img/sort_desc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/login/css/img/sort_desc_disabled.png -------------------------------------------------------------------------------- /app/static/login/css/img/user-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/login/css/img/user-bg.jpg -------------------------------------------------------------------------------- /app/static/login/css/jquery-jvectormap.css: -------------------------------------------------------------------------------- 1 | .jvectormap-label { position: absolute; display: none; border: solid 1px #000; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; background-color: #292929; background-color: rgba(0,0,0,0.8); color: white; font-size: 12px; padding: 4px 10px; } 2 | .jvectormap-zoomin, .jvectormap-zoomout { position: absolute; left: 10px; background: #fff; border: 1px solid #f0f0f0; box-shadow: 0 1px 1px rgba(0,0,0,0.1); padding: 0px; font-weight: bold; font-size: 20px; color: #aaa; width: 24px; height: 24px; line-height: 22px; text-align: center; cursor: pointer; } 3 | .jvectormap-zoomin { top: 10px; } 4 | .jvectormap-zoomout { top: 33px; } 5 | -------------------------------------------------------------------------------- /app/static/login/css/morris.css: -------------------------------------------------------------------------------- 1 | .morris-hover{position:absolute;z-index:1000}.morris-hover.morris-default-style{border-radius:10px;padding:6px;color:#666;background:rgba(255,255,255,0.8);border:solid 2px rgba(230,230,230,0.8);font-family:sans-serif;font-size:12px;text-align:center}.morris-hover.morris-default-style .morris-hover-row-label{font-weight:bold;margin:0.25em 0} 2 | .morris-hover.morris-default-style .morris-hover-point{white-space:nowrap;margin:0.1em 0} 3 | -------------------------------------------------------------------------------- /app/static/login/css/page-center.css: -------------------------------------------------------------------------------- 1 | html, 2 | body { 3 | height: 100%; 4 | } 5 | html { 6 | display: table; 7 | margin: auto; 8 | } 9 | body { 10 | display: table-cell; 11 | vertical-align: middle; 12 | } 13 | -------------------------------------------------------------------------------- /app/static/login/img/avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/login/img/avatar.jpg -------------------------------------------------------------------------------- /app/static/login/img/generic-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/login/img/generic-logo.png -------------------------------------------------------------------------------- /app/static/login/img/login-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/login/img/login-logo.png -------------------------------------------------------------------------------- /app/static/login/img/materialize-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/login/img/materialize-logo.png -------------------------------------------------------------------------------- /app/static/login/img/office.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/login/img/office.jpg -------------------------------------------------------------------------------- /app/static/login/img/sample-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/login/img/sample-1.jpg -------------------------------------------------------------------------------- /app/static/login/img/sdw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/login/img/sdw.png -------------------------------------------------------------------------------- /app/static/login/img/signature-scan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/login/img/signature-scan.png -------------------------------------------------------------------------------- /app/static/login/img/style_typography_roboto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/login/img/style_typography_roboto.png -------------------------------------------------------------------------------- /app/static/login/img/user-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/login/img/user-bg.jpg -------------------------------------------------------------------------------- /app/static/login/js/data-tables-script.js: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /app/static/login/js/flot-chart.js: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /app/static/login/js/jquery-1.10.2.js: -------------------------------------------------------------------------------- 1 | /*-????????????cdn???????????????????????????????????????????????????????????????????????????????????????????????????-www.jq22.com????????????*/ 2 | /*???????????????cdn??????????????????jQuery-1.10.2*/ 3 | document.write(" 14 | 15 | 16 |
17 | 18 | 19 | 20 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /app/static/tuxing/examples/column-negative/index.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Highcharts Example 7 | 8 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /app/static/tuxing/examples/line-log-axis/index.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Highcharts Example 7 | 8 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /app/static/tuxing/gfx/vml-radial-gradient.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/tuxing/gfx/vml-radial-gradient.png -------------------------------------------------------------------------------- /app/static/tuxing/graphics/arrow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /app/static/tuxing/graphics/circle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app/static/tuxing/graphics/feature.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /app/static/tuxing/graphics/fibonacci.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /app/static/tuxing/graphics/flag-circlepin.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/static/tuxing/graphics/flag-diamondpin.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/static/tuxing/graphics/flag-flag.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /app/static/tuxing/graphics/flag-squarepin.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/static/tuxing/graphics/flag.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/static/tuxing/graphics/line.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /app/static/tuxing/graphics/rect.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app/static/tuxing/graphics/reset.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /app/static/tuxing/graphics/save.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /app/static/tuxing/graphics/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/tuxing/graphics/search.png -------------------------------------------------------------------------------- /app/static/tuxing/graphics/skies.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/tuxing/graphics/skies.jpg -------------------------------------------------------------------------------- /app/static/tuxing/graphics/snow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/tuxing/graphics/snow.png -------------------------------------------------------------------------------- /app/static/tuxing/graphics/sun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/tuxing/graphics/sun.png -------------------------------------------------------------------------------- /app/static/tuxing/graphics/text.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /app/static/tuxing/graphics/tunnel.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /app/static/tuxing/license.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/tuxing/license.pdf -------------------------------------------------------------------------------- /app/static/tuxing/readme.txt: -------------------------------------------------------------------------------- 1 | HighchartsJS v6.0.5(2017-01-31) 2 | 3 | 4 | 5 | 使用协议:https://www.highcharts.com.cn/license 6 | 7 | 更新日志:https://www.hcharts.cn/docs/changelog/highcharts 8 | 在线实例:https://www.hcharts.cn/demos/highcharts 9 | 使用教程: https://www.hcharts.cn/docs 10 | 11 | API 文档: https://api.hcharts.cn/highcharts 12 | 13 | Copyright @ 2018 Highsoft AS (http://highsoft.com) 14 | 15 | 中国地区由杭州简数科技有限公司提供服务(https://jianshukeji.com) -------------------------------------------------------------------------------- /app/static/validation/messages_zh.js: -------------------------------------------------------------------------------- 1 | (function( factory ) { 2 | if ( typeof define === "function" && define.amd ) { 3 | define( ["jquery", "../jquery.validate"], factory ); 4 | } else { 5 | factory( jQuery ); 6 | } 7 | }(function( $ ) { 8 | 9 | /* 10 | * Translated default messages for the jQuery validation plugin. 11 | * Locale: ZH (Chinese, 中文 (Zhōngwén), 汉语, 漢語) 12 | */ 13 | $.extend($.validator.messages, { 14 | required: "这是必填字段", 15 | remote: "请修正此字段", 16 | email: "请输入有效的电子邮件地址", 17 | url: "请输入有效的网址", 18 | date: "请输入有效的日期", 19 | dateISO: "请输入有效的日期 (YYYY-MM-DD)", 20 | number: "请输入有效的数字", 21 | digits: "只能输入数字", 22 | creditcard: "请输入有效的信用卡号码", 23 | equalTo: "你的输入不相同", 24 | extension: "请输入有效的后缀", 25 | maxlength: $.validator.format("最多可以输入 {0} 个字符"), 26 | minlength: $.validator.format("最少要输入 {0} 个字符"), 27 | rangelength: $.validator.format("请输入长度在 {0} 到 {1} 之间的字符串"), 28 | range: $.validator.format("请输入范围在 {0} 到 {1} 之间的数值"), 29 | max: $.validator.format("请输入不大于 {0} 的数值"), 30 | min: $.validator.format("请输入不小于 {0} 的数值") 31 | }); 32 | 33 | })); -------------------------------------------------------------------------------- /app/static/xterm/addons/fullscreen/fullscreen.css: -------------------------------------------------------------------------------- 1 | .xterm.fullscreen { 2 | position: fixed; 3 | top: 0; 4 | bottom: 0; 5 | left: 0; 6 | right: 0; 7 | width: auto; 8 | height: auto; 9 | z-index: 255; 10 | } 11 | -------------------------------------------------------------------------------- /app/static/ztree/css/awesomeStyle/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/ztree/css/awesomeStyle/img/loading.gif -------------------------------------------------------------------------------- /app/static/ztree/css/metroStyle/img/line_conn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/ztree/css/metroStyle/img/line_conn.png -------------------------------------------------------------------------------- /app/static/ztree/css/metroStyle/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/ztree/css/metroStyle/img/loading.gif -------------------------------------------------------------------------------- /app/static/ztree/css/metroStyle/img/metro.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/ztree/css/metroStyle/img/metro.gif -------------------------------------------------------------------------------- /app/static/ztree/css/metroStyle/img/metro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/ztree/css/metroStyle/img/metro.png -------------------------------------------------------------------------------- /app/static/ztree/css/zTreeStyle/img/diy/1_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/ztree/css/zTreeStyle/img/diy/1_close.png -------------------------------------------------------------------------------- /app/static/ztree/css/zTreeStyle/img/diy/1_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/ztree/css/zTreeStyle/img/diy/1_open.png -------------------------------------------------------------------------------- /app/static/ztree/css/zTreeStyle/img/diy/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/ztree/css/zTreeStyle/img/diy/2.png -------------------------------------------------------------------------------- /app/static/ztree/css/zTreeStyle/img/diy/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/ztree/css/zTreeStyle/img/diy/3.png -------------------------------------------------------------------------------- /app/static/ztree/css/zTreeStyle/img/diy/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/ztree/css/zTreeStyle/img/diy/4.png -------------------------------------------------------------------------------- /app/static/ztree/css/zTreeStyle/img/diy/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/ztree/css/zTreeStyle/img/diy/5.png -------------------------------------------------------------------------------- /app/static/ztree/css/zTreeStyle/img/diy/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/ztree/css/zTreeStyle/img/diy/6.png -------------------------------------------------------------------------------- /app/static/ztree/css/zTreeStyle/img/diy/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/ztree/css/zTreeStyle/img/diy/7.png -------------------------------------------------------------------------------- /app/static/ztree/css/zTreeStyle/img/diy/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/ztree/css/zTreeStyle/img/diy/8.png -------------------------------------------------------------------------------- /app/static/ztree/css/zTreeStyle/img/diy/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/ztree/css/zTreeStyle/img/diy/9.png -------------------------------------------------------------------------------- /app/static/ztree/css/zTreeStyle/img/line_conn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/ztree/css/zTreeStyle/img/line_conn.gif -------------------------------------------------------------------------------- /app/static/ztree/css/zTreeStyle/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/ztree/css/zTreeStyle/img/loading.gif -------------------------------------------------------------------------------- /app/static/ztree/css/zTreeStyle/img/zTreeStandard.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/ztree/css/zTreeStyle/img/zTreeStandard.gif -------------------------------------------------------------------------------- /app/static/ztree/css/zTreeStyle/img/zTreeStandard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/static/ztree/css/zTreeStyle/img/zTreeStandard.png -------------------------------------------------------------------------------- /app/templates/404.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/templates/404.html -------------------------------------------------------------------------------- /app/templates/500.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/app/templates/500.html -------------------------------------------------------------------------------- /app/templates/auth/email/confirm.html: -------------------------------------------------------------------------------- 1 |

你好 {{ user.username }},

2 |

欢迎注册 Web Automation!

3 |

要确认您的账户请点击此处.

4 |

或者在浏览器中输入以下地址完成认证:

5 |

{{ url_for('auth.confirm', token=token, _external=True) }}

6 | 7 | 8 | -------------------------------------------------------------------------------- /app/templates/auth/email/confirm.txt: -------------------------------------------------------------------------------- 1 | Hello {{ user.username }} 2 | 3 | {{ url_for('auth.confirm', token=token, _external=True) }} 4 | -------------------------------------------------------------------------------- /app/templates/auth/email/reset_passwd.html: -------------------------------------------------------------------------------- 1 |

你好 {{ user.username }},

2 |

要重置你的密码请点击此处.

3 |

或者在浏览器中输入以下地址:

4 |

{{ url_for('auth.reset_passwd', token=token, _external=True) }}

5 | 6 | 7 | -------------------------------------------------------------------------------- /app/templates/auth/email/reset_passwd.txt: -------------------------------------------------------------------------------- 1 |

你好 {{ user.username }},

2 |

要重置你的密码请点击此处.

3 |

或者在浏览器中输入以下地址:

4 |

{{ url_for('auth.reset_passwd', token=token, _external=True) }}

5 | 6 | 7 | -------------------------------------------------------------------------------- /app/templates/checkip.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block test %} 3 |
4 |
5 | 6 |
7 |
8 |
9 |
10 | 11 |
12 |
13 | 14 |

您当前的IP为:

15 |
16 | 17 |
18 |
19 |

{{ client_ip }}

20 |
21 | 22 | 23 | {% endblock %} 24 | -------------------------------------------------------------------------------- /fileloads/test.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/fileloads/test.txt -------------------------------------------------------------------------------- /key/root/user_key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/key/root/user_key -------------------------------------------------------------------------------- /manage.py: -------------------------------------------------------------------------------- 1 | #-*- coding: utf-8 -* 2 | from app import create_app,db 3 | from flask_script import Manager, Shell 4 | from flask_migrate import Migrate, MigrateCommand 5 | from app.models import Hosts, Groupname, Grouphostid, User, Menu, Tasks ,Filename,Logs,Role,datastore 6 | 7 | 8 | app = create_app('default') 9 | manager = Manager(app) 10 | migrate = Migrate(app, db) 11 | 12 | 13 | 14 | def make_shell_context(): 15 | return dict( 16 | app=app, 17 | db=db, 18 | Hosts=Hosts, 19 | Groupname=Groupname, 20 | Grouphostid=Grouphostid, 21 | User=User, 22 | Menu=Menu, 23 | Tasks=Tasks, 24 | Filename=Filename, 25 | Logs=Logs, 26 | Role=Role, 27 | datastore=datastore, 28 | ) 29 | 30 | 31 | manager.add_command("shell", Shell(make_context=make_shell_context)) 32 | manager.add_command('db', MigrateCommand) 33 | 34 | if __name__ == '__main__': 35 | #manager.run() 36 | from gevent import pywsgi 37 | from geventwebsocket.handler import WebSocketHandler 38 | 39 | server = pywsgi.WSGIServer(('192.168.3.73', 5000), app, handler_class=WebSocketHandler) 40 | print("web server start ... ") 41 | server.serve_forever() 42 | -------------------------------------------------------------------------------- /migrations/README: -------------------------------------------------------------------------------- 1 | Generic single-database configuration. -------------------------------------------------------------------------------- /migrations/alembic.ini: -------------------------------------------------------------------------------- 1 | # A generic, single database configuration. 2 | 3 | [alembic] 4 | # template used to generate migration files 5 | # file_template = %%(rev)s_%%(slug)s 6 | 7 | # set to 'true' to run the environment during 8 | # the 'revision' command, regardless of autogenerate 9 | # revision_environment = false 10 | 11 | 12 | # Logging configuration 13 | [loggers] 14 | keys = root,sqlalchemy,alembic 15 | 16 | [handlers] 17 | keys = console 18 | 19 | [formatters] 20 | keys = generic 21 | 22 | [logger_root] 23 | level = WARN 24 | handlers = console 25 | qualname = 26 | 27 | [logger_sqlalchemy] 28 | level = WARN 29 | handlers = 30 | qualname = sqlalchemy.engine 31 | 32 | [logger_alembic] 33 | level = INFO 34 | handlers = 35 | qualname = alembic 36 | 37 | [handler_console] 38 | class = StreamHandler 39 | args = (sys.stderr,) 40 | level = NOTSET 41 | formatter = generic 42 | 43 | [formatter_generic] 44 | format = %(levelname)-5.5s [%(name)s] %(message)s 45 | datefmt = %H:%M:%S 46 | -------------------------------------------------------------------------------- /migrations/env.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/migrations/env.pyc -------------------------------------------------------------------------------- /migrations/script.py.mako: -------------------------------------------------------------------------------- 1 | """${message} 2 | 3 | Revision ID: ${up_revision} 4 | Revises: ${down_revision | comma,n} 5 | Create Date: ${create_date} 6 | 7 | """ 8 | from alembic import op 9 | import sqlalchemy as sa 10 | ${imports if imports else ""} 11 | 12 | # revision identifiers, used by Alembic. 13 | revision = ${repr(up_revision)} 14 | down_revision = ${repr(down_revision)} 15 | branch_labels = ${repr(branch_labels)} 16 | depends_on = ${repr(depends_on)} 17 | 18 | 19 | def upgrade(): 20 | ${upgrades if upgrades else "pass"} 21 | 22 | 23 | def downgrade(): 24 | ${downgrades if downgrades else "pass"} 25 | -------------------------------------------------------------------------------- /migrations/versions/57ace35e7e7d_.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/migrations/versions/57ace35e7e7d_.pyc -------------------------------------------------------------------------------- /migrations/versions/7db8fc8a74c2_.py: -------------------------------------------------------------------------------- 1 | """empty message 2 | 3 | Revision ID: 7db8fc8a74c2 4 | Revises: f7b668260459 5 | Create Date: 2019-01-26 14:43:59.931261 6 | 7 | """ 8 | from alembic import op 9 | import sqlalchemy as sa 10 | 11 | 12 | # revision identifiers, used by Alembic. 13 | revision = '7db8fc8a74c2' 14 | down_revision = 'f7b668260459' 15 | branch_labels = None 16 | depends_on = None 17 | 18 | 19 | def upgrade(): 20 | # ### commands auto generated by Alembic - please adjust! ### 21 | op.add_column('users', sa.Column('roles', sa.String(length=128), nullable=True)) 22 | # ### end Alembic commands ### 23 | 24 | 25 | def downgrade(): 26 | # ### commands auto generated by Alembic - please adjust! ### 27 | op.drop_column('users', 'roles') 28 | # ### end Alembic commands ### 29 | -------------------------------------------------------------------------------- /migrations/versions/7db8fc8a74c2_.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/migrations/versions/7db8fc8a74c2_.pyc -------------------------------------------------------------------------------- /migrations/versions/838a18d88391_.py: -------------------------------------------------------------------------------- 1 | """empty message 2 | 3 | Revision ID: 838a18d88391 4 | Revises: 7db8fc8a74c2 5 | Create Date: 2019-01-26 15:46:01.792920 6 | 7 | """ 8 | from alembic import op 9 | import sqlalchemy as sa 10 | 11 | 12 | # revision identifiers, used by Alembic. 13 | revision = '838a18d88391' 14 | down_revision = '7db8fc8a74c2' 15 | branch_labels = None 16 | depends_on = None 17 | 18 | 19 | def upgrade(): 20 | # ### commands auto generated by Alembic - please adjust! ### 21 | op.add_column('users', sa.Column('rolesid', sa.String(length=128), nullable=True)) 22 | # ### end Alembic commands ### 23 | 24 | 25 | def downgrade(): 26 | # ### commands auto generated by Alembic - please adjust! ### 27 | op.drop_column('users', 'rolesid') 28 | # ### end Alembic commands ### 29 | -------------------------------------------------------------------------------- /migrations/versions/838a18d88391_.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/migrations/versions/838a18d88391_.pyc -------------------------------------------------------------------------------- /migrations/versions/f7b668260459_.py: -------------------------------------------------------------------------------- 1 | """empty message 2 | 3 | Revision ID: f7b668260459 4 | Revises: 57ace35e7e7d 5 | Create Date: 2019-01-22 14:37:55.940143 6 | 7 | """ 8 | from alembic import op 9 | import sqlalchemy as sa 10 | 11 | 12 | # revision identifiers, used by Alembic. 13 | revision = 'f7b668260459' 14 | down_revision = '57ace35e7e7d' 15 | branch_labels = None 16 | depends_on = None 17 | 18 | 19 | def upgrade(): 20 | # ### commands auto generated by Alembic - please adjust! ### 21 | op.create_table('tasks', 22 | sa.Column('id', sa.Integer(), nullable=False), 23 | sa.Column('user', sa.String(length=64), nullable=True), 24 | sa.Column('area', sa.String(length=64), nullable=True), 25 | sa.Column('types', sa.String(length=64), nullable=True), 26 | sa.Column('version', sa.String(length=64), nullable=True), 27 | sa.Column('dates', sa.DateTime(), nullable=True), 28 | sa.PrimaryKeyConstraint('id') 29 | ) 30 | # ### end Alembic commands ### 31 | 32 | 33 | def downgrade(): 34 | # ### commands auto generated by Alembic - please adjust! ### 35 | op.drop_table('tasks') 36 | # ### end Alembic commands ### 37 | -------------------------------------------------------------------------------- /migrations/versions/f7b668260459_.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/migrations/versions/f7b668260459_.pyc -------------------------------------------------------------------------------- /script/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/script/__init__.py -------------------------------------------------------------------------------- /script/findfiles.py: -------------------------------------------------------------------------------- 1 | #-*- coding: utf-8 -* 2 | import os,sys 3 | 4 | def Fandfile(area,filename): 5 | if area and filename: 6 | for paths,dirs,files in os.walk(area): 7 | if filename in dirs: 8 | return True 9 | elif filename in files: 10 | return True 11 | 12 | -------------------------------------------------------------------------------- /script/grouping_host_count: -------------------------------------------------------------------------------- 1 | (dp0 2 | S'cn-shenzhen' 3 | p1 4 | I44 5 | sS'cn-hangzhou' 6 | p2 7 | I134 8 | sS'cn-hongkong' 9 | p3 10 | I1 11 | sS'cn-beijing' 12 | p4 13 | I1 14 | s. -------------------------------------------------------------------------------- /script/oss_obj_info: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/script/oss_obj_info -------------------------------------------------------------------------------- /script/webssh_conncet.py: -------------------------------------------------------------------------------- 1 | import paramiko 2 | import os 3 | from flask import current_app 4 | 5 | 6 | class Remote(): 7 | 8 | def __init__(self): 9 | self.keypath = current_app.config['WEBSSH_KEY_PATH'] 10 | self.keyname = current_app.config['WEBSSH_KEY_NAME'] 11 | self.port = current_app.config['WEBSSH_SERVER_PORT'] 12 | 13 | def ssh_connect(self,host,passwd,user): 14 | key = os.path.join(os.path.join(self.keypath,user),self.keyname) 15 | try: 16 | self.connects = paramiko.SSHClient() 17 | self.connects.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 18 | self.key_file = paramiko.RSAKey.from_private_key_file(key) 19 | self.connects.connect(host,port=self.port,username=user,password=passwd,pkey=self.key_file,timeout=10) 20 | self.channel = self.connects.invoke_shell(width=120, height=90) 21 | return self.channel 22 | except: 23 | return False 24 | 25 | 26 | -------------------------------------------------------------------------------- /whoosh_index/Groupname/MAIN_6i06t7koy2eyonh4.seg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/whoosh_index/Groupname/MAIN_6i06t7koy2eyonh4.seg -------------------------------------------------------------------------------- /whoosh_index/Groupname/MAIN_WRITELOCK: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/whoosh_index/Groupname/MAIN_WRITELOCK -------------------------------------------------------------------------------- /whoosh_index/Groupname/MAIN_jmx1cof3ujy5boj6.seg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/whoosh_index/Groupname/MAIN_jmx1cof3ujy5boj6.seg -------------------------------------------------------------------------------- /whoosh_index/Groupname/_MAIN_22.toc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/whoosh_index/Groupname/_MAIN_22.toc -------------------------------------------------------------------------------- /whoosh_index/Hosts/MAIN_20b4ugtz8cloxygm.seg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/whoosh_index/Hosts/MAIN_20b4ugtz8cloxygm.seg -------------------------------------------------------------------------------- /whoosh_index/Hosts/MAIN_2ezsozdufw4e2jj0.seg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/whoosh_index/Hosts/MAIN_2ezsozdufw4e2jj0.seg -------------------------------------------------------------------------------- /whoosh_index/Hosts/MAIN_9uxakqkz77ui2cbz.seg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/whoosh_index/Hosts/MAIN_9uxakqkz77ui2cbz.seg -------------------------------------------------------------------------------- /whoosh_index/Hosts/MAIN_WRITELOCK: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/whoosh_index/Hosts/MAIN_WRITELOCK -------------------------------------------------------------------------------- /whoosh_index/Hosts/MAIN_ghmga987afuscbcb.seg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/whoosh_index/Hosts/MAIN_ghmga987afuscbcb.seg -------------------------------------------------------------------------------- /whoosh_index/Hosts/MAIN_jo966xm355oicws5.seg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/whoosh_index/Hosts/MAIN_jo966xm355oicws5.seg -------------------------------------------------------------------------------- /whoosh_index/Hosts/MAIN_nh8pifwk9ngehy6y.seg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/whoosh_index/Hosts/MAIN_nh8pifwk9ngehy6y.seg -------------------------------------------------------------------------------- /whoosh_index/Hosts/MAIN_o6czla2xyt3dwdsh.seg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/whoosh_index/Hosts/MAIN_o6czla2xyt3dwdsh.seg -------------------------------------------------------------------------------- /whoosh_index/Hosts/MAIN_vdo2nnvzv5c71dd8.seg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/whoosh_index/Hosts/MAIN_vdo2nnvzv5c71dd8.seg -------------------------------------------------------------------------------- /whoosh_index/Hosts/MAIN_yza6620shq8fsue6.seg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/whoosh_index/Hosts/MAIN_yza6620shq8fsue6.seg -------------------------------------------------------------------------------- /whoosh_index/Hosts/_MAIN_34.toc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Myrecord/infomanage/a0e24b977bbfe22fc0cef6d5dc5f7970b044dbca/whoosh_index/Hosts/_MAIN_34.toc --------------------------------------------------------------------------------