You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@senssoft.apache.org by rf...@apache.org on 2017/03/22 13:27:36 UTC

[1/4] incubator-senssoft git commit: Initial (probably broken) commit of ported docker build

Repository: incubator-senssoft
Updated Branches:
  refs/heads/docker-build [created] 1c10c7835


http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/tap/neon_graph.js
----------------------------------------------------------------------
diff --git a/docker/tap/neon_graph.js b/docker/tap/neon_graph.js
new file mode 100644
index 0000000..c84ce9b
--- /dev/null
+++ b/docker/tap/neon_graph.js
@@ -0,0 +1,2 @@
+var graphData = {"out_degree": {"blt": [{"index": 0, "value": 26}, {"index": 1, "value": 3}, {"index": 2, "value": 5}, {"index": 3, "value": 6}, {"index": 4, "value": 4}, {"index": 5, "value": 8}, {"index": 6, "value": 18}, {"index": 7, "value": 18}, {"index": 8, "value": 7}, {"index": 9, "value": 11}, {"index": 10, "value": 12}, {"index": 11, "value": 2}, {"index": 12, "value": 1}, {"index": 13, "value": 4}, {"index": 14, "value": 32}, {"index": 15, "value": 37}, {"index": 16, "value": 5}, {"index": 17, "value": 1}, {"index": 18, "value": 3}, {"index": 19, "value": 7}, {"index": 20, "value": 10}, {"index": 21, "value": 9}, {"index": 22, "value": 4}, {"index": 23, "value": 8}, {"index": 24, "value": 11}, {"index": 25, "value": 4}, {"index": 26, "value": 18}, {"index": 27, "value": 3}, {"index": 28, "value": 3}, {"index": 29, "value": 3}, {"index": 30, "value": 28}, {"index": 31, "value": 27}, {"index": 32, "value": 11}, {"index": 33, "value": 17}, {"index": 34, "value": 9}, {"index"
 : 35, "value": 7}, {"index": 36, "value": 16}, {"index": 37, "value": 13}, {"index": 38, "value": 5}, {"index": 39, "value": 3}, {"index": 40, "value": 13}, {"index": 41, "value": 11}, {"index": 42, "value": 5}, {"index": 43, "value": 1}, {"index": 44, "value": 10}, {"index": 45, "value": 2}, {"index": 46, "value": 3}, {"index": 47, "value": 39}, {"index": 48, "value": 27}, {"index": 49, "value": 1}, {"index": 50, "value": 5}, {"index": 51, "value": 1}, {"index": 52, "value": 29}, {"index": 53, "value": 30}, {"index": 54, "value": 4}, {"index": 55, "value": 1}, {"index": 56, "value": 8}, {"index": 57, "value": 18}, {"index": 58, "value": 23}], "out": [{"action": "mouseover", "index": 0, "name": "chart_group,linechart,linechart,TOOLTIP,mouseover,SHOW,-,tooltip,USER", "elementId": "linechart", "elementGroup": "chart_group"}, {"action": "mouseover_INTERVAL", "index": 1, "name": "chart_group,linechart,linechart,TOOLTIP,mouseover_INTERVAL,SHOW,-,tooltip,USER", "elementId": "linechart", "
 elementGroup": "chart_group"}, {"action": "click", "index": 2, "name": "chart_group,linechart,linechart-aggregation,COMBOBOX,click,SELECT,-,options,USER", "elementId": "linechart", "elementGroup": "chart_group"}, {"action": "click", "index": 3, "name": "chart_group,linechart,linechart-trendline-hide,BUTTON,click,ALTER,-,linechart,USER", "elementId": "linechart", "elementGroup": "chart_group"}, {"action": "click", "index": 4, "name": "chart_group,linechart,linechart-trendline-show,BUTTON,click,ALTER,-,linechart,USER", "elementId": "linechart", "elementGroup": "chart_group"}, {"action": "drag", "index": 5, "name": "chart_group,linechart-brush,linechart-brush,CANVAS,drag,SELECT,-,linechart;brush,USER", "elementId": "linechart-brush", "elementGroup": "chart_group"}, {"action": "click", "index": 6, "name": "chart_group,linechart-clear-range,-,BUTTON,click,DESELECT,-,filter,USER", "elementId": "linechart-clear-range", "elementGroup": "chart_group"}, {"action": "click", "index": 7, "name":
  "chart_group,linechart-day,linechart-day,BUTTON,click,ALTER,-,linechart,USER", "elementId": "linechart-day", "elementGroup": "chart_group"}, {"action": "click", "index": 8, "name": "chart_group,linechart-hour,linechart-hour,BUTTON,click,ALTER,-,linechart,USER", "elementId": "linechart-hour", "elementGroup": "chart_group"}, {"action": "click", "index": 9, "name": "chart_group,linechart-range,date-range,CANVAS,click,SELECT,-,filter,USER", "elementId": "linechart-range", "elementGroup": "chart_group"}, {"action": "click", "index": 10, "name": "chart_group,tag-cloud,-,TAG,click,ADD,-,filter,USER", "elementId": "tag-cloud", "elementGroup": "chart_group"}, {"action": "click", "index": 11, "name": "chart_group,tag-cloud,-,TAG,click,REMOVE,-,filter,USER", "elementId": "tag-cloud", "elementGroup": "chart_group"}, {"action": "click", "index": 12, "name": "chart_group,tag-cloud-options,all-filters,BUTTON,click,SELECT,-,options,USER", "elementId": "tag-cloud-options", "elementGroup": "chart_gr
 oup"}, {"action": "click", "index": 13, "name": "chart_group,tag-cloud-options,any-filters,BUTTON,click,SELECT,-,options,USER", "elementId": "tag-cloud-options", "elementGroup": "chart_group"}, {"action": "click", "index": 14, "name": "chart_group,tag-cloud-options,remove-translation,BUTTON,click,SELECT,-,options,USER", "elementId": "tag-cloud-options", "elementGroup": "chart_group"}, {"action": "mouseover", "index": 15, "name": "chart_group,timeline,timeline,TOOLTIP,mouseover,SHOW,-,tooltip,USER", "elementId": "timeline", "elementGroup": "chart_group"}, {"action": "mouseover_INTERVAL", "index": 16, "name": "chart_group,timeline,timeline,TOOLTIP,mouseover_INTERVAL,SHOW,-,tooltip,USER", "elementId": "timeline", "elementGroup": "chart_group"}, {"action": "click", "index": 17, "name": "chart_group,timeline,timeline-showFocus-always,BUTTON,click,ALTER,-,timeline,USER", "elementId": "timeline", "elementGroup": "chart_group"}, {"action": "click", "index": 18, "name": "chart_group,timeline
 ,timeline-showFocus-never,BUTTON,click,ALTER,-,timeline,USER", "elementId": "timeline", "elementGroup": "chart_group"}, {"action": "click", "index": 19, "name": "chart_group,timeline,timeline-showFocus-on_filter,BUTTON,click,ALTER,-,timeline,USER", "elementId": "timeline", "elementGroup": "chart_group"}, {"action": "drag", "index": 20, "name": "chart_group,timeline-brush,timeline-brush,CANVAS,drag,SELECT,-,timeline;brush,USER", "elementId": "timeline-brush", "elementGroup": "chart_group"}, {"action": "click", "index": 21, "name": "chart_group,timeline-clear-range,-,BUTTON,click,DESELECT,-,filter,USER", "elementId": "timeline-clear-range", "elementGroup": "chart_group"}, {"action": "click", "index": 22, "name": "chart_group,timeline-day,timeline-day,BUTTON,click,ALTER,-,timeline,USER", "elementId": "timeline-day", "elementGroup": "chart_group"}, {"action": "click", "index": 23, "name": "chart_group,timeline-hour,timeline-hour,BUTTON,click,ALTER,-,timeline,USER", "elementId": "timelin
 e-hour", "elementGroup": "chart_group"}, {"action": "click", "index": 24, "name": "chart_group,timeline-month,timeline-month,BUTTON,click,ALTER,-,timeline,USER", "elementId": "timeline-month", "elementGroup": "chart_group"}, {"action": "click", "index": 25, "name": "chart_group,timeline-range,date-range,CANVAS,click,SELECT,-,timeline,USER", "elementId": "timeline-range", "elementGroup": "chart_group"}, {"action": "click", "index": 26, "name": "chart_group,timeline-year,timeline-year,BUTTON,click,ALTER,-,timeline,USER", "elementId": "timeline-year", "elementGroup": "chart_group"}, {"action": "click", "index": 27, "name": "map_group,map,-,TOOLTIP,click,HIDE,-,map,USER", "elementId": "map", "elementGroup": "map_group"}, {"action": "click", "index": 28, "name": "map_group,map,-,TOOLTIP,click,SHOW,-,map,USER", "elementId": "map", "elementGroup": "map_group"}, {"action": "click", "index": 29, "name": "map_group,map,geo-filter,BUTTON,click,DESELECT,-,map,USER", "elementId": "map", "element
 Group": "map_group"}, {"action": "drag", "index": 30, "name": "map_group,map,geo-filter,CANVAS,drag,SELECT,-,map,USER", "elementId": "map", "elementGroup": "map_group"}, {"action": "panstart", "index": 31, "name": "map_group,map,map-viewport,CANVAS,panstart,ALTER,-,map,USER", "elementId": "map", "elementGroup": "map_group"}, {"action": "zoom", "index": 32, "name": "map_group,map,map-viewport,CANVAS,zoom,ALTER,-,map,USER", "elementId": "map", "elementGroup": "map_group"}, {"action": "click", "index": 33, "name": "map_group,map-layer-active-button,-,BUTTON,click,ALTER,-,options,USER", "elementId": "map-layer-active-button", "elementGroup": "map_group"}, {"action": "click", "index": 34, "name": "query_group,filter-builder-add-filter,-,BUTTON,click,ADD,-,filter-builder,USER", "elementId": "filter-builder-add-filter", "elementGroup": "query_group"}, {"action": "click", "index": 35, "name": "query_group,filter-builder-and-clauses,-,BUTTON,click,ALTER,-,filter-builder,USER", "elementId": "
 filter-builder-and-clauses", "elementGroup": "query_group"}, {"action": "click", "index": 36, "name": "query_group,filter-builder-clear-all,-,BUTTON,click,REMOVE,-,filter-builder,USER", "elementId": "filter-builder-clear-all", "elementGroup": "query_group"}, {"action": "click", "index": 37, "name": "query_group,filter-builder-remove-filter,-,BUTTON,click,REMOVE,-,filter-builder,USER", "elementId": "filter-builder-remove-filter", "elementGroup": "query_group"}, {"action": "click", "index": 38, "name": "query_group,filter-builder-selected-field,-,COMBOBOX,click,SELECT,-,filter-builder,USER", "elementId": "filter-builder-selected-field", "elementGroup": "query_group"}, {"action": "click", "index": 39, "name": "query_group,filter-builder-selectedOperator,-,COMBOBOX,click,SELECT,-,filter-builder,USER", "elementId": "filter-builder-selectedOperator", "elementGroup": "query_group"}, {"action": "keydown", "index": 40, "name": "query_group,filter-builder-selectedValue,-,TEXTBOX,keydown,ENTER
 ,-,filter-builder,USER", "elementId": "filter-builder-selectedValue", "elementGroup": "query_group"}, {"action": "keydown_INTERVAL", "index": 41, "name": "query_group,filter-builder-selectedValue,-,TEXTBOX,keydown_INTERVAL,ENTER,-,filter-builder,USER", "elementId": "filter-builder-selectedValue", "elementGroup": "query_group"}, {"action": "click", "index": 42, "name": "query_group,filter-builder-update-filter-0,-,BUTTON,click,ALTER,-,filter-builder,USER", "elementId": "filter-builder-update-filter-0", "elementGroup": "query_group"}, {"action": "click", "index": 43, "name": "query_group,filter-builder-update-filter-1,-,BUTTON,click,ALTER,-,filter-builder,USER", "elementId": "filter-builder-update-filter-1", "elementGroup": "query_group"}, {"action": "click", "index": 44, "name": "query_group,filter-builder-update-filter-2,-,BUTTON,click,ALTER,-,filter-builder,USER", "elementId": "filter-builder-update-filter-2", "elementGroup": "query_group"}, {"action": "click", "index": 45, "name":
  "table_group,datagrid,-,DATAGRID,click,ALTER,-,sort-column,USER", "elementId": "datagrid", "elementGroup": "table_group"}, {"action": "drag", "index": 46, "name": "table_group,datagrid,-,DATAGRID,drag,ALTER,-,reorder-column,USER", "elementId": "datagrid", "elementGroup": "table_group"}, {"action": "drag", "index": 47, "name": "table_group,datagrid,-,DATAGRID,drag,ALTER,-,resize-column,USER", "elementId": "datagrid", "elementGroup": "table_group"}, {"action": "scroll", "index": 48, "name": "table_group,datagrid,-,DATAGRID,scroll,ALTER,-,scroll-datagrid,USER", "elementId": "datagrid", "elementGroup": "table_group"}, {"action": "scroll_INTERVAL", "index": 49, "name": "table_group,datagrid,-,DATAGRID,scroll_INTERVAL,ALTER,-,scroll-datagrid,USER", "elementId": "datagrid", "elementGroup": "table_group"}, {"action": "keydown_INTERVAL", "index": 50, "name": "table_group,datagrid-limit,-,TEXTBOX,keydown_INTERVAL,ALTER,-,options,USER", "elementId": "datagrid-limit", "elementGroup": "table_gr
 oup"}, {"action": "click", "index": 51, "name": "table_group,datagrid-refresh,-,BUTTON,click,PERFORM,-,options,USER", "elementId": "datagrid-refresh", "elementGroup": "table_group"}, {"action": "click", "index": 52, "name": "table_group,datagrid-sort-direction,-,RADIOBUTTON,click,SELECT,-,options,USER", "elementId": "datagrid-sort-direction", "elementGroup": "table_group"}, {"action": "click", "index": 53, "name": "top,chart-options,-,BUTTON,click,HIDE,-,options,USER", "elementId": "chart-options", "elementGroup": "top"}, {"action": "click", "index": 54, "name": "top,chart-options,-,BUTTON,click,SHOW,-,options,USER", "elementId": "chart-options", "elementGroup": "top"}, {"action": "click", "index": 55, "name": "top,dataset-menu,-,BUTTON,click,SELECT,-,dataset,USER", "elementId": "dataset-menu", "elementGroup": "top"}, {"action": "onload", "index": 56, "name": "top,window,-,WINDOW,onload,SHOW,-,-,USER", "elementId": "window", "elementGroup": "top"}, {"action": "click", "index": 57, "
 name": "top,workspace,layout,WORKSPACE,click,ALTER,-,visualization,USER", "elementId": "workspace", "elementGroup": "top"}, {"action": "dragstart", "index": 58, "name": "top,workspace,layout,WORKSPACE,dragstart,ALTER,-,visualization,USER", "elementId": "workspace", "elementGroup": "top"}], "outMatrix": [[0.0, 0.0, 0.0, 0.0, 59.0, 51.0, 3.0, 6.0, 50.0, 3.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 20.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 50.0, 0.0, 0.0, 0.0, 2.0, 0.0, 4.0, 2.0, 1.0, 3.0, 22.0, 10.0, 0.0, 0.0, 4.0, 0.0, 0.0, 28.0, 44.0, 0.0, 0.0, 0.0, 26.0, 88.0, 2.0, 0.0, 0.0, 81.0, 6.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 
 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [5.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6.0, 1.0, 0.0, 0.0, 0.0, 0.0, 3.0], [52.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 40.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [12.0, 0.0, 0.0, 0.0, 0.0, 0.0, 22.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.
 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 33.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 1.0, 2.0], [16.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 14.0, 14.0, 0.0, 0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 87.0, 4.0, 0.0, 0.0, 0.0, 3.0, 3.0, 1.0, 0.0, 0.0, 0.0, 3.0], [6.0, 0.0, 0.0, 2.0, 1.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 9.0, 21.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 2.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 146.0, 7.0, 0.0, 0.0, 0.0, 3.0, 1.0, 1.0, 0.0, 0.0, 1.0, 5.0], [28.0, 0.0, 0.0, 0.0, 6.0, 0.0, 0.0, 22.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 27.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.
 0, 0.0, 8.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.0, 0.0, 0.0, 0.0, 5.0, 8.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 110.0, 14.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 2.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 7.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 64.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.
 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 87.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 7.0, 12.0, 0.0, 20.0, 8.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 105.0, 11.0, 2.0, 0.0, 1.0, 32.0, 1.0, 3.0, 10.0, 0.0, 0.0, 53.0, 0.0, 3.0, 5.0, 2.0, 6.0, 29.0, 11.0, 1.0, 0.0, 49.0, 31.0, 1.0, 0.0, 1.0, 0.0, 0.0, 90.0, 45.0, 0.0, 0.0, 0.0, 23.0, 39.0, 4.0, 0.0, 0.0, 10.0, 0.0], [0.0, 0.0, 0.0, 1.0, 5.0, 4.0, 28.0, 49.0, 0.0, 36.0, 19.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 289.0, 90.0, 1.0, 1.0, 0.0, 122.0, 1.0, 12.0, 13.0, 4.0, 1.0, 100.0, 0.0, 3.
 0, 4.0, 7.0, 18.0, 55.0, 16.0, 4.0, 6.0, 56.0, 76.0, 6.0, 0.0, 2.0, 0.0, 0.0, 124.0, 89.0, 0.0, 0.0, 0.0, 21.0, 103.0, 7.0, 0.0, 0.0, 20.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 1.0, 0.0, 1.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0
 .0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 33.0, 120.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 382.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 18.0, 10.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 56.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 8.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 6.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0
 .0, 0.0, 0.0, 3.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 11.0, 5.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 7.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 23.0, 95.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 89.0, 190.0, 0.0, 0.0, 0.0, 71.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 64.0, 6.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 7.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0,
  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [2.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 0.0, 0.0, 0.0, 1.0, 19.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 53.0, 1.0, 0.0, 158.0, 1.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 2.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 6.0, 11.0, 1.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 10.0, 0.0, 0.0, 0.0, 294.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 14.0, 0.0, 0.0, 0
 .0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 16.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 13.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [13.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 6.0, 3.0, 0.0, 0.0, 0.0, 39.0, 83.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 224.0, 128.0, 1.0, 19.0, 0.0, 1655.0, 3.0, 0.0, 1.0, 0.0, 8.0, 2.0, 0.0, 2.0, 20.0, 12.0, 0.0, 0.0, 2.0, 0.0, 1.0, 11.0, 43.0, 0.0, 0.0, 0.0, 6.0, 28.0, 4.0, 0.0, 0.0, 3.0, 3.0], [43.0, 2.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 34.0, 80.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 45.0, 2.0, 6.0, 1116.0, 0.0, 6.0, 0.0, 2.0, 1.0, 11.0, 1.0, 0.0, 1.0, 10.0, 8.0, 0.0, 0.0, 0.0, 0.0, 0.0, 110.0, 83.0, 0.0, 0.0, 0.0, 20.0, 44.0, 0.0, 0.0, 0.0, 7.0, 11.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.
 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 6.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 1.0, 0.0, 0.0, 0.0, 65.0, 2.0, 0.0, 0.0, 0.0, 2.0, 1.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 19.0, 34.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 9.0, 0.0, 0.0, 0.0, 0.0, 1.0, 6.0, 0.0, 0.0, 0.0, 2.0, 7.0, 1.0, 0.0, 0.0, 0.0, 0.0, 199.0, 31.0, 0.0, 0.0, 0.0, 1.0, 4.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5.0, 5.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 2.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.
 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 22.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 11.0, 12.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 1.0, 19.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 125.0, 8.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 10.0, 10.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 2.0, 7.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 2.0, 3.0, 0.0, 0.0, 0.0, 0.0, 
 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 24.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 6.0, 9.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 278.0, 3.0, 0.0, 1.0, 2.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 9.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 14.0, 20.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 4.0, 0.0, 0.0, 0.0, 1.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 149.0, 15.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0
 .0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 7.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 14.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0
 .0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [108.0, 3.0, 0.0, 0.0, 8.0, 4.0, 35.0, 15.0, 2.0, 55.0, 38.0, 0.0, 0.0, 0.0, 206.0, 496.0, 0.0, 0.0, 0.0, 44.0, 11.0, 0.0, 3.0, 1.0, 5.0, 0.0, 13.0, 24.0, 5.0, 1.0, 154.0, 1.0, 0.0, 5.0, 0.0, 2.0, 50.0, 2.0, 0.0, 9.0, 84.0, 45.0, 5.0, 1.0, 3.0, 0.0, 0.0, 0.0, 6.0, 0.0, 4.0, 0.0, 23.0, 21.0, 3.0, 0.0, 0.0, 16.0, 25.0], [68.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 12.0, 2.0, 0.0, 0.0, 0.0, 38.0, 106.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.0, 13.0, 3.0, 2.0, 97.0, 0.0, 0.0, 0.0, 1.0, 3.0, 10.0, 0.0, 0.0, 0.0, 21.0, 
 15.0, 0.0, 0.0, 10.0, 2.0, 3.0, 1.0, 0.0, 0.0, 2.0, 0.0, 5.0, 24.0, 3.0, 0.0, 0.0, 14.0, 15.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 9.0, 7.0, 0.0, 0.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [83.0, 0.0
 , 1.0, 0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 6.0, 2.0, 0.0, 0.0, 0.0, 35.0, 92.0, 0.0, 0.0, 0.0, 3.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 13.0, 1.0, 1.0, 66.0, 0.0, 0.0, 1.0, 0.0, 1.0, 3.0, 1.0, 2.0, 0.0, 5.0, 2.0, 0.0, 0.0, 2.0, 0.0, 0.0, 5.0, 22.0, 0.0, 1.0, 0.0, 0.0, 45.0, 3.0, 0.0, 0.0, 7.0, 8.0], [26.0, 0.0, 2.0, 10.0, 1.0, 0.0, 5.0, 6.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 9.0, 20.0, 3.0, 0.0, 0.0, 0.0, 0.0, 13.0, 7.0, 18.0, 0.0, 7.0, 4.0, 0.0, 0.0, 0.0, 32.0, 0.0, 71.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 2.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5.0, 8.0, 3.0, 14.0, 0.0, 151.0, 0.0, 3.0, 0.0, 1.0, 12.0, 6.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 94.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 53.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 
 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [13.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 5.0, 4.0], [75.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 8.0, 13.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 10.0, 0.0, 0.0, 0.0, 1.0, 0.0, 2.0, 1.0, 0.0, 1.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 7.0, 24.0, 0.0, 0.0, 0.0, 7.0, 6.0, 0.0, 0.0, 29.0, 0.0, 17.0], [12.0, 0.0, 1.0, 2.0, 13.0, 8.0, 4.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.
 0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 8.0, 9.0, 0.0, 0.0, 0.0, 11.0, 12.0, 0.0, 0.0, 1.0, 16.0, 0.0]], "inMatrix": [[0.0, 0.0, 0.0, 0.0, 59.0, 51.0, 3.0, 6.0, 50.0, 3.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 20.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 50.0, 0.0, 0.0, 0.0, 2.0, 0.0, 4.0, 2.0, 1.0, 3.0, 22.0, 10.0, 0.0, 0.0, 4.0, 0.0, 0.0, 28.0, 44.0, 0.0, 0.0, 0.0, 26.0, 88.0, 2.0, 0.0, 0.0, 81.0, 6.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0,
  0.0, 0.0, 0.0, 0.0, 1.0], [5.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6.0, 1.0, 0.0, 0.0, 0.0, 0.0, 3.0], [52.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 40.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [12.0, 0.0, 0.0, 0.0, 0.0, 0.0, 22.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 33.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 1.0, 2.0], [16.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 14
 .0, 14.0, 0.0, 0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 87.0, 4.0, 0.0, 0.0, 0.0, 3.0, 3.0, 1.0, 0.0, 0.0, 0.0, 3.0], [6.0, 0.0, 0.0, 2.0, 1.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 9.0, 21.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 2.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 146.0, 7.0, 0.0, 0.0, 0.0, 3.0, 1.0, 1.0, 0.0, 0.0, 1.0, 5.0], [28.0, 0.0, 0.0, 0.0, 6.0, 0.0, 0.0, 22.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 27.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 8.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.0, 0.0, 0.0, 0.0, 5.0, 8.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0,
  0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 110.0, 14.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 2.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 7.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 64.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0
 .0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 87.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 7.0, 12.0, 0.0, 20.0, 8.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 105.0, 11.0, 2.0, 0.0, 1.0, 32.0, 1.0, 3.0, 10.0, 0.0, 0.0, 53.0, 0.0, 3.0, 5.0, 2.0, 6.0, 29.0, 11.0, 1.0, 0.0, 49.0, 31.0, 1.0, 0.0, 1.0, 0.0, 0.0, 90.0, 45.0, 0.0, 0.0, 0.0, 23.0, 39.0, 4.0, 0.0, 0.0, 10.0, 0.0], [0.0, 0.0, 0.0, 1.0, 5.0, 4.0, 28.0, 49.0, 0.0, 36.0, 19.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 289.0, 90.0, 1.0, 1.0, 0.0, 122.0, 1.0, 12.0, 13.0, 4.0, 1.0, 100.0, 0.0, 3.0, 4.0, 7.0, 18.0, 55.0, 16.0, 4.0, 6.0, 56.0, 76.0, 6.0, 0.0, 2.0, 0.0, 0.0, 124.0, 89.0, 0.0, 0.0, 0.0, 21.0, 103.0, 7.0, 0.0, 0.0, 20.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.
 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 1.0, 0.0, 1.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 33.0, 120.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 382.0, 0.0, 0.0, 0.0
 , 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 18.0, 10.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 56.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 8.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 6.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 
 0.0, 0.0, 0.0, 0.0, 6.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 11.0, 5.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 7.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 23.0, 95.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 89.0, 190.0, 0.0, 0.0, 0.0, 71.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 64.0, 6.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 7.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [2.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0
 .0, 2.0, 2.0, 0.0, 0.0, 0.0, 1.0, 19.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 53.0, 1.0, 0.0, 158.0, 1.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 2.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 6.0, 11.0, 1.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 10.0, 0.0, 0.0, 0.0, 294.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 14.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
 , 0.0, 0.0, 16.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 13.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [13.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 6.0, 3.0, 0.0, 0.0, 0.0, 39.0, 83.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 224.0, 128.0, 1.0, 19.0, 0.0, 1655.0, 3.0, 0.0, 1.0, 0.0, 8.0, 2.0, 0.0, 2.0, 20.0, 12.0, 0.0, 0.0, 2.0, 0.0, 1.0, 11.0, 43.0, 0.0, 0.0, 0.0, 6.0, 28.0, 4.0, 0.0, 0.0, 3.0, 3.0], [43.0, 2.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 34.0, 80.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 45.0, 2.0, 6.0, 1116.0, 0.0, 6.0, 0.0, 2.0, 1.0, 11.0, 1.0, 0.0, 1.0, 10.0, 8.0, 0.0, 0.0, 0.0, 0.0, 0.0, 110.0, 83.0, 0.0, 0.0, 0.0, 20.0, 44.0, 0.0, 0.0, 0.0, 7.0, 11.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 6.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0
 .0, 0.0, 0.0, 0.0, 0.0, 3.0, 1.0, 0.0, 0.0, 0.0, 65.0, 2.0, 0.0, 0.0, 0.0, 2.0, 1.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 19.0, 34.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 9.0, 0.0, 0.0, 0.0, 0.0, 1.0, 6.0, 0.0, 0.0, 0.0, 2.0, 7.0, 1.0, 0.0, 0.0, 0.0, 0.0, 199.0, 31.0, 0.0, 0.0, 0.0, 1.0, 4.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5.0, 5.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 2.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 22.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0
 , 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 11.0, 12.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 1.0, 19.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 125.0, 8.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 10.0, 10.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 2.0, 7.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 2.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.
 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 24.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 6.0, 9.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 278.0, 3.0, 0.0, 1.0, 2.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 9.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 14.0, 20.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 4.0, 0.0, 0.0, 0.0, 1.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 149.0, 15.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 
 0.0, 0.0, 0.0, 0.0, 0.0, 7.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 14.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0
 , 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [108.0, 3.0, 0.0, 0.0, 8.0, 4.0, 35.0, 15.0, 2.0, 55.0, 38.0, 0.0, 0.0, 0.0, 206.0, 496.0, 0.0, 0.0, 0.0, 44.0, 11.0, 0.0, 3.0, 1.0, 5.0, 0.0, 13.0, 24.0, 5.0, 1.0, 154.0, 1.0, 0.0, 5.0, 0.0, 2.0, 50.0, 2.0, 0.0, 9.0, 84.0, 45.0, 5.0, 1.0, 3.0, 0.0, 0.0, 0.0, 6.0, 0.0, 4.0, 0.0, 23.0, 21.0, 3.0, 0.0, 0.0, 16.0, 25.0], [68.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 12.0, 2.0, 0.0, 0.0, 0.0, 38.0, 106.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.0, 13.0, 3.0, 2.0, 97.0, 0.0, 0.0, 0.0, 1.0, 3.0, 10.0, 0.0, 0.0, 0.0, 21.0, 15.0, 0.0, 0.0, 10.0, 2.0, 3.0, 1.0, 0.0, 0.0, 2.0, 0.0, 5.0, 24.0, 3.0, 0.0, 0.0, 14.0, 15.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.
 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 9.0, 7.0, 0.0, 0.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [83.0, 0.0, 1.0, 0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 6.0, 2.0, 0.0, 0.0, 0.0, 35.0, 92.0, 0.0, 0.0, 0.0, 3.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 13.0, 1.0, 1.0, 66.0, 0.0, 0.0, 1.0, 0.0, 1.0, 3.0, 1.0
 , 2.0, 0.0, 5.0, 2.0, 0.0, 0.0, 2.0, 0.0, 0.0, 5.0, 22.0, 0.0, 1.0, 0.0, 0.0, 45.0, 3.0, 0.0, 0.0, 7.0, 8.0], [26.0, 0.0, 2.0, 10.0, 1.0, 0.0, 5.0, 6.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 9.0, 20.0, 3.0, 0.0, 0.0, 0.0, 0.0, 13.0, 7.0, 18.0, 0.0, 7.0, 4.0, 0.0, 0.0, 0.0, 32.0, 0.0, 71.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 2.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5.0, 8.0, 3.0, 14.0, 0.0, 151.0, 0.0, 3.0, 0.0, 1.0, 12.0, 6.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 94.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 53.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  0.0, 0.0, 0.0], [13.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 5.0, 4.0], [75.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 8.0, 13.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 10.0, 0.0, 0.0, 0.0, 1.0, 0.0, 2.0, 1.0, 0.0, 1.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 7.0, 24.0, 0.0, 0.0, 0.0, 7.0, 6.0, 0.0, 0.0, 29.0, 0.0, 17.0], [12.0, 0.0, 1.0, 2.0, 13.0, 8.0, 4.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 8.0, 9.0, 0.0, 0.0, 0.0, 11.0, 12.0, 0.0, 0.0, 1.0, 16.0, 0.0]], "in": [{"action": "mouseover", "index": 0, "name": "chart_group,linechart,li
 nechart,TOOLTIP,mouseover,SHOW,-,tooltip,USER", "elementId": "linechart", "elementGroup": "chart_group"}, {"action": "mouseover_INTERVAL", "index": 1, "name": "chart_group,linechart,linechart,TOOLTIP,mouseover_INTERVAL,SHOW,-,tooltip,USER", "elementId": "linechart", "elementGroup": "chart_group"}, {"action": "click", "index": 2, "name": "chart_group,linechart,linechart-aggregation,COMBOBOX,click,SELECT,-,options,USER", "elementId": "linechart", "elementGroup": "chart_group"}, {"action": "click", "index": 3, "name": "chart_group,linechart,linechart-trendline-hide,BUTTON,click,ALTER,-,linechart,USER", "elementId": "linechart", "elementGroup": "chart_group"}, {"action": "click", "index": 4, "name": "chart_group,linechart,linechart-trendline-show,BUTTON,click,ALTER,-,linechart,USER", "elementId": "linechart", "elementGroup": "chart_group"}, {"action": "drag", "index": 5, "name": "chart_group,linechart-brush,linechart-brush,CANVAS,drag,SELECT,-,linechart;brush,USER", "elementId": "linech
 art-brush", "elementGroup": "chart_group"}, {"action": "click", "index": 6, "name": "chart_group,linechart-clear-range,-,BUTTON,click,DESELECT,-,filter,USER", "elementId": "linechart-clear-range", "elementGroup": "chart_group"}, {"action": "click", "index": 7, "name": "chart_group,linechart-day,linechart-day,BUTTON,click,ALTER,-,linechart,USER", "elementId": "linechart-day", "elementGroup": "chart_group"}, {"action": "click", "index": 8, "name": "chart_group,linechart-hour,linechart-hour,BUTTON,click,ALTER,-,linechart,USER", "elementId": "linechart-hour", "elementGroup": "chart_group"}, {"action": "click", "index": 9, "name": "chart_group,linechart-range,date-range,CANVAS,click,SELECT,-,filter,USER", "elementId": "linechart-range", "elementGroup": "chart_group"}, {"action": "click", "index": 10, "name": "chart_group,tag-cloud,-,TAG,click,ADD,-,filter,USER", "elementId": "tag-cloud", "elementGroup": "chart_group"}, {"action": "click", "index": 11, "name": "chart_group,tag-cloud,-,TAG
 ,click,REMOVE,-,filter,USER", "elementId": "tag-cloud", "elementGroup": "chart_group"}, {"action": "click", "index": 12, "name": "chart_group,tag-cloud-options,all-filters,BUTTON,click,SELECT,-,options,USER", "elementId": "tag-cloud-options", "elementGroup": "chart_group"}, {"action": "click", "index": 13, "name": "chart_group,tag-cloud-options,any-filters,BUTTON,click,SELECT,-,options,USER", "elementId": "tag-cloud-options", "elementGroup": "chart_group"}, {"action": "click", "index": 14, "name": "chart_group,tag-cloud-options,remove-translation,BUTTON,click,SELECT,-,options,USER", "elementId": "tag-cloud-options", "elementGroup": "chart_group"}, {"action": "mouseover", "index": 15, "name": "chart_group,timeline,timeline,TOOLTIP,mouseover,SHOW,-,tooltip,USER", "elementId": "timeline", "elementGroup": "chart_group"}, {"action": "mouseover_INTERVAL", "index": 16, "name": "chart_group,timeline,timeline,TOOLTIP,mouseover_INTERVAL,SHOW,-,tooltip,USER", "elementId": "timeline", "elementG
 roup": "chart_group"}, {"action": "click", "index": 17, "name": "chart_group,timeline,timeline-showFocus-always,BUTTON,click,ALTER,-,timeline,USER", "elementId": "timeline", "elementGroup": "chart_group"}, {"action": "click", "index": 18, "name": "chart_group,timeline,timeline-showFocus-never,BUTTON,click,ALTER,-,timeline,USER", "elementId": "timeline", "elementGroup": "chart_group"}, {"action": "click", "index": 19, "name": "chart_group,timeline,timeline-showFocus-on_filter,BUTTON,click,ALTER,-,timeline,USER", "elementId": "timeline", "elementGroup": "chart_group"}, {"action": "drag", "index": 20, "name": "chart_group,timeline-brush,timeline-brush,CANVAS,drag,SELECT,-,timeline;brush,USER", "elementId": "timeline-brush", "elementGroup": "chart_group"}, {"action": "click", "index": 21, "name": "chart_group,timeline-clear-range,-,BUTTON,click,DESELECT,-,filter,USER", "elementId": "timeline-clear-range", "elementGroup": "chart_group"}, {"action": "click", "index": 22, "name": "chart_gr
 oup,timeline-day,timeline-day,BUTTON,click,ALTER,-,timeline,USER", "elementId": "timeline-day", "elementGroup": "chart_group"}, {"action": "click", "index": 23, "name": "chart_group,timeline-hour,timeline-hour,BUTTON,click,ALTER,-,timeline,USER", "elementId": "timeline-hour", "elementGroup": "chart_group"}, {"action": "click", "index": 24, "name": "chart_group,timeline-month,timeline-month,BUTTON,click,ALTER,-,timeline,USER", "elementId": "timeline-month", "elementGroup": "chart_group"}, {"action": "click", "index": 25, "name": "chart_group,timeline-range,date-range,CANVAS,click,SELECT,-,timeline,USER", "elementId": "timeline-range", "elementGroup": "chart_group"}, {"action": "click", "index": 26, "name": "chart_group,timeline-year,timeline-year,BUTTON,click,ALTER,-,timeline,USER", "elementId": "timeline-year", "elementGroup": "chart_group"}, {"action": "click", "index": 27, "name": "map_group,map,-,TOOLTIP,click,HIDE,-,map,USER", "elementId": "map", "elementGroup": "map_group"}, {"
 action": "click", "index": 28, "name": "map_group,map,-,TOOLTIP,click,SHOW,-,map,USER", "elementId": "map", "elementGroup": "map_group"}, {"action": "click", "index": 29, "name": "map_group,map,geo-filter,BUTTON,click,DESELECT,-,map,USER", "elementId": "map", "elementGroup": "map_group"}, {"action": "drag", "index": 30, "name": "map_group,map,geo-filter,CANVAS,drag,SELECT,-,map,USER", "elementId": "map", "elementGroup": "map_group"}, {"action": "panstart", "index": 31, "name": "map_group,map,map-viewport,CANVAS,panstart,ALTER,-,map,USER", "elementId": "map", "elementGroup": "map_group"}, {"action": "zoom", "index": 32, "name": "map_group,map,map-viewport,CANVAS,zoom,ALTER,-,map,USER", "elementId": "map", "elementGroup": "map_group"}, {"action": "click", "index": 33, "name": "map_group,map-layer-active-button,-,BUTTON,click,ALTER,-,options,USER", "elementId": "map-layer-active-button", "elementGroup": "map_group"}, {"action": "click", "index": 34, "name": "query_group,filter-builder-
 add-filter,-,BUTTON,click,ADD,-,filter-builder,USER", "elementId": "filter-builder-add-filter", "elementGroup": "query_group"}, {"action": "click", "index": 35, "name": "query_group,filter-builder-and-clauses,-,BUTTON,click,ALTER,-,filter-builder,USER", "elementId": "filter-builder-and-clauses", "elementGroup": "query_group"}, {"action": "click", "index": 36, "name": "query_group,filter-builder-clear-all,-,BUTTON,click,REMOVE,-,filter-builder,USER", "elementId": "filter-builder-clear-all", "elementGroup": "query_group"}, {"action": "click", "index": 37, "name": "query_group,filter-builder-remove-filter,-,BUTTON,click,REMOVE,-,filter-builder,USER", "elementId": "filter-builder-remove-filter", "elementGroup": "query_group"}, {"action": "click", "index": 38, "name": "query_group,filter-builder-selected-field,-,COMBOBOX,click,SELECT,-,filter-builder,USER", "elementId": "filter-builder-selected-field", "elementGroup": "query_group"}, {"action": "click", "index": 39, "name": "query_group,
 filter-builder-selectedOperator,-,COMBOBOX,click,SELECT,-,filter-builder,USER", "elementId": "filter-builder-selectedOperator", "elementGroup": "query_group"}, {"action": "keydown", "index": 40, "name": "query_group,filter-builder-selectedValue,-,TEXTBOX,keydown,ENTER,-,filter-builder,USER", "elementId": "filter-builder-selectedValue", "elementGroup": "query_group"}, {"action": "keydown_INTERVAL", "index": 41, "name": "query_group,filter-builder-selectedValue,-,TEXTBOX,keydown_INTERVAL,ENTER,-,filter-builder,USER", "elementId": "filter-builder-selectedValue", "elementGroup": "query_group"}, {"action": "click", "index": 42, "name": "query_group,filter-builder-update-filter-0,-,BUTTON,click,ALTER,-,filter-builder,USER", "elementId": "filter-builder-update-filter-0", "elementGroup": "query_group"}, {"action": "click", "index": 43, "name": "query_group,filter-builder-update-filter-1,-,BUTTON,click,ALTER,-,filter-builder,USER", "elementId": "filter-builder-update-filter-1", "elementGroup
 ": "query_group"}, {"action": "click", "index": 44, "name": "query_group,filter-builder-update-filter-2,-,BUTTON,click,ALTER,-,filter-builder,USER", "elementId": "filter-builder-update-filter-2", "elementGroup": "query_group"}, {"action": "click", "index": 45, "name": "table_group,datagrid,-,DATAGRID,click,ALTER,-,sort-column,USER", "elementId": "datagrid", "elementGroup": "table_group"}, {"action": "drag", "index": 46, "name": "table_group,datagrid,-,DATAGRID,drag,ALTER,-,reorder-column,USER", "elementId": "datagrid", "elementGroup": "table_group"}, {"action": "drag", "index": 47, "name": "table_group,datagrid,-,DATAGRID,drag,ALTER,-,resize-column,USER", "elementId": "datagrid", "elementGroup": "table_group"}, {"action": "scroll", "index": 48, "name": "table_group,datagrid,-,DATAGRID,scroll,ALTER,-,scroll-datagrid,USER", "elementId": "datagrid", "elementGroup": "table_group"}, {"action": "scroll_INTERVAL", "index": 49, "name": "table_group,datagrid,-,DATAGRID,scroll_INTERVAL,ALTER,
 -,scroll-datagrid,USER", "elementId": "datagrid", "elementGroup": "table_group"}, {"action": "keydown_INTERVAL", "index": 50, "name": "table_group,datagrid-limit,-,TEXTBOX,keydown_INTERVAL,ALTER,-,options,USER", "elementId": "datagrid-limit", "elementGroup": "table_group"}, {"action": "click", "index": 51, "name": "table_group,datagrid-refresh,-,BUTTON,click,PERFORM,-,options,USER", "elementId": "datagrid-refresh", "elementGroup": "table_group"}, {"action": "click", "index": 52, "name": "table_group,datagrid-sort-direction,-,RADIOBUTTON,click,SELECT,-,options,USER", "elementId": "datagrid-sort-direction", "elementGroup": "table_group"}, {"action": "click", "index": 53, "name": "top,chart-options,-,BUTTON,click,HIDE,-,options,USER", "elementId": "chart-options", "elementGroup": "top"}, {"action": "click", "index": 54, "name": "top,chart-options,-,BUTTON,click,SHOW,-,options,USER", "elementId": "chart-options", "elementGroup": "top"}, {"action": "click", "index": 55, "name": "top,data
 set-menu,-,BUTTON,click,SELECT,-,dataset,USER", "elementId": "dataset-menu", "elementGroup": "top"}, {"action": "onload", "index": 56, "name": "top,window,-,WINDOW,onload,SHOW,-,-,USER", "elementId": "window", "elementGroup": "top"}, {"action": "click", "index": 57, "name": "top,workspace,layout,WORKSPACE,click,ALTER,-,visualization,USER", "elementId": "workspace", "elementGroup": "top"}, {"action": "dragstart", "index": 58, "name": "top,workspace,layout,WORKSPACE,dragstart,ALTER,-,visualization,USER", "elementId": "workspace", "elementGroup": "top"}]}, "degree": {"blt": [{"index": 0, "value": 53}, {"index": 1, "value": 6}, {"index": 2, "value": 10}, {"index": 3, "value": 12}, {"index": 4, "value": 12}, {"index": 5, "value": 15}, {"index": 6, "value": 29}, {"index": 7, "value": 34}, {"index": 8, "value": 11}, {"index": 9, "value": 26}, {"index": 10, "value": 25}, {"index": 11, "value": 3}, {"index": 12, "value": 2}, {"index": 13, "value": 6}, {"index": 14, "value": 67}, {"index": 15
 , "value": 73}, {"index": 16, "value": 11}, {"index": 17, "value": 2}, {"index": 18, "value": 5}, {"index": 19, "value": 20}, {"index": 20, "value": 20}, {"index": 21, "value": 15}, {"index": 22, "value": 9}, {"index": 23, "value": 13}, {"index": 24, "value": 16}, {"index": 25, "value": 9}, {"index": 26, "value": 30}, {"index": 27, "value": 18}, {"index": 28, "value": 11}, {"index": 29, "value": 9}, {"index": 30, "value": 57}, {"index": 31, "value": 30}, {"index": 32, "value": 16}, {"index": 33, "value": 26}, {"index": 34, "value": 20}, {"index": 35, "value": 16}, {"index": 36, "value": 35}, {"index": 37, "value": 25}, {"index": 38, "value": 11}, {"index": 39, "value": 12}, {"index": 40, "value": 33}, {"index": 41, "value": 26}, {"index": 42, "value": 9}, {"index": 43, "value": 2}, {"index": 44, "value": 20}, {"index": 45, "value": 3}, {"index": 46, "value": 6}, {"index": 47, "value": 77}, {"index": 48, "value": 56}, {"index": 49, "value": 2}, {"index": 50, "value": 9}, {"index": 51
 , "value": 2}, {"index": 52, "value": 62}, {"index": 53, "value": 56}, {"index": 54, "value": 18}, {"index": 55, "value": 2}, {"index": 56, "value": 11}, {"index": 57, "value": 44}, {"index": 58, "value": 42}], "out": [{"action": "mouseover", "index": 0, "name": "chart_group,linechart,linechart,TOOLTIP,mouseover,SHOW,-,tooltip,USER", "elementId": "linechart", "elementGroup": "chart_group"}, {"action": "mouseover_INTERVAL", "index": 1, "name": "chart_group,linechart,linechart,TOOLTIP,mouseover_INTERVAL,SHOW,-,tooltip,USER", "elementId": "linechart", "elementGroup": "chart_group"}, {"action": "click", "index": 2, "name": "chart_group,linechart,linechart-aggregation,COMBOBOX,click,SELECT,-,options,USER", "elementId": "linechart", "elementGroup": "chart_group"}, {"action": "click", "index": 3, "name": "chart_group,linechart,linechart-trendline-hide,BUTTON,click,ALTER,-,linechart,USER", "elementId": "linechart", "elementGroup": "chart_group"}, {"action": "click", "index": 4, "name": "cha
 rt_group,linechart,linechart-trendline-show,BUTTON,click,ALTER,-,linechart,USER", "elementId": "linechart", "elementGroup": "chart_group"}, {"action": "drag", "index": 5, "name": "chart_group,linechart-brush,linechart-brush,CANVAS,drag,SELECT,-,linechart;brush,USER", "elementId": "linechart-brush", "elementGroup": "chart_group"}, {"action": "click", "index": 6, "name": "chart_group,linechart-clear-range,-,BUTTON,click,DESELECT,-,filter,USER", "elementId": "linechart-clear-range", "elementGroup": "chart_group"}, {"action": "click", "index": 7, "name": "chart_group,linechart-day,linechart-day,BUTTON,click,ALTER,-,linechart,USER", "elementId": "linechart-day", "elementGroup": "chart_group"}, {"action": "click", "index": 8, "name": "chart_group,linechart-hour,linechart-hour,BUTTON,click,ALTER,-,linechart,USER", "elementId": "linechart-hour", "elementGroup": "chart_group"}, {"action": "click", "index": 9, "name": "chart_group,linechart-range,date-range,CANVAS,click,SELECT,-,filter,USER",
  "elementId": "linechart-range", "elementGroup": "chart_group"}, {"action": "click", "index": 10, "name": "chart_group,tag-cloud,-,TAG,click,ADD,-,filter,USER", "elementId": "tag-cloud", "elementGroup": "chart_group"}, {"action": "click", "index": 11, "name": "chart_group,tag-cloud,-,TAG,click,REMOVE,-,filter,USER", "elementId": "tag-cloud", "elementGroup": "chart_group"}, {"action": "click", "index": 12, "name": "chart_group,tag-cloud-options,all-filters,BUTTON,click,SELECT,-,options,USER", "elementId": "tag-cloud-options", "elementGroup": "chart_group"}, {"action": "click", "index": 13, "name": "chart_group,tag-cloud-options,any-filters,BUTTON,click,SELECT,-,options,USER", "elementId": "tag-cloud-options", "elementGroup": "chart_group"}, {"action": "click", "index": 14, "name": "chart_group,tag-cloud-options,remove-translation,BUTTON,click,SELECT,-,options,USER", "elementId": "tag-cloud-options", "elementGroup": "chart_group"}, {"action": "mouseover", "index": 15, "name": "chart_g
 roup,timeline,timeline,TOOLTIP,mouseover,SHOW,-,tooltip,USER", "elementId": "timeline", "elementGroup": "chart_group"}, {"action": "mouseover_INTERVAL", "index": 16, "name": "chart_group,timeline,timeline,TOOLTIP,mouseover_INTERVAL,SHOW,-,tooltip,USER", "elementId": "timeline", "elementGroup": "chart_group"}, {"action": "click", "index": 17, "name": "chart_group,timeline,timeline-showFocus-always,BUTTON,click,ALTER,-,timeline,USER", "elementId": "timeline", "elementGroup": "chart_group"}, {"action": "click", "index": 18, "name": "chart_group,timeline,timeline-showFocus-never,BUTTON,click,ALTER,-,timeline,USER", "elementId": "timeline", "elementGroup": "chart_group"}, {"action": "click", "index": 19, "name": "chart_group,timeline,timeline-showFocus-on_filter,BUTTON,click,ALTER,-,timeline,USER", "elementId": "timeline", "elementGroup": "chart_group"}, {"action": "drag", "index": 20, "name": "chart_group,timeline-brush,timeline-brush,CANVAS,drag,SELECT,-,timeline;brush,USER", "elementI
 d": "timeline-brush", "elementGroup": "chart_group"}, {"action": "click", "index": 21, "name": "chart_group,timeline-clear-range,-,BUTTON,click,DESELECT,-,filter,USER", "elementId": "timeline-clear-range", "elementGroup": "chart_group"}, {"action": "click", "index": 22, "name": "chart_group,timeline-day,timeline-day,BUTTON,click,ALTER,-,timeline,USER", "elementId": "timeline-day", "elementGroup": "chart_group"}, {"action": "click", "index": 23, "name": "chart_group,timeline-hour,timeline-hour,BUTTON,click,ALTER,-,timeline,USER", "elementId": "timeline-hour", "elementGroup": "chart_group"}, {"action": "click", "index": 24, "name": "chart_group,timeline-month,timeline-month,BUTTON,click,ALTER,-,timeline,USER", "elementId": "timeline-month", "elementGroup": "chart_group"}, {"action": "click", "index": 25, "name": "chart_group,timeline-range,date-range,CANVAS,click,SELECT,-,timeline,USER", "elementId": "timeline-range", "elementGroup": "chart_group"}, {"action": "click", "index": 26, "n
 ame": "chart_group,timeline-year,timeline-year,BUTTON,click,ALTER,-,timeline,USER", "elementId": "timeline-year", "elementGroup": "chart_group"}, {"action": "click", "index": 27, "name": "map_group,map,-,TOOLTIP,click,HIDE,-,map,USER", "elementId": "map", "elementGroup": "map_group"}, {"action": "click", "index": 28, "name": "map_group,map,-,TOOLTIP,click,SHOW,-,map,USER", "elementId": "map", "elementGroup": "map_group"}, {"action": "click", "index": 29, "name": "map_group,map,geo-filter,BUTTON,click,DESELECT,-,map,USER", "elementId": "map", "elementGroup": "map_group"}, {"action": "drag", "index": 30, "name": "map_group,map,geo-filter,CANVAS,drag,SELECT,-,map,USER", "elementId": "map", "elementGroup": "map_group"}, {"action": "panstart", "index": 31, "name": "map_group,map,map-viewport,CANVAS,panstart,ALTER,-,map,USER", "elementId": "map", "elementGroup": "map_group"}, {"action": "zoom", "index": 32, "name": "map_group,map,map-viewport,CANVAS,zoom,ALTER,-,map,USER", "elementId": "m
 ap", "elementGroup": "map_group"}, {"action": "click", "index": 33, "name": "map_group,map-layer-active-button,-,BUTTON,click,ALTER,-,options,USER", "elementId": "map-layer-active-button", "elementGroup": "map_group"}, {"action": "click", "index": 34, "name": "query_group,filter-builder-add-filter,-,BUTTON,click,ADD,-,filter-builder,USER", "elementId": "filter-builder-add-filter", "elementGroup": "query_group"}, {"action": "click", "index": 35, "name": "query_group,filter-builder-and-clauses,-,BUTTON,click,ALTER,-,filter-builder,USER", "elementId": "filter-builder-and-clauses", "elementGroup": "query_group"}, {"action": "click", "index": 36, "name": "query_group,filter-builder-clear-all,-,BUTTON,click,REMOVE,-,filter-builder,USER", "elementId": "filter-builder-clear-all", "elementGroup": "query_group"}, {"action": "click", "index": 37, "name": "query_group,filter-builder-remove-filter,-,BUTTON,click,REMOVE,-,filter-builder,USER", "elementId": "filter-builder-remove-filter", "element
 Group": "query_group"}, {"action": "click", "index": 38, "name": "query_group,filter-builder-selected-field,-,COMBOBOX,click,SELECT,-,filter-builder,USER", "elementId": "filter-builder-selected-field", "elementGroup": "query_group"}, {"action": "click", "index": 39, "name": "query_group,filter-builder-selectedOperator,-,COMBOBOX,click,SELECT,-,filter-builder,USER", "elementId": "filter-builder-selectedOperator", "elementGroup": "query_group"}, {"action": "keydown", "index": 40, "name": "query_group,filter-builder-selectedValue,-,TEXTBOX,keydown,ENTER,-,filter-builder,USER", "elementId": "filter-builder-selectedValue", "elementGroup": "query_group"}, {"action": "keydown_INTERVAL", "index": 41, "name": "query_group,filter-builder-selectedValue,-,TEXTBOX,keydown_INTERVAL,ENTER,-,filter-builder,USER", "elementId": "filter-builder-selectedValue", "elementGroup": "query_group"}, {"action": "click", "index": 42, "name": "query_group,filter-builder-update-filter-0,-,BUTTON,click,ALTER,-,fil
 ter-builder,USER", "elementId": "filter-builder-update-filter-0", "elementGroup": "query_group"}, {"action": "click", "index": 43, "name": "query_group,filter-builder-update-filter-1,-,BUTTON,click,ALTER,-,filter-builder,USER", "elementId": "filter-builder-update-filter-1", "elementGroup": "query_group"}, {"action": "click", "index": 44, "name": "query_group,filter-builder-update-filter-2,-,BUTTON,click,ALTER,-,filter-builder,USER", "elementId": "filter-builder-update-filter-2", "elementGroup": "query_group"}, {"action": "click", "index": 45, "name": "table_group,datagrid,-,DATAGRID,click,ALTER,-,sort-column,USER", "elementId": "datagrid", "elementGroup": "table_group"}, {"action": "drag", "index": 46, "name": "table_group,datagrid,-,DATAGRID,drag,ALTER,-,reorder-column,USER", "elementId": "datagrid", "elementGroup": "table_group"}, {"action": "drag", "index": 47, "name": "table_group,datagrid,-,DATAGRID,drag,ALTER,-,resize-column,USER", "elementId": "datagrid", "elementGroup": "tab
 le_group"}, {"action": "scroll", "index": 48, "name": "table_group,datagrid,-,DATAGRID,scroll,ALTER,-,scroll-datagrid,USER", "elementId": "datagrid", "elementGroup": "table_group"}, {"action": "scroll_INTERVAL", "index": 49, "name": "table_group,datagrid,-,DATAGRID,scroll_INTERVAL,ALTER,-,scroll-datagrid,USER", "elementId": "datagrid", "elementGroup": "table_group"}, {"action": "keydown_INTERVAL", "index": 50, "name": "table_group,datagrid-limit,-,TEXTBOX,keydown_INTERVAL,ALTER,-,options,USER", "elementId": "datagrid-limit", "elementGroup": "table_group"}, {"action": "click", "index": 51, "name": "table_group,datagrid-refresh,-,BUTTON,click,PERFORM,-,options,USER", "elementId": "datagrid-refresh", "elementGroup": "table_group"}, {"action": "click", "index": 52, "name": "table_group,datagrid-sort-direction,-,RADIOBUTTON,click,SELECT,-,options,USER", "elementId": "datagrid-sort-direction", "elementGroup": "table_group"}, {"action": "click", "index": 53, "name": "top,chart-options,-,BU
 TTON,click,HIDE,-,options,USER", "elementId": "chart-options", "elementGroup": "top"}, {"action": "click", "index": 54, "name": "top,chart-options,-,BUTTON,click,SHOW,-,options,USER", "elementId": "chart-options", "elementGroup": "top"}, {"action": "click", "index": 55, "name": "top,dataset-menu,-,BUTTON,click,SELECT,-,dataset,USER", "elementId": "dataset-menu", "elementGroup": "top"}, {"action": "onload", "index": 56, "name": "top,window,-,WINDOW,onload,SHOW,-,-,USER", "elementId": "window", "elementGroup": "top"}, {"action": "click", "index": 57, "name": "top,workspace,layout,WORKSPACE,click,ALTER,-,visualization,USER", "elementId": "workspace", "elementGroup": "top"}, {"action": "dragstart", "index": 58, "name": "top,workspace,layout,WORKSPACE,dragstart,ALTER,-,visualization,USER", "elementId": "workspace", "elementGroup": "top"}], "outMatrix": [[0.0, 0.0, 0.0, 0.0, 59.0, 51.0, 3.0, 6.0, 50.0, 3.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 20.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1
 .0, 0.0, 0.0, 0.0, 50.0, 0.0, 0.0, 0.0, 2.0, 0.0, 4.0, 2.0, 1.0, 3.0, 22.0, 10.0, 0.0, 0.0, 4.0, 0.0, 0.0, 28.0, 44.0, 0.0, 0.0, 0.0, 26.0, 88.0, 2.0, 0.0, 0.0, 81.0, 6.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [5.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6.0, 1.0, 0.0, 0.0, 0.0, 0.0, 3.0], [52.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 40.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], [12.0, 0.0, 0.0, 0.0, 0.0, 0.0, 22.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 33.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 1.0, 2.0], [16.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 14.0, 14.0, 0.0, 0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 87.0, 4.0, 0.0, 0.0, 0.0, 3.0, 3.0, 1.0, 0.0, 0.0, 0.0, 3.0], [6.0, 0.0, 0.0, 2.0, 1.0, 0.0,
  2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 9.0, 21.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 2.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 146.0, 7.0, 0.0, 0.0, 0.0, 3.0, 1.0, 1.0, 0.0, 0.0, 1.0, 5.0], [28.0, 0.0, 0.0, 0.0, 6.0, 0.0, 0.0, 22.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 27.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 8.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.0, 0.0, 0.0, 0.0, 5.0, 8.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 110.0, 14.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 2.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 7.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0
 .0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 64.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 87.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 
 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 7.0, 12.0, 0.0, 20.0, 8.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 105.0, 11.0, 2.0, 0.0, 1.0, 32.0, 1.0, 3.0, 10.0, 0.0, 0.0, 53.0, 0.0, 3.0, 5.0, 2.0, 6.0, 29.0, 11.0, 1.0, 0.0, 49.0, 31.0, 1.0, 0.0, 1.0, 0.0, 0.0, 90.0, 45.0, 0.0, 0.0, 0.0, 23.0, 39.0, 4.0, 0.0, 0.0, 10.0, 0.0], [0.0, 0.0, 0.0, 1.0, 5.0, 4.0, 28.0, 49.0, 0.0, 36.0, 19.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 289.0, 90.0, 1.0, 1.0, 0.0, 122.0, 1.0, 12.0, 13.0, 4.0, 1.0, 100.0, 0.0, 3.0, 4.0, 7.0, 18.0, 55.0, 16.0, 4.0, 6.0, 56.0, 76.0, 6.0, 0.0, 2.0, 0.0, 0.0, 124.0, 89.0, 0.0, 0.0, 0.0, 21.0, 103.0, 7.0, 0.0, 0.0, 20.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 1.0, 0.0, 1.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
 , [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 33.0, 120.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 382.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 30.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 18.0, 10.0, 0.0, 0.0, 0.0, 
 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 56.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 8.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 6.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 11.0, 5.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0,
  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 7.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 23.0, 95.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 89.0, 190.0, 0.0, 0.0, 0.0, 71.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 64.0, 6.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 7.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [2.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 0.0, 0.0, 0.0, 1.0, 19.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 53.0, 1.0, 0.0, 158.0, 1.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 2.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 6.0, 11.0, 1.0, 0.0, 0.0, 0.0, 0.0
 ], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 10.0, 0.0, 0.0, 0.0, 294.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 14.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 16.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 13.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [13.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 6.0, 3.0, 0.0, 0.0, 0.0, 39.0, 83.0, 0.0, 0.0, 0.0
 , 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 224.0, 128.0, 1.0, 19.0, 0.0, 1655.0, 3.0, 0.0, 1.0, 0.0, 8.0, 2.0, 0.0, 2.0, 20.0, 12.0, 0.0, 0.0, 2.0, 0.0, 1.0, 11.0, 43.0, 0.0, 0.0, 0.0, 6.0, 28.0, 4.0, 0.0, 0.0, 3.0, 3.0], [43.0, 2.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 34.0, 80.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 45.0, 2.0, 6.0, 1116.0, 0.0, 6.0, 0.0, 2.0, 1.0, 11.0, 1.0, 0.0, 1.0, 10.0, 8.0, 0.0, 0.0, 0.0, 0.0, 0.0, 110.0, 83.0, 0.0, 0.0, 0.0, 20.0, 44.0, 0.0, 0.0, 0.0, 7.0, 11.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 6.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 1.0, 0.0, 0.0, 0.0, 65.0, 2.0, 0.0, 0.0, 0.0, 2.0, 1.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 19.0, 34.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 9.0, 0.0, 0.0, 0.0
 , 0.0, 1.0, 6.0, 0.0, 0.0, 0.0, 2.0, 7.0, 1.0, 0.0, 0.0, 0.0, 0.0, 199.0, 31.0, 0.0, 0.0, 0.0, 1.0, 4.0, 0.0, 0.0, 0.0, 1.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5.0, 5.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 2.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 22.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 11.0, 12.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 1.0, 19.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 125.0, 8.0, 0.0, 0.0, 0.0, 1.0, 
 1.0, 1.0, 0.0, 0.0, 0.0, 1.0], [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 10.0, 10.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 2.0, 7.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 2.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 24.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 6
 .0, 9.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 278.0, 3.0, 0.0, 1.0, 2.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 9.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 14.0, 20.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 4.0, 0.0, 0.0, 0.0, 1.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 149.0, 15.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 7.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 
 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 14.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 
 0.0, 0.0, 1.0, 0.0], [108.0, 3.0, 0.0, 0.0, 8.0, 4.0, 35.0, 15.0, 2.0, 55.0, 38.0, 0.0, 0.0, 0.0, 206.0, 496.0, 0.0, 0.0, 0.0, 44.0, 11.0, 0.0, 3.0, 1.0, 5.0, 0.0, 13.0, 24.0, 5.0, 1.0, 154.0, 1.0, 0.0, 5.0, 0.0, 2.0, 50.0, 2.0, 0.0, 9.0, 84.0, 45.0, 5.0, 1.0, 3.0, 0.0, 0.0, 0.0, 6.0, 0.0, 4.0, 0.0, 23.0, 21.0, 3.0, 0.0, 0.0, 16.0, 25.0], [68.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 12.0, 2.0, 0.0, 0.0, 0.0, 38.0, 106.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.0, 13.0, 3.0, 2.0, 97.0, 0.0, 0.0, 0.0, 1.0, 3.0, 10.0, 0.0, 0.0, 0.0, 21.0, 15.0, 0.0, 0.0, 10.0, 2.0, 3.0, 1.0, 0.0, 0.0, 2.0, 0.0, 5.0, 24.0, 3.0, 0.0, 0.0, 14.0, 15.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.
 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 9.0, 7.0, 0.0, 0.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [83.0, 0.0, 1.0, 0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 6.0, 2.0, 0.0, 0.0, 0.0, 35.0, 92.0, 0.0, 0.0, 0.0, 3.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 13.0, 1.0, 1.0, 66.0, 0.0, 0.0, 1.0, 0.0, 1.0, 3.0, 1.0, 2.0, 0.0, 5.0, 2.0, 0.0, 0.0, 2.0, 0.0, 0.0, 5.0, 22.0, 0.0, 1.0, 0.0, 0.0, 45.0, 3.0, 0.0, 0.0, 7.0, 8.0], [26.0, 0.0, 2.0, 10.0, 1.0, 0.0, 5.0, 6.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 9.0, 20.0, 3.0, 0.0, 0.0, 0.0, 0.0, 13.0, 7.0, 18.0, 0.0, 7.0, 4.0, 0.0, 0
 .0, 0.0, 32.0, 0.0, 71.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 2.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5.0, 8.0, 3.0, 14.0, 0.0, 151.0, 0.0, 3.0, 0.0, 1.0, 12.0, 6.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 94.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 53.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [13.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0
 , 1.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 5.0, 4.0], [75.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 8.0, 13.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 10.0, 0.0, 0.0, 0.0, 1.0, 0.0, 2.0, 1.0, 0.0, 1.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 7.0, 24.0, 0.0, 0.0, 0.0, 7.0, 6.0, 0.0, 0.0, 29.0, 0.0, 17.0], [12.0, 0.0, 1.0, 2.0, 13.0, 8.0, 4.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 8.0, 9.0, 0.0, 0.0, 0.0, 11.0, 12.0, 0.0, 0.0, 1.0, 16.0, 0.0]], "inMatrix": [[0.0, 0.0, 0.0, 0.0, 59.0, 51.0, 3.0, 6.0, 50.0, 3.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 20.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 50.0, 0.0, 0.0, 0.0, 2.0, 0.0, 4.0, 2.0, 1.0, 3.0, 22.0, 10.0, 0.0, 0.0, 4.0, 0.0, 0.0, 28.0, 44.0, 0.0, 0.0, 0.0, 26.0, 88.0, 2.0, 0.0, 0.0, 81.0, 6.0], [0.0, 0.0, 
 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,

<TRUNCATED>


[2/4] incubator-senssoft git commit: Initial (probably broken) commit of ported docker build

Posted by rf...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/tap/neon_counts.js
----------------------------------------------------------------------
diff --git a/docker/tap/neon_counts.js b/docker/tap/neon_counts.js
new file mode 100644
index 0000000..ff5cadf
--- /dev/null
+++ b/docker/tap/neon_counts.js
@@ -0,0 +1,2 @@
+var neon_counts = [{"intake_data": {"demographics": {"Gender": 2.0, "Age": 34.0, "Ethnicity (other)": null, "Ethnicity": 4.0}, "education": {"Most school completed": 9.0, "Education in IA (ind_priv)": 2.0, "Secondary concentration, free": null, "Tertiary concentration, free": null, "Education in IA (gov_mil)": 2.0, "Primary concentration, free": "Architecture", "Education Concentration": "Civil Engineering"}, "employment": {"Current job free": "The Lovecraft", "Industry experience as an analyst": null, "Current industry free": "Manufacturing/Design", "Current title free": "Owner", "Other experience Free": null}, "exam_scores": {"Experiential inductive cognitive style": 3.5, "Need for cognition": 5.277777778, "Need for closure": 2.866666667, "Rational deductive cognitive style": 5.9, "Subjective Numeracy Scale": 3.0, "Cognitive Reflections Test": 0}}, "OT_data": {"UX OT2  Bedford Workload Composite": 1.333333333, "OT1 Score": 2, "Time to Complete OT1": 844, "Time to Complete OT2": 10
 12, "Combined OT Scores": 4.0, "UX  Engagement Composite": 3.9375, "UX OT 2 Cognitive Load Composite": 1.0, "UX OT Enjoyment Composite": 5.0, "Total Time to Complete All Tasks": 1856, "OT2 Confidence": 11.0, "UX OT1 Bedford Workload Composite": 5.0, "UX OT2 Engagement Composite": 4.0, "UX OT1 Engagement Composite": 3.875, "UX  Bedford Workload (Mental Effort)": 3.5, "Ave OT Confidence": 10.25, "UX OT 1 Cognitive Load Composite": 1.9, "UX OT Cognitive Load Composite": 1.45, "UX  Bedford Workload (Rel Skill Level)": 3.5, "OT1 Confidence": 9.5, "UX  Bedford Workload Composite": 3.1666666664999998, "OT2 Score": 2.0, "UX  Bedford Workload (Difficulty)": 2.5}, "log_data": {"OT1": {"total_counts": 207, "logs": {"count": [3, 20, 0, 0, 1, 2, 2, 3, 4, 2, 0, 0, 0, 0, 2, 3, 13, 0, 0, 0, 1, 1, 2, 1, 1, 1, 1, 8, 4, 0, 0, 52, 28, 0, 2, 0, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 9, 11, 0, 0, 0, 5, 7, 3, 2, 9], "elementGroup": ["chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "
 chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "map_group", "map_group", "map_group", "map_group", "map_group", "map_group", "map_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "table_group", "table_group", "table_group", "table_group", "table_group", "table_group", "table_group", "table_group", "top", "top", "top", "top", "top"], "log_id": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "log_strings": ["chart
 _group,linechart,linechart,TOOLTIP,mouseover,SHOW,-,tooltip,USER", "chart_group,linechart,linechart,TOOLTIP,mouseover_INTERVAL,SHOW,-,tooltip,USER", "chart_group,linechart,linechart-aggregation,COMBOBOX,click,SELECT,-,options,USER", "chart_group,linechart,linechart-trendline-hide,BUTTON,click,ALTER,-,linechart,USER", "chart_group,linechart,linechart-trendline-show,BUTTON,click,ALTER,-,linechart,USER", "chart_group,linechart-brush,linechart-brush,CANVAS,drag,SELECT,-,linechart;brush,USER", "chart_group,linechart-clear-range,-,BUTTON,click,DESELECT,-,filter,USER", "chart_group,linechart-day,linechart-day,BUTTON,click,ALTER,-,linechart,USER", "chart_group,linechart-hour,linechart-hour,BUTTON,click,ALTER,-,linechart,USER", "chart_group,linechart-range,date-range,CANVAS,click,SELECT,-,filter,USER", "chart_group,tag-cloud,-,TAG,click,ADD,-,filter,USER", "chart_group,tag-cloud,-,TAG,click,REMOVE,-,filter,USER", "chart_group,tag-cloud-options,all-filters,BUTTON,click,SELECT,-,options,USER",
  "chart_group,tag-cloud-options,any-filters,BUTTON,click,SELECT,-,options,USER", "chart_group,tag-cloud-options,remove-translation,BUTTON,click,SELECT,-,options,USER", "chart_group,timeline,timeline,TOOLTIP,mouseover,SHOW,-,tooltip,USER", "chart_group,timeline,timeline,TOOLTIP,mouseover_INTERVAL,SHOW,-,tooltip,USER", "chart_group,timeline,timeline-showFocus-always,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline,timeline-showFocus-never,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline,timeline-showFocus-on_filter,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-brush,timeline-brush,CANVAS,drag,SELECT,-,timeline;brush,USER", "chart_group,timeline-clear-range,-,BUTTON,click,DESELECT,-,filter,USER", "chart_group,timeline-day,timeline-day,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-hour,timeline-hour,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-month,timeline-month,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-range
 ,date-range,CANVAS,click,SELECT,-,timeline,USER", "chart_group,timeline-year,timeline-year,BUTTON,click,ALTER,-,timeline,USER", "map_group,map,-,TOOLTIP,click,HIDE,-,map,USER", "map_group,map,-,TOOLTIP,click,SHOW,-,map,USER", "map_group,map,geo-filter,BUTTON,click,DESELECT,-,map,USER", "map_group,map,geo-filter,CANVAS,drag,SELECT,-,map,USER", "map_group,map,map-viewport,CANVAS,panstart,ALTER,-,map,USER", "map_group,map,map-viewport,CANVAS,zoom,ALTER,-,map,USER", "map_group,map-layer-active-button,-,BUTTON,click,ALTER,-,options,USER", "query_group,filter-builder-add-filter,-,BUTTON,click,ADD,-,filter-builder,USER", "query_group,filter-builder-and-clauses,-,BUTTON,click,ALTER,-,filter-builder,USER", "query_group,filter-builder-clear-all,-,BUTTON,click,REMOVE,-,filter-builder,USER", "query_group,filter-builder-remove-filter,-,BUTTON,click,REMOVE,-,filter-builder,USER", "query_group,filter-builder-selected-field,-,COMBOBOX,click,SELECT,-,filter-builder,USER", "query_group,filter-builder
 -selectedOperator,-,COMBOBOX,click,SELECT,-,filter-builder,USER", "query_group,filter-builder-selectedValue,-,TEXTBOX,keydown,ENTER,-,filter-builder,USER", "query_group,filter-builder-selectedValue,-,TEXTBOX,keydown_INTERVAL,ENTER,-,filter-builder,USER", "query_group,filter-builder-update-filter-0,-,BUTTON,click,ALTER,-,filter-builder,USER", "query_group,filter-builder-update-filter-1,-,BUTTON,click,ALTER,-,filter-builder,USER", "query_group,filter-builder-update-filter-2,-,BUTTON,click,ALTER,-,filter-builder,USER", "table_group,datagrid,-,DATAGRID,click,ALTER,-,sort-column,USER", "table_group,datagrid,-,DATAGRID,drag,ALTER,-,reorder-column,USER", "table_group,datagrid,-,DATAGRID,drag,ALTER,-,resize-column,USER", "table_group,datagrid,-,DATAGRID,scroll,ALTER,-,scroll-datagrid,USER", "table_group,datagrid,-,DATAGRID,scroll_INTERVAL,ALTER,-,scroll-datagrid,USER", "table_group,datagrid-limit,-,TEXTBOX,keydown_INTERVAL,ALTER,-,options,USER", "table_group,datagrid-refresh,-,BUTTON,click,
 PERFORM,-,options,USER", "table_group,datagrid-sort-direction,-,RADIOBUTTON,click,SELECT,-,options,USER", "top,chart-options,-,BUTTON,click,HIDE,-,options,USER", "top,chart-options,-,BUTTON,click,SHOW,-,options,USER", "top,dataset-menu,-,BUTTON,click,SELECT,-,dataset,USER", "top,workspace,layout,WORKSPACE,click,ALTER,-,visualization,USER", "top,workspace,layout,WORKSPACE,dragstart,ALTER,-,visualization,USER"], "elementSub": ["linechart", "linechart", "linechart-aggregation", "linechart-trendline-hide", "linechart-trendline-show", "linechart-brush", "-", "linechart-day", "linechart-hour", "date-range", "-", "-", "all-filters", "any-filters", "remove-translation", "timeline", "timeline", "timeline-showFocus-always", "timeline-showFocus-never", "timeline-showFocus-on_filter", "timeline-brush", "-", "timeline-day", "timeline-hour", "timeline-month", "date-range", "timeline-year", "-", "-", "geo-filter", "geo-filter", "map-viewport", "map-viewport", "-", "-", "-", "-", "-", "-", "-", "-"
 , "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "layout", "layout"], "activity": ["SHOW", "SHOW", "SELECT", "ALTER", "ALTER", "SELECT", "DESELECT", "ALTER", "ALTER", "SELECT", "ADD", "REMOVE", "SELECT", "SELECT", "SELECT", "SHOW", "SHOW", "ALTER", "ALTER", "ALTER", "SELECT", "DESELECT", "ALTER", "ALTER", "ALTER", "SELECT", "ALTER", "HIDE", "SHOW", "DESELECT", "SELECT", "ALTER", "ALTER", "ALTER", "ADD", "ALTER", "REMOVE", "REMOVE", "SELECT", "SELECT", "ENTER", "ENTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "PERFORM", "SELECT", "HIDE", "SHOW", "SELECT", "ALTER", "ALTER"], "action": ["mouseover", "mouseover_INTERVAL", "click", "click", "click", "drag", "click", "click", "click", "click", "click", "click", "click", "click", "click", "mouseover", "mouseover_INTERVAL", "click", "click", "click", "drag", "click", "click", "click", "click", "click", "click", "click", "click", "click", "drag", "panstart", "zoom", "click"
 , "click", "click", "click", "click", "click", "click", "keydown", "keydown_INTERVAL", "click", "click", "click", "click", "drag", "drag", "scroll", "scroll_INTERVAL", "keydown_INTERVAL", "click", "click", "click", "click", "click", "click", "dragstart"], "elementType": ["TOOLTIP", "TOOLTIP", "COMBOBOX", "BUTTON", "BUTTON", "CANVAS", "BUTTON", "BUTTON", "BUTTON", "CANVAS", "TAG", "TAG", "BUTTON", "BUTTON", "BUTTON", "TOOLTIP", "TOOLTIP", "BUTTON", "BUTTON", "BUTTON", "CANVAS", "BUTTON", "BUTTON", "BUTTON", "BUTTON", "CANVAS", "BUTTON", "TOOLTIP", "TOOLTIP", "BUTTON", "CANVAS", "CANVAS", "CANVAS", "BUTTON", "BUTTON", "BUTTON", "BUTTON", "BUTTON", "COMBOBOX", "COMBOBOX", "TEXTBOX", "TEXTBOX", "BUTTON", "BUTTON", "BUTTON", "DATAGRID", "DATAGRID", "DATAGRID", "DATAGRID", "DATAGRID", "TEXTBOX", "BUTTON", "RADIOBUTTON", "BUTTON", "BUTTON", "BUTTON", "WORKSPACE", "WORKSPACE"], "nickname": ["linechart_mover", "linechart_mover_int", "linechart_aggregation_select", "linechart_trendline_hide",
  "linechart_trendline_show", "linechart_select_time_range_drag", "linechart_clear_time_range", "linechart_temp_res_day", "linechart_temp_res_hour", "linechart_select_time_range", "tag_cloud_add_filt", "tag_cloud_rem_filt", "tag_cloud_options_all", "tag_cloud_options_any", "tag_cloud_rem_translation", "timeline_mover", "timeline_mover_int", "timeline_show_focus_always", "timeline_show_focus_never", "timeline_show_focus_on", "timeline_select_time_range_drag", "timeline_clear_range", "timeline_temp_res_day", "timeline_temp_res_hour", "timeline_temp_res_month", "timeline_date_range_select", "timeline_temp_res_year", "map_tooltip_hide", "map_tooltip_show", "map_geofilter_click", "map_geofilter_drag", "map_pan", "map_zoom", "map_overlay_change", "query_add_filter", "query_change_filter", "query_clear_all", "query_remove_filter", "query_select_field", "query_select_operator", "query_enter_search_terms", "query_enter_search_terms_int", "query_update_filt0", "query_update_filt1", "query_upda
 te_filt2", "datagrid_sort_col_header", "datagrid_reorder_col", "datagrid_resize_col", "datagrid_scroll", "datagrid_scroll_int", "datagrid_enter_limit", "datagrid_refresh", "datagrid_sort_col_button", "options_hide", "options_show", "select_dataset", "layout_alter", "layout_drag_widget"], "elementId": ["linechart", "linechart", "linechart", "linechart", "linechart", "linechart-brush", "linechart-clear-range", "linechart-day", "linechart-hour", "linechart-range", "tag-cloud", "tag-cloud", "tag-cloud-options", "tag-cloud-options", "tag-cloud-options", "timeline", "timeline", "timeline", "timeline", "timeline", "timeline-brush", "timeline-clear-range", "timeline-day", "timeline-hour", "timeline-month", "timeline-range", "timeline-year", "map", "map", "map", "map", "map", "map", "map-layer-active-button", "filter-builder-add-filter", "filter-builder-and-clauses", "filter-builder-clear-all", "filter-builder-remove-filter", "filter-builder-selected-field", "filter-builder-selectedOperator"
 , "filter-builder-selectedValue", "filter-builder-selectedValue", "filter-builder-update-filter-0", "filter-builder-update-filter-1", "filter-builder-update-filter-2", "datagrid", "datagrid", "datagrid", "datagrid", "datagrid", "datagrid-limit", "datagrid-refresh", "datagrid-sort-direction", "chart-options", "chart-options", "dataset-menu", "workspace", "workspace"]}, "session_id": "0846bcbb7a349347961f6aa8824e2f_1530"}, "OT2": {"total_counts": 366, "logs": {"count": [2, 22, 0, 0, 0, 2, 1, 3, 5, 2, 2, 2, 0, 0, 3, 16, 54, 0, 0, 0, 13, 7, 0, 0, 0, 13, 0, 4, 3, 1, 8, 36, 24, 0, 7, 0, 0, 5, 0, 0, 0, 9, 11, 1, 0, 0, 0, 3, 54, 22, 0, 0, 0, 5, 5, 3, 0, 18], "elementGroup": ["chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart
 _group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "map_group", "map_group", "map_group", "map_group", "map_group", "map_group", "map_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "table_group", "table_group", "table_group", "table_group", "table_group", "table_group", "table_group", "table_group", "top", "top", "top", "top", "top"], "log_id": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "log_strings": ["chart_group,linechart,linechart,TOOLTIP,mouseover,SHOW,-,tooltip,USER", "chart_group,linechart,linechart,TOOLTIP,mouseover_INTERVAL,SHOW,-,tooltip,USER", "chart_group,linechart,linechart-aggregation,COMBOBOX,click,SELECT,-,options,USER", "chart_group
 ,linechart,linechart-trendline-hide,BUTTON,click,ALTER,-,linechart,USER", "chart_group,linechart,linechart-trendline-show,BUTTON,click,ALTER,-,linechart,USER", "chart_group,linechart-brush,linechart-brush,CANVAS,drag,SELECT,-,linechart;brush,USER", "chart_group,linechart-clear-range,-,BUTTON,click,DESELECT,-,filter,USER", "chart_group,linechart-day,linechart-day,BUTTON,click,ALTER,-,linechart,USER", "chart_group,linechart-hour,linechart-hour,BUTTON,click,ALTER,-,linechart,USER", "chart_group,linechart-range,date-range,CANVAS,click,SELECT,-,filter,USER", "chart_group,tag-cloud,-,TAG,click,ADD,-,filter,USER", "chart_group,tag-cloud,-,TAG,click,REMOVE,-,filter,USER", "chart_group,tag-cloud-options,all-filters,BUTTON,click,SELECT,-,options,USER", "chart_group,tag-cloud-options,any-filters,BUTTON,click,SELECT,-,options,USER", "chart_group,tag-cloud-options,remove-translation,BUTTON,click,SELECT,-,options,USER", "chart_group,timeline,timeline,TOOLTIP,mouseover,SHOW,-,tooltip,USER", "chart
 _group,timeline,timeline,TOOLTIP,mouseover_INTERVAL,SHOW,-,tooltip,USER", "chart_group,timeline,timeline-showFocus-always,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline,timeline-showFocus-never,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline,timeline-showFocus-on_filter,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-brush,timeline-brush,CANVAS,drag,SELECT,-,timeline;brush,USER", "chart_group,timeline-clear-range,-,BUTTON,click,DESELECT,-,filter,USER", "chart_group,timeline-day,timeline-day,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-hour,timeline-hour,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-month,timeline-month,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-range,date-range,CANVAS,click,SELECT,-,timeline,USER", "chart_group,timeline-year,timeline-year,BUTTON,click,ALTER,-,timeline,USER", "map_group,map,-,TOOLTIP,click,HIDE,-,map,USER", "map_group,map,-,TOOLTIP,click,SHOW,-,map,USER", "map_group,map,geo-
 filter,BUTTON,click,DESELECT,-,map,USER", "map_group,map,geo-filter,CANVAS,drag,SELECT,-,map,USER", "map_group,map,map-viewport,CANVAS,panstart,ALTER,-,map,USER", "map_group,map,map-viewport,CANVAS,zoom,ALTER,-,map,USER", "map_group,map-layer-active-button,-,BUTTON,click,ALTER,-,options,USER", "query_group,filter-builder-add-filter,-,BUTTON,click,ADD,-,filter-builder,USER", "query_group,filter-builder-and-clauses,-,BUTTON,click,ALTER,-,filter-builder,USER", "query_group,filter-builder-clear-all,-,BUTTON,click,REMOVE,-,filter-builder,USER", "query_group,filter-builder-remove-filter,-,BUTTON,click,REMOVE,-,filter-builder,USER", "query_group,filter-builder-selected-field,-,COMBOBOX,click,SELECT,-,filter-builder,USER", "query_group,filter-builder-selectedOperator,-,COMBOBOX,click,SELECT,-,filter-builder,USER", "query_group,filter-builder-selectedValue,-,TEXTBOX,keydown,ENTER,-,filter-builder,USER", "query_group,filter-builder-selectedValue,-,TEXTBOX,keydown_INTERVAL,ENTER,-,filter-build
 er,USER", "query_group,filter-builder-update-filter-0,-,BUTTON,click,ALTER,-,filter-builder,USER", "query_group,filter-builder-update-filter-1,-,BUTTON,click,ALTER,-,filter-builder,USER", "query_group,filter-builder-update-filter-2,-,BUTTON,click,ALTER,-,filter-builder,USER", "table_group,datagrid,-,DATAGRID,click,ALTER,-,sort-column,USER", "table_group,datagrid,-,DATAGRID,drag,ALTER,-,reorder-column,USER", "table_group,datagrid,-,DATAGRID,drag,ALTER,-,resize-column,USER", "table_group,datagrid,-,DATAGRID,scroll,ALTER,-,scroll-datagrid,USER", "table_group,datagrid,-,DATAGRID,scroll_INTERVAL,ALTER,-,scroll-datagrid,USER", "table_group,datagrid-limit,-,TEXTBOX,keydown_INTERVAL,ALTER,-,options,USER", "table_group,datagrid-refresh,-,BUTTON,click,PERFORM,-,options,USER", "table_group,datagrid-sort-direction,-,RADIOBUTTON,click,SELECT,-,options,USER", "top,chart-options,-,BUTTON,click,HIDE,-,options,USER", "top,chart-options,-,BUTTON,click,SHOW,-,options,USER", "top,dataset-menu,-,BUTTON,
 click,SELECT,-,dataset,USER", "top,workspace,layout,WORKSPACE,click,ALTER,-,visualization,USER", "top,workspace,layout,WORKSPACE,dragstart,ALTER,-,visualization,USER"], "elementSub": ["linechart", "linechart", "linechart-aggregation", "linechart-trendline-hide", "linechart-trendline-show", "linechart-brush", "-", "linechart-day", "linechart-hour", "date-range", "-", "-", "all-filters", "any-filters", "remove-translation", "timeline", "timeline", "timeline-showFocus-always", "timeline-showFocus-never", "timeline-showFocus-on_filter", "timeline-brush", "-", "timeline-day", "timeline-hour", "timeline-month", "date-range", "timeline-year", "-", "-", "geo-filter", "geo-filter", "map-viewport", "map-viewport", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "layout", "layout"], "activity": ["SHOW", "SHOW", "SELECT", "ALTER", "ALTER", "SELECT", "DESELECT", "ALTER", "ALTER", "SELECT", "ADD", "REMOVE", "SELECT", "SELECT", "SE
 LECT", "SHOW", "SHOW", "ALTER", "ALTER", "ALTER", "SELECT", "DESELECT", "ALTER", "ALTER", "ALTER", "SELECT", "ALTER", "HIDE", "SHOW", "DESELECT", "SELECT", "ALTER", "ALTER", "ALTER", "ADD", "ALTER", "REMOVE", "REMOVE", "SELECT", "SELECT", "ENTER", "ENTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "PERFORM", "SELECT", "HIDE", "SHOW", "SELECT", "ALTER", "ALTER"], "action": ["mouseover", "mouseover_INTERVAL", "click", "click", "click", "drag", "click", "click", "click", "click", "click", "click", "click", "click", "click", "mouseover", "mouseover_INTERVAL", "click", "click", "click", "drag", "click", "click", "click", "click", "click", "click", "click", "click", "click", "drag", "panstart", "zoom", "click", "click", "click", "click", "click", "click", "click", "keydown", "keydown_INTERVAL", "click", "click", "click", "click", "drag", "drag", "scroll", "scroll_INTERVAL", "keydown_INTERVAL", "click", "click", "click", "click", "click", "click", "dr
 agstart"], "elementType": ["TOOLTIP", "TOOLTIP", "COMBOBOX", "BUTTON", "BUTTON", "CANVAS", "BUTTON", "BUTTON", "BUTTON", "CANVAS", "TAG", "TAG", "BUTTON", "BUTTON", "BUTTON", "TOOLTIP", "TOOLTIP", "BUTTON", "BUTTON", "BUTTON", "CANVAS", "BUTTON", "BUTTON", "BUTTON", "BUTTON", "CANVAS", "BUTTON", "TOOLTIP", "TOOLTIP", "BUTTON", "CANVAS", "CANVAS", "CANVAS", "BUTTON", "BUTTON", "BUTTON", "BUTTON", "BUTTON", "COMBOBOX", "COMBOBOX", "TEXTBOX", "TEXTBOX", "BUTTON", "BUTTON", "BUTTON", "DATAGRID", "DATAGRID", "DATAGRID", "DATAGRID", "DATAGRID", "TEXTBOX", "BUTTON", "RADIOBUTTON", "BUTTON", "BUTTON", "BUTTON", "WORKSPACE", "WORKSPACE"], "nickname": ["linechart_mover", "linechart_mover_int", "linechart_aggregation_select", "linechart_trendline_hide", "linechart_trendline_show", "linechart_select_time_range_drag", "linechart_clear_time_range", "linechart_temp_res_day", "linechart_temp_res_hour", "linechart_select_time_range", "tag_cloud_add_filt", "tag_cloud_rem_filt", "tag_cloud_options_all
 ", "tag_cloud_options_any", "tag_cloud_rem_translation", "timeline_mover", "timeline_mover_int", "timeline_show_focus_always", "timeline_show_focus_never", "timeline_show_focus_on", "timeline_select_time_range_drag", "timeline_clear_range", "timeline_temp_res_day", "timeline_temp_res_hour", "timeline_temp_res_month", "timeline_date_range_select", "timeline_temp_res_year", "map_tooltip_hide", "map_tooltip_show", "map_geofilter_click", "map_geofilter_drag", "map_pan", "map_zoom", "map_overlay_change", "query_add_filter", "query_change_filter", "query_clear_all", "query_remove_filter", "query_select_field", "query_select_operator", "query_enter_search_terms", "query_enter_search_terms_int", "query_update_filt0", "query_update_filt1", "query_update_filt2", "datagrid_sort_col_header", "datagrid_reorder_col", "datagrid_resize_col", "datagrid_scroll", "datagrid_scroll_int", "datagrid_enter_limit", "datagrid_refresh", "datagrid_sort_col_button", "options_hide", "options_show", "select_datas
 et", "layout_alter", "layout_drag_widget"], "elementId": ["linechart", "linechart", "linechart", "linechart", "linechart", "linechart-brush", "linechart-clear-range", "linechart-day", "linechart-hour", "linechart-range", "tag-cloud", "tag-cloud", "tag-cloud-options", "tag-cloud-options", "tag-cloud-options", "timeline", "timeline", "timeline", "timeline", "timeline", "timeline-brush", "timeline-clear-range", "timeline-day", "timeline-hour", "timeline-month", "timeline-range", "timeline-year", "map", "map", "map", "map", "map", "map", "map-layer-active-button", "filter-builder-add-filter", "filter-builder-and-clauses", "filter-builder-clear-all", "filter-builder-remove-filter", "filter-builder-selected-field", "filter-builder-selectedOperator", "filter-builder-selectedValue", "filter-builder-selectedValue", "filter-builder-update-filter-0", "filter-builder-update-filter-1", "filter-builder-update-filter-2", "datagrid", "datagrid", "datagrid", "datagrid", "datagrid", "datagrid-limit",
  "datagrid-refresh", "datagrid-sort-direction", "chart-options", "chart-options", "dataset-menu", "workspace", "workspace"]}, "session_id": "0846bcbb7a349347961f6aa8824e2f_1531"}}, "application": "Neon", "experiment": "2015_public_xdataonline", "user_hash": "0846bcbb7a349347961f6aa8824e2f"}, {"intake_data": {"demographics": {"Gender": 1.0, "Age": 28.0, "Ethnicity (other)": null, "Ethnicity": 4.0}, "education": {"Most school completed": 9.0, "Education in IA (ind_priv)": null, "Secondary concentration, free": "Environmental Sciences", "Tertiary concentration, free": null, "Education in IA (gov_mil)": null, "Primary concentration, free": "Social Sciences"}, "employment": {"Industry experience as an analyst": null, "Decscription of career, occupation": "Not Applicable", "Current industry free": "Manufacturing", "Other experience Free": null, "Current job free": "Full time paid employment", "Current title free": "Human Resource Supervisor"}, "exam_scores": {"Experiential inductive cogni
 tive style": 5.2, "Need for cognition": 6.222222222, "Need for closure": 3.733333333, "Rational deductive cognitive style": 6.333333333, "Subjective Numeracy Scale": 4.4, "Cognitive Reflections Test": 0}}, "OT_data": {"UX OT2  Bedford Workload Composite": 7.0, "OT1 Score": 4, "Time to Complete OT1": 928, "Time to Complete OT2": 543, "Combined OT Scores": 7.0, "UX  Engagement Composite": 3.625, "UX OT 2 Cognitive Load Composite": 2.96, "UX OT Enjoyment Composite": 5.0, "Total Time to Complete All Tasks": 1471, "OT2 Confidence": 8.4, "UX OT1 Bedford Workload Composite": null, "UX OT2 Engagement Composite": 3.625, "UX OT1 Engagement Composite": null, "UX  Bedford Workload (Mental Effort)": 8.0, "Ave OT Confidence": 7.9500000000000002, "UX OT 1 Cognitive Load Composite": null, "UX OT Cognitive Load Composite": 2.96, "UX  Bedford Workload (Rel Skill Level)": 6.0, "OT1 Confidence": 7.5, "UX  Bedford Workload Composite": 7.0, "OT2 Score": 3.0, "UX  Bedford Workload (Difficulty)": 7.0}, "lo
 g_data": {"OT1": {"total_counts": 163, "logs": {"count": [2, 18, 0, 0, 0, 5, 1, 2, 2, 5, 6, 3, 0, 0, 0, 8, 19, 0, 0, 0, 6, 1, 0, 0, 1, 6, 1, 0, 1, 0, 0, 11, 7, 0, 2, 0, 0, 0, 1, 0, 0, 2, 5, 0, 0, 0, 0, 0, 26, 6, 0, 0, 0, 5, 5, 1, 0, 5], "elementGroup": ["chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "map_group", "map_group", "map_group", "map_group", "map_group", "map_group", "map_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "table_group", "table_group", "table_group", "table_group", "table_group", "table_
 group", "table_group", "table_group", "top", "top", "top", "top", "top"], "log_id": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "log_strings": ["chart_group,linechart,linechart,TOOLTIP,mouseover,SHOW,-,tooltip,USER", "chart_group,linechart,linechart,TOOLTIP,mouseover_INTERVAL,SHOW,-,tooltip,USER", "chart_group,linechart,linechart-aggregation,COMBOBOX,click,SELECT,-,options,USER", "chart_group,linechart,linechart-trendline-hide,BUTTON,click,ALTER,-,linechart,USER", "chart_group,linechart,linechart-trendline-show,BUTTON,click,ALTER,-,linechart,USER", "chart_group,linechart-brush,linechart-brush,CANVAS,drag,SELECT,-,linechart;brush,USER", "chart_group,linechart-clear-range,-,BUTTON,click,DESELECT,-,filter,USER", "chart_group,linechart-day,linechart-day,BUTTON,click,ALTER,-,linechart,USER", "chart_group,linech
 art-hour,linechart-hour,BUTTON,click,ALTER,-,linechart,USER", "chart_group,linechart-range,date-range,CANVAS,click,SELECT,-,filter,USER", "chart_group,tag-cloud,-,TAG,click,ADD,-,filter,USER", "chart_group,tag-cloud,-,TAG,click,REMOVE,-,filter,USER", "chart_group,tag-cloud-options,all-filters,BUTTON,click,SELECT,-,options,USER", "chart_group,tag-cloud-options,any-filters,BUTTON,click,SELECT,-,options,USER", "chart_group,tag-cloud-options,remove-translation,BUTTON,click,SELECT,-,options,USER", "chart_group,timeline,timeline,TOOLTIP,mouseover,SHOW,-,tooltip,USER", "chart_group,timeline,timeline,TOOLTIP,mouseover_INTERVAL,SHOW,-,tooltip,USER", "chart_group,timeline,timeline-showFocus-always,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline,timeline-showFocus-never,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline,timeline-showFocus-on_filter,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-brush,timeline-brush,CANVAS,drag,SELECT,-,timeline;brush,USER", "char
 t_group,timeline-clear-range,-,BUTTON,click,DESELECT,-,filter,USER", "chart_group,timeline-day,timeline-day,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-hour,timeline-hour,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-month,timeline-month,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-range,date-range,CANVAS,click,SELECT,-,timeline,USER", "chart_group,timeline-year,timeline-year,BUTTON,click,ALTER,-,timeline,USER", "map_group,map,-,TOOLTIP,click,HIDE,-,map,USER", "map_group,map,-,TOOLTIP,click,SHOW,-,map,USER", "map_group,map,geo-filter,BUTTON,click,DESELECT,-,map,USER", "map_group,map,geo-filter,CANVAS,drag,SELECT,-,map,USER", "map_group,map,map-viewport,CANVAS,panstart,ALTER,-,map,USER", "map_group,map,map-viewport,CANVAS,zoom,ALTER,-,map,USER", "map_group,map-layer-active-button,-,BUTTON,click,ALTER,-,options,USER", "query_group,filter-builder-add-filter,-,BUTTON,click,ADD,-,filter-builder,USER", "query_group,filter-builder-and-clauses,-,BUT
 TON,click,ALTER,-,filter-builder,USER", "query_group,filter-builder-clear-all,-,BUTTON,click,REMOVE,-,filter-builder,USER", "query_group,filter-builder-remove-filter,-,BUTTON,click,REMOVE,-,filter-builder,USER", "query_group,filter-builder-selected-field,-,COMBOBOX,click,SELECT,-,filter-builder,USER", "query_group,filter-builder-selectedOperator,-,COMBOBOX,click,SELECT,-,filter-builder,USER", "query_group,filter-builder-selectedValue,-,TEXTBOX,keydown,ENTER,-,filter-builder,USER", "query_group,filter-builder-selectedValue,-,TEXTBOX,keydown_INTERVAL,ENTER,-,filter-builder,USER", "query_group,filter-builder-update-filter-0,-,BUTTON,click,ALTER,-,filter-builder,USER", "query_group,filter-builder-update-filter-1,-,BUTTON,click,ALTER,-,filter-builder,USER", "query_group,filter-builder-update-filter-2,-,BUTTON,click,ALTER,-,filter-builder,USER", "table_group,datagrid,-,DATAGRID,click,ALTER,-,sort-column,USER", "table_group,datagrid,-,DATAGRID,drag,ALTER,-,reorder-column,USER", "table_grou
 p,datagrid,-,DATAGRID,drag,ALTER,-,resize-column,USER", "table_group,datagrid,-,DATAGRID,scroll,ALTER,-,scroll-datagrid,USER", "table_group,datagrid,-,DATAGRID,scroll_INTERVAL,ALTER,-,scroll-datagrid,USER", "table_group,datagrid-limit,-,TEXTBOX,keydown_INTERVAL,ALTER,-,options,USER", "table_group,datagrid-refresh,-,BUTTON,click,PERFORM,-,options,USER", "table_group,datagrid-sort-direction,-,RADIOBUTTON,click,SELECT,-,options,USER", "top,chart-options,-,BUTTON,click,HIDE,-,options,USER", "top,chart-options,-,BUTTON,click,SHOW,-,options,USER", "top,dataset-menu,-,BUTTON,click,SELECT,-,dataset,USER", "top,workspace,layout,WORKSPACE,click,ALTER,-,visualization,USER", "top,workspace,layout,WORKSPACE,dragstart,ALTER,-,visualization,USER"], "elementSub": ["linechart", "linechart", "linechart-aggregation", "linechart-trendline-hide", "linechart-trendline-show", "linechart-brush", "-", "linechart-day", "linechart-hour", "date-range", "-", "-", "all-filters", "any-filters", "remove-translatio
 n", "timeline", "timeline", "timeline-showFocus-always", "timeline-showFocus-never", "timeline-showFocus-on_filter", "timeline-brush", "-", "timeline-day", "timeline-hour", "timeline-month", "date-range", "timeline-year", "-", "-", "geo-filter", "geo-filter", "map-viewport", "map-viewport", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "layout", "layout"], "activity": ["SHOW", "SHOW", "SELECT", "ALTER", "ALTER", "SELECT", "DESELECT", "ALTER", "ALTER", "SELECT", "ADD", "REMOVE", "SELECT", "SELECT", "SELECT", "SHOW", "SHOW", "ALTER", "ALTER", "ALTER", "SELECT", "DESELECT", "ALTER", "ALTER", "ALTER", "SELECT", "ALTER", "HIDE", "SHOW", "DESELECT", "SELECT", "ALTER", "ALTER", "ALTER", "ADD", "ALTER", "REMOVE", "REMOVE", "SELECT", "SELECT", "ENTER", "ENTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "PERFORM", "SELECT", "HIDE", "SHOW", "SELECT", "ALTER", "ALTER"], "action": ["mouseo
 ver", "mouseover_INTERVAL", "click", "click", "click", "drag", "click", "click", "click", "click", "click", "click", "click", "click", "click", "mouseover", "mouseover_INTERVAL", "click", "click", "click", "drag", "click", "click", "click", "click", "click", "click", "click", "click", "click", "drag", "panstart", "zoom", "click", "click", "click", "click", "click", "click", "click", "keydown", "keydown_INTERVAL", "click", "click", "click", "click", "drag", "drag", "scroll", "scroll_INTERVAL", "keydown_INTERVAL", "click", "click", "click", "click", "click", "click", "dragstart"], "elementType": ["TOOLTIP", "TOOLTIP", "COMBOBOX", "BUTTON", "BUTTON", "CANVAS", "BUTTON", "BUTTON", "BUTTON", "CANVAS", "TAG", "TAG", "BUTTON", "BUTTON", "BUTTON", "TOOLTIP", "TOOLTIP", "BUTTON", "BUTTON", "BUTTON", "CANVAS", "BUTTON", "BUTTON", "BUTTON", "BUTTON", "CANVAS", "BUTTON", "TOOLTIP", "TOOLTIP", "BUTTON", "CANVAS", "CANVAS", "CANVAS", "BUTTON", "BUTTON", "BUTTON", "BUTTON", "BUTTON", "COMBOBOX", "
 COMBOBOX", "TEXTBOX", "TEXTBOX", "BUTTON", "BUTTON", "BUTTON", "DATAGRID", "DATAGRID", "DATAGRID", "DATAGRID", "DATAGRID", "TEXTBOX", "BUTTON", "RADIOBUTTON", "BUTTON", "BUTTON", "BUTTON", "WORKSPACE", "WORKSPACE"], "nickname": ["linechart_mover", "linechart_mover_int", "linechart_aggregation_select", "linechart_trendline_hide", "linechart_trendline_show", "linechart_select_time_range_drag", "linechart_clear_time_range", "linechart_temp_res_day", "linechart_temp_res_hour", "linechart_select_time_range", "tag_cloud_add_filt", "tag_cloud_rem_filt", "tag_cloud_options_all", "tag_cloud_options_any", "tag_cloud_rem_translation", "timeline_mover", "timeline_mover_int", "timeline_show_focus_always", "timeline_show_focus_never", "timeline_show_focus_on", "timeline_select_time_range_drag", "timeline_clear_range", "timeline_temp_res_day", "timeline_temp_res_hour", "timeline_temp_res_month", "timeline_date_range_select", "timeline_temp_res_year", "map_tooltip_hide", "map_tooltip_show", "map_ge
 ofilter_click", "map_geofilter_drag", "map_pan", "map_zoom", "map_overlay_change", "query_add_filter", "query_change_filter", "query_clear_all", "query_remove_filter", "query_select_field", "query_select_operator", "query_enter_search_terms", "query_enter_search_terms_int", "query_update_filt0", "query_update_filt1", "query_update_filt2", "datagrid_sort_col_header", "datagrid_reorder_col", "datagrid_resize_col", "datagrid_scroll", "datagrid_scroll_int", "datagrid_enter_limit", "datagrid_refresh", "datagrid_sort_col_button", "options_hide", "options_show", "select_dataset", "layout_alter", "layout_drag_widget"], "elementId": ["linechart", "linechart", "linechart", "linechart", "linechart", "linechart-brush", "linechart-clear-range", "linechart-day", "linechart-hour", "linechart-range", "tag-cloud", "tag-cloud", "tag-cloud-options", "tag-cloud-options", "tag-cloud-options", "timeline", "timeline", "timeline", "timeline", "timeline", "timeline-brush", "timeline-clear-range", "timeline-
 day", "timeline-hour", "timeline-month", "timeline-range", "timeline-year", "map", "map", "map", "map", "map", "map", "map-layer-active-button", "filter-builder-add-filter", "filter-builder-and-clauses", "filter-builder-clear-all", "filter-builder-remove-filter", "filter-builder-selected-field", "filter-builder-selectedOperator", "filter-builder-selectedValue", "filter-builder-selectedValue", "filter-builder-update-filter-0", "filter-builder-update-filter-1", "filter-builder-update-filter-2", "datagrid", "datagrid", "datagrid", "datagrid", "datagrid", "datagrid-limit", "datagrid-refresh", "datagrid-sort-direction", "chart-options", "chart-options", "dataset-menu", "workspace", "workspace"]}, "session_id": "0ce09368198ffe11adf71b8daab4c4_1784"}, "OT2": {"total_counts": 108, "logs": {"count": [0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 12, 16, 1, 0, 1, 8, 1, 1, 0, 1, 9, 0, 2, 2, 0, 0, 8, 4, 0, 4, 0, 1, 2, 1, 0, 0, 5, 3, 0, 0, 0, 0, 0, 13, 5, 0, 0, 0, 2, 2, 1, 0, 0], "elementGroup": 
 ["chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "map_group", "map_group", "map_group", "map_group", "map_group", "map_group", "map_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "table_group", "table_group", "table_group", "table_group", "table_group", "table_group", "table_group", "table_group", "top", "top", "top", "top", "top"], "log_id": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44
 , 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "log_strings": ["chart_group,linechart,linechart,TOOLTIP,mouseover,SHOW,-,tooltip,USER", "chart_group,linechart,linechart,TOOLTIP,mouseover_INTERVAL,SHOW,-,tooltip,USER", "chart_group,linechart,linechart-aggregation,COMBOBOX,click,SELECT,-,options,USER", "chart_group,linechart,linechart-trendline-hide,BUTTON,click,ALTER,-,linechart,USER", "chart_group,linechart,linechart-trendline-show,BUTTON,click,ALTER,-,linechart,USER", "chart_group,linechart-brush,linechart-brush,CANVAS,drag,SELECT,-,linechart;brush,USER", "chart_group,linechart-clear-range,-,BUTTON,click,DESELECT,-,filter,USER", "chart_group,linechart-day,linechart-day,BUTTON,click,ALTER,-,linechart,USER", "chart_group,linechart-hour,linechart-hour,BUTTON,click,ALTER,-,linechart,USER", "chart_group,linechart-range,date-range,CANVAS,click,SELECT,-,filter,USER", "chart_group,tag-cloud,-,TAG,click,ADD,-,filter,USER", "chart_group,tag-cloud,-,TAG,click,REMOVE,-,filter,USER", "c
 hart_group,tag-cloud-options,all-filters,BUTTON,click,SELECT,-,options,USER", "chart_group,tag-cloud-options,any-filters,BUTTON,click,SELECT,-,options,USER", "chart_group,tag-cloud-options,remove-translation,BUTTON,click,SELECT,-,options,USER", "chart_group,timeline,timeline,TOOLTIP,mouseover,SHOW,-,tooltip,USER", "chart_group,timeline,timeline,TOOLTIP,mouseover_INTERVAL,SHOW,-,tooltip,USER", "chart_group,timeline,timeline-showFocus-always,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline,timeline-showFocus-never,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline,timeline-showFocus-on_filter,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-brush,timeline-brush,CANVAS,drag,SELECT,-,timeline;brush,USER", "chart_group,timeline-clear-range,-,BUTTON,click,DESELECT,-,filter,USER", "chart_group,timeline-day,timeline-day,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-hour,timeline-hour,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-month,ti
 meline-month,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-range,date-range,CANVAS,click,SELECT,-,timeline,USER", "chart_group,timeline-year,timeline-year,BUTTON,click,ALTER,-,timeline,USER", "map_group,map,-,TOOLTIP,click,HIDE,-,map,USER", "map_group,map,-,TOOLTIP,click,SHOW,-,map,USER", "map_group,map,geo-filter,BUTTON,click,DESELECT,-,map,USER", "map_group,map,geo-filter,CANVAS,drag,SELECT,-,map,USER", "map_group,map,map-viewport,CANVAS,panstart,ALTER,-,map,USER", "map_group,map,map-viewport,CANVAS,zoom,ALTER,-,map,USER", "map_group,map-layer-active-button,-,BUTTON,click,ALTER,-,options,USER", "query_group,filter-builder-add-filter,-,BUTTON,click,ADD,-,filter-builder,USER", "query_group,filter-builder-and-clauses,-,BUTTON,click,ALTER,-,filter-builder,USER", "query_group,filter-builder-clear-all,-,BUTTON,click,REMOVE,-,filter-builder,USER", "query_group,filter-builder-remove-filter,-,BUTTON,click,REMOVE,-,filter-builder,USER", "query_group,filter-builder-selected-fiel
 d,-,COMBOBOX,click,SELECT,-,filter-builder,USER", "query_group,filter-builder-selectedOperator,-,COMBOBOX,click,SELECT,-,filter-builder,USER", "query_group,filter-builder-selectedValue,-,TEXTBOX,keydown,ENTER,-,filter-builder,USER", "query_group,filter-builder-selectedValue,-,TEXTBOX,keydown_INTERVAL,ENTER,-,filter-builder,USER", "query_group,filter-builder-update-filter-0,-,BUTTON,click,ALTER,-,filter-builder,USER", "query_group,filter-builder-update-filter-1,-,BUTTON,click,ALTER,-,filter-builder,USER", "query_group,filter-builder-update-filter-2,-,BUTTON,click,ALTER,-,filter-builder,USER", "table_group,datagrid,-,DATAGRID,click,ALTER,-,sort-column,USER", "table_group,datagrid,-,DATAGRID,drag,ALTER,-,reorder-column,USER", "table_group,datagrid,-,DATAGRID,drag,ALTER,-,resize-column,USER", "table_group,datagrid,-,DATAGRID,scroll,ALTER,-,scroll-datagrid,USER", "table_group,datagrid,-,DATAGRID,scroll_INTERVAL,ALTER,-,scroll-datagrid,USER", "table_group,datagrid-limit,-,TEXTBOX,keydown_
 INTERVAL,ALTER,-,options,USER", "table_group,datagrid-refresh,-,BUTTON,click,PERFORM,-,options,USER", "table_group,datagrid-sort-direction,-,RADIOBUTTON,click,SELECT,-,options,USER", "top,chart-options,-,BUTTON,click,HIDE,-,options,USER", "top,chart-options,-,BUTTON,click,SHOW,-,options,USER", "top,dataset-menu,-,BUTTON,click,SELECT,-,dataset,USER", "top,workspace,layout,WORKSPACE,click,ALTER,-,visualization,USER", "top,workspace,layout,WORKSPACE,dragstart,ALTER,-,visualization,USER"], "elementSub": ["linechart", "linechart", "linechart-aggregation", "linechart-trendline-hide", "linechart-trendline-show", "linechart-brush", "-", "linechart-day", "linechart-hour", "date-range", "-", "-", "all-filters", "any-filters", "remove-translation", "timeline", "timeline", "timeline-showFocus-always", "timeline-showFocus-never", "timeline-showFocus-on_filter", "timeline-brush", "-", "timeline-day", "timeline-hour", "timeline-month", "date-range", "timeline-year", "-", "-", "geo-filter", "geo-fi
 lter", "map-viewport", "map-viewport", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "layout", "layout"], "activity": ["SHOW", "SHOW", "SELECT", "ALTER", "ALTER", "SELECT", "DESELECT", "ALTER", "ALTER", "SELECT", "ADD", "REMOVE", "SELECT", "SELECT", "SELECT", "SHOW", "SHOW", "ALTER", "ALTER", "ALTER", "SELECT", "DESELECT", "ALTER", "ALTER", "ALTER", "SELECT", "ALTER", "HIDE", "SHOW", "DESELECT", "SELECT", "ALTER", "ALTER", "ALTER", "ADD", "ALTER", "REMOVE", "REMOVE", "SELECT", "SELECT", "ENTER", "ENTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "PERFORM", "SELECT", "HIDE", "SHOW", "SELECT", "ALTER", "ALTER"], "action": ["mouseover", "mouseover_INTERVAL", "click", "click", "click", "drag", "click", "click", "click", "click", "click", "click", "click", "click", "click", "mouseover", "mouseover_INTERVAL", "click", "click", "click", "drag", "click", "click", "click", "click", "cl
 ick", "click", "click", "click", "click", "drag", "panstart", "zoom", "click", "click", "click", "click", "click", "click", "click", "keydown", "keydown_INTERVAL", "click", "click", "click", "click", "drag", "drag", "scroll", "scroll_INTERVAL", "keydown_INTERVAL", "click", "click", "click", "click", "click", "click", "dragstart"], "elementType": ["TOOLTIP", "TOOLTIP", "COMBOBOX", "BUTTON", "BUTTON", "CANVAS", "BUTTON", "BUTTON", "BUTTON", "CANVAS", "TAG", "TAG", "BUTTON", "BUTTON", "BUTTON", "TOOLTIP", "TOOLTIP", "BUTTON", "BUTTON", "BUTTON", "CANVAS", "BUTTON", "BUTTON", "BUTTON", "BUTTON", "CANVAS", "BUTTON", "TOOLTIP", "TOOLTIP", "BUTTON", "CANVAS", "CANVAS", "CANVAS", "BUTTON", "BUTTON", "BUTTON", "BUTTON", "BUTTON", "COMBOBOX", "COMBOBOX", "TEXTBOX", "TEXTBOX", "BUTTON", "BUTTON", "BUTTON", "DATAGRID", "DATAGRID", "DATAGRID", "DATAGRID", "DATAGRID", "TEXTBOX", "BUTTON", "RADIOBUTTON", "BUTTON", "BUTTON", "BUTTON", "WORKSPACE", "WORKSPACE"], "nickname": ["linechart_mover", "line
 chart_mover_int", "linechart_aggregation_select", "linechart_trendline_hide", "linechart_trendline_show", "linechart_select_time_range_drag", "linechart_clear_time_range", "linechart_temp_res_day", "linechart_temp_res_hour", "linechart_select_time_range", "tag_cloud_add_filt", "tag_cloud_rem_filt", "tag_cloud_options_all", "tag_cloud_options_any", "tag_cloud_rem_translation", "timeline_mover", "timeline_mover_int", "timeline_show_focus_always", "timeline_show_focus_never", "timeline_show_focus_on", "timeline_select_time_range_drag", "timeline_clear_range", "timeline_temp_res_day", "timeline_temp_res_hour", "timeline_temp_res_month", "timeline_date_range_select", "timeline_temp_res_year", "map_tooltip_hide", "map_tooltip_show", "map_geofilter_click", "map_geofilter_drag", "map_pan", "map_zoom", "map_overlay_change", "query_add_filter", "query_change_filter", "query_clear_all", "query_remove_filter", "query_select_field", "query_select_operator", "query_enter_search_terms", "query_ent
 er_search_terms_int", "query_update_filt0", "query_update_filt1", "query_update_filt2", "datagrid_sort_col_header", "datagrid_reorder_col", "datagrid_resize_col", "datagrid_scroll", "datagrid_scroll_int", "datagrid_enter_limit", "datagrid_refresh", "datagrid_sort_col_button", "options_hide", "options_show", "select_dataset", "layout_alter", "layout_drag_widget"], "elementId": ["linechart", "linechart", "linechart", "linechart", "linechart", "linechart-brush", "linechart-clear-range", "linechart-day", "linechart-hour", "linechart-range", "tag-cloud", "tag-cloud", "tag-cloud-options", "tag-cloud-options", "tag-cloud-options", "timeline", "timeline", "timeline", "timeline", "timeline", "timeline-brush", "timeline-clear-range", "timeline-day", "timeline-hour", "timeline-month", "timeline-range", "timeline-year", "map", "map", "map", "map", "map", "map", "map-layer-active-button", "filter-builder-add-filter", "filter-builder-and-clauses", "filter-builder-clear-all", "filter-builder-remov
 e-filter", "filter-builder-selected-field", "filter-builder-selectedOperator", "filter-builder-selectedValue", "filter-builder-selectedValue", "filter-builder-update-filter-0", "filter-builder-update-filter-1", "filter-builder-update-filter-2", "datagrid", "datagrid", "datagrid", "datagrid", "datagrid", "datagrid-limit", "datagrid-refresh", "datagrid-sort-direction", "chart-options", "chart-options", "dataset-menu", "workspace", "workspace"]}, "session_id": "0ce09368198ffe11adf71b8daab4c4_1785"}}, "application": "Neon", "experiment": "2015_public_xdataonline", "user_hash": "0ce09368198ffe11adf71b8daab4c4"}, {"intake_data": {"demographics": {"Gender": 1.0, "Age": 27.0, "Ethnicity (other)": null, "Ethnicity": 4.0}, "education": {"Most school completed": 5.0, "Education in IA (ind_priv)": null, "Secondary concentration, free": "Biology", "Tertiary concentration, free": "Art and Design", "Education in IA (gov_mil)": null, "Primary concentration, free": "Nursing"}, "employment": {"Indust
 ry experience as an analyst": null, "Decscription of career, occupation": "Not Applicable", "Current industry free": "Healthcare", "Other experience Free": null, "Current job free": "Nurse", "Current title free": "Nurse"}, "exam_scores": {"Experiential inductive cognitive style": 4.1, "Need for cognition": 4.222222222, "Need for closure": 4.266666667, "Rational deductive cognitive style": 3.9, "Subjective Numeracy Scale": 2.2, "Cognitive Reflections Test": 0}}, "OT_data": {"UX OT2  Bedford Workload Composite": 5.0, "OT1 Score": 2, "Time to Complete OT1": 338, "Time to Complete OT2": 322, "Combined OT Scores": 4.0, "UX  Engagement Composite": 4.125, "UX OT 2 Cognitive Load Composite": 1.0, "UX OT Enjoyment Composite": 4.5, "Total Time to Complete All Tasks": 660, "OT2 Confidence": 8.2, "UX OT1 Bedford Workload Composite": 3.666666667, "UX OT2 Engagement Composite": 4.25, "UX OT1 Engagement Composite": 4.0, "UX  Bedford Workload (Mental Effort)": 5.0, "Ave OT Confidence": 8.4749999999
 999996, "UX OT 1 Cognitive Load Composite": 1.55, "UX OT Cognitive Load Composite": 1.2749999999999999, "UX  Bedford Workload (Rel Skill Level)": 5.0, "OT1 Confidence": 8.75, "UX  Bedford Workload Composite": 4.3333333334999997, "OT2 Score": 2.0, "UX  Bedford Workload (Difficulty)": 3.0}, "log_data": {"OT1": {"total_counts": 41, "logs": {"count": [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 4, 4, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 9, 5, 0, 0, 2, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 3, 0, 0], "elementGroup": ["chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "map_group", "map_group", "map_group", "map_group"
 , "map_group", "map_group", "map_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "table_group", "table_group", "table_group", "table_group", "table_group", "table_group", "table_group", "table_group", "top", "top", "top", "top", "top"], "log_id": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "log_strings": ["chart_group,linechart,linechart,TOOLTIP,mouseover,SHOW,-,tooltip,USER", "chart_group,linechart,linechart,TOOLTIP,mouseover_INTERVAL,SHOW,-,tooltip,USER", "chart_group,linechart,linechart-aggregation,COMBOBOX,click,SELECT,-,options,USER", "chart_group,linechart,linechart-trendline-hide,BUTTON,click,ALTER,-,linechart,USER", "chart_group,linechart,linechart-trendline-show,BUTTON,click
 ,ALTER,-,linechart,USER", "chart_group,linechart-brush,linechart-brush,CANVAS,drag,SELECT,-,linechart;brush,USER", "chart_group,linechart-clear-range,-,BUTTON,click,DESELECT,-,filter,USER", "chart_group,linechart-day,linechart-day,BUTTON,click,ALTER,-,linechart,USER", "chart_group,linechart-hour,linechart-hour,BUTTON,click,ALTER,-,linechart,USER", "chart_group,linechart-range,date-range,CANVAS,click,SELECT,-,filter,USER", "chart_group,tag-cloud,-,TAG,click,ADD,-,filter,USER", "chart_group,tag-cloud,-,TAG,click,REMOVE,-,filter,USER", "chart_group,tag-cloud-options,all-filters,BUTTON,click,SELECT,-,options,USER", "chart_group,tag-cloud-options,any-filters,BUTTON,click,SELECT,-,options,USER", "chart_group,tag-cloud-options,remove-translation,BUTTON,click,SELECT,-,options,USER", "chart_group,timeline,timeline,TOOLTIP,mouseover,SHOW,-,tooltip,USER", "chart_group,timeline,timeline,TOOLTIP,mouseover_INTERVAL,SHOW,-,tooltip,USER", "chart_group,timeline,timeline-showFocus-always,BUTTON,click
 ,ALTER,-,timeline,USER", "chart_group,timeline,timeline-showFocus-never,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline,timeline-showFocus-on_filter,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-brush,timeline-brush,CANVAS,drag,SELECT,-,timeline;brush,USER", "chart_group,timeline-clear-range,-,BUTTON,click,DESELECT,-,filter,USER", "chart_group,timeline-day,timeline-day,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-hour,timeline-hour,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-month,timeline-month,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-range,date-range,CANVAS,click,SELECT,-,timeline,USER", "chart_group,timeline-year,timeline-year,BUTTON,click,ALTER,-,timeline,USER", "map_group,map,-,TOOLTIP,click,HIDE,-,map,USER", "map_group,map,-,TOOLTIP,click,SHOW,-,map,USER", "map_group,map,geo-filter,BUTTON,click,DESELECT,-,map,USER", "map_group,map,geo-filter,CANVAS,drag,SELECT,-,map,USER", "map_group,map,map-viewport,CANVAS
 ,panstart,ALTER,-,map,USER", "map_group,map,map-viewport,CANVAS,zoom,ALTER,-,map,USER", "map_group,map-layer-active-button,-,BUTTON,click,ALTER,-,options,USER", "query_group,filter-builder-add-filter,-,BUTTON,click,ADD,-,filter-builder,USER", "query_group,filter-builder-and-clauses,-,BUTTON,click,ALTER,-,filter-builder,USER", "query_group,filter-builder-clear-all,-,BUTTON,click,REMOVE,-,filter-builder,USER", "query_group,filter-builder-remove-filter,-,BUTTON,click,REMOVE,-,filter-builder,USER", "query_group,filter-builder-selected-field,-,COMBOBOX,click,SELECT,-,filter-builder,USER", "query_group,filter-builder-selectedOperator,-,COMBOBOX,click,SELECT,-,filter-builder,USER", "query_group,filter-builder-selectedValue,-,TEXTBOX,keydown,ENTER,-,filter-builder,USER", "query_group,filter-builder-selectedValue,-,TEXTBOX,keydown_INTERVAL,ENTER,-,filter-builder,USER", "query_group,filter-builder-update-filter-0,-,BUTTON,click,ALTER,-,filter-builder,USER", "query_group,filter-builder-update-
 filter-1,-,BUTTON,click,ALTER,-,filter-builder,USER", "query_group,filter-builder-update-filter-2,-,BUTTON,click,ALTER,-,filter-builder,USER", "table_group,datagrid,-,DATAGRID,click,ALTER,-,sort-column,USER", "table_group,datagrid,-,DATAGRID,drag,ALTER,-,reorder-column,USER", "table_group,datagrid,-,DATAGRID,drag,ALTER,-,resize-column,USER", "table_group,datagrid,-,DATAGRID,scroll,ALTER,-,scroll-datagrid,USER", "table_group,datagrid,-,DATAGRID,scroll_INTERVAL,ALTER,-,scroll-datagrid,USER", "table_group,datagrid-limit,-,TEXTBOX,keydown_INTERVAL,ALTER,-,options,USER", "table_group,datagrid-refresh,-,BUTTON,click,PERFORM,-,options,USER", "table_group,datagrid-sort-direction,-,RADIOBUTTON,click,SELECT,-,options,USER", "top,chart-options,-,BUTTON,click,HIDE,-,options,USER", "top,chart-options,-,BUTTON,click,SHOW,-,options,USER", "top,dataset-menu,-,BUTTON,click,SELECT,-,dataset,USER", "top,workspace,layout,WORKSPACE,click,ALTER,-,visualization,USER", "top,workspace,layout,WORKSPACE,drags
 tart,ALTER,-,visualization,USER"], "elementSub": ["linechart", "linechart", "linechart-aggregation", "linechart-trendline-hide", "linechart-trendline-show", "linechart-brush", "-", "linechart-day", "linechart-hour", "date-range", "-", "-", "all-filters", "any-filters", "remove-translation", "timeline", "timeline", "timeline-showFocus-always", "timeline-showFocus-never", "timeline-showFocus-on_filter", "timeline-brush", "-", "timeline-day", "timeline-hour", "timeline-month", "date-range", "timeline-year", "-", "-", "geo-filter", "geo-filter", "map-viewport", "map-viewport", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "layout", "layout"], "activity": ["SHOW", "SHOW", "SELECT", "ALTER", "ALTER", "SELECT", "DESELECT", "ALTER", "ALTER", "SELECT", "ADD", "REMOVE", "SELECT", "SELECT", "SELECT", "SHOW", "SHOW", "ALTER", "ALTER", "ALTER", "SELECT", "DESELECT", "ALTER", "ALTER", "ALTER", "SELECT", "ALTER", "HIDE", "SHOW", 
 "DESELECT", "SELECT", "ALTER", "ALTER", "ALTER", "ADD", "ALTER", "REMOVE", "REMOVE", "SELECT", "SELECT", "ENTER", "ENTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "PERFORM", "SELECT", "HIDE", "SHOW", "SELECT", "ALTER", "ALTER"], "action": ["mouseover", "mouseover_INTERVAL", "click", "click", "click", "drag", "click", "click", "click", "click", "click", "click", "click", "click", "click", "mouseover", "mouseover_INTERVAL", "click", "click", "click", "drag", "click", "click", "click", "click", "click", "click", "click", "click", "click", "drag", "panstart", "zoom", "click", "click", "click", "click", "click", "click", "click", "keydown", "keydown_INTERVAL", "click", "click", "click", "click", "drag", "drag", "scroll", "scroll_INTERVAL", "keydown_INTERVAL", "click", "click", "click", "click", "click", "click", "dragstart"], "elementType": ["TOOLTIP", "TOOLTIP", "COMBOBOX", "BUTTON", "BUTTON", "CANVAS", "BUTTON", "BUTTON", "BUTTON", "CANVAS", "TA
 G", "TAG", "BUTTON", "BUTTON", "BUTTON", "TOOLTIP", "TOOLTIP", "BUTTON", "BUTTON", "BUTTON", "CANVAS", "BUTTON", "BUTTON", "BUTTON", "BUTTON", "CANVAS", "BUTTON", "TOOLTIP", "TOOLTIP", "BUTTON", "CANVAS", "CANVAS", "CANVAS", "BUTTON", "BUTTON", "BUTTON", "BUTTON", "BUTTON", "COMBOBOX", "COMBOBOX", "TEXTBOX", "TEXTBOX", "BUTTON", "BUTTON", "BUTTON", "DATAGRID", "DATAGRID", "DATAGRID", "DATAGRID", "DATAGRID", "TEXTBOX", "BUTTON", "RADIOBUTTON", "BUTTON", "BUTTON", "BUTTON", "WORKSPACE", "WORKSPACE"], "nickname": ["linechart_mover", "linechart_mover_int", "linechart_aggregation_select", "linechart_trendline_hide", "linechart_trendline_show", "linechart_select_time_range_drag", "linechart_clear_time_range", "linechart_temp_res_day", "linechart_temp_res_hour", "linechart_select_time_range", "tag_cloud_add_filt", "tag_cloud_rem_filt", "tag_cloud_options_all", "tag_cloud_options_any", "tag_cloud_rem_translation", "timeline_mover", "timeline_mover_int", "timeline_show_focus_always", "timeli
 ne_show_focus_never", "timeline_show_focus_on", "timeline_select_time_range_drag", "timeline_clear_range", "timeline_temp_res_day", "timeline_temp_res_hour", "timeline_temp_res_month", "timeline_date_range_select", "timeline_temp_res_year", "map_tooltip_hide", "map_tooltip_show", "map_geofilter_click", "map_geofilter_drag", "map_pan", "map_zoom", "map_overlay_change", "query_add_filter", "query_change_filter", "query_clear_all", "query_remove_filter", "query_select_field", "query_select_operator", "query_enter_search_terms", "query_enter_search_terms_int", "query_update_filt0", "query_update_filt1", "query_update_filt2", "datagrid_sort_col_header", "datagrid_reorder_col", "datagrid_resize_col", "datagrid_scroll", "datagrid_scroll_int", "datagrid_enter_limit", "datagrid_refresh", "datagrid_sort_col_button", "options_hide", "options_show", "select_dataset", "layout_alter", "layout_drag_widget"], "elementId": ["linechart", "linechart", "linechart", "linechart", "linechart", "linechart-
 brush", "linechart-clear-range", "linechart-day", "linechart-hour", "linechart-range", "tag-cloud", "tag-cloud", "tag-cloud-options", "tag-cloud-options", "tag-cloud-options", "timeline", "timeline", "timeline", "timeline", "timeline", "timeline-brush", "timeline-clear-range", "timeline-day", "timeline-hour", "timeline-month", "timeline-range", "timeline-year", "map", "map", "map", "map", "map", "map", "map-layer-active-button", "filter-builder-add-filter", "filter-builder-and-clauses", "filter-builder-clear-all", "filter-builder-remove-filter", "filter-builder-selected-field", "filter-builder-selectedOperator", "filter-builder-selectedValue", "filter-builder-selectedValue", "filter-builder-update-filter-0", "filter-builder-update-filter-1", "filter-builder-update-filter-2", "datagrid", "datagrid", "datagrid", "datagrid", "datagrid", "datagrid-limit", "datagrid-refresh", "datagrid-sort-direction", "chart-options", "chart-options", "dataset-menu", "workspace", "workspace"]}, "session
 _id": "0e2bf8b0d73b3c1714d34286df21bd_1660"}, "OT2": {"total_counts": 22, "logs": {"count": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, 2, 0, 0, 2, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 0, 1, 0, 0], "elementGroup": ["chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "map_group", "map_group", "map_group", "map_group", "map_group", "map_group", "map_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "table_group", "table_group", "table_group", "table
 _group", "table_group", "table_group", "table_group", "table_group", "top", "top", "top", "top", "top"], "log_id": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "log_strings": ["chart_group,linechart,linechart,TOOLTIP,mouseover,SHOW,-,tooltip,USER", "chart_group,linechart,linechart,TOOLTIP,mouseover_INTERVAL,SHOW,-,tooltip,USER", "chart_group,linechart,linechart-aggregation,COMBOBOX,click,SELECT,-,options,USER", "chart_group,linechart,linechart-trendline-hide,BUTTON,click,ALTER,-,linechart,USER", "chart_group,linechart,linechart-trendline-show,BUTTON,click,ALTER,-,linechart,USER", "chart_group,linechart-brush,linechart-brush,CANVAS,drag,SELECT,-,linechart;brush,USER", "chart_group,linechart-clear-range,-,BUTTON,click,DESELECT,-,filter,USER", "chart_group,linechart-day,linechart-day,BUTTON,click,ALTER,-,linec
 hart,USER", "chart_group,linechart-hour,linechart-hour,BUTTON,click,ALTER,-,linechart,USER", "chart_group,linechart-range,date-range,CANVAS,click,SELECT,-,filter,USER", "chart_group,tag-cloud,-,TAG,click,ADD,-,filter,USER", "chart_group,tag-cloud,-,TAG,click,REMOVE,-,filter,USER", "chart_group,tag-cloud-options,all-filters,BUTTON,click,SELECT,-,options,USER", "chart_group,tag-cloud-options,any-filters,BUTTON,click,SELECT,-,options,USER", "chart_group,tag-cloud-options,remove-translation,BUTTON,click,SELECT,-,options,USER", "chart_group,timeline,timeline,TOOLTIP,mouseover,SHOW,-,tooltip,USER", "chart_group,timeline,timeline,TOOLTIP,mouseover_INTERVAL,SHOW,-,tooltip,USER", "chart_group,timeline,timeline-showFocus-always,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline,timeline-showFocus-never,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline,timeline-showFocus-on_filter,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-brush,timeline-brush,CANVAS,drag,SELEC
 T,-,timeline;brush,USER", "chart_group,timeline-clear-range,-,BUTTON,click,DESELECT,-,filter,USER", "chart_group,timeline-day,timeline-day,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-hour,timeline-hour,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-month,timeline-month,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-range,date-range,CANVAS,click,SELECT,-,timeline,USER", "chart_group,timeline-year,timeline-year,BUTTON,click,ALTER,-,timeline,USER", "map_group,map,-,TOOLTIP,click,HIDE,-,map,USER", "map_group,map,-,TOOLTIP,click,SHOW,-,map,USER", "map_group,map,geo-filter,BUTTON,click,DESELECT,-,map,USER", "map_group,map,geo-filter,CANVAS,drag,SELECT,-,map,USER", "map_group,map,map-viewport,CANVAS,panstart,ALTER,-,map,USER", "map_group,map,map-viewport,CANVAS,zoom,ALTER,-,map,USER", "map_group,map-layer-active-button,-,BUTTON,click,ALTER,-,options,USER", "query_group,filter-builder-add-filter,-,BUTTON,click,ADD,-,filter-builder,USER", "query_group,f
 ilter-builder-and-clauses,-,BUTTON,click,ALTER,-,filter-builder,USER", "query_group,filter-builder-clear-all,-,BUTTON,click,REMOVE,-,filter-builder,USER", "query_group,filter-builder-remove-filter,-,BUTTON,click,REMOVE,-,filter-builder,USER", "query_group,filter-builder-selected-field,-,COMBOBOX,click,SELECT,-,filter-builder,USER", "query_group,filter-builder-selectedOperator,-,COMBOBOX,click,SELECT,-,filter-builder,USER", "query_group,filter-builder-selectedValue,-,TEXTBOX,keydown,ENTER,-,filter-builder,USER", "query_group,filter-builder-selectedValue,-,TEXTBOX,keydown_INTERVAL,ENTER,-,filter-builder,USER", "query_group,filter-builder-update-filter-0,-,BUTTON,click,ALTER,-,filter-builder,USER", "query_group,filter-builder-update-filter-1,-,BUTTON,click,ALTER,-,filter-builder,USER", "query_group,filter-builder-update-filter-2,-,BUTTON,click,ALTER,-,filter-builder,USER", "table_group,datagrid,-,DATAGRID,click,ALTER,-,sort-column,USER", "table_group,datagrid,-,DATAGRID,drag,ALTER,-,re
 order-column,USER", "table_group,datagrid,-,DATAGRID,drag,ALTER,-,resize-column,USER", "table_group,datagrid,-,DATAGRID,scroll,ALTER,-,scroll-datagrid,USER", "table_group,datagrid,-,DATAGRID,scroll_INTERVAL,ALTER,-,scroll-datagrid,USER", "table_group,datagrid-limit,-,TEXTBOX,keydown_INTERVAL,ALTER,-,options,USER", "table_group,datagrid-refresh,-,BUTTON,click,PERFORM,-,options,USER", "table_group,datagrid-sort-direction,-,RADIOBUTTON,click,SELECT,-,options,USER", "top,chart-options,-,BUTTON,click,HIDE,-,options,USER", "top,chart-options,-,BUTTON,click,SHOW,-,options,USER", "top,dataset-menu,-,BUTTON,click,SELECT,-,dataset,USER", "top,workspace,layout,WORKSPACE,click,ALTER,-,visualization,USER", "top,workspace,layout,WORKSPACE,dragstart,ALTER,-,visualization,USER"], "elementSub": ["linechart", "linechart", "linechart-aggregation", "linechart-trendline-hide", "linechart-trendline-show", "linechart-brush", "-", "linechart-day", "linechart-hour", "date-range", "-", "-", "all-filters", "a
 ny-filters", "remove-translation", "timeline", "timeline", "timeline-showFocus-always", "timeline-showFocus-never", "timeline-showFocus-on_filter", "timeline-brush", "-", "timeline-day", "timeline-hour", "timeline-month", "date-range", "timeline-year", "-", "-", "geo-filter", "geo-filter", "map-viewport", "map-viewport", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "layout", "layout"], "activity": ["SHOW", "SHOW", "SELECT", "ALTER", "ALTER", "SELECT", "DESELECT", "ALTER", "ALTER", "SELECT", "ADD", "REMOVE", "SELECT", "SELECT", "SELECT", "SHOW", "SHOW", "ALTER", "ALTER", "ALTER", "SELECT", "DESELECT", "ALTER", "ALTER", "ALTER", "SELECT", "ALTER", "HIDE", "SHOW", "DESELECT", "SELECT", "ALTER", "ALTER", "ALTER", "ADD", "ALTER", "REMOVE", "REMOVE", "SELECT", "SELECT", "ENTER", "ENTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "PERFORM", "SELECT", "HIDE", "SHOW", "SELECT", "ALTER
 ", "ALTER"], "action": ["mouseover", "mouseover_INTERVAL", "click", "click", "click", "drag", "click", "click", "click", "click", "click", "click", "click", "click", "click", "mouseover", "mouseover_INTERVAL", "click", "click", "click", "drag", "click", "click", "click", "click", "click", "click", "click", "click", "click", "drag", "panstart", "zoom", "click", "click", "click", "click", "click", "click", "click", "keydown", "keydown_INTERVAL", "click", "click", "click", "click", "drag", "drag", "scroll", "scroll_INTERVAL", "keydown_INTERVAL", "click", "click", "click", "click", "click", "click", "dragstart"], "elementType": ["TOOLTIP", "TOOLTIP", "COMBOBOX", "BUTTON", "BUTTON", "CANVAS", "BUTTON", "BUTTON", "BUTTON", "CANVAS", "TAG", "TAG", "BUTTON", "BUTTON", "BUTTON", "TOOLTIP", "TOOLTIP", "BUTTON", "BUTTON", "BUTTON", "CANVAS", "BUTTON", "BUTTON", "BUTTON", "BUTTON", "CANVAS", "BUTTON", "TOOLTIP", "TOOLTIP", "BUTTON", "CANVAS", "CANVAS", "CANVAS", "BUTTON", "BUTTON", "BUTTON", "B
 UTTON", "BUTTON", "COMBOBOX", "COMBOBOX", "TEXTBOX", "TEXTBOX", "BUTTON", "BUTTON", "BUTTON", "DATAGRID", "DATAGRID", "DATAGRID", "DATAGRID", "DATAGRID", "TEXTBOX", "BUTTON", "RADIOBUTTON", "BUTTON", "BUTTON", "BUTTON", "WORKSPACE", "WORKSPACE"], "nickname": ["linechart_mover", "linechart_mover_int", "linechart_aggregation_select", "linechart_trendline_hide", "linechart_trendline_show", "linechart_select_time_range_drag", "linechart_clear_time_range", "linechart_temp_res_day", "linechart_temp_res_hour", "linechart_select_time_range", "tag_cloud_add_filt", "tag_cloud_rem_filt", "tag_cloud_options_all", "tag_cloud_options_any", "tag_cloud_rem_translation", "timeline_mover", "timeline_mover_int", "timeline_show_focus_always", "timeline_show_focus_never", "timeline_show_focus_on", "timeline_select_time_range_drag", "timeline_clear_range", "timeline_temp_res_day", "timeline_temp_res_hour", "timeline_temp_res_month", "timeline_date_range_select", "timeline_temp_res_year", "map_tooltip_hid
 e", "map_tooltip_show", "map_geofilter_click", "map_geofilter_drag", "map_pan", "map_zoom", "map_overlay_change", "query_add_filter", "query_change_filter", "query_clear_all", "query_remove_filter", "query_select_field", "query_select_operator", "query_enter_search_terms", "query_enter_search_terms_int", "query_update_filt0", "query_update_filt1", "query_update_filt2", "datagrid_sort_col_header", "datagrid_reorder_col", "datagrid_resize_col", "datagrid_scroll", "datagrid_scroll_int", "datagrid_enter_limit", "datagrid_refresh", "datagrid_sort_col_button", "options_hide", "options_show", "select_dataset", "layout_alter", "layout_drag_widget"], "elementId": ["linechart", "linechart", "linechart", "linechart", "linechart", "linechart-brush", "linechart-clear-range", "linechart-day", "linechart-hour", "linechart-range", "tag-cloud", "tag-cloud", "tag-cloud-options", "tag-cloud-options", "tag-cloud-options", "timeline", "timeline", "timeline", "timeline", "timeline", "timeline-brush", "ti
 meline-clear-range", "timeline-day", "timeline-hour", "timeline-month", "timeline-range", "timeline-year", "map", "map", "map", "map", "map", "map", "map-layer-active-button", "filter-builder-add-filter", "filter-builder-and-clauses", "filter-builder-clear-all", "filter-builder-remove-filter", "filter-builder-selected-field", "filter-builder-selectedOperator", "filter-builder-selectedValue", "filter-builder-selectedValue", "filter-builder-update-filter-0", "filter-builder-update-filter-1", "filter-builder-update-filter-2", "datagrid", "datagrid", "datagrid", "datagrid", "datagrid", "datagrid-limit", "datagrid-refresh", "datagrid-sort-direction", "chart-options", "chart-options", "dataset-menu", "workspace", "workspace"]}, "session_id": "0e2bf8b0d73b3c1714d34286df21bd_1661"}}, "application": "Neon", "experiment": "2015_public_xdataonline", "user_hash": "0e2bf8b0d73b3c1714d34286df21bd"}, {"intake_data": {"demographics": {"Gender": 1.0, "Age": 50.0, "Ethnicity (other)": null, "Ethnicit
 y": 4.0}, "education": {"Most school completed": 9.0, "Education in IA (ind_priv)": null, "Secondary concentration, free": "business administration", "Tertiary concentration, free": null, "Education in IA (gov_mil)": null, "Primary concentration, free": "health services administration"}, "employment": {"Industry experience as an analyst": null, "Decscription of career, occupation": "Not Applicable", "Current industry free": "health care", "Other experience Free": null, "Current job free": "hospital", "Current title free": "manager"}, "exam_scores": {"Experiential inductive cognitive style": 4.9, "Need for cognition": 4.5, "Need for closure": 4.4, "Rational deductive cognitive style": 5.5, "Subjective Numeracy Scale": 4.0, "Cognitive Reflections Test": 0}}, "OT_data": {"UX OT2  Bedford Workload Composite": 6.666666667, "OT1 Score": 1, "Time to Complete OT1": 274, "Time to Complete OT2": 457, "Combined OT Scores": 2.0, "UX  Engagement Composite": 3.5, "UX OT 2 Cognitive Load Composite
 ": 3.04, "UX OT Enjoyment Composite": 4.0, "Total Time to Complete All Tasks": 731, "OT2 Confidence": 6.4, "UX OT1 Bedford Workload Composite": 6.666666667, "UX OT2 Engagement Composite": 3.5, "UX OT1 Engagement Composite": 3.5, "UX  Bedford Workload (Mental Effort)": 7.5, "Ave OT Confidence": 6.5750000000000002, "UX OT 1 Cognitive Load Composite": 2.85, "UX OT Cognitive Load Composite": 2.9450000000000003, "UX  Bedford Workload (Rel Skill Level)": 6.0, "OT1 Confidence": 6.75, "UX  Bedford Workload Composite": 6.6666666670000003, "OT2 Score": 1.0, "UX  Bedford Workload (Difficulty)": 6.5}, "log_data": {"OT1": {"total_counts": 14, "logs": {"count": [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 0, 0], "elementGroup": ["chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group"
 , "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "map_group", "map_group", "map_group", "map_group", "map_group", "map_group", "map_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "table_group", "table_group", "table_group", "table_group", "table_group", "table_group", "table_group", "table_group", "top", "top", "top", "top", "top"], "log_id": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "log_strings": ["chart_group,linechart,linechart,TOOLTIP,mouseover,SHOW,-,tooltip,USER", "char
 t_group,linechart,linechart,TOOLTIP,mouseover_INTERVAL,SHOW,-,tooltip,USER", "chart_group,linechart,linechart-aggregation,COMBOBOX,click,SELECT,-,options,USER", "chart_group,linechart,linechart-trendline-hide,BUTTON,click,ALTER,-,linechart,USER", "chart_group,linechart,linechart-trendline-show,BUTTON,click,ALTER,-,linechart,USER", "chart_group,linechart-brush,linechart-brush,CANVAS,drag,SELECT,-,linechart;brush,USER", "chart_group,linechart-clear-range,-,BUTTON,click,DESELECT,-,filter,USER", "chart_group,linechart-day,linechart-day,BUTTON,click,ALTER,-,linechart,USER", "chart_group,linechart-hour,linechart-hour,BUTTON,click,ALTER,-,linechart,USER", "chart_group,linechart-range,date-range,CANVAS,click,SELECT,-,filter,USER", "chart_group,tag-cloud,-,TAG,click,ADD,-,filter,USER", "chart_group,tag-cloud,-,TAG,click,REMOVE,-,filter,USER", "chart_group,tag-cloud-options,all-filters,BUTTON,click,SELECT,-,options,USER", "chart_group,tag-cloud-options,any-filters,BUTTON,click,SELECT,-,option
 s,USER", "chart_group,tag-cloud-options,remove-translation,BUTTON,click,SELECT,-,options,USER", "chart_group,timeline,timeline,TOOLTIP,mouseover,SHOW,-,tooltip,USER", "chart_group,timeline,timeline,TOOLTIP,mouseover_INTERVAL,SHOW,-,tooltip,USER", "chart_group,timeline,timeline-showFocus-always,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline,timeline-showFocus-never,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline,timeline-showFocus-on_filter,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-brush,timeline-brush,CANVAS,drag,SELECT,-,timeline;brush,USER", "chart_group,timeline-clear-range,-,BUTTON,click,DESELECT,-,filter,USER", "chart_group,timeline-day,timeline-day,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-hour,timeline-hour,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-month,timeline-month,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-range,date-range,CANVAS,click,SELECT,-,timeline,USER", "chart_group,timeline-
 year,timeline-year,BUTTON,click,ALTER,-,timeline,USER", "map_group,map,-,TOOLTIP,click,HIDE,-,map,USER", "map_group,map,-,TOOLTIP,click,SHOW,-,map,USER", "map_group,map,geo-filter,BUTTON,click,DESELECT,-,map,USER", "map_group,map,geo-filter,CANVAS,drag,SELECT,-,map,USER", "map_group,map,map-viewport,CANVAS,panstart,ALTER,-,map,USER", "map_group,map,map-viewport,CANVAS,zoom,ALTER,-,map,USER", "map_group,map-layer-active-button,-,BUTTON,click,ALTER,-,options,USER", "query_group,filter-builder-add-filter,-,BUTTON,click,ADD,-,filter-builder,USER", "query_group,filter-builder-and-clauses,-,BUTTON,click,ALTER,-,filter-builder,USER", "query_group,filter-builder-clear-all,-,BUTTON,click,REMOVE,-,filter-builder,USER", "query_group,filter-builder-remove-filter,-,BUTTON,click,REMOVE,-,filter-builder,USER", "query_group,filter-builder-selected-field,-,COMBOBOX,click,SELECT,-,filter-builder,USER", "query_group,filter-builder-selectedOperator,-,COMBOBOX,click,SELECT,-,filter-builder,USER", "query
 _group,filter-builder-selectedValue,-,TEXTBOX,keydown,ENTER,-,filter-builder,USER", "query_group,filter-builder-selectedValue,-,TEXTBOX,keydown_INTERVAL,ENTER,-,filter-builder,USER", "query_group,filter-builder-update-filter-0,-,BUTTON,click,ALTER,-,filter-builder,USER", "query_group,filter-builder-update-filter-1,-,BUTTON,click,ALTER,-,filter-builder,USER", "query_group,filter-builder-update-filter-2,-,BUTTON,click,ALTER,-,filter-builder,USER", "table_group,datagrid,-,DATAGRID,click,ALTER,-,sort-column,USER", "table_group,datagrid,-,DATAGRID,drag,ALTER,-,reorder-column,USER", "table_group,datagrid,-,DATAGRID,drag,ALTER,-,resize-column,USER", "table_group,datagrid,-,DATAGRID,scroll,ALTER,-,scroll-datagrid,USER", "table_group,datagrid,-,DATAGRID,scroll_INTERVAL,ALTER,-,scroll-datagrid,USER", "table_group,datagrid-limit,-,TEXTBOX,keydown_INTERVAL,ALTER,-,options,USER", "table_group,datagrid-refresh,-,BUTTON,click,PERFORM,-,options,USER", "table_group,datagrid-sort-direction,-,RADIOBUT
 TON,click,SELECT,-,options,USER", "top,chart-options,-,BUTTON,click,HIDE,-,options,USER", "top,chart-options,-,BUTTON,click,SHOW,-,options,USER", "top,dataset-menu,-,BUTTON,click,SELECT,-,dataset,USER", "top,workspace,layout,WORKSPACE,click,ALTER,-,visualization,USER", "top,workspace,layout,WORKSPACE,dragstart,ALTER,-,visualization,USER"], "elementSub": ["linechart", "linechart", "linechart-aggregation", "linechart-trendline-hide", "linechart-trendline-show", "linechart-brush", "-", "linechart-day", "linechart-hour", "date-range", "-", "-", "all-filters", "any-filters", "remove-translation", "timeline", "timeline", "timeline-showFocus-always", "timeline-showFocus-never", "timeline-showFocus-on_filter", "timeline-brush", "-", "timeline-day", "timeline-hour", "timeline-month", "date-range", "timeline-year", "-", "-", "geo-filter", "geo-filter", "map-viewport", "map-viewport", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", 
 "-", "layout", "layout"], "activity": ["SHOW", "SHOW", "SELECT", "ALTER", "ALTER", "SELECT", "DESELECT", "ALTER", "ALTER", "SELECT", "ADD", "REMOVE", "SELECT", "SELECT", "SELECT", "SHOW", "SHOW", "ALTER", "ALTER", "ALTER", "SELECT", "DESELECT", "ALTER", "ALTER", "ALTER", "SELECT", "ALTER", "HIDE", "SHOW", "DESELECT", "SELECT", "ALTER", "ALTER", "ALTER", "ADD", "ALTER", "REMOVE", "REMOVE", "SELECT", "SELECT", "ENTER", "ENTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "PERFORM", "SELECT", "HIDE", "SHOW", "SELECT", "ALTER", "ALTER"], "action": ["mouseover", "mouseover_INTERVAL", "click", "click", "click", "drag", "click", "click", "click", "click", "click", "click", "click", "click", "click", "mouseover", "mouseover_INTERVAL", "click", "click", "click", "drag", "click", "click", "click", "click", "click", "click", "click", "click", "click", "drag", "panstart", "zoom", "click", "click", "click", "click", "click", "click", "click", "keydown", "keyd
 own_INTERVAL", "click", "click", "click", "click", "drag", "drag", "scroll", "scroll_INTERVAL", "keydown_INTERVAL", "click", "click", "click", "click", "click", "click", "dragstart"], "elementType": ["TOOLTIP", "TOOLTIP", "COMBOBOX", "BUTTON", "BUTTON", "CANVAS", "BUTTON", "BUTTON", "BUTTON", "CANVAS", "TAG", "TAG", "BUTTON", "BUTTON", "BUTTON", "TOOLTIP", "TOOLTIP", "BUTTON", "BUTTON", "BUTTON", "CANVAS", "BUTTON", "BUTTON", "BUTTON", "BUTTON", "CANVAS", "BUTTON", "TOOLTIP", "TOOLTIP", "BUTTON", "CANVAS", "CANVAS", "CANVAS", "BUTTON", "BUTTON", "BUTTON", "BUTTON", "BUTTON", "COMBOBOX", "COMBOBOX", "TEXTBOX", "TEXTBOX", "BUTTON", "BUTTON", "BUTTON", "DATAGRID", "DATAGRID", "DATAGRID", "DATAGRID", "DATAGRID", "TEXTBOX", "BUTTON", "RADIOBUTTON", "BUTTON", "BUTTON", "BUTTON", "WORKSPACE", "WORKSPACE"], "nickname": ["linechart_mover", "linechart_mover_int", "linechart_aggregation_select", "linechart_trendline_hide", "linechart_trendline_show", "linechart_select_time_range_drag", "linech
 art_clear_time_range", "linechart_temp_res_day", "linechart_temp_res_hour", "linechart_select_time_range", "tag_cloud_add_filt", "tag_cloud_rem_filt", "tag_cloud_options_all", "tag_cloud_options_any", "tag_cloud_rem_translation", "timeline_mover", "timeline_mover_int", "timeline_show_focus_always", "timeline_show_focus_never", "timeline_show_focus_on", "timeline_select_time_range_drag", "timeline_clear_range", "timeline_temp_res_day", "timeline_temp_res_hour", "timeline_temp_res_month", "timeline_date_range_select", "timeline_temp_res_year", "map_tooltip_hide", "map_tooltip_show", "map_geofilter_click", "map_geofilter_drag", "map_pan", "map_zoom", "map_overlay_change", "query_add_filter", "query_change_filter", "query_clear_all", "query_remove_filter", "query_select_field", "query_select_operator", "query_enter_search_terms", "query_enter_search_terms_int", "query_update_filt0", "query_update_filt1", "query_update_filt2", "datagrid_sort_col_header", "datagrid_reorder_col", "datagrid
 _resize_col", "datagrid_scroll", "datagrid_scroll_int", "datagrid_enter_limit", "datagrid_refresh", "datagrid_sort_col_button", "options_hide", "options_show", "select_dataset", "layout_alter", "layout_drag_widget"], "elementId": ["linechart", "linechart", "linechart", "linechart", "linechart", "linechart-brush", "linechart-clear-range", "linechart-day", "linechart-hour", "linechart-range", "tag-cloud", "tag-cloud", "tag-cloud-options", "tag-cloud-options", "tag-cloud-options", "timeline", "timeline", "timeline", "timeline", "timeline", "timeline-brush", "timeline-clear-range", "timeline-day", "timeline-hour", "timeline-month", "timeline-range", "timeline-year", "map", "map", "map", "map", "map", "map", "map-layer-active-button", "filter-builder-add-filter", "filter-builder-and-clauses", "filter-builder-clear-all", "filter-builder-remove-filter", "filter-builder-selected-field", "filter-builder-selectedOperator", "filter-builder-selectedValue", "filter-builder-selectedValue", "filte
 r-builder-update-filter-0", "filter-builder-update-filter-1", "filter-builder-update-filter-2", "datagrid", "datagrid", "datagrid", "datagrid", "datagrid", "datagrid-limit", "datagrid-refresh", "datagrid-sort-direction", "chart-options", "chart-options", "dataset-menu", "workspace", "workspace"]}, "session_id": "1baa3b7cf49d0f58c6f4535d69cb95_1917"}, "OT2": {"total_counts": 23, "logs": {"count": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 1, 1, 0, 0], "elementGroup": ["chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", "chart_group", 
 "map_group", "map_group", "map_group", "map_group", "map_group", "map_group", "map_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "query_group", "table_group", "table_group", "table_group", "table_group", "table_group", "table_group", "table_group", "table_group", "top", "top", "top", "top", "top"], "log_id": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "log_strings": ["chart_group,linechart,linechart,TOOLTIP,mouseover,SHOW,-,tooltip,USER", "chart_group,linechart,linechart,TOOLTIP,mouseover_INTERVAL,SHOW,-,tooltip,USER", "chart_group,linechart,linechart-aggregation,COMBOBOX,click,SELECT,-,options,USER", "chart_group,linechart,linechart-trendline-hide,BUTTON,click,ALTER,-,linechart,USER", "chart_gro
 up,linechart,linechart-trendline-show,BUTTON,click,ALTER,-,linechart,USER", "chart_group,linechart-brush,linechart-brush,CANVAS,drag,SELECT,-,linechart;brush,USER", "chart_group,linechart-clear-range,-,BUTTON,click,DESELECT,-,filter,USER", "chart_group,linechart-day,linechart-day,BUTTON,click,ALTER,-,linechart,USER", "chart_group,linechart-hour,linechart-hour,BUTTON,click,ALTER,-,linechart,USER", "chart_group,linechart-range,date-range,CANVAS,click,SELECT,-,filter,USER", "chart_group,tag-cloud,-,TAG,click,ADD,-,filter,USER", "chart_group,tag-cloud,-,TAG,click,REMOVE,-,filter,USER", "chart_group,tag-cloud-options,all-filters,BUTTON,click,SELECT,-,options,USER", "chart_group,tag-cloud-options,any-filters,BUTTON,click,SELECT,-,options,USER", "chart_group,tag-cloud-options,remove-translation,BUTTON,click,SELECT,-,options,USER", "chart_group,timeline,timeline,TOOLTIP,mouseover,SHOW,-,tooltip,USER", "chart_group,timeline,timeline,TOOLTIP,mouseover_INTERVAL,SHOW,-,tooltip,USER", "chart_gro
 up,timeline,timeline-showFocus-always,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline,timeline-showFocus-never,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline,timeline-showFocus-on_filter,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-brush,timeline-brush,CANVAS,drag,SELECT,-,timeline;brush,USER", "chart_group,timeline-clear-range,-,BUTTON,click,DESELECT,-,filter,USER", "chart_group,timeline-day,timeline-day,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-hour,timeline-hour,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-month,timeline-month,BUTTON,click,ALTER,-,timeline,USER", "chart_group,timeline-range,date-range,CANVAS,click,SELECT,-,timeline,USER", "chart_group,timeline-year,timeline-year,BUTTON,click,ALTER,-,timeline,USER", "map_group,map,-,TOOLTIP,click,HIDE,-,map,USER", "map_group,map,-,TOOLTIP,click,SHOW,-,map,USER", "map_group,map,geo-filter,BUTTON,click,DESELECT,-,map,USER", "map_group,map,geo-filter,CANVAS,drag,SELE
 CT,-,map,USER", "map_group,map,map-viewport,CANVAS,panstart,ALTER,-,map,USER", "map_group,map,map-viewport,CANVAS,zoom,ALTER,-,map,USER", "map_group,map-layer-active-button,-,BUTTON,click,ALTER,-,options,USER", "query_group,filter-builder-add-filter,-,BUTTON,click,ADD,-,filter-builder,USER", "query_group,filter-builder-and-clauses,-,BUTTON,click,ALTER,-,filter-builder,USER", "query_group,filter-builder-clear-all,-,BUTTON,click,REMOVE,-,filter-builder,USER", "query_group,filter-builder-remove-filter,-,BUTTON,click,REMOVE,-,filter-builder,USER", "query_group,filter-builder-selected-field,-,COMBOBOX,click,SELECT,-,filter-builder,USER", "query_group,filter-builder-selectedOperator,-,COMBOBOX,click,SELECT,-,filter-builder,USER", "query_group,filter-builder-selectedValue,-,TEXTBOX,keydown,ENTER,-,filter-builder,USER", "query_group,filter-builder-selectedValue,-,TEXTBOX,keydown_INTERVAL,ENTER,-,filter-builder,USER", "query_group,filter-builder-update-filter-0,-,BUTTON,click,ALTER,-,filter-
 builder,USER", "query_group,filter-builder-update-filter-1,-,BUTTON,click,ALTER,-,filter-builder,USER", "query_group,filter-builder-update-filter-2,-,BUTTON,click,ALTER,-,filter-builder,USER", "table_group,datagrid,-,DATAGRID,click,ALTER,-,sort-column,USER", "table_group,datagrid,-,DATAGRID,drag,ALTER,-,reorder-column,USER", "table_group,datagrid,-,DATAGRID,drag,ALTER,-,resize-column,USER", "table_group,datagrid,-,DATAGRID,scroll,ALTER,-,scroll-datagrid,USER", "table_group,datagrid,-,DATAGRID,scroll_INTERVAL,ALTER,-,scroll-datagrid,USER", "table_group,datagrid-limit,-,TEXTBOX,keydown_INTERVAL,ALTER,-,options,USER", "table_group,datagrid-refresh,-,BUTTON,click,PERFORM,-,options,USER", "table_group,datagrid-sort-direction,-,RADIOBUTTON,click,SELECT,-,options,USER", "top,chart-options,-,BUTTON,click,HIDE,-,options,USER", "top,chart-options,-,BUTTON,click,SHOW,-,options,USER", "top,dataset-menu,-,BUTTON,click,SELECT,-,dataset,USER", "top,workspace,layout,WORKSPACE,click,ALTER,-,visualiz
 ation,USER", "top,workspace,layout,WORKSPACE,dragstart,ALTER,-,visualization,USER"], "elementSub": ["linechart", "linechart", "linechart-aggregation", "linechart-trendline-hide", "linechart-trendline-show", "linechart-brush", "-", "linechart-day", "linechart-hour", "date-range", "-", "-", "all-filters", "any-filters", "remove-translation", "timeline", "timeline", "timeline-showFocus-always", "timeline-showFocus-never", "timeline-showFocus-on_filter", "timeline-brush", "-", "timeline-day", "timeline-hour", "timeline-month", "date-range", "timeline-year", "-", "-", "geo-filter", "geo-filter", "map-viewport", "map-viewport", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "layout", "layout"], "activity": ["SHOW", "SHOW", "SELECT", "ALTER", "ALTER", "SELECT", "DESELECT", "ALTER", "ALTER", "SELECT", "ADD", "REMOVE", "SELECT", "SELECT", "SELECT", "SHOW", "SHOW", "ALTER", "ALTER", "ALTER", "SELECT", "DESELECT", "ALTER", "AL
 TER", "ALTER", "SELECT", "ALTER", "HIDE", "SHOW", "DESELECT", "SELECT", "ALTER", "ALTER", "ALTER", "ADD", "ALTER", "REMOVE", "REMOVE", "SELECT", "SELECT", "ENTER", "ENTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "ALTER", "PERFORM", "SELECT", "HIDE", "SHOW", "SELECT", "ALTER", "ALTER"], "action": ["mouseover", "mouseover_INTERVAL", "click", "click", "click", "drag", "click", "c

<TRUNCATED>


[3/4] incubator-senssoft git commit: Initial (probably broken) commit of ported docker build

Posted by rf...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/logstash/config/logstash-userale.conf
----------------------------------------------------------------------
diff --git a/docker/logstash/config/logstash-userale.conf b/docker/logstash/config/logstash-userale.conf
new file mode 100644
index 0000000..0c30077
--- /dev/null
+++ b/docker/logstash/config/logstash-userale.conf
@@ -0,0 +1,55 @@
+input {
+	http {
+		codec => "json"
+		port => 8000
+		response_headers => { 
+			"Access-Control-Allow-Origin" => "*" 
+            "Access-Control-Allow-Headers" => "Origin, X-Requested-With, Content-Type, Accept"
+        }
+	}
+}
+
+## Add your filters / logstash plugins configuration here
+filter {
+	# mutate {
+	# 	remove_field => [ "message", "@version", "@timestamp"]
+	# }
+
+	grok {
+    	match => [ "useraleVersion", "(?<major_ver>\d+).(?<minor_ver>\d+)(.(?<patch_ver>\d+))?" ]
+    	match => [ "toolVersion", "(?<tool_major_ver>\d+).(?<tool_minor_ver>\d+)(.(?<tool_patch_ver>\d+))?" ]
+  }
+
+ #    dns {
+ #   		add_field => [ "hostname", "%{host}" ]
+ #    }
+
+ #    dns {
+ #     	resolve => [ "host" ]
+ #     	action => [ "replace" ]
+ #    }
+
+	# geoip {
+ #     	source => "host"
+ #     	database => "/usr/share/logstash/GeoIP/GeoIP.dat"
+ #     	target => "geoip"
+ #  }
+}
+
+output {
+	# Output data to Elasticsearch instance
+	elasticsearch {
+		hosts => "elasticsearch:9200"
+		index => "userale"
+		document_type => "logs"
+    user => "elastic"
+    password => "changeme"
+		manage_template => true
+		template_overwrite => true
+		template => "/usr/share/logstash/templates/userale.json"
+		template_name => "userale"
+	}
+
+	# Debug
+	# stdout { codec => rubydebug }
+}

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/logstash/templates/apache.json
----------------------------------------------------------------------
diff --git a/docker/logstash/templates/apache.json b/docker/logstash/templates/apache.json
new file mode 100644
index 0000000..10552e3
--- /dev/null
+++ b/docker/logstash/templates/apache.json
@@ -0,0 +1,59 @@
+{
+    "template": "apache",
+    "settings": {
+        "index.refresh_interval": "5s"
+    },
+    "mappings": {
+        "_default_": {
+            "dynamic_templates": [{
+                "string_fields": {
+                    "match_mapping_type": "string",
+                    "match": "*",
+                    "mapping": {
+                        "omit_norms": true,
+                        "type": "text",
+                        "fields": {
+                            "raw": {
+                                "ignore_above": 256,
+                                "type": "keyword"
+                            }
+                        }
+                    }
+                }
+            }],
+            "properties": {
+                "geoip": {
+                    "dynamic": true,
+                    "path": "full",
+                    "properties": {
+                        "location": {
+                            "type": "geo_point"
+                        }
+                    },
+                    "type": "object"
+                },
+                "@version": {
+                    "type": "keyword"
+                },
+                "referer": {
+                    "type": "keyword"
+                },
+                "request": {
+                    "type": "keyword"
+                },
+                "responsetime": {
+                    "type": "long"
+                },
+                "bytes": {
+                    "type": "long"
+                }
+            },
+            "_all": {
+                "enabled": true
+            }
+        }
+    },
+    "aliases": {
+
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/logstash/templates/userale.json
----------------------------------------------------------------------
diff --git a/docker/logstash/templates/userale.json b/docker/logstash/templates/userale.json
new file mode 100644
index 0000000..e5d8f91
--- /dev/null
+++ b/docker/logstash/templates/userale.json
@@ -0,0 +1,157 @@
+{
+  "template" : "userale",
+  "order" : 1,
+  "settings" : {
+    "number_of_shards" : 1,
+    "number_of_replicas" : 0,
+    "index.refresh_interval" : "5s"
+  },
+  "mappings" : {
+    "_default_" : {
+      "_all" : {
+        "enabled" : false
+      },
+      "properties" : {
+        "geoip" : {
+          "properties" : {
+            "ip" : {
+              "type" : "ip"
+            },
+            "country_code2" : {
+              
+              "type" : "keyword"
+            },
+            "country_code3" : {
+              
+              "type" : "keyword"
+            },
+            "country_name" : {
+              
+              "type" : "keyword"
+            },
+            "continent_code" : {
+              
+              "type" : "keyword"
+            },
+            "region_name" : {
+              
+              "type" : "keyword"
+            },
+            "city_name" : {
+              
+              "type" : "keyword"
+            },
+            "postal_code" : {
+              
+              "type" : "keyword"
+            },
+            "latitude" : {
+              "type" : "float"
+            },
+            "longitude" : {
+              "type" : "float"
+            },
+            "dma_code" : {
+              "type" : "integer"
+            },
+            "area_code" : {
+              "type" : "long"
+            },
+            "timezone" : {
+              
+              "type" : "keyword"
+            },
+            "real_region_name" : {
+              
+              "type" : "keyword"
+            },
+            "location" : {
+              "doc_values" : true,
+              "type" : "geo_point"
+            }
+          }
+        }
+      }
+    },
+    "logs" : {
+      "properties" : {
+        "userAction" : {
+          "type" : "boolean"
+        },
+        "type" : {
+          
+          "type" : "keyword"
+        },
+        "clientTime" : {
+          "type" : "date",
+          "format" : "strict_date_optional_time||epoch_millis"
+        },
+        "target" : {
+          
+          "type" : "keyword"
+        },
+        "path" : {
+          
+          "type" : "keyword"
+        },
+        "details" : {
+          "type" : "object", 
+          "properties" : {
+            "source" : {
+              "type" : "keyword"
+            }
+          }
+        },
+        "location" : {
+          "type" : "object",
+          "properties" : {
+            "x" : {
+              "type" : "integer"
+            },
+            "y" : {
+              "type" : "integer"
+            }
+          }
+        },
+        "userId" : {
+          
+          "type" : "keyword"
+        },
+        "session" : {
+          
+          "type" : "keyword"
+        },
+        "toolName" : {
+          
+          "type" : "keyword"
+        },
+        "toolVersion" : {
+          
+          "type" : "keyword"
+        },
+        "useraleVersion" : {
+          
+          "type" : "keyword"
+        },
+        "major_ver" : {
+          "type" : "integer"
+        },
+        "minor_ver" : {
+          "type" : "integer"
+        },
+        "patch_ver" : {
+          "type" : "integer"
+        },
+        "tool_major_ver" : {
+          "type" : "integer"
+        },
+        "tool_minor_ver" : {
+          "type" : "integer"
+        },
+        "tool_patch_ver" : {
+          "type" : "integer"
+        }
+      }
+    }
+  }
+}   
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/tap/Dockerfile
----------------------------------------------------------------------
diff --git a/docker/tap/Dockerfile b/docker/tap/Dockerfile
new file mode 100644
index 0000000..24f7291
--- /dev/null
+++ b/docker/tap/Dockerfile
@@ -0,0 +1,63 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM python:3.4
+MAINTAINER Michelle Beard <ms...@apache.org>
+
+# Install system wide dependencies
+RUN apt-get -yqq update && apt-get -yqq install \
+	curl \
+	sudo
+
+# Install NodeJS 4.x
+RUN curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
+
+RUN sudo -E apt-get -yqq install \
+	nodejs \
+	build-essential 
+
+# Set the work directory
+RUN mkdir -p /usr/src
+WORKDIR /usr/src
+
+# Install gulp
+RUN npm install -g bower gulp
+
+# Install git
+RUN sudo -E apt-get -yqq install \
+  git
+
+# Clone TAP
+RUN git clone -b master https://github.com/apache/incubator-senssoft-tap.git app
+WORKDIR /usr/src/app
+RUN git pull
+
+# Install packages
+RUN npm install 
+
+# Install TAP requirements
+RUN pip install -r requirements.txt
+
+# Add application files
+ADD secret.py /usr/src/app/tap/settings
+ADD neon_counts.js /usr/src/app/public
+ADD neon_graph.js /usr/src/app/public
+
+
+# Startup Application
+RUN gulp build
+
+# Export port
+EXPOSE 8000

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/tap/README.md
----------------------------------------------------------------------
diff --git a/docker/tap/README.md b/docker/tap/README.md
new file mode 100644
index 0000000..eaf43b2
--- /dev/null
+++ b/docker/tap/README.md
@@ -0,0 +1,2 @@
+Copy neon_*.json files here until we integrate w/Distill
+


[4/4] incubator-senssoft git commit: Initial (probably broken) commit of ported docker build

Posted by rf...@apache.org.
Initial (probably broken) commit of ported docker build


Project: http://git-wip-us.apache.org/repos/asf/incubator-senssoft/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-senssoft/commit/1c10c783
Tree: http://git-wip-us.apache.org/repos/asf/incubator-senssoft/tree/1c10c783
Diff: http://git-wip-us.apache.org/repos/asf/incubator-senssoft/diff/1c10c783

Branch: refs/heads/docker-build
Commit: 1c10c7835193e5f708a7720bf10e2e85e2a04c19
Parents: da63669
Author: Foley <rg...@draper.com>
Authored: Wed Mar 22 09:26:17 2017 -0400
Committer: Foley <rg...@draper.com>
Committed: Wed Mar 22 09:26:17 2017 -0400

----------------------------------------------------------------------
 docker/db/Dockerfile                            |  21 ++
 docker/db/sql.sh                                |  32 +++
 docker/distill/Dockerfile                       |  50 ++++
 docker/distill/distill.conf                     |  29 +++
 docker/distill/distill/__init__.py              |  45 ++++
 docker/distill/distill/algorithms/__init__.py   |  14 ++
 .../distill/algorithms/graphs/__init__.py       |  14 ++
 .../distill/distill/algorithms/graphs/graph.py  |  24 ++
 .../distill/algorithms/graphs/tests/__init__.py |  22 ++
 .../distill/algorithms/stats/__init__.py        |  14 ++
 docker/distill/distill/algorithms/stats/hist.py | 183 +++++++++++++++
 .../distill/algorithms/stats/tests/__init__.py  |  22 ++
 .../distill/algorithms/tests/__init__.py        |  14 ++
 docker/distill/distill/app.py                   | 216 +++++++++++++++++
 docker/distill/distill/config.cfg               |  57 +++++
 docker/distill/distill/models/__init__.py       |  14 ++
 docker/distill/distill/models/brew.py           | 235 +++++++++++++++++++
 docker/distill/distill/models/stout.py          | 149 ++++++++++++
 docker/distill/distill/models/tests/__init__.py |  22 ++
 docker/distill/distill/models/userale.py        | 137 +++++++++++
 docker/distill/distill/server.py                |  29 +++
 docker/distill/distill/tests/__init__.py        |  21 ++
 docker/distill/distill/tests/basic_test.py      |  24 ++
 docker/distill/distill/tests/distill_test.py    |  43 ++++
 docker/distill/distill/utils/__init__.py        |   0
 docker/distill/distill/utils/exceptions.py      |  25 ++
 docker/distill/distill/utils/query_builder.py   |  35 +++
 docker/distill/distill/utils/tests/__init__.py  |  21 ++
 docker/distill/distill/utils/validation.py      |  39 +++
 docker/distill/distill/version.py               |  22 ++
 docker/distill/requirements.txt                 |  22 ++
 docker/distill/setup.cfg                        |  30 +++
 docker/distill/setup.py                         |  87 +++++++
 docker/docker-compose.yml                       |  78 ++++++
 docker/es/._elasticsearch.yml                   | Bin 0 -> 222 bytes
 docker/es/Dockerfile                            |   5 +
 docker/es/elasticsearch.yml                     |  98 ++++++++
 docker/kibana/Dockerfile                        |   7 +
 docker/kibana/entrypoint.sh                     |  10 +
 docker/logstash/Dockerfile                      |  11 +
 docker/logstash/config/logstash-apache.conf     |  82 +++++++
 docker/logstash/config/logstash-userale.conf    |  55 +++++
 docker/logstash/templates/apache.json           |  59 +++++
 docker/logstash/templates/userale.json          | 157 +++++++++++++
 docker/tap/Dockerfile                           |  63 +++++
 docker/tap/README.md                            |   2 +
 docker/tap/neon_counts.js                       |   2 +
 docker/tap/neon_graph.js                        |   2 +
 48 files changed, 2343 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/db/Dockerfile
----------------------------------------------------------------------
diff --git a/docker/db/Dockerfile b/docker/db/Dockerfile
new file mode 100644
index 0000000..bb6152f
--- /dev/null
+++ b/docker/db/Dockerfile
@@ -0,0 +1,21 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM postgres:latest
+MAINTAINER Michelle Beard <ms...@apache.org>
+
+ADD sql.sh docker-entrypoint-initdb.d/sql.sh
+
+EXPOSE 5432
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/db/sql.sh
----------------------------------------------------------------------
diff --git a/docker/db/sql.sh b/docker/db/sql.sh
new file mode 100644
index 0000000..4de31b5
--- /dev/null
+++ b/docker/db/sql.sh
@@ -0,0 +1,32 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+
+#   http://www.apache.org/licenses/LICENSE-2.0
+
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#!/bin/bash
+
+echo "Creating POSTGRES DB FROM ENVIRONMENT"
+DB_NAME=tapdb
+DB_USER=tapuser
+DB_PASS="Dr@p3rUs3r"
+DB_SERVICE=postgres
+
+psql -U postgres -c "CREATE USER $DB_USER PASSWORD '$DB_PASS'"
+psql -U postgres -c "CREATE DATABASE $DB_NAME OWNER $DB_USER"
+psql -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE $DB_NAME TO $DB_USER"
+
+#localedef -i de_DE -c -f UTF-8 -A /usr/share/locale/locale.alias de_DE.UTF-8
+##export LANG=en_US.UTF-8
+#locale   # confirm that it shows only en_US.UTF-8 for all settings
+# finally, run your opennms installer
+#/usr/share/opennms/bin/install -l /usr/local/lib -dis

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/Dockerfile
----------------------------------------------------------------------
diff --git a/docker/distill/Dockerfile b/docker/distill/Dockerfile
new file mode 100644
index 0000000..f69edc8
--- /dev/null
+++ b/docker/distill/Dockerfile
@@ -0,0 +1,50 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM python:2
+
+# install system wide deps
+RUN apt-get -yqq update
+
+# Set the work directory
+RUN mkdir -p /usr/src
+WORKDIR /usr/src
+
+# Install git
+##RUN sudo -E apt-get -yqq install \
+  ##git
+
+# Clone Distill
+RUN git clone https://github.com/apache/incubator-senssoft-distill.git distill
+WORKDIR /usr/src/distill
+RUN git pull
+
+
+# Add code
+##WORKDIR /app
+##ADD setup.py /app
+
+ADD requirements.txt /distill
+
+# Install Distill dependencies
+RUN pip install -r requirements.txt
+
+# Expose Ports
+EXPOSE 8090
+
+# Rest
+ADD . /app
+RUN python setup.py develop
+CMD python distill/server.py
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/distill.conf
----------------------------------------------------------------------
diff --git a/docker/distill/distill.conf b/docker/distill/distill.conf
new file mode 100644
index 0000000..a113dcb
--- /dev/null
+++ b/docker/distill/distill.conf
@@ -0,0 +1,29 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+description "Gunicorn application server running Apache Distill"
+
+# Restart process if it ever fails
+start on runlevel [2345]
+stop on runlevel [!2345]
+
+respawn
+#Setup user and group that Gunicorn should be run as
+setuid nobody
+setgid www-data
+
+# Path to run_server
+chdir /path/to/distill
+exec gunicorn -c "gunicorn.cfg" scripts/run_server:app 

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/distill/__init__.py
----------------------------------------------------------------------
diff --git a/docker/distill/distill/__init__.py b/docker/distill/distill/__init__.py
new file mode 100644
index 0000000..2b44372
--- /dev/null
+++ b/docker/distill/distill/__init__.py
@@ -0,0 +1,45 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+ 
+from flask import Flask
+from elasticsearch_dsl.connections import connections
+
+# Initialize Flask instance
+app = Flask (__name__)
+
+# Load Configurations
+app.config.from_pyfile('config.cfg')
+
+# Unpack Elasticsearch configuration and create elasticsearch connection
+host = app.config ['ES_HOST']
+port = app.config ['ES_PORT']
+http_auth = app.config ['HTTP_AUTH']
+use_ssl = app.config ['USE_SSL']
+verify_certs = app.config ['VERIFY_CERTS']
+ca_certs = app.config ['CA_CERTS']
+client_cert = app.config ['CLIENT_CERT']
+client_key = app.config ['CLIENT_KEY']
+timeout = app.config ['TIMEOUT']
+
+# Initialize Elasticsearch instance
+es = connections.create_connection (hosts = [host],
+									port = port,
+									http_auth = http_auth,
+									use_ssl = use_ssl,
+									verify_certs = verify_certs,
+									ca_certs = ca_certs,
+									client_cert = client_cert,
+									client_key = client_key,
+									timeout=timeout)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/distill/algorithms/__init__.py
----------------------------------------------------------------------
diff --git a/docker/distill/distill/algorithms/__init__.py b/docker/distill/distill/algorithms/__init__.py
new file mode 100644
index 0000000..6acb5d1
--- /dev/null
+++ b/docker/distill/distill/algorithms/__init__.py
@@ -0,0 +1,14 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/distill/algorithms/graphs/__init__.py
----------------------------------------------------------------------
diff --git a/docker/distill/distill/algorithms/graphs/__init__.py b/docker/distill/distill/algorithms/graphs/__init__.py
new file mode 100644
index 0000000..6acb5d1
--- /dev/null
+++ b/docker/distill/distill/algorithms/graphs/__init__.py
@@ -0,0 +1,14 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/distill/algorithms/graphs/graph.py
----------------------------------------------------------------------
diff --git a/docker/distill/distill/algorithms/graphs/graph.py b/docker/distill/distill/algorithms/graphs/graph.py
new file mode 100644
index 0000000..3c44730
--- /dev/null
+++ b/docker/distill/distill/algorithms/graphs/graph.py
@@ -0,0 +1,24 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+class GraphAnalytics (object):
+	"""
+	Distill's graph analytics package. Apply graph algorithms to User Ale log data segmented with
+	Stout.
+	"""
+	
+	@staticmethod
+	def foo ():
+		pass
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/distill/algorithms/graphs/tests/__init__.py
----------------------------------------------------------------------
diff --git a/docker/distill/distill/algorithms/graphs/tests/__init__.py b/docker/distill/distill/algorithms/graphs/tests/__init__.py
new file mode 100644
index 0000000..f6f6899
--- /dev/null
+++ b/docker/distill/distill/algorithms/graphs/tests/__init__.py
@@ -0,0 +1,22 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+'''
+distill: tests module.
+
+Meant for use with py.test.
+Organize tests into files, each named xxx_test.py
+Read more here: http://pytest.org/
+'''
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/distill/algorithms/stats/__init__.py
----------------------------------------------------------------------
diff --git a/docker/distill/distill/algorithms/stats/__init__.py b/docker/distill/distill/algorithms/stats/__init__.py
new file mode 100644
index 0000000..6acb5d1
--- /dev/null
+++ b/docker/distill/distill/algorithms/stats/__init__.py
@@ -0,0 +1,14 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/distill/algorithms/stats/hist.py
----------------------------------------------------------------------
diff --git a/docker/distill/distill/algorithms/stats/hist.py b/docker/distill/distill/algorithms/stats/hist.py
new file mode 100644
index 0000000..b516423
--- /dev/null
+++ b/docker/distill/distill/algorithms/stats/hist.py
@@ -0,0 +1,183 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from distill import es
+from distill.utils.query_builder import QueryBuilder
+from flask import jsonify
+from elasticsearch import Elasticsearch, TransportError
+
+class Hist (object):
+	"""
+	Distill's statistics package. Apply statistical algorithms to User Ale log data segmented with
+	Stout. Need to query/filter by session or user id.
+	"""
+
+	def __init__ (self):
+		# parse out query 
+		pass
+
+ 	# @staticmethod
+ 	# def filter (app, app_type=None, q=''):
+
+		# field = q.get ("field") if q.get ("field") else ""
+		# size = q.get ("size") if q.get ("size") else 10
+
+		# query = { "aggs" : {
+		# 			"count_by_type" : {
+		# 				"filter" : { "term" : { field : }}
+		# 				"terms" : {
+		# 					"field" : field,
+		# 					"size" : 100
+		# 				}
+		# 			}
+		# 		}
+		# 	}
+
+		# d = {}
+		# # try:
+		# response = es.search (index=app, doc_type=app_type, body=query)
+		# # 	for tag in response['aggregations']['count_by_type']['buckets']:
+		# # 		d [tag ['key']] = tag ['doc_count']
+		# # except TransportError as e:
+		# # 	d ['error'] = e.info			
+		# # except Exception as e:
+		# # 	d ['error'] = str (e)		
+		# # return jsonify (d)
+		# return jsonify (response)
+
+	@staticmethod
+	def terms (app, app_type=None, q=''):
+		"""
+		Group by field (find all elements )
+		"""
+		field = q.get ("field") if q.get ("field") else ""
+		segment = q.get ("seg") if q.get ("seg") else "*"
+		size = q.get ("size") if q.get ("size") else 10000
+		numhits = q.get ("numhits") if q.get ("numhits") else 10
+
+		query = { "aggs" : {
+					"count_by_type" : {
+						"terms" : {
+							"field" : field,
+							"size" : size	# maximum number of keys (unique fields)
+						},
+						"aggs" : {
+							"top" : {		# arbitrary name
+								"top_hits" : {
+									"size" : numhits,	# number of logs in subgroup
+									"_source" : {	# segment on fields - return only subgroup based on field
+										"include" : [
+											segment
+										]
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+
+		d = {}
+		# try:
+		response = es.search (index=app, doc_type=app_type, body=query)
+		# 	for tag in response['aggregations']['count_by_type']['buckets']:
+		# 		d [tag ['key']] = tag ['doc_count']
+		# except TransportError as e:
+		# 	d ['error'] = e.info			
+		# except Exception as e:
+		# 	d ['error'] = str (e)		
+		# return jsonify (d)
+		return jsonify (response)
+
+	@staticmethod
+	def unique_terms (app, app_type=None, q=""):
+		"""
+		Aggregate the number of unique terms in a field. Missing values are counted and marked as "N/A".
+
+		.. todo::
+
+			Need to incorporate QueryBuilder library instead of manually generating queries. 
+
+		:param app: [string] application name
+		:param app_type: [string] application type
+		:param field: [string] field to search against for unique values
+		:param size: [int] the top size terms returned in the result. Default value is 10.
+		:param min_hits: [int] return tags which have been found in min_hits or more. Default value is 1.
+		:return: [dict] dictionary of results
+		"""
+		
+		field = q.get ("field") if q.get ("field") else ""
+		size = q.get ("size") if q.get ("size") else 10000
+		min_hits = q.get ("min_hits") if q.get ("min_hits") else 0
+
+		print field
+		query = { "aggs" : {
+					"terms_agg" : {
+						"terms" : {
+							"field" : field,
+							"size" : size,
+							"min_doc_count" : min_hits,
+							"missing" : "N/A"
+						}
+					}
+				}
+			}
+
+		d = {}
+		try:
+			response = es.search (index=app, doc_type=app_type, body=query)
+			for tag in response['aggregations']['terms_agg']['buckets']:
+				d [tag ['key']] = tag ['doc_count']
+		except TransportError as e:
+			d ['error'] = e.info			
+		except Exception as e:
+			d ['error'] = str (e)		
+		return jsonify (d)
+
+	@staticmethod
+	def histogram (app, app_type=None, q=""):
+		"""
+		Only works on numerical data.
+		"""
+		field = q.get ("field") if q.get ("field") else ""
+
+		interval = 50
+		query = { "aggs" : {
+					"hist_agg" : {
+						"histogram" : {
+							"field" : field,
+							"interval" : interval
+						}
+					}
+				}
+			}
+
+		d = {}
+		try:
+			response = es.search (index=app, doc_type=app_type, body=query)
+			for tag in response['aggregations']['hist_agg']['buckets']:
+				d [tag ['key']] = tag ['doc_count']
+		except TransportError as e:
+			d ['error'] = e.info			
+		except Exception as e:
+			d ['error'] = str (e)		
+		return jsonify (d)
+
+	def get_value ():
+		return 0
+
+	def _parse_msg (query):
+		# should have form ?measure=name&field=f1, f2&event=a,b
+		pass

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/distill/algorithms/stats/tests/__init__.py
----------------------------------------------------------------------
diff --git a/docker/distill/distill/algorithms/stats/tests/__init__.py b/docker/distill/distill/algorithms/stats/tests/__init__.py
new file mode 100644
index 0000000..f6f6899
--- /dev/null
+++ b/docker/distill/distill/algorithms/stats/tests/__init__.py
@@ -0,0 +1,22 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+'''
+distill: tests module.
+
+Meant for use with py.test.
+Organize tests into files, each named xxx_test.py
+Read more here: http://pytest.org/
+'''
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/distill/algorithms/tests/__init__.py
----------------------------------------------------------------------
diff --git a/docker/distill/distill/algorithms/tests/__init__.py b/docker/distill/distill/algorithms/tests/__init__.py
new file mode 100644
index 0000000..6acb5d1
--- /dev/null
+++ b/docker/distill/distill/algorithms/tests/__init__.py
@@ -0,0 +1,14 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/distill/app.py
----------------------------------------------------------------------
diff --git a/docker/distill/distill/app.py b/docker/distill/distill/app.py
new file mode 100644
index 0000000..58434a1
--- /dev/null
+++ b/docker/distill/distill/app.py
@@ -0,0 +1,216 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from flask import Flask, request, jsonify
+from distill import app
+from distill.models.brew import Brew
+from distill.models.userale import UserAle
+from distill.models.stout import Stout
+from distill.algorithms.stats.hist import Hist
+
+@app.route ('/', methods=['GET'])
+def index ():	
+	"""
+	Show Distill version information, connection status, and all registered applications.
+
+	.. code-block:: bash
+	
+		$ curl -XGET https://localhost:8090
+
+		{
+			"author" : "Michelle Beard",
+			"email" : "mbeard@draper.com",
+			"name": "Distill",
+			"status" : true,
+			"version" : "1.0",
+			"applications" : {
+				"xdata_v3" : {
+					testing: 205,
+					parsed: 500,
+				},
+				"test_app" : {
+					logs: 500,
+					parsed: 100,
+				}
+			}
+		}
+
+	:return: Distill's status information as JSON blob
+	"""
+	return jsonify (name="Distill", version="1.0 alpha", author="Michelle Beard", email="mbeard@draper.com", status=Brew.get_status (), applications=Brew.get_applications ())
+
+@app.route ('/create/<app_id>', methods=['POST', 'PUT'])
+def create (app_id):
+	"""
+	Registers an application in Distill. 
+
+	.. code-block:: bash
+
+		$ curl -XPOST https://localhost:8090/xdata_v3
+	
+	:param app_id: Application name
+	:return: Newly created application's status as JSON blob
+	"""
+	return Brew.create (app_id)
+
+@app.route ('/status/<app_id>', defaults={"app_type" : None}, methods=['GET'])
+@app.route ('/status/<app_id>/<app_type>', methods=['GET'])
+def status (app_id, app_type): 
+	"""
+	Presents meta information about an registered application, including field names and document types.
+
+	.. code-block:: bash
+
+		$ curl -XGET https://localhost:8090/status/xdata_v3
+
+		{
+		  "application": "xdata_v3",
+		  "health": "green",
+		  "num_docs": "433",
+		  "status": "open"
+		}
+
+	:param app_id: Application name
+	:return: Registered applications meta data as JSON blob
+	"""
+	return Brew.read (app_id, app_type=app_type)
+
+@app.route ('/update/<app_id>', methods=['POST', 'PUT'])
+def update (app_id):
+	"""
+	Renames a specific application 
+
+	.. code-block:: bash
+
+		$ curl -XPOST https://localhost:8090/update/xdata_v3?name="xdata_v4"
+
+	:param app_id: Application name
+	:return: Boolean response message as JSON blob
+	"""
+	return Brew.update (app_id)
+
+@app.route ('/delete/<app_id>', methods=['DELETE'])
+def delete (app_id):
+	"""
+	Deletes an application permentantly from Distill
+
+	.. code-block:: bash
+
+		$ curl -XDELETE https://localhost:8090/xdata_v3
+	
+	:param app_id: Application name
+	:return: Boolean response message as JSON blob
+	"""
+	return Brew.delete (app_id)
+
+@app.route ('/search/<app_id>', defaults={"app_type" : None}, methods=['GET'])
+@app.route ('/search/<app_id>/<app_type>', methods=['GET'])
+def segment (app_id, app_type):
+	"""
+	Search against an application on various fields.
+
+	.. code-block:: bash
+
+		$ curl -XGET https://[hostname]:[port]/search/xdata_v3?q=session_id:A1234&size=100&scroll=false&fl=param1,param2
+
+	:param app_id: Application name
+	:param app_type: Optional document type to filter against
+	:param q: Main search query. To return all documents, pass in q=*:*
+	:param size: Maximum number of documents to return in request
+	:param scroll: Scroll id if the number of documents exceeds 10,000
+	:param fl: List of fields to restrict the result set
+	:return: JSON blob of result set
+	""" 
+	q = request.args
+	return UserAle.segment (app_id, app_type=app_type, params=q)
+
+@app.route ('/stat/<app_id>', defaults={"app_type" : None}, methods=['GET'])
+@app.route ('/stat/<app_id>/<app_type>', methods=['GET'])
+def stat (app_id, app_type):
+	"""
+	Generic histogram counts for a single registered application filtered optionally by document type.
+	View the Statistics document page for method definitions and arguments
+
+	.. code-block:: bash
+
+		$ curl -XGET https://localhost:8090/stat/xdata_v3/testing/?stat=terms&elem=signup&event=click
+
+	:param app_id: Application name
+	:param app_type: Application type
+	:return: JSON blob of result set
+	"""
+	stat = request.args.get ('stat')
+	q = request.args
+
+	hist_cls = Hist ()
+	method = None
+	try:
+		method = getattr (hist_cls, stat)
+		return method (app_id, app_type, q=q)
+	except AttributeError:
+		msg = "Class `{}` does not implement `{}`".format(hist_cls.__class__.__name__, stat)
+		return jsonify (error=msg)
+
+@app.route ('/denoise/<app_id>', methods=['GET'])
+def denoise (app_id):
+	"""
+	Bootstrap script to cleanup the raw logs. A document type called "parsed"
+	will be stored with new log created unless specified in the request. Have option to save 
+	parsed results back to data store. These parsed logs can be intergrated with STOUT results 
+	by running the stout bootstrap script.
+
+	.. code-block:: bash
+	
+		$ curl -XGET https://localhost:8090/denoise/xdata_v3?save=true&type=parsed
+
+	:param app_id: Application name
+	:return: [dict] 
+	"""
+	doc_type = 'parsed'
+	save = False
+	q = request.args
+	if 'save' in q:
+		save = str2bool (q.get ('save'))
+	if 'type' in q:
+		# @TODO: Proper cleanup script needs to happen
+		doc_type = q.get ('type')
+	return UserAle.denoise (app_id, doc_type=doc_type, save=save)
+
+@app.route ('/stout', methods=['GET'])
+def merge_stout ():
+	"""
+	Bootstrap script to aggregate user ale logs to stout master answer table
+	This will save the merged results back to ES instance at new index stout
+	OR denoise data first, then merge with the stout index...
+	If STOUT is enabled, the select method expects a stout index to exist or otherwise 
+	it will return an error message. 
+
+	.. code-block:: bash
+
+		$ curl -XGET https://locahost:8090/stout/xdata_v3
+
+	:return: Status message
+	"""
+	flag = app.config ['ENABLE_STOUT']
+	if flag:
+		return Stout.ingest ()
+	return jsonify (status="STOUT is disabled.")
+
+@app.errorhandler(404)
+def page_not_found (error):
+	"""
+	Generic Error Message
+	"""
+	return "Unable to find Distill." 

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/distill/config.cfg
----------------------------------------------------------------------
diff --git a/docker/distill/distill/config.cfg b/docker/distill/distill/config.cfg
new file mode 100644
index 0000000..189e3ea
--- /dev/null
+++ b/docker/distill/distill/config.cfg
@@ -0,0 +1,57 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Statement for enabling the development environment
+DEBUG = True
+
+# Host
+HOST = '0.0.0.0'
+
+# Port
+PORT = 8090
+
+# Enable STOUT integration into Distill 
+ENABLE_STOUT = False
+SQLITEDB = '../path/to/stout/stout.db'
+MASTER = '../path/to/master/master_ans.csv'
+MAPPINGS = '../path/to/mappings/MOT_Mappings.csv'
+SELECTED = '../path/to/stout/selected_vars_for_distill.csv'
+
+# Elasticsearch Configuration
+ES_HOST = 'http://elasticsearch'
+ES_PORT = 9200
+HTTP_AUTH = None
+USE_SSL = False
+VERIFY_CERTS = False
+CA_CERTS = None
+CLIENT_CERT = None
+CLIENT_KEY = None
+TIMEOUT = 3
+
+# Application threads. A common general assumption is
+# using 2 per available processor cores - to handle
+# incoming requests using one and performing background
+# operations using the other.
+THREADS_PER_PAGE = 2
+
+# Enable protection agains *Cross-site Request Forgery (CSRF)*
+# CSRF_ENABLED     = True
+
+# Use a secure, unique and absolutely secret key for
+# signing the data. 
+# CSRF_SESSION_KEY = "secret"
+
+# Secret key for signing cookies
+# SECRET_KEY = "secret"
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/distill/models/__init__.py
----------------------------------------------------------------------
diff --git a/docker/distill/distill/models/__init__.py b/docker/distill/distill/models/__init__.py
new file mode 100644
index 0000000..6acb5d1
--- /dev/null
+++ b/docker/distill/distill/models/__init__.py
@@ -0,0 +1,14 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/distill/models/brew.py
----------------------------------------------------------------------
diff --git a/docker/distill/distill/models/brew.py b/docker/distill/distill/models/brew.py
new file mode 100644
index 0000000..28d16b3
--- /dev/null
+++ b/docker/distill/distill/models/brew.py
@@ -0,0 +1,235 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+from elasticsearch import Elasticsearch, TransportError
+from flask import jsonify
+from distill import es
+
+class Brew (object):
+	""" 
+	Distill supports basic CRUD operations and publishes the status
+	of an persistenct database. Eventually it will support ingesting logs sent from
+	an registered application.
+	"""
+
+	@staticmethod
+	def get_status ():
+		""" 
+		Fetch the status of the underlying database instance. 
+
+		:return: [bool] if connection to database instance has been established
+		"""
+		return es.ping (ignore=[400, 404])
+
+	@staticmethod
+	def get_applications ():
+		""" 
+		Fetch all the registered applications in Distill.
+		
+		.. note:: Private indexes starting with a period are not included in the result set
+
+		:return: [dict] dictionary of all registered applications and meta information
+		"""
+		doc = {}
+		query = { "aggs" : {
+					"count_by_type" : {
+						"terms" : {
+							"field" : "_type",
+							"size" : 100
+						}
+					}
+				}
+			}
+
+		try:
+			cluster_status = es.cat.indices (h=["index"], pri=False)
+			x = cluster_status.splitlines()
+
+			for idx in x:
+			    idx = idx.rstrip ()
+			    
+			    # Ignore private indexes (like .kibana or .stout)
+			    if idx [:1] != '.':
+			        response = es.search (index=idx, body=query)
+			        d = {}
+			        for tag in response["aggregations"]["count_by_type"]["buckets"]:
+			            d [tag ['key']] = tag ['doc_count']
+			        doc [idx] = d
+		except TransportError as e:
+			doc ['error'] = e.info
+		except Exception as e:
+			doc ['error'] = str (e)
+		return doc
+	
+	@staticmethod
+	def create (app):
+		"""
+		Register a new application in Distill
+
+		.. code-block:: bash
+
+			{
+				"application" : "xdata_v3",
+				"health" : "green",
+				"num_docs" : 0,
+				"status" : "open"
+			}
+
+		:param app: [string] application name (e.g. xdata_v3)
+		:return: [dict] dictionary of application and its meta information
+		"""
+
+		# ignore 400 cause by IndexAlreadyExistsException when creating an index
+		res = es.indices.create (index=app, ignore=[400, 404])
+		doc = _get_cluster_status (app)
+		return jsonify (doc)
+
+	@staticmethod
+	def read (app, app_type=None):	
+		"""
+		Fetch meta data associated with an application
+
+		.. code-block:: bash 
+
+			Example:
+			{
+				"application" : "xdata_v3",
+				"health" : "green",
+				"num_docs" : "100",
+				"status" : "open"
+				"types" : {
+					"raw_logs" : {
+						"@timestamp" : "date",
+						"action" : "string",
+						"elementId" : "string"
+					},
+					"parsed" : {
+						"@timestamp" : "date",
+						"elementId_interval" : "string"
+					},
+					"graph" : {
+						"uniqueID" : "string",
+						"transition_count" : "long",
+						"p_value" : "float"
+					}
+				}
+			}
+
+		:param app: [string] application name (e.g. xdata_v3)
+		:return: [dict] dictionary of application and its meta information
+		"""
+
+		return jsonify (_get_cluster_status (app, app_type=app_type))
+
+	@staticmethod
+	def update (app):
+		"""
+		.. todo::
+			Currently  not implemented
+		"""
+
+		return jsonify (status="not implemented")
+
+	@staticmethod
+	def delete (app):
+		"""
+		Technically closes the index so its content is not searchable. 
+
+		.. code-block: bash
+
+			Example:
+			{
+			  status: "Deleted index xdata_v3"
+			}
+
+		:param app: [string] application name (e.g. xdata_v3)
+		:return: [dict] status message of the event
+		"""
+
+		es.indices.close (index=app, ignore=[400, 404])
+		return jsonify (status="Deleted index %s" % app)
+
+def _get_cluster_status (app, app_type=None):
+	"""
+	Return cluster status, index health, and document count as string
+
+	@todo figure out how to count individual documents stored at an app_type (currently shows only index count)
+	:param app: [string] application name (e.g. xdata_v3)
+	:return: [dict] dictionary of index meta data including field names
+	"""
+
+	doc = {}
+	try:
+		cluster_status = es.cat.indices (index=app, h=["health", "status", "docs.count"], pri=True, ignore=[400, 404])
+		v = str (cluster_status).split (" ")
+		m = ["health", "status", "num_docs"]
+		doc = dict (zip (m, v))
+		# Add back application
+		doc ["application"] = app
+	except TransportError as e:
+		doc ['error'] = e.info
+	except Exception as e:
+		doc ['error'] = str (e)
+
+	doc ['fields'] = _get_all_fields (app, app_type)
+	return doc
+
+def _parse_mappings (app, app_type=None):
+	"""
+	.. todo: 
+
+		Need to parse out result set that presents field list and type
+	"""
+	
+	try:
+		mappings = es.indices.get_mapping (index=app, doc_type=[app_type], ignore=[400, 404])
+		# mappings = yaml.safe_load (json.ess (mappings))
+		# print json.dumps (mappings [app]["mappings"], indent=4, separators=(',', ': '))
+		ignore = ["properties", "format"]
+	except TransportError as e:
+		doc ['error'] = e.info
+	except Exception as e:
+		doc ['error'] = str (e)	
+	return doc
+
+def _get_all_fields (app, app_type=None):
+	"""
+	Retrieve all possible fields in an application
+
+	:param app: [string] application name (e.g. xdata_v3)
+	:param app_type: [string] application type (e.g. logs)
+	:return: [list] list of strings representing the fields names 	
+	"""
+	d = list ()
+	query = { "aggs" : {
+				"fields" : {
+					"terms" : {
+						"field" : "_field_names",
+						"size" : 100
+					}
+				}
+			}
+		}
+
+	try:
+		response = es.search (index=app, doc_type=app_type, body=query)
+		for tag in response['aggregations']['fields']['buckets']:
+			d.append (tag ['key'])
+	except TransportError as e:
+		d.append (str (e.info))			
+	except Exception as e:
+		d.append (str (e))
+	return d

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/distill/models/stout.py
----------------------------------------------------------------------
diff --git a/docker/distill/distill/models/stout.py b/docker/distill/distill/models/stout.py
new file mode 100644
index 0000000..d6421d8
--- /dev/null
+++ b/docker/distill/distill/models/stout.py
@@ -0,0 +1,149 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from distill import app, es
+from elasticsearch_dsl import DocType, String, Boolean, Date, Nested, Search
+from elasticsearch_dsl.query import MultiMatch, Match, Q
+from elasticsearch import Elasticsearch, TransportError
+from flask import jsonify
+import pandas as pd 
+
+class StoutDoc (DocType):
+    """
+    Representation of a Stout documentat.
+    """
+
+    sessionID = String (index="not_analyzed")
+    task1 = Nested ()
+    task2 = Nested ()
+
+    class Meta:
+        index = '.stout'
+        doc_type = 'testing'
+
+    def save (self, *args, **kwargs):
+        """
+        Save data from parsing as a Stout document in Distill
+        """
+        return super (StoutDoc, self).save (*args, **kwargs)
+
+class Stout (object):
+    """
+    Main Stout class to support ingest and search operations.
+    """
+
+    @staticmethod
+    def ingest (): 
+        """
+        Ingest data coming from Stout to Distill
+        """
+
+        # Create the mappings in elasticsearch
+        StoutDoc.init ()
+        status = True
+        data = _parse ();           
+        try:
+            for k,v in data.items ():
+                doc = StoutDoc ()
+                if 'sessionID' in v:
+                    doc.sessionID = v['sessionID']
+                if 'task1' in v:
+                    doc.task1 = v['task1']
+                if 'task2' in v:
+                    doc.task2 = v['task2']
+                doc.save () 
+        except Error as e:
+            status = False
+        return jsonify (status=status)
+
+def _parse ():
+    """
+    Parse master answer table with mapping into an associative array
+
+    :return: [dict] dictionary of session information
+    """
+    master = app.config ['MASTER']
+    mappings = app.config ['MAPPINGS']
+
+    fileContents=pd.read_csv(master, encoding='utf-8')
+    plainTextMappings=pd.read_csv(mappings, encoding='raw_unicode_escape')
+    headers=list(fileContents.columns.values)
+    
+    #generate the mapping between header and plain text
+    translationRow={};
+    for fieldIndex in range(1,len(headers)):
+        t=plainTextMappings.ix[fieldIndex]
+        translationRow[headers[fieldIndex]]=t[9]
+         
+    dictBySessionID={}
+    translationRow['items.text']='foo'    
+    index=0
+    for row in fileContents.iterrows():
+        index=index+1
+        
+        taskMetrics={}
+        index,data=row
+        identifier=row[1][0].split("::")
+        sessionID=identifier[0]
+        taskID=(identifier[1])
+        workingData={}
+        #is this session id already in the dictionary?
+        if sessionID in dictBySessionID:
+            #grab the entry as workingData
+            workingData=dictBySessionID[sessionID]
+ 
+        sysData={}
+        task1Data={}
+        task2Data={}
+        metaData={}
+        d={}
+
+        for fieldIndex in range(1,len(headers)):
+            if not pd.isnull(row[1][fieldIndex]):  #only interested in non-null fields
+                tempDict={}
+                if headers[fieldIndex] in translationRow:
+                    tempDict['field']=translationRow[headers[fieldIndex]]
+                    #tempDict['field']=translationRow[9]
+                tempDict['value']=row[1][fieldIndex]
+                d[headers[fieldIndex]]=row[1][fieldIndex]
+                if "SYS" in headers[fieldIndex]:
+                    sysData[headers[fieldIndex]]=tempDict
+                elif "OT1" in headers[fieldIndex]:
+                    task1Data[headers[fieldIndex]]=tempDict
+                elif "OT2" in headers[fieldIndex]:
+                    task2Data[headers[fieldIndex]]=tempDict
+                else:
+                    metaData[headers[fieldIndex]]=tempDict
+         
+        if d['TSK_TIME_DIFF_']>0:  #block tasks with zero time elapsed
+            a=int(d['TSK_TIME_DIFF_OT1_'])
+            b=int(d['TSK_TIME_DIFF_OT2_'])
+            #figure out which task the values belong to
+            if ((a>0) & (b<=0)):
+                task1Data['taskID']=taskID
+                task1Data['meta']=metaData
+                task1Data['system']=sysData
+                workingData['task1']=task1Data
+            elif ((a<=0) & (b>0)):
+                task2Data['taskID']=taskID
+                task2Data['meta']=metaData
+                task2Data['system']=sysData
+                workingData['task2']=task2Data
+            else:
+                raise ValueError('Encountered an unexpected task time diff state')
+
+        workingData['sessionID'] = sessionID   
+        dictBySessionID[sessionID]=workingData    
+    return dictBySessionID

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/distill/models/tests/__init__.py
----------------------------------------------------------------------
diff --git a/docker/distill/distill/models/tests/__init__.py b/docker/distill/distill/models/tests/__init__.py
new file mode 100644
index 0000000..f6f6899
--- /dev/null
+++ b/docker/distill/distill/models/tests/__init__.py
@@ -0,0 +1,22 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+'''
+distill: tests module.
+
+Meant for use with py.test.
+Organize tests into files, each named xxx_test.py
+Read more here: http://pytest.org/
+'''
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/distill/models/userale.py
----------------------------------------------------------------------
diff --git a/docker/distill/distill/models/userale.py b/docker/distill/distill/models/userale.py
new file mode 100644
index 0000000..f63fa51
--- /dev/null
+++ b/docker/distill/distill/models/userale.py
@@ -0,0 +1,137 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from elasticsearch import Elasticsearch, TransportError
+from elasticsearch_dsl import DocType, String, Boolean, Date, Float, Search
+from elasticsearch_dsl.query import MultiMatch, Match, Q
+from elasticsearch import Elasticsearch, TransportError
+from elasticsearch_dsl.connections import connections
+from werkzeug.datastructures import ImmutableMultiDict, MultiDict
+
+from flask import jsonify, Markup
+from distill import app, es
+import datetime
+
+class UserAle (object):
+	"""
+	Main method of entry to perform segmentation and integration of STOUT's master
+	answer table (if STOUT is enabled). Advanced and basic analytics is performed in the
+	distill.algorithms.stats and distill.algorithms.graphs module.
+	"""
+
+	@staticmethod
+	def segment (app, app_type=None, params=''):
+		"""
+		Just support match all for now. 
+		"""
+		q = params.get ("q") if params.get ("q") else {}
+		fields = params.get ("fields") if params.get ("fields") else []
+		size = params.get ("size") if params.get ("size") else 10
+		scroll = params.get ("scroll") if params.get ("scroll") else False
+		fl = params.get ("fl") if params.get ("fl") else []
+
+		# filters = params.get ("filter") if params.get ("filter") else {}
+		
+		# 'q': args.get('q', '{}'),
+		# 'fields': args.get('fl', '{}'),
+		# 'size': args.get ('size', 100),
+		# 'scroll': args.get ('scroll', False),
+		# 'filters': request_args.getlist ('fq')
+		query = {}
+		query ['size'] = size
+		
+		if q:
+			res = q.split(":")
+			key = res [0]
+			val = res [1]
+			query ['query'] = {"match" : { key : val } }
+		else:
+			query ['query'] = {"match_all" : {}}
+
+		if len (fields) > 0:
+			ex = {
+					"include" : fields.split(",")
+				}
+			query ['_source'] = ex
+
+
+		response = es.search (index=app, doc_type=app_type, body=query)
+
+		return jsonify (response)
+
+	@staticmethod
+	def search (app,
+				app_type=None,
+				filters=list (),
+				size=100,
+				include="*",
+				scroll=None,
+				sort_field=None):
+		""" 
+		Perform a search query.
+
+		:param app: [string] application id (e.g. "xdata_v3")
+		:param app_type: [string] name of the application type. If None all application types are searched.
+		:param filters: [list of strings] list of filters for a query. 
+		:param size: [int] maximum number of hits that should be returned
+		:param sort_field: [string] sorting field. Currently supported fields: "timestamp", "date"
+		:return: [dict] dictionary with processed results. If STOUT is enabled, STOUT data will be merged with final result.
+		"""
+
+		# Need some query builder...
+		log_result = es.search (index=app, doc_type=app_type, body=query, fields=filters, size=size)
+
+		stout_result = Stout.getSessions ()
+
+		data = merged_results (log_result, stout_result)
+		return data
+
+	@staticmethod
+	def denoise (app, app_type='parsed', save=False):
+		"""
+		"""
+		pass
+
+"""
+Combine a list of dictionaries together to form one complete dictionary
+"""
+def merge_dicts (lst):
+	dall = {}
+	for d in lst:
+		dall.update (d)
+	return dall
+
+"""
+Get query parameters from the request and preprocess them.
+:param [dict-like structure] Any structure supporting get calls
+:result [dict] Parsed parameters
+"""
+def parse_query_parameters (indx, app_type=None, request_args = {}):
+	args = {key: value[0] for (key, value) in dict (request_args).iteritems ()}
+
+	# print "args = ", args
+	# Parse out simple filter queries
+	filters = []
+	for filter in get_all_fields (indx, app_type):
+		if filter in args:
+			filters.append((filter, args[filter]))
+	
+	return {
+		'q': args.get('q', '{}'),
+		'fields': args.get('fl', []),
+		'size': args.get ('size', 100),
+		'scroll': args.get ('scroll', False),
+		'filters': request_args.getlist ('fq')
+	}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/distill/server.py
----------------------------------------------------------------------
diff --git a/docker/distill/distill/server.py b/docker/distill/distill/server.py
new file mode 100644
index 0000000..23acd83
--- /dev/null
+++ b/docker/distill/distill/server.py
@@ -0,0 +1,29 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from distill import app
+from distill.app import *
+
+"""
+Start up a local WSGI server called development 
+"""
+def dev_server ():
+	host = app.config ['HOST']
+	port = app.config ['PORT']
+	debug = app.config ['DEBUG']
+	app.run (host=host, port=port, debug=debug)
+
+if __name__ == '__main__':
+    dev_server ()

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/distill/tests/__init__.py
----------------------------------------------------------------------
diff --git a/docker/distill/distill/tests/__init__.py b/docker/distill/distill/tests/__init__.py
new file mode 100644
index 0000000..09c5e2f
--- /dev/null
+++ b/docker/distill/distill/tests/__init__.py
@@ -0,0 +1,21 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+'''
+distill: tests module.
+
+Meant for use with py.test.
+Organize tests into files, each named xxx_test.py
+Read more here: http://pytest.org/
+'''
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/distill/tests/basic_test.py
----------------------------------------------------------------------
diff --git a/docker/distill/distill/tests/basic_test.py b/docker/distill/distill/tests/basic_test.py
new file mode 100644
index 0000000..712d1fe
--- /dev/null
+++ b/docker/distill/distill/tests/basic_test.py
@@ -0,0 +1,24 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+'''
+distill: Test module.
+
+Meant for use with py.test.
+Write each test as a function named test_<something>.
+Read more here: http://pytest.org/
+'''
+
+def test_example():
+    assert True

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/distill/tests/distill_test.py
----------------------------------------------------------------------
diff --git a/docker/distill/distill/tests/distill_test.py b/docker/distill/distill/tests/distill_test.py
new file mode 100644
index 0000000..2fb6502
--- /dev/null
+++ b/docker/distill/distill/tests/distill_test.py
@@ -0,0 +1,43 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+from flask import Flask, request
+
+from distill import app as test_app
+
+def test_example ():
+	assert True
+	# with test_app.test_client () as c:
+	# 	rv = c.get ('/?tequila=42')
+	# 	assert request.args ['tequila'] == '42'
+
+# import os
+# import flaskr
+# import unittest
+# import tempfile
+
+# class FlaskrTestCase(unittest.TestCase):
+
+#     def setUp(self):
+#         self.db_fd, flaskr.app.config['DATABASE'] = tempfile.mkstemp()
+#         flaskr.app.config['TESTING'] = True
+#         self.app = flaskr.app.test_client()
+#         flaskr.init_db()
+
+#     def tearDown(self):
+#         os.close(self.db_fd)
+#         os.unlink(flaskr.app.config['DATABASE'])
+
+# if __name__ == '__main__':
+#     unittest.main()
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/distill/utils/__init__.py
----------------------------------------------------------------------
diff --git a/docker/distill/distill/utils/__init__.py b/docker/distill/distill/utils/__init__.py
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/distill/utils/exceptions.py
----------------------------------------------------------------------
diff --git a/docker/distill/distill/utils/exceptions.py b/docker/distill/distill/utils/exceptions.py
new file mode 100644
index 0000000..a391241
--- /dev/null
+++ b/docker/distill/distill/utils/exceptions.py
@@ -0,0 +1,25 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+class Error (Exception):
+    """Base class for exceptions."""
+    pass
+
+class ValidationError (Error):
+	""" Exceptions raised for errors in validated a url."""
+
+	def __init__ (self, url, msg):
+		self.url = url
+		self.msg = msg

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/distill/utils/query_builder.py
----------------------------------------------------------------------
diff --git a/docker/distill/distill/utils/query_builder.py b/docker/distill/distill/utils/query_builder.py
new file mode 100644
index 0000000..017a08b
--- /dev/null
+++ b/docker/distill/distill/utils/query_builder.py
@@ -0,0 +1,35 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+class QueryBuilder (object):
+
+	def __init__ (self, query=None):
+		if query:
+			self.query = query
+		else:
+			self.query = {
+				"query" : {
+					"match_all" : {}
+					}
+				}
+
+
+	def add_filters (self, filters):
+		pass
+
+	def add_sorting (self, sort_field='', sort_order=''):
+		pass
+
+	
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/distill/utils/tests/__init__.py
----------------------------------------------------------------------
diff --git a/docker/distill/distill/utils/tests/__init__.py b/docker/distill/distill/utils/tests/__init__.py
new file mode 100644
index 0000000..09c5e2f
--- /dev/null
+++ b/docker/distill/distill/utils/tests/__init__.py
@@ -0,0 +1,21 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+'''
+distill: tests module.
+
+Meant for use with py.test.
+Organize tests into files, each named xxx_test.py
+Read more here: http://pytest.org/
+'''
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/distill/utils/validation.py
----------------------------------------------------------------------
diff --git a/docker/distill/distill/utils/validation.py b/docker/distill/distill/utils/validation.py
new file mode 100644
index 0000000..7cd3362
--- /dev/null
+++ b/docker/distill/distill/utils/validation.py
@@ -0,0 +1,39 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from distill.utils.exceptions import ValidationError
+
+def validate_request (q):
+	""" 
+	Parse out request message and validate inputs
+
+	:param q: Url query string
+	:raises ValidationError: if the query is missing required parameters
+	"""
+	if 'q' not in q:
+		raise ValidationError ("Missing required parameter: %s" % 'q')
+	else:
+		# Handle rest of parsing
+		pass
+
+def str2bool (v):
+	"""
+	Convert string expression to boolean
+
+	:param v: Input value
+	:returns: Converted message as boolean type
+	:rtype: bool
+	"""
+	return v.lower() in ("yes", "true", "t", "1")
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/distill/version.py
----------------------------------------------------------------------
diff --git a/docker/distill/distill/version.py b/docker/distill/distill/version.py
new file mode 100644
index 0000000..6532ea7
--- /dev/null
+++ b/docker/distill/distill/version.py
@@ -0,0 +1,22 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Version information for Distill.
+
+This file is imported by ``Distill.__init__``,
+and parsed by ``setup.py``.
+"""
+
+__version__ = "0.1.3"
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/requirements.txt
----------------------------------------------------------------------
diff --git a/docker/distill/requirements.txt b/docker/distill/requirements.txt
new file mode 100644
index 0000000..5137ad9
--- /dev/null
+++ b/docker/distill/requirements.txt
@@ -0,0 +1,22 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+Flask==0.10.1
+#networkx==1.11
+elasticsearch-dsl==2.0.0
+#numpy>=1.10.0
+#scipy>=0.17.0
+pandas>=0.18.1
+pytest>=3.0.0
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/setup.cfg
----------------------------------------------------------------------
diff --git a/docker/distill/setup.cfg b/docker/distill/setup.cfg
new file mode 100644
index 0000000..08020f4
--- /dev/null
+++ b/docker/distill/setup.cfg
@@ -0,0 +1,30 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+[egg_info]
+tag_build = 0.1.4
+tag_svn_revision = false
+
+[aliases]
+test=pytest
+
+[tool:pytest] 
+addopts = --verbose --ignore=build --ignore=setup.py --ignore=dist --junitxml=test-report.xml --cov-report xml --cov=distill distill/. 
+norecursedirs = *.eggs *env* .git 
+
+[build_sphinx]
+source-dir = docs
+build-dir = docs/_build
+all_files = 1

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/distill/setup.py
----------------------------------------------------------------------
diff --git a/docker/distill/setup.py b/docker/distill/setup.py
new file mode 100644
index 0000000..8ddd32f
--- /dev/null
+++ b/docker/distill/setup.py
@@ -0,0 +1,87 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from __future__ import absolute_import
+from setuptools import setup, find_packages
+import distutils.cmd
+import distutils.log
+from setuptools.command.test import test as TestCommand
+import io, os, sys, subprocess
+
+if sys.version_info[:2] < (2, 7):
+    m = "Python 2.7 or later is required for Distill (%d.%d detected)."
+    raise ImportError (m % sys.version_info[:2])
+
+if sys.argv[-1] == 'setup.py':
+    print ("To install, run 'python setup.py install'")
+    print ()
+    
+def read (*filenames, **kwargs):
+    encoding = kwargs.get ('encoding', 'utf-8')
+    sep = kwargs.get ('sep', '\n')
+    buf = []
+    for filename in filenames:
+        with io.open (filename, encoding=encoding) as f:
+            buf.append (f.read ())
+    return sep.join (buf)
+
+# Get the version string
+def get_version ():
+    basedir = os.path.dirname (__file__)
+    with open (os.path.join (basedir, 'distill/version.py')) as f:
+        version = {}
+        exec (f.read (), version)
+        return version['__version__']
+    raise RuntimeError ('No version info found.')
+
+setup (
+    name = "Distill",
+    version = get_version (),
+    url = "https://github.com/apache/incubator-senssoft-distill",
+    license = "Apache Software License",
+    author = "Michelle Beard",
+    author_email = "msbeard@apache.org",
+    description = "An analytical framework for UserALE.",
+    long_description = __doc__,
+    classifiers = [
+      'Development Status :: 4 - Beta',
+      'Programming Language :: Python',
+      'Programming Language :: Python :: 2.7',
+      'Natural Language :: English',
+      'Environment :: Web Environment',
+      'Intended Audience :: Developers',
+      'License :: OSI Approved :: Apache Software License',
+      'Operating System :: OS Independent', 
+      'Private :: Do Not Upload"'
+    ],
+    keywords = "stout userale tap distill", # Separate with spaces
+    packages = find_packages (exclude=['examples', 'tests']),
+    include_package_data = True,
+    zip_safe = False,
+    setup_requires = ['pytest-runner'],
+    tests_require = ['pytest>=3.0.0', 'pytest-pylint', 'coverage'],
+    install_requires = ['Flask==0.10.1', 
+                        #'networkx==1.11',
+                        'elasticsearch-dsl==2.0.0', 
+                        #'numpy>=1.10.0', 
+                        #'scipy>=0.17.0',
+                        'pandas>=0.18.1'
+    ],
+    entry_points = {
+      'console_scripts': [
+        'dev = distill.server:dev_server'
+        ]
+    }
+)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/docker-compose.yml
----------------------------------------------------------------------
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
new file mode 100644
index 0000000..97ee0cb
--- /dev/null
+++ b/docker/docker-compose.yml
@@ -0,0 +1,78 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Apache TAP Production Build
+
+version: "2"
+services:
+  # ELK Stack
+  elasticsearch:
+    build: ./es
+    container_name: senssoft-elastic
+    ports:
+      - 9200:9200
+      - 9300:9300
+    volumes:
+      - ./es/data:/usr/share/elasticsearch/data
+      - ./es/logs:/usr/share/elasticsearch/logs
+      - ./es/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
+    environment:
+      ES_JAVA_OPTS: "-Xms1g -Xmx1g"
+  kibana:
+    build: ./kibana
+    container_name: senssoft-kibana
+    ports:
+      - 5601:5601
+    depends_on:
+      - "elasticsearch"
+  userale-forwarder:
+    build: ./logstash
+    container_name: senssoft-userale-forwarder
+    command: -f /etc/logstash/conf.d
+    ports:
+      - 8000:8000
+    volumes: 
+      - ./logstash/config/logstash-userale.conf:/etc/logstash/conf.d/logstash-userale.conf
+      - ./logstash/templates/userale.json:/usr/share/logstash/templates/userale.json
+    depends_on:
+      - "elasticsearch"
+    environment:
+      LS_HEAP_SIZE: "2048m"
+  distill:
+    build: 
+      context: .
+      dockerfile: ./distill/Dockerfile
+    container_name: distill
+    ports:
+      - 8090:8090
+    depends_on:
+      - elasticsearch
+    links:
+      - elasticsearch
+  db:
+    container_name: tap-db 
+    build: ./db
+    ports:
+      - "5432:5432"
+  tap:
+    container_name: tap-web
+    build: ./tap
+    command: bash -c "python manage.py migrate && python manage.py runserver 0.0.0.0:8000"
+    ports:
+      - "8000:8000"
+    depends_on:
+      - db
+    links:
+      - db:db
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/es/._elasticsearch.yml
----------------------------------------------------------------------
diff --git a/docker/es/._elasticsearch.yml b/docker/es/._elasticsearch.yml
new file mode 100644
index 0000000..6da966a
Binary files /dev/null and b/docker/es/._elasticsearch.yml differ

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/es/Dockerfile
----------------------------------------------------------------------
diff --git a/docker/es/Dockerfile b/docker/es/Dockerfile
new file mode 100644
index 0000000..1eb4748
--- /dev/null
+++ b/docker/es/Dockerfile
@@ -0,0 +1,5 @@
+FROM elasticsearch:5
+MAINTAINER Michelle Beard <ms...@apache.org>
+
+# Install XPack
+RUN elasticsearch-plugin install --batch x-pack

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/es/elasticsearch.yml
----------------------------------------------------------------------
diff --git a/docker/es/elasticsearch.yml b/docker/es/elasticsearch.yml
new file mode 100644
index 0000000..c795b7c
--- /dev/null
+++ b/docker/es/elasticsearch.yml
@@ -0,0 +1,98 @@
+# ======================== Elasticsearch Configuration =========================
+#
+# NOTE: Elasticsearch comes with reasonable defaults for most settings.
+#       Before you set out to tweak and tune the configuration, make sure you
+#       understand what are you trying to accomplish and the consequences.
+#
+# The primary way of configuring a node is via this file. This template lists
+# the most important settings you may want to configure for a production cluster.
+#
+# Please see the documentation for further information on configuration options:
+# <http://www.elastic.co/guide/en/elasticsearch/reference/current/setup-configuration.html>
+#
+# ---------------------------------- Cluster -----------------------------------
+#
+# Use a descriptive name for your cluster:
+#
+cluster.name: SensSoft
+#
+# ------------------------------------ Node ------------------------------------
+#
+# Use a descriptive name for the node:
+#
+node.name: soft-01
+#
+# Add custom attributes to the node:
+#
+# node.rack: r1
+#
+# ----------------------------------- Paths ------------------------------------
+#
+# Path to directory where to store the data (separate multiple locations by comma):
+#
+path.data: /usr/share/elasticsearch/data
+#
+# Path to log files:
+#
+path.logs: /usr/share/elasticsearch/logs
+#
+#
+# ----------------------------------- Memory -----------------------------------
+#
+# Lock the memory on startup:
+#
+# bootstrap.mlockall: true
+#
+# Make sure that the `ES_HEAP_SIZE` environment variable is set to about half the memory
+# available on the system and that the owner of the process is allowed to use this limit.
+#
+# Elasticsearch performs poorly when the system is swapping the memory.
+#
+# ---------------------------------- Network -----------------------------------
+#
+# Set the bind address to a specific IP (IPv4 or IPv6):
+#
+network.host: 0.0.0.0
+#
+# Set a custom port for HTTP:
+#
+# http.port: 9200
+#
+# For more information, see the documentation at:
+# <http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-network.html>
+#
+# --------------------------------- Discovery ----------------------------------
+#
+# Pass an initial list of hosts to perform discovery when new node is started:
+# The default list of hosts is ["127.0.0.1", "[::1]"]
+#
+# discovery.zen.ping.unicast.hosts: ["host1", "host2"]
+#
+# Prevent the "split brain" by configuring the majority of nodes (total number of nodes / 2 + 1):
+#
+discovery.zen.minimum_master_nodes: 1
+#
+# For more information, see the documentation at:
+# <http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-discovery.html>
+#
+# ---------------------------------- Gateway -----------------------------------
+#
+# Block initial recovery after a full cluster restart until N nodes are started:
+#
+# gateway.recover_after_nodes: 3
+#
+# For more information, see the documentation at:
+# <http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-gateway.html>
+#
+# ---------------------------------- Various -----------------------------------
+#
+# Disable starting multiple nodes on a single system:
+#
+# node.max_local_storage_nodes: 1
+#
+# Require explicit names when deleting indices:
+#
+# action.destructive_requires_name: true
+
+http.cors.enabled : true
+http.cors.allow-origin : "*"

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/kibana/Dockerfile
----------------------------------------------------------------------
diff --git a/docker/kibana/Dockerfile b/docker/kibana/Dockerfile
new file mode 100644
index 0000000..4814f47
--- /dev/null
+++ b/docker/kibana/Dockerfile
@@ -0,0 +1,7 @@
+FROM kibana:5
+MAINTAINER Michelle Beard <ms...@apache.org>
+
+# Install XPack
+RUN kibana-plugin install x-pack
+
+#CMD ["/tmp/entrypoint.sh"]

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/kibana/entrypoint.sh
----------------------------------------------------------------------
diff --git a/docker/kibana/entrypoint.sh b/docker/kibana/entrypoint.sh
new file mode 100644
index 0000000..c08d70a
--- /dev/null
+++ b/docker/kibana/entrypoint.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+
+# Wait for the Elasticsearch container to be ready before starting Kibana.
+echo "Stalling for Elasticsearch"
+while true; do
+    nc -q 1 elasticsearch 9200 2>/dev/null && break
+done
+
+echo "Starting Kibana"
+exec kibana

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/logstash/Dockerfile
----------------------------------------------------------------------
diff --git a/docker/logstash/Dockerfile b/docker/logstash/Dockerfile
new file mode 100644
index 0000000..3a9533a
--- /dev/null
+++ b/docker/logstash/Dockerfile
@@ -0,0 +1,11 @@
+FROM logstash:5
+MAINTAINER Michelle Beard <ms...@apache.org>
+
+# Get GeoIP DB
+RUN set -x \
+       && wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz \
+       && gunzip GeoIP.dat.gz \
+       && mkdir -p /usr/share/logstash/GeoIP \
+       && mv GeoIP.dat /usr/share/logstash/GeoIP/GeoIP.dat
+
+RUN mkdir /usr/share/logstash/templates
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1c10c783/docker/logstash/config/logstash-apache.conf
----------------------------------------------------------------------
diff --git a/docker/logstash/config/logstash-apache.conf b/docker/logstash/config/logstash-apache.conf
new file mode 100644
index 0000000..c95882b
--- /dev/null
+++ b/docker/logstash/config/logstash-apache.conf
@@ -0,0 +1,82 @@
+input {
+  # file {
+  #   path => "/var/log/server_logs/access.log"
+  #   start_position => "beginning"
+  #   sincedb_path => "/dev/null"
+  # }
+
+  file {
+      path => [ "/var/log/server_logs/access.log" ]  
+      start_position => "beginning"
+      sincedb_path => "/dev/null"
+      type => "apache-access"
+  }
+  # file {
+  #     path => "/var/log/server_logs/error.log"
+  #     start_position => "beginning"
+  #     sincedb_path => "/dev/null"
+  #     type => "apache-error"
+  # }
+}
+
+filter {
+  # ------------------------ Parse services logs into fields ---------------------------
+  # APACHE 2
+  if [type] == "apache-access" {
+    # To process log data (message's content) using some regex or precompiled GROK pattern
+    grok {
+      match => [ "message", "%{COMBINEDAPACHELOG}"]
+    }
+    # To extract log's time according to a date pattern
+    date {
+      match => [ "timestamp", "dd/MMM/YYYY:HH:mm:ss Z"]
+    }
+    # Extract browser information, if available.
+    if [agent] != "" {
+      useragent {
+        source => "agent"
+      }
+    }
+    # Extract client ip information, if available.
+    # if [clientip] != "" {
+    #   geoip {
+    #     source => "clientip"      
+    #     database => "/usr/share/logstash/GeoIP/GeoIP.dat"  
+    #     target => "apache_clientip"
+    #     add_tag => [ "geoip" ]
+    #   }
+    # }
+  }
+
+  # if [type] == "apache-error" {
+  #   grok {
+  #     match => [ "message", "%{APACHEERRORLOG}"]
+  #     # Directory where to find the custom patterns
+  #     patterns_dir => ["/etc/logstash/grok"]
+  #   }
+  #  if [clientip] != "" {
+  #     geoip {
+  #       source => "clientip"        
+  #       target => "apache_clientip"
+  #       add_tag => [ "geoip" ]
+  #     }
+  #   } 
+  # }
+}
+
+output {
+  # Output data to Elasticsearch instance
+  elasticsearch {
+    hosts => "elasticsearch:9200"
+    index => "apache"
+    user => "elastic"
+    password => "changeme"
+    manage_template => true
+    template_overwrite => true
+    template => "/usr/share/logstash/templates/apache.json"
+    template_name => "apache"
+  }
+
+  # Debug
+  stdout { codec => rubydebug }
+}