u&&(a=u)):(a=t[1],(r=t[1]-h/s)o.end)&&(this.v_axis_only=!0),(es.end)&&(this.h_axis_only=!0)}null!=this.model.document&&this.model.document.interactive_start(this.plot_model)},n.prototype._pan=function(t){this._update(t.deltaX,t.deltaY),null!=this.model.document&&this.model.document.interactive_start(this.plot_model)},n.prototype._pan_end=function(t){this.h_axis_only=!1,this.v_axis_only=!1,null!=this.pan_info&&this.plot_view.push_state(\"pan\",{range:this.pan_info})},n.prototype._update=function(t,n){var e,i,o,s,a,r,_=this.plot_view.frame,l=t-this.last_dx,h=n-this.last_dy,d=_.bbox.h_range,p=d.start-l,u=d.end-l,c=_.bbox.v_range,f=c.start-h,v=c.end-h,y=this.model.dimensions;\"width\"!=y&&\"both\"!=y||this.v_axis_only?(e=d.start,i=d.end,o=0):(e=p,i=u,o=-l),\"height\"!=y&&\"both\"!=y||this.h_axis_only?(s=c.start,a=c.end,r=0):(s=f,a=v,r=-h),this.last_dx=t,this.last_dy=n;var m=_.xscales,b=_.yscales,x={};for(var g in m){var w=m[g].r_invert(e,i),P=w[0],T=w[1];x[g]={start:P,end:T}}var k={};for(var g in b){var V=b[g].r_invert(s,a);P=V[0],T=V[1];k[g]={start:P,end:T}}this.pan_info={xrs:x,yrs:k,sdx:o,sdy:r},this.plot_view.update_range(this.pan_info,!0)},n}(o.GestureToolView);e.PanToolView=r,r.__name__=\"PanToolView\";var _=function(t){function n(n){var e=t.call(this,n)||this;return e.tool_name=\"Pan\",e.event_type=\"pan\",e.default_order=10,e}return i.__extends(n,t),n.init_PanTool=function(){this.prototype.default_view=r,this.define({dimensions:[s.Dimensions,\"both\"]})},Object.defineProperty(n.prototype,\"tooltip\",{get:function(){return this._get_dim_tooltip(\"Pan\",this.dimensions)},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,\"icon\",{get:function(){switch(this.dimensions){case\"both\":return a.bk_tool_icon_pan;case\"width\":return a.bk_tool_icon_xpan;case\"height\":return a.bk_tool_icon_ypan}},enumerable:!0,configurable:!0}),n}(o.GestureTool);e.PanTool=_,_.__name__=\"PanTool\",_.init_PanTool()},\n",
+ " function _(t,e,o){var l=t(113),i=t(426),a=t(233),n=t(163),s=t(121),c=t(110),_=t(373),r=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return l.__extends(e,t),e.prototype.initialize=function(){t.prototype.initialize.call(this),this.data={sx:[],sy:[]}},e.prototype.connect_signals=function(){var e=this;t.prototype.connect_signals.call(this),this.connect(this.model.properties.active.change,function(){return e._active_change()})},e.prototype._active_change=function(){this.model.active||this._clear_data()},e.prototype._keyup=function(t){t.keyCode==n.Keys.Enter&&this._clear_data()},e.prototype._doubletap=function(t){var e=t.shiftKey;this._do_select(this.data.sx,this.data.sy,!0,e),this.plot_view.push_state(\"poly_select\",{selection:this.plot_view.get_selection()}),this._clear_data()},e.prototype._clear_data=function(){this.data={sx:[],sy:[]},this.model.overlay.update({xs:[],ys:[]})},e.prototype._tap=function(t){var e=t.sx,o=t.sy;this.plot_view.frame.bbox.contains(e,o)&&(this.data.sx.push(e),this.data.sy.push(o),this.model.overlay.update({xs:c.copy(this.data.sx),ys:c.copy(this.data.sy)}))},e.prototype._do_select=function(t,e,o,l){var i={type:\"poly\",sx:t,sy:e};this._select(i,o,l)},e.prototype._emit_callback=function(t){var e=this.computed_renderers[0],o=this.plot_view.frame,l=o.xscales[e.x_range_name],i=o.yscales[e.y_range_name],a=l.v_invert(t.sx),n=i.v_invert(t.sy),s=Object.assign({x:a,y:n},t);null!=this.model.callback&&this.model.callback.execute(this.model,{geometry:s})},e}(i.SelectToolView);o.PolySelectToolView=r,r.__name__=\"PolySelectToolView\";var y=function(){return new a.PolyAnnotation({level:\"overlay\",xs_units:\"screen\",ys_units:\"screen\",fill_color:{value:\"lightgrey\"},fill_alpha:{value:.5},line_color:{value:\"black\"},line_alpha:{value:1},line_width:{value:2},line_dash:{value:[4,4]}})},p=function(t){function e(e){var o=t.call(this,e)||this;return o.tool_name=\"Poly Select\",o.icon=_.bk_tool_icon_polygon_select,o.event_type=\"tap\",o.default_order=11,o}return l.__extends(e,t),e.init_PolySelectTool=function(){this.prototype.default_view=r,this.define({callback:[s.Any],overlay:[s.Instance,y]})},e}(i.SelectTool);o.PolySelectTool=p,p.__name__=\"PolySelectTool\",p.init_PolySelectTool()},\n",
+ " function _(t,e,i){var n=t(113),s=t(201),r=t(167),l=t(121),a=t(370),o=t(373);function _(t){switch(t){case 1:return 2;case 2:return 1;case 4:return 5;case 5:return 4;default:return t}}function h(t,e,i,n){if(null==e)return!1;var s=i.compute(e);return Math.abs(t-s)s.right)&&(r=!1)}if(null!=s.bottom&&null!=s.top){var a=n.invert(e);(as.top)&&(r=!1)}return r}function d(t,e,i){var n=0;return t>=i.start&&t<=i.end&&(n+=1),e>=i.start&&e<=i.end&&(n+=1),n}function c(t,e,i,n){var s=e.compute(t),r=e.invert(s+i);return r>=n.start&&r<=n.end?r:t}function y(t,e,i){return t>e.start?(e.end=t,i):(e.end=e.start,e.start=t,_(i))}function f(t,e,i){return t=h&&(t.start=o,t.end=_)}i.flip_side=_,i.is_near=h,i.is_inside=u,i.sides_inside=d,i.compute_value=c,i.update_range_end_side=y,i.update_range_start_side=f,i.update_range=g;var v=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.initialize=function(){t.prototype.initialize.call(this),this.side=0,this.model.update_overlay_from_ranges()},e.prototype.connect_signals=function(){var e=this;t.prototype.connect_signals.call(this),null!=this.model.x_range&&this.connect(this.model.x_range.change,function(){return e.model.update_overlay_from_ranges()}),null!=this.model.y_range&&this.connect(this.model.y_range.change,function(){return e.model.update_overlay_from_ranges()})},e.prototype._pan_start=function(t){this.last_dx=0,this.last_dy=0;var e=this.model.x_range,i=this.model.y_range,n=this.plot_view.frame,r=n.xscales.default,l=n.yscales.default,a=this.model.overlay,o=a.left,_=a.right,d=a.top,c=a.bottom,y=this.model.overlay.properties.line_width.value()+s.EDGE_TOLERANCE;null!=e&&this.model.x_interaction&&(h(t.sx,o,r,y)?this.side=1:h(t.sx,_,r,y)?this.side=2:u(t.sx,t.sy,r,l,a)&&(this.side=3)),null!=i&&this.model.y_interaction&&(0==this.side&&h(t.sy,c,l,y)&&(this.side=4),0==this.side&&h(t.sy,d,l,y)?this.side=5:u(t.sx,t.sy,r,l,this.model.overlay)&&(3==this.side?this.side=7:this.side=6))},e.prototype._pan=function(t){var e=this.plot_view.frame,i=t.deltaX-this.last_dx,n=t.deltaY-this.last_dy,s=this.model.x_range,r=this.model.y_range,l=e.xscales.default,a=e.yscales.default;if(null!=s)if(3==this.side||7==this.side)g(s,l,i,e.x_range);else if(1==this.side){var o=c(s.start,l,i,e.x_range);this.side=f(o,s,this.side)}else if(2==this.side){var _=c(s.end,l,i,e.x_range);this.side=y(_,s,this.side)}if(null!=r)if(6==this.side||7==this.side)g(r,a,n,e.y_range);else if(4==this.side){o=c(r.start,a,n,e.y_range);this.side=f(o,r,this.side)}else if(5==this.side){_=c(r.end,a,n,e.y_range);this.side=y(_,r,this.side)}this.last_dx=t.deltaX,this.last_dy=t.deltaY},e.prototype._pan_end=function(t){this.side=0},e}(a.GestureToolView);i.RangeToolView=v,v.__name__=\"RangeToolView\";var p=function(){return new s.BoxAnnotation({level:\"overlay\",render_mode:\"canvas\",fill_color:\"lightgrey\",fill_alpha:{value:.5},line_color:{value:\"black\"},line_alpha:{value:1},line_width:{value:.5},line_dash:[2,2]})},m=function(t){function e(e){var i=t.call(this,e)||this;return i.tool_name=\"Range Tool\",i.icon=o.bk_tool_icon_range,i.event_type=\"pan\",i.default_order=1,i}return n.__extends(e,t),e.init_RangeTool=function(){this.prototype.default_view=v,this.define({x_range:[l.Instance,null],x_interaction:[l.Boolean,!0],y_range:[l.Instance,null],y_interaction:[l.Boolean,!0],overlay:[l.Instance,p]})},e.prototype.initialize=function(){t.prototype.initialize.call(this),this.overlay.in_cursor=\"grab\",this.overlay.ew_cursor=null!=this.x_range&&this.x_interaction?\"ew-resize\":null,this.overlay.ns_cursor=null!=this.y_range&&this.y_interaction?\"ns-resize\":null},e.prototype.update_overlay_from_ranges=function(){null==this.x_range&&null==this.y_range&&(this.overlay.left=null,this.overlay.right=null,this.overlay.bottom=null,this.overlay.top=null,r.logger.warn(\"RangeTool not configured with any Ranges.\")),null==this.x_range?(this.overlay.left=null,this.overlay.right=null):(this.overlay.left=this.x_range.start,this.overlay.right=this.x_range.end),null==this.y_range?(this.overlay.bottom=null,this.overlay.top=null):(this.overlay.bottom=this.y_range.start,this.overlay.top=this.y_range.end)},e}(a.GestureTool);i.RangeTool=m,m.__name__=\"RangeTool\",m.init_RangeTool()},\n",
+ " function _(e,t,i){var s=e(113),n=e(426),o=e(121),a=e(373),r=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return s.__extends(t,e),t.prototype._tap=function(e){var t={type:\"point\",sx:e.sx,sy:e.sy},i=e.shiftKey;this._select(t,!0,i)},t.prototype._select=function(e,t,i){var s=this,n=this.model.callback;if(\"select\"==this.model.behavior){var o=this._computed_renderers_by_data_source();for(var a in o){var r=o[a],_=r[0].get_selection_manager(),l=r.map(function(e){return s.plot_view.renderer_views[e.id]});if(_.select(l,e,t,i)&&null!=n){var c=(y=this.plot_view.frame).xscales[r[0].x_range_name],p=y.yscales[r[0].y_range_name],v=c.invert(e.sx),u=p.invert(e.sy),h={geometries:Object.assign(Object.assign({},e),{x:v,y:u}),source:_.source};n.execute(this.model,h)}}this._emit_selection_event(e),this.plot_view.push_state(\"tap\",{selection:this.plot_view.get_selection()})}else for(var m=0,f=this.computed_renderers;m.9?t=.9:t<-.9&&(t=-.9),this._update_ranges(t)},t.prototype._update_ranges=function(e){var t,n,o,r,i=this.plot_view.frame,a=i.bbox.h_range,s=i.bbox.v_range,l=[a.start,a.end],_=l[0],h=l[1],d=[s.start,s.end],u=d[0],p=d[1];switch(this.model.dimension){case\"height\":var c=Math.abs(p-u);t=_,n=h,o=u-c*e,r=p-c*e;break;case\"width\":var v=Math.abs(h-_);t=_-v*e,n=h-v*e,o=u,r=p;break;default:throw new Error(\"this shouldn't have happened\")}var f=i.xscales,m=i.yscales,w={};for(var b in f){var g=f[b].r_invert(t,n),y=g[0],P=g[1];w[b]={start:y,end:P}}var T={};for(var b in m){var W=m[b].r_invert(o,r);y=W[0],P=W[1];T[b]={start:y,end:P}}var x={xrs:w,yrs:T,factor:e};this.plot_view.push_state(\"wheel_pan\",{range:x}),this.plot_view.update_range(x,!1,!0),null!=this.model.document&&this.model.document.interactive_start(this.plot_model)},t}(r.GestureToolView);n.WheelPanToolView=s,s.__name__=\"WheelPanToolView\";var l=function(e){function t(t){var n=e.call(this,t)||this;return n.tool_name=\"Wheel Pan\",n.icon=a.bk_tool_icon_wheel_pan,n.event_type=\"scroll\",n.default_order=12,n}return o.__extends(t,e),t.init_WheelPanTool=function(){this.prototype.default_view=s,this.define({dimension:[i.Dimension,\"width\"]}),this.internal({speed:[i.Number,.001]})},Object.defineProperty(t.prototype,\"tooltip\",{get:function(){return this._get_dim_tooltip(this.tool_name,this.dimension)},enumerable:!0,configurable:!0}),t}(r.GestureTool);n.WheelPanTool=l,l.__name__=\"WheelPanTool\",l.init_WheelPanTool()},\n",
+ " function _(e,o,t){var i=e(113),n=e(370),l=e(416),s=e(121),_=e(197),r=e(373),a=function(e){function o(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(o,e),o.prototype._pinch=function(e){var o,t=e.sx,i=e.sy,n=e.scale;o=n>=1?20*(n-1):-20/n,this._scroll({type:\"wheel\",sx:t,sy:i,delta:o})},o.prototype._scroll=function(e){var o=this.plot_view.frame,t=o.bbox.h_range,i=o.bbox.v_range,n=e.sx,s=e.sy,_=this.model.dimensions,r=(\"width\"==_||\"both\"==_)&&t.start=0){var v=d.match(/\\$color(\\[.*\\])?:(\\w*)/),y=v[1],x=void 0===y?\"\":y,g=v[2],b=e.get_column(g);if(null==b){var w=_.span({},g+\" unknown\");m.appendChild(w);continue}var k=x.indexOf(\"hex\")>=0,T=x.indexOf(\"swatch\")>=0,H=u.isNumber(t)?b[t]:null;if(null==H){var C=_.span({},\"(null)\");m.appendChild(C);continue}k&&(H=h.color2hex(H));var G=_.span({},H);m.appendChild(G),T&&(G=_.span({class:f.bk_tooltip_color_block,style:{backgroundColor:H}},\" \"),m.appendChild(G))}else{(G=_.span()).innerHTML=c.replace_placeholders(d.replace(\"$~\",\"$data_\"),e,t,this.model.formatters,n),m.appendChild(G)}}return o},t}(o.InspectToolView);n.HoverToolView=b,b.__name__=\"HoverToolView\";var w=function(e){function t(t){var n=e.call(this,t)||this;return n.tool_name=\"Hover\",n.icon=y.bk_tool_icon_hover,n}return i.__extends(t,e),t.init_HoverTool=function(){this.prototype.default_view=b,this.define({tooltips:[p.Any,[[\"index\",\"$index\"],[\"data (x, y)\",\"($x, $y)\"],[\"screen (x, y)\",\"($sx, $sy)\"]]],formatters:[p.Any,{}],renderers:[p.Any,\"auto\"],names:[p.Array,[]],mode:[p.HoverMode,\"mouse\"],point_policy:[p.PointPolicy,\"snap_to_data\"],line_policy:[p.LinePolicy,\"nearest\"],show_arrow:[p.Boolean,!0],anchor:[p.Anchor,\"center\"],attachment:[p.TooltipAttachment,\"horizontal\"],callback:[p.Any]})},t}(o.InspectTool);n.HoverTool=w,w.__name__=\"HoverTool\",w.init_HoverTool()},\n",
+ " function _(t,e,o){var n=t(113),i=t(121),r=t(116),c=t(166),l=t(364),u=function(t){function e(e){return t.call(this,e)||this}return n.__extends(e,t),e.init_ToolProxy=function(){this.define({tools:[i.Array,[]],active:[i.Boolean,!1],disabled:[i.Boolean,!1]})},Object.defineProperty(e.prototype,\"button_view\",{get:function(){return this.tools[0].button_view},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"event_type\",{get:function(){return this.tools[0].event_type},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"tooltip\",{get:function(){return this.tools[0].tooltip},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"tool_name\",{get:function(){return this.tools[0].tool_name},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"icon\",{get:function(){return this.tools[0].computed_icon},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"computed_icon\",{get:function(){return this.icon},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"toggleable\",{get:function(){var t=this.tools[0];return t instanceof l.InspectTool&&t.toggleable},enumerable:!0,configurable:!0}),e.prototype.initialize=function(){t.prototype.initialize.call(this),this.do=new r.Signal0(this,\"do\")},e.prototype.connect_signals=function(){var e=this;t.prototype.connect_signals.call(this),this.connect(this.do,function(){return e.doit()}),this.connect(this.properties.active.change,function(){return e.set_active()})},e.prototype.doit=function(){for(var t=0,e=this.tools;t0)if(\"multi\"==u)for(var w=0,T=z;w0&&this.actions.push(x(z))}for(var m in this.inspectors=[],i){(z=i[m]).length>0&&this.inspectors.push(x(z,!0))}for(var V in this.gestures){0!=(_=this.gestures[V]).tools.length&&(_.tools=r.sort_by(_.tools,function(t){return t.default_order}),\"pinch\"!=V&&\"scroll\"!=V&&\"multi\"!=V&&(_.tools[0].active=!0))}},o}(s.ToolbarBase);i.ProxyToolbar=p,p.__name__=\"ProxyToolbar\";var c=function(t){function o(){return null!==t&&t.apply(this,arguments)||this}return e.__extends(o,t),o.prototype.initialize=function(){this.model.toolbar.toolbar_location=this.model.toolbar_location,t.prototype.initialize.call(this)},Object.defineProperty(o.prototype,\"child_models\",{get:function(){return[this.model.toolbar]},enumerable:!0,configurable:!0}),o.prototype._update_layout=function(){this.layout=new h.ContentBox(this.child_views[0].el),this.model.toolbar.horizontal?this.layout.set_sizing({width_policy:\"fit\",min_width:100,height_policy:\"fixed\"}):this.layout.set_sizing({width_policy:\"fixed\",height_policy:\"fit\",min_height:100})},o}(a.LayoutDOMView);i.ToolbarBoxView=c,c.__name__=\"ToolbarBoxView\";var u=function(t){function o(o){return t.call(this,o)||this}return e.__extends(o,t),o.init_ToolbarBox=function(){this.prototype.default_view=c,this.define({toolbar:[n.Instance],toolbar_location:[n.Location,\"right\"]})},o}(a.LayoutDOM);i.ToolbarBox=u,u.__name__=\"ToolbarBox\",u.init_ToolbarBox()},\n",
+ " function _(e,n,t){var d=e(106),i=e(163),o=e(442);t.index={},t.add_document_standalone=function(e,n,a,l){void 0===a&&(a={}),void 0===l&&(l=!1);var r={};function v(e){var d;e.id in a?d=a[e.id]:n.classList.contains(o.BOKEH_ROOT)?d=n:(d=i.div({class:o.BOKEH_ROOT}),n.appendChild(d));var l=function(e){var n=new e.default_view({model:e,parent:null});return t.index[e.id]=n,n}(e);l.renderTo(d),r[e.id]=l}for(var c=0,u=e.roots();c\");if(\"SCRIPT\"==r.tagName){var t=n.div({class:o.BOKEH_ROOT});n.replaceWith(r,t),r=t}return r}o.BOKEH_ROOT=t.bk_root,o._resolve_element=function(e){var r=e.elementid;return null!=r?l(r):document.body},o._resolve_root_elements=function(e){var r={};if(null!=e.roots)for(var o in e.roots)r[o]=l(e.roots[o]);return r}},\n",
+ " function _(n,o,t){var e=n(444),r=n(167),a=n(441);t._get_ws_url=function(n,o){var t,e=\"ws:\";return\"https:\"==window.location.protocol&&(e=\"wss:\"),null!=o?(t=document.createElement(\"a\")).href=o:t=window.location,null!=n?\"/\"==n&&(n=\"\"):n=t.pathname.replace(/\\/+$/,\"\"),e+\"//\"+t.host+n+\"/ws\"};var i={};t.add_document_from_session=function(n,o,t,s,u){void 0===s&&(s={}),void 0===u&&(u=!1);var c=window.location.search.substr(1);return function(n,o,t){n in i||(i[n]={});var r=i[n];return o in r||(r[o]=e.pull_session(n,o,t)),r[o]}(n,o,c).then(function(n){return a.add_document_standalone(n.document,t,s,u)},function(n){throw r.logger.error(\"Failed to load Bokeh session \"+o+\": \"+n),n})}},\n",
+ " function _(e,n,o){var t=e(167),s=e(106),r=e(445),i=e(446),c=e(447);o.DEFAULT_SERVER_WEBSOCKET_URL=\"ws://localhost:5006/ws\",o.DEFAULT_SESSION_ID=\"default\";var l=0,_=function(){function e(e,n,s,r,c){void 0===e&&(e=o.DEFAULT_SERVER_WEBSOCKET_URL),void 0===n&&(n=o.DEFAULT_SESSION_ID),void 0===s&&(s=null),void 0===r&&(r=null),void 0===c&&(c=null),this.url=e,this.id=n,this.args_string=s,this._on_have_session_hook=r,this._on_closed_permanently_hook=c,this._number=l++,this.socket=null,this.session=null,this.closed_permanently=!1,this._current_handler=null,this._pending_ack=null,this._pending_replies={},this._pending_messages=[],this._receiver=new i.Receiver,t.logger.debug(\"Creating websocket \"+this._number+\" to '\"+this.url+\"' session '\"+this.id+\"'\")}return e.prototype.connect=function(){var e=this;if(this.closed_permanently)return Promise.reject(new Error(\"Cannot connect() a closed ClientConnection\"));if(null!=this.socket)return Promise.reject(new Error(\"Already connected\"));this._pending_replies={},this._current_handler=null;try{var n=this.url+\"?bokeh-protocol-version=1.0&bokeh-session-id=\"+this.id;return null!=this.args_string&&this.args_string.length>0&&(n+=\"&\"+this.args_string),this.socket=new WebSocket(n),new Promise(function(n,o){e.socket.binaryType=\"arraybuffer\",e.socket.onopen=function(){return e._on_open(n,o)},e.socket.onmessage=function(n){return e._on_message(n)},e.socket.onclose=function(n){return e._on_close(n)},e.socket.onerror=function(){return e._on_error(o)}})}catch(e){return t.logger.error(\"websocket creation failed to url: \"+this.url),t.logger.error(\" - \"+e),Promise.reject(e)}},e.prototype.close=function(){this.closed_permanently||(t.logger.debug(\"Permanently closing websocket connection \"+this._number),this.closed_permanently=!0,null!=this.socket&&this.socket.close(1e3,\"close method called on ClientConnection \"+this._number),this.session._connection_closed(),null!=this._on_closed_permanently_hook&&(this._on_closed_permanently_hook(),this._on_closed_permanently_hook=null))},e.prototype._schedule_reconnect=function(e){var n=this;setTimeout(function(){n.closed_permanently||t.logger.info(\"Websocket connection \"+n._number+\" disconnected, will not attempt to reconnect\")},e)},e.prototype.send=function(e){if(null==this.socket)throw new Error(\"not connected so cannot send \"+e);e.send(this.socket)},e.prototype.send_with_reply=function(e){var n=this;return new Promise(function(o,t){n._pending_replies[e.msgid()]=[o,t],n.send(e)}).then(function(e){if(\"ERROR\"===e.msgtype())throw new Error(\"Error reply \"+e.content.text);return e},function(e){throw e})},e.prototype._pull_doc_json=function(){var e=r.Message.create(\"PULL-DOC-REQ\",{});return this.send_with_reply(e).then(function(e){if(!(\"doc\"in e.content))throw new Error(\"No 'doc' field in PULL-DOC-REPLY\");return e.content.doc},function(e){throw e})},e.prototype._repull_session_doc=function(){var e=this;null==this.session?t.logger.debug(\"Pulling session for first time\"):t.logger.debug(\"Repulling session\"),this._pull_doc_json().then(function(n){if(null==e.session)if(e.closed_permanently)t.logger.debug(\"Got new document after connection was already closed\");else{var o=s.Document.from_json(n),i=s.Document._compute_patch_since_json(n,o);if(i.events.length>0){t.logger.debug(\"Sending \"+i.events.length+\" changes from model construction back to server\");var l=r.Message.create(\"PATCH-DOC\",{},i);e.send(l)}e.session=new c.ClientSession(e,o,e.id);for(var _=0,h=e._pending_messages;_0)throw new Error(\"BokehJS only supports receiving buffers, not sending\");var t=JSON.stringify(this.header),r=JSON.stringify(this.metadata),n=JSON.stringify(this.content);e.send(t),e.send(r),e.send(n)},e.prototype.msgid=function(){return this.header.msgid},e.prototype.msgtype=function(){return this.header.msgtype},e.prototype.reqid=function(){return this.header.reqid},e.prototype.problem=function(){return\"msgid\"in this.header?\"msgtype\"in this.header?null:\"No msgtype in header\":\"No msgid in header\"},e}();r.Message=s,s.__name__=\"Message\"},\n",
+ " function _(t,e,s){var r=t(445),_=function(){function t(){this.message=null,this._partial=null,this._fragments=[],this._buf_header=null,this._current_consumer=this._HEADER}return t.prototype.consume=function(t){this._current_consumer(t)},t.prototype._HEADER=function(t){this._assume_text(t),this.message=null,this._partial=null,this._fragments=[t],this._buf_header=null,this._current_consumer=this._METADATA},t.prototype._METADATA=function(t){this._assume_text(t),this._fragments.push(t),this._current_consumer=this._CONTENT},t.prototype._CONTENT=function(t){this._assume_text(t),this._fragments.push(t);var e=this._fragments.slice(0,3),s=e[0],_=e[1],i=e[2];this._partial=r.Message.assemble(s,_,i),this._check_complete()},t.prototype._BUFFER_HEADER=function(t){this._assume_text(t),this._buf_header=t,this._current_consumer=this._BUFFER_PAYLOAD},t.prototype._BUFFER_PAYLOAD=function(t){this._assume_binary(t),this._partial.assemble_buffer(this._buf_header,t),this._check_complete()},t.prototype._assume_text=function(t){if(t instanceof ArrayBuffer)throw new Error(\"Expected text fragment but received binary fragment\")},t.prototype._assume_binary=function(t){if(!(t instanceof ArrayBuffer))throw new Error(\"Expected binary fragment but received text fragment\")},t.prototype._check_complete=function(){this._partial.complete()?(this.message=this._partial,this._current_consumer=this._HEADER):this._current_consumer=this._BUFFER_HEADER},t}();s.Receiver=_,_.__name__=\"Receiver\"},\n",
+ " function _(e,t,n){var o=e(106),i=e(445),r=e(167),s=function(){function e(e,t,n){var o=this;this._connection=e,this.document=t,this.id=n,this._document_listener=function(e){return o._document_changed(e)},this.document.on_change(this._document_listener),this.event_manager=this.document.event_manager,this.event_manager.session=this}return e.prototype.handle=function(e){var t=e.msgtype();\"PATCH-DOC\"===t?this._handle_patch(e):\"OK\"===t?this._handle_ok(e):\"ERROR\"===t?this._handle_error(e):r.logger.debug(\"Doing nothing with message \"+e.msgtype())},e.prototype.close=function(){this._connection.close()},e.prototype.send_event=function(e){var t=i.Message.create(\"EVENT\",{},JSON.stringify(e.to_json()));this._connection.send(t)},e.prototype._connection_closed=function(){this.document.remove_on_change(this._document_listener)},e.prototype.request_server_info=function(){var e=i.Message.create(\"SERVER-INFO-REQ\",{});return this._connection.send_with_reply(e).then(function(e){return e.content})},e.prototype.force_roundtrip=function(){return this.request_server_info().then(function(e){})},e.prototype._document_changed=function(e){if(e.setter_id!==this.id&&(!(e instanceof o.ModelChangedEvent)||e.attr in e.model.serializable_attributes())){var t=i.Message.create(\"PATCH-DOC\",{},this.document.create_json_patch([e]));this._connection.send(t)}},e.prototype._handle_patch=function(e){this.document.apply_json_patch(e.content,e.buffers,this.id)},e.prototype._handle_ok=function(e){r.logger.trace(\"Unhandled OK reply to \"+e.reqid())},e.prototype._handle_error=function(e){r.logger.error(\"Unhandled ERROR reply to \"+e.reqid()+\": \"+e.content.text)},e}();n.ClientSession=s,s.__name__=\"ClientSession\"},\n",
+ " function _(e,o,t){var n=e(106),r=e(446),s=e(167),i=e(125),a=e(441),l=e(442);function c(e,o){o.buffers.length>0?e.consume(o.buffers[0].buffer):e.consume(o.content.data);var t=e.message;null!=t&&this.apply_json_patch(t.content,t.buffers)}function g(e,o){if(\"undefined\"!=typeof Jupyter&&null!=Jupyter.notebook.kernel){s.logger.info(\"Registering Jupyter comms for target \"+e);var n=Jupyter.notebook.kernel.comm_manager;try{n.register_target(e,function(t){s.logger.info(\"Registering Jupyter comms for target \"+e);var n=new r.Receiver;t.on_msg(c.bind(o,n))})}catch(e){s.logger.warn(\"Jupyter comms failed to register. push_notebook() will not function. (exception reported: \"+e+\")\")}}else if(o.roots()[0].id in t.kernels){s.logger.info(\"Registering JupyterLab comms for target \"+e);var i=t.kernels[o.roots()[0].id];try{i.registerCommTarget(e,function(t){s.logger.info(\"Registering JupyterLab comms for target \"+e);var n=new r.Receiver;t.onMsg=c.bind(o,n)})}catch(e){s.logger.warn(\"Jupyter comms failed to register. push_notebook() will not function. (exception reported: \"+e+\")\")}}else console.warn(\"Jupyter notebooks comms not available. push_notebook() will not function. If running JupyterLab ensure the latest @bokeh/jupyter_bokeh extension is installed. In an exported notebook this warning is expected.\")}e(374),e(449),t.kernels={},t.embed_items_notebook=function(e,o){if(1!=i.size(e))throw new Error(\"embed_items_notebook expects exactly one document in docs_json\");for(var t=n.Document.from_json(i.values(e)[0]),r=0,s=o;r0&&(this.model.value=this.menu.children[this._hover_index].textContent,this.input_el.focus(),this._hide_menu())},t.prototype._update_completions=function(e){s.empty(this.menu);for(var t=0,n=e;t0&&this.menu.children[0].classList.add(r.bk_active)},t.prototype._show_menu=function(){var e=this;if(!this._open){this._open=!0,this._hover_index=0,this._last_value=this.model.value,s.display(this.menu);var t=function(n){var i=n.target;i instanceof HTMLElement&&!e.el.contains(i)&&(document.removeEventListener(\"click\",t),e._hide_menu())};document.addEventListener(\"click\",t)}},t.prototype._hide_menu=function(){this._open&&(this._open=!1,s.undisplay(this.menu))},t.prototype._menu_click=function(e){e.target!=e.currentTarget&&e.target instanceof Element&&(this.model.value=e.target.textContent,this.input_el.focus(),this._hide_menu())},t.prototype._menu_hover=function(e){if(e.target!=e.currentTarget&&e.target instanceof Element){var t=0;for(t=0;t0&&(this.menu.children[this._hover_index].classList.remove(r.bk_active),this._hover_index=u.clamp(e,0,t-1),this.menu.children[this._hover_index].classList.add(r.bk_active))},t.prototype._keydown=function(e){},t.prototype._keyup=function(e){switch(e.keyCode){case s.Keys.Enter:this.change_input();break;case s.Keys.Esc:this._hide_menu();break;case s.Keys.Up:this._bump_hover(this._hover_index-1);break;case s.Keys.Down:this._bump_hover(this._hover_index+1);break;default:var t=this.input_el.value;if(t.length *:not(:first-child) {\\n margin-left: 5px;\\n}\\n.bk-root .bk-input-group input[type=\"checkbox\"] + span,\\n.bk-root .bk-input-group input[type=\"radio\"] + span {\\n position: relative;\\n top: -2px;\\n margin-left: 3px;\\n}\\n'),t.bk_input=\"bk-input\",t.bk_input_group=\"bk-input-group\"},\n",
+ " 482: function _(t,n,i){var e=t(113),o=t(474),u=t(376),c=t(121),r=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return e.__extends(n,t),n.prototype.click=function(){this.model.clicks=this.model.clicks+1,this.model.trigger_event(new u.ButtonClick),t.prototype.click.call(this)},n}(o.AbstractButtonView);i.ButtonView=r,r.__name__=\"ButtonView\";var l=function(t){function n(n){return t.call(this,n)||this}return e.__extends(n,t),n.init_Button=function(){this.prototype.default_view=r,this.define({clicks:[c.Number,0]}),this.override({label:\"Button\"})},n}(o.AbstractButton);i.Button=l,l.__name__=\"Button\",l.init_Button()},\n",
+ " 483: function _(t,e,o){var n=t(113),i=t(484),u=t(163),c=t(117),r=t(121),a=t(240),h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),Object.defineProperty(e.prototype,\"active\",{get:function(){return new c.Set(this.model.active)},enumerable:!0,configurable:!0}),e.prototype.change_active=function(t){var e=this.active;e.toggle(t),this.model.active=e.values,null!=this.model.callback&&this.model.callback.execute(this.model)},e.prototype._update_active=function(){var t=this.active;this._buttons.forEach(function(e,o){u.classes(e).toggle(a.bk_active,t.has(o))})},e}(i.ButtonGroupView);o.CheckboxButtonGroupView=h,h.__name__=\"CheckboxButtonGroupView\";var l=function(t){function e(e){return t.call(this,e)||this}return n.__extends(e,t),e.init_CheckboxButtonGroup=function(){this.prototype.default_view=h,this.define({active:[r.Array,[]]})},e}(i.ButtonGroup);o.CheckboxButtonGroup=l,l.__name__=\"CheckboxButtonGroup\",l.init_CheckboxButtonGroup()},\n",
+ " 484: function _(t,n,e){var o=t(113),i=t(475),r=t(163),u=t(121),a=t(347),s=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return o.__extends(n,t),n.prototype.connect_signals=function(){var n=this;t.prototype.connect_signals.call(this);var e=this.model.properties;this.on_change(e.button_type,function(){return n.render()}),this.on_change(e.labels,function(){return n.render()}),this.on_change(e.active,function(){return n._update_active()})},n.prototype.render=function(){var n=this;t.prototype.render.call(this),this._buttons=this.model.labels.map(function(t,e){var o=r.div({class:[a.bk_btn,a.bk_btn_type(n.model.button_type)],disabled:n.model.disabled},t);return o.addEventListener(\"click\",function(){return n.change_active(e)}),o}),this._update_active();var e=r.div({class:a.bk_btn_group},this._buttons);this.el.appendChild(e)},n}(i.ControlView);e.ButtonGroupView=s,s.__name__=\"ButtonGroupView\";var _=function(t){function n(n){return t.call(this,n)||this}return o.__extends(n,t),n.init_ButtonGroup=function(){this.define({labels:[u.Array,[]],button_type:[u.ButtonType,\"default\"],callback:[u.Any]})},n}(i.Control);e.ButtonGroup=_,_.__name__=\"ButtonGroup\",_.init_ButtonGroup()},\n",
+ " 485: function _(e,t,n){var i=e(113),l=e(486),o=e(163),a=e(110),r=e(117),c=e(121),u=e(240),h=e(481),p=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(t,e),t.prototype.render=function(){var t=this;e.prototype.render.call(this);var n=o.div({class:[h.bk_input_group,this.model.inline?u.bk_inline:null]});this.el.appendChild(n);for(var i=this.model,l=i.active,r=i.labels,c=function(e){var i=o.input({type:\"checkbox\",value:\"\"+e});i.addEventListener(\"change\",function(){return t.change_active(e)}),p.model.disabled&&(i.disabled=!0),a.includes(l,e)&&(i.checked=!0);var c=o.label({},i,o.span({},r[e]));n.appendChild(c)},p=this,s=0;sn||this._o.position.indexOf(\"right\")>-1&&a-e+t.offsetWidth>0)&&(a=a-e+t.offsetWidth),(this._o.reposition&&r+i>o+s||this._o.position.indexOf(\"top\")>-1&&r-i-t.offsetHeight>0)&&(r=r-i-t.offsetHeight),this.el.style.left=a+\"px\",this.el.style.top=r+\"px\"}};var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.connect_signals=function(){var e=this;t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return e.render()})},e.prototype.render=function(){var e=this;null!=this._picker&&this._picker.destroy(),t.prototype.render.call(this),this.input_el=s.input({type:\"text\",class:r.bk_input,disabled:this.model.disabled}),this.group_el.appendChild(this.input_el),this._picker=new a({field:this.input_el,defaultDate:this._unlocal_date(new Date(this.model.value)),setDefaultDate:!0,minDate:null!=this.model.min_date?this._unlocal_date(new Date(this.model.min_date)):void 0,maxDate:null!=this.model.max_date?this._unlocal_date(new Date(this.model.max_date)):void 0,onSelect:function(t){return e._on_select(t)}}),this._root_element.appendChild(this._picker.el)},e.prototype._unlocal_date=function(t){var e=6e4*t.getTimezoneOffset();t.setTime(t.getTime()-e);var i=t.toISOString().substr(0,10).split(\"-\");return new Date(Number(i[0]),Number(i[1])-1,Number(i[2]))},e.prototype._on_select=function(t){this.model.value=t.toDateString(),this.change_input()},e}(o.InputWidgetView);i.DatePickerView=d,d.__name__=\"DatePickerView\";var h=function(t){function e(e){return t.call(this,e)||this}return n.__extends(e,t),e.init_DatePicker=function(){this.prototype.default_view=d,this.define({value:[l.Any,(new Date).toDateString()],min_date:[l.Any],max_date:[l.Any]})},e}(o.InputWidget);i.DatePicker=h,h.__name__=\"DatePicker\",h.init_DatePicker()},\n",
+ " 489: function _(e,t,n){var a=function(e,t,n,a){e.addEventListener(t,n,!!a)},i=function(e,t,n,a){e.removeEventListener(t,n,!!a)},s=function(e,t){return-1!==(\" \"+e.className+\" \").indexOf(\" \"+t+\" \")},o=function(e,t){s(e,t)||(e.className=\"\"===e.className?t:e.className+\" \"+t)},r=function(e,t){var n;e.className=(n=(\" \"+e.className+\" \").replace(\" \"+t+\" \",\" \")).trim?n.trim():n.replace(/^\\s+|\\s+$/g,\"\")},l=function(e){return/Array/.test(Object.prototype.toString.call(e))},h=function(e){return/Date/.test(Object.prototype.toString.call(e))&&!isNaN(e.getTime())},d=function(e){var t=e.getDay();return 0===t||6===t},u=function(e){\n",
+ " // solution lifted from date.js (MIT license): https://github.com/datejs/Datejs\n",
+ " return e%4==0&&e%100!=0||e%400==0},c=function(e,t){return[31,u(e)?29:28,31,30,31,30,31,31,30,31,30,31][t]},f=function(e){h(e)&&e.setHours(0,0,0,0)},g=function(e,t){return e.getTime()===t.getTime()},m=function(e,t,n){var a,i;for(a in t)(i=void 0!==e[a])&&\"object\"==typeof t[a]&&null!==t[a]&&void 0===t[a].nodeName?h(t[a])?n&&(e[a]=new Date(t[a].getTime())):l(t[a])?n&&(e[a]=t[a].slice(0)):e[a]=m({},t[a],n):!n&&i||(e[a]=t[a]);return e},p=function(e,t,n){var a;document.createEvent?((a=document.createEvent(\"HTMLEvents\")).initEvent(t,!0,!1),a=m(a,n),e.dispatchEvent(a)):document.createEventObject&&(a=document.createEventObject(),a=m(a,n),e.fireEvent(\"on\"+t,a))},y=function(e){return e.month<0&&(e.year-=Math.ceil(Math.abs(e.month)/12),e.month+=12),e.month>11&&(e.year+=Math.floor(Math.abs(e.month)/12),e.month-=12),e},D={field:null,bound:void 0,ariaLabel:\"Use the arrow keys to pick a date\",position:\"bottom left\",reposition:!0,format:\"YYYY-MM-DD\",toString:null,parse:null,defaultDate:null,setDefaultDate:!1,firstDay:0,formatStrict:!1,minDate:null,maxDate:null,yearRange:10,showWeekNumber:!1,pickWholeWeek:!1,minYear:0,maxYear:9999,minMonth:void 0,maxMonth:void 0,startRange:null,endRange:null,isRTL:!1,yearSuffix:\"\",showMonthAfterYear:!1,showDaysInNextAndPreviousMonths:!1,enableSelectionDaysInNextAndPreviousMonths:!1,numberOfMonths:1,mainCalendar:\"left\",container:void 0,blurFieldOnSelect:!0,i18n:{previousMonth:\"Previous Month\",nextMonth:\"Next Month\",months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],weekdays:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],weekdaysShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"]},theme:null,events:[],onSelect:null,onOpen:null,onClose:null,onDraw:null,keyboardInput:!0},b=function(e,t,n){for(t+=e.firstDay;t>=7;)t-=7;return n?e.i18n.weekdaysShort[t]:e.i18n.weekdays[t]},_=function(e){var t=[],n=\"false\";if(e.isEmpty){if(!e.showDaysInNextAndPreviousMonths)return' | ';t.push(\"is-outside-current-month\"),e.enableSelectionDaysInNextAndPreviousMonths||t.push(\"is-selection-disabled\")}return e.isDisabled&&t.push(\"is-disabled\"),e.isToday&&t.push(\"is-today\"),e.isSelected&&(t.push(\"is-selected\"),n=\"true\"),e.hasEvent&&t.push(\"has-event\"),e.isInRange&&t.push(\"is-inrange\"),e.isStartRange&&t.push(\"is-startrange\"),e.isEndRange&&t.push(\"is-endrange\"),' | \"},v=function(e,t,n){return''+function(e){e.setHours(0,0,0,0);var t=e.getDate(),n=e.getDay(),a=function(e){return(e+7-1)%7};e.setDate(t+3-a(n));var i=new Date(e.getFullYear(),0,4),s=(e.getTime()-i.getTime())/864e5;return 1+Math.round((s-3+a(i.getDay()))/7)}(new Date(n,t,e))+\" | \"},w=function(e,t,n,a){return''+(t?e.reverse():e).join(\"\")+\"
\"},k=function(e,t,n,a,i,s){var o,r,h,d,u,c=e._o,f=n===c.minYear,g=n===c.maxYear,m='',p=!0,y=!0;for(h=[],o=0;o<12;o++)h.push('
\");for(d='
'+c.i18n.months[a]+'
\",l(c.yearRange)?(o=c.yearRange[0],r=c.yearRange[1]+1):(o=n-c.yearRange,r=1+n+c.yearRange),h=[];o
=c.minYear&&h.push('\");return u=''+n+c.yearSuffix+'
\",c.showMonthAfterYear?m+=u+d:m+=d+u,f&&(0===a||c.minMonth>=a)&&(p=!1),g&&(11===a||c.maxMonth<=a)&&(y=!1),0===t&&(m+='\"),t===e._o.numberOfMonths-1&&(m+='\"),m+\" \"},M=function(e,t,n){return''+function(e){var t,n=[];for(e.showWeekNumber&&n.push(\" | \"),t=0;t<7;t++)n.push(''+b(e,t,!0)+\" | \");return\"\"+(e.isRTL?n.reverse():n).join(\"\")+\"
\"}(e)+(\"\"+t.join(\"\")+\"\")+\"
\"},x=function(e){var t=this,n=t.config(e);t._onMouseDown=function(e){if(t._v){var a=(e=e||window.event).target||e.srcElement;if(a)if(s(a,\"is-disabled\")||(!s(a,\"pika-button\")||s(a,\"is-empty\")||s(a.parentNode,\"is-disabled\")?s(a,\"pika-prev\")?t.prevMonth():s(a,\"pika-next\")&&t.nextMonth():(t.setDate(new Date(a.getAttribute(\"data-pika-year\"),a.getAttribute(\"data-pika-month\"),a.getAttribute(\"data-pika-day\"))),n.bound&&setTimeout(function(){t.hide(),n.blurFieldOnSelect&&n.field&&n.field.blur()},100))),s(a,\"pika-select\"))t._c=!0;else{if(!e.preventDefault)return e.returnValue=!1,!1;e.preventDefault()}}},t._onChange=function(e){var n=(e=e||window.event).target||e.srcElement;n&&(s(n,\"pika-select-month\")?t.gotoMonth(n.value):s(n,\"pika-select-year\")&&t.gotoYear(n.value))},t._onKeyChange=function(e){if(e=e||window.event,t.isVisible())switch(e.keyCode){case 13:case 27:n.field&&n.field.blur();break;case 37:t.adjustDate(\"subtract\",1);break;case 38:t.adjustDate(\"subtract\",7);break;case 39:t.adjustDate(\"add\",1);break;case 40:t.adjustDate(\"add\",7);break;case 8:case 46:t.setDate(null)}},t._parseFieldValue=function(){return n.parse?n.parse(n.field.value,n.format):new Date(Date.parse(n.field.value))},t._onInputChange=function(e){var n;e.firedBy!==t&&(n=t._parseFieldValue(),h(n)&&t.setDate(n),t._v||t.show())},t._onInputFocus=function(){t.show()},t._onInputClick=function(){t.show()},t._onInputBlur=function(){var e=document.activeElement;do{if(s(e,\"pika-single\"))return}while(e=e.parentNode);t._c||(t._b=setTimeout(function(){t.hide()},50)),t._c=!1},t._onClick=function(e){var a=(e=e||window.event).target||e.srcElement,i=a;if(a){do{if(s(i,\"pika-single\")||i===n.trigger)return}while(i=i.parentNode);t._v&&a!==n.trigger&&i!==n.trigger&&t.hide()}},t.el=document.createElement(\"div\"),t.el.className=\"pika-single\"+(n.isRTL?\" is-rtl\":\"\")+(n.theme?\" \"+n.theme:\"\"),a(t.el,\"mousedown\",t._onMouseDown,!0),a(t.el,\"touchend\",t._onMouseDown,!0),a(t.el,\"change\",t._onChange),n.keyboardInput&&a(document,\"keydown\",t._onKeyChange),n.field&&(n.container?n.container.appendChild(t.el):n.bound?document.body.appendChild(t.el):n.field.parentNode.insertBefore(t.el,n.field.nextSibling),a(n.field,\"change\",t._onInputChange),n.defaultDate||(n.defaultDate=t._parseFieldValue(),n.setDefaultDate=!0));var i=n.defaultDate;h(i)?n.setDefaultDate?t.setDate(i,!0):t.gotoDate(i):t.gotoDate(new Date),n.bound?(this.hide(),t.el.className+=\" is-bound\",a(n.trigger,\"click\",t._onInputClick),a(n.trigger,\"focus\",t._onInputFocus),a(n.trigger,\"blur\",t._onInputBlur)):this.show()};x.prototype={config:function(e){this._o||(this._o=m({},D,!0));var t=m(this._o,e,!0);t.isRTL=!!t.isRTL,t.field=t.field&&t.field.nodeName?t.field:null,t.theme=\"string\"==typeof t.theme&&t.theme?t.theme:null,t.bound=!!(void 0!==t.bound?t.field&&t.bound:t.field),t.trigger=t.trigger&&t.trigger.nodeName?t.trigger:t.field,t.disableWeekends=!!t.disableWeekends,t.disableDayFn=\"function\"==typeof t.disableDayFn?t.disableDayFn:null;var n=parseInt(t.numberOfMonths,10)||1;if(t.numberOfMonths=n>4?4:n,h(t.minDate)||(t.minDate=!1),h(t.maxDate)||(t.maxDate=!1),t.minDate&&t.maxDate&&t.maxDate100&&(t.yearRange=100);return t},toString:function(e){return e=e||this._o.format,h(this._d)?this._o.toString?this._o.toString(this._d,e):this._d.toDateString():\"\"},getDate:function(){return h(this._d)?new Date(this._d.getTime()):null},setDate:function(e,t){if(!e)return this._d=null,this._o.field&&(this._o.field.value=\"\",p(this._o.field,\"change\",{firedBy:this})),this.draw();if(\"string\"==typeof e&&(e=new Date(Date.parse(e))),h(e)){var n=this._o.minDate,a=this._o.maxDate;h(n)&&ea&&(e=a),this._d=new Date(e.getTime()),f(this._d),this.gotoDate(this._d),this._o.field&&(this._o.field.value=this.toString(),p(this._o.field,\"change\",{firedBy:this})),t||\"function\"!=typeof this._o.onSelect||this._o.onSelect.call(this,this.getDate())}},clear:function(){this.setDate(null)},gotoDate:function(e){var t=!0;if(h(e)){if(this.calendars){var n=new Date(this.calendars[0].year,this.calendars[0].month,1),a=new Date(this.calendars[this.calendars.length-1].year,this.calendars[this.calendars.length-1].month,1),i=e.getTime();a.setMonth(a.getMonth()+1),a.setDate(a.getDate()-1),t=i=i&&(this._y=i,!isNaN(o)&&this._m>o&&(this._m=o));for(var l=0;l'+k(this,l,this.calendars[l].year,this.calendars[l].month,this.calendars[0].year,t)+this.render(this.calendars[l].year,this.calendars[l].month,t)+\"\";this.el.innerHTML=r,n.bound&&\"hidden\"!==n.field.type&&setTimeout(function(){n.trigger.focus()},1),\"function\"==typeof this._o.onDraw&&this._o.onDraw(this),n.bound&&n.field.setAttribute(\"aria-label\",n.ariaLabel)}},adjustPosition:function(){var e,t,n,a,i,s,l,h,d,u,c,f;if(!this._o.container){if(this.el.style.position=\"absolute\",t=e=this._o.trigger,n=this.el.offsetWidth,a=this.el.offsetHeight,i=window.innerWidth||document.documentElement.clientWidth,s=window.innerHeight||document.documentElement.clientHeight,l=window.pageYOffset||document.body.scrollTop||document.documentElement.scrollTop,c=!0,f=!0,\"function\"==typeof e.getBoundingClientRect)h=(u=e.getBoundingClientRect()).left+window.pageXOffset,d=u.bottom+window.pageYOffset;else for(h=t.offsetLeft,d=t.offsetTop+t.offsetHeight;t=t.offsetParent;)h+=t.offsetLeft,d+=t.offsetTop;(this._o.reposition&&h+n>i||this._o.position.indexOf(\"right\")>-1&&h-n+e.offsetWidth>0)&&(h=h-n+e.offsetWidth,c=!1),(this._o.reposition&&d+a>s+l||this._o.position.indexOf(\"top\")>-1&&d-a-e.offsetHeight>0)&&(d=d-a-e.offsetHeight,f=!1),this.el.style.left=h+\"px\",this.el.style.top=d+\"px\",o(this.el,c?\"left-aligned\":\"right-aligned\"),o(this.el,f?\"bottom-aligned\":\"top-aligned\"),r(this.el,c?\"right-aligned\":\"left-aligned\"),r(this.el,f?\"top-aligned\":\"bottom-aligned\")}},render:function(e,t,n){var a=this._o,i=new Date,s=c(e,t),o=new Date(e,t,1).getDay(),r=[],l=[];f(i),a.firstDay>0&&(o-=a.firstDay)<0&&(o+=7);for(var u=0===t?11:t-1,m=11===t?0:t+1,p=0===t?e-1:e,y=11===t?e+1:e,D=c(p,u),b=s+o,k=b;k>7;)k-=7;b+=7-k;for(var x=!1,R=0,N=0;R=s+o,O=R-o+1,E=t,j=e,F=a.startRange&&g(a.startRange,S),W=a.endRange&&g(a.endRange,S),A=a.startRange&&a.endRange&&a.startRangea.maxDate||a.disableWeekends&&d(S)||a.disableDayFn&&a.disableDayFn(S),isEmpty:Y,isStartRange:F,isEndRange:W,isInRange:A,showDaysInNextAndPreviousMonths:a.showDaysInNextAndPreviousMonths,enableSelectionDaysInNextAndPreviousMonths:a.enableSelectionDaysInNextAndPreviousMonths};a.pickWholeWeek&&T&&(x=!0),l.push(_(L)),7==++N&&(a.showWeekNumber&&l.unshift(v(R-o,t,e)),r.push(w(l,a.isRTL,a.pickWholeWeek,x)),l=[],N=0,x=!1)}return M(a,r,n)},isVisible:function(){return this._v},show:function(){this.isVisible()||(this._v=!0,this.draw(),r(this.el,\"is-hidden\"),this._o.bound&&(a(document,\"click\",this._onClick),this.adjustPosition()),\"function\"==typeof this._o.onOpen&&this._o.onOpen.call(this))},hide:function(){var e=this._v;!1!==e&&(this._o.bound&&i(document,\"click\",this._onClick),this.el.style.position=\"static\",this.el.style.left=\"auto\",this.el.style.top=\"auto\",o(this.el,\"is-hidden\"),this._v=!1,void 0!==e&&\"function\"==typeof this._o.onClose&&this._o.onClose.call(this))},destroy:function(){var e=this._o;this.hide(),i(this.el,\"mousedown\",this._onMouseDown,!0),i(this.el,\"touchend\",this._onMouseDown,!0),i(this.el,\"change\",this._onChange),e.keyboardInput&&i(document,\"keydown\",this._onKeyChange),e.field&&(i(e.field,\"change\",this._onInputChange),e.bound&&(i(e.trigger,\"click\",this._onInputClick),i(e.trigger,\"focus\",this._onInputFocus),i(e.trigger,\"blur\",this._onInputBlur))),this.el.parentNode&&this.el.parentNode.removeChild(this.el)}},t.exports=x},\n",
+ " 490: function _(n,o,t){n(164),n(163).styles.append('.bk-root {\\n @charset \"UTF-8\";\\n /*!\\n * Pikaday\\n * Copyright © 2014 David Bushell | BSD & MIT license | https://dbushell.com/\\n */\\n /*\\nclear child float (pika-lendar), using the famous micro clearfix hack\\nhttp://nicolasgallagher.com/micro-clearfix-hack/\\n*/\\n /* styling for abbr */\\n}\\n.bk-root .pika-single {\\n z-index: 9999;\\n display: block;\\n position: relative;\\n color: #333;\\n background: #fff;\\n border: 1px solid #ccc;\\n border-bottom-color: #bbb;\\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\\n}\\n.bk-root .pika-single:before,\\n.bk-root .pika-single:after {\\n content: \" \";\\n display: table;\\n}\\n.bk-root .pika-single:after {\\n clear: both;\\n}\\n.bk-root .pika-single.is-hidden {\\n display: none;\\n}\\n.bk-root .pika-single.is-bound {\\n position: absolute;\\n box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.5);\\n}\\n.bk-root .pika-lendar {\\n float: left;\\n width: 240px;\\n margin: 8px;\\n}\\n.bk-root .pika-title {\\n position: relative;\\n text-align: center;\\n}\\n.bk-root .pika-label {\\n display: inline-block;\\n position: relative;\\n z-index: 9999;\\n overflow: hidden;\\n margin: 0;\\n padding: 5px 3px;\\n font-size: 14px;\\n line-height: 20px;\\n font-weight: bold;\\n background-color: #fff;\\n}\\n.bk-root .pika-title select {\\n cursor: pointer;\\n position: absolute;\\n z-index: 9998;\\n margin: 0;\\n left: 0;\\n top: 5px;\\n opacity: 0;\\n}\\n.bk-root .pika-prev,\\n.bk-root .pika-next {\\n display: block;\\n cursor: pointer;\\n position: relative;\\n outline: none;\\n border: 0;\\n padding: 0;\\n width: 20px;\\n height: 30px;\\n /* hide text using text-indent trick, using width value (it\\'s enough) */\\n text-indent: 20px;\\n white-space: nowrap;\\n overflow: hidden;\\n background-color: transparent;\\n background-position: center center;\\n background-repeat: no-repeat;\\n background-size: 75% 75%;\\n opacity: 0.5;\\n}\\n.bk-root .pika-prev:hover,\\n.bk-root .pika-next:hover {\\n opacity: 1;\\n}\\n.bk-root .pika-prev,\\n.bk-root .is-rtl .pika-next {\\n float: left;\\n background-image: url(\\'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==\\');\\n}\\n.bk-root .pika-next,\\n.bk-root .is-rtl .pika-prev {\\n float: right;\\n background-image: url(\\'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=\\');\\n}\\n.bk-root .pika-prev.is-disabled,\\n.bk-root .pika-next.is-disabled {\\n cursor: default;\\n opacity: 0.2;\\n}\\n.bk-root .pika-select {\\n display: inline-block;\\n}\\n.bk-root .pika-table {\\n width: 100%;\\n border-collapse: collapse;\\n border-spacing: 0;\\n border: 0;\\n}\\n.bk-root .pika-table th,\\n.bk-root .pika-table td {\\n width: 14.28571429%;\\n padding: 0;\\n}\\n.bk-root .pika-table th {\\n color: #999;\\n font-size: 12px;\\n line-height: 25px;\\n font-weight: bold;\\n text-align: center;\\n}\\n.bk-root .pika-button {\\n cursor: pointer;\\n display: block;\\n box-sizing: border-box;\\n -moz-box-sizing: border-box;\\n outline: none;\\n border: 0;\\n margin: 0;\\n width: 100%;\\n padding: 5px;\\n color: #666;\\n font-size: 12px;\\n line-height: 15px;\\n text-align: right;\\n background: #f5f5f5;\\n}\\n.bk-root .pika-week {\\n font-size: 11px;\\n color: #999;\\n}\\n.bk-root .is-today .pika-button {\\n color: #33aaff;\\n font-weight: bold;\\n}\\n.bk-root .is-selected .pika-button,\\n.bk-root .has-event .pika-button {\\n color: #fff;\\n font-weight: bold;\\n background: #33aaff;\\n box-shadow: inset 0 1px 3px #178fe5;\\n border-radius: 3px;\\n}\\n.bk-root .has-event .pika-button {\\n background: #005da9;\\n box-shadow: inset 0 1px 3px #0076c9;\\n}\\n.bk-root .is-disabled .pika-button,\\n.bk-root .is-inrange .pika-button {\\n background: #D5E9F7;\\n}\\n.bk-root .is-startrange .pika-button {\\n color: #fff;\\n background: #6CB31D;\\n box-shadow: none;\\n border-radius: 3px;\\n}\\n.bk-root .is-endrange .pika-button {\\n color: #fff;\\n background: #33aaff;\\n box-shadow: none;\\n border-radius: 3px;\\n}\\n.bk-root .is-disabled .pika-button {\\n pointer-events: none;\\n cursor: default;\\n color: #999;\\n opacity: 0.3;\\n}\\n.bk-root .is-outside-current-month .pika-button {\\n color: #999;\\n opacity: 0.3;\\n}\\n.bk-root .is-selection-disabled {\\n pointer-events: none;\\n cursor: default;\\n}\\n.bk-root .pika-button:hover,\\n.bk-root .pika-row.pick-whole-week:hover .pika-button {\\n color: #fff;\\n background: #ff8000;\\n box-shadow: none;\\n border-radius: 3px;\\n}\\n.bk-root .pika-table abbr {\\n border-bottom: none;\\n cursor: help;\\n}\\n')},\n",
+ " 491: function _(e,t,n){var r=e(113),i=e(252),a=e(492),_=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.__extends(t,e),t}(a.AbstractRangeSliderView);n.DateRangeSliderView=_,_.__name__=\"DateRangeSliderView\";var o=function(e){function t(t){var n=e.call(this,t)||this;return n.behaviour=\"drag\",n.connected=[!1,!0,!1],n}return r.__extends(t,e),t.init_DateRangeSlider=function(){this.prototype.default_view=_,this.override({format:\"%d %b %Y\"})},t.prototype._formatter=function(e,t){return i(e,t)},t}(a.AbstractSlider);n.DateRangeSlider=o,o.__name__=\"DateRangeSlider\",o.init_DateRangeSlider()},\n",
+ " 492: function _(t,e,i){var l=t(113),r=t(493),n=t(121),o=t(163),s=t(110),a=t(119),c=t(475),d=t(494),h=\"bk-noUi-\",_=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return l.__extends(e,t),Object.defineProperty(e.prototype,\"noUiSlider\",{get:function(){return this.slider_el.noUiSlider},enumerable:!0,configurable:!0}),e.prototype.initialize=function(){t.prototype.initialize.call(this),this._init_callback()},e.prototype.connect_signals=function(){var e=this;t.prototype.connect_signals.call(this);var i=this.model.properties,l=i.callback,r=i.callback_policy,n=i.callback_throttle;this.on_change([l,r,n],function(){return e._init_callback()});var o=this.model.properties,s=o.start,a=o.end,c=o.value,d=o.step,h=o.title;this.on_change([s,a,c,d],function(){var t=e._calc_to(),i=t.start,l=t.end,r=t.value,n=t.step;e.noUiSlider.updateOptions({range:{min:i,max:l},start:r,step:n})});var _=this.model.properties.bar_color;this.on_change(_,function(){e._set_bar_color()}),this.on_change([c,h],function(){return e._update_title()})},e.prototype._init_callback=function(){var t=this,e=this.model.callback,i=function(){null!=e&&e.execute(t.model),t.model.value_throttled=t.model.value};switch(this.model.callback_policy){case\"continuous\":this.callback_wrapper=i;break;case\"throttle\":this.callback_wrapper=a.throttle(i,this.model.callback_throttle);break;default:this.callback_wrapper=void 0}},e.prototype._update_title=function(){var t=this;o.empty(this.title_el);var e=null==this.model.title||0==this.model.title.length&&!this.model.show_value;if(this.title_el.style.display=e?\"none\":\"\",!e&&(0!=this.model.title.length&&(this.title_el.textContent=this.model.title+\": \"),this.model.show_value)){var i=this._calc_to().value.map(function(e){return t.model.pretty(e)}).join(\" .. \");this.title_el.appendChild(o.span({class:d.bk_slider_value},i))}},e.prototype._set_bar_color=function(){this.model.disabled||(this.slider_el.querySelector(\".bk-noUi-connect\").style.backgroundColor=this.model.bar_color)},e.prototype._keypress_handle=function(t,e){void 0===e&&(e=0);var i=this._calc_to(),l=i.start,r=i.value,n=i.end,o=i.step,s=2==r.length,a=l,c=n;switch(s&&0==e?c=r[1]:s&&1==e&&(a=r[0]),t.which){case 37:r[e]=Math.max(r[e]-o,a);break;case 39:r[e]=Math.min(r[e]+o,c);break;default:return}s?(this.model.value=r,this.model.properties.value.change.emit()):this.model.value=r[0],this.noUiSlider.set(r),null!=this.callback_wrapper&&this.callback_wrapper()},e.prototype.render=function(){var e=this;t.prototype.render.call(this);var i,l=this._calc_to(),n=l.start,a=l.end,c=l.value,_=l.step;if(this.model.tooltips){var u={to:function(t){return e.model.pretty(t)}};i=s.repeat(u,c.length)}else i=!1;if(null==this.slider_el){this.slider_el=o.div(),r.create(this.slider_el,{cssPrefix:h,range:{min:n,max:a},start:c,step:_,behaviour:this.model.behaviour,connect:this.model.connected,tooltips:i,orientation:this.model.orientation,direction:this.model.direction}),this.noUiSlider.on(\"slide\",function(t,i,l){return e._slide(l)}),this.noUiSlider.on(\"change\",function(t,i,l){return e._change(l)}),this._set_keypress_handles();var p=function(t,l){i&&(e.slider_el.querySelectorAll(\".bk-noUi-handle\")[t].querySelector(\".bk-noUi-tooltip\").style.display=l?\"block\":\"\")};this.noUiSlider.on(\"start\",function(t,e){return p(e,!0)}),this.noUiSlider.on(\"end\",function(t,e){return p(e,!1)})}else this.noUiSlider.updateOptions({range:{min:n,max:a},start:c,step:_});this._set_bar_color(),this.model.disabled?this.slider_el.setAttribute(\"disabled\",\"true\"):this.slider_el.removeAttribute(\"disabled\"),this.title_el=o.div({class:d.bk_slider_title}),this._update_title(),this.group_el=o.div({class:d.bk_input_group},this.title_el,this.slider_el),this.el.appendChild(this.group_el)},e.prototype._slide=function(t){this.model.value=this._calc_from(t),null!=this.callback_wrapper&&this.callback_wrapper()},e.prototype._change=function(t){switch(this.model.value=this._calc_from(t),this.model.value_throttled=this.model.value,this.model.callback_policy){case\"mouseup\":case\"throttle\":null!=this.model.callback&&this.model.callback.execute(this.model)}},e}(c.ControlView);_.__name__=\"AbstractBaseSliderView\";var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return l.__extends(e,t),e.prototype._calc_to=function(){return{start:this.model.start,end:this.model.end,value:[this.model.value],step:this.model.step}},e.prototype._calc_from=function(t){var e=t[0];return Number.isInteger(this.model.start)&&Number.isInteger(this.model.end)&&Number.isInteger(this.model.step)?Math.round(e):e},e.prototype._set_keypress_handles=function(){var t=this,e=this.slider_el.querySelector(\".bk-noUi-handle\");e.setAttribute(\"tabindex\",\"0\"),e.addEventListener(\"keydown\",function(e){return t._keypress_handle(e)})},e}(_);i.AbstractSliderView=u,u.__name__=\"AbstractSliderView\";var p=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return l.__extends(e,t),e.prototype._calc_to=function(){return{start:this.model.start,end:this.model.end,value:this.model.value,step:this.model.step}},e.prototype._calc_from=function(t){return t},e.prototype._set_keypress_handles=function(){var t=this,e=this.slider_el.querySelector(\".bk-noUi-handle-lower\"),i=this.slider_el.querySelector(\".bk-noUi-handle-upper\");e.setAttribute(\"tabindex\",\"0\"),e.addEventListener(\"keydown\",function(e){return t._keypress_handle(e,0)}),i.setAttribute(\"tabindex\",\"1\"),i.addEventListener(\"keydown\",function(e){return t._keypress_handle(e,1)})},e}(_);i.AbstractRangeSliderView=p,p.__name__=\"AbstractRangeSliderView\";var m=function(t){function e(e){var i=t.call(this,e)||this;return i.connected=!1,i}return l.__extends(e,t),e.init_AbstractSlider=function(){this.define({title:[n.String,\"\"],show_value:[n.Boolean,!0],start:[n.Any],end:[n.Any],value:[n.Any],value_throttled:[n.Any],step:[n.Number,1],format:[n.String],direction:[n.Any,\"ltr\"],tooltips:[n.Boolean,!0],callback:[n.Any],callback_throttle:[n.Number,200],callback_policy:[n.SliderCallbackPolicy,\"throttle\"],bar_color:[n.Color,\"#e6e6e6\"]})},e.prototype._formatter=function(t,e){return\"\"+t},e.prototype.pretty=function(t){return this._formatter(t,this.format)},e}(c.Control);i.AbstractSlider=m,m.__name__=\"AbstractSlider\",m.init_AbstractSlider()},\n",
+ " 493: function _(t,e,r){\n",
+ " /*! nouislider - 10.1.0 - 2017-07-28 17:11:18 */var n;n=function(){\"use strict\";var t=\"10.1.0\";function e(t){t.preventDefault()}function r(t){return\"number\"==typeof t&&!isNaN(t)&&isFinite(t)}function n(t,e,r){r>0&&(s(t,e),setTimeout(function(){a(t,e)},r))}function i(t){return Array.isArray(t)?t:[t]}function o(t){var e=(t=String(t)).split(\".\");return e.length>1?e[1].length:0}function s(t,e){t.classList?t.classList.add(e):t.className+=\" \"+e}function a(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(new RegExp(\"(^|\\\\b)\"+e.split(\" \").join(\"|\")+\"(\\\\b|$)\",\"gi\"),\" \")}function l(t){var e=void 0!==window.pageXOffset,r=\"CSS1Compat\"===(t.compatMode||\"\");return{x:e?window.pageXOffset:r?t.documentElement.scrollLeft:t.body.scrollLeft,y:e?window.pageYOffset:r?t.documentElement.scrollTop:t.body.scrollTop}}function u(t,e){return 100/(e-t)}function c(t,e){return 100*e/(t[1]-t[0])}function p(t,e){for(var r=1;t>=e[r];)r+=1;return r}function f(t,e,r){if(r>=t.slice(-1)[0])return 100;var n,i,o,s,a=p(r,t);return n=t[a-1],i=t[a],o=e[a-1],s=e[a],o+function(t,e){return c(t,t[0]<0?e+Math.abs(t[0]):e-t[0])}([n,i],r)/u(o,s)}function d(t,e,r,n){if(100===n)return n;var i,o,s=p(n,t);return r?n-(i=t[s-1])>((o=t[s])-i)/2?o:i:e[s-1]?t[s-1]+function(t,e){return Math.round(t/e)*e}(n-t[s-1],e[s-1]):n}function h(e,n,i){var o;if(\"number\"==typeof n&&(n=[n]),\"[object Array]\"!==Object.prototype.toString.call(n))throw new Error(\"noUiSlider (\"+t+\"): 'range' contains invalid value.\");if(!r(o=\"min\"===e?0:\"max\"===e?100:parseFloat(e))||!r(n[0]))throw new Error(\"noUiSlider (\"+t+\"): 'range' value isn't numeric.\");i.xPct.push(o),i.xVal.push(n[0]),o?i.xSteps.push(!isNaN(n[1])&&n[1]):isNaN(n[1])||(i.xSteps[0]=n[1]),i.xHighestCompleteStep.push(0)}function m(t,e,r){if(!e)return!0;r.xSteps[t]=c([r.xVal[t],r.xVal[t+1]],e)/u(r.xPct[t],r.xPct[t+1]);var n=(r.xVal[t+1]-r.xVal[t])/r.xNumSteps[t],i=Math.ceil(Number(n.toFixed(3))-1),o=r.xVal[t]+r.xNumSteps[t]*i;r.xHighestCompleteStep[t]=o}function g(t,e,r){this.xPct=[],this.xVal=[],this.xSteps=[r||!1],this.xNumSteps=[!1],this.xHighestCompleteStep=[],this.snap=e;var n,i=[];for(n in t)t.hasOwnProperty(n)&&i.push([t[n],n]);for(i.length&&\"object\"==typeof i[0][0]?i.sort(function(t,e){return t[0][0]-e[0][0]}):i.sort(function(t,e){return t[0]-e[0]}),n=0;n=100)return t.slice(-1)[0];var n,i=p(r,e);return function(t,e){return e*(t[1]-t[0])/100+t[0]}([t[i-1],t[i]],(r-(n=e[i-1]))*u(n,e[i]))}(this.xVal,this.xPct,t)},g.prototype.getStep=function(t){return t=d(this.xPct,this.xSteps,this.snap,t)},g.prototype.getNearbySteps=function(t){var e=p(t,this.xPct);return{stepBefore:{startValue:this.xVal[e-2],step:this.xNumSteps[e-2],highestStep:this.xHighestCompleteStep[e-2]},thisStep:{startValue:this.xVal[e-1],step:this.xNumSteps[e-1],highestStep:this.xHighestCompleteStep[e-1]},stepAfter:{startValue:this.xVal[e-0],step:this.xNumSteps[e-0],highestStep:this.xHighestCompleteStep[e-0]}}},g.prototype.countStepDecimals=function(){var t=this.xNumSteps.map(o);return Math.max.apply(null,t)},g.prototype.convert=function(t){return this.getStep(this.toStepping(t))};var v={to:function(t){return void 0!==t&&t.toFixed(2)},from:Number};function b(e){if(function(t){return\"object\"==typeof t&&\"function\"==typeof t.to&&\"function\"==typeof t.from}(e))return!0;throw new Error(\"noUiSlider (\"+t+\"): 'format' requires 'to' and 'from' methods.\")}function S(e,n){if(!r(n))throw new Error(\"noUiSlider (\"+t+\"): 'step' is not numeric.\");e.singleStep=n}function w(e,r){if(\"object\"!=typeof r||Array.isArray(r))throw new Error(\"noUiSlider (\"+t+\"): 'range' is not an object.\");if(void 0===r.min||void 0===r.max)throw new Error(\"noUiSlider (\"+t+\"): Missing 'min' or 'max' in 'range'.\");if(r.min===r.max)throw new Error(\"noUiSlider (\"+t+\"): 'range' 'min' and 'max' cannot be equal.\");e.spectrum=new g(r,e.snap,e.singleStep)}function x(e,r){if(r=i(r),!Array.isArray(r)||!r.length)throw new Error(\"noUiSlider (\"+t+\"): 'start' option is incorrect.\");e.handles=r.length,e.start=r}function y(e,r){if(e.snap=r,\"boolean\"!=typeof r)throw new Error(\"noUiSlider (\"+t+\"): 'snap' option must be a boolean.\")}function E(e,r){if(e.animate=r,\"boolean\"!=typeof r)throw new Error(\"noUiSlider (\"+t+\"): 'animate' option must be a boolean.\")}function C(e,r){if(e.animationDuration=r,\"number\"!=typeof r)throw new Error(\"noUiSlider (\"+t+\"): 'animationDuration' option must be a number.\")}function N(e,r){var n,i=[!1];if(\"lower\"===r?r=[!0,!1]:\"upper\"===r&&(r=[!1,!0]),!0===r||!1===r){for(n=1;n=50)throw new Error(\"noUiSlider (\"+t+\"): 'padding' option must be less than half the range.\")}}function O(e,r){switch(r){case\"ltr\":e.dir=0;break;case\"rtl\":e.dir=1;break;default:throw new Error(\"noUiSlider (\"+t+\"): 'direction' option was not recognized.\")}}function k(e,r){if(\"string\"!=typeof r)throw new Error(\"noUiSlider (\"+t+\"): 'behaviour' must be a string containing options.\");var n=r.indexOf(\"tap\")>=0,i=r.indexOf(\"drag\")>=0,o=r.indexOf(\"fixed\")>=0,s=r.indexOf(\"snap\")>=0,a=r.indexOf(\"hover\")>=0;if(o){if(2!==e.handles)throw new Error(\"noUiSlider (\"+t+\"): 'fixed' behaviour must be used with 2 handles\");P(e,e.start[1]-e.start[0])}e.events={tap:n||s,drag:i,fixed:o,snap:s,hover:a}}function V(e,r){if(e.multitouch=r,\"boolean\"!=typeof r)throw new Error(\"noUiSlider (\"+t+\"): 'multitouch' option must be a boolean.\")}function F(e,r){if(!1!==r)if(!0===r){e.tooltips=[];for(var n=0;n-1?1:\"steps\"===e?2:0,!o&&a&&(h=0),c===S&&l||(i[f.toFixed(5)]=[c,h]),u=f}}),i}(n,r,o),a=e.format||{to:Math.round};return h=S.appendChild(F(s,i,a))}function j(){var t=c.getBoundingClientRect(),e=\"offset\"+[\"Width\",\"Height\"][o.ort];return 0===o.ort?t.width||c[e]:t.height||c[e]}function H(t,e,r,n){var i=function(i){return!S.hasAttribute(\"disabled\")&&(s=S,a=o.cssClasses.tap,(s.classList?!s.classList.contains(a):!new RegExp(\"\\\\b\"+a+\"\\\\b\").test(s.className))&&(!!(i=function(t,e,r){var n,i,s=0===t.type.indexOf(\"touch\"),a=0===t.type.indexOf(\"mouse\"),u=0===t.type.indexOf(\"pointer\");0===t.type.indexOf(\"MSPointer\")&&(u=!0);if(s&&o.multitouch){var c=function(t){return t.target===r||r.contains(t.target)};if(\"touchstart\"===t.type){var p=Array.prototype.filter.call(t.touches,c);if(p.length>1)return!1;n=p[0].pageX,i=p[0].pageY}else{var f=Array.prototype.find.call(t.changedTouches,c);if(!f)return!1;n=f.pageX,i=f.pageY}}else if(s){if(t.touches.length>1)return!1;n=t.changedTouches[0].pageX,i=t.changedTouches[0].pageY}e=e||l(U),(a||u)&&(n=t.clientX+e.x,i=t.clientY+e.y);return t.pageOffset=e,t.points=[n,i],t.cursor=a||u,t}(i,n.pageOffset,n.target||e))&&(!(t===v.start&&void 0!==i.buttons&&i.buttons>1)&&((!n.hover||!i.buttons)&&(b||i.preventDefault(),i.calcPoint=i.points[o.ort],void r(i,n))))));var s,a},s=[];return t.split(\" \").forEach(function(t){e.addEventListener(t,i,!!b&&{passive:!0}),s.push([t,i])}),s}function D(t){var e,r,n,i,s,a,u=100*(t-(e=c,r=o.ort,n=e.getBoundingClientRect(),i=e.ownerDocument,s=i.documentElement,a=l(i),/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(a.x=0),r?n.top+a.y-s.clientTop:n.left+a.x-s.clientLeft))/j();return o.dir?100-u:u}function T(t,e,r,n){var i=r.slice(),o=[!t,t],s=[t,!t];n=n.slice(),t&&n.reverse(),n.length>1?n.forEach(function(t,r){var n=$(i,t,i[t]+e,o[r],s[r],!1);!1===n?e=0:(e=n-i[t],i[t]=n)}):o=s=[!0];var a=!1;n.forEach(function(t,n){a=K(t,r[t]+e,o[n],s[n])||a}),a&&n.forEach(function(t){R(\"update\",t),R(\"slide\",t)})}function R(t,e,r){Object.keys(N).forEach(function(n){var i=n.split(\".\")[0];t===i&&N[n].forEach(function(t){t.call(d,C.map(o.format.to),e,C.slice(),r||!1,w.slice())})})}function X(t,e){\"mouseout\"===t.type&&\"HTML\"===t.target.nodeName&&null===t.relatedTarget&&Y(t,e)}function B(t,e){if(-1===navigator.appVersion.indexOf(\"MSIE 9\")&&0===t.buttons&&0!==e.buttonsProperty)return Y(t,e);var r=(o.dir?-1:1)*(t.calcPoint-e.startCalcPoint);T(r>0,100*r/e.baseSize,e.locations,e.handleNumbers)}function Y(t,r){r.handle&&(a(r.handle,o.cssClasses.active),y-=1),r.listeners.forEach(function(t){P.removeEventListener(t[0],t[1])}),0===y&&(a(S,o.cssClasses.drag),J(),t.cursor&&(A.style.cursor=\"\",A.removeEventListener(\"selectstart\",e))),r.handleNumbers.forEach(function(t){R(\"change\",t),R(\"set\",t),R(\"end\",t)})}function _(t,r){var n;if(1===r.handleNumbers.length){var i=p[r.handleNumbers[0]];if(i.hasAttribute(\"disabled\"))return!1;n=i.children[0],y+=1,s(n,o.cssClasses.active)}t.stopPropagation();var a=[],l=H(v.move,P,B,{target:t.target,handle:n,listeners:a,startCalcPoint:t.calcPoint,baseSize:j(),pageOffset:t.pageOffset,handleNumbers:r.handleNumbers,buttonsProperty:t.buttons,locations:w.slice()}),u=H(v.end,P,Y,{target:t.target,handle:n,listeners:a,handleNumbers:r.handleNumbers}),c=H(\"mouseout\",P,X,{target:t.target,handle:n,listeners:a,handleNumbers:r.handleNumbers});a.push.apply(a,l.concat(u,c)),t.cursor&&(A.style.cursor=getComputedStyle(t.target).cursor,p.length>1&&s(S,o.cssClasses.drag),A.addEventListener(\"selectstart\",e,!1)),r.handleNumbers.forEach(function(t){R(\"start\",t)})}function I(t){t.stopPropagation();var e=D(t.calcPoint),r=function(t){var e=100,r=!1;return p.forEach(function(n,i){if(!n.hasAttribute(\"disabled\")){var o=Math.abs(w[i]-t);o1&&(n&&e>0&&(r=Math.max(r,t[e-1]+o.margin)),i&&e1&&o.limit&&(n&&e>0&&(r=Math.min(r,t[e-1]+o.limit)),i&&e50?-1:1,r=3+(p.length+e*t);p[t].childNodes[0].style.zIndex=r})}function K(t,e,r,n){return!1!==(e=$(w,t,e,r,n,!1))&&(function(t,e){w[t]=e,C[t]=E.fromStepping(e);var r=function(){p[t].style[o.style]=G(e),Q(t),Q(t+1)};window.requestAnimationFrame&&o.useRequestAnimationFrame?window.requestAnimationFrame(r):r()}(t,e),!0)}function Q(t){if(f[t]){var e=0,r=100;0!==t&&(e=w[t-1]),t!==f.length-1&&(r=w[t]),f[t].style[o.style]=G(e),f[t].style[o.styleOposite]=G(100-r)}}function Z(t,e){null!==t&&!1!==t&&(\"number\"==typeof t&&(t=String(t)),!1===(t=o.format.from(t))||isNaN(t)||K(e,E.toStepping(t),!1,!1))}function tt(t,e){var r=i(t),s=void 0===w[0];e=void 0===e||!!e,r.forEach(Z),o.animate&&!s&&n(S,o.cssClasses.tap,o.animationDuration),x.forEach(function(t){K(t,w[t],!0,!1)}),J(),x.forEach(function(t){R(\"update\",t),null!==r[t]&&e&&R(\"set\",t)})}function et(){var t=C.map(o.format.to);return 1===t.length?t[0]:t}function rt(t,e){N[t]=N[t]||[],N[t].push(e),\"update\"===t.split(\".\")[0]&&p.forEach(function(t,e){R(\"update\",e)})}if(S.noUiSlider)throw new Error(\"noUiSlider (\"+t+\"): Slider was already initialized.\");return function(t){s(t,o.cssClasses.target),0===o.dir?s(t,o.cssClasses.ltr):s(t,o.cssClasses.rtl),0===o.ort?s(t,o.cssClasses.horizontal):s(t,o.cssClasses.vertical),c=M(t,o.cssClasses.base)}(S),function(t,e){p=[],(f=[]).push(k(e,t[0]));for(var r=0;rr.stepAfter.startValue&&(i=r.stepAfter.startValue-n),o=n>r.thisStep.startValue?r.thisStep.step:!1!==r.stepBefore.step&&n-r.stepBefore.highestStep,100===t?i=null:0===t&&(o=null);var s=E.countStepDecimals();return null!==i&&!1!==i&&(i=Number(i.toFixed(s))),null!==o&&!1!==o&&(o=Number(o.toFixed(s))),[o,i]})},on:rt,off:function(t){var e=t&&t.split(\".\")[0],r=e&&t.substring(e.length);Object.keys(N).forEach(function(t){var n=t.split(\".\")[0],i=t.substring(n.length);e&&e!==n||r&&r!==i||delete N[t]})},get:et,set:tt,reset:function(t){tt(o.start,t)},__moveHandles:function(t,e,r){T(t,e,w,r)},options:u,updateOptions:function(t,e){var r=et(),n=[\"margin\",\"limit\",\"padding\",\"range\",\"animate\",\"snap\",\"step\",\"format\"];n.forEach(function(e){void 0!==t[e]&&(u[e]=t[e])});var i=q(u);n.forEach(function(e){void 0!==t[e]&&(o[e]=i[e])}),E=i.spectrum,o.margin=i.margin,o.limit=i.limit,o.padding=i.padding,o.pips&&z(o.pips),w=[],tt(t.start||r,e)},target:S,removePips:L,pips:z},(m=o.events).fixed||p.forEach(function(t,e){H(v.start,t.children[0],_,{handleNumbers:[e]})}),m.tap&&H(v.start,c,I,{}),m.hover&&H(v.move,c,W,{hover:!0}),m.drag&&f.forEach(function(t,e){if(!1!==t&&0!==e&&e!==f.length-1){var r=p[e-1],n=p[e],i=[t];s(t,o.cssClasses.draggable),m.fixed&&(i.push(r.children[0]),i.push(n.children[0])),i.forEach(function(t){H(v.start,t,_,{handles:[r,n],handleNumbers:[e-1,e]})})}}),tt(o.start),o.pips&&z(o.pips),o.tooltips&&(g=p.map(V),rt(\"update\",function(t,e,r){if(g[e]){var n=t[e];!0!==o.tooltips[e]&&(n=o.tooltips[e].to(r[e])),g[e].innerHTML=n}})),rt(\"update\",function(t,e,r,n,i){x.forEach(function(t){var e=p[t],n=$(w,t,0,!0,!0,!0),s=$(w,t,100,!0,!0,!0),a=i[t],l=o.ariaFormat.to(r[t]);e.children[0].setAttribute(\"aria-valuemin\",n.toFixed(1)),e.children[0].setAttribute(\"aria-valuemax\",s.toFixed(1)),e.children[0].setAttribute(\"aria-valuenow\",a.toFixed(1)),e.children[0].setAttribute(\"aria-valuetext\",l)})}),d}return{version:t,create:function(e,r){if(!e||!e.nodeName)throw new Error(\"noUiSlider (\"+t+\"): create requires a single element, got: \"+e);var n=T(e,q(r),r);return e.noUiSlider=n,n}}},\"function\"==typeof define&&define.amd?define([],n):\"object\"==typeof r?e.exports=n():window.noUiSlider=n()},\n",
+ " 494: function _(e,t,i){e(164),e(495),e(163).styles.append(\".bk-root .bk-slider-title {\\n white-space: nowrap;\\n}\\n.bk-root .bk-slider-value {\\n font-weight: 600;\\n}\\n\"),i.bk_slider_value=\"bk-slider-value\",i.bk_slider_title=\"bk-slider-title\",i.bk_input_group=\"bk-input-group\"},\n",
+ " 495: function _(n,o,t){n(164),n(163).styles.append('.bk-root {\\n /* Functional styling;\\n * These styles are required for noUiSlider to function.\\n * You don\\'t need to change these rules to apply your design.\\n */\\n /* Painting and performance;\\n * Browsers can paint handles in their own layer.\\n */\\n /* Slider size and handle placement;\\n */\\n /* Styling;\\n */\\n /* Handles and cursors;\\n */\\n /* Handle stripes;\\n */\\n /* Disabled state;\\n */\\n /* Base;\\n *\\n */\\n /* Values;\\n *\\n */\\n /* Markings;\\n *\\n */\\n /* Horizontal layout;\\n *\\n */\\n /* Vertical layout;\\n *\\n */\\n}\\n.bk-root .bk-noUi-target,\\n.bk-root .bk-noUi-target * {\\n -webkit-touch-callout: none;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n -webkit-user-select: none;\\n -ms-touch-action: none;\\n touch-action: none;\\n -ms-user-select: none;\\n -moz-user-select: none;\\n user-select: none;\\n -moz-box-sizing: border-box;\\n box-sizing: border-box;\\n}\\n.bk-root .bk-noUi-target {\\n position: relative;\\n direction: ltr;\\n}\\n.bk-root .bk-noUi-base {\\n width: 100%;\\n height: 100%;\\n position: relative;\\n z-index: 1;\\n /* Fix 401 */\\n}\\n.bk-root .bk-noUi-connect {\\n position: absolute;\\n right: 0;\\n top: 0;\\n left: 0;\\n bottom: 0;\\n}\\n.bk-root .bk-noUi-origin {\\n position: absolute;\\n height: 0;\\n width: 0;\\n}\\n.bk-root .bk-noUi-handle {\\n position: relative;\\n z-index: 1;\\n}\\n.bk-root .bk-noUi-state-tap .bk-noUi-connect,\\n.bk-root .bk-noUi-state-tap .bk-noUi-origin {\\n -webkit-transition: top 0.3s, right 0.3s, bottom 0.3s, left 0.3s;\\n transition: top 0.3s, right 0.3s, bottom 0.3s, left 0.3s;\\n}\\n.bk-root .bk-noUi-state-drag * {\\n cursor: inherit !important;\\n}\\n.bk-root .bk-noUi-base,\\n.bk-root .bk-noUi-handle {\\n -webkit-transform: translate3d(0, 0, 0);\\n transform: translate3d(0, 0, 0);\\n}\\n.bk-root .bk-noUi-horizontal {\\n height: 18px;\\n}\\n.bk-root .bk-noUi-horizontal .bk-noUi-handle {\\n width: 34px;\\n height: 28px;\\n left: -17px;\\n top: -6px;\\n}\\n.bk-root .bk-noUi-vertical {\\n width: 18px;\\n}\\n.bk-root .bk-noUi-vertical .bk-noUi-handle {\\n width: 28px;\\n height: 34px;\\n left: -6px;\\n top: -17px;\\n}\\n.bk-root .bk-noUi-target {\\n background: #FAFAFA;\\n border-radius: 4px;\\n border: 1px solid #D3D3D3;\\n box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB;\\n}\\n.bk-root .bk-noUi-connect {\\n background: #3FB8AF;\\n border-radius: 4px;\\n box-shadow: inset 0 0 3px rgba(51, 51, 51, 0.45);\\n -webkit-transition: background 450ms;\\n transition: background 450ms;\\n}\\n.bk-root .bk-noUi-draggable {\\n cursor: ew-resize;\\n}\\n.bk-root .bk-noUi-vertical .bk-noUi-draggable {\\n cursor: ns-resize;\\n}\\n.bk-root .bk-noUi-handle {\\n border: 1px solid #D9D9D9;\\n border-radius: 3px;\\n background: #FFF;\\n cursor: default;\\n box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #EBEBEB, 0 3px 6px -3px #BBB;\\n}\\n.bk-root .bk-noUi-active {\\n box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #DDD, 0 3px 6px -3px #BBB;\\n}\\n.bk-root .bk-noUi-handle:before,\\n.bk-root .bk-noUi-handle:after {\\n content: \"\";\\n display: block;\\n position: absolute;\\n height: 14px;\\n width: 1px;\\n background: #E8E7E6;\\n left: 14px;\\n top: 6px;\\n}\\n.bk-root .bk-noUi-handle:after {\\n left: 17px;\\n}\\n.bk-root .bk-noUi-vertical .bk-noUi-handle:before,\\n.bk-root .bk-noUi-vertical .bk-noUi-handle:after {\\n width: 14px;\\n height: 1px;\\n left: 6px;\\n top: 14px;\\n}\\n.bk-root .bk-noUi-vertical .bk-noUi-handle:after {\\n top: 17px;\\n}\\n.bk-root [disabled] .bk-noUi-connect {\\n background: #B8B8B8;\\n}\\n.bk-root [disabled].bk-noUi-target,\\n.bk-root [disabled].bk-noUi-handle,\\n.bk-root [disabled] .bk-noUi-handle {\\n cursor: not-allowed;\\n}\\n.bk-root .bk-noUi-pips,\\n.bk-root .bk-noUi-pips * {\\n -moz-box-sizing: border-box;\\n box-sizing: border-box;\\n}\\n.bk-root .bk-noUi-pips {\\n position: absolute;\\n color: #999;\\n}\\n.bk-root .bk-noUi-value {\\n position: absolute;\\n white-space: nowrap;\\n text-align: center;\\n}\\n.bk-root .bk-noUi-value-sub {\\n color: #ccc;\\n font-size: 10px;\\n}\\n.bk-root .bk-noUi-marker {\\n position: absolute;\\n background: #CCC;\\n}\\n.bk-root .bk-noUi-marker-sub {\\n background: #AAA;\\n}\\n.bk-root .bk-noUi-marker-large {\\n background: #AAA;\\n}\\n.bk-root .bk-noUi-pips-horizontal {\\n padding: 10px 0;\\n height: 80px;\\n top: 100%;\\n left: 0;\\n width: 100%;\\n}\\n.bk-root .bk-noUi-value-horizontal {\\n -webkit-transform: translate3d(-50%, 50%, 0);\\n transform: translate3d(-50%, 50%, 0);\\n}\\n.bk-root .bk-noUi-marker-horizontal.bk-noUi-marker {\\n margin-left: -1px;\\n width: 2px;\\n height: 5px;\\n}\\n.bk-root .bk-noUi-marker-horizontal.bk-noUi-marker-sub {\\n height: 10px;\\n}\\n.bk-root .bk-noUi-marker-horizontal.bk-noUi-marker-large {\\n height: 15px;\\n}\\n.bk-root .bk-noUi-pips-vertical {\\n padding: 0 10px;\\n height: 100%;\\n top: 0;\\n left: 100%;\\n}\\n.bk-root .bk-noUi-value-vertical {\\n -webkit-transform: translate3d(0, 50%, 0);\\n transform: translate3d(0, 50%, 0);\\n padding-left: 25px;\\n}\\n.bk-root .bk-noUi-marker-vertical.bk-noUi-marker {\\n width: 5px;\\n height: 2px;\\n margin-top: -1px;\\n}\\n.bk-root .bk-noUi-marker-vertical.bk-noUi-marker-sub {\\n width: 10px;\\n}\\n.bk-root .bk-noUi-marker-vertical.bk-noUi-marker-large {\\n width: 15px;\\n}\\n.bk-root .bk-noUi-tooltip {\\n display: block;\\n position: absolute;\\n border: 1px solid #D9D9D9;\\n border-radius: 3px;\\n background: #fff;\\n color: #000;\\n padding: 5px;\\n text-align: center;\\n white-space: nowrap;\\n}\\n.bk-root .bk-noUi-horizontal .bk-noUi-tooltip {\\n -webkit-transform: translate(-50%, 0);\\n transform: translate(-50%, 0);\\n left: 50%;\\n bottom: 120%;\\n}\\n.bk-root .bk-noUi-vertical .bk-noUi-tooltip {\\n -webkit-transform: translate(0, -50%);\\n transform: translate(0, -50%);\\n top: 50%;\\n right: 120%;\\n}\\n.bk-root .bk-noUi-handle {\\n cursor: grab;\\n cursor: -webkit-grab;\\n}\\n.bk-root .bk-noUi-handle.bk-noUi-active {\\n cursor: grabbing;\\n cursor: -webkit-grabbing;\\n}\\n.bk-root .bk-noUi-tooltip {\\n display: none;\\n white-space: nowrap;\\n}\\n.bk-root .bk-noUi-handle:hover .bk-noUi-tooltip {\\n display: block;\\n}\\n.bk-root .bk-noUi-horizontal {\\n width: 100%;\\n height: 10px;\\n}\\n.bk-root .bk-noUi-horizontal.bk-noUi-target {\\n margin: 5px 0px;\\n}\\n.bk-root .bk-noUi-horizontal .bk-noUi-handle {\\n width: 14px;\\n height: 18px;\\n left: -7px;\\n top: -5px;\\n}\\n.bk-root .bk-noUi-vertical {\\n width: 10px;\\n height: 100%;\\n}\\n.bk-root .bk-noUi-vertical.bk-noUi-target {\\n margin: 0px 5px;\\n}\\n.bk-root .bk-noUi-vertical .bk-noUi-handle {\\n width: 18px;\\n height: 14px;\\n left: -5px;\\n top: -7px;\\n}\\n.bk-root .bk-noUi-handle:after,\\n.bk-root .bk-noUi-handle:before {\\n display: none;\\n}\\n.bk-root .bk-noUi-connect {\\n box-shadow: none;\\n}\\n')},\n",
+ " 496: function _(t,e,i){var r=t(113),n=t(252),a=t(492),_=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e}(a.AbstractSliderView);i.DateSliderView=_,_.__name__=\"DateSliderView\";var o=function(t){function e(e){var i=t.call(this,e)||this;return i.behaviour=\"tap\",i.connected=[!0,!1],i}return r.__extends(e,t),e.init_DateSlider=function(){this.prototype.default_view=_,this.override({format:\"%d %b %Y\"})},e.prototype._formatter=function(t,e){return n(t,e)},e}(a.AbstractSlider);i.DateSlider=o,o.__name__=\"DateSlider\",o.init_DateSlider()},\n",
+ " 497: function _(t,e,i){var n=t(113),r=t(498),_=t(121),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.render=function(){t.prototype.render.call(this),this.model.render_as_text?this.markup_el.textContent=this.model.text:this.markup_el.innerHTML=this.model.text},e}(r.MarkupView);i.DivView=o,o.__name__=\"DivView\";var u=function(t){function e(e){return t.call(this,e)||this}return n.__extends(e,t),e.init_Div=function(){this.prototype.default_view=o,this.define({render_as_text:[_.Boolean,!1]})},e}(r.Markup);i.Div=u,u.__name__=\"Div\",u.init_Div()},\n",
+ " 498: function _(t,i,n){var e=t(113),s=t(282),o=t(163),r=t(121),a=t(534),l=t(499),u=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return e.__extends(i,t),i.prototype.connect_signals=function(){var i=this;t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){i.render(),i.root.compute_layout()})},i.prototype._update_layout=function(){this.layout=new s.VariadicBox(this.el),this.layout.set_sizing(this.box_sizing())},i.prototype.render=function(){t.prototype.render.call(this);var i=Object.assign(Object.assign({},this.model.style),{display:\"inline-block\"});this.markup_el=o.div({class:l.bk_clearfix,style:i}),this.el.appendChild(this.markup_el)},i}(a.WidgetView);n.MarkupView=u,u.__name__=\"MarkupView\";var c=function(t){function i(i){return t.call(this,i)||this}return e.__extends(i,t),i.init_Markup=function(){this.define({text:[r.String,\"\"],style:[r.Any,{}]})},i}(a.Widget);n.Markup=c,c.__name__=\"Markup\",c.init_Markup()},\n",
+ " 499: function _(e,n,r){e(164),e(163).styles.append('.bk-root .bk-clearfix:before,\\n.bk-root .bk-clearfix:after {\\n content: \"\";\\n display: table;\\n}\\n.bk-root .bk-clearfix:after {\\n clear: both;\\n}\\n'),r.bk_clearfix=\"bk-clearfix\"},\n",
+ " 500: function _(e,t,i){var n=e(113),o=e(474),l=e(376),s=e(163),r=e(121),u=e(109),d=e(240),a=e(347),c=e(348),_=function(e){function t(){var t=e.apply(this,arguments)||this;return t._open=!1,t}return n.__extends(t,e),t.prototype.render=function(){var t=this;e.prototype.render.call(this);var i=s.div({class:[c.bk_caret,d.bk_down]});if(this.model.is_split){var n=this._render_button(i);n.classList.add(a.bk_dropdown_toggle),n.addEventListener(\"click\",function(){return t._toggle_menu()}),this.group_el.appendChild(n)}else this.button_el.appendChild(i);var o=this.model.menu.map(function(e,i){if(null==e)return s.div({class:c.bk_divider});var n=u.isString(e)?e:e[0],o=s.div({},n);return o.addEventListener(\"click\",function(){return t._item_click(i)}),o});this.menu=s.div({class:[c.bk_menu,d.bk_below]},o),this.el.appendChild(this.menu),s.undisplay(this.menu)},t.prototype._show_menu=function(){var e=this;if(!this._open){this._open=!0,s.display(this.menu);var t=function(i){var n=i.target;n instanceof HTMLElement&&!e.el.contains(n)&&(document.removeEventListener(\"click\",t),e._hide_menu())};document.addEventListener(\"click\",t)}},t.prototype._hide_menu=function(){this._open&&(this._open=!1,s.undisplay(this.menu))},t.prototype._toggle_menu=function(){this._open?this._hide_menu():this._show_menu()},t.prototype.click=function(){this.model.is_split?(this._hide_menu(),this.model.trigger_event(new l.ButtonClick),this.model.value=this.model.default_value,null!=this.model.callback&&this.model.callback.execute(this.model),e.prototype.click.call(this)):this._toggle_menu()},t.prototype._item_click=function(e){this._hide_menu();var t=this.model.menu[e];if(null!=t){var i=u.isString(t)?t:t[1];u.isString(i)?(this.model.trigger_event(new l.MenuItemClick(i)),this.model.value=i,null!=this.model.callback&&this.model.callback.execute(this.model)):(i.execute(this.model,{index:e}),null!=this.model.callback&&this.model.callback.execute(this.model))}},t}(o.AbstractButtonView);i.DropdownView=_,_.__name__=\"DropdownView\";var h=function(e){function t(t){return e.call(this,t)||this}return n.__extends(t,e),t.init_Dropdown=function(){this.prototype.default_view=_,this.define({split:[r.Boolean,!1],menu:[r.Array,[]],value:[r.String],default_value:[r.String]}),this.override({label:\"Dropdown\"})},Object.defineProperty(t.prototype,\"is_split\",{get:function(){return this.split||null!=this.default_value},enumerable:!0,configurable:!0}),t}(o.AbstractButton);i.Dropdown=h,h.__name__=\"Dropdown\",h.init_Dropdown()},\n",
+ " 501: function _(t,e,i){var n=t(113),l=t(121),o=t(534),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.connect_signals=function(){var e=this;t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return e.render()}),this.connect(this.model.properties.width.change,function(){return e.render()})},e.prototype.render=function(){var t=this;this.dialogEl||(this.dialogEl=document.createElement(\"input\"),this.dialogEl.type=\"file\",this.dialogEl.multiple=!1,null!=this.model.accept&&\"\"!=this.model.accept&&(this.dialogEl.accept=this.model.accept),this.dialogEl.style.width=\"{this.model.width}px\",this.dialogEl.onchange=function(e){return t.load_file(e)},this.el.appendChild(this.dialogEl))},e.prototype.load_file=function(t){var e=this,i=new FileReader;this.model.filename=t.target.files[0].name,i.onload=function(t){return e.file(t)},i.readAsDataURL(t.target.files[0])},e.prototype.file=function(t){var e=t.target.result.split(\",\"),i=e[1],n=e[0].split(\":\")[1].split(\";\")[0];this.model.value=i,this.model.mime_type=n},e}(o.WidgetView);i.FileInputView=a,a.__name__=\"FileInputView\";var r=function(t){function e(e){return t.call(this,e)||this}return n.__extends(e,t),e.init_FileInput=function(){this.prototype.default_view=a,this.define({value:[l.String,\"\"],mime_type:[l.String,\"\"],filename:[l.String,\"\"],accept:[l.String,\"\"]})},e}(o.Widget);i.FileInput=r,r.__name__=\"FileInput\",r.init_FileInput()},\n",
+ " 502: function _(e,t,n){var i=e(113),r=e(163),l=e(109),o=e(117),s=e(121),c=e(480),u=e(481),h=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(t,e),t.prototype.connect_signals=function(){var t=this;e.prototype.connect_signals.call(this),this.connect(this.model.properties.value.change,function(){return t.render_selection()}),this.connect(this.model.properties.options.change,function(){return t.render()}),this.connect(this.model.properties.name.change,function(){return t.render()}),this.connect(this.model.properties.title.change,function(){return t.render()}),this.connect(this.model.properties.size.change,function(){return t.render()}),this.connect(this.model.properties.disabled.change,function(){return t.render()})},t.prototype.render=function(){var t=this;e.prototype.render.call(this);var n=this.model.options.map(function(e){var t,n;return l.isString(e)?t=n=e:(t=e[0],n=e[1]),r.option({value:t},n)});this.select_el=r.select({multiple:!0,class:u.bk_input,name:this.model.name,disabled:this.model.disabled},n),this.select_el.addEventListener(\"change\",function(){return t.change_input()}),this.group_el.appendChild(this.select_el),this.render_selection()},t.prototype.render_selection=function(){for(var e=new o.Set(this.model.value),t=0,n=Array.from(this.el.querySelectorAll(\"option\"));tu?d:-d;if(0!=h)return h}return 0})},e}();i.TableDataProvider=b,b.__name__=\"TableDataProvider\";var v=function(e){function t(){var t=e.apply(this,arguments)||this;return t._in_selection_update=!1,t._warned_not_reorderable=!1,t}return n.__extends(t,e),t.prototype.connect_signals=function(){var t=this;e.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return t.render()}),this.connect(this.model.source.streaming,function(){return t.updateGrid()}),this.connect(this.model.source.patching,function(){return t.updateGrid()}),this.connect(this.model.source.change,function(){return t.updateGrid()}),this.connect(this.model.source.properties.data.change,function(){return t.updateGrid()}),this.connect(this.model.source.selected.change,function(){return t.updateSelection()}),this.connect(this.model.source.selected.properties.indices.change,function(){return t.updateSelection()})},t.prototype._update_layout=function(){this.layout=new p.LayoutItem,this.layout.set_sizing(this.box_sizing())},t.prototype.update_position=function(){e.prototype.update_position.call(this),this.grid.resizeCanvas()},t.prototype.updateGrid=function(){var e=this;if(this.model.view.compute_indices(),this.data.constructor(this.model.source,this.model.view),this.model.sortable){var t=this.grid.getColumns(),i=this.grid.getSortColumns().map(function(i){return{sortCol:{field:t[e.grid.getColumnIndex(i.columnId)].field},sortAsc:i.sortAsc}});this.data.sort(i)}this.grid.invalidate(),this.grid.render()},t.prototype.updateSelection=function(){var e=this;if(!this._in_selection_update){var t=this.model.source.selected.indices.map(function(t){return e.data.index.indexOf(t)}).sort();this._in_selection_update=!0,this.grid.setSelectedRows(t),this._in_selection_update=!1;var i=this.grid.getViewport(),n=this.model.get_scroll_index(i,t);null!=n&&this.grid.scrollRowToTop(n)}},t.prototype.newIndexColumn=function(){return{id:d.uniqueId(),name:this.model.index_header,field:i.DTINDEX_NAME,width:this.model.index_width,behavior:\"select\",cannotTriggerInsert:!0,resizable:!1,selectable:!1,sortable:!0,cssClass:g.bk_cell_index,headerCssClass:g.bk_header_index}},t.prototype.css_classes=function(){return e.prototype.css_classes.call(this).concat(g.bk_data_table)},t.prototype.render=function(){var e,t=this,i=this.model.columns.map(function(e){return e.toColumn()});if(\"checkbox\"==this.model.selectable&&(e=new r({cssClass:g.bk_cell_select}),i.unshift(e.getColumnDefinition())),null!=this.model.index_position){var n=this.model.index_position,a=this.newIndexColumn();-1==n?i.push(a):n<-1?i.splice(n+1,0,a):i.splice(n,0,a)}var d=this.model.reorderable;!d||\"undefined\"!=typeof $&&null!=$.fn&&null!=$.fn.sortable||(this._warned_not_reorderable||(_.logger.warn(\"jquery-ui is required to enable DataTable.reorderable\"),this._warned_not_reorderable=!0),d=!1);var u={enableCellNavigation:!1!==this.model.selectable,enableColumnReorder:d,forceFitColumns:this.model.fit_columns,multiColumnSort:this.model.sortable,editable:this.model.editable,autoEdit:!1,rowHeight:this.model.row_height};if(this.data=new b(this.model.source,this.model.view),this.grid=new l.Grid(this.el,this.data,i,u),this.grid.onSort.subscribe(function(e,n){t.model.sortable&&(i=n.sortCols,t.data.sort(i),t.grid.invalidate(),t.updateSelection(),t.grid.render(),t.model.header_row||t._hide_header(),t.model.update_sort_columns(i))}),!1!==this.model.selectable){this.grid.setSelectionModel(new o({selectActiveRow:null==e})),null!=e&&this.grid.registerPlugin(e);var h={dataItemColumnValueExtractor:function(e,t){var i=e[t.field];return c.isString(i)&&(i=i.replace(/\\n/g,\"\\\\n\")),i},includeHeaderWhenCopying:!1};this.grid.registerPlugin(new s(h)),this.grid.onSelectedRowsChanged.subscribe(function(e,i){t._in_selection_update||(t.model.source.selected.indices=i.rows.map(function(e){return t.data.index[e]}))}),this.updateSelection(),this.model.header_row||this._hide_header()}},t.prototype._hide_header=function(){for(var e=0,t=Array.from(this.el.querySelectorAll(\".slick-header-columns\"));e=0&&l0&&t-1 in e)}b.fn=b.prototype={jquery:\"3.4.1\",constructor:b,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return b.each(this,e)},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n+~]|\"+M+\")\"+M+\"*\"),U=new RegExp(M+\"|>\"),X=new RegExp($),V=new RegExp(\"^\"+I+\"$\"),G={ID:new RegExp(\"^#(\"+I+\")\"),CLASS:new RegExp(\"^\\\\.(\"+I+\")\"),TAG:new RegExp(\"^(\"+I+\"|[*])\"),ATTR:new RegExp(\"^\"+W),PSEUDO:new RegExp(\"^\"+$),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\"+M+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+M+\"*(?:([+-]|)\"+M+\"*(\\\\d+)|))\"+M+\"*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+R+\")$\",\"i\"),needsContext:new RegExp(\"^\"+M+\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+M+\"*((?:-\\\\d)?\\\\d*)\"+M+\"*\\\\)|)(?=[^-]|$)\",\"i\")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\\d$/i,K=/^[^{]+\\{\\s*\\[native \\w/,Z=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,ee=/[+~]/,te=new RegExp(\"\\\\\\\\([\\\\da-f]{1,6}\"+M+\"?|(\"+M+\")|.)\",\"ig\"),ne=function(e,t,n){var r=\"0x\"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,ie=function(e,t){return t?\"\\0\"===e?\"�\":e.slice(0,-1)+\"\\\\\"+e.charCodeAt(e.length-1).toString(16)+\" \":\"\\\\\"+e},oe=function(){p()},ae=be(function(e){return!0===e.disabled&&\"fieldset\"===e.nodeName.toLowerCase()},{dir:\"parentNode\",next:\"legend\"});try{H.apply(j=O.call(w.childNodes),w.childNodes),j[w.childNodes.length].nodeType}catch(e){H={apply:j.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(e,t,r,i){var o,s,l,c,f,h,y,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],\"string\"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=Z.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return H.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return H.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!N[e+\" \"]&&(!v||!v.test(e))&&(1!==T||\"object\"!==t.nodeName.toLowerCase())){if(y=e,m=t,1===T&&U.test(e)){for((c=t.getAttribute(\"id\"))?c=c.replace(re,ie):t.setAttribute(\"id\",c=b),s=(h=a(e)).length;s--;)h[s]=\"#\"+c+\" \"+xe(h[s]);y=h.join(\",\"),m=ee.test(e)&&ye(t.parentNode)||t}try{return H.apply(r,m.querySelectorAll(y)),r}catch(t){N(e,!0)}finally{c===b&&t.removeAttribute(\"id\")}}}return u(e.replace(B,\"$1\"),t,r,i)}function ue(){var e=[];return function t(n,i){return e.push(n+\" \")>r.cacheLength&&delete t[e.shift()],t[n+\" \"]=i}}function le(e){return e[b]=!0,e}function ce(e){var t=d.createElement(\"fieldset\");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split(\"|\"),i=n.length;i--;)r.attrHandle[n[i]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(e){return function(t){return\"input\"===t.nodeName.toLowerCase()&&t.type===e}}function he(e){return function(t){var n=t.nodeName.toLowerCase();return(\"input\"===n||\"button\"===n)&&t.type===e}}function ge(e){return function(t){return\"form\"in t?t.parentNode&&!1===t.disabled?\"label\"in t?\"label\"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ae(t)===e:t.disabled===e:\"label\"in t&&t.disabled===e}}function ve(e){return le(function(t){return t=+t,le(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=se.support={},o=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||\"HTML\")},p=se.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(h=(d=a).documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener(\"unload\",oe,!1):i.attachEvent&&i.attachEvent(\"onunload\",oe)),n.attributes=ce(function(e){return e.className=\"i\",!e.getAttribute(\"className\")}),n.getElementsByTagName=ce(function(e){return e.appendChild(d.createComment(\"\")),!e.getElementsByTagName(\"*\").length}),n.getElementsByClassName=K.test(d.getElementsByClassName),n.getById=ce(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute(\"id\")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode(\"id\");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode(\"id\"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode(\"id\"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if(\"*\"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&g)return t.getElementsByClassName(e)},y=[],v=[],(n.qsa=K.test(d.querySelectorAll))&&(ce(function(e){h.appendChild(e).innerHTML=\"\",e.querySelectorAll(\"[msallowcapture^='']\").length&&v.push(\"[*^$]=\"+M+\"*(?:''|\\\"\\\")\"),e.querySelectorAll(\"[selected]\").length||v.push(\"\\\\[\"+M+\"*(?:value|\"+R+\")\"),e.querySelectorAll(\"[id~=\"+b+\"-]\").length||v.push(\"~=\"),e.querySelectorAll(\":checked\").length||v.push(\":checked\"),e.querySelectorAll(\"a#\"+b+\"+*\").length||v.push(\".#.+[+~]\")}),ce(function(e){e.innerHTML=\"\";var t=d.createElement(\"input\");t.setAttribute(\"type\",\"hidden\"),e.appendChild(t).setAttribute(\"name\",\"D\"),e.querySelectorAll(\"[name=d]\").length&&v.push(\"name\"+M+\"*[*^$|!~]?=\"),2!==e.querySelectorAll(\":enabled\").length&&v.push(\":enabled\",\":disabled\"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(\":disabled\").length&&v.push(\":enabled\",\":disabled\"),e.querySelectorAll(\"*,:x\"),v.push(\",.*:\")})),(n.matchesSelector=K.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ce(function(e){n.disconnectedMatch=m.call(e,\"*\"),m.call(e,\"[s!='']:x\"),y.push(\"!=\",$)}),v=v.length&&new RegExp(v.join(\"|\")),y=y.length&&new RegExp(y.join(\"|\")),t=K.test(h.compareDocumentPosition),x=t||K.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},A=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?P(c,e)-P(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?P(c,e)-P(c,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),n.matchesSelector&&g&&!N[t+\" \"]&&(!y||!y.test(t))&&(!v||!v.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){N(t,!0)}return se(t,d,null,[e]).length>0},se.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&D.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},se.escape=function(e){return(e+\"\").replace(re,ie)},se.error=function(e){throw new Error(\"Syntax error, unrecognized expression: \"+e)},se.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(A),f){for(;t=e[o++];)t===e[o]&&(i=r.push(o));for(;i--;)e.splice(r[i],1)}return c=null,e},i=se.getText=function(e){var t,n=\"\",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if(\"string\"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=i(t);return n},(r=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{\">\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||\"\").replace(te,ne),\"~=\"===e[2]&&(e[3]=\" \"+e[3]+\" \"),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),\"nth\"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*(\"even\"===e[3]||\"odd\"===e[3])),e[5]=+(e[7]+e[8]||\"odd\"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||\"\":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(\")\",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return\"*\"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+\" \"];return t||(t=new RegExp(\"(^|\"+M+\")\"+e+\"(\"+M+\"|$)\"))&&E(e,function(e){return t.test(\"string\"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute(\"class\")||\"\")})},ATTR:function(e,t,n){return function(r){var i=se.attr(r,e);return null==i?\"!=\"===t:!t||(i+=\"\",\"=\"===t?i===n:\"!=\"===t?i!==n:\"^=\"===t?n&&0===i.indexOf(n):\"*=\"===t?n&&i.indexOf(n)>-1:\"$=\"===t?n&&i.slice(-n.length)===n:\"~=\"===t?(\" \"+i.replace(F,\" \")+\" \").indexOf(n)>-1:\"|=\"===t&&(i===n||i.slice(0,n.length+1)===n+\"-\"))}},CHILD:function(e,t,n,r,i){var o=\"nth\"!==e.slice(0,3),a=\"last\"!==e.slice(-4),s=\"of-type\"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?\"nextSibling\":\"previousSibling\",v=t.parentNode,y=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(v){if(o){for(;g;){for(p=t;p=p[g];)if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g=\"only\"===e&&!h&&\"nextSibling\"}return!0}if(h=[a?v.firstChild:v.lastChild],a&&m){for(x=(d=(l=(c=(f=(p=v)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&v.childNodes[d];p=++d&&p&&p[g]||(x=d=0)||h.pop();)if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)for(;(p=++d&&p&&p[g]||(x=d=0)||h.pop())&&((s?p.nodeName.toLowerCase()!==y:1!==p.nodeType)||!++x||(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p!==t)););return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||se.error(\"unsupported pseudo: \"+e);return i[b]?i(t):i.length>1?(n=[e,e,\"\",t],r.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,n){for(var r,o=i(e,t),a=o.length;a--;)e[r=P(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:le(function(e){var t=[],n=[],r=s(e.replace(B,\"$1\"));return r[b]?le(function(e,t,n,i){for(var o,a=r(e,null,i,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:le(function(e){return function(t){return se(e,t).length>0}}),contains:le(function(e){return e=e.replace(te,ne),function(t){return(t.textContent||i(t)).indexOf(e)>-1}}),lang:le(function(e){return V.test(e||\"\")||se.error(\"unsupported lang: \"+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute(\"xml:lang\")||t.getAttribute(\"lang\"))return(n=n.toLowerCase())===e||0===n.indexOf(e+\"-\")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&!!e.checked||\"option\"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&\"button\"===e.type||\"button\"===t},text:function(e){var t;return\"input\"===e.nodeName.toLowerCase()&&\"text\"===e.type&&(null==(t=e.getAttribute(\"type\"))||\"text\"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;nt?t:n;--r>=0;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s-1&&(o[l]=!(a[l]=f))}}else y=Te(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function Ee(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[\" \"],u=a?1:0,c=be(function(e){return e===t},s,!0),f=be(function(e){return P(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u1&&we(p),u>1&&xe(e.slice(0,u-1).concat({value:\" \"===e[u-2].type?\"*\":\"\"})).replace(B,\"$1\"),n,u0,i=e.length>0,o=function(o,a,s,u,c){var f,h,v,y=0,m=\"0\",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG(\"*\",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){for(h=0,a||f.ownerDocument===d||(p(f),s=!g);v=e[h++];)if(v(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!v&&f)&&y--,o&&x.push(f))}if(y+=m,n&&m!==y){for(h=0;v=t[h++];)v(x,b,a,s);if(o){if(y>0)for(;m--;)x[m]||b[m]||(b[m]=q.call(u));b=Te(b)}H.apply(u,b),c&&!o&&b.length>0&&y+t.length>1&&se.uniqueSort(u)}return c&&(T=E,l=w),x};return n?le(o):o}(o,i))).selector=e}return s},u=se.select=function(e,t,n,i){var o,u,l,c,f,p=\"function\"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&\"ID\"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(te,ne),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}for(o=G.needsContext.test(e)?0:u.length;o--&&(l=u[o],!r.relative[c=l.type]);)if((f=r.find[c])&&(i=f(l.matches[0].replace(te,ne),ee.test(u[0].type)&&ye(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&xe(u)))return H.apply(n,i),n;break}}return(p||s(e,d))(i,t,!g,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},n.sortStable=b.split(\"\").sort(A).join(\"\")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(d.createElement(\"fieldset\"))}),ce(function(e){return e.innerHTML=\"\",\"#\"===e.firstChild.getAttribute(\"href\")})||fe(\"type|href|height|width\",function(e,t,n){if(!n)return e.getAttribute(t,\"type\"===t.toLowerCase()?1:2)}),n.attributes&&ce(function(e){return e.innerHTML=\"\",e.firstChild.setAttribute(\"value\",\"\"),\"\"===e.firstChild.getAttribute(\"value\")})||fe(\"value\",function(e,t,n){if(!n&&\"input\"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute(\"disabled\")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(e);b.find=C,b.expr=C.selectors,b.expr[\":\"]=b.expr.pseudos,b.uniqueSort=b.unique=C.uniqueSort,b.text=C.getText,b.isXMLDoc=C.isXML,b.contains=C.contains,b.escapeSelector=C.escape;var E=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&b(e).is(n))break;r.push(e)}return r},k=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},S=b.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i;function D(e,t,n){return g(t)?b.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?b.grep(e,function(e){return e===t!==n}):\"string\"!=typeof t?b.grep(e,function(e){return u.call(t,e)>-1!==n}):b.filter(t,e,n)}b.filter=function(e,t,n){var r=t[0];return n&&(e=\":not(\"+e+\")\"),1===t.length&&1===r.nodeType?b.find.matchesSelector(r,e)?[r]:[]:b.find.matches(e,b.grep(t,function(e){return 1===e.nodeType}))},b.fn.extend({find:function(e){var t,n,r=this.length,i=this;if(\"string\"!=typeof e)return this.pushStack(b(e).filter(function(){for(t=0;t1?b.uniqueSort(n):n},filter:function(e){return this.pushStack(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,\"string\"==typeof e&&S.test(e)?b(e):e||[],!1).length}});var j,q=/^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/;(b.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||j,\"string\"==typeof e){if(!(i=\"<\"===e[0]&&\">\"===e[e.length-1]&&e.length>=3?[null,e,null]:q.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof b?t[0]:t,b.merge(this,b.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&b.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(b):b.makeArray(e,this)}).prototype=b.fn,j=b(r);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}b.fn.extend({has:function(e){var t=b(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&b.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?b.uniqueSort(o):o)},index:function(e){return e?\"string\"==typeof e?u.call(b(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(b.uniqueSort(b.merge(this.get(),b(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return E(e,\"parentNode\")},parentsUntil:function(e,t,n){return E(e,\"parentNode\",n)},next:function(e){return O(e,\"nextSibling\")},prev:function(e){return O(e,\"previousSibling\")},nextAll:function(e){return E(e,\"nextSibling\")},prevAll:function(e){return E(e,\"previousSibling\")},nextUntil:function(e,t,n){return E(e,\"nextSibling\",n)},prevUntil:function(e,t,n){return E(e,\"previousSibling\",n)},siblings:function(e){return k((e.parentNode||{}).firstChild,e)},children:function(e){return k(e.firstChild)},contents:function(e){return void 0!==e.contentDocument?e.contentDocument:(N(e,\"template\")&&(e=e.content||e),b.merge([],e.childNodes))}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return\"Until\"!==e.slice(-5)&&(r=n),r&&\"string\"==typeof r&&(i=b.filter(r,i)),this.length>1&&(H[e]||b.uniqueSort(i),L.test(e)&&i.reverse()),this.pushStack(i)}});var P=/[^\\x20\\t\\r\\n\\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}b.Callbacks=function(e){e=\"string\"==typeof e?function(e){var t={};return b.each(e.match(P)||[],function(e,n){t[n]=!0}),t}(e):b.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1)for(n=a.shift();++s-1;)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?b.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n=\"\",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=\"\"),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},b.extend({Deferred:function(t){var n=[[\"notify\",\"progress\",b.Callbacks(\"memory\"),b.Callbacks(\"memory\"),2],[\"resolve\",\"done\",b.Callbacks(\"once memory\"),b.Callbacks(\"once memory\"),0,\"resolved\"],[\"reject\",\"fail\",b.Callbacks(\"once memory\"),b.Callbacks(\"once memory\"),1,\"rejected\"]],r=\"pending\",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return b.Deferred(function(t){b.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+\"With\"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t=o&&(r!==M&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(b.Deferred.getStackHook&&(c.stackTrace=b.Deferred.getStackHook()),e.setTimeout(c))}}return b.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:R,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:R)),n[2][3].add(a(0,e,g(r)?r:M))}).promise()},promise:function(e){return null!=e?b.extend(e,i):i}},o={};return b.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+\"With\"](this===o?void 0:this,arguments),this},o[t[0]+\"With\"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=b.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&(I(e,a.done(s(n)).resolve,a.reject,!t),\"pending\"===a.state()||g(i[n]&&i[n].then)))return a.then();for(;n--;)I(i[n],s(n),a.reject);return a.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;b.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&W.test(t.name)&&e.console.warn(\"jQuery.Deferred exception: \"+t.message,t.stack,n)},b.readyException=function(t){e.setTimeout(function(){throw t})};var $=b.Deferred();function F(){r.removeEventListener(\"DOMContentLoaded\",F),e.removeEventListener(\"load\",F),b.ready()}b.fn.ready=function(e){return $.then(e).catch(function(e){b.readyException(e)}),this},b.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--b.readyWait:b.isReady)||(b.isReady=!0,!0!==e&&--b.readyWait>0||$.resolveWith(r,[b]))}}),b.ready.then=$.then,\"complete\"===r.readyState||\"loading\"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(b.ready):(r.addEventListener(\"DOMContentLoaded\",F),e.addEventListener(\"load\",F));var B=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if(\"object\"===x(n))for(s in i=!0,n)B(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(b(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),b.extend({queue:function(e,t,n){var r;if(e)return t=(t||\"fx\")+\"queue\",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,b.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||\"fx\";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t);\"inprogress\"===i&&(i=n.shift(),r--),i&&(\"fx\"===t&&n.unshift(\"inprogress\"),delete o.stop,i.call(e,function(){b.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+\"queueHooks\";return Y.get(e,n)||Y.access(e,n,{empty:b.Callbacks(\"once memory\").add(function(){Y.remove(e,[t+\"queue\",n])})})}}),b.fn.extend({queue:function(e,t){var n=2;return\"string\"!=typeof e&&(t=e,e=\"fx\",n--),arguments.length\\x20\\t\\r\\n\\f]*)/i,he=/^$|^module$|\\/(?:java|ecma)script/i,ge={option:[1,\"\"],thead:[1,\"\"],col:[2,\"\"],tr:[2,\"\"],td:[3,\"\"],_default:[0,\"\",\"\"]};function ve(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||\"*\"):void 0!==e.querySelectorAll?e.querySelectorAll(t||\"*\"):[],void 0===t||t&&N(e,t)?b.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n-1)i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),\"script\"),l&&ye(a),n)for(c=0;o=a[c++];)he.test(o.type||\"\")&&n.push(o);return f}me=r.createDocumentFragment().appendChild(r.createElement(\"div\")),(xe=r.createElement(\"input\")).setAttribute(\"type\",\"radio\"),xe.setAttribute(\"checked\",\"checked\"),xe.setAttribute(\"name\",\"t\"),me.appendChild(xe),h.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML=\"\",h.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return r.activeElement}catch(e){}}()==(\"focus\"===t)}function Ae(e,t,n,r,i,o){var a,s;if(\"object\"==typeof t){for(s in\"string\"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&(\"string\"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return b().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=b.guid++)),e.each(function(){b.event.add(this,t,i,r,n)})}function De(e,t,n){n?(Y.set(e,t,!1),b.event.add(e,t,{namespace:!1,handler:function(e){var r,i,a=Y.get(this,t);if(1&e.isTrigger&&this[t]){if(a.length)(b.event.special[t]||{}).delegateType&&e.stopPropagation();else if(a=o.call(arguments),Y.set(this,t,a),r=n(this,t),this[t](),a!==(i=Y.get(this,t))||r?Y.set(this,t,!1):i={},a!==i)return e.stopImmediatePropagation(),e.preventDefault(),i.value}else a.length&&(Y.set(this,t,{value:b.event.trigger(b.extend(a[0],b.Event.prototype),a.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,t)&&b.event.add(e,t,ke)}b.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(e);if(v)for(n.handler&&(n=(o=n).handler,i=o.selector),i&&b.find.matchesSelector(re,i),n.guid||(n.guid=b.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(t){return void 0!==b&&b.event.triggered!==t.type?b.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||\"\").match(P)||[\"\"]).length;l--;)d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||\"\").split(\".\").sort(),d&&(f=b.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=b.event.special[d]||{},c=b.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&b.expr.match.needsContext.test(i),namespace:h.join(\".\")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),b.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){for(l=(t=(t||\"\").match(P)||[\"\"]).length;l--;)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||\"\").split(\".\").sort(),d){for(f=b.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp(\"(^|\\\\.)\"+h.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&(\"**\"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||b.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(u)&&Y.remove(e,\"handle events\")}},dispatch:function(e){var t,n,r,i,o,a,s=b.event.fix(e),u=new Array(arguments.length),l=(Y.get(this,\"events\")||{})[s.type]||[],c=b.event.special[s.type]||{};for(u[0]=s,t=1;t=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&(\"click\"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:b.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u\\x20\\t\\r\\n\\f]*)[^>]*)\\/>/gi,qe=/"
+ ],
+ "text/plain": [
+ ":Curve [k] (inertia)"
+ ]
+ },
+ "execution_count": 26,
+ "metadata": {
+ "application/vnd.holoviews_exec.v0+json": {
+ "id": "1001"
+ }
+ },
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Find the best value for K\n",
+ "inertia = []\n",
+ "k = list(range(1, 11))\n",
+ "\n",
+ "# Calculate the inertia for the range of K values\n",
+ "for i in k:\n",
+ "\tkm = KMeans(n_clusters=i, random_state=0)\n",
+ "\tkm.fit(pcs_df)\n",
+ "\tinertia.append(km.inertia_)\n",
+ "\n",
+ "# Create the elbow curve\n",
+ "elbow_data = {\"k\": k, \"inertia\": inertia}\n",
+ "df_elbow = pd.DataFrame(elbow_data)\n",
+ "df_elbow.hvplot.line(x=\"k\", y=\"inertia\", xticks=k, title=\"Elbow Curve\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Initialize the K-means model with n_clusters=4 \n",
+ "model = KMeans(n_clusters=4, random_state=0)\n",
+ "\n",
+ "# Fit the model\n",
+ "model.fit(pcs_df)\n",
+ "\n",
+ "# Predict clusters\n",
+ "predictions = model.predict(pcs_df)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Algorithm | \n",
+ " ProofType | \n",
+ " TotalCoinsMined | \n",
+ " TotalCoinSupply | \n",
+ " PC 1 | \n",
+ " PC 2 | \n",
+ " PC 3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 42 | \n",
+ " Scrypt | \n",
+ " PoW/PoS | \n",
+ " 4.199995e+01 | \n",
+ " 42 | \n",
+ " -0.328864 | \n",
+ " 0.987754 | \n",
+ " -0.497823 | \n",
+ "
\n",
+ " \n",
+ " 404 | \n",
+ " Scrypt | \n",
+ " PoW/PoS | \n",
+ " 1.055185e+09 | \n",
+ " 532000000 | \n",
+ " -0.312193 | \n",
+ " 0.988028 | \n",
+ " -0.498219 | \n",
+ "
\n",
+ " \n",
+ " 1337 | \n",
+ " X13 | \n",
+ " PoW/PoS | \n",
+ " 2.927942e+10 | \n",
+ " 314159265359 | \n",
+ " 2.295200 | \n",
+ " 1.534053 | \n",
+ " -0.524401 | \n",
+ "
\n",
+ " \n",
+ " BTC | \n",
+ " SHA-256 | \n",
+ " PoW | \n",
+ " 1.792718e+07 | \n",
+ " 21000000 | \n",
+ " -0.138223 | \n",
+ " -1.243438 | \n",
+ " 0.202794 | \n",
+ "
\n",
+ " \n",
+ " ETH | \n",
+ " Ethash | \n",
+ " PoW | \n",
+ " 1.076842e+08 | \n",
+ " 0 | \n",
+ " -0.147055 | \n",
+ " -1.966074 | \n",
+ " 0.346034 | \n",
+ "
\n",
+ " \n",
+ " LTC | \n",
+ " Scrypt | \n",
+ " PoW | \n",
+ " 6.303924e+07 | \n",
+ " 84000000 | \n",
+ " -0.147980 | \n",
+ " -1.045898 | \n",
+ " -0.016335 | \n",
+ "
\n",
+ " \n",
+ " DASH | \n",
+ " X11 | \n",
+ " PoW/PoS | \n",
+ " 9.031294e+06 | \n",
+ " 22000000 | \n",
+ " -0.421290 | \n",
+ " 1.060902 | \n",
+ " -0.409025 | \n",
+ "
\n",
+ " \n",
+ " XMR | \n",
+ " CryptoNight-V7 | \n",
+ " PoW | \n",
+ " 1.720114e+07 | \n",
+ " 0 | \n",
+ " -0.143875 | \n",
+ " -2.197205 | \n",
+ " 0.404221 | \n",
+ "
\n",
+ " \n",
+ " ETC | \n",
+ " Ethash | \n",
+ " PoW | \n",
+ " 1.133597e+08 | \n",
+ " 210000000 | \n",
+ " -0.145496 | \n",
+ " -1.966159 | \n",
+ " 0.346020 | \n",
+ "
\n",
+ " \n",
+ " ZEC | \n",
+ " Equihash | \n",
+ " PoW | \n",
+ " 7.383056e+06 | \n",
+ " 21000000 | \n",
+ " -0.151431 | \n",
+ " -2.022357 | \n",
+ " 0.359787 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Algorithm ProofType TotalCoinsMined TotalCoinSupply PC 1 \\\n",
+ "42 Scrypt PoW/PoS 4.199995e+01 42 -0.328864 \n",
+ "404 Scrypt PoW/PoS 1.055185e+09 532000000 -0.312193 \n",
+ "1337 X13 PoW/PoS 2.927942e+10 314159265359 2.295200 \n",
+ "BTC SHA-256 PoW 1.792718e+07 21000000 -0.138223 \n",
+ "ETH Ethash PoW 1.076842e+08 0 -0.147055 \n",
+ "LTC Scrypt PoW 6.303924e+07 84000000 -0.147980 \n",
+ "DASH X11 PoW/PoS 9.031294e+06 22000000 -0.421290 \n",
+ "XMR CryptoNight-V7 PoW 1.720114e+07 0 -0.143875 \n",
+ "ETC Ethash PoW 1.133597e+08 210000000 -0.145496 \n",
+ "ZEC Equihash PoW 7.383056e+06 21000000 -0.151431 \n",
+ "\n",
+ " PC 2 PC 3 \n",
+ "42 0.987754 -0.497823 \n",
+ "404 0.988028 -0.498219 \n",
+ "1337 1.534053 -0.524401 \n",
+ "BTC -1.243438 0.202794 \n",
+ "ETH -1.966074 0.346034 \n",
+ "LTC -1.045898 -0.016335 \n",
+ "DASH 1.060902 -0.409025 \n",
+ "XMR -2.197205 0.404221 \n",
+ "ETC -1.966159 0.346020 \n",
+ "ZEC -2.022357 0.359787 "
+ ]
+ },
+ "execution_count": 28,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Merge the crypto_df and pcs_df\n",
+ "combined_df = pd.merge(crypto_df,pcs_df,how='outer', left_index=True, right_index=True)\n",
+ "combined_df.head(10)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Algorithm | \n",
+ " ProofType | \n",
+ " TotalCoinsMined | \n",
+ " TotalCoinSupply | \n",
+ " PC 1 | \n",
+ " PC 2 | \n",
+ " PC 3 | \n",
+ " CoinName | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 42 | \n",
+ " Scrypt | \n",
+ " PoW/PoS | \n",
+ " 4.199995e+01 | \n",
+ " 42 | \n",
+ " -0.328864 | \n",
+ " 0.987754 | \n",
+ " -0.497823 | \n",
+ " 42 Coin | \n",
+ "
\n",
+ " \n",
+ " 404 | \n",
+ " Scrypt | \n",
+ " PoW/PoS | \n",
+ " 1.055185e+09 | \n",
+ " 532000000 | \n",
+ " -0.312193 | \n",
+ " 0.988028 | \n",
+ " -0.498219 | \n",
+ " 404Coin | \n",
+ "
\n",
+ " \n",
+ " 1337 | \n",
+ " X13 | \n",
+ " PoW/PoS | \n",
+ " 2.927942e+10 | \n",
+ " 314159265359 | \n",
+ " 2.295200 | \n",
+ " 1.534053 | \n",
+ " -0.524401 | \n",
+ " EliteCoin | \n",
+ "
\n",
+ " \n",
+ " BTC | \n",
+ " SHA-256 | \n",
+ " PoW | \n",
+ " 1.792718e+07 | \n",
+ " 21000000 | \n",
+ " -0.138223 | \n",
+ " -1.243438 | \n",
+ " 0.202794 | \n",
+ " Bitcoin | \n",
+ "
\n",
+ " \n",
+ " ETH | \n",
+ " Ethash | \n",
+ " PoW | \n",
+ " 1.076842e+08 | \n",
+ " 0 | \n",
+ " -0.147055 | \n",
+ " -1.966074 | \n",
+ " 0.346034 | \n",
+ " Ethereum | \n",
+ "
\n",
+ " \n",
+ " LTC | \n",
+ " Scrypt | \n",
+ " PoW | \n",
+ " 6.303924e+07 | \n",
+ " 84000000 | \n",
+ " -0.147980 | \n",
+ " -1.045898 | \n",
+ " -0.016335 | \n",
+ " Litecoin | \n",
+ "
\n",
+ " \n",
+ " DASH | \n",
+ " X11 | \n",
+ " PoW/PoS | \n",
+ " 9.031294e+06 | \n",
+ " 22000000 | \n",
+ " -0.421290 | \n",
+ " 1.060902 | \n",
+ " -0.409025 | \n",
+ " Dash | \n",
+ "
\n",
+ " \n",
+ " XMR | \n",
+ " CryptoNight-V7 | \n",
+ " PoW | \n",
+ " 1.720114e+07 | \n",
+ " 0 | \n",
+ " -0.143875 | \n",
+ " -2.197205 | \n",
+ " 0.404221 | \n",
+ " Monero | \n",
+ "
\n",
+ " \n",
+ " ETC | \n",
+ " Ethash | \n",
+ " PoW | \n",
+ " 1.133597e+08 | \n",
+ " 210000000 | \n",
+ " -0.145496 | \n",
+ " -1.966159 | \n",
+ " 0.346020 | \n",
+ " Ethereum Classic | \n",
+ "
\n",
+ " \n",
+ " ZEC | \n",
+ " Equihash | \n",
+ " PoW | \n",
+ " 7.383056e+06 | \n",
+ " 21000000 | \n",
+ " -0.151431 | \n",
+ " -2.022357 | \n",
+ " 0.359787 | \n",
+ " ZCash | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Algorithm ProofType TotalCoinsMined TotalCoinSupply PC 1 \\\n",
+ "42 Scrypt PoW/PoS 4.199995e+01 42 -0.328864 \n",
+ "404 Scrypt PoW/PoS 1.055185e+09 532000000 -0.312193 \n",
+ "1337 X13 PoW/PoS 2.927942e+10 314159265359 2.295200 \n",
+ "BTC SHA-256 PoW 1.792718e+07 21000000 -0.138223 \n",
+ "ETH Ethash PoW 1.076842e+08 0 -0.147055 \n",
+ "LTC Scrypt PoW 6.303924e+07 84000000 -0.147980 \n",
+ "DASH X11 PoW/PoS 9.031294e+06 22000000 -0.421290 \n",
+ "XMR CryptoNight-V7 PoW 1.720114e+07 0 -0.143875 \n",
+ "ETC Ethash PoW 1.133597e+08 210000000 -0.145496 \n",
+ "ZEC Equihash PoW 7.383056e+06 21000000 -0.151431 \n",
+ "\n",
+ " PC 2 PC 3 CoinName \n",
+ "42 0.987754 -0.497823 42 Coin \n",
+ "404 0.988028 -0.498219 404Coin \n",
+ "1337 1.534053 -0.524401 EliteCoin \n",
+ "BTC -1.243438 0.202794 Bitcoin \n",
+ "ETH -1.966074 0.346034 Ethereum \n",
+ "LTC -1.045898 -0.016335 Litecoin \n",
+ "DASH 1.060902 -0.409025 Dash \n",
+ "XMR -2.197205 0.404221 Monero \n",
+ "ETC -1.966159 0.346020 Ethereum Classic \n",
+ "ZEC -2.022357 0.359787 ZCash "
+ ]
+ },
+ "execution_count": 29,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Merge the combined_df and coins_name\n",
+ "clustered_df = pd.merge(combined_df,coins_name,how='outer', left_index=True, right_index=True)\n",
+ "clustered_df.head(10)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Algorithm | \n",
+ " ProofType | \n",
+ " TotalCoinsMined | \n",
+ " TotalCoinSupply | \n",
+ " PC 1 | \n",
+ " PC 2 | \n",
+ " PC 3 | \n",
+ " CoinName | \n",
+ " class | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 42 | \n",
+ " Scrypt | \n",
+ " PoW/PoS | \n",
+ " 4.199995e+01 | \n",
+ " 42 | \n",
+ " -0.328864 | \n",
+ " 0.987754 | \n",
+ " -0.497823 | \n",
+ " 42 Coin | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 404 | \n",
+ " Scrypt | \n",
+ " PoW/PoS | \n",
+ " 1.055185e+09 | \n",
+ " 532000000 | \n",
+ " -0.312193 | \n",
+ " 0.988028 | \n",
+ " -0.498219 | \n",
+ " 404Coin | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 1337 | \n",
+ " X13 | \n",
+ " PoW/PoS | \n",
+ " 2.927942e+10 | \n",
+ " 314159265359 | \n",
+ " 2.295200 | \n",
+ " 1.534053 | \n",
+ " -0.524401 | \n",
+ " EliteCoin | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " BTC | \n",
+ " SHA-256 | \n",
+ " PoW | \n",
+ " 1.792718e+07 | \n",
+ " 21000000 | \n",
+ " -0.138223 | \n",
+ " -1.243438 | \n",
+ " 0.202794 | \n",
+ " Bitcoin | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " ETH | \n",
+ " Ethash | \n",
+ " PoW | \n",
+ " 1.076842e+08 | \n",
+ " 0 | \n",
+ " -0.147055 | \n",
+ " -1.966074 | \n",
+ " 0.346034 | \n",
+ " Ethereum | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " LTC | \n",
+ " Scrypt | \n",
+ " PoW | \n",
+ " 6.303924e+07 | \n",
+ " 84000000 | \n",
+ " -0.147980 | \n",
+ " -1.045898 | \n",
+ " -0.016335 | \n",
+ " Litecoin | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " DASH | \n",
+ " X11 | \n",
+ " PoW/PoS | \n",
+ " 9.031294e+06 | \n",
+ " 22000000 | \n",
+ " -0.421290 | \n",
+ " 1.060902 | \n",
+ " -0.409025 | \n",
+ " Dash | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " XMR | \n",
+ " CryptoNight-V7 | \n",
+ " PoW | \n",
+ " 1.720114e+07 | \n",
+ " 0 | \n",
+ " -0.143875 | \n",
+ " -2.197205 | \n",
+ " 0.404221 | \n",
+ " Monero | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " ETC | \n",
+ " Ethash | \n",
+ " PoW | \n",
+ " 1.133597e+08 | \n",
+ " 210000000 | \n",
+ " -0.145496 | \n",
+ " -1.966159 | \n",
+ " 0.346020 | \n",
+ " Ethereum Classic | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " ZEC | \n",
+ " Equihash | \n",
+ " PoW | \n",
+ " 7.383056e+06 | \n",
+ " 21000000 | \n",
+ " -0.151431 | \n",
+ " -2.022357 | \n",
+ " 0.359787 | \n",
+ " ZCash | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Algorithm ProofType TotalCoinsMined TotalCoinSupply PC 1 \\\n",
+ "42 Scrypt PoW/PoS 4.199995e+01 42 -0.328864 \n",
+ "404 Scrypt PoW/PoS 1.055185e+09 532000000 -0.312193 \n",
+ "1337 X13 PoW/PoS 2.927942e+10 314159265359 2.295200 \n",
+ "BTC SHA-256 PoW 1.792718e+07 21000000 -0.138223 \n",
+ "ETH Ethash PoW 1.076842e+08 0 -0.147055 \n",
+ "LTC Scrypt PoW 6.303924e+07 84000000 -0.147980 \n",
+ "DASH X11 PoW/PoS 9.031294e+06 22000000 -0.421290 \n",
+ "XMR CryptoNight-V7 PoW 1.720114e+07 0 -0.143875 \n",
+ "ETC Ethash PoW 1.133597e+08 210000000 -0.145496 \n",
+ "ZEC Equihash PoW 7.383056e+06 21000000 -0.151431 \n",
+ "\n",
+ " PC 2 PC 3 CoinName class \n",
+ "42 0.987754 -0.497823 42 Coin 0 \n",
+ "404 0.988028 -0.498219 404Coin 0 \n",
+ "1337 1.534053 -0.524401 EliteCoin 0 \n",
+ "BTC -1.243438 0.202794 Bitcoin 1 \n",
+ "ETH -1.966074 0.346034 Ethereum 1 \n",
+ "LTC -1.045898 -0.016335 Litecoin 1 \n",
+ "DASH 1.060902 -0.409025 Dash 0 \n",
+ "XMR -2.197205 0.404221 Monero 1 \n",
+ "ETC -1.966159 0.346020 Ethereum Classic 1 \n",
+ "ZEC -2.022357 0.359787 ZCash 1 "
+ ]
+ },
+ "execution_count": 30,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Add the predicted class columns\n",
+ "clustered_df[\"class\"] = model.labels_\n",
+ "clustered_df.head(10)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ " \n",
+ " "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "application/vnd.plotly.v1+json": {
+ "config": {
+ "plotlyServerURL": "https://plot.ly"
+ },
+ "data": [
+ {
+ "customdata": [
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X13"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "SHA-512"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "X15"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Groestl"
+ ],
+ [
+ "PoS"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "SHA3"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X13"
+ ],
+ [
+ "X13"
+ ],
+ [
+ "NeoScrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Multiple"
+ ],
+ [
+ "PHI1612"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Multiple"
+ ],
+ [
+ "X13"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Shabal256"
+ ],
+ [
+ "Counterparty"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "Groestl"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X13"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X13"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "SHA3"
+ ],
+ [
+ "QUAIT"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X13"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "X15"
+ ],
+ [
+ "BLAKE256"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "NIST5"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "PoS"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "NIST5"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "POS 3.0"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X13"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "SHA-256D"
+ ],
+ [
+ "PoS"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "PoS"
+ ],
+ [
+ "X13"
+ ],
+ [
+ "X14"
+ ],
+ [
+ "PoS"
+ ],
+ [
+ "SHA-256D"
+ ],
+ [
+ "DPoS"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "X13"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "PoS"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "PoS"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Quark"
+ ],
+ [
+ "QuBit"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X13"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Blake2S"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "PoS"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "PoS"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "PoS"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X15"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "POS 3.0"
+ ],
+ [
+ "536"
+ ],
+ [
+ "NIST5"
+ ],
+ [
+ "NIST5"
+ ],
+ [
+ "Skein"
+ ],
+ [
+ "X13"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X13"
+ ],
+ [
+ "SkunkHash v2 Raptor"
+ ],
+ [
+ "Skein"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "VeChainThor Authority"
+ ],
+ [
+ "PoS"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "SHA-512"
+ ],
+ [
+ "Ouroboros"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "NeoScrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Lyra2REv2"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "NIST5"
+ ],
+ [
+ "PHI1612"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Quark"
+ ],
+ [
+ "POS 2.0"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "DPoS"
+ ],
+ [
+ "NIST5"
+ ],
+ [
+ "X13"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "NIST5"
+ ],
+ [
+ "Quark"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Quark"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "POS 3.0"
+ ],
+ [
+ "Ethash"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X13"
+ ],
+ [
+ "SHA-256 + Hive"
+ ],
+ [
+ "C11"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "XEVAN"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "VBFT"
+ ],
+ [
+ "NIST5"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Green Protocol"
+ ],
+ [
+ "PoS"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Semux BFT consensus"
+ ],
+ [
+ "Quark"
+ ],
+ [
+ "PoS"
+ ],
+ [
+ "X16R"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "XEVAN"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "SHA-256D"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X15"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Quark"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "DPoS"
+ ],
+ [
+ "X16R"
+ ],
+ [
+ "Quark"
+ ],
+ [
+ "Quark"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Lyra2REv2"
+ ],
+ [
+ "Quark"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "PoS"
+ ],
+ [
+ "Keccak"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "SHA-512"
+ ],
+ [
+ "XEVAN"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Quark"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Quark"
+ ],
+ [
+ "Quark"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "XEVAN"
+ ],
+ [
+ "SHA-256D"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "DPoS"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "PoS"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "DPoS"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "NeoScrypt"
+ ],
+ [
+ "X13"
+ ],
+ [
+ "DPoS"
+ ],
+ [
+ "DPoS"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "Leased POS"
+ ],
+ [
+ "PoS"
+ ],
+ [
+ "PoS"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ]
+ ],
+ "hovertemplate": "%{hovertext}
class=%{marker.color}
PC 1=%{x}
PC 2=%{y}
PC 3=%{z}
Algorithm=%{customdata[0]}",
+ "hovertext": [
+ "42 Coin",
+ "404Coin",
+ "EliteCoin",
+ "Dash",
+ "Bitshares",
+ "BitcoinDark",
+ "PayCoin",
+ "KoboCoin",
+ "Aurora Coin",
+ "BlueCoin",
+ "EnergyCoin",
+ "BitBar",
+ "CryptoBullion",
+ "CasinoCoin",
+ "Diamond",
+ "Exclusive Coin",
+ "FlutterCoin",
+ "HoboNickels",
+ "HyperStake",
+ "IOCoin",
+ "MaxCoin",
+ "MintCoin",
+ "MazaCoin",
+ "Nautilus Coin",
+ "NavCoin",
+ "OpalCoin",
+ "Orbitcoin",
+ "PotCoin",
+ "PhoenixCoin",
+ "Reddcoin",
+ "SuperCoin",
+ "SyncCoin",
+ "TeslaCoin",
+ "TittieCoin",
+ "TorCoin",
+ "UnitaryStatus Dollar",
+ "UltraCoin",
+ "VeriCoin",
+ "X11 Coin",
+ "Crypti",
+ "StealthCoin",
+ "ZCC Coin",
+ "BurstCoin",
+ "StorjCoin",
+ "Neutron",
+ "FairCoin",
+ "RubyCoin",
+ "Kore",
+ "Dnotes",
+ "8BIT Coin",
+ "Sativa Coin",
+ "Ucoin",
+ "Vtorrent",
+ "IslaCoin",
+ "Nexus",
+ "Droidz",
+ "Squall Coin",
+ "Diggits",
+ "Paycon",
+ "Emercoin",
+ "EverGreenCoin",
+ "Decred",
+ "EDRCoin",
+ "Hitcoin",
+ "DubaiCoin",
+ "PWR Coin",
+ "BillaryCoin",
+ "GPU Coin",
+ "EuropeCoin",
+ "ZeitCoin",
+ "SwingCoin",
+ "SafeExchangeCoin",
+ "Nebuchadnezzar",
+ "Ratecoin",
+ "Revenu",
+ "Clockcoin",
+ "VIP Tokens",
+ "BitSend",
+ "Let it Ride",
+ "PutinCoin",
+ "iBankCoin",
+ "Frankywillcoin",
+ "MudraCoin",
+ "Lutetium Coin",
+ "GoldBlocks",
+ "CarterCoin",
+ "BitTokens",
+ "MustangCoin",
+ "ZoneCoin",
+ "RootCoin",
+ "BitCurrency",
+ "Swiscoin",
+ "BuzzCoin",
+ "Opair",
+ "PesoBit",
+ "Halloween Coin",
+ "CoffeeCoin",
+ "RoyalCoin",
+ "GanjaCoin V2",
+ "TeamUP",
+ "LanaCoin",
+ "ARK",
+ "InsaneCoin",
+ "EmberCoin",
+ "XenixCoin",
+ "FreeCoin",
+ "PLNCoin",
+ "AquariusCoin",
+ "Creatio",
+ "Eternity",
+ "Eurocoin",
+ "BitcoinFast",
+ "Stakenet",
+ "BitConnect Coin",
+ "MoneyCoin",
+ "Enigma",
+ "Russiacoin",
+ "PandaCoin",
+ "GameUnits",
+ "GAKHcoin",
+ "Allsafe",
+ "LiteCreed",
+ "Klingon Empire Darsek",
+ "Internet of People",
+ "KushCoin",
+ "Printerium",
+ "Impeach",
+ "Zilbercoin",
+ "FirstCoin",
+ "FindCoin",
+ "OpenChat",
+ "RenosCoin",
+ "VirtacoinPlus",
+ "TajCoin",
+ "Impact",
+ "Atmos",
+ "HappyCoin",
+ "MacronCoin",
+ "Condensate",
+ "Independent Money System",
+ "ArgusCoin",
+ "LomoCoin",
+ "ProCurrency",
+ "GoldReserve",
+ "GrowthCoin",
+ "Phreak",
+ "Degas Coin",
+ "HTML5 Coin",
+ "Ultimate Secure Cash",
+ "QTUM",
+ "Espers",
+ "Denarius",
+ "Virta Unique Coin",
+ "Bitcoin Planet",
+ "BritCoin",
+ "Linda",
+ "DeepOnion",
+ "Signatum",
+ "Cream",
+ "Monoeci",
+ "Draftcoin",
+ "Vechain",
+ "Stakecoin",
+ "CoinonatX",
+ "Ethereum Dark",
+ "Obsidian",
+ "Cardano",
+ "Regalcoin",
+ "TrezarCoin",
+ "TerraNovaCoin",
+ "Rupee",
+ "WomenCoin",
+ "Theresa May Coin",
+ "NamoCoin",
+ "LUXCoin",
+ "Xios",
+ "Bitcloud 2.0",
+ "KekCoin",
+ "BlackholeCoin",
+ "Infinity Economics",
+ "Magnet",
+ "Lamden Tau",
+ "Electra",
+ "Bitcoin Diamond",
+ "Cash & Back Coin",
+ "Bulwark",
+ "Kalkulus",
+ "GermanCoin",
+ "LiteCoin Ultra",
+ "PhantomX",
+ "Digiwage",
+ "Trollcoin",
+ "Litecoin Plus",
+ "Monkey Project",
+ "TokenPay",
+ "1717 Masonic Commemorative Token",
+ "My Big Coin",
+ "Unified Society USDEX",
+ "Tokyo Coin",
+ "LitecoinCash",
+ "Stipend",
+ "Pushi",
+ "Ellerium",
+ "Velox",
+ "Ontology",
+ "Bitspace",
+ "Briacoin",
+ "Ignition",
+ "MedicCoin",
+ "Bitcoin Green",
+ "Deviant Coin",
+ "Abjcoin",
+ "Semux",
+ "Carebit",
+ "Zealium",
+ "Proton",
+ "iDealCash",
+ "Bitcoin Incognito",
+ "HollyWoodCoin",
+ "Swisscoin",
+ "Xt3ch",
+ "TheVig",
+ "EmaratCoin",
+ "Dekado",
+ "Lynx",
+ "Poseidon Quark",
+ "BitcoinWSpectrum",
+ "Muse",
+ "Trivechain",
+ "Dystem",
+ "Giant",
+ "Peony Coin",
+ "Absolute Coin",
+ "Vitae",
+ "TPCash",
+ "ARENON",
+ "EUNO",
+ "MMOCoin",
+ "Ketan",
+ "XDNA",
+ "PAXEX",
+ "ThunderStake",
+ "Kcash",
+ "Bettex coin",
+ "Junson Ming Chan Coin",
+ "HerbCoin",
+ "Oduwa",
+ "Galilel",
+ "Crypto Sports",
+ "Credit",
+ "Dash Platinum",
+ "Nasdacoin",
+ "Beetle Coin",
+ "Titan Coin",
+ "Award",
+ "Insane Coin",
+ "ALAX",
+ "LiteDoge",
+ "TruckCoin",
+ "OrangeCoin",
+ "BitstarCoin",
+ "NeosCoin",
+ "HyperCoin",
+ "PinkCoin",
+ "AudioCoin",
+ "IncaKoin",
+ "Piggy Coin",
+ "Genstake",
+ "XiaoMiCoin",
+ "CapriCoin",
+ " ClubCoin",
+ "Radium",
+ "Creditbit ",
+ "OKCash",
+ "Lisk",
+ "HiCoin",
+ "WhiteCoin",
+ "FriendshipCoin",
+ "Triangles Coin",
+ "EOS",
+ "Oxycoin",
+ "TigerCash",
+ "Waves",
+ "Particl",
+ "Nxt",
+ "ZEPHYR",
+ "Gapcoin",
+ "BitcoinPlus"
+ ],
+ "legendgroup": "0",
+ "marker": {
+ "color": [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ],
+ "coloraxis": "coloraxis",
+ "symbol": "circle"
+ },
+ "mode": "markers",
+ "name": "0",
+ "scene": "scene",
+ "showlegend": true,
+ "type": "scatter3d",
+ "x": [
+ -0.3288636010773725,
+ -0.3121926169447077,
+ 2.2951999662126528,
+ -0.42128952665211883,
+ -0.30021876460555696,
+ -0.3179358721030994,
+ -0.2632642993517553,
+ -0.2522807088342186,
+ -0.3285229957018545,
+ -0.3210968912330934,
+ -0.32735941992630085,
+ -0.3288595348418209,
+ -0.3288438076836553,
+ 0.7151245218126882,
+ -0.3875189546363855,
+ -0.3494098189180389,
+ -0.24935791525398737,
+ -0.3269213180785361,
+ -0.34643152018284373,
+ -0.42118417006829506,
+ -0.5459101763333087,
+ -0.013982392847712138,
+ -0.28122206601759786,
+ -0.27394297333914785,
+ -0.2902675409485032,
+ -0.290890061218775,
+ -0.35342627290030426,
+ -0.3231626981867802,
+ -0.32726447230249317,
+ 0.029457084358863173,
+ -0.3663280776427456,
+ -0.4215559441384732,
+ -0.23750825805256492,
+ -0.31359478576180766,
+ -0.4214675322145339,
+ -0.30408210575012096,
+ -0.32754026229324656,
+ -0.2427068942738589,
+ -0.4214319938047277,
+ -0.2379763046438563,
+ -0.29067081499047626,
+ -0.3199615289118241,
+ 0.09294899582436199,
+ -0.3146118694341084,
+ -0.31714715843072866,
+ -0.38694023137718914,
+ -0.27392323483546577,
+ -0.2909654768364576,
+ -0.2685742260111896,
+ -0.32884566064292325,
+ -0.2909176398389527,
+ -0.3667731299832221,
+ -0.3285798946352349,
+ -0.4215374637942887,
+ -0.7106338610784692,
+ -0.42472630376035314,
+ -0.46725756879805436,
+ -0.2723238989410435,
+ -0.29043900835436104,
+ -0.31048815557378956,
+ -0.25472361476861527,
+ -0.0830946420713189,
+ -0.3179067715034433,
+ -0.09882466182824909,
+ -0.3179705062506454,
+ -0.24545875465996964,
+ -0.32845569667295593,
+ -0.2721927897217069,
+ -0.41870496772456306,
+ 0.8798668939147556,
+ -0.3177704474559901,
+ -0.016037937798610825,
+ -0.3490929195392407,
+ -0.4193793261525955,
+ -0.3165132291913346,
+ -0.3141800754663532,
+ -0.36687803811209185,
+ -0.42027192174259337,
+ -0.33725418792956985,
+ -0.3047388592222738,
+ -0.3284938117092551,
+ -0.3269319932056411,
+ -0.23498746580133903,
+ -0.35425720230599356,
+ -0.42101106995574306,
+ -0.32769760658981106,
+ -0.3179514410579985,
+ -0.42152664778951116,
+ -0.32868308545246744,
+ -0.32883989085643656,
+ -0.2721825239385923,
+ -0.2083747886613844,
+ 0.011877740998591964,
+ -0.34804943763398305,
+ -0.3284538547775749,
+ -0.4076810234597345,
+ -0.3473777658315193,
+ -0.23641892877811363,
+ -0.43188462378460796,
+ -0.3471263906631235,
+ -0.3028145908824174,
+ 3.716742891148577,
+ -0.4211189674215241,
+ 0.8418158020610237,
+ -0.4214815344233993,
+ -0.3485134369343359,
+ -0.3283813455868441,
+ -0.32853574634688976,
+ -0.3490929195392407,
+ -0.42105618670605743,
+ -0.3178140460608518,
+ -0.32838208580316214,
+ -0.444572845992328,
+ -0.32852955377284265,
+ -0.3241149320762783,
+ -0.42151054196178583,
+ -0.3277397784918747,
+ 0.3696735235344438,
+ -0.32872894035406136,
+ -0.32879955382042303,
+ -0.3474409582027772,
+ -0.3606123157115831,
+ -0.3250240730395287,
+ -0.31792784295938814,
+ -0.4214204453016572,
+ -0.3285772421967406,
+ -0.3287042574059059,
+ -0.2738296585358967,
+ -0.26320138597644277,
+ -0.23618665809794878,
+ -0.3095475150584918,
+ -0.27357067459847306,
+ -0.42068575831126404,
+ -0.4331983112819835,
+ -0.41942349091106995,
+ -0.34733853128298764,
+ -0.42058359246985483,
+ -0.3417354329286328,
+ -0.41652226033072764,
+ -0.328647516105468,
+ -0.3286467003717779,
+ -0.3217642845256718,
+ 0.26971982088126817,
+ -0.4210623536239034,
+ -0.2564616901220359,
+ -0.3491272237225734,
+ -0.3278577496380854,
+ 0.8802833580313083,
+ -0.2619539209046719,
+ -0.3360318802805285,
+ 0.5756415836718488,
+ -0.3684145126180513,
+ -0.3669159127851745,
+ -0.4297090655072273,
+ -0.2906025621216569,
+ 0.1363518079749656,
+ -0.2906733778171515,
+ -0.32150125408975333,
+ -0.42921370342878046,
+ -0.4213348959879725,
+ -0.2739039247926936,
+ 4.480547471248059,
+ -0.34899340851564753,
+ -0.32828251045937545,
+ -0.32878247432397106,
+ -0.3583144235890674,
+ 0.6603514124886463,
+ -0.421275681582831,
+ -0.3484227297144889,
+ -0.3287380590508055,
+ -0.3093166447951571,
+ 0.44078090682665816,
+ -0.316273229682022,
+ -0.3531728863963845,
+ -0.4038196442765554,
+ -0.3286883691838718,
+ -0.4004899832307014,
+ -0.35608692313489054,
+ -0.3285587081630312,
+ -0.08965480062626477,
+ -0.42006764708966804,
+ 3.7216015988799276,
+ 0.19137917756367143,
+ -0.2873424278825226,
+ -0.32601757026797973,
+ -0.3135698218746371,
+ -0.3473268013616732,
+ 0.08582937710874985,
+ -0.32769671164839476,
+ -0.4206491462827473,
+ -0.34649104832705935,
+ -0.31525571589587237,
+ -0.32880461702807123,
+ -0.36674504471271335,
+ -0.33753625148489264,
+ -0.2732487825819448,
+ -0.2602482866939047,
+ -0.32434748017637244,
+ -0.22797774031892687,
+ -0.19538565355831283,
+ -0.38896339532975216,
+ -0.4213521383774753,
+ -0.38372584369202756,
+ -0.2730634108643127,
+ -0.31386581474919073,
+ -0.368013243381469,
+ -0.328831986140605,
+ -0.32881368653759985,
+ -0.26744175699833894,
+ -0.32933195249655267,
+ -0.34858764423889116,
+ -0.3285300375071838,
+ 3.9203478323738667,
+ -0.399157346409129,
+ -0.3487764132902407,
+ -0.3193329856348617,
+ -0.27536969690188345,
+ -0.42957994036350283,
+ -0.2735979755476502,
+ -0.13183951622096404,
+ -0.2738501459819552,
+ -0.3681677526003195,
+ -0.3280037664346606,
+ -0.19945889135444922,
+ 2.270371916921625,
+ -0.3430321293425396,
+ -0.26208178452883324,
+ 1.0185513690332273,
+ -0.3732772746061814,
+ -0.34744038921386505,
+ -0.4021751177176406,
+ -0.15450945525761287,
+ -0.3638529688314614,
+ -0.34615922450326125,
+ -0.3217043459317699,
+ -0.366322216102528,
+ -0.420825193513684,
+ -0.27109408916049776,
+ -0.34787566361339156,
+ -0.3456478800506202,
+ -0.36618349109513043,
+ -0.1882302027903727,
+ -0.4077936069437804,
+ -0.32911084459450357,
+ -0.15659302319261026,
+ -0.4014693582790668,
+ -0.328534020337934,
+ -0.4019257307217008,
+ -0.34755742998386735,
+ 0.5784871833403582,
+ -0.3667993877766039,
+ -0.3280166348238376,
+ -0.37817836059261095,
+ -0.3228611941344485,
+ -0.4183883394402097,
+ -0.42105255870886893,
+ 3.7338497860517377,
+ 0.10663953782869581,
+ -0.418591011218583,
+ -0.32740172654094885,
+ -0.32822724756390503,
+ -0.2632969386016949,
+ -0.3287458808781445,
+ -0.4126758642709847,
+ -0.2423975627981102,
+ -0.09748484437002815,
+ -0.4084217148949013,
+ -0.3280238309453615,
+ -0.3210844073900583,
+ -0.4176193265929312,
+ -0.3264621310892371,
+ -0.34936869579092417,
+ -0.4667622621959019,
+ -0.3164501329697411,
+ 3.717134927458263,
+ -0.08102897567749827,
+ -0.32365540611271115,
+ -0.3530519001209137,
+ -0.29107274376055686,
+ 3.727007693388021,
+ 3.7282524442040406,
+ -0.24418349514536422,
+ -0.21336922616810652,
+ -0.3493045308580656,
+ -0.38417045671425354,
+ 2.471465574325026,
+ -0.3269078000090499,
+ -0.274246845892544
+ ],
+ "y": [
+ 0.9877537287293086,
+ 0.9880279444815858,
+ 1.534052566026292,
+ 1.060901967974648,
+ 1.8390510400933144,
+ 0.7902001823905955,
+ 0.6177912091511707,
+ 1.7743474726103712,
+ 0.9877552485622361,
+ 0.9880530096179605,
+ 0.9878116905770697,
+ 0.9877535394114155,
+ 0.987753799404142,
+ 0.5544661573809953,
+ 0.7245364151344632,
+ 1.462884082702879,
+ 0.35462976109660976,
+ 0.9877455240334712,
+ 0.8892795056376833,
+ 1.0609060277643898,
+ 1.7420489271874817,
+ 0.825365047444606,
+ 0.7899558772498096,
+ 0.8153365802239851,
+ 1.6518445444664567,
+ 1.6518205563936008,
+ 0.44686954585841226,
+ 0.987682737264621,
+ 0.9877475265133413,
+ 1.0015611871153571,
+ 0.8885128156313824,
+ 1.0609069267207025,
+ 0.16280405288120472,
+ 1.4834023566708776,
+ 1.0609034135708904,
+ 0.9876013436804543,
+ 0.9877355151385435,
+ 0.2360592313309079,
+ 1.0609078973111934,
+ 0.16285522416107234,
+ 1.6518290047843585,
+ 0.9874046904992947,
+ 0.9774050534066877,
+ 1.4452514983901767,
+ 0.79019873935561,
+ 0.7245617468039466,
+ 0.8153485384991178,
+ 1.6518093455157719,
+ 0.8152086216734318,
+ 0.9877544200715219,
+ 1.6518125729950544,
+ 0.8884818246936884,
+ 0.9877508196673372,
+ 1.0609076395306958,
+ 1.7585247201130099,
+ 1.7000478720439498,
+ 0.2279847034689401,
+ 0.8153409600972994,
+ 1.6518033337281046,
+ 0.7898103277961478,
+ 1.7744773622585348,
+ 0.8155002600157706,
+ 0.7902013037473412,
+ 1.0549685602498116,
+ 0.7902068065980843,
+ 1.4284370414474221,
+ 0.9877403799702258,
+ 0.815262235466613,
+ 1.0607510318984,
+ 0.7912936332947995,
+ 0.7901940995901775,
+ 0.5524882389885996,
+ 1.462882452661895,
+ 1.060938895608422,
+ 0.7901160866918174,
+ 0.7899967968350406,
+ 1.4236960086107675,
+ 1.0608602080941436,
+ 1.3900381189073798,
+ 0.9872992088939382,
+ 0.9877372964256539,
+ 0.9877589540591485,
+ 1.4793140306937893,
+ 0.8885232630547234,
+ 1.0608933200393826,
+ 0.9877363727540246,
+ 0.7902002745285148,
+ 1.0609059801056462,
+ 0.9877461512638693,
+ 0.9877546424033323,
+ 0.8154156147082152,
+ 0.4699154231519579,
+ 1.8137596915682626,
+ 1.4628852902639957,
+ 0.9877695178411724,
+ 1.0604034774410473,
+ 1.4629347027470034,
+ 1.479395554513762,
+ 1.7810085751339548,
+ 1.4627637591225895,
+ 1.810280108956406,
+ 1.5558622976097194,
+ 1.0609030037187077,
+ 1.6948797612872677,
+ 1.0609071279342015,
+ 1.462884020261506,
+ 0.9877456395588108,
+ 0.9877372953519377,
+ 1.462882452661895,
+ 1.0608846608300013,
+ 0.7902062609490808,
+ 0.9877494450974204,
+ 0.4442956984837592,
+ 0.9877472229405987,
+ 0.9874864115650198,
+ 1.060905216586532,
+ 0.9876973759872375,
+ 0.8176462043217865,
+ 0.9877499208517336,
+ 0.9877539019880957,
+ 1.4324043448652095,
+ 0.47140686500007756,
+ 0.9875556458988884,
+ 0.7902011838529751,
+ 1.0609056750852082,
+ 0.987750921875877,
+ 0.9877446894972212,
+ 0.8153140805577133,
+ 0.32764679296671134,
+ 1.4793961828456996,
+ 0.987805982047489,
+ 0.8153382985272288,
+ 1.0608712520866102,
+ 1.7223471310374008,
+ 1.0609129713592667,
+ 1.462887568985791,
+ 1.0608751889249177,
+ 1.4629029783950855,
+ 1.0607548599153218,
+ 0.987747375083688,
+ 0.9877422935953789,
+ 0.9873352234713564,
+ 0.5864325936696315,
+ 1.0608982645741216,
+ 0.814637260315119,
+ 1.4628742101018295,
+ 0.9877198207993219,
+ 1.7559454911807089,
+ 0.6177118818153361,
+ 1.3900391964834706,
+ 1.7153257257683778,
+ 1.423692167921973,
+ 1.4236737870872445,
+ 1.6647318847757127,
+ 1.6518108727585261,
+ 0.9710767999540795,
+ 1.6518158271801222,
+ 1.542368161249886,
+ 1.6647509729599785,
+ 1.0609088655514265,
+ 0.8153372365117155,
+ 3.744936176745619,
+ 1.4628574971560642,
+ 0.9877427266784468,
+ 0.9877539481910562,
+ 1.8392409890504031,
+ 1.4937507256630937,
+ 1.0608990411330772,
+ 0.4467881329226879,
+ 0.9877476778187911,
+ 0.6152397200254991,
+ 1.0001093342221063,
+ 0.7902102689467447,
+ 1.4234559236842097,
+ 1.6559981357281708,
+ 0.9877459476616094,
+ 1.6047543829374458,
+ 1.4120077400397553,
+ 0.9877552429350028,
+ 0.6182610735576459,
+ 1.0608646192284523,
+ 1.5557899962369803,
+ 1.424507999480607,
+ 1.6518119257156925,
+ 0.9877180626675877,
+ 1.25127103014482,
+ 1.4324052834175978,
+ 0.9691299786048467,
+ 0.9876948831027849,
+ 1.060907266334549,
+ 1.4323682812650227,
+ 0.9876552302610154,
+ 0.9877532333622694,
+ 0.8884822148569966,
+ 1.3900331325122166,
+ -0.10489598864485439,
+ 0.3755281671232332,
+ 0.9877671920717523,
+ 1.4791689007004813,
+ 5.807138328924417,
+ 0.8717689344903496,
+ 1.0608974790999792,
+ 0.9335542800849678,
+ 0.8152958542365528,
+ 1.4242229843998286,
+ 1.4236799475934736,
+ 0.9877528707952503,
+ 0.9877521918106388,
+ 0.8152522600101811,
+ 1.4730068081678018,
+ 1.4628548621519906,
+ 0.9877458201625838,
+ 1.6086420099339869,
+ 1.6048057345009108,
+ 1.462853124714301,
+ 0.5703211394879674,
+ 0.9862703088916637,
+ 0.10065317150369271,
+ 0.8153430781835388,
+ 0.9882867125949769,
+ 0.8153209038569242,
+ 1.8128872657715656,
+ 0.9877287276648464,
+ 1.602040584538373,
+ 0.36686369273252484,
+ 1.4321347700232587,
+ 0.6177760384465815,
+ 1.4727372739368423,
+ 0.7427387275806181,
+ 1.4324002143768417,
+ 1.6048242972407063,
+ 0.8082678816398463,
+ 0.7876407556021675,
+ 1.4323949090774712,
+ 0.9873375331332681,
+ 0.8884749777068057,
+ 1.0609004825654034,
+ 0.8152776183126268,
+ 1.4627978650611033,
+ 0.9426157645943829,
+ 0.8884491802062261,
+ 0.980715627266597,
+ 2.6001687308537074,
+ 0.7611434728820404,
+ 0.8965947046989768,
+ 1.6048176859592722,
+ 0.9877518953094825,
+ 1.60482429769322,
+ 1.4324009848370358,
+ 0.9709506471296379,
+ 0.8884810205017601,
+ 0.9877282317968854,
+ 0.9334635353644438,
+ 1.8112419618929039,
+ 1.060738318307986,
+ 1.0609055626988946,
+ 1.5559159309839288,
+ 0.9803129074021542,
+ 1.061021177550948,
+ 0.987671646553238,
+ 0.9877407009036153,
+ 0.6177840688507374,
+ 0.9877582649652248,
+ 1.0609030761796285,
+ 0.9838188700313241,
+ 0.7985787310684078,
+ 1.060720970256712,
+ 0.987775707260209,
+ 0.987776663089661,
+ 1.0609146699132688,
+ 0.9877355354961895,
+ 1.4628794387128088,
+ 0.20499998403840455,
+ 0.7901999918457489,
+ 1.5558532383189967,
+ 0.8158546833703477,
+ 0.9877467996284136,
+ 0.44684494046023676,
+ 1.6518134338924273,
+ 1.556344348085322,
+ 1.5563923130668482,
+ 0.6178430469993235,
+ 7.4394723448658375,
+ 1.4628821644319738,
+ 1.4975421602475536,
+ 0.7010227021621602,
+ 0.9876560759731581,
+ 0.8153353764657632
+ ],
+ "z": [
+ -0.4978234817870296,
+ -0.49821921492982124,
+ -0.5244009112777275,
+ -0.40902494135979156,
+ -0.14031570076602484,
+ -0.27871515659515855,
+ -0.04240386359138635,
+ -0.5317449532603126,
+ -0.49783070856747214,
+ -0.4980439136524255,
+ -0.4978661729010255,
+ -0.49782352443964745,
+ -0.4978238980421,
+ -0.325028473971666,
+ -0.2826793528508001,
+ -0.11658457126098237,
+ -0.2454997452626197,
+ -0.4978611445731546,
+ -0.1732883911786343,
+ -0.409027931551018,
+ -0.4226832730857712,
+ -0.26889597908255874,
+ -0.2794083141693692,
+ -0.26151552042764875,
+ -0.49673751797969873,
+ -0.4967198498417913,
+ -0.2604946301771446,
+ -0.49792416439233117,
+ -0.49785460673275467,
+ -0.5079932057164414,
+ -0.17272369451272787,
+ -0.4090205812873077,
+ 0.05281483194823321,
+ -0.2299050244438465,
+ -0.40902163550946613,
+ -0.4982939893291406,
+ -0.4978464883246811,
+ -0.2885093929905739,
+ -0.40902329898625667,
+ 0.05281356389605385,
+ -0.4967260724063922,
+ -0.49793061732397575,
+ -0.19827444267982053,
+ -0.04667967434244972,
+ -0.27873084766329165,
+ -0.2826964153348295,
+ -0.26151843514817513,
+ -0.49671596318678923,
+ -0.2615974888407017,
+ -0.49782399097185986,
+ -0.4967176119181094,
+ -0.17270815280819066,
+ -0.49782862344831286,
+ -0.409021105935057,
+ -0.14750260451885475,
+ -0.5486741090652529,
+ -0.03685107868481252,
+ -0.26154927492665697,
+ -0.49672537546789974,
+ -0.2787842165819448,
+ -0.531722724652786,
+ -0.32641387885771905,
+ -0.2787159825175134,
+ -0.4143166706284257,
+ -0.2787158470989291,
+ -0.4402693014235267,
+ -0.49782894695383584,
+ -0.26153538046986047,
+ -0.4090456171939921,
+ -0.2798584198003629,
+ -0.278717232260091,
+ -0.30978518302463676,
+ -0.11659065498568455,
+ -0.4090714434100632,
+ -0.27872632406174613,
+ -0.2787485557748928,
+ -0.43681012787145646,
+ -0.4090367968307463,
+ -0.031443883686566886,
+ -0.49821714169408143,
+ -0.49782752564105154,
+ -0.4978637519908424,
+ -0.26041300887445507,
+ -0.17297067910915306,
+ -0.40902876986056597,
+ -0.4978434778351765,
+ -0.2787148602426504,
+ -0.4090209763515928,
+ -0.49782554920530403,
+ -0.49782415472778596,
+ -0.26156783935499606,
+ -0.3681429212407727,
+ -0.6016097024812991,
+ -0.11661241263262834,
+ -0.49783511105965844,
+ -0.4091960946146637,
+ -0.11663642345758711,
+ -0.26040112176081043,
+ -0.6307566110606587,
+ -0.11660557722209282,
+ -0.5944963460573081,
+ 0.04932586041605105,
+ -0.4090286179501328,
+ -0.5287441929895179,
+ -0.40902213256640135,
+ -0.11660273605190118,
+ -0.4978315606569675,
+ -0.497826675013875,
+ -0.11659065498568455,
+ -0.40902603417622174,
+ -0.2787189052559242,
+ -0.4978323458278832,
+ -0.21943759023621975,
+ -0.4978288880458116,
+ -0.49786357288249766,
+ -0.4090211424216662,
+ -0.4978344228610648,
+ -0.2750531952341487,
+ -0.49782541192666974,
+ -0.4978248170456703,
+ -0.21267837522911906,
+ -0.22948517183290768,
+ -0.49785969396552265,
+ -0.27871552999507526,
+ -0.4090230659184122,
+ -0.4978286987288318,
+ -0.4978248124924332,
+ -0.26151308740908585,
+ -0.33002263874092447,
+ -0.2604059641451089,
+ -0.4982261839773293,
+ -0.261523431656458,
+ -0.4090307267463122,
+ -0.613596315789873,
+ -0.40906509675084635,
+ -0.11662730839489868,
+ -0.40903362637908186,
+ -0.11674417491588299,
+ -0.4090906856884535,
+ -0.4978265278534349,
+ -0.4978254759229199,
+ -0.49787945218716073,
+ -0.04661865706218663,
+ -0.40902876954422146,
+ -0.26172298267538585,
+ -0.11658822617958006,
+ -0.4978367499185964,
+ -0.5508431174855627,
+ -0.042413757055885064,
+ -0.03146889770203545,
+ -0.6114624261007002,
+ -0.43677816180627493,
+ -0.43680468733388506,
+ -0.4963318211595888,
+ -0.49672364394109486,
+ -0.5037510639558965,
+ -0.4967232496095134,
+ -0.19788697284050236,
+ -0.49634588034116744,
+ -0.40902547164313663,
+ -0.26151645029752585,
+ 3.607420636887646,
+ -0.11658742565356699,
+ -0.4978329524707677,
+ -0.4978251731193916,
+ -0.1391775067122039,
+ -0.13684640051143232,
+ -0.4090246067065863,
+ -0.2605789795781783,
+ -0.49782475536926624,
+ -0.057245554508814314,
+ -0.5160292509376977,
+ -0.27875099455052066,
+ -0.4370375754395798,
+ -0.46553460405968045,
+ -0.4978253992444118,
+ -0.44901018005910925,
+ -0.2202068453660841,
+ -0.4978299831636739,
+ -0.046023324746172024,
+ -0.40904186687889443,
+ 0.049242532296352316,
+ -0.44830187979281555,
+ -0.49678997829753585,
+ -0.4978736976279012,
+ -0.20046782168938293,
+ -0.21268088758717515,
+ -0.5023171551844349,
+ -0.49783477204959053,
+ -0.40903904184313694,
+ -0.2126900556419955,
+ -0.4980787279279867,
+ -0.4978245737773821,
+ -0.17270880439409508,
+ -0.031437115181984616,
+ 0.10086988416416824,
+ -0.45209237085204385,
+ -0.49791789606671594,
+ -0.2605246444313831,
+ 2.367674580021656,
+ -0.39078063305470256,
+ -0.4090227277779,
+ -0.24686684613173288,
+ -0.2615247939011385,
+ -0.2078927823198299,
+ -0.4367837296896235,
+ -0.49782394251720563,
+ -0.4978241708501903,
+ -0.261629630153443,
+ -0.023208587835528413,
+ -0.11659510017708286,
+ -0.49782858327712803,
+ 0.07975260783388084,
+ -0.44904800245986964,
+ -0.11659090676240405,
+ -0.05685678810241269,
+ -0.4985963807087667,
+ 0.12530130874943943,
+ -0.2615238830221464,
+ -0.5019310442836415,
+ -0.26151410665937813,
+ -0.5937192363472045,
+ -0.49783566163930604,
+ -0.2954176138923621,
+ -0.4868277835308561,
+ -0.21271109991757164,
+ -0.04242465415079364,
+ -0.03290286157177517,
+ -0.29318464127370875,
+ -0.2126775182594017,
+ -0.4489907075805317,
+ -0.2624512189448914,
+ -0.29355792121572255,
+ -0.21270238373704367,
+ -0.49788115334195626,
+ -0.17271585728608455,
+ -0.4090340453363516,
+ -0.26156089576744856,
+ -0.11659755393491983,
+ -0.3211267086458676,
+ -0.17271324613834524,
+ -0.4991955307572613,
+ -0.1338171976294842,
+ -0.010554020235517554,
+ -0.17867631652839025,
+ -0.4490036296867801,
+ -0.4978297799157346,
+ -0.44899576504745325,
+ -0.21267530676771562,
+ -0.5126906951203081,
+ -0.17270745122522907,
+ -0.4978352964134884,
+ -0.2469602640325198,
+ -0.59429206336127,
+ -0.40904936490846533,
+ -0.40903050273742325,
+ 0.048967668699615934,
+ -0.5050905777668572,
+ -0.4091047310520704,
+ -0.49783586821888454,
+ -0.49783364720369194,
+ -0.042401700318436715,
+ -0.49782682288389346,
+ -0.40919985266545816,
+ -0.49874957115258645,
+ -0.28494746804463306,
+ -0.40924783246586655,
+ -0.49784513303915506,
+ -0.49798606006100166,
+ -0.4091020409326975,
+ -0.49786835625653836,
+ -0.1165844287244019,
+ -0.1350942466665983,
+ -0.2787452461486613,
+ 0.049319815104985294,
+ -0.26553660465960305,
+ -0.4979276429108775,
+ -0.26049704844119426,
+ -0.49671464755171973,
+ 0.04901633866126894,
+ 0.048981010608307333,
+ -0.042801707091978475,
+ -9.973461149293392,
+ -0.11658630306943053,
+ -0.07941696921609954,
+ 0.03906150235246384,
+ -0.4978426106694175,
+ -0.26150910502020813
+ ]
+ },
+ {
+ "customdata": [
+ [
+ "SHA-256"
+ ],
+ [
+ "Ethash"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "CryptoNight-V7"
+ ],
+ [
+ "Ethash"
+ ],
+ [
+ "Equihash"
+ ],
+ [
+ "Multiple"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Multiple"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Quark"
+ ],
+ [
+ "Groestl"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Multiple"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "NeoScrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "HybridScryptHash256"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Lyra2REv2"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "CryptoNight"
+ ],
+ [
+ "CryptoNight"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Stanford Folding"
+ ],
+ [
+ "Multiple"
+ ],
+ [
+ "QuBit"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "M7 POW"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Lyra2RE"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Ethash"
+ ],
+ [
+ "Blake2b"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "1GB AES Pattern Search"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Dagger"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X11GOST"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Equihash"
+ ],
+ [
+ "CryptoNight"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "Multiple"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Lyra2Z"
+ ],
+ [
+ "Ethash"
+ ],
+ [
+ "Equihash"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "CryptoNight"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "CryptoNight"
+ ],
+ [
+ "Lyra2RE"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "CryptoNight-V7"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Equihash"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Lyra2RE"
+ ],
+ [
+ "Dagger-Hashimoto"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "NIST5"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "CryptoNight-V7"
+ ],
+ [
+ "Argon2d"
+ ],
+ [
+ "Blake2b"
+ ],
+ [
+ "Cloverhash"
+ ],
+ [
+ "CryptoNight"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "CryptoNight"
+ ],
+ [
+ "Time Travel"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Keccak"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "CryptoNight"
+ ],
+ [
+ "Equihash"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "NeoScrypt"
+ ],
+ [
+ "Equihash"
+ ],
+ [
+ "Dagger"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "NeoScrypt"
+ ],
+ [
+ "Ethash"
+ ],
+ [
+ "NeoScrypt"
+ ],
+ [
+ "Multiple"
+ ],
+ [
+ "CryptoNight"
+ ],
+ [
+ "CryptoNight"
+ ],
+ [
+ "Ethash"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "CryptoNight-V7"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "BLAKE256"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "NeoScrypt"
+ ],
+ [
+ "NeoScrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "C11"
+ ],
+ [
+ "CryptoNight"
+ ],
+ [
+ "SkunkHash"
+ ],
+ [
+ "CryptoNight"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Dagger"
+ ],
+ [
+ "Lyra2REv2"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Ethash"
+ ],
+ [
+ "CryptoNight"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "IMesh"
+ ],
+ [
+ "Equihash"
+ ],
+ [
+ "Lyra2Z"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "CryptoNight"
+ ],
+ [
+ "NIST5"
+ ],
+ [
+ "Lyra2RE"
+ ],
+ [
+ "Tribus"
+ ],
+ [
+ "Lyra2Z"
+ ],
+ [
+ "CryptoNight"
+ ],
+ [
+ "CryptoNight Heavy"
+ ],
+ [
+ "CryptoNight"
+ ],
+ [
+ "Jump Consistent Hash"
+ ],
+ [
+ "CryptoNight"
+ ],
+ [
+ "X16R"
+ ],
+ [
+ "HMQ1725"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "CryptoNight-V7"
+ ],
+ [
+ "Cryptonight-GPU"
+ ],
+ [
+ "XEVAN"
+ ],
+ [
+ "CryptoNight Heavy"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "X11"
+ ],
+ [
+ "X16R"
+ ],
+ [
+ "Equihash"
+ ],
+ [
+ "Lyra2Z"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "XEVAN"
+ ],
+ [
+ "CryptoNight"
+ ],
+ [
+ "Blake"
+ ],
+ [
+ "Blake"
+ ],
+ [
+ "Equihash"
+ ],
+ [
+ "Exosis"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Equihash"
+ ],
+ [
+ "Equihash"
+ ],
+ [
+ "QuBit"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "X13"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "NeoScrypt"
+ ],
+ [
+ "Blake"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "SHA-256"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Groestl"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Scrypt"
+ ],
+ [
+ "Multiple"
+ ],
+ [
+ "Equihash+Scrypt"
+ ],
+ [
+ "Ethash"
+ ],
+ [
+ "CryptoNight"
+ ],
+ [
+ "Equihash"
+ ]
+ ],
+ "hovertemplate": "%{hovertext}
class=%{marker.color}
PC 1=%{x}
PC 2=%{y}
PC 3=%{z}
Algorithm=%{customdata[0]}",
+ "hovertext": [
+ "Bitcoin",
+ "Ethereum",
+ "Litecoin",
+ "Monero",
+ "Ethereum Classic",
+ "ZCash",
+ "DigiByte",
+ "ProsperCoin",
+ "Spreadcoin",
+ "Argentum",
+ "MyriadCoin",
+ "MoonCoin",
+ "ZetaCoin",
+ "SexCoin",
+ "Quatloo",
+ "QuarkCoin",
+ "Riecoin",
+ "Digitalcoin ",
+ "Catcoin",
+ "CannaCoin",
+ "CryptCoin",
+ "Verge",
+ "DevCoin",
+ "EarthCoin",
+ "E-Gulden",
+ "Einsteinium",
+ "Emerald",
+ "Franko",
+ "FeatherCoin",
+ "GrandCoin",
+ "GlobalCoin",
+ "GoldCoin",
+ "Infinite Coin",
+ "IXcoin",
+ "KrugerCoin",
+ "LuckyCoin",
+ "Litebar ",
+ "MegaCoin",
+ "MediterraneanCoin",
+ "MinCoin",
+ "NobleCoin",
+ "Namecoin",
+ "NyanCoin",
+ "RonPaulCoin",
+ "StableCoin",
+ "SmartCoin",
+ "SysCoin",
+ "TigerCoin",
+ "TerraCoin",
+ "UnbreakableCoin",
+ "Unobtanium",
+ "UroCoin",
+ "ViaCoin",
+ "Vertcoin",
+ "WorldCoin",
+ "JouleCoin",
+ "ByteCoin",
+ "DigitalNote ",
+ "MonaCoin",
+ "Gulden",
+ "PesetaCoin",
+ "Wild Beast Coin",
+ "Flo",
+ "ArtByte",
+ "Folding Coin",
+ "Unitus",
+ "CypherPunkCoin",
+ "OmniCron",
+ "GreenCoin",
+ "Cryptonite",
+ "MasterCoin",
+ "SoonCoin",
+ "1Credit",
+ "MarsCoin ",
+ "Crypto",
+ "Anarchists Prime",
+ "BowsCoin",
+ "Song Coin",
+ "BitZeny",
+ "Expanse",
+ "Siacoin",
+ "MindCoin",
+ "I0coin",
+ "Revolution VR",
+ "HOdlcoin",
+ "Gamecredits",
+ "CarpeDiemCoin",
+ "Adzcoin",
+ "SoilCoin",
+ "YoCoin",
+ "SibCoin",
+ "Francs",
+ "BolivarCoin",
+ "Omni",
+ "PizzaCoin",
+ "Komodo",
+ "Karbo",
+ "ZayedCoin",
+ "Circuits of Value",
+ "DopeCoin",
+ "DollarCoin",
+ "Shilling",
+ "ZCoin",
+ "Elementrem",
+ "ZClassic",
+ "KiloCoin",
+ "ArtexCoin",
+ "Kurrent",
+ "Cannabis Industry Coin",
+ "OsmiumCoin",
+ "Bikercoins",
+ "HexxCoin",
+ "PacCoin",
+ "Citadel",
+ "BeaverCoin",
+ "VaultCoin",
+ "Zero",
+ "Canada eCoin",
+ "Zoin",
+ "DubaiCoin",
+ "EB3coin",
+ "Coinonat",
+ "BenjiRolls",
+ "ILCoin",
+ "EquiTrader",
+ "Quantum Resistant Ledger",
+ "Dynamic",
+ "Nano",
+ "ChanCoin",
+ "Dinastycoin",
+ "DigitalPrice",
+ "Unify",
+ "SocialCoin",
+ "ArcticCoin",
+ "DAS",
+ "LeviarCoin",
+ "Bitcore",
+ "gCn Coin",
+ "SmartCash",
+ "Onix",
+ "Bitcoin Cash",
+ "Sojourn Coin",
+ "NewYorkCoin",
+ "FrazCoin",
+ "Kronecoin",
+ "AdCoin",
+ "Linx",
+ "Sumokoin",
+ "BitcoinZ",
+ "Elements",
+ "VIVO Coin",
+ "Bitcoin Gold",
+ "Pirl",
+ "eBoost",
+ "Pura",
+ "Innova",
+ "Ellaism",
+ "GoByte",
+ "SHIELD",
+ "UltraNote",
+ "BitCoal",
+ "DaxxCoin",
+ "AC3",
+ "Lethean",
+ "PopularCoin",
+ "Photon",
+ "Sucre",
+ "SparksPay",
+ "GunCoin",
+ "IrishCoin",
+ "Pioneer Coin",
+ "UnitedBitcoin",
+ "Interzone",
+ "TurtleCoin",
+ "MUNcoin",
+ "Niobio Cash",
+ "ShareChain",
+ "Travelflex",
+ "KREDS",
+ "BitFlip",
+ "LottoCoin",
+ "Crypto Improvement Fund",
+ "Callisto Network",
+ "BitTube",
+ "Poseidon",
+ "Aidos Kuneen",
+ "Bitrolium",
+ "Alpenschillling",
+ "FuturoCoin",
+ "Monero Classic",
+ "Jumpcoin",
+ "Infinex",
+ "KEYCO",
+ "GINcoin",
+ "PlatinCoin",
+ "Loki",
+ "Newton Coin",
+ "MassGrid",
+ "PluraCoin",
+ "Motion",
+ "PlusOneCoin",
+ "Axe",
+ "HexCoin",
+ "Webchain",
+ "Ryo",
+ "Urals Coin",
+ "Qwertycoin",
+ "Project Pai",
+ "Azart",
+ "Xchange",
+ "CrypticCoin",
+ "Actinium",
+ "Bitcoin SV",
+ "BitMoney",
+ "FREDEnergy",
+ "Universal Molecule",
+ "Lithium",
+ "PirateCash",
+ "Exosis",
+ "Block-Logic",
+ "Beam",
+ "Bithereum",
+ "SLICE",
+ "BLAST",
+ "Bitcoin Rhodium",
+ "GlobalToken",
+ "SolarCoin",
+ "UFO Coin",
+ "BlakeCoin",
+ "Crypto Escudo",
+ "Crown Coin",
+ "SmileyCoin",
+ "Groestlcoin",
+ "Bata",
+ "Pakcoin",
+ "JoinCoin",
+ "Vollar",
+ "Reality Clash",
+ "Beldex",
+ "Horizen"
+ ],
+ "legendgroup": "1",
+ "marker": {
+ "color": [
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1
+ ],
+ "coloraxis": "coloraxis",
+ "symbol": "diamond"
+ },
+ "mode": "markers",
+ "name": "1",
+ "scene": "scene",
+ "showlegend": true,
+ "type": "scatter3d",
+ "x": [
+ -0.13822267831768856,
+ -0.14705500060990545,
+ -0.147980332554771,
+ -0.1438754243942218,
+ -0.14549605664620793,
+ -0.15143072625451393,
+ 0.1740844144138036,
+ -0.14912722032508538,
+ -0.24176090075572415,
+ -0.14874352785247827,
+ -0.07946802564156524,
+ 2.5744443923122433,
+ -0.13530597431074556,
+ -0.14599735164456645,
+ -0.14854742897388218,
+ -0.2178425309884454,
+ -0.20687203861267567,
+ -0.14859626199543782,
+ -0.1491094770210082,
+ -0.14919598333064946,
+ -0.2418502914710839,
+ 0.19784301220449568,
+ 0.2398371914054666,
+ 0.09967448626609464,
+ -0.1489421393990833,
+ -0.14454494825206352,
+ -0.14888139352895402,
+ -0.14925301760134274,
+ -0.16904160595992346,
+ -0.1284634421027839,
+ -0.14804744875985384,
+ -0.14832504069523278,
+ 1.6006388734499286,
+ -0.13818402744148955,
+ -0.14561287203785733,
+ -0.14896859559989925,
+ -0.14932360891963473,
+ -0.14858244101457682,
+ -0.134020496260302,
+ -0.1492048068512927,
+ -0.014028447502719001,
+ -0.13826167878051668,
+ -0.14286516164241256,
+ -0.1491842297065851,
+ -0.14727740225261246,
+ -0.14867068167140468,
+ -0.12540639505266055,
+ -0.13772514667575006,
+ -0.13801250610447324,
+ -0.1379954553371547,
+ -0.13858652834471566,
+ -0.24202428993863093,
+ -0.14890056868153412,
+ -0.18365008664134452,
+ -0.1460020572295344,
+ -0.13779247824627353,
+ 3.86977776377338,
+ 0.4668357500633475,
+ -0.14776750981956507,
+ -0.13235720522330607,
+ -0.1464856109424014,
+ -0.1493258184932131,
+ -0.14635058386570376,
+ -0.13256638867148116,
+ -0.09813641573194656,
+ -0.11349389599033742,
+ -0.1819462592139542,
+ -0.14919882887242644,
+ -0.022062979193083768,
+ -0.10554796481022959,
+ -0.14933471712478955,
+ -0.13828947092266672,
+ 0.5032293400743029,
+ -0.2414111304778424,
+ -0.1448079793081944,
+ -0.13802917334737816,
+ -0.24169618762410577,
+ -0.14745736561885228,
+ -0.14664915450660349,
+ -0.14812300895101785,
+ 0.37510406109814853,
+ -0.2417316065039552,
+ -0.1381851503836418,
+ -0.1452903047812922,
+ -0.1560825753744252,
+ -0.1478972553847805,
+ 0.28053398783471195,
+ -0.24089183932952973,
+ -0.1446042991387295,
+ -0.14814475317132994,
+ -0.15161170775714983,
+ -0.14912450469772057,
+ -0.24169482437263018,
+ -0.14933477565253248,
+ -0.24184487448152467,
+ -0.29497508476332,
+ 0.31165183772100014,
+ -0.1384453802015089,
+ -0.09355504011151392,
+ -0.14649985652465128,
+ -0.13840398744803584,
+ -0.14899797818056287,
+ -0.14487323615941258,
+ -0.147865023572678,
+ -0.1514523547186729,
+ -0.07601529706836453,
+ -0.22842078991582296,
+ -0.23967174099342392,
+ 0.31164620607239524,
+ -0.14931650245276995,
+ 0.31177699371850637,
+ -0.14534874682519366,
+ 0.4738450134482493,
+ -0.14263935214874363,
+ -0.14928477241619661,
+ -0.23457444198571328,
+ -0.15146473874418107,
+ -0.14741698833411684,
+ -0.14506697088223378,
+ -0.15085532823017705,
+ -0.12019042091525373,
+ -0.18855351606947396,
+ -0.14884689715883698,
+ -0.10475107180193469,
+ -0.14866884377077808,
+ -0.14249706628439043,
+ -0.14691006508707333,
+ -0.02541010466728681,
+ -0.1414295258102679,
+ 0.3477886062384064,
+ -0.24090022664608488,
+ -0.14898830882073957,
+ -0.14875152747305448,
+ -0.24129514167133634,
+ -0.2418729259298313,
+ 0.31204142414949965,
+ -0.1555617279743297,
+ 3.2622975396159246,
+ -0.10592656856896933,
+ -0.23273951508807014,
+ -0.13822184209360708,
+ -0.07486209011610508,
+ 1.5986068102343745,
+ -0.1490862075474876,
+ -0.14853751861777426,
+ -0.14823832531756673,
+ -0.1482252493414566,
+ 0.31222515405912654,
+ 0.06098759339351684,
+ -0.19623459313350966,
+ -0.1737330239373893,
+ -0.15131070606087121,
+ -0.14336265611889878,
+ -0.14741519654316498,
+ -0.23741478209440753,
+ -0.17357834232431657,
+ -0.14622919482646932,
+ -0.17367860908214527,
+ -0.1037201168726099,
+ 1.1500872032327762,
+ 0.3116289610362926,
+ -0.07107235462140878,
+ -0.2371560880544729,
+ -0.13160279465657085,
+ -0.06542669365121284,
+ 1.102317633438415,
+ -0.24184691020928015,
+ -0.17373058525095803,
+ -0.16676446298569428,
+ -0.14833678394118824,
+ -0.24177227614909452,
+ -0.1382012291600798,
+ -0.2094123883149161,
+ 8.054213092799301,
+ -0.15517981594172287,
+ 0.31550565079141574,
+ 0.04381418528603335,
+ -0.14286564623274814,
+ -0.1691998390002865,
+ -0.1489108275806272,
+ 0.15833975890007812,
+ -0.23590977791225765,
+ -0.09923883601870967,
+ 0.31955692932783075,
+ -0.14914797597288387,
+ -0.15090072022393203,
+ -0.15030123188410943,
+ -0.14265539549414297,
+ -0.2409410206799514,
+ 0.31181158020833705,
+ -0.1886130266752359,
+ -0.14519389288598825,
+ -0.15091096169698848,
+ -0.14495766437279822,
+ 0.31574225061483685,
+ 0.5816649693341835,
+ 2.121373183049754,
+ -0.15161417295941007,
+ 0.32542436281498915,
+ -0.1945412734494766,
+ -0.1472005868899298,
+ -0.24182906020102424,
+ -0.14917257012925425,
+ -0.131482126633257,
+ -0.1361520304904393,
+ -0.2029698282105127,
+ 3.1056763863904653,
+ -0.09802697502374835,
+ -0.24180040807624523,
+ -0.19396864285479018,
+ -0.045996297240979235,
+ -0.14435505052130762,
+ -0.13822187967896554,
+ 0.3546518785859468,
+ 0.39161918621640285,
+ -0.1398800606629114,
+ -0.14027234396406216,
+ -0.275669249217452,
+ -0.1568543444513964,
+ -0.14806421740904638,
+ -0.14936962697287479,
+ -0.15114342995769625,
+ -0.1811567503452253,
+ -0.13749761085075002,
+ -0.11152919670365873,
+ -0.13636488292758592,
+ 0.5471759832960484,
+ -0.09885396752181495,
+ -0.09070706090213063,
+ -0.1327170546241331,
+ -0.13801187622170727,
+ 0.5669151913777551,
+ -0.20643279252676747,
+ -0.14924946019672725,
+ -0.1472039747377855,
+ -0.11422916923481144,
+ -0.12146970912030575,
+ -0.14789820078566598,
+ 0.33339850434994894,
+ -0.15143178376289135
+ ],
+ "y": [
+ -1.243438235454818,
+ -1.9660740337329272,
+ -1.0458984275191305,
+ -2.1972053547763255,
+ -1.9661592961734164,
+ -2.022357088507333,
+ -1.70184184861329,
+ -1.045899021121854,
+ -0.9727428699043202,
+ -1.0459139949567338,
+ -1.698462878177201,
+ -1.206689393435985,
+ -1.2434288205657222,
+ -1.045936899170269,
+ -1.045931353003408,
+ -0.4288041860828669,
+ -1.3091218174414605,
+ -1.0458973620236676,
+ -1.0458983374048876,
+ -1.0458962311599855,
+ -0.9727449303305584,
+ -1.6978500930462916,
+ -1.2433890656877555,
+ -1.045640142732163,
+ -1.0458918892500915,
+ -1.0459153923593767,
+ -1.0458971612391594,
+ -1.0458971110785926,
+ -1.5868194804999853,
+ -1.0460713935323775,
+ -1.0458913247964525,
+ -1.0459035756483674,
+ -1.0411607938825775,
+ -1.2434367460896079,
+ -1.045932755966015,
+ -1.0458922166391509,
+ -1.0458929895662974,
+ -1.0458925621516089,
+ -2.151479847421929,
+ -1.0458943980672941,
+ -1.051059652490984,
+ -1.243439738290934,
+ -1.0458764139790622,
+ -1.0459012179100744,
+ -1.045986224386992,
+ -1.0459023294339096,
+ -1.2435443991085107,
+ -1.2434370657442906,
+ -1.2434446701682205,
+ -1.2434703117572605,
+ -1.2434378955491103,
+ -0.9727391779120402,
+ -1.0458916715101825,
+ -1.246001284927934,
+ -1.0459477527511454,
+ -1.2434382678651272,
+ -2.226916885995865,
+ -2.2373016821332543,
+ -1.045904843146115,
+ -1.0464009510605632,
+ -1.0458978470045763,
+ -1.0458939591736809,
+ -1.0458882243456473,
+ -1.045938404811142,
+ -2.0982041427411438,
+ -1.6983898864380473,
+ -1.5622180357014928,
+ -1.045889580221227,
+ -1.0479089088166211,
+ -2.178574198705278,
+ -1.0458929120360856,
+ -1.2434408092278373,
+ -1.0844170521147969,
+ -0.9727383888219678,
+ -2.160902747760317,
+ -1.243453451151259,
+ -0.9727410683302634,
+ -1.0459656423984434,
+ -1.0459620156127198,
+ -1.9661268885472531,
+ -2.163560747909998,
+ -0.9727389728096397,
+ -1.2434367893608385,
+ -1.0458819712085883,
+ -2.2710787100006162,
+ -1.045895226239909,
+ -1.2422542923300117,
+ -0.9727536740758866,
+ -2.1012488315688995,
+ -1.0459631401858696,
+ -2.065587540400101,
+ -1.0458982244094615,
+ -0.972743784074783,
+ -1.0458929121944132,
+ -0.9727495660759742,
+ -1.6723752389957671,
+ -2.236367739523743,
+ -1.2434390215405202,
+ -1.6984520492475526,
+ -1.0459216591465599,
+ -1.243438050972778,
+ -1.0459002695511532,
+ -2.048304442679427,
+ -1.9661233830371554,
+ -2.022357921934288,
+ -1.0499878967528569,
+ -0.9725610178079982,
+ -0.9728063169763069,
+ -2.2363755692909764,
+ -1.0458936599070836,
+ -2.236373297821495,
+ -2.1608849756844584,
+ -1.014360906452696,
+ -2.197285756968045,
+ -1.0458928841067425,
+ -0.9731441758914355,
+ -2.0223556308620925,
+ -1.045887792827585,
+ -2.1608817305451478,
+ -2.080725641006778,
+ -1.0475377185564243,
+ -0.6099677196112787,
+ -1.045898268322378,
+ -1.2438640861117274,
+ -1.045916653646679,
+ -2.1972249086370685,
+ -1.9702179721846802,
+ -2.179229580344009,
+ -2.059654210859611,
+ -2.236352469641299,
+ -0.9727650703742114,
+ -1.0458924757602386,
+ -1.0459219159709305,
+ -0.9727526051937911,
+ -0.9727464253843618,
+ -2.236383178311038,
+ -2.248259261702988,
+ -1.052843110441383,
+ -1.0919180518861515,
+ -0.9731426760761753,
+ -1.2434382032319267,
+ -1.0502894937772504,
+ -0.9785376505338103,
+ -1.0458967486746555,
+ -1.0459198980165783,
+ -1.0459194420643076,
+ -1.045918938197233,
+ -2.2364002440150044,
+ -2.0286907174393267,
+ -0.9722204509022554,
+ -1.5867864093673965,
+ -2.02235246367295,
+ -2.1012883993099054,
+ -1.045887723783067,
+ -0.9728037801802574,
+ -1.5867929061377606,
+ -1.9662359916011096,
+ -1.5867876344870755,
+ -1.6984700310724983,
+ -2.2628785768171915,
+ -2.2363703512217463,
+ -1.970066822950343,
+ -0.9729322255044534,
+ -2.197424153810495,
+ -1.0461195328763317,
+ -1.241657112233722,
+ -0.9727460457617874,
+ -1.5867821629818624,
+ -1.5868452328304916,
+ -1.0458983215673778,
+ -0.9727453844483135,
+ -1.2434368317517261,
+ -1.1618789576581732,
+ -2.630079441791305,
+ -2.087477258362653,
+ -2.2364448519300777,
+ -1.0453704112020774,
+ -2.101230279488207,
+ -1.2461476039947226,
+ -1.0459038319966443,
+ -1.0467755150941636,
+ -0.9728495969888817,
+ -1.9687299432589127,
+ -2.2367482745448446,
+ -1.0458998209158774,
+ -2.062389064528126,
+ -2.022347476173198,
+ -2.048411791254531,
+ -0.9727666423234369,
+ -2.236367397417502,
+ -0.609951152518275,
+ -2.1608902754565475,
+ -2.192671030570676,
+ -2.04830015246798,
+ -2.2366184413994477,
+ -2.0086960251054253,
+ -2.2939660607667336,
+ -2.1848876232607077,
+ -2.236522180024408,
+ -1.2908961872739575,
+ -2.1394755341480765,
+ -0.9727461884158376,
+ -1.0459015335404294,
+ -2.1979389145486397,
+ -2.094988472964323,
+ -1.1001484562864372,
+ -2.0389984168822646,
+ -1.243328153519389,
+ -0.9727478526163164,
+ -1.2909280506281213,
+ -2.02353948963087,
+ -2.0483277985326254,
+ -1.2434382046802332,
+ -0.19829379844643388,
+ -2.238871289938614,
+ -2.140479192962031,
+ -2.1404390189095555,
+ -0.1611607138567215,
+ -2.1934980672345787,
+ -1.0459265744035406,
+ -2.0224450087866854,
+ -2.022352859682301,
+ -1.5622568198176008,
+ -1.2434400548132485,
+ -0.38183358345189744,
+ -1.2434683816700416,
+ -1.0869452414329661,
+ -1.586650624551877,
+ -2.1433561026544443,
+ -1.0459442105431347,
+ -1.2434446458964423,
+ -1.0528960984135858,
+ -1.3091194250676,
+ -1.0458926583857393,
+ -1.045936334257372,
+ -1.6984201571047377,
+ -2.2602381809680345,
+ -1.9661234727871522,
+ -2.2364918876728197,
+ -2.02235712925715
+ ],
+ "z": [
+ 0.2027942345898349,
+ 0.34603380977007203,
+ -0.01633493005309286,
+ 0.40422061158692346,
+ 0.34602012355366557,
+ 0.3597873094327057,
+ 0.29292027118899006,
+ -0.016311547257313503,
+ 0.07248954264237083,
+ -0.016316179724234665,
+ 0.29735162648286584,
+ -0.03773440883104507,
+ 0.20273310648355175,
+ -0.01636705399715983,
+ -0.016316506618110547,
+ 0.03242291704618532,
+ 0.1988152695811004,
+ -0.016322663528658982,
+ -0.016312050841145974,
+ -0.0163107394366585,
+ 0.07249178865676632,
+ 0.2915991282119497,
+ 0.1951171395101692,
+ -0.02141148359145228,
+ -0.01631680015505974,
+ -0.016401029781586814,
+ -0.016316923504329724,
+ -0.0163093978081115,
+ 0.22093066854970794,
+ -0.016694348044163525,
+ -0.01633506246262866,
+ -0.016326857158230776,
+ -0.05279172113700583,
+ 0.20279313761509796,
+ -0.016375722122736993,
+ -0.016316194804802706,
+ -0.016308832892784637,
+ -0.016323953065405832,
+ 0.3660916969904313,
+ -0.01631094594282975,
+ -0.017966129736605368,
+ 0.2027953414864129,
+ -0.01644329042552499,
+ -0.016309929238331074,
+ -0.016330724078679665,
+ -0.016320109870252848,
+ 0.20255665325305047,
+ 0.20278389908780564,
+ 0.20279132547546222,
+ 0.20279637129775327,
+ 0.2028015417104907,
+ 0.07249410766067002,
+ -0.01631768896012958,
+ 0.18794230120791855,
+ -0.016364676413920167,
+ 0.20278551728620703,
+ 0.31404584978891853,
+ 0.38523841985915486,
+ -0.0163378969312224,
+ -0.016546090286727464,
+ -0.01636536389309375,
+ -0.016308584207241676,
+ -0.016370125470349974,
+ -0.01663910675562899,
+ 0.3841560103348368,
+ 0.2980262965163497,
+ 0.25204261225219743,
+ -0.01631208020902966,
+ -0.01846569544763047,
+ 0.4400104706730214,
+ -0.016308623929237716,
+ 0.20279613027261584,
+ -0.021441725792070022,
+ 0.07248150734977657,
+ 0.4193983348604271,
+ 0.20279350983128178,
+ 0.07248785149818636,
+ -0.016331402291181882,
+ -0.01634855477166508,
+ 0.3460665817988903,
+ 0.4120105941942,
+ 0.07248812914482151,
+ 0.2027931694860229,
+ -0.01639294192759354,
+ 0.38918551924278183,
+ -0.01633728791831671,
+ 0.19405323434115823,
+ 0.07247419052992822,
+ 0.3755070637983502,
+ -0.016317988747774365,
+ 0.34256536142645105,
+ -0.01631176985099346,
+ 0.07248839488592407,
+ -0.016308622709049966,
+ 0.07249265355209683,
+ 0.4254619506433752,
+ 0.3881890493425955,
+ 0.20279891609700873,
+ 0.2976350230620972,
+ -0.016360068079151562,
+ 0.2027978726055194,
+ -0.016313905681787786,
+ 0.34356623125396213,
+ 0.34606061296308877,
+ 0.35978792328370096,
+ -0.016934440903546736,
+ 0.0721807780805708,
+ 0.07246051699959886,
+ 0.38819080989528143,
+ -0.016308836055305566,
+ 0.3881876800081684,
+ 0.4194055643057359,
+ 0.06672854814430343,
+ 0.40421245100113645,
+ -0.016309642641213,
+ 0.07242818861528977,
+ 0.3597876926834575,
+ -0.016348590362324434,
+ 0.4193991677636009,
+ 0.33047177267895184,
+ -0.01655379757823182,
+ 0.04473274643741545,
+ -0.01631739027967194,
+ 0.20220499942961756,
+ -0.016317135221896,
+ 0.4041967711162139,
+ 0.2521668252862599,
+ 0.4234273555319301,
+ 0.36234805744811854,
+ 0.3874530133877646,
+ 0.07247675689174321,
+ -0.016315740551417345,
+ -0.016314351964652085,
+ 0.07248214443223777,
+ 0.07249256202730664,
+ 0.3881843951153764,
+ 0.46177755194609865,
+ -0.08403243553402913,
+ 0.15935403862360575,
+ 0.07239066238090773,
+ 0.20279421085643712,
+ -0.01689441091374713,
+ -0.06591813795141184,
+ -0.016312856786414167,
+ -0.01631911620626538,
+ -0.01632527948268725,
+ -0.016325650600159666,
+ 0.3881842575842114,
+ 0.3568113909888205,
+ 0.07145645714485688,
+ 0.22101885301809235,
+ 0.35978390306437635,
+ 0.3754902040748771,
+ -0.016348641216266273,
+ 0.07241421424518536,
+ 0.22101708225794112,
+ 0.3460511175908569,
+ 0.22101800713082403,
+ 0.2978449438065191,
+ 0.37676061404076827,
+ 0.38819006241951554,
+ 0.3453324962578987,
+ 0.0724359760391196,
+ 0.40401773869973334,
+ -0.01796256148282125,
+ 0.13964600426832666,
+ 0.0724919546266204,
+ 0.22101791068565707,
+ 0.22088990476824263,
+ -0.016327723778076574,
+ 0.0724903020538128,
+ 0.2027935044643749,
+ 0.09073403929029972,
+ 0.31396086910070103,
+ 0.35972630953259666,
+ 0.38812711129986843,
+ -0.020335396536157936,
+ 0.3754679043837183,
+ 0.18768002774815534,
+ -0.016314923959999797,
+ -0.022362436939242114,
+ 0.0723933277420448,
+ 0.3456225876646437,
+ 0.38810875454420507,
+ -0.016310958178266485,
+ 0.28548102469040487,
+ 0.3597623830132968,
+ 0.343543827132756,
+ 0.07247791469278286,
+ 0.3881857379569233,
+ 0.04473046974076658,
+ 0.41940353836085026,
+ 0.46419818567360877,
+ 0.3435670412986329,
+ 0.38815881350349773,
+ 0.3060877546672444,
+ 0.36360039400989236,
+ 0.4310790968709013,
+ 0.3879422272374432,
+ 0.1883438300419251,
+ 0.4026161310893388,
+ 0.07249162263805961,
+ -0.01631009931849783,
+ 0.40412352921310335,
+ 0.3943418794781981,
+ 0.23463492156065344,
+ 0.2612744067026183,
+ 0.20195595072194913,
+ 0.07249139152318279,
+ 0.18833891737944283,
+ 0.35789780307576596,
+ 0.34356063383948415,
+ 0.2027942119231708,
+ 0.30800629311717415,
+ 0.3870937903585487,
+ 0.420109560568671,
+ 0.42010906845857554,
+ 0.1145798785994595,
+ 0.33482132575469664,
+ -0.016327310553187712,
+ 0.3597639987598401,
+ 0.35978059410479196,
+ 0.2520347566820291,
+ 0.20277991334527118,
+ -0.015200007867730956,
+ 0.20276289873906478,
+ -0.021801332489780993,
+ 0.2194718135917708,
+ 0.4197172921158315,
+ -0.016634830610808456,
+ 0.20279130759836478,
+ -0.029361063683735457,
+ 0.19880585897759037,
+ -0.016310406207040135,
+ -0.016342703414536506,
+ 0.2980475722223995,
+ 0.41292360877262624,
+ 0.34606130464235285,
+ 0.3877741484267095,
+ 0.35978733944651364
+ ]
+ },
+ {
+ "customdata": [
+ [
+ "Proof-of-BibleHash"
+ ],
+ [
+ "Proof-of-Authority"
+ ],
+ [
+ "ECC 256K1"
+ ],
+ [
+ "SHA3-256"
+ ]
+ ],
+ "hovertemplate": "%{hovertext}
class=%{marker.color}
PC 1=%{x}
PC 2=%{y}
PC 3=%{z}
Algorithm=%{customdata[0]}",
+ "hovertext": [
+ "BiblePay",
+ "Poa Network",
+ "Acute Angle Cloud",
+ "Fiii"
+ ],
+ "legendgroup": "3",
+ "marker": {
+ "color": [
+ 3,
+ 3,
+ 3,
+ 3
+ ],
+ "coloraxis": "coloraxis",
+ "symbol": "square"
+ },
+ "mode": "markers",
+ "name": "3",
+ "scene": "scene",
+ "showlegend": true,
+ "type": "scatter3d",
+ "x": [
+ -0.18573595248082933,
+ -0.43907408117338287,
+ -0.3644375311104557,
+ -0.42377399938237736
+ ],
+ "y": [
+ 4.030820296715812,
+ 3.5374095318408787,
+ 3.927218126141578,
+ 4.404707853924984
+ ],
+ "z": [
+ 13.947830704277065,
+ 18.29538533153732,
+ 14.333371214448803,
+ 12.722839676462186
+ ]
+ },
+ {
+ "customdata": [
+ [
+ "TRC10"
+ ]
+ ],
+ "hovertemplate": "%{hovertext}
class=%{marker.color}
PC 1=%{x}
PC 2=%{y}
PC 3=%{z}
Algorithm=%{customdata[0]}",
+ "hovertext": [
+ "BitTorrent"
+ ],
+ "legendgroup": "2",
+ "marker": {
+ "color": [
+ 2
+ ],
+ "coloraxis": "coloraxis",
+ "symbol": "x"
+ },
+ "mode": "markers",
+ "name": "2",
+ "scene": "scene",
+ "showlegend": true,
+ "type": "scatter3d",
+ "x": [
+ 34.062518709821674
+ ],
+ "y": [
+ 1.7174437629443535
+ ],
+ "z": [
+ -0.7535680468526341
+ ]
+ }
+ ],
+ "layout": {
+ "coloraxis": {
+ "colorbar": {
+ "title": {
+ "text": "class"
+ }
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ]
+ },
+ "legend": {
+ "title": {
+ "text": "class"
+ },
+ "tracegroupgap": 0,
+ "x": 0,
+ "y": 1
+ },
+ "margin": {
+ "t": 60
+ },
+ "scene": {
+ "domain": {
+ "x": [
+ 0,
+ 1
+ ],
+ "y": [
+ 0,
+ 1
+ ]
+ },
+ "xaxis": {
+ "title": {
+ "text": "PC 1"
+ }
+ },
+ "yaxis": {
+ "title": {
+ "text": "PC 2"
+ }
+ },
+ "zaxis": {
+ "title": {
+ "text": "PC 3"
+ }
+ }
+ },
+ "template": {
+ "data": {
+ "bar": [
+ {
+ "error_x": {
+ "color": "#2a3f5f"
+ },
+ "error_y": {
+ "color": "#2a3f5f"
+ },
+ "marker": {
+ "line": {
+ "color": "#E5ECF6",
+ "width": 0.5
+ }
+ },
+ "type": "bar"
+ }
+ ],
+ "barpolar": [
+ {
+ "marker": {
+ "line": {
+ "color": "#E5ECF6",
+ "width": 0.5
+ }
+ },
+ "type": "barpolar"
+ }
+ ],
+ "carpet": [
+ {
+ "aaxis": {
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "white",
+ "linecolor": "white",
+ "minorgridcolor": "white",
+ "startlinecolor": "#2a3f5f"
+ },
+ "baxis": {
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "white",
+ "linecolor": "white",
+ "minorgridcolor": "white",
+ "startlinecolor": "#2a3f5f"
+ },
+ "type": "carpet"
+ }
+ ],
+ "choropleth": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "choropleth"
+ }
+ ],
+ "contour": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "contour"
+ }
+ ],
+ "contourcarpet": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "contourcarpet"
+ }
+ ],
+ "heatmap": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "heatmap"
+ }
+ ],
+ "heatmapgl": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "heatmapgl"
+ }
+ ],
+ "histogram": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "histogram"
+ }
+ ],
+ "histogram2d": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "histogram2d"
+ }
+ ],
+ "histogram2dcontour": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "histogram2dcontour"
+ }
+ ],
+ "mesh3d": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "type": "mesh3d"
+ }
+ ],
+ "parcoords": [
+ {
+ "line": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "parcoords"
+ }
+ ],
+ "pie": [
+ {
+ "automargin": true,
+ "type": "pie"
+ }
+ ],
+ "scatter": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatter"
+ }
+ ],
+ "scatter3d": [
+ {
+ "line": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatter3d"
+ }
+ ],
+ "scattercarpet": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattercarpet"
+ }
+ ],
+ "scattergeo": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattergeo"
+ }
+ ],
+ "scattergl": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattergl"
+ }
+ ],
+ "scattermapbox": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scattermapbox"
+ }
+ ],
+ "scatterpolar": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterpolar"
+ }
+ ],
+ "scatterpolargl": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterpolargl"
+ }
+ ],
+ "scatterternary": [
+ {
+ "marker": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "type": "scatterternary"
+ }
+ ],
+ "surface": [
+ {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ },
+ "colorscale": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "type": "surface"
+ }
+ ],
+ "table": [
+ {
+ "cells": {
+ "fill": {
+ "color": "#EBF0F8"
+ },
+ "line": {
+ "color": "white"
+ }
+ },
+ "header": {
+ "fill": {
+ "color": "#C8D4E3"
+ },
+ "line": {
+ "color": "white"
+ }
+ },
+ "type": "table"
+ }
+ ]
+ },
+ "layout": {
+ "annotationdefaults": {
+ "arrowcolor": "#2a3f5f",
+ "arrowhead": 0,
+ "arrowwidth": 1
+ },
+ "coloraxis": {
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
+ }
+ },
+ "colorscale": {
+ "diverging": [
+ [
+ 0,
+ "#8e0152"
+ ],
+ [
+ 0.1,
+ "#c51b7d"
+ ],
+ [
+ 0.2,
+ "#de77ae"
+ ],
+ [
+ 0.3,
+ "#f1b6da"
+ ],
+ [
+ 0.4,
+ "#fde0ef"
+ ],
+ [
+ 0.5,
+ "#f7f7f7"
+ ],
+ [
+ 0.6,
+ "#e6f5d0"
+ ],
+ [
+ 0.7,
+ "#b8e186"
+ ],
+ [
+ 0.8,
+ "#7fbc41"
+ ],
+ [
+ 0.9,
+ "#4d9221"
+ ],
+ [
+ 1,
+ "#276419"
+ ]
+ ],
+ "sequential": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ],
+ "sequentialminus": [
+ [
+ 0,
+ "#0d0887"
+ ],
+ [
+ 0.1111111111111111,
+ "#46039f"
+ ],
+ [
+ 0.2222222222222222,
+ "#7201a8"
+ ],
+ [
+ 0.3333333333333333,
+ "#9c179e"
+ ],
+ [
+ 0.4444444444444444,
+ "#bd3786"
+ ],
+ [
+ 0.5555555555555556,
+ "#d8576b"
+ ],
+ [
+ 0.6666666666666666,
+ "#ed7953"
+ ],
+ [
+ 0.7777777777777778,
+ "#fb9f3a"
+ ],
+ [
+ 0.8888888888888888,
+ "#fdca26"
+ ],
+ [
+ 1,
+ "#f0f921"
+ ]
+ ]
+ },
+ "colorway": [
+ "#636efa",
+ "#EF553B",
+ "#00cc96",
+ "#ab63fa",
+ "#FFA15A",
+ "#19d3f3",
+ "#FF6692",
+ "#B6E880",
+ "#FF97FF",
+ "#FECB52"
+ ],
+ "font": {
+ "color": "#2a3f5f"
+ },
+ "geo": {
+ "bgcolor": "white",
+ "lakecolor": "white",
+ "landcolor": "#E5ECF6",
+ "showlakes": true,
+ "showland": true,
+ "subunitcolor": "white"
+ },
+ "hoverlabel": {
+ "align": "left"
+ },
+ "hovermode": "closest",
+ "mapbox": {
+ "style": "light"
+ },
+ "paper_bgcolor": "white",
+ "plot_bgcolor": "#E5ECF6",
+ "polar": {
+ "angularaxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ },
+ "bgcolor": "#E5ECF6",
+ "radialaxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ }
+ },
+ "scene": {
+ "xaxis": {
+ "backgroundcolor": "#E5ECF6",
+ "gridcolor": "white",
+ "gridwidth": 2,
+ "linecolor": "white",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "white"
+ },
+ "yaxis": {
+ "backgroundcolor": "#E5ECF6",
+ "gridcolor": "white",
+ "gridwidth": 2,
+ "linecolor": "white",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "white"
+ },
+ "zaxis": {
+ "backgroundcolor": "#E5ECF6",
+ "gridcolor": "white",
+ "gridwidth": 2,
+ "linecolor": "white",
+ "showbackground": true,
+ "ticks": "",
+ "zerolinecolor": "white"
+ }
+ },
+ "shapedefaults": {
+ "line": {
+ "color": "#2a3f5f"
+ }
+ },
+ "ternary": {
+ "aaxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ },
+ "baxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ },
+ "bgcolor": "#E5ECF6",
+ "caxis": {
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": ""
+ }
+ },
+ "title": {
+ "x": 0.05
+ },
+ "xaxis": {
+ "automargin": true,
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": "",
+ "title": {
+ "standoff": 15
+ },
+ "zerolinecolor": "white",
+ "zerolinewidth": 2
+ },
+ "yaxis": {
+ "automargin": true,
+ "gridcolor": "white",
+ "linecolor": "white",
+ "ticks": "",
+ "title": {
+ "standoff": 15
+ },
+ "zerolinecolor": "white",
+ "zerolinewidth": 2
+ }
+ }
+ },
+ "width": 800
+ }
+ },
+ "text/html": [
+ "\n",
+ " \n",
+ " \n",
+ "
\n",
+ " \n",
+ "
"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# Plot the 3D-scatter with x=\"PC 1\", y=\"PC 2\" and z=\"PC 3\"\n",
+ "fig = px.scatter_3d(\n",
+ " clustered_df,\n",
+ " x=\"PC 1\",\n",
+ " y=\"PC 2\",\n",
+ " z=\"PC 3\",\n",
+ " color=\"class\",\n",
+ " symbol=\"class\",\n",
+ " hover_name=\"CoinName\",\n",
+ " hover_data=[\"Algorithm\"] ,\n",
+ " width=800,\n",
+ ")\n",
+ "fig.update_layout(legend=dict(x=0, y=1))\n",
+ "fig.show()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {},
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "application/vnd.holoviews_exec.v0+json": "",
+ "text/html": [
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "
\n",
+ "
\n",
+ ""
+ ],
+ "text/plain": [
+ ":Table [CoinName,Algorithm,ProofType,TotalCoinSupply,TotalCoinsMined,class]"
+ ]
+ },
+ "execution_count": 32,
+ "metadata": {
+ "application/vnd.holoviews_exec.v0+json": {
+ "id": "1096"
+ }
+ },
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# creating a data table with all the current tradable cryptocurrencies\n",
+ "current_tradable_cryptocurrencies = clustered_df.hvplot.table(columns=['CoinName', 'Algorithm', 'ProofType','TotalCoinSupply','TotalCoinsMined','class'], width=400)\n",
+ "current_tradable_cryptocurrencies"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Algorithm object\n",
+ "ProofType object\n",
+ "TotalCoinsMined float64\n",
+ "TotalCoinSupply object\n",
+ "PC 1 float64\n",
+ "PC 2 float64\n",
+ "PC 3 float64\n",
+ "CoinName object\n",
+ "class int32\n",
+ "dtype: object"
+ ]
+ },
+ "execution_count": 33,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "clustered_df.dtypes"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 34,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Algorithm object\n",
+ "ProofType object\n",
+ "TotalCoinsMined float64\n",
+ "TotalCoinSupply float64\n",
+ "PC 1 float64\n",
+ "PC 2 float64\n",
+ "PC 3 float64\n",
+ "CoinName object\n",
+ "class int32\n",
+ "dtype: object"
+ ]
+ },
+ "execution_count": 34,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Converting the \"TotalCoinSupply\" to numeric\n",
+ "clustered_df['TotalCoinSupply'] = pd.to_numeric(clustered_df['TotalCoinSupply'])\n",
+ "clustered_df.dtypes"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 35,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {},
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "application/vnd.holoviews_exec.v0+json": "",
+ "text/html": [
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "
\n",
+ "
\n",
+ ""
+ ],
+ "text/plain": [
+ ":NdOverlay [class]\n",
+ " :Scatter [TotalCoinsMined] (TotalCoinSupply,CoinName)"
+ ]
+ },
+ "execution_count": 35,
+ "metadata": {
+ "application/vnd.holoviews_exec.v0+json": {
+ "id": "1146"
+ }
+ },
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Plotting the 2D-scatter with x=\"TotalCoinsMined\" and y=\"TotalCoinSupply\"\n",
+ "clustered_df.hvplot.scatter(\n",
+ " x=\"TotalCoinsMined\", \n",
+ " y=\"TotalCoinSupply\",\n",
+ " hover_cols=[\"CoinName\"],\n",
+ " by=\"class\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "PythonData",
+ "language": "python",
+ "name": "pythondata"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.7.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/README.md b/README.md
index 9d6f2a4..865f30d 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,19 @@
-# Cryptocurrencies
\ No newline at end of file
+# Cryptocurrencies
+
+- In this project, an analysis has been done to find out what cryptocurrencies are on the trading market
+ and how cryptocurrencies could be grouped toward creating a classification for developing a new
+ investment product.
+
+- Since there was no known output for what we are looking for, unsupervised learning has been used.
+
+- The Cryptocurrencies data given was not ideal, so it was preprocessed and scaled to fit the machine learning
+ model.
+
+- The data dimensions were reduced to three principal components using PCA algorithm from sklearn.
+
+- Clusters of Cryptocurrencies data were predicted by plotting the elbow curve to find the best value for K
+ using KMeans algorithm. By looking at the elbow curve, the best K value was found 4. The model was initialized
+ with 4 clusters using KMeans algorithm. The fitting and prediction of data were made based on this model.
+
+- Data-Table, 3D-scatter and 2D-scatter plots have been used to show the status of the current tradable
+ cryptocurrencies with all the relevant informations.
\ No newline at end of file
diff --git a/Resources/crypto_data.csv b/Resources/crypto_data.csv
new file mode 100644
index 0000000..aa018d6
--- /dev/null
+++ b/Resources/crypto_data.csv
@@ -0,0 +1,1253 @@
+,CoinName,Algorithm,IsTrading,ProofType,TotalCoinsMined,TotalCoinSupply
+42,42 Coin,Scrypt,True,PoW/PoS,41.99995383,42
+365,365Coin,X11,True,PoW/PoS,,2300000000
+404,404Coin,Scrypt,True,PoW/PoS,1055184902.04,532000000
+611,SixEleven,SHA-256,True,PoW,,611000
+808,808,SHA-256,True,PoW/PoS,0,0
+1337,EliteCoin,X13,True,PoW/PoS,29279424622.5027,314159265359
+2015,2015 coin,X11,True,PoW/PoS,,0
+BTC,Bitcoin,SHA-256,True,PoW,17927175,21000000
+ETH,Ethereum,Ethash,True,PoW,107684222.6865,0
+LTC,Litecoin,Scrypt,True,PoW,63039243.3000049,84000000
+DASH,Dash,X11,True,PoW/PoS,9031294.37563393,22000000
+XMR,Monero,CryptoNight-V7,True,PoW,17201143.1449131,0
+ETC,Ethereum Classic,Ethash,True,PoW,113359703,210000000
+ZEC,ZCash,Equihash,True,PoW,7383056.25,21000000
+BTS,Bitshares,SHA-512,True,PoS,2741570000,3600570502
+DGB,DigiByte,Multiple,True,PoW,11406219141,21000000000
+BTCD,BitcoinDark,SHA-256,True,PoW/PoS,1288862,22000000
+CRAIG,CraigsCoin,X11,True,PoS,,30000000
+XBS,Bitstake,X11,True,PoW/PoS,0,1300000
+XPY,PayCoin,SHA-256,True,PoS,11995334.8847328,12500000
+PRC,ProsperCoin,Scrypt,True,PoW,5768310,21000000
+YBC,YbCoin,Multiple,True,PoS,,200000000
+DANK,DarkKush,X13,True,PoW/PoS,,3000000
+GIVE,GiveCoin,X11,True,PoW,,500000000
+KOBO,KoboCoin,X15,True,PoW/PoS,25542535.5881841,350000000
+DT,DarkToken,NIST5,True,PoW/PoS,,0
+CETI,CETUS Coin,Scrypt,True,PoW/PoS,,0
+SPR,Spreadcoin,X11,True,PoW,11149733.9976203,20000000
+WOLF,Insanity Coin,X11,True,PoW,,50000000
+ACOIN,ACoin,SHA-256,True,PoW,0,1600000
+AERO,Aero Coin,X13,True,PoS,0,7000000
+ALF,AlphaCoin,Scrypt,True,PoW,,210182000
+AGS,Aegis,X13,True,PoS,,0
+AMC,AmericanCoin,Scrypt,True,PoW,,168000000
+ALN,AlienCoin,Scrypt,True,PoW,,200000000
+APEX,ApexCoin,X13,True,PoW/PoS,0,6000000
+ARCH,ArchCoin,Scrypt,True,PoS,0,16403135
+ARG,Argentum,Scrypt,True,PoW,12205795.4449549,64000000
+ARI,AriCoin,Scrypt,True,PoW,,322649400
+AUR,Aurora Coin,Scrypt,True,PoW/PoS,18135099.992959,16768584
+BET,BetaCoin,SHA-256,True,PoW,0,32000000
+BEAN,BeanCash,SHA-256,True,PoW/PoS,,50000000000
+BLU,BlueCoin,Scrypt,True,PoW/PoS,635423900,0
+BQC,BQCoin,Scrypt,True,PoW,,88000000
+XMY,MyriadCoin,Multiple,True,PoW,1688254250,2000000000
+MOON,MoonCoin,Scrypt,True,PoW,88,384000000000
+ZET,ZetaCoin,SHA-256,True,PoW,170204389.754849,169795588
+SXC,SexCoin,Scrypt,True,PoW,128940951.183046,250000000
+QTL,Quatloo,Scrypt,True,PoW,7357794.7925,100000000
+ENRG,EnergyCoin,Scrypt,True,PoW/PoS,123062801.128773,0
+QRK,QuarkCoin,Quark,True,PoW,259557164.91477,247000000
+RIC,Riecoin,Groestl,True,PoW,49548585.1412917,84000000
+DGC,Digitalcoin ,Scrypt,True,PoW,33442988.3440364,48166000
+LIMX,LimeCoinX,X11,True,PoW,0,21000000
+BTB,BitBar,Scrypt,True,PoW/PoS,42579.476901,500000
+CAIX,CAIx,Scrypt,True,PoS,,0
+BTMK,BitMark,Scrypt,True,PoW,0,27580000
+BUK,CryptoBuk,Scrypt,True,PoW/PoS,,100000000
+CACH,Cachecoin,Scrypt,True,PoW,,2000000000
+CAP,BottleCaps,Scrypt,True,PoW/PoS,,47433600
+CASH,CashCoin,Scrypt,True,PoW/PoS,0,47433600
+CAT,Catcoin,Scrypt,True,PoW,7219956.64626131,21000000
+CBX,CryptoBullion,Scrypt,True,PoW/PoS,1039116.65144562,1000000
+CCN,CannaCoin,Scrypt,True,PoW,4703879.51824446,13140000
+CIN,CinderCoin,Multiple,True,PoW/PoS,0,114000000
+CINNI,CINNICOIN,Scrypt,True,PoW,,15000000
+CLR,CopperLark,SHA-256,True,PoW,,27200000
+CMC,CosmosCoin,Scrypt,True,PoW/PoS,,100000000
+CNC,ChinaCoin,Scrypt,True,PoW,,462500000
+CNL,ConcealCoin,X11,True,PoW,,8500000
+COMM,Community Coin,Scrypt,True,PoW/PoS,,1000000000
+COOL,CoolCoin,Scrypt,True,PoS,0,100000000
+CRACK,CrackCoin,X11,True,PoW,,6000000
+CRYPT,CryptCoin,X11,True,PoW,4996986.20575291,18000000
+CSC,CasinoCoin,Scrypt,True,PoC,39999997299.8568,40000000000
+DEM,eMark,SHA-256,True,PoW/PoS,0,0
+DMD,Diamond,Groestl,True,PoW/PoS,3304487.74735637,4380000
+XVG,Verge,Multiple,True,PoW,15929530669.1206,16555000000
+DRKC,DarkCash,X11,True,PoW/PoS,0,3720000
+DSB,DarkShibe,Scrypt,True,PoW,0,2043962
+DVC,DevCoin,SHA-256,True,PoW,18773857500,21000000000
+EAC,EarthCoin,Scrypt,True,PoW,12539015186.822,13500000000
+EFL,E-Gulden,Scrypt,True,PoW,20910478.8062499,21000000
+ELC,Elacoin,Scrypt,True,PoW,0,75000000
+EMC2,Einsteinium,Scrypt,True,PoW,218871896.499999,299792458
+EMD,Emerald,Scrypt,True,PoW,19496786.31025,32000000
+EXCL,Exclusive Coin,PoS,True,PoS,5679705,0
+EXE,ExeCoin,Scrypt,True,PoW,,21000000
+EZC,EZCoin,Scrypt,True,PoW,,84000000
+FLAP,Flappy Coin,Scrypt,True,PoW,0,100000000000
+FC2,Fuel2Coin,X11,True,PoS,0,100000000
+FFC,FireflyCoin,SHA-256,True,PoW,,700000000000
+FIBRE,FIBRE,NIST5,True,PoW/PoS,0,624000
+FRC,FireRoosterCoin,SHA-256,True,PoW,0,2602410
+FLT,FlutterCoin,Scrypt,True,PoS/PoW/PoT,461829905.32893,0
+FRK,Franko,Scrypt,True,PoW,1142732.14912776,11235813
+FRAC,FractalCoin,X11,True,PoW,,1000000
+FSTC,FastCoin,Scrypt,False,PoW,,165888000
+FTC,FeatherCoin,NeoScrypt,True,PoW,208669093.00773,336000000
+GDC,GrandCoin,Scrypt,True,PoW,884125802,1420609614
+GLC,GlobalCoin,Scrypt,True,PoW,65672720.4708748,70000000
+GLD,GoldCoin,Scrypt,True,PoW,41658647.9999715,72245700
+GLX,GalaxyCoin,Scrypt,True,PoW/PoS,,538214400
+GLYPH,GlyphCoin,X11,True,PoW/PoS,0,7000000
+GML,GameLeagueCoin,Scrypt,True,PoW/PoS,,500000000
+GUE,GuerillaCoin,X11,True,PoW/PoS,,19500000
+HAL,Halcyon,X15,True,PoW/PoS,0,0
+HBN,HoboNickels,Scrypt,True,PoW/PoS,89266933.684704,120000000
+HUC,HunterCoin,Multiple,True,PoW,0,42000000
+HVC,HeavyCoin,Multiple,True,PoW,,128000000
+HYP,HyperStake,X11,True,PoS,1678520090.7713,0
+ICB,IceBergCoin,NIST5,True,PoW/PoS,,8750000
+IFC,Infinite Coin,Scrypt,True,PoW,90595753018.6314,90600000000
+IOC,IOCoin,X11,True,PoW/PoS,17650913.9743456,22000000
+IXC,IXcoin,SHA-256,True,PoW,21089348.999,21000000
+JBS,JumBucks Coin,X11,True,PoW/PoS,0,3293010
+JKC,JunkCoin,Scrypt,True,PoW,,107000000
+JUDGE,JudgeCoin,X13,True,PoW/PoS,0,21600000
+KDC,Klondike Coin,Scrypt,True,PoW,,20000000
+KEYC,KeyCoin,X13,False,PoW/PoS,,1000000
+KGC,KrugerCoin,Scrypt,True,PoW,151447649.8,265420800
+LK7,Lucky7Coin,Scrypt,True,PoW/PoS,,99792000
+LKY,LuckyCoin,Scrypt,True,PoW,19326319.14375,20000000
+LSD,LightSpeedCoin,NIST5,True,PoW/PoS,,900000
+LTB,Litebar ,Scrypt,True,PoW,1104344.22938102,1350000
+LTCD,LitecoinDark,Scrypt,True,PoW,0,82003200
+LTCX,LitecoinX,X11,True,PoW,,84000000
+LXC,LibrexCoin,X11,True,PoW/PoS,0,1000000
+LYC,LycanCoin,Scrypt,True,PoW,,4950000000
+MAX,MaxCoin,SHA3,True,PoW/PoS,61445805,100000000
+MEC,MegaCoin,Scrypt,True,PoW,38151999.9930997,42000000
+MED,MediterraneanCoin,HybridScryptHash256,True,PoW,40431856.9,200000000
+MINRL,Minerals Coin,X11,False,PoW/PoS,,1000000
+MINT,MintCoin,Scrypt,True,PoS,21293925445.4969,0
+MN,Cryptsy Mining Contract,SHA-256,True,PoW,,0
+MINC,MinCoin,Scrypt,True,PoW,5804204.88794916,10000000
+MRY,MurrayCoin,Scrypt,True,PoW,,58000000
+MZC,MazaCoin,SHA-256,True,PoW/PoS,1613836099.99999,2419200000
+NAN,NanoToken,Scrypt,True,PoW,,80000000
+NAUT,Nautilus Coin,Scrypt,True,PoS,16180000,16180000
+NAV,NavCoin,X13,True,PoW/PoS,66087096.2077108,0
+NBL,Nybble,Scrypt,True,PoW,,210000000
+NMB,Nimbus Coin,X15,True,PoW/PoS,,25000000
+NRB,NoirBits,SHA-256,True,PoW,0,50000000
+NOBL,NobleCoin,Scrypt,True,PoW,2366066305.76482,15000000000
+NRS,NoirShares,Scrypt,True,PoW/PoS,,5000000
+NMC,Namecoin,SHA-256,True,PoW,14736400,21000000
+NYAN,NyanCoin,Scrypt,True,PoW,334709223.483138,337000000
+OPAL,OpalCoin,X13,True,PoW/PoS,15156364.3306548,0
+ORB,Orbitcoin,NeoScrypt,True,PoW/PoS,3220616.279225,3770000
+PHS,PhilosophersStone,Scrypt,True,PoW,,8891840
+POT,PotCoin,Scrypt,True,PoW/PoS,222677226.014206,420000000
+PSEUD,PseudoCash,X13,True,PoW/PoS,,2200000
+PXC,PhoenixCoin,Scrypt,True,PoW/PoS,73959274.625,98000000
+PYC,PayCoin,Scrypt,True,PoW/PoS,,30000000
+RDD,Reddcoin,Scrypt,True,PoW/PoS,29315567169.0888,0
+RIPO,RipOffCoin,Scrypt,True,PoW,0,12000000
+RPC,RonPaulCoin,Scrypt,True,PoW,1104157.42169891,21000000
+RT2,RotoCoin,Scrypt-n,True,PoW/PoS,,288000
+RYC,RoyalCoin,Scrypt,True,PoW,,140000000
+RZR,RazorCoin,Scrypt,True,PoW,,4000000
+SAT2,Saturn2Coin,Scrypt,True,PoW,,15000000000
+SBC,StableCoin,Scrypt,True,PoW,24215181.725,250000000
+SFR,SaffronCoin,Multiple,True,PoW,,111000000
+SHADE,ShadeCoin,Scrypt,True,PoW/PoS,,2000000
+SHLD,ShieldCoin,X15,True,PoW/PoS,0,1000000
+SILK,SilkCoin,Scrypt,True,PoW/PoS,0,1000000
+SLG,SterlingCoin,X13,True,PoS,,0
+SMC,SmartCoin,Scrypt,True,PoW,25593737.1355044,51200000
+SOLE,SoleCoin,X15,True,PoW/PoS,,1200000
+SPA,SpainCoin,Scrypt-n,True,PoW,0,50000000
+SPOTS,Spots,Scrypt,True,PoW,,100000000
+SRC,SecureCoin,Scrypt,True,PoW,0,21000000
+SSV,SSVCoin,X13,True,PoW,,21000000
+SUPER,SuperCoin,X11,True,PoS,50707661.7493518,0
+SYNC,SyncCoin,X11,True,PoW/PoS,1177,1000
+SYS,SysCoin,SHA-256,True,PoW,563336541.299966,888000000
+TAG,TagCoin,Scrypt,True,PoW/PoS,,1000000
+TAK,TakCoin,SHA-256,True,PoW/PoS,,7515187520
+TES,TeslaCoin,Multiple,True,PoS,80260463.7331396,100000000
+TGC,TigerCoin,SHA-256,True,PoW,43536800,47011968
+TIT,TittieCoin,PHI1612,True,PoS,1622326490.46336,2300000000
+TOR,TorCoin,X11,True,PoW/PoS,1431851.00002479,10000000
+TRC,TerraCoin,SHA-256,True,PoW,22935396,42000000
+TITC,TitCoin,Scrypt,True,PoW,,1000000
+ULTC,Umbrella,SHA-256,True,PoW,0,2625000
+UNB,UnbreakableCoin,SHA-256,True,PoW,2278150,80000000
+UNO,Unobtanium,SHA-256,True,PoW,200911.79151896,250000
+URO,UroCoin,X11,True,PoW,1207310,0
+USDE,UnitaryStatus Dollar,Scrypt,True,PoW/PoS,1098952592.6,1600000000
+UTC,UltraCoin,Scrypt,True,PoW/PoS,50235211.141939,100000000
+UTIL,Utility Coin,X13,True,PoW/PoS,0,0
+VDO,VidioCoin,X11,True,PoW/PoS,,0
+VIA,ViaCoin,Scrypt,True,PoW,23150892.1679687,23000000
+VOOT,VootCoin,X11,True,PoW,0,0
+VRC,VeriCoin,Scrypt,True,PoST,32021108.4136696,0
+VTC,Vertcoin,Lyra2REv2,True,PoW,51173723.8166347,84000000
+WDC,WorldCoin,Scrypt,True,PoW,119606941,265420800
+XAI,SapienceCoin,X11,True,PoB/PoS,,0
+XBOT,SocialXbotCoin,Scrypt,True,PoW/PoS,0,2000000
+XC,X11 Coin,X11,True,PoW/PoS,6950831.0970606,5500000
+XCSH,Xcash,Scrypt,False,PoW/PoS,,2400000
+XCR,Crypti,Multiple,True,PoS,100000000,0
+XJO,JouleCoin,SHA-256,True,PoW,39195739.362088,45000000
+XLB,LibertyCoin,X11,True,PoW/PoS,,16500000
+XST,StealthCoin,X13,True,PoW/PoS,33093725.4123502,0
+XXX,XXXCoin,Scrypt,True,PoW/PoS,0,50000000
+YAC,YAcCoin,Scrypt,True,PoW,,2000000000
+ZCC,ZCC Coin,Scrypt,True,PoW/PoS,147990237.978331,1000000000
+ZED,ZedCoins,Scrypt,True,PoW,,120000000
+BCN,ByteCoin,CryptoNight,True,PoW,184066828814,184467440735
+EKN,Elektron,X13,True,PoW/PoS,,3000000
+XDN,DigitalNote ,CryptoNight,True,PoW,6906587610.38292,10000000000
+XAU,XauCoin,SHA-256,True,PoW,,2100000
+BURST,BurstCoin,Shabal256,True,PoC,1813033920,2158812800
+SJCX,StorjCoin,Counterparty,True,PoS,51173144,500000000
+HUGE,BigCoin,Blake,True,PoW,,164429865
+007,007 coin,Scrypt,True,PoW,,989800
+MONA,MonaCoin,Scrypt,True,PoW,68194674.8711679,105120000
+TEK,TekCoin,SHA-256,True,PoW/PoS,,100000000
+NTRN,Neutron,SHA-256,True,PoW/PoS,39121694,68000000
+SLING,Sling Coin,SHA-256,True,PoW,0,1000000
+XSI,Stability Shares,Scrypt,True,PoW/PoS,,15000000
+KTK,KryptCoin,Scrypt,True,PoS,0,17000000
+FAIR,FairCoin,Groestl,True,PoW/PoS,53193831,0
+NLG,Gulden,Scrypt,True,PoW,415032420,1680000000
+RBY,RubyCoin,Scrypt,True,PoS,27184490.3918338,0
+PTC,PesetaCoin,Scrypt,True,PoW,137517654.41397,166386000
+KORE,Kore,X13,True,PoW/PoS,2022464.886973,12000000
+WBB,Wild Beast Coin,Scrypt,True,PoW,181919.2435974,2628000
+SSD,Sonic Screw Driver Coin,SHA-256,True,PoW/PoS,,0
+NOTE,Dnotes,Scrypt,True,PoS,174646113.934655,500000000
+FLO,Flo,Scrypt,True,PoW,152270664.860648,160000000
+MMXIV,MaieutiCoin,SHA-256,True,PoS,0,2014
+8BIT,8BIT Coin,Scrypt,True,PoW/PoS,1467841,0
+STV,Sativa Coin,X13,True,PoW/PoS,7096834,10000000
+AM,AeroMe,X13,True,PoW/PoS,0,12000000
+NKT,NakomotoDark,X11,True,PoW/PoS,,0
+GHC,GhostCoin,Scrypt,True,PoW/PoS,,750000000
+ABY,ArtByte,Scrypt,True,PoW,792537250,1000000000
+MTR,MasterTraderCoin,X11,True,PoW/PoS,0,10110000
+BCR,BitCredit,Momentum,True,PoW,0,210000000
+XPB,Pebble Coin,CryptoNight,True,PoW,,0
+XDQ,Dirac Coin,Blake,True,PoW,,2272800
+FLDC,Folding Coin,Stanford Folding,True,PoW,719416990,1000000000
+SMAC,Social Media Coin,X11,True,PoW/PoS,,0
+U,Ucoin,X11,True,PoS,2689812,20000000
+UIS,Unitus,Multiple,True,PoW,65113302,0
+CYP,CypherPunkCoin,QuBit,True,PoW,6365285,0
+QBK,QuBuck Coin,X13,True,PoS/PoB,,0
+MARYJ,MaryJane Coin,X15,True,PoW/PoS,0,0
+OMC,OmniCron,Scrypt,True,PoW,10140044.4430293,3371337
+GIG,GigCoin,X11,True,PoW,,0
+CC,CyberCoin,Scrypt,True,PoW/PoS,0,0
+VTR,Vtorrent,Scrypt,True,PoW/PoS,11604722,20000000
+METAL,MetalCoin,Scrypt,True,PoW,,0
+GRE,GreenCoin,Scrypt,True,PoW,4610340640.89,10000000000
+XG,XG Sports,XG Hash,True,PoW/PoS,,0
+CHILD,ChildCoin,X11,True,PoW,,2000000
+MINE,Instamine Nuggets,Scrypt,True,PoW,,21649485
+ROS,ROS Coin,X11,True,PoW/PoS,,0
+UNAT,Unattanium,SHA-256,True,PoW,0,0
+GAIA,GAIA Platform,X11,True,PoS,,24000000
+XCN,Cryptonite,M7 POW,True,PoW,708506520,1840000000
+GMC,Gridmaster,Scrypt,True,PoW,0,84000000
+MMC,MemoryCoin,Multiple,True,PoW,,10000000
+CYC,ConSpiracy Coin ,X11,True,PoW,0,33000000
+MSC,MasterCoin,Scrypt,True,PoW,619478,619478
+EGG,EggCoin,Scrypt,True,PoW/PoS,,3891
+CAMC,Camcoin,X11,False,PoW/PoS,,10000000
+RBR,Ribbit Rewards,Multiple,True,PoW,,1000000000
+ICASH,ICASH,X11,True,PoW,,1000000
+NODE,Node,Curve25519,True,PoA,,1000000000
+SOON,SoonCoin,SHA-256,True,PoW,12462620,21000000
+BTMI,BitMiles,Scrypt,True,PoW,,4832660000
+EVENT,Event Token,Scrypt,True,PoW/PoS,,0
+1CR,1Credit,Scrypt,True,PoW,88213,92000000000
+VIOR,ViorCoin,Scrypt,True,PoW/PoS,0,0
+VMC,VirtualMining Coin,Scrypt-n,True,PoW,,1000000
+MARSC,MarsCoin,X11,False,PoW,,33000000
+EQM,Equilibrium Coin,SHA-256,True,PoW/PoS,,0
+ISL,IslaCoin,X11,True,PoW/PoS,1513704,0
+QSLV,Quicksilver coin,X11,True,PoW,0,33000000
+XNA,DeOxyRibose,X11,True,PoS,,0
+SKB,SkullBuzz,SHA-256,True,PoS,,0
+FCS,CryptoFocus,X11,True,PoW/PoS,,0
+NXS,Nexus,SHA3,True,PoW/nPoS,63657220,78000000
+EAGS,EagsCoin,X11,True,PoW/PoS,,20445500
+MWC,MultiWallet Coin,X11,True,PoW/PoS,,0
+MARS,MarsCoin ,X11,True,PoW,32221574.820996,33000000
+XMS,Megastake,X11,True,PoW/PoS,,0
+SIGU,Singular,Scrypt,True,PoW/PoS,0,0
+M1,SupplyShock,X13,True,PoW/PoS,,0
+DB,DarkBit,Scrypt,True,PoW/PoS,,0
+CTO,Crypto,Lyra2RE,True,PoW,13742738,65789100
+BITL,BitLux,X11,False,PoW/PoS,,0
+FUTC,FutCoin,X13,True,PoW/PoS,,0
+TAM,TamaGucci,Scrypt,True,PoW/PoS/PoC,,5300000
+MRP,MorpheusCoin,X11,True,PoW,,3400000
+XFC,Forever Coin,X11,True,PoS,,210000000
+NANAS,BananaBits,Scrypt,True,PoW/PoS,,0
+ACP,Anarchists Prime,SHA-256,True,PoW,14747200.0002,53760000
+DRZ,Droidz,QUAIT,True,PoW/PoS,8568038.35935056,5060000
+BSC,BowsCoin,X11,True,PoW,15863837.5,21000000
+DRKT,DarkTron,SHA-256,True,PoW/PoS,,1500000
+CIRC,CryptoCircuits,vDPOS,True,PoS,0,0
+EPY,Empyrean,Scrypt,True,PoW,,100000
+SQL,Squall Coin,X11,True,PoS/PoW,329200.01639,0
+CHA,Charity Coin,Scrypt,True,PoW,,500000
+MIL,Milllionaire Coin,X11,True,PoW/PoS,0,0
+QTZ,Quartz,SHA-256,True,PoW/PoS,,0
+SPC,SpinCoin,NIST5,True,PoW/PoS,,0
+DUB,DubCoin,X15,True,PoW/PoS,,0
+GRAV,Graviton,SHA-256,True,PoW/PoS,,0
+HEDGE,Hedgecoin,X13,True,PoW,,33000000
+SONG,Song Coin,Scrypt,True,PoW,32565300,210240000
+XSEED,BitSeeds,SHA-256,True,PoW/PoS,,0
+CHIP,Chip,X11,True,PoW,,0
+SPEC,SpecCoin,Scrypt,True,PoW,,3000000000
+SPRTS,Sprouts,SHA-256,True,PoW/PoS,,0
+ZNY,BitZeny,Scrypt,True,PoW,75614500,250000000
+DIGS,Diggits,Scrypt,True,PoS,100000000,100000000
+EXP,Expanse,Ethash,True,PoW,10495278,16906397
+MAPC,MapCoin,X11,True,PoS,0,2228921.184
+CON,Paycon,X13,True,PoW/PoS,23042604,50000000
+SC,Siacoin,Blake2b,True,PoW,33098296530,0
+LYB,LyraBar,Lyra2RE,True,PoW/PoS,,0
+EMC,Emercoin,SHA-256,True,PoW/PoS,43059794.804778,1000000000
+BLITZ,BlitzCoin,X13,True,PoS,0,3852156
+BHIRE,BitHIRE,Scrypt,False,PoS,,42000000
+EGC,EverGreenCoin,X15,True,PoW/PoS,13530556.4180753,26298000
+MND,MindCoin,X11,True,PoW,15867695,16000000
+I0C,I0coin,SHA-256,True,PoW,20997476.8650231,21000000
+DCR,Decred,BLAKE256,True,PoW/PoS,10365046.9281661,21000000
+DOGED,DogeCoinDark,Scrypt,True,PoW,0,16500000000
+RVR,Revolution VR,Scrypt,True,PoW,210000000,210000000
+HODL,HOdlcoin,1GB AES Pattern Search,True,PoW,11448949,81962100
+EDRC,EDRCoin,SHA-256,True,PoW/PoS,3669691.84494672,22000000
+HTC,Hitcoin,X11,True,PoW/PoS,10996318099,26550000000
+GAME,Gamecredits,Scrypt,True,PoW,69836100,84000000
+DSH,Dashcoin,CryptoNight,True,PoW,0,18446744
+DBIC,DubaiCoin,SHA-256,True,PoW/PoS,5129014,10500000
+BIOS,BiosCrypto,Quark,True,PoW/PoS,0,20190463.54969237
+DIEM,CarpeDiemCoin,SHA-256,True,PoW,21739971929,21626280000
+RCX,RedCrowCoin,Scrypt,True,PoW/PoS,,3966666667
+PWR,PWR Coin,NIST5,True,PoW/PoS,10069449031.9252,0
+TRUMP,TrumpCoin,Blake,True,PoS,0,12000000
+BLRY,BillaryCoin,Scrypt,True,PoW/PoS,8998743.2411911,42000000
+ETHS,EthereumScrypt,Scrypt,True,PoW/PoS,0,4200000
+PXL,Phalanx,SHA-256,True,PoW,0,15000000
+SOUL,SoulCoin,Scrypt,True,PoW/PoS,,1400000000
+SSTC,SunShotCoin,X11,True,PoW,0,2250000000
+GPU,GPU Coin,Scrypt,True,PoS,40477042,221052632
+TAGR,Think And Get Rich Coin,X15,True,PoW/PoS,,30700000
+HMP,HempCoin,Scrypt-n,True,PoW,0,5000000000
+ADZ,Adzcoin,X11,True,PoW,45110324,84000000
+MYC,MayaCoin,Scrypt,True,PoW/PoS,,250000000
+VTA,VirtaCoin,Scrypt,True,PoW,0,21000000000
+SOIL,SoilCoin,Dagger,True,PoW,5702048,30000000
+YOC,YoCoin,Scrypt,True,PoW,636462.55983338,168351300
+UNIT,Universal Currency,SHA-256,True,PoW/PoS,0,210000000
+AEON,AEON,CryptoNight-Lite,True,PoW,0,18400000
+SIB,SibCoin,X11GOST,True,PoW,17263355,24000000
+ERC,EuropeCoin,X11,True,PoW/PoS,10407269.7881868,384000000
+AIB,AdvancedInternetBlock,Scrypt,True,PoW,,314159265359
+XDB,DragonSphere,X11,True,PoW/PoS,,21007600
+ANTI,Anti Bitcoin,SHA-256,True,PoW,0,42000000
+COLX,ColossusCoinXT,X11,True,PoS,,21000000000
+MNM,Mineum,X13,True,PoW/PoS,,10000000
+ZEIT,ZeitCoin,Scrypt,True,PoS,36971236046.8073, 99000000000
+CGA,Cryptographic Anomaly,Scrypt,True,PoW,,10000000000
+SWING,SwingCoin,SHA-256,True,PoW/PoS,4377081.60953993,40000000
+SAFEX,SafeExchangeCoin,Scrypt,True,PoC,2147483647,2147483647
+NEBU,Nebuchadnezzar,PoS,True,PoS,20000000,20000000
+AEC,AcesCoin,X11,True,PoS,,98000000
+FRN,Francs,Scrypt,True,PoW,6570807.65677618,20000000
+ADNT,Aiden,ScryptOG,False,PoW,84000000,84000000
+N7,Number7,Scrypt,True,PoW,,270967742
+CYG,Cygnus,X11,True,PoW/PoS,,25885320
+LGBTQ,LGBTQoin,X11,True,PoW,,50000000
+UTH,Uther,Dagger,True,PoW,,25885320
+MPRO,MediumProject,PoS,True,PoW,,250000
+KATZ,KATZcoin,SHA-256D,True,PoW/PoS,,100000000
+SPM,Supreme,Scrypt,True,PoW/PoS,,88900000
+FLX,Flash,Scrypt,True,PoW/PoS,,1000000
+BOLI,BolivarCoin,X11,True,PoW,13654082.4987998,25000000
+CLUD,CludCoin,Scrypt,True,PoW,,100200000
+HVCO,High Voltage Coin,SHA-256,True,PoW/PoS,,1700000
+GIZ,GIZMOcoin,X11,True,PoW/PoS,0,100000
+FUZZ,Fuzzballs,Scrypt,True,PoW,,21000000
+SCRT,SecretCoin,X11,True,PoW/PoS,0,21000000
+XRA,Ratecoin,X11,True,PoW/PoS,134554941.15119,75000000
+XNX,XanaxCoin,Scrypt,True,PoW,,42000000
+DBG,Digital Bullion Gold,PoS,True,PoS,0,15000000
+WMC,WMCoin,X11,True,PoS,,1000000000
+GOTX,GothicCoin,Scrypt,True,PoW,,313333333
+SHREK,ShrekCoin,Scrypt,True,PoW/PoS,,1246000000
+REV,Revenu,SHA-256,True,PoW/PoS,1195525,222725000
+PBC,PabyosiCoin,X11,True,PoW/PoS,,31500000000
+OBS,Obscurebay,X11,True,PoW/PoS,,6562000
+EXIT,ExitCoin,Scrypt,True,PoW/PoS,,756000000
+EDUC,EducoinV,Scrypt,True,PoW/PoS,,99000000
+CLINT,Clinton,SHA-256,True,PoW,0,2421227
+CKC,Clockcoin,SHA-256,True,PoW/PoS,16662820,525000000
+VIP,VIP Tokens,NIST5,True,PoW/PoS,83450403,90000000
+NXE,NXEcoin,NIST5,True,PoW/PoS,,2200000
+ZOOM,ZoomCoin,Lyra2RE,True,PoW,,250000
+YOVI,YobitVirtualCoin,SHA-256,True,PoS,,22830000
+ORLY,OrlyCoin,X15,True,PoW/PoS,0,36000000
+KUBOS,KubosCoin,Scrypt,False,PoW/PoS,,986898568551
+SAK,SharkCoin,SHA-256,True,PoW,,400000000
+EVIL,EvilCoin,X11,True,PoW/PoS,,21024000
+COX,CobraCoin,Scrypt,True,PoW/PoS,,1012941176
+BSD,BitSend,X11,True,PoW/PoS,24387724.5010828,139000000
+DES,Destiny,Scrypt,True,PoW/PoS,,212625
+BIT16,16BitCoin,NIST5,True,PoW/PoS,0,16000000
+CMTC,CometCoin,Scrypt,True,PoW,,2000000
+CHESS,ChessCoin,Scrypt,True,PoW/PoS,0,74666667
+REE,ReeCoin,Scrypt,True,PoW/PoS,0,350000000
+MARV,Marvelous,Scrypt,True,PoW,,400000000
+OMNI,Omni,Scrypt,True,PoW,616448,616448
+TRTK,TrollTokens,SHA-256,False,PoW/PoS,,860000000
+LIR,Let it Ride,POS 3.0,True,PoS,38589808.6658096,33500000
+SCRPT,ScryptCoin,Scrypt,True,PoW,,34181818
+SPCIE,Specie,PoS,True,PoS,,9000000
+CJ,CryptoJacks,X13,True,PoW/PoS,,500000000
+PUT,PutinCoin,Scrypt,True,PoW/PoS,813092338.575672,2000000000
+KRAK,Kraken,SHA-256,True,PoW/PoS,,20 000 000
+IBANK,iBankCoin,Scrypt,True,PoW/PoS,4526324,44333333
+WRLGC,World Gold Coin,SHA-256,False,PoW,,51000000
+BM,BitMoon,X13,True,PoS,,100000000
+FRWC,Frankywillcoin,Scrypt,True,PoW/PoS,100000000,100000000
+PSY,Psilocybin,SHA-256D,True,PoW/PoS,,4214600
+RUST,RustCoin,Scrypt,True,PoW/PoS,,21212121
+NZC,NewZealandCoin,Scrypt,True,PoW,,335800000
+XPOKE,PokeChain,X13,True,PoS,,75000000
+MUDRA,MudraCoin,X13,True,PoS,5000000,200000000
+PIZZA,PizzaCoin,X11,True,PoW,1377917,25000000
+LC,Lutetium Coin,X11,True,PoS,657000000,657000000
+EXB,ExaByte (EXB),SHA-256,True,PoW,,500000000
+KMD,Komodo,Equihash,True,dPoW/PoW,115898131,200000000
+GB,GoldBlocks,X11,True,PoW/PoS,15563873,50000000
+EDC,EDC Blockchain,SHA-256,True,DPoS/LPoS,,5352058721.530
+WAY,WayCoin,X11,True,PoS,0,100000000
+TAB,MollyCoin,Scrypt,True,PoW/PoS,,25000000
+STO,Save The Ocean,X11,True,PoW/PoS,,150000000
+CTC,CarterCoin,Scrypt,True,PoW/PoS,43165500,90000000
+TOT,TotCoin,Scrypt,True,PoW/PoS,,1613150000
+MDC,MedicCoin,Scrypt,True,PoW/PoS,,33000000
+FTP,FuturePoints,X11,True,PoS,,360000000
+ZET2,Zeta2Coin,Quark,True,PoW/PoS,,1200000
+CVNC,CovenCoin,SHA-256,True,PoW/PoS,,33000
+KRB,Karbo,CryptoNight,True,PoW,7822432.72439746,10000000
+TELL,Tellurion,X11,True,PoW/PoS,,3652422000
+BXT,BitTokens,SHA-256,True,PoW/PoS,595429,21000000
+ZYD,ZayedCoin,SHA-256,True,PoW,6243840,9736000
+MST,MustangCoin,X11,True,PoW/PoS,657636.34549789,3000000
+GOON,Goonies,Scrypt,True,PoW,,270875968
+ZNE,ZoneCoin,Scrypt,True,PoW/PoS,2581970,21000000
+COVAL,Circuits of Value,Multiple,True,PoW,1000000000,1200000000
+DGDC,DarkGold,X13,True,PoW/PoS,,1000000
+TODAY,TodayCoin,Scrypt,True,PoW,,39200000
+ROOT,RootCoin,Scrypt,True,PoW/PoS,1939889,0
+DOPE,DopeCoin,Scrypt,True,PoW,116845228,200000000
+FX,FCoin,Scrypt,True,PoW/PoS,,987600000
+PIO,Pioneershares,X11,True,PoW/PoS,,200000
+PROUD,PROUD Money,X11,True,PoW/PoS,0,10000000000
+SMSR,Samsara Coin,QuBit,True,PoW/PoS,,60000000
+UBIQ,Ubiqoin,Progressive-n,True,PoS,,500000000
+ARM,Armory Coin,Scrypt,True,PoW/PoS,,1990000000
+RING,RingCoin,Scrypt,True,PoW/PoS,,1900000000
+LAZ,Lazarus,DPoS,True,DPoS,,10000000
+BTCR,BitCurrency,Scrypt,True,PoS,169598616,0
+FCTC,FaucetCoin,X13,False,PoS,,10000
+MOOND,Dark Moon,Scrypt,True,PoW/PoS,,420000000
+DLC,DollarCoin,SHA-256,True,PoW,9106714,10638298
+SCN,Swiscoin,Scrypt,True,PoW/PoW,665200057,3100000000
+BRONZ,BitBronze,Scrypt,True,PoW,,4502400
+SH,Shilling,Scrypt,True,PoW,11119200,30000000
+BUZZ,BuzzCoin,SHA-256D,True,PoW/PoS,19577787259,20000000000
+MG,Mind Gene,SHA-256,True,PoW/PoS,,7500000000
+PSI,PSIcoin,X11,True,PoS,,696969
+XPO,Opair,PoS,True,PoS,74033806.7949683,74000000
+PSB,PesoBit,Scrypt,True,PoW/PoS,33522957,0
+FIT,Fitcoin,X11,True,PoW/PoS,,90000000
+PINKX,PantherCoin,Scrypt,True,PoW/PoS,,735000000
+UNF,Unfed Coin,Scrypt,True,PoW,,67000000
+SPORT,SportsCoin,X11,True,PoS,,20000000
+NTC,NineElevenTruthCoin,Scrypt,True,PoW/PoS,,130528084
+EGO,EGOcoin,PoS,True,PoS,,60000000
+GBRC,GBR Coin,Scrypt,True,PoW,0,87500000
+HALLO,Halloween Coin,X11,True,PoW/PoS,264678458.288619,1500000000
+BBCC,BaseballCardCoin,Scrypt,True,PoW/PoS,,19000000
+EMIGR,EmiratesGoldCoin,SHA-256,False,PoW,,4000000
+BHC,BighanCoin,Quark,True,PoW,,411000000
+CRAFT,Craftcoin,Scrypt,True,PoW/PoS,,49411760
+OLYMP,OlympCoin,X11,True,PoW/PoS,,50000000
+DPAY,DelightPay,X13,True,PoW/PoS,,90400000
+ANTC,AntiLitecoin,Scrypt,False,PoW,,84000000
+JOBS,JobsCoin,X11,True,PoW/PoS,,20000000000
+DGORE,DogeGoreCoin,X11,True,PoW/PoS,,500000000
+RMS,Resumeo Shares,NIST5,True,PoS,,9188302
+FJC,FujiCoin,Scrypt-n,True,PoW,0,10000000
+VAPOR,Vaporcoin,SHA-256,True,PoW/PoS,,2000000
+XZC,ZCoin,Lyra2Z,True,PoW,7568281.24956067,21400000
+PRE,Premium,Scrypt,True,PoW,,20000000
+CALC,CaliphCoin,SHA-256,True,PoW,,135000000
+LEA,LeaCoin,SHA-256,True,PoW,0,2000000000
+CF,Californium,SHA-256,True,PoW,,2520000
+CFC,CoffeeCoin,PoS,True,PoS,148716816,39999898
+BS,BlackShadowCoin,X11,True,PoW/PoS,,2100000000
+JIF,JiffyCoin,SHA-256D,True,PoW,,5108400
+MONETA,Moneta,Scrypt,True,PoW,,184000000
+RUBIT,Rublebit,Scrypt,True,PoW,,100000000
+HCC,HappyCreatorCoin ,Scrypt,True,PoW,,100100400000
+BRAIN,BrainCoin,X11,True,PoW/PoS,,22000000
+ROYAL,RoyalCoin,X13,True,PoS,2500124,2500124
+LFC,BigLifeCoin,X11,True,PoW,,9900000000
+ZUR,Zurcoin,Quark,True,PoW,0,126000000
+PEC,PeaceCoin,X11,True,PoW,,700000000
+GMX,Goldmaxcoin,Scrypt,True,PoW,,84078950
+32BIT,32Bitcoin,X11,True,PoW/PoS,,355000
+GNJ,GanjaCoin V2,X14,True,PoW/PoS,100000000,100000000
+TEAM,TeamUP,PoS,True,PoS,17818682.1654,301000000
+SCT,ScryptToken,Scrypt,True,PoW/PoS,,8842105
+LANA,LanaCoin,SHA-256D,True,PoW/PoS,1082162635.53683,7506000000
+ELE,Elementrem,Ethash,True,PoW,26205539,26205539
+GCC,GuccioneCoin,Scrypt,True,PoW,,39760000
+EQUAL,EqualCoin,X13,True,PoW/PoS,,1000000000
+2BACCO,2BACCO Coin,Scrypt,True,PoW/PoS,,81454545
+DKC,DarkKnightCoin,Scrypt,True,PoW/PoS,,24000000
+COC,Community Coin,SHA-256,True,PoW,,36129032
+CHOOF,ChoofCoin,Scrypt,True,PoW/PoS,,40000000
+CSH,CashOut,SHA-256,True,PoW,0,100000000
+ZCL,ZClassic,Equihash,True,PoW,5613550,21000000
+RYCN,RoyalCoin 2.0,X13,True,PoS,,2500124
+PCS,Pabyosi Coin,X11,True,PoW/PoS,,31500000000
+NBIT,NetBit,Scrypt,True,PoW/PoS,,10.500.000
+WINE,WineCoin,Scrypt,True,PoW/PoS,,1744000000
+ARK,ARK,DPoS,True,DPoS,108202084,125000000
+ZECD,ZCashDarkCoin,Scrypt,True,PoW,,500000000
+WASH,WashingtonCoin,X11,True,PoW/PoS,,170000000
+LUCKY,LuckyBlocks,PoS,True,PoS,,20000000
+INSANE,InsaneCoin,X11,True,PoW/PoS,18342813,30000000
+BASH,LuckChain,Scrypt,True,PoW/PoS,0,1000000000
+FAME,FameCoin,QuBit,True,PoW/PoS,,50000000
+LIV,LiviaCoin,Scrypt,True,PoW/PoS,,1572000000
+DOGETH,EtherDoge,X11,True,PoW/PoS,,18100000
+KLC,KiloCoin,Scrypt,True,PoW,196297971,10000000000
+HUSH,Hush,Equihash,True,PoW,0,21000000
+BTLC,BitLuckCoin,PoS,True,PoS,,5000000000
+DRM8,Dream8Coin,Scrypt,True,PoW,,88800000000
+EBZ,Ebitz,PoS,False,PoS,,21000000
+FGZ,Free Game Zone,Scrypt,True,PoW,,44775520
+BOSON,BosonCoin,X11,True,PoW/PoS,,5000000000
+ATX,ArtexCoin,X11,True,PoW,824000000,500000000
+PNC,PlatiniumCoin,SHA-256,True,PoW,,21000000
+BRDD,BeardDollars,Scrypt,True,PoW/PoS,,21212121
+BIPC,BipCoin,CryptoNight,True,PoW,,18446744
+XNC,XenCoin,Scrypt,True,PoW,,2100000000
+EMB,EmberCoin,X13,True,PoW/PoS,92192822723,850000000
+BTTF,Coin to the Future,PoS,True,PoS,,1210000
+DLR,DollarOnline,X11,True,PoW/PoS,,1000000000
+XEN,XenixCoin,X11,True,PoW/PoS,3853326.77707314,3853326.77707314
+IW,iWallet,X11,True,PoW/PoS,,2142857142.86
+FRE,FreeCoin,PoS,True,PoS,50000000,50000000
+NPC,NPCcoin,SHA-256D,True,PoW/PoS,0,7000000000
+PLNC,PLNCoin,Scrypt,True,PoW/PoS,17089600,38540000
+DGMS,Digigems,Scrypt,True,PoW,,50000000
+ICOB,Icobid,Scrypt,True,PoW/PoS,0,200000000
+ARCO,AquariusCoin,Scrypt,True,PoW/PoS,2449577.41533168,42000000
+KURT,Kurrent,X11,True,PoW,61364813,228000000
+XCRE,Creatio,PoS,True,PoS,20000000,20000000
+ENT,Eternity,X11,True,PoW/PoS,6069482.07721352,60000000
+MTLM3,Metal Music v3,Scrypt,False,PoW/PoS,,2500000000
+ODNT,Old Dogs New Tricks,SHA-256D,True,PoW/PoS,,21000000
+EUC,Eurocoin,SHA-256,True,PoW/PoS,12416554,20000000
+CCX,CoolDarkCoin,Scrypt,True,PoW/PoS,,11052632
+BCF,BitcoinFast,Scrypt,True,PoW/PoS,20244023.640728,33000000
+SEEDS,SeedShares,SHA-256D,True,PoW/PoS,,7996400
+XSN,Stakenet,X11,True,TPoS,75590369,76500000
+BCCOIN,BitConnect Coin,Scrypt,True,PoW/PoS,11080722.3769581,28000000
+SHORTY,ShortyCoin,PoS,True,PoS,,100000000
+PCM,Procom,Scrypt,True,PoW,,28000000
+CORAL,CoralPay,X13,True,PoS,,21000000
+MONEY,MoneyCoin,Scrypt,True,PoW/PoS,10914418,650659833
+HSP,Horse Power,Scrypt,True,PoW,,2900000
+HZT,HazMatCoin,Scrypt,True,PoW/PoS,,100000000
+CRSP,CryptoSpots,DPoS,True,DPoS,,0
+ICON,Iconic,PoS,True,PoS,,520000
+NIC,NewInvestCoin,PoS,True,PoS,,47090909
+ACN,AvonCoin,PoS,True,PoS,,1000000000
+XNG,Enigma,X11,True,PoW/PoS,814671,5000000
+XCI,Cannabis Industry Coin,CryptoNight,True,PoW,978145,21000000
+LOOK,LookCoin,X11,True,PoW/PoS,,1613150000
+MIS,MIScoin,X11,True,PoW/PoS,,25000000
+WOP,WorldPay,X11,True,PoW/PoS,,10000000
+CQST,ConquestCoin,X13,True,PoW/PoS,,30000000
+CHIEF,TheChiefCoin,Scrypt,True,PoW/PoS,,2500000000
+RC,Russiacoin,Scrypt,True,PoW/PoS,8377873,144000000
+PND,PandaCoin,Scrypt,True,PoS,33813143821.8337,32514916898
+ECAD,Canada eCoin,Scrypt,True,PoW,,100000000
+OPTION,OptionCoin,X11,True,PoS,,21000000
+AV,Avatar Coin,PoS,True,PoS,,10000000
+LTD,Limited Coin,PoS,True,PoS,,128
+UNITS,GameUnits,Scrypt,True,PoW/PoS,3472983,13000000
+GAKH,GAKHcoin,Scrypt,True,PoW/PoS,3315789,3315789
+S8C,S88 Coin,Scrypt,True,PoW/PoS,,520000000
+ASAFE2,Allsafe,Quark,True,PoS,10517772.7391666,15000000
+LTCR,LiteCreed,QuBit,True,PoW/PoS,30227750,78835200
+XPRO,ProCoin,X15,True,PoW/PoS,,6000000
+ASTR,Astral,X13,True,PoW/PoS,,37875500
+GIFT,GiftNet,X13,True,PoW,,6750000
+VIDZ,PureVidz,PoS,True,PoS,,125000000
+INC,Incrementum,PoS,True,PoS,,1300000
+PTA,PentaCoin,SHA-256,True,PoW/PoS,, 1311955
+ACID,AcidCoin,SHA-256,True,PoW,,4500000000
+RNC,ReturnCoin,X11,True,PoS,,250000000
+TWIST,TwisterCoin,X11,True,PoW/PoS,,3195000
+PAYP,PayPeer,X11,True,PoW/PoS,,50000000000
+LENIN,LeninCoin,SHA-256D,True,PoW,,100000000
+MRSA,MrsaCoin,X13,True,PoW/PoS,,2100000000
+OS76,OsmiumCoin,Scrypt,True,PoW,894026,2714286
+BIC,Bikercoins,CryptoNight,True,PoW,9357088,25000000
+CRPS,CryptoPennies,X11,True,PoS,,1593.15
+NTCC,NeptuneClassic,X11,True,PoW/PoS,0,250000000
+HXX,HexxCoin,Lyra2RE,True,PoW,1876146.443596,9999999
+SPKTR,Ghost Coin,SHA-256,True,PoW/PoS,,2270000
+MAC,MachineCoin,Time Travel,True,PoW,,35000000
+SEL,SelenCoin,PoS,True,PoS,,159680000
+NOO,Noocoin,PoS,True,PoS,,25000000
+CHAO,23 Skidoo,SHA-256D,True,PoW,,23
+XGB,GoldenBird,X13,True,PoW/PoS,0,450000000
+YMC,YamahaCoin,Scrypt,True,PoW,,315000000
+JOK,JokerCoin,Scrypt,True,PoW/PoS,,5000000000
+GBIT,GravityBit,Scrypt,True,PoW/PoS,,5333000
+TEC,TeCoin,Multiple,True,PoW,,469521976
+BOMBC,BombCoin,Scrypt,True,PoW/PoS,,4516129032
+RIDE,Ride My Car,PoS,True,PoS,0,100000000
+KED,Klingon Empire Darsek,Scrypt,True,PoW/PoS,23965372,500000000
+IOP,Internet of People,SHA-256,True,PoW/PoS,2526078.47525448,21000000
+ELS,Elysium,Scrypt,True,PoW,,18000000
+KUSH,KushCoin,X11,True,PoW/PoS,5659096.95728771,9354000
+ERY,Eryllium,X11,True,PoW/PoS,0,100000000
+OPES,Opes,Argon2,True,PoW,,52000000
+RATIO,Ratio,PoS,True,PoS,,100000000
+SMF,SmurfCoin,Scrypt,True,PoW/PoS,,2500000000
+TECH,TechCoin,X13,True,PoW/PoS,,300000
+CIR,CircuitCoin,SHA-256D,True,PoW/PoS,,3125000000
+LEPEN,LePenCoin,SHA-256,True,PoS,,1000000000
+MARX,MarxCoin,X11,True,PoW,0,100640000
+HAZE,HazeCoin,Scrypt,True,PoW,,25000000
+PRX,Printerium,Scrypt,True,PoW/PoS,11821728,20000000
+PAC,PacCoin,X11,True,PoW,536982074,100000000000
+IMPCH,Impeach,Scrypt,True,PoW/PoS,308179,21933333
+ERR,ErrorCoin,Scrypt,True,PoW,,81000000
+TIC,TrueInvestmentCoin,Scrypt,True,PoW/PoS,,53200000
+NUKE,NukeCoin,PoS,True,PoS,,2778196
+SFC,Solarflarecoin,Scrypt,True,PoW,0,20000000
+JANE,JaneCoin,X11,True,PoW/PoS,,2100000000
+PARA,ParanoiaCoin,Scrypt,True,PoW,,72000000
+MM,MasterMint,X11,True,PoS,,1500000000
+CTL,Citadel,CryptoNight-V7,True,PoW,10969318.522954,185000000
+ZBC,Zilbercoin,Scrypt,True,PoS,2922613.96424908,55000000
+FRST,FirstCoin,Scrypt,True,PoW/PoS ,110000000,110000000
+ORO,OroCoin,Scrypt,True,PoW,,23529412
+ALEX,Alexandrite,SHA-256,True,PoW/PoS,,1268000
+TBCX,TrashBurn,SHA-256D,True,PoS,,9000000
+MCAR,MasterCar,Scrypt,True,PoW/PoS,,2991837
+THS,TechShares,DPoS,True,DPoS,,600000000
+ACES,AcesCoin,X13,True,PoS,,100000000
+UAEC,United Arab Emirates Coin,X11,False,PoW/PoS,,10000000
+EA,EagleCoin,SHA-256,True,PoW,,40000000
+CREA,CreativeChain,Keccak,True,PoW,0,115000000
+BVC,BeaverCoin,Scrypt,True,PoW,3115258,3360000
+FIND,FindCoin,X13,True,PoS,14524851.4827,14524851.4827
+MLITE,MeLite,SHA-256D,True,PoW/PoS,,1.000.000
+STALIN,StalinCoin,X11,True,PoW/PoS,,3000000000
+TSE,TattooCoin,Scrypt,True,PoW/PoS,,500000000
+VLTC,VaultCoin,X11,True,PoW,30385540,1000000000
+BIOB,BioBar,SHA-256D,True,PoW/PoS,,60000000
+ZER,Zero,Equihash,True,PoW,6921653.89980891,17000000
+CHAT,OpenChat,Scrypt,True,PoW/PoS,1000000000,1000000000
+CDN,Canada eCoin,Scrypt,True,PoW,99843408.3158479,100000000
+ZOI,Zoin,Lyra2RE,True,PoW,18545757.5,21000000
+HONEY,Honey,Blake2S,True,PoW/PoS,,7000000
+MXT,MartexCoin,X13,True, PoW/PoS,,5000000
+MUSIC,Musicoin,Ethash,True,PoW,0,454898394
+VEG,BitVegan,PoS,True,PoS,,600000000
+MBIT,Mbitbooks,Scrypt,True,PoW,,81000000
+ZENI,Zennies,Scrypt,True,PoS,,1000000000
+PLANET,PlanetCoin,Scrypt,True,PoW/PoS,,1000000
+DUCK,DuckDuckCoin,Scrypt,True,PoW,,121
+BNX,BnrtxCoin,X11,True,PoW,0,210000000
+RNS,RenosCoin,Scrypt,True,PoS,36050365,34426423
+DBIX,DubaiCoin,Dagger-Hashimoto,True,PoW,2232901,2232901
+XVP,VirtacoinPlus,X11,True,PoW/PoS,13162749.0858027,100000000
+BOAT,Doubloon,536,True,PoW/PoS,,500000000
+TAJ,TajCoin,Blake2S,True,PoW/PoS,12184195.9258495,36900000
+IMX,Impact,X11,True,PoW/PoS,110630387.850471,110000000
+CJC,CryptoJournal,PoS,True,PoS,,100000000
+AMY,Amygws,Scrypt,True,PoW,,23333333
+QBT,Cubits,SHA-256,True,PoW/PoS,,300000000
+EB3,EB3coin,Scrypt,True,PoW,64096052,4000000000
+XVE,The Vegan Initiative,PoS,True,PoS,,50000000
+APT,Aptcoin,Scrypt-n,True,PoW,,42000000
+BLAZR,BlazerCoin,Scrypt,True,PoW,,294336000
+UNI,Universe,Scrypt,True,PoS,0,112000000
+ECOC,ECOcoin,Scrypt,True,PoW/PoS,,10733333
+DARK,Dark,SHA-256,True,PoW/PoS,,12800000
+DON,DonationCoin,Scrypt,True,PoW,,90000000
+ATMOS,Atmos,PoS,True,PoS,111135836.889,110290030
+HPC,HappyCoin,X11,True,PoW/PoS,21521322.0099142,100000000
+CXT,Coinonat,NIST5,True,PoW,10123200,48252000
+MCRN,MacronCoin,PoS,True,PoS,401421401,400000000
+RAIN,Condensate,X11,True,PoW/PoS,121665451.643876,500000000
+IEC,IvugeoEvolutionCoin,Scrypt,True,PoW,,100000000
+IMS,Independent Money System,Scrypt,True,PoW/PoS,5368934,21212121
+ARGUS,ArgusCoin,Scrypt,True,PoW/PoS,1148324,28600000
+LMC,LomoCoin,Scrypt,True,PoW/PoS,500000,1000000000
+BTCS,Bitcoin Scrypt,Scrypt,True,PoW,0,21000000
+PROC,ProCurrency,SHA-256,True,PoS,100545745,75000000000
+XGR,GoldReserve,X11,True,PoW/PoS,17171382,40000000
+BENJI,BenjiRolls,Scrypt,True,PoW,20276099.146524,35520400
+DUO,ParallelCoin,Scrypt,True,PoW,0,1000000
+GRW,GrowthCoin,Scrypt,True,PoS,295135466.361878,2000000000
+ILC,ILCoin,SHA-256,True,PoW,1317747500,2500000000
+PZM,Prizm,SHA-256,True,PoS,,600000000000000
+PHR,Phreak,PoS,True,PoS,11390225.9742772,30000000
+PUPA,PupaCoin,Blake2S,True,PoW/PoS,,3500000000
+RICE,RiceCoin,X13,True,PoW/PoS,,10000000
+XCT,C-Bits,SHA-256,True,PoW,,210000000
+DEA,Degas Coin,Scrypt,True,PoW/PoS,21358764,105000000
+ZSE,ZSEcoin,X11,True,PoW/PoS,0,2093500000
+TAP,TappingCoin,X11,True,PoW/PoS,,5000000000
+MUU,MilkCoin,SHA-256,True,PoW/PoS ,,4500000000
+INF8,Infinium-8,CryptoNight,False,PoW,,0
+HTML5,HTML5 Coin,X15,True,PoW/PoS,40659020000,90000000000
+SBSC,Subscriptio,PoS,True,PoS,,10000000
+USC,Ultimate Secure Cash,SHA-256,True,PoS,10343113,200084200
+DUX,DuxCoin,Scrypt,True,PoW/PoS,,1680000000
+XPS,PoisonIvyCoin,Scrypt,True,PoW/PoS,,4666666667
+EQT,EquiTrader,Scrypt,True,PoW,13673406.4325268,72000000
+MNTC,Manet Coin,Scrypt,True,PoW/PoS,,215000000
+HAMS,HamsterCoin,Scrypt,True,PoW,,20000000
+QTUM,QTUM,POS 3.0,True,PoS,100000000,100000000
+NEF,NefariousCoin,Scrypt,True,PoW/PoS,,4835000000
+QRL,Quantum Resistant Ledger,CryptoNight-V7,True,PoW,69036016.8340164,105000000
+ESP,Espers,536,True,PoW/PoS,22801882871,50000000000
+DYN,Dynamic,Argon2d,True,PoW,19784224.6512734,0
+NANO,Nano,Blake2b,True,PoW,133248297,340282367
+CHAN,ChanCoin,Cloverhash,True,PoW,18407259.0885883,30000000
+DCY,Dinastycoin,CryptoNight,True,PoW,1809467143,2000000000
+DNR,Denarius,NIST5,True,PoW/PoS,4171382,10000000
+DP,DigitalPrice,X11,True,PoW,35138975,100000000
+VUC,Virta Unique Coin,NIST5,True,PoW/PoS,62942075,120000000
+BTPL,Bitcoin Planet,Skein,True,PoW/PoS,6804362,100000000
+UNIFY,Unify,Scrypt,True,PoW,18133195,19276800
+BRIT,BritCoin,X13,True,PoW/PoS,21268092,30000000
+SOCC,SocialCoin,Scrypt,True,PoW,5167775, 75000000
+OTX,Octanox,X11,True,PoW/PoS,0,7905634
+ARC,ArcticCoin,X11,True,PoW,26042364.3735553,60000000
+BOG,Bogcoin,SHA-256,True,PoW,,21212121
+SAND,BeachCoin,X11,True,PoW,,21000000
+DAS,DAS,X11,True,PoW,2622886,18900000
+LINDA,Linda,Scrypt,True,PoW/PoS,9044930943.24243,50000000000
+XLC,LeviarCoin,CryptoNight,True,PoW,14161803,54000000
+ONION,DeepOnion,X13,True,PoW/PoS,21917018.0492836,18898187.6216583
+BTX,Bitcore,Time Travel,True,PoW,17801865.1605478,21000000
+GCN,gCn Coin,Scrypt,True,PoW,163055097500,200000000000
+SMART,SmartCash,Keccak,True,PoW,2241009149.22257,5000000000
+SIGT,Signatum,SkunkHash v2 Raptor,True,PoS,107972766,137500000
+ONX,Onix,X11,True,PoW,122475638.389743,1100000000
+WINK,Wink,PoS,True,PoS,,80000000
+CRM,Cream,Skein,True,PoW/PoS,47331802.4774238,100000000
+BCH,Bitcoin Cash,SHA-256,True,PoW,17995589.6469082,21000000
+BMXT,Bitmxittz,Scrypt,False,PoW/PoS,,10000
+XMCC,Monoeci,X11,True,PoW/PoS,12569262.5359307,9507271
+CMPCO,CampusCoin,Scrypt,True,PoW,0,1010000000
+DFT,Draftcoin,Scrypt,True,PoS,18663297.3489799,17405891.19707116
+VET,Vechain,VeChainThor Authority,True,Proof of Authority,55454734800,86712634466
+SOJ,Sojourn Coin,Scrypt,True,PoW,485214,10500000000
+STCN,Stakecoin,PoS,True,PoS,4000000,61599965
+NYC,NewYorkCoin,Scrypt,True,PoW,143006669741.687,0
+LBTC,LiteBitcoin,Scrypt,True,PoW,0,1000000000
+FRAZ,FrazCoin,Scrypt,True,PoW,9704042,20000000
+KRONE,Kronecoin,Scrypt,True,PoW,17453749.4042601,84000000
+ACC,AdCoin,Scrypt,True,PoW,32646731.063036,100000000
+LINX,Linx,Scrypt,True,PoW,33716526,100000000
+XCXT,CoinonatX,Scrypt,True,PoW/PoS,19539588,48252000
+BLAS,BlakeStar,Blake2S,True,PoW/PoS,,2400000000
+ETHD,Ethereum Dark,Scrypt,True,PoW/PoS,4200000,4200000
+SUMO,Sumokoin,CryptoNight,True,PoW,8946653,88888888
+ODN,Obsidian,SHA-512,True,PoS,25000000,91388946
+ADA,Cardano,Ouroboros,True,PoS,25927070538,45000000000
+REC,Regalcoin,X11,True,PoW/PoS,7262402.04264803,27000000
+BTCZ,BitcoinZ,Equihash,True,PoW,5211553258.01514,21000000000
+NTM,NetM,Scrypt,True,PoW,,101318932073.89769
+TZC,TrezarCoin,NeoScrypt,True,PoW/PoS,182638400,400000000
+ELM,Elements,X11,True,PoW,2702855668.85288,1800000000
+TER,TerraNovaCoin,Scrypt,True,PoW/PoS,1140734.91680375,15733333
+VIVO,VIVO Coin,NeoScrypt,True,PoW,4165967.57499639,27000000
+RGC,RG Coin,NIST5,True,PoW/PoS,,300000000
+RUP,Rupee,Lyra2REv2,True,PoS,24000000,24000000
+BTG,Bitcoin Gold,Equihash,True,PoW,17202361.088994,21000000
+WOMEN,WomenCoin,Scrypt,True,PoW/PoS,48459472454,25000000000
+MAY,Theresa May Coin,SHA-256,True,PoW/PoS,92050800,100000000
+EDDIE,Eddie coin,Scrypt,True,PoW/PoS,,1000000000
+NAMO,NamoCoin,NIST5,True,PoW/PoS,560563220,1200000000
+LUX,LUXCoin,PHI1612,True,PoW/PoS,8305775.31777569,60000000
+PIRL,Pirl,Dagger,True,PoW,33986980,156306732.71
+XIOS,Xios,Scrypt,True,PoW/PoS,2149688,21000000
+BTDX,Bitcloud 2.0,Quark,True,PoW/PoS,30711550.5294042,200000000
+EBST,eBoost,Scrypt,True,PoW,99990001.493466,100000000
+KEK,KekCoin,POS 2.0,True,PoS,12330806.30517,21000000
+BLHC,BlackholeCoin,Scrypt,True,PoW/PoS,16362544.992,14788275.991
+ALTCOM,AltCommunity Coin,SkunkHash,True,PoW/PoS,0,5000000
+PURE,Pure,X11,True,PoW/PoS,0,3686860
+RUPX,Rupaya,Quark,True,PoS,0,75000000
+XIN,Infinity Economics,SHA-256,True,PoS,8999999990,9000000000
+HNCN,Huncoin,X13,False,PoW,,86400000
+MADC,MadCoin,Scrypt,True,PoW,,10000000
+PURA,Pura,X11,True,PoW,175215859,350000000
+INN,Innova,NeoScrypt,True,PoW,6375259.04,45000000
+BDL,Bitdeal,Scrypt,True,PoW,0,300000000
+WSC,WiserCoin,Scrypt,False,PoW,,22105263
+MSR,Masari,CryptoNight,True,PoW,,18500000
+ELLA,Ellaism,Ethash,True,PoW,12756367,280000000
+SKR,Sakuracoin,Scrypt,True,PoW,0,105100000
+ISH,Interstellar Holdings,Scrypt,False,PoS,0,1970000000
+GBX,GoByte,NeoScrypt,True,PoW,5832306.875,31800000
+CSTL,Castle,Quark,True,DPoS,0,50000000
+ICC,Insta Cash Coin,SHA-256,False,PoW,0,300000000
+ALQO,Alqo,Quark,False,PoW/PoS,65269530.104519,57879300
+KNGN,KingN Coin,Scrypt,False,PoW/PoS,,420000
+MAG,Magnet,X11,True,PoW/PoS,38198594.8342105,144000000
+TAU,Lamden Tau,DPoS,True,DPoS,288090567.493887,500000000
+ECA,Electra,NIST5,True,PoW/PoS,28399150208,30000000000
+BCD,Bitcoin Diamond,X13,True,PoW/PoS,183534024.889807,210000000
+VOT,Votecoin,Equihash,True,PoW,,220000000
+XSH,SHIELD,Multiple,True,PoW,481730566.566176,660000000
+BCO*,BridgeCoin,Scrypt,False,PoW,0,27000000
+DSR,Desire,NeoScrypt,True,PoW,,22000000
+MUT,Mutual Coin,Scrypt,False,PoW/PoS,0,1000000000
+CNBC,Cash & Back Coin,Scrypt,True,PoW/PoS,110976977.29338,210000000
+XUN,UltraNote,CryptoNight,True,PoW,19281821413.4924,85000000000
+MAN,People,Scrypt,True,PoW,,7500000000
+ACHN,Achain,DPoS,True,DPoS,,1000000000
+NRO,Neuro,SHA-256,False,PoW/PoS,,20000000
+SEND,Social Send,Quark,True,PoW/PoS,,150000000
+COAL,BitCoal,CryptoNight,True,PoW,4500000,12500000
+DAXX,DaxxCoin,Ethash,True,PoW,520891780,10000000000
+BWK,Bulwark,NIST5,True,PoS,13247178.8807286,27716121
+BOXY,BoxyCoin,Scrypt,False,PoW,5761512.8103491,100000000
+SBTC,Super Bitcoin,SHA-256,True,PoW,,21210000
+KLKS,Kalkulus,Quark,True,PoS,16955764.902064,20000000
+AC3,AC3,X11,True,PoW,80316207,550000000
+CHIPS,CHIPS,SHA-256,True,PoW,0,21000000
+LTHN,Lethean,CryptoNight-V7,True,PoW,441250233.377,999481516
+GER,GermanCoin,Scrypt,True,PoW/PoS,4911500269.41,50000000000
+LTCU,LiteCoin Ultra,Scrypt,True,PoW/PoS,8419402.321,150000000
+STAK,Straks,Lyra2REv2,True,PoW,,150000000
+POP,PopularCoin,Scrypt,True,PoW,3964201248.87125,4999999999
+PNX,PhantomX,X11,True,PoW/PoS,45174214.1078625,50000000
+HBC,HomeBlockCoin,X11,False,PoW/PoS,0,28000000
+HTML,HTML Coin,SHA-256,True,PoW/PoS,0,90000000000
+PHO,Photon,BLAKE256,True,PoW,30089671530.5228, 90000000000
+SUCR,Sucre,X11,True,PoW,4229040.50393462,19800000
+ACCO,Accolade,Scrypt,False,PoW/PoS,5573908,50000000
+CPN,CompuCoin,Scrypt,True,PoW,,35000000
+XFT,Fantasy Cash,Scrypt,True,PoW/PoS,0,4600000
+OMGC,OmiseGO Classic,Scrypt,False,PoW/PoS,49933217.7511508,70000000
+ORE,Galactrum,Lyra2REv2,True,PoW/PoS,,26280000
+SPK,SparksPay,NeoScrypt,True,PoW,7847417.33355824,21000000
+GOA,GoaCoin,NeoScrypt,False,PoW,3982139.24553469,32000000
+WAGE,Digiwage,Quark,True,PoS,27299680,120000000
+GUN,GunCoin,NeoScrypt,True,PoW,299797953,500000000
+POLIS,PolisPay,X11,True,PoW,,25000000
+IRL,IrishCoin,Scrypt,True,PoW,45483049.3398182,64000000
+TROLL,Trollcoin,Scrypt,True,PoW/PoS,591022748,900000000
+LCP,Litecoin Plus,Scrypt,True,PoW/PoS,2504486.227718,4000000
+TGCC,TheGCCcoin,X13,True,PoW/PoS,,2400000000
+MONK,Monkey Project,X11,True,PoS,4407252,21000000
+KZC,KZCash,X11,True,PoW,,18000000
+WCG,World Crypto Gold,SHA-256,True,Proof of Stake,,900000000
+ECC,ECC,Scrypt,False,PoS,25000000000,25000000000
+STN,Steneum Coin,Scrypt,True,PoW,,20000000
+PCOIN,Pioneer Coin,X11,True,PoW,8478104.33969947,23000000
+UBTC,UnitedBitcoin,SHA-256,True,PoW,20166000,20166000
+ITZ,Interzone,C11,True,PoW,11916588.09471,23000000
+XBP,Black Pearl Coin,X13,True,PoW/PoS,,50000000
+SGL,Sigil,NeoScrypt,False,PoW,0,50000000
+OPC,OP Coin,Scrypt,True,PoW/PoS,0,2000000000
+SHA,Shacoin,SHA-256,True,PoS,,350000000
+BTW,BitWhite,DPoS,True,DPoS,,60000000
+CROAT,Croat,CryptoNight,True,PoW,,100467441
+VAL,Valorbit,Scrypt,True,PoW/PoS,0,92233720000000000
+TPAY,TokenPay,POS 3.0,True,PoS,20445861.5344251,25000000
+CVNG,Crave-NG,SHA-256,True,PoS,,1000000000
+MCT,1717 Masonic Commemorative Token,Ethash,True,PoS,1618033,1618033
+CWIS,Crypto Wisdom Coin,Scrypt,False,PoW,17630550.2128923,24000000
+MBC,My Big Coin,Scrypt,True,PoW and PoS,9399342.52839847,30000000
+WOBTC,WorldBTC,Scrypt,False,PoW/PoS,,210000000
+TRTL,TurtleCoin,CryptoNight,True,PoW,53139835213.77,1000000000000
+NDLC,NeedleCoin,X11,False,PoS/PoW,,120000000
+MUN,MUNcoin,SkunkHash,True,PoW,4818338.98949984,16600000
+USX,Unified Society USDEX,Scrypt,True,PoW/PoS,234846265.782157,232000000
+BCA,Bitcoin Atom,SHA-256,True,PoW/PoS,,21000000
+B2X,SegWit2x,X11,True,PoW/PoS,,21000000
+NBR,Niobio Cash,CryptoNight,True,PoW,133932467.774108,336000000
+SCOOBY,Scooby coin,Scrypt,True,PoW/PoS,,21000000
+BUN,BunnyCoin,Scrypt,True,PoW,,100000000000
+BSR,BitSoar Coin,X11,False,PoS,3680297312.25584,3980000000
+SKULL,Pirate Blocks,X11,True,PoW/PoS,,240000000
+BTCP,Bitcoin Private,Equihash,True,PoW,0,21000000
+SKC,Skeincoin,Skein,True,PoW,0,17000000
+KRM,Karma,Groestl,True,PoS,,3000000000
+CDY,Bitcoin Candy,Equihash,True,PoW,,21000000000
+SSS,ShareChain,Scrypt,True,PoW,10000000000,10000000000
+CRDNC,Credence Coin,SHA-256,False,PoW/PoS,3427006,25000000
+TRF,Travelflex,Dagger,True,PoW,107325266.027783,100000000
+KREDS,KREDS,Lyra2REv2,True,PoW,643795911.540095,1100000000
+VULC,Vulcano,NIST5,True,PoS/PoW,,421126225
+TOKC,Tokyo Coin,X13,True,PoS,230298925,800000000
+BBP,BiblePay,Proof-of-BibleHash,True,POBh,1772091549.88818,5200000000
+LCC,LitecoinCash,SHA-256 + Hive,True,PoW + Hive,638382332.208514,840000000
+FLIP,BitFlip,Scrypt,True,PoW,12446100.00278,40000000
+LOT,LottoCoin,Scrypt,True,PoW,14491014421,18406979840
+FUNK,Cypherfunks Coin,Scrypt,True,PoW,,49275000000
+LEAF,LeafCoin,Scrypt,True,PoW,0,21000000000
+BASHC,BashCoin,Skein,False,PoW/PoS,11661844.4720073,72000000
+DGM,DigiMoney,X11,False,PoW/PoS,3521630,25000000
+CBS,Cerberus,NeoScrypt,True,PoW,0,31500000
+BTCH,Bitcoin Hush,Equihash,True,PoW,0,21000000
+LIZ,Lizus Payment,Skein,False,PoW/PoS,2985970.9999482,69000000
+CIF,Crypto Improvement Fund,X11,True,PoW,211297638.500483,500000000
+SPD,Stipend,C11,True,PoW/PoS,11251342.1879021,19340594
+POA,Poa Network,Proof-of-Authority,True,PoA,204479039,252460800
+PUSHI,Pushi,X11,True,PoW/PoS,2167827.1,25000000
+POKER,PokerCoin,Scrypt,False,PoS/PoW,0,466666667
+ELP,Ellerium,XEVAN,True,PoW/PoS,419275.38,60000000
+VLX,Velox,Scrypt,True,PoS,25570013.1348022,124000000
+ONT,Ontology,VBFT,True,PoS,650848625,1000000000
+CLO,Callisto Network,Ethash,True,PoW,247612453,6500000000
+CRU,Curium,X11,True,PoW,0,22000000
+ELIC,Elicoin,YescryptR16,True,PoW,,10000000
+TUBE,BitTube,CryptoNight,True,PoW,80049082.9057215,1000000000
+DIN,Dinero,NeoScrypt,True,PoW,0,100000000
+PSD,Poseidon,Scrypt,True,PoW,4070212.1493016,21000000
+LELE,Lelecoin,Curve25519,True,PoS,,1000000000
+AKA,Akroma,Ethash,True,PoW,,100000000
+MANNA,Manna,SHA-256,False,PoW,2360478328.70966,10044655075.56243680
+ADK,Aidos Kuneen,IMesh,True,PoW,25000000,25000000
+SERA,Seraph,PHI1612,False,PoW/PoS,1360250,32000000
+AET,AfterEther,Ethash,False,PoW,,200000000
+CMOS,Cosmo,Quark,False,PoW,8928876.68577239,11892000
+REDN,Reden,X16S,False,PoW,0,14000000
+TLP,TulipCoin,Scrypt,True,PoW/PoS,,5250000000
+BSX,Bitspace,NIST5,True,PoW/PoS,13787854.6277781,50000000
+FNO,Fonero,PHI1612,True,PoW,,18400000
+XSG,Snowgem,Equihash,True,PoW,0,84096000
+CVTC,CavatCoin,DPoS,False,DPoS,,21000000
+XTL,Stellite,CryptoNight,False,PoW,,21000000000
+BRIA,Briacoin,Scrypt,True,PoW/PoS,845637.81347436,3000000
+IC,Ignition,Scrypt,True,PoW/PoS,1182153.5,5000000
+MNB,MoneyBag,X11,False,PoS,,50000000
+BTL,Bitrolium,Equihash,True,PoW,71355477,70000000
+BCI,Bitcoin Interest,Equihash,True,PoW,0,22300000
+MEDIC,MedicCoin,Scrypt,True,PoS,267297676.3125,500000000
+FLM,FOLM coin,PHI1612,False,PoW,0,23001916
+ALPS,Alpenschillling,Lyra2Z,True,PoW,27340501.6514783,300000000
+ZEL,Zelcash,Equihash,True,PoW/PoS,0,210000000
+BITG,Bitcoin Green,Green Protocol,True,PoS,9803691.3618195,21000000
+DEV,Deviant Coin,PoS,True,PoS,21876586.8530324,88000000
+ABJ,Abjcoin,Scrypt,True,PoW/PoS,9880502.37178894,30000000
+RAP,Rapture,NeoScrypt,False,PoW,4478901.29233779,21000000
+ANI,Animecoin,Quark,True,PoW,,1976000000
+PHC,Profit Hunters Coin,Scrypt,True,PoW/PoS,0,100000000
+SEM,Semux,Semux BFT consensus,True,DPoS,1231147,100000000
+BBK,BitBlocks,Scrypt,True,PoW/PoS,0,500000000
+UWC,Uwezocoin,Scrypt,False,PoW,0,840000000
+FTO,FuturoCoin,X11,True,PoW,31801461.1867843,100000000
+CARE,Carebit,Quark,True,PoW/PoS,139739596.506702,200000000
+NZL,Zealium,PoS,True,PoS,11075254.0929996,80000000
+XMC,Monero Classic,CryptoNight,True,PoW,16016864,18400000
+TIPS,FedoraCoin,Scrypt,True,PoW,,500000000000
+CHARM,Charm Coin,NeoScrypt,True,PoW,,250000000
+PROTON,Proton,X16R,True,PoS,4403800,45000000
+DERO,Dero,CryptoNight,True,PoW,,18400000
+DEAL,iDealCash,Scrypt,True,PoW/PoS,1404157529.46026,5121951220
+JUMP,Jumpcoin,NIST5,True,PoW,21069346.2522598,21000000
+INFX,Infinex,Lyra2RE,True,PoW,5097689.71077377,26280000
+XBI,Bitcoin Incognito,XEVAN,True,PoS/PoW,10904963.0923455,21000000
+KEC,KEYCO,Tribus,True,PoW,795447,18000000
+SABR,SABR Coin,Scrypt,True,PoW/PoS,,133100000
+HWC,HollyWoodCoin,Scrypt,True,PoS,38706809.466535,26000000
+GIN,GINcoin,Lyra2Z,True,PoW,6986399.70430446,10500000
+XMV,MoneroV,CryptoNight,True,PoW,,256000000
+PAR,Parlay,Scrypt,False,PoS,3783270,30000000
+LTCC,Listerclassic Coin,Scrypt,False,PoW/PoS,8094818.38874615,110000000
+AMX,Amero,NeoScrypt,True,PoW/PoS,,15000000
+PLTC,PlatinCoin,CryptoNight,True,PoW,84300,600000518
+KNG,BetKings,X11,False,PoS,11359634.6460345,8148139
+COG,Cognitio,SHA-256D,False,PoW/PoS,658584.46163633,7500000
+BEN,BitCOEN,SHA-256,True,Limited Confidence Proof-of-Activity ,,100000000
+LOKI,Loki,CryptoNight Heavy,True,PoW,19153632,150000000
+NCP,Newton Coin,CryptoNight,True,PoW,41294520017,184000000000
+STAX,Staxcoin,Scrypt,True,PoW/PoS,,43500000
+MRN,Mercoin,Scrypt,False,PoW/PoS,25330252.323,100000000
+SIC,Swisscoin,Scrypt,True,PoW/PoS,10200000000,10200000000
+EXCC,ExchangeCoin,Equihash,False,PoW,0,32000000
+REL,Reliance,X11,False,PoS,7256580,62000000
+BTCN,BitcoiNote,CryptoNight,True,PoW,,21000000
+XT3,Xt3ch,Scrypt,True,PoS,7630000.0154,44000000
+MGD,MassGrid,Jump Consistent Hash,True,PoW,135862416.039898,168000000
+VIG,TheVig,SHA-256D,True,PoW/PoS,33238183.7225834,100000000
+PLURA,PluraCoin,CryptoNight,True,PoW,560085952.404637,1000000000
+EMAR,EmaratCoin,Scrypt,True,PoW/PoS,21599339.6728,84000000
+XTNC,XtendCash,Wild Keccak,False,PoW,,100000000
+ROE,Rover Coin,X11,True,PoW/PoS,,60000000
+LTCP,LitecoinPro,Scrypt,True,PoW,,17500000
+DKD,Dekado,X15,True,PoS,30284196.369129,90000000
+LYNX,Lynx,Scrypt,True,HPoW,77872059787.8998,92000000000
+POSQ,Poseidon Quark,Quark,True,PoS,2716264.95302831,650000000
+YCE,MYCE,Scrypt,False,PoW/PoS,63613903.880998,250000000
+ARO,Arionum,SHA-512,False,PoW,60045900,545399000
+BWS,BitcoinWSpectrum,SHA-256,True,PoS,57811001.000889,100262205
+BTCC,Bitcoin Core,SHA-256,True,PoW,,21000000
+GOLF,GolfCoin,SHA-256D,False,PoW/PoS,0,1713134800
+MUSE,Muse,DPoS,True,PoS,18194936,18081806
+XMN,Motion,X16R,True,PoW,8125865.02097646,22075700
+PLUS1,PlusOneCoin,HMQ1725,True,PoW,8645406.16776286,21000000
+AXE,Axe,X11,True,PoW,4993030.69736615,21000000
+GMCN,GambleCoin,Scrypt,False,PoS,8240763.49472804,15600000
+TRVC,Trivechain,X16R,True,PoW/PoS,36923120.6205934,82546564
+DTEM,Dystem,Quark,True,PoS,7082392.24744494,21000000
+GIC,Giant,Quark,True,PoW/PoS,5919489.76813523,5151000
+PNY,Peony Coin,Scrypt,True,PoS,1042012.45227735,16880000000
+SAFE,SafeCoin,Zhash,True,PoW/PoS,0,36000000
+ABS,Absolute Coin,Lyra2REv2,True,PoW/PoS,13332617.9413708,52500000
+VITAE,Vitae,Quark,True,PoS,66053877.6256106,100000000
+BSPM,Bitcoin Supreme,Scrypt,True,PoS,,21000000
+XGS,GenesisX,XEVAN,False,PoS,0,19000000
+BIM,BitminerCoin,CryptoNight,False,PoW,0,50000000
+HEX,HexCoin,Scrypt,True,PoW,1416663.06600024,22105263
+DEI,Deimos,Scrypt,False,PoW,269143950.637501,1000000000
+TPC,TPCash,Scrypt,True,PoW/PoS,5403802.49590733,1000000000
+OYS,Oyster Platform,X11,False,PoS,,25000000
+WEBC,Webchain,CryptoNight-V7,True,PoW,15580199.3087496,1750000000
+RYO,Ryo,Cryptonight-GPU,True,PoW,4890897,88188888
+MUSD,MUSDcoin,Scrypt,True,PoW/PoS,0,100000000
+URALS,Urals Coin,XEVAN,True,PoW,14746153.0962884,210000000
+QWC,Qwertycoin,CryptoNight Heavy,True,PoW,99553110528.8022,184470000000
+BITN,Bitcoin Nova,CryptoNight,False,PoW,484454200,1000000000
+ARE,ARENON,X11,True,PoS,19269509.94,55000000
+DACASH,DACash,X11,False,PoW,26709236.7607446,50000000
+EUNO,EUNO,X11,True,PoW/PoS,30771125.9760867,50000000
+MMO,MMOCoin,Scrypt,True,PoS,107763867.917675,260000000
+DASC,DasCoin,DPoS,True,DPoS,,8589934592
+KETAN,Ketan,PoS,True,PoS,9327131.59708692,210000000
+NIX,NIX,Lyra2REv2,True,PoW,0,175000000
+ITA,Italocoin,CryptoNight Heavy,False,PoW,,18446744
+XSTC,Safe Trade Coin,Scrypt,True,PoS,0,840000000
+PPAI,Project Pai,SHA-256,True,PoW,2100000000,2100000000
+MBLC,Mont Blanc,Scrypt,True,PoS,0,70000000
+XDNA,XDNA,Keccak,True,PoW/PoS,4672513.84432375,366000000
+PAXEX,PAXEX,X11,True,PoS,4504639,100000000
+DIT,Ditcoin,CryptoNight,True,PoW,,37000000
+AZART,Azart,X11,True,PoW,5015881.37315389,25000000
+AOP,Averopay,Tribus,False,PoW/PoS,1859475.60962,36500000
+XAP,Apollon,Quark,True,PoW/PoS,0,250000000
+TSC,ThunderStake,Scrypt,True,PoW/PoS,1059954080.43439,18000000000
+SPLB,SimpleBank,NeoScrypt,False,PoW/PoS,2381470.97805063,21000000
+HMN,Harvest Masternode Coin,Scrypt,True,PoW/PoS,,10000000
+KCASH,Kcash,SHA-512,True,Zero-Knowledge Proof,1000000000,1000000000
+XCG,Xchange,X16R,True,PoW,9753753.61515394,100000000
+AAC,Acute Angle Cloud,ECC 256K1,True,DPOS,1000000000,1000000000
+KST,StarKST,Scrypt,True,PoW,,6000000000
+AUK,Aukcecoin,Scrypt,True,PoW/PoS,,80000000
+PLAN,Plancoin,Scrypt,True,PoW/PoS,,35000000
+TRAID,Traid,NeoScrypt,True,PoW/PoS,0,252000000
+TCHB,Teachers Blockchain,Scrypt,True,PoW,,160000000
+MIODIO,MIODIOCOIN,Scrypt,True,PoW,,80000000
+LTPC,Lightpaycoin,Quark,True,PoS,,21000000
+HANA,Hanacoin,Lyra2REv2,False,PoW,,122500000
+BTV,Bitvote,CryptoNight,True,PoW/PoS,,21000000
+CRYP,CrypticCoin,Equihash,True,PoW,4235111504,7600000000
+BTXC,Bettex coin,XEVAN,True,PoS,6787405.18013774,50000000
+ZEST,ZestCoin,Quark,True,PoW,0,29300000
+XCASH,X-CASH,CryptoNight Heavy X,True,PoW,0,100000000000
+BRAZ,Brazio,HMQ1725,False,PoW,75579791.7052214,207000000
+ACM,Actinium,Lyra2Z,True,PoW,13634850,84000000
+LTZ,Litecoinz,Equihash,True,PoW,,84000000
+ETHO,ETHER-1,Ethash,True,PoW,0,13666237
+TWISTR,TWIST,SHA-512,False,PoS,200000000,200000000
+MBTC,MicroBitcoin,Rainforest,True,PoW,,210000000000
+FOREX,FOREXCOIN,Scrypt,True,PoW,,1000000000
+BSV,Bitcoin SV,SHA-256,True,PoW,17992514.6469233,21000000
+DACH,DACH Coin,Quark,False,PoS,14303114.6740944,38000000
+AGM,Argoneum,PHI1612,False,PoW,13969583.3757376,64000000
+ARMS,2Acoin,CryptoNight-V7,False,PoW,,17910000
+BITM,BitMoney,XEVAN,True,Pos,208515864.367343,70000000000
+B2G,Bitcoiin2Gen,Ethash,True,PoW,0,100000000
+AUX,Auxilium,Keccak,False,PoA,,300000000
+JMC,Junson Ming Chan Coin,X11,True,PoS,17209923728.3266,0
+FRED,FREDEnergy,CryptoNight,True,PoW,1867054873.28397,8080000000
+ZND,Zenad,Quark,True,POS / MN,0,46000000
+NGIN,Ngin,M00N,False,PoW,,360000000
+GENX,Genesis Network,Equihash,True,PoW,,4100000000
+VTL,Vertical,Lyra2Z,True,PoW,,35000000
+C25,C25 Coin,SkunkHash,True,PoW,0,6100000
+HERB,HerbCoin,Quark,True,PoW/PoS,35312185.7437239,54000000
+AQUA,Aquachain,Argon2,True,PoW,0,42000000
+BBTC,BlakeBitcoin,Blake,False,PoW,20595483.8480416,21000000
+UMO,Universal Molecule,Blake,True,PoW,1578281.31341127,105120001.44
+LIT,Lithium,Blake,True,PoW,15846721.2482747,25228800
+ELT,Electron,Blake,False,PoW,24156921.9868023,7000000000
+XNB,Xeonbit,CryptoNight,True,PoW,,18400000
+RBTC,Smart Bitcoin,SHA-256,True,PoW,0,20999764
+PIRATE,PirateCash,Equihash,True,PoS,13475920,105000000
+EXO,Exosis,Exosis,True,PoW,406091.925,21000000
+BLTG,Block-Logic,Scrypt,True,PoW,35284717.173946,120000000
+MIMI,MIMI Money,CryptoNight,False,PoW,,1000000000000000000
+OWC,Oduwa,Scrypt,True,PoW/PoS,14777549.3940764,21000000
+BEAM,Beam,Equihash,True,PoW,35687520,262800000
+GALI,Galilel,Quark,True,PoW/PoS,18265011.2486006,19035999
+ZEX,Zaddex,Equihash,False,PoW,,210000000
+BTH,Bithereum,Equihash,True,PoW,25150787.5,30886000
+ARQ,ArQmA,CryptoNight-lite,True,PoW,,50000000
+VEO,Amoveo,SHA-256,True,PoW,,0
+CSPN,Crypto Sports,Quark,True,PoS,1934701.67524713,13370000
+CREDIT,Credit,Scrypt,True,PoW/PoS,30825710000.0296,74800000000
+SCRIBE,Scribe Network,Lyra2REv2,False,PoW,6040583.72997153,32700000
+LYTX,LYTIX,QuarkTX,True,PoW/PoS,,100000000
+SCA,SiaClassic,Blake2b,False,PoW,,5000000000
+LUNES,Lunes,Leased POS,True,LPoS,,150728537.61
+SLC,SLICE,QuBit,True,PoW,12925790.4226959,100000000
+DASHP,Dash Platinum,X11,True,PoS,715659.44237941,19700000
+NSD,Nasdacoin,Scrypt,True,PoW/PoS,20546528.2059957,84000000
+VDL,Vidulum,Equihash1927,True,PoW,0,100000000
+BEET,Beetle Coin,XEVAN,True,PoW/PoS,198938144.363399,500000000
+TTN,Titan Coin,SHA-256D,True,PoW/PoS,896361168,5000000000
+AWR,Award,X11,True,PoW/PoS,15420234.5389336,420000000
+BST,BlockStamp,SHA-256,True,PoW,0,105000000
+BLAST,BLAST,SHA-256,True,PoW,52293836.6277958,64000000
+ESBC,ESBC,Quark,True,PoS,,30000000
+VBK,VeriBlock,SHA-256,True,PoW,,2100000000
+XRC,Bitcoin Rhodium,X13,True,PoW,1170292.5,2100000
+GLT,GlobalToken,SHA-256,True,PoW,84613099.9999955,168000000
+INSN,Insane Coin,X11,True,PoW/PoS,23775960.3207514,30000000
+WRT,WRTcoin,X11,True,PoW,,25000000000
+ALX,ALAX,DPoS,True,DPoS,1000000000,1000000000
+TFC,The Freedom Coin,X11,True,PoS,0,25000000
+MPT,Media Protocol Token,Ethash,False,PoW,10000000000,10000000000
+AMBER,AmberCoin,X11,True,PoW/PoS,,1000000000
+LDOGE,LiteDoge,Scrypt,True,PoW/PoS,15318887081.0146,35000000000
+BBR,Boolberry,X11,True,PoW,0,18450000
+SLR,SolarCoin,Scrypt,True,PoW,55565076.3863525,98100000000
+TRK,TruckCoin,X11,True,PoW/PoS,242574105.22384,0
+UFO,UFO Coin,NeoScrypt,True,PoW,3824685012,4000000000
+ASN,Ascension Coin,QuBit,True,PoW/PoS,0,0
+OC,OrangeCoin,Scrypt,True,PoW/PoS,3537150,200000000
+GSM,GSM Coin,X11,True,PoW/PoS,,1800000
+BLC,BlakeCoin,Blake,True,PoW,23356790.1494191,7000000000
+BITS,BitstarCoin,Scrypt,True,PoW/PoS,20576532,54256119
+NEOS,NeosCoin,SHA-256,True,PoS,4392258.24647793,21000000
+HYPER,HyperCoin,Scrypt,True,PoW/PoS,9631199.99309942,0
+PINK,PinkCoin,X11,True,PoW/PoS,436353624.490312,500000000
+FCN,FantomCoin ,CryptoNight,True,PoW,0,18400000
+XWT,World Trade Funds,X15,True,PoW/PoS,,1000000
+CESC,Crypto Escudo,Scrypt,True,PoW,780210700,1000000000
+TWLV,Twelve Coin,T-Inside,True,PoW/PoS,,0
+ADC,AudioCoin,Scrypt,True,PoW/PoS,980732528.97974,10500000000
+LOG,Wood Coin,Skein,True,PoW,, 27625814
+XCE,Cerium,SHA-256,True,PoW/PoS,,2307925
+NKA,IncaKoin,SHA-256,True,PoW/PoS,17939725045.334,190000000
+PIGGY,Piggy Coin,X11,True,PoW/PoS,494240666.028571,1000000000
+CRW,Crown Coin,SHA-256,True,PoW,22986929.0854247,42000000
+GEN,Genstake,Scrypt,True,PoW/PoS,60000000,15000000
+LTS,Litestar Coin,X11,True,PoW/PoS,,120000000
+QCN,Quazar Coin,CryptoNight,True,PoW,0,18446744
+SMLY,SmileyCoin,Scrypt,True,PoW,29583989322.9213,50000000000
+BTQ,BitQuark,Multiple,True,PoW,,0
+PKB,ParkByte,SHA-256,True,PoW/PoS,0,25000000
+HNC,Hellenic Coin,Scrypt,True,PoW,,100000000
+MI,XiaoMiCoin,Scrypt,True,PoW/PoS,404316475.545465,400000000
+GRS,Groestlcoin,Groestl,True,PoW,73298203.8873662,105000000
+CPC,CapriCoin,X11,True,PoW/PoS,201364327.427503,208000000
+CLUB, ClubCoin,Scrypt,True,PoW/PoS,103621876.167052,160000000
+RADS,Radium,PoS,True,PoS,3821245.74150193,9000000
+BTA,Bata,Scrypt,True,PoW,5052555.91981545,5000000
+PAK,Pakcoin,Scrypt,True,PoW,69684455.4387001,182000000
+CRB,Creditbit ,X11,True,Proof of Trust,16901016.6609755,16504333
+OK,OKCash,SHA-256,True,PoW/PoS,74676064.9488608,105000000
+LSK,Lisk,DPoS,True,DPoS,120012140,159918400
+XHI,HiCoin,Scrypt,True,PoS,10000244677.7002,10008835635
+XWC,WhiteCoin,Scrypt,True,PoW/PoS,252005564.19257,300000000
+DOT,Dotcoin,Scrypt,True,PoW,0,890000000
+FSC,FriendshipCoin,NeoScrypt,True,PoW/PoS,1120385.00502,60168145
+THC,The Hempcoin,Scrypt,True,PoW/PoS,0,300000000
+FIII,Fiii,SHA3-256,True,DPoC,-5917977547.96773,5000000000
+J,JoinCoin,Multiple,True,PoW,3332922.5,2800000
+TRI,Triangles Coin,X13,True,PoW/PoS,140777.753365,120000
+RAIZER,RAIZER,SHA-256,False,PoW,,1000000000
+VOLLAR,Vollar,Equihash+Scrypt,True,PoW,100000000,2100000000
+VNTY,VENOTY,Scrypt,False,PoW,,94000000
+AX,AlphaX,Scrypt,True,PoS,,200000000000
+SWI,Swinca,Quark,False,PoW/PoS,,400000000
+TCR,TecraCoin,Lyra2Z,False,PoW,40874452.4756771,210000000
+HCXP,HCX PAY,CryptoNight,False,PoW,,2000000000
+GEX,Gexan,PHI2,False,PoW/PoS,2233828.12953048,21000000
+EOS,EOS,DPoS,True,DPoS,1020544523.0722,0
+AHT,Ahoolee,Ethash,True,PoW,,100000000
+RCC,Reality Clash,Ethash,True,PoW,24487944.0958204,24487944
+OXY,Oxycoin,DPoS,True,DPoS,1122382283.37,0
+Z2,Z2 Coin,SHA-256,False,PoW,,11000000
+KAPU,Kapu,DPoS,True,DPoS,,115000000
+GRFT,Graft Blockchain,CryptoNight,True,PoW/PoS,,1844674400
+MNZ,Monaize,Equihash,True,PoW/DPoW,,257142857
+AVE,Avesta,Avesta hash,False,PoW,,200000000
+XSB,Extreme Sportsbook,X11,False,PoS,,3000000
+SCRM,Scorum,DPoS,True,DPoS,,20000000
+LWF,Local World Forwarders,DPoS,True,DPoS,,100000000
+ILT,iOlite,Ethash,True,PoW,0,1000000000
+ADM,Adamant,DPoS,True,DPoS,,200000000
+UPX,uPlexa,CryptoNight,True,PoW,,10500000000
+TCH,TigerCash,SHA-256,True,PoS,1000000000,1000000000
+LAX,LAPO,Lyra2Z,False,PoW/PoS,11086825523.3769,100000000000
+TIP,Tip Blockchain,DPoS,True,PoS,,1000000000
+DTEP,DECOIN,X11,True,PoS,,140000000
+WAVES,Waves,Leased POS,True,LPoS,100000000,100000000
+PART,Particl,PoS,True,PoS,9283137.5558676,8634140
+SLX,Slate,Slatechain,True,PoW,,950000000
+SHARD,ShardCoin,Scrypt,False,PoS,24924986.0946492,900000000
+BTT,BitTorrent,TRC10,True,DPoS,989988713439.649,990000000000
+CHI,XAYA,NeoScrypt,True,PoW,,77303932
+ZILLA,ChainZilla,Equihash,False,DPoW,11000068.2715789,11000000
+NXT,Nxt,PoS,True,PoS/LPoS,1000000000,1000000000
+ZEPH,ZEPHYR,SHA-256,True,DPoS,1999999995.3056,2000000000
+XQN,Quotient,Scrypt,True,PoW/PoS,,0
+NETC,NetworkCoin,X13,True,PoW/PoS,,400000
+VPRC,VapersCoin,Scrypt,True,PoW,,42750000000
+GAP,Gapcoin,Scrypt,True,PoW/PoS,14931046.1546605,250000000
+SERO,Super Zero,Ethash,True,PoW,,1000000000
+UOS,UOS,SHA-256,True,DPoI,,1000000000
+BDX,Beldex,CryptoNight,True,PoW,980222595,1400222610
+ZEN,Horizen,Equihash,True,PoW,7296537.5,21000000
+XBC,BitcoinPlus,Scrypt,True,PoS,128326.99633965,1000000
+DVTC,DivotyCoin,Scrypt,False,PoW/PoS,21491213.4644496,100000000
+GIOT,Giotto Coin,Scrypt,False,PoW/PoS,,233100000
+OPSC,OpenSourceCoin,SHA-256,False,PoW/PoS,,21000000
+PUNK,SteamPunk,PoS,False,PoS,,40000000