Skip to content

Instantly share code, notes, and snippets.

@d3noob
Last active August 30, 2022 17:09
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 6 You must be signed in to fork a gist
  • Save d3noob/6584483 to your computer and use it in GitHub Desktop.
Save d3noob/6584483 to your computer and use it in GitHub Desktop.
dc.js chart examples
/*!
* Bootstrap v2.3.2
*
* Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Designed and built with all the love in the world @twitter by @mdo and @fat.
*/.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{width:auto\9;height:auto;max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#08c;text-decoration:none}a:hover,a:focus{color:#005580;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;line-height:0;content:""}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;line-height:0;content:""}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:bold}em{font-style:italic}cite{font-style:normal}.muted{color:#999}a.muted:hover,a.muted:focus{color:#808080}.text-warning{color:#c09853}a.text-warning:hover,a.text-warning:focus{color:#a47e3c}.text-error{color:#b94a48}a.text-error:hover,a.text-error:focus{color:#953b39}.text-info{color:#3a87ad}a.text-info:hover,a.text-info:focus{color:#2d6987}.text-success{color:#468847}a.text-success:hover,a.text-success:focus{color:#356635}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{line-height:40px}h1{font-size:38.5px}h2{font-size:31.5px}h3{font-size:24.5px}h4{font-size:17.5px}h5{font-size:14px}h6{font-size:11.9px}h1 small{font-size:24.5px}h2 small{font-size:17.5px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}ul.inline,ol.inline{margin-left:0;list-style:none}ul.inline>li,ol.inline>li{display:inline-block;*display:inline;padding-right:5px;padding-left:5px;*zoom:1}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:bold}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;line-height:0;content:""}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:17.5px;font-weight:300;line-height:1.25}blockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;white-space:nowrap;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#555;vertical-align:middle;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;*margin-top:0;line-height:normal}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;background-color:#fff;border:1px solid #ccc}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;cursor:not-allowed;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025)}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.radio,.checkbox{min-height:20px;padding-left:20px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;line-height:0;content:""}.controls-row:after{clear:both}.controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left}.controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;line-height:0;content:""}.form-actions:after{clear:both}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}.input-append,.input-prepend{display:inline-block;margin-bottom:10px;font-size:0;white-space:nowrap;vertical-align:middle}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu,.input-append .popover,.input-prepend .popover{font-size:14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;vertical-align:middle;*zoom:1}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;line-height:0;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.table th{font-weight:bold}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child,.table-bordered tbody:first-child tr:first-child>th:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child,.table-bordered tbody:first-child tr:first-child>th:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tbody:last-child tr:last-child>th:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>th:first-child{-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tbody:last-child tr:last-child>th:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>th:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-moz-border-radius-bottomleft:0}.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomright:0}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover tbody tr:hover>td,.table-hover tbody tr:hover>th{background-color:#f5f5f5}table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44px;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success>td{background-color:#dff0d8}.table tbody tr.error>td{background-color:#f2dede}.table tbody tr.warning>td{background-color:#fcf8e3}.table tbody tr.info>td{background-color:#d9edf7}.table-hover tbody tr.success:hover>td{background-color:#d0e9c6}.table-hover tbody tr.error:hover>td{background-color:#ebcccc}.table-hover tbody tr.warning:hover>td{background-color:#faf2cc}.table-hover tbody tr.info:hover>td{background-color:#c4e3f3}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;margin-top:1px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:focus>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>li>a:focus>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:focus>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"],.dropdown-submenu:focus>a>[class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{width:16px;background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{width:16px;background-position:-384px -120px}.icon-folder-open{width:16px;background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus,.dropdown-submenu:hover>a,.dropdown-submenu:focus>a{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;outline:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:default;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open{*z-index:1000}.open>.dropdown-menu{display:block}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu>a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;border-color:transparent;border-left-color:#ccc;border-style:solid;border-width:5px 0 5px 5px;content:" "}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.dropdown .dropdown-menu .nav-header{padding-right:20px;padding-left:20px}.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;padding:4px 12px;margin-bottom:0;*margin-left:.3em;font-size:14px;line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #ccc;*border:0;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-bottom-color:#b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:focus,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover,.btn:focus{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px}.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0}.btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px}.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#006dcc;*background-color:#04c;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#04c;*background-color:#003bb3}.btn-primary:active,.btn-primary.active{background-color:#039 \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;*background-color:#f89406;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;*background-color:#bd362f;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;*background-color:#51a351;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;*background-color:#2f96b4;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;*background-color:#222;background-image:-moz-linear-gradient(top,#444,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);background-repeat:repeat-x;border-color:#222 #222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:focus,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{color:#08c;cursor:pointer;border-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover,.btn-link:focus{color:#005580;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus{color:#333;text-decoration:none}.btn-group{position:relative;display:inline-block;*display:inline;*margin-left:.3em;font-size:0;white-space:nowrap;vertical-align:middle;*zoom:1}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:10px;margin-bottom:10px;font-size:0}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:14px}.btn-group>.btn-mini{font-size:10.5px}.btn-group>.btn-small{font-size:11.9px}.btn-group>.btn-large{font-size:17.5px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{*padding-top:5px;padding-right:8px;*padding-bottom:5px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn-group>.btn-mini+.dropdown-toggle{*padding-top:2px;padding-right:5px;*padding-bottom:2px;padding-left:5px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+.dropdown-toggle{*padding-top:7px;padding-right:12px;*padding-bottom:7px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#04c}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-large .caret{margin-top:6px}.btn-large .caret{border-top-width:5px;border-right-width:5px;border-left-width:5px}.btn-mini .caret,.btn-small .caret{margin-top:8px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn+.btn{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert,.alert h4{color:#c09853}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success h4{color:#468847}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger h4,.alert-error h4{color:#b94a48}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-info h4{color:#3a87ad}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-bottom:20px;margin-left:0;list-style:none}.nav>li>a{display:block}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li>a>img{max-width:none}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover,.nav-list>.active>a:focus{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;line-height:0;content:""}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover,.nav-tabs>li>a:focus{border-color:#eee #eee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover,.nav-tabs>.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover,.nav-pills>.active>a:focus{color:#fff;background-color:#08c}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-topleft:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px}.nav-tabs.nav-stacked>li>a:hover,.nav-tabs.nav-stacked>li>a:focus{z-index:2;border-color:#ddd}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{margin-top:6px;border-top-color:#08c;border-bottom-color:#08c}.nav .dropdown-toggle:hover .caret,.nav .dropdown-toggle:focus .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav>.dropdown.active>a:hover,.nav>.dropdown.active>a:focus{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover,.nav>li.dropdown.open.active>a:focus{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret,.nav li.dropdown.open a:focus .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover,.tabs-stacked .open>a:focus{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;line-height:0;content:""}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover,.tabs-below>.nav-tabs>li>a:focus{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover,.tabs-below>.nav-tabs>.active>a:focus{border-color:transparent #ddd #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover,.tabs-left>.nav-tabs>li>a:focus{border-color:#eee #ddd #eee #eee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover,.tabs-left>.nav-tabs .active>a:focus{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover,.tabs-right>.nav-tabs>li>a:focus{border-color:#eee #eee #eee #ddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover,.tabs-right>.nav-tabs .active>a:focus{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{color:#999}.nav>.disabled>a:hover,.nav>.disabled>a:focus{text-decoration:none;cursor:default;background-color:transparent}.navbar{*position:relative;*z-index:2;margin-bottom:20px;overflow:visible}.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);*zoom:1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}.navbar-inner:before,.navbar-inner:after{display:table;line-height:0;content:""}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{display:block;float:left;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777;text-shadow:0 1px 0 #fff}.navbar .brand:hover,.navbar .brand:focus{text-decoration:none}.navbar-text{margin-bottom:0;line-height:40px;color:#777}.navbar-link{color:#777}.navbar-link:hover,.navbar-link:focus{color:#333}.navbar .divider-vertical{height:40px;margin:0 9px;border-right:1px solid #fff;border-left:1px solid #f2f2f2}.navbar .btn,.navbar .btn-group{margin-top:5px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn,.navbar .input-prepend .btn-group,.navbar .input-append .btn-group{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;line-height:0;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0}.navbar-search .search-query{padding:4px 14px;margin-bottom:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,0.1);box-shadow:0 1px 10px rgba(0,0,0,0.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,0.1);box-shadow:0 -1px 10px rgba(0,0,0,0.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#777;text-decoration:none;text-shadow:0 1px 0 #fff}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{color:#333;text-decoration:none;background-color:transparent}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;*background-color:#e5e5e5;background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:linear-gradient(to bottom,#f2f2f2,#e5e5e5);background-repeat:repeat-x;border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:focus,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#ccc \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid #fff;border-bottom:0}.navbar .nav li.dropdown>a:hover .caret,.navbar .nav li.dropdown>a:focus .caret{border-top-color:#333;border-bottom-color:#333}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{color:#555;background-color:#e5e5e5}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777;border-bottom-color:#777}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{right:12px;left:auto}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{right:13px;left:auto}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);background-repeat:repeat-x;border-color:#252525;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff111111',GradientType=0)}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover,.navbar-inverse .brand:focus,.navbar-inverse .nav>li>a:focus{color:#fff}.navbar-inverse .brand{color:#999}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover,.navbar-inverse .navbar-link:focus{color:#fff}.navbar-inverse .divider-vertical{border-right-color:#222;border-left-color:#111}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{color:#fff;background-color:#111}.navbar-inverse .nav li.dropdown>a:hover .caret,.navbar-inverse .nav li.dropdown>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15)}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e0e0e;*background-color:#040404;background-image:-moz-linear-gradient(top,#151515,#040404);background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);background-repeat:repeat-x;border-color:#040404 #040404 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515',endColorstr='#ff040404',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:focus,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404;*background-color:#000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.breadcrumb>li{display:inline-block;*display:inline;text-shadow:0 1px 0 #fff;*zoom:1}.breadcrumb>li>.divider{padding:0 5px;color:#ccc}.breadcrumb>.active{color:#999}.pagination{margin:20px 0}.pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#fff;border:1px solid #ddd;border-left-width:0}.pagination ul>li>a:hover,.pagination ul>li>a:focus,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5}.pagination ul>.active>a,.pagination ul>.active>span{color:#999;cursor:default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover,.pagination ul>.disabled>a:focus{color:#999;cursor:default;background-color:transparent}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px}.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-moz-border-radius-topleft:3px}.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px}.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px}.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:10.5px}.pager{margin:20px 0;text-align:center;list-style:none;*zoom:1}.pager:before,.pager:after{display:table;line-height:0;content:""}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#f5f5f5}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;cursor:default;background-color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;outline:0;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:10%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{position:relative;max-height:400px;padding:15px;overflow-y:auto}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after{display:table;line-height:0;content:""}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.tooltip{position:absolute;z-index:1030;display:block;font-size:11px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-title:empty{display:none}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;line-height:0;content:""}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.055);box-shadow:0 1px 3px rgba(0,0,0,0.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover,a.thumbnail:focus{border-color:#08c;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail>img{display:block;max-width:100%;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#555}.media,.media-body{overflow:hidden;*overflow:visible;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{margin-left:0;list-style:none}.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:bold;line-height:14px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);white-space:nowrap;vertical-align:baseline;background-color:#999}.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding-right:9px;padding-left:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.label:empty,.badge:empty{display:none}a.label:hover,a.label:focus,a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f89406}.label-warning[href],.badge-warning[href]{background-color:#c67605}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#3a87ad}.label-info[href],.badge-info[href]{background-color:#2d6987}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress .bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffc43c35',GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff57a957',GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff339bb9',GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{right:15px;left:auto}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-indicators{position:absolute;top:15px;right:15px;z-index:5;margin:0;list-style:none}.carousel-indicators li{display:block;float:left;width:10px;height:10px;margin-left:5px;text-indent:-999px;background-color:#ccc;background-color:rgba(255,255,255,0.25);border-radius:5px}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:15px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{line-height:20px;color:#fff}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;color:inherit}.hero-unit li{line-height:30px}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed}
/*!
* Bootstrap.js by @fat & @mdo
* Copyright 2012 Twitter, Inc.
* http://www.apache.org/licenses/LICENSE-2.0.txt
*/
!function(e){"use strict";e(function(){e.support.transition=function(){var e=function(){var e=document.createElement("bootstrap"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},n;for(n in t)if(e.style[n]!==undefined)return t[n]}();return e&&{end:e}}()})}(window.jQuery),!function(e){"use strict";var t='[data-dismiss="alert"]',n=function(n){e(n).on("click",t,this.close)};n.prototype.close=function(t){function s(){i.trigger("closed").remove()}var n=e(this),r=n.attr("data-target"),i;r||(r=n.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,"")),i=e(r),t&&t.preventDefault(),i.length||(i=n.hasClass("alert")?n:n.parent()),i.trigger(t=e.Event("close"));if(t.isDefaultPrevented())return;i.removeClass("in"),e.support.transition&&i.hasClass("fade")?i.on(e.support.transition.end,s):s()};var r=e.fn.alert;e.fn.alert=function(t){return this.each(function(){var r=e(this),i=r.data("alert");i||r.data("alert",i=new n(this)),typeof t=="string"&&i[t].call(r)})},e.fn.alert.Constructor=n,e.fn.alert.noConflict=function(){return e.fn.alert=r,this},e(document).on("click.alert.data-api",t,n.prototype.close)}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.button.defaults,n)};t.prototype.setState=function(e){var t="disabled",n=this.$element,r=n.data(),i=n.is("input")?"val":"html";e+="Text",r.resetText||n.data("resetText",n[i]()),n[i](r[e]||this.options[e]),setTimeout(function(){e=="loadingText"?n.addClass(t).attr(t,t):n.removeClass(t).removeAttr(t)},0)},t.prototype.toggle=function(){var e=this.$element.closest('[data-toggle="buttons-radio"]');e&&e.find(".active").removeClass("active"),this.$element.toggleClass("active")};var n=e.fn.button;e.fn.button=function(n){return this.each(function(){var r=e(this),i=r.data("button"),s=typeof n=="object"&&n;i||r.data("button",i=new t(this,s)),n=="toggle"?i.toggle():n&&i.setState(n)})},e.fn.button.defaults={loadingText:"loading..."},e.fn.button.Constructor=t,e.fn.button.noConflict=function(){return e.fn.button=n,this},e(document).on("click.button.data-api","[data-toggle^=button]",function(t){var n=e(t.target);n.hasClass("btn")||(n=n.closest(".btn")),n.button("toggle")})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.$indicators=this.$element.find(".carousel-indicators"),this.options=n,this.options.pause=="hover"&&this.$element.on("mouseenter",e.proxy(this.pause,this)).on("mouseleave",e.proxy(this.cycle,this))};t.prototype={cycle:function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},getActiveIndex:function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},to:function(t){var n=this.getActiveIndex(),r=this;if(t>this.$items.length-1||t<0)return;return this.sliding?this.$element.one("slid",function(){r.to(t)}):n==t?this.pause().cycle():this.slide(t>n?"next":"prev",e(this.$items[t]))},pause:function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&e.support.transition.end&&(this.$element.trigger(e.support.transition.end),this.cycle(!0)),clearInterval(this.interval),this.interval=null,this},next:function(){if(this.sliding)return;return this.slide("next")},prev:function(){if(this.sliding)return;return this.slide("prev")},slide:function(t,n){var r=this.$element.find(".item.active"),i=n||r[t](),s=this.interval,o=t=="next"?"left":"right",u=t=="next"?"first":"last",a=this,f;this.sliding=!0,s&&this.pause(),i=i.length?i:this.$element.find(".item")[u](),f=e.Event("slide",{relatedTarget:i[0],direction:o});if(i.hasClass("active"))return;this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var t=e(a.$indicators.children()[a.getActiveIndex()]);t&&t.addClass("active")}));if(e.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(f);if(f.isDefaultPrevented())return;i.addClass(t),i[0].offsetWidth,r.addClass(o),i.addClass(o),this.$element.one(e.support.transition.end,function(){i.removeClass([t,o].join(" ")).addClass("active"),r.removeClass(["active",o].join(" ")),a.sliding=!1,setTimeout(function(){a.$element.trigger("slid")},0)})}else{this.$element.trigger(f);if(f.isDefaultPrevented())return;r.removeClass("active"),i.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return s&&this.cycle(),this}};var n=e.fn.carousel;e.fn.carousel=function(n){return this.each(function(){var r=e(this),i=r.data("carousel"),s=e.extend({},e.fn.carousel.defaults,typeof n=="object"&&n),o=typeof n=="string"?n:s.slide;i||r.data("carousel",i=new t(this,s)),typeof n=="number"?i.to(n):o?i[o]():s.interval&&i.pause().cycle()})},e.fn.carousel.defaults={interval:5e3,pause:"hover"},e.fn.carousel.Constructor=t,e.fn.carousel.noConflict=function(){return e.fn.carousel=n,this},e(document).on("click.carousel.data-api","[data-slide], [data-slide-to]",function(t){var n=e(this),r,i=e(n.attr("data-target")||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,"")),s=e.extend({},i.data(),n.data()),o;i.carousel(s),(o=n.attr("data-slide-to"))&&i.data("carousel").pause().to(o).cycle(),t.preventDefault()})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.collapse.defaults,n),this.options.parent&&(this.$parent=e(this.options.parent)),this.options.toggle&&this.toggle()};t.prototype={constructor:t,dimension:function(){var e=this.$element.hasClass("width");return e?"width":"height"},show:function(){var t,n,r,i;if(this.transitioning||this.$element.hasClass("in"))return;t=this.dimension(),n=e.camelCase(["scroll",t].join("-")),r=this.$parent&&this.$parent.find("> .accordion-group > .in");if(r&&r.length){i=r.data("collapse");if(i&&i.transitioning)return;r.collapse("hide"),i||r.data("collapse",null)}this.$element[t](0),this.transition("addClass",e.Event("show"),"shown"),e.support.transition&&this.$element[t](this.$element[0][n])},hide:function(){var t;if(this.transitioning||!this.$element.hasClass("in"))return;t=this.dimension(),this.reset(this.$element[t]()),this.transition("removeClass",e.Event("hide"),"hidden"),this.$element[t](0)},reset:function(e){var t=this.dimension();return this.$element.removeClass("collapse")[t](e||"auto")[0].offsetWidth,this.$element[e!==null?"addClass":"removeClass"]("collapse"),this},transition:function(t,n,r){var i=this,s=function(){n.type=="show"&&i.reset(),i.transitioning=0,i.$element.trigger(r)};this.$element.trigger(n);if(n.isDefaultPrevented())return;this.transitioning=1,this.$element[t]("in"),e.support.transition&&this.$element.hasClass("collapse")?this.$element.one(e.support.transition.end,s):s()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}};var n=e.fn.collapse;e.fn.collapse=function(n){return this.each(function(){var r=e(this),i=r.data("collapse"),s=e.extend({},e.fn.collapse.defaults,r.data(),typeof n=="object"&&n);i||r.data("collapse",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.collapse.defaults={toggle:!0},e.fn.collapse.Constructor=t,e.fn.collapse.noConflict=function(){return e.fn.collapse=n,this},e(document).on("click.collapse.data-api","[data-toggle=collapse]",function(t){var n=e(this),r,i=n.attr("data-target")||t.preventDefault()||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,""),s=e(i).data("collapse")?"toggle":n.data();n[e(i).hasClass("in")?"addClass":"removeClass"]("collapsed"),e(i).collapse(s)})}(window.jQuery),!function(e){"use strict";function r(){e(".dropdown-backdrop").remove(),e(t).each(function(){i(e(this)).removeClass("open")})}function i(t){var n=t.attr("data-target"),r;n||(n=t.attr("href"),n=n&&/#/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,"")),r=n&&e(n);if(!r||!r.length)r=t.parent();return r}var t="[data-toggle=dropdown]",n=function(t){var n=e(t).on("click.dropdown.data-api",this.toggle);e("html").on("click.dropdown.data-api",function(){n.parent().removeClass("open")})};n.prototype={constructor:n,toggle:function(t){var n=e(this),s,o;if(n.is(".disabled, :disabled"))return;return s=i(n),o=s.hasClass("open"),r(),o||("ontouchstart"in document.documentElement&&e('<div class="dropdown-backdrop"/>').insertBefore(e(this)).on("click",r),s.toggleClass("open")),n.focus(),!1},keydown:function(n){var r,s,o,u,a,f;if(!/(38|40|27)/.test(n.keyCode))return;r=e(this),n.preventDefault(),n.stopPropagation();if(r.is(".disabled, :disabled"))return;u=i(r),a=u.hasClass("open");if(!a||a&&n.keyCode==27)return n.which==27&&u.find(t).focus(),r.click();s=e("[role=menu] li:not(.divider):visible a",u);if(!s.length)return;f=s.index(s.filter(":focus")),n.keyCode==38&&f>0&&f--,n.keyCode==40&&f<s.length-1&&f++,~f||(f=0),s.eq(f).focus()}};var s=e.fn.dropdown;e.fn.dropdown=function(t){return this.each(function(){var r=e(this),i=r.data("dropdown");i||r.data("dropdown",i=new n(this)),typeof t=="string"&&i[t].call(r)})},e.fn.dropdown.Constructor=n,e.fn.dropdown.noConflict=function(){return e.fn.dropdown=s,this},e(document).on("click.dropdown.data-api",r).on("click.dropdown.data-api",".dropdown form",function(e){e.stopPropagation()}).on("click.dropdown.data-api",t,n.prototype.toggle).on("keydown.dropdown.data-api",t+", [role=menu]",n.prototype.keydown)}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.options=n,this.$element=e(t).delegate('[data-dismiss="modal"]',"click.dismiss.modal",e.proxy(this.hide,this)),this.options.remote&&this.$element.find(".modal-body").load(this.options.remote)};t.prototype={constructor:t,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var t=this,n=e.Event("show");this.$element.trigger(n);if(this.isShown||n.isDefaultPrevented())return;this.isShown=!0,this.escape(),this.backdrop(function(){var n=e.support.transition&&t.$element.hasClass("fade");t.$element.parent().length||t.$element.appendTo(document.body),t.$element.show(),n&&t.$element[0].offsetWidth,t.$element.addClass("in").attr("aria-hidden",!1),t.enforceFocus(),n?t.$element.one(e.support.transition.end,function(){t.$element.focus().trigger("shown")}):t.$element.focus().trigger("shown")})},hide:function(t){t&&t.preventDefault();var n=this;t=e.Event("hide"),this.$element.trigger(t);if(!this.isShown||t.isDefaultPrevented())return;this.isShown=!1,this.escape(),e(document).off("focusin.modal"),this.$element.removeClass("in").attr("aria-hidden",!0),e.support.transition&&this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal()},enforceFocus:function(){var t=this;e(document).on("focusin.modal",function(e){t.$element[0]!==e.target&&!t.$element.has(e.target).length&&t.$element.focus()})},escape:function(){var e=this;this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.modal",function(t){t.which==27&&e.hide()}):this.isShown||this.$element.off("keyup.dismiss.modal")},hideWithTransition:function(){var t=this,n=setTimeout(function(){t.$element.off(e.support.transition.end),t.hideModal()},500);this.$element.one(e.support.transition.end,function(){clearTimeout(n),t.hideModal()})},hideModal:function(){var e=this;this.$element.hide(),this.backdrop(function(){e.removeBackdrop(),e.$element.trigger("hidden")})},removeBackdrop:function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},backdrop:function(t){var n=this,r=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var i=e.support.transition&&r;this.$backdrop=e('<div class="modal-backdrop '+r+'" />').appendTo(document.body),this.$backdrop.click(this.options.backdrop=="static"?e.proxy(this.$element[0].focus,this.$element[0]):e.proxy(this.hide,this)),i&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in");if(!t)return;i?this.$backdrop.one(e.support.transition.end,t):t()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),e.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(e.support.transition.end,t):t()):t&&t()}};var n=e.fn.modal;e.fn.modal=function(n){return this.each(function(){var r=e(this),i=r.data("modal"),s=e.extend({},e.fn.modal.defaults,r.data(),typeof n=="object"&&n);i||r.data("modal",i=new t(this,s)),typeof n=="string"?i[n]():s.show&&i.show()})},e.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},e.fn.modal.Constructor=t,e.fn.modal.noConflict=function(){return e.fn.modal=n,this},e(document).on("click.modal.data-api",'[data-toggle="modal"]',function(t){var n=e(this),r=n.attr("href"),i=e(n.attr("data-target")||r&&r.replace(/.*(?=#[^\s]+$)/,"")),s=i.data("modal")?"toggle":e.extend({remote:!/#/.test(r)&&r},i.data(),n.data());t.preventDefault(),i.modal(s).one("hide",function(){n.focus()})})}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("tooltip",e,t)};t.prototype={constructor:t,init:function(t,n,r){var i,s,o,u,a;this.type=t,this.$element=e(n),this.options=this.getOptions(r),this.enabled=!0,o=this.options.trigger.split(" ");for(a=o.length;a--;)u=o[a],u=="click"?this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this)):u!="manual"&&(i=u=="hover"?"mouseenter":"focus",s=u=="hover"?"mouseleave":"blur",this.$element.on(i+"."+this.type,this.options.selector,e.proxy(this.enter,this)),this.$element.on(s+"."+this.type,this.options.selector,e.proxy(this.leave,this)));this.options.selector?this._options=e.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(t){return t=e.extend({},e.fn[this.type].defaults,this.$element.data(),t),t.delay&&typeof t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),t},enter:function(t){var n=e.fn[this.type].defaults,r={},i;this._options&&e.each(this._options,function(e,t){n[e]!=t&&(r[e]=t)},this),i=e(t.currentTarget)[this.type](r).data(this.type);if(!i.options.delay||!i.options.delay.show)return i.show();clearTimeout(this.timeout),i.hoverState="in",this.timeout=setTimeout(function(){i.hoverState=="in"&&i.show()},i.options.delay.show)},leave:function(t){var n=e(t.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!n.options.delay||!n.options.delay.hide)return n.hide();n.hoverState="out",this.timeout=setTimeout(function(){n.hoverState=="out"&&n.hide()},n.options.delay.hide)},show:function(){var t,n,r,i,s,o,u=e.Event("show");if(this.hasContent()&&this.enabled){this.$element.trigger(u);if(u.isDefaultPrevented())return;t=this.tip(),this.setContent(),this.options.animation&&t.addClass("fade"),s=typeof this.options.placement=="function"?this.options.placement.call(this,t[0],this.$element[0]):this.options.placement,t.detach().css({top:0,left:0,display:"block"}),this.options.container?t.appendTo(this.options.container):t.insertAfter(this.$element),n=this.getPosition(),r=t[0].offsetWidth,i=t[0].offsetHeight;switch(s){case"bottom":o={top:n.top+n.height,left:n.left+n.width/2-r/2};break;case"top":o={top:n.top-i,left:n.left+n.width/2-r/2};break;case"left":o={top:n.top+n.height/2-i/2,left:n.left-r};break;case"right":o={top:n.top+n.height/2-i/2,left:n.left+n.width}}this.applyPlacement(o,s),this.$element.trigger("shown")}},applyPlacement:function(e,t){var n=this.tip(),r=n[0].offsetWidth,i=n[0].offsetHeight,s,o,u,a;n.offset(e).addClass(t).addClass("in"),s=n[0].offsetWidth,o=n[0].offsetHeight,t=="top"&&o!=i&&(e.top=e.top+i-o,a=!0),t=="bottom"||t=="top"?(u=0,e.left<0&&(u=e.left*-2,e.left=0,n.offset(e),s=n[0].offsetWidth,o=n[0].offsetHeight),this.replaceArrow(u-r+s,s,"left")):this.replaceArrow(o-i,o,"top"),a&&n.offset(e)},replaceArrow:function(e,t,n){this.arrow().css(n,e?50*(1-e/t)+"%":"")},setContent:function(){var e=this.tip(),t=this.getTitle();e.find(".tooltip-inner")[this.options.html?"html":"text"](t),e.removeClass("fade in top bottom left right")},hide:function(){function i(){var t=setTimeout(function(){n.off(e.support.transition.end).detach()},500);n.one(e.support.transition.end,function(){clearTimeout(t),n.detach()})}var t=this,n=this.tip(),r=e.Event("hide");this.$element.trigger(r);if(r.isDefaultPrevented())return;return n.removeClass("in"),e.support.transition&&this.$tip.hasClass("fade")?i():n.detach(),this.$element.trigger("hidden"),this},fixTitle:function(){var e=this.$element;(e.attr("title")||typeof e.attr("data-original-title")!="string")&&e.attr("data-original-title",e.attr("title")||"").attr("title","")},hasContent:function(){return this.getTitle()},getPosition:function(){var t=this.$element[0];return e.extend({},typeof t.getBoundingClientRect=="function"?t.getBoundingClientRect():{width:t.offsetWidth,height:t.offsetHeight},this.$element.offset())},getTitle:function(){var e,t=this.$element,n=this.options;return e=t.attr("data-original-title")||(typeof n.title=="function"?n.title.call(t[0]):n.title),e},tip:function(){return this.$tip=this.$tip||e(this.options.template)},arrow:function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(t){var n=t?e(t.currentTarget)[this.type](this._options).data(this.type):this;n.tip().hasClass("in")?n.hide():n.show()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}};var n=e.fn.tooltip;e.fn.tooltip=function(n){return this.each(function(){var r=e(this),i=r.data("tooltip"),s=typeof n=="object"&&n;i||r.data("tooltip",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.tooltip.Constructor=t,e.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},e.fn.tooltip.noConflict=function(){return e.fn.tooltip=n,this}}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("popover",e,t)};t.prototype=e.extend({},e.fn.tooltip.Constructor.prototype,{constructor:t,setContent:function(){var e=this.tip(),t=this.getTitle(),n=this.getContent();e.find(".popover-title")[this.options.html?"html":"text"](t),e.find(".popover-content")[this.options.html?"html":"text"](n),e.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var e,t=this.$element,n=this.options;return e=(typeof n.content=="function"?n.content.call(t[0]):n.content)||t.attr("data-content"),e},tip:function(){return this.$tip||(this.$tip=e(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}});var n=e.fn.popover;e.fn.popover=function(n){return this.each(function(){var r=e(this),i=r.data("popover"),s=typeof n=="object"&&n;i||r.data("popover",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.popover.Constructor=t,e.fn.popover.defaults=e.extend({},e.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),e.fn.popover.noConflict=function(){return e.fn.popover=n,this}}(window.jQuery),!function(e){"use strict";function t(t,n){var r=e.proxy(this.process,this),i=e(t).is("body")?e(window):e(t),s;this.options=e.extend({},e.fn.scrollspy.defaults,n),this.$scrollElement=i.on("scroll.scroll-spy.data-api",r),this.selector=(this.options.target||(s=e(t).attr("href"))&&s.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.$body=e("body"),this.refresh(),this.process()}t.prototype={constructor:t,refresh:function(){var t=this,n;this.offsets=e([]),this.targets=e([]),n=this.$body.find(this.selector).map(function(){var n=e(this),r=n.data("target")||n.attr("href"),i=/^#\w/.test(r)&&e(r);return i&&i.length&&[[i.position().top+(!e.isWindow(t.$scrollElement.get(0))&&t.$scrollElement.scrollTop()),r]]||null}).sort(function(e,t){return e[0]-t[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},process:function(){var e=this.$scrollElement.scrollTop()+this.options.offset,t=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,n=t-this.$scrollElement.height(),r=this.offsets,i=this.targets,s=this.activeTarget,o;if(e>=n)return s!=(o=i.last()[0])&&this.activate(o);for(o=r.length;o--;)s!=i[o]&&e>=r[o]&&(!r[o+1]||e<=r[o+1])&&this.activate(i[o])},activate:function(t){var n,r;this.activeTarget=t,e(this.selector).parent(".active").removeClass("active"),r=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',n=e(r).parent("li").addClass("active"),n.parent(".dropdown-menu").length&&(n=n.closest("li.dropdown").addClass("active")),n.trigger("activate")}};var n=e.fn.scrollspy;e.fn.scrollspy=function(n){return this.each(function(){var r=e(this),i=r.data("scrollspy"),s=typeof n=="object"&&n;i||r.data("scrollspy",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.scrollspy.Constructor=t,e.fn.scrollspy.defaults={offset:10},e.fn.scrollspy.noConflict=function(){return e.fn.scrollspy=n,this},e(window).on("load",function(){e('[data-spy="scroll"]').each(function(){var t=e(this);t.scrollspy(t.data())})})}(window.jQuery),!function(e){"use strict";var t=function(t){this.element=e(t)};t.prototype={constructor:t,show:function(){var t=this.element,n=t.closest("ul:not(.dropdown-menu)"),r=t.attr("data-target"),i,s,o;r||(r=t.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,""));if(t.parent("li").hasClass("active"))return;i=n.find(".active:last a")[0],o=e.Event("show",{relatedTarget:i}),t.trigger(o);if(o.isDefaultPrevented())return;s=e(r),this.activate(t.parent("li"),n),this.activate(s,s.parent(),function(){t.trigger({type:"shown",relatedTarget:i})})},activate:function(t,n,r){function o(){i.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),t.addClass("active"),s?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu")&&t.closest("li.dropdown").addClass("active"),r&&r()}var i=n.find("> .active"),s=r&&e.support.transition&&i.hasClass("fade");s?i.one(e.support.transition.end,o):o(),i.removeClass("in")}};var n=e.fn.tab;e.fn.tab=function(n){return this.each(function(){var r=e(this),i=r.data("tab");i||r.data("tab",i=new t(this)),typeof n=="string"&&i[n]()})},e.fn.tab.Constructor=t,e.fn.tab.noConflict=function(){return e.fn.tab=n,this},e(document).on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(t){t.preventDefault(),e(this).tab("show")})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.typeahead.defaults,n),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.highlighter=this.options.highlighter||this.highlighter,this.updater=this.options.updater||this.updater,this.source=this.options.source,this.$menu=e(this.options.menu),this.shown=!1,this.listen()};t.prototype={constructor:t,select:function(){var e=this.$menu.find(".active").attr("data-value");return this.$element.val(this.updater(e)).change(),this.hide()},updater:function(e){return e},show:function(){var t=e.extend({},this.$element.position(),{height:this.$element[0].offsetHeight});return this.$menu.insertAfter(this.$element).css({top:t.top+t.height,left:t.left}).show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(t){var n;return this.query=this.$element.val(),!this.query||this.query.length<this.options.minLength?this.shown?this.hide():this:(n=e.isFunction(this.source)?this.source(this.query,e.proxy(this.process,this)):this.source,n?this.process(n):this)},process:function(t){var n=this;return t=e.grep(t,function(e){return n.matcher(e)}),t=this.sorter(t),t.length?this.render(t.slice(0,this.options.items)).show():this.shown?this.hide():this},matcher:function(e){return~e.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(e){var t=[],n=[],r=[],i;while(i=e.shift())i.toLowerCase().indexOf(this.query.toLowerCase())?~i.indexOf(this.query)?n.push(i):r.push(i):t.push(i);return t.concat(n,r)},highlighter:function(e){var t=this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&");return e.replace(new RegExp("("+t+")","ig"),function(e,t){return"<strong>"+t+"</strong>"})},render:function(t){var n=this;return t=e(t).map(function(t,r){return t=e(n.options.item).attr("data-value",r),t.find("a").html(n.highlighter(r)),t[0]}),t.first().addClass("active"),this.$menu.html(t),this},next:function(t){var n=this.$menu.find(".active").removeClass("active"),r=n.next();r.length||(r=e(this.$menu.find("li")[0])),r.addClass("active")},prev:function(e){var t=this.$menu.find(".active").removeClass("active"),n=t.prev();n.length||(n=this.$menu.find("li").last()),n.addClass("active")},listen:function(){this.$element.on("focus",e.proxy(this.focus,this)).on("blur",e.proxy(this.blur,this)).on("keypress",e.proxy(this.keypress,this)).on("keyup",e.proxy(this.keyup,this)),this.eventSupported("keydown")&&this.$element.on("keydown",e.proxy(this.keydown,this)),this.$menu.on("click",e.proxy(this.click,this)).on("mouseenter","li",e.proxy(this.mouseenter,this)).on("mouseleave","li",e.proxy(this.mouseleave,this))},eventSupported:function(e){var t=e in this.$element;return t||(this.$element.setAttribute(e,"return;"),t=typeof this.$element[e]=="function"),t},move:function(e){if(!this.shown)return;switch(e.keyCode){case 9:case 13:case 27:e.preventDefault();break;case 38:e.preventDefault(),this.prev();break;case 40:e.preventDefault(),this.next()}e.stopPropagation()},keydown:function(t){this.suppressKeyPressRepeat=~e.inArray(t.keyCode,[40,38,9,13,27]),this.move(t)},keypress:function(e){if(this.suppressKeyPressRepeat)return;this.move(e)},keyup:function(e){switch(e.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:if(!this.shown)return;this.hide();break;default:this.lookup()}e.stopPropagation(),e.preventDefault()},focus:function(e){this.focused=!0},blur:function(e){this.focused=!1,!this.mousedover&&this.shown&&this.hide()},click:function(e){e.stopPropagation(),e.preventDefault(),this.select(),this.$element.focus()},mouseenter:function(t){this.mousedover=!0,this.$menu.find(".active").removeClass("active"),e(t.currentTarget).addClass("active")},mouseleave:function(e){this.mousedover=!1,!this.focused&&this.shown&&this.hide()}};var n=e.fn.typeahead;e.fn.typeahead=function(n){return this.each(function(){var r=e(this),i=r.data("typeahead"),s=typeof n=="object"&&n;i||r.data("typeahead",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.typeahead.defaults={source:[],items:8,menu:'<ul class="typeahead dropdown-menu"></ul>',item:'<li><a href="#"></a></li>',minLength:1},e.fn.typeahead.Constructor=t,e.fn.typeahead.noConflict=function(){return e.fn.typeahead=n,this},e(document).on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(t){var n=e(this);if(n.data("typeahead"))return;n.typeahead(n.data())})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.options=e.extend({},e.fn.affix.defaults,n),this.$window=e(window).on("scroll.affix.data-api",e.proxy(this.checkPosition,this)).on("click.affix.data-api",e.proxy(function(){setTimeout(e.proxy(this.checkPosition,this),1)},this)),this.$element=e(t),this.checkPosition()};t.prototype.checkPosition=function(){if(!this.$element.is(":visible"))return;var t=e(document).height(),n=this.$window.scrollTop(),r=this.$element.offset(),i=this.options.offset,s=i.bottom,o=i.top,u="affix affix-top affix-bottom",a;typeof i!="object"&&(s=o=i),typeof o=="function"&&(o=i.top()),typeof s=="function"&&(s=i.bottom()),a=this.unpin!=null&&n+this.unpin<=r.top?!1:s!=null&&r.top+this.$element.height()>=t-s?"bottom":o!=null&&n<=o?"top":!1;if(this.affixed===a)return;this.affixed=a,this.unpin=a=="bottom"?r.top-n:null,this.$element.removeClass(u).addClass("affix"+(a?"-"+a:""))};var n=e.fn.affix;e.fn.affix=function(n){return this.each(function(){var r=e(this),i=r.data("affix"),s=typeof n=="object"&&n;i||r.data("affix",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.affix.Constructor=t,e.fn.affix.defaults={offset:0},e.fn.affix.noConflict=function(){return e.fn.affix=n,this},e(window).on("load",function(){e('[data-spy="affix"]').each(function(){var t=e(this),n=t.data();n.offset=n.offset||{},n.offsetBottom&&(n.offset.bottom=n.offsetBottom),n.offsetTop&&(n.offset.top=n.offsetTop),t.affix(n)})})}(window.jQuery);
(function(exports){
crossfilter.version = "1.2.0";
function crossfilter_identity(d) {
return d;
}
crossfilter.permute = permute;
function permute(array, index) {
for (var i = 0, n = index.length, copy = new Array(n); i < n; ++i) {
copy[i] = array[index[i]];
}
return copy;
}
var bisect = crossfilter.bisect = bisect_by(crossfilter_identity);
bisect.by = bisect_by;
function bisect_by(f) {
// Locate the insertion point for x in a to maintain sorted order. The
// arguments lo and hi may be used to specify a subset of the array which
// should be considered; by default the entire array is used. If x is already
// present in a, the insertion point will be before (to the left of) any
// existing entries. The return value is suitable for use as the first
// argument to `array.splice` assuming that a is already sorted.
//
// The returned insertion point i partitions the array a into two halves so
// that all v < x for v in a[lo:i] for the left side and all v >= x for v in
// a[i:hi] for the right side.
function bisectLeft(a, x, lo, hi) {
while (lo < hi) {
var mid = lo + hi >>> 1;
if (f(a[mid]) < x) lo = mid + 1;
else hi = mid;
}
return lo;
}
// Similar to bisectLeft, but returns an insertion point which comes after (to
// the right of) any existing entries of x in a.
//
// The returned insertion point i partitions the array into two halves so that
// all v <= x for v in a[lo:i] for the left side and all v > x for v in
// a[i:hi] for the right side.
function bisectRight(a, x, lo, hi) {
while (lo < hi) {
var mid = lo + hi >>> 1;
if (x < f(a[mid])) hi = mid;
else lo = mid + 1;
}
return lo;
}
bisectRight.right = bisectRight;
bisectRight.left = bisectLeft;
return bisectRight;
}
var heap = crossfilter.heap = heap_by(crossfilter_identity);
heap.by = heap_by;
function heap_by(f) {
// Builds a binary heap within the specified array a[lo:hi]. The heap has the
// property such that the parent a[lo+i] is always less than or equal to its
// two children: a[lo+2*i+1] and a[lo+2*i+2].
function heap(a, lo, hi) {
var n = hi - lo,
i = (n >>> 1) + 1;
while (--i > 0) sift(a, i, n, lo);
return a;
}
// Sorts the specified array a[lo:hi] in descending order, assuming it is
// already a heap.
function sort(a, lo, hi) {
var n = hi - lo,
t;
while (--n > 0) t = a[lo], a[lo] = a[lo + n], a[lo + n] = t, sift(a, 1, n, lo);
return a;
}
// Sifts the element a[lo+i-1] down the heap, where the heap is the contiguous
// slice of array a[lo:lo+n]. This method can also be used to update the heap
// incrementally, without incurring the full cost of reconstructing the heap.
function sift(a, i, n, lo) {
var d = a[--lo + i],
x = f(d),
child;
while ((child = i << 1) <= n) {
if (child < n && f(a[lo + child]) > f(a[lo + child + 1])) child++;
if (x <= f(a[lo + child])) break;
a[lo + i] = a[lo + child];
i = child;
}
a[lo + i] = d;
}
heap.sort = sort;
return heap;
}
var heapselect = crossfilter.heapselect = heapselect_by(crossfilter_identity);
heapselect.by = heapselect_by;
function heapselect_by(f) {
var heap = heap_by(f);
// Returns a new array containing the top k elements in the array a[lo:hi].
// The returned array is not sorted, but maintains the heap property. If k is
// greater than hi - lo, then fewer than k elements will be returned. The
// order of elements in a is unchanged by this operation.
function heapselect(a, lo, hi, k) {
var queue = new Array(k = Math.min(hi - lo, k)),
min,
i,
x,
d;
for (i = 0; i < k; ++i) queue[i] = a[lo++];
heap(queue, 0, k);
if (lo < hi) {
min = f(queue[0]);
do {
if (x = f(d = a[lo]) > min) {
queue[0] = d;
min = f(heap(queue, 0, k)[0]);
}
} while (++lo < hi);
}
return queue;
}
return heapselect;
}
var insertionsort = crossfilter.insertionsort = insertionsort_by(crossfilter_identity);
insertionsort.by = insertionsort_by;
function insertionsort_by(f) {
function insertionsort(a, lo, hi) {
for (var i = lo + 1; i < hi; ++i) {
for (var j = i, t = a[i], x = f(t); j > lo && f(a[j - 1]) > x; --j) {
a[j] = a[j - 1];
}
a[j] = t;
}
return a;
}
return insertionsort;
}
// Algorithm designed by Vladimir Yaroslavskiy.
// Implementation based on the Dart project; see lib/dart/LICENSE for details.
var quicksort = crossfilter.quicksort = quicksort_by(crossfilter_identity);
quicksort.by = quicksort_by;
function quicksort_by(f) {
var insertionsort = insertionsort_by(f);
function sort(a, lo, hi) {
return (hi - lo < quicksort_sizeThreshold
? insertionsort
: quicksort)(a, lo, hi);
}
function quicksort(a, lo, hi) {
// Compute the two pivots by looking at 5 elements.
var sixth = (hi - lo) / 6 | 0,
i1 = lo + sixth,
i5 = hi - 1 - sixth,
i3 = lo + hi - 1 >> 1, // The midpoint.
i2 = i3 - sixth,
i4 = i3 + sixth;
var e1 = a[i1], x1 = f(e1),
e2 = a[i2], x2 = f(e2),
e3 = a[i3], x3 = f(e3),
e4 = a[i4], x4 = f(e4),
e5 = a[i5], x5 = f(e5);
var t;
// Sort the selected 5 elements using a sorting network.
if (x1 > x2) t = e1, e1 = e2, e2 = t, t = x1, x1 = x2, x2 = t;
if (x4 > x5) t = e4, e4 = e5, e5 = t, t = x4, x4 = x5, x5 = t;
if (x1 > x3) t = e1, e1 = e3, e3 = t, t = x1, x1 = x3, x3 = t;
if (x2 > x3) t = e2, e2 = e3, e3 = t, t = x2, x2 = x3, x3 = t;
if (x1 > x4) t = e1, e1 = e4, e4 = t, t = x1, x1 = x4, x4 = t;
if (x3 > x4) t = e3, e3 = e4, e4 = t, t = x3, x3 = x4, x4 = t;
if (x2 > x5) t = e2, e2 = e5, e5 = t, t = x2, x2 = x5, x5 = t;
if (x2 > x3) t = e2, e2 = e3, e3 = t, t = x2, x2 = x3, x3 = t;
if (x4 > x5) t = e4, e4 = e5, e5 = t, t = x4, x4 = x5, x5 = t;
var pivot1 = e2, pivotValue1 = x2,
pivot2 = e4, pivotValue2 = x4;
// e2 and e4 have been saved in the pivot variables. They will be written
// back, once the partitioning is finished.
a[i1] = e1;
a[i2] = a[lo];
a[i3] = e3;
a[i4] = a[hi - 1];
a[i5] = e5;
var less = lo + 1, // First element in the middle partition.
great = hi - 2; // Last element in the middle partition.
// Note that for value comparison, <, <=, >= and > coerce to a primitive via
// Object.prototype.valueOf; == and === do not, so in order to be consistent
// with natural order (such as for Date objects), we must do two compares.
var pivotsEqual = pivotValue1 <= pivotValue2 && pivotValue1 >= pivotValue2;
if (pivotsEqual) {
// Degenerated case where the partitioning becomes a dutch national flag
// problem.
//
// [ | < pivot | == pivot | unpartitioned | > pivot | ]
// ^ ^ ^ ^ ^
// left less k great right
//
// a[left] and a[right] are undefined and are filled after the
// partitioning.
//
// Invariants:
// 1) for x in ]left, less[ : x < pivot.
// 2) for x in [less, k[ : x == pivot.
// 3) for x in ]great, right[ : x > pivot.
for (var k = less; k <= great; ++k) {
var ek = a[k], xk = f(ek);
if (xk < pivotValue1) {
if (k !== less) {
a[k] = a[less];
a[less] = ek;
}
++less;
} else if (xk > pivotValue1) {
// Find the first element <= pivot in the range [k - 1, great] and
// put [:ek:] there. We know that such an element must exist:
// When k == less, then el3 (which is equal to pivot) lies in the
// interval. Otherwise a[k - 1] == pivot and the search stops at k-1.
// Note that in the latter case invariant 2 will be violated for a
// short amount of time. The invariant will be restored when the
// pivots are put into their final positions.
while (true) {
var greatValue = f(a[great]);
if (greatValue > pivotValue1) {
great--;
// This is the only location in the while-loop where a new
// iteration is started.
continue;
} else if (greatValue < pivotValue1) {
// Triple exchange.
a[k] = a[less];
a[less++] = a[great];
a[great--] = ek;
break;
} else {
a[k] = a[great];
a[great--] = ek;
// Note: if great < k then we will exit the outer loop and fix
// invariant 2 (which we just violated).
break;
}
}
}
}
} else {
// We partition the list into three parts:
// 1. < pivot1
// 2. >= pivot1 && <= pivot2
// 3. > pivot2
//
// During the loop we have:
// [ | < pivot1 | >= pivot1 && <= pivot2 | unpartitioned | > pivot2 | ]
// ^ ^ ^ ^ ^
// left less k great right
//
// a[left] and a[right] are undefined and are filled after the
// partitioning.
//
// Invariants:
// 1. for x in ]left, less[ : x < pivot1
// 2. for x in [less, k[ : pivot1 <= x && x <= pivot2
// 3. for x in ]great, right[ : x > pivot2
for (var k = less; k <= great; k++) {
var ek = a[k], xk = f(ek);
if (xk < pivotValue1) {
if (k !== less) {
a[k] = a[less];
a[less] = ek;
}
++less;
} else {
if (xk > pivotValue2) {
while (true) {
var greatValue = f(a[great]);
if (greatValue > pivotValue2) {
great--;
if (great < k) break;
// This is the only location inside the loop where a new
// iteration is started.
continue;
} else {
// a[great] <= pivot2.
if (greatValue < pivotValue1) {
// Triple exchange.
a[k] = a[less];
a[less++] = a[great];
a[great--] = ek;
} else {
// a[great] >= pivot1.
a[k] = a[great];
a[great--] = ek;
}
break;
}
}
}
}
}
}
// Move pivots into their final positions.
// We shrunk the list from both sides (a[left] and a[right] have
// meaningless values in them) and now we move elements from the first
// and third partition into these locations so that we can store the
// pivots.
a[lo] = a[less - 1];
a[less - 1] = pivot1;
a[hi - 1] = a[great + 1];
a[great + 1] = pivot2;
// The list is now partitioned into three partitions:
// [ < pivot1 | >= pivot1 && <= pivot2 | > pivot2 ]
// ^ ^ ^ ^
// left less great right
// Recursive descent. (Don't include the pivot values.)
sort(a, lo, less - 1);
sort(a, great + 2, hi);
if (pivotsEqual) {
// All elements in the second partition are equal to the pivot. No
// need to sort them.
return a;
}
// In theory it should be enough to call _doSort recursively on the second
// partition.
// The Android source however removes the pivot elements from the recursive
// call if the second partition is too large (more than 2/3 of the list).
if (less < i1 && great > i5) {
var lessValue, greatValue;
while ((lessValue = f(a[less])) <= pivotValue1 && lessValue >= pivotValue1) ++less;
while ((greatValue = f(a[great])) <= pivotValue2 && greatValue >= pivotValue2) --great;
// Copy paste of the previous 3-way partitioning with adaptions.
//
// We partition the list into three parts:
// 1. == pivot1
// 2. > pivot1 && < pivot2
// 3. == pivot2
//
// During the loop we have:
// [ == pivot1 | > pivot1 && < pivot2 | unpartitioned | == pivot2 ]
// ^ ^ ^
// less k great
//
// Invariants:
// 1. for x in [ *, less[ : x == pivot1
// 2. for x in [less, k[ : pivot1 < x && x < pivot2
// 3. for x in ]great, * ] : x == pivot2
for (var k = less; k <= great; k++) {
var ek = a[k], xk = f(ek);
if (xk <= pivotValue1 && xk >= pivotValue1) {
if (k !== less) {
a[k] = a[less];
a[less] = ek;
}
less++;
} else {
if (xk <= pivotValue2 && xk >= pivotValue2) {
while (true) {
var greatValue = f(a[great]);
if (greatValue <= pivotValue2 && greatValue >= pivotValue2) {
great--;
if (great < k) break;
// This is the only location inside the loop where a new
// iteration is started.
continue;
} else {
// a[great] < pivot2.
if (greatValue < pivotValue1) {
// Triple exchange.
a[k] = a[less];
a[less++] = a[great];
a[great--] = ek;
} else {
// a[great] == pivot1.
a[k] = a[great];
a[great--] = ek;
}
break;
}
}
}
}
}
}
// The second partition has now been cleared of pivot elements and looks
// as follows:
// [ * | > pivot1 && < pivot2 | * ]
// ^ ^
// less great
// Sort the second partition using recursive descent.
// The second partition looks as follows:
// [ * | >= pivot1 && <= pivot2 | * ]
// ^ ^
// less great
// Simply sort it by recursive descent.
return sort(a, less, great + 1);
}
return sort;
}
var quicksort_sizeThreshold = 32;
var crossfilter_array8 = crossfilter_arrayUntyped,
crossfilter_array16 = crossfilter_arrayUntyped,
crossfilter_array32 = crossfilter_arrayUntyped,
crossfilter_arrayLengthen = crossfilter_identity,
crossfilter_arrayWiden = crossfilter_identity;
if (typeof Uint8Array !== "undefined") {
crossfilter_array8 = function(n) { return new Uint8Array(n); };
crossfilter_array16 = function(n) { return new Uint16Array(n); };
crossfilter_array32 = function(n) { return new Uint32Array(n); };
crossfilter_arrayLengthen = function(array, length) {
var copy = new array.constructor(length);
copy.set(array);
return copy;
};
crossfilter_arrayWiden = function(array, width) {
var copy;
switch (width) {
case 16: copy = crossfilter_array16(array.length); break;
case 32: copy = crossfilter_array32(array.length); break;
default: throw new Error("invalid array width!");
}
copy.set(array);
return copy;
};
}
function crossfilter_arrayUntyped(n) {
return new Array(n);
}
function crossfilter_filterExact(bisect, value) {
return function(values) {
var n = values.length;
return [bisect.left(values, value, 0, n), bisect.right(values, value, 0, n)];
};
}
function crossfilter_filterRange(bisect, range) {
var min = range[0],
max = range[1];
return function(values) {
var n = values.length;
return [bisect.left(values, min, 0, n), bisect.left(values, max, 0, n)];
};
}
function crossfilter_filterAll(values) {
return [0, values.length];
}
function crossfilter_null() {
return null;
}
function crossfilter_zero() {
return 0;
}
function crossfilter_reduceIncrement(p) {
return p + 1;
}
function crossfilter_reduceDecrement(p) {
return p - 1;
}
function crossfilter_reduceAdd(f) {
return function(p, v) {
return p + +f(v);
};
}
function crossfilter_reduceSubtract(f) {
return function(p, v) {
return p - f(v);
};
}
exports.crossfilter = crossfilter;
function crossfilter() {
var crossfilter = {
add: add,
dimension: dimension,
groupAll: groupAll,
size: size
};
var data = [], // the records
n = 0, // the number of records; data.length
m = 0, // a bit mask representing which dimensions are in use
M = 8, // number of dimensions that can fit in `filters`
filters = crossfilter_array8(0), // M bits per record; 1 is filtered out
filterListeners = [], // when the filters change
dataListeners = []; // when data is added
// Adds the specified new records to this crossfilter.
function add(newData) {
var n0 = n,
n1 = newData.length;
// If there's actually new data to add…
// Merge the new data into the existing data.
// Lengthen the filter bitset to handle the new records.
// Notify listeners (dimensions and groups) that new data is available.
if (n1) {
data = data.concat(newData);
filters = crossfilter_arrayLengthen(filters, n += n1);
dataListeners.forEach(function(l) { l(newData, n0, n1); });
}
return crossfilter;
}
// Adds a new dimension with the specified value accessor function.
function dimension(value) {
var dimension = {
filter: filter,
filterExact: filterExact,
filterRange: filterRange,
filterFunction: filterFunction,
filterAll: filterAll,
top: top,
bottom: bottom,
group: group,
groupAll: groupAll,
remove: remove
};
var one = ~m & -~m, // lowest unset bit as mask, e.g., 00001000
zero = ~one, // inverted one, e.g., 11110111
values, // sorted, cached array
index, // value rank ↦ object id
newValues, // temporary array storing newly-added values
newIndex, // temporary array storing newly-added index
sort = quicksort_by(function(i) { return newValues[i]; }),
refilter = crossfilter_filterAll, // for recomputing filter
refilterFunction, // the custom filter function in use
indexListeners = [], // when data is added
dimensionGroups = [],
lo0 = 0,
hi0 = 0;
// Updating a dimension is a two-stage process. First, we must update the
// associated filters for the newly-added records. Once all dimensions have
// updated their filters, the groups are notified to update.
dataListeners.unshift(preAdd);
dataListeners.push(postAdd);
// Incorporate any existing data into this dimension, and make sure that the
// filter bitset is wide enough to handle the new dimension.
m |= one;
if (M >= 32 ? !one : m & (1 << M) - 1) {
filters = crossfilter_arrayWiden(filters, M <<= 1);
}
preAdd(data, 0, n);
postAdd(data, 0, n);
// Incorporates the specified new records into this dimension.
// This function is responsible for updating filters, values, and index.
function preAdd(newData, n0, n1) {
// Permute new values into natural order using a sorted index.
newValues = newData.map(value);
newIndex = sort(crossfilter_range(n1), 0, n1);
newValues = permute(newValues, newIndex);
// Bisect newValues to determine which new records are selected.
var bounds = refilter(newValues), lo1 = bounds[0], hi1 = bounds[1], i, k;
if (refilterFunction) {
for (i = 0; i < n1; ++i) {
if (!refilterFunction(newValues[i], k = newIndex[i] + n0)) filters[k] |= one;
}
} else {
for (i = 0; i < lo1; ++i) filters[newIndex[i] + n0] |= one;
for (i = hi1; i < n1; ++i) filters[newIndex[i] + n0] |= one;
}
// If this dimension previously had no data, then we don't need to do the
// more expensive merge operation; use the new values and index as-is.
if (!n0) {
values = newValues;
index = newIndex;
lo0 = lo1;
hi0 = hi1;
return;
}
var oldValues = values,
oldIndex = index,
i0 = 0,
i1 = 0;
// Otherwise, create new arrays into which to merge new and old.
values = new Array(n);
index = crossfilter_index(n, n);
// Merge the old and new sorted values, and old and new index.
for (i = 0; i0 < n0 && i1 < n1; ++i) {
if (oldValues[i0] < newValues[i1]) {
values[i] = oldValues[i0];
index[i] = oldIndex[i0++];
} else {
values[i] = newValues[i1];
index[i] = newIndex[i1++] + n0;
}
}
// Add any remaining old values.
for (; i0 < n0; ++i0, ++i) {
values[i] = oldValues[i0];
index[i] = oldIndex[i0];
}
// Add any remaining new values.
for (; i1 < n1; ++i1, ++i) {
values[i] = newValues[i1];
index[i] = newIndex[i1] + n0;
}
// Bisect again to recompute lo0 and hi0.
bounds = refilter(values), lo0 = bounds[0], hi0 = bounds[1];
}
// When all filters have updated, notify index listeners of the new values.
function postAdd(newData, n0, n1) {
indexListeners.forEach(function(l) { l(newValues, newIndex, n0, n1); });
newValues = newIndex = null;
}
// Updates the selected values based on the specified bounds [lo, hi].
// This implementation is used by all the public filter methods.
function filterIndexBounds(bounds) {
var lo1 = bounds[0],
hi1 = bounds[1];
if (refilterFunction) {
refilterFunction = null;
filterIndexFunction(function(d, i) { return lo1 <= i && i < hi1; });
lo0 = lo1;
hi0 = hi1;
return dimension;
}
var i,
j,
k,
added = [],
removed = [];
// Fast incremental update based on previous lo index.
if (lo1 < lo0) {
for (i = lo1, j = Math.min(lo0, hi1); i < j; ++i) {
filters[k = index[i]] ^= one;
added.push(k);
}
} else if (lo1 > lo0) {
for (i = lo0, j = Math.min(lo1, hi0); i < j; ++i) {
filters[k = index[i]] ^= one;
removed.push(k);
}
}
// Fast incremental update based on previous hi index.
if (hi1 > hi0) {
for (i = Math.max(lo1, hi0), j = hi1; i < j; ++i) {
filters[k = index[i]] ^= one;
added.push(k);
}
} else if (hi1 < hi0) {
for (i = Math.max(lo0, hi1), j = hi0; i < j; ++i) {
filters[k = index[i]] ^= one;
removed.push(k);
}
}
lo0 = lo1;
hi0 = hi1;
filterListeners.forEach(function(l) { l(one, added, removed); });
return dimension;
}
// Filters this dimension using the specified range, value, or null.
// If the range is null, this is equivalent to filterAll.
// If the range is an array, this is equivalent to filterRange.
// Otherwise, this is equivalent to filterExact.
function filter(range) {
return range == null
? filterAll() : Array.isArray(range)
? filterRange(range) : typeof range === "function"
? filterFunction(range)
: filterExact(range);
}
// Filters this dimension to select the exact value.
function filterExact(value) {
return filterIndexBounds((refilter = crossfilter_filterExact(bisect, value))(values));
}
// Filters this dimension to select the specified range [lo, hi].
// The lower bound is inclusive, and the upper bound is exclusive.
function filterRange(range) {
return filterIndexBounds((refilter = crossfilter_filterRange(bisect, range))(values));
}
// Clears any filters on this dimension.
function filterAll() {
return filterIndexBounds((refilter = crossfilter_filterAll)(values));
}
// Filters this dimension using an arbitrary function.
function filterFunction(f) {
refilter = crossfilter_filterAll;
filterIndexFunction(refilterFunction = f);
lo0 = 0;
hi0 = n;
return dimension;
}
function filterIndexFunction(f) {
var i,
k,
x,
added = [],
removed = [];
for (i = 0; i < n; ++i) {
if (!(filters[k = index[i]] & one) ^ (x = f(values[i], k))) {
if (x) filters[k] &= zero, added.push(k);
else filters[k] |= one, removed.push(k);
}
}
filterListeners.forEach(function(l) { l(one, added, removed); });
}
// Returns the top K selected records based on this dimension's order.
// Note: observes this dimension's filter, unlike group and groupAll.
function top(k) {
var array = [],
i = hi0,
j;
while (--i >= lo0 && k > 0) {
if (!filters[j = index[i]]) {
array.push(data[j]);
--k;
}
}
return array;
}
// Returns the bottom K selected records based on this dimension's order.
// Note: observes this dimension's filter, unlike group and groupAll.
function bottom(k) {
var array = [],
i = lo0,
j;
while (i < hi0 && k > 0) {
if (!filters[j = index[i]]) {
array.push(data[j]);
--k;
}
i++;
}
return array;
}
// Adds a new group to this dimension, using the specified key function.
function group(key) {
var group = {
top: top,
all: all,
reduce: reduce,
reduceCount: reduceCount,
reduceSum: reduceSum,
order: order,
orderNatural: orderNatural,
size: size,
remove: remove
};
// Ensure that this group will be removed when the dimension is removed.
dimensionGroups.push(group);
var groups, // array of {key, value}
groupIndex, // object id ↦ group id
groupWidth = 8,
groupCapacity = crossfilter_capacity(groupWidth),
k = 0, // cardinality
select,
heap,
reduceAdd,
reduceRemove,
reduceInitial,
update = crossfilter_null,
reset = crossfilter_null,
resetNeeded = true;
if (arguments.length < 1) key = crossfilter_identity;
// The group listens to the crossfilter for when any dimension changes, so
// that it can update the associated reduce values. It must also listen to
// the parent dimension for when data is added, and compute new keys.
filterListeners.push(update);
indexListeners.push(add);
// Incorporate any existing data into the grouping.
add(values, index, 0, n);
// Incorporates the specified new values into this group.
// This function is responsible for updating groups and groupIndex.
function add(newValues, newIndex, n0, n1) {
var oldGroups = groups,
reIndex = crossfilter_index(k, groupCapacity),
add = reduceAdd,
initial = reduceInitial,
k0 = k, // old cardinality
i0 = 0, // index of old group
i1 = 0, // index of new record
j, // object id
g0, // old group
x0, // old key
x1, // new key
g, // group to add
x; // key of group to add
// If a reset is needed, we don't need to update the reduce values.
if (resetNeeded) add = initial = crossfilter_null;
// Reset the new groups (k is a lower bound).
// Also, make sure that groupIndex exists and is long enough.
groups = new Array(k), k = 0;
groupIndex = k0 > 1 ? crossfilter_arrayLengthen(groupIndex, n) : crossfilter_index(n, groupCapacity);
// Get the first old key (x0 of g0), if it exists.
if (k0) x0 = (g0 = oldGroups[0]).key;
// Find the first new key (x1), skipping NaN keys.
while (i1 < n1 && !((x1 = key(newValues[i1])) >= x1)) ++i1;
// While new keys remain…
while (i1 < n1) {
// Determine the lesser of the two current keys; new and old.
// If there are no old keys remaining, then always add the new key.
if (g0 && x0 <= x1) {
g = g0, x = x0;
// Record the new index of the old group.
reIndex[i0] = k;
// Retrieve the next old key.
if (g0 = oldGroups[++i0]) x0 = g0.key;
} else {
g = {key: x1, value: initial()}, x = x1;
}
// Add the lesser group.
groups[k] = g;
// Add any selected records belonging to the added group, while
// advancing the new key and populating the associated group index.
while (!(x1 > x)) {
groupIndex[j = newIndex[i1] + n0] = k;
if (!(filters[j] & zero)) g.value = add(g.value, data[j]);
if (++i1 >= n1) break;
x1 = key(newValues[i1]);
}
groupIncrement();
}
// Add any remaining old groups that were greater than all new keys.
// No incremental reduce is needed; these groups have no new records.
// Also record the new index of the old group.
while (i0 < k0) {
groups[reIndex[i0] = k] = oldGroups[i0++];
groupIncrement();
}
// If we added any new groups before any old groups,
// update the group index of all the old records.
if (k > i0) for (i0 = 0; i0 < n0; ++i0) {
groupIndex[i0] = reIndex[groupIndex[i0]];
}
// Modify the update and reset behavior based on the cardinality.
// If the cardinality is less than or equal to one, then the groupIndex
// is not needed. If the cardinality is zero, then there are no records
// and therefore no groups to update or reset. Note that we also must
// change the registered listener to point to the new method.
j = filterListeners.indexOf(update);
if (k > 1) {
update = updateMany;
reset = resetMany;
} else {
if (k === 1) {
update = updateOne;
reset = resetOne;
} else {
update = crossfilter_null;
reset = crossfilter_null;
}
groupIndex = null;
}
filterListeners[j] = update;
// Count the number of added groups,
// and widen the group index as needed.
function groupIncrement() {
if (++k === groupCapacity) {
reIndex = crossfilter_arrayWiden(reIndex, groupWidth <<= 1);
groupIndex = crossfilter_arrayWiden(groupIndex, groupWidth);
groupCapacity = crossfilter_capacity(groupWidth);
}
}
}
// Reduces the specified selected or deselected records.
// This function is only used when the cardinality is greater than 1.
function updateMany(filterOne, added, removed) {
if (filterOne === one || resetNeeded) return;
var i,
k,
n,
g;
// Add the added values.
for (i = 0, n = added.length; i < n; ++i) {
if (!(filters[k = added[i]] & zero)) {
g = groups[groupIndex[k]];
g.value = reduceAdd(g.value, data[k]);
}
}
// Remove the removed values.
for (i = 0, n = removed.length; i < n; ++i) {
if ((filters[k = removed[i]] & zero) === filterOne) {
g = groups[groupIndex[k]];
g.value = reduceRemove(g.value, data[k]);
}
}
}
// Reduces the specified selected or deselected records.
// This function is only used when the cardinality is 1.
function updateOne(filterOne, added, removed) {
if (filterOne === one || resetNeeded) return;
var i,
k,
n,
g = groups[0];
// Add the added values.
for (i = 0, n = added.length; i < n; ++i) {
if (!(filters[k = added[i]] & zero)) {
g.value = reduceAdd(g.value, data[k]);
}
}
// Remove the removed values.
for (i = 0, n = removed.length; i < n; ++i) {
if ((filters[k = removed[i]] & zero) === filterOne) {
g.value = reduceRemove(g.value, data[k]);
}
}
}
// Recomputes the group reduce values from scratch.
// This function is only used when the cardinality is greater than 1.
function resetMany() {
var i,
g;
// Reset all group values.
for (i = 0; i < k; ++i) {
groups[i].value = reduceInitial();
}
// Add any selected records.
for (i = 0; i < n; ++i) {
if (!(filters[i] & zero)) {
g = groups[groupIndex[i]];
g.value = reduceAdd(g.value, data[i]);
}
}
}
// Recomputes the group reduce values from scratch.
// This function is only used when the cardinality is 1.
function resetOne() {
var i,
g = groups[0];
// Reset the singleton group values.
g.value = reduceInitial();
// Add any selected records.
for (i = 0; i < n; ++i) {
if (!(filters[i] & zero)) {
g.value = reduceAdd(g.value, data[i]);
}
}
}
// Returns the array of group values, in the dimension's natural order.
function all() {
if (resetNeeded) reset(), resetNeeded = false;
return groups;
}
// Returns a new array containing the top K group values, in reduce order.
function top(k) {
var top = select(all(), 0, groups.length, k);
return heap.sort(top, 0, top.length);
}
// Sets the reduce behavior for this group to use the specified functions.
// This method lazily recomputes the reduce values, waiting until needed.
function reduce(add, remove, initial) {
reduceAdd = add;
reduceRemove = remove;
reduceInitial = initial;
resetNeeded = true;
return group;
}
// A convenience method for reducing by count.
function reduceCount() {
return reduce(crossfilter_reduceIncrement, crossfilter_reduceDecrement, crossfilter_zero);
}
// A convenience method for reducing by sum(value).
function reduceSum(value) {
return reduce(crossfilter_reduceAdd(value), crossfilter_reduceSubtract(value), crossfilter_zero);
}
// Sets the reduce order, using the specified accessor.
function order(value) {
select = heapselect_by(valueOf);
heap = heap_by(valueOf);
function valueOf(d) { return value(d.value); }
return group;
}
// A convenience method for natural ordering by reduce value.
function orderNatural() {
return order(crossfilter_identity);
}
// Returns the cardinality of this group, irrespective of any filters.
function size() {
return k;
}
// Removes this group and associated event listeners.
function remove() {
var i = filterListeners.indexOf(update);
if (i >= 0) filterListeners.splice(i, 1);
i = indexListeners.indexOf(add);
if (i >= 0) indexListeners.splice(i, 1);
return group;
}
return reduceCount().orderNatural();
}
// A convenience function for generating a singleton group.
function groupAll() {
var g = group(crossfilter_null), all = g.all;
delete g.all;
delete g.top;
delete g.order;
delete g.orderNatural;
delete g.size;
g.value = function() { return all()[0].value; };
return g;
}
function remove() {
dimensionGroups.forEach(function(group) { group.remove(); });
var i = dataListeners.indexOf(preAdd);
if (i >= 0) dataListeners.splice(i, 1);
i = dataListeners.indexOf(postAdd);
if (i >= 0) dataListeners.splice(i, 1);
for (i = 0; i < n; ++i) filters[i] &= zero;
m &= zero;
return dimension;
}
return dimension;
}
// A convenience method for groupAll on a dummy dimension.
// This implementation can be optimized since it always has cardinality 1.
function groupAll() {
var group = {
reduce: reduce,
reduceCount: reduceCount,
reduceSum: reduceSum,
value: value,
remove: remove
};
var reduceValue,
reduceAdd,
reduceRemove,
reduceInitial,
resetNeeded = true;
// The group listens to the crossfilter for when any dimension changes, so
// that it can update the reduce value. It must also listen to the parent
// dimension for when data is added.
filterListeners.push(update);
dataListeners.push(add);
// For consistency; actually a no-op since resetNeeded is true.
add(data, 0, n);
// Incorporates the specified new values into this group.
function add(newData, n0) {
var i;
if (resetNeeded) return;
// Add the added values.
for (i = n0; i < n; ++i) {
if (!filters[i]) {
reduceValue = reduceAdd(reduceValue, data[i]);
}
}
}
// Reduces the specified selected or deselected records.
function update(filterOne, added, removed) {
var i,
k,
n;
if (resetNeeded) return;
// Add the added values.
for (i = 0, n = added.length; i < n; ++i) {
if (!filters[k = added[i]]) {
reduceValue = reduceAdd(reduceValue, data[k]);
}
}
// Remove the removed values.
for (i = 0, n = removed.length; i < n; ++i) {
if (filters[k = removed[i]] === filterOne) {
reduceValue = reduceRemove(reduceValue, data[k]);
}
}
}
// Recomputes the group reduce value from scratch.
function reset() {
var i;
reduceValue = reduceInitial();
for (i = 0; i < n; ++i) {
if (!filters[i]) {
reduceValue = reduceAdd(reduceValue, data[i]);
}
}
}
// Sets the reduce behavior for this group to use the specified functions.
// This method lazily recomputes the reduce value, waiting until needed.
function reduce(add, remove, initial) {
reduceAdd = add;
reduceRemove = remove;
reduceInitial = initial;
resetNeeded = true;
return group;
}
// A convenience method for reducing by count.
function reduceCount() {
return reduce(crossfilter_reduceIncrement, crossfilter_reduceDecrement, crossfilter_zero);
}
// A convenience method for reducing by sum(value).
function reduceSum(value) {
return reduce(crossfilter_reduceAdd(value), crossfilter_reduceSubtract(value), crossfilter_zero);
}
// Returns the computed reduce value.
function value() {
if (resetNeeded) reset(), resetNeeded = false;
return reduceValue;
}
// Removes this group and associated event listeners.
function remove() {
var i = filterListeners.indexOf(update);
if (i >= 0) filterListeners.splice(i);
i = dataListeners.indexOf(add);
if (i >= 0) dataListeners.splice(i);
return group;
}
return reduceCount();
}
// Returns the number of records in this crossfilter, irrespective of any filters.
function size() {
return n;
}
return arguments.length
? add(arguments[0])
: crossfilter;
}
// Returns an array of size n, big enough to store ids up to m.
function crossfilter_index(n, m) {
return (m < 0x101
? crossfilter_array8 : m < 0x10001
? crossfilter_array16
: crossfilter_array32)(n);
}
// Constructs a new array of size n, with sequential values from 0 to n - 1.
function crossfilter_range(n) {
var range = crossfilter_index(n, n);
for (var i = -1; ++i < n;) range[i] = i;
return range;
}
function crossfilter_capacity(w) {
return w === 8
? 0x100 : w === 16
? 0x10000
: 0x100000000;
}
})(this);
d3 = function() {
var d3 = {
version: "3.2.3"
};
if (!Date.now) Date.now = function() {
return +new Date();
};
var d3_document = document, d3_documentElement = d3_document.documentElement, d3_window = window;
try {
d3_document.createElement("div").style.setProperty("opacity", 0, "");
} catch (error) {
var d3_style_prototype = d3_window.CSSStyleDeclaration.prototype, d3_style_setProperty = d3_style_prototype.setProperty;
d3_style_prototype.setProperty = function(name, value, priority) {
d3_style_setProperty.call(this, name, value + "", priority);
};
}
d3.ascending = function(a, b) {
return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;
};
d3.descending = function(a, b) {
return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;
};
d3.min = function(array, f) {
var i = -1, n = array.length, a, b;
if (arguments.length === 1) {
while (++i < n && !((a = array[i]) != null && a <= a)) a = undefined;
while (++i < n) if ((b = array[i]) != null && a > b) a = b;
} else {
while (++i < n && !((a = f.call(array, array[i], i)) != null && a <= a)) a = undefined;
while (++i < n) if ((b = f.call(array, array[i], i)) != null && a > b) a = b;
}
return a;
};
d3.max = function(array, f) {
var i = -1, n = array.length, a, b;
if (arguments.length === 1) {
while (++i < n && !((a = array[i]) != null && a <= a)) a = undefined;
while (++i < n) if ((b = array[i]) != null && b > a) a = b;
} else {
while (++i < n && !((a = f.call(array, array[i], i)) != null && a <= a)) a = undefined;
while (++i < n) if ((b = f.call(array, array[i], i)) != null && b > a) a = b;
}
return a;
};
d3.extent = function(array, f) {
var i = -1, n = array.length, a, b, c;
if (arguments.length === 1) {
while (++i < n && !((a = c = array[i]) != null && a <= a)) a = c = undefined;
while (++i < n) if ((b = array[i]) != null) {
if (a > b) a = b;
if (c < b) c = b;
}
} else {
while (++i < n && !((a = c = f.call(array, array[i], i)) != null && a <= a)) a = undefined;
while (++i < n) if ((b = f.call(array, array[i], i)) != null) {
if (a > b) a = b;
if (c < b) c = b;
}
}
return [ a, c ];
};
d3.sum = function(array, f) {
var s = 0, n = array.length, a, i = -1;
if (arguments.length === 1) {
while (++i < n) if (!isNaN(a = +array[i])) s += a;
} else {
while (++i < n) if (!isNaN(a = +f.call(array, array[i], i))) s += a;
}
return s;
};
function d3_number(x) {
return x != null && !isNaN(x);
}
d3.mean = function(array, f) {
var n = array.length, a, m = 0, i = -1, j = 0;
if (arguments.length === 1) {
while (++i < n) if (d3_number(a = array[i])) m += (a - m) / ++j;
} else {
while (++i < n) if (d3_number(a = f.call(array, array[i], i))) m += (a - m) / ++j;
}
return j ? m : undefined;
};
d3.quantile = function(values, p) {
var H = (values.length - 1) * p + 1, h = Math.floor(H), v = +values[h - 1], e = H - h;
return e ? v + e * (values[h] - v) : v;
};
d3.median = function(array, f) {
if (arguments.length > 1) array = array.map(f);
array = array.filter(d3_number);
return array.length ? d3.quantile(array.sort(d3.ascending), .5) : undefined;
};
d3.bisector = function(f) {
return {
left: function(a, x, lo, hi) {
if (arguments.length < 3) lo = 0;
if (arguments.length < 4) hi = a.length;
while (lo < hi) {
var mid = lo + hi >>> 1;
if (f.call(a, a[mid], mid) < x) lo = mid + 1; else hi = mid;
}
return lo;
},
right: function(a, x, lo, hi) {
if (arguments.length < 3) lo = 0;
if (arguments.length < 4) hi = a.length;
while (lo < hi) {
var mid = lo + hi >>> 1;
if (x < f.call(a, a[mid], mid)) hi = mid; else lo = mid + 1;
}
return lo;
}
};
};
var d3_bisector = d3.bisector(function(d) {
return d;
});
d3.bisectLeft = d3_bisector.left;
d3.bisect = d3.bisectRight = d3_bisector.right;
d3.shuffle = function(array) {
var m = array.length, t, i;
while (m) {
i = Math.random() * m-- | 0;
t = array[m], array[m] = array[i], array[i] = t;
}
return array;
};
d3.permute = function(array, indexes) {
var permutes = [], i = -1, n = indexes.length;
while (++i < n) permutes[i] = array[indexes[i]];
return permutes;
};
d3.zip = function() {
if (!(n = arguments.length)) return [];
for (var i = -1, m = d3.min(arguments, d3_zipLength), zips = new Array(m); ++i < m; ) {
for (var j = -1, n, zip = zips[i] = new Array(n); ++j < n; ) {
zip[j] = arguments[j][i];
}
}
return zips;
};
function d3_zipLength(d) {
return d.length;
}
d3.transpose = function(matrix) {
return d3.zip.apply(d3, matrix);
};
d3.keys = function(map) {
var keys = [];
for (var key in map) keys.push(key);
return keys;
};
d3.values = function(map) {
var values = [];
for (var key in map) values.push(map[key]);
return values;
};
d3.entries = function(map) {
var entries = [];
for (var key in map) entries.push({
key: key,
value: map[key]
});
return entries;
};
d3.merge = function(arrays) {
return Array.prototype.concat.apply([], arrays);
};
d3.range = function(start, stop, step) {
if (arguments.length < 3) {
step = 1;
if (arguments.length < 2) {
stop = start;
start = 0;
}
}
if ((stop - start) / step === Infinity) throw new Error("infinite range");
var range = [], k = d3_range_integerScale(Math.abs(step)), i = -1, j;
start *= k, stop *= k, step *= k;
if (step < 0) while ((j = start + step * ++i) > stop) range.push(j / k); else while ((j = start + step * ++i) < stop) range.push(j / k);
return range;
};
function d3_range_integerScale(x) {
var k = 1;
while (x * k % 1) k *= 10;
return k;
}
function d3_class(ctor, properties) {
try {
for (var key in properties) {
Object.defineProperty(ctor.prototype, key, {
value: properties[key],
enumerable: false
});
}
} catch (e) {
ctor.prototype = properties;
}
}
d3.map = function(object) {
var map = new d3_Map();
for (var key in object) map.set(key, object[key]);
return map;
};
function d3_Map() {}
d3_class(d3_Map, {
has: function(key) {
return d3_map_prefix + key in this;
},
get: function(key) {
return this[d3_map_prefix + key];
},
set: function(key, value) {
return this[d3_map_prefix + key] = value;
},
remove: function(key) {
key = d3_map_prefix + key;
return key in this && delete this[key];
},
keys: function() {
var keys = [];
this.forEach(function(key) {
keys.push(key);
});
return keys;
},
values: function() {
var values = [];
this.forEach(function(key, value) {
values.push(value);
});
return values;
},
entries: function() {
var entries = [];
this.forEach(function(key, value) {
entries.push({
key: key,
value: value
});
});
return entries;
},
forEach: function(f) {
for (var key in this) {
if (key.charCodeAt(0) === d3_map_prefixCode) {
f.call(this, key.substring(1), this[key]);
}
}
}
});
var d3_map_prefix = "\0", d3_map_prefixCode = d3_map_prefix.charCodeAt(0);
d3.nest = function() {
var nest = {}, keys = [], sortKeys = [], sortValues, rollup;
function map(mapType, array, depth) {
if (depth >= keys.length) return rollup ? rollup.call(nest, array) : sortValues ? array.sort(sortValues) : array;
var i = -1, n = array.length, key = keys[depth++], keyValue, object, setter, valuesByKey = new d3_Map(), values;
while (++i < n) {
if (values = valuesByKey.get(keyValue = key(object = array[i]))) {
values.push(object);
} else {
valuesByKey.set(keyValue, [ object ]);
}
}
if (mapType) {
object = mapType();
setter = function(keyValue, values) {
object.set(keyValue, map(mapType, values, depth));
};
} else {
object = {};
setter = function(keyValue, values) {
object[keyValue] = map(mapType, values, depth);
};
}
valuesByKey.forEach(setter);
return object;
}
function entries(map, depth) {
if (depth >= keys.length) return map;
var array = [], sortKey = sortKeys[depth++];
map.forEach(function(key, keyMap) {
array.push({
key: key,
values: entries(keyMap, depth)
});
});
return sortKey ? array.sort(function(a, b) {
return sortKey(a.key, b.key);
}) : array;
}
nest.map = function(array, mapType) {
return map(mapType, array, 0);
};
nest.entries = function(array) {
return entries(map(d3.map, array, 0), 0);
};
nest.key = function(d) {
keys.push(d);
return nest;
};
nest.sortKeys = function(order) {
sortKeys[keys.length - 1] = order;
return nest;
};
nest.sortValues = function(order) {
sortValues = order;
return nest;
};
nest.rollup = function(f) {
rollup = f;
return nest;
};
return nest;
};
d3.set = function(array) {
var set = new d3_Set();
if (array) for (var i = 0; i < array.length; i++) set.add(array[i]);
return set;
};
function d3_Set() {}
d3_class(d3_Set, {
has: function(value) {
return d3_map_prefix + value in this;
},
add: function(value) {
this[d3_map_prefix + value] = true;
return value;
},
remove: function(value) {
value = d3_map_prefix + value;
return value in this && delete this[value];
},
values: function() {
var values = [];
this.forEach(function(value) {
values.push(value);
});
return values;
},
forEach: function(f) {
for (var value in this) {
if (value.charCodeAt(0) === d3_map_prefixCode) {
f.call(this, value.substring(1));
}
}
}
});
d3.behavior = {};
d3.rebind = function(target, source) {
var i = 1, n = arguments.length, method;
while (++i < n) target[method = arguments[i]] = d3_rebind(target, source, source[method]);
return target;
};
function d3_rebind(target, source, method) {
return function() {
var value = method.apply(source, arguments);
return value === source ? target : value;
};
}
function d3_vendorSymbol(object, name) {
if (name in object) return name;
name = name.charAt(0).toUpperCase() + name.substring(1);
for (var i = 0, n = d3_vendorPrefixes.length; i < n; ++i) {
var prefixName = d3_vendorPrefixes[i] + name;
if (prefixName in object) return prefixName;
}
}
var d3_vendorPrefixes = [ "webkit", "ms", "moz", "Moz", "o", "O" ];
var d3_array = d3_arraySlice;
function d3_arrayCopy(pseudoarray) {
var i = -1, n = pseudoarray.length, array = [];
while (++i < n) array.push(pseudoarray[i]);
return array;
}
function d3_arraySlice(pseudoarray) {
return Array.prototype.slice.call(pseudoarray);
}
try {
d3_array(d3_documentElement.childNodes)[0].nodeType;
} catch (e) {
d3_array = d3_arrayCopy;
}
function d3_noop() {}
d3.dispatch = function() {
var dispatch = new d3_dispatch(), i = -1, n = arguments.length;
while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch);
return dispatch;
};
function d3_dispatch() {}
d3_dispatch.prototype.on = function(type, listener) {
var i = type.indexOf("."), name = "";
if (i >= 0) {
name = type.substring(i + 1);
type = type.substring(0, i);
}
if (type) return arguments.length < 2 ? this[type].on(name) : this[type].on(name, listener);
if (arguments.length === 2) {
if (listener == null) for (type in this) {
if (this.hasOwnProperty(type)) this[type].on(name, null);
}
return this;
}
};
function d3_dispatch_event(dispatch) {
var listeners = [], listenerByName = new d3_Map();
function event() {
var z = listeners, i = -1, n = z.length, l;
while (++i < n) if (l = z[i].on) l.apply(this, arguments);
return dispatch;
}
event.on = function(name, listener) {
var l = listenerByName.get(name), i;
if (arguments.length < 2) return l && l.on;
if (l) {
l.on = null;
listeners = listeners.slice(0, i = listeners.indexOf(l)).concat(listeners.slice(i + 1));
listenerByName.remove(name);
}
if (listener) listeners.push(listenerByName.set(name, {
on: listener
}));
return dispatch;
};
return event;
}
d3.event = null;
function d3_eventPreventDefault() {
d3.event.preventDefault();
}
function d3_eventSource() {
var e = d3.event, s;
while (s = e.sourceEvent) e = s;
return e;
}
function d3_eventDispatch(target) {
var dispatch = new d3_dispatch(), i = 0, n = arguments.length;
while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch);
dispatch.of = function(thiz, argumentz) {
return function(e1) {
try {
var e0 = e1.sourceEvent = d3.event;
e1.target = target;
d3.event = e1;
dispatch[e1.type].apply(thiz, argumentz);
} finally {
d3.event = e0;
}
};
};
return dispatch;
}
d3.requote = function(s) {
return s.replace(d3_requote_re, "\\$&");
};
var d3_requote_re = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;
var d3_subclass = {}.__proto__ ? function(object, prototype) {
object.__proto__ = prototype;
} : function(object, prototype) {
for (var property in prototype) object[property] = prototype[property];
};
function d3_selection(groups) {
d3_subclass(groups, d3_selectionPrototype);
return groups;
}
var d3_select = function(s, n) {
return n.querySelector(s);
}, d3_selectAll = function(s, n) {
return n.querySelectorAll(s);
}, d3_selectMatcher = d3_documentElement[d3_vendorSymbol(d3_documentElement, "matchesSelector")], d3_selectMatches = function(n, s) {
return d3_selectMatcher.call(n, s);
};
if (typeof Sizzle === "function") {
d3_select = function(s, n) {
return Sizzle(s, n)[0] || null;
};
d3_selectAll = function(s, n) {
return Sizzle.uniqueSort(Sizzle(s, n));
};
d3_selectMatches = Sizzle.matchesSelector;
}
d3.selection = function() {
return d3_selectionRoot;
};
var d3_selectionPrototype = d3.selection.prototype = [];
d3_selectionPrototype.select = function(selector) {
var subgroups = [], subgroup, subnode, group, node;
selector = d3_selection_selector(selector);
for (var j = -1, m = this.length; ++j < m; ) {
subgroups.push(subgroup = []);
subgroup.parentNode = (group = this[j]).parentNode;
for (var i = -1, n = group.length; ++i < n; ) {
if (node = group[i]) {
subgroup.push(subnode = selector.call(node, node.__data__, i));
if (subnode && "__data__" in node) subnode.__data__ = node.__data__;
} else {
subgroup.push(null);
}
}
}
return d3_selection(subgroups);
};
function d3_selection_selector(selector) {
return typeof selector === "function" ? selector : function() {
return d3_select(selector, this);
};
}
d3_selectionPrototype.selectAll = function(selector) {
var subgroups = [], subgroup, node;
selector = d3_selection_selectorAll(selector);
for (var j = -1, m = this.length; ++j < m; ) {
for (var group = this[j], i = -1, n = group.length; ++i < n; ) {
if (node = group[i]) {
subgroups.push(subgroup = d3_array(selector.call(node, node.__data__, i)));
subgroup.parentNode = node;
}
}
}
return d3_selection(subgroups);
};
function d3_selection_selectorAll(selector) {
return typeof selector === "function" ? selector : function() {
return d3_selectAll(selector, this);
};
}
var d3_nsPrefix = {
svg: "http://www.w3.org/2000/svg",
xhtml: "http://www.w3.org/1999/xhtml",
xlink: "http://www.w3.org/1999/xlink",
xml: "http://www.w3.org/XML/1998/namespace",
xmlns: "http://www.w3.org/2000/xmlns/"
};
d3.ns = {
prefix: d3_nsPrefix,
qualify: function(name) {
var i = name.indexOf(":"), prefix = name;
if (i >= 0) {
prefix = name.substring(0, i);
name = name.substring(i + 1);
}
return d3_nsPrefix.hasOwnProperty(prefix) ? {
space: d3_nsPrefix[prefix],
local: name
} : name;
}
};
d3_selectionPrototype.attr = function(name, value) {
if (arguments.length < 2) {
if (typeof name === "string") {
var node = this.node();
name = d3.ns.qualify(name);
return name.local ? node.getAttributeNS(name.space, name.local) : node.getAttribute(name);
}
for (value in name) this.each(d3_selection_attr(value, name[value]));
return this;
}
return this.each(d3_selection_attr(name, value));
};
function d3_selection_attr(name, value) {
name = d3.ns.qualify(name);
function attrNull() {
this.removeAttribute(name);
}
function attrNullNS() {
this.removeAttributeNS(name.space, name.local);
}
function attrConstant() {
this.setAttribute(name, value);
}
function attrConstantNS() {
this.setAttributeNS(name.space, name.local, value);
}
function attrFunction() {
var x = value.apply(this, arguments);
if (x == null) this.removeAttribute(name); else this.setAttribute(name, x);
}
function attrFunctionNS() {
var x = value.apply(this, arguments);
if (x == null) this.removeAttributeNS(name.space, name.local); else this.setAttributeNS(name.space, name.local, x);
}
return value == null ? name.local ? attrNullNS : attrNull : typeof value === "function" ? name.local ? attrFunctionNS : attrFunction : name.local ? attrConstantNS : attrConstant;
}
function d3_collapse(s) {
return s.trim().replace(/\s+/g, " ");
}
d3_selectionPrototype.classed = function(name, value) {
if (arguments.length < 2) {
if (typeof name === "string") {
var node = this.node(), n = (name = name.trim().split(/^|\s+/g)).length, i = -1;
if (value = node.classList) {
while (++i < n) if (!value.contains(name[i])) return false;
} else {
value = node.getAttribute("class");
while (++i < n) if (!d3_selection_classedRe(name[i]).test(value)) return false;
}
return true;
}
for (value in name) this.each(d3_selection_classed(value, name[value]));
return this;
}
return this.each(d3_selection_classed(name, value));
};
function d3_selection_classedRe(name) {
return new RegExp("(?:^|\\s+)" + d3.requote(name) + "(?:\\s+|$)", "g");
}
function d3_selection_classed(name, value) {
name = name.trim().split(/\s+/).map(d3_selection_classedName);
var n = name.length;
function classedConstant() {
var i = -1;
while (++i < n) name[i](this, value);
}
function classedFunction() {
var i = -1, x = value.apply(this, arguments);
while (++i < n) name[i](this, x);
}
return typeof value === "function" ? classedFunction : classedConstant;
}
function d3_selection_classedName(name) {
var re = d3_selection_classedRe(name);
return function(node, value) {
if (c = node.classList) return value ? c.add(name) : c.remove(name);
var c = node.getAttribute("class") || "";
if (value) {
re.lastIndex = 0;
if (!re.test(c)) node.setAttribute("class", d3_collapse(c + " " + name));
} else {
node.setAttribute("class", d3_collapse(c.replace(re, " ")));
}
};
}
d3_selectionPrototype.style = function(name, value, priority) {
var n = arguments.length;
if (n < 3) {
if (typeof name !== "string") {
if (n < 2) value = "";
for (priority in name) this.each(d3_selection_style(priority, name[priority], value));
return this;
}
if (n < 2) return d3_window.getComputedStyle(this.node(), null).getPropertyValue(name);
priority = "";
}
return this.each(d3_selection_style(name, value, priority));
};
function d3_selection_style(name, value, priority) {
function styleNull() {
this.style.removeProperty(name);
}
function styleConstant() {
this.style.setProperty(name, value, priority);
}
function styleFunction() {
var x = value.apply(this, arguments);
if (x == null) this.style.removeProperty(name); else this.style.setProperty(name, x, priority);
}
return value == null ? styleNull : typeof value === "function" ? styleFunction : styleConstant;
}
d3_selectionPrototype.property = function(name, value) {
if (arguments.length < 2) {
if (typeof name === "string") return this.node()[name];
for (value in name) this.each(d3_selection_property(value, name[value]));
return this;
}
return this.each(d3_selection_property(name, value));
};
function d3_selection_property(name, value) {
function propertyNull() {
delete this[name];
}
function propertyConstant() {
this[name] = value;
}
function propertyFunction() {
var x = value.apply(this, arguments);
if (x == null) delete this[name]; else this[name] = x;
}
return value == null ? propertyNull : typeof value === "function" ? propertyFunction : propertyConstant;
}
d3_selectionPrototype.text = function(value) {
return arguments.length ? this.each(typeof value === "function" ? function() {
var v = value.apply(this, arguments);
this.textContent = v == null ? "" : v;
} : value == null ? function() {
this.textContent = "";
} : function() {
this.textContent = value;
}) : this.node().textContent;
};
d3_selectionPrototype.html = function(value) {
return arguments.length ? this.each(typeof value === "function" ? function() {
var v = value.apply(this, arguments);
this.innerHTML = v == null ? "" : v;
} : value == null ? function() {
this.innerHTML = "";
} : function() {
this.innerHTML = value;
}) : this.node().innerHTML;
};
d3_selectionPrototype.append = function(name) {
name = d3_selection_creator(name);
return this.select(function() {
return this.appendChild(name.apply(this, arguments));
});
};
function d3_selection_creator(name) {
return typeof name === "function" ? name : (name = d3.ns.qualify(name)).local ? function() {
return d3_document.createElementNS(name.space, name.local);
} : function() {
return d3_document.createElementNS(this.namespaceURI, name);
};
}
d3_selectionPrototype.insert = function(name, before) {
name = d3_selection_creator(name);
before = d3_selection_selector(before);
return this.select(function() {
return this.insertBefore(name.apply(this, arguments), before.apply(this, arguments));
});
};
d3_selectionPrototype.remove = function() {
return this.each(function() {
var parent = this.parentNode;
if (parent) parent.removeChild(this);
});
};
d3_selectionPrototype.data = function(value, key) {
var i = -1, n = this.length, group, node;
if (!arguments.length) {
value = new Array(n = (group = this[0]).length);
while (++i < n) {
if (node = group[i]) {
value[i] = node.__data__;
}
}
return value;
}
function bind(group, groupData) {
var i, n = group.length, m = groupData.length, n0 = Math.min(n, m), updateNodes = new Array(m), enterNodes = new Array(m), exitNodes = new Array(n), node, nodeData;
if (key) {
var nodeByKeyValue = new d3_Map(), dataByKeyValue = new d3_Map(), keyValues = [], keyValue;
for (i = -1; ++i < n; ) {
keyValue = key.call(node = group[i], node.__data__, i);
if (nodeByKeyValue.has(keyValue)) {
exitNodes[i] = node;
} else {
nodeByKeyValue.set(keyValue, node);
}
keyValues.push(keyValue);
}
for (i = -1; ++i < m; ) {
keyValue = key.call(groupData, nodeData = groupData[i], i);
if (node = nodeByKeyValue.get(keyValue)) {
updateNodes[i] = node;
node.__data__ = nodeData;
} else if (!dataByKeyValue.has(keyValue)) {
enterNodes[i] = d3_selection_dataNode(nodeData);
}
dataByKeyValue.set(keyValue, nodeData);
nodeByKeyValue.remove(keyValue);
}
for (i = -1; ++i < n; ) {
if (nodeByKeyValue.has(keyValues[i])) {
exitNodes[i] = group[i];
}
}
} else {
for (i = -1; ++i < n0; ) {
node = group[i];
nodeData = groupData[i];
if (node) {
node.__data__ = nodeData;
updateNodes[i] = node;
} else {
enterNodes[i] = d3_selection_dataNode(nodeData);
}
}
for (;i < m; ++i) {
enterNodes[i] = d3_selection_dataNode(groupData[i]);
}
for (;i < n; ++i) {
exitNodes[i] = group[i];
}
}
enterNodes.update = updateNodes;
enterNodes.parentNode = updateNodes.parentNode = exitNodes.parentNode = group.parentNode;
enter.push(enterNodes);
update.push(updateNodes);
exit.push(exitNodes);
}
var enter = d3_selection_enter([]), update = d3_selection([]), exit = d3_selection([]);
if (typeof value === "function") {
while (++i < n) {
bind(group = this[i], value.call(group, group.parentNode.__data__, i));
}
} else {
while (++i < n) {
bind(group = this[i], value);
}
}
update.enter = function() {
return enter;
};
update.exit = function() {
return exit;
};
return update;
};
function d3_selection_dataNode(data) {
return {
__data__: data
};
}
d3_selectionPrototype.datum = function(value) {
return arguments.length ? this.property("__data__", value) : this.property("__data__");
};
d3_selectionPrototype.filter = function(filter) {
var subgroups = [], subgroup, group, node;
if (typeof filter !== "function") filter = d3_selection_filter(filter);
for (var j = 0, m = this.length; j < m; j++) {
subgroups.push(subgroup = []);
subgroup.parentNode = (group = this[j]).parentNode;
for (var i = 0, n = group.length; i < n; i++) {
if ((node = group[i]) && filter.call(node, node.__data__, i)) {
subgroup.push(node);
}
}
}
return d3_selection(subgroups);
};
function d3_selection_filter(selector) {
return function() {
return d3_selectMatches(this, selector);
};
}
d3_selectionPrototype.order = function() {
for (var j = -1, m = this.length; ++j < m; ) {
for (var group = this[j], i = group.length - 1, next = group[i], node; --i >= 0; ) {
if (node = group[i]) {
if (next && next !== node.nextSibling) next.parentNode.insertBefore(node, next);
next = node;
}
}
}
return this;
};
d3_selectionPrototype.sort = function(comparator) {
comparator = d3_selection_sortComparator.apply(this, arguments);
for (var j = -1, m = this.length; ++j < m; ) this[j].sort(comparator);
return this.order();
};
function d3_selection_sortComparator(comparator) {
if (!arguments.length) comparator = d3.ascending;
return function(a, b) {
return !a - !b || comparator(a.__data__, b.__data__);
};
}
d3_selectionPrototype.each = function(callback) {
return d3_selection_each(this, function(node, i, j) {
callback.call(node, node.__data__, i, j);
});
};
function d3_selection_each(groups, callback) {
for (var j = 0, m = groups.length; j < m; j++) {
for (var group = groups[j], i = 0, n = group.length, node; i < n; i++) {
if (node = group[i]) callback(node, i, j);
}
}
return groups;
}
d3_selectionPrototype.call = function(callback) {
var args = d3_array(arguments);
callback.apply(args[0] = this, args);
return this;
};
d3_selectionPrototype.empty = function() {
return !this.node();
};
d3_selectionPrototype.node = function() {
for (var j = 0, m = this.length; j < m; j++) {
for (var group = this[j], i = 0, n = group.length; i < n; i++) {
var node = group[i];
if (node) return node;
}
}
return null;
};
d3_selectionPrototype.size = function() {
var n = 0;
this.each(function() {
++n;
});
return n;
};
function d3_selection_enter(selection) {
d3_subclass(selection, d3_selection_enterPrototype);
return selection;
}
var d3_selection_enterPrototype = [];
d3.selection.enter = d3_selection_enter;
d3.selection.enter.prototype = d3_selection_enterPrototype;
d3_selection_enterPrototype.append = d3_selectionPrototype.append;
d3_selection_enterPrototype.insert = d3_selectionPrototype.insert;
d3_selection_enterPrototype.empty = d3_selectionPrototype.empty;
d3_selection_enterPrototype.node = d3_selectionPrototype.node;
d3_selection_enterPrototype.call = d3_selectionPrototype.call;
d3_selection_enterPrototype.size = d3_selectionPrototype.size;
d3_selection_enterPrototype.select = function(selector) {
var subgroups = [], subgroup, subnode, upgroup, group, node;
for (var j = -1, m = this.length; ++j < m; ) {
upgroup = (group = this[j]).update;
subgroups.push(subgroup = []);
subgroup.parentNode = group.parentNode;
for (var i = -1, n = group.length; ++i < n; ) {
if (node = group[i]) {
subgroup.push(upgroup[i] = subnode = selector.call(group.parentNode, node.__data__, i));
subnode.__data__ = node.__data__;
} else {
subgroup.push(null);
}
}
}
return d3_selection(subgroups);
};
d3_selectionPrototype.transition = function() {
var id = d3_transitionInheritId || ++d3_transitionId, subgroups = [], subgroup, node, transition = Object.create(d3_transitionInherit);
transition.time = Date.now();
for (var j = -1, m = this.length; ++j < m; ) {
subgroups.push(subgroup = []);
for (var group = this[j], i = -1, n = group.length; ++i < n; ) {
if (node = group[i]) d3_transitionNode(node, i, id, transition);
subgroup.push(node);
}
}
return d3_transition(subgroups, id);
};
d3.select = function(node) {
var group = [ typeof node === "string" ? d3_select(node, d3_document) : node ];
group.parentNode = d3_documentElement;
return d3_selection([ group ]);
};
d3.selectAll = function(nodes) {
var group = d3_array(typeof nodes === "string" ? d3_selectAll(nodes, d3_document) : nodes);
group.parentNode = d3_documentElement;
return d3_selection([ group ]);
};
var d3_selectionRoot = d3.select(d3_documentElement);
d3_selectionPrototype.on = function(type, listener, capture) {
var n = arguments.length;
if (n < 3) {
if (typeof type !== "string") {
if (n < 2) listener = false;
for (capture in type) this.each(d3_selection_on(capture, type[capture], listener));
return this;
}
if (n < 2) return (n = this.node()["__on" + type]) && n._;
capture = false;
}
return this.each(d3_selection_on(type, listener, capture));
};
function d3_selection_on(type, listener, capture) {
var name = "__on" + type, i = type.indexOf("."), wrap = d3_selection_onListener;
if (i > 0) type = type.substring(0, i);
var filter = d3_selection_onFilters.get(type);
if (filter) type = filter, wrap = d3_selection_onFilter;
function onRemove() {
var l = this[name];
if (l) {
this.removeEventListener(type, l, l.$);
delete this[name];
}
}
function onAdd() {
var l = wrap(listener, d3_array(arguments));
onRemove.call(this);
this.addEventListener(type, this[name] = l, l.$ = capture);
l._ = listener;
}
function removeAll() {
var re = new RegExp("^__on([^.]+)" + d3.requote(type) + "$"), match;
for (var name in this) {
if (match = name.match(re)) {
var l = this[name];
this.removeEventListener(match[1], l, l.$);
delete this[name];
}
}
}
return i ? listener ? onAdd : onRemove : listener ? d3_noop : removeAll;
}
var d3_selection_onFilters = d3.map({
mouseenter: "mouseover",
mouseleave: "mouseout"
});
d3_selection_onFilters.forEach(function(k) {
if ("on" + k in d3_document) d3_selection_onFilters.remove(k);
});
function d3_selection_onListener(listener, argumentz) {
return function(e) {
var o = d3.event;
d3.event = e;
argumentz[0] = this.__data__;
try {
listener.apply(this, argumentz);
} finally {
d3.event = o;
}
};
}
function d3_selection_onFilter(listener, argumentz) {
var l = d3_selection_onListener(listener, argumentz);
return function(e) {
var target = this, related = e.relatedTarget;
if (!related || related !== target && !(related.compareDocumentPosition(target) & 8)) {
l.call(target, e);
}
};
}
var d3_event_dragSelect = d3_vendorSymbol(d3_documentElement.style, "userSelect");
function d3_event_dragSuppress(type) {
var selectstart = "selectstart." + type, dragstart = "dragstart." + type, click = "click." + type, w = d3.select(d3_window).on(selectstart, d3_eventPreventDefault).on(dragstart, d3_eventPreventDefault), style = d3_documentElement.style, select = style[d3_event_dragSelect];
style[d3_event_dragSelect] = "none";
return function(suppressClick) {
w.on(selectstart, null).on(dragstart, null);
style[d3_event_dragSelect] = select;
if (suppressClick) {
function off() {
w.on(click, null);
}
w.on(click, function() {
d3_eventPreventDefault();
off();
}, true);
setTimeout(off, 0);
}
};
}
d3.mouse = function(container) {
return d3_mousePoint(container, d3_eventSource());
};
var d3_mouse_bug44083 = /WebKit/.test(d3_window.navigator.userAgent) ? -1 : 0;
function d3_mousePoint(container, e) {
var svg = container.ownerSVGElement || container;
if (svg.createSVGPoint) {
var point = svg.createSVGPoint();
if (d3_mouse_bug44083 < 0 && (d3_window.scrollX || d3_window.scrollY)) {
svg = d3.select("body").append("svg").style({
position: "absolute",
top: 0,
left: 0,
margin: 0,
padding: 0,
border: "none"
}, "important");
var ctm = svg[0][0].getScreenCTM();
d3_mouse_bug44083 = !(ctm.f || ctm.e);
svg.remove();
}
if (d3_mouse_bug44083) {
point.x = e.pageX;
point.y = e.pageY;
} else {
point.x = e.clientX;
point.y = e.clientY;
}
point = point.matrixTransform(container.getScreenCTM().inverse());
return [ point.x, point.y ];
}
var rect = container.getBoundingClientRect();
return [ e.clientX - rect.left - container.clientLeft, e.clientY - rect.top - container.clientTop ];
}
d3.touches = function(container, touches) {
if (arguments.length < 2) touches = d3_eventSource().touches;
return touches ? d3_array(touches).map(function(touch) {
var point = d3_mousePoint(container, touch);
point.identifier = touch.identifier;
return point;
}) : [];
};
d3.behavior.drag = function() {
var event = d3_eventDispatch(drag, "drag", "dragstart", "dragend"), origin = null;
function drag() {
this.on("mousedown.drag", mousedown).on("touchstart.drag", mousedown);
}
function mousedown() {
var target = this, event_ = event.of(target, arguments), eventTarget = d3.event.target, touchId = d3.event.touches ? d3.event.changedTouches[0].identifier : null, offset, origin_ = point(), moved = 0, dragRestore = d3_event_dragSuppress(touchId != null ? "drag-" + touchId : "drag");
var w = d3.select(d3_window).on(touchId != null ? "touchmove.drag-" + touchId : "mousemove.drag", dragmove).on(touchId != null ? "touchend.drag-" + touchId : "mouseup.drag", dragend, true);
if (origin) {
offset = origin.apply(target, arguments);
offset = [ offset.x - origin_[0], offset.y - origin_[1] ];
} else {
offset = [ 0, 0 ];
}
event_({
type: "dragstart"
});
function point() {
var p = target.parentNode;
return touchId != null ? d3.touches(p).filter(function(p) {
return p.identifier === touchId;
})[0] : d3.mouse(p);
}
function dragmove() {
if (!target.parentNode) return dragend();
var p = point(), dx = p[0] - origin_[0], dy = p[1] - origin_[1];
moved |= dx | dy;
origin_ = p;
event_({
type: "drag",
x: p[0] + offset[0],
y: p[1] + offset[1],
dx: dx,
dy: dy
});
}
function dragend() {
w.on(touchId != null ? "touchmove.drag-" + touchId : "mousemove.drag", null).on(touchId != null ? "touchend.drag-" + touchId : "mouseup.drag", null);
dragRestore(moved && d3.event.target === eventTarget);
event_({
type: "dragend"
});
}
}
drag.origin = function(x) {
if (!arguments.length) return origin;
origin = x;
return drag;
};
return d3.rebind(drag, event, "on");
};
d3.behavior.zoom = function() {
var translate = [ 0, 0 ], translate0, scale = 1, distance0, scale0, scaleExtent = d3_behavior_zoomInfinity, event = d3_eventDispatch(zoom, "zoom"), x0, x1, y0, y1, touchtime;
function zoom() {
this.on("mousedown.zoom", mousedown).on("mousemove.zoom", mousemove).on(d3_behavior_zoomWheel + ".zoom", mousewheel).on("dblclick.zoom", dblclick).on("touchstart.zoom", touchstart).on("touchmove.zoom", touchmove).on("touchend.zoom", touchstart);
}
zoom.translate = function(x) {
if (!arguments.length) return translate;
translate = x.map(Number);
rescale();
return zoom;
};
zoom.scale = function(x) {
if (!arguments.length) return scale;
scale = +x;
rescale();
return zoom;
};
zoom.scaleExtent = function(x) {
if (!arguments.length) return scaleExtent;
scaleExtent = x == null ? d3_behavior_zoomInfinity : x.map(Number);
return zoom;
};
zoom.x = function(z) {
if (!arguments.length) return x1;
x1 = z;
x0 = z.copy();
translate = [ 0, 0 ];
scale = 1;
return zoom;
};
zoom.y = function(z) {
if (!arguments.length) return y1;
y1 = z;
y0 = z.copy();
translate = [ 0, 0 ];
scale = 1;
return zoom;
};
function location(p) {
return [ (p[0] - translate[0]) / scale, (p[1] - translate[1]) / scale ];
}
function point(l) {
return [ l[0] * scale + translate[0], l[1] * scale + translate[1] ];
}
function scaleTo(s) {
scale = Math.max(scaleExtent[0], Math.min(scaleExtent[1], s));
}
function translateTo(p, l) {
l = point(l);
translate[0] += p[0] - l[0];
translate[1] += p[1] - l[1];
}
function rescale() {
if (x1) x1.domain(x0.range().map(function(x) {
return (x - translate[0]) / scale;
}).map(x0.invert));
if (y1) y1.domain(y0.range().map(function(y) {
return (y - translate[1]) / scale;
}).map(y0.invert));
}
function dispatch(event) {
rescale();
d3.event.preventDefault();
event({
type: "zoom",
scale: scale,
translate: translate
});
}
function mousedown() {
var target = this, event_ = event.of(target, arguments), eventTarget = d3.event.target, moved = 0, w = d3.select(d3_window).on("mousemove.zoom", mousemove).on("mouseup.zoom", mouseup), l = location(d3.mouse(target)), dragRestore = d3_event_dragSuppress("zoom");
function mousemove() {
moved = 1;
translateTo(d3.mouse(target), l);
dispatch(event_);
}
function mouseup() {
w.on("mousemove.zoom", null).on("mouseup.zoom", null);
dragRestore(moved && d3.event.target === eventTarget);
}
}
function mousewheel() {
if (!translate0) translate0 = location(d3.mouse(this));
scaleTo(Math.pow(2, d3_behavior_zoomDelta() * .002) * scale);
translateTo(d3.mouse(this), translate0);
dispatch(event.of(this, arguments));
}
function mousemove() {
translate0 = null;
}
function dblclick() {
var p = d3.mouse(this), l = location(p), k = Math.log(scale) / Math.LN2;
scaleTo(Math.pow(2, d3.event.shiftKey ? Math.ceil(k) - 1 : Math.floor(k) + 1));
translateTo(p, l);
dispatch(event.of(this, arguments));
}
function touchstart() {
var touches = d3.touches(this), now = Date.now();
scale0 = scale;
translate0 = {};
distance0 = 0;
touches.forEach(function(t) {
translate0[t.identifier] = location(t);
});
if (touches.length === 1) {
if (now - touchtime < 500) {
var p = touches[0], l = location(touches[0]);
scaleTo(scale * 2);
translateTo(p, l);
dispatch(event.of(this, arguments));
}
touchtime = now;
} else if (touches.length > 1) {
var p = touches[0], q = touches[1], dx = p[0] - q[0], dy = p[1] - q[1];
distance0 = dx * dx + dy * dy;
}
}
function touchmove() {
var touches = d3.touches(this), p0 = touches[0], l0 = translate0[p0.identifier];
if (p1 = touches[1]) {
var p1, l1 = translate0[p1.identifier], scale1 = d3.event.scale;
if (scale1 == null) {
var distance1 = (distance1 = p1[0] - p0[0]) * distance1 + (distance1 = p1[1] - p0[1]) * distance1;
scale1 = distance0 && Math.sqrt(distance1 / distance0);
}
p0 = [ (p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2 ];
l0 = [ (l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2 ];
scaleTo(scale1 * scale0);
}
translateTo(p0, l0);
touchtime = null;
dispatch(event.of(this, arguments));
}
return d3.rebind(zoom, event, "on");
};
var d3_behavior_zoomInfinity = [ 0, Infinity ];
var d3_behavior_zoomDelta, d3_behavior_zoomWheel = "onwheel" in d3_document ? (d3_behavior_zoomDelta = function() {
return -d3.event.deltaY * (d3.event.deltaMode ? 120 : 1);
}, "wheel") : "onmousewheel" in d3_document ? (d3_behavior_zoomDelta = function() {
return d3.event.wheelDelta;
}, "mousewheel") : (d3_behavior_zoomDelta = function() {
return -d3.event.detail;
}, "MozMousePixelScroll");
function d3_Color() {}
d3_Color.prototype.toString = function() {
return this.rgb() + "";
};
d3.hsl = function(h, s, l) {
return arguments.length === 1 ? h instanceof d3_Hsl ? d3_hsl(h.h, h.s, h.l) : d3_rgb_parse("" + h, d3_rgb_hsl, d3_hsl) : d3_hsl(+h, +s, +l);
};
function d3_hsl(h, s, l) {
return new d3_Hsl(h, s, l);
}
function d3_Hsl(h, s, l) {
this.h = h;
this.s = s;
this.l = l;
}
var d3_hslPrototype = d3_Hsl.prototype = new d3_Color();
d3_hslPrototype.brighter = function(k) {
k = Math.pow(.7, arguments.length ? k : 1);
return d3_hsl(this.h, this.s, this.l / k);
};
d3_hslPrototype.darker = function(k) {
k = Math.pow(.7, arguments.length ? k : 1);
return d3_hsl(this.h, this.s, k * this.l);
};
d3_hslPrototype.rgb = function() {
return d3_hsl_rgb(this.h, this.s, this.l);
};
function d3_hsl_rgb(h, s, l) {
var m1, m2;
h = isNaN(h) ? 0 : (h %= 360) < 0 ? h + 360 : h;
s = isNaN(s) ? 0 : s < 0 ? 0 : s > 1 ? 1 : s;
l = l < 0 ? 0 : l > 1 ? 1 : l;
m2 = l <= .5 ? l * (1 + s) : l + s - l * s;
m1 = 2 * l - m2;
function v(h) {
if (h > 360) h -= 360; else if (h < 0) h += 360;
if (h < 60) return m1 + (m2 - m1) * h / 60;
if (h < 180) return m2;
if (h < 240) return m1 + (m2 - m1) * (240 - h) / 60;
return m1;
}
function vv(h) {
return Math.round(v(h) * 255);
}
return d3_rgb(vv(h + 120), vv(h), vv(h - 120));
}
var π = Math.PI, ε = 1e-6, ε2 = ε * ε, d3_radians = π / 180, d3_degrees = 180 / π;
function d3_sgn(x) {
return x > 0 ? 1 : x < 0 ? -1 : 0;
}
function d3_acos(x) {
return x > 1 ? 0 : x < -1 ? π : Math.acos(x);
}
function d3_asin(x) {
return x > 1 ? π / 2 : x < -1 ? -π / 2 : Math.asin(x);
}
function d3_sinh(x) {
return (Math.exp(x) - Math.exp(-x)) / 2;
}
function d3_cosh(x) {
return (Math.exp(x) + Math.exp(-x)) / 2;
}
function d3_haversin(x) {
return (x = Math.sin(x / 2)) * x;
}
d3.hcl = function(h, c, l) {
return arguments.length === 1 ? h instanceof d3_Hcl ? d3_hcl(h.h, h.c, h.l) : h instanceof d3_Lab ? d3_lab_hcl(h.l, h.a, h.b) : d3_lab_hcl((h = d3_rgb_lab((h = d3.rgb(h)).r, h.g, h.b)).l, h.a, h.b) : d3_hcl(+h, +c, +l);
};
function d3_hcl(h, c, l) {
return new d3_Hcl(h, c, l);
}
function d3_Hcl(h, c, l) {
this.h = h;
this.c = c;
this.l = l;
}
var d3_hclPrototype = d3_Hcl.prototype = new d3_Color();
d3_hclPrototype.brighter = function(k) {
return d3_hcl(this.h, this.c, Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)));
};
d3_hclPrototype.darker = function(k) {
return d3_hcl(this.h, this.c, Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)));
};
d3_hclPrototype.rgb = function() {
return d3_hcl_lab(this.h, this.c, this.l).rgb();
};
function d3_hcl_lab(h, c, l) {
if (isNaN(h)) h = 0;
if (isNaN(c)) c = 0;
return d3_lab(l, Math.cos(h *= d3_radians) * c, Math.sin(h) * c);
}
d3.lab = function(l, a, b) {
return arguments.length === 1 ? l instanceof d3_Lab ? d3_lab(l.l, l.a, l.b) : l instanceof d3_Hcl ? d3_hcl_lab(l.l, l.c, l.h) : d3_rgb_lab((l = d3.rgb(l)).r, l.g, l.b) : d3_lab(+l, +a, +b);
};
function d3_lab(l, a, b) {
return new d3_Lab(l, a, b);
}
function d3_Lab(l, a, b) {
this.l = l;
this.a = a;
this.b = b;
}
var d3_lab_K = 18;
var d3_lab_X = .95047, d3_lab_Y = 1, d3_lab_Z = 1.08883;
var d3_labPrototype = d3_Lab.prototype = new d3_Color();
d3_labPrototype.brighter = function(k) {
return d3_lab(Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)), this.a, this.b);
};
d3_labPrototype.darker = function(k) {
return d3_lab(Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)), this.a, this.b);
};
d3_labPrototype.rgb = function() {
return d3_lab_rgb(this.l, this.a, this.b);
};
function d3_lab_rgb(l, a, b) {
var y = (l + 16) / 116, x = y + a / 500, z = y - b / 200;
x = d3_lab_xyz(x) * d3_lab_X;
y = d3_lab_xyz(y) * d3_lab_Y;
z = d3_lab_xyz(z) * d3_lab_Z;
return d3_rgb(d3_xyz_rgb(3.2404542 * x - 1.5371385 * y - .4985314 * z), d3_xyz_rgb(-.969266 * x + 1.8760108 * y + .041556 * z), d3_xyz_rgb(.0556434 * x - .2040259 * y + 1.0572252 * z));
}
function d3_lab_hcl(l, a, b) {
return l > 0 ? d3_hcl(Math.atan2(b, a) * d3_degrees, Math.sqrt(a * a + b * b), l) : d3_hcl(NaN, NaN, l);
}
function d3_lab_xyz(x) {
return x > .206893034 ? x * x * x : (x - 4 / 29) / 7.787037;
}
function d3_xyz_lab(x) {
return x > .008856 ? Math.pow(x, 1 / 3) : 7.787037 * x + 4 / 29;
}
function d3_xyz_rgb(r) {
return Math.round(255 * (r <= .00304 ? 12.92 * r : 1.055 * Math.pow(r, 1 / 2.4) - .055));
}
d3.rgb = function(r, g, b) {
return arguments.length === 1 ? r instanceof d3_Rgb ? d3_rgb(r.r, r.g, r.b) : d3_rgb_parse("" + r, d3_rgb, d3_hsl_rgb) : d3_rgb(~~r, ~~g, ~~b);
};
function d3_rgb(r, g, b) {
return new d3_Rgb(r, g, b);
}
function d3_Rgb(r, g, b) {
this.r = r;
this.g = g;
this.b = b;
}
var d3_rgbPrototype = d3_Rgb.prototype = new d3_Color();
d3_rgbPrototype.brighter = function(k) {
k = Math.pow(.7, arguments.length ? k : 1);
var r = this.r, g = this.g, b = this.b, i = 30;
if (!r && !g && !b) return d3_rgb(i, i, i);
if (r && r < i) r = i;
if (g && g < i) g = i;
if (b && b < i) b = i;
return d3_rgb(Math.min(255, Math.floor(r / k)), Math.min(255, Math.floor(g / k)), Math.min(255, Math.floor(b / k)));
};
d3_rgbPrototype.darker = function(k) {
k = Math.pow(.7, arguments.length ? k : 1);
return d3_rgb(Math.floor(k * this.r), Math.floor(k * this.g), Math.floor(k * this.b));
};
d3_rgbPrototype.hsl = function() {
return d3_rgb_hsl(this.r, this.g, this.b);
};
d3_rgbPrototype.toString = function() {
return "#" + d3_rgb_hex(this.r) + d3_rgb_hex(this.g) + d3_rgb_hex(this.b);
};
function d3_rgb_hex(v) {
return v < 16 ? "0" + Math.max(0, v).toString(16) : Math.min(255, v).toString(16);
}
function d3_rgb_parse(format, rgb, hsl) {
var r = 0, g = 0, b = 0, m1, m2, name;
m1 = /([a-z]+)\((.*)\)/i.exec(format);
if (m1) {
m2 = m1[2].split(",");
switch (m1[1]) {
case "hsl":
{
return hsl(parseFloat(m2[0]), parseFloat(m2[1]) / 100, parseFloat(m2[2]) / 100);
}
case "rgb":
{
return rgb(d3_rgb_parseNumber(m2[0]), d3_rgb_parseNumber(m2[1]), d3_rgb_parseNumber(m2[2]));
}
}
}
if (name = d3_rgb_names.get(format)) return rgb(name.r, name.g, name.b);
if (format != null && format.charAt(0) === "#") {
if (format.length === 4) {
r = format.charAt(1);
r += r;
g = format.charAt(2);
g += g;
b = format.charAt(3);
b += b;
} else if (format.length === 7) {
r = format.substring(1, 3);
g = format.substring(3, 5);
b = format.substring(5, 7);
}
r = parseInt(r, 16);
g = parseInt(g, 16);
b = parseInt(b, 16);
}
return rgb(r, g, b);
}
function d3_rgb_hsl(r, g, b) {
var min = Math.min(r /= 255, g /= 255, b /= 255), max = Math.max(r, g, b), d = max - min, h, s, l = (max + min) / 2;
if (d) {
s = l < .5 ? d / (max + min) : d / (2 - max - min);
if (r == max) h = (g - b) / d + (g < b ? 6 : 0); else if (g == max) h = (b - r) / d + 2; else h = (r - g) / d + 4;
h *= 60;
} else {
h = NaN;
s = l > 0 && l < 1 ? 0 : h;
}
return d3_hsl(h, s, l);
}
function d3_rgb_lab(r, g, b) {
r = d3_rgb_xyz(r);
g = d3_rgb_xyz(g);
b = d3_rgb_xyz(b);
var x = d3_xyz_lab((.4124564 * r + .3575761 * g + .1804375 * b) / d3_lab_X), y = d3_xyz_lab((.2126729 * r + .7151522 * g + .072175 * b) / d3_lab_Y), z = d3_xyz_lab((.0193339 * r + .119192 * g + .9503041 * b) / d3_lab_Z);
return d3_lab(116 * y - 16, 500 * (x - y), 200 * (y - z));
}
function d3_rgb_xyz(r) {
return (r /= 255) <= .04045 ? r / 12.92 : Math.pow((r + .055) / 1.055, 2.4);
}
function d3_rgb_parseNumber(c) {
var f = parseFloat(c);
return c.charAt(c.length - 1) === "%" ? Math.round(f * 2.55) : f;
}
var d3_rgb_names = d3.map({
aliceblue: "#f0f8ff",
antiquewhite: "#faebd7",
aqua: "#00ffff",
aquamarine: "#7fffd4",
azure: "#f0ffff",
beige: "#f5f5dc",
bisque: "#ffe4c4",
black: "#000000",
blanchedalmond: "#ffebcd",
blue: "#0000ff",
blueviolet: "#8a2be2",
brown: "#a52a2a",
burlywood: "#deb887",
cadetblue: "#5f9ea0",
chartreuse: "#7fff00",
chocolate: "#d2691e",
coral: "#ff7f50",
cornflowerblue: "#6495ed",
cornsilk: "#fff8dc",
crimson: "#dc143c",
cyan: "#00ffff",
darkblue: "#00008b",
darkcyan: "#008b8b",
darkgoldenrod: "#b8860b",
darkgray: "#a9a9a9",
darkgreen: "#006400",
darkgrey: "#a9a9a9",
darkkhaki: "#bdb76b",
darkmagenta: "#8b008b",
darkolivegreen: "#556b2f",
darkorange: "#ff8c00",
darkorchid: "#9932cc",
darkred: "#8b0000",
darksalmon: "#e9967a",
darkseagreen: "#8fbc8f",
darkslateblue: "#483d8b",
darkslategray: "#2f4f4f",
darkslategrey: "#2f4f4f",
darkturquoise: "#00ced1",
darkviolet: "#9400d3",
deeppink: "#ff1493",
deepskyblue: "#00bfff",
dimgray: "#696969",
dimgrey: "#696969",
dodgerblue: "#1e90ff",
firebrick: "#b22222",
floralwhite: "#fffaf0",
forestgreen: "#228b22",
fuchsia: "#ff00ff",
gainsboro: "#dcdcdc",
ghostwhite: "#f8f8ff",
gold: "#ffd700",
goldenrod: "#daa520",
gray: "#808080",
green: "#008000",
greenyellow: "#adff2f",
grey: "#808080",
honeydew: "#f0fff0",
hotpink: "#ff69b4",
indianred: "#cd5c5c",
indigo: "#4b0082",
ivory: "#fffff0",
khaki: "#f0e68c",
lavender: "#e6e6fa",
lavenderblush: "#fff0f5",
lawngreen: "#7cfc00",
lemonchiffon: "#fffacd",
lightblue: "#add8e6",
lightcoral: "#f08080",
lightcyan: "#e0ffff",
lightgoldenrodyellow: "#fafad2",
lightgray: "#d3d3d3",
lightgreen: "#90ee90",
lightgrey: "#d3d3d3",
lightpink: "#ffb6c1",
lightsalmon: "#ffa07a",
lightseagreen: "#20b2aa",
lightskyblue: "#87cefa",
lightslategray: "#778899",
lightslategrey: "#778899",
lightsteelblue: "#b0c4de",
lightyellow: "#ffffe0",
lime: "#00ff00",
limegreen: "#32cd32",
linen: "#faf0e6",
magenta: "#ff00ff",
maroon: "#800000",
mediumaquamarine: "#66cdaa",
mediumblue: "#0000cd",
mediumorchid: "#ba55d3",
mediumpurple: "#9370db",
mediumseagreen: "#3cb371",
mediumslateblue: "#7b68ee",
mediumspringgreen: "#00fa9a",
mediumturquoise: "#48d1cc",
mediumvioletred: "#c71585",
midnightblue: "#191970",
mintcream: "#f5fffa",
mistyrose: "#ffe4e1",
moccasin: "#ffe4b5",
navajowhite: "#ffdead",
navy: "#000080",
oldlace: "#fdf5e6",
olive: "#808000",
olivedrab: "#6b8e23",
orange: "#ffa500",
orangered: "#ff4500",
orchid: "#da70d6",
palegoldenrod: "#eee8aa",
palegreen: "#98fb98",
paleturquoise: "#afeeee",
palevioletred: "#db7093",
papayawhip: "#ffefd5",
peachpuff: "#ffdab9",
peru: "#cd853f",
pink: "#ffc0cb",
plum: "#dda0dd",
powderblue: "#b0e0e6",
purple: "#800080",
red: "#ff0000",
rosybrown: "#bc8f8f",
royalblue: "#4169e1",
saddlebrown: "#8b4513",
salmon: "#fa8072",
sandybrown: "#f4a460",
seagreen: "#2e8b57",
seashell: "#fff5ee",
sienna: "#a0522d",
silver: "#c0c0c0",
skyblue: "#87ceeb",
slateblue: "#6a5acd",
slategray: "#708090",
slategrey: "#708090",
snow: "#fffafa",
springgreen: "#00ff7f",
steelblue: "#4682b4",
tan: "#d2b48c",
teal: "#008080",
thistle: "#d8bfd8",
tomato: "#ff6347",
turquoise: "#40e0d0",
violet: "#ee82ee",
wheat: "#f5deb3",
white: "#ffffff",
whitesmoke: "#f5f5f5",
yellow: "#ffff00",
yellowgreen: "#9acd32"
});
d3_rgb_names.forEach(function(key, value) {
d3_rgb_names.set(key, d3_rgb_parse(value, d3_rgb, d3_hsl_rgb));
});
function d3_functor(v) {
return typeof v === "function" ? v : function() {
return v;
};
}
d3.functor = d3_functor;
function d3_identity(d) {
return d;
}
d3.xhr = d3_xhrType(d3_identity);
function d3_xhrType(response) {
return function(url, mimeType, callback) {
if (arguments.length === 2 && typeof mimeType === "function") callback = mimeType,
mimeType = null;
return d3_xhr(url, mimeType, response, callback);
};
}
function d3_xhr(url, mimeType, response, callback) {
var xhr = {}, dispatch = d3.dispatch("progress", "load", "error"), headers = {}, request = new XMLHttpRequest(), responseType = null;
if (d3_window.XDomainRequest && !("withCredentials" in request) && /^(http(s)?:)?\/\//.test(url)) request = new XDomainRequest();
"onload" in request ? request.onload = request.onerror = respond : request.onreadystatechange = function() {
request.readyState > 3 && respond();
};
function respond() {
var status = request.status, result;
if (!status && request.responseText || status >= 200 && status < 300 || status === 304) {
try {
result = response.call(xhr, request);
} catch (e) {
dispatch.error.call(xhr, e);
return;
}
dispatch.load.call(xhr, result);
} else {
dispatch.error.call(xhr, request);
}
}
request.onprogress = function(event) {
var o = d3.event;
d3.event = event;
try {
dispatch.progress.call(xhr, request);
} finally {
d3.event = o;
}
};
xhr.header = function(name, value) {
name = (name + "").toLowerCase();
if (arguments.length < 2) return headers[name];
if (value == null) delete headers[name]; else headers[name] = value + "";
return xhr;
};
xhr.mimeType = function(value) {
if (!arguments.length) return mimeType;
mimeType = value == null ? null : value + "";
return xhr;
};
xhr.responseType = function(value) {
if (!arguments.length) return responseType;
responseType = value;
return xhr;
};
xhr.response = function(value) {
response = value;
return xhr;
};
[ "get", "post" ].forEach(function(method) {
xhr[method] = function() {
return xhr.send.apply(xhr, [ method ].concat(d3_array(arguments)));
};
});
xhr.send = function(method, data, callback) {
if (arguments.length === 2 && typeof data === "function") callback = data, data = null;
request.open(method, url, true);
if (mimeType != null && !("accept" in headers)) headers["accept"] = mimeType + ",*/*";
if (request.setRequestHeader) for (var name in headers) request.setRequestHeader(name, headers[name]);
if (mimeType != null && request.overrideMimeType) request.overrideMimeType(mimeType);
if (responseType != null) request.responseType = responseType;
if (callback != null) xhr.on("error", callback).on("load", function(request) {
callback(null, request);
});
request.send(data == null ? null : data);
return xhr;
};
xhr.abort = function() {
request.abort();
return xhr;
};
d3.rebind(xhr, dispatch, "on");
return callback == null ? xhr : xhr.get(d3_xhr_fixCallback(callback));
}
function d3_xhr_fixCallback(callback) {
return callback.length === 1 ? function(error, request) {
callback(error == null ? request : null);
} : callback;
}
d3.dsv = function(delimiter, mimeType) {
var reFormat = new RegExp('["' + delimiter + "\n]"), delimiterCode = delimiter.charCodeAt(0);
function dsv(url, row, callback) {
if (arguments.length < 3) callback = row, row = null;
var xhr = d3.xhr(url, mimeType, callback);
xhr.row = function(_) {
return arguments.length ? xhr.response((row = _) == null ? response : typedResponse(_)) : row;
};
return xhr.row(row);
}
function response(request) {
return dsv.parse(request.responseText);
}
function typedResponse(f) {
return function(request) {
return dsv.parse(request.responseText, f);
};
}
dsv.parse = function(text, f) {
var o;
return dsv.parseRows(text, function(row, i) {
if (o) return o(row, i - 1);
var a = new Function("d", "return {" + row.map(function(name, i) {
return JSON.stringify(name) + ": d[" + i + "]";
}).join(",") + "}");
o = f ? function(row, i) {
return f(a(row), i);
} : a;
});
};
dsv.parseRows = function(text, f) {
var EOL = {}, EOF = {}, rows = [], N = text.length, I = 0, n = 0, t, eol;
function token() {
if (I >= N) return EOF;
if (eol) return eol = false, EOL;
var j = I;
if (text.charCodeAt(j) === 34) {
var i = j;
while (i++ < N) {
if (text.charCodeAt(i) === 34) {
if (text.charCodeAt(i + 1) !== 34) break;
++i;
}
}
I = i + 2;
var c = text.charCodeAt(i + 1);
if (c === 13) {
eol = true;
if (text.charCodeAt(i + 2) === 10) ++I;
} else if (c === 10) {
eol = true;
}
return text.substring(j + 1, i).replace(/""/g, '"');
}
while (I < N) {
var c = text.charCodeAt(I++), k = 1;
if (c === 10) eol = true; else if (c === 13) {
eol = true;
if (text.charCodeAt(I) === 10) ++I, ++k;
} else if (c !== delimiterCode) continue;
return text.substring(j, I - k);
}
return text.substring(j);
}
while ((t = token()) !== EOF) {
var a = [];
while (t !== EOL && t !== EOF) {
a.push(t);
t = token();
}
if (f && !(a = f(a, n++))) continue;
rows.push(a);
}
return rows;
};
dsv.format = function(rows) {
if (Array.isArray(rows[0])) return dsv.formatRows(rows);
var fieldSet = new d3_Set(), fields = [];
rows.forEach(function(row) {
for (var field in row) {
if (!fieldSet.has(field)) {
fields.push(fieldSet.add(field));
}
}
});
return [ fields.map(formatValue).join(delimiter) ].concat(rows.map(function(row) {
return fields.map(function(field) {
return formatValue(row[field]);
}).join(delimiter);
})).join("\n");
};
dsv.formatRows = function(rows) {
return rows.map(formatRow).join("\n");
};
function formatRow(row) {
return row.map(formatValue).join(delimiter);
}
function formatValue(text) {
return reFormat.test(text) ? '"' + text.replace(/\"/g, '""') + '"' : text;
}
return dsv;
};
d3.csv = d3.dsv(",", "text/csv");
d3.tsv = d3.dsv(" ", "text/tab-separated-values");
var d3_timer_queueHead, d3_timer_queueTail, d3_timer_interval, d3_timer_timeout;
d3.timer = function(callback, delay, then) {
if (arguments.length < 3) {
if (arguments.length < 2) delay = 0; else if (!isFinite(delay)) return;
then = Date.now();
}
var time = then + delay;
var timer = {
callback: callback,
time: time,
next: null
};
if (d3_timer_queueTail) d3_timer_queueTail.next = timer; else d3_timer_queueHead = timer;
d3_timer_queueTail = timer;
if (!d3_timer_interval) {
d3_timer_timeout = clearTimeout(d3_timer_timeout);
d3_timer_interval = 1;
d3_timer_frame(d3_timer_step);
}
};
function d3_timer_step() {
var now = d3_timer_mark(), delay = d3_timer_sweep() - now;
if (delay > 24) {
if (isFinite(delay)) {
clearTimeout(d3_timer_timeout);
d3_timer_timeout = setTimeout(d3_timer_step, delay);
}
d3_timer_interval = 0;
} else {
d3_timer_interval = 1;
d3_timer_frame(d3_timer_step);
}
}
d3.timer.flush = function() {
d3_timer_mark();
d3_timer_sweep();
};
function d3_timer_mark() {
var now = Date.now(), timer = d3_timer_queueHead;
while (timer) {
if (now >= timer.time) timer.flush = timer.callback(now - timer.time);
timer = timer.next;
}
return now;
}
function d3_timer_sweep() {
var t0, t1 = d3_timer_queueHead, time = Infinity;
while (t1) {
if (t1.flush) {
t1 = t0 ? t0.next = t1.next : d3_timer_queueHead = t1.next;
} else {
if (t1.time < time) time = t1.time;
t1 = (t0 = t1).next;
}
}
d3_timer_queueTail = t0;
return time;
}
var d3_timer_frame = d3_window[d3_vendorSymbol(d3_window, "requestAnimationFrame")] || function(callback) {
setTimeout(callback, 17);
};
var d3_format_decimalPoint = ".", d3_format_thousandsSeparator = ",", d3_format_grouping = [ 3, 3 ];
var d3_formatPrefixes = [ "y", "z", "a", "f", "p", "n", "µ", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y" ].map(d3_formatPrefix);
d3.formatPrefix = function(value, precision) {
var i = 0;
if (value) {
if (value < 0) value *= -1;
if (precision) value = d3.round(value, d3_format_precision(value, precision));
i = 1 + Math.floor(1e-12 + Math.log(value) / Math.LN10);
i = Math.max(-24, Math.min(24, Math.floor((i <= 0 ? i + 1 : i - 1) / 3) * 3));
}
return d3_formatPrefixes[8 + i / 3];
};
function d3_formatPrefix(d, i) {
var k = Math.pow(10, Math.abs(8 - i) * 3);
return {
scale: i > 8 ? function(d) {
return d / k;
} : function(d) {
return d * k;
},
symbol: d
};
}
d3.round = function(x, n) {
return n ? Math.round(x * (n = Math.pow(10, n))) / n : Math.round(x);
};
d3.format = function(specifier) {
var match = d3_format_re.exec(specifier), fill = match[1] || " ", align = match[2] || ">", sign = match[3] || "", basePrefix = match[4] || "", zfill = match[5], width = +match[6], comma = match[7], precision = match[8], type = match[9], scale = 1, suffix = "", integer = false;
if (precision) precision = +precision.substring(1);
if (zfill || fill === "0" && align === "=") {
zfill = fill = "0";
align = "=";
if (comma) width -= Math.floor((width - 1) / 4);
}
switch (type) {
case "n":
comma = true;
type = "g";
break;
case "%":
scale = 100;
suffix = "%";
type = "f";
break;
case "p":
scale = 100;
suffix = "%";
type = "r";
break;
case "b":
case "o":
case "x":
case "X":
if (basePrefix) basePrefix = "0" + type.toLowerCase();
case "c":
case "d":
integer = true;
precision = 0;
break;
case "s":
scale = -1;
type = "r";
break;
}
if (basePrefix === "#") basePrefix = "";
if (type == "r" && !precision) type = "g";
if (precision != null) {
if (type == "g") precision = Math.max(1, Math.min(21, precision)); else if (type == "e" || type == "f") precision = Math.max(0, Math.min(20, precision));
}
type = d3_format_types.get(type) || d3_format_typeDefault;
var zcomma = zfill && comma;
return function(value) {
if (integer && value % 1) return "";
var negative = value < 0 || value === 0 && 1 / value < 0 ? (value = -value, "-") : sign;
if (scale < 0) {
var prefix = d3.formatPrefix(value, precision);
value = prefix.scale(value);
suffix = prefix.symbol;
} else {
value *= scale;
}
value = type(value, precision);
if (!zfill && comma) value = d3_format_group(value);
var length = basePrefix.length + value.length + (zcomma ? 0 : negative.length), padding = length < width ? new Array(length = width - length + 1).join(fill) : "";
if (zcomma) value = d3_format_group(padding + value);
if (d3_format_decimalPoint) value.replace(".", d3_format_decimalPoint);
negative += basePrefix;
return (align === "<" ? negative + value + padding : align === ">" ? padding + negative + value : align === "^" ? padding.substring(0, length >>= 1) + negative + value + padding.substring(length) : negative + (zcomma ? value : padding + value)) + suffix;
};
};
var d3_format_re = /(?:([^{])?([<>=^]))?([+\- ])?(#)?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i;
var d3_format_types = d3.map({
b: function(x) {
return x.toString(2);
},
c: function(x) {
return String.fromCharCode(x);
},
o: function(x) {
return x.toString(8);
},
x: function(x) {
return x.toString(16);
},
X: function(x) {
return x.toString(16).toUpperCase();
},
g: function(x, p) {
return x.toPrecision(p);
},
e: function(x, p) {
return x.toExponential(p);
},
f: function(x, p) {
return x.toFixed(p);
},
r: function(x, p) {
return (x = d3.round(x, d3_format_precision(x, p))).toFixed(Math.max(0, Math.min(20, d3_format_precision(x * (1 + 1e-15), p))));
}
});
function d3_format_precision(x, p) {
return p - (x ? Math.ceil(Math.log(x) / Math.LN10) : 1);
}
function d3_format_typeDefault(x) {
return x + "";
}
var d3_format_group = d3_identity;
if (d3_format_grouping) {
var d3_format_groupingLength = d3_format_grouping.length;
d3_format_group = function(value) {
var i = value.lastIndexOf("."), f = i >= 0 ? "." + value.substring(i + 1) : (i = value.length,
""), t = [], j = 0, g = d3_format_grouping[0];
while (i > 0 && g > 0) {
t.push(value.substring(i -= g, i + g));
g = d3_format_grouping[j = (j + 1) % d3_format_groupingLength];
}
return t.reverse().join(d3_format_thousandsSeparator || "") + f;
};
}
d3.geo = {};
function d3_adder() {}
d3_adder.prototype = {
s: 0,
t: 0,
add: function(y) {
d3_adderSum(y, this.t, d3_adderTemp);
d3_adderSum(d3_adderTemp.s, this.s, this);
if (this.s) this.t += d3_adderTemp.t; else this.s = d3_adderTemp.t;
},
reset: function() {
this.s = this.t = 0;
},
valueOf: function() {
return this.s;
}
};
var d3_adderTemp = new d3_adder();
function d3_adderSum(a, b, o) {
var x = o.s = a + b, bv = x - a, av = x - bv;
o.t = a - av + (b - bv);
}
d3.geo.stream = function(object, listener) {
if (object && d3_geo_streamObjectType.hasOwnProperty(object.type)) {
d3_geo_streamObjectType[object.type](object, listener);
} else {
d3_geo_streamGeometry(object, listener);
}
};
function d3_geo_streamGeometry(geometry, listener) {
if (geometry && d3_geo_streamGeometryType.hasOwnProperty(geometry.type)) {
d3_geo_streamGeometryType[geometry.type](geometry, listener);
}
}
var d3_geo_streamObjectType = {
Feature: function(feature, listener) {
d3_geo_streamGeometry(feature.geometry, listener);
},
FeatureCollection: function(object, listener) {
var features = object.features, i = -1, n = features.length;
while (++i < n) d3_geo_streamGeometry(features[i].geometry, listener);
}
};
var d3_geo_streamGeometryType = {
Sphere: function(object, listener) {
listener.sphere();
},
Point: function(object, listener) {
var coordinate = object.coordinates;
listener.point(coordinate[0], coordinate[1]);
},
MultiPoint: function(object, listener) {
var coordinates = object.coordinates, i = -1, n = coordinates.length, coordinate;
while (++i < n) coordinate = coordinates[i], listener.point(coordinate[0], coordinate[1]);
},
LineString: function(object, listener) {
d3_geo_streamLine(object.coordinates, listener, 0);
},
MultiLineString: function(object, listener) {
var coordinates = object.coordinates, i = -1, n = coordinates.length;
while (++i < n) d3_geo_streamLine(coordinates[i], listener, 0);
},
Polygon: function(object, listener) {
d3_geo_streamPolygon(object.coordinates, listener);
},
MultiPolygon: function(object, listener) {
var coordinates = object.coordinates, i = -1, n = coordinates.length;
while (++i < n) d3_geo_streamPolygon(coordinates[i], listener);
},
GeometryCollection: function(object, listener) {
var geometries = object.geometries, i = -1, n = geometries.length;
while (++i < n) d3_geo_streamGeometry(geometries[i], listener);
}
};
function d3_geo_streamLine(coordinates, listener, closed) {
var i = -1, n = coordinates.length - closed, coordinate;
listener.lineStart();
while (++i < n) coordinate = coordinates[i], listener.point(coordinate[0], coordinate[1]);
listener.lineEnd();
}
function d3_geo_streamPolygon(coordinates, listener) {
var i = -1, n = coordinates.length;
listener.polygonStart();
while (++i < n) d3_geo_streamLine(coordinates[i], listener, 1);
listener.polygonEnd();
}
d3.geo.area = function(object) {
d3_geo_areaSum = 0;
d3.geo.stream(object, d3_geo_area);
return d3_geo_areaSum;
};
var d3_geo_areaSum, d3_geo_areaRingSum = new d3_adder();
var d3_geo_area = {
sphere: function() {
d3_geo_areaSum += 4 * π;
},
point: d3_noop,
lineStart: d3_noop,
lineEnd: d3_noop,
polygonStart: function() {
d3_geo_areaRingSum.reset();
d3_geo_area.lineStart = d3_geo_areaRingStart;
},
polygonEnd: function() {
var area = 2 * d3_geo_areaRingSum;
d3_geo_areaSum += area < 0 ? 4 * π + area : area;
d3_geo_area.lineStart = d3_geo_area.lineEnd = d3_geo_area.point = d3_noop;
}
};
function d3_geo_areaRingStart() {
var λ00, φ00, λ0, cosφ0, sinφ0;
d3_geo_area.point = function(λ, φ) {
d3_geo_area.point = nextPoint;
λ0 = (λ00 = λ) * d3_radians, cosφ0 = Math.cos(φ = (φ00 = φ) * d3_radians / 2 + π / 4),
sinφ0 = Math.sin(φ);
};
function nextPoint(λ, φ) {
λ *= d3_radians;
φ = φ * d3_radians / 2 + π / 4;
var = λ - λ0, cosφ = Math.cos(φ), sinφ = Math.sin(φ), k = sinφ0 * sinφ, u = cosφ0 * cosφ + k * Math.cos(), v = k * Math.sin();
d3_geo_areaRingSum.add(Math.atan2(v, u));
λ0 = λ, cosφ0 = cosφ, sinφ0 = sinφ;
}
d3_geo_area.lineEnd = function() {
nextPoint(λ00, φ00);
};
}
function d3_geo_cartesian(spherical) {
var λ = spherical[0], φ = spherical[1], cosφ = Math.cos(φ);
return [ cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ) ];
}
function d3_geo_cartesianDot(a, b) {
return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];
}
function d3_geo_cartesianCross(a, b) {
return [ a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0] ];
}
function d3_geo_cartesianAdd(a, b) {
a[0] += b[0];
a[1] += b[1];
a[2] += b[2];
}
function d3_geo_cartesianScale(vector, k) {
return [ vector[0] * k, vector[1] * k, vector[2] * k ];
}
function d3_geo_cartesianNormalize(d) {
var l = Math.sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);
d[0] /= l;
d[1] /= l;
d[2] /= l;
}
function d3_geo_spherical(cartesian) {
return [ Math.atan2(cartesian[1], cartesian[0]), d3_asin(cartesian[2]) ];
}
function d3_geo_sphericalEqual(a, b) {
return Math.abs(a[0] - b[0]) < ε && Math.abs(a[1] - b[1]) < ε;
}
d3.geo.bounds = function() {
var λ0, φ0, λ1, φ1, λ_, λ__, φ__, p0, dλSum, ranges, range;
var bound = {
point: point,
lineStart: lineStart,
lineEnd: lineEnd,
polygonStart: function() {
bound.point = ringPoint;
bound.lineStart = ringStart;
bound.lineEnd = ringEnd;
dλSum = 0;
d3_geo_area.polygonStart();
},
polygonEnd: function() {
d3_geo_area.polygonEnd();
bound.point = point;
bound.lineStart = lineStart;
bound.lineEnd = lineEnd;
if (d3_geo_areaRingSum < 0) λ0 = -(λ1 = 180), φ0 = -(φ1 = 90); else if (dλSum > ε) φ1 = 90; else if (dλSum < -ε) φ0 = -90;
range[0] = λ0, range[1] = λ1;
}
};
function point(λ, φ) {
ranges.push(range = [ λ0 = λ, λ1 = λ ]);
if (φ < φ0) φ0 = φ;
if (φ > φ1) φ1 = φ;
}
function linePoint(λ, φ) {
var p = d3_geo_cartesian([ λ * d3_radians, φ * d3_radians ]);
if (p0) {
var normal = d3_geo_cartesianCross(p0, p), equatorial = [ normal[1], -normal[0], 0 ], inflection = d3_geo_cartesianCross(equatorial, normal);
d3_geo_cartesianNormalize(inflection);
inflection = d3_geo_spherical(inflection);
var = λ - λ_, s = > 0 ? 1 : -1, λi = inflection[0] * d3_degrees * s, antimeridian = Math.abs() > 180;
if (antimeridian ^ (s * λ_ < λi && λi < s * λ)) {
var φi = inflection[1] * d3_degrees;
if (φi > φ1) φ1 = φi;
} else if (λi = (λi + 360) % 360 - 180, antimeridian ^ (s * λ_ < λi && λi < s * λ)) {
var φi = -inflection[1] * d3_degrees;
if (φi < φ0) φ0 = φi;
} else {
if (φ < φ0) φ0 = φ;
if (φ > φ1) φ1 = φ;
}
if (antimeridian) {
if (λ < λ_) {
if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ;
} else {
if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ;
}
} else {
if (λ1 >= λ0) {
if (λ < λ0) λ0 = λ;
if (λ > λ1) λ1 = λ;
} else {
if (λ > λ_) {
if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ;
} else {
if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ;
}
}
}
} else {
point(λ, φ);
}
p0 = p, λ_ = λ;
}
function lineStart() {
bound.point = linePoint;
}
function lineEnd() {
range[0] = λ0, range[1] = λ1;
bound.point = point;
p0 = null;
}
function ringPoint(λ, φ) {
if (p0) {
var = λ - λ_;
dλSum += Math.abs() > 180 ? + ( > 0 ? 360 : -360) : ;
} else λ__ = λ, φ__ = φ;
d3_geo_area.point(λ, φ);
linePoint(λ, φ);
}
function ringStart() {
d3_geo_area.lineStart();
}
function ringEnd() {
ringPoint(λ__, φ__);
d3_geo_area.lineEnd();
if (Math.abs(dλSum) > ε) λ0 = -(λ1 = 180);
range[0] = λ0, range[1] = λ1;
p0 = null;
}
function angle(λ0, λ1) {
return (λ1 -= λ0) < 0 ? λ1 + 360 : λ1;
}
function compareRanges(a, b) {
return a[0] - b[0];
}
function withinRange(x, range) {
return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x;
}
return function(feature) {
φ1 = λ1 = -(λ0 = φ0 = Infinity);
ranges = [];
d3.geo.stream(feature, bound);
var n = ranges.length;
if (n) {
ranges.sort(compareRanges);
for (var i = 1, a = ranges[0], b, merged = [ a ]; i < n; ++i) {
b = ranges[i];
if (withinRange(b[0], a) || withinRange(b[1], a)) {
if (angle(a[0], b[1]) > angle(a[0], a[1])) a[1] = b[1];
if (angle(b[0], a[1]) > angle(a[0], a[1])) a[0] = b[0];
} else {
merged.push(a = b);
}
}
var best = -Infinity, ;
for (var n = merged.length - 1, i = 0, a = merged[n], b; i <= n; a = b, ++i) {
b = merged[i];
if (( = angle(a[1], b[0])) > best) best = , λ0 = b[0], λ1 = a[1];
}
}
ranges = range = null;
return λ0 === Infinity || φ0 === Infinity ? [ [ NaN, NaN ], [ NaN, NaN ] ] : [ [ λ0, φ0 ], [ λ1, φ1 ] ];
};
}();
d3.geo.centroid = function(object) {
d3_geo_centroidW0 = d3_geo_centroidW1 = d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 = d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 = d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0;
d3.geo.stream(object, d3_geo_centroid);
var x = d3_geo_centroidX2, y = d3_geo_centroidY2, z = d3_geo_centroidZ2, m = x * x + y * y + z * z;
if (m < ε2) {
x = d3_geo_centroidX1, y = d3_geo_centroidY1, z = d3_geo_centroidZ1;
if (d3_geo_centroidW1 < ε) x = d3_geo_centroidX0, y = d3_geo_centroidY0, z = d3_geo_centroidZ0;
m = x * x + y * y + z * z;
if (m < ε2) return [ NaN, NaN ];
}
return [ Math.atan2(y, x) * d3_degrees, d3_asin(z / Math.sqrt(m)) * d3_degrees ];
};
var d3_geo_centroidW0, d3_geo_centroidW1, d3_geo_centroidX0, d3_geo_centroidY0, d3_geo_centroidZ0, d3_geo_centroidX1, d3_geo_centroidY1, d3_geo_centroidZ1, d3_geo_centroidX2, d3_geo_centroidY2, d3_geo_centroidZ2;
var d3_geo_centroid = {
sphere: d3_noop,
point: d3_geo_centroidPoint,
lineStart: d3_geo_centroidLineStart,
lineEnd: d3_geo_centroidLineEnd,
polygonStart: function() {
d3_geo_centroid.lineStart = d3_geo_centroidRingStart;
},
polygonEnd: function() {
d3_geo_centroid.lineStart = d3_geo_centroidLineStart;
}
};
function d3_geo_centroidPoint(λ, φ) {
λ *= d3_radians;
var cosφ = Math.cos(φ *= d3_radians);
d3_geo_centroidPointXYZ(cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ));
}
function d3_geo_centroidPointXYZ(x, y, z) {
++d3_geo_centroidW0;
d3_geo_centroidX0 += (x - d3_geo_centroidX0) / d3_geo_centroidW0;
d3_geo_centroidY0 += (y - d3_geo_centroidY0) / d3_geo_centroidW0;
d3_geo_centroidZ0 += (z - d3_geo_centroidZ0) / d3_geo_centroidW0;
}
function d3_geo_centroidLineStart() {
var x0, y0, z0;
d3_geo_centroid.point = function(λ, φ) {
λ *= d3_radians;
var cosφ = Math.cos(φ *= d3_radians);
x0 = cosφ * Math.cos(λ);
y0 = cosφ * Math.sin(λ);
z0 = Math.sin(φ);
d3_geo_centroid.point = nextPoint;
d3_geo_centroidPointXYZ(x0, y0, z0);
};
function nextPoint(λ, φ) {
λ *= d3_radians;
var cosφ = Math.cos(φ *= d3_radians), x = cosφ * Math.cos(λ), y = cosφ * Math.sin(λ), z = Math.sin(φ), w = Math.atan2(Math.sqrt((w = y0 * z - z0 * y) * w + (w = z0 * x - x0 * z) * w + (w = x0 * y - y0 * x) * w), x0 * x + y0 * y + z0 * z);
d3_geo_centroidW1 += w;
d3_geo_centroidX1 += w * (x0 + (x0 = x));
d3_geo_centroidY1 += w * (y0 + (y0 = y));
d3_geo_centroidZ1 += w * (z0 + (z0 = z));
d3_geo_centroidPointXYZ(x0, y0, z0);
}
}
function d3_geo_centroidLineEnd() {
d3_geo_centroid.point = d3_geo_centroidPoint;
}
function d3_geo_centroidRingStart() {
var λ00, φ00, x0, y0, z0;
d3_geo_centroid.point = function(λ, φ) {
λ00 = λ, φ00 = φ;
d3_geo_centroid.point = nextPoint;
λ *= d3_radians;
var cosφ = Math.cos(φ *= d3_radians);
x0 = cosφ * Math.cos(λ);
y0 = cosφ * Math.sin(λ);
z0 = Math.sin(φ);
d3_geo_centroidPointXYZ(x0, y0, z0);
};
d3_geo_centroid.lineEnd = function() {
nextPoint(λ00, φ00);
d3_geo_centroid.lineEnd = d3_geo_centroidLineEnd;
d3_geo_centroid.point = d3_geo_centroidPoint;
};
function nextPoint(λ, φ) {
λ *= d3_radians;
var cosφ = Math.cos(φ *= d3_radians), x = cosφ * Math.cos(λ), y = cosφ * Math.sin(λ), z = Math.sin(φ), cx = y0 * z - z0 * y, cy = z0 * x - x0 * z, cz = x0 * y - y0 * x, m = Math.sqrt(cx * cx + cy * cy + cz * cz), u = x0 * x + y0 * y + z0 * z, v = m && -d3_acos(u) / m, w = Math.atan2(m, u);
d3_geo_centroidX2 += v * cx;
d3_geo_centroidY2 += v * cy;
d3_geo_centroidZ2 += v * cz;
d3_geo_centroidW1 += w;
d3_geo_centroidX1 += w * (x0 + (x0 = x));
d3_geo_centroidY1 += w * (y0 + (y0 = y));
d3_geo_centroidZ1 += w * (z0 + (z0 = z));
d3_geo_centroidPointXYZ(x0, y0, z0);
}
}
function d3_true() {
return true;
}
function d3_geo_clipPolygon(segments, compare, inside, interpolate, listener) {
var subject = [], clip = [];
segments.forEach(function(segment) {
if ((n = segment.length - 1) <= 0) return;
var n, p0 = segment[0], p1 = segment[n];
if (d3_geo_sphericalEqual(p0, p1)) {
listener.lineStart();
for (var i = 0; i < n; ++i) listener.point((p0 = segment[i])[0], p0[1]);
listener.lineEnd();
return;
}
var a = {
point: p0,
points: segment,
other: null,
visited: false,
entry: true,
subject: true
}, b = {
point: p0,
points: [ p0 ],
other: a,
visited: false,
entry: false,
subject: false
};
a.other = b;
subject.push(a);
clip.push(b);
a = {
point: p1,
points: [ p1 ],
other: null,
visited: false,
entry: false,
subject: true
};
b = {
point: p1,
points: [ p1 ],
other: a,
visited: false,
entry: true,
subject: false
};
a.other = b;
subject.push(a);
clip.push(b);
});
clip.sort(compare);
d3_geo_clipPolygonLinkCircular(subject);
d3_geo_clipPolygonLinkCircular(clip);
if (!subject.length) return;
if (inside) for (var i = 1, e = !inside(clip[0].point), n = clip.length; i < n; ++i) {
clip[i].entry = e = !e;
}
var start = subject[0], current, points, point;
while (1) {
current = start;
while (current.visited) if ((current = current.next) === start) return;
points = current.points;
listener.lineStart();
do {
current.visited = current.other.visited = true;
if (current.entry) {
if (current.subject) {
for (var i = 0; i < points.length; i++) listener.point((point = points[i])[0], point[1]);
} else {
interpolate(current.point, current.next.point, 1, listener);
}
current = current.next;
} else {
if (current.subject) {
points = current.prev.points;
for (var i = points.length; --i >= 0; ) listener.point((point = points[i])[0], point[1]);
} else {
interpolate(current.point, current.prev.point, -1, listener);
}
current = current.prev;
}
current = current.other;
points = current.points;
} while (!current.visited);
listener.lineEnd();
}
}
function d3_geo_clipPolygonLinkCircular(array) {
if (!(n = array.length)) return;
var n, i = 0, a = array[0], b;
while (++i < n) {
a.next = b = array[i];
b.prev = a;
a = b;
}
a.next = b = array[0];
b.prev = a;
}
function d3_geo_clip(pointVisible, clipLine, interpolate, polygonContains) {
return function(listener) {
var line = clipLine(listener);
var clip = {
point: point,
lineStart: lineStart,
lineEnd: lineEnd,
polygonStart: function() {
clip.point = pointRing;
clip.lineStart = ringStart;
clip.lineEnd = ringEnd;
segments = [];
polygon = [];
listener.polygonStart();
},
polygonEnd: function() {
clip.point = point;
clip.lineStart = lineStart;
clip.lineEnd = lineEnd;
segments = d3.merge(segments);
if (segments.length) {
d3_geo_clipPolygon(segments, d3_geo_clipSort, null, interpolate, listener);
} else if (polygonContains(polygon)) {
listener.lineStart();
interpolate(null, null, 1, listener);
listener.lineEnd();
}
listener.polygonEnd();
segments = polygon = null;
},
sphere: function() {
listener.polygonStart();
listener.lineStart();
interpolate(null, null, 1, listener);
listener.lineEnd();
listener.polygonEnd();
}
};
function point(λ, φ) {
if (pointVisible(λ, φ)) listener.point(λ, φ);
}
function pointLine(λ, φ) {
line.point(λ, φ);
}
function lineStart() {
clip.point = pointLine;
line.lineStart();
}
function lineEnd() {
clip.point = point;
line.lineEnd();
}
var segments;
var buffer = d3_geo_clipBufferListener(), ringListener = clipLine(buffer), polygon, ring;
function pointRing(λ, φ) {
ringListener.point(λ, φ);
ring.push([ λ, φ ]);
}
function ringStart() {
ringListener.lineStart();
ring = [];
}
function ringEnd() {
pointRing(ring[0][0], ring[0][1]);
ringListener.lineEnd();
var clean = ringListener.clean(), ringSegments = buffer.buffer(), segment, n = ringSegments.length;
ring.pop();
polygon.push(ring);
ring = null;
if (!n) return;
if (clean & 1) {
segment = ringSegments[0];
var n = segment.length - 1, i = -1, point;
listener.lineStart();
while (++i < n) listener.point((point = segment[i])[0], point[1]);
listener.lineEnd();
return;
}
if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));
segments.push(ringSegments.filter(d3_geo_clipSegmentLength1));
}
return clip;
};
}
function d3_geo_clipSegmentLength1(segment) {
return segment.length > 1;
}
function d3_geo_clipBufferListener() {
var lines = [], line;
return {
lineStart: function() {
lines.push(line = []);
},
point: function(λ, φ) {
line.push([ λ, φ ]);
},
lineEnd: d3_noop,
buffer: function() {
var buffer = lines;
lines = [];
line = null;
return buffer;
},
rejoin: function() {
if (lines.length > 1) lines.push(lines.pop().concat(lines.shift()));
}
};
}
function d3_geo_clipSort(a, b) {
return ((a = a.point)[0] < 0 ? a[1] - π / 2 - ε : π / 2 - a[1]) - ((b = b.point)[0] < 0 ? b[1] - π / 2 - ε : π / 2 - b[1]);
}
function d3_geo_pointInPolygon(point, polygon) {
var meridian = point[0], parallel = point[1], meridianNormal = [ Math.sin(meridian), -Math.cos(meridian), 0 ], polarAngle = 0, polar = false, southPole = false, winding = 0;
d3_geo_areaRingSum.reset();
for (var i = 0, n = polygon.length; i < n; ++i) {
var ring = polygon[i], m = ring.length;
if (!m) continue;
var point0 = ring[0], λ0 = point0[0], φ0 = point0[1] / 2 + π / 4, sinφ0 = Math.sin(φ0), cosφ0 = Math.cos(φ0), j = 1;
while (true) {
if (j === m) j = 0;
point = ring[j];
var λ = point[0], φ = point[1] / 2 + π / 4, sinφ = Math.sin(φ), cosφ = Math.cos(φ), = λ - λ0, antimeridian = Math.abs() > π, k = sinφ0 * sinφ;
d3_geo_areaRingSum.add(Math.atan2(k * Math.sin(), cosφ0 * cosφ + k * Math.cos()));
if (Math.abs(φ) < ε) southPole = true;
polarAngle += antimeridian ? + ( >= 0 ? 2 : -2) * π : ;
if (antimeridian ^ λ0 >= meridian ^ λ >= meridian) {
var arc = d3_geo_cartesianCross(d3_geo_cartesian(point0), d3_geo_cartesian(point));
d3_geo_cartesianNormalize(arc);
var intersection = d3_geo_cartesianCross(meridianNormal, arc);
d3_geo_cartesianNormalize(intersection);
var φarc = (antimeridian ^ >= 0 ? -1 : 1) * d3_asin(intersection[2]);
if (parallel > φarc) {
winding += antimeridian ^ >= 0 ? 1 : -1;
}
}
if (!j++) break;
λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ, point0 = point;
}
if (Math.abs(polarAngle) > ε) polar = true;
}
return (!southPole && !polar && d3_geo_areaRingSum < 0 || polarAngle < -ε) ^ winding & 1;
}
var d3_geo_clipAntimeridian = d3_geo_clip(d3_true, d3_geo_clipAntimeridianLine, d3_geo_clipAntimeridianInterpolate, d3_geo_clipAntimeridianPolygonContains);
function d3_geo_clipAntimeridianLine(listener) {
var λ0 = NaN, φ0 = NaN, sλ0 = NaN, clean;
return {
lineStart: function() {
listener.lineStart();
clean = 1;
},
point: function(λ1, φ1) {
var sλ1 = λ1 > 0 ? π : -π, = Math.abs(λ1 - λ0);
if (Math.abs( - π) < ε) {
listener.point(λ0, φ0 = (φ0 + φ1) / 2 > 0 ? π / 2 : -π / 2);
listener.point(sλ0, φ0);
listener.lineEnd();
listener.lineStart();
listener.point(sλ1, φ0);
listener.point(λ1, φ0);
clean = 0;
} else if (sλ0 !== sλ1 && >= π) {
if (Math.abs(λ0 - sλ0) < ε) λ0 -= sλ0 * ε;
if (Math.abs(λ1 - sλ1) < ε) λ1 -= sλ1 * ε;
φ0 = d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1);
listener.point(sλ0, φ0);
listener.lineEnd();
listener.lineStart();
listener.point(sλ1, φ0);
clean = 0;
}
listener.point(λ0 = λ1, φ0 = φ1);
sλ0 = sλ1;
},
lineEnd: function() {
listener.lineEnd();
λ0 = φ0 = NaN;
},
clean: function() {
return 2 - clean;
}
};
}
function d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1) {
var cosφ0, cosφ1, sinλ0_λ1 = Math.sin(λ0 - λ1);
return Math.abs(sinλ0_λ1) > ε ? Math.atan((Math.sin(φ0) * (cosφ1 = Math.cos(φ1)) * Math.sin(λ1) - Math.sin(φ1) * (cosφ0 = Math.cos(φ0)) * Math.sin(λ0)) / (cosφ0 * cosφ1 * sinλ0_λ1)) : (φ0 + φ1) / 2;
}
function d3_geo_clipAntimeridianInterpolate(from, to, direction, listener) {
var φ;
if (from == null) {
φ = direction * π / 2;
listener.point(-π, φ);
listener.point(0, φ);
listener.point(π, φ);
listener.point(π, 0);
listener.point(π, -φ);
listener.point(0, -φ);
listener.point(-π, -φ);
listener.point(-π, 0);
listener.point(-π, φ);
} else if (Math.abs(from[0] - to[0]) > ε) {
var s = (from[0] < to[0] ? 1 : -1) * π;
φ = direction * s / 2;
listener.point(-s, φ);
listener.point(0, φ);
listener.point(s, φ);
} else {
listener.point(to[0], to[1]);
}
}
var d3_geo_clipAntimeridianPoint = [ -π, 0 ];
function d3_geo_clipAntimeridianPolygonContains(polygon) {
return d3_geo_pointInPolygon(d3_geo_clipAntimeridianPoint, polygon);
}
function d3_geo_clipCircle(radius) {
var cr = Math.cos(radius), smallRadius = cr > 0, point = [ radius, 0 ], notHemisphere = Math.abs(cr) > ε, interpolate = d3_geo_circleInterpolate(radius, 6 * d3_radians);
return d3_geo_clip(visible, clipLine, interpolate, polygonContains);
function visible(λ, φ) {
return Math.cos(λ) * Math.cos(φ) > cr;
}
function clipLine(listener) {
var point0, c0, v0, v00, clean;
return {
lineStart: function() {
v00 = v0 = false;
clean = 1;
},
point: function(λ, φ) {
var point1 = [ λ, φ ], point2, v = visible(λ, φ), c = smallRadius ? v ? 0 : code(λ, φ) : v ? code(λ + (λ < 0 ? π : -π), φ) : 0;
if (!point0 && (v00 = v0 = v)) listener.lineStart();
if (v !== v0) {
point2 = intersect(point0, point1);
if (d3_geo_sphericalEqual(point0, point2) || d3_geo_sphericalEqual(point1, point2)) {
point1[0] += ε;
point1[1] += ε;
v = visible(point1[0], point1[1]);
}
}
if (v !== v0) {
clean = 0;
if (v) {
listener.lineStart();
point2 = intersect(point1, point0);
listener.point(point2[0], point2[1]);
} else {
point2 = intersect(point0, point1);
listener.point(point2[0], point2[1]);
listener.lineEnd();
}
point0 = point2;
} else if (notHemisphere && point0 && smallRadius ^ v) {
var t;
if (!(c & c0) && (t = intersect(point1, point0, true))) {
clean = 0;
if (smallRadius) {
listener.lineStart();
listener.point(t[0][0], t[0][1]);
listener.point(t[1][0], t[1][1]);
listener.lineEnd();
} else {
listener.point(t[1][0], t[1][1]);
listener.lineEnd();
listener.lineStart();
listener.point(t[0][0], t[0][1]);
}
}
}
if (v && (!point0 || !d3_geo_sphericalEqual(point0, point1))) {
listener.point(point1[0], point1[1]);
}
point0 = point1, v0 = v, c0 = c;
},
lineEnd: function() {
if (v0) listener.lineEnd();
point0 = null;
},
clean: function() {
return clean | (v00 && v0) << 1;
}
};
}
function intersect(a, b, two) {
var pa = d3_geo_cartesian(a), pb = d3_geo_cartesian(b);
var n1 = [ 1, 0, 0 ], n2 = d3_geo_cartesianCross(pa, pb), n2n2 = d3_geo_cartesianDot(n2, n2), n1n2 = n2[0], determinant = n2n2 - n1n2 * n1n2;
if (!determinant) return !two && a;
var c1 = cr * n2n2 / determinant, c2 = -cr * n1n2 / determinant, n1xn2 = d3_geo_cartesianCross(n1, n2), A = d3_geo_cartesianScale(n1, c1), B = d3_geo_cartesianScale(n2, c2);
d3_geo_cartesianAdd(A, B);
var u = n1xn2, w = d3_geo_cartesianDot(A, u), uu = d3_geo_cartesianDot(u, u), t2 = w * w - uu * (d3_geo_cartesianDot(A, A) - 1);
if (t2 < 0) return;
var t = Math.sqrt(t2), q = d3_geo_cartesianScale(u, (-w - t) / uu);
d3_geo_cartesianAdd(q, A);
q = d3_geo_spherical(q);
if (!two) return q;
var λ0 = a[0], λ1 = b[0], φ0 = a[1], φ1 = b[1], z;
if (λ1 < λ0) z = λ0, λ0 = λ1, λ1 = z;
var δλ = λ1 - λ0, polar = Math.abs(δλ - π) < ε, meridian = polar || δλ < ε;
if (!polar && φ1 < φ0) z = φ0, φ0 = φ1, φ1 = z;
if (meridian ? polar ? φ0 + φ1 > 0 ^ q[1] < (Math.abs(q[0] - λ0) < ε ? φ0 : φ1) : φ0 <= q[1] && q[1] <= φ1 : δλ > π ^ (λ0 <= q[0] && q[0] <= λ1)) {
var q1 = d3_geo_cartesianScale(u, (-w + t) / uu);
d3_geo_cartesianAdd(q1, A);
return [ q, d3_geo_spherical(q1) ];
}
}
function code(λ, φ) {
var r = smallRadius ? radius : π - radius, code = 0;
if (λ < -r) code |= 1; else if (λ > r) code |= 2;
if (φ < -r) code |= 4; else if (φ > r) code |= 8;
return code;
}
function polygonContains(polygon) {
return d3_geo_pointInPolygon(point, polygon);
}
}
var d3_geo_clipViewMAX = 1e9;
function d3_geo_clipView(x0, y0, x1, y1) {
return function(listener) {
var listener_ = listener, bufferListener = d3_geo_clipBufferListener(), segments, polygon, ring;
var clip = {
point: point,
lineStart: lineStart,
lineEnd: lineEnd,
polygonStart: function() {
listener = bufferListener;
segments = [];
polygon = [];
},
polygonEnd: function() {
listener = listener_;
if ((segments = d3.merge(segments)).length) {
listener.polygonStart();
d3_geo_clipPolygon(segments, compare, inside, interpolate, listener);
listener.polygonEnd();
} else if (insidePolygon([ x0, y0 ])) {
listener.polygonStart(), listener.lineStart();
interpolate(null, null, 1, listener);
listener.lineEnd(), listener.polygonEnd();
}
segments = polygon = ring = null;
}
};
function inside(point) {
var a = corner(point, -1), i = insidePolygon([ a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0 ]);
return i;
}
function insidePolygon(p) {
var wn = 0, n = polygon.length, y = p[1];
for (var i = 0; i < n; ++i) {
for (var j = 1, v = polygon[i], m = v.length, a = v[0], b; j < m; ++j) {
b = v[j];
if (a[1] <= y) {
if (b[1] > y && isLeft(a, b, p) > 0) ++wn;
} else {
if (b[1] <= y && isLeft(a, b, p) < 0) --wn;
}
a = b;
}
}
return wn !== 0;
}
function isLeft(a, b, c) {
return (b[0] - a[0]) * (c[1] - a[1]) - (c[0] - a[0]) * (b[1] - a[1]);
}
function interpolate(from, to, direction, listener) {
var a = 0, a1 = 0;
if (from == null || (a = corner(from, direction)) !== (a1 = corner(to, direction)) || comparePoints(from, to) < 0 ^ direction > 0) {
do {
listener.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0);
} while ((a = (a + direction + 4) % 4) !== a1);
} else {
listener.point(to[0], to[1]);
}
}
function visible(x, y) {
return x0 <= x && x <= x1 && y0 <= y && y <= y1;
}
function point(x, y) {
if (visible(x, y)) listener.point(x, y);
}
var x__, y__, v__, x_, y_, v_, first;
function lineStart() {
clip.point = linePoint;
if (polygon) polygon.push(ring = []);
first = true;
v_ = false;
x_ = y_ = NaN;
}
function lineEnd() {
if (segments) {
linePoint(x__, y__);
if (v__ && v_) bufferListener.rejoin();
segments.push(bufferListener.buffer());
}
clip.point = point;
if (v_) listener.lineEnd();
}
function linePoint(x, y) {
x = Math.max(-d3_geo_clipViewMAX, Math.min(d3_geo_clipViewMAX, x));
y = Math.max(-d3_geo_clipViewMAX, Math.min(d3_geo_clipViewMAX, y));
var v = visible(x, y);
if (polygon) ring.push([ x, y ]);
if (first) {
x__ = x, y__ = y, v__ = v;
first = false;
if (v) {
listener.lineStart();
listener.point(x, y);
}
} else {
if (v && v_) listener.point(x, y); else {
var a = [ x_, y_ ], b = [ x, y ];
if (clipLine(a, b)) {
if (!v_) {
listener.lineStart();
listener.point(a[0], a[1]);
}
listener.point(b[0], b[1]);
if (!v) listener.lineEnd();
} else if (v) {
listener.lineStart();
listener.point(x, y);
}
}
}
x_ = x, y_ = y, v_ = v;
}
return clip;
};
function corner(p, direction) {
return Math.abs(p[0] - x0) < ε ? direction > 0 ? 0 : 3 : Math.abs(p[0] - x1) < ε ? direction > 0 ? 2 : 1 : Math.abs(p[1] - y0) < ε ? direction > 0 ? 1 : 0 : direction > 0 ? 3 : 2;
}
function compare(a, b) {
return comparePoints(a.point, b.point);
}
function comparePoints(a, b) {
var ca = corner(a, 1), cb = corner(b, 1);
return ca !== cb ? ca - cb : ca === 0 ? b[1] - a[1] : ca === 1 ? a[0] - b[0] : ca === 2 ? a[1] - b[1] : b[0] - a[0];
}
function clipLine(a, b) {
var dx = b[0] - a[0], dy = b[1] - a[1], t = [ 0, 1 ];
if (Math.abs(dx) < ε && Math.abs(dy) < ε) return x0 <= a[0] && a[0] <= x1 && y0 <= a[1] && a[1] <= y1;
if (d3_geo_clipViewT(x0 - a[0], dx, t) && d3_geo_clipViewT(a[0] - x1, -dx, t) && d3_geo_clipViewT(y0 - a[1], dy, t) && d3_geo_clipViewT(a[1] - y1, -dy, t)) {
if (t[1] < 1) {
b[0] = a[0] + t[1] * dx;
b[1] = a[1] + t[1] * dy;
}
if (t[0] > 0) {
a[0] += t[0] * dx;
a[1] += t[0] * dy;
}
return true;
}
return false;
}
}
function d3_geo_clipViewT(num, denominator, t) {
if (Math.abs(denominator) < ε) return num <= 0;
var u = num / denominator;
if (denominator > 0) {
if (u > t[1]) return false;
if (u > t[0]) t[0] = u;
} else {
if (u < t[0]) return false;
if (u < t[1]) t[1] = u;
}
return true;
}
function d3_geo_compose(a, b) {
function compose(x, y) {
return x = a(x, y), b(x[0], x[1]);
}
if (a.invert && b.invert) compose.invert = function(x, y) {
return x = b.invert(x, y), x && a.invert(x[0], x[1]);
};
return compose;
}
function d3_geo_conic(projectAt) {
var φ0 = 0, φ1 = π / 3, m = d3_geo_projectionMutator(projectAt), p = m(φ0, φ1);
p.parallels = function(_) {
if (!arguments.length) return [ φ0 / π * 180, φ1 / π * 180 ];
return m(φ0 = _[0] * π / 180, φ1 = _[1] * π / 180);
};
return p;
}
function d3_geo_conicEqualArea(φ0, φ1) {
var sinφ0 = Math.sin(φ0), n = (sinφ0 + Math.sin(φ1)) / 2, C = 1 + sinφ0 * (2 * n - sinφ0), ρ0 = Math.sqrt(C) / n;
function forward(λ, φ) {
var ρ = Math.sqrt(C - 2 * n * Math.sin(φ)) / n;
return [ ρ * Math.sin(λ *= n), ρ0 - ρ * Math.cos(λ) ];
}
forward.invert = function(x, y) {
var ρ0_y = ρ0 - y;
return [ Math.atan2(x, ρ0_y) / n, d3_asin((C - (x * x + ρ0_y * ρ0_y) * n * n) / (2 * n)) ];
};
return forward;
}
(d3.geo.conicEqualArea = function() {
return d3_geo_conic(d3_geo_conicEqualArea);
}).raw = d3_geo_conicEqualArea;
d3.geo.albers = function() {
return d3.geo.conicEqualArea().rotate([ 96, 0 ]).center([ -.6, 38.7 ]).parallels([ 29.5, 45.5 ]).scale(1070);
};
d3.geo.albersUsa = function() {
var lower48 = d3.geo.albers();
var alaska = d3.geo.conicEqualArea().rotate([ 154, 0 ]).center([ -2, 58.5 ]).parallels([ 55, 65 ]);
var hawaii = d3.geo.conicEqualArea().rotate([ 157, 0 ]).center([ -3, 19.9 ]).parallels([ 8, 18 ]);
var point, pointStream = {
point: function(x, y) {
point = [ x, y ];
}
}, lower48Point, alaskaPoint, hawaiiPoint;
function albersUsa(coordinates) {
var x = coordinates[0], y = coordinates[1];
point = null;
(lower48Point(x, y), point) || (alaskaPoint(x, y), point) || hawaiiPoint(x, y);
return point;
}
albersUsa.invert = function(coordinates) {
var k = lower48.scale(), t = lower48.translate(), x = (coordinates[0] - t[0]) / k, y = (coordinates[1] - t[1]) / k;
return (y >= .12 && y < .234 && x >= -.425 && x < -.214 ? alaska : y >= .166 && y < .234 && x >= -.214 && x < -.115 ? hawaii : lower48).invert(coordinates);
};
albersUsa.stream = function(stream) {
var lower48Stream = lower48.stream(stream), alaskaStream = alaska.stream(stream), hawaiiStream = hawaii.stream(stream);
return {
point: function(x, y) {
lower48Stream.point(x, y);
alaskaStream.point(x, y);
hawaiiStream.point(x, y);
},
sphere: function() {
lower48Stream.sphere();
alaskaStream.sphere();
hawaiiStream.sphere();
},
lineStart: function() {
lower48Stream.lineStart();
alaskaStream.lineStart();
hawaiiStream.lineStart();
},
lineEnd: function() {
lower48Stream.lineEnd();
alaskaStream.lineEnd();
hawaiiStream.lineEnd();
},
polygonStart: function() {
lower48Stream.polygonStart();
alaskaStream.polygonStart();
hawaiiStream.polygonStart();
},
polygonEnd: function() {
lower48Stream.polygonEnd();
alaskaStream.polygonEnd();
hawaiiStream.polygonEnd();
}
};
};
albersUsa.precision = function(_) {
if (!arguments.length) return lower48.precision();
lower48.precision(_);
alaska.precision(_);
hawaii.precision(_);
return albersUsa;
};
albersUsa.scale = function(_) {
if (!arguments.length) return lower48.scale();
lower48.scale(_);
alaska.scale(_ * .35);
hawaii.scale(_);
return albersUsa.translate(lower48.translate());
};
albersUsa.translate = function(_) {
if (!arguments.length) return lower48.translate();
var k = lower48.scale(), x = +_[0], y = +_[1];
lower48Point = lower48.translate(_).clipExtent([ [ x - .455 * k, y - .238 * k ], [ x + .455 * k, y + .238 * k ] ]).stream(pointStream).point;
alaskaPoint = alaska.translate([ x - .307 * k, y + .201 * k ]).clipExtent([ [ x - .425 * k + ε, y + .12 * k + ε ], [ x - .214 * k - ε, y + .234 * k - ε ] ]).stream(pointStream).point;
hawaiiPoint = hawaii.translate([ x - .205 * k, y + .212 * k ]).clipExtent([ [ x - .214 * k + ε, y + .166 * k + ε ], [ x - .115 * k - ε, y + .234 * k - ε ] ]).stream(pointStream).point;
return albersUsa;
};
return albersUsa.scale(1070);
};
var d3_geo_pathAreaSum, d3_geo_pathAreaPolygon, d3_geo_pathArea = {
point: d3_noop,
lineStart: d3_noop,
lineEnd: d3_noop,
polygonStart: function() {
d3_geo_pathAreaPolygon = 0;
d3_geo_pathArea.lineStart = d3_geo_pathAreaRingStart;
},
polygonEnd: function() {
d3_geo_pathArea.lineStart = d3_geo_pathArea.lineEnd = d3_geo_pathArea.point = d3_noop;
d3_geo_pathAreaSum += Math.abs(d3_geo_pathAreaPolygon / 2);
}
};
function d3_geo_pathAreaRingStart() {
var x00, y00, x0, y0;
d3_geo_pathArea.point = function(x, y) {
d3_geo_pathArea.point = nextPoint;
x00 = x0 = x, y00 = y0 = y;
};
function nextPoint(x, y) {
d3_geo_pathAreaPolygon += y0 * x - x0 * y;
x0 = x, y0 = y;
}
d3_geo_pathArea.lineEnd = function() {
nextPoint(x00, y00);
};
}
var d3_geo_pathBoundsX0, d3_geo_pathBoundsY0, d3_geo_pathBoundsX1, d3_geo_pathBoundsY1;
var d3_geo_pathBounds = {
point: d3_geo_pathBoundsPoint,
lineStart: d3_noop,
lineEnd: d3_noop,
polygonStart: d3_noop,
polygonEnd: d3_noop
};
function d3_geo_pathBoundsPoint(x, y) {
if (x < d3_geo_pathBoundsX0) d3_geo_pathBoundsX0 = x;
if (x > d3_geo_pathBoundsX1) d3_geo_pathBoundsX1 = x;
if (y < d3_geo_pathBoundsY0) d3_geo_pathBoundsY0 = y;
if (y > d3_geo_pathBoundsY1) d3_geo_pathBoundsY1 = y;
}
function d3_geo_pathBuffer() {
var pointCircle = d3_geo_pathBufferCircle(4.5), buffer = [];
var stream = {
point: point,
lineStart: function() {
stream.point = pointLineStart;
},
lineEnd: lineEnd,
polygonStart: function() {
stream.lineEnd = lineEndPolygon;
},
polygonEnd: function() {
stream.lineEnd = lineEnd;
stream.point = point;
},
pointRadius: function(_) {
pointCircle = d3_geo_pathBufferCircle(_);
return stream;
},
result: function() {
if (buffer.length) {
var result = buffer.join("");
buffer = [];
return result;
}
}
};
function point(x, y) {
buffer.push("M", x, ",", y, pointCircle);
}
function pointLineStart(x, y) {
buffer.push("M", x, ",", y);
stream.point = pointLine;
}
function pointLine(x, y) {
buffer.push("L", x, ",", y);
}
function lineEnd() {
stream.point = point;
}
function lineEndPolygon() {
buffer.push("Z");
}
return stream;
}
function d3_geo_pathBufferCircle(radius) {
return "m0," + radius + "a" + radius + "," + radius + " 0 1,1 0," + -2 * radius + "a" + radius + "," + radius + " 0 1,1 0," + 2 * radius + "z";
}
var d3_geo_pathCentroid = {
point: d3_geo_pathCentroidPoint,
lineStart: d3_geo_pathCentroidLineStart,
lineEnd: d3_geo_pathCentroidLineEnd,
polygonStart: function() {
d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidRingStart;
},
polygonEnd: function() {
d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint;
d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidLineStart;
d3_geo_pathCentroid.lineEnd = d3_geo_pathCentroidLineEnd;
}
};
function d3_geo_pathCentroidPoint(x, y) {
d3_geo_centroidX0 += x;
d3_geo_centroidY0 += y;
++d3_geo_centroidZ0;
}
function d3_geo_pathCentroidLineStart() {
var x0, y0;
d3_geo_pathCentroid.point = function(x, y) {
d3_geo_pathCentroid.point = nextPoint;
d3_geo_pathCentroidPoint(x0 = x, y0 = y);
};
function nextPoint(x, y) {
var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy);
d3_geo_centroidX1 += z * (x0 + x) / 2;
d3_geo_centroidY1 += z * (y0 + y) / 2;
d3_geo_centroidZ1 += z;
d3_geo_pathCentroidPoint(x0 = x, y0 = y);
}
}
function d3_geo_pathCentroidLineEnd() {
d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint;
}
function d3_geo_pathCentroidRingStart() {
var x00, y00, x0, y0;
d3_geo_pathCentroid.point = function(x, y) {
d3_geo_pathCentroid.point = nextPoint;
d3_geo_pathCentroidPoint(x00 = x0 = x, y00 = y0 = y);
};
function nextPoint(x, y) {
var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy);
d3_geo_centroidX1 += z * (x0 + x) / 2;
d3_geo_centroidY1 += z * (y0 + y) / 2;
d3_geo_centroidZ1 += z;
z = y0 * x - x0 * y;
d3_geo_centroidX2 += z * (x0 + x);
d3_geo_centroidY2 += z * (y0 + y);
d3_geo_centroidZ2 += z * 3;
d3_geo_pathCentroidPoint(x0 = x, y0 = y);
}
d3_geo_pathCentroid.lineEnd = function() {
nextPoint(x00, y00);
};
}
function d3_geo_pathContext(context) {
var pointRadius = 4.5;
var stream = {
point: point,
lineStart: function() {
stream.point = pointLineStart;
},
lineEnd: lineEnd,
polygonStart: function() {
stream.lineEnd = lineEndPolygon;
},
polygonEnd: function() {
stream.lineEnd = lineEnd;
stream.point = point;
},
pointRadius: function(_) {
pointRadius = _;
return stream;
},
result: d3_noop
};
function point(x, y) {
context.moveTo(x, y);
context.arc(x, y, pointRadius, 0, 2 * π);
}
function pointLineStart(x, y) {
context.moveTo(x, y);
stream.point = pointLine;
}
function pointLine(x, y) {
context.lineTo(x, y);
}
function lineEnd() {
stream.point = point;
}
function lineEndPolygon() {
context.closePath();
}
return stream;
}
function d3_geo_resample(project) {
var δ2 = .5, cosMinDistance = Math.cos(30 * d3_radians), maxDepth = 16;
function resample(stream) {
var λ00, φ00, x00, y00, a00, b00, c00, λ0, x0, y0, a0, b0, c0;
var resample = {
point: point,
lineStart: lineStart,
lineEnd: lineEnd,
polygonStart: function() {
stream.polygonStart();
resample.lineStart = ringStart;
},
polygonEnd: function() {
stream.polygonEnd();
resample.lineStart = lineStart;
}
};
function point(x, y) {
x = project(x, y);
stream.point(x[0], x[1]);
}
function lineStart() {
x0 = NaN;
resample.point = linePoint;
stream.lineStart();
}
function linePoint(λ, φ) {
var c = d3_geo_cartesian([ λ, φ ]), p = project(λ, φ);
resampleLineTo(x0, y0, λ0, a0, b0, c0, x0 = p[0], y0 = p[1], λ0 = λ, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream);
stream.point(x0, y0);
}
function lineEnd() {
resample.point = point;
stream.lineEnd();
}
function ringStart() {
lineStart();
resample.point = ringPoint;
resample.lineEnd = ringEnd;
}
function ringPoint(λ, φ) {
linePoint(λ00 = λ, φ00 = φ), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0;
resample.point = linePoint;
}
function ringEnd() {
resampleLineTo(x0, y0, λ0, a0, b0, c0, x00, y00, λ00, a00, b00, c00, maxDepth, stream);
resample.lineEnd = lineEnd;
lineEnd();
}
return resample;
}
function resampleLineTo(x0, y0, λ0, a0, b0, c0, x1, y1, λ1, a1, b1, c1, depth, stream) {
var dx = x1 - x0, dy = y1 - y0, d2 = dx * dx + dy * dy;
if (d2 > 4 * δ2 && depth--) {
var a = a0 + a1, b = b0 + b1, c = c0 + c1, m = Math.sqrt(a * a + b * b + c * c), φ2 = Math.asin(c /= m), λ2 = Math.abs(Math.abs(c) - 1) < ε ? (λ0 + λ1) / 2 : Math.atan2(b, a), p = project(λ2, φ2), x2 = p[0], y2 = p[1], dx2 = x2 - x0, dy2 = y2 - y0, dz = dy * dx2 - dx * dy2;
if (dz * dz / d2 > δ2 || Math.abs((dx * dx2 + dy * dy2) / d2 - .5) > .3 || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) {
resampleLineTo(x0, y0, λ0, a0, b0, c0, x2, y2, λ2, a /= m, b /= m, c, depth, stream);
stream.point(x2, y2);
resampleLineTo(x2, y2, λ2, a, b, c, x1, y1, λ1, a1, b1, c1, depth, stream);
}
}
}
resample.precision = function(_) {
if (!arguments.length) return Math.sqrt(δ2);
maxDepth = (δ2 = _ * _) > 0 && 16;
return resample;
};
return resample;
}
d3.geo.path = function() {
var pointRadius = 4.5, projection, context, projectStream, contextStream, cacheStream;
function path(object) {
if (object) {
if (typeof pointRadius === "function") contextStream.pointRadius(+pointRadius.apply(this, arguments));
if (!cacheStream || !cacheStream.valid) cacheStream = projectStream(contextStream);
d3.geo.stream(object, cacheStream);
}
return contextStream.result();
}
path.area = function(object) {
d3_geo_pathAreaSum = 0;
d3.geo.stream(object, projectStream(d3_geo_pathArea));
return d3_geo_pathAreaSum;
};
path.centroid = function(object) {
d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 = d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 = d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0;
d3.geo.stream(object, projectStream(d3_geo_pathCentroid));
return d3_geo_centroidZ2 ? [ d3_geo_centroidX2 / d3_geo_centroidZ2, d3_geo_centroidY2 / d3_geo_centroidZ2 ] : d3_geo_centroidZ1 ? [ d3_geo_centroidX1 / d3_geo_centroidZ1, d3_geo_centroidY1 / d3_geo_centroidZ1 ] : d3_geo_centroidZ0 ? [ d3_geo_centroidX0 / d3_geo_centroidZ0, d3_geo_centroidY0 / d3_geo_centroidZ0 ] : [ NaN, NaN ];
};
path.bounds = function(object) {
d3_geo_pathBoundsX1 = d3_geo_pathBoundsY1 = -(d3_geo_pathBoundsX0 = d3_geo_pathBoundsY0 = Infinity);
d3.geo.stream(object, projectStream(d3_geo_pathBounds));
return [ [ d3_geo_pathBoundsX0, d3_geo_pathBoundsY0 ], [ d3_geo_pathBoundsX1, d3_geo_pathBoundsY1 ] ];
};
path.projection = function(_) {
if (!arguments.length) return projection;
projectStream = (projection = _) ? _.stream || d3_geo_pathProjectStream(_) : d3_identity;
return reset();
};
path.context = function(_) {
if (!arguments.length) return context;
contextStream = (context = _) == null ? new d3_geo_pathBuffer() : new d3_geo_pathContext(_);
if (typeof pointRadius !== "function") contextStream.pointRadius(pointRadius);
return reset();
};
path.pointRadius = function(_) {
if (!arguments.length) return pointRadius;
pointRadius = typeof _ === "function" ? _ : (contextStream.pointRadius(+_), +_);
return path;
};
function reset() {
cacheStream = null;
return path;
}
return path.projection(d3.geo.albersUsa()).context(null);
};
function d3_geo_pathProjectStream(project) {
var resample = d3_geo_resample(function(λ, φ) {
return project([ λ * d3_degrees, φ * d3_degrees ]);
});
return function(stream) {
stream = resample(stream);
return {
point: function(λ, φ) {
stream.point(λ * d3_radians, φ * d3_radians);
},
sphere: function() {
stream.sphere();
},
lineStart: function() {
stream.lineStart();
},
lineEnd: function() {
stream.lineEnd();
},
polygonStart: function() {
stream.polygonStart();
},
polygonEnd: function() {
stream.polygonEnd();
}
};
};
}
d3.geo.projection = d3_geo_projection;
d3.geo.projectionMutator = d3_geo_projectionMutator;
function d3_geo_projection(project) {
return d3_geo_projectionMutator(function() {
return project;
})();
}
function d3_geo_projectionMutator(projectAt) {
var project, rotate, projectRotate, projectResample = d3_geo_resample(function(x, y) {
x = project(x, y);
return [ x[0] * k + δx, δy - x[1] * k ];
}), k = 150, x = 480, y = 250, λ = 0, φ = 0, δλ = 0, δφ = 0, δγ = 0, δx, δy, preclip = d3_geo_clipAntimeridian, postclip = d3_identity, clipAngle = null, clipExtent = null, stream;
function projection(point) {
point = projectRotate(point[0] * d3_radians, point[1] * d3_radians);
return [ point[0] * k + δx, δy - point[1] * k ];
}
function invert(point) {
point = projectRotate.invert((point[0] - δx) / k, (δy - point[1]) / k);
return point && [ point[0] * d3_degrees, point[1] * d3_degrees ];
}
projection.stream = function(output) {
if (stream) stream.valid = false;
stream = d3_geo_projectionRadiansRotate(rotate, preclip(projectResample(postclip(output))));
stream.valid = true;
return stream;
};
projection.clipAngle = function(_) {
if (!arguments.length) return clipAngle;
preclip = _ == null ? (clipAngle = _, d3_geo_clipAntimeridian) : d3_geo_clipCircle((clipAngle = +_) * d3_radians);
return invalidate();
};
projection.clipExtent = function(_) {
if (!arguments.length) return clipExtent;
clipExtent = _;
postclip = _ == null ? d3_identity : d3_geo_clipView(_[0][0], _[0][1], _[1][0], _[1][1]);
return invalidate();
};
projection.scale = function(_) {
if (!arguments.length) return k;
k = +_;
return reset();
};
projection.translate = function(_) {
if (!arguments.length) return [ x, y ];
x = +_[0];
y = +_[1];
return reset();
};
projection.center = function(_) {
if (!arguments.length) return [ λ * d3_degrees, φ * d3_degrees ];
λ = _[0] % 360 * d3_radians;
φ = _[1] % 360 * d3_radians;
return reset();
};
projection.rotate = function(_) {
if (!arguments.length) return [ δλ * d3_degrees, δφ * d3_degrees, δγ * d3_degrees ];
δλ = _[0] % 360 * d3_radians;
δφ = _[1] % 360 * d3_radians;
δγ = _.length > 2 ? _[2] % 360 * d3_radians : 0;
return reset();
};
d3.rebind(projection, projectResample, "precision");
function reset() {
projectRotate = d3_geo_compose(rotate = d3_geo_rotation(δλ, δφ, δγ), project);
var center = project(λ, φ);
δx = x - center[0] * k;
δy = y + center[1] * k;
return invalidate();
}
function invalidate() {
if (stream) {
stream.valid = false;
stream = null;
}
return projection;
}
return function() {
project = projectAt.apply(this, arguments);
projection.invert = project.invert && invert;
return reset();
};
}
function d3_geo_projectionRadiansRotate(rotate, stream) {
return {
point: function(x, y) {
y = rotate(x * d3_radians, y * d3_radians), x = y[0];
stream.point(x > π ? x - 2 * π : x < -π ? x + 2 * π : x, y[1]);
},
sphere: function() {
stream.sphere();
},
lineStart: function() {
stream.lineStart();
},
lineEnd: function() {
stream.lineEnd();
},
polygonStart: function() {
stream.polygonStart();
},
polygonEnd: function() {
stream.polygonEnd();
}
};
}
function d3_geo_equirectangular(λ, φ) {
return [ λ, φ ];
}
(d3.geo.equirectangular = function() {
return d3_geo_projection(d3_geo_equirectangular);
}).raw = d3_geo_equirectangular.invert = d3_geo_equirectangular;
d3.geo.rotation = function(rotate) {
rotate = d3_geo_rotation(rotate[0] % 360 * d3_radians, rotate[1] * d3_radians, rotate.length > 2 ? rotate[2] * d3_radians : 0);
function forward(coordinates) {
coordinates = rotate(coordinates[0] * d3_radians, coordinates[1] * d3_radians);
return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates;
}
forward.invert = function(coordinates) {
coordinates = rotate.invert(coordinates[0] * d3_radians, coordinates[1] * d3_radians);
return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates;
};
return forward;
};
function d3_geo_rotation(δλ, δφ, δγ) {
return δλ ? δφ || δγ ? d3_geo_compose(d3_geo_rotationλ(δλ), d3_geo_rotationφγ(δφ, δγ)) : d3_geo_rotationλ(δλ) : δφ || δγ ? d3_geo_rotationφγ(δφ, δγ) : d3_geo_equirectangular;
}
function d3_geo_forwardRotationλ(δλ) {
return function(λ, φ) {
return λ += δλ, [ λ > π ? λ - 2 * π : λ < -π ? λ + 2 * π : λ, φ ];
};
}
function d3_geo_rotationλ(δλ) {
var rotation = d3_geo_forwardRotationλ(δλ);
rotation.invert = d3_geo_forwardRotationλ(-δλ);
return rotation;
}
function d3_geo_rotationφγ(δφ, δγ) {
var cosδφ = Math.cos(δφ), sinδφ = Math.sin(δφ), cosδγ = Math.cos(δγ), sinδγ = Math.sin(δγ);
function rotation(λ, φ) {
var cosφ = Math.cos(φ), x = Math.cos(λ) * cosφ, y = Math.sin(λ) * cosφ, z = Math.sin(φ), k = z * cosδφ + x * sinδφ;
return [ Math.atan2(y * cosδγ - k * sinδγ, x * cosδφ - z * sinδφ), d3_asin(k * cosδγ + y * sinδγ) ];
}
rotation.invert = function(λ, φ) {
var cosφ = Math.cos(φ), x = Math.cos(λ) * cosφ, y = Math.sin(λ) * cosφ, z = Math.sin(φ), k = z * cosδγ - y * sinδγ;
return [ Math.atan2(y * cosδγ + z * sinδγ, x * cosδφ + k * sinδφ), d3_asin(k * cosδφ - x * sinδφ) ];
};
return rotation;
}
d3.geo.circle = function() {
var origin = [ 0, 0 ], angle, precision = 6, interpolate;
function circle() {
var center = typeof origin === "function" ? origin.apply(this, arguments) : origin, rotate = d3_geo_rotation(-center[0] * d3_radians, -center[1] * d3_radians, 0).invert, ring = [];
interpolate(null, null, 1, {
point: function(x, y) {
ring.push(x = rotate(x, y));
x[0] *= d3_degrees, x[1] *= d3_degrees;
}
});
return {
type: "Polygon",
coordinates: [ ring ]
};
}
circle.origin = function(x) {
if (!arguments.length) return origin;
origin = x;
return circle;
};
circle.angle = function(x) {
if (!arguments.length) return angle;
interpolate = d3_geo_circleInterpolate((angle = +x) * d3_radians, precision * d3_radians);
return circle;
};
circle.precision = function(_) {
if (!arguments.length) return precision;
interpolate = d3_geo_circleInterpolate(angle * d3_radians, (precision = +_) * d3_radians);
return circle;
};
return circle.angle(90);
};
function d3_geo_circleInterpolate(radius, precision) {
var cr = Math.cos(radius), sr = Math.sin(radius);
return function(from, to, direction, listener) {
if (from != null) {
from = d3_geo_circleAngle(cr, from);
to = d3_geo_circleAngle(cr, to);
if (direction > 0 ? from < to : from > to) from += direction * 2 * π;
} else {
from = radius + direction * 2 * π;
to = radius;
}
var point;
for (var step = direction * precision, t = from; direction > 0 ? t > to : t < to; t -= step) {
listener.point((point = d3_geo_spherical([ cr, -sr * Math.cos(t), -sr * Math.sin(t) ]))[0], point[1]);
}
};
}
function d3_geo_circleAngle(cr, point) {
var a = d3_geo_cartesian(point);
a[0] -= cr;
d3_geo_cartesianNormalize(a);
var angle = d3_acos(-a[1]);
return ((-a[2] < 0 ? -angle : angle) + 2 * Math.PI - ε) % (2 * Math.PI);
}
d3.geo.distance = function(a, b) {
var Δλ = (b[0] - a[0]) * d3_radians, φ0 = a[1] * d3_radians, φ1 = b[1] * d3_radians, sinΔλ = Math.sin(Δλ), cosΔλ = Math.cos(Δλ), sinφ0 = Math.sin(φ0), cosφ0 = Math.cos(φ0), sinφ1 = Math.sin(φ1), cosφ1 = Math.cos(φ1), t;
return Math.atan2(Math.sqrt((t = cosφ1 * sinΔλ) * t + (t = cosφ0 * sinφ1 - sinφ0 * cosφ1 * cosΔλ) * t), sinφ0 * sinφ1 + cosφ0 * cosφ1 * cosΔλ);
};
d3.geo.graticule = function() {
var x1, x0, X1, X0, y1, y0, Y1, Y0, dx = 10, dy = dx, DX = 90, DY = 360, x, y, X, Y, precision = 2.5;
function graticule() {
return {
type: "MultiLineString",
coordinates: lines()
};
}
function lines() {
return d3.range(Math.ceil(X0 / DX) * DX, X1, DX).map(X).concat(d3.range(Math.ceil(Y0 / DY) * DY, Y1, DY).map(Y)).concat(d3.range(Math.ceil(x0 / dx) * dx, x1, dx).filter(function(x) {
return Math.abs(x % DX) > ε;
}).map(x)).concat(d3.range(Math.ceil(y0 / dy) * dy, y1, dy).filter(function(y) {
return Math.abs(y % DY) > ε;
}).map(y));
}
graticule.lines = function() {
return lines().map(function(coordinates) {
return {
type: "LineString",
coordinates: coordinates
};
});
};
graticule.outline = function() {
return {
type: "Polygon",
coordinates: [ X(X0).concat(Y(Y1).slice(1), X(X1).reverse().slice(1), Y(Y0).reverse().slice(1)) ]
};
};
graticule.extent = function(_) {
if (!arguments.length) return graticule.minorExtent();
return graticule.majorExtent(_).minorExtent(_);
};
graticule.majorExtent = function(_) {
if (!arguments.length) return [ [ X0, Y0 ], [ X1, Y1 ] ];
X0 = +_[0][0], X1 = +_[1][0];
Y0 = +_[0][1], Y1 = +_[1][1];
if (X0 > X1) _ = X0, X0 = X1, X1 = _;
if (Y0 > Y1) _ = Y0, Y0 = Y1, Y1 = _;
return graticule.precision(precision);
};
graticule.minorExtent = function(_) {
if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ];
x0 = +_[0][0], x1 = +_[1][0];
y0 = +_[0][1], y1 = +_[1][1];
if (x0 > x1) _ = x0, x0 = x1, x1 = _;
if (y0 > y1) _ = y0, y0 = y1, y1 = _;
return graticule.precision(precision);
};
graticule.step = function(_) {
if (!arguments.length) return graticule.minorStep();
return graticule.majorStep(_).minorStep(_);
};
graticule.majorStep = function(_) {
if (!arguments.length) return [ DX, DY ];
DX = +_[0], DY = +_[1];
return graticule;
};
graticule.minorStep = function(_) {
if (!arguments.length) return [ dx, dy ];
dx = +_[0], dy = +_[1];
return graticule;
};
graticule.precision = function(_) {
if (!arguments.length) return precision;
precision = +_;
x = d3_geo_graticuleX(y0, y1, 90);
y = d3_geo_graticuleY(x0, x1, precision);
X = d3_geo_graticuleX(Y0, Y1, 90);
Y = d3_geo_graticuleY(X0, X1, precision);
return graticule;
};
return graticule.majorExtent([ [ -180, -90 + ε ], [ 180, 90 - ε ] ]).minorExtent([ [ -180, -80 - ε ], [ 180, 80 + ε ] ]);
};
function d3_geo_graticuleX(y0, y1, dy) {
var y = d3.range(y0, y1 - ε, dy).concat(y1);
return function(x) {
return y.map(function(y) {
return [ x, y ];
});
};
}
function d3_geo_graticuleY(x0, x1, dx) {
var x = d3.range(x0, x1 - ε, dx).concat(x1);
return function(y) {
return x.map(function(x) {
return [ x, y ];
});
};
}
function d3_source(d) {
return d.source;
}
function d3_target(d) {
return d.target;
}
d3.geo.greatArc = function() {
var source = d3_source, source_, target = d3_target, target_;
function greatArc() {
return {
type: "LineString",
coordinates: [ source_ || source.apply(this, arguments), target_ || target.apply(this, arguments) ]
};
}
greatArc.distance = function() {
return d3.geo.distance(source_ || source.apply(this, arguments), target_ || target.apply(this, arguments));
};
greatArc.source = function(_) {
if (!arguments.length) return source;
source = _, source_ = typeof _ === "function" ? null : _;
return greatArc;
};
greatArc.target = function(_) {
if (!arguments.length) return target;
target = _, target_ = typeof _ === "function" ? null : _;
return greatArc;
};
greatArc.precision = function() {
return arguments.length ? greatArc : 0;
};
return greatArc;
};
d3.geo.interpolate = function(source, target) {
return d3_geo_interpolate(source[0] * d3_radians, source[1] * d3_radians, target[0] * d3_radians, target[1] * d3_radians);
};
function d3_geo_interpolate(x0, y0, x1, y1) {
var cy0 = Math.cos(y0), sy0 = Math.sin(y0), cy1 = Math.cos(y1), sy1 = Math.sin(y1), kx0 = cy0 * Math.cos(x0), ky0 = cy0 * Math.sin(x0), kx1 = cy1 * Math.cos(x1), ky1 = cy1 * Math.sin(x1), d = 2 * Math.asin(Math.sqrt(d3_haversin(y1 - y0) + cy0 * cy1 * d3_haversin(x1 - x0))), k = 1 / Math.sin(d);
var interpolate = d ? function(t) {
var B = Math.sin(t *= d) * k, A = Math.sin(d - t) * k, x = A * kx0 + B * kx1, y = A * ky0 + B * ky1, z = A * sy0 + B * sy1;
return [ Math.atan2(y, x) * d3_degrees, Math.atan2(z, Math.sqrt(x * x + y * y)) * d3_degrees ];
} : function() {
return [ x0 * d3_degrees, y0 * d3_degrees ];
};
interpolate.distance = d;
return interpolate;
}
d3.geo.length = function(object) {
d3_geo_lengthSum = 0;
d3.geo.stream(object, d3_geo_length);
return d3_geo_lengthSum;
};
var d3_geo_lengthSum;
var d3_geo_length = {
sphere: d3_noop,
point: d3_noop,
lineStart: d3_geo_lengthLineStart,
lineEnd: d3_noop,
polygonStart: d3_noop,
polygonEnd: d3_noop
};
function d3_geo_lengthLineStart() {
var λ0, sinφ0, cosφ0;
d3_geo_length.point = function(λ, φ) {
λ0 = λ * d3_radians, sinφ0 = Math.sin(φ *= d3_radians), cosφ0 = Math.cos(φ);
d3_geo_length.point = nextPoint;
};
d3_geo_length.lineEnd = function() {
d3_geo_length.point = d3_geo_length.lineEnd = d3_noop;
};
function nextPoint(λ, φ) {
var sinφ = Math.sin(φ *= d3_radians), cosφ = Math.cos(φ), t = Math.abs((λ *= d3_radians) - λ0), cosΔλ = Math.cos(t);
d3_geo_lengthSum += Math.atan2(Math.sqrt((t = cosφ * Math.sin(t)) * t + (t = cosφ0 * sinφ - sinφ0 * cosφ * cosΔλ) * t), sinφ0 * sinφ + cosφ0 * cosφ * cosΔλ);
λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ;
}
}
function d3_geo_azimuthal(scale, angle) {
function azimuthal(λ, φ) {
var cosλ = Math.cos(λ), cosφ = Math.cos(φ), k = scale(cosλ * cosφ);
return [ k * cosφ * Math.sin(λ), k * Math.sin(φ) ];
}
azimuthal.invert = function(x, y) {
var ρ = Math.sqrt(x * x + y * y), c = angle(ρ), sinc = Math.sin(c), cosc = Math.cos(c);
return [ Math.atan2(x * sinc, ρ * cosc), Math.asin(ρ && y * sinc / ρ) ];
};
return azimuthal;
}
var d3_geo_azimuthalEqualArea = d3_geo_azimuthal(function(cosλcosφ) {
return Math.sqrt(2 / (1 + cosλcosφ));
}, function(ρ) {
return 2 * Math.asin(ρ / 2);
});
(d3.geo.azimuthalEqualArea = function() {
return d3_geo_projection(d3_geo_azimuthalEqualArea);
}).raw = d3_geo_azimuthalEqualArea;
var d3_geo_azimuthalEquidistant = d3_geo_azimuthal(function(cosλcosφ) {
var c = Math.acos(cosλcosφ);
return c && c / Math.sin(c);
}, d3_identity);
(d3.geo.azimuthalEquidistant = function() {
return d3_geo_projection(d3_geo_azimuthalEquidistant);
}).raw = d3_geo_azimuthalEquidistant;
function d3_geo_conicConformal(φ0, φ1) {
var cosφ0 = Math.cos(φ0), t = function(φ) {
return Math.tan(π / 4 + φ / 2);
}, n = φ0 === φ1 ? Math.sin(φ0) : Math.log(cosφ0 / Math.cos(φ1)) / Math.log(t(φ1) / t(φ0)), F = cosφ0 * Math.pow(t(φ0), n) / n;
if (!n) return d3_geo_mercator;
function forward(λ, φ) {
var ρ = Math.abs(Math.abs(φ) - π / 2) < ε ? 0 : F / Math.pow(t(φ), n);
return [ ρ * Math.sin(n * λ), F - ρ * Math.cos(n * λ) ];
}
forward.invert = function(x, y) {
var ρ0_y = F - y, ρ = d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y);
return [ Math.atan2(x, ρ0_y) / n, 2 * Math.atan(Math.pow(F / ρ, 1 / n)) - π / 2 ];
};
return forward;
}
(d3.geo.conicConformal = function() {
return d3_geo_conic(d3_geo_conicConformal);
}).raw = d3_geo_conicConformal;
function d3_geo_conicEquidistant(φ0, φ1) {
var cosφ0 = Math.cos(φ0), n = φ0 === φ1 ? Math.sin(φ0) : (cosφ0 - Math.cos(φ1)) / (φ1 - φ0), G = cosφ0 / n + φ0;
if (Math.abs(n) < ε) return d3_geo_equirectangular;
function forward(λ, φ) {
var ρ = G - φ;
return [ ρ * Math.sin(n * λ), G - ρ * Math.cos(n * λ) ];
}
forward.invert = function(x, y) {
var ρ0_y = G - y;
return [ Math.atan2(x, ρ0_y) / n, G - d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y) ];
};
return forward;
}
(d3.geo.conicEquidistant = function() {
return d3_geo_conic(d3_geo_conicEquidistant);
}).raw = d3_geo_conicEquidistant;
var d3_geo_gnomonic = d3_geo_azimuthal(function(cosλcosφ) {
return 1 / cosλcosφ;
}, Math.atan);
(d3.geo.gnomonic = function() {
return d3_geo_projection(d3_geo_gnomonic);
}).raw = d3_geo_gnomonic;
function d3_geo_mercator(λ, φ) {
return [ λ, Math.log(Math.tan(π / 4 + φ / 2)) ];
}
d3_geo_mercator.invert = function(x, y) {
return [ x, 2 * Math.atan(Math.exp(y)) - π / 2 ];
};
function d3_geo_mercatorProjection(project) {
var m = d3_geo_projection(project), scale = m.scale, translate = m.translate, clipExtent = m.clipExtent, clipAuto;
m.scale = function() {
var v = scale.apply(m, arguments);
return v === m ? clipAuto ? m.clipExtent(null) : m : v;
};
m.translate = function() {
var v = translate.apply(m, arguments);
return v === m ? clipAuto ? m.clipExtent(null) : m : v;
};
m.clipExtent = function(_) {
var v = clipExtent.apply(m, arguments);
if (v === m) {
if (clipAuto = _ == null) {
var k = π * scale(), t = translate();
clipExtent([ [ t[0] - k, t[1] - k ], [ t[0] + k, t[1] + k ] ]);
}
} else if (clipAuto) {
v = null;
}
return v;
};
return m.clipExtent(null);
}
(d3.geo.mercator = function() {
return d3_geo_mercatorProjection(d3_geo_mercator);
}).raw = d3_geo_mercator;
var d3_geo_orthographic = d3_geo_azimuthal(function() {
return 1;
}, Math.asin);
(d3.geo.orthographic = function() {
return d3_geo_projection(d3_geo_orthographic);
}).raw = d3_geo_orthographic;
var d3_geo_stereographic = d3_geo_azimuthal(function(cosλcosφ) {
return 1 / (1 + cosλcosφ);
}, function(ρ) {
return 2 * Math.atan(ρ);
});
(d3.geo.stereographic = function() {
return d3_geo_projection(d3_geo_stereographic);
}).raw = d3_geo_stereographic;
function d3_geo_transverseMercator(λ, φ) {
var B = Math.cos(φ) * Math.sin(λ);
return [ Math.log((1 + B) / (1 - B)) / 2, Math.atan2(Math.tan(φ), Math.cos(λ)) ];
}
d3_geo_transverseMercator.invert = function(x, y) {
return [ Math.atan2(d3_sinh(x), Math.cos(y)), d3_asin(Math.sin(y) / d3_cosh(x)) ];
};
(d3.geo.transverseMercator = function() {
return d3_geo_mercatorProjection(d3_geo_transverseMercator);
}).raw = d3_geo_transverseMercator;
d3.geom = {};
d3.svg = {};
function d3_svg_line(projection) {
var x = d3_svg_lineX, y = d3_svg_lineY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, tension = .7;
function line(data) {
var segments = [], points = [], i = -1, n = data.length, d, fx = d3_functor(x), fy = d3_functor(y);
function segment() {
segments.push("M", interpolate(projection(points), tension));
}
while (++i < n) {
if (defined.call(this, d = data[i], i)) {
points.push([ +fx.call(this, d, i), +fy.call(this, d, i) ]);
} else if (points.length) {
segment();
points = [];
}
}
if (points.length) segment();
return segments.length ? segments.join("") : null;
}
line.x = function(_) {
if (!arguments.length) return x;
x = _;
return line;
};
line.y = function(_) {
if (!arguments.length) return y;
y = _;
return line;
};
line.defined = function(_) {
if (!arguments.length) return defined;
defined = _;
return line;
};
line.interpolate = function(_) {
if (!arguments.length) return interpolateKey;
if (typeof _ === "function") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key;
return line;
};
line.tension = function(_) {
if (!arguments.length) return tension;
tension = _;
return line;
};
return line;
}
d3.svg.line = function() {
return d3_svg_line(d3_identity);
};
function d3_svg_lineX(d) {
return d[0];
}
function d3_svg_lineY(d) {
return d[1];
}
var d3_svg_lineInterpolators = d3.map({
linear: d3_svg_lineLinear,
"linear-closed": d3_svg_lineLinearClosed,
step: d3_svg_lineStep,
"step-before": d3_svg_lineStepBefore,
"step-after": d3_svg_lineStepAfter,
basis: d3_svg_lineBasis,
"basis-open": d3_svg_lineBasisOpen,
"basis-closed": d3_svg_lineBasisClosed,
bundle: d3_svg_lineBundle,
cardinal: d3_svg_lineCardinal,
"cardinal-open": d3_svg_lineCardinalOpen,
"cardinal-closed": d3_svg_lineCardinalClosed,
monotone: d3_svg_lineMonotone
});
d3_svg_lineInterpolators.forEach(function(key, value) {
value.key = key;
value.closed = /-closed$/.test(key);
});
function d3_svg_lineLinear(points) {
return points.join("L");
}
function d3_svg_lineLinearClosed(points) {
return d3_svg_lineLinear(points) + "Z";
}
function d3_svg_lineStep(points) {
var i = 0, n = points.length, p = points[0], path = [ p[0], ",", p[1] ];
while (++i < n) path.push("H", (p[0] + (p = points[i])[0]) / 2, "V", p[1]);
if (n > 1) path.push("H", p[0]);
return path.join("");
}
function d3_svg_lineStepBefore(points) {
var i = 0, n = points.length, p = points[0], path = [ p[0], ",", p[1] ];
while (++i < n) path.push("V", (p = points[i])[1], "H", p[0]);
return path.join("");
}
function d3_svg_lineStepAfter(points) {
var i = 0, n = points.length, p = points[0], path = [ p[0], ",", p[1] ];
while (++i < n) path.push("H", (p = points[i])[0], "V", p[1]);
return path.join("");
}
function d3_svg_lineCardinalOpen(points, tension) {
return points.length < 4 ? d3_svg_lineLinear(points) : points[1] + d3_svg_lineHermite(points.slice(1, points.length - 1), d3_svg_lineCardinalTangents(points, tension));
}
function d3_svg_lineCardinalClosed(points, tension) {
return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite((points.push(points[0]),
points), d3_svg_lineCardinalTangents([ points[points.length - 2] ].concat(points, [ points[1] ]), tension));
}
function d3_svg_lineCardinal(points, tension) {
return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineCardinalTangents(points, tension));
}
function d3_svg_lineHermite(points, tangents) {
if (tangents.length < 1 || points.length != tangents.length && points.length != tangents.length + 2) {
return d3_svg_lineLinear(points);
}
var quad = points.length != tangents.length, path = "", p0 = points[0], p = points[1], t0 = tangents[0], t = t0, pi = 1;
if (quad) {
path += "Q" + (p[0] - t0[0] * 2 / 3) + "," + (p[1] - t0[1] * 2 / 3) + "," + p[0] + "," + p[1];
p0 = points[1];
pi = 2;
}
if (tangents.length > 1) {
t = tangents[1];
p = points[pi];
pi++;
path += "C" + (p0[0] + t0[0]) + "," + (p0[1] + t0[1]) + "," + (p[0] - t[0]) + "," + (p[1] - t[1]) + "," + p[0] + "," + p[1];
for (var i = 2; i < tangents.length; i++, pi++) {
p = points[pi];
t = tangents[i];
path += "S" + (p[0] - t[0]) + "," + (p[1] - t[1]) + "," + p[0] + "," + p[1];
}
}
if (quad) {
var lp = points[pi];
path += "Q" + (p[0] + t[0] * 2 / 3) + "," + (p[1] + t[1] * 2 / 3) + "," + lp[0] + "," + lp[1];
}
return path;
}
function d3_svg_lineCardinalTangents(points, tension) {
var tangents = [], a = (1 - tension) / 2, p0, p1 = points[0], p2 = points[1], i = 1, n = points.length;
while (++i < n) {
p0 = p1;
p1 = p2;
p2 = points[i];
tangents.push([ a * (p2[0] - p0[0]), a * (p2[1] - p0[1]) ]);
}
return tangents;
}
function d3_svg_lineBasis(points) {
if (points.length < 3) return d3_svg_lineLinear(points);
var i = 1, n = points.length, pi = points[0], x0 = pi[0], y0 = pi[1], px = [ x0, x0, x0, (pi = points[1])[0] ], py = [ y0, y0, y0, pi[1] ], path = [ x0, ",", y0 ];
d3_svg_lineBasisBezier(path, px, py);
while (++i < n) {
pi = points[i];
px.shift();
px.push(pi[0]);
py.shift();
py.push(pi[1]);
d3_svg_lineBasisBezier(path, px, py);
}
i = -1;
while (++i < 2) {
px.shift();
px.push(pi[0]);
py.shift();
py.push(pi[1]);
d3_svg_lineBasisBezier(path, px, py);
}
return path.join("");
}
function d3_svg_lineBasisOpen(points) {
if (points.length < 4) return d3_svg_lineLinear(points);
var path = [], i = -1, n = points.length, pi, px = [ 0 ], py = [ 0 ];
while (++i < 3) {
pi = points[i];
px.push(pi[0]);
py.push(pi[1]);
}
path.push(d3_svg_lineDot4(d3_svg_lineBasisBezier3, px) + "," + d3_svg_lineDot4(d3_svg_lineBasisBezier3, py));
--i;
while (++i < n) {
pi = points[i];
px.shift();
px.push(pi[0]);
py.shift();
py.push(pi[1]);
d3_svg_lineBasisBezier(path, px, py);
}
return path.join("");
}
function d3_svg_lineBasisClosed(points) {
var path, i = -1, n = points.length, m = n + 4, pi, px = [], py = [];
while (++i < 4) {
pi = points[i % n];
px.push(pi[0]);
py.push(pi[1]);
}
path = [ d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ];
--i;
while (++i < m) {
pi = points[i % n];
px.shift();
px.push(pi[0]);
py.shift();
py.push(pi[1]);
d3_svg_lineBasisBezier(path, px, py);
}
return path.join("");
}
function d3_svg_lineBundle(points, tension) {
var n = points.length - 1;
if (n) {
var x0 = points[0][0], y0 = points[0][1], dx = points[n][0] - x0, dy = points[n][1] - y0, i = -1, p, t;
while (++i <= n) {
p = points[i];
t = i / n;
p[0] = tension * p[0] + (1 - tension) * (x0 + t * dx);
p[1] = tension * p[1] + (1 - tension) * (y0 + t * dy);
}
}
return d3_svg_lineBasis(points);
}
function d3_svg_lineDot4(a, b) {
return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3];
}
var d3_svg_lineBasisBezier1 = [ 0, 2 / 3, 1 / 3, 0 ], d3_svg_lineBasisBezier2 = [ 0, 1 / 3, 2 / 3, 0 ], d3_svg_lineBasisBezier3 = [ 0, 1 / 6, 2 / 3, 1 / 6 ];
function d3_svg_lineBasisBezier(path, x, y) {
path.push("C", d3_svg_lineDot4(d3_svg_lineBasisBezier1, x), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier1, y), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier2, x), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier2, y), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, x), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, y));
}
function d3_svg_lineSlope(p0, p1) {
return (p1[1] - p0[1]) / (p1[0] - p0[0]);
}
function d3_svg_lineFiniteDifferences(points) {
var i = 0, j = points.length - 1, m = [], p0 = points[0], p1 = points[1], d = m[0] = d3_svg_lineSlope(p0, p1);
while (++i < j) {
m[i] = (d + (d = d3_svg_lineSlope(p0 = p1, p1 = points[i + 1]))) / 2;
}
m[i] = d;
return m;
}
function d3_svg_lineMonotoneTangents(points) {
var tangents = [], d, a, b, s, m = d3_svg_lineFiniteDifferences(points), i = -1, j = points.length - 1;
while (++i < j) {
d = d3_svg_lineSlope(points[i], points[i + 1]);
if (Math.abs(d) < 1e-6) {
m[i] = m[i + 1] = 0;
} else {
a = m[i] / d;
b = m[i + 1] / d;
s = a * a + b * b;
if (s > 9) {
s = d * 3 / Math.sqrt(s);
m[i] = s * a;
m[i + 1] = s * b;
}
}
}
i = -1;
while (++i <= j) {
s = (points[Math.min(j, i + 1)][0] - points[Math.max(0, i - 1)][0]) / (6 * (1 + m[i] * m[i]));
tangents.push([ s || 0, m[i] * s || 0 ]);
}
return tangents;
}
function d3_svg_lineMonotone(points) {
return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineMonotoneTangents(points));
}
d3.geom.hull = function(vertices) {
var x = d3_svg_lineX, y = d3_svg_lineY;
if (arguments.length) return hull(vertices);
function hull(data) {
if (data.length < 3) return [];
var fx = d3_functor(x), fy = d3_functor(y), n = data.length, vertices, plen = n - 1, points = [], stack = [], d, i, j, h = 0, x1, y1, x2, y2, u, v, a, sp;
if (fx === d3_svg_lineX && y === d3_svg_lineY) vertices = data; else for (i = 0,
vertices = []; i < n; ++i) {
vertices.push([ +fx.call(this, d = data[i], i), +fy.call(this, d, i) ]);
}
for (i = 1; i < n; ++i) {
if (vertices[i][1] < vertices[h][1] || vertices[i][1] == vertices[h][1] && vertices[i][0] < vertices[h][0]) h = i;
}
for (i = 0; i < n; ++i) {
if (i === h) continue;
y1 = vertices[i][1] - vertices[h][1];
x1 = vertices[i][0] - vertices[h][0];
points.push({
angle: Math.atan2(y1, x1),
index: i
});
}
points.sort(function(a, b) {
return a.angle - b.angle;
});
a = points[0].angle;
v = points[0].index;
u = 0;
for (i = 1; i < plen; ++i) {
j = points[i].index;
if (a == points[i].angle) {
x1 = vertices[v][0] - vertices[h][0];
y1 = vertices[v][1] - vertices[h][1];
x2 = vertices[j][0] - vertices[h][0];
y2 = vertices[j][1] - vertices[h][1];
if (x1 * x1 + y1 * y1 >= x2 * x2 + y2 * y2) {
points[i].index = -1;
continue;
} else {
points[u].index = -1;
}
}
a = points[i].angle;
u = i;
v = j;
}
stack.push(h);
for (i = 0, j = 0; i < 2; ++j) {
if (points[j].index > -1) {
stack.push(points[j].index);
i++;
}
}
sp = stack.length;
for (;j < plen; ++j) {
if (points[j].index < 0) continue;
while (!d3_geom_hullCCW(stack[sp - 2], stack[sp - 1], points[j].index, vertices)) {
--sp;
}
stack[sp++] = points[j].index;
}
var poly = [];
for (i = sp - 1; i >= 0; --i) poly.push(data[stack[i]]);
return poly;
}
hull.x = function(_) {
return arguments.length ? (x = _, hull) : x;
};
hull.y = function(_) {
return arguments.length ? (y = _, hull) : y;
};
return hull;
};
function d3_geom_hullCCW(i1, i2, i3, v) {
var t, a, b, c, d, e, f;
t = v[i1];
a = t[0];
b = t[1];
t = v[i2];
c = t[0];
d = t[1];
t = v[i3];
e = t[0];
f = t[1];
return (f - b) * (c - a) - (d - b) * (e - a) > 0;
}
d3.geom.polygon = function(coordinates) {
d3_subclass(coordinates, d3_geom_polygonPrototype);
return coordinates;
};
var d3_geom_polygonPrototype = d3.geom.polygon.prototype = [];
d3_geom_polygonPrototype.area = function() {
var i = -1, n = this.length, a, b = this[n - 1], area = 0;
while (++i < n) {
a = b;
b = this[i];
area += a[1] * b[0] - a[0] * b[1];
}
return area * .5;
};
d3_geom_polygonPrototype.centroid = function(k) {
var i = -1, n = this.length, x = 0, y = 0, a, b = this[n - 1], c;
if (!arguments.length) k = -1 / (6 * this.area());
while (++i < n) {
a = b;
b = this[i];
c = a[0] * b[1] - b[0] * a[1];
x += (a[0] + b[0]) * c;
y += (a[1] + b[1]) * c;
}
return [ x * k, y * k ];
};
d3_geom_polygonPrototype.clip = function(subject) {
var input, closed = d3_geom_polygonClosed(subject), i = -1, n = this.length - d3_geom_polygonClosed(this), j, m, a = this[n - 1], b, c, d;
while (++i < n) {
input = subject.slice();
subject.length = 0;
b = this[i];
c = input[(m = input.length - closed) - 1];
j = -1;
while (++j < m) {
d = input[j];
if (d3_geom_polygonInside(d, a, b)) {
if (!d3_geom_polygonInside(c, a, b)) {
subject.push(d3_geom_polygonIntersect(c, d, a, b));
}
subject.push(d);
} else if (d3_geom_polygonInside(c, a, b)) {
subject.push(d3_geom_polygonIntersect(c, d, a, b));
}
c = d;
}
if (closed) subject.push(subject[0]);
a = b;
}
return subject;
};
function d3_geom_polygonInside(p, a, b) {
return (b[0] - a[0]) * (p[1] - a[1]) < (b[1] - a[1]) * (p[0] - a[0]);
}
function d3_geom_polygonIntersect(c, d, a, b) {
var x1 = c[0], x3 = a[0], x21 = d[0] - x1, x43 = b[0] - x3, y1 = c[1], y3 = a[1], y21 = d[1] - y1, y43 = b[1] - y3, ua = (x43 * (y1 - y3) - y43 * (x1 - x3)) / (y43 * x21 - x43 * y21);
return [ x1 + ua * x21, y1 + ua * y21 ];
}
function d3_geom_polygonClosed(coordinates) {
var a = coordinates[0], b = coordinates[coordinates.length - 1];
return !(a[0] - b[0] || a[1] - b[1]);
}
d3.geom.delaunay = function(vertices) {
var edges = vertices.map(function() {
return [];
}), triangles = [];
d3_geom_voronoiTessellate(vertices, function(e) {
edges[e.region.l.index].push(vertices[e.region.r.index]);
});
edges.forEach(function(edge, i) {
var v = vertices[i], cx = v[0], cy = v[1];
edge.forEach(function(v) {
v.angle = Math.atan2(v[0] - cx, v[1] - cy);
});
edge.sort(function(a, b) {
return a.angle - b.angle;
});
for (var j = 0, m = edge.length - 1; j < m; j++) {
triangles.push([ v, edge[j], edge[j + 1] ]);
}
});
return triangles;
};
d3.geom.voronoi = function(points) {
var x = d3_svg_lineX, y = d3_svg_lineY, clipPolygon = null;
if (arguments.length) return voronoi(points);
function voronoi(data) {
var points, polygons = data.map(function() {
return [];
}), fx = d3_functor(x), fy = d3_functor(y), d, i, n = data.length, Z = 1e6;
if (fx === d3_svg_lineX && fy === d3_svg_lineY) points = data; else for (points = new Array(n),
i = 0; i < n; ++i) {
points[i] = [ +fx.call(this, d = data[i], i), +fy.call(this, d, i) ];
}
d3_geom_voronoiTessellate(points, function(e) {
var s1, s2, x1, x2, y1, y2;
if (e.a === 1 && e.b >= 0) {
s1 = e.ep.r;
s2 = e.ep.l;
} else {
s1 = e.ep.l;
s2 = e.ep.r;
}
if (e.a === 1) {
y1 = s1 ? s1.y : -Z;
x1 = e.c - e.b * y1;
y2 = s2 ? s2.y : Z;
x2 = e.c - e.b * y2;
} else {
x1 = s1 ? s1.x : -Z;
y1 = e.c - e.a * x1;
x2 = s2 ? s2.x : Z;
y2 = e.c - e.a * x2;
}
var v1 = [ x1, y1 ], v2 = [ x2, y2 ];
polygons[e.region.l.index].push(v1, v2);
polygons[e.region.r.index].push(v1, v2);
});
polygons = polygons.map(function(polygon, i) {
var cx = points[i][0], cy = points[i][1], angle = polygon.map(function(v) {
return Math.atan2(v[0] - cx, v[1] - cy);
}), order = d3.range(polygon.length).sort(function(a, b) {
return angle[a] - angle[b];
});
return order.filter(function(d, i) {
return !i || angle[d] - angle[order[i - 1]] > ε;
}).map(function(d) {
return polygon[d];
});
});
polygons.forEach(function(polygon, i) {
var n = polygon.length;
if (!n) return polygon.push([ -Z, -Z ], [ -Z, Z ], [ Z, Z ], [ Z, -Z ]);
if (n > 2) return;
var p0 = points[i], p1 = polygon[0], p2 = polygon[1], x0 = p0[0], y0 = p0[1], x1 = p1[0], y1 = p1[1], x2 = p2[0], y2 = p2[1], dx = Math.abs(x2 - x1), dy = y2 - y1;
if (Math.abs(dy) < ε) {
var y = y0 < y1 ? -Z : Z;
polygon.push([ -Z, y ], [ Z, y ]);
} else if (dx < ε) {
var x = x0 < x1 ? -Z : Z;
polygon.push([ x, -Z ], [ x, Z ]);
} else {
var y = (x2 - x1) * (y1 - y0) < (x1 - x0) * (y2 - y1) ? Z : -Z, z = Math.abs(dy) - dx;
if (Math.abs(z) < ε) {
polygon.push([ dy < 0 ? y : -y, y ]);
} else {
if (z > 0) y *= -1;
polygon.push([ -Z, y ], [ Z, y ]);
}
}
});
if (clipPolygon) for (i = 0; i < n; ++i) clipPolygon.clip(polygons[i]);
for (i = 0; i < n; ++i) polygons[i].point = data[i];
return polygons;
}
voronoi.x = function(_) {
return arguments.length ? (x = _, voronoi) : x;
};
voronoi.y = function(_) {
return arguments.length ? (y = _, voronoi) : y;
};
voronoi.clipExtent = function(_) {
if (!arguments.length) return clipPolygon && [ clipPolygon[0], clipPolygon[2] ];
if (_ == null) clipPolygon = null; else {
var x1 = +_[0][0], y1 = +_[0][1], x2 = +_[1][0], y2 = +_[1][1];
clipPolygon = d3.geom.polygon([ [ x1, y1 ], [ x1, y2 ], [ x2, y2 ], [ x2, y1 ] ]);
}
return voronoi;
};
voronoi.size = function(_) {
if (!arguments.length) return clipPolygon && clipPolygon[2];
return voronoi.clipExtent(_ && [ [ 0, 0 ], _ ]);
};
voronoi.links = function(data) {
var points, graph = data.map(function() {
return [];
}), links = [], fx = d3_functor(x), fy = d3_functor(y), d, i, n = data.length;
if (fx === d3_svg_lineX && fy === d3_svg_lineY) points = data; else for (points = new Array(n),
i = 0; i < n; ++i) {
points[i] = [ +fx.call(this, d = data[i], i), +fy.call(this, d, i) ];
}
d3_geom_voronoiTessellate(points, function(e) {
var l = e.region.l.index, r = e.region.r.index;
if (graph[l][r]) return;
graph[l][r] = graph[r][l] = true;
links.push({
source: data[l],
target: data[r]
});
});
return links;
};
voronoi.triangles = function(data) {
if (x === d3_svg_lineX && y === d3_svg_lineY) return d3.geom.delaunay(data);
var points = new Array(n), fx = d3_functor(x), fy = d3_functor(y), d, i = -1, n = data.length;
while (++i < n) {
(points[i] = [ +fx.call(this, d = data[i], i), +fy.call(this, d, i) ]).data = d;
}
return d3.geom.delaunay(points).map(function(triangle) {
return triangle.map(function(point) {
return point.data;
});
});
};
return voronoi;
};
var d3_geom_voronoiOpposite = {
l: "r",
r: "l"
};
function d3_geom_voronoiTessellate(points, callback) {
var Sites = {
list: points.map(function(v, i) {
return {
index: i,
x: v[0],
y: v[1]
};
}).sort(function(a, b) {
return a.y < b.y ? -1 : a.y > b.y ? 1 : a.x < b.x ? -1 : a.x > b.x ? 1 : 0;
}),
bottomSite: null
};
var EdgeList = {
list: [],
leftEnd: null,
rightEnd: null,
init: function() {
EdgeList.leftEnd = EdgeList.createHalfEdge(null, "l");
EdgeList.rightEnd = EdgeList.createHalfEdge(null, "l");
EdgeList.leftEnd.r = EdgeList.rightEnd;
EdgeList.rightEnd.l = EdgeList.leftEnd;
EdgeList.list.unshift(EdgeList.leftEnd, EdgeList.rightEnd);
},
createHalfEdge: function(edge, side) {
return {
edge: edge,
side: side,
vertex: null,
l: null,
r: null
};
},
insert: function(lb, he) {
he.l = lb;
he.r = lb.r;
lb.r.l = he;
lb.r = he;
},
leftBound: function(p) {
var he = EdgeList.leftEnd;
do {
he = he.r;
} while (he != EdgeList.rightEnd && Geom.rightOf(he, p));
he = he.l;
return he;
},
del: function(he) {
he.l.r = he.r;
he.r.l = he.l;
he.edge = null;
},
right: function(he) {
return he.r;
},
left: function(he) {
return he.l;
},
leftRegion: function(he) {
return he.edge == null ? Sites.bottomSite : he.edge.region[he.side];
},
rightRegion: function(he) {
return he.edge == null ? Sites.bottomSite : he.edge.region[d3_geom_voronoiOpposite[he.side]];
}
};
var Geom = {
bisect: function(s1, s2) {
var newEdge = {
region: {
l: s1,
r: s2
},
ep: {
l: null,
r: null
}
};
var dx = s2.x - s1.x, dy = s2.y - s1.y, adx = dx > 0 ? dx : -dx, ady = dy > 0 ? dy : -dy;
newEdge.c = s1.x * dx + s1.y * dy + (dx * dx + dy * dy) * .5;
if (adx > ady) {
newEdge.a = 1;
newEdge.b = dy / dx;
newEdge.c /= dx;
} else {
newEdge.b = 1;
newEdge.a = dx / dy;
newEdge.c /= dy;
}
return newEdge;
},
intersect: function(el1, el2) {
var e1 = el1.edge, e2 = el2.edge;
if (!e1 || !e2 || e1.region.r == e2.region.r) {
return null;
}
var d = e1.a * e2.b - e1.b * e2.a;
if (Math.abs(d) < 1e-10) {
return null;
}
var xint = (e1.c * e2.b - e2.c * e1.b) / d, yint = (e2.c * e1.a - e1.c * e2.a) / d, e1r = e1.region.r, e2r = e2.region.r, el, e;
if (e1r.y < e2r.y || e1r.y == e2r.y && e1r.x < e2r.x) {
el = el1;
e = e1;
} else {
el = el2;
e = e2;
}
var rightOfSite = xint >= e.region.r.x;
if (rightOfSite && el.side === "l" || !rightOfSite && el.side === "r") {
return null;
}
return {
x: xint,
y: yint
};
},
rightOf: function(he, p) {
var e = he.edge, topsite = e.region.r, rightOfSite = p.x > topsite.x;
if (rightOfSite && he.side === "l") {
return 1;
}
if (!rightOfSite && he.side === "r") {
return 0;
}
if (e.a === 1) {
var dyp = p.y - topsite.y, dxp = p.x - topsite.x, fast = 0, above = 0;
if (!rightOfSite && e.b < 0 || rightOfSite && e.b >= 0) {
above = fast = dyp >= e.b * dxp;
} else {
above = p.x + p.y * e.b > e.c;
if (e.b < 0) {
above = !above;
}
if (!above) {
fast = 1;
}
}
if (!fast) {
var dxs = topsite.x - e.region.l.x;
above = e.b * (dxp * dxp - dyp * dyp) < dxs * dyp * (1 + 2 * dxp / dxs + e.b * e.b);
if (e.b < 0) {
above = !above;
}
}
} else {
var yl = e.c - e.a * p.x, t1 = p.y - yl, t2 = p.x - topsite.x, t3 = yl - topsite.y;
above = t1 * t1 > t2 * t2 + t3 * t3;
}
return he.side === "l" ? above : !above;
},
endPoint: function(edge, side, site) {
edge.ep[side] = site;
if (!edge.ep[d3_geom_voronoiOpposite[side]]) return;
callback(edge);
},
distance: function(s, t) {
var dx = s.x - t.x, dy = s.y - t.y;
return Math.sqrt(dx * dx + dy * dy);
}
};
var EventQueue = {
list: [],
insert: function(he, site, offset) {
he.vertex = site;
he.ystar = site.y + offset;
for (var i = 0, list = EventQueue.list, l = list.length; i < l; i++) {
var next = list[i];
if (he.ystar > next.ystar || he.ystar == next.ystar && site.x > next.vertex.x) {
continue;
} else {
break;
}
}
list.splice(i, 0, he);
},
del: function(he) {
for (var i = 0, ls = EventQueue.list, l = ls.length; i < l && ls[i] != he; ++i) {}
ls.splice(i, 1);
},
empty: function() {
return EventQueue.list.length === 0;
},
nextEvent: function(he) {
for (var i = 0, ls = EventQueue.list, l = ls.length; i < l; ++i) {
if (ls[i] == he) return ls[i + 1];
}
return null;
},
min: function() {
var elem = EventQueue.list[0];
return {
x: elem.vertex.x,
y: elem.ystar
};
},
extractMin: function() {
return EventQueue.list.shift();
}
};
EdgeList.init();
Sites.bottomSite = Sites.list.shift();
var newSite = Sites.list.shift(), newIntStar;
var lbnd, rbnd, llbnd, rrbnd, bisector;
var bot, top, temp, p, v;
var e, pm;
while (true) {
if (!EventQueue.empty()) {
newIntStar = EventQueue.min();
}
if (newSite && (EventQueue.empty() || newSite.y < newIntStar.y || newSite.y == newIntStar.y && newSite.x < newIntStar.x)) {
lbnd = EdgeList.leftBound(newSite);
rbnd = EdgeList.right(lbnd);
bot = EdgeList.rightRegion(lbnd);
e = Geom.bisect(bot, newSite);
bisector = EdgeList.createHalfEdge(e, "l");
EdgeList.insert(lbnd, bisector);
p = Geom.intersect(lbnd, bisector);
if (p) {
EventQueue.del(lbnd);
EventQueue.insert(lbnd, p, Geom.distance(p, newSite));
}
lbnd = bisector;
bisector = EdgeList.createHalfEdge(e, "r");
EdgeList.insert(lbnd, bisector);
p = Geom.intersect(bisector, rbnd);
if (p) {
EventQueue.insert(bisector, p, Geom.distance(p, newSite));
}
newSite = Sites.list.shift();
} else if (!EventQueue.empty()) {
lbnd = EventQueue.extractMin();
llbnd = EdgeList.left(lbnd);
rbnd = EdgeList.right(lbnd);
rrbnd = EdgeList.right(rbnd);
bot = EdgeList.leftRegion(lbnd);
top = EdgeList.rightRegion(rbnd);
v = lbnd.vertex;
Geom.endPoint(lbnd.edge, lbnd.side, v);
Geom.endPoint(rbnd.edge, rbnd.side, v);
EdgeList.del(lbnd);
EventQueue.del(rbnd);
EdgeList.del(rbnd);
pm = "l";
if (bot.y > top.y) {
temp = bot;
bot = top;
top = temp;
pm = "r";
}
e = Geom.bisect(bot, top);
bisector = EdgeList.createHalfEdge(e, pm);
EdgeList.insert(llbnd, bisector);
Geom.endPoint(e, d3_geom_voronoiOpposite[pm], v);
p = Geom.intersect(llbnd, bisector);
if (p) {
EventQueue.del(llbnd);
EventQueue.insert(llbnd, p, Geom.distance(p, bot));
}
p = Geom.intersect(bisector, rrbnd);
if (p) {
EventQueue.insert(bisector, p, Geom.distance(p, bot));
}
} else {
break;
}
}
for (lbnd = EdgeList.right(EdgeList.leftEnd); lbnd != EdgeList.rightEnd; lbnd = EdgeList.right(lbnd)) {
callback(lbnd.edge);
}
}
d3.geom.quadtree = function(points, x1, y1, x2, y2) {
var x = d3_svg_lineX, y = d3_svg_lineY, compat;
if (compat = arguments.length) {
x = d3_geom_quadtreeCompatX;
y = d3_geom_quadtreeCompatY;
if (compat === 3) {
y2 = y1;
x2 = x1;
y1 = x1 = 0;
}
return quadtree(points);
}
function quadtree(data) {
var d, fx = d3_functor(x), fy = d3_functor(y), xs, ys, i, n, x1_, y1_, x2_, y2_;
if (x1 != null) {
x1_ = x1, y1_ = y1, x2_ = x2, y2_ = y2;
} else {
x2_ = y2_ = -(x1_ = y1_ = Infinity);
xs = [], ys = [];
n = data.length;
if (compat) for (i = 0; i < n; ++i) {
d = data[i];
if (d.x < x1_) x1_ = d.x;
if (d.y < y1_) y1_ = d.y;
if (d.x > x2_) x2_ = d.x;
if (d.y > y2_) y2_ = d.y;
xs.push(d.x);
ys.push(d.y);
} else for (i = 0; i < n; ++i) {
var x_ = +fx(d = data[i], i), y_ = +fy(d, i);
if (x_ < x1_) x1_ = x_;
if (y_ < y1_) y1_ = y_;
if (x_ > x2_) x2_ = x_;
if (y_ > y2_) y2_ = y_;
xs.push(x_);
ys.push(y_);
}
}
var dx = x2_ - x1_, dy = y2_ - y1_;
if (dx > dy) y2_ = y1_ + dx; else x2_ = x1_ + dy;
function insert(n, d, x, y, x1, y1, x2, y2) {
if (isNaN(x) || isNaN(y)) return;
if (n.leaf) {
var nx = n.x, ny = n.y;
if (nx != null) {
if (Math.abs(nx - x) + Math.abs(ny - y) < .01) {
insertChild(n, d, x, y, x1, y1, x2, y2);
} else {
var nPoint = n.point;
n.x = n.y = n.point = null;
insertChild(n, nPoint, nx, ny, x1, y1, x2, y2);
insertChild(n, d, x, y, x1, y1, x2, y2);
}
} else {
n.x = x, n.y = y, n.point = d;
}
} else {
insertChild(n, d, x, y, x1, y1, x2, y2);
}
}
function insertChild(n, d, x, y, x1, y1, x2, y2) {
var sx = (x1 + x2) * .5, sy = (y1 + y2) * .5, right = x >= sx, bottom = y >= sy, i = (bottom << 1) + right;
n.leaf = false;
n = n.nodes[i] || (n.nodes[i] = d3_geom_quadtreeNode());
if (right) x1 = sx; else x2 = sx;
if (bottom) y1 = sy; else y2 = sy;
insert(n, d, x, y, x1, y1, x2, y2);
}
var root = d3_geom_quadtreeNode();
root.add = function(d) {
insert(root, d, +fx(d, ++i), +fy(d, i), x1_, y1_, x2_, y2_);
};
root.visit = function(f) {
d3_geom_quadtreeVisit(f, root, x1_, y1_, x2_, y2_);
};
i = -1;
if (x1 == null) {
while (++i < n) {
insert(root, data[i], xs[i], ys[i], x1_, y1_, x2_, y2_);
}
--i;
} else data.forEach(root.add);
xs = ys = data = d = null;
return root;
}
quadtree.x = function(_) {
return arguments.length ? (x = _, quadtree) : x;
};
quadtree.y = function(_) {
return arguments.length ? (y = _, quadtree) : y;
};
quadtree.extent = function(_) {
if (!arguments.length) return x1 == null ? null : [ [ x1, y1 ], [ x2, y2 ] ];
if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = +_[0][0], y1 = +_[0][1], x2 = +_[1][0],
y2 = +_[1][1];
return quadtree;
};
quadtree.size = function(_) {
if (!arguments.length) return x1 == null ? null : [ x2 - x1, y2 - y1 ];
if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = y1 = 0, x2 = +_[0], y2 = +_[1];
return quadtree;
};
return quadtree;
};
function d3_geom_quadtreeCompatX(d) {
return d.x;
}
function d3_geom_quadtreeCompatY(d) {
return d.y;
}
function d3_geom_quadtreeNode() {
return {
leaf: true,
nodes: [],
point: null,
x: null,
y: null
};
}
function d3_geom_quadtreeVisit(f, node, x1, y1, x2, y2) {
if (!f(node, x1, y1, x2, y2)) {
var sx = (x1 + x2) * .5, sy = (y1 + y2) * .5, children = node.nodes;
if (children[0]) d3_geom_quadtreeVisit(f, children[0], x1, y1, sx, sy);
if (children[1]) d3_geom_quadtreeVisit(f, children[1], sx, y1, x2, sy);
if (children[2]) d3_geom_quadtreeVisit(f, children[2], x1, sy, sx, y2);
if (children[3]) d3_geom_quadtreeVisit(f, children[3], sx, sy, x2, y2);
}
}
d3.interpolateRgb = d3_interpolateRgb;
function d3_interpolateRgb(a, b) {
a = d3.rgb(a);
b = d3.rgb(b);
var ar = a.r, ag = a.g, ab = a.b, br = b.r - ar, bg = b.g - ag, bb = b.b - ab;
return function(t) {
return "#" + d3_rgb_hex(Math.round(ar + br * t)) + d3_rgb_hex(Math.round(ag + bg * t)) + d3_rgb_hex(Math.round(ab + bb * t));
};
}
d3.interpolateObject = d3_interpolateObject;
function d3_interpolateObject(a, b) {
var i = {}, c = {}, k;
for (k in a) {
if (k in b) {
i[k] = d3_interpolate(a[k], b[k]);
} else {
c[k] = a[k];
}
}
for (k in b) {
if (!(k in a)) {
c[k] = b[k];
}
}
return function(t) {
for (k in i) c[k] = i[k](t);
return c;
};
}
d3.interpolateNumber = d3_interpolateNumber;
function d3_interpolateNumber(a, b) {
b -= a = +a;
return function(t) {
return a + b * t;
};
}
d3.interpolateString = d3_interpolateString;
function d3_interpolateString(a, b) {
var m, i, j, s0 = 0, s1 = 0, s = [], q = [], n, o;
a = a + "", b = b + "";
d3_interpolate_number.lastIndex = 0;
for (i = 0; m = d3_interpolate_number.exec(b); ++i) {
if (m.index) s.push(b.substring(s0, s1 = m.index));
q.push({
i: s.length,
x: m[0]
});
s.push(null);
s0 = d3_interpolate_number.lastIndex;
}
if (s0 < b.length) s.push(b.substring(s0));
for (i = 0, n = q.length; (m = d3_interpolate_number.exec(a)) && i < n; ++i) {
o = q[i];
if (o.x == m[0]) {
if (o.i) {
if (s[o.i + 1] == null) {
s[o.i - 1] += o.x;
s.splice(o.i, 1);
for (j = i + 1; j < n; ++j) q[j].i--;
} else {
s[o.i - 1] += o.x + s[o.i + 1];
s.splice(o.i, 2);
for (j = i + 1; j < n; ++j) q[j].i -= 2;
}
} else {
if (s[o.i + 1] == null) {
s[o.i] = o.x;
} else {
s[o.i] = o.x + s[o.i + 1];
s.splice(o.i + 1, 1);
for (j = i + 1; j < n; ++j) q[j].i--;
}
}
q.splice(i, 1);
n--;
i--;
} else {
o.x = d3_interpolateNumber(parseFloat(m[0]), parseFloat(o.x));
}
}
while (i < n) {
o = q.pop();
if (s[o.i + 1] == null) {
s[o.i] = o.x;
} else {
s[o.i] = o.x + s[o.i + 1];
s.splice(o.i + 1, 1);
}
n--;
}
if (s.length === 1) {
return s[0] == null ? (o = q[0].x, function(t) {
return o(t) + "";
}) : function() {
return b;
};
}
return function(t) {
for (i = 0; i < n; ++i) s[(o = q[i]).i] = o.x(t);
return s.join("");
};
}
var d3_interpolate_number = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g;
d3.interpolate = d3_interpolate;
function d3_interpolate(a, b) {
var i = d3.interpolators.length, f;
while (--i >= 0 && !(f = d3.interpolators[i](a, b))) ;
return f;
}
d3.interpolators = [ function(a, b) {
var t = typeof b;
return (t === "string" ? d3_rgb_names.has(b) || /^(#|rgb\(|hsl\()/.test(b) ? d3_interpolateRgb : d3_interpolateString : b instanceof d3_Color ? d3_interpolateRgb : t === "object" ? Array.isArray(b) ? d3_interpolateArray : d3_interpolateObject : d3_interpolateNumber)(a, b);
} ];
d3.interpolateArray = d3_interpolateArray;
function d3_interpolateArray(a, b) {
var x = [], c = [], na = a.length, nb = b.length, n0 = Math.min(a.length, b.length), i;
for (i = 0; i < n0; ++i) x.push(d3_interpolate(a[i], b[i]));
for (;i < na; ++i) c[i] = a[i];
for (;i < nb; ++i) c[i] = b[i];
return function(t) {
for (i = 0; i < n0; ++i) c[i] = x[i](t);
return c;
};
}
var d3_ease_default = function() {
return d3_identity;
};
var d3_ease = d3.map({
linear: d3_ease_default,
poly: d3_ease_poly,
quad: function() {
return d3_ease_quad;
},
cubic: function() {
return d3_ease_cubic;
},
sin: function() {
return d3_ease_sin;
},
exp: function() {
return d3_ease_exp;
},
circle: function() {
return d3_ease_circle;
},
elastic: d3_ease_elastic,
back: d3_ease_back,
bounce: function() {
return d3_ease_bounce;
}
});
var d3_ease_mode = d3.map({
"in": d3_identity,
out: d3_ease_reverse,
"in-out": d3_ease_reflect,
"out-in": function(f) {
return d3_ease_reflect(d3_ease_reverse(f));
}
});
d3.ease = function(name) {
var i = name.indexOf("-"), t = i >= 0 ? name.substring(0, i) : name, m = i >= 0 ? name.substring(i + 1) : "in";
t = d3_ease.get(t) || d3_ease_default;
m = d3_ease_mode.get(m) || d3_identity;
return d3_ease_clamp(m(t.apply(null, Array.prototype.slice.call(arguments, 1))));
};
function d3_ease_clamp(f) {
return function(t) {
return t <= 0 ? 0 : t >= 1 ? 1 : f(t);
};
}
function d3_ease_reverse(f) {
return function(t) {
return 1 - f(1 - t);
};
}
function d3_ease_reflect(f) {
return function(t) {
return .5 * (t < .5 ? f(2 * t) : 2 - f(2 - 2 * t));
};
}
function d3_ease_quad(t) {
return t * t;
}
function d3_ease_cubic(t) {
return t * t * t;
}
function d3_ease_cubicInOut(t) {
if (t <= 0) return 0;
if (t >= 1) return 1;
var t2 = t * t, t3 = t2 * t;
return 4 * (t < .5 ? t3 : 3 * (t - t2) + t3 - .75);
}
function d3_ease_poly(e) {
return function(t) {
return Math.pow(t, e);
};
}
function d3_ease_sin(t) {
return 1 - Math.cos(t * π / 2);
}
function d3_ease_exp(t) {
return Math.pow(2, 10 * (t - 1));
}
function d3_ease_circle(t) {
return 1 - Math.sqrt(1 - t * t);
}
function d3_ease_elastic(a, p) {
var s;
if (arguments.length < 2) p = .45;
if (arguments.length) s = p / (2 * π) * Math.asin(1 / a); else a = 1, s = p / 4;
return function(t) {
return 1 + a * Math.pow(2, 10 * -t) * Math.sin((t - s) * 2 * π / p);
};
}
function d3_ease_back(s) {
if (!s) s = 1.70158;
return function(t) {
return t * t * ((s + 1) * t - s);
};
}
function d3_ease_bounce(t) {
return t < 1 / 2.75 ? 7.5625 * t * t : t < 2 / 2.75 ? 7.5625 * (t -= 1.5 / 2.75) * t + .75 : t < 2.5 / 2.75 ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375 : 7.5625 * (t -= 2.625 / 2.75) * t + .984375;
}
d3.interpolateHcl = d3_interpolateHcl;
function d3_interpolateHcl(a, b) {
a = d3.hcl(a);
b = d3.hcl(b);
var ah = a.h, ac = a.c, al = a.l, bh = b.h - ah, bc = b.c - ac, bl = b.l - al;
if (isNaN(bc)) bc = 0, ac = isNaN(ac) ? b.c : ac;
if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360;
return function(t) {
return d3_hcl_lab(ah + bh * t, ac + bc * t, al + bl * t) + "";
};
}
d3.interpolateHsl = d3_interpolateHsl;
function d3_interpolateHsl(a, b) {
a = d3.hsl(a);
b = d3.hsl(b);
var ah = a.h, as = a.s, al = a.l, bh = b.h - ah, bs = b.s - as, bl = b.l - al;
if (isNaN(bs)) bs = 0, as = isNaN(as) ? b.s : as;
if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360;
return function(t) {
return d3_hsl_rgb(ah + bh * t, as + bs * t, al + bl * t) + "";
};
}
d3.interpolateLab = d3_interpolateLab;
function d3_interpolateLab(a, b) {
a = d3.lab(a);
b = d3.lab(b);
var al = a.l, aa = a.a, ab = a.b, bl = b.l - al, ba = b.a - aa, bb = b.b - ab;
return function(t) {
return d3_lab_rgb(al + bl * t, aa + ba * t, ab + bb * t) + "";
};
}
d3.interpolateRound = d3_interpolateRound;
function d3_interpolateRound(a, b) {
b -= a;
return function(t) {
return Math.round(a + b * t);
};
}
d3.transform = function(string) {
var g = d3_document.createElementNS(d3.ns.prefix.svg, "g");
return (d3.transform = function(string) {
if (string != null) {
g.setAttribute("transform", string);
var t = g.transform.baseVal.consolidate();
}
return new d3_transform(t ? t.matrix : d3_transformIdentity);
})(string);
};
function d3_transform(m) {
var r0 = [ m.a, m.b ], r1 = [ m.c, m.d ], kx = d3_transformNormalize(r0), kz = d3_transformDot(r0, r1), ky = d3_transformNormalize(d3_transformCombine(r1, r0, -kz)) || 0;
if (r0[0] * r1[1] < r1[0] * r0[1]) {
r0[0] *= -1;
r0[1] *= -1;
kx *= -1;
kz *= -1;
}
this.rotate = (kx ? Math.atan2(r0[1], r0[0]) : Math.atan2(-r1[0], r1[1])) * d3_degrees;
this.translate = [ m.e, m.f ];
this.scale = [ kx, ky ];
this.skew = ky ? Math.atan2(kz, ky) * d3_degrees : 0;
}
d3_transform.prototype.toString = function() {
return "translate(" + this.translate + ")rotate(" + this.rotate + ")skewX(" + this.skew + ")scale(" + this.scale + ")";
};
function d3_transformDot(a, b) {
return a[0] * b[0] + a[1] * b[1];
}
function d3_transformNormalize(a) {
var k = Math.sqrt(d3_transformDot(a, a));
if (k) {
a[0] /= k;
a[1] /= k;
}
return k;
}
function d3_transformCombine(a, b, k) {
a[0] += k * b[0];
a[1] += k * b[1];
return a;
}
var d3_transformIdentity = {
a: 1,
b: 0,
c: 0,
d: 1,
e: 0,
f: 0
};
d3.interpolateTransform = d3_interpolateTransform;
function d3_interpolateTransform(a, b) {
var s = [], q = [], n, A = d3.transform(a), B = d3.transform(b), ta = A.translate, tb = B.translate, ra = A.rotate, rb = B.rotate, wa = A.skew, wb = B.skew, ka = A.scale, kb = B.scale;
if (ta[0] != tb[0] || ta[1] != tb[1]) {
s.push("translate(", null, ",", null, ")");
q.push({
i: 1,
x: d3_interpolateNumber(ta[0], tb[0])
}, {
i: 3,
x: d3_interpolateNumber(ta[1], tb[1])
});
} else if (tb[0] || tb[1]) {
s.push("translate(" + tb + ")");
} else {
s.push("");
}
if (ra != rb) {
if (ra - rb > 180) rb += 360; else if (rb - ra > 180) ra += 360;
q.push({
i: s.push(s.pop() + "rotate(", null, ")") - 2,
x: d3_interpolateNumber(ra, rb)
});
} else if (rb) {
s.push(s.pop() + "rotate(" + rb + ")");
}
if (wa != wb) {
q.push({
i: s.push(s.pop() + "skewX(", null, ")") - 2,
x: d3_interpolateNumber(wa, wb)
});
} else if (wb) {
s.push(s.pop() + "skewX(" + wb + ")");
}
if (ka[0] != kb[0] || ka[1] != kb[1]) {
n = s.push(s.pop() + "scale(", null, ",", null, ")");
q.push({
i: n - 4,
x: d3_interpolateNumber(ka[0], kb[0])
}, {
i: n - 2,
x: d3_interpolateNumber(ka[1], kb[1])
});
} else if (kb[0] != 1 || kb[1] != 1) {
s.push(s.pop() + "scale(" + kb + ")");
}
n = q.length;
return function(t) {
var i = -1, o;
while (++i < n) s[(o = q[i]).i] = o.x(t);
return s.join("");
};
}
function d3_uninterpolateNumber(a, b) {
b = b - (a = +a) ? 1 / (b - a) : 0;
return function(x) {
return (x - a) * b;
};
}
function d3_uninterpolateClamp(a, b) {
b = b - (a = +a) ? 1 / (b - a) : 0;
return function(x) {
return Math.max(0, Math.min(1, (x - a) * b));
};
}
d3.layout = {};
d3.layout.bundle = function() {
return function(links) {
var paths = [], i = -1, n = links.length;
while (++i < n) paths.push(d3_layout_bundlePath(links[i]));
return paths;
};
};
function d3_layout_bundlePath(link) {
var start = link.source, end = link.target, lca = d3_layout_bundleLeastCommonAncestor(start, end), points = [ start ];
while (start !== lca) {
start = start.parent;
points.push(start);
}
var k = points.length;
while (end !== lca) {
points.splice(k, 0, end);
end = end.parent;
}
return points;
}
function d3_layout_bundleAncestors(node) {
var ancestors = [], parent = node.parent;
while (parent != null) {
ancestors.push(node);
node = parent;
parent = parent.parent;
}
ancestors.push(node);
return ancestors;
}
function d3_layout_bundleLeastCommonAncestor(a, b) {
if (a === b) return a;
var aNodes = d3_layout_bundleAncestors(a), bNodes = d3_layout_bundleAncestors(b), aNode = aNodes.pop(), bNode = bNodes.pop(), sharedNode = null;
while (aNode === bNode) {
sharedNode = aNode;
aNode = aNodes.pop();
bNode = bNodes.pop();
}
return sharedNode;
}
d3.layout.chord = function() {
var chord = {}, chords, groups, matrix, n, padding = 0, sortGroups, sortSubgroups, sortChords;
function relayout() {
var subgroups = {}, groupSums = [], groupIndex = d3.range(n), subgroupIndex = [], k, x, x0, i, j;
chords = [];
groups = [];
k = 0, i = -1;
while (++i < n) {
x = 0, j = -1;
while (++j < n) {
x += matrix[i][j];
}
groupSums.push(x);
subgroupIndex.push(d3.range(n));
k += x;
}
if (sortGroups) {
groupIndex.sort(function(a, b) {
return sortGroups(groupSums[a], groupSums[b]);
});
}
if (sortSubgroups) {
subgroupIndex.forEach(function(d, i) {
d.sort(function(a, b) {
return sortSubgroups(matrix[i][a], matrix[i][b]);
});
});
}
k = (2 * π - padding * n) / k;
x = 0, i = -1;
while (++i < n) {
x0 = x, j = -1;
while (++j < n) {
var di = groupIndex[i], dj = subgroupIndex[di][j], v = matrix[di][dj], a0 = x, a1 = x += v * k;
subgroups[di + "-" + dj] = {
index: di,
subindex: dj,
startAngle: a0,
endAngle: a1,
value: v
};
}
groups[di] = {
index: di,
startAngle: x0,
endAngle: x,
value: (x - x0) / k
};
x += padding;
}
i = -1;
while (++i < n) {
j = i - 1;
while (++j < n) {
var source = subgroups[i + "-" + j], target = subgroups[j + "-" + i];
if (source.value || target.value) {
chords.push(source.value < target.value ? {
source: target,
target: source
} : {
source: source,
target: target
});
}
}
}
if (sortChords) resort();
}
function resort() {
chords.sort(function(a, b) {
return sortChords((a.source.value + a.target.value) / 2, (b.source.value + b.target.value) / 2);
});
}
chord.matrix = function(x) {
if (!arguments.length) return matrix;
n = (matrix = x) && matrix.length;
chords = groups = null;
return chord;
};
chord.padding = function(x) {
if (!arguments.length) return padding;
padding = x;
chords = groups = null;
return chord;
};
chord.sortGroups = function(x) {
if (!arguments.length) return sortGroups;
sortGroups = x;
chords = groups = null;
return chord;
};
chord.sortSubgroups = function(x) {
if (!arguments.length) return sortSubgroups;
sortSubgroups = x;
chords = null;
return chord;
};
chord.sortChords = function(x) {
if (!arguments.length) return sortChords;
sortChords = x;
if (chords) resort();
return chord;
};
chord.chords = function() {
if (!chords) relayout();
return chords;
};
chord.groups = function() {
if (!groups) relayout();
return groups;
};
return chord;
};
d3.layout.force = function() {
var force = {}, event = d3.dispatch("start", "tick", "end"), size = [ 1, 1 ], drag, alpha, friction = .9, linkDistance = d3_layout_forceLinkDistance, linkStrength = d3_layout_forceLinkStrength, charge = -30, gravity = .1, theta = .8, nodes = [], links = [], distances, strengths, charges;
function repulse(node) {
return function(quad, x1, _, x2) {
if (quad.point !== node) {
var dx = quad.cx - node.x, dy = quad.cy - node.y, dn = 1 / Math.sqrt(dx * dx + dy * dy);
if ((x2 - x1) * dn < theta) {
var k = quad.charge * dn * dn;
node.px -= dx * k;
node.py -= dy * k;
return true;
}
if (quad.point && isFinite(dn)) {
var k = quad.pointCharge * dn * dn;
node.px -= dx * k;
node.py -= dy * k;
}
}
return !quad.charge;
};
}
force.tick = function() {
if ((alpha *= .99) < .005) {
event.end({
type: "end",
alpha: alpha = 0
});
return true;
}
var n = nodes.length, m = links.length, q, i, o, s, t, l, k, x, y;
for (i = 0; i < m; ++i) {
o = links[i];
s = o.source;
t = o.target;
x = t.x - s.x;
y = t.y - s.y;
if (l = x * x + y * y) {
l = alpha * strengths[i] * ((l = Math.sqrt(l)) - distances[i]) / l;
x *= l;
y *= l;
t.x -= x * (k = s.weight / (t.weight + s.weight));
t.y -= y * k;
s.x += x * (k = 1 - k);
s.y += y * k;
}
}
if (k = alpha * gravity) {
x = size[0] / 2;
y = size[1] / 2;
i = -1;
if (k) while (++i < n) {
o = nodes[i];
o.x += (x - o.x) * k;
o.y += (y - o.y) * k;
}
}
if (charge) {
d3_layout_forceAccumulate(q = d3.geom.quadtree(nodes), alpha, charges);
i = -1;
while (++i < n) {
if (!(o = nodes[i]).fixed) {
q.visit(repulse(o));
}
}
}
i = -1;
while (++i < n) {
o = nodes[i];
if (o.fixed) {
o.x = o.px;
o.y = o.py;
} else {
o.x -= (o.px - (o.px = o.x)) * friction;
o.y -= (o.py - (o.py = o.y)) * friction;
}
}
event.tick({
type: "tick",
alpha: alpha
});
};
force.nodes = function(x) {
if (!arguments.length) return nodes;
nodes = x;
return force;
};
force.links = function(x) {
if (!arguments.length) return links;
links = x;
return force;
};
force.size = function(x) {
if (!arguments.length) return size;
size = x;
return force;
};
force.linkDistance = function(x) {
if (!arguments.length) return linkDistance;
linkDistance = typeof x === "function" ? x : +x;
return force;
};
force.distance = force.linkDistance;
force.linkStrength = function(x) {
if (!arguments.length) return linkStrength;
linkStrength = typeof x === "function" ? x : +x;
return force;
};
force.friction = function(x) {
if (!arguments.length) return friction;
friction = +x;
return force;
};
force.charge = function(x) {
if (!arguments.length) return charge;
charge = typeof x === "function" ? x : +x;
return force;
};
force.gravity = function(x) {
if (!arguments.length) return gravity;
gravity = +x;
return force;
};
force.theta = function(x) {
if (!arguments.length) return theta;
theta = +x;
return force;
};
force.alpha = function(x) {
if (!arguments.length) return alpha;
x = +x;
if (alpha) {
if (x > 0) alpha = x; else alpha = 0;
} else if (x > 0) {
event.start({
type: "start",
alpha: alpha = x
});
d3.timer(force.tick);
}
return force;
};
force.start = function() {
var i, j, n = nodes.length, m = links.length, w = size[0], h = size[1], neighbors, o;
for (i = 0; i < n; ++i) {
(o = nodes[i]).index = i;
o.weight = 0;
}
for (i = 0; i < m; ++i) {
o = links[i];
if (typeof o.source == "number") o.source = nodes[o.source];
if (typeof o.target == "number") o.target = nodes[o.target];
++o.source.weight;
++o.target.weight;
}
for (i = 0; i < n; ++i) {
o = nodes[i];
if (isNaN(o.x)) o.x = position("x", w);
if (isNaN(o.y)) o.y = position("y", h);
if (isNaN(o.px)) o.px = o.x;
if (isNaN(o.py)) o.py = o.y;
}
distances = [];
if (typeof linkDistance === "function") for (i = 0; i < m; ++i) distances[i] = +linkDistance.call(this, links[i], i); else for (i = 0; i < m; ++i) distances[i] = linkDistance;
strengths = [];
if (typeof linkStrength === "function") for (i = 0; i < m; ++i) strengths[i] = +linkStrength.call(this, links[i], i); else for (i = 0; i < m; ++i) strengths[i] = linkStrength;
charges = [];
if (typeof charge === "function") for (i = 0; i < n; ++i) charges[i] = +charge.call(this, nodes[i], i); else for (i = 0; i < n; ++i) charges[i] = charge;
function position(dimension, size) {
var neighbors = neighbor(i), j = -1, m = neighbors.length, x;
while (++j < m) if (!isNaN(x = neighbors[j][dimension])) return x;
return Math.random() * size;
}
function neighbor() {
if (!neighbors) {
neighbors = [];
for (j = 0; j < n; ++j) {
neighbors[j] = [];
}
for (j = 0; j < m; ++j) {
var o = links[j];
neighbors[o.source.index].push(o.target);
neighbors[o.target.index].push(o.source);
}
}
return neighbors[i];
}
return force.resume();
};
force.resume = function() {
return force.alpha(.1);
};
force.stop = function() {
return force.alpha(0);
};
force.drag = function() {
if (!drag) drag = d3.behavior.drag().origin(d3_identity).on("dragstart.force", d3_layout_forceDragstart).on("drag.force", dragmove).on("dragend.force", d3_layout_forceDragend);
if (!arguments.length) return drag;
this.on("mouseover.force", d3_layout_forceMouseover).on("mouseout.force", d3_layout_forceMouseout).call(drag);
};
function dragmove(d) {
d.px = d3.event.x, d.py = d3.event.y;
force.resume();
}
return d3.rebind(force, event, "on");
};
function d3_layout_forceDragstart(d) {
d.fixed |= 2;
}
function d3_layout_forceDragend(d) {
d.fixed &= ~6;
}
function d3_layout_forceMouseover(d) {
d.fixed |= 4;
d.px = d.x, d.py = d.y;
}
function d3_layout_forceMouseout(d) {
d.fixed &= ~4;
}
function d3_layout_forceAccumulate(quad, alpha, charges) {
var cx = 0, cy = 0;
quad.charge = 0;
if (!quad.leaf) {
var nodes = quad.nodes, n = nodes.length, i = -1, c;
while (++i < n) {
c = nodes[i];
if (c == null) continue;
d3_layout_forceAccumulate(c, alpha, charges);
quad.charge += c.charge;
cx += c.charge * c.cx;
cy += c.charge * c.cy;
}
}
if (quad.point) {
if (!quad.leaf) {
quad.point.x += Math.random() - .5;
quad.point.y += Math.random() - .5;
}
var k = alpha * charges[quad.point.index];
quad.charge += quad.pointCharge = k;
cx += k * quad.point.x;
cy += k * quad.point.y;
}
quad.cx = cx / quad.charge;
quad.cy = cy / quad.charge;
}
var d3_layout_forceLinkDistance = 20, d3_layout_forceLinkStrength = 1;
d3.layout.hierarchy = function() {
var sort = d3_layout_hierarchySort, children = d3_layout_hierarchyChildren, value = d3_layout_hierarchyValue;
function recurse(node, depth, nodes) {
var childs = children.call(hierarchy, node, depth);
node.depth = depth;
nodes.push(node);
if (childs && (n = childs.length)) {
var i = -1, n, c = node.children = [], v = 0, j = depth + 1, d;
while (++i < n) {
d = recurse(childs[i], j, nodes);
d.parent = node;
c.push(d);
v += d.value;
}
if (sort) c.sort(sort);
if (value) node.value = v;
} else if (value) {
node.value = +value.call(hierarchy, node, depth) || 0;
}
return node;
}
function revalue(node, depth) {
var children = node.children, v = 0;
if (children && (n = children.length)) {
var i = -1, n, j = depth + 1;
while (++i < n) v += revalue(children[i], j);
} else if (value) {
v = +value.call(hierarchy, node, depth) || 0;
}
if (value) node.value = v;
return v;
}
function hierarchy(d) {
var nodes = [];
recurse(d, 0, nodes);
return nodes;
}
hierarchy.sort = function(x) {
if (!arguments.length) return sort;
sort = x;
return hierarchy;
};
hierarchy.children = function(x) {
if (!arguments.length) return children;
children = x;
return hierarchy;
};
hierarchy.value = function(x) {
if (!arguments.length) return value;
value = x;
return hierarchy;
};
hierarchy.revalue = function(root) {
revalue(root, 0);
return root;
};
return hierarchy;
};
function d3_layout_hierarchyRebind(object, hierarchy) {
d3.rebind(object, hierarchy, "sort", "children", "value");
object.nodes = object;
object.links = d3_layout_hierarchyLinks;
return object;
}
function d3_layout_hierarchyChildren(d) {
return d.children;
}
function d3_layout_hierarchyValue(d) {
return d.value;
}
function d3_layout_hierarchySort(a, b) {
return b.value - a.value;
}
function d3_layout_hierarchyLinks(nodes) {
return d3.merge(nodes.map(function(parent) {
return (parent.children || []).map(function(child) {
return {
source: parent,
target: child
};
});
}));
}
d3.layout.partition = function() {
var hierarchy = d3.layout.hierarchy(), size = [ 1, 1 ];
function position(node, x, dx, dy) {
var children = node.children;
node.x = x;
node.y = node.depth * dy;
node.dx = dx;
node.dy = dy;
if (children && (n = children.length)) {
var i = -1, n, c, d;
dx = node.value ? dx / node.value : 0;
while (++i < n) {
position(c = children[i], x, d = c.value * dx, dy);
x += d;
}
}
}
function depth(node) {
var children = node.children, d = 0;
if (children && (n = children.length)) {
var i = -1, n;
while (++i < n) d = Math.max(d, depth(children[i]));
}
return 1 + d;
}
function partition(d, i) {
var nodes = hierarchy.call(this, d, i);
position(nodes[0], 0, size[0], size[1] / depth(nodes[0]));
return nodes;
}
partition.size = function(x) {
if (!arguments.length) return size;
size = x;
return partition;
};
return d3_layout_hierarchyRebind(partition, hierarchy);
};
d3.layout.pie = function() {
var value = Number, sort = d3_layout_pieSortByValue, startAngle = 0, endAngle = 2 * π;
function pie(data) {
var values = data.map(function(d, i) {
return +value.call(pie, d, i);
});
var a = +(typeof startAngle === "function" ? startAngle.apply(this, arguments) : startAngle);
var k = ((typeof endAngle === "function" ? endAngle.apply(this, arguments) : endAngle) - a) / d3.sum(values);
var index = d3.range(data.length);
if (sort != null) index.sort(sort === d3_layout_pieSortByValue ? function(i, j) {
return values[j] - values[i];
} : function(i, j) {
return sort(data[i], data[j]);
});
var arcs = [];
index.forEach(function(i) {
var d;
arcs[i] = {
data: data[i],
value: d = values[i],
startAngle: a,
endAngle: a += d * k
};
});
return arcs;
}
pie.value = function(x) {
if (!arguments.length) return value;
value = x;
return pie;
};
pie.sort = function(x) {
if (!arguments.length) return sort;
sort = x;
return pie;
};
pie.startAngle = function(x) {
if (!arguments.length) return startAngle;
startAngle = x;
return pie;
};
pie.endAngle = function(x) {
if (!arguments.length) return endAngle;
endAngle = x;
return pie;
};
return pie;
};
var d3_layout_pieSortByValue = {};
d3.layout.stack = function() {
var values = d3_identity, order = d3_layout_stackOrderDefault, offset = d3_layout_stackOffsetZero, out = d3_layout_stackOut, x = d3_layout_stackX, y = d3_layout_stackY;
function stack(data, index) {
var series = data.map(function(d, i) {
return values.call(stack, d, i);
});
var points = series.map(function(d) {
return d.map(function(v, i) {
return [ x.call(stack, v, i), y.call(stack, v, i) ];
});
});
var orders = order.call(stack, points, index);
series = d3.permute(series, orders);
points = d3.permute(points, orders);
var offsets = offset.call(stack, points, index);
var n = series.length, m = series[0].length, i, j, o;
for (j = 0; j < m; ++j) {
out.call(stack, series[0][j], o = offsets[j], points[0][j][1]);
for (i = 1; i < n; ++i) {
out.call(stack, series[i][j], o += points[i - 1][j][1], points[i][j][1]);
}
}
return data;
}
stack.values = function(x) {
if (!arguments.length) return values;
values = x;
return stack;
};
stack.order = function(x) {
if (!arguments.length) return order;
order = typeof x === "function" ? x : d3_layout_stackOrders.get(x) || d3_layout_stackOrderDefault;
return stack;
};
stack.offset = function(x) {
if (!arguments.length) return offset;
offset = typeof x === "function" ? x : d3_layout_stackOffsets.get(x) || d3_layout_stackOffsetZero;
return stack;
};
stack.x = function(z) {
if (!arguments.length) return x;
x = z;
return stack;
};
stack.y = function(z) {
if (!arguments.length) return y;
y = z;
return stack;
};
stack.out = function(z) {
if (!arguments.length) return out;
out = z;
return stack;
};
return stack;
};
function d3_layout_stackX(d) {
return d.x;
}
function d3_layout_stackY(d) {
return d.y;
}
function d3_layout_stackOut(d, y0, y) {
d.y0 = y0;
d.y = y;
}
var d3_layout_stackOrders = d3.map({
"inside-out": function(data) {
var n = data.length, i, j, max = data.map(d3_layout_stackMaxIndex), sums = data.map(d3_layout_stackReduceSum), index = d3.range(n).sort(function(a, b) {
return max[a] - max[b];
}), top = 0, bottom = 0, tops = [], bottoms = [];
for (i = 0; i < n; ++i) {
j = index[i];
if (top < bottom) {
top += sums[j];
tops.push(j);
} else {
bottom += sums[j];
bottoms.push(j);
}
}
return bottoms.reverse().concat(tops);
},
reverse: function(data) {
return d3.range(data.length).reverse();
},
"default": d3_layout_stackOrderDefault
});
var d3_layout_stackOffsets = d3.map({
silhouette: function(data) {
var n = data.length, m = data[0].length, sums = [], max = 0, i, j, o, y0 = [];
for (j = 0; j < m; ++j) {
for (i = 0, o = 0; i < n; i++) o += data[i][j][1];
if (o > max) max = o;
sums.push(o);
}
for (j = 0; j < m; ++j) {
y0[j] = (max - sums[j]) / 2;
}
return y0;
},
wiggle: function(data) {
var n = data.length, x = data[0], m = x.length, i, j, k, s1, s2, s3, dx, o, o0, y0 = [];
y0[0] = o = o0 = 0;
for (j = 1; j < m; ++j) {
for (i = 0, s1 = 0; i < n; ++i) s1 += data[i][j][1];
for (i = 0, s2 = 0, dx = x[j][0] - x[j - 1][0]; i < n; ++i) {
for (k = 0, s3 = (data[i][j][1] - data[i][j - 1][1]) / (2 * dx); k < i; ++k) {
s3 += (data[k][j][1] - data[k][j - 1][1]) / dx;
}
s2 += s3 * data[i][j][1];
}
y0[j] = o -= s1 ? s2 / s1 * dx : 0;
if (o < o0) o0 = o;
}
for (j = 0; j < m; ++j) y0[j] -= o0;
return y0;
},
expand: function(data) {
var n = data.length, m = data[0].length, k = 1 / n, i, j, o, y0 = [];
for (j = 0; j < m; ++j) {
for (i = 0, o = 0; i < n; i++) o += data[i][j][1];
if (o) for (i = 0; i < n; i++) data[i][j][1] /= o; else for (i = 0; i < n; i++) data[i][j][1] = k;
}
for (j = 0; j < m; ++j) y0[j] = 0;
return y0;
},
zero: d3_layout_stackOffsetZero
});
function d3_layout_stackOrderDefault(data) {
return d3.range(data.length);
}
function d3_layout_stackOffsetZero(data) {
var j = -1, m = data[0].length, y0 = [];
while (++j < m) y0[j] = 0;
return y0;
}
function d3_layout_stackMaxIndex(array) {
var i = 1, j = 0, v = array[0][1], k, n = array.length;
for (;i < n; ++i) {
if ((k = array[i][1]) > v) {
j = i;
v = k;
}
}
return j;
}
function d3_layout_stackReduceSum(d) {
return d.reduce(d3_layout_stackSum, 0);
}
function d3_layout_stackSum(p, d) {
return p + d[1];
}
d3.layout.histogram = function() {
var frequency = true, valuer = Number, ranger = d3_layout_histogramRange, binner = d3_layout_histogramBinSturges;
function histogram(data, i) {
var bins = [], values = data.map(valuer, this), range = ranger.call(this, values, i), thresholds = binner.call(this, range, values, i), bin, i = -1, n = values.length, m = thresholds.length - 1, k = frequency ? 1 : 1 / n, x;
while (++i < m) {
bin = bins[i] = [];
bin.dx = thresholds[i + 1] - (bin.x = thresholds[i]);
bin.y = 0;
}
if (m > 0) {
i = -1;
while (++i < n) {
x = values[i];
if (x >= range[0] && x <= range[1]) {
bin = bins[d3.bisect(thresholds, x, 1, m) - 1];
bin.y += k;
bin.push(data[i]);
}
}
}
return bins;
}
histogram.value = function(x) {
if (!arguments.length) return valuer;
valuer = x;
return histogram;
};
histogram.range = function(x) {
if (!arguments.length) return ranger;
ranger = d3_functor(x);
return histogram;
};
histogram.bins = function(x) {
if (!arguments.length) return binner;
binner = typeof x === "number" ? function(range) {
return d3_layout_histogramBinFixed(range, x);
} : d3_functor(x);
return histogram;
};
histogram.frequency = function(x) {
if (!arguments.length) return frequency;
frequency = !!x;
return histogram;
};
return histogram;
};
function d3_layout_histogramBinSturges(range, values) {
return d3_layout_histogramBinFixed(range, Math.ceil(Math.log(values.length) / Math.LN2 + 1));
}
function d3_layout_histogramBinFixed(range, n) {
var x = -1, b = +range[0], m = (range[1] - b) / n, f = [];
while (++x <= n) f[x] = m * x + b;
return f;
}
function d3_layout_histogramRange(values) {
return [ d3.min(values), d3.max(values) ];
}
d3.layout.tree = function() {
var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = false;
function tree(d, i) {
var nodes = hierarchy.call(this, d, i), root = nodes[0];
function firstWalk(node, previousSibling) {
var children = node.children, layout = node._tree;
if (children && (n = children.length)) {
var n, firstChild = children[0], previousChild, ancestor = firstChild, child, i = -1;
while (++i < n) {
child = children[i];
firstWalk(child, previousChild);
ancestor = apportion(child, previousChild, ancestor);
previousChild = child;
}
d3_layout_treeShift(node);
var midpoint = .5 * (firstChild._tree.prelim + child._tree.prelim);
if (previousSibling) {
layout.prelim = previousSibling._tree.prelim + separation(node, previousSibling);
layout.mod = layout.prelim - midpoint;
} else {
layout.prelim = midpoint;
}
} else {
if (previousSibling) {
layout.prelim = previousSibling._tree.prelim + separation(node, previousSibling);
}
}
}
function secondWalk(node, x) {
node.x = node._tree.prelim + x;
var children = node.children;
if (children && (n = children.length)) {
var i = -1, n;
x += node._tree.mod;
while (++i < n) {
secondWalk(children[i], x);
}
}
}
function apportion(node, previousSibling, ancestor) {
if (previousSibling) {
var vip = node, vop = node, vim = previousSibling, vom = node.parent.children[0], sip = vip._tree.mod, sop = vop._tree.mod, sim = vim._tree.mod, som = vom._tree.mod, shift;
while (vim = d3_layout_treeRight(vim), vip = d3_layout_treeLeft(vip), vim && vip) {
vom = d3_layout_treeLeft(vom);
vop = d3_layout_treeRight(vop);
vop._tree.ancestor = node;
shift = vim._tree.prelim + sim - vip._tree.prelim - sip + separation(vim, vip);
if (shift > 0) {
d3_layout_treeMove(d3_layout_treeAncestor(vim, node, ancestor), node, shift);
sip += shift;
sop += shift;
}
sim += vim._tree.mod;
sip += vip._tree.mod;
som += vom._tree.mod;
sop += vop._tree.mod;
}
if (vim && !d3_layout_treeRight(vop)) {
vop._tree.thread = vim;
vop._tree.mod += sim - sop;
}
if (vip && !d3_layout_treeLeft(vom)) {
vom._tree.thread = vip;
vom._tree.mod += sip - som;
ancestor = node;
}
}
return ancestor;
}
d3_layout_treeVisitAfter(root, function(node, previousSibling) {
node._tree = {
ancestor: node,
prelim: 0,
mod: 0,
change: 0,
shift: 0,
number: previousSibling ? previousSibling._tree.number + 1 : 0
};
});
firstWalk(root);
secondWalk(root, -root._tree.prelim);
var left = d3_layout_treeSearch(root, d3_layout_treeLeftmost), right = d3_layout_treeSearch(root, d3_layout_treeRightmost), deep = d3_layout_treeSearch(root, d3_layout_treeDeepest), x0 = left.x - separation(left, right) / 2, x1 = right.x + separation(right, left) / 2, y1 = deep.depth || 1;
d3_layout_treeVisitAfter(root, nodeSize ? function(node) {
node.x *= size[0];
node.y = node.depth * size[1];
delete node._tree;
} : function(node) {
node.x = (node.x - x0) / (x1 - x0) * size[0];
node.y = node.depth / y1 * size[1];
delete node._tree;
});
return nodes;
}
tree.separation = function(x) {
if (!arguments.length) return separation;
separation = x;
return tree;
};
tree.size = function(x) {
if (!arguments.length) return nodeSize ? null : size;
nodeSize = (size = x) == null;
return tree;
};
tree.nodeSize = function(x) {
if (!arguments.length) return nodeSize ? size : null;
nodeSize = (size = x) != null;
return tree;
};
return d3_layout_hierarchyRebind(tree, hierarchy);
};
function d3_layout_treeSeparation(a, b) {
return a.parent == b.parent ? 1 : 2;
}
function d3_layout_treeLeft(node) {
var children = node.children;
return children && children.length ? children[0] : node._tree.thread;
}
function d3_layout_treeRight(node) {
var children = node.children, n;
return children && (n = children.length) ? children[n - 1] : node._tree.thread;
}
function d3_layout_treeSearch(node, compare) {
var children = node.children;
if (children && (n = children.length)) {
var child, n, i = -1;
while (++i < n) {
if (compare(child = d3_layout_treeSearch(children[i], compare), node) > 0) {
node = child;
}
}
}
return node;
}
function d3_layout_treeRightmost(a, b) {
return a.x - b.x;
}
function d3_layout_treeLeftmost(a, b) {
return b.x - a.x;
}
function d3_layout_treeDeepest(a, b) {
return a.depth - b.depth;
}
function d3_layout_treeVisitAfter(node, callback) {
function visit(node, previousSibling) {
var children = node.children;
if (children && (n = children.length)) {
var child, previousChild = null, i = -1, n;
while (++i < n) {
child = children[i];
visit(child, previousChild);
previousChild = child;
}
}
callback(node, previousSibling);
}
visit(node, null);
}
function d3_layout_treeShift(node) {
var shift = 0, change = 0, children = node.children, i = children.length, child;
while (--i >= 0) {
child = children[i]._tree;
child.prelim += shift;
child.mod += shift;
shift += child.shift + (change += child.change);
}
}
function d3_layout_treeMove(ancestor, node, shift) {
ancestor = ancestor._tree;
node = node._tree;
var change = shift / (node.number - ancestor.number);
ancestor.change += change;
node.change -= change;
node.shift += shift;
node.prelim += shift;
node.mod += shift;
}
function d3_layout_treeAncestor(vim, node, ancestor) {
return vim._tree.ancestor.parent == node.parent ? vim._tree.ancestor : ancestor;
}
d3.layout.pack = function() {
var hierarchy = d3.layout.hierarchy().sort(d3_layout_packSort), padding = 0, size = [ 1, 1 ], radius;
function pack(d, i) {
var nodes = hierarchy.call(this, d, i), root = nodes[0], w = size[0], h = size[1], r = radius == null ? Math.sqrt : typeof radius === "function" ? radius : function() {
return radius;
};
root.x = root.y = 0;
d3_layout_treeVisitAfter(root, function(d) {
d.r = +r(d.value);
});
d3_layout_treeVisitAfter(root, d3_layout_packSiblings);
if (padding) {
var dr = padding * (radius ? 1 : Math.max(2 * root.r / w, 2 * root.r / h)) / 2;
d3_layout_treeVisitAfter(root, function(d) {
d.r += dr;
});
d3_layout_treeVisitAfter(root, d3_layout_packSiblings);
d3_layout_treeVisitAfter(root, function(d) {
d.r -= dr;
});
}
d3_layout_packTransform(root, w / 2, h / 2, radius ? 1 : 1 / Math.max(2 * root.r / w, 2 * root.r / h));
return nodes;
}
pack.size = function(_) {
if (!arguments.length) return size;
size = _;
return pack;
};
pack.radius = function(_) {
if (!arguments.length) return radius;
radius = _ == null || typeof _ === "function" ? _ : +_;
return pack;
};
pack.padding = function(_) {
if (!arguments.length) return padding;
padding = +_;
return pack;
};
return d3_layout_hierarchyRebind(pack, hierarchy);
};
function d3_layout_packSort(a, b) {
return a.value - b.value;
}
function d3_layout_packInsert(a, b) {
var c = a._pack_next;
a._pack_next = b;
b._pack_prev = a;
b._pack_next = c;
c._pack_prev = b;
}
function d3_layout_packSplice(a, b) {
a._pack_next = b;
b._pack_prev = a;
}
function d3_layout_packIntersects(a, b) {
var dx = b.x - a.x, dy = b.y - a.y, dr = a.r + b.r;
return .999 * dr * dr > dx * dx + dy * dy;
}
function d3_layout_packSiblings(node) {
if (!(nodes = node.children) || !(n = nodes.length)) return;
var nodes, xMin = Infinity, xMax = -Infinity, yMin = Infinity, yMax = -Infinity, a, b, c, i, j, k, n;
function bound(node) {
xMin = Math.min(node.x - node.r, xMin);
xMax = Math.max(node.x + node.r, xMax);
yMin = Math.min(node.y - node.r, yMin);
yMax = Math.max(node.y + node.r, yMax);
}
nodes.forEach(d3_layout_packLink);
a = nodes[0];
a.x = -a.r;
a.y = 0;
bound(a);
if (n > 1) {
b = nodes[1];
b.x = b.r;
b.y = 0;
bound(b);
if (n > 2) {
c = nodes[2];
d3_layout_packPlace(a, b, c);
bound(c);
d3_layout_packInsert(a, c);
a._pack_prev = c;
d3_layout_packInsert(c, b);
b = a._pack_next;
for (i = 3; i < n; i++) {
d3_layout_packPlace(a, b, c = nodes[i]);
var isect = 0, s1 = 1, s2 = 1;
for (j = b._pack_next; j !== b; j = j._pack_next, s1++) {
if (d3_layout_packIntersects(j, c)) {
isect = 1;
break;
}
}
if (isect == 1) {
for (k = a._pack_prev; k !== j._pack_prev; k = k._pack_prev, s2++) {
if (d3_layout_packIntersects(k, c)) {
break;
}
}
}
if (isect) {
if (s1 < s2 || s1 == s2 && b.r < a.r) d3_layout_packSplice(a, b = j); else d3_layout_packSplice(a = k, b);
i--;
} else {
d3_layout_packInsert(a, c);
b = c;
bound(c);
}
}
}
}
var cx = (xMin + xMax) / 2, cy = (yMin + yMax) / 2, cr = 0;
for (i = 0; i < n; i++) {
c = nodes[i];
c.x -= cx;
c.y -= cy;
cr = Math.max(cr, c.r + Math.sqrt(c.x * c.x + c.y * c.y));
}
node.r = cr;
nodes.forEach(d3_layout_packUnlink);
}
function d3_layout_packLink(node) {
node._pack_next = node._pack_prev = node;
}
function d3_layout_packUnlink(node) {
delete node._pack_next;
delete node._pack_prev;
}
function d3_layout_packTransform(node, x, y, k) {
var children = node.children;
node.x = x += k * node.x;
node.y = y += k * node.y;
node.r *= k;
if (children) {
var i = -1, n = children.length;
while (++i < n) d3_layout_packTransform(children[i], x, y, k);
}
}
function d3_layout_packPlace(a, b, c) {
var db = a.r + c.r, dx = b.x - a.x, dy = b.y - a.y;
if (db && (dx || dy)) {
var da = b.r + c.r, dc = dx * dx + dy * dy;
da *= da;
db *= db;
var x = .5 + (db - da) / (2 * dc), y = Math.sqrt(Math.max(0, 2 * da * (db + dc) - (db -= dc) * db - da * da)) / (2 * dc);
c.x = a.x + x * dx + y * dy;
c.y = a.y + x * dy - y * dx;
} else {
c.x = a.x + db;
c.y = a.y;
}
}
d3.layout.cluster = function() {
var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = false;
function cluster(d, i) {
var nodes = hierarchy.call(this, d, i), root = nodes[0], previousNode, x = 0;
d3_layout_treeVisitAfter(root, function(node) {
var children = node.children;
if (children && children.length) {
node.x = d3_layout_clusterX(children);
node.y = d3_layout_clusterY(children);
} else {
node.x = previousNode ? x += separation(node, previousNode) : 0;
node.y = 0;
previousNode = node;
}
});
var left = d3_layout_clusterLeft(root), right = d3_layout_clusterRight(root), x0 = left.x - separation(left, right) / 2, x1 = right.x + separation(right, left) / 2;
d3_layout_treeVisitAfter(root, nodeSize ? function(node) {
node.x = (node.x - root.x) * size[0];
node.y = (root.y - node.y) * size[1];
} : function(node) {
node.x = (node.x - x0) / (x1 - x0) * size[0];
node.y = (1 - (root.y ? node.y / root.y : 1)) * size[1];
});
return nodes;
}
cluster.separation = function(x) {
if (!arguments.length) return separation;
separation = x;
return cluster;
};
cluster.size = function(x) {
if (!arguments.length) return nodeSize ? null : size;
nodeSize = (size = x) == null;
return cluster;
};
cluster.nodeSize = function(x) {
if (!arguments.length) return nodeSize ? size : null;
nodeSize = (size = x) != null;
return cluster;
};
return d3_layout_hierarchyRebind(cluster, hierarchy);
};
function d3_layout_clusterY(children) {
return 1 + d3.max(children, function(child) {
return child.y;
});
}
function d3_layout_clusterX(children) {
return children.reduce(function(x, child) {
return x + child.x;
}, 0) / children.length;
}
function d3_layout_clusterLeft(node) {
var children = node.children;
return children && children.length ? d3_layout_clusterLeft(children[0]) : node;
}
function d3_layout_clusterRight(node) {
var children = node.children, n;
return children && (n = children.length) ? d3_layout_clusterRight(children[n - 1]) : node;
}
d3.layout.treemap = function() {
var hierarchy = d3.layout.hierarchy(), round = Math.round, size = [ 1, 1 ], padding = null, pad = d3_layout_treemapPadNull, sticky = false, stickies, mode = "squarify", ratio = .5 * (1 + Math.sqrt(5));
function scale(children, k) {
var i = -1, n = children.length, child, area;
while (++i < n) {
area = (child = children[i]).value * (k < 0 ? 0 : k);
child.area = isNaN(area) || area <= 0 ? 0 : area;
}
}
function squarify(node) {
var children = node.children;
if (children && children.length) {
var rect = pad(node), row = [], remaining = children.slice(), child, best = Infinity, score, u = mode === "slice" ? rect.dx : mode === "dice" ? rect.dy : mode === "slice-dice" ? node.depth & 1 ? rect.dy : rect.dx : Math.min(rect.dx, rect.dy), n;
scale(remaining, rect.dx * rect.dy / node.value);
row.area = 0;
while ((n = remaining.length) > 0) {
row.push(child = remaining[n - 1]);
row.area += child.area;
if (mode !== "squarify" || (score = worst(row, u)) <= best) {
remaining.pop();
best = score;
} else {
row.area -= row.pop().area;
position(row, u, rect, false);
u = Math.min(rect.dx, rect.dy);
row.length = row.area = 0;
best = Infinity;
}
}
if (row.length) {
position(row, u, rect, true);
row.length = row.area = 0;
}
children.forEach(squarify);
}
}
function stickify(node) {
var children = node.children;
if (children && children.length) {
var rect = pad(node), remaining = children.slice(), child, row = [];
scale(remaining, rect.dx * rect.dy / node.value);
row.area = 0;
while (child = remaining.pop()) {
row.push(child);
row.area += child.area;
if (child.z != null) {
position(row, child.z ? rect.dx : rect.dy, rect, !remaining.length);
row.length = row.area = 0;
}
}
children.forEach(stickify);
}
}
function worst(row, u) {
var s = row.area, r, rmax = 0, rmin = Infinity, i = -1, n = row.length;
while (++i < n) {
if (!(r = row[i].area)) continue;
if (r < rmin) rmin = r;
if (r > rmax) rmax = r;
}
s *= s;
u *= u;
return s ? Math.max(u * rmax * ratio / s, s / (u * rmin * ratio)) : Infinity;
}
function position(row, u, rect, flush) {
var i = -1, n = row.length, x = rect.x, y = rect.y, v = u ? round(row.area / u) : 0, o;
if (u == rect.dx) {
if (flush || v > rect.dy) v = rect.dy;
while (++i < n) {
o = row[i];
o.x = x;
o.y = y;
o.dy = v;
x += o.dx = Math.min(rect.x + rect.dx - x, v ? round(o.area / v) : 0);
}
o.z = true;
o.dx += rect.x + rect.dx - x;
rect.y += v;
rect.dy -= v;
} else {
if (flush || v > rect.dx) v = rect.dx;
while (++i < n) {
o = row[i];
o.x = x;
o.y = y;
o.dx = v;
y += o.dy = Math.min(rect.y + rect.dy - y, v ? round(o.area / v) : 0);
}
o.z = false;
o.dy += rect.y + rect.dy - y;
rect.x += v;
rect.dx -= v;
}
}
function treemap(d) {
var nodes = stickies || hierarchy(d), root = nodes[0];
root.x = 0;
root.y = 0;
root.dx = size[0];
root.dy = size[1];
if (stickies) hierarchy.revalue(root);
scale([ root ], root.dx * root.dy / root.value);
(stickies ? stickify : squarify)(root);
if (sticky) stickies = nodes;
return nodes;
}
treemap.size = function(x) {
if (!arguments.length) return size;
size = x;
return treemap;
};
treemap.padding = function(x) {
if (!arguments.length) return padding;
function padFunction(node) {
var p = x.call(treemap, node, node.depth);
return p == null ? d3_layout_treemapPadNull(node) : d3_layout_treemapPad(node, typeof p === "number" ? [ p, p, p, p ] : p);
}
function padConstant(node) {
return d3_layout_treemapPad(node, x);
}
var type;
pad = (padding = x) == null ? d3_layout_treemapPadNull : (type = typeof x) === "function" ? padFunction : type === "number" ? (x = [ x, x, x, x ],
padConstant) : padConstant;
return treemap;
};
treemap.round = function(x) {
if (!arguments.length) return round != Number;
round = x ? Math.round : Number;
return treemap;
};
treemap.sticky = function(x) {
if (!arguments.length) return sticky;
sticky = x;
stickies = null;
return treemap;
};
treemap.ratio = function(x) {
if (!arguments.length) return ratio;
ratio = x;
return treemap;
};
treemap.mode = function(x) {
if (!arguments.length) return mode;
mode = x + "";
return treemap;
};
return d3_layout_hierarchyRebind(treemap, hierarchy);
};
function d3_layout_treemapPadNull(node) {
return {
x: node.x,
y: node.y,
dx: node.dx,
dy: node.dy
};
}
function d3_layout_treemapPad(node, padding) {
var x = node.x + padding[3], y = node.y + padding[0], dx = node.dx - padding[1] - padding[3], dy = node.dy - padding[0] - padding[2];
if (dx < 0) {
x += dx / 2;
dx = 0;
}
if (dy < 0) {
y += dy / 2;
dy = 0;
}
return {
x: x,
y: y,
dx: dx,
dy: dy
};
}
d3.random = {
normal: function(µ, σ) {
var n = arguments.length;
if (n < 2) σ = 1;
if (n < 1) µ = 0;
return function() {
var x, y, r;
do {
x = Math.random() * 2 - 1;
y = Math.random() * 2 - 1;
r = x * x + y * y;
} while (!r || r > 1);
return µ + σ * x * Math.sqrt(-2 * Math.log(r) / r);
};
},
logNormal: function() {
var random = d3.random.normal.apply(d3, arguments);
return function() {
return Math.exp(random());
};
},
irwinHall: function(m) {
return function() {
for (var s = 0, j = 0; j < m; j++) s += Math.random();
return s / m;
};
}
};
d3.scale = {};
function d3_scaleExtent(domain) {
var start = domain[0], stop = domain[domain.length - 1];
return start < stop ? [ start, stop ] : [ stop, start ];
}
function d3_scaleRange(scale) {
return scale.rangeExtent ? scale.rangeExtent() : d3_scaleExtent(scale.range());
}
function d3_scale_bilinear(domain, range, uninterpolate, interpolate) {
var u = uninterpolate(domain[0], domain[1]), i = interpolate(range[0], range[1]);
return function(x) {
return i(u(x));
};
}
function d3_scale_nice(domain, nice) {
var i0 = 0, i1 = domain.length - 1, x0 = domain[i0], x1 = domain[i1], dx;
if (x1 < x0) {
dx = i0, i0 = i1, i1 = dx;
dx = x0, x0 = x1, x1 = dx;
}
domain[i0] = nice.floor(x0);
domain[i1] = nice.ceil(x1);
return domain;
}
function d3_scale_niceStep(step) {
return step ? {
floor: function(x) {
return Math.floor(x / step) * step;
},
ceil: function(x) {
return Math.ceil(x / step) * step;
}
} : d3_scale_niceIdentity;
}
var d3_scale_niceIdentity = {
floor: d3_identity,
ceil: d3_identity
};
function d3_scale_polylinear(domain, range, uninterpolate, interpolate) {
var u = [], i = [], j = 0, k = Math.min(domain.length, range.length) - 1;
if (domain[k] < domain[0]) {
domain = domain.slice().reverse();
range = range.slice().reverse();
}
while (++j <= k) {
u.push(uninterpolate(domain[j - 1], domain[j]));
i.push(interpolate(range[j - 1], range[j]));
}
return function(x) {
var j = d3.bisect(domain, x, 1, k) - 1;
return i[j](u[j](x));
};
}
d3.scale.linear = function() {
return d3_scale_linear([ 0, 1 ], [ 0, 1 ], d3_interpolate, false);
};
function d3_scale_linear(domain, range, interpolate, clamp) {
var output, input;
function rescale() {
var linear = Math.min(domain.length, range.length) > 2 ? d3_scale_polylinear : d3_scale_bilinear, uninterpolate = clamp ? d3_uninterpolateClamp : d3_uninterpolateNumber;
output = linear(domain, range, uninterpolate, interpolate);
input = linear(range, domain, uninterpolate, d3_interpolate);
return scale;
}
function scale(x) {
return output(x);
}
scale.invert = function(y) {
return input(y);
};
scale.domain = function(x) {
if (!arguments.length) return domain;
domain = x.map(Number);
return rescale();
};
scale.range = function(x) {
if (!arguments.length) return range;
range = x;
return rescale();
};
scale.rangeRound = function(x) {
return scale.range(x).interpolate(d3_interpolateRound);
};
scale.clamp = function(x) {
if (!arguments.length) return clamp;
clamp = x;
return rescale();
};
scale.interpolate = function(x) {
if (!arguments.length) return interpolate;
interpolate = x;
return rescale();
};
scale.ticks = function(m) {
return d3_scale_linearTicks(domain, m);
};
scale.tickFormat = function(m, format) {
return d3_scale_linearTickFormat(domain, m, format);
};
scale.nice = function(m) {
d3_scale_linearNice(domain, m);
return rescale();
};
scale.copy = function() {
return d3_scale_linear(domain, range, interpolate, clamp);
};
return rescale();
}
function d3_scale_linearRebind(scale, linear) {
return d3.rebind(scale, linear, "range", "rangeRound", "interpolate", "clamp");
}
function d3_scale_linearNice(domain, m) {
return d3_scale_nice(domain, d3_scale_niceStep(m ? d3_scale_linearTickRange(domain, m)[2] : d3_scale_linearNiceStep(domain)));
}
function d3_scale_linearNiceStep(domain) {
var extent = d3_scaleExtent(domain), span = extent[1] - extent[0];
return Math.pow(10, Math.round(Math.log(span) / Math.LN10) - 1);
}
function d3_scale_linearTickRange(domain, m) {
var extent = d3_scaleExtent(domain), span = extent[1] - extent[0], step = Math.pow(10, Math.floor(Math.log(span / m) / Math.LN10)), err = m / span * step;
if (err <= .15) step *= 10; else if (err <= .35) step *= 5; else if (err <= .75) step *= 2;
extent[0] = Math.ceil(extent[0] / step) * step;
extent[1] = Math.floor(extent[1] / step) * step + step * .5;
extent[2] = step;
return extent;
}
function d3_scale_linearTicks(domain, m) {
return d3.range.apply(d3, d3_scale_linearTickRange(domain, m));
}
function d3_scale_linearTickFormat(domain, m, format) {
var precision = -Math.floor(Math.log(d3_scale_linearTickRange(domain, m)[2]) / Math.LN10 + .01);
return d3.format(format ? format.replace(d3_format_re, function(a, b, c, d, e, f, g, h, i, j) {
return [ b, c, d, e, f, g, h, i || "." + (precision - (j === "%") * 2), j ].join("");
}) : ",." + precision + "f");
}
d3.scale.log = function() {
return d3_scale_log(d3.scale.linear().domain([ 0, Math.LN10 ]), 10, d3_scale_logp, d3_scale_powp, [ 1, 10 ]);
};
function d3_scale_log(linear, base, log, pow, domain) {
function scale(x) {
return linear(log(x));
}
scale.invert = function(x) {
return pow(linear.invert(x));
};
scale.domain = function(x) {
if (!arguments.length) return domain;
if (x[0] < 0) log = d3_scale_logn, pow = d3_scale_pown; else log = d3_scale_logp,
pow = d3_scale_powp;
linear.domain((domain = x.map(Number)).map(log));
return scale;
};
scale.base = function(_) {
if (!arguments.length) return base;
base = +_;
return scale;
};
scale.nice = function() {
function floor(x) {
return Math.pow(base, Math.floor(Math.log(x) / Math.log(base)));
}
function ceil(x) {
return Math.pow(base, Math.ceil(Math.log(x) / Math.log(base)));
}
linear.domain(d3_scale_nice(domain, log === d3_scale_logp ? {
floor: floor,
ceil: ceil
} : {
floor: function(x) {
return -ceil(-x);
},
ceil: function(x) {
return -floor(-x);
}
}).map(log));
return scale;
};
scale.ticks = function() {
var extent = d3_scaleExtent(linear.domain()), ticks = [];
if (extent.every(isFinite)) {
var b = Math.log(base), i = Math.floor(extent[0] / b), j = Math.ceil(extent[1] / b), u = pow(extent[0]), v = pow(extent[1]), n = base % 1 ? 2 : base;
if (log === d3_scale_logn) {
ticks.push(-Math.pow(base, -i));
for (;i++ < j; ) for (var k = n - 1; k > 0; k--) ticks.push(-Math.pow(base, -i) * k);
} else {
for (;i < j; i++) for (var k = 1; k < n; k++) ticks.push(Math.pow(base, i) * k);
ticks.push(Math.pow(base, i));
}
for (i = 0; ticks[i] < u; i++) {}
for (j = ticks.length; ticks[j - 1] > v; j--) {}
ticks = ticks.slice(i, j);
}
return ticks;
};
scale.tickFormat = function(n, format) {
if (!arguments.length) return d3_scale_logFormat;
if (arguments.length < 2) format = d3_scale_logFormat; else if (typeof format !== "function") format = d3.format(format);
var b = Math.log(base), k = Math.max(.1, n / scale.ticks().length), f = log === d3_scale_logn ? (e = -1e-12,
Math.floor) : (e = 1e-12, Math.ceil), e;
return function(d) {
return d / pow(b * f(log(d) / b + e)) <= k ? format(d) : "";
};
};
scale.copy = function() {
return d3_scale_log(linear.copy(), base, log, pow, domain);
};
return d3_scale_linearRebind(scale, linear);
}
var d3_scale_logFormat = d3.format(".0e");
function d3_scale_logp(x) {
return Math.log(x < 0 ? 0 : x);
}
function d3_scale_powp(x) {
return Math.exp(x);
}
function d3_scale_logn(x) {
return -Math.log(x > 0 ? 0 : -x);
}
function d3_scale_pown(x) {
return -Math.exp(-x);
}
d3.scale.pow = function() {
return d3_scale_pow(d3.scale.linear(), 1, [ 0, 1 ]);
};
function d3_scale_pow(linear, exponent, domain) {
var powp = d3_scale_powPow(exponent), powb = d3_scale_powPow(1 / exponent);
function scale(x) {
return linear(powp(x));
}
scale.invert = function(x) {
return powb(linear.invert(x));
};
scale.domain = function(x) {
if (!arguments.length) return domain;
linear.domain((domain = x.map(Number)).map(powp));
return scale;
};
scale.ticks = function(m) {
return d3_scale_linearTicks(domain, m);
};
scale.tickFormat = function(m, format) {
return d3_scale_linearTickFormat(domain, m, format);
};
scale.nice = function(m) {
return scale.domain(d3_scale_linearNice(domain, m));
};
scale.exponent = function(x) {
if (!arguments.length) return exponent;
powp = d3_scale_powPow(exponent = x);
powb = d3_scale_powPow(1 / exponent);
linear.domain(domain.map(powp));
return scale;
};
scale.copy = function() {
return d3_scale_pow(linear.copy(), exponent, domain);
};
return d3_scale_linearRebind(scale, linear);
}
function d3_scale_powPow(e) {
return function(x) {
return x < 0 ? -Math.pow(-x, e) : Math.pow(x, e);
};
}
d3.scale.sqrt = function() {
return d3.scale.pow().exponent(.5);
};
d3.scale.ordinal = function() {
return d3_scale_ordinal([], {
t: "range",
a: [ [] ]
});
};
function d3_scale_ordinal(domain, ranger) {
var index, range, rangeBand;
function scale(x) {
return range[((index.get(x) || index.set(x, domain.push(x))) - 1) % range.length];
}
function steps(start, step) {
return d3.range(domain.length).map(function(i) {
return start + step * i;
});
}
scale.domain = function(x) {
if (!arguments.length) return domain;
domain = [];
index = new d3_Map();
var i = -1, n = x.length, xi;
while (++i < n) if (!index.has(xi = x[i])) index.set(xi, domain.push(xi));
return scale[ranger.t].apply(scale, ranger.a);
};
scale.range = function(x) {
if (!arguments.length) return range;
range = x;
rangeBand = 0;
ranger = {
t: "range",
a: arguments
};
return scale;
};
scale.rangePoints = function(x, padding) {
if (arguments.length < 2) padding = 0;
var start = x[0], stop = x[1], step = (stop - start) / (Math.max(1, domain.length - 1) + padding);
range = steps(domain.length < 2 ? (start + stop) / 2 : start + step * padding / 2, step);
rangeBand = 0;
ranger = {
t: "rangePoints",
a: arguments
};
return scale;
};
scale.rangeBands = function(x, padding, outerPadding) {
if (arguments.length < 2) padding = 0;
if (arguments.length < 3) outerPadding = padding;
var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = (stop - start) / (domain.length - padding + 2 * outerPadding);
range = steps(start + step * outerPadding, step);
if (reverse) range.reverse();
rangeBand = step * (1 - padding);
ranger = {
t: "rangeBands",
a: arguments
};
return scale;
};
scale.rangeRoundBands = function(x, padding, outerPadding) {
if (arguments.length < 2) padding = 0;
if (arguments.length < 3) outerPadding = padding;
var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = Math.floor((stop - start) / (domain.length - padding + 2 * outerPadding)), error = stop - start - (domain.length - padding) * step;
range = steps(start + Math.round(error / 2), step);
if (reverse) range.reverse();
rangeBand = Math.round(step * (1 - padding));
ranger = {
t: "rangeRoundBands",
a: arguments
};
return scale;
};
scale.rangeBand = function() {
return rangeBand;
};
scale.rangeExtent = function() {
return d3_scaleExtent(ranger.a[0]);
};
scale.copy = function() {
return d3_scale_ordinal(domain, ranger);
};
return scale.domain(domain);
}
d3.scale.category10 = function() {
return d3.scale.ordinal().range(d3_category10);
};
d3.scale.category20 = function() {
return d3.scale.ordinal().range(d3_category20);
};
d3.scale.category20b = function() {
return d3.scale.ordinal().range(d3_category20b);
};
d3.scale.category20c = function() {
return d3.scale.ordinal().range(d3_category20c);
};
var d3_category10 = [ "#1f77b4", "#ff7f0e", "#2ca02c", "#d62728", "#9467bd", "#8c564b", "#e377c2", "#7f7f7f", "#bcbd22", "#17becf" ];
var d3_category20 = [ "#1f77b4", "#aec7e8", "#ff7f0e", "#ffbb78", "#2ca02c", "#98df8a", "#d62728", "#ff9896", "#9467bd", "#c5b0d5", "#8c564b", "#c49c94", "#e377c2", "#f7b6d2", "#7f7f7f", "#c7c7c7", "#bcbd22", "#dbdb8d", "#17becf", "#9edae5" ];
var d3_category20b = [ "#393b79", "#5254a3", "#6b6ecf", "#9c9ede", "#637939", "#8ca252", "#b5cf6b", "#cedb9c", "#8c6d31", "#bd9e39", "#e7ba52", "#e7cb94", "#843c39", "#ad494a", "#d6616b", "#e7969c", "#7b4173", "#a55194", "#ce6dbd", "#de9ed6" ];
var d3_category20c = [ "#3182bd", "#6baed6", "#9ecae1", "#c6dbef", "#e6550d", "#fd8d3c", "#fdae6b", "#fdd0a2", "#31a354", "#74c476", "#a1d99b", "#c7e9c0", "#756bb1", "#9e9ac8", "#bcbddc", "#dadaeb", "#636363", "#969696", "#bdbdbd", "#d9d9d9" ];
d3.scale.quantile = function() {
return d3_scale_quantile([], []);
};
function d3_scale_quantile(domain, range) {
var thresholds;
function rescale() {
var k = 0, q = range.length;
thresholds = [];
while (++k < q) thresholds[k - 1] = d3.quantile(domain, k / q);
return scale;
}
function scale(x) {
if (!isNaN(x = +x)) return range[d3.bisect(thresholds, x)];
}
scale.domain = function(x) {
if (!arguments.length) return domain;
domain = x.filter(function(d) {
return !isNaN(d);
}).sort(d3.ascending);
return rescale();
};
scale.range = function(x) {
if (!arguments.length) return range;
range = x;
return rescale();
};
scale.quantiles = function() {
return thresholds;
};
scale.copy = function() {
return d3_scale_quantile(domain, range);
};
return rescale();
}
d3.scale.quantize = function() {
return d3_scale_quantize(0, 1, [ 0, 1 ]);
};
function d3_scale_quantize(x0, x1, range) {
var kx, i;
function scale(x) {
return range[Math.max(0, Math.min(i, Math.floor(kx * (x - x0))))];
}
function rescale() {
kx = range.length / (x1 - x0);
i = range.length - 1;
return scale;
}
scale.domain = function(x) {
if (!arguments.length) return [ x0, x1 ];
x0 = +x[0];
x1 = +x[x.length - 1];
return rescale();
};
scale.range = function(x) {
if (!arguments.length) return range;
range = x;
return rescale();
};
scale.copy = function() {
return d3_scale_quantize(x0, x1, range);
};
scale.invertExtent = function(y) {
y = range.indexOf(y);
y = y < 0 ? NaN : y / kx + x0;
return [ y, y + 1 / kx ];
};
return rescale();
}
d3.scale.threshold = function() {
return d3_scale_threshold([ .5 ], [ 0, 1 ]);
};
function d3_scale_threshold(domain, range) {
function scale(x) {
if (x <= x) return range[d3.bisect(domain, x)];
}
scale.domain = function(_) {
if (!arguments.length) return domain;
domain = _;
return scale;
};
scale.range = function(_) {
if (!arguments.length) return range;
range = _;
return scale;
};
scale.invertExtent = function(y) {
y = range.indexOf(y);
return [ domain[y - 1], domain[y] ];
};
scale.copy = function() {
return d3_scale_threshold(domain, range);
};
return scale;
}
d3.scale.identity = function() {
return d3_scale_identity([ 0, 1 ]);
};
function d3_scale_identity(domain) {
function identity(x) {
return +x;
}
identity.invert = identity;
identity.domain = identity.range = function(x) {
if (!arguments.length) return domain;
domain = x.map(identity);
return identity;
};
identity.ticks = function(m) {
return d3_scale_linearTicks(domain, m);
};
identity.tickFormat = function(m, format) {
return d3_scale_linearTickFormat(domain, m, format);
};
identity.copy = function() {
return d3_scale_identity(domain);
};
return identity;
}
d3.svg.arc = function() {
var innerRadius = d3_svg_arcInnerRadius, outerRadius = d3_svg_arcOuterRadius, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle;
function arc() {
var r0 = innerRadius.apply(this, arguments), r1 = outerRadius.apply(this, arguments), a0 = startAngle.apply(this, arguments) + d3_svg_arcOffset, a1 = endAngle.apply(this, arguments) + d3_svg_arcOffset, da = (a1 < a0 && (da = a0,
a0 = a1, a1 = da), a1 - a0), df = da < π ? "0" : "1", c0 = Math.cos(a0), s0 = Math.sin(a0), c1 = Math.cos(a1), s1 = Math.sin(a1);
return da >= d3_svg_arcMax ? r0 ? "M0," + r1 + "A" + r1 + "," + r1 + " 0 1,1 0," + -r1 + "A" + r1 + "," + r1 + " 0 1,1 0," + r1 + "M0," + r0 + "A" + r0 + "," + r0 + " 0 1,0 0," + -r0 + "A" + r0 + "," + r0 + " 0 1,0 0," + r0 + "Z" : "M0," + r1 + "A" + r1 + "," + r1 + " 0 1,1 0," + -r1 + "A" + r1 + "," + r1 + " 0 1,1 0," + r1 + "Z" : r0 ? "M" + r1 * c0 + "," + r1 * s0 + "A" + r1 + "," + r1 + " 0 " + df + ",1 " + r1 * c1 + "," + r1 * s1 + "L" + r0 * c1 + "," + r0 * s1 + "A" + r0 + "," + r0 + " 0 " + df + ",0 " + r0 * c0 + "," + r0 * s0 + "Z" : "M" + r1 * c0 + "," + r1 * s0 + "A" + r1 + "," + r1 + " 0 " + df + ",1 " + r1 * c1 + "," + r1 * s1 + "L0,0" + "Z";
}
arc.innerRadius = function(v) {
if (!arguments.length) return innerRadius;
innerRadius = d3_functor(v);
return arc;
};
arc.outerRadius = function(v) {
if (!arguments.length) return outerRadius;
outerRadius = d3_functor(v);
return arc;
};
arc.startAngle = function(v) {
if (!arguments.length) return startAngle;
startAngle = d3_functor(v);
return arc;
};
arc.endAngle = function(v) {
if (!arguments.length) return endAngle;
endAngle = d3_functor(v);
return arc;
};
arc.centroid = function() {
var r = (innerRadius.apply(this, arguments) + outerRadius.apply(this, arguments)) / 2, a = (startAngle.apply(this, arguments) + endAngle.apply(this, arguments)) / 2 + d3_svg_arcOffset;
return [ Math.cos(a) * r, Math.sin(a) * r ];
};
return arc;
};
var d3_svg_arcOffset = -π / 2, d3_svg_arcMax = 2 * π - 1e-6;
function d3_svg_arcInnerRadius(d) {
return d.innerRadius;
}
function d3_svg_arcOuterRadius(d) {
return d.outerRadius;
}
function d3_svg_arcStartAngle(d) {
return d.startAngle;
}
function d3_svg_arcEndAngle(d) {
return d.endAngle;
}
d3.svg.line.radial = function() {
var line = d3_svg_line(d3_svg_lineRadial);
line.radius = line.x, delete line.x;
line.angle = line.y, delete line.y;
return line;
};
function d3_svg_lineRadial(points) {
var point, i = -1, n = points.length, r, a;
while (++i < n) {
point = points[i];
r = point[0];
a = point[1] + d3_svg_arcOffset;
point[0] = r * Math.cos(a);
point[1] = r * Math.sin(a);
}
return points;
}
function d3_svg_area(projection) {
var x0 = d3_svg_lineX, x1 = d3_svg_lineX, y0 = 0, y1 = d3_svg_lineY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, interpolateReverse = interpolate, L = "L", tension = .7;
function area(data) {
var segments = [], points0 = [], points1 = [], i = -1, n = data.length, d, fx0 = d3_functor(x0), fy0 = d3_functor(y0), fx1 = x0 === x1 ? function() {
return x;
} : d3_functor(x1), fy1 = y0 === y1 ? function() {
return y;
} : d3_functor(y1), x, y;
function segment() {
segments.push("M", interpolate(projection(points1), tension), L, interpolateReverse(projection(points0.reverse()), tension), "Z");
}
while (++i < n) {
if (defined.call(this, d = data[i], i)) {
points0.push([ x = +fx0.call(this, d, i), y = +fy0.call(this, d, i) ]);
points1.push([ +fx1.call(this, d, i), +fy1.call(this, d, i) ]);
} else if (points0.length) {
segment();
points0 = [];
points1 = [];
}
}
if (points0.length) segment();
return segments.length ? segments.join("") : null;
}
area.x = function(_) {
if (!arguments.length) return x1;
x0 = x1 = _;
return area;
};
area.x0 = function(_) {
if (!arguments.length) return x0;
x0 = _;
return area;
};
area.x1 = function(_) {
if (!arguments.length) return x1;
x1 = _;
return area;
};
area.y = function(_) {
if (!arguments.length) return y1;
y0 = y1 = _;
return area;
};
area.y0 = function(_) {
if (!arguments.length) return y0;
y0 = _;
return area;
};
area.y1 = function(_) {
if (!arguments.length) return y1;
y1 = _;
return area;
};
area.defined = function(_) {
if (!arguments.length) return defined;
defined = _;
return area;
};
area.interpolate = function(_) {
if (!arguments.length) return interpolateKey;
if (typeof _ === "function") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key;
interpolateReverse = interpolate.reverse || interpolate;
L = interpolate.closed ? "M" : "L";
return area;
};
area.tension = function(_) {
if (!arguments.length) return tension;
tension = _;
return area;
};
return area;
}
d3_svg_lineStepBefore.reverse = d3_svg_lineStepAfter;
d3_svg_lineStepAfter.reverse = d3_svg_lineStepBefore;
d3.svg.area = function() {
return d3_svg_area(d3_identity);
};
d3.svg.area.radial = function() {
var area = d3_svg_area(d3_svg_lineRadial);
area.radius = area.x, delete area.x;
area.innerRadius = area.x0, delete area.x0;
area.outerRadius = area.x1, delete area.x1;
area.angle = area.y, delete area.y;
area.startAngle = area.y0, delete area.y0;
area.endAngle = area.y1, delete area.y1;
return area;
};
d3.svg.chord = function() {
var source = d3_source, target = d3_target, radius = d3_svg_chordRadius, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle;
function chord(d, i) {
var s = subgroup(this, source, d, i), t = subgroup(this, target, d, i);
return "M" + s.p0 + arc(s.r, s.p1, s.a1 - s.a0) + (equals(s, t) ? curve(s.r, s.p1, s.r, s.p0) : curve(s.r, s.p1, t.r, t.p0) + arc(t.r, t.p1, t.a1 - t.a0) + curve(t.r, t.p1, s.r, s.p0)) + "Z";
}
function subgroup(self, f, d, i) {
var subgroup = f.call(self, d, i), r = radius.call(self, subgroup, i), a0 = startAngle.call(self, subgroup, i) + d3_svg_arcOffset, a1 = endAngle.call(self, subgroup, i) + d3_svg_arcOffset;
return {
r: r,
a0: a0,
a1: a1,
p0: [ r * Math.cos(a0), r * Math.sin(a0) ],
p1: [ r * Math.cos(a1), r * Math.sin(a1) ]
};
}
function equals(a, b) {
return a.a0 == b.a0 && a.a1 == b.a1;
}
function arc(r, p, a) {
return "A" + r + "," + r + " 0 " + +(a > π) + ",1 " + p;
}
function curve(r0, p0, r1, p1) {
return "Q 0,0 " + p1;
}
chord.radius = function(v) {
if (!arguments.length) return radius;
radius = d3_functor(v);
return chord;
};
chord.source = function(v) {
if (!arguments.length) return source;
source = d3_functor(v);
return chord;
};
chord.target = function(v) {
if (!arguments.length) return target;
target = d3_functor(v);
return chord;
};
chord.startAngle = function(v) {
if (!arguments.length) return startAngle;
startAngle = d3_functor(v);
return chord;
};
chord.endAngle = function(v) {
if (!arguments.length) return endAngle;
endAngle = d3_functor(v);
return chord;
};
return chord;
};
function d3_svg_chordRadius(d) {
return d.radius;
}
d3.svg.diagonal = function() {
var source = d3_source, target = d3_target, projection = d3_svg_diagonalProjection;
function diagonal(d, i) {
var p0 = source.call(this, d, i), p3 = target.call(this, d, i), m = (p0.y + p3.y) / 2, p = [ p0, {
x: p0.x,
y: m
}, {
x: p3.x,
y: m
}, p3 ];
p = p.map(projection);
return "M" + p[0] + "C" + p[1] + " " + p[2] + " " + p[3];
}
diagonal.source = function(x) {
if (!arguments.length) return source;
source = d3_functor(x);
return diagonal;
};
diagonal.target = function(x) {
if (!arguments.length) return target;
target = d3_functor(x);
return diagonal;
};
diagonal.projection = function(x) {
if (!arguments.length) return projection;
projection = x;
return diagonal;
};
return diagonal;
};
function d3_svg_diagonalProjection(d) {
return [ d.x, d.y ];
}
d3.svg.diagonal.radial = function() {
var diagonal = d3.svg.diagonal(), projection = d3_svg_diagonalProjection, projection_ = diagonal.projection;
diagonal.projection = function(x) {
return arguments.length ? projection_(d3_svg_diagonalRadialProjection(projection = x)) : projection;
};
return diagonal;
};
function d3_svg_diagonalRadialProjection(projection) {
return function() {
var d = projection.apply(this, arguments), r = d[0], a = d[1] + d3_svg_arcOffset;
return [ r * Math.cos(a), r * Math.sin(a) ];
};
}
d3.svg.symbol = function() {
var type = d3_svg_symbolType, size = d3_svg_symbolSize;
function symbol(d, i) {
return (d3_svg_symbols.get(type.call(this, d, i)) || d3_svg_symbolCircle)(size.call(this, d, i));
}
symbol.type = function(x) {
if (!arguments.length) return type;
type = d3_functor(x);
return symbol;
};
symbol.size = function(x) {
if (!arguments.length) return size;
size = d3_functor(x);
return symbol;
};
return symbol;
};
function d3_svg_symbolSize() {
return 64;
}
function d3_svg_symbolType() {
return "circle";
}
function d3_svg_symbolCircle(size) {
var r = Math.sqrt(size / π);
return "M0," + r + "A" + r + "," + r + " 0 1,1 0," + -r + "A" + r + "," + r + " 0 1,1 0," + r + "Z";
}
var d3_svg_symbols = d3.map({
circle: d3_svg_symbolCircle,
cross: function(size) {
var r = Math.sqrt(size / 5) / 2;
return "M" + -3 * r + "," + -r + "H" + -r + "V" + -3 * r + "H" + r + "V" + -r + "H" + 3 * r + "V" + r + "H" + r + "V" + 3 * r + "H" + -r + "V" + r + "H" + -3 * r + "Z";
},
diamond: function(size) {
var ry = Math.sqrt(size / (2 * d3_svg_symbolTan30)), rx = ry * d3_svg_symbolTan30;
return "M0," + -ry + "L" + rx + ",0" + " 0," + ry + " " + -rx + ",0" + "Z";
},
square: function(size) {
var r = Math.sqrt(size) / 2;
return "M" + -r + "," + -r + "L" + r + "," + -r + " " + r + "," + r + " " + -r + "," + r + "Z";
},
"triangle-down": function(size) {
var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2;
return "M0," + ry + "L" + rx + "," + -ry + " " + -rx + "," + -ry + "Z";
},
"triangle-up": function(size) {
var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2;
return "M0," + -ry + "L" + rx + "," + ry + " " + -rx + "," + ry + "Z";
}
});
d3.svg.symbolTypes = d3_svg_symbols.keys();
var d3_svg_symbolSqrt3 = Math.sqrt(3), d3_svg_symbolTan30 = Math.tan(30 * d3_radians);
function d3_transition(groups, id) {
d3_subclass(groups, d3_transitionPrototype);
groups.id = id;
return groups;
}
var d3_transitionPrototype = [], d3_transitionId = 0, d3_transitionInheritId, d3_transitionInherit = {
ease: d3_ease_cubicInOut,
delay: 0,
duration: 250
};
d3_transitionPrototype.call = d3_selectionPrototype.call;
d3_transitionPrototype.empty = d3_selectionPrototype.empty;
d3_transitionPrototype.node = d3_selectionPrototype.node;
d3_transitionPrototype.size = d3_selectionPrototype.size;
d3.transition = function(selection) {
return arguments.length ? d3_transitionInheritId ? selection.transition() : selection : d3_selectionRoot.transition();
};
d3.transition.prototype = d3_transitionPrototype;
d3_transitionPrototype.select = function(selector) {
var id = this.id, subgroups = [], subgroup, subnode, node;
selector = d3_selection_selector(selector);
for (var j = -1, m = this.length; ++j < m; ) {
subgroups.push(subgroup = []);
for (var group = this[j], i = -1, n = group.length; ++i < n; ) {
if ((node = group[i]) && (subnode = selector.call(node, node.__data__, i))) {
if ("__data__" in node) subnode.__data__ = node.__data__;
d3_transitionNode(subnode, i, id, node.__transition__[id]);
subgroup.push(subnode);
} else {
subgroup.push(null);
}
}
}
return d3_transition(subgroups, id);
};
d3_transitionPrototype.selectAll = function(selector) {
var id = this.id, subgroups = [], subgroup, subnodes, node, subnode, transition;
selector = d3_selection_selectorAll(selector);
for (var j = -1, m = this.length; ++j < m; ) {
for (var group = this[j], i = -1, n = group.length; ++i < n; ) {
if (node = group[i]) {
transition = node.__transition__[id];
subnodes = selector.call(node, node.__data__, i);
subgroups.push(subgroup = []);
for (var k = -1, o = subnodes.length; ++k < o; ) {
if (subnode = subnodes[k]) d3_transitionNode(subnode, k, id, transition);
subgroup.push(subnode);
}
}
}
}
return d3_transition(subgroups, id);
};
d3_transitionPrototype.filter = function(filter) {
var subgroups = [], subgroup, group, node;
if (typeof filter !== "function") filter = d3_selection_filter(filter);
for (var j = 0, m = this.length; j < m; j++) {
subgroups.push(subgroup = []);
for (var group = this[j], i = 0, n = group.length; i < n; i++) {
if ((node = group[i]) && filter.call(node, node.__data__, i)) {
subgroup.push(node);
}
}
}
return d3_transition(subgroups, this.id, this.time).ease(this.ease());
};
d3_transitionPrototype.tween = function(name, tween) {
var id = this.id;
if (arguments.length < 2) return this.node().__transition__[id].tween.get(name);
return d3_selection_each(this, tween == null ? function(node) {
node.__transition__[id].tween.remove(name);
} : function(node) {
node.__transition__[id].tween.set(name, tween);
});
};
function d3_transition_tween(groups, name, value, tween) {
var id = groups.id;
return d3_selection_each(groups, typeof value === "function" ? function(node, i, j) {
node.__transition__[id].tween.set(name, tween(value.call(node, node.__data__, i, j)));
} : (value = tween(value), function(node) {
node.__transition__[id].tween.set(name, value);
}));
}
d3_transitionPrototype.attr = function(nameNS, value) {
if (arguments.length < 2) {
for (value in nameNS) this.attr(value, nameNS[value]);
return this;
}
var interpolate = nameNS == "transform" ? d3_interpolateTransform : d3_interpolate, name = d3.ns.qualify(nameNS);
function attrNull() {
this.removeAttribute(name);
}
function attrNullNS() {
this.removeAttributeNS(name.space, name.local);
}
function attrTween(b) {
return b == null ? attrNull : (b += "", function() {
var a = this.getAttribute(name), i;
return a !== b && (i = interpolate(a, b), function(t) {
this.setAttribute(name, i(t));
});
});
}
function attrTweenNS(b) {
return b == null ? attrNullNS : (b += "", function() {
var a = this.getAttributeNS(name.space, name.local), i;
return a !== b && (i = interpolate(a, b), function(t) {
this.setAttributeNS(name.space, name.local, i(t));
});
});
}
return d3_transition_tween(this, "attr." + nameNS, value, name.local ? attrTweenNS : attrTween);
};
d3_transitionPrototype.attrTween = function(nameNS, tween) {
var name = d3.ns.qualify(nameNS);
function attrTween(d, i) {
var f = tween.call(this, d, i, this.getAttribute(name));
return f && function(t) {
this.setAttribute(name, f(t));
};
}
function attrTweenNS(d, i) {
var f = tween.call(this, d, i, this.getAttributeNS(name.space, name.local));
return f && function(t) {
this.setAttributeNS(name.space, name.local, f(t));
};
}
return this.tween("attr." + nameNS, name.local ? attrTweenNS : attrTween);
};
d3_transitionPrototype.style = function(name, value, priority) {
var n = arguments.length;
if (n < 3) {
if (typeof name !== "string") {
if (n < 2) value = "";
for (priority in name) this.style(priority, name[priority], value);
return this;
}
priority = "";
}
function styleNull() {
this.style.removeProperty(name);
}
function styleString(b) {
return b == null ? styleNull : (b += "", function() {
var a = d3_window.getComputedStyle(this, null).getPropertyValue(name), i;
return a !== b && (i = d3_interpolate(a, b), function(t) {
this.style.setProperty(name, i(t), priority);
});
});
}
return d3_transition_tween(this, "style." + name, value, styleString);
};
d3_transitionPrototype.styleTween = function(name, tween, priority) {
if (arguments.length < 3) priority = "";
function styleTween(d, i) {
var f = tween.call(this, d, i, d3_window.getComputedStyle(this, null).getPropertyValue(name));
return f && function(t) {
this.style.setProperty(name, f(t), priority);
};
}
return this.tween("style." + name, styleTween);
};
d3_transitionPrototype.text = function(value) {
return d3_transition_tween(this, "text", value, d3_transition_text);
};
function d3_transition_text(b) {
if (b == null) b = "";
return function() {
this.textContent = b;
};
}
d3_transitionPrototype.remove = function() {
return this.each("end.transition", function() {
var p;
if (!this.__transition__ && (p = this.parentNode)) p.removeChild(this);
});
};
d3_transitionPrototype.ease = function(value) {
var id = this.id;
if (arguments.length < 1) return this.node().__transition__[id].ease;
if (typeof value !== "function") value = d3.ease.apply(d3, arguments);
return d3_selection_each(this, function(node) {
node.__transition__[id].ease = value;
});
};
d3_transitionPrototype.delay = function(value) {
var id = this.id;
return d3_selection_each(this, typeof value === "function" ? function(node, i, j) {
node.__transition__[id].delay = value.call(node, node.__data__, i, j) | 0;
} : (value |= 0, function(node) {
node.__transition__[id].delay = value;
}));
};
d3_transitionPrototype.duration = function(value) {
var id = this.id;
return d3_selection_each(this, typeof value === "function" ? function(node, i, j) {
node.__transition__[id].duration = Math.max(1, value.call(node, node.__data__, i, j) | 0);
} : (value = Math.max(1, value | 0), function(node) {
node.__transition__[id].duration = value;
}));
};
d3_transitionPrototype.each = function(type, listener) {
var id = this.id;
if (arguments.length < 2) {
var inherit = d3_transitionInherit, inheritId = d3_transitionInheritId;
d3_transitionInheritId = id;
d3_selection_each(this, function(node, i, j) {
d3_transitionInherit = node.__transition__[id];
type.call(node, node.__data__, i, j);
});
d3_transitionInherit = inherit;
d3_transitionInheritId = inheritId;
} else {
d3_selection_each(this, function(node) {
node.__transition__[id].event.on(type, listener);
});
}
return this;
};
d3_transitionPrototype.transition = function() {
var id0 = this.id, id1 = ++d3_transitionId, subgroups = [], subgroup, group, node, transition;
for (var j = 0, m = this.length; j < m; j++) {
subgroups.push(subgroup = []);
for (var group = this[j], i = 0, n = group.length; i < n; i++) {
if (node = group[i]) {
transition = Object.create(node.__transition__[id0]);
transition.delay += transition.duration;
d3_transitionNode(node, i, id1, transition);
}
subgroup.push(node);
}
}
return d3_transition(subgroups, id1);
};
function d3_transitionNode(node, i, id, inherit) {
var lock = node.__transition__ || (node.__transition__ = {
active: 0,
count: 0
}), transition = lock[id];
if (!transition) {
var time = inherit.time;
transition = lock[id] = {
tween: new d3_Map(),
event: d3.dispatch("start", "end"),
time: time,
ease: inherit.ease,
delay: inherit.delay,
duration: inherit.duration
};
++lock.count;
d3.timer(function(elapsed) {
var d = node.__data__, ease = transition.ease, event = transition.event, delay = transition.delay, duration = transition.duration, tweened = [];
return delay <= elapsed ? start(elapsed) : d3.timer(start, delay, time), 1;
function start(elapsed) {
if (lock.active > id) return stop();
lock.active = id;
event.start.call(node, d, i);
transition.tween.forEach(function(key, value) {
if (value = value.call(node, d, i)) {
tweened.push(value);
}
});
if (!tick(elapsed)) d3.timer(tick, 0, time);
return 1;
}
function tick(elapsed) {
if (lock.active !== id) return stop();
var t = (elapsed - delay) / duration, e = ease(t), n = tweened.length;
while (n > 0) {
tweened[--n].call(node, e);
}
if (t >= 1) {
stop();
event.end.call(node, d, i);
return 1;
}
}
function stop() {
if (--lock.count) delete lock[id]; else delete node.__transition__;
return 1;
}
}, 0, time);
return transition;
}
}
d3.svg.axis = function() {
var scale = d3.scale.linear(), orient = d3_svg_axisDefaultOrient, tickMajorSize = 6, tickMinorSize = 6, tickEndSize = 6, tickPadding = 3, tickArguments_ = [ 10 ], tickValues = null, tickFormat_, tickSubdivide = 0;
function axis(g) {
g.each(function() {
var g = d3.select(this);
var ticks = tickValues == null ? scale.ticks ? scale.ticks.apply(scale, tickArguments_) : scale.domain() : tickValues, tickFormat = tickFormat_ == null ? scale.tickFormat ? scale.tickFormat.apply(scale, tickArguments_) : String : tickFormat_;
var subticks = d3_svg_axisSubdivide(scale, ticks, tickSubdivide), subtick = g.selectAll(".tick.minor").data(subticks, String), subtickEnter = subtick.enter().insert("line", ".tick").attr("class", "tick minor").style("opacity", 1e-6), subtickExit = d3.transition(subtick.exit()).style("opacity", 1e-6).remove(), subtickUpdate = d3.transition(subtick).style("opacity", 1);
var tick = g.selectAll(".tick.major").data(ticks, String), tickEnter = tick.enter().insert("g", ".domain").attr("class", "tick major").style("opacity", 1e-6), tickExit = d3.transition(tick.exit()).style("opacity", 1e-6).remove(), tickUpdate = d3.transition(tick).style("opacity", 1), tickTransform;
var range = d3_scaleRange(scale), path = g.selectAll(".domain").data([ 0 ]), pathUpdate = (path.enter().append("path").attr("class", "domain"),
d3.transition(path));
var scale1 = scale.copy(), scale0 = this.__chart__ || scale1;
this.__chart__ = scale1;
tickEnter.append("line");
tickEnter.append("text");
var lineEnter = tickEnter.select("line"), lineUpdate = tickUpdate.select("line"), text = tick.select("text").text(tickFormat), textEnter = tickEnter.select("text"), textUpdate = tickUpdate.select("text");
switch (orient) {
case "bottom":
{
tickTransform = d3_svg_axisX;
subtickEnter.attr("y2", tickMinorSize);
subtickUpdate.attr("x2", 0).attr("y2", tickMinorSize);
lineEnter.attr("y2", tickMajorSize);
textEnter.attr("y", Math.max(tickMajorSize, 0) + tickPadding);
lineUpdate.attr("x2", 0).attr("y2", tickMajorSize);
textUpdate.attr("x", 0).attr("y", Math.max(tickMajorSize, 0) + tickPadding);
text.attr("dy", ".71em").style("text-anchor", "middle");
pathUpdate.attr("d", "M" + range[0] + "," + tickEndSize + "V0H" + range[1] + "V" + tickEndSize);
break;
}
case "top":
{
tickTransform = d3_svg_axisX;
subtickEnter.attr("y2", -tickMinorSize);
subtickUpdate.attr("x2", 0).attr("y2", -tickMinorSize);
lineEnter.attr("y2", -tickMajorSize);
textEnter.attr("y", -(Math.max(tickMajorSize, 0) + tickPadding));
lineUpdate.attr("x2", 0).attr("y2", -tickMajorSize);
textUpdate.attr("x", 0).attr("y", -(Math.max(tickMajorSize, 0) + tickPadding));
text.attr("dy", "0em").style("text-anchor", "middle");
pathUpdate.attr("d", "M" + range[0] + "," + -tickEndSize + "V0H" + range[1] + "V" + -tickEndSize);
break;
}
case "left":
{
tickTransform = d3_svg_axisY;
subtickEnter.attr("x2", -tickMinorSize);
subtickUpdate.attr("x2", -tickMinorSize).attr("y2", 0);
lineEnter.attr("x2", -tickMajorSize);
textEnter.attr("x", -(Math.max(tickMajorSize, 0) + tickPadding));
lineUpdate.attr("x2", -tickMajorSize).attr("y2", 0);
textUpdate.attr("x", -(Math.max(tickMajorSize, 0) + tickPadding)).attr("y", 0);
text.attr("dy", ".32em").style("text-anchor", "end");
pathUpdate.attr("d", "M" + -tickEndSize + "," + range[0] + "H0V" + range[1] + "H" + -tickEndSize);
break;
}
case "right":
{
tickTransform = d3_svg_axisY;
subtickEnter.attr("x2", tickMinorSize);
subtickUpdate.attr("x2", tickMinorSize).attr("y2", 0);
lineEnter.attr("x2", tickMajorSize);
textEnter.attr("x", Math.max(tickMajorSize, 0) + tickPadding);
lineUpdate.attr("x2", tickMajorSize).attr("y2", 0);
textUpdate.attr("x", Math.max(tickMajorSize, 0) + tickPadding).attr("y", 0);
text.attr("dy", ".32em").style("text-anchor", "start");
pathUpdate.attr("d", "M" + tickEndSize + "," + range[0] + "H0V" + range[1] + "H" + tickEndSize);
break;
}
}
if (scale.ticks) {
tickEnter.call(tickTransform, scale0);
tickUpdate.call(tickTransform, scale1);
tickExit.call(tickTransform, scale1);
subtickEnter.call(tickTransform, scale0);
subtickUpdate.call(tickTransform, scale1);
subtickExit.call(tickTransform, scale1);
} else {
var dx = scale1.rangeBand() / 2, x = function(d) {
return scale1(d) + dx;
};
tickEnter.call(tickTransform, x);
tickUpdate.call(tickTransform, x);
}
});
}
axis.scale = function(x) {
if (!arguments.length) return scale;
scale = x;
return axis;
};
axis.orient = function(x) {
if (!arguments.length) return orient;
orient = x in d3_svg_axisOrients ? x + "" : d3_svg_axisDefaultOrient;
return axis;
};
axis.ticks = function() {
if (!arguments.length) return tickArguments_;
tickArguments_ = arguments;
return axis;
};
axis.tickValues = function(x) {
if (!arguments.length) return tickValues;
tickValues = x;
return axis;
};
axis.tickFormat = function(x) {
if (!arguments.length) return tickFormat_;
tickFormat_ = x;
return axis;
};
axis.tickSize = function(x, y) {
if (!arguments.length) return tickMajorSize;
var n = arguments.length - 1;
tickMajorSize = +x;
tickMinorSize = n > 1 ? +y : tickMajorSize;
tickEndSize = n > 0 ? +arguments[n] : tickMajorSize;
return axis;
};
axis.tickPadding = function(x) {
if (!arguments.length) return tickPadding;
tickPadding = +x;
return axis;
};
axis.tickSubdivide = function(x) {
if (!arguments.length) return tickSubdivide;
tickSubdivide = +x;
return axis;
};
return axis;
};
var d3_svg_axisDefaultOrient = "bottom", d3_svg_axisOrients = {
top: 1,
right: 1,
bottom: 1,
left: 1
};
function d3_svg_axisX(selection, x) {
selection.attr("transform", function(d) {
return "translate(" + x(d) + ",0)";
});
}
function d3_svg_axisY(selection, y) {
selection.attr("transform", function(d) {
return "translate(0," + y(d) + ")";
});
}
function d3_svg_axisSubdivide(scale, ticks, m) {
subticks = [];
if (m && ticks.length > 1) {
var extent = d3_scaleExtent(scale.domain()), subticks, i = -1, n = ticks.length, d = (ticks[1] - ticks[0]) / ++m, j, v;
while (++i < n) {
for (j = m; --j > 0; ) {
if ((v = +ticks[i] - j * d) >= extent[0]) {
subticks.push(v);
}
}
}
for (--i, j = 0; ++j < m && (v = +ticks[i] + j * d) < extent[1]; ) {
subticks.push(v);
}
}
return subticks;
}
d3.svg.brush = function() {
var event = d3_eventDispatch(brush, "brushstart", "brush", "brushend"), x = null, y = null, resizes = d3_svg_brushResizes[0], extent = [ [ 0, 0 ], [ 0, 0 ] ], clamp = [ true, true ], extentDomain;
function brush(g) {
g.each(function() {
var g = d3.select(this), bg = g.selectAll(".background").data([ 0 ]), fg = g.selectAll(".extent").data([ 0 ]), tz = g.selectAll(".resize").data(resizes, String), e;
g.style("pointer-events", "all").on("mousedown.brush", brushstart).on("touchstart.brush", brushstart);
bg.enter().append("rect").attr("class", "background").style("visibility", "hidden").style("cursor", "crosshair");
fg.enter().append("rect").attr("class", "extent").style("cursor", "move");
tz.enter().append("g").attr("class", function(d) {
return "resize " + d;
}).style("cursor", function(d) {
return d3_svg_brushCursor[d];
}).append("rect").attr("x", function(d) {
return /[ew]$/.test(d) ? -3 : null;
}).attr("y", function(d) {
return /^[ns]/.test(d) ? -3 : null;
}).attr("width", 6).attr("height", 6).style("visibility", "hidden");
tz.style("display", brush.empty() ? "none" : null);
tz.exit().remove();
if (x) {
e = d3_scaleRange(x);
bg.attr("x", e[0]).attr("width", e[1] - e[0]);
redrawX(g);
}
if (y) {
e = d3_scaleRange(y);
bg.attr("y", e[0]).attr("height", e[1] - e[0]);
redrawY(g);
}
redraw(g);
});
}
function redraw(g) {
g.selectAll(".resize").attr("transform", function(d) {
return "translate(" + extent[+/e$/.test(d)][0] + "," + extent[+/^s/.test(d)][1] + ")";
});
}
function redrawX(g) {
g.select(".extent").attr("x", extent[0][0]);
g.selectAll(".extent,.n>rect,.s>rect").attr("width", extent[1][0] - extent[0][0]);
}
function redrawY(g) {
g.select(".extent").attr("y", extent[0][1]);
g.selectAll(".extent,.e>rect,.w>rect").attr("height", extent[1][1] - extent[0][1]);
}
function brushstart() {
var target = this, eventTarget = d3.select(d3.event.target), event_ = event.of(target, arguments), g = d3.select(target), resizing = eventTarget.datum(), resizingX = !/^(n|s)$/.test(resizing) && x, resizingY = !/^(e|w)$/.test(resizing) && y, dragging = eventTarget.classed("extent"), dragRestore = d3_event_dragSuppress("brush"), center, origin = mouse(), offset;
var w = d3.select(d3_window).on("keydown.brush", keydown).on("keyup.brush", keyup);
if (d3.event.changedTouches) {
w.on("touchmove.brush", brushmove).on("touchend.brush", brushend);
} else {
w.on("mousemove.brush", brushmove).on("mouseup.brush", brushend);
}
if (dragging) {
origin[0] = extent[0][0] - origin[0];
origin[1] = extent[0][1] - origin[1];
} else if (resizing) {
var ex = +/w$/.test(resizing), ey = +/^n/.test(resizing);
offset = [ extent[1 - ex][0] - origin[0], extent[1 - ey][1] - origin[1] ];
origin[0] = extent[ex][0];
origin[1] = extent[ey][1];
} else if (d3.event.altKey) center = origin.slice();
g.style("pointer-events", "none").selectAll(".resize").style("display", null);
d3.select("body").style("cursor", eventTarget.style("cursor"));
event_({
type: "brushstart"
});
brushmove();
function mouse() {
var touches = d3.event.changedTouches;
return touches ? d3.touches(target, touches)[0] : d3.mouse(target);
}
function keydown() {
if (d3.event.keyCode == 32) {
if (!dragging) {
center = null;
origin[0] -= extent[1][0];
origin[1] -= extent[1][1];
dragging = 2;
}
d3_eventPreventDefault();
}
}
function keyup() {
if (d3.event.keyCode == 32 && dragging == 2) {
origin[0] += extent[1][0];
origin[1] += extent[1][1];
dragging = 0;
d3_eventPreventDefault();
}
}
function brushmove() {
var point = mouse(), moved = false;
if (offset) {
point[0] += offset[0];
point[1] += offset[1];
}
if (!dragging) {
if (d3.event.altKey) {
if (!center) center = [ (extent[0][0] + extent[1][0]) / 2, (extent[0][1] + extent[1][1]) / 2 ];
origin[0] = extent[+(point[0] < center[0])][0];
origin[1] = extent[+(point[1] < center[1])][1];
} else center = null;
}
if (resizingX && move1(point, x, 0)) {
redrawX(g);
moved = true;
}
if (resizingY && move1(point, y, 1)) {
redrawY(g);
moved = true;
}
if (moved) {
redraw(g);
event_({
type: "brush",
mode: dragging ? "move" : "resize"
});
}
}
function move1(point, scale, i) {
var range = d3_scaleRange(scale), r0 = range[0], r1 = range[1], position = origin[i], size = extent[1][i] - extent[0][i], min, max;
if (dragging) {
r0 -= position;
r1 -= size + position;
}
min = clamp[i] ? Math.max(r0, Math.min(r1, point[i])) : point[i];
if (dragging) {
max = (min += position) + size;
} else {
if (center) position = Math.max(r0, Math.min(r1, 2 * center[i] - min));
if (position < min) {
max = min;
min = position;
} else {
max = position;
}
}
if (extent[0][i] !== min || extent[1][i] !== max) {
extentDomain = null;
extent[0][i] = min;
extent[1][i] = max;
return true;
}
}
function brushend() {
brushmove();
g.style("pointer-events", "all").selectAll(".resize").style("display", brush.empty() ? "none" : null);
d3.select("body").style("cursor", null);
w.on("mousemove.brush", null).on("mouseup.brush", null).on("touchmove.brush", null).on("touchend.brush", null).on("keydown.brush", null).on("keyup.brush", null);
dragRestore();
event_({
type: "brushend"
});
}
}
brush.x = function(z) {
if (!arguments.length) return x;
x = z;
resizes = d3_svg_brushResizes[!x << 1 | !y];
return brush;
};
brush.y = function(z) {
if (!arguments.length) return y;
y = z;
resizes = d3_svg_brushResizes[!x << 1 | !y];
return brush;
};
brush.clamp = function(z) {
if (!arguments.length) return x && y ? clamp : x || y ? clamp[+!x] : null;
if (x && y) clamp = [ !!z[0], !!z[1] ]; else if (x || y) clamp[+!x] = !!z;
return brush;
};
brush.extent = function(z) {
var x0, x1, y0, y1, t;
if (!arguments.length) {
z = extentDomain || extent;
if (x) {
x0 = z[0][0], x1 = z[1][0];
if (!extentDomain) {
x0 = extent[0][0], x1 = extent[1][0];
if (x.invert) x0 = x.invert(x0), x1 = x.invert(x1);
if (x1 < x0) t = x0, x0 = x1, x1 = t;
}
}
if (y) {
y0 = z[0][1], y1 = z[1][1];
if (!extentDomain) {
y0 = extent[0][1], y1 = extent[1][1];
if (y.invert) y0 = y.invert(y0), y1 = y.invert(y1);
if (y1 < y0) t = y0, y0 = y1, y1 = t;
}
}
return x && y ? [ [ x0, y0 ], [ x1, y1 ] ] : x ? [ x0, x1 ] : y && [ y0, y1 ];
}
extentDomain = [ [ 0, 0 ], [ 0, 0 ] ];
if (x) {
x0 = z[0], x1 = z[1];
if (y) x0 = x0[0], x1 = x1[0];
extentDomain[0][0] = x0, extentDomain[1][0] = x1;
if (x.invert) x0 = x(x0), x1 = x(x1);
if (x1 < x0) t = x0, x0 = x1, x1 = t;
extent[0][0] = x0 | 0, extent[1][0] = x1 | 0;
}
if (y) {
y0 = z[0], y1 = z[1];
if (x) y0 = y0[1], y1 = y1[1];
extentDomain[0][1] = y0, extentDomain[1][1] = y1;
if (y.invert) y0 = y(y0), y1 = y(y1);
if (y1 < y0) t = y0, y0 = y1, y1 = t;
extent[0][1] = y0 | 0, extent[1][1] = y1 | 0;
}
return brush;
};
brush.clear = function() {
extentDomain = null;
extent[0][0] = extent[0][1] = extent[1][0] = extent[1][1] = 0;
return brush;
};
brush.empty = function() {
return x && extent[0][0] === extent[1][0] || y && extent[0][1] === extent[1][1];
};
return d3.rebind(brush, event, "on");
};
var d3_svg_brushCursor = {
n: "ns-resize",
e: "ew-resize",
s: "ns-resize",
w: "ew-resize",
nw: "nwse-resize",
ne: "nesw-resize",
se: "nwse-resize",
sw: "nesw-resize"
};
var d3_svg_brushResizes = [ [ "n", "e", "s", "w", "nw", "ne", "se", "sw" ], [ "e", "w" ], [ "n", "s" ], [] ];
d3.time = {};
var d3_time = Date, d3_time_daySymbols = [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ];
function d3_time_utc() {
this._ = new Date(arguments.length > 1 ? Date.UTC.apply(this, arguments) : arguments[0]);
}
d3_time_utc.prototype = {
getDate: function() {
return this._.getUTCDate();
},
getDay: function() {
return this._.getUTCDay();
},
getFullYear: function() {
return this._.getUTCFullYear();
},
getHours: function() {
return this._.getUTCHours();
},
getMilliseconds: function() {
return this._.getUTCMilliseconds();
},
getMinutes: function() {
return this._.getUTCMinutes();
},
getMonth: function() {
return this._.getUTCMonth();
},
getSeconds: function() {
return this._.getUTCSeconds();
},
getTime: function() {
return this._.getTime();
},
getTimezoneOffset: function() {
return 0;
},
valueOf: function() {
return this._.valueOf();
},
setDate: function() {
d3_time_prototype.setUTCDate.apply(this._, arguments);
},
setDay: function() {
d3_time_prototype.setUTCDay.apply(this._, arguments);
},
setFullYear: function() {
d3_time_prototype.setUTCFullYear.apply(this._, arguments);
},
setHours: function() {
d3_time_prototype.setUTCHours.apply(this._, arguments);
},
setMilliseconds: function() {
d3_time_prototype.setUTCMilliseconds.apply(this._, arguments);
},
setMinutes: function() {
d3_time_prototype.setUTCMinutes.apply(this._, arguments);
},
setMonth: function() {
d3_time_prototype.setUTCMonth.apply(this._, arguments);
},
setSeconds: function() {
d3_time_prototype.setUTCSeconds.apply(this._, arguments);
},
setTime: function() {
d3_time_prototype.setTime.apply(this._, arguments);
}
};
var d3_time_prototype = Date.prototype;
var d3_time_formatDateTime = "%a %b %e %X %Y", d3_time_formatDate = "%m/%d/%Y", d3_time_formatTime = "%H:%M:%S";
var d3_time_days = [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ], d3_time_dayAbbreviations = [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ], d3_time_months = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ], d3_time_monthAbbreviations = [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ];
function d3_time_interval(local, step, number) {
function round(date) {
var d0 = local(date), d1 = offset(d0, 1);
return date - d0 < d1 - date ? d0 : d1;
}
function ceil(date) {
step(date = local(new d3_time(date - 1)), 1);
return date;
}
function offset(date, k) {
step(date = new d3_time(+date), k);
return date;
}
function range(t0, t1, dt) {
var time = ceil(t0), times = [];
if (dt > 1) {
while (time < t1) {
if (!(number(time) % dt)) times.push(new Date(+time));
step(time, 1);
}
} else {
while (time < t1) times.push(new Date(+time)), step(time, 1);
}
return times;
}
function range_utc(t0, t1, dt) {
try {
d3_time = d3_time_utc;
var utc = new d3_time_utc();
utc._ = t0;
return range(utc, t1, dt);
} finally {
d3_time = Date;
}
}
local.floor = local;
local.round = round;
local.ceil = ceil;
local.offset = offset;
local.range = range;
var utc = local.utc = d3_time_interval_utc(local);
utc.floor = utc;
utc.round = d3_time_interval_utc(round);
utc.ceil = d3_time_interval_utc(ceil);
utc.offset = d3_time_interval_utc(offset);
utc.range = range_utc;
return local;
}
function d3_time_interval_utc(method) {
return function(date, k) {
try {
d3_time = d3_time_utc;
var utc = new d3_time_utc();
utc._ = date;
return method(utc, k)._;
} finally {
d3_time = Date;
}
};
}
d3.time.year = d3_time_interval(function(date) {
date = d3.time.day(date);
date.setMonth(0, 1);
return date;
}, function(date, offset) {
date.setFullYear(date.getFullYear() + offset);
}, function(date) {
return date.getFullYear();
});
d3.time.years = d3.time.year.range;
d3.time.years.utc = d3.time.year.utc.range;
d3.time.day = d3_time_interval(function(date) {
var day = new d3_time(2e3, 0);
day.setFullYear(date.getFullYear(), date.getMonth(), date.getDate());
return day;
}, function(date, offset) {
date.setDate(date.getDate() + offset);
}, function(date) {
return date.getDate() - 1;
});
d3.time.days = d3.time.day.range;
d3.time.days.utc = d3.time.day.utc.range;
d3.time.dayOfYear = function(date) {
var year = d3.time.year(date);
return Math.floor((date - year - (date.getTimezoneOffset() - year.getTimezoneOffset()) * 6e4) / 864e5);
};
d3_time_daySymbols.forEach(function(day, i) {
day = day.toLowerCase();
i = 7 - i;
var interval = d3.time[day] = d3_time_interval(function(date) {
(date = d3.time.day(date)).setDate(date.getDate() - (date.getDay() + i) % 7);
return date;
}, function(date, offset) {
date.setDate(date.getDate() + Math.floor(offset) * 7);
}, function(date) {
var day = d3.time.year(date).getDay();
return Math.floor((d3.time.dayOfYear(date) + (day + i) % 7) / 7) - (day !== i);
});
d3.time[day + "s"] = interval.range;
d3.time[day + "s"].utc = interval.utc.range;
d3.time[day + "OfYear"] = function(date) {
var day = d3.time.year(date).getDay();
return Math.floor((d3.time.dayOfYear(date) + (day + i) % 7) / 7);
};
});
d3.time.week = d3.time.sunday;
d3.time.weeks = d3.time.sunday.range;
d3.time.weeks.utc = d3.time.sunday.utc.range;
d3.time.weekOfYear = d3.time.sundayOfYear;
d3.time.format = function(template) {
var n = template.length;
function format(date) {
var string = [], i = -1, j = 0, c, p, f;
while (++i < n) {
if (template.charCodeAt(i) === 37) {
string.push(template.substring(j, i));
if ((p = d3_time_formatPads[c = template.charAt(++i)]) != null) c = template.charAt(++i);
if (f = d3_time_formats[c]) c = f(date, p == null ? c === "e" ? " " : "0" : p);
string.push(c);
j = i + 1;
}
}
string.push(template.substring(j, i));
return string.join("");
}
format.parse = function(string) {
var d = {
y: 1900,
m: 0,
d: 1,
H: 0,
M: 0,
S: 0,
L: 0
}, i = d3_time_parse(d, template, string, 0);
if (i != string.length) return null;
if ("p" in d) d.H = d.H % 12 + d.p * 12;
var date = new d3_time();
if ("j" in d) date.setFullYear(d.y, 0, d.j); else if ("w" in d && ("W" in d || "U" in d)) {
date.setFullYear(d.y, 0, 1);
date.setFullYear(d.y, 0, "W" in d ? (d.w + 6) % 7 + d.W * 7 - (date.getDay() + 5) % 7 : d.w + d.U * 7 - (date.getDay() + 6) % 7);
} else date.setFullYear(d.y, d.m, d.d);
date.setHours(d.H, d.M, d.S, d.L);
return date;
};
format.toString = function() {
return template;
};
return format;
};
function d3_time_parse(date, template, string, j) {
var c, p, i = 0, n = template.length, m = string.length;
while (i < n) {
if (j >= m) return -1;
c = template.charCodeAt(i++);
if (c === 37) {
p = d3_time_parsers[template.charAt(i++)];
if (!p || (j = p(date, string, j)) < 0) return -1;
} else if (c != string.charCodeAt(j++)) {
return -1;
}
}
return j;
}
function d3_time_formatRe(names) {
return new RegExp("^(?:" + names.map(d3.requote).join("|") + ")", "i");
}
function d3_time_formatLookup(names) {
var map = new d3_Map(), i = -1, n = names.length;
while (++i < n) map.set(names[i].toLowerCase(), i);
return map;
}
function d3_time_formatPad(value, fill, width) {
var sign = value < 0 ? "-" : "", string = (sign ? -value : value) + "", length = string.length;
return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);
}
var d3_time_dayRe = d3_time_formatRe(d3_time_days), d3_time_dayLookup = d3_time_formatLookup(d3_time_days), d3_time_dayAbbrevRe = d3_time_formatRe(d3_time_dayAbbreviations), d3_time_dayAbbrevLookup = d3_time_formatLookup(d3_time_dayAbbreviations), d3_time_monthRe = d3_time_formatRe(d3_time_months), d3_time_monthLookup = d3_time_formatLookup(d3_time_months), d3_time_monthAbbrevRe = d3_time_formatRe(d3_time_monthAbbreviations), d3_time_monthAbbrevLookup = d3_time_formatLookup(d3_time_monthAbbreviations), d3_time_percentRe = /^%/;
var d3_time_formatPads = {
"-": "",
_: " ",
"0": "0"
};
var d3_time_formats = {
a: function(d) {
return d3_time_dayAbbreviations[d.getDay()];
},
A: function(d) {
return d3_time_days[d.getDay()];
},
b: function(d) {
return d3_time_monthAbbreviations[d.getMonth()];
},
B: function(d) {
return d3_time_months[d.getMonth()];
},
c: d3.time.format(d3_time_formatDateTime),
d: function(d, p) {
return d3_time_formatPad(d.getDate(), p, 2);
},
e: function(d, p) {
return d3_time_formatPad(d.getDate(), p, 2);
},
H: function(d, p) {
return d3_time_formatPad(d.getHours(), p, 2);
},
I: function(d, p) {
return d3_time_formatPad(d.getHours() % 12 || 12, p, 2);
},
j: function(d, p) {
return d3_time_formatPad(1 + d3.time.dayOfYear(d), p, 3);
},
L: function(d, p) {
return d3_time_formatPad(d.getMilliseconds(), p, 3);
},
m: function(d, p) {
return d3_time_formatPad(d.getMonth() + 1, p, 2);
},
M: function(d, p) {
return d3_time_formatPad(d.getMinutes(), p, 2);
},
p: function(d) {
return d.getHours() >= 12 ? "PM" : "AM";
},
S: function(d, p) {
return d3_time_formatPad(d.getSeconds(), p, 2);
},
U: function(d, p) {
return d3_time_formatPad(d3.time.sundayOfYear(d), p, 2);
},
w: function(d) {
return d.getDay();
},
W: function(d, p) {
return d3_time_formatPad(d3.time.mondayOfYear(d), p, 2);
},
x: d3.time.format(d3_time_formatDate),
X: d3.time.format(d3_time_formatTime),
y: function(d, p) {
return d3_time_formatPad(d.getFullYear() % 100, p, 2);
},
Y: function(d, p) {
return d3_time_formatPad(d.getFullYear() % 1e4, p, 4);
},
Z: d3_time_zone,
"%": function() {
return "%";
}
};
var d3_time_parsers = {
a: d3_time_parseWeekdayAbbrev,
A: d3_time_parseWeekday,
b: d3_time_parseMonthAbbrev,
B: d3_time_parseMonth,
c: d3_time_parseLocaleFull,
d: d3_time_parseDay,
e: d3_time_parseDay,
H: d3_time_parseHour24,
I: d3_time_parseHour24,
j: d3_time_parseDayOfYear,
L: d3_time_parseMilliseconds,
m: d3_time_parseMonthNumber,
M: d3_time_parseMinutes,
p: d3_time_parseAmPm,
S: d3_time_parseSeconds,
U: d3_time_parseWeekNumberSunday,
w: d3_time_parseWeekdayNumber,
W: d3_time_parseWeekNumberMonday,
x: d3_time_parseLocaleDate,
X: d3_time_parseLocaleTime,
y: d3_time_parseYear,
Y: d3_time_parseFullYear,
"%": d3_time_parseLiteralPercent
};
function d3_time_parseWeekdayAbbrev(date, string, i) {
d3_time_dayAbbrevRe.lastIndex = 0;
var n = d3_time_dayAbbrevRe.exec(string.substring(i));
return n ? (date.w = d3_time_dayAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;
}
function d3_time_parseWeekday(date, string, i) {
d3_time_dayRe.lastIndex = 0;
var n = d3_time_dayRe.exec(string.substring(i));
return n ? (date.w = d3_time_dayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;
}
function d3_time_parseWeekdayNumber(date, string, i) {
d3_time_numberRe.lastIndex = 0;
var n = d3_time_numberRe.exec(string.substring(i, i + 1));
return n ? (date.w = +n[0], i + n[0].length) : -1;
}
function d3_time_parseWeekNumberSunday(date, string, i) {
d3_time_numberRe.lastIndex = 0;
var n = d3_time_numberRe.exec(string.substring(i));
return n ? (date.U = +n[0], i + n[0].length) : -1;
}
function d3_time_parseWeekNumberMonday(date, string, i) {
d3_time_numberRe.lastIndex = 0;
var n = d3_time_numberRe.exec(string.substring(i));
return n ? (date.W = +n[0], i + n[0].length) : -1;
}
function d3_time_parseMonthAbbrev(date, string, i) {
d3_time_monthAbbrevRe.lastIndex = 0;
var n = d3_time_monthAbbrevRe.exec(string.substring(i));
return n ? (date.m = d3_time_monthAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;
}
function d3_time_parseMonth(date, string, i) {
d3_time_monthRe.lastIndex = 0;
var n = d3_time_monthRe.exec(string.substring(i));
return n ? (date.m = d3_time_monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;
}
function d3_time_parseLocaleFull(date, string, i) {
return d3_time_parse(date, d3_time_formats.c.toString(), string, i);
}
function d3_time_parseLocaleDate(date, string, i) {
return d3_time_parse(date, d3_time_formats.x.toString(), string, i);
}
function d3_time_parseLocaleTime(date, string, i) {
return d3_time_parse(date, d3_time_formats.X.toString(), string, i);
}
function d3_time_parseFullYear(date, string, i) {
d3_time_numberRe.lastIndex = 0;
var n = d3_time_numberRe.exec(string.substring(i, i + 4));
return n ? (date.y = +n[0], i + n[0].length) : -1;
}
function d3_time_parseYear(date, string, i) {
d3_time_numberRe.lastIndex = 0;
var n = d3_time_numberRe.exec(string.substring(i, i + 2));
return n ? (date.y = d3_time_expandYear(+n[0]), i + n[0].length) : -1;
}
function d3_time_expandYear(d) {
return d + (d > 68 ? 1900 : 2e3);
}
function d3_time_parseMonthNumber(date, string, i) {
d3_time_numberRe.lastIndex = 0;
var n = d3_time_numberRe.exec(string.substring(i, i + 2));
return n ? (date.m = n[0] - 1, i + n[0].length) : -1;
}
function d3_time_parseDay(date, string, i) {
d3_time_numberRe.lastIndex = 0;
var n = d3_time_numberRe.exec(string.substring(i, i + 2));
return n ? (date.d = +n[0], i + n[0].length) : -1;
}
function d3_time_parseDayOfYear(date, string, i) {
d3_time_numberRe.lastIndex = 0;
var n = d3_time_numberRe.exec(string.substring(i, i + 3));
return n ? (date.j = +n[0], i + n[0].length) : -1;
}
function d3_time_parseHour24(date, string, i) {
d3_time_numberRe.lastIndex = 0;
var n = d3_time_numberRe.exec(string.substring(i, i + 2));
return n ? (date.H = +n[0], i + n[0].length) : -1;
}
function d3_time_parseMinutes(date, string, i) {
d3_time_numberRe.lastIndex = 0;
var n = d3_time_numberRe.exec(string.substring(i, i + 2));
return n ? (date.M = +n[0], i + n[0].length) : -1;
}
function d3_time_parseSeconds(date, string, i) {
d3_time_numberRe.lastIndex = 0;
var n = d3_time_numberRe.exec(string.substring(i, i + 2));
return n ? (date.S = +n[0], i + n[0].length) : -1;
}
function d3_time_parseMilliseconds(date, string, i) {
d3_time_numberRe.lastIndex = 0;
var n = d3_time_numberRe.exec(string.substring(i, i + 3));
return n ? (date.L = +n[0], i + n[0].length) : -1;
}
var d3_time_numberRe = /^\s*\d+/;
function d3_time_parseAmPm(date, string, i) {
var n = d3_time_amPmLookup.get(string.substring(i, i += 2).toLowerCase());
return n == null ? -1 : (date.p = n, i);
}
var d3_time_amPmLookup = d3.map({
am: 0,
pm: 1
});
function d3_time_zone(d) {
var z = d.getTimezoneOffset(), zs = z > 0 ? "-" : "+", zh = ~~(Math.abs(z) / 60), zm = Math.abs(z) % 60;
return zs + d3_time_formatPad(zh, "0", 2) + d3_time_formatPad(zm, "0", 2);
}
function d3_time_parseLiteralPercent(date, string, i) {
d3_time_percentRe.lastIndex = 0;
var n = d3_time_percentRe.exec(string.substring(i, i + 1));
return n ? i + n[0].length : -1;
}
d3.time.format.utc = function(template) {
var local = d3.time.format(template);
function format(date) {
try {
d3_time = d3_time_utc;
var utc = new d3_time();
utc._ = date;
return local(utc);
} finally {
d3_time = Date;
}
}
format.parse = function(string) {
try {
d3_time = d3_time_utc;
var date = local.parse(string);
return date && date._;
} finally {
d3_time = Date;
}
};
format.toString = local.toString;
return format;
};
var d3_time_formatIso = d3.time.format.utc("%Y-%m-%dT%H:%M:%S.%LZ");
d3.time.format.iso = Date.prototype.toISOString && +new Date("2000-01-01T00:00:00.000Z") ? d3_time_formatIsoNative : d3_time_formatIso;
function d3_time_formatIsoNative(date) {
return date.toISOString();
}
d3_time_formatIsoNative.parse = function(string) {
var date = new Date(string);
return isNaN(date) ? null : date;
};
d3_time_formatIsoNative.toString = d3_time_formatIso.toString;
d3.time.second = d3_time_interval(function(date) {
return new d3_time(Math.floor(date / 1e3) * 1e3);
}, function(date, offset) {
date.setTime(date.getTime() + Math.floor(offset) * 1e3);
}, function(date) {
return date.getSeconds();
});
d3.time.seconds = d3.time.second.range;
d3.time.seconds.utc = d3.time.second.utc.range;
d3.time.minute = d3_time_interval(function(date) {
return new d3_time(Math.floor(date / 6e4) * 6e4);
}, function(date, offset) {
date.setTime(date.getTime() + Math.floor(offset) * 6e4);
}, function(date) {
return date.getMinutes();
});
d3.time.minutes = d3.time.minute.range;
d3.time.minutes.utc = d3.time.minute.utc.range;
d3.time.hour = d3_time_interval(function(date) {
var timezone = date.getTimezoneOffset() / 60;
return new d3_time((Math.floor(date / 36e5 - timezone) + timezone) * 36e5);
}, function(date, offset) {
date.setTime(date.getTime() + Math.floor(offset) * 36e5);
}, function(date) {
return date.getHours();
});
d3.time.hours = d3.time.hour.range;
d3.time.hours.utc = d3.time.hour.utc.range;
d3.time.month = d3_time_interval(function(date) {
date = d3.time.day(date);
date.setDate(1);
return date;
}, function(date, offset) {
date.setMonth(date.getMonth() + offset);
}, function(date) {
return date.getMonth();
});
d3.time.months = d3.time.month.range;
d3.time.months.utc = d3.time.month.utc.range;
function d3_time_scale(linear, methods, format) {
function scale(x) {
return linear(x);
}
scale.invert = function(x) {
return d3_time_scaleDate(linear.invert(x));
};
scale.domain = function(x) {
if (!arguments.length) return linear.domain().map(d3_time_scaleDate);
linear.domain(x);
return scale;
};
scale.nice = function(m) {
return scale.domain(d3_scale_nice(scale.domain(), m));
};
scale.ticks = function(m, k) {
var extent = d3_scaleExtent(scale.domain());
if (typeof m !== "function") {
var span = extent[1] - extent[0], target = span / m, i = d3.bisect(d3_time_scaleSteps, target);
if (i == d3_time_scaleSteps.length) return methods.year(extent, m);
if (!i) return linear.ticks(m).map(d3_time_scaleDate);
if (Math.log(target / d3_time_scaleSteps[i - 1]) < Math.log(d3_time_scaleSteps[i] / target)) --i;
m = methods[i];
k = m[1];
m = m[0].range;
}
return m(extent[0], new Date(+extent[1] + 1), k);
};
scale.tickFormat = function() {
return format;
};
scale.copy = function() {
return d3_time_scale(linear.copy(), methods, format);
};
return d3_scale_linearRebind(scale, linear);
}
function d3_time_scaleDate(t) {
return new Date(t);
}
function d3_time_scaleFormat(formats) {
return function(date) {
var i = formats.length - 1, f = formats[i];
while (!f[1](date)) f = formats[--i];
return f[0](date);
};
}
function d3_time_scaleSetYear(y) {
var d = new Date(y, 0, 1);
d.setFullYear(y);
return d;
}
function d3_time_scaleGetYear(d) {
var y = d.getFullYear(), d0 = d3_time_scaleSetYear(y), d1 = d3_time_scaleSetYear(y + 1);
return y + (d - d0) / (d1 - d0);
}
var d3_time_scaleSteps = [ 1e3, 5e3, 15e3, 3e4, 6e4, 3e5, 9e5, 18e5, 36e5, 108e5, 216e5, 432e5, 864e5, 1728e5, 6048e5, 2592e6, 7776e6, 31536e6 ];
var d3_time_scaleLocalMethods = [ [ d3.time.second, 1 ], [ d3.time.second, 5 ], [ d3.time.second, 15 ], [ d3.time.second, 30 ], [ d3.time.minute, 1 ], [ d3.time.minute, 5 ], [ d3.time.minute, 15 ], [ d3.time.minute, 30 ], [ d3.time.hour, 1 ], [ d3.time.hour, 3 ], [ d3.time.hour, 6 ], [ d3.time.hour, 12 ], [ d3.time.day, 1 ], [ d3.time.day, 2 ], [ d3.time.week, 1 ], [ d3.time.month, 1 ], [ d3.time.month, 3 ], [ d3.time.year, 1 ] ];
var d3_time_scaleLocalFormats = [ [ d3.time.format("%Y"), d3_true ], [ d3.time.format("%B"), function(d) {
return d.getMonth();
} ], [ d3.time.format("%b %d"), function(d) {
return d.getDate() != 1;
} ], [ d3.time.format("%a %d"), function(d) {
return d.getDay() && d.getDate() != 1;
} ], [ d3.time.format("%I %p"), function(d) {
return d.getHours();
} ], [ d3.time.format("%I:%M"), function(d) {
return d.getMinutes();
} ], [ d3.time.format(":%S"), function(d) {
return d.getSeconds();
} ], [ d3.time.format(".%L"), function(d) {
return d.getMilliseconds();
} ] ];
var d3_time_scaleLinear = d3.scale.linear(), d3_time_scaleLocalFormat = d3_time_scaleFormat(d3_time_scaleLocalFormats);
d3_time_scaleLocalMethods.year = function(extent, m) {
return d3_time_scaleLinear.domain(extent.map(d3_time_scaleGetYear)).ticks(m).map(d3_time_scaleSetYear);
};
d3.time.scale = function() {
return d3_time_scale(d3.scale.linear(), d3_time_scaleLocalMethods, d3_time_scaleLocalFormat);
};
var d3_time_scaleUTCMethods = d3_time_scaleLocalMethods.map(function(m) {
return [ m[0].utc, m[1] ];
});
var d3_time_scaleUTCFormats = [ [ d3.time.format.utc("%Y"), d3_true ], [ d3.time.format.utc("%B"), function(d) {
return d.getUTCMonth();
} ], [ d3.time.format.utc("%b %d"), function(d) {
return d.getUTCDate() != 1;
} ], [ d3.time.format.utc("%a %d"), function(d) {
return d.getUTCDay() && d.getUTCDate() != 1;
} ], [ d3.time.format.utc("%I %p"), function(d) {
return d.getUTCHours();
} ], [ d3.time.format.utc("%I:%M"), function(d) {
return d.getUTCMinutes();
} ], [ d3.time.format.utc(":%S"), function(d) {
return d.getUTCSeconds();
} ], [ d3.time.format.utc(".%L"), function(d) {
return d.getUTCMilliseconds();
} ] ];
var d3_time_scaleUTCFormat = d3_time_scaleFormat(d3_time_scaleUTCFormats);
function d3_time_scaleUTCSetYear(y) {
var d = new Date(Date.UTC(y, 0, 1));
d.setUTCFullYear(y);
return d;
}
function d3_time_scaleUTCGetYear(d) {
var y = d.getUTCFullYear(), d0 = d3_time_scaleUTCSetYear(y), d1 = d3_time_scaleUTCSetYear(y + 1);
return y + (d - d0) / (d1 - d0);
}
d3_time_scaleUTCMethods.year = function(extent, m) {
return d3_time_scaleLinear.domain(extent.map(d3_time_scaleUTCGetYear)).ticks(m).map(d3_time_scaleUTCSetYear);
};
d3.time.scale.utc = function() {
return d3_time_scale(d3.scale.linear(), d3_time_scaleUTCMethods, d3_time_scaleUTCFormat);
};
d3.text = d3_xhrType(function(request) {
return request.responseText;
});
d3.json = function(url, callback) {
return d3_xhr(url, "application/json", d3_json, callback);
};
function d3_json(request) {
return JSON.parse(request.responseText);
}
d3.html = function(url, callback) {
return d3_xhr(url, "text/html", d3_html, callback);
};
function d3_html(request) {
var range = d3_document.createRange();
range.selectNode(d3_document.body);
return range.createContextualFragment(request.responseText);
}
d3.xml = d3_xhrType(function(request) {
return request.responseXML;
});
return d3;
}();
.dc-chart {
float: left;
}
.dc-chart rect.bar {
stroke: none;
cursor: pointer;
}
.dc-chart rect.bar:hover {
fill-opacity: .5;
}
.dc-chart rect.stack1 {
stroke: none;
fill: red;
}
.dc-chart rect.stack2 {
stroke: none;
fill: green;
}
.dc-chart rect.deselected {
stroke: none;
fill: #ccc;
}
.dc-chart .sub .bar {
stroke: none;
fill: #ccc;
}
.dc-chart .pie-slice {
fill: white;
font-size: 12px;
cursor: pointer;
}
.dc-chart .pie-slice :hover {
fill-opacity: .8;
}
.dc-chart .selected path {
stroke-width: 3;
stroke: #ccc;
fill-opacity: 1;
}
.dc-chart .deselected path {
strok: none;
fill-opacity: .5;
fill: #ccc;
}
.dc-chart .axis path, .axis line {
fill: none;
stroke: #000;
shape-rendering: crispEdges;
}
.dc-chart .axis text {
font: 10px sans-serif;
}
.dc-chart .grid-line {
fill: none;
stroke: #ccc;
opacity: .5;
shape-rendering: crispEdges;
}
.dc-chart .grid-line line {
fill: none;
stroke: #ccc;
opacity: .5;
shape-rendering: crispEdges;
}
.dc-chart .brush rect.background {
z-index: -999;
}
.dc-chart .brush rect.extent {
fill: steelblue;
fill-opacity: .125;
}
.dc-chart .brush .resize path {
fill: #eee;
stroke: #666;
}
.dc-chart path.line {
fill: none;
stroke-width: 1.5px;
}
.dc-chart circle.dot {
stroke: none;
}
.dc-chart g.dc-tooltip path {
fill: none;
stroke: grey;
stroke-opacity: .8;
}
.dc-chart path.area {
fill-opacity: .3;
stroke: none;
}
.dc-chart .node {
font-size: 0.7em;
cursor: pointer;
}
.dc-chart .node :hover {
fill-opacity: .8;
}
.dc-chart .selected circle {
stroke-width: 3;
stroke: #ccc;
fill-opacity: 1;
}
.dc-chart .deselected circle {
strok: none;
fill-opacity: .5;
fill: #ccc;
}
.dc-chart .bubble {
stroke: none;
fill-opacity: 0.6;
}
.dc-data-count {
float: right;
margin-top: 15px;
margin-right: 15px;
}
.dc-data-count .filter-count {
color: #3182bd;
font-weight: bold;
}
.dc-data-count .total-count {
color: #3182bd;
font-weight: bold;
}
.dc-data-table {
}
.dc-chart g.state {
cursor: pointer;
}
.dc-chart g.state :hover {
fill-opacity: .8;
}
.dc-chart g.state path {
stroke: white;
}
.dc-chart g.selected path {
}
.dc-chart g.deselected path {
fill: grey;
}
.dc-chart g.selected text {
}
.dc-chart g.deselected text {
display: none;
}
.dc-chart g.county path {
stroke: white;
fill: none;
}
.dc-chart g.debug rect {
fill: blue;
fill-opacity: .2;
}
.dc-chart g.row rect {
fill-opacity: 0.8;
cursor: pointer;
}
.dc-chart g.row rect:hover {
fill-opacity: 0.6;
}
.dc-chart g.row text {
fill: white;
font-size: 12px;
cursor: pointer;
}
.dc-chart g text {
/* Makes it so the user can't accidentally click and select text that is meant as a label only */
-webkit-user-select: none; /* Chrome/Safari */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* IE10 */
-o-user-select: none;
user-select: none;
pointer-events: none;
}
/*
* Copyright 2012 the original author or authors.
* Licensed under the Apache License, Version 2.0 (the "License");
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
dc = {
version: "1.5.0",
constants : {
CHART_CLASS: "dc-chart",
DEBUG_GROUP_CLASS: "debug",
STACK_CLASS: "stack",
DESELECTED_CLASS: "deselected",
SELECTED_CLASS: "selected",
NODE_INDEX_NAME: "__index__",
GROUP_INDEX_NAME: "__group_index__",
DEFAULT_CHART_GROUP: "__default_chart_group__",
EVENT_DELAY: 40,
NEGLIGIBLE_NUMBER: 1e-10
},
_renderlet : null
};
dc.chartRegistry = function() {
// chartGroup:string => charts:array
var _chartMap = {};
this.has = function(chart) {
for (var e in _chartMap) {
if (_chartMap[e].indexOf(chart) >= 0)
return true;
}
return false;
};
function initializeChartGroup(group) {
if (!group)
group = dc.constants.DEFAULT_CHART_GROUP;
if (!_chartMap[group])
_chartMap[group] = [];
return group;
}
this.register = function(chart, group) {
group = initializeChartGroup(group);
_chartMap[group].push(chart);
};
this.clear = function() {
_chartMap = {};
};
this.list = function(group) {
group = initializeChartGroup(group);
return _chartMap[group];
};
return this;
}();
dc.registerChart = function(chart, group) {
dc.chartRegistry.register(chart, group);
};
dc.hasChart = function(chart) {
return dc.chartRegistry.has(chart);
};
dc.deregisterAllCharts = function() {
dc.chartRegistry.clear();
};
dc.filterAll = function(group) {
var charts = dc.chartRegistry.list(group);
for (var i = 0; i < charts.length; ++i) {
charts[i].filterAll();
}
};
dc.renderAll = function(group) {
var charts = dc.chartRegistry.list(group);
for (var i = 0; i < charts.length; ++i) {
charts[i].render();
}
if(dc._renderlet !== null)
dc._renderlet(group);
};
dc.redrawAll = function(group) {
var charts = dc.chartRegistry.list(group);
for (var i = 0; i < charts.length; ++i) {
charts[i].redraw();
}
if(dc._renderlet !== null)
dc._renderlet(group);
};
dc.transition = function(selections, duration, callback) {
if (duration <= 0 || duration === undefined)
return selections;
var s = selections
.transition()
.duration(duration);
if (callback instanceof Function) {
callback(s);
}
return s;
};
dc.units = {};
dc.units.integers = function(s, e) {
return Math.abs(e - s);
};
dc.units.ordinal = function(s, e, domain){
return domain;
};
dc.units.fp = {};
dc.units.fp.precision= function(precision){
var _f = function(s, e, domain){return Math.ceil(Math.abs((e-s)/_f.resolution));};
_f.resolution = precision;
return _f;
};
dc.round = {};
dc.round.floor = function(n) {
return Math.floor(n);
};
dc.round.ceil = function(n) {
return Math.ceil(n);
};
dc.round.round = function(n) {
return Math.round(n);
};
dc.override = function(obj, functionName, newFunction) {
var existingFunction = obj[functionName];
obj["_" + functionName] = existingFunction;
obj[functionName] = newFunction;
};
dc.renderlet = function(_){
if(!arguments.length) return dc._renderlet;
dc._renderlet = _;
return dc;
};
dc.instanceOfChart = function (o) {
return o instanceof Object && o.__dc_flag__;
};
dc.errors = {};
dc.errors.Exception = function(msg) {
var _msg = msg != null ? msg : "Unexpected internal error";
this.message = _msg;
this.toString = function(){
return _msg;
};
};
dc.errors.InvalidStateException = function() {
dc.errors.Exception.apply(this, arguments);
};dc.dateFormat = d3.time.format("%m/%d/%Y");
dc.printers = {};
dc.printers.filters = function (filters) {
var s = "";
for (var i = 0; i < filters.length; ++i) {
if (i > 0) s += ", ";
s += dc.printers.filter(filters[i]);
}
return s;
};
dc.printers.filter = function (filter) {
var s = "";
if (filter) {
if (filter instanceof Array) {
if (filter.length >= 2)
s = "[" + dc.utils.printSingleValue(filter[0]) + " -> " + dc.utils.printSingleValue(filter[1]) + "]";
else if (filter.length >= 1)
s = dc.utils.printSingleValue(filter[0]);
} else {
s = dc.utils.printSingleValue(filter)
}
}
return s;
};
dc.utils = {};
dc.utils.printSingleValue = function (filter) {
var s = "" + filter;
if (filter instanceof Date)
s = dc.dateFormat(filter);
else if (typeof(filter) == "string")
s = filter;
else if (typeof(filter) == "number")
s = Math.round(filter);
return s;
};
dc.utils.add = function (l, r) {
if (typeof r === "string")
r = r.replace("%", "")
if (l instanceof Date) {
if (typeof r === "string") r = +r
var d = new Date();
d.setTime(l.getTime());
d.setDate(l.getDate() + r);
return d;
} else if (typeof r === "string") {
var percentage = (+r / 100);
return l > 0 ? l * (1 + percentage) : l * (1 - percentage);
} else {
return l + r;
}
};
dc.utils.subtract = function (l, r) {
if (typeof r === "string")
r = r.replace("%", "")
if (l instanceof Date) {
if (typeof r === "string") r = +r
var d = new Date();
d.setTime(l.getTime());
d.setDate(l.getDate() - r);
return d;
} else if (typeof r === "string") {
var percentage = (+r / 100);
return l < 0 ? l * (1 + percentage) : l * (1 - percentage);
} else {
return l - r;
}
};
dc.utils.GroupStack = function () {
var _dataLayers = [];
var _groups = [];
var _defaultAccessor;
function initializeDataLayer(i) {
if (!_dataLayers[i])
_dataLayers[i] = [];
}
this.setDataPoint = function (layerIndex, pointIndex, data) {
initializeDataLayer(layerIndex);
_dataLayers[layerIndex][pointIndex] = data;
};
this.getDataPoint = function (x, y) {
initializeDataLayer(x);
var dataPoint = _dataLayers[x][y];
if (dataPoint == undefined)
dataPoint = 0;
return dataPoint;
};
this.addGroup = function (group, accessor) {
if (!accessor)
accessor = _defaultAccessor;
_groups.push([group, accessor]);
return _groups.length - 1;
};
this.getGroupByIndex = function (index) {
return _groups[index][0];
};
this.getAccessorByIndex = function (index) {
return _groups[index][1];
};
this.size = function () {
return _groups.length;
};
this.clear = function () {
_dataLayers = [];
_groups = [];
};
this.setDefaultAccessor = function (retriever) {
_defaultAccessor = retriever;
};
this.getDataLayers = function () {
return _dataLayers;
};
this.toLayers = function () {
var layers = [];
for (var i = 0; i < _dataLayers.length; ++i) {
var layer = {index: i, points: []};
var dataPoints = _dataLayers[i];
for (var j = 0; j < dataPoints.length; ++j)
layer.points.push(dataPoints[j]);
layers.push(layer);
}
return layers;
};
};
dc.utils.isNegligible = function (max) {
return max === undefined || (max < dc.constants.NEGLIGIBLE_NUMBER && max > -dc.constants.NEGLIGIBLE_NUMBER);
}
dc.utils.groupMax = function (group, accessor) {
var max = d3.max(group.all(), function (e) {
return accessor(e);
});
if (dc.utils.isNegligible(max)) max = 0;
return max;
};
dc.utils.groupMin = function (group, accessor) {
var min = d3.min(group.all(), function (e) {
return accessor(e);
});
if (dc.utils.isNegligible(min)) min = 0;
return min;
};
dc.utils.nameToId = function (name) {
return name.toLowerCase().replace(/[\s]/g, "_").replace(/[\.']/g, "");
};
dc.utils.appendOrSelect = function (parent, name) {
var element = parent.select(name);
if (element.empty()) element = parent.append(name);
return element;
};
dc.utils.createLegendable = function (chart, group, index, accessor) {
var legendable = {name: chart.getGroupName(group, accessor), data: group};
if (typeof chart.colors === 'function') legendable.color = chart.colors()(index);
return legendable;
};
dc.utils.safeNumber = function(n){return isNaN(n)?0:n;};
dc.events = {
current: null
};
dc.events.trigger = function(closure, delay) {
if (!delay){
closure();
return;
}
dc.events.current = closure;
setTimeout(function() {
if (closure == dc.events.current)
closure();
}, delay);
};
dc.cumulative = {};
dc.cumulative.Base = function() {
this._keyIndex = [];
this._map = {};
this.sanitizeKey = function(key) {
key = key + "";
return key;
};
this.clear = function() {
this._keyIndex = [];
this._map = {};
};
this.size = function() {
return this._keyIndex.length;
};
this.getValueByKey = function(key) {
key = this.sanitizeKey(key);
var value = this._map[key];
return value;
};
this.setValueByKey = function(key, value) {
key = this.sanitizeKey(key);
return this._map[key] = value;
};
this.indexOfKey = function(key) {
key = this.sanitizeKey(key);
return this._keyIndex.indexOf(key);
};
this.addToIndex = function(key) {
key = this.sanitizeKey(key);
this._keyIndex.push(key);
};
this.getKeyByIndex = function(index) {
return this._keyIndex[index];
};
};
dc.cumulative.Sum = function() {
dc.cumulative.Base.apply(this, arguments);
this.add = function(key, value) {
if (value == null)
value = 0;
if (this.getValueByKey(key) == null) {
this.addToIndex(key);
this.setValueByKey(key, value);
} else {
this.setValueByKey(key, this.getValueByKey(key) + value);
}
};
this.minus = function(key, value) {
this.setValueByKey(key, this.getValueByKey(key) - value);
};
this.cumulativeSum = function(key) {
var keyIndex = this.indexOfKey(key);
if (keyIndex < 0) return 0;
var cumulativeValue = 0;
for (var i = 0; i <= keyIndex; ++i) {
var k = this.getKeyByIndex(i);
cumulativeValue += this.getValueByKey(k);
}
return cumulativeValue;
};
};
dc.cumulative.Sum.prototype = new dc.cumulative.Base();
dc.cumulative.CountUnique = function() {
dc.cumulative.Base.apply(this, arguments);
function hashSize(hash) {
var size = 0, key;
for (key in hash) {
if (hash.hasOwnProperty(key)) size++;
}
return size;
}
this.add = function(key, e) {
if (this.getValueByKey(key) == null) {
this.setValueByKey(key, {});
this.addToIndex(key);
}
if (e != null) {
if (this.getValueByKey(key)[e] == null)
this.getValueByKey(key)[e] = 0;
this.getValueByKey(key)[e] += 1;
}
};
this.minus = function(key, e) {
this.getValueByKey(key)[e] -= 1;
if (this.getValueByKey(key)[e] <= 0)
delete this.getValueByKey(key)[e];
};
this.count = function(key) {
return hashSize(this.getValueByKey(key));
};
this.cumulativeCount = function(key) {
var keyIndex = this.indexOfKey(key);
if (keyIndex < 0) return 0;
var cumulativeCount = 0;
for (var i = 0; i <= keyIndex; ++i) {
var k = this.getKeyByIndex(i);
cumulativeCount += this.count(k);
}
return cumulativeCount;
};
};
dc.cumulative.CountUnique.prototype = new dc.cumulative.Base();
dc.baseChart = function (_chart) {
_chart.__dc_flag__ = true;
var _dimension;
var _group;
var _anchor;
var _root;
var _svg;
var _width = 200, _height = 200;
var _keyAccessor = function (d) {
return d.key;
};
var _valueAccessor = function (d) {
return d.value;
};
var _label = function (d) {
return d.key;
};
var _renderLabel = false;
var _title = function (d) {
return d.key + ": " + d.value;
};
var _renderTitle = false;
var _transitionDuration = 750;
var _filterPrinter = dc.printers.filters;
var _renderlets = [];
var _chartGroup = dc.constants.DEFAULT_CHART_GROUP;
var NULL_LISTENER = function (chart) {
};
var _listeners = {
preRender: NULL_LISTENER,
postRender: NULL_LISTENER,
preRedraw: NULL_LISTENER,
postRedraw: NULL_LISTENER,
filtered: NULL_LISTENER,
zoomed: NULL_LISTENER
};
var _legend;
var _filters = [];
var _filterHandler = function (dimension, filters) {
dimension.filter(null);
if (filters.length == 0)
dimension.filter(null);
else if (filters.length == 1)
dimension.filter(filters[0]);
else
dimension.filterFunction(function (d) {
return filters.indexOf(d) >= 0;
});
return filters;
};
_chart.width = function (w) {
if (!arguments.length) return _width;
_width = w;
return _chart;
};
_chart.height = function (h) {
if (!arguments.length) return _height;
_height = h;
return _chart;
};
_chart.dimension = function (d) {
if (!arguments.length) return _dimension;
_dimension = d;
_chart.expireCache();
return _chart;
};
_chart.group = function (g, name) {
if (!arguments.length) return _group;
_group = g;
_chart.expireCache();
if (typeof name === 'string') _chart.setGroupName(_group, name);
return _chart;
};
_chart.setGroupName = function (g, name, accessor) {
if (!g.__names__) g.__names__ = {};
g.__names__[groupNameKey(accessor)] = name;
};
function groupNameKey(accessor) {
var defaultKey = "default";
return accessor ? (accessor == _chart.valueAccessor() ? defaultKey : accessor) : defaultKey;
}
_chart.getGroupName = function (g, accessor) {
if (!g.__names__) g.__names__ = {};
return g.__names__[groupNameKey(accessor)];
};
_chart.orderedGroup = function () {
return _group.order(function (p) {
return p.key;
});
};
_chart.filterAll = function () {
return _chart.filter(null);
};
_chart.dataSet = function () {
return _dimension != undefined && _group != undefined;
};
_chart.select = function (s) {
return _root.select(s);
};
_chart.selectAll = function (s) {
return _root ? _root.selectAll(s) : null;
};
_chart.anchor = function (a, chartGroup) {
if (!arguments.length) return _anchor;
if (dc.instanceOfChart(a)) {
_anchor = a.anchor();
_root = a.root();
} else {
_anchor = a;
_root = d3.select(_anchor);
_root.classed(dc.constants.CHART_CLASS, true);
dc.registerChart(_chart, chartGroup);
}
_chartGroup = chartGroup;
return _chart;
};
_chart.root = function (r) {
if (!arguments.length) return _root;
_root = r;
return _chart;
};
_chart.svg = function (_) {
if (!arguments.length) return _svg;
_svg = _;
return _chart;
};
_chart.resetSvg = function () {
_chart.select("svg").remove();
return _chart.generateSvg();
};
_chart.generateSvg = function () {
_svg = _chart.root().append("svg")
.attr("width", _chart.width())
.attr("height", _chart.height());
return _svg;
};
_chart.filterPrinter = function (_) {
if (!arguments.length) return _filterPrinter;
_filterPrinter = _;
return _chart;
};
_chart.turnOnControls = function () {
if (_root) {
_chart.selectAll(".reset").style("display", null);
_chart.selectAll(".filter").text(_filterPrinter(_chart.filters())).style("display", null);
}
return _chart;
};
_chart.turnOffControls = function () {
if (_root) {
_chart.selectAll(".reset").style("display", "none");
_chart.selectAll(".filter").style("display", "none").text(_chart.filter());
}
return _chart;
};
_chart.transitionDuration = function (d) {
if (!arguments.length) return _transitionDuration;
_transitionDuration = d;
return _chart;
};
_chart.render = function () {
_listeners.preRender(_chart);
if (_dimension == null)
throw new dc.errors.InvalidStateException("Mandatory attribute chart.dimension is missing on chart["
+ _chart.anchor() + "]");
if (_group == null)
throw new dc.errors.InvalidStateException("Mandatory attribute chart.group is missing on chart["
+ _chart.anchor() + "]");
var result = _chart.doRender();
if (_legend) _legend.render();
_chart.activateRenderlets("postRender");
return result;
};
_chart.activateRenderlets = function (event) {
if (_chart.transitionDuration() > 0 && _svg) {
_svg.transition().duration(_chart.transitionDuration())
.each("end", function () {
runAllRenderlets();
if (event) _listeners[event](_chart);
});
} else {
runAllRenderlets();
if (event) _listeners[event](_chart);
}
}
_chart.redraw = function () {
_listeners.preRedraw(_chart);
var result = _chart.doRedraw();
_chart.activateRenderlets("postRedraw");
return result;
};
_chart.invokeFilteredListener = function (chart, f) {
if (f !== undefined) _listeners.filtered(_chart, f);
};
_chart.invokeZoomedListener = function (chart) {
_listeners.zoomed(_chart);
};
_chart.hasFilter = function (filter) {
if (!arguments.length) return _filters.length > 0;
return _filters.indexOf(filter) >= 0;
};
function removeFilter(_) {
_filters.splice(_filters.indexOf(_), 1);
applyFilters();
_chart.invokeFilteredListener(_chart, _);
}
function addFilter(_) {
_filters.push(_);
applyFilters();
_chart.invokeFilteredListener(_chart, _);
}
function resetFilters() {
_filters = [];
applyFilters();
_chart.invokeFilteredListener(_chart, null);
}
function applyFilters() {
if (_chart.dataSet() && _chart.dimension().filter != undefined) {
var fs = _filterHandler(_chart.dimension(), _filters);
_filters = fs ? fs : _filters;
}
}
_chart.filter = function (_) {
if (!arguments.length) return _filters.length > 0 ? _filters[0] : null;
if (_ == null) {
resetFilters();
} else {
if (_chart.hasFilter(_))
removeFilter(_);
else
addFilter(_);
}
if (_root != null && _chart.hasFilter()) {
_chart.turnOnControls();
} else {
_chart.turnOffControls();
}
return _chart;
};
_chart.filters = function () {
return _filters;
};
_chart.highlightSelected = function (e) {
d3.select(e).classed(dc.constants.SELECTED_CLASS, true);
d3.select(e).classed(dc.constants.DESELECTED_CLASS, false);
};
_chart.fadeDeselected = function (e) {
d3.select(e).classed(dc.constants.SELECTED_CLASS, false);
d3.select(e).classed(dc.constants.DESELECTED_CLASS, true);
};
_chart.resetHighlight = function (e) {
d3.select(e).classed(dc.constants.SELECTED_CLASS, false);
d3.select(e).classed(dc.constants.DESELECTED_CLASS, false);
};
_chart.onClick = function (d) {
var filter = _chart.keyAccessor()(d);
dc.events.trigger(function () {
_chart.filter(filter);
dc.redrawAll(_chart.chartGroup());
});
};
_chart.filterHandler = function (_) {
if (!arguments.length) return _filterHandler;
_filterHandler = _;
return _chart;
};
// abstract function stub
_chart.doRender = function () {
// do nothing in base, should be overridden by sub-function
return _chart;
};
_chart.doRedraw = function () {
// do nothing in base, should be overridden by sub-function
return _chart;
};
_chart.legendables = function () {
// do nothing in base, should be overridden by sub-function
return [];
};
_chart.legendHighlight = function (d) {
// do nothing in base, should be overridden by sub-function
};
_chart.legendReset = function (d) {
// do nothing in base, should be overridden by sub-function
};
_chart.keyAccessor = function (_) {
if (!arguments.length) return _keyAccessor;
_keyAccessor = _;
return _chart;
};
_chart.valueAccessor = function (_) {
if (!arguments.length) return _valueAccessor;
_valueAccessor = _;
return _chart;
};
_chart.label = function (_) {
if (!arguments.length) return _label;
_label = _;
_renderLabel = true;
return _chart;
};
_chart.renderLabel = function (_) {
if (!arguments.length) return _renderLabel;
_renderLabel = _;
return _chart;
};
_chart.title = function (_) {
if (!arguments.length) return _title;
_title = _;
_renderTitle = true;
return _chart;
};
_chart.renderTitle = function (_) {
if (!arguments.length) return _renderTitle;
_renderTitle = _;
return _chart;
};
_chart.renderlet = function (_) {
_renderlets.push(_);
return _chart;
};
function runAllRenderlets() {
for (var i = 0; i < _renderlets.length; ++i) {
_renderlets[i](_chart);
}
}
_chart.chartGroup = function (_) {
if (!arguments.length) return _chartGroup;
_chartGroup = _;
return _chart;
};
_chart.on = function (event, listener) {
_listeners[event] = listener;
return _chart;
};
_chart.expireCache = function () {
// do nothing in base, should be overridden by sub-function
return _chart;
};
_chart.legend = function (l) {
if (!arguments.length) return _legend;
_legend = l;
_legend.parent(_chart);
return _chart;
};
return _chart;
};
dc.marginable = function (_chart) {
var _margin = {top: 10, right: 50, bottom: 30, left: 30};
_chart.margins = function (m) {
if (!arguments.length) return _margin;
_margin = m;
return _chart;
};
_chart.effectiveWidth = function () {
return _chart.width() - _chart.margins().left - _chart.margins().right;
};
_chart.effectiveHeight = function () {
return _chart.height() - _chart.margins().top - _chart.margins().bottom;
};
return _chart;
};dc.coordinateGridChart = function (_chart) {
var GRID_LINE_CLASS = "grid-line";
var HORIZONTAL_CLASS = "horizontal";
var VERTICAL_CLASS = "vertical";
_chart = dc.colorChart(dc.marginable(dc.baseChart(_chart)));
_chart.colors(d3.scale.category10());
var _parent;
var _g;
var _chartBodyG;
var _x;
var _xOriginalDomain;
var _xAxis = d3.svg.axis();
var _xUnits = dc.units.integers;
var _xAxisPadding = 0;
var _xElasticity = false;
var _y;
var _yAxis = d3.svg.axis();
var _yAxisPadding = 0;
var _yElasticity = false;
var _brush = d3.svg.brush();
var _brushOn = true;
var _round;
var _renderHorizontalGridLine = false;
var _renderVerticalGridLine = false;
var _refocused = false;
var _unitCount;
var _rangeChart;
var _focusChart;
var _mouseZoomable = false;
var _clipPadding = 0;
_chart.title(function (d) {
return d.data.key + ": " + d.data.value;
});
_chart.rescale = function () {
_unitCount = null;
_chart.xUnitCount();
}
_chart.rangeChart = function (_) {
if (!arguments.length) return _rangeChart;
_rangeChart = _;
_rangeChart.focusChart(_chart);
return _chart;
}
_chart.generateG = function (parent) {
if (parent == null)
_parent = _chart.svg();
else
_parent = parent;
_g = _parent.append("g");
_chartBodyG = _g.append("g").attr("class", "chart-body")
.attr("transform", "translate(" + _chart.margins().left + ", " + _chart.margins().top + ")")
.attr("clip-path", "url(#" + getClipPathId() + ")");
return _g;
};
_chart.g = function (_) {
if (!arguments.length) return _g;
_g = _;
return _chart;
};
_chart.mouseZoomable = function (z) {
if (!arguments.length) return _mouseZoomable;
_mouseZoomable = z;
return _chart;
};
_chart.chartBodyG = function (_) {
if (!arguments.length) return _chartBodyG;
_chartBodyG = _;
return _chart;
};
_chart.x = function (_) {
if (!arguments.length) return _x;
_x = _;
_xOriginalDomain = _x.domain();
return _chart;
};
_chart.xOriginalDomain = function () {
return _xOriginalDomain;
};
_chart.xUnits = function (_) {
if (!arguments.length) return _xUnits;
_xUnits = _;
return _chart;
};
_chart.xAxis = function (_) {
if (!arguments.length) return _xAxis;
_xAxis = _;
return _chart;
};
_chart.elasticX = function (_) {
if (!arguments.length) return _xElasticity;
_xElasticity = _;
return _chart;
};
_chart.xAxisPadding = function (_) {
if (!arguments.length) return _xAxisPadding;
_xAxisPadding = _;
return _chart;
};
_chart.xUnitCount = function () {
if (_unitCount == null) {
var units = _chart.xUnits()(_chart.x().domain()[0], _chart.x().domain()[1], _chart.x().domain());
if (units instanceof Array)
_unitCount = units.length;
else
_unitCount = units;
}
return _unitCount;
};
_chart.isOrdinal = function () {
return _chart.xUnits() === dc.units.ordinal;
};
_chart.prepareOrdinalXAxis = function (count) {
if (!count)
count = _chart.xUnitCount();
var range = [];
var currentPosition = 0;
var increment = _chart.xAxisLength() / count;
for (var i = 0; i < count; i++) {
range[i] = currentPosition;
currentPosition += increment;
}
_x.range(range);
};
function prepareXAxis(g) {
if (_chart.elasticX() && !_chart.isOrdinal()) {
_x.domain([_chart.xAxisMin(), _chart.xAxisMax()]);
}
if (_chart.isOrdinal()) {
_chart.prepareOrdinalXAxis();
} else {
_x.range([0, _chart.xAxisLength()]);
}
_xAxis = _xAxis.scale(_chart.x()).orient("bottom");
renderVerticalGridLines(g);
}
_chart.renderXAxis = function (g) {
var axisXG = g.selectAll("g.x");
if (axisXG.empty())
axisXG = g.append("g")
.attr("class", "axis x")
.attr("transform", "translate(" + _chart.margins().left + "," + _chart.xAxisY() + ")");
dc.transition(axisXG, _chart.transitionDuration())
.call(_xAxis);
};
function renderVerticalGridLines(g) {
var gridLineG = g.selectAll("g." + VERTICAL_CLASS);
if (_renderVerticalGridLine) {
if (gridLineG.empty())
gridLineG = g.insert("g", ":first-child")
.attr("class", GRID_LINE_CLASS + " " + VERTICAL_CLASS)
.attr("transform", "translate(" + _chart.yAxisX() + "," + _chart.margins().top + ")");
var ticks = _xAxis.tickValues() ? _xAxis.tickValues() : _x.ticks(_xAxis.ticks()[0]);
var lines = gridLineG.selectAll("line")
.data(ticks);
// enter
var linesGEnter = lines.enter()
.append("line")
.attr("x1", function (d) {
return _x(d);
})
.attr("y1", _chart.xAxisY() - _chart.margins().top)
.attr("x2", function (d) {
return _x(d);
})
.attr("y2", 0)
.attr("opacity", 0);
dc.transition(linesGEnter, _chart.transitionDuration())
.attr("opacity", 1);
// update
dc.transition(lines, _chart.transitionDuration())
.attr("x1", function (d) {
return _x(d);
})
.attr("y1", _chart.xAxisY() - _chart.margins().top)
.attr("x2", function (d) {
return _x(d);
})
.attr("y2", 0);
// exit
lines.exit().remove();
}
else {
gridLineG.selectAll("line").remove()
}
}
_chart.xAxisY = function () {
return (_chart.height() - _chart.margins().bottom);
};
_chart.xAxisLength = function () {
return _chart.effectiveWidth();
};
function prepareYAxis(g) {
if (_y == null || _chart.elasticY()) {
_y = d3.scale.linear();
_y.domain([_chart.yAxisMin(), _chart.yAxisMax()]).rangeRound([_chart.yAxisHeight(), 0]);
}
_y.range([_chart.yAxisHeight(), 0]);
_yAxis = _yAxis.scale(_y).orient("left");
renderHorizontalGridLines(g);
}
_chart.renderYAxis = function (g) {
var axisYG = g.selectAll("g.y");
if (axisYG.empty())
axisYG = g.append("g")
.attr("class", "axis y")
.attr("transform", "translate(" + _chart.yAxisX() + "," + _chart.margins().top + ")");
dc.transition(axisYG, _chart.transitionDuration())
.call(_yAxis);
};
function renderHorizontalGridLines(g) {
var gridLineG = g.selectAll("g." + HORIZONTAL_CLASS);
if (_renderHorizontalGridLine) {
var ticks = _yAxis.tickValues() ? _yAxis.tickValues() : _y.ticks(_yAxis.ticks()[0]);
if (gridLineG.empty())
gridLineG = g.insert("g", ":first-child")
.attr("class", GRID_LINE_CLASS + " " + HORIZONTAL_CLASS)
.attr("transform", "translate(" + _chart.yAxisX() + "," + _chart.margins().top + ")");
var lines = gridLineG.selectAll("line")
.data(ticks);
// enter
var linesGEnter = lines.enter()
.append("line")
.attr("x1", 1)
.attr("y1", function (d) {
return _y(d);
})
.attr("x2", _chart.xAxisLength())
.attr("y2", function (d) {
return _y(d);
})
.attr("opacity", 0);
dc.transition(linesGEnter, _chart.transitionDuration())
.attr("opacity", 1);
// update
dc.transition(lines, _chart.transitionDuration())
.attr("x1", 1)
.attr("y1", function (d) {
return _y(d);
})
.attr("x2", _chart.xAxisLength())
.attr("y2", function (d) {
return _y(d);
});
// exit
lines.exit().remove();
}
else {
gridLineG.selectAll("line").remove()
}
}
_chart.yAxisX = function () {
return _chart.margins().left;
};
_chart.y = function (_) {
if (!arguments.length) return _y;
_y = _;
return _chart;
};
_chart.yAxis = function (y) {
if (!arguments.length) return _yAxis;
_yAxis = y;
return _chart;
};
_chart.elasticY = function (_) {
if (!arguments.length) return _yElasticity;
_yElasticity = _;
return _chart;
};
_chart.renderHorizontalGridLines = function (_) {
if (!arguments.length) return _renderHorizontalGridLine;
_renderHorizontalGridLine = _;
return _chart;
};
_chart.renderVerticalGridLines = function (_) {
if (!arguments.length) return _renderVerticalGridLine;
_renderVerticalGridLine = _;
return _chart;
};
_chart.xAxisMin = function () {
var min = d3.min(_chart.group().all(), function (e) {
return _chart.keyAccessor()(e);
});
return dc.utils.subtract(min, _xAxisPadding);
};
_chart.xAxisMax = function () {
var max = d3.max(_chart.group().all(), function (e) {
return _chart.keyAccessor()(e);
});
return dc.utils.add(max, _xAxisPadding);
};
_chart.yAxisMin = function () {
var min = d3.min(_chart.group().all(), function (e) {
return _chart.valueAccessor()(e);
});
min = dc.utils.subtract(min, _yAxisPadding);
return min;
};
_chart.yAxisMax = function () {
var max = d3.max(_chart.group().all(), function (e) {
return _chart.valueAccessor()(e);
});
max = dc.utils.add(max, _yAxisPadding);
return max;
};
_chart.yAxisPadding = function (_) {
if (!arguments.length) return _yAxisPadding;
_yAxisPadding = _;
return _chart;
};
_chart.yAxisHeight = function () {
return _chart.effectiveHeight();
};
_chart.round = function (_) {
if (!arguments.length) return _round;
_round = _;
return _chart;
};
dc.override(_chart, "filter", function (_) {
if (!arguments.length) return _chart._filter();
_chart._filter(_);
if (_) {
_chart.brush().extent(_);
} else {
_chart.brush().clear();
}
return _chart;
});
_chart.brush = function (_) {
if (!arguments.length) return _brush;
_brush = _;
return _chart;
};
function brushHeight() {
return _chart.xAxisY() - _chart.margins().top;
}
_chart.renderBrush = function (g) {
if (_chart.isOrdinal())
_brushOn = false;
if (_brushOn) {
_brush.on("brushstart", brushStart)
.on("brush", brushing)
.on("brushend", brushEnd);
var gBrush = g.append("g")
.attr("class", "brush")
.attr("transform", "translate(" + _chart.margins().left + "," + _chart.margins().top + ")")
.call(_brush.x(_chart.x()));
gBrush.selectAll("rect").attr("height", brushHeight());
gBrush.selectAll(".resize").append("path").attr("d", _chart.resizeHandlePath);
if (_chart.hasFilter()) {
_chart.redrawBrush(g);
}
}
};
function brushStart(p) {
}
_chart.extendBrush = function () {
var extent = _brush.extent();
if (_chart.round()) {
extent[0] = extent.map(_chart.round())[0];
extent[1] = extent.map(_chart.round())[1];
_g.select(".brush")
.call(_brush.extent(extent));
}
return extent;
};
_chart.brushIsEmpty = function (extent) {
return _brush.empty() || !extent || extent[1] <= extent[0];
};
function brushing(p) {
var extent = _chart.extendBrush();
_chart.redrawBrush(_g);
if (_chart.brushIsEmpty(extent)) {
dc.events.trigger(function () {
_chart.filter(null);
dc.redrawAll(_chart.chartGroup());
});
} else {
dc.events.trigger(function () {
_chart.filter(null);
_chart.filter([extent[0], extent[1]]);
dc.redrawAll(_chart.chartGroup());
}, dc.constants.EVENT_DELAY);
}
}
function brushEnd(p) {
}
_chart.redrawBrush = function (g) {
if (_brushOn) {
if (_chart.filter() && _chart.brush().empty())
_chart.brush().extent(_chart.filter());
var gBrush = g.select("g.brush");
gBrush.call(_chart.brush().x(_chart.x()));
gBrush.selectAll("rect").attr("height", brushHeight());
}
_chart.fadeDeselectedArea();
};
_chart.fadeDeselectedArea = function () {
// do nothing, sub-chart should override this function
};
// borrowed from Crossfilter example
_chart.resizeHandlePath = function (d) {
var e = +(d == "e"), x = e ? 1 : -1, y = brushHeight() / 3;
return "M" + (.5 * x) + "," + y
+ "A6,6 0 0 " + e + " " + (6.5 * x) + "," + (y + 6)
+ "V" + (2 * y - 6)
+ "A6,6 0 0 " + e + " " + (.5 * x) + "," + (2 * y)
+ "Z"
+ "M" + (2.5 * x) + "," + (y + 8)
+ "V" + (2 * y - 8)
+ "M" + (4.5 * x) + "," + (y + 8)
+ "V" + (2 * y - 8);
};
function getClipPathId() {
return _chart.anchor().replace('#', '') + "-clip";
}
_chart.clipPadding = function (p) {
if (!arguments.length) return _clipPadding;
_clipPadding = p;
return _chart;
};
function generateClipPath() {
var defs = dc.utils.appendOrSelect(_parent, "defs");
var chartBodyClip = dc.utils.appendOrSelect(defs, "clipPath").attr("id", getClipPathId());
var padding = _clipPadding * 2;
dc.utils.appendOrSelect(chartBodyClip, "rect")
.attr("width", _chart.xAxisLength() + padding)
.attr("height", _chart.yAxisHeight() + padding);
}
_chart.doRender = function () {
if (_x == null)
throw new dc.errors.InvalidStateException("Mandatory attribute chart.x is missing on chart["
+ _chart.anchor() + "]");
_chart.resetSvg();
if (_chart.dataSet()) {
_chart.generateG();
generateClipPath();
prepareXAxis(_chart.g());
prepareYAxis(_chart.g());
_chart.plotData();
_chart.renderXAxis(_chart.g());
_chart.renderYAxis(_chart.g());
_chart.renderBrush(_chart.g());
enableMouseZoom();
}
return _chart;
};
function enableMouseZoom() {
if (_mouseZoomable) {
_chart.root().call(d3.behavior.zoom()
.x(_chart.x())
.scaleExtent([1, 100])
.on("zoom", function () {
_chart.focus(_chart.x().domain());
_chart.invokeZoomedListener(_chart);
updateRangeSelChart();
}));
}
}
function updateRangeSelChart() {
if (_rangeChart) {
var refDom = _chart.x().domain();
var origDom = _rangeChart.xOriginalDomain();
var newDom = [
refDom[0] < origDom[0] ? refDom[0] : origDom[0],
refDom[1] > origDom[1] ? refDom[1] : origDom[1]];
_rangeChart.focus(newDom);
_rangeChart.filter(null);
_rangeChart.filter(refDom);
dc.events.trigger(function () {
dc.redrawAll(_chart.chartGroup());
});
}
}
_chart.doRedraw = function () {
prepareXAxis(_chart.g());
prepareYAxis(_chart.g());
_chart.plotData();
if (_chart.elasticY())
_chart.renderYAxis(_chart.g());
if (_chart.elasticX() || _refocused)
_chart.renderXAxis(_chart.g());
_chart.redrawBrush(_chart.g());
return _chart;
};
_chart.subRender = function () {
if (_chart.dataSet()) {
_chart.plotData();
}
return _chart;
};
_chart.brushOn = function (_) {
if (!arguments.length) return _brushOn;
_brushOn = _;
return _chart;
};
_chart.getDataWithinXDomain = function (group) {
var data = [];
if (_chart.isOrdinal()) {
data = group.all();
} else {
group.all().forEach(function (d) {
var key = _chart.keyAccessor()(d);
if (key >= _chart.x().domain()[0] && key <= _chart.x().domain()[1])
data.push(d);
});
}
return data;
};
function hasRangeSelected(range) {
return range instanceof Array && range.length > 1;
}
_chart.focus = function (range) {
_refocused = true;
if (hasRangeSelected(range)) {
_chart.x().domain(range);
} else {
_chart.x().domain(_chart.xOriginalDomain());
}
_chart.rescale();
_chart.redraw();
if (!hasRangeSelected(range))
_refocused = false;
};
_chart.refocused = function () {
return _refocused;
};
_chart.focusChart = function (c) {
if (!arguments.length) return _focusChart;
_focusChart = c;
_chart.on("filtered", function (chart) {
dc.events.trigger(function () {
_focusChart.focus(chart.filter());
_focusChart.filter(chart.filter());
dc.redrawAll(chart.chartGroup());
});
});
return _chart;
};
return _chart;
};
dc.colorChart = function(_chart) {
var _colors = d3.scale.category20c();
var _colorDomain = [0, _colors.range().length];
var _colorCalculator = function(value) {
var minValue = _colorDomain[0];
var maxValue = _colorDomain[1];
if (isNaN(value)) value = 0;
if(maxValue == null) return _colors(value);
var colorsLength = _chart.colors().range().length;
var denominator = (maxValue - minValue) / colorsLength;
var colorValue = Math.abs(Math.min(colorsLength - 1, Math.round((value - minValue) / denominator)));
return _chart.colors()(colorValue);
};
var _colorAccessor = function(d, i){return i;};
_chart.colors = function(_) {
if (!arguments.length) return _colors;
if (_ instanceof Array) {
_colors = d3.scale.ordinal().range(_);
var domain = [];
for(var i = 0; i < _.length; ++i){
domain.push(i);
}
_colors.domain(domain);
} else {
_colors = _;
}
_colorDomain = [0, _colors.range().length];
return _chart;
};
_chart.colorCalculator = function(_){
if(!arguments.length) return _colorCalculator;
_colorCalculator = _;
return _chart;
};
_chart.getColor = function(d, i){
return _colorCalculator(_colorAccessor(d, i));
};
_chart.colorAccessor = function(_){
if(!arguments.length) return _colorAccessor;
_colorAccessor = _;
return _chart;
};
_chart.colorDomain = function(_){
if(!arguments.length) return _colorDomain;
_colorDomain = _;
return _chart;
};
return _chart;
};
dc.stackableChart = function (_chart) {
var _groupStack = new dc.utils.GroupStack();
var _stackLayout = d3.layout.stack()
.offset("zero")
.order("default")
.values(function (d) {
return d.points;
});
var _allGroups;
var _allValueAccessors;
var _allKeyAccessors;
var _stackLayers;
_chart.stack = function (group, p2, retriever) {
if (typeof p2 === 'string')
_chart.setGroupName(group, p2, retriever);
else if (typeof p2 === 'function')
retriever = p2;
_groupStack.setDefaultAccessor(_chart.valueAccessor());
_groupStack.addGroup(group, retriever);
_chart.expireCache();
return _chart;
};
_chart.expireCache = function () {
_allGroups = null;
_allValueAccessors = null;
_allKeyAccessors = null;
_stackLayers = null;
return _chart;
};
_chart.allGroups = function () {
if (_allGroups == null) {
_allGroups = [];
_allGroups.push(_chart.group());
for (var i = 0; i < _groupStack.size(); ++i)
_allGroups.push(_groupStack.getGroupByIndex(i));
}
return _allGroups;
};
_chart.allValueAccessors = function () {
if (_allValueAccessors == null) {
_allValueAccessors = [];
_allValueAccessors.push(_chart.valueAccessor());
for (var i = 0; i < _groupStack.size(); ++i)
_allValueAccessors.push(_groupStack.getAccessorByIndex(i));
}
return _allValueAccessors;
};
_chart.getValueAccessorByIndex = function (groupIndex) {
return _chart.allValueAccessors()[groupIndex];
};
_chart.yAxisMin = function () {
var min, all = flattenStack();
min = d3.min(all, function (p) {
return (p.y + p.y0 < p.y0) ? (p.y + p.y0) : p.y0;
});
min = dc.utils.subtract(min, _chart.yAxisPadding());
return min;
};
_chart.yAxisMax = function () {
var max, all = flattenStack();
max = d3.max(all, function (p) {
return p.y + p.y0;
});
max = dc.utils.add(max, _chart.yAxisPadding());
return max;
};
function flattenStack() {
var all = [];
if (_chart.x()) {
var xDomain = _chart.x().domain();
_chart.stackLayers().forEach(function (e) {
e.points.forEach(function (p) {
if (p.x >= xDomain[0] && p.x <= xDomain[1])
all.push(p);
});
});
} else {
_chart.stackLayers().forEach(function (e) {
all = all.concat(e.points);
});
}
return all;
}
_chart.allKeyAccessors = function () {
if (_allKeyAccessors == null) {
_allKeyAccessors = [];
_allKeyAccessors.push(_chart.keyAccessor());
for (var i = 0; i < _groupStack.size(); ++i)
_allKeyAccessors.push(_chart.keyAccessor());
}
return _allKeyAccessors;
};
_chart.getKeyAccessorByIndex = function (groupIndex) {
return _chart.allKeyAccessors()[groupIndex];
};
_chart.xAxisMin = function () {
var min = null;
var allGroups = _chart.allGroups();
for (var groupIndex = 0; groupIndex < allGroups.length; ++groupIndex) {
var group = allGroups[groupIndex];
var m = dc.utils.groupMin(group, _chart.getKeyAccessorByIndex(groupIndex));
if (min == null || min > m) min = m;
}
return dc.utils.subtract(min, _chart.xAxisPadding());
};
_chart.xAxisMax = function () {
var max = null;
var allGroups = _chart.allGroups();
for (var groupIndex = 0; groupIndex < allGroups.length; ++groupIndex) {
var group = allGroups[groupIndex];
var m = dc.utils.groupMax(group, _chart.getKeyAccessorByIndex(groupIndex));
if (max == null || max < m) max = m;
}
return dc.utils.add(max, _chart.xAxisPadding());
};
function getKeyFromData(groupIndex, d) {
return _chart.getKeyAccessorByIndex(groupIndex)(d);
}
function getValueFromData(groupIndex, d) {
return _chart.getValueAccessorByIndex(groupIndex)(d);
}
function calculateDataPointMatrix(data, groupIndex) {
for (var dataIndex = 0; dataIndex < data.length; ++dataIndex) {
var d = data[dataIndex];
var key = getKeyFromData(groupIndex, d);
var value = getValueFromData(groupIndex, d);
_groupStack.setDataPoint(groupIndex, dataIndex, {data: d, x: key, y: value});
}
}
_chart.calculateDataPointMatrixForAll = function () {
var groups = _chart.allGroups();
for (var groupIndex = 0; groupIndex < groups.length; ++groupIndex) {
var group = groups[groupIndex];
var data = group.all();
calculateDataPointMatrix(data, groupIndex);
}
};
_chart.getChartStack = function () {
return _groupStack;
};
dc.override(_chart, "valueAccessor", function (_) {
if (!arguments.length) return _chart._valueAccessor();
_chart.expireCache();
return _chart._valueAccessor(_);
});
dc.override(_chart, "keyAccessor", function (_) {
if (!arguments.length) return _chart._keyAccessor();
_chart.expireCache();
return _chart._keyAccessor(_);
});
_chart.stackLayout = function (stack) {
if (!arguments.length) return _stackLayout;
_stackLayout = stack;
return _chart;
};
_chart.stackLayers = function (_) {
if (!arguments.length) {
if (_stackLayers == null) {
_chart.calculateDataPointMatrixForAll();
_stackLayers = _chart.stackLayout()(_groupStack.toLayers());
}
return _stackLayers;
} else {
_stackLayers = _;
}
};
_chart.legendables = function () {
var items = [];
_allGroups.forEach(function (g, i) {
items.push(dc.utils.createLegendable(_chart, g, i, _chart.getValueAccessorByIndex(i)));
});
return items;
};
return _chart;
};
dc.abstractBubbleChart = function (_chart) {
var _maxBubbleRelativeSize = 0.3;
var _minRadiusWithLabel = 10;
_chart.BUBBLE_NODE_CLASS = "node";
_chart.BUBBLE_CLASS = "bubble";
_chart.MIN_RADIUS = 10;
_chart = dc.colorChart(_chart);
_chart.renderLabel(true);
_chart.renderTitle(false);
var _r = d3.scale.linear().domain([0, 100]);
var _rValueAccessor = function (d) {
return d.r;
};
_chart.r = function (_) {
if (!arguments.length) return _r;
_r = _;
return _chart;
};
_chart.radiusValueAccessor = function (_) {
if (!arguments.length) return _rValueAccessor;
_rValueAccessor = _;
return _chart;
};
_chart.rMin = function () {
var min = d3.min(_chart.group().all(), function (e) {
return _chart.radiusValueAccessor()(e);
});
return min;
};
_chart.rMax = function () {
var max = d3.max(_chart.group().all(), function (e) {
return _chart.radiusValueAccessor()(e);
});
return max;
};
_chart.bubbleR = function (d) {
var value = _chart.radiusValueAccessor()(d);
var r = _chart.r()(value);
if (isNaN(r) || value <= 0)
r = 0;
return r;
};
var labelFunction = function (d) {
return _chart.label()(d);
};
var labelOpacity = function (d) {
return (_chart.bubbleR(d) > _minRadiusWithLabel) ? 1 : 0;
};
_chart.doRenderLabel = function (bubbleGEnter) {
if (_chart.renderLabel()) {
var label = bubbleGEnter.select("text");
if (label.empty()) {
label = bubbleGEnter.append("text")
.attr("text-anchor", "middle")
.attr("dy", ".3em")
.on("click", _chart.onClick);
}
label
.attr("opacity", 0)
.text(labelFunction);
dc.transition(label, _chart.transitionDuration())
.attr("opacity", labelOpacity);
}
};
_chart.doUpdateLabels = function (bubbleGEnter) {
if (_chart.renderLabel()) {
var labels = bubbleGEnter.selectAll("text")
.text(labelFunction);
dc.transition(labels, _chart.transitionDuration())
.attr("opacity", labelOpacity);
}
};
var titleFunction = function (d) {
return _chart.title()(d);
};
_chart.doRenderTitles = function (g) {
if (_chart.renderTitle()) {
var title = g.select("title");
if (title.empty())
g.append("title").text(titleFunction);
}
};
_chart.doUpdateTitles = function (g) {
if (_chart.renderTitle()) {
g.selectAll("title").text(titleFunction);
}
};
_chart.minRadiusWithLabel = function (_) {
if (!arguments.length) return _minRadiusWithLabel;
_minRadiusWithLabel = _;
return _chart;
};
_chart.maxBubbleRelativeSize = function (_) {
if (!arguments.length) return _maxBubbleRelativeSize;
_maxBubbleRelativeSize = _;
return _chart;
};
_chart.initBubbleColor = function (d, i) {
this[dc.constants.NODE_INDEX_NAME] = i;
return _chart.getColor(d, i);
};
_chart.updateBubbleColor = function (d, i) {
// a work around to get correct node index since
return _chart.getColor(d, this[dc.constants.NODE_INDEX_NAME]);
};
_chart.fadeDeselectedArea = function () {
if (_chart.hasFilter()) {
_chart.selectAll("g." + _chart.BUBBLE_NODE_CLASS).each(function (d) {
if (_chart.isSelectedNode(d)) {
_chart.highlightSelected(this);
} else {
_chart.fadeDeselected(this);
}
});
} else {
_chart.selectAll("g." + _chart.BUBBLE_NODE_CLASS).each(function (d) {
_chart.resetHighlight(this);
});
}
};
_chart.isSelectedNode = function (d) {
return _chart.hasFilter(d.key);
};
_chart.onClick = function (d) {
var filter = d.key;
dc.events.trigger(function () {
_chart.filter(filter);
dc.redrawAll(_chart.chartGroup());
});
};
return _chart;
};
dc.pieChart = function (parent, chartGroup) {
var DEFAULT_MIN_ANGLE_FOR_LABEL = 0.5;
var _sliceCssClass = "pie-slice";
var _radius,
_innerRadius = 0;
var _g;
var _minAngleForLabel = DEFAULT_MIN_ANGLE_FOR_LABEL;
var _chart = dc.colorChart(dc.baseChart({}));
var _slicesCap = Infinity;
var _othersLabel = "Others";
var _othersGrouper = function (data, sum) {
data.push({"key": _othersLabel, "value": sum });
};
function assemblePieData() {
if (_slicesCap == Infinity) {
return _chart.orderedGroup().top(_slicesCap); // ordered by keys
} else {
var topRows = _chart.group().top(_slicesCap); // ordered by value
var topRowsSum = d3.sum(topRows, _chart.valueAccessor());
var allRows = _chart.group().all();
var allRowsSum = d3.sum(allRows, _chart.valueAccessor());
_othersGrouper(topRows, allRowsSum - topRowsSum);
return topRows;
}
}
_chart.label(function (d) {
return _chart.keyAccessor()(d.data);
});
_chart.renderLabel(true);
_chart.title(function (d) {
return _chart.keyAccessor()(d.data) + ": " + _chart.valueAccessor()(d.data);
});
_chart.transitionDuration(350);
_chart.doRender = function () {
_chart.resetSvg();
_g = _chart.svg()
.append("g")
.attr("transform", "translate(" + _chart.cx() + "," + _chart.cy() + ")");
drawChart();
return _chart;
};
function drawChart() {
if (_chart.dataSet()) {
var pie = calculateDataPie();
// set radius on basis of chart dimension if missing
_radius = _radius ? _radius : d3.min([_chart.width(), _chart.height()]) /2;
var arc = _chart.buildArcs();
var pieData = pie(assemblePieData());
if (_g) {
var slices = _g.selectAll("g." + _sliceCssClass)
.data(pieData);
createElements(slices, arc, pieData);
updateElements(pieData, arc);
removeElements(slices);
highlightFilter();
}
}
}
function createElements(slices, arc, pieData) {
var slicesEnter = createSliceNodes(slices);
createSlicePath(slicesEnter, arc);
createTitles(slicesEnter);
createLabels(pieData, arc);
}
function createSliceNodes(slices) {
var slicesEnter = slices
.enter()
.append("g")
.attr("class", function (d, i) {
return _sliceCssClass + " _" + i;
});
return slicesEnter;
}
function createSlicePath(slicesEnter, arc) {
var slicePath = slicesEnter.append("path")
.attr("fill", function (d, i) {
return _chart.getColor(d, i);
})
.on("click", onClick)
.attr("d", function (d, i) {
return safeArc(d, i, arc);
});
slicePath.transition()
.duration(_chart.transitionDuration())
.attrTween("d", tweenPie);
}
function createTitles(slicesEnter) {
if (_chart.renderTitle()) {
slicesEnter.append("title").text(function (d) {
return _chart.title()(d);
});
}
}
function createLabels(pieData, arc) {
if (_chart.renderLabel()) {
var labels = _g.selectAll("text." + _sliceCssClass)
.data(pieData);
var labelsEnter = labels
.enter()
.append("text")
.attr("class", function (d, i) {
return _sliceCssClass + " _" + i;
})
.on("click", onClick);
dc.transition(labelsEnter, _chart.transitionDuration())
.attr("transform", function (d) {
d.innerRadius = _chart.innerRadius();
d.outerRadius = _radius;
var centroid = arc.centroid(d);
if (isNaN(centroid[0]) || isNaN(centroid[1])) {
return "translate(0,0)";
} else {
return "translate(" + centroid + ")";
}
})
.attr("text-anchor", "middle")
.text(function (d) {
var data = d.data;
if (sliceHasNoData(data) || sliceTooSmall(d))
return "";
return _chart.label()(d);
});
}
}
function updateElements(pieData, arc) {
updateSlicePaths(pieData, arc);
updateLabels(pieData, arc);
updateTitles(pieData);
}
function updateSlicePaths(pieData, arc) {
var slicePaths = _g.selectAll("g." + _sliceCssClass)
.data(pieData)
.select("path")
.attr("d", function (d, i) {
return safeArc(d, i, arc);
});
dc.transition(slicePaths, _chart.transitionDuration(),
function (s) {
s.attrTween("d", tweenPie);
}).attr("fill", function (d, i) {
return _chart.getColor(d, i);
});
}
function updateLabels(pieData, arc) {
if (_chart.renderLabel()) {
var labels = _g.selectAll("text." + _sliceCssClass)
.data(pieData);
dc.transition(labels, _chart.transitionDuration())
.attr("transform", function (d) {
d.innerRadius = _chart.innerRadius();
d.outerRadius = _radius;
var centroid = arc.centroid(d);
if (isNaN(centroid[0]) || isNaN(centroid[1])) {
return "translate(0,0)";
} else {
return "translate(" + centroid + ")";
}
})
.attr("text-anchor", "middle")
.text(function (d) {
var data = d.data;
if (sliceHasNoData(data) || sliceTooSmall(d))
return "";
return _chart.label()(d);
});
}
}
function updateTitles(pieData) {
if (_chart.renderTitle()) {
_g.selectAll("g." + _sliceCssClass)
.data(pieData)
.select("title")
.text(function (d) {
return _chart.title()(d);
});
}
}
function removeElements(slices) {
slices.exit().remove();
}
function highlightFilter() {
if (_chart.hasFilter()) {
_chart.selectAll("g." + _sliceCssClass).each(function (d) {
if (_chart.isSelectedSlice(d)) {
_chart.highlightSelected(this);
} else {
_chart.fadeDeselected(this);
}
});
} else {
_chart.selectAll("g." + _sliceCssClass).each(function (d) {
_chart.resetHighlight(this);
});
}
}
_chart.innerRadius = function (r) {
if (!arguments.length) return _innerRadius;
_innerRadius = r;
return _chart;
};
_chart.radius = function (r) {
if (!arguments.length) return _radius;
_radius = r;
return _chart;
};
_chart.cx = function () {
return _chart.width() / 2;
};
_chart.cy = function () {
return _chart.height() / 2;
};
_chart.buildArcs = function () {
return d3.svg.arc().outerRadius(_radius).innerRadius(_innerRadius);
};
_chart.isSelectedSlice = function (d) {
return _chart.hasFilter(_chart.keyAccessor()(d.data));
};
_chart.doRedraw = function () {
drawChart();
return _chart;
};
_chart.minAngleForLabel = function (_) {
if (!arguments.length) return _minAngleForLabel;
_minAngleForLabel = _;
return _chart;
};
_chart.slicesCap = function (_) {
if (!arguments.length) return _slicesCap;
_slicesCap = _;
return _chart;
};
_chart.othersLabel = function (_) {
if (!arguments.length) return _othersLabel;
_othersLabel = _;
return _chart;
};
_chart.othersGrouper = function (_) {
if (!arguments.length) return _othersGrouper;
_othersGrouper = _;
return _chart;
};
function calculateDataPie() {
return d3.layout.pie().sort(null).value(function (d) {
return _chart.valueAccessor()(d);
});
}
function sliceTooSmall(d) {
var angle = (d.endAngle - d.startAngle);
return isNaN(angle) || angle < _minAngleForLabel;
}
function sliceHasNoData(data) {
return _chart.valueAccessor()(data) == 0;
}
function tweenPie(b) {
b.innerRadius = _chart.innerRadius();
var current = this._current;
if (isOffCanvas(current))
current = {startAngle: 0, endAngle: 0};
var i = d3.interpolate(current, b);
this._current = i(0);
return function (t) {
return safeArc(i(t), 0, _chart.buildArcs());
};
}
function isOffCanvas(current) {
return current == null || isNaN(current.startAngle) || isNaN(current.endAngle);
}
function onClick(d) {
_chart.onClick(d.data);
}
function safeArc(d, i, arc) {
var path = arc(d, i);
if (path.indexOf("NaN") >= 0)
path = "M0,0";
return path;
}
return _chart.anchor(parent, chartGroup);
};
dc.barChart = function (parent, chartGroup) {
var MIN_BAR_WIDTH = 1;
var DEFAULT_GAP_BETWEEN_BARS = 2;
var _chart = dc.stackableChart(dc.coordinateGridChart({}));
var _gap = DEFAULT_GAP_BETWEEN_BARS;
var _centerBar = false;
var _numberOfBars;
var _barWidth;
dc.override(_chart, 'rescale', function () {
_chart._rescale();
_numberOfBars = null;
_barWidth = null;
getNumberOfBars();
});
_chart.plotData = function () {
var layers = _chart.chartBodyG().selectAll("g.stack")
.data(_chart.stackLayers());
calculateBarWidth();
layers
.enter()
.append("g")
.attr("class", function (d, i) {
return "stack " + "_" + i;
});
layers.each(function (d, i) {
var layer = d3.select(this);
renderBars(layer, d, i);
});
_chart.stackLayers(null);
};
function barHeight(d) {
return dc.utils.safeNumber(Math.abs(_chart.y()(d.y + d.y0) - _chart.y()(d.y0)));
}
function renderBars(layer, d, i) {
var bars = layer.selectAll("rect.bar")
.data(d.points);
bars.enter()
.append("rect")
.attr("class", "bar")
.attr("fill", function (d) {
return _chart.colors()(i);
})
.append("title").text(_chart.title());
dc.transition(bars, _chart.transitionDuration())
.attr("x", function (d) {
var x = _chart.x()(d.x);
if (_centerBar) x -= _barWidth / 2;
return dc.utils.safeNumber(x);
})
.attr("y", function (d) {
var y = _chart.y()(d.y + d.y0);
if (d.y < 0)
y -= barHeight(d);
return dc.utils.safeNumber(y);
})
.attr("width", _barWidth)
.attr("height", function (d) {
return barHeight(d);
})
.select("title").text(_chart.title());
dc.transition(bars.exit(), _chart.transitionDuration())
.attr("height", 0)
.remove();
}
function calculateBarWidth() {
if (_barWidth == null) {
var numberOfBars = _chart.isOrdinal() ? getNumberOfBars() + 1 : getNumberOfBars();
var w = Math.floor((_chart.xAxisLength() - (numberOfBars - 1) * _gap) / numberOfBars);
if (w == Infinity || isNaN(w) || w < MIN_BAR_WIDTH)
w = MIN_BAR_WIDTH;
_barWidth = w;
}
}
function getNumberOfBars() {
if (_numberOfBars == null) {
_numberOfBars = _chart.xUnitCount();
}
return _numberOfBars;
}
_chart.fadeDeselectedArea = function () {
var bars = _chart.chartBodyG().selectAll("rect.bar");
var extent = _chart.brush().extent();
if (_chart.isOrdinal()) {
if (_chart.hasFilter()) {
bars.classed(dc.constants.SELECTED_CLASS, function (d) {
return _chart.hasFilter(_chart.keyAccessor()(d.data));
});
bars.classed(dc.constants.DESELECTED_CLASS, function (d) {
return !_chart.hasFilter(_chart.keyAccessor()(d.data));
});
} else {
bars.classed(dc.constants.SELECTED_CLASS, false);
bars.classed(dc.constants.DESELECTED_CLASS, false);
}
} else {
if (!_chart.brushIsEmpty(extent)) {
var start = extent[0];
var end = extent[1];
bars.classed(dc.constants.DESELECTED_CLASS, function (d) {
var xValue = _chart.keyAccessor()(d.data);
return xValue < start || xValue >= end;
});
} else {
bars.classed(dc.constants.DESELECTED_CLASS, false);
}
}
};
_chart.centerBar = function (_) {
if (!arguments.length) return _centerBar;
_centerBar = _;
return _chart;
};
_chart.gap = function (_) {
if (!arguments.length) return _gap;
_gap = _;
return _chart;
};
_chart.extendBrush = function () {
var extent = _chart.brush().extent();
if (_chart.round() && !_centerBar) {
extent[0] = extent.map(_chart.round())[0];
extent[1] = extent.map(_chart.round())[1];
_chart.chartBodyG().select(".brush")
.call(_chart.brush().extent(extent));
}
return extent;
};
dc.override(_chart, "prepareOrdinalXAxis", function () {
return this._prepareOrdinalXAxis(_chart.xUnitCount() + 1);
});
_chart.legendHighlight = function (d) {
_chart.select('.chart-body').selectAll('rect.bar').filter(function () {
return d3.select(this).attr('fill') == d.color;
}).classed('highlight', true);
_chart.select('.chart-body').selectAll('rect.bar').filter(function () {
return d3.select(this).attr('fill') != d.color;
}).classed('fadeout', true);
};
_chart.legendReset = function (d) {
_chart.selectAll('.chart-body').selectAll('rect.bar').filter(function () {
return d3.select(this).attr('fill') == d.color;
}).classed('highlight', false);
_chart.selectAll('.chart-body').selectAll('rect.bar').filter(function () {
return d3.select(this).attr('fill') != d.color;
}).classed('fadeout', false);
};
return _chart.anchor(parent, chartGroup);
};
dc.lineChart = function (parent, chartGroup) {
var DEFAULT_DOT_RADIUS = 5;
var TOOLTIP_G_CLASS = "dc-tooltip";
var DOT_CIRCLE_CLASS = "dot";
var Y_AXIS_REF_LINE_CLASS = "yRef";
var X_AXIS_REF_LINE_CLASS = "xRef";
var _chart = dc.stackableChart(dc.coordinateGridChart({}));
var _renderArea = false;
var _dotRadius = DEFAULT_DOT_RADIUS;
_chart.transitionDuration(500);
_chart.plotData = function () {
var layers = _chart.chartBodyG().selectAll("g.stack")
.data(_chart.stackLayers());
var layersEnter = layers
.enter()
.append("g")
.attr("class", function (d, i) {
return "stack " + "_" + i;
});
drawLine(layersEnter, layers);
drawArea(layersEnter, layers);
drawDots(layers);
_chart.stackLayers(null);
};
_chart.renderArea = function (_) {
if (!arguments.length) return _renderArea;
_renderArea = _;
return _chart;
};
function drawLine(layersEnter, layers) {
var line = d3.svg.line()
.x(function (d) {
return _chart.x()(d.x);
})
.y(function (d) {
return _chart.y()(d.y + d.y0);
});
layersEnter.append("path")
.attr("class", "line")
.attr("stroke", function (d, i) {
return _chart.colors()(i);
})
.attr("fill", function (d, i) {
return _chart.colors()(i);
});
dc.transition(layers.select("path.line"), _chart.transitionDuration())
.attr("d", function (d) {
return safeD(line(d.points));
});
}
function drawArea(layersEnter, layers) {
if (_renderArea) {
var area = d3.svg.area()
.x(function (d) {
return _chart.x()(d.x);
})
.y(function (d) {
return _chart.y()(d.y + d.y0);
})
.y0(function (d) {
return _chart.y()(d.y0);
});
layersEnter.append("path")
.attr("class", "area")
.attr("fill", function (d, i) {
return _chart.colors()(i);
})
.attr("d", function (d) {
return safeD(area(d.points));
});
dc.transition(layers.select("path.area"), _chart.transitionDuration())
.attr("d", function (d) {
return safeD(area(d.points));
});
}
}
function safeD(d){
return d.indexOf("NaN") >= 0 ? "M0,0" : d;
};
function drawDots(layersEnter) {
if (!_chart.brushOn()) {
layersEnter.each(function (d, i) {
var layer = d3.select(this);
var g = layer.select("g." + TOOLTIP_G_CLASS);
if (g.empty()) g = layer.append("g").attr("class", TOOLTIP_G_CLASS);
createRefLines(g);
var dots = g.selectAll("circle." + DOT_CIRCLE_CLASS)
.data(g.datum().points);
dots.enter()
.append("circle")
.attr("class", DOT_CIRCLE_CLASS)
.attr("r", _dotRadius)
.attr("fill", function (d) {
return _chart.colors()(i);
})
.style("fill-opacity", 1e-6)
.style("stroke-opacity", 1e-6)
.on("mousemove", function (d) {
var dot = d3.select(this);
showDot(dot);
showRefLines(dot, g);
})
.on("mouseout", function (d) {
var dot = d3.select(this);
hideDot(dot);
hideRefLines(g);
})
.append("title").text(_chart.title());
dots.attr("cx", function (d) {
return dc.utils.safeNumber(_chart.x()(d.x));
})
.attr("cy", function (d) {
return dc.utils.safeNumber(_chart.y()(d.y + d.y0));
})
.select("title").text(_chart.title());
dots.exit().remove();
});
}
}
function createRefLines(g) {
var yRefLine = g.select("path." + Y_AXIS_REF_LINE_CLASS).empty() ? g.append("path").attr("class", Y_AXIS_REF_LINE_CLASS) : g.select("path." + Y_AXIS_REF_LINE_CLASS);
yRefLine.style("display", "none").attr("stroke-dasharray", "5,5");
var xRefLine = g.select("path." + X_AXIS_REF_LINE_CLASS).empty() ? g.append("path").attr("class", X_AXIS_REF_LINE_CLASS) : g.select("path." + X_AXIS_REF_LINE_CLASS);
xRefLine.style("display", "none").attr("stroke-dasharray", "5,5");
}
function showDot(dot) {
dot.style("fill-opacity", .8);
dot.style("stroke-opacity", .8);
return dot;
}
function showRefLines(dot, g) {
var x = dot.attr("cx");
var y = dot.attr("cy");
g.select("path." + Y_AXIS_REF_LINE_CLASS).style("display", "").attr("d", "M0 " + y + "L" + (x) + " " + (y));
g.select("path." + X_AXIS_REF_LINE_CLASS).style("display", "").attr("d", "M" + x + " " + _chart.yAxisHeight() + "L" + x + " " + y);
}
function hideDot(dot) {
dot.style("fill-opacity", 1e-6).style("stroke-opacity", 1e-6);
}
function hideRefLines(g) {
g.select("path." + Y_AXIS_REF_LINE_CLASS).style("display", "none");
g.select("path." + X_AXIS_REF_LINE_CLASS).style("display", "none");
}
_chart.dotRadius = function (_) {
if (!arguments.length) return _dotRadius;
_dotRadius = _;
return _chart;
};
_chart.legendHighlight = function (d) {
_chart.selectAll('.chart-body').selectAll('path').filter(function () {
return d3.select(this).attr('fill') == d.color;
}).classed('highlight', true);
_chart.selectAll('.chart-body').selectAll('path').filter(function () {
return d3.select(this).attr('fill') != d.color;
}).classed('fadeout', true);
};
_chart.legendReset = function (d) {
_chart.selectAll('.chart-body').selectAll('path').filter(function () {
return d3.select(this).attr('fill') == d.color;
}).classed('highlight', false);
_chart.selectAll('.chart-body').selectAll('path').filter(function () {
return d3.select(this).attr('fill') != d.color;
}).classed('fadeout', false);
};
return _chart.anchor(parent, chartGroup);
};
dc.dataCount = function(parent, chartGroup) {
var _formatNumber = d3.format(",d");
var _chart = dc.baseChart({});
_chart.doRender = function() {
_chart.selectAll(".total-count").text(_formatNumber(_chart.dimension().size()));
_chart.selectAll(".filter-count").text(_formatNumber(_chart.group().value()));
return _chart;
};
_chart.doRedraw = function(){
return _chart.doRender();
};
return _chart.anchor(parent, chartGroup);
};
dc.dataTable = function(parent, chartGroup) {
var LABEL_CSS_CLASS = "dc-table-label";
var ROW_CSS_CLASS = "dc-table-row";
var COLUMN_CSS_CLASS = "dc-table-column";
var GROUP_CSS_CLASS = "dc-table-group";
var _chart = dc.baseChart({});
var _size = 25;
var _columns = [];
var _sortBy = function(d) {
return d;
};
var _order = d3.ascending;
var _sort;
_chart.doRender = function() {
_chart.selectAll("tbody").remove();
renderRows(renderGroups());
return _chart;
};
function renderGroups() {
var groups = _chart.root().selectAll("tbody")
.data(nestEntries(), function(d) {
return _chart.keyAccessor()(d);
});
var rowGroup = groups
.enter()
.append("tbody");
rowGroup
.append("tr")
.attr("class", GROUP_CSS_CLASS)
.append("td")
.attr("class", LABEL_CSS_CLASS)
.attr("colspan", _columns.length)
.html(function(d) {
return _chart.keyAccessor()(d);
});
groups.exit().remove();
return rowGroup;
}
function nestEntries() {
if (!_sort)
_sort = crossfilter.quicksort.by(_sortBy);
var entries = _chart.dimension().top(_size);
return d3.nest()
.key(_chart.group())
.sortKeys(_order)
.sortValues(_order)
.entries(_sort(entries, 0, entries.length));
}
function renderRows(groups) {
var rows = groups.order()
.selectAll("tr." + ROW_CSS_CLASS)
.data(function(d) {
return d.values;
});
var rowEnter = rows.enter()
.append("tr")
.attr("class", ROW_CSS_CLASS);
for (var i = 0; i < _columns.length; ++i) {
var f = _columns[i];
rowEnter.append("td")
.attr("class", COLUMN_CSS_CLASS + " _" + i)
.html(function(d) {
return f(d);
});
}
rows.exit().remove();
return rows;
}
_chart.doRedraw = function() {
return _chart.doRender();
};
_chart.size = function(s) {
if (!arguments.length) return _size;
_size = s;
return _chart;
};
_chart.columns = function(_) {
if (!arguments.length) return _columns;
_columns = _;
return _chart;
};
_chart.sortBy = function(_) {
if (!arguments.length) return _sortBy;
_sortBy = _;
return _chart;
};
_chart.order = function(_) {
if (!arguments.length) return _order;
_order = _;
return _chart;
};
return _chart.anchor(parent, chartGroup);
};
dc.bubbleChart = function(parent, chartGroup) {
var _chart = dc.abstractBubbleChart(dc.coordinateGridChart({}));
var _elasticRadius = false;
_chart.transitionDuration(750);
var bubbleLocator = function(d) {
return "translate(" + (bubbleX(d)) + "," + (bubbleY(d)) + ")";
};
_chart.elasticRadius = function(_) {
if (!arguments.length) return _elasticRadius;
_elasticRadius = _;
return _chart;
};
_chart.plotData = function() {
if (_elasticRadius)
_chart.r().domain([_chart.rMin(), _chart.rMax()]);
_chart.r().range([_chart.MIN_RADIUS, _chart.xAxisLength() * _chart.maxBubbleRelativeSize()]);
var bubbleG = _chart.chartBodyG().selectAll("g." + _chart.BUBBLE_NODE_CLASS)
.data(_chart.group().all());
renderNodes(bubbleG);
updateNodes(bubbleG);
removeNodes(bubbleG);
_chart.fadeDeselectedArea();
};
function renderNodes(bubbleG) {
var bubbleGEnter = bubbleG.enter().append("g");
bubbleGEnter
.attr("class", _chart.BUBBLE_NODE_CLASS)
.attr("transform", bubbleLocator)
.append("circle").attr("class", function(d, i) {
return _chart.BUBBLE_CLASS + " _" + i;
})
.on("click", _chart.onClick)
.attr("fill", _chart.initBubbleColor)
.attr("r", 0);
dc.transition(bubbleG, _chart.transitionDuration())
.attr("r", function(d) {
return _chart.bubbleR(d);
})
.attr("opacity", function(d) {
return (_chart.bubbleR(d) > 0) ? 1 : 0;
});
_chart.doRenderLabel(bubbleGEnter);
_chart.doRenderTitles(bubbleGEnter);
}
function updateNodes(bubbleG) {
dc.transition(bubbleG, _chart.transitionDuration())
.attr("transform", bubbleLocator)
.selectAll("circle." + _chart.BUBBLE_CLASS)
.attr("fill", _chart.updateBubbleColor)
.attr("r", function(d) {
return _chart.bubbleR(d);
})
.attr("opacity", function(d) {
return (_chart.bubbleR(d) > 0) ? 1 : 0;
});
_chart.doUpdateLabels(bubbleG);
_chart.doUpdateTitles(bubbleG);
}
function removeNodes(bubbleG) {
bubbleG.exit().remove();
}
function bubbleX(d) {
var x = _chart.x()(_chart.keyAccessor()(d)) + _chart.margins().left;
if (isNaN(x))
x = 0;
return x;
}
function bubbleY(d) {
var y = _chart.margins().top + _chart.y()(_chart.valueAccessor()(d));
if (isNaN(y))
y = 0;
return y;
}
_chart.renderBrush = function(g) {
// override default x axis brush from parent chart
};
_chart.redrawBrush = function(g) {
// override default x axis brush from parent chart
_chart.fadeDeselectedArea();
};
return _chart.anchor(parent, chartGroup);
};
dc.compositeChart = function (parent, chartGroup) {
var SUB_CHART_CLASS = "sub";
var _chart = dc.coordinateGridChart({});
var _children = [];
_chart.transitionDuration(500);
dc.override(_chart, "generateG", function () {
var g = this._generateG();
for (var i = 0; i < _children.length; ++i) {
var child = _children[i];
generateChildG(child, i);
if (child.dimension() == null) child.dimension(_chart.dimension());
if (child.group() == null) child.group(_chart.group());
child.chartGroup(_chart.chartGroup());
child.svg(_chart.svg());
child.xUnits(_chart.xUnits());
child.transitionDuration(_chart.transitionDuration());
child.brushOn(_chart.brushOn());
}
return g;
});
function generateChildG(child, i) {
child.generateG(_chart.g());
child.g().attr("class", SUB_CHART_CLASS + " _" + i);
}
_chart.plotData = function () {
for (var i = 0; i < _children.length; ++i) {
var child = _children[i];
if (child.g() == null) {
generateChildG(child, i);
}
child.x(_chart.x());
child.y(_chart.y());
child.xAxis(_chart.xAxis());
child.yAxis(_chart.yAxis());
child.plotData();
child.activateRenderlets();
}
};
_chart.fadeDeselectedArea = function () {
for (var i = 0; i < _children.length; ++i) {
var child = _children[i];
child.brush(_chart.brush());
child.fadeDeselectedArea();
}
};
_chart.compose = function (charts) {
_children = charts;
for (var i = 0; i < _children.length; ++i) {
var child = _children[i];
child.height(_chart.height());
child.width(_chart.width());
child.margins(_chart.margins());
}
return _chart;
};
_chart.children = function () {
return _children;
};
function getAllYAxisMinFromChildCharts() {
var allMins = [];
for (var i = 0; i < _children.length; ++i) {
allMins.push(_children[i].yAxisMin());
}
return allMins;
}
_chart.yAxisMin = function () {
return d3.min(getAllYAxisMinFromChildCharts());
};
function getAllYAxisMaxFromChildCharts() {
var allMaxes = [];
for (var i = 0; i < _children.length; ++i) {
allMaxes.push(_children[i].yAxisMax());
}
return allMaxes;
}
_chart.yAxisMax = function () {
return dc.utils.add(d3.max(getAllYAxisMaxFromChildCharts()), _chart.yAxisPadding());
};
function getAllXAxisMinFromChildCharts() {
var allMins = [];
for (var i = 0; i < _children.length; ++i) {
allMins.push(_children[i].xAxisMin());
}
return allMins;
}
_chart.xAxisMin = function () {
return dc.utils.subtract(d3.min(getAllXAxisMinFromChildCharts()), _chart.xAxisPadding());
};
function getAllXAxisMaxFromChildCharts() {
var allMaxes = [];
for (var i = 0; i < _children.length; ++i) {
allMaxes.push(_children[i].xAxisMax());
}
return allMaxes;
}
_chart.xAxisMax = function () {
return dc.utils.add(d3.max(getAllXAxisMaxFromChildCharts()), _chart.xAxisPadding());
};
_chart.legendables = function () {
var items = [];
for (var j = 0; j < _children.length; ++j) {
var childChart = _children[j];
childChart.allGroups().forEach(function (g, i) {
items.push(dc.utils.createLegendable(childChart, g, i, childChart.getValueAccessorByIndex(i)));
});
}
return items;
};
_chart.legendHighlight = function (d) {
for (var j = 0; j < _children.length; ++j) {
var child = _children[j];
child.legendHighlight(d);
}
};
_chart.legendReset = function (d) {
for (var j = 0; j < _children.length; ++j) {
var child = _children[j];
child.legendReset(d);
}
};
return _chart.anchor(parent, chartGroup);
};
dc.geoChoroplethChart = function (parent, chartGroup) {
var _chart = dc.colorChart(dc.baseChart({}));
_chart.colorAccessor(function (d, i) {
return d;
});
var _geoPath = d3.geo.path();
var _projectionFlag;
var _geoJsons = [];
_chart.doRender = function () {
_chart.resetSvg();
for (var layerIndex = 0; layerIndex < _geoJsons.length; ++layerIndex) {
var states = _chart.svg().append("g")
.attr("class", "layer" + layerIndex);
var regionG = states.selectAll("g." + geoJson(layerIndex).name)
.data(geoJson(layerIndex).data)
.enter()
.append("g")
.attr("class", geoJson(layerIndex).name);
regionG
.append("path")
.attr("fill", "white")
.attr("d", _geoPath);
regionG.append("title");
plotData(layerIndex);
}
_projectionFlag = false;
};
function plotData(layerIndex) {
var maxValue = dc.utils.groupMax(_chart.group(), _chart.valueAccessor());
var data = generateLayeredData();
if (isDataLayer(layerIndex)) {
var regionG = renderRegionG(layerIndex);
renderPaths(regionG, layerIndex, data, maxValue);
renderTitle(regionG, layerIndex, data);
}
}
function generateLayeredData() {
var data = {};
var groupAll = _chart.group().all();
for (var i = 0; i < groupAll.length; ++i) {
data[_chart.keyAccessor()(groupAll[i])] = _chart.valueAccessor()(groupAll[i]);
}
return data;
}
function isDataLayer(layerIndex) {
return geoJson(layerIndex).keyAccessor;
}
function renderRegionG(layerIndex) {
var regionG = _chart.svg()
.selectAll(layerSelector(layerIndex))
.classed("selected", function (d) {
return isSelected(layerIndex, d);
})
.classed("deselected", function (d) {
return isDeselected(layerIndex, d);
})
.attr("class", function (d) {
var layerNameClass = geoJson(layerIndex).name;
var regionClass = dc.utils.nameToId(geoJson(layerIndex).keyAccessor(d));
var baseClasses = layerNameClass + " " + regionClass;
if (isSelected(layerIndex, d)) baseClasses += " selected";
if (isDeselected(layerIndex, d)) baseClasses += " deselected";
return baseClasses;
});
return regionG;
}
function layerSelector(layerIndex) {
return "g.layer" + layerIndex + " g." + geoJson(layerIndex).name;
}
function isSelected(layerIndex, d) {
return _chart.hasFilter() && _chart.hasFilter(getKey(layerIndex, d));
}
function isDeselected(layerIndex, d) {
return _chart.hasFilter() && !_chart.hasFilter(getKey(layerIndex, d));
}
function getKey(layerIndex, d) {
return geoJson(layerIndex).keyAccessor(d);
}
function geoJson(index) {
return _geoJsons[index];
}
function renderPaths(regionG, layerIndex, data, maxValue) {
var paths = regionG
.select("path")
.attr("fill", function (d) {
var currentFill = d3.select(this).attr("fill");
if (currentFill)
return currentFill;
return "none";
})
.on("click", function (d) {
return _chart.onClick(d, layerIndex);
});
dc.transition(paths, _chart.transitionDuration()).attr("fill", function (d, i) {
return _chart.getColor(data[geoJson(layerIndex).keyAccessor(d)], i);
});
}
_chart.onClick = function (d, layerIndex) {
var selectedRegion = geoJson(layerIndex).keyAccessor(d);
dc.events.trigger(function () {
_chart.filter(selectedRegion);
dc.redrawAll(_chart.chartGroup());
});
};
function renderTitle(regionG, layerIndex, data) {
if (_chart.renderTitle()) {
regionG.selectAll("title").text(function (d) {
var key = getKey(layerIndex, d);
var value = data[key];
return _chart.title()({key: key, value: value});
});
}
}
_chart.doRedraw = function () {
for (var layerIndex = 0; layerIndex < _geoJsons.length; ++layerIndex) {
plotData(layerIndex);
if(_projectionFlag) {
_chart.svg().selectAll("g." + geoJson(layerIndex).name + " path").attr("d", _geoPath)
};
}
_projectionFlag = false
};
_chart.overlayGeoJson = function (json, name, keyAccessor) {
for (var i = 0; i < _geoJsons.length; ++i) {
if (_geoJsons[i].name == name) {
_geoJsons[i].data = json;
_geoJsons[i].keyAccessor = keyAccessor;
return _chart
}
}
_geoJsons.push({name: name, data: json, keyAccessor: keyAccessor});
return _chart;
};
_chart.projection = function (projection) {
_geoPath.projection(projection);
_projectionFlag = true;
return _chart;
};
_chart.geoJsons = function () {
return _geoJsons;
};
_chart.removeGeoJson = function (name) {
var geoJsons = [];
for (var i = 0; i < _geoJsons.length; ++i) {
var layer = _geoJsons[i];
if (layer.name != name) {
geoJsons.push(layer);
}
}
_geoJsons = geoJsons;
return _chart;
};
return _chart.anchor(parent, chartGroup);
};
dc.bubbleOverlay = function(root, chartGroup) {
var BUBBLE_OVERLAY_CLASS = "bubble-overlay";
var BUBBLE_NODE_CLASS = "node";
var BUBBLE_CLASS = "bubble";
var _chart = dc.abstractBubbleChart(dc.baseChart({}));
var _g;
var _points = [];
_chart.transitionDuration(750);
_chart.radiusValueAccessor(function(d) {
return d.value;
});
_chart.point = function(name, x, y) {
_points.push({name: name, x: x, y: y});
return _chart;
};
_chart.doRender = function() {
_g = initOverlayG();
_chart.r().range([_chart.MIN_RADIUS, _chart.width() * _chart.maxBubbleRelativeSize()]);
initializeBubbles();
_chart.fadeDeselectedArea();
return _chart;
};
function initOverlayG() {
_g = _chart.select("g." + BUBBLE_OVERLAY_CLASS);
if (_g.empty())
_g = _chart.svg().append("g").attr("class", BUBBLE_OVERLAY_CLASS);
return _g;
}
function initializeBubbles() {
var data = mapData();
_points.forEach(function(point) {
var nodeG = getNodeG(point, data);
var circle = nodeG.select("circle." + BUBBLE_CLASS);
if (circle.empty())
circle = nodeG.append("circle")
.attr("class", BUBBLE_CLASS)
.attr("r", 0)
.attr("fill", _chart.initBubbleColor)
.on("click", _chart.onClick);
dc.transition(circle, _chart.transitionDuration())
.attr("r", function(d) {
return _chart.bubbleR(d);
});
_chart.doRenderLabel(nodeG);
_chart.doRenderTitles(nodeG);
});
}
function mapData() {
var data = {};
_chart.group().all().forEach(function(datum) {
data[_chart.keyAccessor()(datum)] = datum;
});
return data;
}
function getNodeG(point, data) {
var bubbleNodeClass = BUBBLE_NODE_CLASS + " " + dc.utils.nameToId(point.name);
var nodeG = _g.select("g." + dc.utils.nameToId(point.name));
if (nodeG.empty()) {
nodeG = _g.append("g")
.attr("class", bubbleNodeClass)
.attr("transform", "translate(" + point.x + "," + point.y + ")");
}
nodeG.datum(data[point.name]);
return nodeG;
}
_chart.doRedraw = function() {
updateBubbles();
_chart.fadeDeselectedArea();
return _chart;
};
function updateBubbles() {
var data = mapData();
_points.forEach(function(point) {
var nodeG = getNodeG(point, data);
var circle = nodeG.select("circle." + BUBBLE_CLASS);
dc.transition(circle, _chart.transitionDuration())
.attr("r", function(d) {
return _chart.bubbleR(d);
})
.attr("fill", _chart.updateBubbleColor);
_chart.doUpdateLabels(nodeG);
_chart.doUpdateTitles(nodeG);
});
}
_chart.debug = function(flag) {
if(flag){
var debugG = _chart.select("g." + dc.constants.DEBUG_GROUP_CLASS);
if(debugG.empty())
debugG = _chart.svg()
.append("g")
.attr("class", dc.constants.DEBUG_GROUP_CLASS);
var debugText = debugG.append("text")
.attr("x", 10)
.attr("y", 20);
debugG
.append("rect")
.attr("width", _chart.width())
.attr("height", _chart.height())
.on("mousemove", function() {
var position = d3.mouse(debugG.node());
var msg = position[0] + ", " + position[1];
debugText.text(msg);
});
}else{
_chart.selectAll(".debug").remove();
}
return _chart;
};
_chart.anchor(root, chartGroup);
return _chart;
};dc.rowChart = function (parent, chartGroup) {
var _g;
var _labelOffsetX = 10;
var _labelOffsetY = 15;
var _gap = 5;
var _rowCssClass = "row";
var _chart = dc.marginable(dc.colorChart(dc.baseChart({})));
var _x;
var _elasticX;
var _xAxis = d3.svg.axis().orient("bottom");
function calculateAxisScale() {
if (!_x || _elasticX) {
_x = d3.scale.linear().domain([0, d3.max(_chart.group().all(), _chart.valueAccessor())])
.range([0, _chart.effectiveWidth()]);
_xAxis.scale(_x);
}
}
function drawAxis() {
var axisG = _g.select("g.axis");
calculateAxisScale();
if (axisG.empty())
axisG = _g.append("g").attr("class", "axis")
.attr("transform", "translate(0, " + _chart.effectiveHeight() + ")");
dc.transition(axisG, _chart.transitionDuration())
.call(_xAxis);
}
_chart.doRender = function () {
_chart.resetSvg();
_g = _chart.svg()
.append("g")
.attr("transform", "translate(" + _chart.margins().left + "," + _chart.margins().top + ")");
drawAxis();
drawGridLines();
drawChart();
return _chart;
};
_chart.title(function (d) {
return _chart.keyAccessor()(d) + ": " + _chart.valueAccessor()(d);
});
_chart.label(function (d) {
return _chart.keyAccessor()(d);
});
_chart.x = function(x){
if(!arguments.length) return _x;
_x = x;
return _chart;
};
function drawGridLines() {
_g.selectAll("g.tick")
.select("line.grid-line")
.remove();
_g.selectAll("g.tick")
.append("line")
.attr("class", "grid-line")
.attr("x1", 0)
.attr("y1", 0)
.attr("x2", 0)
.attr("y2", function (d) {
return -_chart.effectiveHeight();
});
}
function drawChart() {
drawAxis();
drawGridLines();
var rows = _g.selectAll("g." + _rowCssClass)
.data(_chart.group().all());
createElements(rows);
removeElements(rows);
updateElements(rows);
}
function createElements(rows) {
var rowEnter = rows.enter()
.append("g")
.attr("class", function (d, i) {
return _rowCssClass + " _" + i;
});
rowEnter.append("rect").attr("width", 0);
createLabels(rowEnter);
updateLabels(rows);
}
function removeElements(rows) {
rows.exit().remove();
}
function updateElements(rows) {
var height = rowHeight();
rows = rows.attr("transform",function (d, i) {
return "translate(0," + ((i + 1) * _gap + i * height) + ")";
}).select("rect")
.attr("height", height)
.attr("fill", _chart.getColor)
.on("click", onClick)
.classed("deselected", function (d) {
return (_chart.hasFilter()) ? !_chart.isSelectedRow(d) : false;
})
.classed("selected", function (d) {
return (_chart.hasFilter()) ? _chart.isSelectedRow(d) : false;
});
dc.transition(rows, _chart.transitionDuration())
.attr("width", function (d) {
return _x(_chart.valueAccessor()(d));
});
createTitles(rows);
}
function createTitles(rows) {
if (_chart.renderTitle()) {
rows.selectAll("title").remove();
rows.append("title").text(function (d) {
return _chart.title()(d);
});
}
}
function createLabels(rowEnter) {
if (_chart.renderLabel()) {
rowEnter.append("text")
.on("click", onClick);
}
}
function updateLabels(rows) {
if (_chart.renderLabel()) {
rows.select("text")
.attr("x", _labelOffsetX)
.attr("y", _labelOffsetY)
.attr("class", function (d, i) {
return _rowCssClass + " _" + i;
})
.text(function (d) {
return _chart.label()(d);
});
}
}
function numberOfRows() {
return _chart.group().all().length;
}
function rowHeight() {
var n = numberOfRows();
return (_chart.effectiveHeight() - (n + 1) * _gap) / n;
}
function onClick(d) {
_chart.onClick(d);
}
_chart.doRedraw = function () {
drawChart();
return _chart;
};
_chart.xAxis = function () {
return _xAxis;
};
_chart.gap = function (g) {
if (!arguments.length) return _gap;
_gap = g;
return _chart;
};
_chart.elasticX = function (_) {
if (!arguments.length) return _elasticX;
_elasticX = _;
return _chart;
};
_chart.labelOffsetX = function (o) {
if (!arguments.length) return _labelOffsetX;
_labelOffsetX = o;
return _chart;
};
_chart.labelOffsetY = function (o) {
if (!arguments.length) return _labelOffsetY;
_labelOffsetY = o;
return _chart;
};
_chart.isSelectedRow = function (d) {
return _chart.hasFilter(_chart.keyAccessor()(d));
};
return _chart.anchor(parent, chartGroup);
};
dc.legend = function () {
var LABEL_GAP = 2;
var _legend = {},
_parent,
_x = 0,
_y = 0,
_itemHeight = 12,
_gap = 5;
var _g;
_legend.parent = function (p) {
if (!arguments.length) return _parent;
_parent = p;
return _legend;
};
_legend.render = function () {
_g = _parent.svg().append("g")
.attr("class", "dc-legend")
.attr("transform", "translate(" + _x + "," + _y + ")");
var itemEnter = _g.selectAll('g.dc-legend-item')
.data(_parent.legendables())
.enter()
.append("g")
.attr("class", "dc-legend-item")
.attr("transform", function (d, i) {
return "translate(0," + i * legendItemHeight() + ")";
})
.on("mouseover", function(d){
_parent.legendHighlight(d);
})
.on("mouseout", function (d) {
_parent.legendReset(d);
});
itemEnter
.append("rect")
.attr("width", _itemHeight)
.attr("height", _itemHeight)
.attr("fill", function(d){return d.color;});
itemEnter.append("text")
.text(function(d){return d.name;})
.attr("x", _itemHeight + LABEL_GAP)
.attr("y", function(){return _itemHeight / 2 + (this.clientHeight?this.clientHeight:13) / 2 - 2});
};
function legendItemHeight() {
return _gap + _itemHeight;
}
_legend.x = function (x) {
if (!arguments.length) return _x;
_x = x;
return _legend;
};
_legend.y = function (y) {
if (!arguments.length) return _y;
_y = y;
return _legend;
};
_legend.gap = function (gap) {
if (!arguments.length) return _gap;
_gap = gap;
return _legend;
};
_legend.itemHeight = function (h) {
if (!arguments.length) return _itemHeight;
_itemHeight = h;
return _legend;
};
return _legend;
};
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<title>dc.js Experiment</title>
<script src='d3.v3.js' type='text/javascript'></script>
<script src='crossfilter.js' type='text/javascript'></script>
<script src='dc.js' type='text/javascript'></script>
<script src='jquery-1.9.1.min.js' type='text/javascript'></script>
<script src='bootstrap.min.js' type='text/javascript'></script>
<link href='bootstrap.min.css' rel='stylesheet' type='text/css'>
<link href='dc.css' rel='stylesheet' type='text/css'>
<style type="text/css"></style>
<style>
h4 span {
font-size:14px;
font-weight:normal;
}
h2 {
float: right;
}
h2 span {
font-size:14px;
font-weight:normal;
}
</style>
</head>
<body>
<div class='container' style='font: 12px sans-serif;'>
<div class="dc-data-count" style="float: left;">
<h2>New Zealand Earthquakes
<span>
<span class="filter-count"></span>
selected out of
<span class="total-count"></span>
records |
<a href="javascript:dc.filterAll(); dc.renderAll();">Reset All</a>
</span>
</h2>
</div>
<div class='row'>
<div class='span6' id='dc-magnitude-chart'>
<h4>
Number of Events by Magnitude
<span>
<a class="reset"
href="javascript:magnitudeChart.filterAll();dc.redrawAll();"
style="display: none;">
reset
</a>
</span>
</h4>
</div>
<div class='span6' id='dc-depth-chart'>
<h4>
Events by Depth (km)
<span>
<a class="reset"
href="javascript:depthChart.filterAll();dc.redrawAll();"
style="display: none;">
reset
</a>
</span>
</h4>
</div>
</div>
<div class='row'>
<div class='span12' id='dc-time-chart'>
<h4>
Events per hour
<span>
<a class="reset"
href="javascript:timeChart.filterAll();dc.redrawAll();"
style="display: none;">
reset
</a>
</span>
</h4>
</div>
</div>
<div class='row'>
<div class='span4' id='dc-dayweek-chart'>
<h4>
Day of the Week
<span>
<a class="reset"
href="javascript:dayOfWeekChart.filterAll();dc.redrawAll();"
style="display: none;">
reset
</a>
</span>
</h4>
<div class="clearfix"></div>
</div>
<div class='span4' id='dc-island-chart'>
<h4>
North or South Island
<span>
<a class="reset"
href="javascript:islandChart.filterAll();dc.redrawAll();"
style="display: none;">
reset
</a>
</span>
</h4>
</div>
<div class='span4' id='blank2'>
<h4>Blank 2</h4>
</div>
</div>
<div class='row'>
<div class='span12'>
<table class='table table-hover' id='dc-table-graph'>
<thead>
<tr class='header'>
<th>DTG</th>
<th>Lat</th>
<th>Long</th>
<th>Depth</th>
<th>Magnitude</th>
<th>Google Map</th>
<th>OSM Map</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
<script type="text/javascript">
// Create the dc.js chart objects & link to div
var dataTable = dc.dataTable("#dc-table-graph");
var magnitudeChart = dc.barChart("#dc-magnitude-chart");
var depthChart = dc.barChart("#dc-depth-chart");
var dayOfWeekChart = dc.rowChart("#dc-dayweek-chart");
var islandChart = dc.pieChart("#dc-island-chart");
var timeChart = dc.lineChart("#dc-time-chart");
// load data from a csv file
d3.csv("quake-later3.csv", function (data) {
// format our data
var dtgFormat = d3.time.format("%Y-%m-%dT%H:%M:%S");
var dtgFormat2 = d3.time.format("%a %e %b %H:%M");
data.forEach(function(d) {
d.dtg1 = d.origintime.substr(0,10) + " " + d.origintime.substr(11,8);
d.dtg = dtgFormat.parse(d.origintime.substr(0,19));
d.lat = +d.latitude;
d.long = +d.longitude;
d.mag = d3.round(+d.magnitude,1);
d.depth = d3.round(+d.depth,0);
});
// Run the data through crossfilter and load our 'facts'
var facts = crossfilter(data);
var all = facts.groupAll();
// for Magnitude
var magValue = facts.dimension(function (d) {
return d.mag; // add the magnitude dimension
});
var magValueGroupSum = magValue.group()
.reduceSum(function(d) { return d.mag; }); // sums
var magValueGroupCount = magValue.group()
.reduceCount(function(d) { return d.mag; }) // counts
// for Depth
var depthValue = facts.dimension(function (d) {
return d.depth;
});
var depthValueGroup = depthValue.group();
// time chart
var volumeByHour = facts.dimension(function(d) {
return d3.time.hour(d.dtg);
});
var volumeByHourGroup = volumeByHour.group()
.reduceCount(function(d) { return d.dtg; });
// row chart Day of Week
var dayOfWeek = facts.dimension(function (d) {
var day = d.dtg.getDay();
switch (day) {
case 0:
return "0.Sun";
case 1:
return "1.Mon";
case 2:
return "2.Tue";
case 3:
return "3.Wed";
case 4:
return "4.Thu";
case 5:
return "5.Fri";
case 6:
return "6.Sat";
}
});
var dayOfWeekGroup = dayOfWeek.group();
// Pie Chart
var islands = facts.dimension(function (d) {
if (d.lat <= -40.555907 && d.long <= 174.590607)
return "South";
else
return "North";
});
var islandsGroup = islands.group();
// Create datatable dimension
var timeDimension = facts.dimension(function (d) {
return d.dtg;
});
// Setup the charts
// count all the facts
dc.dataCount(".dc-data-count")
.dimension(facts)
.group(all);
// Magnitide Bar Graph Counted
magnitudeChart.width(480)
.height(150)
.margins({top: 10, right: 10, bottom: 20, left: 40})
.dimension(magValue)
.group(magValueGroupCount)
.transitionDuration(500)
.centerBar(true)
.gap(65) // 65 = norm
// .filter([3, 5])
.x(d3.scale.linear().domain([0.5, 7.5]))
.elasticY(true)
.xAxis().tickFormat();
// Depth bar graph
depthChart.width(480)
.height(150)
.margins({top: 10, right: 10, bottom: 20, left: 40})
.dimension(depthValue)
.group(depthValueGroup)
.transitionDuration(500)
.centerBar(true)
.gap(1)
.x(d3.scale.linear().domain([0, 100]))
.elasticY(true)
.xAxis().tickFormat(function(v) {return v;});
// time graph
timeChart.width(960)
.height(150)
.transitionDuration(500)
// .mouseZoomable(true)
.margins({top: 10, right: 10, bottom: 20, left: 40})
.dimension(volumeByHour)
.group(volumeByHourGroup)
// .brushOn(false) // added for title
.title(function(d){
return dtgFormat2(d.data.key)
+ "\nNumber of Events: " + d.data.value;
})
.elasticY(true)
.x(d3.time.scale().domain(d3.extent(data, function(d) { return d.dtg; })))
.xAxis();
// row chart day of week
dayOfWeekChart.width(300)
.height(220)
.margins({top: 5, left: 10, right: 10, bottom: 20})
.dimension(dayOfWeek)
.group(dayOfWeekGroup)
.colors(d3.scale.category10())
.label(function (d){
return d.key.split(".")[1];
})
.title(function(d){return d.value;})
.elasticX(true)
.xAxis().ticks(4);
// islands pie chart
islandChart.width(250)
.height(220)
.radius(100)
.innerRadius(30)
.dimension(islands)
.title(function(d){return d.value;})
.group(islandsGroup);
// Table of earthquake data
dataTable.width(960).height(800)
.dimension(timeDimension)
.group(function(d) { return "Earthquake Table"
})
.size(10)
.columns([
function(d) { return d.dtg1; },
function(d) { return d.lat; },
function(d) { return d.long; },
function(d) { return d.depth; },
function(d) { return d.mag; },
function(d) { return '<a href=\"http://maps.google.com/maps?z=12&t=m&q=loc:' + d.lat + '+' + d.long +"\" target=\"_blank\">Google Map</a>"},
function(d) { return '<a href=\"http://www.openstreetmap.org/?mlat=' + d.lat + '&mlon=' + d.long +'&zoom=12'+ "\" target=\"_blank\"> OSM Map</a>"}
])
.sortBy(function(d){ return d.dtg; })
.order(d3.ascending);
// Render the Charts
dc.renderAll();
});
</script>
</body>
</html>
/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=jquery.min.map
*/(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="1.9.1",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:function(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:v&&!v.call("\ufeff\u00a0")?function(e){return null==e?"":v.call(e)}:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?b.merge(n,"string"==typeof e?[e]:e):d.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(g)return g.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return f.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),b.isFunction(e)?(r=h.call(arguments,2),i=function(){return e.apply(n||this,r.concat(h.call(arguments)))},i.guid=e.guid=e.guid||b.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===b.type(r)){o=!0;for(u in r)b.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,b.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(b(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),b.ready.promise=function(t){if(!n)if(n=b.Deferred(),"complete"===o.readyState)setTimeout(b.ready);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",H,!1),e.addEventListener("load",H,!1);else{o.attachEvent("onreadystatechange",H),e.attachEvent("onload",H);var r=!1;try{r=null==e.frameElement&&o.documentElement}catch(i){}r&&r.doScroll&&function a(){if(!b.isReady){try{r.doScroll("left")}catch(e){return setTimeout(a,50)}q(),b.ready()}}()}return n.promise(t)},b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=b.type(e);return b.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=b(o);var _={};function F(e){var t=_[e]={};return b.each(e.match(w)||[],function(e,n){t[n]=!0}),t}b.Callbacks=function(e){e="string"==typeof e?_[e]||F(e):b.extend({},e);var n,r,i,o,a,s,u=[],l=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=u.length,n=!0;u&&o>a;a++)if(u[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:p.disable())},p={add:function(){if(u){var t=u.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);"function"===r?e.unique&&p.has(n)||u.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=u.length:r&&(s=t,c(r))}return this},remove:function(){return u&&b.each(arguments,function(e,t){var r;while((r=b.inArray(t,u,r))>-1)u.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?b.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],this},disable:function(){return u=l=r=t,this},disabled:function(){return!u},lock:function(){return l=t,r||p.disable(),this},locked:function(){return!l},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!l||(n?l.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},b.extend({Deferred:function(e){var t=[["resolve","done",b.Callbacks("once memory"),"resolved"],["reject","fail",b.Callbacks("once memory"),"rejected"],["notify","progress",b.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,o){var a=o[0],s=b.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?b.extend(e,r):r}},i={};return r.pipe=r.then,b.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=h.call(arguments),r=n.length,i=1!==r||e&&b.isFunction(e.promise)?r:0,o=1===i?e:b.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?h.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,u,l;if(r>1)for(s=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&b.isFunction(n[t].promise)?n[t].promise().done(a(t,l,n)).fail(o.reject).progress(a(t,u,s)):--i;return i||o.resolveWith(l,n),o.promise()}}),b.support=function(){var t,n,r,a,s,u,l,c,p,f,d=o.createElement("div");if(d.setAttribute("className","t"),d.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{};s=o.createElement("select"),l=s.appendChild(o.createElement("option")),a=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:!!a.value,optSelected:l.selected,enctype:!!o.createElement("form").enctype,html5Clone:"<:nav></:nav>"!==o.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===o.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!l.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}a=o.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),u=o.createDocumentFragment(),u.appendChild(a),t.appendChecked=a.checked,t.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,b(function(){var n,r,a,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",u=o.getElementsByTagName("body")[0];u&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",u.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=p&&0===a[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==u.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(o.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(u.style.zoom=1)),u.removeChild(n),n=d=a=r=null)}),n=s=u=l=r=a=null,t}();var O=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,B=/([A-Z])/g;function P(e,n,r,i){if(b.acceptData(e)){var o,a,s=b.expando,u="string"==typeof n,l=e.nodeType,p=l?b.cache:e,f=l?e[s]:e[s]&&s;if(f&&p[f]&&(i||p[f].data)||!u||r!==t)return f||(l?e[s]=f=c.pop()||b.guid++:f=s),p[f]||(p[f]={},l||(p[f].toJSON=b.noop)),("object"==typeof n||"function"==typeof n)&&(i?p[f]=b.extend(p[f],n):p[f].data=b.extend(p[f].data,n)),o=p[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[b.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[b.camelCase(n)])):a=o,a}}function R(e,t,n){if(b.acceptData(e)){var r,i,o,a=e.nodeType,s=a?b.cache:e,u=a?e[b.expando]:b.expando;if(s[u]){if(t&&(o=n?s[u]:s[u].data)){b.isArray(t)?t=t.concat(b.map(t,b.camelCase)):t in o?t=[t]:(t=b.camelCase(t),t=t in o?[t]:t.split(" "));for(r=0,i=t.length;i>r;r++)delete o[t[r]];if(!(n?$:b.isEmptyObject)(o))return}(n||(delete s[u].data,$(s[u])))&&(a?b.cleanData([e],!0):b.support.deleteExpando||s!=s.window?delete s[u]:s[u]=null)}}}b.extend({cache:{},expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?b.cache[e[b.expando]]:e[b.expando],!!e&&!$(e)},data:function(e,t,n){return P(e,t,n)},removeData:function(e,t){return R(e,t)},_data:function(e,t,n){return P(e,t,n,!0)},_removeData:function(e,t){return R(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&b.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),b.fn.extend({data:function(e,n){var r,i,o=this[0],a=0,s=null;if(e===t){if(this.length&&(s=b.data(o),1===o.nodeType&&!b._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>a;a++)i=r[a].name,i.indexOf("data-")||(i=b.camelCase(i.slice(5)),W(o,i,s[i]));b._data(o,"parsedAttrs",!0)}return s}return"object"==typeof e?this.each(function(){b.data(this,e)}):b.access(this,function(n){return n===t?o?W(o,e,b.data(o,e)):null:(this.each(function(){b.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function W(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(B,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:O.test(r)?b.parseJSON(r):r}catch(o){}b.data(e,n,r)}else r=t}return r}function $(e){var t;for(t in e)if(("data"!==t||!b.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}b.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=b._data(e,n),r&&(!i||b.isArray(r)?i=b._data(e,n,b.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t),a=function(){b.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return b._data(e,n)||b._data(e,n,{empty:b.Callbacks("once memory").add(function(){b._removeData(e,t+"queue"),b._removeData(e,n)})})}}),b.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?b.queue(this[0],e):n===t?this:this.each(function(){var t=b.queue(this,e,n);b._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(e,t){return e=b.fx?b.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=b.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=b._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var I,z,X=/[\t\r\n]/g,U=/\r/g,V=/^(?:input|select|textarea|button|object)$/i,Y=/^(?:a|area)$/i,J=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,G=/^(?:checked|selected)$/i,Q=b.support.getSetAttribute,K=b.support.input;b.fn.extend({attr:function(e,t){return b.access(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,t){return b.access(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return e=b.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=b.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?b.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return b.isFunction(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=b(this),u=t,l=e.match(w)||[];while(o=l[a++])u=r?u:!s.hasClass(o),s[u?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&b._data(this,"__className__",this.className),this.className=this.className||e===!1?"":b._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(X," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=b.isFunction(e),this.each(function(n){var o,a=b(this);1===this.nodeType&&(o=i?e.call(this,n,a.val()):e,null==o?o="":"number"==typeof o?o+="":b.isArray(o)&&(o=b.map(o,function(e){return null==e?"":e+""})),r=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=b.valHooks[o.type]||b.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(U,""):null==n?"":n)}}}),b.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;for(;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(b.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&b.nodeName(n.parentNode,"optgroup"))){if(t=b(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=b.makeArray(t);return b(e).find("option").each(function(){this.selected=b.inArray(b(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attr:function(e,n,r){var o,a,s,u=e.nodeType;if(e&&3!==u&&8!==u&&2!==u)return typeof e.getAttribute===i?b.prop(e,n,r):(a=1!==u||!b.isXMLDoc(e),a&&(n=n.toLowerCase(),o=b.attrHooks[n]||(J.test(n)?z:I)),r===t?o&&a&&"get"in o&&null!==(s=o.get(e,n))?s:(typeof e.getAttribute!==i&&(s=e.getAttribute(n)),null==s?t:s):null!==r?o&&a&&"set"in o&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r):(b.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=b.propFix[n]||n,J.test(n)?!Q&&G.test(n)?e[b.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:b.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!b.support.radioValue&&"radio"===t&&b.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!b.isXMLDoc(e),a&&(n=b.propFix[n]||n,o=b.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):V.test(e.nodeName)||Y.test(e.nodeName)&&e.href?0:t}}}}),z={get:function(e,n){var r=b.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?K&&Q?null!=i:G.test(n)?e[b.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?b.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&b.propFix[n]||n,n):e[b.camelCase("default-"+n)]=e[n]=!0,n}},K&&Q||(b.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return b.nodeName(e,"input")?e.defaultValue:r&&r.specified?r.value:t},set:function(e,n,r){return b.nodeName(e,"input")?(e.defaultValue=n,t):I&&I.set(e,n,r)}}),Q||(I=b.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},b.attrHooks.contenteditable={get:I.get,set:function(e,t,n){I.set(e,""===t?!1:t,n)}},b.each(["width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),b.support.hrefNormalized||(b.each(["href","src","width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),b.each(["href","src"],function(e,t){b.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),b.support.style||(b.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),b.support.optSelected||(b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),b.support.enctype||(b.propFix.enctype="encoding"),b.support.checkOn||b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,n){return b.isArray(n)?e.checked=b.inArray(b(e).val(),n)>=0:t}})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}b.event={global:{},add:function(e,n,r,o,a){var s,u,l,c,p,f,d,h,g,m,y,v=b._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=b.guid++),(u=v.events)||(u=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof b===i||e&&b.event.triggered===e.type?t:b.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(w)||[""],l=n.length;while(l--)s=rt.exec(n[l])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),p=b.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=b.event.special[g]||{},d=b.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&b.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=u[g])||(h=u[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),b.event.global[g]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,p,f,d,h,g,m=b.hasData(e)&&b._data(e);if(m&&(c=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(s=rt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=b.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));u&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||b.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(c)&&(delete m.handle,b._removeData(e,"events"))}},trigger:function(n,r,i,a){var s,u,l,c,p,f,d,h=[i||o],g=y.call(n,"type")?n.type:n,m=y.call(n,"namespace")?n.namespace.split("."):[];if(l=f=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+b.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),u=0>g.indexOf(":")&&"on"+g,n=n[b.expando]?n:new b.Event(g,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:b.makeArray(r,[n]),p=b.event.special[g]||{},a||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!a&&!p.noBubble&&!b.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(l=l.parentNode);l;l=l.parentNode)h.push(l),f=l;f===(i.ownerDocument||o)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((l=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(b._data(l,"events")||{})[n.type]&&b._data(l,"handle"),s&&s.apply(l,r),s=u&&l[u],s&&b.acceptData(l)&&s.apply&&s.apply(l,r)===!1&&n.preventDefault();if(n.type=g,!(a||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===g&&b.nodeName(i,"a")||!b.acceptData(i)||!u||!i[g]||b.isWindow(i))){f=i[u],f&&(i[u]=null),b.event.triggered=g;try{i[g]()}catch(v){}b.event.triggered=t,f&&(i[u]=f)}return n.result}},dispatch:function(e){e=b.event.fix(e);var n,r,i,o,a,s=[],u=h.call(arguments),l=(b._data(this,"events")||{})[e.type]||[],c=b.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=b.event.handlers.call(this,e,l),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((b.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?b(r,this).index(l)>=0:b.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,handlers:n.slice(u)}),s},fix:function(e){if(e[b.expando])return e;var t,n,r,i=e.type,a=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new b.Event(a),t=r.length;while(t--)n=r[t],e[n]=a[n];return e.target||(e.target=a.srcElement||o),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,a,s=n.button,u=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||o,a=i.documentElement,r=i.body,e.pageX=n.clientX+(a&&a.scrollLeft||r&&r.scrollLeft||0)-(a&&a.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||r&&r.scrollTop||0)-(a&&a.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return b.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==o.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===o.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=b.extend(new b.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?b.event.trigger(i,null,t):b.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},b.removeEvent=o.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},b.Event=function(e,n){return this instanceof b.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&b.extend(this,n),this.timeStamp=e&&e.timeStamp||b.now(),this[b.expando]=!0,t):new b.Event(e,n)},b.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;
return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,b(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){b.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>i.cacheLength&&delete e[t.shift()],e[n]=r}}function ot(e){return e[x]=!0,e}function at(e){var t=p.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function st(e,t,n,r){var i,o,a,s,u,l,f,g,m,v;if((t?t.ownerDocument||t:w)!==p&&c(t),t=t||p,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!d&&!r){if(i=J.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&y(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return H.apply(n,q.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&T.getByClassName&&t.getElementsByClassName)return H.apply(n,q.call(t.getElementsByClassName(a),0)),n}if(T.qsa&&!h.test(e)){if(f=!0,g=x,m=t,v=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){l=ft(e),(f=t.getAttribute("id"))?g=f.replace(K,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=l.length;while(u--)l[u]=g+dt(l[u]);m=V.test(e)&&t.parentNode||t,v=l.join(",")}if(v)try{return H.apply(n,q.call(m.querySelectorAll(v),0)),n}catch(b){}finally{f||t.removeAttribute("id")}}}return wt(e.replace(W,"$1"),t,n,r)}a=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},c=st.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==p&&9===n.nodeType&&n.documentElement?(p=n,f=n.documentElement,d=a(n),T.tagNameNoComments=at(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),T.attributes=at(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),T.getByClassName=at(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),T.getByName=at(function(e){e.id=x+0,e.innerHTML="<a name='"+x+"'></a><div name='"+x+"'></div>",f.insertBefore(e,f.firstChild);var t=n.getElementsByName&&n.getElementsByName(x).length===2+n.getElementsByName(x+0).length;return T.getIdNotName=!n.getElementById(x),f.removeChild(e),t}),i.attrHandle=at(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==A&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},T.getIdNotName?(i.find.ID=function(e,t){if(typeof t.getElementById!==A&&!d){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(i.find.ID=function(e,n){if(typeof n.getElementById!==A&&!d){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==A&&r.getAttributeNode("id").value===e?[r]:t:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!==A&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=T.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==A?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.NAME=T.getByName&&function(e,n){return typeof n.getElementsByName!==A?n.getElementsByName(name):t},i.find.CLASS=T.getByClassName&&function(e,n){return typeof n.getElementsByClassName===A||d?t:n.getElementsByClassName(e)},g=[],h=[":focus"],(T.qsa=rt(n.querySelectorAll))&&(at(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||h.push("\\["+_+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){e.innerHTML="<input type='hidden' i=''/>",e.querySelectorAll("[i^='']").length&&h.push("[*^$]="+_+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(T.matchesSelector=rt(m=f.matchesSelector||f.mozMatchesSelector||f.webkitMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){T.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",R)}),h=RegExp(h.join("|")),g=RegExp(g.join("|")),y=rt(f.contains)||f.compareDocumentPosition?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)while(t=t.parentNode)if(t===e)return!0;return!1},v=f.compareDocumentPosition?function(e,t){var r;return e===t?(u=!0,0):(r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&r||e.parentNode&&11===e.parentNode.nodeType?e===n||y(w,e)?-1:t===n||y(w,t)?1:0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return u=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:0;if(o===a)return ut(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?ut(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},u=!1,[0,0].sort(v),T.detectDuplicates=u,p):p},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Z,"='$1']"),!(!T.matchesSelector||d||g&&g.test(t)||h.test(t)))try{var n=m.call(e,t);if(n||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},st.attr=function(e,t){var n;return(e.ownerDocument||e)!==p&&c(e),d||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):d||T.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},st.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},st.uniqueSort=function(e){var t,n=[],r=1,i=0;if(u=!T.detectDuplicates,e.sort(v),u){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e};function ut(e,t){var n=t&&e,r=n&&(~t.sourceIndex||j)-(~e.sourceIndex||j);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pt(e){return ot(function(t){return t=+t,ot(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}o=st.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=st.selectors={cacheLength:50,createPseudo:ot,match:U,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),"~="===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]||st.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]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return U.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&z.test(n)&&(t=ft(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){return"*"===e?function(){return!0}:(e=e.replace(et,tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[e+" "];return t||(t=RegExp("(^|"+_+")"+e+"("+_+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==A&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=st.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+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},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,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s;if(m){if(o){while(g){p=t;while(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?m.firstChild:m.lastChild],a&&v){c=m[x]||(m[x]={}),l=c[e]||[],d=l[0]===N&&l[1],f=l[0]===N&&l[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[N,d,f];break}}else if(v&&(l=(t[x]||(t[x]={}))[e])&&l[0]===N)f=l[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[x]||(p[x]={}))[e]=[N,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||st.error("unsupported pseudo: "+e);return r[x]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ot(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=M.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ot(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[x]?ot(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ot(function(e){return function(t){return st(e,t).length>0}}),contains:ot(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ot(function(e){return X.test(e||"")||st.error("unsupported lang: "+e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=d?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===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===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!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,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return G.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"))||t.toLowerCase()===e.type)},first:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[0>n?n+t:n]}),even:pt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[n]=lt(n);for(n in{submit:!0,reset:!0})i.pseudos[n]=ct(n);function ft(e,t){var n,r,o,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=i.preFilter;while(s){(!n||(r=$.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(o=[])),n=!1,(r=I.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W," ")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||l[a]&&!(r=l[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?st.error(e):E(e,u).slice(0)}function dt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function ht(e,t,n){var i=t.dir,o=n&&"parentNode"===i,a=C++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var u,l,c,p=N+" "+a;if(s){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[x]||(t[x]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,s)||r,l[1]===!0)return!0}}function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function mt(e,t,n,r,i){var o,a=[],s=0,u=e.length,l=null!=t;for(;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function yt(e,t,n,r,i,o){return r&&!r[x]&&(r=yt(r)),i&&!i[x]&&(i=yt(i,o)),ot(function(o,a,s,u){var l,c,p,f=[],d=[],h=a.length,g=o||xt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:mt(g,f,e,s,u),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r){l=mt(y,d),r(l,[],s,u),c=l.length;while(c--)(p=l[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?M.call(o,p):f[c])>-1&&(o[l]=!(a[l]=p))}}else y=mt(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function vt(e){var t,n,r,o=e.length,a=i.relative[e[0].type],s=a||i.relative[" "],u=a?1:0,c=ht(function(e){return e===t},s,!0),p=ht(function(e){return M.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>u;u++)if(n=i.relative[e[u].type])f=[ht(gt(f),n)];else{if(n=i.filter[e[u].type].apply(null,e[u].matches),n[x]){for(r=++u;o>r;r++)if(i.relative[e[r].type])break;return yt(u>1&&gt(f),u>1&&dt(e.slice(0,u-1)).replace(W,"$1"),n,r>u&&vt(e.slice(u,r)),o>r&&vt(e=e.slice(r)),o>r&&dt(e))}f.push(n)}return gt(f)}function bt(e,t){var n=0,o=t.length>0,a=e.length>0,s=function(s,u,c,f,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,T=l,C=s||a&&i.find.TAG("*",d&&u.parentNode||u),k=N+=null==T?1:Math.random()||.1;for(w&&(l=u!==p&&u,r=n);null!=(h=C[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,u,c)){f.push(h);break}w&&(N=k,r=++n)}o&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,o&&b!==v){g=0;while(m=t[g++])m(x,y,u,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=L.call(f));y=mt(y)}H.apply(f,y),w&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(f)}return w&&(N=k,l=T),x};return o?ot(s):s}s=st.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=ft(e)),n=t.length;while(n--)o=vt(t[n]),o[x]?r.push(o):i.push(o);o=S(e,bt(i,r))}return o};function xt(e,t,n){var r=0,i=t.length;for(;i>r;r++)st(e,t[r],n);return n}function wt(e,t,n,r){var o,a,u,l,c,p=ft(e);if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&!d&&i.relative[a[1].type]){if(t=i.find.ID(u.matches[0].replace(et,tt),t)[0],!t)return n;e=e.slice(a.shift().value.length)}o=U.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],i.relative[l=u.type])break;if((c=i.find[l])&&(r=c(u.matches[0].replace(et,tt),V.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=r.length&&dt(a),!e)return H.apply(n,q.call(r,0)),n;break}}}return s(e,p)(r,t,d,n,V.test(e)),n}i.pseudos.nth=i.pseudos.eq;function Tt(){}i.filters=Tt.prototype=i.pseudos,i.setFilters=new Tt,c(),st.attr=b.attr,b.find=st,b.expr=st.selectors,b.expr[":"]=b.expr.pseudos,b.unique=st.uniqueSort,b.text=st.getText,b.isXMLDoc=st.isXML,b.contains=st.contains}(e);var at=/Until$/,st=/^(?:parents|prev(?:Until|All))/,ut=/^.[^:#\[\.,]*$/,lt=b.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};b.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return r=this,this.pushStack(b(e).filter(function(){for(t=0;i>t;t++)if(b.contains(r[t],this))return!0}));for(n=[],t=0;i>t;t++)b.find(e,this[t],n);return n=this.pushStack(i>1?b.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=b(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(b.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1))},filter:function(e){return this.pushStack(ft(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?lt.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],a=lt.test(e)||"string"!=typeof e?b(e,t||this.context):0;for(;i>r;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&11!==n.nodeType){if(a?a.index(n)>-1:b.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}}return this.pushStack(o.length>1?b.unique(o):o)},index:function(e){return e?"string"==typeof e?b.inArray(this[0],b(e)):b.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?b(e,t):b.makeArray(e&&e.nodeType?[e]:e),r=b.merge(this.get(),n);return this.pushStack(b.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.fn.andSelf=b.fn.addBack;function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(e,t,n){return b.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(e,t,n){return b.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return b.dir(e,"previousSibling",n)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.merge([],e.childNodes)}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return at.test(e)||(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),i=this.length>1&&!ct[e]?b.unique(i):i,this.length>1&&st.test(e)&&(i=i.reverse()),this.pushStack(i)}}),b.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?b.find.matchesSelector(t[0],e)?[t[0]]:[]:b.find.matches(e,t)},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!b(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(t=t||0,b.isFunction(t))return b.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return b.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=b.grep(e,function(e){return 1===e.nodeType});if(ut.test(t))return b.filter(t,r,!n);t=b.filter(t,r)}return b.grep(e,function(e){return b.inArray(e,t)>=0===n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Nt=/^(?:checkbox|radio)$/i,Ct=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:b.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(o),Dt=jt.appendChild(o.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,b.fn.extend({text:function(e){return b.access(this,function(e){return e===t?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e))return this.each(function(t){b(this).wrapAll(e.call(this,t))});if(this[0]){var t=b(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return b.isFunction(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b.isFunction(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){b.nodeName(this,"body")||b(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=0;for(;null!=(n=this[r]);r++)(!e||b.filter(e,[n]).length>0)&&(t||1!==n.nodeType||b.cleanData(Ot(n)),n.parentNode&&(t&&b.contains(n.ownerDocument,n)&&Mt(Ot(n,"script")),n.parentNode.removeChild(n)));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&b.cleanData(Ot(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&b.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return b.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!b.support.htmlSerialize&&mt.test(e)||!b.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(b.cleanData(Ot(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=b.isFunction(e);return t||"string"==typeof e||(e=b(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;n&&(b(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=f.apply([],e);var i,o,a,s,u,l,c=0,p=this.length,d=this,h=p-1,g=e[0],m=b.isFunction(g);if(m||!(1>=p||"string"!=typeof g||b.support.checkClone)&&Ct.test(g))return this.each(function(i){var o=d.eq(i);m&&(e[0]=g.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(p&&(l=b.buildFragment(e,this[0].ownerDocument,!1,this),i=l.firstChild,1===l.childNodes.length&&(l=i),i)){for(n=n&&b.nodeName(i,"tr"),s=b.map(Ot(l,"script"),Ht),a=s.length;p>c;c++)o=l,c!==h&&(o=b.clone(o,!0,!0),a&&b.merge(s,Ot(o,"script"))),r.call(n&&b.nodeName(this[c],"table")?Lt(this[c],"tbody"):this[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,b.map(s,qt),c=0;a>c;c++)o=s[c],kt.test(o.type||"")&&!b._data(o,"globalEval")&&b.contains(u,o)&&(o.src?b.ajax({url:o.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):b.globalEval((o.text||o.textContent||o.innerHTML||"").replace(St,"")));l=i=null}return this}});function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function Ht(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Mt(e,t){var n,r=0;for(;null!=(n=e[r]);r++)b._data(n,"globalEval",!t||b._data(t[r],"globalEval"))}function _t(e,t){if(1===t.nodeType&&b.hasData(e)){var n,r,i,o=b._data(e),a=b._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)b.event.add(t,n,s[n][r])}a.data&&(a.data=b.extend({},a.data))}}function Ft(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!b.support.noCloneEvent&&t[b.expando]){i=b._data(t);for(r in i.events)b.removeEvent(t,r,i.handle);t.removeAttribute(b.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),b.support.html5Clone&&e.innerHTML&&!b.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Nt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){var n,r=0,i=[],o=b(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),b(o[r])[t](n),d.apply(i,n.get());return this.pushStack(i)}});function Ot(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||b.nodeName(o,n)?s.push(o):b.merge(s,Ot(o,n));return n===t||n&&b.nodeName(e,n)?b.merge([e],s):s}function Bt(e){Nt.test(e.type)&&(e.defaultChecked=e.checked)}b.extend({clone:function(e,t,n){var r,i,o,a,s,u=b.contains(e.ownerDocument,e);if(b.support.html5Clone||b.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(b.support.noCloneEvent&&b.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(r=Ot(o),s=Ot(e),a=0;null!=(i=s[a]);++a)r[a]&&Ft(i,r[a]);if(t)if(n)for(s=s||Ot(e),r=r||Ot(o),a=0;null!=(i=s[a]);a++)_t(i,r[a]);else _t(e,o);return r=Ot(o,"script"),r.length>0&&Mt(r,!u&&Ot(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,u,l,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===b.type(o))b.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),u=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[u]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!b.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!b.support.tbody){o="table"!==u||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)b.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l)
}b.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===b.css(e,"display")||!b.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||b.isNumeric(o)?o||0:a):a},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(b.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function un(e){var t=o,n=Gt[e];return n||(n=ln(e,t),"none"!==n&&n||(Pt=(Pt||b("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=ln(e,t),Pt.detach()),Gt[e]=n),n}function ln(e,t){var n=b(t.createElement(e)).appendTo(t.body),r=b.css(n[0],"display");return n.remove(),r}b.each(["height","width"],function(e,n){b.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(b.css(e,"display"))?b.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,i),i):0)}}}),b.support.opacity||(b.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=b.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===b.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),b(function(){b.support.reliableMarginRight||(b.cssHooks.marginRight={get:function(e,n){return n?b.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!b.support.pixelPosition&&b.fn.position&&b.each(["top","left"],function(e,n){b.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?b(e).position()[n]+"px":r):t}}})}),b.expr&&b.expr.filters&&(b.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!b.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||b.css(e,"display"))},b.expr.filters.visible=function(e){return!b.expr.filters.hidden(e)}),b.each({margin:"",padding:"",border:"Width"},function(e,t){b.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(b.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=b.prop(this,"elements");return e?b.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!b(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Nt.test(e))}).map(function(e,t){var n=b(this).val();return null==n?null:b.isArray(n)?b.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),b.param=function(e,n){var r,i=[],o=function(e,t){t=b.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=b.ajaxSettings&&b.ajaxSettings.traditional),b.isArray(e)||e.jquery&&!b.isPlainObject(e))b.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(b.isArray(t))b.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==b.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}b.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){b.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),b.fn.hover=function(e,t){return this.mouseenter(e).mouseleave(t||e)};var mn,yn,vn=b.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Nn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Cn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=b.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=a.href}catch(Ln){yn=o.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(w)||[];if(b.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(u){var l;return o[u]=!0,b.each(e[u]||[],function(e,u){var c=u(n,r,i);return"string"!=typeof c||a||o[c]?a?!(l=c):t:(n.dataTypes.unshift(c),s(c),!1)}),l}return s(n.dataTypes[0])||!o["*"]&&s("*")}function Mn(e,n){var r,i,o=b.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&b.extend(!0,e,r),e}b.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,u=e.indexOf(" ");return u>=0&&(i=e.slice(u,e.length),e=e.slice(0,u)),b.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&b.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?b("<div>").append(b.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},b.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){b.fn[t]=function(e){return this.on(t,e)}}),b.each(["get","post"],function(e,n){b[n]=function(e,r,i,o){return b.isFunction(r)&&(o=o||i,i=r,r=t),b.ajax({url:e,type:n,dataType:o,data:r,success:i})}}),b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Nn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Mn(Mn(e,b.ajaxSettings),t):Mn(b.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,u,l,c,p=b.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?b(f):b.event,h=b.Deferred(),g=b.Callbacks("once memory"),m=p.statusCode||{},y={},v={},x=0,T="canceled",N={readyState:0,getResponseHeader:function(e){var t;if(2===x){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===x?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return x||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>x)for(t in e)m[t]=[m[t],e[t]];else N.always(e[N.status]);return this},abort:function(e){var t=e||T;return l&&l.abort(t),k(0,t),this}};if(h.promise(N).complete=g.add,N.success=N.done,N.error=N.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=b.trim(p.dataType||"*").toLowerCase().match(w)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?80:443))==(mn[3]||("http:"===mn[1]?80:443)))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=b.param(p.data,p.traditional)),qn(An,p,n,N),2===x)return N;u=p.global,u&&0===b.active++&&b.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Cn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(b.lastModified[o]&&N.setRequestHeader("If-Modified-Since",b.lastModified[o]),b.etag[o]&&N.setRequestHeader("If-None-Match",b.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&N.setRequestHeader("Content-Type",p.contentType),N.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)N.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,N,p)===!1||2===x))return N.abort();T="abort";for(i in{success:1,error:1,complete:1})N[i](p[i]);if(l=qn(jn,p,n,N)){N.readyState=1,u&&d.trigger("ajaxSend",[N,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){N.abort("timeout")},p.timeout));try{x=1,l.send(y,k)}catch(C){if(!(2>x))throw C;k(-1,C)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,C=n;2!==x&&(x=2,s&&clearTimeout(s),l=t,a=i||"",N.readyState=e>0?4:0,r&&(w=_n(p,N,r)),e>=200&&300>e||304===e?(p.ifModified&&(T=N.getResponseHeader("Last-Modified"),T&&(b.lastModified[o]=T),T=N.getResponseHeader("etag"),T&&(b.etag[o]=T)),204===e?(c=!0,C="nocontent"):304===e?(c=!0,C="notmodified"):(c=Fn(p,w),C=c.state,y=c.data,v=c.error,c=!v)):(v=C,(e||!C)&&(C="error",0>e&&(e=0))),N.status=e,N.statusText=(n||C)+"",c?h.resolveWith(f,[y,C,N]):h.rejectWith(f,[N,C,v]),N.statusCode(m),m=t,u&&d.trigger(c?"ajaxSuccess":"ajaxError",[N,p,c?y:v]),g.fireWith(f,[N,C]),u&&(d.trigger("ajaxComplete",[N,p]),--b.active||b.event.trigger("ajaxStop")))}return N},getScript:function(e,n){return b.get(e,t,n,"script")},getJSON:function(e,t,n){return b.get(e,t,n,"json")}});function _n(e,n,r){var i,o,a,s,u=e.contents,l=e.dataTypes,c=e.responseFields;for(s in c)s in r&&(n[c[s]]=r[s]);while("*"===l[0])l.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in u)if(u[s]&&u[s].test(o)){l.unshift(s);break}if(l[0]in r)a=l[0];else{for(s in r){if(!l[0]||e.converters[s+" "+l[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==l[0]&&l.unshift(a),r[a]):t}function Fn(e,t){var n,r,i,o,a={},s=0,u=e.dataTypes.slice(),l=u[0];if(e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u[1])for(i in e.converters)a[i.toLowerCase()]=e.converters[i];for(;r=u[++s];)if("*"!==r){if("*"!==l&&l!==r){if(i=a[l+" "+r]||a["* "+r],!i)for(n in a)if(o=n.split(" "),o[1]===r&&(i=a[l+" "+o[0]]||a["* "+o[0]])){i===!0?i=a[n]:a[n]!==!0&&(r=o[0],u.splice(s--,0,r));break}if(i!==!0)if(i&&e["throws"])t=i(t);else try{t=i(t)}catch(c){return{state:"parsererror",error:i?c:"No conversion from "+l+" to "+r}}}l=r}return{state:"success",data:t}}b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),b.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=o.head||b("head")[0]||o.documentElement;return{send:function(t,i){n=o.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var On=[],Bn=/(=)\?(?=&|$)|\?\?/;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=On.pop()||b.expando+"_"+vn++;return this[e]=!0,e}}),b.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,u=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return u||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=b.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,u?n[u]=n[u].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||b.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,On.push(o)),s&&b.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}b.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=b.ajaxSettings.xhr(),b.support.cors=!!Rn&&"withCredentials"in Rn,Rn=b.support.ajax=!!Rn,Rn&&b.ajaxTransport(function(n){if(!n.crossDomain||b.support.cors){var r;return{send:function(i,o){var a,s,u=n.xhr();if(n.username?u.open(n.type,n.url,n.async,n.username,n.password):u.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)u[s]=n.xhrFields[s];n.mimeType&&u.overrideMimeType&&u.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)u.setRequestHeader(s,i[s])}catch(l){}u.send(n.hasContent&&n.data||null),r=function(e,i){var s,l,c,p;try{if(r&&(i||4===u.readyState))if(r=t,a&&(u.onreadystatechange=b.noop,$n&&delete Pn[a]),i)4!==u.readyState&&u.abort();else{p={},s=u.status,l=u.getAllResponseHeaders(),"string"==typeof u.responseText&&(p.text=u.responseText);try{c=u.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,l)},n.async?4===u.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},b(e).unload($n)),Pn[a]=r),u.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+x+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n,r,i=this.createTween(e,t),o=Yn.exec(t),a=i.cur(),s=+a||0,u=1,l=20;if(o){if(n=+o[2],r=o[3]||(b.cssNumber[e]?"":"px"),"px"!==r&&s){s=b.css(i.elem,e,!0)||n||1;do u=u||".5",s/=u,b.style(i.elem,e,s+r);while(u!==(u=i.cur()/a)&&1!==u&&--l)}i.unit=r,i.start=s,i.end=o[1]?s+(o[1]+1)*n:n}return i}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=b.now()}function Zn(e,t){b.each(t,function(t,n){var r=(Qn[t]||[]).concat(Qn["*"]),i=0,o=r.length;for(;o>i;i++)if(r[i].call(e,t,n))return})}function er(e,t,n){var r,i,o=0,a=Gn.length,s=b.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,a=0,u=l.tweens.length;for(;u>a;a++)l.tweens[a].run(o);return s.notifyWith(e,[l,o,n]),1>o&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:b.extend({},t),opts:b.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=b.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return t?s.resolveWith(e,[l,t]):s.rejectWith(e,[l,t]),this}}),c=l.props;for(tr(c,l.opts.specialEasing);a>o;o++)if(r=Gn[o].call(l,e,c,l.opts))return r;return Zn(l,c),b.isFunction(l.opts.start)&&l.opts.start.call(e,l),b.fx.timer(b.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function tr(e,t){var n,r,i,o,a;for(i in e)if(r=b.camelCase(i),o=t[r],n=e[i],b.isArray(n)&&(o=n[1],n=e[i]=n[0]),i!==r&&(e[r]=n,delete e[i]),a=b.cssHooks[r],a&&"expand"in a){n=a.expand(n),delete e[r];for(i in n)i in e||(e[i]=n[i],t[i]=o)}else t[r]=o}b.Animation=b.extend(er,{tweener:function(e,t){b.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,u,l,c,p,f=this,d=e.style,h={},g=[],m=e.nodeType&&nn(e);n.queue||(c=b._queueHooks(e,"fx"),null==c.unqueued&&(c.unqueued=0,p=c.empty.fire,c.empty.fire=function(){c.unqueued||p()}),c.unqueued++,f.always(function(){f.always(function(){c.unqueued--,b.queue(e,"fx").length||c.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],"inline"===b.css(e,"display")&&"none"===b.css(e,"float")&&(b.support.inlineBlockNeedsLayout&&"inline"!==un(e.nodeName)?d.zoom=1:d.display="inline-block")),n.overflow&&(d.overflow="hidden",b.support.shrinkWrapBlocks||f.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(i in t)if(a=t[i],Vn.exec(a)){if(delete t[i],u=u||"toggle"===a,a===(m?"hide":"show"))continue;g.push(i)}if(o=g.length){s=b._data(e,"fxshow")||b._data(e,"fxshow",{}),"hidden"in s&&(m=s.hidden),u&&(s.hidden=!m),m?b(e).show():f.done(function(){b(e).hide()}),f.done(function(){var t;b._removeData(e,"fxshow");for(t in h)b.style(e,t,h[t])});for(i=0;o>i;i++)r=g[i],l=f.createTween(r,m?s[r]:0),h[r]=s[r]||b.style(e,r),r in s||(s[r]=l.start,m&&(l.end=l.start,l.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}b.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=b.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[b.cssProps[e.prop]]||b.cssHooks[e.prop])?b.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.each(["toggle","show","hide"],function(e,t){var n=b.fn[t];b.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),b.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=b.isEmptyObject(e),o=b.speed(t,n,r),a=function(){var t=er(this,b.extend({},e),o);a.finish=function(){t.stop(!0)},(i||b._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=b.timers,a=b._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&b.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=b._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=b.timers,a=r?r.length:0;for(n.finish=!0,b.queue(this,e,[]),i&&i.cur&&i.cur.finish&&i.cur.finish.call(this),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}b.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){b.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),b.speed=function(e,t,n){var r=e&&"object"==typeof e?b.extend({},e):{complete:n||!n&&t||b.isFunction(e)&&e,duration:e,easing:n&&t||t&&!b.isFunction(t)&&t};return r.duration=b.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in b.fx.speeds?b.fx.speeds[r.duration]:b.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){b.isFunction(r.old)&&r.old.call(this),r.queue&&b.dequeue(this,r.queue)},r},b.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},b.timers=[],b.fx=rr.prototype.init,b.fx.tick=function(){var e,n=b.timers,r=0;for(Xn=b.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||b.fx.stop(),Xn=t},b.fx.timer=function(e){e()&&b.timers.push(e)&&b.fx.start()},b.fx.interval=13,b.fx.start=function(){Un||(Un=setInterval(b.fx.tick,b.fx.interval))},b.fx.stop=function(){clearInterval(Un),Un=null},b.fx.speeds={slow:600,fast:200,_default:400},b.fx.step={},b.expr&&b.expr.filters&&(b.expr.filters.animated=function(e){return b.grep(b.timers,function(t){return e===t.elem}).length}),b.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){b.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,b.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},b.offset={setOffset:function(e,t,n){var r=b.css(e,"position");"static"===r&&(e.style.position="relative");var i=b(e),o=i.offset(),a=b.css(e,"top"),s=b.css(e,"left"),u=("absolute"===r||"fixed"===r)&&b.inArray("auto",[a,s])>-1,l={},c={},p,f;u?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),b.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(l.top=t.top-o.top+p),null!=t.left&&(l.left=t.left-o.left+f),"using"in t?t.using.call(e,l):i.css(l)}},b.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===b.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),b.nodeName(e[0],"html")||(n=e.offset()),n.top+=b.css(e[0],"borderTopWidth",!0),n.left+=b.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-b.css(r,"marginTop",!0),left:t.left-n.left-b.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||o.documentElement;while(e&&!b.nodeName(e,"html")&&"static"===b.css(e,"position"))e=e.offsetParent;return e||o.documentElement})}}),b.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);b.fn[e]=function(i){return b.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?b(a).scrollLeft():o,r?o:b(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return b.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}b.each({Height:"height",Width:"width"},function(e,n){b.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){b.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return b.access(this,function(n,r,i){var o;return b.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?b.css(n,r,s):b.style(n,r,i,s)},n,a?i:t,a,null)}})}),e.jQuery=e.$=b,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return b})})(window);
We can make this file beautiful and searchable if this error is corrected: It looks like row 1334 should actually have 14 columns, instead of 12. in line 1333.
FID,publicid,origintime,longitude,latitude,depth,magnitude,magnitudetype,status,phases,type,agency,updatetime,origin_geom
quake.2013p618454,2013p618454,2013-08-17T19:52:50.074,174.1242,-41.5396,24.5703,1.7345,M,automatic,17,,WEL(GNS_Primary),2013-08-17T19:54:11.27,POINT (174.12425 -41.539614)
quake.2013p618440,2013p618440,2013-08-17T19:45:25.076,175.9561,-38.8725,26.3281,2.6901,M,automatic,13,,WEL(GNS_Primary),2013-08-17T19:48:15.374,POINT (175.95611 -38.872468)
quake.2013p618439,2013p618439,2013-08-17T19:44:28.998,174.3117,-41.8992,27.0312,4.6968,M,automatic,130,,WEL(GNS_Primary),2013-08-17T19:48:39.064,POINT (174.31173 -41.899212)
quake.2013p618432,2013p618432,2013-08-17T19:40:45.348,174.02,-41.7495,5.9961,1.8642,M,automatic,11,,WEL(GNS_Primary),2013-08-17T19:42:33.279,POINT (174.02 -41.749481)
quake.2013p618429,2013p618429,2013-08-17T19:39:16.665,174.0876,-41.7008,5.9375,2.1629,M,automatic,19,,WEL(GNS_Primary),2013-08-17T19:41:32.969,POINT (174.08765 -41.700788)
quake.2013p618424,2013p618424,2013-08-17T19:36:38.068,174.0682,-41.7371,5.0586,2.0408,M,automatic,11,,WEL(GNS_Primary),2013-08-17T19:38:32.797,POINT (174.06825 -41.737132)
quake.2013p618391,2013p618391,2013-08-17T19:18:45.724,173.3502,-41.372,39.6875,2.7565,M,automatic,13,,WEL(GNS_Primary),2013-08-17T19:22:01.731,POINT (173.35015 -41.372038)
quake.2013p618387,2013p618387,2013-08-17T19:16:55.737,174.0623,-41.7511,5.6445,2.4531,M,automatic,26,,WEL(GNS_Primary),2013-08-17T19:19:14.581,POINT (174.06226 -41.751138)
quake.2013p618382,2013p618382,2013-08-17T19:15:05.884,174.3391,-41.7557,43.2031,2.1871,M,automatic,12,,WEL(GNS_Primary),2013-08-17T19:17:23.575,POINT (174.33909 -41.755714)
quake.2013p618373,2013p618373,2013-08-17T19:09:38.454,174.2726,-41.6881,7.6367,3.1336,M,automatic,59,,WEL(GNS_Primary),2013-08-17T19:13:30.043,POINT (174.27258 -41.688075)
quake.2013p618367,2013p618367,2013-08-17T19:05:55.324,174.1194,-41.7463,19.4141,2.7113,M,automatic,41,,WEL(GNS_Primary),2013-08-17T19:08:38.494,POINT (174.11941 -41.746349)
quake.2013p618362,2013p618362,2013-08-17T19:03:45.107,174.1238,-41.6966,7.4023,2.4168,M,automatic,29,,WEL(GNS_Primary),2013-08-17T19:07:14.16,POINT (174.1238 -41.696636)
quake.2013p618352,2013p618352,2013-08-17T18:59:05.698,174.1796,-41.6795,5.0586,2.4466,M,automatic,30,,WEL(GNS_Primary),2013-08-17T19:02:13.08,POINT (174.17965 -41.679507)
quake.2013p618344,2013p618344,2013-08-17T18:54:06.179,174.3466,-41.6204,5.1172,2.7889,M,automatic,18,,WEL(GNS_Primary),2013-08-17T18:56:39.055,POINT (174.34662 -41.620394)
quake.2013p618341,2013p618341,2013-08-17T18:52:31.189,174.146,-41.7546,14.0234,3.7814,M,automatic,97,,WEL(GNS_Primary),2013-08-17T19:00:31.91,POINT (174.14599 -41.754637)
quake.2013p618306,2013p618306,2013-08-17T18:33:30.502,174.2695,-41.6515,6.5234,2.742,M,automatic,42,,WEL(GNS_Primary),2013-08-17T18:36:16.928,POINT (174.26951 -41.651492)
quake.2013p618299,2013p618299,2013-08-17T18:29:58.478,174.0588,-41.7688,14.4922,3.157,M,automatic,60,,WEL(GNS_Primary),2013-08-17T18:36:22.686,POINT (174.05882 -41.768764)
quake.2013p618281,2013p618281,2013-08-17T18:20:20.85,174.1213,-41.6978,5.0586,2.4599,M,automatic,17,,WEL(GNS_Primary),2013-08-17T18:22:38.929,POINT (174.12131 -41.697814)
quake.2013p618267,2013p618267,2013-08-17T18:13:16.722,174.3044,-41.6819,13.4961,2.7218,M,automatic,52,,WEL(GNS_Primary),2013-08-17T18:16:46.436,POINT (174.30438 -41.681919)
quake.2013p618265,2013p618265,2013-08-17T18:11:36.541,174.3148,-41.6482,5.2344,2.3351,M,automatic,13,,WEL(GNS_Primary),2013-08-17T18:15:01.428,POINT (174.31475 -41.648234)
quake.2013p618255,2013p618255,2013-08-17T18:06:20.225,174.0651,-41.712,5.0586,2.4174,M,automatic,23,,WEL(GNS_Primary),2013-08-17T18:08:27.554,POINT (174.0651 -41.712013)
quake.2013p618251,2013p618251,2013-08-17T18:04:26.377,174.2735,-41.6506,5.0586,2.4945,M,automatic,33,,WEL(GNS_Primary),2013-08-17T18:08:03.617,POINT (174.2735 -41.650567)
quake.2013p618233,2013p618233,2013-08-17T17:54:42.529,174.2449,-41.6355,5.0586,2.5431,M,automatic,39,,WEL(GNS_Primary),2013-08-17T17:58:13.944,POINT (174.24486 -41.635545)
quake.2013p618228,2013p618228,2013-08-17T17:52:15.396,174.2562,-41.6371,11.8555,2.6045,M,automatic,34,,WEL(GNS_Primary),2013-08-17T17:54:32.487,POINT (174.2562 -41.637129)
quake.2013p618214,2013p618214,2013-08-17T17:44:41.781,174.3687,-39.4119,151.7188,2.5669,M,automatic,16,,WEL(GNS_Primary),2013-08-17T17:48:06.985,POINT (174.36867 -39.411922)
quake.2013p618212,2013p618212,2013-08-17T17:43:49.65,174.0118,-41.6967,5.0586,2.0811,M,automatic,11,,WEL(GNS_Primary),2013-08-17T17:46:44.319,POINT (174.01181 -41.696684)
quake.2013p618209,2013p618209,2013-08-17T17:41:50.093,176.0921,-37.8206,207.0312,2.7475,M,automatic,45,,WEL(GNS_Primary),2013-08-17T17:45:24.277,POINT (176.09208 -37.820565)
quake.2013p618204,2013p618204,2013-08-17T17:39:34.524,174.2257,-41.5726,12.8516,2.4065,M,automatic,24,,WEL(GNS_Primary),2013-08-17T17:41:51.934,POINT (174.22567 -41.572628)
quake.2013p618192,2013p618192,2013-08-17T17:32:49.654,174.0037,-41.7755,6.7578,2.6557,M,automatic,35,,WEL(GNS_Primary),2013-08-17T17:36:11.823,POINT (174.00367 -41.775488)
quake.2013p618186,2013p618186,2013-08-17T17:29:57.879,177.1106,-37.9963,51.6406,2.0317,M,automatic,20,,WEL(GNS_Primary),2013-08-17T17:32:34.126,POINT (177.11063 -37.996306)
quake.2013p618184,2013p618184,2013-08-17T17:28:50.797,173.9714,-41.6532,23.5156,2.0981,M,automatic,17,,WEL(GNS_Primary),2013-08-17T17:31:01.905,POINT (173.97135 -41.653158)
quake.2013p618175,2013p618175,2013-08-17T17:24:00.363,174.257,-41.6736,7.6953,2.2162,M,automatic,22,,WEL(GNS_Primary),2013-08-17T17:26:26.259,POINT (174.25696 -41.673645)
quake.2013p618159,2013p618159,2013-08-17T17:15:13.251,174.4159,-41.5526,9.9805,2.2889,M,automatic,31,,WEL(GNS_Primary),2013-08-17T17:19:08.472,POINT (174.4159 -41.552576)
quake.2013p618155,2013p618155,2013-08-17T17:13:12.025,174.1403,-41.6796,7.9883,2.3214,M,automatic,28,,WEL(GNS_Primary),2013-08-17T17:16:42.453,POINT (174.14026 -41.679601)
quake.2013p618151,2013p618151,2013-08-17T17:10:58.616,174.1171,-41.6639,13.3789,2.5522,M,automatic,41,,WEL(GNS_Primary),2013-08-17T17:13:56.953,POINT (174.11714 -41.663907)
quake.2013p618137,2013p618137,2013-08-17T17:03:42.909,174.1024,-41.695,5.1172,2.3448,M,automatic,20,,WEL(GNS_Primary),2013-08-17T17:06:37.805,POINT (174.10243 -41.694965)
quake.2013p618135,2013p618135,2013-08-17T17:02:39.761,174.1044,-41.6873,11.5039,2.5223,M,automatic,36,,WEL(GNS_Primary),2013-08-17T17:07:18.481,POINT (174.10436 -41.687306)
quake.2013p618119,2013p618119,2013-08-17T16:53:49.994,174.2681,-41.6663,5.0586,2.5186,M,automatic,30,,WEL(GNS_Primary),2013-08-17T16:56:49.818,POINT (174.26809 -41.666256)
quake.2013p618116,2013p618116,2013-08-17T16:52:35.997,174.2653,-41.638,5.1172,2.3547,M,automatic,23,,WEL(GNS_Primary),2013-08-17T16:56:23.372,POINT (174.26533 -41.638023)
quake.2013p618107,2013p618107,2013-08-17T16:48:36.28,174.2095,-41.6089,10.9766,3.3966,M,automatic,46,,WEL(GNS_Primary),2013-08-17T16:54:57.859,POINT (174.20949 -41.608855)
quake.2013p618098,2013p618098,2013-08-17T16:42:52.635,173.7294,-41.7787,42.0312,1.9488,M,automatic,10,,WEL(GNS_Primary),2013-08-17T16:44:35.204,POINT (173.72943 -41.778708)
quake.2013p618088,2013p618088,2013-08-17T16:38:08.702,174.1014,-41.6916,5.1172,2.3239,M,automatic,21,,WEL(GNS_Primary),2013-08-17T16:40:25.627,POINT (174.10139 -41.691598)
quake.2013p618078,2013p618078,2013-08-17T16:32:22.853,174.261,-41.636,5.0586,2.705,M,automatic,40,,WEL(GNS_Primary),2013-08-17T16:38:11.745,POINT (174.261 -41.636019)
quake.2013p618069,2013p618069,2013-08-17T16:27:09.459,174.0959,-41.6868,8.0469,1.8837,M,automatic,14,,WEL(GNS_Primary),2013-08-17T16:30:09.423,POINT (174.09593 -41.68685)
quake.2013p618032,2013p618032,2013-08-17T16:07:52.423,174.1024,-41.731,20.0586,5.0437,M,reviewed,49,,WEL(GNS_Primary),2013-08-17T16:23:31.115,POINT (174.1024 -41.731043)
quake.2013p618016,2013p618016,2013-08-17T15:59:10.264,174.0703,-41.7234,5.0586,2.2417,M,automatic,17,,WEL(GNS_Primary),2013-08-17T16:01:19.349,POINT (174.07032 -41.723428)
quake.2013p618007,2013p618007,2013-08-17T15:54:15.213,174.4115,-41.5512,5.0586,2.906,M,automatic,53,,WEL(GNS_Primary),2013-08-17T15:57:51.979,POINT (174.41148 -41.551195)
quake.2013p618005,2013p618005,2013-08-17T15:53:35.351,176.2573,-40.2793,12.9688,2.0347,M,automatic,12,,WEL(GNS_Primary),2013-08-17T15:56:30.644,POINT (176.25726 -40.279332)
quake.2013p618001,2013p618001,2013-08-17T15:51:52.687,174.0538,-41.7302,5.8203,2.6276,M,automatic,18,,WEL(GNS_Primary),2013-08-17T15:55:29.598,POINT (174.05384 -41.730244)
quake.2013p618000,2013p618000,2013-08-17T15:50:38.208,178.5001,-36.5646,239.375,3.6157,M,automatic,48,,WEL(GNS_Primary),2013-08-17T15:54:45.489,POINT (178.50014 -36.564568)
quake.2013p617998,2013p617998,2013-08-17T15:49:32.834,174.2573,-41.682,5.8203,2.1655,M,automatic,21,,WEL(GNS_Primary),2013-08-17T15:53:26.275,POINT (174.25727 -41.681995)
quake.2013p617991,2013p617991,2013-08-17T15:46:19.733,174.312,-41.6044,7.2266,2.3079,M,automatic,26,,WEL(GNS_Primary),2013-08-17T15:48:56.245,POINT (174.31196 -41.604361)
quake.2013p617985,2013p617985,2013-08-17T15:42:38.752,174.238,-41.5626,7.5781,2.0492,M,automatic,11,,WEL(GNS_Primary),2013-08-17T15:45:41.199,POINT (174.23795 -41.562563)
quake.2013p617981,2013p617981,2013-08-17T15:40:28.523,174.0558,-41.7274,26.3281,2.4108,M,automatic,22,,WEL(GNS_Primary),2013-08-17T15:42:39.909,POINT (174.05582 -41.727382)
quake.2013p617979,2013p617979,2013-08-17T15:39:20.127,174.2173,-41.743,50.4688,2.1297,M,automatic,13,,WEL(GNS_Primary),2013-08-17T15:41:19.676,POINT (174.2173 -41.742965)
quake.2013p617976,2013p617976,2013-08-17T15:38:02.22,174.28,-41.6226,11.2109,2.2958,M,automatic,22,,WEL(GNS_Primary),2013-08-17T15:40:30.478,POINT (174.27995 -41.622604)
quake.2013p617950,2013p617950,2013-08-17T15:24:10.695,174.4114,-41.5356,10.0391,1.9822,M,automatic,23,,WEL(GNS_Primary),2013-08-17T15:26:01.302,POINT (174.41145 -41.535555)
quake.2013p617946,2013p617946,2013-08-17T15:21:54.538,174.2996,-41.6674,5.1172,2.2513,M,automatic,16,,WEL(GNS_Primary),2013-08-17T15:23:57.805,POINT (174.29958 -41.667389)
quake.2013p617935,2013p617935,2013-08-17T15:16:11.324,174.2706,-41.78,5.1172,3.9589,M,automatic,97,,WEL(GNS_Primary),2013-08-17T15:23:27.496,POINT (174.27056 -41.779978)
quake.2013p617922,2013p617922,2013-08-17T15:09:12.466,174.2473,-41.6867,5.1172,2.3737,M,automatic,21,,WEL(GNS_Primary),2013-08-17T15:11:36.301,POINT (174.2473 -41.686707)
quake.2013p617919,2013p617919,2013-08-17T15:07:18.171,174.1251,-41.6981,7.2266,2.4831,M,automatic,28,,WEL(GNS_Primary),2013-08-17T15:09:27.86,POINT (174.12512 -41.698134)
quake.2013p617898,2013p617898,2013-08-17T14:56:22.605,174.4363,-41.8741,5.1172,3.8384,M,automatic,81,,WEL(GNS_Primary),2013-08-17T15:00:09.638,POINT (174.43626 -41.874082)
quake.2013p617895,2013p617895,2013-08-17T14:54:41.953,174.1919,-41.6646,6.6406,1.9223,M,automatic,15,,WEL(GNS_Primary),2013-08-17T14:56:32.9,POINT (174.19191 -41.664644)
quake.2013p617889,2013p617889,2013-08-17T14:51:37.053,174.5396,-41.5552,8.8672,2.0727,M,automatic,16,,WEL(GNS_Primary),2013-08-17T14:53:30.111,POINT (174.53959 -41.555173)
quake.2013p617878,2013p617878,2013-08-17T14:45:24.557,173.9985,-41.6775,5.0586,2.4505,M,automatic,34,,WEL(GNS_Primary),2013-08-17T14:47:36.79,POINT (173.99851 -41.677523)
quake.2013p617874,2013p617874,2013-08-17T14:43:34.09,174.0787,-41.7293,10.5078,2.5445,M,automatic,37,,WEL(GNS_Primary),2013-08-17T14:47:30.789,POINT (174.07871 -41.729305)
quake.2013p617869,2013p617869,2013-08-17T14:40:39.343,174.1102,-41.6739,37.1094,2.8228,M,automatic,39,,WEL(GNS_Primary),2013-08-17T14:44:13.728,POINT (174.11023 -41.673923)
quake.2013p617859,2013p617859,2013-08-17T14:35:32.893,174.1642,-41.757,5.0586,2.0103,M,automatic,10,,WEL(GNS_Primary),2013-08-17T14:37:20.269,POINT (174.16418 -41.757047)
quake.2013p617851,2013p617851,2013-08-17T14:31:29.132,174.222,-41.639,10.332,2.4075,M,automatic,32,,WEL(GNS_Primary),2013-08-17T14:35:16.546,POINT (174.22197 -41.639043)
quake.2013p617844,2013p617844,2013-08-17T14:27:40.975,174.1276,-41.6813,8.3398,2.2885,M,automatic,23,,WEL(GNS_Primary),2013-08-17T14:29:55.276,POINT (174.12765 -41.681316)
quake.2013p617835,2013p617835,2013-08-17T14:22:43.02,174.0187,-41.7378,5.9961,2.5164,M,automatic,36,,WEL(GNS_Primary),2013-08-17T14:25:27.9,POINT (174.01869 -41.737763)
quake.2013p617833,2013p617833,2013-08-17T14:21:29.967,174.0734,-41.5093,8.9844,2.297,M,automatic,19,,WEL(GNS_Primary),2013-08-17T14:25:04.518,POINT (174.07335 -41.509335)
quake.2013p617823,2013p617823,2013-08-17T14:16:29.056,174.0733,-41.7955,13.9062,3.6255,M,automatic,81,,WEL(GNS_Primary),2013-08-17T14:21:31.431,POINT (174.07334 -41.795467)
quake.2013p617818,2013p617818,2013-08-17T14:13:43.068,174.0124,-41.6473,23.3984,2.1598,M,automatic,15,,WEL(GNS_Primary),2013-08-17T14:16:42.695,POINT (174.01238 -41.647273)
quake.2013p617812,2013p617812,2013-08-17T14:10:45.393,174.1528,-41.6472,14.7266,2.1307,M,automatic,19,,WEL(GNS_Primary),2013-08-17T14:12:39.857,POINT (174.15284 -41.647229)
quake.2013p617811,2013p617811,2013-08-17T14:09:18.031,176.772,-41.6762,312.5,2.8624,M,automatic,17,,WEL(GNS_Primary),2013-08-17T14:12:25.508,POINT (176.772 -41.676196)
quake.2013p617794,2013p617794,2013-08-17T14:00:54.886,173.9633,-41.7464,25.8594,2.2044,M,automatic,16,,WEL(GNS_Primary),2013-08-17T14:03:03.08,POINT (173.96328 -41.746356)
quake.2013p617787,2013p617787,2013-08-17T13:57:00.458,174.2989,-41.5256,10.9766,2.0621,M,automatic,15,,WEL(GNS_Primary),2013-08-17T13:58:59.262,POINT (174.2989 -41.52557)
quake.2013p617777,2013p617777,2013-08-17T13:52:06.489,174.2502,-41.6151,12.6172,2.4859,M,automatic,23,,WEL(GNS_Primary),2013-08-17T13:54:19.277,POINT (174.25022 -41.615057)
quake.2013p617766,2013p617766,2013-08-17T13:45:59.89,174.1336,-41.683,5.2344,2.1949,M,automatic,15,,WEL(GNS_Primary),2013-08-17T13:47:53.675,POINT (174.13358 -41.68295)
quake.2013p617760,2013p617760,2013-08-17T13:42:55.144,174.013,-41.7349,6.7578,2.5696,M,automatic,24,,WEL(GNS_Primary),2013-08-17T13:46:52.99,POINT (174.01295 -41.734883)
quake.2013p617758,2013p617758,2013-08-17T13:41:44.389,174.1059,-41.99,39.2188,2.006,M,automatic,12,,WEL(GNS_Primary),2013-08-17T13:43:21.949,POINT (174.10588 -41.989953)
quake.2013p617753,2013p617753,2013-08-17T13:38:58.42,174.1405,-41.6164,17.8906,1.9665,M,automatic,14,,WEL(GNS_Primary),2013-08-17T13:41:01.828,POINT (174.14048 -41.616419)
quake.2013p617749,2013p617749,2013-08-17T13:37:07.757,174.0838,-41.7005,5.0586,2.3406,M,automatic,26,,WEL(GNS_Primary),2013-08-17T13:40:30.856,POINT (174.08384 -41.700467)
quake.2013p617740,2013p617740,2013-08-17T13:32:07.908,174.9797,-40.3361,14.375,2.9515,M,automatic,14,,WEL(GNS_Primary),2013-08-17T13:35:26.454,POINT (174.9797 -40.336079)
quake.2013p617739,2013p617739,2013-08-17T13:31:38.6,174.1782,-41.7147,19.6484,3.0804,M,automatic,66,,WEL(GNS_Primary),2013-08-17T13:35:07.843,POINT (174.17825 -41.714709)
quake.2013p617737,2013p617737,2013-08-17T13:30:26.751,174.0453,-41.7154,6.1719,1.8717,M,automatic,10,,WEL(GNS_Primary),2013-08-17T13:31:56.291,POINT (174.04527 -41.715394)
quake.2013p617729,2013p617729,2013-08-17T13:26:23.637,174.1742,-41.623,13.6133,2.2847,M,automatic,25,,WEL(GNS_Primary),2013-08-17T13:29:28.59,POINT (174.1742 -41.623041)
quake.2013p617720,2013p617720,2013-08-17T13:21:13.784,174.0404,-41.7069,6.1719,2.4579,M,automatic,19,,WEL(GNS_Primary),2013-08-17T13:24:00.847,POINT (174.04038 -41.706908)
quake.2013p617711,2013p617711,2013-08-17T13:16:36.58,174.0042,-41.7213,5.1172,2.4461,M,automatic,25,,WEL(GNS_Primary),2013-08-17T13:19:46.673,POINT (174.0042 -41.721279)
quake.2013p617706,2013p617706,2013-08-17T13:13:54.496,174.2477,-41.5074,16.6016,2.0394,M,automatic,17,,WEL(GNS_Primary),2013-08-17T13:15:54.102,POINT (174.24768 -41.507379)
quake.2013p617698,2013p617698,2013-08-17T13:09:39.843,176.4576,-38.1036,5.9375,3.1129,M,automatic,29,,WEL(GNS_Primary),2013-08-17T13:13:23.258,POINT (176.4576 -38.103596)
quake.2013p617693,2013p617693,2013-08-17T13:06:56,177.4303,-37.164,87.5,2.342,M,automatic,19,,WEL(GNS_Primary),2013-08-17T13:09:16.294,POINT (177.43031 -37.16397)
quake.2013p617692,2013p617692,2013-08-17T13:06:24.972,174.0688,-41.7641,10.7422,2.1754,M,automatic,12,,WEL(GNS_Primary),2013-08-17T13:07:59.308,POINT (174.06881 -41.764051)
quake.2013p617689,2013p617689,2013-08-17T13:05:04.432,178.2922,-38.1757,19.6484,1.7608,M,automatic,13,,WEL(GNS_Primary),2013-08-17T13:07:11.515,POINT (178.29225 -38.175678)
quake.2013p617688,2013p617688,2013-08-17T13:04:39.258,174.301,-41.8463,26.3281,2.4827,M,automatic,12,,WEL(GNS_Primary),2013-08-17T13:07:06.627,POINT (174.30096 -41.846348)
quake.2013p617675,2013p617675,2013-08-17T12:57:23.54,174.0453,-41.6336,23.9844,2.0316,M,automatic,14,,WEL(GNS_Primary),2013-08-17T12:59:27.41,POINT (174.04531 -41.633642)
quake.2013p617668,2013p617668,2013-08-17T12:53:48.299,174.2528,-41.6915,5.2344,1.9319,M,automatic,11,,WEL(GNS_Primary),2013-08-17T12:55:50.449,POINT (174.25278 -41.691456)
quake.2013p617662,2013p617662,2013-08-17T12:50:49.452,174.2464,-41.6514,5.0586,2.418,M,automatic,31,,WEL(GNS_Primary),2013-08-17T12:53:58.621,POINT (174.24636 -41.651437)
quake.2013p617658,2013p617658,2013-08-17T12:48:12.977,174.219,-41.659,5.0586,2.3365,M,automatic,23,,WEL(GNS_Primary),2013-08-17T12:51:24.435,POINT (174.219 -41.658975)
quake.2013p617652,2013p617652,2013-08-17T12:45:06.591,174.2814,-41.6758,7.6367,3.2552,M,automatic,66,,WEL(GNS_Primary),2013-08-17T12:50:51.285,POINT (174.28135 -41.675821)
quake.2013p617642,2013p617642,2013-08-17T12:40:29.723,176.2626,-38.6806,14.2578,2.5927,M,automatic,23,,WEL(GNS_Primary),2013-08-17T12:43:38.884,POINT (176.26265 -38.680568)
quake.2013p617640,2013p617640,2013-08-17T12:39:28.52,174.1583,-41.8167,8.8672,4.4451,M,automatic,125,,WEL(GNS_Primary),2013-08-17T12:43:38.981,POINT (174.15833 -41.816727)
quake.2013p617617,2013p617617,2013-08-17T12:26:45.386,174.1027,-41.6829,8.2812,2.1262,M,automatic,20,,WEL(GNS_Primary),2013-08-17T12:28:48.054,POINT (174.10271 -41.682878)
quake.2013p617606,2013p617606,2013-08-17T12:20:58.786,174.1314,-41.5332,19.6484,1.9703,M,automatic,15,,WEL(GNS_Primary),2013-08-17T12:22:54.573,POINT (174.13138 -41.53315)
quake.2013p617591,2013p617591,2013-08-17T12:12:56.692,175.7481,-40.8465,24.9805,3.0296,M,automatic,57,,WEL(GNS_Primary),2013-08-17T12:16:41.901,POINT (175.74809 -40.846537)
quake.2013p617589,2013p617589,2013-08-17T12:11:38.284,174.1136,-41.6106,22.1094,2.2967,M,automatic,13,,WEL(GNS_Primary),2013-08-17T12:13:48.778,POINT (174.11358 -41.610623)
quake.2013p617579,2013p617579,2013-08-17T12:06:17.218,174.2537,-41.5397,10.8594,2.167,M,automatic,11,,WEL(GNS_Primary),2013-08-17T12:08:11.237,POINT (174.25368 -41.53967)
quake.2013p617562,2013p617562,2013-08-17T11:57:19.352,174.071,-41.7191,8.3984,2.3132,M,automatic,19,,WEL(GNS_Primary),2013-08-17T11:59:27.515,POINT (174.07098 -41.719068)
quake.2013p617550,2013p617550,2013-08-17T11:50:48.382,177.193,-37.1066,259.0625,3.2252,M,automatic,78,,WEL(GNS_Primary),2013-08-17T11:54:40.252,POINT (177.19301 -37.106553)
quake.2013p617547,2013p617547,2013-08-17T11:49:30.634,174.1859,-41.5915,9.8047,2.158,M,automatic,22,,WEL(GNS_Primary),2013-08-17T11:53:26.067,POINT (174.18586 -41.591477)
quake.2013p617541,2013p617541,2013-08-17T11:46:16.315,174.2276,-41.6528,5.8203,2.2688,M,automatic,20,,WEL(GNS_Primary),2013-08-17T11:49:25.947,POINT (174.22764 -41.652764)
quake.2013p617539,2013p617539,2013-08-17T11:44:54.446,174.2643,-41.7074,5.0586,2.3109,M,automatic,22,,WEL(GNS_Primary),2013-08-17T11:46:56.859,POINT (174.26431 -41.707434)
quake.2013p617534,2013p617534,2013-08-17T11:42:25.526,174.2529,-41.7113,5.0586,2.2085,M,automatic,11,,WEL(GNS_Primary),2013-08-17T11:44:26.378,POINT (174.25293 -41.711271)
quake.2013p617524,2013p617524,2013-08-17T11:37:01.049,174.1507,-41.4662,16.3672,1.8298,M,automatic,11,,WEL(GNS_Primary),2013-08-17T11:38:34.943,POINT (174.15066 -41.46615)
quake.2013p617516,2013p617516,2013-08-17T11:32:53.563,173.5731,-41.906,34.0625,2.2742,M,automatic,14,,WEL(GNS_Primary),2013-08-17T11:36:06.151,POINT (173.57308 -41.905955)
quake.2013p617512,2013p617512,2013-08-17T11:30:39.411,174.273,-41.6699,5.1172,2.6333,M,automatic,29,,WEL(GNS_Primary),2013-08-17T11:33:00.23,POINT (174.27295 -41.669944)
quake.2013p617506,2013p617506,2013-08-17T11:27:20.56,174.1244,-41.6827,8.0469,2.2355,M,automatic,21,,WEL(GNS_Primary),2013-08-17T11:29:31.358,POINT (174.12436 -41.68268)
quake.2013p617496,2013p617496,2013-08-17T11:21:58.48,174.0312,-41.6249,29.1406,1.9287,M,automatic,11,,WEL(GNS_Primary),2013-08-17T11:23:37.36,POINT (174.03121 -41.624885)
quake.2013p617492,2013p617492,2013-08-17T11:20:14.311,173.9723,-41.7683,77.8906,2.3807,M,automatic,16,,WEL(GNS_Primary),2013-08-17T11:22:18.327,POINT (173.97229 -41.768311)
quake.2013p617490,2013p617490,2013-08-17T11:18:53.799,174.2763,-41.585,9.3359,2.3912,M,automatic,23,,WEL(GNS_Primary),2013-08-17T11:22:40.533,POINT (174.27626 -41.58496)
quake.2013p617473,2013p617473,2013-08-17T11:10:02.815,174.1478,-41.5883,19.2969,2.0778,M,automatic,12,,WEL(GNS_Primary),2013-08-17T11:11:40.953,POINT (174.14778 -41.588272)
quake.2013p617470,2013p617470,2013-08-17T11:08:51.016,174.2736,-41.6132,9.8047,2.6212,M,automatic,33,,WEL(GNS_Primary),2013-08-17T11:11:09.152,POINT (174.27362 -41.613243)
quake.2013p617465,2013p617465,2013-08-17T11:05:59.934,174.1372,-41.7513,5.0586,2.6721,M,automatic,30,,WEL(GNS_Primary),2013-08-17T11:09:22.777,POINT (174.13723 -41.751252)
quake.2013p617447,2013p617447,2013-08-17T10:55:54.574,174.0658,-41.7125,5.0586,2.1142,M,automatic,16,,WEL(GNS_Primary),2013-08-17T10:59:14.258,POINT (174.0658 -41.712451)
quake.2013p617440,2013p617440,2013-08-17T10:52:17.824,174.006,-41.7599,5.0586,2.7874,M,automatic,11,,WEL(GNS_Primary),2013-08-17T10:54:45.29,POINT (174.00605 -41.759916)
quake.2013p617437,2013p617437,2013-08-17T10:50:49.773,174.5422,-41.5208,14.5508,3.3821,M,automatic,77,,WEL(GNS_Primary),2013-08-17T10:54:33.923,POINT (174.54221 -41.520847)
quake.2013p617427,2013p617427,2013-08-17T10:46:04.979,174.0305,-41.7519,8.457,3.4816,M,automatic,76,,WEL(GNS_Primary),2013-08-17T10:51:34.244,POINT (174.03046 -41.751873)
quake.2013p617424,2013p617424,2013-08-17T10:43:32.349,174.0409,-41.7338,5.0586,2.4808,M,automatic,22,,WEL(GNS_Primary),2013-08-17T10:46:52.978,POINT (174.04093 -41.733827)
quake.2013p617420,2013p617420,2013-08-17T10:41:33.257,174.0096,-41.7164,29.9609,2.3329,M,automatic,13,,WEL(GNS_Primary),2013-08-17T10:43:40.112,POINT (174.00958 -41.716431)
quake.2013p617416,2013p617416,2013-08-17T10:39:41.915,174.235,-41.6444,5.0586,2.533,M,automatic,33,,WEL(GNS_Primary),2013-08-17T10:43:07.703,POINT (174.23505 -41.644432)
quake.2013p617411,2013p617411,2013-08-17T10:36:51.71,175.8566,-39.5013,11.7969,2.3597,M,automatic,11,,WEL(GNS_Primary),2013-08-17T10:39:24.667,POINT (175.85662 -39.501276)
quake.2013p617410,2013p617410,2013-08-17T10:36:03.602,174.0033,-41.778,6.9922,3.3589,M,automatic,65,,WEL(GNS_Primary),2013-08-17T10:40:05.881,POINT (174.00329 -41.77798)
quake.2013p617406,2013p617406,2013-08-17T10:34:18.407,174.5321,-40.5479,5.4688,2.7325,M,automatic,19,,WEL(GNS_Primary),2013-08-17T10:36:51.112,POINT (174.5321 -40.547855)
quake.2013p617405,2013p617405,2013-08-17T10:33:36.805,172.9166,-41.6831,128.75,3.4929,M,automatic,19,,WEL(GNS_Primary),2013-08-17T10:36:41.524,POINT (172.91665 -41.683079)
quake.2013p617399,2013p617399,2013-08-17T10:30:32.937,174.2409,-41.6984,5.0586,2.2478,M,automatic,19,,WEL(GNS_Primary),2013-08-17T10:32:48.455,POINT (174.24093 -41.698407)
quake.2013p617395,2013p617395,2013-08-17T10:28:08.794,174.0746,-41.7002,7.0508,2.4233,M,automatic,20,,WEL(GNS_Primary),2013-08-17T10:30:20.911,POINT (174.07461 -41.700196)
quake.2013p617388,2013p617388,2013-08-17T10:24:20.229,173.3345,-42.1527,24.6875,2.5648,M,automatic,10,,WEL(GNS_Primary),2013-08-17T10:26:38.187,POINT (173.33447 -42.152652)
quake.2013p617376,2013p617376,2013-08-17T10:18:18.453,173.9776,-41.7539,5.1172,2.3837,M,automatic,13,,WEL(GNS_Primary),2013-08-17T10:20:30.25,POINT (173.97759 -41.753867)
quake.2013p617372,2013p617372,2013-08-17T10:16:06.793,174.0605,-41.6758,5.2344,2.0835,M,automatic,17,,WEL(GNS_Primary),2013-08-17T10:19:02.624,POINT (174.06054 -41.6758)
quake.2013p617364,2013p617364,2013-08-17T10:12:31.801,174.1143,-41.6676,12.793,3.1293,M,automatic,64,,WEL(GNS_Primary),2013-08-17T10:17:30.138,POINT (174.11428 -41.667577)
quake.2013p617356,2013p617356,2013-08-17T10:07:32.523,174.018,-41.7169,6.1133,2.1777,M,automatic,11,,WEL(GNS_Primary),2013-08-17T10:09:20.174,POINT (174.01801 -41.716887)
quake.2013p617354,2013p617354,2013-08-17T10:06:33.111,174.0423,-41.674,21.9922,2.2202,M,automatic,14,,WEL(GNS_Primary),2013-08-17T10:08:40.901,POINT (174.04228 -41.674012)
quake.2013p617351,2013p617351,2013-08-17T10:04:57.228,174.0681,-41.7125,7.9883,2.5195,M,automatic,32,,WEL(GNS_Primary),2013-08-17T10:07:39.45,POINT (174.06811 -41.712519)
quake.2013p617347,2013p617347,2013-08-17T10:02:51.66,174.0005,-41.6644,22.2266,2.2091,M,automatic,11,,WEL(GNS_Primary),2013-08-17T10:05:02.785,POINT (174.0005 -41.664443)
quake.2013p617339,2013p617339,2013-08-17T09:58:54.066,175.8159,-39.6392,5.4688,2.4234,M,automatic,16,,WEL(GNS_Primary),2013-08-17T10:02:08.145,POINT (175.81589 -39.63925)
quake.2013p617338,2013p617338,2013-08-17T09:58:09.003,174.3619,-42.085,8.0469,3.7056,M,automatic,64,,WEL(GNS_Primary),2013-08-17T10:17:35.477,POINT (174.36189 -42.085014)
quake.2013p617325,2013p617325,2013-08-17T09:51:44.282,174.2584,-41.612,5.1172,2.6225,M,automatic,28,,WEL(GNS_Primary),2013-08-17T09:54:56.937,POINT (174.25839 -41.611961)
quake.2013p617324,2013p617324,2013-08-17T09:50:38.934,173.5827,-41.5341,59.8438,2.336,M,automatic,11,,WEL(GNS_Primary),2013-08-17T09:52:16.911,POINT (173.58274 -41.5341)
quake.2013p617319,2013p617319,2013-08-17T09:47:50.519,174.0685,-41.7148,7.4609,2.3625,M,automatic,20,,WEL(GNS_Primary),2013-08-17T09:50:02.108,POINT (174.06853 -41.714825)
quake.2013p617314,2013p617314,2013-08-17T09:45:01.776,174.0878,-41.6995,9.8047,2.4094,M,automatic,26,,WEL(GNS_Primary),2013-08-17T09:47:22.988,POINT (174.08784 -41.699542)
quake.2013p617309,2013p617309,2013-08-17T09:43:00.564,174.0578,-41.7197,9.6289,2.6763,M,automatic,49,,WEL(GNS_Primary),2013-08-17T09:46:02.33,POINT (174.05775 -41.719722)
quake.2013p617303,2013p617303,2013-08-17T09:39:19.237,174.0649,-41.7133,9.8633,2.5079,M,automatic,35,,WEL(GNS_Primary),2013-08-17T09:41:34.815,POINT (174.06491 -41.713259)
quake.2013p617296,2013p617296,2013-08-17T09:35:47.407,174.0322,-41.7304,5.5859,1.9965,M,automatic,11,,WEL(GNS_Primary),2013-08-17T09:37:26.333,POINT (174.03217 -41.730442)
quake.2013p617293,2013p617293,2013-08-17T09:33:40.806,173.7771,-41.8302,51.4062,2.0808,M,automatic,11,,WEL(GNS_Primary),2013-08-17T09:35:25.369,POINT (173.77709 -41.830164)
quake.2013p617288,2013p617288,2013-08-17T09:31:24.273,174.1776,-41.5952,6.1133,2.0992,M,automatic,12,,WEL(GNS_Primary),2013-08-17T09:33:43.34,POINT (174.17759 -41.595196)
quake.2013p617280,2013p617280,2013-08-17T09:26:56.012,174.2305,-41.6545,23.8672,2.2351,M,automatic,11,,WEL(GNS_Primary),2013-08-17T09:28:24.541,POINT (174.23047 -41.654516)
quake.2013p617277,2013p617277,2013-08-17T09:25:11.397,174.0664,-41.7237,5.0586,2.2854,M,automatic,20,,WEL(GNS_Primary),2013-08-17T09:27:33.65,POINT (174.06641 -41.723731)
quake.2013p617269,2013p617269,2013-08-17T09:21:15.99,176.1541,-40.2312,16.25,3.0106,M,automatic,14,,WEL(GNS_Primary),2013-08-17T09:24:18.764,POINT (176.15407 -40.231233)
quake.2013p617268,2013p617268,2013-08-17T09:20:32.823,174.0745,-41.8493,5.1172,3.9375,M,automatic,93,,WEL(GNS_Primary),2013-08-17T10:17:24.665,POINT (174.07447 -41.849306)
quake.2013p617264,2013p617264,2013-08-17T09:18:22.531,174.0561,-41.7562,15.1953,3.5329,M,automatic,63,,WEL(GNS_Primary),2013-08-17T09:24:47.689,POINT (174.05609 -41.75617)
quake.2013p617258,2013p617258,2013-08-17T09:15:26.431,174.0958,-41.7079,8.457,2.7254,M,automatic,36,,WEL(GNS_Primary),2013-08-17T09:18:26.5,POINT (174.09584 -41.707911)
quake.2013p617250,2013p617250,2013-08-17T09:10:59.637,174.1212,-41.7243,8.9844,2.7962,M,automatic,31,,WEL(GNS_Primary),2013-08-17T09:14:14.542,POINT (174.12119 -41.724296)
quake.2013p617246,2013p617246,2013-08-17T09:09:10.394,174.2829,-41.6027,12.1484,3.1272,M,automatic,61,,WEL(GNS_Primary),2013-08-17T09:12:52.274,POINT (174.2829 -41.602672)
quake.2013p617242,2013p617242,2013-08-17T09:06:32.482,174.0688,-41.7027,8.5156,2.8051,M,automatic,39,,WEL(GNS_Primary),2013-08-17T09:10:14.719,POINT (174.06882 -41.702738)
quake.2013p617238,2013p617238,2013-08-17T09:04:25.596,174.074,-41.7094,9.2773,2.9795,M,automatic,35,,WEL(GNS_Primary),2013-08-17T09:09:15.483,POINT (174.074 -41.709355)
quake.2013p617227,2013p617227,2013-08-17T08:58:39.68,174.0486,-41.7699,19.5898,5.4837,M,reviewed,61,,WEL(GNS_Primary),2013-08-17T09:07:29.304,POINT (174.04859 -41.769924)
quake.2013p617220,2013p617220,2013-08-17T08:55:28.01,174.093,-41.8498,5.1172,3.7153,M,automatic,79,,WEL(GNS_Primary),2013-08-17T08:59:27.426,POINT (174.09297 -41.849848)
quake.2013p617210,2013p617210,2013-08-17T08:49:27.296,174.0222,-41.74,5.0586,2.5105,M,automatic,19,,WEL(GNS_Primary),2013-08-17T08:52:37.877,POINT (174.02223 -41.739952)
quake.2013p617209,2013p617209,2013-08-17T08:49:12.852,175.4075,-38.7131,186.4062,2.4522,M,automatic,30,,WEL(GNS_Primary),2013-08-17T08:53:07.115,POINT (175.40752 -38.713109)
quake.2013p617195,2013p617195,2013-08-17T08:41:30.026,174.1331,-41.7378,14.7852,4.3245,M,reviewed,58,,WEL(GNS_Primary),2013-08-17T08:50:54.634,POINT (174.13307 -41.737783)
quake.2013p617189,2013p617189,2013-08-17T08:38:32.612,174.2626,-41.6254,13.0859,2.2701,M,automatic,19,,WEL(GNS_Primary),2013-08-17T08:40:39.461,POINT (174.26256 -41.62543)
quake.2013p617184,2013p617184,2013-08-17T08:35:46.126,174.0146,-41.7543,5.0586,2.1717,M,automatic,10,,WEL(GNS_Primary),2013-08-17T08:37:25.495,POINT (174.01463 -41.754328)
quake.2013p617175,2013p617175,2013-08-17T08:31:07.63,174.021,-41.7228,5.8789,2.1689,M,automatic,17,,WEL(GNS_Primary),2013-08-17T08:33:17.055,POINT (174.02097 -41.722814)
quake.2013p617170,2013p617170,2013-08-17T08:28:26.276,174.0926,-41.7141,5.0586,2.4156,M,automatic,19,,WEL(GNS_Primary),2013-08-17T08:32:05.364,POINT (174.0926 -41.714072)
quake.2013p617167,2013p617167,2013-08-17T08:26:55.005,174.0609,-41.7346,11.6797,2.5458,M,automatic,15,,WEL(GNS_Primary),2013-08-17T08:29:02.133,POINT (174.0609 -41.734622)
quake.2013p617151,2013p617151,2013-08-17T08:18:59.035,174.283,-41.5762,10.6836,3.2528,M,automatic,52,,WEL(GNS_Primary),2013-08-17T08:24:04.899,POINT (174.28296 -41.57619)
quake.2013p617142,2013p617142,2013-08-17T08:13:36.253,173.9986,-41.7887,15.8984,3.9124,M,reviewed,43,,WEL(GNS_Primary),2013-08-17T08:24:44.924,POINT (173.99857 -41.788686)
quake.2013p617136,2013p617136,2013-08-17T08:10:11.581,176.1159,-39.3299,21.875,3.2219,M,automatic,11,,WEL(GNS_Primary),2013-08-17T08:12:55.981,POINT (176.11594 -39.32994)
quake.2013p617134,2013p617134,2013-08-17T08:09:28.228,174.5614,-41.5429,30.7812,4.4184,M,automatic,84,,WEL(GNS_Primary),2013-08-17T10:37:44.644,POINT (174.56139 -41.542887)
quake.2013p617132,2013p617132,2013-08-17T08:07:51.681,172.7744,-41.7924,96.875,2.6013,M,automatic,11,,WEL(GNS_Primary),2013-08-17T08:09:50.284,POINT (172.77437 -41.792417)
quake.2013p617115,2013p617115,2013-08-17T07:59:24.203,174.3626,-41.6059,6.7578,2.0745,M,automatic,12,,WEL(GNS_Primary),2013-08-17T08:01:20.946,POINT (174.36264 -41.605851)
quake.2013p617112,2013p617112,2013-08-17T07:57:32.47,174.2113,-41.5964,13.5547,2.2491,M,automatic,20,,WEL(GNS_Primary),2013-08-17T07:59:32.777,POINT (174.21134 -41.596397)
quake.2013p617100,2013p617100,2013-08-17T07:51:09.522,174.2953,-41.6124,5.0586,2.5671,M,automatic,31,,WEL(GNS_Primary),2013-08-17T07:55:00.401,POINT (174.29534 -41.612422)
quake.2013p617094,2013p617094,2013-08-17T07:48:51.633,174.2609,-41.5428,6.0547,2.142,M,automatic,17,,WEL(GNS_Primary),2013-08-17T07:50:42.999,POINT (174.26092 -41.542802)
quake.2013p617073,2013p617073,2013-08-17T07:36:33.448,174.0873,-41.7285,7.2852,2.8694,M,automatic,44,,WEL(GNS_Primary),2013-08-17T07:54:38.016,POINT (174.08733 -41.728515)
quake.2013p617063,2013p617063,2013-08-17T07:30:52.48,174.0056,-41.6717,50.9375,1.9612,M,automatic,11,,WEL(GNS_Primary),2013-08-17T07:32:28.151,POINT (174.00558 -41.671683)
quake.2013p617062,2013p617062,2013-08-17T07:30:40.589,172.5315,-43.6164,7.4609,2.6621,M,automatic,22,,WEL(GNS_Primary),2013-08-17T07:33:04.554,POINT (172.53151 -43.616411)
quake.2013p617055,2013p617055,2013-08-17T07:27:24.214,174.1881,-41.8556,52.3438,2.9583,M,automatic,18,,WEL(GNS_Primary),2013-08-17T07:30:27.121,POINT (174.18811 -41.855554)
quake.2013p617036,2013p617036,2013-08-17T07:16:55.594,174.1729,-41.6161,17.5391,2.1937,M,automatic,18,,WEL(GNS_Primary),2013-08-17T07:18:52.828,POINT (174.17292 -41.616121)
quake.2013p617025,2013p617025,2013-08-17T07:11:12.111,174.2635,-41.5981,7.5195,2.2482,M,automatic,22,,WEL(GNS_Primary),2013-08-17T07:13:12.954,POINT (174.26352 -41.59814)
quake.2013p617015,2013p617015,2013-08-17T07:06:04.739,174.3157,-41.642,5.1172,1.8009,M,automatic,11,,WEL(GNS_Primary),2013-08-17T07:07:40.774,POINT (174.31567 -41.642005)
quake.2013p617012,2013p617012,2013-08-17T07:04:21.042,173.4692,-41.7811,121.7188,2.5373,M,automatic,14,,WEL(GNS_Primary),2013-08-17T07:06:29.732,POINT (173.46922 -41.781087)
quake.2013p617007,2013p617007,2013-08-17T07:01:49.786,174.2925,-41.663,11.4453,3.1262,M,automatic,52,,WEL(GNS_Primary),2013-08-17T07:08:21.201,POINT (174.2925 -41.663011)
quake.2013p616991,2013p616991,2013-08-17T06:52:57.317,174.0813,-41.7275,5.0586,1.9875,M,automatic,14,,WEL(GNS_Primary),2013-08-17T06:55:02.418,POINT (174.0813 -41.727504)
quake.2013p616984,2013p616984,2013-08-17T06:49:18.292,173.7815,-41.7571,8.9258,2.3293,M,automatic,18,,WEL(GNS_Primary),2013-08-17T06:51:26.12,POINT (173.78152 -41.757083)
quake.2013p616976,2013p616976,2013-08-17T06:45:07.728,174.1299,-41.584,8.3984,1.7803,M,automatic,10,,WEL(GNS_Primary),2013-08-17T06:46:42.363,POINT (174.12992 -41.583992)
quake.2013p616969,2013p616969,2013-08-17T06:41:15.319,174.0847,-41.7303,5.8203,3.0959,M,automatic,57,,WEL(GNS_Primary),2013-08-17T06:45:50.67,POINT (174.08474 -41.730316)
quake.2013p616965,2013p616965,2013-08-17T06:39:04.784,174.0622,-41.7055,5.5859,2.4161,M,automatic,20,,WEL(GNS_Primary),2013-08-17T06:41:20.244,POINT (174.06223 -41.705464)
quake.2013p616956,2013p616956,2013-08-17T06:34:34.059,174.1734,-41.7675,42.7344,2.2606,M,automatic,17,,WEL(GNS_Primary),2013-08-17T06:36:35.374,POINT (174.17344 -41.767537)
quake.2013p616953,2013p616953,2013-08-17T06:32:37.519,173.9407,-41.7323,6.1719,2.3123,M,automatic,15,,WEL(GNS_Primary),2013-08-17T06:34:47.684,POINT (173.9407 -41.732346)
quake.2013p616949,2013p616949,2013-08-17T06:30:32.919,173.818,-41.6862,22.8125,1.907,M,automatic,13,,WEL(GNS_Primary),2013-08-17T06:31:22.312,POINT (173.81804 -41.686196)
quake.2013p616938,2013p616938,2013-08-17T06:24:57.946,174.3169,-41.6862,13.3203,2.9922,M,automatic,42,,WEL(GNS_Primary),2013-08-17T06:29:47.292,POINT (174.31687 -41.686248)
quake.2013p616935,2013p616935,2013-08-17T06:23:27.547,174.0209,-41.7234,6.9922,2.4652,M,automatic,28,,WEL(GNS_Primary),2013-08-17T06:26:10.232,POINT (174.02087 -41.723437)
quake.2013p616934,2013p616934,2013-08-17T06:22:02.003,177.4611,-38.5882,53.8672,1.438,M,automatic,11,,WEL(GNS_Primary),2013-08-17T06:23:56.346,POINT (177.46106 -38.58819)
quake.2013p616933,2013p616933,2013-08-17T06:21:51.775,173.3994,-41.754,116.5625,2.2239,M,automatic,10,,WEL(GNS_Primary),2013-08-17T06:23:24.461,POINT (173.39936 -41.754004)
quake.2013p616927,2013p616927,2013-08-17T06:19:10.538,174.0811,-41.6729,9.8633,2.4997,M,automatic,32,,WEL(GNS_Primary),2013-08-17T06:22:57.342,POINT (174.08106 -41.672857)
quake.2013p616919,2013p616919,2013-08-17T06:14:25.811,174.1269,-41.6965,8.8672,2.2913,M,automatic,17,,WEL(GNS_Primary),2013-08-17T06:16:53.946,POINT (174.12691 -41.696519)
quake.2013p616918,2013p616918,2013-08-17T06:14:07.589,169.9016,-44.7049,5.1172,2.8871,M,automatic,16,,WEL(GNS_Primary),2013-08-17T06:16:34.196,POINT (169.90159 -44.70489)
quake.2013p616914,2013p616914,2013-08-17T06:12:03.311,174.1813,-41.6839,5.8203,2.4926,M,automatic,33,,WEL(GNS_Primary),2013-08-17T06:17:09.438,POINT (174.18131 -41.683935)
quake.2013p616912,2013p616912,2013-08-17T06:10:50.015,174.1681,-41.6485,5.1172,2.2107,M,automatic,12,,WEL(GNS_Primary),2013-08-17T06:12:52.641,POINT (174.16808 -41.648512)
quake.2013p616899,2013p616899,2013-08-17T06:04:13.009,174.1403,-41.5251,12.3828,2.1896,M,automatic,13,,WEL(GNS_Primary),2013-08-17T06:05:51.289,POINT (174.1403 -41.525071)
quake.2013p616897,2013p616897,2013-08-17T06:02:54.423,174.2913,-41.5562,5.1172,1.9321,M,automatic,14,,WEL(GNS_Primary),2013-08-17T06:04:58.528,POINT (174.2913 -41.556208)
quake.2013p616893,2013p616893,2013-08-17T06:01:02.514,174.3046,-41.5182,5.1172,2.1072,M,automatic,17,,WEL(GNS_Primary),2013-08-17T06:03:19.397,POINT (174.3046 -41.51823)
quake.2013p616877,2013p616877,2013-08-17T05:52:29.261,174.0706,-41.7113,5.293,2.435,M,automatic,24,,WEL(GNS_Primary),2013-08-17T05:54:39.401,POINT (174.07061 -41.711341)
quake.2013p616873,2013p616873,2013-08-17T05:50:11.204,174.1308,-41.609,25.7422,2.1168,M,automatic,15,,WEL(GNS_Primary),2013-08-17T05:52:11.333,POINT (174.13079 -41.609043)
quake.2013p616869,2013p616869,2013-08-17T05:48:27.865,174.2836,-41.5929,5.0586,2.0192,M,automatic,15,,WEL(GNS_Primary),2013-08-17T05:50:51.522,POINT (174.28357 -41.592891)
quake.2013p616863,2013p616863,2013-08-17T05:45:04.297,174.2581,-41.6662,10.2734,2.4451,M,automatic,16,,WEL(GNS_Primary),2013-08-17T05:47:21.532,POINT (174.25807 -41.66617)
quake.2013p616860,2013p616860,2013-08-17T05:43:41.304,174.2416,-41.8913,5.2344,3.3528,M,automatic,57,,WEL(GNS_Primary),2013-08-17T05:49:00.679,POINT (174.24163 -41.891321)
quake.2013p616857,2013p616857,2013-08-17T05:41:31.895,174.0187,-41.7275,8.3984,2.5858,M,automatic,26,,WEL(GNS_Primary),2013-08-17T05:45:34.057,POINT (174.0187 -41.727544)
quake.2013p616856,2013p616856,2013-08-17T05:41:01.52,176.567,-38.9409,8.9258,1.6103,M,automatic,10,,WEL(GNS_Primary),2013-08-17T05:42:22.95,POINT (176.56702 -38.940944)
quake.2013p616852,2013p616852,2013-08-17T05:38:55.838,174.2541,-41.6202,12.8516,2.2864,M,automatic,17,,WEL(GNS_Primary),2013-08-17T05:41:04.274,POINT (174.25408 -41.620176)
quake.2013p616837,2013p616837,2013-08-17T05:31:15.68,174.2431,-41.5277,8.9844,2.4792,M,automatic,18,,WEL(GNS_Primary),2013-08-17T05:34:15.1,POINT (174.24313 -41.527681)
quake.2013p616833,2013p616833,2013-08-17T05:29:04.279,174.2786,-41.6837,17.2461,3.124,M,automatic,57,,WEL(GNS_Primary),2013-08-17T05:34:14.308,POINT (174.27864 -41.683666)
quake.2013p616831,2013p616831,2013-08-17T05:28:16.941,175.7447,-41.1872,10.2734,2.1854,M,automatic,10,,WEL(GNS_Primary),2013-08-17T05:29:56.354,POINT (175.74468 -41.187162)
quake.2013p616829,2013p616829,2013-08-17T05:26:37.685,174.2105,-41.5401,11.3281,2.2382,M,automatic,12,,WEL(GNS_Primary),2013-08-17T05:29:45.78,POINT (174.21047 -41.540066)
quake.2013p616815,2013p616815,2013-08-17T05:19:15.02,174.2912,-41.7139,21.5234,4.3429,M,reviewed,44,,WEL(GNS_Primary),2013-08-17T08:17:41.619,POINT (174.29117 -41.713853)
quake.2013p616807,2013p616807,2013-08-17T05:16:09.956,174.301,-41.6785,5.0586,3.2794,M,automatic,14,,WEL(GNS_Primary),2013-08-17T05:18:35.603,POINT (174.30103 -41.678484)
quake.2013p616808,2013p616808,2013-08-17T05:15:40.234,174.5268,-40.1157,132.5,2.9367,M,automatic,15,,WEL(GNS_Primary),2013-08-17T05:18:46.345,POINT (174.52679 -40.115661)
quake.2013p616805,2013p616805,2013-08-17T05:14:03,174.1681,-41.6485,11.9141,2.4961,M,automatic,23,,WEL(GNS_Primary),2013-08-17T05:16:04.781,POINT (174.16808 -41.648512)
quake.2013p616795,2013p616795,2013-08-17T05:08:28.74,174.2593,-41.6996,5.1172,2.3334,M,automatic,20,,WEL(GNS_Primary),2013-08-17T05:10:30.685,POINT (174.2593 -41.699571)
quake.2013p616792,2013p616792,2013-08-17T05:07:00.276,174.3553,-41.5823,8.1641,1.9053,M,automatic,10,,WEL(GNS_Primary),2013-08-17T05:08:30.398,POINT (174.3553 -41.58228)
quake.2013p616788,2013p616788,2013-08-17T05:04:43.738,173.9888,-41.7717,5.1172,2.5164,M,automatic,26,,WEL(GNS_Primary),2013-08-17T05:08:04.377,POINT (173.98878 -41.771715)
quake.2013p616783,2013p616783,2013-08-17T05:02:28.28,174.0673,-41.774,13.5547,3.3623,M,automatic,64,,WEL(GNS_Primary),2013-08-17T05:06:23.34,POINT (174.0673 -41.774018)
quake.2013p616779,2013p616779,2013-08-17T04:59:58.423,173.9315,-41.7417,6.0547,2.5575,M,automatic,11,,WEL(GNS_Primary),2013-08-17T05:02:08.017,POINT (173.93154 -41.741671)
quake.2013p616776,2013p616776,2013-08-17T04:58:51.016,174.199,-41.5547,20.2344,2.9123,M,automatic,15,,WEL(GNS_Primary),2013-08-17T05:01:48.891,POINT (174.19904 -41.554745)
quake.2013p616773,2013p616773,2013-08-17T04:57:44.323,174.0783,-41.7011,5.0586,2.8252,M,automatic,27,,WEL(GNS_Primary),2013-08-17T05:01:15.499,POINT (174.07833 -41.70114)
quake.2013p616771,2013p616771,2013-08-17T04:55:46.805,174.2999,-41.6023,5.1172,2.9062,M,automatic,20,,WEL(GNS_Primary),2013-08-17T04:59:14.469,POINT (174.29991 -41.602338)
quake.2013p616767,2013p616767,2013-08-17T04:53:57.452,174.2081,-41.608,16.1328,3.5072,M,automatic,43,,WEL(GNS_Primary),2013-08-17T04:57:32.683,POINT (174.20807 -41.607979)
quake.2013p616764,2013p616764,2013-08-17T04:52:09.189,173.9848,-41.8183,10.2734,3.4604,M,automatic,78,,WEL(GNS_Primary),2013-08-17T04:56:12.468,POINT (173.98476 -41.818314)
quake.2013p616758,2013p616758,2013-08-17T04:49:07.154,177.2333,-39.3243,20.3516,2.5632,M,automatic,28,,WEL(GNS_Primary),2013-08-17T04:52:17.884,POINT (177.23331 -39.324313)
quake.2013p616756,2013p616756,2013-08-17T04:47:45.627,177.2495,-39.3338,21.8164,2.6783,M,automatic,40,,WEL(GNS_Primary),2013-08-17T04:51:13.579,POINT (177.2495 -39.333761)
quake.2013p616749,2013p616749,2013-08-17T04:44:29.426,175.4952,-39.617,21.6406,2.4971,M,automatic,13,,WEL(GNS_Primary),2013-08-17T04:46:53.184,POINT (175.4952 -39.617038)
quake.2013p616748,2013p616748,2013-08-17T04:43:46.568,174.0906,-41.753,19.4141,3.3436,M,automatic,62,,WEL(GNS_Primary),2013-08-17T04:47:28.813,POINT (174.09058 -41.753011)
quake.2013p616746,2013p616746,2013-08-17T04:42:35.027,174.0094,-41.7381,6.0547,2.2424,M,automatic,13,,WEL(GNS_Primary),2013-08-17T04:44:34.528,POINT (174.00937 -41.738115)
quake.2013p616738,2013p616738,2013-08-17T04:38:18.077,173.9957,-41.7773,6.6406,2.8293,M,automatic,30,,WEL(GNS_Primary),2013-08-17T04:41:44.397,POINT (173.99566 -41.777339)
quake.2013p616729,2013p616729,2013-08-17T04:33:20.212,174.119,-41.708,5.1172,3.0947,M,automatic,46,,WEL(GNS_Primary),2013-08-17T04:36:14.328,POINT (174.11901 -41.707965)
quake.2013p616722,2013p616722,2013-08-17T04:29:43.293,174.1895,-41.6706,15.3711,3.4474,M,automatic,63,,WEL(GNS_Primary),2013-08-17T04:34:23.565,POINT (174.18947 -41.67062)
quake.2013p616712,2013p616712,2013-08-17T04:24:21.261,173.9993,-41.7735,7.4023,2.8661,M,automatic,28,,WEL(GNS_Primary),2013-08-17T04:27:50.821,POINT (173.99934 -41.773484)
quake.2013p616705,2013p616705,2013-08-17T04:20:46.48,174.1482,-41.6886,5.0586,2.5155,M,automatic,21,,WEL(GNS_Primary),2013-08-17T04:22:44.156,POINT (174.14818 -41.688593)
quake.2013p616702,2013p616702,2013-08-17T04:19:16.959,173.934,-41.6954,25.3906,2.303,M,automatic,11,,WEL(GNS_Primary),2013-08-17T04:21:04.168,POINT (173.934 -41.695442)
quake.2013p616691,2013p616691,2013-08-17T04:13:20.905,173.9923,-41.7793,19.6484,5.0356,M,reviewed,53,,WEL(GNS_Primary),2013-08-17T04:28:36.198,POINT (173.99226 -41.779325)
quake.2013p616687,2013p616687,2013-08-17T04:11:01.735,174.0673,-41.7692,12.4414,4.77,M,reviewed,69,,WEL(GNS_Primary),2013-08-17T04:45:59.84,POINT (174.06726 -41.76922)
quake.2013p616685,2013p616685,2013-08-17T04:09:59.879,174.4584,-41.509,10.3906,2.1341,M,automatic,16,,WEL(GNS_Primary),2013-08-17T04:11:43.367,POINT (174.45844 -41.508997)
quake.2013p616683,2013p616683,2013-08-17T04:09:00.933,174.2336,-41.6129,5.1172,2.133,M,automatic,11,,WEL(GNS_Primary),2013-08-17T04:10:36.279,POINT (174.23357 -41.612899)
quake.2013p616680,2013p616680,2013-08-17T04:07:28.953,174.2114,-41.6168,5.2344,2.0298,M,automatic,14,,WEL(GNS_Primary),2013-08-17T04:09:23.056,POINT (174.21138 -41.616835)
quake.2013p616661,2013p616661,2013-08-17T03:57:01.845,174.2759,-41.629,5.0586,3.7505,M,automatic,79,,WEL(GNS_Primary),2013-08-17T04:01:10.789,POINT (174.27593 -41.628951)
quake.2013p616657,2013p616657,2013-08-17T03:55:15.417,174.4054,-41.5454,9.8047,3.4389,M,automatic,72,,WEL(GNS_Primary),2013-08-17T03:58:56.312,POINT (174.40539 -41.545386)
quake.2013p616650,2013p616650,2013-08-17T03:51:17.406,174.8578,-40.254,61.7188,3.0193,M,automatic,26,,WEL(GNS_Primary),2013-08-17T03:54:26.836,POINT (174.85779 -40.254037)
quake.2013p616649,2013p616649,2013-08-17T03:50:47.32,174.1654,-41.6203,5.0586,3.5331,M,automatic,55,,WEL(GNS_Primary),2013-08-17T03:54:36.197,POINT (174.16536 -41.620278)
quake.2013p616640,2013p616640,2013-08-17T03:46:19.187,174.2757,-41.6621,6.1719,2.2966,M,automatic,25,,WEL(GNS_Primary),2013-08-17T03:48:34.745,POINT (174.27566 -41.662099)
quake.2013p616634,2013p616634,2013-08-17T03:42:50.367,174.1191,-41.6971,5.1172,2.3677,M,automatic,19,,WEL(GNS_Primary),2013-08-17T03:44:45.281,POINT (174.1191 -41.697123)
quake.2013p616630,2013p616630,2013-08-17T03:40:43.985,176.4549,-39.7765,5.1172,2.2239,M,automatic,23,,WEL(GNS_Primary),2013-08-17T03:42:19.786,POINT (176.45491 -39.776501)
quake.2013p616628,2013p616628,2013-08-17T03:39:25.621,174.1716,-41.7078,5.1172,2.2576,M,automatic,14,,WEL(GNS_Primary),2013-08-17T03:41:21.669,POINT (174.17155 -41.707839)
quake.2013p616620,2013p616620,2013-08-17T03:35:29.576,173.9383,-41.7377,7.2266,2.1446,M,automatic,13,,WEL(GNS_Primary),2013-08-17T03:37:36.723,POINT (173.93833 -41.737699)
quake.2013p616615,2013p616615,2013-08-17T03:32:43.831,174.2297,-41.6439,5.0586,2.2258,M,automatic,14,,WEL(GNS_Primary),2013-08-17T03:34:34.02,POINT (174.22974 -41.643859)
quake.2013p616608,2013p616608,2013-08-17T03:29:00.992,172.6124,-43.663,24.5703,2.6053,M,automatic,12,,WEL(GNS_Primary),2013-08-17T03:31:26.185,POINT (172.61236 -43.662957)
quake.2013p616595,2013p616595,2013-08-17T03:22:18.079,174.2414,-41.6015,11.2109,1.9535,M,automatic,16,,WEL(GNS_Primary),2013-08-17T03:24:02.496,POINT (174.24144 -41.601453)
quake.2013p616593,2013p616593,2013-08-17T03:20:59.179,174.1715,-41.5227,27.3828,1.9556,M,automatic,14,,WEL(GNS_Primary),2013-08-17T03:22:46.945,POINT (174.17147 -41.522652)
quake.2013p616589,2013p616589,2013-08-17T03:18:57.497,174.1969,-41.6936,11.4453,2.0683,M,automatic,14,,WEL(GNS_Primary),2013-08-17T03:20:51.373,POINT (174.19686 -41.693567)
quake.2013p616587,2013p616587,2013-08-17T03:17:38.193,174.3253,-41.5555,8.3984,2.0807,M,automatic,14,,WEL(GNS_Primary),2013-08-17T03:19:47.408,POINT (174.32531 -41.555541)
quake.2013p616582,2013p616582,2013-08-17T03:15:26.558,174.1534,-41.7674,12.6172,2.9972,M,automatic,46,,WEL(GNS_Primary),2013-08-17T03:19:05.155,POINT (174.15336 -41.767366)
quake.2013p616578,2013p616578,2013-08-17T03:13:00.943,174.0442,-41.7325,5.1172,2.3035,M,automatic,17,,WEL(GNS_Primary),2013-08-17T03:15:05.895,POINT (174.04423 -41.732464)
quake.2013p616574,2013p616574,2013-08-17T03:10:57.779,174.2337,-41.6538,5.1172,2.4785,M,automatic,26,,WEL(GNS_Primary),2013-08-17T03:14:40.728,POINT (174.23367 -41.653775)
quake.2013p616568,2013p616568,2013-08-17T03:07:41.854,174.194,-41.6509,8.3984,2.4459,M,automatic,22,,WEL(GNS_Primary),2013-08-17T03:09:42.314,POINT (174.19396 -41.65094)
quake.2013p616560,2013p616560,2013-08-17T03:03:48.593,174.2488,-41.5414,14.668,2.4882,M,automatic,23,,WEL(GNS_Primary),2013-08-17T03:06:29.366,POINT (174.2488 -41.541403)
quake.2013p616554,2013p616554,2013-08-17T03:00:23.506,174.8519,-40.3856,6.875,2.9551,M,automatic,14,,WEL(GNS_Primary),2013-08-17T03:03:38.239,POINT (174.85187 -40.385619)
quake.2013p616553,2013p616553,2013-08-17T03:00:02.413,173.747,-41.7458,23.2812,3.7045,M,automatic,26,,WEL(GNS_Primary),2013-08-17T03:03:38.24,POINT (173.74695 -41.745848)
quake.2013p616547,2013p616547,2013-08-17T02:56:41.667,174.0767,-41.6709,19.4141,2.4269,M,automatic,21,,WEL(GNS_Primary),2013-08-17T03:00:19.084,POINT (174.07673 -41.670853)
quake.2013p616534,2013p616534,2013-08-17T02:49:54.781,173.9118,-41.7492,5.0586,3.1205,M,automatic,33,,WEL(GNS_Primary),2013-08-17T02:54:12.473,POINT (173.91183 -41.749227)
quake.2013p616528,2013p616528,2013-08-17T02:46:45.753,176.4336,-39.0521,19.2969,2.5591,M,automatic,11,,WEL(GNS_Primary),2013-08-17T02:48:47.91,POINT (176.43364 -39.052083)
quake.2013p616527,2013p616527,2013-08-17T02:45:47.76,173.9241,-41.7398,6.7578,4.088,M,reviewed,35,,WEL(GNS_Primary),2013-08-17T03:13:28.645,POINT (173.9241 -41.739784)
quake.2013p616518,2013p616518,2013-08-17T02:41:21.26,177.7291,-36.7002,205.625,2.9356,M,automatic,21,,WEL(GNS_Primary),2013-08-17T02:44:48.309,POINT (177.72911 -36.700184)
quake.2013p616515,2013p616515,2013-08-17T02:39:15.104,174.2484,-41.6167,5.1172,2.1081,M,automatic,12,,WEL(GNS_Primary),2013-08-17T02:41:02.848,POINT (174.24843 -41.616673)
quake.2013p616512,2013p616512,2013-08-17T02:37:49.572,176.8019,-39.732,35.8203,2.0425,M,automatic,17,,WEL(GNS_Primary),2013-08-17T02:39:29.823,POINT (176.80187 -39.731983)
quake.2013p616502,2013p616502,2013-08-17T02:32:24.093,174.225,-41.6293,21.2891,2.4783,M,automatic,27,,WEL(GNS_Primary),2013-08-17T02:34:29.743,POINT (174.22495 -41.629329)
quake.2013p616495,2013p616495,2013-08-17T02:28:51.633,174.1578,-41.6449,5.1172,2.4192,M,automatic,10,,WEL(GNS_Primary),2013-08-17T02:31:05.875,POINT (174.15782 -41.644873)
quake.2013p616491,2013p616491,2013-08-17T02:27:28.76,174.1008,-41.6851,5.0586,3.2926,M,automatic,31,,WEL(GNS_Primary),2013-08-17T02:31:45.725,POINT (174.10083 -41.685117)
quake.2013p616486,2013p616486,2013-08-17T02:23:45.587,174.2713,-41.6499,5.5859,3.6288,M,automatic,68,,WEL(GNS_Primary),2013-08-17T02:27:42.654,POINT (174.27129 -41.649876)
quake.2013p616474,2013p616474,2013-08-17T02:17:47.847,173.3731,-40.8487,48.125,2.8905,M,automatic,11,,WEL(GNS_Primary),2013-08-17T02:20:49.12,POINT (173.3731 -40.848668)
quake.2013p616469,2013p616469,2013-08-17T02:15:04.931,174.1962,-41.636,16.3672,3.1914,M,automatic,60,,WEL(GNS_Primary),2013-08-17T02:19:58.573,POINT (174.19619 -41.635991)
quake.2013p616467,2013p616467,2013-08-17T02:13:53.586,174.1612,-41.6633,5.1172,2.4863,M,automatic,12,,WEL(GNS_Primary),2013-08-17T02:15:43.497,POINT (174.16123 -41.663325)
quake.2013p616457,2013p616457,2013-08-17T02:08:22.58,174.3088,-41.7302,20.8203,3.4017,M,automatic,70,,WEL(GNS_Primary),2013-08-17T02:11:59.911,POINT (174.30884 -41.73022)
quake.2013p616449,2013p616449,2013-08-17T02:04:05.665,174.2738,-41.6072,5.4102,2.9018,M,automatic,30,,WEL(GNS_Primary),2013-08-17T02:11:36.574,POINT (174.27375 -41.607199)
quake.2013p616443,2013p616443,2013-08-17T02:01:05.033,174.1391,-41.7388,11.7383,4.067,M,reviewed,35,,WEL(GNS_Primary),2013-08-17T03:07:12.114,POINT (174.1391 -41.738794)
quake.2013p616440,2013p616440,2013-08-17T01:59:34.099,174.3175,-41.7029,7.6953,2.2164,M,automatic,16,,WEL(GNS_Primary),2013-08-17T02:02:09.158,POINT (174.3175 -41.702948)
quake.2013p616437,2013p616437,2013-08-17T01:58:01.843,174.1771,-41.7222,5.1172,2.7436,M,automatic,32,,WEL(GNS_Primary),2013-08-17T02:01:10.324,POINT (174.17713 -41.722184)
quake.2013p616432,2013p616432,2013-08-17T01:55:09.203,174.2381,-41.6654,19.9414,3.3074,M,automatic,59,,WEL(GNS_Primary),2013-08-17T01:58:50.283,POINT (174.23812 -41.665376)
quake.2013p616427,2013p616427,2013-08-17T01:52:37.555,174.2254,-41.616,8.3984,2.3417,M,automatic,18,,WEL(GNS_Primary),2013-08-17T01:58:29.78,POINT (174.22539 -41.615996)
quake.2013p616417,2013p616417,2013-08-17T01:47:02.143,174.2338,-41.5804,19.1797,2.7159,M,automatic,26,,WEL(GNS_Primary),2013-08-17T01:49:03.416,POINT (174.23377 -41.580374)
quake.2013p616404,2013p616404,2013-08-17T01:40:33.105,174.2362,-41.6472,18.0078,2.6122,M,automatic,32,,WEL(GNS_Primary),2013-08-17T01:45:44.141,POINT (174.23619 -41.647176)
quake.2013p616395,2013p616395,2013-08-17T01:35:18.83,174.1629,-41.6834,5.1172,2.3399,M,automatic,15,,WEL(GNS_Primary),2013-08-17T01:38:04.014,POINT (174.16286 -41.683393)
quake.2013p616387,2013p616387,2013-08-17T01:31:23.328,176.2836,-38.9358,92.8906,2.5818,M,automatic,59,,WEL(GNS_Primary),2013-08-17T02:00:55.149,POINT (176.28364 -38.935826)
quake.2013p616375,2013p616375,2013-08-17T01:24:36.197,174.1231,-41.7323,21.5234,2.9332,M,automatic,46,,WEL(GNS_Primary),2013-08-17T01:28:14.049,POINT (174.12308 -41.732276)
quake.2013p616372,2013p616372,2013-08-17T01:23:26.674,174.1893,-41.4752,16.7188,2.0835,M,automatic,15,,WEL(GNS_Primary),2013-08-17T01:25:20.545,POINT (174.18932 -41.475213)
quake.2013p616368,2013p616368,2013-08-17T01:20:54.745,174.011,-41.7473,7.6953,2.5111,M,automatic,23,,WEL(GNS_Primary),2013-08-17T01:23:50.151,POINT (174.01105 -41.747341)
quake.2013p616363,2013p616363,2013-08-17T01:18:30.882,174.3046,-41.665,11.2109,2.9612,M,automatic,37,,WEL(GNS_Primary),2013-08-17T01:20:51.763,POINT (174.30456 -41.665033)
quake.2013p616360,2013p616360,2013-08-17T01:16:34.573,173.7693,-41.9593,36.1719,2.274,M,automatic,11,,WEL(GNS_Primary),2013-08-17T01:18:44.258,POINT (173.76931 -41.959255)
quake.2013p616356,2013p616356,2013-08-17T01:14:47.7,167.8506,-44.6432,5.1172,2.9316,M,automatic,13,,WEL(GNS_Primary),2013-08-17T01:17:55.519,POINT (167.85058 -44.643207)
quake.2013p616355,2013p616355,2013-08-17T01:14:39.264,174.3121,-41.5827,10.0391,2.2927,M,automatic,18,,WEL(GNS_Primary),2013-08-17T01:18:14.615,POINT (174.31206 -41.582677)
quake.2013p616352,2013p616352,2013-08-17T01:12:33.619,173.7771,-41.7509,35.2344,2.3849,M,automatic,18,,WEL(GNS_Primary),2013-08-17T01:15:35.695,POINT (173.77707 -41.750904)
quake.2013p616348,2013p616348,2013-08-17T01:10:23.961,174.148,-41.5717,5.0293,2.1878,M,automatic,12,,WEL(GNS_Primary),2013-08-17T01:12:20.395,POINT (174.14795 -41.571697)
quake.2013p616341,2013p616341,2013-08-17T01:06:28.084,176.7644,-39.0701,5.8203,2.6584,M,automatic,48,,WEL(GNS_Primary),2013-08-17T01:52:38.654,POINT (176.76438 -39.070088)
quake.2013p616338,2013p616338,2013-08-17T01:06:11.786,174.2896,-41.7142,20.7031,3.5297,M,automatic,54,,WEL(GNS_Primary),2013-08-17T01:10:00.412,POINT (174.28957 -41.714223)
quake.2013p616328,2013p616328,2013-08-17T01:00:02.81,174.2832,-41.6844,12.6172,3.0214,M,automatic,43,,WEL(GNS_Primary),2013-08-17T01:02:47.995,POINT (174.28316 -41.684424)
quake.2013p616319,2013p616319,2013-08-17T00:54:59.964,175.5725,-40.8909,23.457,1.6053,M,automatic,12,,WEL(GNS_Primary),2013-08-17T00:56:34.448,POINT (175.57246 -40.890917)
quake.2013p616309,2013p616309,2013-08-17T00:49:27.38,174.081,-41.7246,5.0586,2.4762,M,automatic,23,,WEL(GNS_Primary),2013-08-17T00:51:39.984,POINT (174.08097 -41.724575)
quake.2013p616299,2013p616299,2013-08-17T00:44:29.777,174.0014,-41.6486,20.8203,2.0515,M,automatic,11,,WEL(GNS_Primary),2013-08-17T00:46:12.247,POINT (174.00137 -41.648618)
quake.2013p616272,2013p616272,2013-08-17T00:30:06.87,176.2891,-40.8291,24.1016,1.892,M,automatic,10,,WEL(GNS_Primary),2013-08-17T00:31:35.33,POINT (176.28908 -40.829071)
quake.2013p616263,2013p616263,2013-08-17T00:25:12.822,174.1392,-41.743,11.8555,4.0894,M,reviewed,42,,WEL(GNS_Primary),2013-08-17T03:18:43.486,POINT (174.13924 -41.742969)
quake.2013p616258,2013p616258,2013-08-17T00:22:48.012,174.1218,-41.6688,8.3984,2.8907,M,automatic,27,,WEL(GNS_Primary),2013-08-17T00:25:28.14,POINT (174.12181 -41.668841)
quake.2013p616255,2013p616255,2013-08-17T00:20:39.368,174.153,-41.5125,6.875,3.6043,M,automatic,22,,WEL(GNS_Primary),2013-08-17T00:24:14.916,POINT (174.15296 -41.512514)
quake.2013p616253,2013p616253,2013-08-17T00:20:29.146,174.1354,-41.7174,5.0586,3.3357,M,automatic,49,,WEL(GNS_Primary),2013-08-17T00:24:04.946,POINT (174.13536 -41.717412)
quake.2013p616229,2013p616229,2013-08-17T00:07:18.243,174.0881,-41.7235,7.7539,2.8949,M,automatic,45,,WEL(GNS_Primary),2013-08-17T00:10:10.84,POINT (174.08808 -41.723532)
quake.2013p616224,2013p616224,2013-08-17T00:04:21.889,174.239,-41.5864,5.1172,2.208,M,automatic,14,,WEL(GNS_Primary),2013-08-17T00:06:01.023,POINT (174.23905 -41.586368)
quake.2013p616221,2013p616221,2013-08-17T00:02:55.37,173.8086,-41.5683,36.6406,2.2288,M,automatic,11,,WEL(GNS_Primary),2013-08-17T00:05:03.767,POINT (173.80855 -41.568281)
quake.2013p616218,2013p616218,2013-08-17T00:01:06.614,174.1088,-41.5709,19.4141,2.2126,M,automatic,13,,WEL(GNS_Primary),2013-08-17T00:03:05.415,POINT (174.10877 -41.570857)
quake.2013p616208,2013p616208,2013-08-16T23:56:02.468,174.4327,-41.4211,7.4609,2.1403,M,automatic,14,,WEL(GNS_Primary),2013-08-16T23:57:47.696,POINT (174.4327 -41.42108)
quake.2013p616205,2013p616205,2013-08-16T23:54:17.571,174.0829,-41.7115,9.4531,2.7566,M,automatic,32,,WEL(GNS_Primary),2013-08-16T23:57:42.148,POINT (174.08294 -41.711494)
quake.2013p616191,2013p616191,2013-08-16T23:46:42.851,174.2766,-41.5933,10.0391,2.5643,M,automatic,25,,WEL(GNS_Primary),2013-08-16T23:48:41.687,POINT (174.27657 -41.593311)
quake.2013p616184,2013p616184,2013-08-16T23:43:11.742,174.092,-41.6313,21.7578,2.5382,M,automatic,22,,WEL(GNS_Primary),2013-08-16T23:45:22.915,POINT (174.09196 -41.631259)
quake.2013p616175,2013p616175,2013-08-16T23:39:01.049,174.0852,-41.7326,5.0586,3.0703,M,automatic,35,,WEL(GNS_Primary),2013-08-16T23:43:05.879,POINT (174.08516 -41.732623)
quake.2013p616172,2013p616172,2013-08-16T23:36:46.074,174.0227,-41.7519,9.5703,1.9833,M,automatic,13,,WEL(GNS_Primary),2013-08-16T23:38:59.485,POINT (174.02273 -41.751855)
quake.2013p616166,2013p616166,2013-08-16T23:33:34.245,174.121,-41.7412,5.0586,2.8821,M,automatic,29,,WEL(GNS_Primary),2013-08-16T23:35:51.287,POINT (174.12096 -41.741181)
quake.2013p616158,2013p616158,2013-08-16T23:29:36.499,174.2583,-41.6336,9.5703,2.8287,M,automatic,22,,WEL(GNS_Primary),2013-08-16T23:31:51.274,POINT (174.25826 -41.633645)
quake.2013p616132,2013p616132,2013-08-16T23:15:31.198,174.1949,-41.6651,5.1172,2.3359,M,automatic,17,,WEL(GNS_Primary),2013-08-16T23:17:31.963,POINT (174.19492 -41.665149)
quake.2013p616125,2013p616125,2013-08-16T23:11:38.025,174.1785,-41.6665,8.457,2.7158,M,automatic,34,,WEL(GNS_Primary),2013-08-16T23:14:30.886,POINT (174.1785 -41.666544)
quake.2013p616095,2013p616095,2013-08-16T22:55:34.1,174.284,-41.5952,13.3203,2.5199,M,automatic,16,,WEL(GNS_Primary),2013-08-16T22:57:34.692,POINT (174.284 -41.595197)
quake.2013p616090,2013p616090,2013-08-16T22:53:07.214,173.9976,-41.5822,22.1094,1.867,M,automatic,11,,WEL(GNS_Primary),2013-08-16T22:55:14.915,POINT (173.99759 -41.582185)
quake.2013p616085,2013p616085,2013-08-16T22:50:21.529,174.0738,-41.7256,5.0586,3.1346,M,automatic,23,,WEL(GNS_Primary),2013-08-16T22:53:32.82,POINT (174.07385 -41.725618)
quake.2013p616082,2013p616082,2013-08-16T22:49:15.543,176.1102,-39.0747,9.2188,2.4017,M,automatic,12,,WEL(GNS_Primary),2013-08-16T22:51:47.634,POINT (176.11019 -39.074719)
quake.2013p616081,2013p616081,2013-08-16T22:48:20.415,174.0847,-41.7664,12.5586,3.7807,M,automatic,73,,WEL(GNS_Primary),2013-08-16T22:52:21.839,POINT (174.08469 -41.766394)
quake.2013p616070,2013p616070,2013-08-16T22:42:17.885,173.9892,-41.7993,13.0859,3.1333,M,automatic,50,,WEL(GNS_Primary),2013-08-16T22:46:20.895,POINT (173.98922 -41.799257)
quake.2013p616066,2013p616066,2013-08-16T22:40:24.031,174.1405,-41.6369,15.8984,2.5299,M,automatic,22,,WEL(GNS_Primary),2013-08-16T22:42:28.897,POINT (174.1405 -41.636857)
quake.2013p616057,2013p616057,2013-08-16T22:35:27.668,174.278,-41.584,14.1992,3.332,M,automatic,50,,WEL(GNS_Primary),2013-08-16T22:38:56.489,POINT (174.27795 -41.583967)
quake.2013p616052,2013p616052,2013-08-16T22:32:56.846,174.0737,-41.7317,6.9922,3.0486,M,automatic,38,,WEL(GNS_Primary),2013-08-16T22:36:15.632,POINT (174.07371 -41.731661)
quake.2013p616050,2013p616050,2013-08-16T22:31:32.143,174.1458,-41.6681,13.6133,2.7046,M,automatic,34,,WEL(GNS_Primary),2013-08-16T22:35:17.473,POINT (174.14585 -41.668087)
quake.2013p616046,2013p616046,2013-08-16T22:29:49.609,174.2717,-41.6053,8.0469,2.5064,M,automatic,23,,WEL(GNS_Primary),2013-08-16T22:32:12.625,POINT (174.27172 -41.605263)
quake.2013p616044,2013p616044,2013-08-16T22:28:23.878,174.2785,-41.6638,9.9219,2.21,M,automatic,19,,WEL(GNS_Primary),2013-08-16T22:30:25.226,POINT (174.27848 -41.66385)
quake.2013p616035,2013p616035,2013-08-16T22:23:57.969,175.3693,-39.2801,9.8047,2.6175,M,automatic,12,,WEL(GNS_Primary),2013-08-16T22:26:39.685,POINT (175.36934 -39.280145)
quake.2013p616034,2013p616034,2013-08-16T22:23:11.295,174.2528,-41.6493,20.1172,4.2041,M,reviewed,35,,WEL(GNS_Primary),2013-08-16T23:01:30.858,POINT (174.25285 -41.649334)
quake.2013p616030,2013p616030,2013-08-16T22:21:55.568,174.1694,-41.7637,10.5078,4.255,M,reviewed,32,,WEL(GNS_Primary),2013-08-16T23:02:49.611,POINT (174.16938 -41.763665)
quake.2013p616020,2013p616020,2013-08-16T22:15:57.117,174.1557,-41.649,16.6016,2.6471,M,automatic,30,,WEL(GNS_Primary),2013-08-16T22:18:51.137,POINT (174.15566 -41.648981)
quake.2013p616012,2013p616012,2013-08-16T22:11:35.768,174.191,-41.6709,5.1172,3.0214,M,automatic,31,,WEL(GNS_Primary),2013-08-16T22:13:44.321,POINT (174.19098 -41.670873)
quake.2013p616009,2013p616009,2013-08-16T22:09:57.872,174.1864,-41.7014,5.0586,2.5952,M,automatic,21,,WEL(GNS_Primary),2013-08-16T22:13:57.282,POINT (174.18642 -41.701394)
quake.2013p616006,2013p616006,2013-08-16T22:08:22.678,174.1644,-41.6421,41.3281,1.775,M,automatic,10,,WEL(GNS_Primary),2013-08-16T22:09:47.955,POINT (174.1644 -41.642147)
quake.2013p615995,2013p615995,2013-08-16T22:01:42.86,172.2277,-42.4911,173.75,2.9939,M,automatic,12,,WEL(GNS_Primary),2013-08-16T22:03:45.151,POINT (172.22767 -42.491056)
quake.2013p615990,2013p615990,2013-08-16T21:59:41.315,174.2762,-41.5332,12.3828,1.9171,M,automatic,10,,WEL(GNS_Primary),2013-08-16T22:01:07.561,POINT (174.2762 -41.533243)
quake.2013p615987,2013p615987,2013-08-16T21:58:00.881,174.1783,-41.5596,19.4141,2.3405,M,automatic,21,,WEL(GNS_Primary),2013-08-16T21:59:53.775,POINT (174.17829 -41.559556)
quake.2013p615979,2013p615979,2013-08-16T21:53:48.731,174.3049,-41.5891,9.3359,2.9701,M,automatic,37,,WEL(GNS_Primary),2013-08-16T21:56:48.289,POINT (174.30494 -41.58914)
quake.2013p615978,2013p615978,2013-08-16T21:53:22.744,174.1545,-41.6565,15.4297,2.952,M,automatic,15,,WEL(GNS_Primary),2013-08-16T21:56:14.479,POINT (174.15454 -41.656455)
quake.2013p615975,2013p615975,2013-08-16T21:51:33.341,174.015,-41.5998,11.2109,2.1757,M,automatic,15,,WEL(GNS_Primary),2013-08-16T21:53:39.559,POINT (174.01496 -41.599798)
quake.2013p615961,2013p615961,2013-08-16T21:44:51.35,174.2173,-41.681,5.293,2.7204,M,automatic,23,,WEL(GNS_Primary),2013-08-16T21:46:57.519,POINT (174.21726 -41.681029)
quake.2013p615954,2013p615954,2013-08-16T21:40:24.529,174.0688,-41.8458,5.1172,3.7652,M,automatic,82,,WEL(GNS_Primary),2013-08-16T21:44:17.661,POINT (174.06881 -41.845803)
quake.2013p615948,2013p615948,2013-08-16T21:37:31.715,174.1101,-41.7467,5.0586,2.8139,M,automatic,12,,WEL(GNS_Primary),2013-08-16T21:39:58.968,POINT (174.11008 -41.746701)
quake.2013p615945,2013p615945,2013-08-16T21:36:36.801,174.4136,-41.5417,5.0586,2.8253,M,automatic,31,,WEL(GNS_Primary),2013-08-16T21:38:45.947,POINT (174.41364 -41.541667)
quake.2013p615943,2013p615943,2013-08-16T21:34:39.987,174.0304,-41.7423,7.5195,2.3211,M,automatic,13,,WEL(GNS_Primary),2013-08-16T21:36:37.987,POINT (174.03037 -41.742277)
quake.2013p615935,2013p615935,2013-08-16T21:30:29.947,174.0037,-41.7598,5.0586,2.4538,M,automatic,23,,WEL(GNS_Primary),2013-08-16T21:32:52.927,POINT (174.00374 -41.759848)
quake.2013p615933,2013p615933,2013-08-16T21:29:14.669,174.0155,-41.6874,22.2266,2.3689,M,automatic,18,,WEL(GNS_Primary),2013-08-16T21:32:12.365,POINT (174.01554 -41.687408)
quake.2013p615931,2013p615931,2013-08-16T21:28:18.734,176.2397,-40.5863,16.9531,1.9029,M,automatic,11,,WEL(GNS_Primary),2013-08-16T21:29:54.321,POINT (176.23972 -40.586334)
quake.2013p615928,2013p615928,2013-08-16T21:26:54.173,174.227,-41.6361,5.1172,2.1265,M,automatic,10,,WEL(GNS_Primary),2013-08-16T21:28:31.691,POINT (174.22704 -41.636064)
quake.2013p615920,2013p615920,2013-08-16T21:22:09.351,173.6512,-40.63,78.125,3.4262,M,automatic,13,,WEL(GNS_Primary),2013-08-16T21:25:15.646,POINT (173.65115 -40.629992)
quake.2013p615916,2013p615916,2013-08-16T21:20:39.004,174.2815,-41.6018,11.9141,4.0024,M,reviewed,44,,WEL(GNS_Primary),2013-08-17T03:24:04.88,POINT (174.28149 -41.601796)
quake.2013p615914,2013p615914,2013-08-16T21:19:00.958,174.1616,-41.6091,5.1172,2.5079,M,automatic,22,,WEL(GNS_Primary),2013-08-16T21:21:19.108,POINT (174.16163 -41.609116)
quake.2013p615909,2013p615909,2013-08-16T21:16:42.427,174.1222,-41.7229,5.0586,1.9968,M,automatic,11,,WEL(GNS_Primary),2013-08-16T21:18:26.24,POINT (174.12217 -41.722865)
quake.2013p615905,2013p615905,2013-08-16T21:14:39.374,174.2625,-41.6261,5.0586,2.343,M,automatic,16,,WEL(GNS_Primary),2013-08-16T21:17:03.286,POINT (174.26247 -41.626053)
quake.2013p615893,2013p615893,2013-08-16T21:08:02.766,174.8408,-40.1134,29.8438,3.6526,M,automatic,115,,WEL(GNS_Primary),2013-08-16T21:16:05.362,POINT (174.84079 -40.113426)
quake.2013p615890,2013p615890,2013-08-16T21:06:15.297,174.1365,-41.6534,10.9766,2.4664,M,automatic,21,,WEL(GNS_Primary),2013-08-16T21:08:27.079,POINT (174.13647 -41.653422)
quake.2013p615887,2013p615887,2013-08-16T21:04:38.35,174.0583,-41.6703,19.8828,2.4358,M,automatic,15,,WEL(GNS_Primary),2013-08-16T21:06:49.209,POINT (174.05828 -41.670311)
quake.2013p615883,2013p615883,2013-08-16T21:02:56.785,174.2973,-41.704,18.7109,2.9521,M,automatic,36,,WEL(GNS_Primary),2013-08-16T21:06:35.397,POINT (174.29726 -41.704022)
quake.2013p615880,2013p615880,2013-08-16T21:00:57.846,174.0052,-41.7655,6.7578,2.2899,M,automatic,10,,WEL(GNS_Primary),2013-08-16T21:02:31.272,POINT (174.00519 -41.765522)
quake.2013p615872,2013p615872,2013-08-16T20:57:57.231,174.2627,-41.6867,9.4531,3.1524,M,automatic,40,,WEL(GNS_Primary),2013-08-16T21:01:07.221,POINT (174.26274 -41.686744)
quake.2013p615860,2013p615860,2013-08-16T20:50:31.511,174.3058,-41.604,5.0586,2.6912,M,automatic,25,,WEL(GNS_Primary),2013-08-16T20:52:31.236,POINT (174.30584 -41.603972)
quake.2013p615857,2013p615857,2013-08-16T20:49:06.954,174.1633,-41.6905,5.2344,1.9478,M,automatic,13,,WEL(GNS_Primary),2013-08-16T20:50:52.195,POINT (174.16334 -41.690498)
quake.2013p615853,2013p615853,2013-08-16T20:46:57.403,174.0931,-41.7055,7.4609,2.6753,M,automatic,31,,WEL(GNS_Primary),2013-08-16T20:50:07.219,POINT (174.09311 -41.705536)
quake.2013p615846,2013p615846,2013-08-16T20:43:11.515,174.2233,-41.6453,5.0586,2.5398,M,automatic,20,,WEL(GNS_Primary),2013-08-16T20:45:09.97,POINT (174.22334 -41.645339)
quake.2013p615844,2013p615844,2013-08-16T20:41:45.021,174.2637,-41.5554,5.1172,1.9336,M,automatic,11,,WEL(GNS_Primary),2013-08-16T20:43:22.177,POINT (174.26368 -41.555396)
quake.2013p615840,2013p615840,2013-08-16T20:40:00.507,174.0205,-41.7259,6.2891,2.4373,M,automatic,18,,WEL(GNS_Primary),2013-08-16T20:43:23.887,POINT (174.02049 -41.725928)
quake.2013p615823,2013p615823,2013-08-16T20:31:14.56,174.1518,-41.5921,15.6641,3.0784,M,automatic,47,,WEL(GNS_Primary),2013-08-16T20:35:00.283,POINT (174.15183 -41.592144)
quake.2013p615814,2013p615814,2013-08-16T20:26:09.993,173.9631,-41.6767,23.3984,2.257,M,automatic,13,,WEL(GNS_Primary),2013-08-16T20:28:21.542,POINT (173.96312 -41.676692)
quake.2013p615803,2013p615803,2013-08-16T20:20:18.566,174.2822,-41.6546,12.793,3.1676,M,automatic,45,,WEL(GNS_Primary),2013-08-16T20:23:48.356,POINT (174.28217 -41.654575)
quake.2013p615798,2013p615798,2013-08-16T20:17:24.706,174.3147,-41.617,8.6328,3.8982,M,automatic,81,,WEL(GNS_Primary),2013-08-16T20:21:27.462,POINT (174.31473 -41.616954)
quake.2013p615796,2013p615796,2013-08-16T20:16:23.77,174.2562,-41.6317,5.0586,3.7928,M,automatic,30,,WEL(GNS_Primary),2013-08-16T20:19:26.422,POINT (174.25623 -41.631708)
quake.2013p615790,2013p615790,2013-08-16T20:13:27.47,174.1055,-41.7568,15.1953,3.7395,M,automatic,73,,WEL(GNS_Primary),2013-08-16T20:18:09.11,POINT (174.10547 -41.756785)
quake.2013p615788,2013p615788,2013-08-16T20:12:07.839,174.2604,-41.6404,6.2891,2.564,M,automatic,22,,WEL(GNS_Primary),2013-08-16T20:15:43.329,POINT (174.26035 -41.640379)
quake.2013p615784,2013p615784,2013-08-16T20:09:59.657,174.308,-41.5944,5.293,3.1893,M,automatic,48,,WEL(GNS_Primary),2013-08-16T20:13:28.987,POINT (174.30802 -41.594444)
quake.2013p615780,2013p615780,2013-08-16T20:07:54.851,174.0849,-41.7243,7.6367,3.1115,M,automatic,51,,WEL(GNS_Primary),2013-08-16T20:11:19.348,POINT (174.08488 -41.724273)
quake.2013p615777,2013p615777,2013-08-16T20:06:08.349,174.1152,-41.7437,5.1172,2.4412,M,automatic,15,,WEL(GNS_Primary),2013-08-16T20:08:08.355,POINT (174.11517 -41.743722)
quake.2013p615773,2013p615773,2013-08-16T20:04:40.165,174.259,-41.5769,14.4922,2.448,M,automatic,22,,WEL(GNS_Primary),2013-08-16T20:06:48.693,POINT (174.25895 -41.576944)
quake.2013p615767,2013p615767,2013-08-16T20:00:44.473,174.2032,-41.5995,5.5859,2.5421,M,automatic,19,,WEL(GNS_Primary),2013-08-16T20:03:04.964,POINT (174.20317 -41.599493)
quake.2013p615753,2013p615753,2013-08-16T19:53:25.894,174.0719,-41.7285,5.0586,2.3545,M,automatic,20,,WEL(GNS_Primary),2013-08-16T19:55:38.052,POINT (174.07188 -41.728479)
quake.2013p615742,2013p615742,2013-08-16T19:47:32.377,174.0404,-41.7273,5.8203,2.2497,M,automatic,16,,WEL(GNS_Primary),2013-08-16T19:49:18.431,POINT (174.04037 -41.727346)
quake.2013p615737,2013p615737,2013-08-16T19:44:48.63,174.0996,-41.683,5.5273,2.6169,M,automatic,13,,WEL(GNS_Primary),2013-08-16T19:46:43.039,POINT (174.0996 -41.682995)
quake.2013p615733,2013p615733,2013-08-16T19:43:04.584,174.1573,-41.5765,40.5078,2.2883,M,automatic,12,,WEL(GNS_Primary),2013-08-16T19:44:32.349,POINT (174.15726 -41.576455)
quake.2013p615729,2013p615729,2013-08-16T19:40:44.72,174.2552,-41.6596,5.0586,2.6892,M,automatic,28,,WEL(GNS_Primary),2013-08-16T19:42:49.713,POINT (174.25518 -41.659621)
quake.2013p615727,2013p615727,2013-08-16T19:39:38.573,174.1964,-41.7382,5.2344,2.1576,M,automatic,10,,WEL(GNS_Primary),2013-08-16T19:41:17.172,POINT (174.19638 -41.738181)
quake.2013p615718,2013p615718,2013-08-16T19:34:39.61,174.1056,-41.7562,5.4102,2.254,M,automatic,11,,WEL(GNS_Primary),2013-08-16T19:36:51.263,POINT (174.10557 -41.756162)
quake.2013p615709,2013p615709,2013-08-16T19:29:58.52,175.1189,-39.4055,148.2031,2.5617,M,automatic,46,,WEL(GNS_Primary),2013-08-16T19:33:28.172,POINT (175.11891 -39.405522)
quake.2013p615695,2013p615695,2013-08-16T19:22:17.192,174.0318,-41.7432,5.0586,2.5318,M,automatic,33,,WEL(GNS_Primary),2013-08-16T20:34:58.672,POINT (174.03179 -41.743153)
quake.2013p615692,2013p615692,2013-08-16T19:20:52.184,174.0772,-41.7441,5.0586,2.0189,M,automatic,11,,WEL(GNS_Primary),2013-08-16T19:22:38.137,POINT (174.07725 -41.74407)
quake.2013p615687,2013p615687,2013-08-16T19:18:21.246,172.8329,-43.4606,23.1641,2.994,M,automatic,16,,WEL(GNS_Primary),2013-08-16T19:20:26.362,POINT (172.83293 -43.460566)
quake.2013p615685,2013p615685,2013-08-16T19:17:00.053,174.0748,-41.735,6.2891,2.9264,M,automatic,44,,WEL(GNS_Primary),2013-08-16T19:20:42.428,POINT (174.07475 -41.735029)
quake.2013p615681,2013p615681,2013-08-16T19:15:12.945,174.0713,-41.7274,5.1172,2.4997,M,automatic,22,,WEL(GNS_Primary),2013-08-16T19:17:51.407,POINT (174.07126 -41.727418)
quake.2013p615679,2013p615679,2013-08-16T19:13:49.151,174.1796,-41.7264,5.1172,2.5652,M,automatic,14,,WEL(GNS_Primary),2013-08-16T19:15:49.68,POINT (174.17959 -41.726427)
quake.2013p615674,2013p615674,2013-08-16T19:11:20.779,174.2864,-41.6103,5.1172,2.2886,M,automatic,19,,WEL(GNS_Primary),2013-08-16T19:13:16.027,POINT (174.2864 -41.610282)
quake.2013p615672,2013p615672,2013-08-16T19:10:09.79,174.4615,-41.6046,5.1172,2.4833,M,automatic,21,,WEL(GNS_Primary),2013-08-16T19:12:49.184,POINT (174.46154 -41.604588)
quake.2013p615667,2013p615667,2013-08-16T19:07:41.282,174.0655,-41.7756,14.7266,3.5685,M,automatic,69,,WEL(GNS_Primary),2013-08-16T19:11:15.702,POINT (174.06551 -41.775634)
quake.2013p615661,2013p615661,2013-08-16T19:04:33.096,174.3884,-41.5566,5.1172,2.1961,M,automatic,15,,WEL(GNS_Primary),2013-08-16T19:06:29.533,POINT (174.38835 -41.556562)
quake.2013p615640,2013p615640,2013-08-16T18:53:34.749,174.1687,-41.6339,19.7656,3.2474,M,automatic,41,,WEL(GNS_Primary),2013-08-16T18:57:06.979,POINT (174.16872 -41.633932)
quake.2013p615639,2013p615639,2013-08-16T18:52:57.374,175.8184,-39.3001,43.2031,2.9022,M,automatic,32,,WEL(GNS_Primary),2013-08-16T19:04:45.399,POINT (175.81839 -39.300056)
quake.2013p615630,2013p615630,2013-08-16T18:47:53.875,174.2625,-41.5737,17.0703,2.0512,M,automatic,15,,WEL(GNS_Primary),2013-08-16T18:49:43.704,POINT (174.26251 -41.573712)
quake.2013p615622,2013p615622,2013-08-16T18:43:44.504,174.2757,-41.6621,12.7344,2.6855,M,automatic,34,,WEL(GNS_Primary),2013-08-16T19:00:26.726,POINT (174.27566 -41.662099)
quake.2013p615618,2013p615618,2013-08-16T18:42:19.806,174.2299,-41.627,16.3672,1.9475,M,automatic,11,,WEL(GNS_Primary),2013-08-16T18:43:55.241,POINT (174.22993 -41.626973)
quake.2013p615615,2013p615615,2013-08-16T18:40:09.345,174.0124,-41.7693,5.293,2.2245,M,automatic,19,,WEL(GNS_Primary),2013-08-16T18:42:13.805,POINT (174.01235 -41.769278)
quake.2013p615612,2013p615612,2013-08-16T18:38:23.098,176.7585,-38.6724,57.6172,1.7918,M,automatic,19,,WEL(GNS_Primary),2013-08-16T18:40:49.606,POINT (176.75847 -38.672441)
quake.2013p615613,2013p615613,2013-08-16T18:38:19.946,174.0804,-41.6977,5.1172,2.1986,M,automatic,16,,WEL(GNS_Primary),2013-08-16T18:40:59.739,POINT (174.0804 -41.697655)
quake.2013p615607,2013p615607,2013-08-16T18:35:45.814,174.0496,-41.7276,8.6328,2.334,M,automatic,22,,WEL(GNS_Primary),2013-08-16T18:37:57.335,POINT (174.0496 -41.727617)
quake.2013p615603,2013p615603,2013-08-16T18:33:21.669,174.2952,-41.613,7.6953,2.4138,M,automatic,15,,WEL(GNS_Primary),2013-08-16T18:35:18.74,POINT (174.29525 -41.613045)
quake.2013p615593,2013p615593,2013-08-16T18:28:05.71,174.1807,-41.8428,45.5469,2.7395,M,automatic,19,,WEL(GNS_Primary),2013-08-16T18:30:18.502,POINT (174.18073 -41.842826)
quake.2013p615590,2013p615590,2013-08-16T18:26:29.418,174.1791,-41.6472,7.6953,2.4227,M,automatic,23,,WEL(GNS_Primary),2013-08-16T18:29:25.522,POINT (174.17908 -41.647167)
quake.2013p615585,2013p615585,2013-08-16T18:24:56.204,174.2864,-41.6259,7.168,2.4918,M,automatic,30,,WEL(GNS_Primary),2013-08-16T18:27:22.155,POINT (174.28641 -41.625922)
quake.2013p615579,2013p615579,2013-08-16T18:20:40.224,174.0297,-41.838,10.0391,3.6862,M,automatic,81,,WEL(GNS_Primary),2013-08-16T18:53:00.769,POINT (174.02974 -41.837985)
quake.2013p615573,2013p615573,2013-08-16T18:17:38.019,174.0146,-41.8259,5.1172,3.4498,M,automatic,38,,WEL(GNS_Primary),2013-08-16T18:25:52.363,POINT (174.01456 -41.825861)
quake.2013p615566,2013p615566,2013-08-16T18:13:35.528,174.2491,-41.6382,5.0586,2.7396,M,automatic,28,,WEL(GNS_Primary),2013-08-16T18:16:11.375,POINT (174.2491 -41.638172)
quake.2013p615558,2013p615558,2013-08-16T18:09:29.66,174.0807,-41.7264,8.5156,2.3549,M,automatic,21,,WEL(GNS_Primary),2013-08-16T18:11:44.082,POINT (174.08068 -41.726444)
quake.2013p615544,2013p615544,2013-08-16T18:02:06.425,174.2358,-41.6497,5.1172,2.1937,M,automatic,21,,WEL(GNS_Primary),2013-08-16T18:04:30.206,POINT (174.23582 -41.649668)
quake.2013p615539,2013p615539,2013-08-16T17:59:09.79,175.2442,-39.297,26.7383,2.0964,M,automatic,20,,WEL(GNS_Primary),2013-08-16T18:01:54.157,POINT (175.24423 -39.296974)
quake.2013p615538,2013p615538,2013-08-16T17:58:46.601,174.2071,-41.7285,13.6719,3.5605,M,automatic,61,,WEL(GNS_Primary),2013-08-16T18:45:08.361,POINT (174.2071 -41.728485)
quake.2013p615532,2013p615532,2013-08-16T17:55:53.43,174.075,-41.7181,5.0586,2.5883,M,automatic,30,,WEL(GNS_Primary),2013-08-16T17:58:33.187,POINT (174.07499 -41.718143)
quake.2013p615530,2013p615530,2013-08-16T17:54:53.634,174.4568,-41.8392,57.2656,2.4732,M,automatic,11,,WEL(GNS_Primary),2013-08-16T17:57:48.313,POINT (174.45682 -41.839236)
quake.2013p615524,2013p615524,2013-08-16T17:52:31.46,174.1496,-41.6997,8.6328,3.2707,M,automatic,65,,WEL(GNS_Primary),2013-08-16T18:42:56.715,POINT (174.1496 -41.699687)
quake.2013p615509,2013p615509,2013-08-16T17:43:20.933,174.1931,-41.7185,8.6328,2.0633,M,automatic,15,,WEL(GNS_Primary),2013-08-16T17:45:22.911,POINT (174.19314 -41.718483)
quake.2013p615506,2013p615506,2013-08-16T17:41:42.301,174.097,-41.6181,23.6328,2.281,M,automatic,18,,WEL(GNS_Primary),2013-08-16T17:43:42.915,POINT (174.09704 -41.618061)
quake.2013p615500,2013p615500,2013-08-16T17:39:32.393,174.2808,-41.6687,12.0898,2.8626,M,automatic,35,,WEL(GNS_Primary),2013-08-16T17:41:52.046,POINT (174.28085 -41.668716)
quake.2013p615497,2013p615497,2013-08-16T17:37:08.682,174.0669,-41.6948,11.2109,2.0277,M,automatic,10,,WEL(GNS_Primary),2013-08-16T17:38:54.831,POINT (174.06694 -41.694757)
quake.2013p615492,2013p615492,2013-08-16T17:34:36.782,174.1046,-41.6957,6.2305,2.4267,M,automatic,24,,WEL(GNS_Primary),2013-08-16T19:53:40.242,POINT (174.10464 -41.695656)
quake.2013p615489,2013p615489,2013-08-16T17:32:45.989,174.015,-41.6503,22.3438,2.2193,M,automatic,12,,WEL(GNS_Primary),2013-08-16T17:34:43.778,POINT (174.01501 -41.65027)
quake.2013p615485,2013p615485,2013-08-16T17:30:28.27,173.9867,-41.7349,8.8672,2.3213,M,automatic,17,,WEL(GNS_Primary),2013-08-16T17:33:08.791,POINT (173.98667 -41.734946)
quake.2013p615484,2013p615484,2013-08-16T17:29:54.95,177.4166,-37.3327,8.9844,2.72,M,automatic,34,,WEL(GNS_Primary),2013-08-16T19:52:17.664,POINT (177.41655 -37.332655)
quake.2013p615481,2013p615481,2013-08-16T17:28:29.289,174.2493,-41.6941,5.0586,2.3471,M,automatic,21,,WEL(GNS_Primary),2013-08-16T17:31:42.264,POINT (174.2493 -41.694065)
quake.2013p615476,2013p615476,2013-08-16T17:25:37.289,172.9213,-38.7319,312.5,3.7951,M,automatic,20,,WEL(GNS_Primary),2013-08-16T17:29:18.829,POINT (172.92127 -38.731925)
quake.2013p615474,2013p615474,2013-08-16T17:24:59.713,174.2772,-41.5475,5.1172,2.8445,M,automatic,27,,WEL(GNS_Primary),2013-08-16T17:28:33.292,POINT (174.27718 -41.547452)
quake.2013p615473,2013p615473,2013-08-16T17:24:07.962,177.3675,-38.2683,443.75,2.7322,M,automatic,15,,WEL(GNS_Primary),2013-08-16T17:27:49.524,POINT (177.36754 -38.26834)
quake.2013p615471,2013p615471,2013-08-16T17:23:23.748,174.2374,-41.618,9.5703,2.5618,M,automatic,24,,WEL(GNS_Primary),2013-08-16T17:25:32.755,POINT (174.23743 -41.618018)
quake.2013p615466,2013p615466,2013-08-16T17:21:41.239,174.4023,-41.5557,16.0156,2.057,M,automatic,13,,WEL(GNS_Primary),2013-08-16T17:23:03.297,POINT (174.40234 -41.555722)
quake.2013p615463,2013p615463,2013-08-16T17:18:42.084,174.2575,-41.6495,5.1172,2.5432,M,automatic,12,,WEL(GNS_Primary),2013-08-16T17:20:17.333,POINT (174.25746 -41.64947)
quake.2013p615460,2013p615460,2013-08-16T17:18:09.799,174.2197,-41.6233,10.0391,2.3034,M,automatic,11,,WEL(GNS_Primary),2013-08-16T17:19:44.665,POINT (174.21967 -41.623335)
quake.2013p615457,2013p615457,2013-08-16T17:15:37.731,174.2901,-41.5854,5.1172,2.1951,M,automatic,15,,WEL(GNS_Primary),2013-08-16T17:17:25.161,POINT (174.29008 -41.585367)
quake.2013p615453,2013p615453,2013-08-16T17:13:22.209,174.0904,-41.7182,5.293,1.9259,M,automatic,10,,WEL(GNS_Primary),2013-08-16T17:15:22.686,POINT (174.09043 -41.718179)
quake.2013p615434,2013p615434,2013-08-16T17:03:40.745,174.2258,-41.67,5.0586,2.6308,M,automatic,24,,WEL(GNS_Primary),2013-08-16T17:07:28.32,POINT (174.22585 -41.67002)
quake.2013p615432,2013p615432,2013-08-16T17:02:13.73,174.2031,-41.6933,11.3281,2.6397,M,automatic,24,,WEL(GNS_Primary),2013-08-16T17:04:17.605,POINT (174.20307 -41.693333)
quake.2013p615424,2013p615424,2013-08-16T16:58:25.636,175.13,-41.4854,21.6406,3.5777,M,automatic,51,,WEL(GNS_Primary),2013-08-16T17:04:46.48,POINT (175.13003 -41.485409)
quake.2013p615422,2013p615422,2013-08-16T16:58:01.353,175.321,-41.5786,31.7188,3.3019,M,automatic,12,,WEL(GNS_Primary),2013-08-16T17:00:55.292,POINT (175.32101 -41.578573)
quake.2013p615418,2013p615418,2013-08-16T16:54:58.968,174.057,-41.7295,20.5859,2.4411,M,automatic,21,,WEL(GNS_Primary),2013-08-16T17:11:42.825,POINT (174.05704 -41.729504)
quake.2013p615406,2013p615406,2013-08-16T16:48:24.777,174.0402,-41.6673,28.7891,2.3176,M,automatic,18,,WEL(GNS_Primary),2013-08-16T16:50:28.448,POINT (174.04021 -41.667278)
quake.2013p615394,2013p615394,2013-08-16T16:41:59.489,174.1386,-41.7732,18.3594,3.9269,M,automatic,82,,WEL(GNS_Primary),2013-08-16T17:07:36.653,POINT (174.13857 -41.773188)
quake.2013p615390,2013p615390,2013-08-16T16:40:04.905,174.2454,-41.5849,10.0391,2.3786,M,automatic,20,,WEL(GNS_Primary),2013-08-16T16:42:22.23,POINT (174.24543 -41.584888)
quake.2013p615386,2013p615386,2013-08-16T16:38:03.42,174.2701,-41.6165,5.1172,2.1286,M,automatic,15,,WEL(GNS_Primary),2013-08-16T16:39:59.771,POINT (174.27006 -41.616475)
quake.2013p615379,2013p615379,2013-08-16T16:34:07.264,174.261,-41.6462,8.1641,2.3376,M,automatic,22,,WEL(GNS_Primary),2013-08-16T16:36:05.903,POINT (174.26102 -41.646238)
quake.2013p615375,2013p615375,2013-08-16T16:31:53.232,174.0231,-41.7494,6.9922,2.4525,M,automatic,17,,WEL(GNS_Primary),2013-08-16T16:34:04.092,POINT (174.02311 -41.749363)
quake.2013p615367,2013p615367,2013-08-16T16:27:38.249,174.2766,-41.1758,12.5,3.4724,M,automatic,13,,WEL(GNS_Primary),2013-08-16T16:31:09.575,POINT (174.27663 -41.175831)
quake.2013p615366,2013p615366,2013-08-16T16:27:21.085,174.2251,-41.7736,7.6953,3.2522,M,automatic,50,,WEL(GNS_Primary),2013-08-16T17:02:38.711,POINT (174.2251 -41.773641)
quake.2013p615363,2013p615363,2013-08-16T16:25:33.532,174.093,-41.5938,22.6953,2.5534,M,automatic,23,,WEL(GNS_Primary),2013-08-16T16:27:47.877,POINT (174.09299 -41.593751)
quake.2013p615359,2013p615359,2013-08-16T16:23:24.229,174.2449,-41.6199,5.1172,3.0123,M,automatic,38,,WEL(GNS_Primary),2013-08-16T16:26:22.022,POINT (174.24487 -41.619905)
quake.2013p615357,2013p615357,2013-08-16T16:22:13.768,174.2119,-41.6757,5.1172,2.4366,M,automatic,20,,WEL(GNS_Primary),2013-08-16T16:24:15.003,POINT (174.21188 -41.675657)
quake.2013p615351,2013p615351,2013-08-16T16:19:25.116,174.0298,-41.746,7.0508,2.2369,M,automatic,16,,WEL(GNS_Primary),2013-08-16T16:21:33.159,POINT (174.02981 -41.746014)
quake.2013p615348,2013p615348,2013-08-16T16:17:31.245,174.1245,-41.6814,5.1172,2.1469,M,automatic,15,,WEL(GNS_Primary),2013-08-16T16:20:41.109,POINT (174.12454 -41.681434)
quake.2013p615342,2013p615342,2013-08-16T16:14:29.685,174.1803,-41.5976,10.3906,2.3925,M,automatic,23,,WEL(GNS_Primary),2013-08-16T16:17:27.137,POINT (174.18032 -41.59757)
quake.2013p615337,2013p615337,2013-08-16T16:11:55.932,174.2456,-41.74,7.6953,3.0055,M,automatic,41,,WEL(GNS_Primary),2013-08-16T16:15:57.731,POINT (174.24556 -41.740041)
quake.2013p615332,2013p615332,2013-08-16T16:09:11.861,174.2936,-41.6664,10.9766,2.7703,M,automatic,40,,WEL(GNS_Primary),2013-08-16T16:55:44.872,POINT (174.29355 -41.666378)
quake.2013p615325,2013p615325,2013-08-16T16:05:16.846,174.0541,-41.6977,15.8984,2.2804,M,automatic,21,,WEL(GNS_Primary),2013-08-16T16:07:19.762,POINT (174.05413 -41.697718)
quake.2013p615319,2013p615319,2013-08-16T16:02:02.413,174.3071,-41.5538,7.8125,2.2972,M,automatic,10,,WEL(GNS_Primary),2013-08-16T16:03:32.322,POINT (174.30707 -41.553753)
quake.2013p615315,2013p615315,2013-08-16T16:00:01.509,174.0829,-41.7217,5.0586,2.4893,M,automatic,15,,WEL(GNS_Primary),2013-08-16T16:02:35.914,POINT (174.08294 -41.721713)
quake.2013p615307,2013p615307,2013-08-16T15:56:56.502,174.2198,-41.5187,16.9531,2.3224,M,automatic,11,,WEL(GNS_Primary),2013-08-16T15:59:31.712,POINT (174.21982 -41.518654)
quake.2013p615305,2013p615305,2013-08-16T15:54:36.265,174.2326,-41.5572,8.9258,2.2791,M,automatic,12,,WEL(GNS_Primary),2013-08-16T15:57:27.743,POINT (174.23259 -41.557192)
quake.2013p615298,2013p615298,2013-08-16T15:51:05.949,174.2482,-41.7743,5.1172,3.6557,M,automatic,74,,WEL(GNS_Primary),2013-08-16T16:50:27.767,POINT (174.2482 -41.774318)
quake.2013p615294,2013p615294,2013-08-16T15:48:44.816,173.9876,-41.7389,7.8711,3.3081,M,automatic,28,,WEL(GNS_Primary),2013-08-16T15:51:52.589,POINT (173.9876 -41.738936)
quake.2013p615289,2013p615289,2013-08-16T15:46:13.74,174.2342,-41.7126,12.2656,4.238,M,automatic,102,,WEL(GNS_Primary),2013-08-16T16:48:43.386,POINT (174.23419 -41.712598)
quake.2013p615286,2013p615286,2013-08-16T15:44:30.97,174.242,-41.6651,5.0586,4.0428,M,automatic,46,,WEL(GNS_Primary),2013-08-16T15:48:07.524,POINT (174.24202 -41.665073)
quake.2013p615283,2013p615283,2013-08-16T15:43:00.035,174.1034,-41.7603,5.0586,2.7412,M,automatic,32,,WEL(GNS_Primary),2013-08-16T15:46:30.507,POINT (174.1034 -41.760269)
quake.2013p615276,2013p615276,2013-08-16T15:39:07.212,174.2206,-41.4824,15.1953,2.2011,M,automatic,14,,WEL(GNS_Primary),2013-08-16T15:42:21.029,POINT (174.22058 -41.482391)
quake.2013p615264,2013p615264,2013-08-16T15:32:54.449,174.1844,-41.5906,10.0391,2.1237,M,automatic,10,,WEL(GNS_Primary),2013-08-16T15:34:33.227,POINT (174.18445 -41.590601)
quake.2013p615261,2013p615261,2013-08-16T15:31:10.556,174.1294,-41.5877,26.3281,2.0554,M,automatic,11,,WEL(GNS_Primary),2013-08-16T15:33:11.486,POINT (174.12936 -41.58773)
quake.2013p615256,2013p615256,2013-08-16T15:28:26.435,174.0846,-41.7309,5.0586,2.4213,M,automatic,18,,WEL(GNS_Primary),2013-08-16T15:30:45.82,POINT (174.08464 -41.730939)
quake.2013p615254,2013p615254,2013-08-16T15:27:26.365,174.0809,-41.7354,5.0586,2.245,M,automatic,14,,WEL(GNS_Primary),2013-08-16T15:29:35.077,POINT (174.08087 -41.735417)
quake.2013p615249,2013p615249,2013-08-16T15:24:43.656,174.1236,-41.6059,23.9844,2.0771,M,automatic,11,,WEL(GNS_Primary),2013-08-16T15:26:10.146,POINT (174.12355 -41.605911)
quake.2013p615243,2013p615243,2013-08-16T15:21:55.266,174.0339,-41.724,6.6992,2.7713,M,automatic,39,,WEL(GNS_Primary),2013-08-16T15:25:26.052,POINT (174.03392 -41.724028)
quake.2013p615237,2013p615237,2013-08-16T15:18:39.185,175.5761,-40.2622,5.4688,2.3716,M,automatic,12,,WEL(GNS_Primary),2013-08-16T15:22:24.708,POINT (175.57609 -40.262243)
quake.2013p615236,2013p615236,2013-08-16T15:18:04.768,174.0423,-41.7858,14.0234,2.8202,M,automatic,45,,WEL(GNS_Primary),2013-08-16T15:23:09.437,POINT (174.04232 -41.785798)
quake.2013p615233,2013p615233,2013-08-16T15:16:17.755,174.2677,-41.664,5.1172,2.2233,M,automatic,18,,WEL(GNS_Primary),2013-08-16T15:18:11.702,POINT (174.26766 -41.66395)
quake.2013p615227,2013p615227,2013-08-16T15:13:27.112,174.2645,-41.6178,5.0586,2.6816,M,automatic,35,,WEL(GNS_Primary),2013-08-16T15:15:51.161,POINT (174.26447 -41.61777)
quake.2013p615224,2013p615224,2013-08-16T15:12:19.468,172.9514,-42.063,26.0938,3.0721,M,automatic,12,,WEL(GNS_Primary),2013-08-16T15:14:44.112,POINT (172.95143 -42.063023)
quake.2013p615218,2013p615218,2013-08-16T15:08:09.462,174.1192,-41.6454,18.9453,2.3721,M,automatic,14,,WEL(GNS_Primary),2013-08-16T15:10:21.169,POINT (174.11915 -41.645405)
quake.2013p615215,2013p615215,2013-08-16T15:06:36.791,174.0219,-41.7977,9.1016,2.8962,M,automatic,43,,WEL(GNS_Primary),2013-08-16T15:09:48.182,POINT (174.02194 -41.797714)
quake.2013p615209,2013p615209,2013-08-16T15:03:26.282,174.1748,-41.7071,5.1172,2.5648,M,automatic,30,,WEL(GNS_Primary),2013-08-16T15:05:41.964,POINT (174.17475 -41.707099)
quake.2013p615204,2013p615204,2013-08-16T15:00:41.808,174.1622,-41.6775,5.1172,2.2145,M,automatic,17,,WEL(GNS_Primary),2013-08-16T15:03:08.963,POINT (174.16219 -41.677534)
quake.2013p615199,2013p615199,2013-08-16T14:59:15.728,174.0292,-41.8417,21.1719,2.6381,M,automatic,28,,WEL(GNS_Primary),2013-08-16T15:03:00.029,POINT (174.02917 -41.841722)
quake.2013p615196,2013p615196,2013-08-16T14:56:46.123,174.1868,-41.6676,11.5039,2.9146,M,automatic,43,,WEL(GNS_Primary),2013-08-16T15:00:16.838,POINT (174.18683 -41.667623)
quake.2013p615193,2013p615193,2013-08-16T14:54:52.442,174.117,-41.706,6.6992,2.9453,M,automatic,44,,WEL(GNS_Primary),2013-08-16T18:57:00.447,POINT (174.11698 -41.706029)
quake.2013p615188,2013p615188,2013-08-16T14:52:42.164,174.1625,-41.6342,5.1172,2.3075,M,automatic,15,,WEL(GNS_Primary),2013-08-16T14:54:45.073,POINT (174.16251 -41.634167)
quake.2013p615184,2013p615184,2013-08-16T14:50:01.895,174.0133,-41.748,5.0586,3.2344,M,automatic,21,,WEL(GNS_Primary),2013-08-16T14:52:57.805,POINT (174.01327 -41.748032)
quake.2013p615178,2013p615178,2013-08-16T14:47:02.523,174.3202,-41.6951,19.7656,4.9417,M,reviewed,51,,WEL(GNS_Primary),2013-08-16T14:57:52.509,POINT (174.3202 -41.695104)
quake.2013p615174,2013p615174,2013-08-16T14:45:08.519,173.7344,-41.5494,5.2344,2.2159,M,automatic,11,,WEL(GNS_Primary),2013-08-16T14:46:57.276,POINT (173.73442 -41.549413)
quake.2013p615170,2013p615170,2013-08-16T14:42:39.52,174.1098,-41.6151,18.4766,2.5407,M,automatic,22,,WEL(GNS_Primary),2013-08-16T14:46:09.348,POINT (174.10982 -41.6151)
quake.2013p615166,2013p615166,2013-08-16T14:40:51.796,175.7132,-40.278,51.875,2.5673,M,automatic,12,,WEL(GNS_Primary),2013-08-16T14:43:31.708,POINT (175.71318 -40.278025)
quake.2013p615165,2013p615165,2013-08-16T14:40:17.752,174.2922,-41.7281,20.3516,3.5451,M,automatic,70,,WEL(GNS_Primary),2013-08-16T14:44:03.069,POINT (174.29216 -41.728062)
quake.2013p615161,2013p615161,2013-08-16T14:37:53.13,174.3124,-41.591,10.5078,2.6153,M,automatic,31,,WEL(GNS_Primary),2013-08-16T14:40:53.319,POINT (174.31238 -41.591027)
quake.2013p615148,2013p615148,2013-08-16T14:31:19.083,174.1578,-41.7483,5.1172,3.0056,M,automatic,32,,WEL(GNS_Primary),2013-08-16T14:34:34.377,POINT (174.15776 -41.748309)
quake.2013p615146,2013p615146,2013-08-16T14:29:51.685,174.6758,-40.1718,11.0938,2.926,M,automatic,24,,WEL(GNS_Primary),2013-08-16T14:33:05.11,POINT (174.67582 -40.171849)
quake.2013p615145,2013p615145,2013-08-16T14:29:23.489,174.2028,-41.7265,5.0586,3.2101,M,automatic,42,,WEL(GNS_Primary),2013-08-16T14:32:50.853,POINT (174.20276 -41.726481)
quake.2013p615137,2013p615137,2013-08-16T14:25:03.23,174.064,-41.7195,5.0586,3.0267,M,automatic,19,,WEL(GNS_Primary),2013-08-16T14:27:36.859,POINT (174.06397 -41.719488)
quake.2013p615135,2013p615135,2013-08-16T14:23:55.902,175.0765,-40.6992,14.375,2.724,M,automatic,11,,WEL(GNS_Primary),2013-08-16T14:26:40.524,POINT (175.07646 -40.699197)
quake.2013p615134,2013p615134,2013-08-16T14:23:29.727,174.264,-41.6732,6.9336,3.1703,M,automatic,41,,WEL(GNS_Primary),2013-08-16T14:26:09.906,POINT (174.26397 -41.673225)
quake.2013p615129,2013p615129,2013-08-16T14:21:09.647,174.1499,-41.708,5.1172,2.6407,M,automatic,30,,WEL(GNS_Primary),2013-08-16T14:23:25.009,POINT (174.1499 -41.708038)
quake.2013p615126,2013p615126,2013-08-16T14:19:06.915,173.2843,-41.8524,41.0938,2.6474,M,automatic,15,,WEL(GNS_Primary),2013-08-16T14:21:19.416,POINT (173.28432 -41.852437)
quake.2013p615123,2013p615123,2013-08-16T14:17:42.905,174.0689,-41.7123,10.0391,2.7998,M,automatic,46,,WEL(GNS_Primary),2013-08-16T14:22:35.623,POINT (174.06891 -41.712334)
quake.2013p615120,2013p615120,2013-08-16T14:16:16.871,175.7055,-39.951,83.75,2.3405,M,automatic,11,,WEL(GNS_Primary),2013-08-16T14:18:31.459,POINT (175.70549 -39.951017)
quake.2013p615119,2013p615119,2013-08-16T14:15:39.877,174.2762,-41.7318,20.8203,3.0975,M,automatic,42,,WEL(GNS_Primary),2013-08-16T14:19:12.412,POINT (174.27616 -41.731763)
quake.2013p615117,2013p615117,2013-08-16T14:14:38.343,173.8356,-41.8119,34.5312,3.0096,M,automatic,13,,WEL(GNS_Primary),2013-08-16T14:16:43.806,POINT (173.83565 -41.811857)
quake.2013p615115,2013p615115,2013-08-16T14:13:21.116,174.0692,-41.7459,5.0586,2.76,M,automatic,28,,WEL(GNS_Primary),2013-08-16T14:15:33.314,POINT (174.06924 -41.74592)
quake.2013p615107,2013p615107,2013-08-16T14:09:00.824,174.1884,-41.6931,5.4102,3.4049,M,automatic,57,,WEL(GNS_Primary),2013-08-16T14:12:29.204,POINT (174.18843 -41.693111)
quake.2013p615103,2013p615103,2013-08-16T14:07:45.274,174.1887,-41.6756,9.043,3.3595,M,automatic,41,,WEL(GNS_Primary),2013-08-16T18:41:06.709,POINT (174.18873 -41.675603)
quake.2013p615097,2013p615097,2013-08-16T14:03:59.831,177.0081,-39.3825,20.8203,1.8681,M,automatic,14,,WEL(GNS_Primary),2013-08-16T14:05:52.239,POINT (177.00806 -39.382456)
quake.2013p615098,2013p615098,2013-08-16T14:03:59.204,174.2962,-41.5858,5.0586,2.3298,M,automatic,24,,WEL(GNS_Primary),2013-08-16T14:06:10.298,POINT (174.29619 -41.585755)
quake.2013p615087,2013p615087,2013-08-16T13:58:37.464,174.1131,-41.737,11.2109,2.492,M,automatic,20,,WEL(GNS_Primary),2013-08-16T14:00:40.167,POINT (174.11309 -41.736988)
quake.2013p615082,2013p615082,2013-08-16T13:56:46.113,174.2598,-41.5816,13.6719,2.6693,M,automatic,32,,WEL(GNS_Primary),2013-08-16T14:00:18.39,POINT (174.25981 -41.581557)
quake.2013p615076,2013p615076,2013-08-16T13:52:27.91,174.1578,-42.0574,10.8594,2.6282,M,automatic,11,,WEL(GNS_Primary),2013-08-16T13:54:29.211,POINT (174.15781 -42.05737)
quake.2013p615071,2013p615071,2013-08-16T13:50:18.096,174.0822,-41.7778,12.6172,3.0298,M,automatic,49,,WEL(GNS_Primary),2013-08-16T13:53:53.245,POINT (174.0822 -41.777791)
quake.2013p615062,2013p615062,2013-08-16T13:45:03.544,174.101,-41.6941,5.3516,2.5249,M,automatic,27,,WEL(GNS_Primary),2013-08-16T13:47:54.282,POINT (174.10102 -41.69409)
quake.2013p615058,2013p615058,2013-08-16T13:43:42.82,174.2415,-41.6063,5.1758,2.6848,M,automatic,21,,WEL(GNS_Primary),2013-08-16T13:47:27.961,POINT (174.24149 -41.606251)
quake.2013p615051,2013p615051,2013-08-16T13:39:16.179,174.1534,-41.6231,18.2422,1.9819,M,automatic,10,,WEL(GNS_Primary),2013-08-16T13:41:27.06,POINT (174.15337 -41.623054)
quake.2013p615044,2013p615044,2013-08-16T13:35:54.558,174.4952,-42.0447,21.4062,4.2546,M,reviewed,51,,WEL(GNS_Primary),2013-08-16T15:03:15.642,POINT (174.49518 -42.0447)
quake.2013p615042,2013p615042,2013-08-16T13:34:31.399,174.2206,-41.7001,10.0391,2.5697,M,automatic,13,,WEL(GNS_Primary),2013-08-16T13:36:44.627,POINT (174.2206 -41.700104)
quake.2013p615039,2013p615039,2013-08-16T13:33:03.55,174.2935,-41.6147,5.1172,2.3493,M,automatic,17,,WEL(GNS_Primary),2013-08-16T13:34:59.612,POINT (174.29347 -41.614661)
quake.2013p615036,2013p615036,2013-08-16T13:31:22.28,174.36,-41.5078,19.7656,2.2988,M,automatic,12,,WEL(GNS_Primary),2013-08-16T13:33:25.788,POINT (174.36005 -41.507768)
quake.2013p615033,2013p615033,2013-08-16T13:30:15.488,174.2886,-41.5953,8.8672,2.4163,M,automatic,13,,WEL(GNS_Primary),2013-08-16T13:32:51.349,POINT (174.28861 -41.595333)
quake.2013p615032,2013p615032,2013-08-16T13:29:15.643,173.8704,-41.7269,15.5469,2.5175,M,automatic,19,,WEL(GNS_Primary),2013-08-16T13:31:30.163,POINT (173.87044 -41.726946)
quake.2013p615024,2013p615024,2013-08-16T13:24:53.412,173.9915,-41.7843,13.0859,2.8547,M,automatic,43,,WEL(GNS_Primary),2013-08-16T13:28:07.167,POINT (173.9915 -41.784308)
quake.2013p615018,2013p615018,2013-08-16T13:21:47.656,174.1934,-41.4791,29.0234,2.5719,M,automatic,19,,WEL(GNS_Primary),2013-08-16T13:25:11.258,POINT (174.19336 -41.479086)
quake.2013p615015,2013p615015,2013-08-16T13:20:12.936,174.068,-41.739,5.1172,2.4876,M,automatic,23,,WEL(GNS_Primary),2013-08-16T13:24:14.668,POINT (174.06797 -41.739001)
quake.2013p615010,2013p615010,2013-08-16T13:17:38.585,174.1434,-41.7769,6.2305,3.4794,M,automatic,61,,WEL(GNS_Primary),2013-08-16T13:22:38.168,POINT (174.14343 -41.776876)
quake.2013p615005,2013p615005,2013-08-16T13:15:09.475,174.4349,-41.5012,5.1172,2.2224,M,automatic,21,,WEL(GNS_Primary),2013-08-16T13:18:09.595,POINT (174.43492 -41.501215)
quake.2013p615002,2013p615002,2013-08-16T13:13:25.289,174.0572,-41.7896,10.7422,3.0745,M,automatic,44,,WEL(GNS_Primary),2013-08-16T13:17:02.041,POINT (174.05721 -41.789572)
quake.2013p615000,2013p615000,2013-08-16T13:12:18.207,174.2767,-41.6552,8.5742,2.7841,M,automatic,34,,WEL(GNS_Primary),2013-08-16T13:14:44.694,POINT (174.27667 -41.655247)
quake.2013p614996,2013p614996,2013-08-16T13:10:38.854,174.232,-41.6963,7.9297,2.9197,M,automatic,43,,WEL(GNS_Primary),2013-08-16T13:13:58.974,POINT (174.23198 -41.696267)
quake.2013p614992,2013p614992,2013-08-16T13:07:56.694,174.1013,-41.7433,5.5859,2.1724,M,automatic,16,,WEL(GNS_Primary),2013-08-16T13:10:05.857,POINT (174.10132 -41.743316)
quake.2013p614988,2013p614988,2013-08-16T13:05:48.589,174.2281,-41.6707,14.6094,2.3584,M,automatic,10,,WEL(GNS_Primary),2013-08-16T13:08:27.539,POINT (174.22806 -41.670711)
quake.2013p614984,2013p614984,2013-08-16T13:03:03.802,174.2376,-41.1079,8.75,3.9375,M,automatic,20,,WEL(GNS_Primary),2013-08-16T13:06:44.307,POINT (174.23762 -41.107945)
quake.2013p614982,2013p614982,2013-08-16T13:02:48.037,174.1635,-41.7253,12.4414,3.5774,M,reviewed,42,,WEL(GNS_Primary),2013-08-17T03:31:35.439,POINT (174.16353 -41.72533)
quake.2013p614976,2013p614976,2013-08-16T13:00:34.873,174.2614,-41.6227,9.9805,3.9257,M,reviewed,49,,WEL(GNS_Primary),2013-08-16T22:27:52.257,POINT (174.26143 -41.622685)
quake.2013p614968,2013p614968,2013-08-16T12:55:18.626,174.1593,-41.6349,5.1172,2.6222,M,automatic,21,,WEL(GNS_Primary),2013-08-16T12:57:30.471,POINT (174.15931 -41.634907)
quake.2013p614963,2013p614963,2013-08-16T12:52:39.08,174.0984,-41.7163,5.0586,2.9556,M,automatic,30,,WEL(GNS_Primary),2013-08-16T12:55:46.679,POINT (174.09844 -41.716329)
quake.2013p614960,2013p614960,2013-08-16T12:50:47.088,174.0844,-41.7737,12.8516,3.1557,M,automatic,54,,WEL(GNS_Primary),2013-08-16T12:54:24.949,POINT (174.08437 -41.773684)
quake.2013p614955,2013p614955,2013-08-16T12:48:23.593,174.8732,-40.7061,16.3672,2.0988,M,automatic,15,,WEL(GNS_Primary),2013-08-16T12:50:40.311,POINT (174.87319 -40.706064)
quake.2013p614950,2013p614950,2013-08-16T12:45:35.552,174.1756,-41.6035,5.0586,2.8068,M,automatic,45,,WEL(GNS_Primary),2013-08-16T12:47:54.397,POINT (174.17558 -41.603479)
quake.2013p614946,2013p614946,2013-08-16T12:43:55.13,174.4334,-41.5539,5.0586,2.0998,M,automatic,20,,WEL(GNS_Primary),2013-08-16T12:46:13.243,POINT (174.43343 -41.553926)
quake.2013p614941,2013p614941,2013-08-16T12:41:04.494,174.4575,-41.5526,5.0586,2.4534,M,automatic,24,,WEL(GNS_Primary),2013-08-16T12:43:19.055,POINT (174.45752 -41.55255)
quake.2013p614935,2013p614935,2013-08-16T12:38:01.397,174.023,-41.8011,12.6172,3.4117,M,automatic,70,,WEL(GNS_Primary),2013-08-16T12:41:37.666,POINT (174.02298 -41.801081)
quake.2013p614933,2013p614933,2013-08-16T12:36:18.91,174.2631,-41.5122,5.0586,3.0152,M,automatic,13,,WEL(GNS_Primary),2013-08-16T12:39:14.299,POINT (174.26313 -41.512213)
quake.2013p614929,2013p614929,2013-08-16T12:35:11.207,175.4906,-39.8428,11.0938,2.9703,M,automatic,17,,WEL(GNS_Primary),2013-08-16T12:38:32.409,POINT (175.49056 -39.842831)
quake.2013p614924,2013p614924,2013-08-16T12:31:50.078,173.9821,-41.8255,10.332,3.5405,M,automatic,69,,WEL(GNS_Primary),2013-08-16T12:38:20.36,POINT (173.98211 -41.825536)
quake.2013p614919,2013p614919,2013-08-16T12:29:56.804,174.7959,-41.3534,7.6953,3.2201,M,automatic,44,,WEL(GNS_Primary),2013-08-16T12:37:04.527,POINT (174.7959 -41.353397)
quake.2013p614916,2013p614916,2013-08-16T12:27:19.73,174.0606,-41.7569,5.0586,2.3739,M,automatic,17,,WEL(GNS_Primary),2013-08-16T12:30:01.81,POINT (174.06061 -41.756929)
quake.2013p614914,2013p614914,2013-08-16T12:26:18.127,174.199,-41.6377,8.8672,2.6667,M,automatic,23,,WEL(GNS_Primary),2013-08-16T12:29:50.935,POINT (174.19901 -41.637742)
quake.2013p614910,2013p614910,2013-08-16T12:24:24.423,174.0883,-41.7577,19.0039,3.3619,M,automatic,64,,WEL(GNS_Primary),2013-08-16T12:28:04.86,POINT (174.08832 -41.757742)
quake.2013p614904,2013p614904,2013-08-16T12:20:58.705,174.1435,-41.668,5.0586,2.6162,M,automatic,22,,WEL(GNS_Primary),2013-08-16T12:23:11.144,POINT (174.14354 -41.668019)
quake.2013p614899,2013p614899,2013-08-16T12:18:32.981,173.9653,-41.7435,7.6953,2.5523,M,automatic,30,,WEL(GNS_Primary),2013-08-16T12:23:33.559,POINT (173.96527 -41.743495)
quake.2013p614895,2013p614895,2013-08-16T12:16:18.761,174.3075,-41.6607,9.7461,2.725,M,automatic,38,,WEL(GNS_Primary),2013-08-16T12:18:45.842,POINT (174.3075 -41.660741)
quake.2013p614889,2013p614889,2013-08-16T12:13:10.533,174.2667,-41.6497,6.7578,2.6725,M,automatic,23,,WEL(GNS_Primary),2013-08-16T12:15:22.77,POINT (174.26668 -41.649741)
quake.2013p614886,2013p614886,2013-08-16T12:11:47.798,174.3218,-41.4745,10.2734,2.4161,M,automatic,18,,WEL(GNS_Primary),2013-08-16T12:13:56.608,POINT (174.32181 -41.474529)
quake.2013p614883,2013p614883,2013-08-16T12:09:56.485,174.1686,-41.6863,5.0586,2.5413,M,automatic,31,,WEL(GNS_Primary),2013-08-16T12:12:14.894,POINT (174.1686 -41.686273)
quake.2013p614879,2013p614879,2013-08-16T12:07:43.669,174.2551,-41.6861,5.1172,2.1974,M,automatic,16,,WEL(GNS_Primary),2013-08-16T12:09:42.378,POINT (174.25511 -41.686103)
quake.2013p614875,2013p614875,2013-08-16T12:05:49.623,174.1205,-41.698,7.6953,2.2595,M,automatic,21,,WEL(GNS_Primary),2013-08-16T12:08:10.555,POINT (174.12051 -41.697999)
quake.2013p614870,2013p614870,2013-08-16T12:03:09.207,174.2994,-41.6109,5.4102,2.7129,M,automatic,31,,WEL(GNS_Primary),2013-08-16T12:05:21.767,POINT (174.29943 -41.610874)
quake.2013p614867,2013p614867,2013-08-16T12:01:39.795,175.2605,-38.3868,125.9375,2.5658,M,automatic,10,,WEL(GNS_Primary),2013-08-16T12:03:54.408,POINT (175.26046 -38.38675)
quake.2013p614863,2013p614863,2013-08-16T11:59:29.394,178.2215,-38.1627,6.2891,1.7523,M,automatic,12,,WEL(GNS_Primary),2013-08-16T17:59:05.123,POINT (178.2215 -38.162668)
quake.2013p614861,2013p614861,2013-08-16T11:59:09.924,174.148,-41.6898,5.0586,2.2796,M,automatic,18,,WEL(GNS_Primary),2013-08-16T12:02:10.606,POINT (174.14799 -41.689839)
quake.2013p614859,2013p614859,2013-08-16T11:57:18.631,177.0333,-39.3976,19.9414,1.8941,M,automatic,14,,WEL(GNS_Primary),2013-08-16T11:59:31.669,POINT (177.03334 -39.397595)
quake.2013p614856,2013p614856,2013-08-16T11:55:21.559,174.2761,-41.6331,6.1133,3.0131,M,automatic,36,,WEL(GNS_Primary),2013-08-16T11:58:32.025,POINT (174.27608 -41.633126)
quake.2013p614853,2013p614853,2013-08-16T11:53:55.538,174.3415,-41.5975,9.5117,2.5945,M,automatic,33,,WEL(GNS_Primary),2013-08-16T11:57:22.52,POINT (174.3415 -41.597514)
quake.2013p614848,2013p614848,2013-08-16T11:51:28.599,174.3067,-41.5875,11.4453,2.3238,M,automatic,22,,WEL(GNS_Primary),2013-08-16T11:53:29.59,POINT (174.30672 -41.587524)
quake.2013p614844,2013p614844,2013-08-16T11:49:21.403,174.285,-41.6822,5.0586,2.6575,M,automatic,26,,WEL(GNS_Primary),2013-08-16T11:51:46.511,POINT (174.28504 -41.682185)
quake.2013p614842,2013p614842,2013-08-16T11:47:49.706,174.223,-41.6009,10.7422,2.5247,M,automatic,21,,WEL(GNS_Primary),2013-08-16T11:49:47.944,POINT (174.22301 -41.600911)
quake.2013p614835,2013p614835,2013-08-16T11:44:19.222,174.2997,-41.6457,5.1172,2.3486,M,automatic,22,,WEL(GNS_Primary),2013-08-16T11:46:18.407,POINT (174.29969 -41.645706)
quake.2013p614828,2013p614828,2013-08-16T11:40:34.952,174.2239,-41.7402,16.6016,3.1161,M,automatic,51,,WEL(GNS_Primary),2013-08-16T11:59:49.886,POINT (174.22389 -41.740239)
quake.2013p614825,2013p614825,2013-08-16T11:39:05.21,174.2305,-41.6437,5.1172,2.4289,M,automatic,24,,WEL(GNS_Primary),2013-08-16T11:41:05.383,POINT (174.23054 -41.643674)
quake.2013p614821,2013p614821,2013-08-16T11:36:52.899,174.2725,-41.4752,7.1094,2.6814,M,automatic,21,,WEL(GNS_Primary),2013-08-16T11:40:00.617,POINT (174.27246 -41.47516)
quake.2013p614819,2013p614819,2013-08-16T11:35:38.6,174.2192,-41.6577,5.0586,3.0256,M,automatic,43,,WEL(GNS_Primary),2013-08-16T11:39:27.357,POINT (174.21919 -41.657729)
quake.2013p614816,2013p614816,2013-08-16T11:34:05.132,173.9813,-41.7398,6.5234,2.2977,M,automatic,11,,WEL(GNS_Primary),2013-08-16T11:35:36.296,POINT (173.98129 -41.739794)
quake.2013p614809,2013p614809,2013-08-16T11:30:38.045,174.8127,-41.376,13.6719,2.6931,M,automatic,33,,WEL(GNS_Primary),2013-08-16T11:37:21.153,POINT (174.81273 -41.375993)
quake.2013p614805,2013p614805,2013-08-16T11:28:31.135,174.0771,-41.6479,35.7031,1.8235,M,automatic,11,,WEL(GNS_Primary),2013-08-16T11:30:04.343,POINT (174.0771 -41.647924)
quake.2013p614798,2013p614798,2013-08-16T11:24:48.807,174.0167,-41.7256,5.0586,3.0106,M,automatic,45,,WEL(GNS_Primary),2013-08-16T11:28:40.36,POINT (174.01668 -41.725608)
quake.2013p614793,2013p614793,2013-08-16T11:21:59.698,174.0746,-41.7158,8.3984,2.7923,M,automatic,31,,WEL(GNS_Primary),2013-08-16T11:24:52.713,POINT (174.07456 -41.715836)
quake.2013p614786,2013p614786,2013-08-16T11:18:11.343,175.7452,-39.9222,15.3125,3.2646,M,automatic,13,,WEL(GNS_Primary),2013-08-16T11:21:07.961,POINT (175.74515 -39.922203)
quake.2013p614783,2013p614783,2013-08-16T11:17:32.144,174.1426,-41.7771,10.2734,4.1432,M,automatic,94,,WEL(GNS_Primary),2013-08-16T11:59:41.3,POINT (174.14262 -41.777061)
quake.2013p614778,2013p614778,2013-08-16T11:14:02.621,174.222,-41.6493,10.7422,2.4939,M,automatic,24,,WEL(GNS_Primary),2013-08-16T11:17:51.322,POINT (174.22199 -41.649261)
quake.2013p614774,2013p614774,2013-08-16T11:11:59.851,174.4194,-41.7564,31.0156,2.2605,M,automatic,15,,WEL(GNS_Primary),2013-08-16T11:15:07.444,POINT (174.41938 -41.756401)
quake.2013p614769,2013p614769,2013-08-16T11:09:14.775,174.0651,-41.7372,5.1172,2.9541,M,automatic,19,,WEL(GNS_Primary),2013-08-16T11:12:20.773,POINT (174.06514 -41.737249)
quake.2013p614766,2013p614766,2013-08-16T11:07:34.88,174.1004,-41.8109,14.4922,3.7953,M,automatic,86,,WEL(GNS_Primary),2013-08-16T11:11:45.933,POINT (174.10041 -41.810859)
quake.2013p614762,2013p614762,2013-08-16T11:05:12.293,175.0667,-40.2286,9.6875,3.3796,M,automatic,21,,WEL(GNS_Primary),2013-08-16T11:08:41.201,POINT (175.06671 -40.228618)
quake.2013p614761,2013p614761,2013-08-16T11:04:39.553,174.0857,-41.7854,12.1484,3.8204,M,automatic,76,,WEL(GNS_Primary),2013-08-16T11:59:20.43,POINT (174.08569 -41.785401)
quake.2013p614758,2013p614758,2013-08-16T11:03:33.199,174.1287,-41.5614,24.3359,3.0526,M,automatic,28,,WEL(GNS_Primary),2013-08-16T11:06:26.842,POINT (174.12868 -41.561433)
quake.2013p614755,2013p614755,2013-08-16T11:01:57.441,174.142,-41.6786,26.2109,3.2844,M,automatic,43,,WEL(GNS_Primary),2013-08-16T11:05:17.257,POINT (174.14196 -41.678608)
quake.2013p614752,2013p614752,2013-08-16T11:00:02.758,174.2682,-41.6079,8.1055,3.0089,M,automatic,41,,WEL(GNS_Primary),2013-08-16T11:03:00.03,POINT (174.26825 -41.607872)
quake.2013p614748,2013p614748,2013-08-16T10:58:12.373,174.7324,-41.4224,9.5703,2.7755,M,automatic,18,,WEL(GNS_Primary),2013-08-16T11:01:27.776,POINT (174.73244 -41.42241)
quake.2013p614745,2013p614745,2013-08-16T10:56:37.284,174.0484,-41.7712,15.7227,3.219,M,automatic,53,,WEL(GNS_Primary),2013-08-16T11:00:16.294,POINT (174.0484 -41.771169)
quake.2013p614737,2013p614737,2013-08-16T10:52:55.3,174.0588,-41.6359,9.1602,3.8286,M,automatic,67,,WEL(GNS_Primary),2013-08-16T10:56:36.875,POINT (174.05885 -41.635917)
quake.2013p614735,2013p614735,2013-08-16T10:51:06.751,174.0801,-41.628,26.3281,2.3648,M,automatic,13,,WEL(GNS_Primary),2013-08-16T10:53:01.682,POINT (174.08011 -41.627991)
quake.2013p614733,2013p614733,2013-08-16T10:50:10.981,178.2201,-38.1618,5.1172,1.8497,M,automatic,10,,WEL(GNS_Primary),2013-08-16T10:52:22.745,POINT (178.22011 -38.161793)
quake.2013p614732,2013p614732,2013-08-16T10:49:40.105,174.2752,-41.5816,13.5547,2.5743,M,automatic,27,,WEL(GNS_Primary),2013-08-16T10:51:58.254,POINT (174.27522 -41.581593)
quake.2013p614730,2013p614730,2013-08-16T10:48:35.643,174.0827,-41.5697,67.5781,2.6241,M,automatic,12,,WEL(GNS_Primary),2013-08-16T10:50:51.645,POINT (174.08274 -41.569674)
quake.2013p614729,2013p614729,2013-08-16T10:47:49.386,178.5209,-38.6011,39.4531,2.3317,M,automatic,15,,WEL(GNS_Primary),2013-08-16T10:49:59.423,POINT (178.52088 -38.60114)
quake.2013p614721,2013p614721,2013-08-16T10:43:41.74,174.0513,-41.7777,15.8984,3.1023,M,automatic,50,,WEL(GNS_Primary),2013-08-16T10:47:40.45,POINT (174.05128 -41.777719)
quake.2013p614718,2013p614718,2013-08-16T10:42:09.1,174.2926,-41.5788,11.4453,2.9227,M,automatic,44,,WEL(GNS_Primary),2013-08-16T10:44:15.571,POINT (174.2926 -41.578768)
quake.2013p614714,2013p614714,2013-08-16T10:40:04.553,174.239,-41.5864,7.4609,2.6196,M,automatic,26,,WEL(GNS_Primary),2013-08-16T10:42:11.642,POINT (174.23905 -41.586368)
quake.2013p614711,2013p614711,2013-08-16T10:38:22.311,174.2363,-41.6099,5.0586,3.0445,M,automatic,32,,WEL(GNS_Primary),2013-08-16T10:41:10.76,POINT (174.23633 -41.609853)
quake.2013p614707,2013p614707,2013-08-16T10:36:17.467,174.871,-39.5831,11.7969,3.1904,M,automatic,24,,WEL(GNS_Primary),2013-08-16T10:40:05.677,POINT (174.87097 -39.583123)
quake.2013p614706,2013p614706,2013-08-16T10:35:40.35,174.1699,-41.6108,5.4102,3.7256,M,automatic,71,,WEL(GNS_Primary),2013-08-16T10:39:21.284,POINT (174.16986 -41.610818)
quake.2013p614702,2013p614702,2013-08-16T10:33:35.806,174.2683,-41.5868,5.2344,2.0383,M,automatic,10,,WEL(GNS_Primary),2013-08-16T10:35:09.207,POINT (174.26828 -41.586811)
quake.2013p614687,2013p614687,2013-08-16T10:25:41.088,174.1029,-41.7225,7.4609,3.1286,M,automatic,57,,WEL(GNS_Primary),2013-08-16T10:29:28.518,POINT (174.10291 -41.722508)
quake.2013p614684,2013p614684,2013-08-16T10:23:52.274,174.0705,-41.7733,26.9141,2.8995,M,automatic,19,,WEL(GNS_Primary),2013-08-16T10:27:04.971,POINT (174.07051 -41.773277)
quake.2013p614682,2013p614682,2013-08-16T10:22:38.772,174.5639,-40.2802,9.6875,3.2021,M,automatic,12,,WEL(GNS_Primary),2013-08-16T10:25:24.027,POINT (174.56393 -40.280248)
quake.2013p614681,2013p614681,2013-08-16T10:22:11.432,174.1253,-41.6765,20.1172,3.2963,M,automatic,59,,WEL(GNS_Primary),2013-08-16T10:25:50.57,POINT (174.12529 -41.676451)
quake.2013p614671,2013p614671,2013-08-16T10:17:13.666,174.2699,-41.5708,5.0586,2.8755,M,automatic,24,,WEL(GNS_Primary),2013-08-16T10:20:04.342,POINT (174.26988 -41.570801)
quake.2013p614668,2013p614668,2013-08-16T10:15:37.856,174.1157,-41.6835,10.5664,2.8875,M,automatic,34,,WEL(GNS_Primary),2013-08-16T10:18:45.202,POINT (174.11574 -41.683469)
quake.2013p614666,2013p614666,2013-08-16T10:14:30.402,174.252,-41.4883,10.0391,2.6321,M,automatic,21,,WEL(GNS_Primary),2013-08-16T10:16:47.008,POINT (174.25204 -41.488322)
quake.2013p614664,2013p614664,2013-08-16T10:13:15.157,174.7456,-41.4495,27.3828,2.4806,M,automatic,19,,WEL(GNS_Primary),2013-08-16T10:15:13.23,POINT (174.74556 -41.449484)
quake.2013p614661,2013p614661,2013-08-16T10:11:44.332,174.0837,-41.7113,5.0586,2.7001,M,automatic,21,,WEL(GNS_Primary),2013-08-16T10:13:57.05,POINT (174.08374 -41.711309)
quake.2013p614654,2013p614654,2013-08-16T10:08:05.393,174.1222,-41.5942,15.5469,2.3073,M,automatic,17,,WEL(GNS_Primary),2013-08-16T10:10:11.312,POINT (174.12222 -41.594193)
quake.2013p614649,2013p614649,2013-08-16T10:05:33.868,174.2746,-41.6383,12.3828,3.3428,M,automatic,47,,WEL(GNS_Primary),2013-08-16T10:09:04.619,POINT (174.27455 -41.638294)
quake.2013p614638,2013p614638,2013-08-16T09:59:46.177,174.245,-41.6656,5.0586,2.9579,M,automatic,36,,WEL(GNS_Primary),2013-08-16T10:02:54.103,POINT (174.24504 -41.665579)
quake.2013p614635,2013p614635,2013-08-16T09:57:33.571,174.2837,-41.5868,5.1172,2.8034,M,automatic,30,,WEL(GNS_Primary),2013-08-16T10:00:02.363,POINT (174.28369 -41.586847)
quake.2013p614632,2013p614632,2013-08-16T09:56:18.632,174.2502,-41.662,6.3477,2.7483,M,automatic,29,,WEL(GNS_Primary),2013-08-16T09:58:39.573,POINT (174.2502 -41.661977)
quake.2013p614629,2013p614629,2013-08-16T09:54:48.948,174.2516,-41.6581,6.1719,2.7125,M,automatic,31,,WEL(GNS_Primary),2013-08-16T09:58:17.924,POINT (174.25155 -41.658055)
quake.2013p614616,2013p614616,2013-08-16T09:47:50.689,174.0464,-41.7332,5.0586,2.6523,M,automatic,24,,WEL(GNS_Primary),2013-08-16T09:51:15.014,POINT (174.04644 -41.733155)
quake.2013p614607,2013p614607,2013-08-16T09:42:36.88,174.095,-41.7646,18.0664,3.381,M,automatic,62,,WEL(GNS_Primary),2013-08-16T09:46:08.793,POINT (174.09501 -41.764612)
quake.2013p614603,2013p614603,2013-08-16T09:41:15.204,174.2246,-41.5801,9.3359,2.5355,M,automatic,31,,WEL(GNS_Primary),2013-08-16T09:44:00.847,POINT (174.22456 -41.580103)
quake.2013p614601,2013p614601,2013-08-16T09:39:34.692,173.1853,-41.8896,89.8438,2.9087,M,automatic,12,,WEL(GNS_Primary),2013-08-16T09:42:44.613,POINT (173.18527 -41.889593)
quake.2013p614593,2013p614593,2013-08-16T09:36:22.675,174.1818,-41.691,16.4844,2.9383,M,automatic,23,,WEL(GNS_Primary),2013-08-16T09:38:43.744,POINT (174.18179 -41.69104)
quake.2013p614588,2013p614588,2013-08-16T09:32:52.413,174.0885,-41.7463,18.4766,3.1556,M,automatic,50,,WEL(GNS_Primary),2013-08-16T09:36:33.198,POINT (174.08851 -41.746277)
quake.2013p614584,2013p614584,2013-08-16T09:30:52.515,174.1701,-41.707,23.1641,2.6861,M,automatic,22,,WEL(GNS_Primary),2013-08-16T09:33:05.598,POINT (174.17014 -41.706964)
quake.2013p614582,2013p614582,2013-08-16T09:29:35.055,174.0143,-41.7057,5.1172,2.7895,M,automatic,15,,WEL(GNS_Primary),2013-08-16T09:31:47.97,POINT (174.0143 -41.705725)
quake.2013p614576,2013p614576,2013-08-16T09:26:54.23,174.2945,-41.6024,5.0586,2.5154,M,automatic,15,,WEL(GNS_Primary),2013-08-16T09:30:05.423,POINT (174.29451 -41.602388)
quake.2013p614572,2013p614572,2013-08-16T09:24:04.338,174.3203,-41.5579,5.1172,2.7743,M,automatic,29,,WEL(GNS_Primary),2013-08-16T09:28:00.743,POINT (174.32034 -41.557897)
quake.2013p614566,2013p614566,2013-08-16T09:21:29.132,174.1355,-41.6957,5.0586,3.5929,M,automatic,56,,WEL(GNS_Primary),2013-08-16T09:25:32.55,POINT (174.13552 -41.695729)
quake.2013p614565,2013p614565,2013-08-16T09:20:26.781,174.0727,-41.7692,13.7891,3.3851,M,automatic,46,,WEL(GNS_Primary),2013-08-16T09:24:01.468,POINT (174.07268 -41.76917)
quake.2013p614561,2013p614561,2013-08-16T09:18:34.717,174.1807,-41.7033,5.0586,2.971,M,automatic,21,,WEL(GNS_Primary),2013-08-16T09:21:59.845,POINT (174.18073 -41.703312)
quake.2013p614559,2013p614559,2013-08-16T09:17:33.414,174.3028,-41.5198,5.1172,2.4416,M,automatic,14,,WEL(GNS_Primary),2013-08-16T09:19:48.883,POINT (174.30282 -41.519846)
quake.2013p614557,2013p614557,2013-08-16T09:16:11.734,172.763,-43.5731,5.0586,3.1409,M,reviewed,19,,WEL(GNS_Primary),2013-08-16T09:34:26.795,POINT (172.763 -43.573132)
quake.2013p614556,2013p614556,2013-08-16T09:15:32.682,174.3506,-41.6038,5.1172,2.2755,M,automatic,18,,WEL(GNS_Primary),2013-08-16T09:18:31.289,POINT (174.35059 -41.603828)
quake.2013p614552,2013p614552,2013-08-16T09:13:26.446,174.0248,-41.6468,29.0234,2.285,M,automatic,14,,WEL(GNS_Primary),2013-08-16T09:16:34.724,POINT (174.02479 -41.646803)
quake.2013p614549,2013p614549,2013-08-16T09:11:21.43,173.8207,-41.5895,12.5,3.8307,M,automatic,16,,WEL(GNS_Primary),2013-08-16T09:15:11.645,POINT (173.82068 -41.589495)
quake.2013p614548,2013p614548,2013-08-16T09:11:13.173,174.12,-41.7113,21.0547,3.3361,M,automatic,62,,WEL(GNS_Primary),2013-08-16T09:14:54.015,POINT (174.12005 -41.711332)
quake.2013p614544,2013p614544,2013-08-16T09:09:09.135,173.9846,-41.7282,5.1172,3.1062,M,automatic,22,,WEL(GNS_Primary),2013-08-16T09:11:29.357,POINT (173.9846 -41.728212)
quake.2013p614542,2013p614542,2013-08-16T09:08:06.339,174.2763,-41.6475,5.1172,2.958,M,automatic,36,,WEL(GNS_Primary),2013-08-16T09:10:35.921,POINT (174.27627 -41.64752)
quake.2013p614538,2013p614538,2013-08-16T09:05:42.795,172.0191,-42.8056,323.75,4.2913,M,automatic,14,,WEL(GNS_Primary),2013-08-16T09:09:17.495,POINT (172.0191 -42.805639)
quake.2013p614535,2013p614535,2013-08-16T09:04:22.154,173.9464,-41.8164,10.5078,3.1077,M,automatic,28,,WEL(GNS_Primary),2013-08-16T09:08:00.096,POINT (173.94637 -41.816354)
quake.2013p614534,2013p614534,2013-08-16T09:04:06.871,177.0565,-39.4048,20.5859,2.539,M,automatic,41,,WEL(GNS_Primary),2013-08-16T09:09:35.498,POINT (177.05647 -39.404754)
quake.2013p614529,2013p614529,2013-08-16T09:01:04.339,174.1058,-41.7134,6.7578,3.3747,M,automatic,41,,WEL(GNS_Primary),2013-08-16T09:04:30.808,POINT (174.10583 -41.713417)
quake.2013p614525,2013p614525,2013-08-16T08:59:17.289,174.0988,-41.7499,21.7578,3.65,M,automatic,72,,WEL(GNS_Primary),2013-08-16T09:05:22.376,POINT (174.09878 -41.749915)
quake.2013p614519,2013p614519,2013-08-16T08:56:06.012,174.1339,-41.7117,5.1172,2.7026,M,automatic,34,,WEL(GNS_Primary),2013-08-16T08:58:37.232,POINT (174.13389 -41.711739)
quake.2013p614512,2013p614512,2013-08-16T08:52:29.633,174.2646,-41.6641,13.3789,3.757,M,automatic,83,,WEL(GNS_Primary),2013-08-16T08:58:41.617,POINT (174.26456 -41.664067)
quake.2013p614510,2013p614510,2013-08-16T08:51:25.472,174.2974,-41.5464,5.1172,2.5173,M,automatic,10,,WEL(GNS_Primary),2013-08-16T08:53:58.162,POINT (174.29737 -41.546378)
quake.2013p614506,2013p614506,2013-08-16T08:49:43.258,174.4077,-41.8891,5.1172,3.4652,M,automatic,38,,WEL(GNS_Primary),2013-08-16T08:53:16.108,POINT (174.40773 -41.889094)
quake.2013p614503,2013p614503,2013-08-16T08:47:21.704,174.1967,-41.6118,16.6016,2.812,M,automatic,35,,WEL(GNS_Primary),2013-08-16T08:51:10.316,POINT (174.1967 -41.611816)
quake.2013p614496,2013p614496,2013-08-16T08:44:09.742,174.1463,-41.6704,9.5703,3.5884,M,automatic,55,,WEL(GNS_Primary),2013-08-16T08:50:40.667,POINT (174.14628 -41.670394)
quake.2013p614487,2013p614487,2013-08-16T08:38:54.758,174.1145,-41.7379,21.7578,5.2016,M,reviewed,39,,WEL(GNS_Primary),2013-08-16T08:49:25.321,POINT (174.11451 -41.737864)
quake.2013p614479,2013p614479,2013-08-16T08:35:35.316,174.2751,-41.6243,5.0586,3.6511,M,automatic,59,,WEL(GNS_Primary),2013-08-16T08:39:36.751,POINT (174.27507 -41.624338)
quake.2013p614468,2013p614468,2013-08-16T08:29:05.828,174.2662,-41.6474,16.6602,3.3646,M,automatic,59,,WEL(GNS_Primary),2013-08-16T08:32:46.039,POINT (174.26625 -41.647434)
quake.2013p614462,2013p614462,2013-08-16T08:25:25.921,174.0287,-41.6615,22.5781,2.8764,M,automatic,12,,WEL(GNS_Primary),2013-08-16T08:28:17.776,POINT (174.02873 -41.661518)
quake.2013p614459,2013p614459,2013-08-16T08:24:14.587,174.0065,-41.6655,30.4297,3.5442,M,automatic,50,,WEL(GNS_Primary),2013-08-16T08:34:19.863,POINT (174.00652 -41.665454)
quake.2013p614458,2013p614458,2013-08-16T08:23:38.489,172.5641,-43.5883,0.057,2.0389,M,automatic,10,,WEL(GNS_Primary),2013-08-16T08:24:58.197,POINT (172.56409 -43.588257)
quake.2013p614454,2013p614454,2013-08-16T08:21:23.977,174.0716,-41.6432,19.4141,2.6862,M,automatic,26,,WEL(GNS_Primary),2013-08-16T08:23:42.7,POINT (174.07165 -41.643175)
quake.2013p614447,2013p614447,2013-08-16T08:17:32.951,174.2844,-41.624,8.0469,3.2445,M,automatic,51,,WEL(GNS_Primary),2013-08-16T08:26:53.037,POINT (174.28438 -41.623986)
quake.2013p614443,2013p614443,2013-08-16T08:15:38.57,174.2598,-41.6754,15.4297,2.5491,M,reviewed,14,,WEL(GNS_Primary),2013-08-16T09:59:46.931,POINT (174.25979 -41.675396)
quake.2013p614440,2013p614440,2013-08-16T08:13:54.272,174.3009,-41.643,5.0586,3.1969,M,automatic,39,,WEL(GNS_Primary),2013-08-16T08:17:37.379,POINT (174.30086 -41.643029)
quake.2013p614437,2013p614437,2013-08-16T08:12:26.779,174.2389,-41.6081,10.9766,3.0534,M,automatic,41,,WEL(GNS_Primary),2013-08-16T08:15:59.502,POINT (174.23891 -41.608052)
quake.2013p614435,2013p614435,2013-08-16T08:11:02.741,174.1337,-41.6925,5.1172,2.5886,M,automatic,20,,WEL(GNS_Primary),2013-08-16T08:13:16.633,POINT (174.13368 -41.692547)
quake.2013p614428,2013p614428,2013-08-16T08:08:36.259,174.0373,-41.7473,26.6797,2.721,M,automatic,19,,WEL(GNS_Primary),2013-08-16T08:11:08.656,POINT (174.03734 -41.747278)
quake.2013p614424,2013p614424,2013-08-16T08:05:34.464,174.2832,-41.6844,5.3516,3.2131,M,automatic,51,,WEL(GNS_Primary),2013-08-16T08:09:22.296,POINT (174.28316 -41.684424)
quake.2013p614417,2013p614417,2013-08-16T08:01:31.801,174.1719,-41.721,5.0586,3.4693,M,automatic,30,,WEL(GNS_Primary),2013-08-16T08:04:42.899,POINT (174.1719 -41.720988)
quake.2013p614413,2013p614413,2013-08-16T07:59:36.641,174.2755,-41.6525,17.3047,3.8731,M,reviewed,16,,WEL(GNS_Primary),2013-08-16T10:07:36.848,POINT (174.27553 -41.652503)
quake.2013p614410,2013p614410,2013-08-16T07:57:41.075,173.691,-42.0229,64.0625,3.0333,M,automatic,12,,WEL(GNS_Primary),2013-08-16T07:59:21.274,POINT (173.69103 -42.022879)
quake.2013p614406,2013p614406,2013-08-16T07:55:34.07,174.18,-41.5375,27.2656,2.8267,M,automatic,18,,WEL(GNS_Primary),2013-08-16T07:58:29.335,POINT (174.18004 -41.537502)
quake.2013p614401,2013p614401,2013-08-16T07:53:27.023,174.2757,-41.8077,5.1172,3.9391,M,automatic,78,,WEL(GNS_Primary),2013-08-16T07:57:33.76,POINT (174.27574 -41.807656)
quake.2013p614398,2013p614398,2013-08-16T07:51:31.308,174.0922,-41.7526,14.8438,2.9705,M,automatic,54,,WEL(GNS_Primary),2013-08-16T07:55:06.613,POINT (174.09218 -41.752641)
quake.2013p614392,2013p614392,2013-08-16T07:48:17.151,174.2651,-41.6188,9.3359,2.5716,M,automatic,17,,WEL(GNS_Primary),2013-08-16T07:49:55.284,POINT (174.26508 -41.618831)
quake.2013p614386,2013p614386,2013-08-16T07:46:05.47,174.2728,-41.6399,16.1328,2.9192,M,automatic,45,,WEL(GNS_Primary),2013-08-16T07:49:53.132,POINT (174.27276 -41.63991)
quake.2013p614383,2013p614383,2013-08-16T07:43:27.749,174.1792,-41.5846,15.6641,2.965,M,automatic,27,,WEL(GNS_Primary),2013-08-16T07:46:25.523,POINT (174.17917 -41.584607)
quake.2013p614380,2013p614380,2013-08-16T07:42:10.053,174.3951,-41.7957,61.9531,2.8961,M,automatic,30,,WEL(GNS_Primary),2013-08-16T07:45:13.253,POINT (174.39508 -41.795724)
quake.2013p614375,2013p614375,2013-08-16T07:39:20.11,174.4952,-41.5534,18.8281,2.3738,M,automatic,10,,WEL(GNS_Primary),2013-08-16T07:41:52.089,POINT (174.49515 -41.553449)
quake.2013p614372,2013p614372,2013-08-16T07:37:57.214,175.6813,-39.7223,24.5703,2.8732,M,automatic,14,,WEL(GNS_Primary),2013-08-16T07:41:17.696,POINT (175.68129 -39.722291)
quake.2013p614371,2013p614371,2013-08-16T07:37:14.368,174.0625,-41.7138,5.1172,3.2185,M,automatic,44,,WEL(GNS_Primary),2013-08-16T07:40:51.975,POINT (174.06251 -41.713814)
quake.2013p614369,2013p614369,2013-08-16T07:35:53.105,174.2743,-41.6191,5.1172,2.9419,M,automatic,17,,WEL(GNS_Primary),2013-08-16T07:38:23.949,POINT (174.2743 -41.619102)
quake.2013p614365,2013p614365,2013-08-16T07:34:13,174.2707,-41.5706,9.5703,2.9944,M,automatic,41,,WEL(GNS_Primary),2013-08-16T07:38:04.749,POINT (174.27068 -41.570616)
quake.2013p614361,2013p614361,2013-08-16T07:31:32.276,173.9019,-41.0613,45.3125,2.9884,M,automatic,11,,WEL(GNS_Primary),2013-08-16T07:33:55.992,POINT (173.90186 -41.061287)
quake.2013p614358,2013p614358,2013-08-16T07:30:15.932,174.0549,-41.6927,13.3203,2.804,M,automatic,15,,WEL(GNS_Primary),2013-08-16T07:33:09.941,POINT (174.05488 -41.692735)
quake.2013p614356,2013p614356,2013-08-16T07:28:59.952,174.2098,-41.5655,6.0547,2.9685,M,automatic,19,,WEL(GNS_Primary),2013-08-16T07:32:07.912,POINT (174.20977 -41.565487)
quake.2013p614351,2013p614351,2013-08-16T07:26:49.024,173.8675,-41.8862,21.4062,4.2304,M,reviewed,38,,WEL(GNS_Primary),2013-08-16T07:35:47.094,POINT (173.86748 -41.886207)
quake.2013p614345,2013p614345,2013-08-16T07:23:15.211,174.2342,-41.8786,26.5625,4.6749,M,reviewed,41,,WEL(GNS_Primary),2013-08-16T07:31:50.84,POINT (174.23423 -41.878593)
quake.2013p614342,2013p614342,2013-08-16T07:21:50.033,174.0606,-41.7263,5.1172,2.8227,M,automatic,17,,WEL(GNS_Primary),2013-08-16T07:24:01.324,POINT (174.06062 -41.726272)
quake.2013p614339,2013p614339,2013-08-16T07:20:02.064,174.2518,-41.5208,9.8047,3.0255,M,automatic,27,,WEL(GNS_Primary),2013-08-16T07:23:13.424,POINT (174.25184 -41.520848)
quake.2013p614337,2013p614337,2013-08-16T07:18:39.983,174.5525,-41.3041,8.75,3.6403,M,automatic,16,,WEL(GNS_Primary),2013-08-16T07:22:14.812,POINT (174.55251 -41.304096)
quake.2013p614334,2013p614334,2013-08-16T07:18:20.718,174.0658,-41.784,9.3359,3.4969,M,automatic,57,,WEL(GNS_Primary),2013-08-16T07:24:56.775,POINT (174.06579 -41.783984)
quake.2013p614327,2013p614327,2013-08-16T07:13:54.743,174.098,-41.714,7.4609,3.9601,M,reviewed,26,,WEL(GNS_Primary),2013-08-16T09:17:23.174,POINT (174.09801 -41.714022)
quake.2013p614325,2013p614325,2013-08-16T07:12:35.363,174.2661,-41.7269,19.7656,3.1977,M,reviewed,11,,WEL(GNS_Primary),2013-08-16T09:08:45.975,POINT (174.26606 -41.726879)
quake.2013p614320,2013p614320,2013-08-16T07:10:10.889,174.2805,-41.7235,22.2266,3.6542,M,automatic,68,,WEL(GNS_Primary),2013-08-16T07:17:29.974,POINT (174.28046 -41.723548)
quake.2013p614313,2013p614313,2013-08-16T07:06:53.126,174.2635,-41.7648,18.2422,3.7687,M,automatic,73,,WEL(GNS_Primary),2013-08-16T07:12:43.481,POINT (174.26354 -41.764758)
quake.2013p614306,2013p614306,2013-08-16T07:02:49.182,174.2729,-41.6182,13.7891,3.606,M,automatic,57,,WEL(GNS_Primary),2013-08-16T07:07:02.185,POINT (174.27289 -41.618226)
quake.2013p614302,2013p614302,2013-08-16T07:00:20.283,174.3202,-41.6951,23.5156,3.2306,M,automatic,14,,WEL(GNS_Primary),2013-08-16T07:03:13.281,POINT (174.3202 -41.695104)
quake.2013p614294,2013p614294,2013-08-16T06:55:58.94,174.2889,-41.6771,19.6484,5.4909,M,reviewed,36,,WEL(GNS_Primary),2013-08-16T07:06:08.038,POINT (174.28888 -41.677085)
quake.2013p614289,2013p614289,2013-08-16T06:53:34.266,174.1436,-41.6987,18.4766,4.8752,M,reviewed,29,,WEL(GNS_Primary),2013-08-16T07:04:43.155,POINT (174.14358 -41.698676)
quake.2013p614284,2013p614284,2013-08-16T06:50:35.193,174.1154,-41.7268,5.0586,3.0369,M,automatic,23,,WEL(GNS_Primary),2013-08-16T06:53:47.412,POINT (174.1154 -41.726837)
quake.2013p614280,2013p614280,2013-08-16T06:48:53.291,173.9938,-41.7994,15.4297,3.5117,M,automatic,54,,WEL(GNS_Primary),2013-08-16T06:52:36.395,POINT (173.99384 -41.799393)
quake.2013p614278,2013p614278,2013-08-16T06:47:43.477,174.2287,-41.8065,5.293,3.4651,M,automatic,25,,WEL(GNS_Primary),2013-08-16T06:51:23.112,POINT (174.22872 -41.806487)
quake.2013p614268,2013p614268,2013-08-16T06:42:40.757,174.2899,-41.6913,20.1172,5.2131,M,reviewed,29,,WEL(GNS_Primary),2013-08-16T06:50:32.198,POINT (174.28987 -41.691294)
quake.2013p614265,2013p614265,2013-08-16T06:40:54.896,174.0217,-41.6776,23.6328,3.0423,M,reviewed,23,,WEL(GNS_Primary),2013-08-16T07:28:45.183,POINT (174.02166 -41.677578)
quake.2013p614261,2013p614261,2013-08-16T06:38:28.161,174.065,-41.6874,6.2305,3.2895,M,automatic,34,,WEL(GNS_Primary),2013-08-16T06:43:49.324,POINT (174.06496 -41.6874)
quake.2013p614256,2013p614256,2013-08-16T06:36:39.967,174.258,-41.6301,5.0586,3.7092,M,automatic,65,,WEL(GNS_Primary),2013-08-16T06:43:49.881,POINT (174.25802 -41.630092)
quake.2013p614252,2013p614252,2013-08-16T06:33:48.436,174.2774,-41.7652,21.7578,3.6818,M,automatic,63,,WEL(GNS_Primary),2013-08-16T06:39:49.037,POINT (174.27739 -41.765165)
quake.2013p614245,2013p614245,2013-08-16T06:30:36.227,174.3249,-39.7593,49.0625,3.4817,M,automatic,45,,WEL(GNS_Primary),2013-08-16T06:36:08.979,POINT (174.32492 -39.759258)
quake.2013p614241,2013p614241,2013-08-16T06:28:31.376,175.4688,-39.9078,5.0586,3.0444,M,automatic,36,,WEL(GNS_Primary),2013-08-16T06:32:36.085,POINT (175.46877 -39.907827)
quake.2013p614239,2013p614239,2013-08-16T06:27:09.623,174.0696,-41.7795,13.2031,3.6917,M,automatic,48,,WEL(GNS_Primary),2013-08-16T06:33:37.808,POINT (174.06957 -41.779506)
quake.2013p614234,2013p614234,2013-08-16T06:24:17.714,174.0525,-41.7594,12.1484,3.41,M,automatic,26,,WEL(GNS_Primary),2013-08-16T06:31:01.883,POINT (174.05251 -41.759402)
quake.2013p614233,2013p614233,2013-08-16T06:23:23.724,176.7109,-37.0714,315.3125,4.0933,M,automatic,82,,WEL(GNS_Primary),2013-08-16T06:30:12.627,POINT (176.7109 -37.071448)
quake.2013p614232,2013p614232,2013-08-16T06:23:11.937,174.27,-41.4709,10.1562,3.5798,M,automatic,37,,WEL(GNS_Primary),2013-08-16T06:26:46.316,POINT (174.27 -41.470918)
quake.2013p614230,2013p614230,2013-08-16T06:22:03.189,175.8294,-39.6263,15.7812,2.9333,M,automatic,11,,WEL(GNS_Primary),2013-08-16T06:24:56.325,POINT (175.82945 -39.626323)
quake.2013p614229,2013p614229,2013-08-16T06:21:20.594,174.2339,-41.7355,11.6797,3.6718,M,automatic,60,,WEL(GNS_Primary),2013-08-16T06:28:35.359,POINT (174.23387 -41.735527)
quake.2013p614226,2013p614226,2013-08-16T06:20:00.917,174.2504,-41.4683,13.0859,2.9183,M,automatic,26,,WEL(GNS_Primary),2013-08-16T06:22:25.874,POINT (174.25039 -41.468254)
quake.2013p614219,2013p614219,2013-08-16T06:16:35.794,174.0737,-41.7725,11.6797,3.6115,M,automatic,63,,WEL(GNS_Primary),2013-08-16T06:22:19.086,POINT (174.07371 -41.772537)
quake.2013p614214,2013p614214,2013-08-16T06:13:33.863,174.0634,-41.7587,5.0586,2.9481,M,automatic,28,,WEL(GNS_Primary),2013-08-16T06:15:44.193,POINT (174.06344 -41.75868)
quake.2013p614206,2013p614206,2013-08-16T06:09:16.72,176.1846,-39.0228,5.2344,2.8319,M,automatic,26,,WEL(GNS_Primary),2013-08-16T06:13:47.982,POINT (176.18457 -39.022813)
quake.2013p614204,2013p614204,2013-08-16T06:08:22.069,174.1359,-41.7498,16.0156,4.1489,M,automatic,101,,WEL(GNS_Primary),2013-08-16T06:15:32.353,POINT (174.13591 -41.749753)
quake.2013p614201,2013p614201,2013-08-16T06:06:40.4,174.1521,-41.6522,6.0547,2.812,M,automatic,20,,WEL(GNS_Primary),2013-08-16T06:08:58.537,POINT (174.15209 -41.652213)
quake.2013p614198,2013p614198,2013-08-16T06:04:59.986,174.2819,-41.6619,5.1172,3.0066,M,automatic,31,,WEL(GNS_Primary),2013-08-16T06:08:41.345,POINT (174.28187 -41.661864)
quake.2013p614195,2013p614195,2013-08-16T06:03:17.198,174.7352,-41.3916,9.5703,2.7365,M,automatic,28,,WEL(GNS_Primary),2013-08-16T06:06:42.868,POINT (174.73522 -41.391636)
quake.2013p614184,2013p614184,2013-08-16T05:57:52.448,174.3137,-41.687,5.1172,5.0747,M,reviewed,26,,WEL(GNS_Primary),2013-08-16T06:25:07.055,POINT (174.31367 -41.686988)
quake.2013p614183,2013p614183,2013-08-16T05:56:49.317,175.4156,-39.8656,32.1875,3.2137,M,automatic,14,,WEL(GNS_Primary),2013-08-16T05:59:32.936,POINT (175.41555 -39.865579)
quake.2013p614182,2013p614182,2013-08-16T05:56:10.606,174.0286,-41.6219,10.0391,5.0008,M,reviewed,23,,WEL(GNS_Primary),2013-08-16T06:27:02.745,POINT (174.02858 -41.621888)
quake.2013p614177,2013p614177,2013-08-16T05:53:51.72,174.2992,-41.6699,5.1172,3.2033,M,automatic,18,,WEL(GNS_Primary),2013-08-16T05:56:50.313,POINT (174.29921 -41.669881)
quake.2013p614173,2013p614173,2013-08-16T05:51:48.376,174.2045,-41.7874,9.7461,3.816,M,automatic,16,,WEL(GNS_Primary),2013-08-16T05:54:58.725,POINT (174.20449 -41.787425)
quake.2013p614170,2013p614170,2013-08-16T05:50:15.466,174.14,-41.6863,5.0586,4.1507,M,reviewed,21,,WEL(GNS_Primary),2013-08-16T10:42:36.086,POINT (174.14003 -41.686268)
quake.2013p614162,2013p614162,2013-08-16T05:46:46.589,174.2674,-41.6556,7.4609,3.5759,M,automatic,51,,WEL(GNS_Primary),2013-08-16T05:50:43.346,POINT (174.26736 -41.655599)
quake.2013p614158,2013p614158,2013-08-16T05:44:39.995,174.823,-41.2799,5.0293,2.3026,M,automatic,12,,WEL(GNS_Primary),2013-08-16T05:47:16.662,POINT (174.82302 -41.279874)
quake.2013p614156,2013p614156,2013-08-16T05:42:32.049,174.0025,-41.7325,37.1094,3.7006,M,automatic,13,,WEL(GNS_Primary),2013-08-16T05:45:07.405,POINT (174.0025 -41.732491)
quake.2013p614153,2013p614153,2013-08-16T05:41:17.553,174.8302,-41.56,5.2344,4.0657,M,automatic,46,,WEL(GNS_Primary),2013-08-16T05:52:40.912,POINT (174.83022 -41.559971)
quake.2013p614148,2013p614148,2013-08-16T05:38:05.237,174.3904,-41.7643,28.0859,3.9563,M,reviewed,11,,WEL(GNS_Primary),2013-08-16T11:18:23.801,POINT (174.3904 -41.764308)
quake.2013p614146,2013p614146,2013-08-16T05:37:02.581,174.2734,-41.5519,9.9219,3.6696,M,automatic,20,,WEL(GNS_Primary),2013-08-16T05:39:41.6,POINT (174.27344 -41.551929)
quake.2013p614140,2013p614140,2013-08-16T05:34:05.816,174.2801,-41.5384,12.3828,4.357,M,automatic,17,,WEL(GNS_Primary),2013-08-16T05:36:56.484,POINT (174.28006 -41.538361)
quake.2013p614135,2013p614135,2013-08-16T05:31:16.483,174.2623,-41.6688,14.2578,5.9759,M,reviewed,40,,WEL(GNS_Primary),2013-08-16T05:47:44.587,POINT (174.26231 -41.668797)
quake.2013p614128,2013p614128,2013-08-16T05:27:37.216,176.4391,-38.8981,14.8438,3.4706,M,automatic,23,,WEL(GNS_Primary),2013-08-16T05:30:42.966,POINT (176.43913 -38.898076)
quake.2013p614125,2013p614125,2013-08-16T05:26:39.651,174.0896,-41.7388,21.0547,4.8924,M,reviewed,66,,WEL(GNS_Primary),2013-08-16T10:23:44.025,POINT (174.08964 -41.738802)
quake.2013p614122,2013p614122,2013-08-16T05:24:17.409,174.1545,-41.698,5.0586,4.5731,M,automatic,40,,WEL(GNS_Primary),2013-08-16T05:27:28.338,POINT (174.1545 -41.697954)
quake.2013p614120,2013p614120,2013-08-16T05:23:37.781,175.2385,-39.8402,15.3125,2.9065,M,automatic,13,,WEL(GNS_Primary),2013-08-16T05:26:36.16,POINT (175.23854 -39.840227)
quake.2013p614119,2013p614119,2013-08-16T05:22:58.912,174.0942,-41.7907,10.5078,3.483,M,automatic,64,,WEL(GNS_Primary),2013-08-16T05:29:32.646,POINT (174.09417 -41.790655)
quake.2013p614112,2013p614112,2013-08-16T05:19:25.034,174.578,-41.5559,30.5469,2.4301,M,automatic,18,,WEL(GNS_Primary),2013-08-16T05:21:37.728,POINT (174.57802 -41.555887)
quake.2013p614106,2013p614106,2013-08-16T05:15:58.479,174.5655,-40.1835,8.75,3.6936,M,automatic,16,,WEL(GNS_Primary),2013-08-16T05:18:53.373,POINT (174.56549 -40.183547)
quake.2013p614105,2013p614105,2013-08-16T05:15:28.43,174.1832,-41.6606,6.2891,4.1417,M,automatic,87,,WEL(GNS_Primary),2013-08-16T05:21:53.307,POINT (174.18325 -41.660635)
quake.2013p614103,2013p614103,2013-08-16T05:14:51.4,173.8808,-40.8788,22.3438,4.1202,M,automatic,22,,WEL(GNS_Primary),2013-08-16T05:18:51.112,POINT (173.88081 -40.87879)
quake.2013p614100,2013p614100,2013-08-16T05:12:57.835,174.2508,-41.58,12.3828,2.765,M,automatic,28,,WEL(GNS_Primary),2013-08-16T05:18:07.471,POINT (174.25078 -41.58004)
quake.2013p614093,2013p614093,2013-08-16T05:08:57.931,174.2818,-41.6101,12.3828,3.1362,M,automatic,38,,WEL(GNS_Primary),2013-08-16T05:11:56.627,POINT (174.28179 -41.610147)
quake.2013p614089,2013p614089,2013-08-16T05:06:41.877,173.9702,-41.812,11.6797,3.3904,M,automatic,50,,WEL(GNS_Primary),2013-08-16T05:16:06.606,POINT (173.97024 -41.812049)
quake.2013p614086,2013p614086,2013-08-16T05:05:17.486,174.0237,-41.6338,33.5938,2.8533,M,automatic,12,,WEL(GNS_Primary),2013-08-16T05:07:49.164,POINT (174.02368 -41.63384)
quake.2013p614082,2013p614082,2013-08-16T05:03:02.82,175.415,-40.0106,5.4688,3.4297,M,automatic,25,,WEL(GNS_Primary),2013-08-16T05:06:29.03,POINT (175.415 -40.01063)
quake.2013p614077,2013p614077,2013-08-16T05:02:26.463,174.0095,-41.6155,5.1172,4.2528,M,automatic,99,,WEL(GNS_Primary),2013-08-16T05:14:03.63,POINT (174.00949 -41.615487)
quake.2013p614073,2013p614073,2013-08-16T04:58:08.562,174.1162,-41.7062,8.1641,3.6433,M,automatic,42,,WEL(GNS_Primary),2013-08-16T05:05:25.168,POINT (174.11618 -41.706214)
quake.2013p614069,2013p614069,2013-08-16T04:56:00.429,174.1824,-41.5941,8.457,3.8356,M,automatic,51,,WEL(GNS_Primary),2013-08-16T04:59:46.958,POINT (174.18238 -41.594086)
quake.2013p614062,2013p614062,2013-08-16T04:52:18.111,174.3059,-41.2267,41.5625,4.3241,M,automatic,18,,WEL(GNS_Primary),2013-08-16T04:56:20.922,POINT (174.30594 -41.226746)
quake.2013p614061,2013p614061,2013-08-16T04:52:02.404,174.1076,-41.6709,19.4141,4.1458,M,automatic,84,,WEL(GNS_Primary),2013-08-16T05:01:43.22,POINT (174.1076 -41.670926)
quake.2013p614058,2013p614058,2013-08-16T04:50:33.202,174.183,-41.6571,6.3477,3.6375,M,automatic,56,,WEL(GNS_Primary),2013-08-16T04:53:51.648,POINT (174.183 -41.657083)
quake.2013p614056,2013p614056,2013-08-16T04:49:03.29,174.0311,-41.768,11.2109,2.9185,M,automatic,22,,WEL(GNS_Primary),2013-08-16T04:51:12.135,POINT (174.03111 -41.767951)
quake.2013p614051,2013p614051,2013-08-16T04:46:56.647,173.9257,-41.7899,5.1172,3.5512,M,automatic,32,,WEL(GNS_Primary),2013-08-16T04:50:16.958,POINT (173.92568 -41.789886)
quake.2013p614042,2013p614042,2013-08-16T04:42:22.812,174.1753,-41.523,5.5273,3.3763,M,automatic,23,,WEL(GNS_Primary),2013-08-16T04:44:50.858,POINT (174.17527 -41.522973)
quake.2013p614040,2013p614040,2013-08-16T04:40:31.154,174.0308,-41.6069,24.5703,2.7604,M,automatic,18,,WEL(GNS_Primary),2013-08-16T04:42:44.165,POINT (174.03084 -41.606939)
quake.2013p614033,2013p614033,2013-08-16T04:37:17.123,174.2901,-41.5902,10.332,2.9187,M,automatic,24,,WEL(GNS_Primary),2013-08-16T04:42:11.408,POINT (174.29014 -41.590165)
quake.2013p614025,2013p614025,2013-08-16T04:32:54.521,174.2228,-41.6437,6.9336,3.4929,M,automatic,55,,WEL(GNS_Primary),2013-08-16T04:44:23.158,POINT (174.22282 -41.643656)
quake.2013p614022,2013p614022,2013-08-16T04:31:01.599,174.1272,-41.8696,34.2969,2.8259,M,automatic,22,,WEL(GNS_Primary),2013-08-16T04:34:53.633,POINT (174.12715 -41.869618)
quake.2013p614020,2013p614020,2013-08-16T04:30:02.382,174.1803,-41.6595,5.0586,2.9557,M,automatic,31,,WEL(GNS_Primary),2013-08-16T04:32:18.308,POINT (174.18033 -41.659507)
quake.2013p614015,2013p614015,2013-08-16T04:27:38.155,174.2871,-41.6161,5.1172,2.9445,M,automatic,31,,WEL(GNS_Primary),2013-08-16T04:30:31.696,POINT (174.28708 -41.616141)
quake.2013p614011,2013p614011,2013-08-16T04:25:00.613,174.4844,-41.4355,143.75,3.7825,M,automatic,17,,WEL(GNS_Primary),2013-08-16T04:28:03.599,POINT (174.48445 -41.435533)
quake.2013p614010,2013p614010,2013-08-16T04:24:46.426,174.2454,-41.6889,5.0586,3.8644,M,automatic,50,,WEL(GNS_Primary),2013-08-16T04:39:20.613,POINT (174.24543 -41.688946)
quake.2013p614007,2013p614007,2013-08-16T04:24:10.864,174.2,-41.5485,11.9141,3.5521,M,automatic,20,,WEL(GNS_Primary),2013-08-16T04:26:46.515,POINT (174.19997 -41.548516)
quake.2013p614005,2013p614005,2013-08-16T04:22:01.289,174.1212,-41.5704,9.3359,3.1686,M,automatic,27,,WEL(GNS_Primary),2013-08-16T04:34:41.989,POINT (174.12117 -41.570388)
quake.2013p613999,2013p613999,2013-08-16T04:19:37.506,173.9606,-41.6424,12.3828,3.2832,M,automatic,11,,WEL(GNS_Primary),2013-08-16T04:22:30.345,POINT (173.96064 -41.642415)
quake.2013p614000,2013p614000,2013-08-16T04:19:06.639,174.4058,-40.2021,217.8125,2.9861,M,automatic,11,,WEL(GNS_Primary),2013-08-16T04:22:20.874,POINT (174.40583 -40.202105)
quake.2013p613994,2013p613994,2013-08-16T04:16:30.351,174.1981,-41.6127,11.2109,2.8067,M,automatic,26,,WEL(GNS_Primary),2013-08-16T04:18:29.955,POINT (174.19812 -41.612691)
quake.2013p613988,2013p613988,2013-08-16T04:12:50.119,174.1685,-41.7591,45.5469,3.839,M,automatic,42,,WEL(GNS_Primary),2013-08-16T04:16:36.389,POINT (174.16852 -41.759052)
quake.2013p613986,2013p613986,2013-08-16T04:12:00.568,175.2125,-40.4064,5.9375,3.276,M,automatic,15,,WEL(GNS_Primary),2013-08-16T04:15:10.922,POINT (175.21253 -40.406423)
quake.2013p613985,2013p613985,2013-08-16T04:11:30.598,173.9862,-41.7988,12.7344,3.869,M,automatic,58,,WEL(GNS_Primary),2013-08-16T04:25:32.831,POINT (173.9862 -41.798752)
quake.2013p613979,2013p613979,2013-08-16T04:08:04.234,174.2251,-41.6594,5.1172,3.3162,M,automatic,11,,WEL(GNS_Primary),2013-08-16T04:10:24.242,POINT (174.22512 -41.659363)
quake.2013p613977,2013p613977,2013-08-16T04:06:58.683,174.1776,-41.6571,10.0391,3.3744,M,automatic,39,,WEL(GNS_Primary),2013-08-16T04:21:13.123,POINT (174.17759 -41.657133)
quake.2013p613972,2013p613972,2013-08-16T04:04:11.02,174.5893,-41.2184,18.125,4.1944,M,automatic,14,,WEL(GNS_Primary),2013-08-16T04:07:29.455,POINT (174.58928 -41.218444)
quake.2013p613971,2013p613971,2013-08-16T04:03:54.775,174.257,-41.6472,5.0586,4.3703,M,automatic,77,,WEL(GNS_Primary),2013-08-16T04:20:31.188,POINT (174.25703 -41.647163)
quake.2013p613968,2013p613968,2013-08-16T04:02:32.397,174.2297,-41.6703,16.8359,4.1161,M,automatic,44,,WEL(GNS_Primary),2013-08-16T04:16:54.454,POINT (174.22966 -41.67034)
quake.2013p613965,2013p613965,2013-08-16T04:00:40.495,173.986,-41.8,12.8516,3.6071,M,automatic,46,,WEL(GNS_Primary),2013-08-16T04:06:24.881,POINT (173.98601 -41.799997)
quake.2013p613962,2013p613962,2013-08-16T03:59:25.493,173.8632,-41.6637,26.9141,3.0245,M,automatic,11,,WEL(GNS_Primary),2013-08-16T04:01:24.043,POINT (173.86321 -41.663746)
quake.2013p613959,2013p613959,2013-08-16T03:58:05.033,174.3106,-41.6348,5.2344,3.4736,M,automatic,14,,WEL(GNS_Primary),2013-08-16T04:01:05.165,POINT (174.31056 -41.634765)
quake.2013p613956,2013p613956,2013-08-16T03:56:03.07,173.9865,-41.6448,11.6797,3.6665,M,automatic,14,,WEL(GNS_Primary),2013-08-16T03:59:14.025,POINT (173.98651 -41.644844)
quake.2013p613947,2013p613947,2013-08-16T03:51:35.749,174.1742,-41.6952,19.3555,5.5872,M,reviewed,54,,WEL(GNS_Primary),2013-08-16T04:25:03.593,POINT (174.17422 -41.695197)
quake.2013p613944,2013p613944,2013-08-16T03:49:34.089,174.0386,-41.729,5.1172,3.5846,M,reviewed,27,,WEL(GNS_Primary),2013-08-16T04:40:51.234,POINT (174.03858 -41.728962)
quake.2013p613940,2013p613940,2013-08-16T03:47:43.885,174.2731,-41.5231,12.3828,3.093,M,automatic,28,,WEL(GNS_Primary),2013-08-16T03:50:34.39,POINT (174.27307 -41.523141)
quake.2013p613938,2013p613938,2013-08-16T03:46:31.746,174.2592,-41.3772,21.4062,3.088,M,automatic,11,,WEL(GNS_Primary),2013-08-16T03:49:28.813,POINT (174.25924 -41.377177)
quake.2013p613931,2013p613931,2013-08-16T03:42:46.847,174.1602,-41.7008,5.5859,3.7122,M,automatic,57,,WEL(GNS_Primary),2013-08-16T03:57:32.184,POINT (174.16024 -41.700834)
quake.2013p613924,2013p613924,2013-08-16T03:39:03.501,174.1033,-41.7098,5.7617,3.8287,M,automatic,37,,WEL(GNS_Primary),2013-08-16T03:41:16.878,POINT (174.10328 -41.709797)
quake.2013p613920,2013p613920,2013-08-16T03:36:54.166,174.1125,-41.7203,5.1172,3.8075,M,automatic,29,,WEL(GNS_Primary),2013-08-16T03:51:44.897,POINT (174.11252 -41.720287)
quake.2013p613918,2013p613918,2013-08-16T03:35:43.398,173.9138,-41.7313,7.6367,3.7914,M,automatic,16,,WEL(GNS_Primary),2013-08-16T03:38:49.959,POINT (173.9138 -41.731348)
quake.2013p613915,2013p613915,2013-08-16T03:34:11.19,174.082,-41.743,5.0586,3.4376,M,automatic,38,,WEL(GNS_Primary),2013-08-16T03:44:38.103,POINT (174.08205 -41.742959)
quake.2013p613909,2013p613909,2013-08-16T03:30:45.282,174.146,-41.7234,16.4844,4.3132,M,automatic,72,,WEL(GNS_Primary),2013-08-16T03:48:23.167,POINT (174.14605 -41.723357)
quake.2013p613905,2013p613905,2013-08-16T03:29:01.348,174.1522,-41.847,39.9219,4.3836,M,automatic,15,,WEL(GNS_Primary),2013-08-16T03:34:18.395,POINT (174.15223 -41.846996)
quake.2013p613901,2013p613901,2013-08-16T03:26:50.889,174.3672,-41.6168,16.6016,4.7323,M,reviewed,39,,WEL(GNS_Primary),2013-08-16T07:51:22.98,POINT (174.3672 -41.616828)
quake.2013p613899,2013p613899,2013-08-16T03:25:47.034,174.0645,-41.711,18.8281,3.1672,M,reviewed,17,,WEL(GNS_Primary),2013-08-16T10:53:56.957,POINT (174.06448 -41.710952)
quake.2013p613891,2013p613891,2013-08-16T03:21:31.345,174.0577,-41.7762,17.3047,5.0098,M,reviewed,40,,WEL(GNS_Primary),2013-08-16T04:36:38.627,POINT (174.05769 -41.776238)
quake.2013p613879,2013p613879,2013-08-16T03:15:06.191,174.0807,-41.7469,5.1172,4.5658,M,automatic,64,,WEL(GNS_Primary),2013-08-16T03:24:35.535,POINT (174.08069 -41.746882)
quake.2013p613875,2013p613875,2013-08-16T03:12:55.589,174.3273,-41.6261,33.5938,4.2412,M,automatic,23,,WEL(GNS_Primary),2013-08-16T03:19:41.072,POINT (174.32727 -41.626081)
quake.2013p613867,2013p613867,2013-08-16T03:09:08.084,174.0495,-41.742,8.4567,5.5485,M,reviewed,15,,WEL(GNS_Primary),2013-08-16T03:18:13.049,POINT (174.04953 -41.742035)
quake.2013p613864,2013p613864,2013-08-16T03:06:58.889,175.3112,-39.4656,10.625,3.8067,M,automatic,23,,WEL(GNS_Primary),2013-08-16T03:11:04.368,POINT (175.31118 -39.465557)
quake.2013p613862,2013p613862,2013-08-16T03:06:13.62,174.1842,-41.7228,5.2968,4.5935,M,reviewed,20,,WEL(GNS_Primary),2013-08-16T03:30:58.345,POINT (174.18417 -41.722813)
quake.2013p613857,2013p613857,2013-08-16T03:03:14.433,173.9112,-41.643,35.2344,3.2214,M,automatic,10,,WEL(GNS_Primary),2013-08-16T03:05:53.34,POINT (173.91116 -41.643047)
quake.2013p613844,2013p613844,2013-08-16T02:56:27.347,174.2659,-41.5977,8.5063,5.0191,M,reviewed,30,,WEL(GNS_Primary),2013-08-16T03:13:53.59,POINT (174.26587 -41.597672)
quake.2013p613840,2013p613840,2013-08-16T02:53:56.218,174.0673,-41.7488,5.0586,4.4554,M,automatic,26,,WEL(GNS_Primary),2013-08-16T03:02:10.205,POINT (174.06726 -41.748782)
quake.2013p613836,2013p613836,2013-08-16T02:51:51.342,174.0813,-41.7275,5.0586,4.7287,M,reviewed,32,,WEL(GNS_Primary),2013-08-16T03:21:46.898,POINT (174.0813 -41.727504)
quake.2013p613832,2013p613832,2013-08-16T02:49:54.27,174.3151,-41.6042,5.0586,4.4872,M,automatic,26,,WEL(GNS_Primary),2013-08-16T03:02:05.808,POINT (174.31506 -41.604243)
quake.2013p613824,2013p613824,2013-08-16T02:45:27.142,174.1168,-41.7638,5.8203,5.3872,M,reviewed,36,,WEL(GNS_Primary),2013-08-16T03:06:48.006,POINT (174.11679 -41.76379)
quake.2013p613817,2013p613817,2013-08-16T02:41:47.513,174.3304,-41.5002,8.0469,4.2784,M,reviewed,25,,WEL(GNS_Primary),2013-08-16T04:29:39.328,POINT (174.33035 -41.500221)
quake.2013p613809,2013p613809,2013-08-16T02:37:27.876,174.127,-41.7061,8.9844,5.3944,M,reviewed,38,,WEL(GNS_Primary),2013-08-16T03:18:05.167,POINT (174.12701 -41.706115)
quake.2013p613797,2013p613797,2013-08-16T02:31:05.753,174.1522,-41.734,8.1641,6.6382,M,reviewed,15,,WEL(GNS_Primary),2013-08-16T04:19:28.546,POINT (174.15219 -41.733964)
quake.2013p613749,2013p613749,2013-08-16T02:05:47.124,174.3574,-41.6733,13.5547,2.5153,M,automatic,30,,WEL(GNS_Primary),2013-08-16T02:08:17.114,POINT (174.35738 -41.673258)
quake.2013p613699,2013p613699,2013-08-16T01:39:03.945,172.6157,-43.6622,24.8047,2.4868,M,automatic,14,,WEL(GNS_Primary),2013-08-16T01:41:40.661,POINT (172.61568 -43.662217)
quake.2013p613692,2013p613692,2013-08-16T01:35:29.536,175.4556,-39.8343,24.4531,2.0821,M,automatic,18,,WEL(GNS_Primary),2013-08-16T01:56:45.258,POINT (175.4556 -39.834272)
quake.2013p613689,2013p613689,2013-08-16T01:33:42.19,174.4068,-41.6943,6.6406,2.2886,M,automatic,27,,WEL(GNS_Primary),2013-08-16T01:35:56.062,POINT (174.40681 -41.69431)
quake.2013p613685,2013p613685,2013-08-16T01:31:27.612,172.175,-42.4373,5.1172,2.6995,M,automatic,20,,WEL(GNS_Primary),2013-08-16T01:34:07.37,POINT (172.17495 -42.437342)
quake.2013p613661,2013p613661,2013-08-16T01:18:40.991,174.3535,-41.6158,8.9258,2.7397,M,automatic,39,,WEL(GNS_Primary),2013-08-16T01:52:07.605,POINT (174.35347 -41.615799)
quake.2013p613641,2013p613641,2013-08-16T01:08:08.804,174.4596,-39.9101,129.6875,2.4107,M,automatic,10,,WEL(GNS_Primary),2013-08-16T01:10:18.309,POINT (174.45956 -39.910125)
quake.2013p613618,2013p613618,2013-08-16T00:55:55.422,175.5329,-38.5619,204.6875,2.9245,M,automatic,26,,WEL(GNS_Primary),2013-08-16T00:59:34.25,POINT (175.53289 -38.561885)
quake.2013p613589,2013p613589,2013-08-16T00:40:23.965,176.561,-39.888,26.2109,2.2656,M,automatic,20,,WEL(GNS_Primary),2013-08-16T01:38:30.675,POINT (176.56105 -39.888036)
quake.2013p613521,2013p613521,2013-08-16T00:04:04.646,175.2632,-38.6172,5.0586,2.5138,M,automatic,36,,WEL(GNS_Primary),2013-08-16T01:26:52.093,POINT (175.26322 -38.617174)
quake.2013p613344,2013p613344,2013-08-15T22:29:58.483,174.2391,-41.6898,5.1172,2.0742,M,automatic,14,,WEL(GNS_Primary),2013-08-15T22:33:08.525,POINT (174.23912 -41.689804)
quake.2013p613325,2013p613325,2013-08-15T22:19:34.658,174.2806,-40.482,117.5,2.4391,M,automatic,13,,WEL(GNS_Primary),2013-08-15T22:22:34.371,POINT (174.28064 -40.481952)
quake.2013p613279,2013p613279,2013-08-15T21:55:24.828,174.1245,-41.7175,5.0586,1.8248,M,automatic,10,,WEL(GNS_Primary),2013-08-15T21:57:43.883,POINT (174.12453 -41.717512)
quake.2013p613189,2013p613189,2013-08-15T21:07:36.968,176.3316,-39.6086,25.2734,1.7,M,automatic,14,,WEL(GNS_Primary),2013-08-16T00:26:08.584,POINT (176.33162 -39.6086)
quake.2013p613020,2013p613020,2013-08-15T19:37:24.825,177.052,-39.8503,18.4766,2.0143,M,automatic,16,,WEL(GNS_Primary),2013-08-15T23:56:01.896,POINT (177.05199 -39.850344)
quake.2013p612897,2013p612897,2013-08-15T18:31:50.77,174.1388,-41.6793,10.2734,2.0477,M,automatic,21,,WEL(GNS_Primary),2013-08-15T18:33:50.147,POINT (174.13876 -41.679349)
quake.2013p612879,2013p612879,2013-08-15T18:22:21.437,174.0972,-41.689,14.9609,2.6367,M,reviewed,17,,WEL(GNS_Primary),2013-08-15T20:06:20.322,POINT (174.09716 -41.688971)
quake.2013p612833,2013p612833,2013-08-15T17:57:53.017,176.7691,-38.0695,9.3359,1.7743,M,reviewed,16,,WEL(GNS_Primary),2013-08-16T05:17:09.135,POINT (176.76907 -38.069477)
quake.2013p612830,2013p612830,2013-08-15T17:56:05.845,178.2399,-38.0362,42.2656,1.5438,M,automatic,12,,WEL(GNS_Primary),2013-08-15T17:58:25.862,POINT (178.23992 -38.03624)
quake.2013p612798,2013p612798,2013-08-15T17:38:47.711,174.2858,-41.5827,11.6797,1.7409,M,automatic,13,,WEL(GNS_Primary),2013-08-15T17:41:15.356,POINT (174.28584 -41.58274)
quake.2013p612778,2013p612778,2013-08-15T17:28:39.948,177.09,-35.5402,278.75,3.0098,M,automatic,26,,WEL(GNS_Primary),2013-08-15T17:32:24.933,POINT (177.09005 -35.540196)
quake.2013p612695,2013p612695,2013-08-15T16:44:10.158,174.4311,-41.655,5.2344,1.7561,M,automatic,10,,WEL(GNS_Primary),2013-08-15T16:45:47.495,POINT (174.43107 -41.654988)
quake.2013p612632,2013p612632,2013-08-15T16:10:27.537,175.7045,-38.5692,155.5482,2.4331,M,reviewed,47,,WEL(GNS_Primary),2013-08-16T05:47:50.403,POINT (175.70448 -38.569176)
quake.2013p612612,2013p612612,2013-08-15T16:00:03.412,177.1312,-37.2579,240.3125,2.5129,M,automatic,28,,WEL(GNS_Primary),2013-08-15T16:03:32.068,POINT (177.13122 -37.257922)
quake.2013p612584,2013p612584,2013-08-15T15:45:02.086,176.6274,-38.1588,186.875,2.0227,M,automatic,10,,WEL(GNS_Primary),2013-08-15T15:48:10.297,POINT (176.62743 -38.158846)
quake.2013p612548,2013p612548,2013-08-15T15:25:42.316,174.3964,-41.5017,12.8516,1.761,M,automatic,14,,WEL(GNS_Primary),2013-08-15T15:27:34.525,POINT (174.39635 -41.501748)
quake.2013p612493,2013p612493,2013-08-15T14:56:34.801,173.9867,-42.2818,78.125,2.2738,M,automatic,12,,WEL(GNS_Primary),2013-08-15T14:58:31.321,POINT (173.98672 -42.281788)
quake.2013p612438,2013p612438,2013-08-15T14:27:00.114,178.2904,-36.5979,171.875,3.0111,M,automatic,17,,WEL(GNS_Primary),2013-08-15T14:29:50.784,POINT (178.29045 -36.59793)
quake.2013p612406,2013p612406,2013-08-15T14:10:24.814,173.6932,-40.4761,101.0938,2.5357,M,automatic,20,,WEL(GNS_Primary),2013-08-15T14:13:47.692,POINT (173.69321 -40.476058)
quake.2013p612403,2013p612403,2013-08-15T14:08:30.544,175.1557,-39.2392,16.0742,1.3129,M,automatic,13,,WEL(GNS_Primary),2013-08-15T14:10:00.266,POINT (175.15568 -39.239248)
quake.2013p612380,2013p612380,2013-08-15T13:56:28.782,172.5018,-41.2309,233.5156,3.2757,M,automatic,62,,WEL(GNS_Primary),2013-08-15T14:00:30.362,POINT (172.50183 -41.230947)
quake.2013p612324,2013p612324,2013-08-15T13:26:19.386,174.224,-41.5526,11.9141,2.1596,M,automatic,20,,WEL(GNS_Primary),2013-08-15T13:29:28.067,POINT (174.22403 -41.55256)
quake.2013p612286,2013p612286,2013-08-15T13:06:09.38,173.3547,-40.9825,73.6719,2.22,M,automatic,14,,WEL(GNS_Primary),2013-08-15T13:09:21.346,POINT (173.3547 -40.982471)
quake.2013p612268,2013p612268,2013-08-15T12:57:05.177,176.223,-39.6153,27.1484,2.1865,M,automatic,34,,WEL(GNS_Primary),2013-08-15T13:00:09.351,POINT (176.22305 -39.615315)
quake.2013p612243,2013p612243,2013-08-15T12:43:33.666,173.699,-40.7724,113.5156,2.7473,M,automatic,10,,WEL(GNS_Primary),2013-08-15T12:46:38.464,POINT (173.69902 -40.772427)
quake.2013p612168,2013p612168,2013-08-15T12:03:30.211,171.0958,-43.0578,5.0586,2.5356,M,automatic,12,,WEL(GNS_Primary),2013-08-15T12:05:55.009,POINT (171.09576 -43.057761)
quake.2013p612139,2013p612139,2013-08-15T11:47:41.012,174.1609,-41.7019,5.0586,2.2398,M,automatic,16,,WEL(GNS_Primary),2013-08-15T11:49:57.925,POINT (174.16086 -41.701895)
quake.2013p612124,2013p612124,2013-08-15T11:40:08.056,174.1312,-41.7448,5.0586,2.4185,M,automatic,24,,WEL(GNS_Primary),2013-08-15T11:42:19.277,POINT (174.13124 -41.744819)
quake.2013p612096,2013p612096,2013-08-15T11:24:48.029,174.2087,-41.6968,84.4531,2.1706,M,automatic,16,,WEL(GNS_Primary),2013-08-15T11:26:51.881,POINT (174.20873 -41.696836)
quake.2013p612026,2013p612026,2013-08-15T10:47:45.645,176.0319,-37.8508,145.2359,2.3842,M,reviewed,14,,WEL(GNS_Primary),2013-08-16T01:31:55.763,POINT (176.03186 -37.8508)
quake.2013p612022,2013p612022,2013-08-15T10:45:47.824,176.7857,-39.2857,21.7578,1.9153,M,automatic,22,,WEL(GNS_Primary),2013-08-15T10:47:40.444,POINT (176.78572 -39.285715)
quake.2013p611965,2013p611965,2013-08-15T10:15:09.106,174.3967,-41.6894,5.1172,2.2266,M,automatic,20,,WEL(GNS_Primary),2013-08-15T10:19:13.127,POINT (174.39671 -41.689426)
quake.2013p611958,2013p611958,2013-08-15T10:11:20.526,175.1585,-39.9003,23.5156,2.045,M,automatic,16,,WEL(GNS_Primary),2013-08-15T10:13:12.376,POINT (175.15852 -39.900349)
quake.2013p611954,2013p611954,2013-08-15T10:09:19.491,174.1205,-41.811,10.8594,2.0669,M,automatic,12,,WEL(GNS_Primary),2013-08-15T10:11:45.328,POINT (174.1205 -41.811031)
quake.2013p611919,2013p611919,2013-08-15T09:50:46.788,174.3928,-41.6952,13.0859,2.8093,M,reviewed,18,,WEL(GNS_Primary),2013-08-15T11:09:31.982,POINT (174.39279 -41.69515)
quake.2013p611885,2013p611885,2013-08-15T09:33:21.792,174.3882,-41.695,12.1484,2.5025,M,automatic,29,,WEL(GNS_Primary),2013-08-15T09:36:17.28,POINT (174.38817 -41.695014)
quake.2013p611850,2013p611850,2013-08-15T09:13:44.349,174.4275,-41.7112,9.8047,2.2033,M,automatic,26,,WEL(GNS_Primary),2013-08-15T09:17:23.874,POINT (174.42752 -41.711183)
quake.2013p611822,2013p611822,2013-08-15T08:58:59.889,174.3938,-41.6985,13.3203,2.1486,M,automatic,24,,WEL(GNS_Primary),2013-08-15T09:02:28.193,POINT (174.39384 -41.698517)
quake.2013p611795,2013p611795,2013-08-15T08:44:32.586,174.273,-41.5965,5.1172,2.0519,M,automatic,10,,WEL(GNS_Primary),2013-08-15T08:47:35.035,POINT (174.27301 -41.596542)
quake.2013p611792,2013p611792,2013-08-15T08:43:13.178,177.0231,-37.2945,140.9375,2.4436,M,automatic,16,,WEL(GNS_Primary),2013-08-15T08:46:31.324,POINT (177.02307 -37.294536)
quake.2013p611776,2013p611776,2013-08-15T08:34:45.129,174.331,-41.6848,5.0586,2.3229,M,automatic,23,,WEL(GNS_Primary),2013-08-15T08:36:51.161,POINT (174.33098 -41.684786)
quake.2013p611752,2013p611752,2013-08-15T08:21:40.513,174.1606,-41.714,5.0586,2.4391,M,automatic,30,,WEL(GNS_Primary),2013-08-15T08:23:48.677,POINT (174.16059 -41.713982)
quake.2013p611747,2013p611747,2013-08-15T08:18:58.854,174.3952,-41.6946,6.8164,3.0418,M,reviewed,19,,WEL(GNS_Primary),2013-08-15T11:04:34.995,POINT (174.39518 -41.694595)
quake.2013p611730,2013p611730,2013-08-15T08:09:53.882,176.305,-40.2583,56.3281,2.2216,M,automatic,30,,WEL(GNS_Primary),2013-08-15T08:12:20.213,POINT (176.30505 -40.258263)
quake.2013p611695,2013p611695,2013-08-15T07:51:31.205,174.1592,-41.7131,5.0586,2.1124,M,automatic,11,,WEL(GNS_Primary),2013-08-15T07:53:14.269,POINT (174.15918 -41.713107)
quake.2013p611668,2013p611668,2013-08-15T07:37:13.116,174.0838,-40.0114,113.0469,2.714,M,automatic,48,,WEL(GNS_Primary),2013-08-15T07:40:41.466,POINT (174.08375 -40.011407)
quake.2013p611653,2013p611653,2013-08-15T07:29:11.571,174.4469,-41.5249,10.2734,2.4095,M,automatic,31,,WEL(GNS_Primary),2013-08-15T07:39:40.203,POINT (174.44689 -41.524921)
quake.2013p611637,2013p611637,2013-08-15T07:20:14.883,174.3961,-41.6619,5.1172,2.009,M,automatic,10,,WEL(GNS_Primary),2013-08-15T07:22:07.571,POINT (174.3961 -41.661884)
quake.2013p611631,2013p611631,2013-08-15T07:17:23.65,174.1454,-41.7277,8.6914,2.8675,M,reviewed,17,,WEL(GNS_Primary),2013-08-15T07:28:13.426,POINT (174.1454 -41.727717)
quake.2013p611613,2013p611613,2013-08-15T07:07:46.472,174.1306,-41.7233,5.1172,2.3678,M,automatic,24,,WEL(GNS_Primary),2013-08-15T07:09:59.456,POINT (174.1306 -41.723321)
quake.2013p611600,2013p611600,2013-08-15T07:00:29.234,174.1519,-41.71,9.1602,4.3896,M,reviewed,16,earthquake,WEL(GNS_Primary),2013-08-15T07:18:41.409,POINT (174.15192 -41.709974)
quake.2013p611528,2013p611528,2013-08-15T06:22:18.293,175.2936,-39.6943,41.3281,1.8443,M,automatic,16,,WEL(GNS_Primary),2013-08-15T06:24:02.488,POINT (175.29355 -39.69431)
quake.2013p611486,2013p611486,2013-08-15T05:59:50.031,174.3967,-41.7003,10.7422,2.407,M,automatic,27,,WEL(GNS_Primary),2013-08-15T06:02:42.362,POINT (174.39667 -41.700268)
quake.2013p611454,2013p611454,2013-08-15T05:43:11.453,175.4138,-38.9434,112.3438,1.5883,M,automatic,22,,WEL(GNS_Primary),2013-08-15T05:46:22.074,POINT (175.41379 -38.943416)
quake.2013p611417,2013p611417,2013-08-15T05:23:27.058,174.2355,-41.4958,34.2969,1.7692,M,automatic,13,,WEL(GNS_Primary),2013-08-15T05:26:07.392,POINT (174.23554 -41.49576)
quake.2013p611410,2013p611410,2013-08-15T05:19:29.036,177.4603,-39.1082,24.043,2.0195,M,automatic,20,,WEL(GNS_Primary),2013-08-15T05:22:35.913,POINT (177.46033 -39.108174)
quake.2013p611213,2013p611213,2013-08-15T03:34:18.782,173.5389,-41.6546,93.125,2.1541,M,automatic,10,,WEL(GNS_Primary),2013-08-15T03:35:59.117,POINT (173.53891 -41.654633)
quake.2013p611209,2013p611209,2013-08-15T03:32:34.671,174.3877,-41.5507,5.1172,1.8205,M,automatic,13,,WEL(GNS_Primary),2013-08-15T03:34:36.684,POINT (174.38766 -41.550703)
quake.2013p611139,2013p611139,2013-08-15T02:55:35.42,174.1937,-41.5392,20.5859,2.1258,M,automatic,21,,WEL(GNS_Primary),2013-08-15T02:57:32.785,POINT (174.19366 -41.539154)
quake.2013p611121,2013p611121,2013-08-15T02:45:37.474,174.4228,-41.5317,5.1172,1.9288,M,automatic,19,,WEL(GNS_Primary),2013-08-15T02:47:39.12,POINT (174.42279 -41.531719)
quake.2013p611114,2013p611114,2013-08-15T02:41:52.496,174.3942,-41.5378,12.4414,3.0822,M,automatic,41,,WEL(GNS_Primary),2013-08-15T02:44:44.26,POINT (174.39418 -41.537758)
quake.2013p611073,2013p611073,2013-08-15T02:20:09.182,174.4,-41.5292,9.9805,2.9299,M,automatic,46,,WEL(GNS_Primary),2013-08-15T02:23:11.312,POINT (174.40005 -41.529173)
quake.2013p611001,2013p611001,2013-08-15T01:41:49.716,174.2546,-41.4974,9.9805,2.6931,M,automatic,42,,WEL(GNS_Primary),2013-08-15T01:45:44.98,POINT (174.25455 -41.497363)
quake.2013p610991,2013p610991,2013-08-15T01:36:03.65,174.2542,-41.5468,5.1172,2.2326,M,automatic,17,,WEL(GNS_Primary),2013-08-15T01:38:25.238,POINT (174.25417 -41.546774)
quake.2013p610902,2013p610902,2013-08-15T00:48:51.033,177.6422,-35.4579,224.375,3.3157,M,automatic,17,,WEL(GNS_Primary),2013-08-15T00:52:27.55,POINT (177.64225 -35.457874)
quake.2013p610820,2013p610820,2013-08-15T00:05:04.319,173.3727,-41.5371,52.5781,2.2666,M,automatic,17,,WEL(GNS_Primary),2013-08-15T00:07:20.058,POINT (173.37271 -41.537095)
quake.2013p610729,2013p610729,2013-08-14T23:16:56.24,175.7566,-40.5144,11.0938,1.8316,M,automatic,11,,WEL(GNS_Primary),2013-08-14T23:19:43.225,POINT (175.75657 -40.514398)
quake.2013p610728,2013p610728,2013-08-14T23:15:53.035,178.251,-37.9433,5.2344,2.697,M,automatic,13,,WEL(GNS_Primary),2013-08-14T23:18:58.609,POINT (178.25098 -37.943313)
quake.2013p610725,2013p610725,2013-08-14T23:14:33.724,175.7446,-39.0519,145.625,3.3919,M,automatic,22,,WEL(GNS_Primary),2013-08-14T23:18:29.042,POINT (175.74455 -39.051893)
quake.2013p610724,2013p610724,2013-08-14T23:13:57.081,178.3052,-36.6917,194.375,3.5946,M,automatic,33,,WEL(GNS_Primary),2013-08-14T23:17:37.436,POINT (178.30525 -36.691671)
quake.2013p610668,2013p610668,2013-08-14T22:44:04.509,174.2193,-41.6258,5.1172,2.161,M,automatic,18,,WEL(GNS_Primary),2013-08-14T22:50:11.273,POINT (174.2193 -41.625826)
quake.2013p610600,2013p610600,2013-08-14T22:07:53.74,177.9051,-35.7995,171.875,3.397,M,automatic,22,,WEL(GNS_Primary),2013-08-14T22:11:34.6,POINT (177.90511 -35.799473)
quake.2013p610555,2013p610555,2013-08-14T21:43:56.702,174.4377,-41.5138,12.3828,2.125,M,automatic,19,,WEL(GNS_Primary),2013-08-14T21:45:40.713,POINT (174.43772 -41.513809)
quake.2013p610511,2013p610511,2013-08-14T21:20:37.928,174.1271,-41.7259,10.332,2.8437,M,reviewed,15,,WEL(GNS_Primary),2013-08-14T23:12:04.539,POINT (174.12712 -41.72593)
quake.2013p610404,2013p610404,2013-08-14T20:23:41.959,173.5399,-41.784,76.0156,2.5128,M,automatic,22,,WEL(GNS_Primary),2013-08-14T20:26:11.577,POINT (173.5399 -41.783995)
quake.2013p610288,2013p610288,2013-08-14T19:21:38.838,174.2556,-41.5994,8.6328,2.1729,M,automatic,14,,WEL(GNS_Primary),2013-08-14T19:23:35.937,POINT (174.25563 -41.599368)
quake.2013p610252,2013p610252,2013-08-14T19:02:45.061,174.2629,-41.6229,5.5859,2.3463,M,automatic,19,,WEL(GNS_Primary),2013-08-14T19:04:43.222,POINT (174.26293 -41.622938)
quake.2013p610093,2013p610093,2013-08-14T17:37:44.072,174.3099,-41.5976,6.9922,1.8165,M,automatic,11,,WEL(GNS_Primary),2013-08-14T17:39:20.174,POINT (174.30986 -41.597626)
quake.2013p610084,2013p610084,2013-08-14T17:32:53.382,175.4584,-39.6234,151.25,2.1009,M,automatic,12,,WEL(GNS_Primary),2013-08-14T17:34:26.761,POINT (175.45845 -39.623429)
quake.2013p610055,2013p610055,2013-08-14T17:17:30.895,177.0762,-39.2725,181.25,2.4348,M,automatic,14,,WEL(GNS_Primary),2013-08-14T17:20:39.142,POINT (177.07618 -39.272467)
quake.2013p609931,2013p609931,2013-08-14T16:11:18.496,174.8461,-39.7663,105.4297,3.3311,M,automatic,126,,WEL(GNS_Primary),2013-08-14T17:27:05.367,POINT (174.84607 -39.766252)
quake.2013p609917,2013p609917,2013-08-14T16:03:45.292,175.5612,-40.2368,86.5625,2.0488,M,automatic,10,,WEL(GNS_Primary),2013-08-14T16:06:27.406,POINT (175.56117 -40.236786)
quake.2013p609915,2013p609915,2013-08-14T16:03:13.851,175.4953,-38.2039,220.625,3.0388,M,automatic,17,,WEL(GNS_Primary),2013-08-14T16:06:31.744,POINT (175.49529 -38.203895)
quake.2013p609891,2013p609891,2013-08-14T15:49:56.94,174.3661,-41.8036,8.3984,2.0386,M,automatic,12,,WEL(GNS_Primary),2013-08-14T15:52:06.131,POINT (174.36607 -41.803631)
quake.2013p609840,2013p609840,2013-08-14T15:22:54.342,175.958,-38.8261,10.6836,2.2043,M,reviewed,26,,WEL(GNS_Primary),2013-08-15T05:43:27.68,POINT (175.95795 -38.826054)
quake.2013p609807,2013p609807,2013-08-14T15:05:14.162,174.4482,-41.3988,13.2617,2.0768,M,automatic,19,,WEL(GNS_Primary),2013-08-14T15:08:06.256,POINT (174.44823 -41.398809)
quake.2013p609731,2013p609731,2013-08-14T14:24:46.85,178.613,-38.415,21.4062,2.2813,M,automatic,13,,WEL(GNS_Primary),2013-08-14T14:26:30.136,POINT (178.61295 -38.414961)
quake.2013p609581,2013p609581,2013-08-14T13:05:57.844,174.227,-41.6517,13.0273,3.0266,M,reviewed,21,,WEL(GNS_Primary),2013-08-14T20:08:05.201,POINT (174.22703 -41.651703)
quake.2013p609528,2013p609528,2013-08-14T12:36:36.504,176.0209,-36.5463,8.75,3.1453,M,automatic,13,,WEL(GNS_Primary),2013-08-14T12:39:07.851,POINT (176.02094 -36.546334)
quake.2013p609396,2013p609396,2013-08-14T11:26:42.385,174.218,-41.6658,7.2266,1.6879,M,automatic,10,,WEL(GNS_Primary),2013-08-14T11:28:21.945,POINT (174.21798 -41.665827)
quake.2013p609330,2013p609330,2013-08-14T10:51:17.46,173.7797,-42.3292,44.375,2.522,M,automatic,13,,WEL(GNS_Primary),2013-08-14T10:53:06.519,POINT (173.77974 -42.329161)
quake.2013p609328,2013p609328,2013-08-14T10:50:23.973,174.259,-41.7014,5.0586,2.0508,M,automatic,16,,WEL(GNS_Primary),2013-08-14T10:52:20.281,POINT (174.25902 -41.70144)
quake.2013p609285,2013p609285,2013-08-14T10:27:12.124,176.6046,-39.8752,18.9453,1.8873,M,automatic,16,,WEL(GNS_Primary),2013-08-14T10:28:35.631,POINT (176.60456 -39.875181)
quake.2013p609233,2013p609233,2013-08-14T09:59:30.259,176.8503,-39.6718,17.7734,1.7356,M,automatic,12,,WEL(GNS_Primary),2013-08-14T10:01:01.859,POINT (176.85031 -39.671789)
quake.2013p609224,2013p609224,2013-08-14T09:54:50.706,167.6792,-44.9618,67.5781,3.4702,M,reviewed,20,,WEL(GNS_Primary),2013-08-14T20:05:22.102,POINT (167.67924 -44.961808)
quake.2013p609210,2013p609210,2013-08-14T09:47:33.388,174.2939,-41.5911,9.7461,2.3755,M,automatic,24,,WEL(GNS_Primary),2013-08-14T09:50:58.494,POINT (174.29386 -41.591108)
quake.2013p609196,2013p609196,2013-08-14T09:39:46.091,176.1387,-37.872,200.4688,2.7534,M,automatic,17,,WEL(GNS_Primary),2013-08-14T09:43:16.991,POINT (176.13866 -37.872022)
quake.2013p609176,2013p609176,2013-08-14T09:29:15.618,173.291,-40.7528,33.125,2.3281,M,automatic,11,,WEL(GNS_Primary),2013-08-14T09:31:25.212,POINT (173.29099 -40.75276)
quake.2013p609167,2013p609167,2013-08-14T09:24:22.567,174.7495,-40.6436,9.4531,1.9032,M,automatic,14,,WEL(GNS_Primary),2013-08-14T09:27:38.433,POINT (174.74952 -40.643584)
quake.2013p609102,2013p609102,2013-08-14T08:50:02.091,174.2863,-41.6945,5.1172,2.4063,M,automatic,22,,WEL(GNS_Primary),2013-08-14T08:52:19.169,POINT (174.2863 -41.694526)
quake.2013p609072,2013p609072,2013-08-14T08:34:10.96,174.2535,-41.6967,5.0586,2.924,M,reviewed,16,,WEL(GNS_Primary),2013-08-14T09:46:57.094,POINT (174.25354 -41.696692)
quake.2013p609015,2013p609015,2013-08-14T08:03:55.297,177.9692,-36.7177,133.4375,3.6423,M,automatic,33,,WEL(GNS_Primary),2013-08-14T08:07:55.986,POINT (177.96917 -36.717737)
quake.2013p609013,2013p609013,2013-08-14T08:02:04.121,176.2217,-37.8613,238.9062,3.3723,M,automatic,69,,WEL(GNS_Primary),2013-08-14T08:12:24.995,POINT (176.22172 -37.861263)
quake.2013p608974,2013p608974,2013-08-14T07:41:33.912,176.1323,-39.1396,105.5469,2.4169,M,automatic,41,,WEL(GNS_Primary),2013-08-14T07:44:39.317,POINT (176.13231 -39.139572)
quake.2013p608968,2013p608968,2013-08-14T07:38:19.63,174.1659,-41.6887,12.9102,2.9962,M,reviewed,20,,WEL(GNS_Primary),2013-08-14T09:39:04.821,POINT (174.16592 -41.688697)
quake.2013p608889,2013p608889,2013-08-14T06:56:31.769,174.2572,-41.6826,5.0586,2.2023,M,automatic,17,,WEL(GNS_Primary),2013-08-14T06:58:26.639,POINT (174.25718 -41.682618)
quake.2013p608851,2013p608851,2013-08-14T06:35:56.565,171.964,-43.6687,15.8984,2.6472,M,automatic,13,,WEL(GNS_Primary),2013-08-14T06:37:55.629,POINT (171.96397 -43.668709)
quake.2013p608777,2013p608777,2013-08-14T05:56:23.253,174.1772,-41.6957,5.1758,2.9733,M,reviewed,17,,WEL(GNS_Primary),2013-08-14T09:35:30.161,POINT (174.17723 -41.695702)
quake.2013p608600,2013p608600,2013-08-14T04:22:35.303,174.3266,-41.5889,5.1172,1.8323,M,automatic,13,,WEL(GNS_Primary),2013-08-14T04:24:21.744,POINT (174.32656 -41.588942)
quake.2013p608596,2013p608596,2013-08-14T04:20:23.38,174.3365,-41.6685,11.2109,2.4863,M,automatic,21,,WEL(GNS_Primary),2013-08-14T04:22:44.971,POINT (174.33647 -41.668473)
quake.2013p608554,2013p608554,2013-08-14T03:57:56.005,174.3056,-41.5481,5.0586,2.127,M,automatic,15,,WEL(GNS_Primary),2013-08-14T03:59:53.661,POINT (174.3056 -41.548079)
quake.2013p608478,2013p608478,2013-08-14T03:17:35.023,174.3126,-39.1366,6.4062,2.5118,M,automatic,11,,WEL(GNS_Primary),2013-08-14T08:01:01.589,POINT (174.31263 -39.136622)
quake.2013p608312,2013p608312,2013-08-14T01:49:15.271,174.3797,-41.5417,5.2344,1.824,M,automatic,11,,WEL(GNS_Primary),2013-08-14T01:51:35.339,POINT (174.37973 -41.541712)
quake.2013p608288,2013p608288,2013-08-14T01:35:57.888,171.35,-42.3967,5.1172,3.0641,M,reviewed,11,,WEL(GNS_Primary),2013-08-14T09:32:07.003,POINT (171.34997 -42.396663)
quake.2013p608105,2013p608105,2013-08-13T23:58:29.937,174.2374,-41.6337,5.0586,2.0448,M,automatic,10,,WEL(GNS_Primary),2013-08-14T00:00:04.114,POINT (174.23743 -41.633658)
quake.2013p607999,2013p607999,2013-08-13T23:02:22.782,174.1976,-41.6471,5.0586,2.4246,M,automatic,21,,WEL(GNS_Primary),2013-08-13T23:05:33.777,POINT (174.19762 -41.647086)
quake.2013p607957,2013p607957,2013-08-13T22:39:50.217,174.2218,-41.6716,5.0586,2.3617,M,automatic,16,,WEL(GNS_Primary),2013-08-13T22:42:56.548,POINT (174.22176 -41.671568)
quake.2013p607932,2013p607932,2013-08-13T22:26:36.373,172.232,-41.4797,10.0391,2.9109,M,reviewed,15,,WEL(GNS_Primary),2013-08-14T09:26:28.676,POINT (172.23201 -41.479693)
quake.2013p607920,2013p607920,2013-08-13T22:19:47.307,174.3179,-41.5537,16.6016,2.9158,M,reviewed,23,,WEL(GNS_Primary),2013-08-13T22:35:41.798,POINT (174.31788 -41.553654)
quake.2013p607914,2013p607914,2013-08-13T22:17:15.243,174.1996,-41.6544,5.1172,2.7807,M,reviewed,19,,WEL(GNS_Primary),2013-08-13T22:29:30.985,POINT (174.19961 -41.654443)
quake.2013p607895,2013p607895,2013-08-13T22:06:40.304,172.6002,-43.6106,6.1133,2.6285,M,reviewed,11,,WEL(GNS_Primary),2013-08-13T22:26:12.753,POINT (172.60025 -43.610648)
quake.2013p607853,2013p607853,2013-08-13T21:44:27.747,177.5046,-39.005,19.3555,2.0035,M,automatic,12,,WEL(GNS_Primary),2013-08-13T21:46:31.349,POINT (177.5046 -39.004983)
quake.2013p607458,2013p607458,2013-08-13T18:14:04.11,174.4334,-41.501,15.0195,2.5275,M,reviewed,15,,WEL(GNS_Primary),2013-08-13T22:23:06.829,POINT (174.43342 -41.500963)
quake.2013p607372,2013p607372,2013-08-13T17:27:26.166,173.7891,-40.4297,463.6823,2.9628,M,automatic,12,,WEL(GNS_Primary),2013-08-13T18:32:20.067,POINT (173.78906 -40.429688)
quake.2013p607351,2013p607351,2013-08-13T17:16:54.062,174.2314,-41.6531,5.0586,2.0244,M,automatic,15,,WEL(GNS_Primary),2013-08-13T18:25:30.14,POINT (174.23145 -41.653085)
quake.2013p607345,2013p607345,2013-08-13T17:13:38.126,174.3267,-41.6142,5.0586,2.5712,M,automatic,37,,WEL(GNS_Primary),2013-08-13T18:28:02.476,POINT (174.32671 -41.614178)
quake.2013p607331,2013p607331,2013-08-13T17:06:08.401,174.8458,-39.3505,155.7031,3.05,M,automatic,82,,WEL(GNS_Primary),2013-08-13T18:04:06.303,POINT (174.84575 -39.350524)
quake.2013p607318,2013p607318,2013-08-13T16:59:15.614,176.2799,-37.9147,136.25,2.3637,M,automatic,11,,WEL(GNS_Primary),2013-08-13T19:25:30.329,POINT (176.27989 -37.914741)
quake.2013p607181,2013p607181,2013-08-13T15:45:54.432,175.9504,-38.228,206.5625,2.7493,M,automatic,51,,WEL(GNS_Primary),2013-08-13T18:54:20.368,POINT (175.95035 -38.22795)
quake.2013p607130,2013p607130,2013-08-13T15:18:57.668,174.4326,-41.5487,5.8203,1.9574,M,automatic,16,,WEL(GNS_Primary),2013-08-13T15:52:26.448,POINT (174.43265 -41.54869)
quake.2013p607055,2013p607055,2013-08-13T14:39:04.474,174.2118,-41.5722,12.6172,2.7404,M,automatic,38,,WEL(GNS_Primary),2013-08-13T15:36:32.315,POINT (174.21185 -41.572222)
quake.2013p606965,2013p606965,2013-08-13T13:51:14.829,174.7222,-40.785,40.2734,2.9627,M,reviewed,23,,WEL(GNS_Primary),2013-08-13T22:11:43.991,POINT (174.72222 -40.784961)
quake.2013p606944,2013p606944,2013-08-13T13:39:52.953,174.2116,-41.5639,13.3203,2.5226,M,automatic,30,,WEL(GNS_Primary),2013-08-13T13:57:27.795,POINT (174.21156 -41.563872)
quake.2013p606907,2013p606907,2013-08-13T13:20:12.554,173.1743,-40.6842,168.5938,2.6031,M,automatic,18,,WEL(GNS_Primary),2013-08-13T13:29:09.36,POINT (173.17427 -40.684186)
quake.2013p606850,2013p606850,2013-08-13T12:49:59.093,174.1764,-41.6237,5.1172,2.1809,M,automatic,15,,WEL(GNS_Primary),2013-08-13T12:59:03.186,POINT (174.17641 -41.623732)
quake.2013p606711,2013p606711,2013-08-13T11:35:49.889,177.3749,-38.4902,69.2188,2.2055,M,automatic,12,,WEL(GNS_Primary),2013-08-13T11:38:07.328,POINT (177.3749 -38.49016)
quake.2013p606685,2013p606685,2013-08-13T11:21:53.142,176.8452,-39.7058,42.3828,2.066,M,automatic,10,,WEL(GNS_Primary),2013-08-13T11:22:59.864,POINT (176.84517 -39.705795)
quake.2013p606569,2013p606569,2013-08-13T10:20:14.274,172.3674,-43.6344,5,2.1475,M,reviewed,14,,WEL(GNS_Primary),2013-08-13T10:35:18.406,POINT (172.36739 -43.634357)
quake.2013p606524,2013p606524,2013-08-13T09:56:04.092,175.7375,-40.797,24.3945,1.779,M,automatic,15,,WEL(GNS_Primary),2013-08-13T09:57:36.945,POINT (175.73748 -40.79704)
quake.2013p606370,2013p606370,2013-08-13T08:34:03.205,177.3504,-37.6772,63.8281,2.4199,M,automatic,23,,WEL(GNS_Primary),2013-08-13T08:36:27.442,POINT (177.35036 -37.677156)
quake.2013p606350,2013p606350,2013-08-13T08:23:33.442,175.2976,-40.0567,50.3516,2.2437,M,automatic,22,,WEL(GNS_Primary),2013-08-13T08:27:39.693,POINT (175.29758 -40.056704)
quake.2013p606346,2013p606346,2013-08-13T08:21:14.381,176.1362,-38.2454,125.4688,2.4124,M,automatic,11,,WEL(GNS_Primary),2013-08-13T08:23:31.325,POINT (176.13625 -38.245358)
quake.2013p606302,2013p606302,2013-08-13T07:58:12.735,174.3055,-41.7526,5.1172,2.3644,M,automatic,15,,WEL(GNS_Primary),2013-08-13T08:00:17.487,POINT (174.30553 -41.752644)
quake.2013p606242,2013p606242,2013-08-13T07:26:05.163,175.7144,-39.4907,15.8984,2.3745,M,automatic,48,,WEL(GNS_Primary),2013-08-13T07:31:07.932,POINT (175.71443 -39.490712)
quake.2013p606075,2013p606075,2013-08-13T05:57:07.718,174.4368,-41.6789,5.1172,2.1925,M,automatic,13,,WEL(GNS_Primary),2013-08-13T05:58:54.312,POINT (174.43685 -41.678928)
quake.2013p605967,2013p605967,2013-08-13T04:59:23.627,174.3545,-41.5981,8.8672,2.0055,M,automatic,17,,WEL(GNS_Primary),2013-08-13T05:01:10.761,POINT (174.35452 -41.598105)
quake.2013p605965,2013p605965,2013-08-13T04:58:12.958,173.5147,-41.4971,92.1875,2.0341,M,automatic,10,,WEL(GNS_Primary),2013-08-13T05:00:03.805,POINT (173.51469 -41.497051)
quake.2013p605962,2013p605962,2013-08-13T04:56:57.424,178.6949,-38.1311,33.5938,2.6571,M,automatic,18,,WEL(GNS_Primary),2013-08-13T04:59:16.301,POINT (178.69494 -38.13107)
quake.2013p605928,2013p605928,2013-08-13T04:38:41.359,174.3053,-41.7226,5.8203,2.2393,M,automatic,15,,WEL(GNS_Primary),2013-08-13T04:41:48.539,POINT (174.30533 -41.72261)
quake.2013p605893,2013p605893,2013-08-13T04:19:56.565,174.7815,-40.1058,24.9219,2.261,M,automatic,18,,WEL(GNS_Primary),2013-08-13T04:22:01.889,POINT (174.78152 -40.105806)
quake.2013p605885,2013p605885,2013-08-13T04:15:35.343,174.3183,-41.6029,5.1172,2.2773,M,automatic,13,,WEL(GNS_Primary),2013-08-13T04:17:34.57,POINT (174.31834 -41.60288)
quake.2013p605803,2013p605803,2013-08-13T03:32:17.721,174.2041,-41.6137,8.1641,2.1144,M,automatic,10,,WEL(GNS_Primary),2013-08-13T03:33:56.257,POINT (174.20414 -41.613702)
quake.2013p605797,2013p605797,2013-08-13T03:29:02.33,176.9049,-39.7363,42.2656,2.2004,M,automatic,19,,WEL(GNS_Primary),2013-08-13T04:30:29.957,POINT (176.90489 -39.736345)
quake.2013p605592,2013p605592,2013-08-13T01:39:31.885,174.3232,-41.6222,9.8047,2.5168,M,reviewed,13,,WEL(GNS_Primary),2013-08-13T10:31:25.898,POINT (174.32321 -41.622208)
quake.2013p605582,2013p605582,2013-08-13T01:34:22.628,174.2155,-41.5894,15.7812,2.4613,M,automatic,20,,WEL(GNS_Primary),2013-08-13T01:36:46.989,POINT (174.21546 -41.589428)
quake.2013p605475,2013p605475,2013-08-13T00:37:26.224,176.6395,-40.3089,15.3711,2.6108,M,reviewed,15,,WEL(GNS_Primary),2013-08-13T10:20:58.787,POINT (176.6395 -40.30891)
quake.2013p605343,2013p605343,2013-08-12T23:27:13.347,175.8597,-40.49,25.8594,1.8259,M,automatic,16,,WEL(GNS_Primary),2013-08-12T23:29:07.308,POINT (175.85969 -40.489971)
quake.2013p605325,2013p605325,2013-08-12T23:17:17.018,174.1649,-41.6901,7.4609,2.6333,M,automatic,37,,WEL(GNS_Primary),2013-08-12T23:22:03.092,POINT (174.16494 -41.690128)
quake.2013p605210,2013p605210,2013-08-12T22:16:10.201,174.3094,-41.7578,5.1172,2.6019,M,automatic,26,,WEL(GNS_Primary),2013-08-12T22:18:14.979,POINT (174.30941 -41.757763)
quake.2013p605203,2013p605203,2013-08-12T22:12:32.694,174.2208,-41.605,18.4766,2.573,M,automatic,27,,WEL(GNS_Primary),2013-08-12T22:14:31.217,POINT (174.22085 -41.605018)
quake.2013p605145,2013p605145,2013-08-12T21:41:44.023,174.1968,-41.5697,21.6406,2.1884,M,automatic,19,,WEL(GNS_Primary),2013-08-12T21:43:35.666,POINT (174.19681 -41.569694)
quake.2013p605087,2013p605087,2013-08-12T21:10:49.769,174.3484,-41.6296,11.9141,2.0912,M,automatic,21,,WEL(GNS_Primary),2013-08-12T21:13:51.404,POINT (174.34835 -41.62962)
quake.2013p605067,2013p605067,2013-08-12T21:00:01.39,177.559,-37.8103,47.8906,2.0218,M,automatic,10,,WEL(GNS_Primary),2013-08-12T21:01:29.278,POINT (177.55897 -37.810258)
quake.2013p605037,2013p605037,2013-08-12T20:44:12.893,174.2327,-41.5981,18.3008,3.2869,M,reviewed,23,,WEL(GNS_Primary),2013-08-13T10:17:44.232,POINT (174.23268 -41.598067)
quake.2013p605032,2013p605032,2013-08-12T20:41:29.7,174.2106,-41.6218,9.4531,2.0126,M,automatic,10,,WEL(GNS_Primary),2013-08-12T20:43:03.466,POINT (174.21064 -41.621818)
quake.2013p604869,2013p604869,2013-08-12T19:14:29.727,174.3252,-41.6615,10.0391,2.0858,M,automatic,18,,WEL(GNS_Primary),2013-08-12T19:16:44.691,POINT (174.32515 -41.661468)
quake.2013p604860,2013p604860,2013-08-12T19:09:40.216,174.2964,-41.7463,5.0586,2.4402,M,automatic,21,,WEL(GNS_Primary),2013-08-12T19:11:45.166,POINT (174.29641 -41.746329)
quake.2013p604848,2013p604848,2013-08-12T19:03:24.242,174.2875,-41.749,5.0586,2.3084,M,automatic,21,,WEL(GNS_Primary),2013-08-12T19:05:29.637,POINT (174.28752 -41.748988)
quake.2013p604779,2013p604779,2013-08-12T18:26:27.4,174.2621,-41.6388,5.1172,1.9435,M,automatic,10,,WEL(GNS_Primary),2013-08-12T18:28:14.296,POINT (174.26213 -41.638763)
quake.2013p604745,2013p604745,2013-08-12T18:08:11.09,174.2716,-41.5854,5.0586,2.4374,M,automatic,29,,WEL(GNS_Primary),2013-08-12T18:10:37.515,POINT (174.27157 -41.585448)
quake.2013p604718,2013p604718,2013-08-12T17:53:53.765,176.7885,-39.7582,36.2891,2.1382,M,automatic,17,,WEL(GNS_Primary),2013-08-12T17:55:48.764,POINT (176.78854 -39.758244)
quake.2013p604700,2013p604700,2013-08-12T17:44:38.766,176.5266,-39.9472,17.0117,2.2469,M,reviewed,15,,WEL(GNS_Primary),2013-08-12T20:20:10.963,POINT (176.52663 -39.947205)
quake.2013p604625,2013p604625,2013-08-12T17:04:16.246,175.9814,-37.8671,192.9688,2.6907,M,automatic,16,,WEL(GNS_Primary),2013-08-12T17:07:34.323,POINT (175.98145 -37.867145)
quake.2013p604618,2013p604618,2013-08-12T17:00:31.235,171.5522,-44.151,16.4602,2.9008,M,reviewed,15,,WEL(GNS_Primary),2013-08-12T20:15:57.846,POINT (171.55222 -44.150978)
quake.2013p604520,2013p604520,2013-08-12T16:08:37.481,177.1648,-39.7175,15.5469,2.4774,M,automatic,18,,WEL(GNS_Primary),2013-08-12T19:20:42.629,POINT (177.16478 -39.717535)
quake.2013p604504,2013p604504,2013-08-12T16:00:08.521,174.1833,-41.6654,11.7383,2.1776,M,reviewed,11,,WEL(GNS_Primary),2013-08-12T20:23:45.721,POINT (174.1833 -41.665434)
quake.2013p604496,2013p604496,2013-08-12T15:55:39.304,176.9242,-39.7803,49.2969,2.2992,M,automatic,30,,WEL(GNS_Primary),2013-08-12T15:59:26.541,POINT (176.92423 -39.780254)
quake.2013p604489,2013p604489,2013-08-12T15:51:46.656,178.2763,-38.1735,10.0391,2.2783,M,automatic,18,,WEL(GNS_Primary),2013-08-12T15:53:43.516,POINT (178.2763 -38.17352)
quake.2013p604469,2013p604469,2013-08-12T15:41:31.829,174.1915,-40.9443,47.5391,2.9059,M,automatic,43,,WEL(GNS_Primary),2013-08-12T19:07:32.1,POINT (174.19146 -40.944332)
quake.2013p604437,2013p604437,2013-08-12T15:24:18.625,175.4105,-39.2026,18.8281,1.477,M,automatic,13,,WEL(GNS_Primary),2013-08-12T18:56:33.346,POINT (175.41052 -39.202609)
quake.2013p604423,2013p604423,2013-08-12T15:17:02.143,174.1401,-41.7217,10.0977,2.2263,M,reviewed,14,,WEL(GNS_Primary),2013-08-12T20:26:39.963,POINT (174.14012 -41.721723)
quake.2013p604409,2013p604409,2013-08-12T15:09:13.324,178.2665,-38.1686,10.3906,2.2717,M,automatic,16,,WEL(GNS_Primary),2013-08-12T15:11:07.403,POINT (178.26646 -38.168636)
quake.2013p604400,2013p604400,2013-08-12T15:04:26.523,172.5322,-42.5821,7.6953,2.6487,M,automatic,10,,WEL(GNS_Primary),2013-08-12T15:06:29.332,POINT (172.53215 -42.582119)
quake.2013p604369,2013p604369,2013-08-12T14:48:09.639,174.3219,-41.673,10.7422,2.1054,M,automatic,18,,WEL(GNS_Primary),2013-08-12T14:50:06.386,POINT (174.3219 -41.67305)
quake.2013p604331,2013p604331,2013-08-12T14:28:00.239,175.3571,-39.1491,16.3086,1.9352,M,automatic,28,,WEL(GNS_Primary),2013-08-12T18:37:17.557,POINT (175.3571 -39.149081)
quake.2013p604313,2013p604313,2013-08-12T14:18:21.964,176.4786,-40.6097,15.1953,2.2408,M,automatic,14,,WEL(GNS_Primary),2013-08-12T14:20:02.207,POINT (176.47856 -40.609709)
quake.2013p604251,2013p604251,2013-08-12T13:45:01.581,176.4,-38.251,61.4844,2.5655,M,automatic,38,,WEL(GNS_Primary),2013-08-12T17:44:36.578,POINT (176.39996 -38.250994)
quake.2013p604227,2013p604227,2013-08-12T13:32:26.361,176.0463,-38.3109,197.1875,2.7824,M,automatic,14,,WEL(GNS_Primary),2013-08-12T13:35:39.266,POINT (176.0463 -38.310931)
quake.2013p604190,2013p604190,2013-08-12T13:12:52.154,177.717,-37.4378,86.0938,2.5843,M,automatic,26,,WEL(GNS_Primary),2013-08-12T13:15:19.315,POINT (177.71699 -37.437828)
quake.2013p604117,2013p604117,2013-08-12T12:33:55.668,177.5466,-39.3688,23.3984,2.3979,M,automatic,15,,WEL(GNS_Primary),2013-08-12T12:35:49.427,POINT (177.54656 -39.368813)
quake.2013p604105,2013p604105,2013-08-12T12:27:34.494,174.266,-41.5922,7.2266,2.3627,M,automatic,24,,WEL(GNS_Primary),2013-08-12T12:29:55.896,POINT (174.26595 -41.592164)
quake.2013p604085,2013p604085,2013-08-12T12:16:49.244,174.2269,-41.7095,8.8672,2.1848,M,automatic,12,,WEL(GNS_Primary),2013-08-12T12:19:52.947,POINT (174.22693 -41.709465)
quake.2013p604026,2013p604026,2013-08-12T11:45:07.866,174.1856,-41.6757,10.9766,2.013,M,reviewed,15,,WEL(GNS_Primary),2013-08-12T20:05:20.895,POINT (174.18562 -41.67572)
quake.2013p604002,2013p604002,2013-08-12T11:32:02.141,173.876,-39.472,268.4375,3.8233,M,automatic,19,,WEL(GNS_Primary),2013-08-12T11:35:49.998,POINT (173.87601 -39.472037)
quake.2013p604001,2013p604001,2013-08-12T11:31:40.71,177.7687,-36.7681,164.375,2.8136,M,automatic,10,,WEL(GNS_Primary),2013-08-12T11:33:52.502,POINT (177.76874 -36.768071)
quake.2013p603976,2013p603976,2013-08-12T11:18:27.872,174.1874,-40.9309,52.2266,3.6336,M,reviewed,31,,WEL(GNS_Primary),2013-08-12T20:01:59.985,POINT (174.18735 -40.930863)
quake.2013p603964,2013p603964,2013-08-12T11:13:16.295,175.6514,-39.3487,88.5547,2.8699,M,automatic,92,,WEL(GNS_Primary),2013-08-12T13:38:38.602,POINT (175.65138 -39.348747)
quake.2013p603944,2013p603944,2013-08-12T11:01:24.002,173.8861,-39.1754,11.8088,2.4717,M,automatic,12,,WEL(GNS_Primary),2013-08-12T11:03:31.668,POINT (173.88611 -39.175415)
quake.2013p603877,2013p603877,2013-08-12T10:25:43.715,174.2272,-41.6035,5.1172,2.3563,M,automatic,30,,WEL(GNS_Primary),2013-08-12T12:00:48.668,POINT (174.22724 -41.603538)
quake.2013p603857,2013p603857,2013-08-12T10:15:27.394,174.2152,-41.5702,8.9844,2.0104,M,automatic,10,,WEL(GNS_Primary),2013-08-12T10:17:03.299,POINT (174.21523 -41.570236)
quake.2013p603852,2013p603852,2013-08-12T10:12:40.907,174.2322,-41.6012,5.1172,2.3462,M,automatic,19,,WEL(GNS_Primary),2013-08-12T10:15:49.104,POINT (174.23222 -41.601182)
quake.2013p603829,2013p603829,2013-08-12T10:00:10.58,176.0753,-39.1316,62.7734,2.0488,M,automatic,18,,WEL(GNS_Primary),2013-08-12T11:28:35.447,POINT (176.07526 -39.131582)
quake.2013p603666,2013p603666,2013-08-12T08:33:47.823,178.1746,-37.6503,39.6875,2.2201,M,automatic,14,,WEL(GNS_Primary),2013-08-12T08:36:04.391,POINT (178.17461 -37.650302)
quake.2013p603658,2013p603658,2013-08-12T08:29:28.861,176.4923,-37.688,250.625,2.9984,M,automatic,20,,WEL(GNS_Primary),2013-08-12T11:10:16.337,POINT (176.49231 -37.687977)
quake.2013p603481,2013p603481,2013-08-12T06:54:59.347,174.3241,-41.7315,5.1172,2.3606,M,automatic,16,,WEL(GNS_Primary),2013-08-12T06:57:03.997,POINT (174.3241 -41.731502)
quake.2013p603474,2013p603474,2013-08-12T06:51:09.06,174.3149,-41.7312,5.1172,2.7467,M,automatic,38,,WEL(GNS_Primary),2013-08-12T06:58:51.578,POINT (174.31487 -41.731231)
quake.2013p603471,2013p603471,2013-08-12T06:49:22.463,175.4554,-39.2473,61.0156,1.6272,M,automatic,12,,WEL(GNS_Primary),2013-08-12T06:58:04.988,POINT (175.45545 -39.247331)
quake.2013p603436,2013p603436,2013-08-12T06:30:46.076,174.3416,-41.7389,6.1133,3.1035,M,reviewed,27,,WEL(GNS_Primary),2013-08-12T07:42:28.019,POINT (174.34156 -41.738896)
quake.2013p603386,2013p603386,2013-08-12T06:04:28.182,176.6541,-37.648,50.4688,2.4567,M,automatic,14,,WEL(GNS_Primary),2013-08-12T11:03:36.187,POINT (176.65407 -37.648006)
quake.2013p603291,2013p603291,2013-08-12T05:13:42.945,174.1189,-41.6419,5.0586,2.1806,M,automatic,13,,WEL(GNS_Primary),2013-08-12T05:15:40.802,POINT (174.11892 -41.641853)
quake.2013p603186,2013p603186,2013-08-12T04:16:50.593,-179.3742,-30.9574,350,5.9802,Mw(mB),reviewed,28,earthquake,WEL(GNS_Primary),2013-08-12T21:40:37.595,POINT (-179.37418 -30.957367)
quake.2013p603168,2013p603168,2013-08-12T04:08:17.019,175.1326,-39.313,26.9141,2.331,M,automatic,24,,WEL(GNS_Primary),2013-08-12T04:11:11.527,POINT (175.13259 -39.312965)
quake.2013p603111,2013p603111,2013-08-12T03:37:41.784,174.0577,-41.5923,15.0781,1.8782,M,automatic,11,,WEL(GNS_Primary),2013-08-12T03:39:22.16,POINT (174.05774 -41.592297)
quake.2013p602991,2013p602991,2013-08-12T02:33:43.776,174.1548,-41.5205,28.5547,1.8275,M,automatic,11,,WEL(GNS_Primary),2013-08-12T02:35:39.437,POINT (174.15485 -41.520494)
quake.2013p602884,2013p602884,2013-08-12T01:36:56.647,174.238,-41.6925,5.0586,2.1992,M,automatic,17,,WEL(GNS_Primary),2013-08-12T01:42:52.149,POINT (174.23795 -41.69248)
quake.2013p602863,2013p602863,2013-08-12T01:25:23.882,174.3048,-41.6217,5.1172,1.9101,M,automatic,10,,WEL(GNS_Primary),2013-08-12T01:27:19.689,POINT (174.30478 -41.621666)
quake.2013p602858,2013p602858,2013-08-12T01:22:55.084,174.3786,-41.613,5.1172,2.1809,M,automatic,19,,WEL(GNS_Primary),2013-08-12T01:24:56.752,POINT (174.37856 -41.612992)
quake.2013p602638,2013p602638,2013-08-11T23:25:47.739,174.0952,-41.6966,8.1055,2.5046,M,reviewed,26,,WEL(GNS_Primary),2013-08-12T10:28:40.441,POINT (174.09523 -41.696631)
quake.2013p602583,2013p602583,2013-08-11T22:56:22.303,176.3046,-40.1445,49.8828,2.0766,M,automatic,22,,WEL(GNS_Primary),2013-08-11T22:58:07.061,POINT (176.30458 -40.144491)
quake.2013p602539,2013p602539,2013-08-11T22:32:49.043,175.6509,-38.5138,206.0938,2.9487,M,automatic,56,,WEL(GNS_Primary),2013-08-11T22:41:59.292,POINT (175.65092 -38.513825)
quake.2013p602502,2013p602502,2013-08-11T22:12:33.022,174.2494,-41.0282,488.75,2.6962,M,automatic,11,,WEL(GNS_Primary),2013-08-11T22:14:56.293,POINT (174.24937 -41.028215)
quake.2013p602489,2013p602489,2013-08-11T22:06:16.055,174.77,-41.7258,80.4688,2.5118,M,automatic,12,,WEL(GNS_Primary),2013-08-11T22:08:17.898,POINT (174.77 -41.725821)
quake.2013p602480,2013p602480,2013-08-11T22:01:36.969,174.3106,-41.4567,5.1172,2.1748,M,automatic,19,,WEL(GNS_Primary),2013-08-11T22:03:48.716,POINT (174.31058 -41.456682)
quake.2013p602323,2013p602323,2013-08-11T20:37:54.062,174.2145,-41.5439,14.9609,2.1395,M,automatic,15,,WEL(GNS_Primary),2013-08-11T20:41:06.309,POINT (174.21452 -41.543939)
quake.2013p602310,2013p602310,2013-08-11T20:31:00.823,174.3279,-41.5429,5.0586,1.8336,M,automatic,12,,WEL(GNS_Primary),2013-08-11T20:33:16.652,POINT (174.32794 -41.542898)
quake.2013p602271,2013p602271,2013-08-11T20:10:16.985,174.3451,-39.4512,237.9688,2.981,M,automatic,53,,WEL(GNS_Primary),2013-08-11T20:14:06.662,POINT (174.34514 -39.451245)
quake.2013p602267,2013p602267,2013-08-11T20:08:09.866,174.2319,-41.588,15.0195,2.8286,M,reviewed,17,,WEL(GNS_Primary),2013-08-11T22:46:30.751,POINT (174.23186 -41.588034)
quake.2013p602050,2013p602050,2013-08-11T18:12:27.271,174.3448,-41.5642,13.9648,3.4186,M,reviewed,20,,WEL(GNS_Primary),2013-08-11T21:20:36.877,POINT (174.34484 -41.564248)
quake.2013p602021,2013p602021,2013-08-11T17:57:16.843,174.2356,-41.6305,8.3984,2.2213,M,automatic,22,,WEL(GNS_Primary),2013-08-11T17:59:16.181,POINT (174.23558 -41.630476)
quake.2013p602007,2013p602007,2013-08-11T17:49:46.125,171.9446,-43.5698,5.0586,2.4352,M,automatic,12,,WEL(GNS_Primary),2013-08-11T17:52:52.023,POINT (171.94458 -43.569832)
quake.2013p601992,2013p601992,2013-08-11T17:41:43.907,174.2675,-41.5918,5.2344,1.7284,M,automatic,12,,WEL(GNS_Primary),2013-08-11T17:43:16.489,POINT (174.26754 -41.591794)
quake.2013p601962,2013p601962,2013-08-11T17:25:49.979,178.7752,-37.8621,22.8125,2.5884,M,automatic,14,,WEL(GNS_Primary),2013-08-11T17:28:16.879,POINT (178.77523 -37.862128)
quake.2013p601928,2013p601928,2013-08-11T17:07:29.324,177.5283,-39.0363,75.3125,2.5406,M,automatic,14,,WEL(GNS_Primary),2013-08-11T17:09:36.627,POINT (177.52826 -39.036318)
quake.2013p601923,2013p601923,2013-08-11T17:04:56.903,177.838,-38.5329,28.0273,3.1819,M,reviewed,21,,WEL(GNS_Primary),2013-08-11T21:31:29.653,POINT (177.83803 -38.53292)
quake.2013p601903,2013p601903,2013-08-11T16:54:05.305,172.6454,-43.6389,26.2109,2.8352,M,reviewed,21,,WEL(GNS_Primary),2013-08-11T23:23:14.432,POINT (172.64537 -43.638855)
quake.2013p601893,2013p601893,2013-08-11T16:48:54.001,172.6646,-43.6202,24.3359,3.8542,M,reviewed,48,,WEL(GNS_Primary),2013-08-11T19:15:52.143,POINT (172.66465 -43.620204)
quake.2013p601886,2013p601886,2013-08-11T16:45:09.331,179.7866,-37.9434,98.75,3.3099,M,automatic,12,,WEL(GNS_Primary),2013-08-11T16:47:43.819,POINT (179.78658 -37.943388)
quake.2013p601863,2013p601863,2013-08-11T16:32:51.056,177.7959,-38.5327,25.6318,3.1413,M,reviewed,11,,WEL(GNS_Primary),2013-08-11T21:49:04.185,POINT (177.79587 -38.532715)
quake.2013p601786,2013p601786,2013-08-11T15:51:56.802,174.4484,-41.5089,9.2773,2.066,M,automatic,22,,WEL(GNS_Primary),2013-08-11T15:53:43.035,POINT (174.44844 -41.508911)
quake.2013p601782,2013p601782,2013-08-11T15:49:57.348,175.0569,-41.1453,26.7383,1.6815,M,automatic,17,,WEL(GNS_Primary),2013-08-11T15:52:04.638,POINT (175.05686 -41.145342)
quake.2013p601706,2013p601706,2013-08-11T15:09:27.819,174.3913,-41.5679,5.4688,1.8729,M,automatic,11,,WEL(GNS_Primary),2013-08-11T15:11:04.383,POINT (174.39132 -41.567909)
quake.2013p601689,2013p601689,2013-08-11T15:00:11.667,177.8167,-38.9368,19.5312,1.7598,M,automatic,10,,WEL(GNS_Primary),2013-08-11T15:01:36.294,POINT (177.81669 -38.93684)
quake.2013p601670,2013p601670,2013-08-11T14:50:24.021,178.0093,-36.2792,140.9375,3.4362,M,automatic,26,,WEL(GNS_Primary),2013-08-11T14:53:46.269,POINT (178.00929 -36.279225)
quake.2013p601646,2013p601646,2013-08-11T14:37:10.336,174.5509,-41.7236,43.6719,2.0294,M,automatic,15,,WEL(GNS_Primary),2013-08-11T14:39:32.098,POINT (174.55089 -41.723561)
quake.2013p601627,2013p601627,2013-08-11T14:27:10.683,174.2679,-41.6831,5.1172,2.5194,M,automatic,34,,WEL(GNS_Primary),2013-08-11T14:49:49.319,POINT (174.26791 -41.683142)
quake.2013p601570,2013p601570,2013-08-11T13:56:41.799,174.2508,-41.6426,5.1172,2.7337,M,automatic,39,,WEL(GNS_Primary),2013-08-11T14:46:20.492,POINT (174.25076 -41.6426)
quake.2013p601487,2013p601487,2013-08-11T13:12:38.428,174.2736,-41.5507,8.1641,1.8469,M,automatic,13,,WEL(GNS_Primary),2013-08-11T14:40:53.528,POINT (174.27362 -41.550683)
quake.2013p601481,2013p601481,2013-08-11T13:09:39.978,177.8153,-38.5391,29.2578,3.194,M,reviewed,18,,WEL(GNS_Primary),2013-08-11T22:34:09.611,POINT (177.81534 -38.539095)
quake.2013p601457,2013p601457,2013-08-11T12:56:30.103,177.1485,-39.6133,19.4141,2.6937,M,automatic,38,,WEL(GNS_Primary),2013-08-11T14:38:41.93,POINT (177.14851 -39.613323)
quake.2013p601420,2013p601420,2013-08-11T12:37:01.077,174.3425,-41.5696,7.7539,2.2375,M,automatic,29,,WEL(GNS_Primary),2013-08-11T14:36:25.727,POINT (174.34251 -41.569601)
quake.2013p601341,2013p601341,2013-08-11T11:54:59.206,174.4009,-41.5127,16.3672,1.8641,M,automatic,16,,WEL(GNS_Primary),2013-08-11T14:31:32.643,POINT (174.40091 -41.512725)
quake.2013p601333,2013p601333,2013-08-11T11:50:16.329,174.2914,-41.472,5.1172,2.0682,M,automatic,15,,WEL(GNS_Primary),2013-08-11T14:30:58.855,POINT (174.2914 -41.471965)
quake.2013p601286,2013p601286,2013-08-11T11:25:36.09,174.3973,-41.717,5.1172,1.8525,M,automatic,15,,WEL(GNS_Primary),2013-08-11T11:27:28.517,POINT (174.39732 -41.716969)
quake.2013p601280,2013p601280,2013-08-11T11:22:21.73,174.3758,-41.6527,8.457,2.6962,M,automatic,43,,WEL(GNS_Primary),2013-08-11T14:27:45.906,POINT (174.37583 -41.652739)
quake.2013p601268,2013p601268,2013-08-11T11:15:54.65,174.4876,-41.4565,12.7344,1.7172,M,automatic,10,,WEL(GNS_Primary),2013-08-11T11:17:23.24,POINT (174.48758 -41.456477)
quake.2013p601263,2013p601263,2013-08-11T11:13:34.532,174.336,-41.609,5.1758,2.2124,M,automatic,24,,WEL(GNS_Primary),2013-08-11T14:26:33.854,POINT (174.33595 -41.609028)
quake.2013p601253,2013p601253,2013-08-11T11:07:49.342,173.8512,-42.3513,188.75,2.1915,M,automatic,14,,WEL(GNS_Primary),2013-08-11T11:09:34.247,POINT (173.85118 -42.351261)
quake.2013p601240,2013p601240,2013-08-11T11:01:02.92,175.4723,-38.6684,201.4062,2.5375,M,automatic,19,,WEL(GNS_Primary),2013-08-11T11:03:57.271,POINT (175.47228 -38.668407)
quake.2013p601229,2013p601229,2013-08-11T10:54:53.645,174.2899,-41.6179,5.1172,2.2296,M,automatic,24,,WEL(GNS_Primary),2013-08-11T14:24:18.524,POINT (174.28991 -41.617892)
quake.2013p601192,2013p601192,2013-08-11T10:34:00.665,-176.7954,-30.2465,147.581,5.0306,M,reviewed,37,outside of network interest,WEL(GNS_Primary),2013-08-11T22:08:21.86,POINT (-176.79543 -30.246519)
quake.2013p601189,2013p601189,2013-08-11T10:33:43.538,174.1902,-41.6241,5.1172,2.3505,M,automatic,31,,WEL(GNS_Primary),2013-08-11T14:21:45.748,POINT (174.19024 -41.624138)
quake.2013p601182,2013p601182,2013-08-11T10:30:01.117,174.3604,-41.6208,13.3203,1.9407,M,automatic,17,,WEL(GNS_Primary),2013-08-11T14:21:20.347,POINT (174.36045 -41.6208)
quake.2013p601174,2013p601174,2013-08-11T10:25:47.745,175.1096,-39.2389,24.3359,2.0746,M,automatic,11,,WEL(GNS_Primary),2013-08-11T10:27:04.985,POINT (175.10956 -39.238886)
quake.2013p601099,2013p601099,2013-08-11T09:45:42.518,174.2006,-41.5652,9.5703,1.601,M,automatic,11,,WEL(GNS_Primary),2013-08-11T09:47:46.183,POINT (174.20056 -41.565216)
quake.2013p601068,2013p601068,2013-08-11T09:29:21.489,177.7996,-38.5344,14.4922,2.004,M,automatic,17,,WEL(GNS_Primary),2013-08-11T11:25:32.933,POINT (177.79956 -38.534445)
quake.2013p601046,2013p601046,2013-08-11T09:17:33.72,174.2076,-41.6628,12.4414,2.6696,M,automatic,45,,WEL(GNS_Primary),2013-08-11T09:23:25.586,POINT (174.20762 -41.662811)
quake.2013p601037,2013p601037,2013-08-11T09:12:37.668,177.1396,-39.6131,20.5859,2.5901,M,automatic,36,,WEL(GNS_Primary),2013-08-11T09:39:36.767,POINT (177.13956 -39.613052)
quake.2013p601028,2013p601028,2013-08-11T09:08:09.784,174.2445,-41.5183,11.1523,2.1874,M,automatic,21,,WEL(GNS_Primary),2013-08-11T09:10:33.003,POINT (174.24451 -41.518338)
quake.2013p600987,2013p600987,2013-08-11T08:46:09.991,176.4247,-37.3558,163.4375,2.7154,M,automatic,24,,WEL(GNS_Primary),2013-08-11T11:11:52.568,POINT (176.4247 -37.355842)
quake.2013p600967,2013p600967,2013-08-11T08:35:19.833,177.5586,-39.1834,19.4141,2.1835,M,automatic,13,,WEL(GNS_Primary),2013-08-11T08:36:50.84,POINT (177.55857 -39.183428)
quake.2013p600856,2013p600856,2013-08-11T07:36:33.713,176.3636,-40.0504,65.8203,3.0131,M,automatic,74,,WEL(GNS_Primary),2013-08-11T07:40:50.248,POINT (176.36364 -40.050426)
quake.2013p600827,2013p600827,2013-08-11T07:20:51.337,174.2466,-41.6652,8.9258,1.5005,M,automatic,14,,WEL(GNS_Primary),2013-08-11T07:22:15.018,POINT (174.24663 -41.665209)
quake.2013p600801,2013p600801,2013-08-11T07:07:00.083,174.3397,-41.6467,7.5195,1.8129,M,automatic,17,,WEL(GNS_Primary),2013-08-11T07:08:54.018,POINT (174.33968 -41.646672)
quake.2013p600786,2013p600786,2013-08-11T06:59:16.647,178.1918,-38.5009,23.3398,2.4385,M,automatic,20,,WEL(GNS_Primary),2013-08-11T09:47:27.872,POINT (178.19176 -38.500896)
quake.2013p600766,2013p600766,2013-08-11T06:48:18.472,175.0813,-40.2553,6.7578,1.9545,M,automatic,18,,WEL(GNS_Primary),2013-08-11T06:50:30.302,POINT (175.08128 -40.255322)
quake.2013p600735,2013p600735,2013-08-11T06:31:55.02,174.252,-41.7229,5.0586,1.7237,M,automatic,10,,WEL(GNS_Primary),2013-08-11T06:33:33.148,POINT (174.25197 -41.722921)
quake.2013p600710,2013p600710,2013-08-11T06:17:54.406,175.0254,-40.4917,7.5781,3.1499,M,automatic,17,,WEL(GNS_Primary),2013-08-11T06:21:03.519,POINT (175.02537 -40.491711)
quake.2013p600641,2013p600641,2013-08-11T05:41:43.567,174.1097,-41.7185,5.1172,1.6789,M,automatic,12,,WEL(GNS_Primary),2013-08-11T05:43:39.781,POINT (174.10969 -41.718536)
quake.2013p600632,2013p600632,2013-08-11T05:37:03.252,175.1652,-39.6671,69.4531,2.0666,M,automatic,17,,WEL(GNS_Primary),2013-08-11T05:40:15.325,POINT (175.16522 -39.667082)
quake.2013p600598,2013p600598,2013-08-11T05:18:47.35,174.2896,-41.5939,9.043,1.846,M,automatic,18,,WEL(GNS_Primary),2013-08-11T05:20:46.209,POINT (174.28959 -41.593902)
quake.2013p600592,2013p600592,2013-08-11T05:15:36.559,175.7869,-40.8289,10.918,1.6444,M,automatic,10,,WEL(GNS_Primary),2013-08-11T05:16:59.302,POINT (175.78686 -40.828934)
quake.2013p600565,2013p600565,2013-08-11T05:01:22.151,172.8152,-43.6973,6.8164,2.5212,M,automatic,15,,WEL(GNS_Primary),2013-08-11T05:04:47.838,POINT (172.81515 -43.697318)
quake.2013p600518,2013p600518,2013-08-11T04:35:59.532,174.2183,-41.5599,15.8984,1.6297,M,automatic,11,,WEL(GNS_Primary),2013-08-11T04:37:31.257,POINT (174.21831 -41.5599)
quake.2013p600421,2013p600421,2013-08-11T03:44:19.342,174.3157,-41.7046,5.8203,1.8852,M,automatic,21,,WEL(GNS_Primary),2013-08-11T03:46:15.817,POINT (174.31571 -41.704564)
quake.2013p600396,2013p600396,2013-08-11T03:31:26.63,174.1528,-41.6581,12.3828,1.4342,M,automatic,12,,WEL(GNS_Primary),2013-08-11T03:33:17.806,POINT (174.15275 -41.658071)
quake.2013p600372,2013p600372,2013-08-11T03:18:34.753,174.3955,-41.5501,5.1172,1.8055,M,automatic,19,,WEL(GNS_Primary),2013-08-11T03:20:26.904,POINT (174.39546 -41.550098)
quake.2013p600328,2013p600328,2013-08-11T02:54:46.515,173.9023,-41.7508,12.3828,2.3588,M,reviewed,17,,WEL(GNS_Primary),2013-08-11T20:27:55.097,POINT (173.90231 -41.750824)
quake.2013p600305,2013p600305,2013-08-11T02:42:48.958,177.302,-38.395,32.5391,2.442,M,automatic,29,,WEL(GNS_Primary),2013-08-11T04:51:02.815,POINT (177.30195 -38.395029)
quake.2013p600301,2013p600301,2013-08-11T02:40:33.884,174.1392,-41.5325,33.4766,1.7035,M,automatic,14,,WEL(GNS_Primary),2013-08-11T02:42:22.246,POINT (174.13918 -41.532546)
quake.2013p600249,2013p600249,2013-08-11T02:12:44.462,177.06,-36.9941,275.4688,3.6752,M,automatic,103,,WEL(GNS_Primary),2013-08-11T02:59:38.21,POINT (177.06005 -36.99407)
quake.2013p600177,2013p600177,2013-08-11T01:34:18.364,174.224,-41.6151,13.3203,1.8903,M,automatic,16,,WEL(GNS_Primary),2013-08-11T01:36:16.37,POINT (174.22398 -41.61512)
quake.2013p600145,2013p600145,2013-08-11T01:17:35.847,174.4358,-41.548,21.7578,3.3289,M,reviewed,27,,WEL(GNS_Primary),2013-08-11T20:26:34.569,POINT (174.43584 -41.54795)
quake.2013p600088,2013p600088,2013-08-11T00:47:02.207,174.3172,-41.5376,8.6914,2.1157,M,automatic,25,,WEL(GNS_Primary),2013-08-11T00:48:54.99,POINT (174.31716 -41.537576)
quake.2013p600065,2013p600065,2013-08-11T00:34:57.255,174.2775,-41.5871,6.6406,1.683,M,automatic,10,,WEL(GNS_Primary),2013-08-11T00:36:33.286,POINT (174.27749 -41.587082)
quake.2013p600053,2013p600053,2013-08-11T00:28:27.469,174.1728,-41.6787,5.1172,2.2286,M,automatic,23,,WEL(GNS_Primary),2013-08-11T00:30:43.1,POINT (174.17283 -41.678681)
quake.2013p600028,2013p600028,2013-08-11T00:14:56.658,174.2485,-41.5589,9.7461,1.4489,M,automatic,12,,WEL(GNS_Primary),2013-08-11T00:16:53.586,POINT (174.24851 -41.558911)
quake.2013p600019,2013p600019,2013-08-11T00:10:26.196,174.2891,-41.5922,9.8633,2.2472,M,automatic,28,,WEL(GNS_Primary),2013-08-11T00:12:26.701,POINT (174.28907 -41.592218)
quake.2013p600007,2013p600007,2013-08-11T00:04:01.04,172.7931,-43.6753,5.0293,3.4321,M,reviewed,22,,WEL(GNS_Primary),2013-08-11T10:27:10.448,POINT (172.79312 -43.675302)
quake.2013p599987,2013p599987,2013-08-10T23:53:11.831,175.3286,-39.238,11.9141,1.5291,M,automatic,20,,WEL(GNS_Primary),2013-08-10T23:55:12.295,POINT (175.32857 -39.238049)
quake.2013p599888,2013p599888,2013-08-10T23:00:29.533,174.1667,-41.632,5.0586,2.0254,M,automatic,16,,WEL(GNS_Primary),2013-08-10T23:02:28.314,POINT (174.16669 -41.631996)
quake.2013p599852,2013p599852,2013-08-10T22:41:34.01,174.115,-41.6728,18.4766,2.1062,M,reviewed,18,,WEL(GNS_Primary),2013-08-11T20:24:23.925,POINT (174.11503 -41.672812)
quake.2013p599844,2013p599844,2013-08-10T22:37:29.407,175.8038,-38.8768,9.7461,2.3439,M,reviewed,31,,WEL(GNS_Primary),2013-08-11T20:20:19.477,POINT (175.80375 -38.876767)
quake.2013p599807,2013p599807,2013-08-10T22:17:29.418,174.2306,-41.5811,13.7891,3.2491,M,reviewed,27,,WEL(GNS_Primary),2013-08-11T20:16:17.506,POINT (174.23058 -41.581114)
quake.2013p599763,2013p599763,2013-08-10T21:54:08.235,174.3712,-41.4209,8.1641,1.9985,M,automatic,20,,WEL(GNS_Primary),2013-08-10T21:56:04.235,POINT (174.3712 -41.420934)
quake.2013p599739,2013p599739,2013-08-10T21:40:57.201,174.268,-41.5989,5.1172,1.812,M,automatic,16,,WEL(GNS_Primary),2013-08-10T21:42:55.02,POINT (174.26803 -41.598898)
quake.2013p599708,2013p599708,2013-08-10T21:24:30.532,174.5364,-41.5342,10.0391,1.7126,M,automatic,18,,WEL(GNS_Primary),2013-08-10T21:26:21.04,POINT (174.53644 -41.53423)
quake.2013p599702,2013p599702,2013-08-10T21:21:28.68,177.8906,-38.3709,15.0195,1.9828,M,automatic,10,,WEL(GNS_Primary),2013-08-10T21:24:35.918,POINT (177.8906 -38.370875)
quake.2013p599681,2013p599681,2013-08-10T21:10:17.811,174.2797,-41.7237,5.0586,2.0357,M,automatic,16,,WEL(GNS_Primary),2013-08-10T21:12:21.254,POINT (174.27966 -41.723733)
quake.2013p599581,2013p599581,2013-08-10T20:16:47.115,174.863,-40.1274,25.1562,2.5004,M,automatic,50,,WEL(GNS_Primary),2013-08-10T20:20:30.838,POINT (174.86301 -40.127437)
quake.2013p599556,2013p599556,2013-08-10T20:03:28.844,174.3177,-41.5338,8.3398,2.0269,M,automatic,23,,WEL(GNS_Primary),2013-08-10T20:05:25.013,POINT (174.31771 -41.533839)
quake.2013p599551,2013p599551,2013-08-10T20:00:59.771,176.7807,-39.9421,18.9453,1.9511,M,automatic,12,,WEL(GNS_Primary),2013-08-10T20:03:55.754,POINT (176.78067 -39.942149)
quake.2013p599530,2013p599530,2013-08-10T19:49:43.209,174.3769,-41.5821,10.0391,1.571,M,automatic,11,,WEL(GNS_Primary),2013-08-10T19:51:02.35,POINT (174.37691 -41.582082)
quake.2013p599459,2013p599459,2013-08-10T19:12:12.709,174.4233,-41.5809,10.0391,1.738,M,automatic,16,,WEL(GNS_Primary),2013-08-10T19:14:05.437,POINT (174.42333 -41.580945)
quake.2013p599446,2013p599446,2013-08-10T19:05:28.655,175.8686,-38.9409,10.332,1.4773,M,reviewed,15,,WEL(GNS_Primary),2013-08-14T06:00:09.317,POINT (175.86861 -38.940853)
quake.2013p599435,2013p599435,2013-08-10T18:59:24.535,176.6502,-40.1299,46.1328,1.728,M,automatic,13,,WEL(GNS_Primary),2013-08-10T19:01:14.057,POINT (176.6502 -40.129871)
quake.2013p599388,2013p599388,2013-08-10T18:34:21.922,177.2282,-39.3231,20.9961,2.4324,M,automatic,27,,WEL(GNS_Primary),2013-08-10T18:37:09.871,POINT (177.22821 -39.323117)
quake.2013p599369,2013p599369,2013-08-10T18:24:12.294,174.1542,-41.6896,5.0586,1.9835,M,automatic,16,,WEL(GNS_Primary),2013-08-10T18:26:30.711,POINT (174.1542 -41.689604)
quake.2013p599347,2013p599347,2013-08-10T18:12:18.492,174.2748,-41.7303,5.0586,1.9093,M,automatic,15,,WEL(GNS_Primary),2013-08-10T18:14:31.552,POINT (174.27483 -41.730265)
quake.2013p599303,2013p599303,2013-08-10T17:48:49.849,174.2334,-41.6141,5.2344,1.8195,M,automatic,15,,WEL(GNS_Primary),2013-08-10T17:50:46.241,POINT (174.23338 -41.614145)
quake.2013p599263,2013p599263,2013-08-10T17:27:46.014,174.2204,-41.717,5.0586,2.4594,M,automatic,28,,WEL(GNS_Primary),2013-08-10T17:30:02.444,POINT (174.2204 -41.716989)
quake.2013p599243,2013p599243,2013-08-10T17:16:53.301,174.2262,-41.7457,8.5156,3.25,M,reviewed,38,,WEL(GNS_Primary),2013-08-11T20:12:05.623,POINT (174.22617 -41.745728)
quake.2013p599236,2013p599236,2013-08-10T17:13:11.042,174.4266,-41.5164,11.7969,1.6337,M,automatic,18,,WEL(GNS_Primary),2013-08-10T17:14:58.176,POINT (174.42656 -41.516399)
quake.2013p599231,2013p599231,2013-08-10T17:10:36.807,174.1934,-41.6342,15.1953,2.5702,M,reviewed,24,,WEL(GNS_Primary),2013-08-11T20:10:26.354,POINT (174.19336 -41.63424)
quake.2013p599183,2013p599183,2013-08-10T16:44:56.327,175.0331,-39.1138,5.0586,2.1852,M,reviewed,30,,WEL(GNS_Primary),2013-08-10T21:03:42.707,POINT (175.03312 -39.11377)
quake.2013p599173,2013p599173,2013-08-10T16:39:26.738,176.5497,-38.0131,262.8125,2.7667,M,automatic,19,,WEL(GNS_Primary),2013-08-10T16:43:21.845,POINT (176.5497 -38.013107)
quake.2013p599128,2013p599128,2013-08-10T16:15:41.417,174.3395,-41.6112,5.0586,1.7065,M,automatic,17,,WEL(GNS_Primary),2013-08-10T16:17:32.472,POINT (174.33948 -41.611217)
quake.2013p599108,2013p599108,2013-08-10T16:04:53.621,174.2344,-41.6488,5.1172,1.9393,M,automatic,15,,WEL(GNS_Primary),2013-08-10T16:06:54.625,POINT (174.23441 -41.648792)
quake.2013p599081,2013p599081,2013-08-10T15:50:42.385,177.7737,-38.6534,13.7305,1.9171,M,automatic,11,,WEL(GNS_Primary),2013-08-10T15:52:06.374,POINT (177.77366 -38.65338)
quake.2013p599073,2013p599073,2013-08-10T15:46:30.081,167.0765,-45.6104,64.5312,3.1508,M,automatic,24,,WEL(GNS_Primary),2013-08-10T15:52:39.636,POINT (167.07646 -45.610418)
quake.2013p599066,2013p599066,2013-08-10T15:42:50.056,174.2735,-41.5621,10.0977,1.6066,M,automatic,14,,WEL(GNS_Primary),2013-08-10T15:45:12.889,POINT (174.27347 -41.562148)
quake.2013p599054,2013p599054,2013-08-10T15:36:34.267,174.1924,-41.62,5.1172,2.0923,M,automatic,21,,WEL(GNS_Primary),2013-08-10T15:40:24.313,POINT (174.19239 -41.620031)
quake.2013p599052,2013p599052,2013-08-10T15:35:02.5,174.3236,-41.4627,5.0586,1.7929,M,automatic,16,,WEL(GNS_Primary),2013-08-10T15:37:36.792,POINT (174.32355 -41.462694)
quake.2013p599039,2013p599039,2013-08-10T15:28:29.723,173.6321,-41.7291,88.9062,1.8208,M,automatic,10,,WEL(GNS_Primary),2013-08-10T15:30:26.297,POINT (173.63211 -41.729128)
quake.2013p599035,2013p599035,2013-08-10T15:26:04.889,174.2753,-41.7584,9.3359,1.5462,M,automatic,10,,WEL(GNS_Primary),2013-08-10T15:27:41.22,POINT (174.2753 -41.75843)
quake.2013p599022,2013p599022,2013-08-10T15:19:18.999,175.1888,-39.8533,32.0703,1.9235,M,automatic,14,,WEL(GNS_Primary),2013-08-10T15:21:08.621,POINT (175.18876 -39.853316)
quake.2013p599007,2013p599007,2013-08-10T15:11:20.849,175.7549,-38.9914,146.7969,2.7379,M,automatic,91,,WEL(GNS_Primary),2013-08-10T15:14:58.116,POINT (175.75493 -38.991355)
quake.2013p598958,2013p598958,2013-08-10T14:44:59.443,176.0861,-40.0404,27.8516,1.5883,M,automatic,11,,WEL(GNS_Primary),2013-08-10T14:46:30.59,POINT (176.08608 -40.040411)
quake.2013p598909,2013p598909,2013-08-10T14:19:11.584,173.9542,-40.7967,64.7656,2.4441,M,automatic,19,,WEL(GNS_Primary),2013-08-10T14:21:49.221,POINT (173.95425 -40.796714)
quake.2013p598830,2013p598830,2013-08-10T13:36:52.807,177.0675,-39.5284,23.1641,1.9504,M,automatic,10,,WEL(GNS_Primary),2013-08-10T13:38:11.341,POINT (177.06752 -39.528393)
quake.2013p598821,2013p598821,2013-08-10T13:32:15.548,175.0225,-39.138,10.0977,2.1652,M,reviewed,22,,WEL(GNS_Primary),2013-08-10T21:04:40.04,POINT (175.02246 -39.138045)
quake.2013p598789,2013p598789,2013-08-10T13:15:15.626,176.4855,-38.802,46.4844,2.0042,M,automatic,17,,WEL(GNS_Primary),2013-08-10T13:21:59.825,POINT (176.48546 -38.801989)
quake.2013p598755,2013p598755,2013-08-10T12:56:57.219,174.3245,-41.5924,5.0586,2.3692,M,automatic,29,,WEL(GNS_Primary),2013-08-10T12:58:57.253,POINT (174.32451 -41.592427)
quake.2013p598713,2013p598713,2013-08-10T12:34:47.119,176.9038,-37.8622,8.9258,2.5684,M,reviewed,18,,WEL(GNS_Primary),2013-08-10T20:58:44.737,POINT (176.90384 -37.862211)
quake.2013p598712,2013p598712,2013-08-10T12:33:53.179,174.2156,-41.7337,5.2344,1.9984,M,automatic,10,,WEL(GNS_Primary),2013-08-10T12:35:54.802,POINT (174.21559 -41.733739)
quake.2013p598708,2013p598708,2013-08-10T12:32:08.474,175.7126,-39.4996,17.832,1.7628,M,reviewed,19,,WEL(GNS_Primary),2013-08-10T21:06:53.648,POINT (175.71258 -39.499618)
quake.2013p598683,2013p598683,2013-08-10T12:18:48.015,174.3233,-41.6005,5.1172,2.2924,M,automatic,19,,WEL(GNS_Primary),2013-08-10T12:21:50.902,POINT (174.32332 -41.600524)
quake.2013p598681,2013p598681,2013-08-10T12:17:31.332,167.4257,-45.1849,119.8438,3.5793,M,automatic,32,,WEL(GNS_Primary),2013-08-10T12:21:32.606,POINT (167.42567 -45.184872)
quake.2013p598649,2013p598649,2013-08-10T12:00:12.513,174.3812,-41.6479,6.3477,2.3002,M,automatic,25,,WEL(GNS_Primary),2013-08-10T12:02:38.822,POINT (174.38117 -41.647891)
quake.2013p598635,2013p598635,2013-08-10T11:52:53.554,175.7188,-39.4915,18.418,1.8813,M,automatic,28,,WEL(GNS_Primary),2013-08-10T11:55:33.815,POINT (175.71882 -39.491471)
quake.2013p598581,2013p598581,2013-08-10T11:24:14.06,174.2874,-41.6871,8.3984,2.0553,M,automatic,20,,WEL(GNS_Primary),2013-08-10T11:29:44.563,POINT (174.28741 -41.687051)
quake.2013p598546,2013p598546,2013-08-10T11:05:49.316,174.1921,-41.6532,5.0586,2.1407,M,automatic,21,,WEL(GNS_Primary),2013-08-10T11:07:59.415,POINT (174.19208 -41.653179)
quake.2013p598536,2013p598536,2013-08-10T10:59:58.18,173.4547,-41.4102,101.0938,2.14,M,automatic,13,,WEL(GNS_Primary),2013-08-10T11:01:57.399,POINT (173.4547 -41.410171)
quake.2013p598469,2013p598469,2013-08-10T10:24:35.505,174.2686,-41.7046,5.0586,2.1536,M,automatic,20,,WEL(GNS_Primary),2013-08-10T10:26:55.019,POINT (174.26858 -41.70464)
quake.2013p598422,2013p598422,2013-08-10T09:59:37.069,174.3038,-41.5449,9.1016,1.9566,M,automatic,15,,WEL(GNS_Primary),2013-08-10T10:01:32.05,POINT (174.30376 -41.544897)
quake.2013p598368,2013p598368,2013-08-10T09:30:32.205,167.2084,-45.517,76.7188,2.7032,M,automatic,11,,WEL(GNS_Primary),2013-08-10T09:32:40.656,POINT (167.20836 -45.516968)
quake.2013p598341,2013p598341,2013-08-10T09:16:12.036,174.2588,-41.5938,19.4727,3.191,M,reviewed,23,,WEL(GNS_Primary),2013-08-11T20:07:13.418,POINT (174.25876 -41.593829)
quake.2013p598337,2013p598337,2013-08-10T09:13:56.927,175.4448,-38.0279,5.0586,2.3213,M,automatic,27,,WEL(GNS_Primary),2013-08-10T09:20:15.094,POINT (175.44482 -38.027874)
quake.2013p598327,2013p598327,2013-08-10T09:09:04.127,174.3286,-41.4597,6.7578,1.9344,M,automatic,18,,WEL(GNS_Primary),2013-08-10T09:10:56.375,POINT (174.3286 -41.459715)
quake.2013p598314,2013p598314,2013-08-10T09:02:06.552,174.1285,-41.624,19.1797,1.7948,M,automatic,11,,WEL(GNS_Primary),2013-08-10T09:04:06.512,POINT (174.12854 -41.623993)
quake.2013p598306,2013p598306,2013-08-10T08:57:47.969,176.4329,-40.5569,14.082,2.0865,M,automatic,23,,WEL(GNS_Primary),2013-08-10T08:59:30.468,POINT (176.43291 -40.556889)
quake.2013p598206,2013p598206,2013-08-10T08:04:26.231,174.1996,-41.6544,10.0391,1.8257,M,automatic,15,,WEL(GNS_Primary),2013-08-10T08:06:19.604,POINT (174.19961 -41.654443)
quake.2013p598138,2013p598138,2013-08-10T07:27:56.592,174.3182,-41.5885,8.3398,2.3797,M,automatic,31,,WEL(GNS_Primary),2013-08-10T07:30:12.418,POINT (174.31815 -41.588486)
quake.2013p598083,2013p598083,2013-08-10T06:58:46.137,174.0225,-42.8217,21.4062,2.6785,M,automatic,11,,WEL(GNS_Primary),2013-08-10T07:01:22.361,POINT (174.02253 -42.821733)
quake.2013p598072,2013p598072,2013-08-10T06:52:59.281,174.2282,-41.6286,7.4609,3.0133,M,reviewed,26,,WEL(GNS_Primary),2013-08-11T20:05:03.212,POINT (174.22815 -41.628589)
quake.2013p598054,2013p598054,2013-08-10T06:43:15.097,176.6114,-40.4666,38.2812,2.3121,M,automatic,14,,WEL(GNS_Primary),2013-08-10T06:46:40.165,POINT (176.61144 -40.4666)
quake.2013p597987,2013p597987,2013-08-10T06:07:42.225,173.4559,-41.3643,62.8906,1.7251,M,automatic,10,,WEL(GNS_Primary),2013-08-10T06:09:09.03,POINT (173.4559 -41.364312)
quake.2013p597983,2013p597983,2013-08-10T06:05:39.486,175.4164,-39.3437,107.6562,1.4562,M,automatic,10,,WEL(GNS_Primary),2013-08-10T06:08:33.549,POINT (175.41637 -39.343689)
quake.2013p597839,2013p597839,2013-08-10T04:49:01.677,174.2404,-41.6606,5.1172,2.5372,M,automatic,27,,WEL(GNS_Primary),2013-08-10T04:51:25.178,POINT (174.24036 -41.660645)
quake.2013p597836,2013p597836,2013-08-10T04:47:18.239,174.3146,-41.5448,24.9219,2.4838,M,automatic,29,,WEL(GNS_Primary),2013-08-10T04:49:15.724,POINT (174.31456 -41.544798)
quake.2013p597819,2013p597819,2013-08-10T04:38:27.482,174.321,-41.5794,8.3398,2.459,M,automatic,41,,WEL(GNS_Primary),2013-08-10T04:40:27.956,POINT (174.32103 -41.579395)
quake.2013p597813,2013p597813,2013-08-10T04:35:07.593,174.3193,-41.7639,6.0547,1.9979,M,automatic,18,,WEL(GNS_Primary),2013-08-10T04:37:13.542,POINT (174.31933 -41.763892)
quake.2013p597806,2013p597806,2013-08-10T04:31:17.126,174.3588,-41.6477,7.6367,2.0714,M,automatic,20,,WEL(GNS_Primary),2013-08-10T04:33:20.02,POINT (174.35882 -41.647652)
quake.2013p597794,2013p597794,2013-08-10T04:24:48.028,174.4051,-41.7164,5.1172,1.9957,M,automatic,18,,WEL(GNS_Primary),2013-08-10T04:26:54.075,POINT (174.40513 -41.716364)
quake.2013p597792,2013p597792,2013-08-10T04:23:35.948,174.3209,-41.5854,21.2891,1.4259,M,automatic,10,,WEL(GNS_Primary),2013-08-10T04:25:09.813,POINT (174.32091 -41.585439)
quake.2013p597778,2013p597778,2013-08-10T04:16:14.827,175.5886,-38.6836,184.0625,2.0217,M,automatic,11,,WEL(GNS_Primary),2013-08-10T04:19:30.271,POINT (175.58856 -38.683647)
quake.2013p597760,2013p597760,2013-08-10T04:06:57.271,174.4668,-40.7498,86.4453,2.3313,M,automatic,31,,WEL(GNS_Primary),2013-08-10T04:10:31.341,POINT (174.46678 -40.749832)
quake.2013p597695,2013p597695,2013-08-10T03:32:17.391,174.443,-41.5354,11.3867,2.8951,M,automatic,59,,WEL(GNS_Primary),2013-08-10T03:35:34.813,POINT (174.44305 -41.535443)
quake.2013p597677,2013p597677,2013-08-10T03:22:47.699,176.5161,-40.1013,46.0156,1.6793,M,automatic,10,,WEL(GNS_Primary),2013-08-10T03:24:11.36,POINT (176.51614 -40.101262)
quake.2013p597649,2013p597649,2013-08-10T03:07:52.372,174.2501,-41.6885,8.6328,1.9051,M,automatic,16,,WEL(GNS_Primary),2013-08-10T03:09:52.819,POINT (174.25013 -41.688459)
quake.2013p597647,2013p597647,2013-08-10T03:06:28.031,174.2057,-41.5929,6.5234,1.5804,M,automatic,13,,WEL(GNS_Primary),2013-08-10T03:08:25.296,POINT (174.20569 -41.592894)
quake.2013p597597,2013p597597,2013-08-10T02:40:00.943,174.3444,-41.5728,11.2109,1.6145,M,automatic,14,,WEL(GNS_Primary),2013-08-10T02:42:30.524,POINT (174.34435 -41.572783)
quake.2013p597589,2013p597589,2013-08-10T02:35:59.8,178.5206,-37.5545,30.3125,2.3851,M,automatic,14,,WEL(GNS_Primary),2013-08-10T07:32:29.726,POINT (178.52062 -37.554472)
quake.2013p597496,2013p597496,2013-08-10T01:46:21.596,174.4381,-41.5005,22.4609,1.7633,M,automatic,22,,WEL(GNS_Primary),2013-08-10T01:50:08.431,POINT (174.43811 -41.500475)
quake.2013p597490,2013p597490,2013-08-10T01:42:47.897,174.3099,-41.6078,8.8086,1.8538,M,automatic,17,,WEL(GNS_Primary),2013-08-10T01:44:50.024,POINT (174.3099 -41.607845)
quake.2013p597396,2013p597396,2013-08-10T00:52:54.133,176.6971,-37.7343,51.875,1.9703,M,automatic,11,,WEL(GNS_Primary),2013-08-10T00:54:19.937,POINT (176.69714 -37.734344)
quake.2013p597383,2013p597383,2013-08-10T00:45:53.03,174.1245,-42.2983,37.1094,1.9724,M,automatic,12,,WEL(GNS_Primary),2013-08-10T00:47:56.15,POINT (174.12452 -42.29831)
quake.2013p597357,2013p597357,2013-08-10T00:32:15.903,174.3419,-41.6107,11.7969,1.6264,M,automatic,10,,WEL(GNS_Primary),2013-08-10T00:33:49.711,POINT (174.34188 -41.610662)
quake.2013p597338,2013p597338,2013-08-10T00:21:54.989,176.8801,-37.8523,5.0586,2.2362,M,automatic,17,,WEL(GNS_Primary),2013-08-10T03:42:41.324,POINT (176.88006 -37.852307)
quake.2013p597336,2013p597336,2013-08-10T00:21:07.707,174.3788,-41.5588,11.6797,2.1486,M,automatic,33,,WEL(GNS_Primary),2013-08-10T00:24:57.838,POINT (174.37878 -41.558782)
quake.2013p597298,2013p597298,2013-08-10T00:00:38.041,176.9166,-37.8657,7.4609,2.531,M,reviewed,17,,WEL(GNS_Primary),2013-08-10T00:23:12.584,POINT (176.91662 -37.865732)
quake.2013p597278,2013p597278,2013-08-09T23:49:43.44,177.8799,-37.3096,58.9062,2.4889,M,automatic,22,,WEL(GNS_Primary),2013-08-09T23:52:13.362,POINT (177.87994 -37.309641)
quake.2013p597231,2013p597231,2013-08-09T23:25:08.758,171.2556,-43.5366,7.2266,3.8171,M,reviewed,24,,WEL(GNS_Primary),2013-08-11T20:01:06.523,POINT (171.25565 -43.536602)
quake.2013p597170,2013p597170,2013-08-09T22:52:14.895,174.3385,-41.5705,9.9219,1.9561,M,automatic,14,,WEL(GNS_Primary),2013-08-09T22:55:21.136,POINT (174.33852 -41.570526)
quake.2013p597140,2013p597140,2013-08-09T22:36:30.715,174.3751,-41.6788,6.2891,1.6065,M,automatic,12,,WEL(GNS_Primary),2013-08-09T22:38:26.359,POINT (174.3751 -41.678783)
quake.2013p597084,2013p597084,2013-08-09T22:06:37.955,174.3177,-41.5862,6.7578,1.8429,M,automatic,16,,WEL(GNS_Primary),2013-08-09T22:08:49.462,POINT (174.31772 -41.58618)
quake.2013p597074,2013p597074,2013-08-09T22:01:02.351,174.3623,-41.5873,7.4023,2.8011,M,automatic,46,,WEL(GNS_Primary),2013-08-09T22:58:43.519,POINT (174.36227 -41.587281)
quake.2013p597064,2013p597064,2013-08-09T21:55:52.806,175.3541,-40.6228,30.4297,1.3712,M,automatic,11,,WEL(GNS_Primary),2013-08-09T21:58:51.918,POINT (175.35413 -40.622847)
quake.2013p597046,2013p597046,2013-08-09T21:46:33.079,174.3247,-41.4546,6.5234,2.1243,M,automatic,22,,WEL(GNS_Primary),2013-08-09T21:48:28.871,POINT (174.32474 -41.454597)
quake.2013p597039,2013p597039,2013-08-09T21:42:39.178,174.3785,-41.5396,8.8672,1.8423,M,automatic,19,,WEL(GNS_Primary),2013-08-09T21:44:36.644,POINT (174.3785 -41.53959)
quake.2013p597023,2013p597023,2013-08-09T21:33:57.087,174.3244,-41.6039,7.6953,2.5376,M,automatic,34,,WEL(GNS_Primary),2013-08-09T21:36:07.787,POINT (174.32436 -41.603891)
quake.2013p597018,2013p597018,2013-08-09T21:31:32.931,173.567,-41.653,66.1719,2.1021,M,automatic,13,,WEL(GNS_Primary),2013-08-09T21:33:41.676,POINT (173.56696 -41.652954)
quake.2013p597012,2013p597012,2013-08-09T21:28:14.628,173.8936,-40.5346,76.4844,2.5135,M,automatic,14,,WEL(GNS_Primary),2013-08-09T21:31:29.6,POINT (173.89358 -40.534612)
quake.2013p597000,2013p597000,2013-08-09T21:21:47.544,174.9471,-41.3712,26.2109,1.644,M,automatic,14,,WEL(GNS_Primary),2013-08-09T21:23:47.578,POINT (174.94711 -41.371201)
quake.2013p596983,2013p596983,2013-08-09T21:13:00.877,175.1044,-40.9231,33.2422,1.778,M,automatic,18,,WEL(GNS_Primary),2013-08-09T21:15:42.073,POINT (175.10435 -40.923076)
quake.2013p596971,2013p596971,2013-08-09T21:06:11.037,174.9448,-41.3772,25.8008,1.987,M,automatic,21,,WEL(GNS_Primary),2013-08-09T21:07:55.284,POINT (174.94475 -41.377177)
quake.2013p596942,2013p596942,2013-08-09T20:51:09.848,177.8817,-39.1329,33.3594,2.9196,M,automatic,42,,WEL(GNS_Primary),2013-08-09T20:54:33.763,POINT (177.88166 -39.132879)
quake.2013p596903,2013p596903,2013-08-09T20:29:51.014,175.5338,-38.5544,206.3281,2.68,M,automatic,61,,WEL(GNS_Primary),2013-08-09T20:34:20.919,POINT (175.53382 -38.55441)
quake.2013p596824,2013p596824,2013-08-09T19:48:16.259,174.386,-41.6251,18.0664,3.1736,M,reviewed,31,,WEL(GNS_Primary),2013-08-11T19:57:09.285,POINT (174.38605 -41.625097)
quake.2013p596821,2013p596821,2013-08-09T19:46:17.045,174.4061,-41.5302,5.0586,1.6867,M,automatic,15,,WEL(GNS_Primary),2013-08-09T19:48:18.053,POINT (174.40607 -41.530184)
quake.2013p596816,2013p596816,2013-08-09T19:43:58.457,176.9291,-39.9041,9.5703,1.8147,M,automatic,16,,WEL(GNS_Primary),2013-08-09T19:46:12.012,POINT (176.92911 -39.904128)
quake.2013p596790,2013p596790,2013-08-09T19:29:44.894,174.364,-41.5435,5.0586,1.8696,M,automatic,20,,WEL(GNS_Primary),2013-08-09T19:31:39.884,POINT (174.36405 -41.543544)
quake.2013p596769,2013p596769,2013-08-09T19:18:36.072,175.2878,-40.2015,17.5391,1.908,M,automatic,21,,WEL(GNS_Primary),2013-08-09T19:20:54.507,POINT (175.28778 -40.201485)
quake.2013p596760,2013p596760,2013-08-09T19:13:57.347,176.2992,-40.0731,12.2656,2.3489,M,automatic,22,,WEL(GNS_Primary),2013-08-09T19:16:31.689,POINT (176.29925 -40.073075)
quake.2013p596758,2013p596758,2013-08-09T19:13:01.199,178.0559,-37.4167,6.875,2.8165,M,automatic,14,,WEL(GNS_Primary),2013-08-09T19:15:20.84,POINT (178.05588 -37.416744)
quake.2013p596754,2013p596754,2013-08-09T19:10:36.743,177.2419,-36.5115,108.125,3.2272,M,automatic,28,,WEL(GNS_Primary),2013-08-09T19:14:15.044,POINT (177.24186 -36.511542)
quake.2013p596737,2013p596737,2013-08-09T19:01:37.627,177.4766,-39.1699,15.0195,2.6342,M,reviewed,21,,WEL(GNS_Primary),2013-08-11T19:55:31.354,POINT (177.47658 -39.169895)
quake.2013p596724,2013p596724,2013-08-09T18:54:57.832,174.2846,-36.3146,9.6875,1.9698,M,automatic,10,,WEL(GNS_Primary),2013-08-09T19:48:40.352,POINT (174.28456 -36.314632)
quake.2013p596709,2013p596709,2013-08-09T18:47:03.598,174.2582,-41.6234,5.0586,1.6037,M,automatic,12,,WEL(GNS_Primary),2013-08-09T18:48:40.224,POINT (174.25823 -41.623426)
quake.2013p596687,2013p596687,2013-08-09T18:34:57.476,174.2203,-41.6292,8.3984,1.9886,M,automatic,24,,WEL(GNS_Primary),2013-08-09T18:38:33.184,POINT (174.22034 -41.629194)
quake.2013p596649,2013p596649,2013-08-09T18:14:45.298,174.3496,-41.5896,9.5703,1.6274,M,automatic,20,,WEL(GNS_Primary),2013-08-09T18:16:40.931,POINT (174.34959 -41.589619)
quake.2013p596615,2013p596615,2013-08-09T17:56:50.903,176.5783,-40.4648,9.4531,1.5618,M,automatic,10,,WEL(GNS_Primary),2013-08-09T17:58:06.221,POINT (176.57829 -40.464776)
quake.2013p596606,2013p596606,2013-08-09T17:52:03.931,174.1851,-41.6482,16.8359,1.926,M,automatic,15,,WEL(GNS_Primary),2013-08-09T17:55:11.005,POINT (174.18511 -41.648178)
quake.2013p596596,2013p596596,2013-08-09T17:47:00.74,174.3488,-41.6163,6.2891,1.8507,M,automatic,25,,WEL(GNS_Primary),2013-08-09T17:50:31.65,POINT (174.34877 -41.616286)
quake.2013p596585,2013p596585,2013-08-09T17:40:26.745,178.9951,-38.1936,36.4062,2.5771,M,automatic,14,,WEL(GNS_Primary),2013-08-09T17:43:08.852,POINT (178.99509 -38.193616)
quake.2013p596575,2013p596575,2013-08-09T17:35:29.345,174.3539,-40.3949,12.7344,2.5183,M,automatic,45,,WEL(GNS_Primary),2013-08-09T17:39:40.525,POINT (174.35389 -40.394893)
quake.2013p596547,2013p596547,2013-08-09T17:20:32.162,175.6658,-40.8949,24.3945,1.6044,M,automatic,16,,WEL(GNS_Primary),2013-08-09T17:23:29.22,POINT (175.66578 -40.89494)
quake.2013p596503,2013p596503,2013-08-09T16:57:01.69,173.9055,-41.7501,11.2109,1.7386,M,automatic,10,,WEL(GNS_Primary),2013-08-09T16:58:57.509,POINT (173.90551 -41.750084)
quake.2013p596497,2013p596497,2013-08-09T16:54:00.855,173.8318,-41.7371,8.1641,2.6419,M,automatic,26,,WEL(GNS_Primary),2013-08-09T16:57:15.041,POINT (173.83178 -41.737075)
quake.2013p596498,2013p596498,2013-08-09T16:53:58.88,167.2078,-45.3203,7.1094,3.0805,M,automatic,14,,WEL(GNS_Primary),2013-08-09T16:57:16.643,POINT (167.2078 -45.320262)
quake.2013p596493,2013p596493,2013-08-09T16:51:30.855,176.0334,-37.7237,197.1875,2.2798,M,automatic,17,,WEL(GNS_Primary),2013-08-09T16:54:24.579,POINT (176.03339 -37.723719)
quake.2013p596483,2013p596483,2013-08-09T16:46:08.174,174.1077,-41.6962,5.0586,1.8016,M,automatic,15,,WEL(GNS_Primary),2013-08-09T16:48:18.195,POINT (174.10766 -41.696162)
quake.2013p596417,2013p596417,2013-08-09T16:11:44.171,177.1037,-37.1871,108.125,2.4325,M,automatic,12,,WEL(GNS_Primary),2013-08-09T16:14:57.439,POINT (177.10374 -37.187075)
quake.2013p596399,2013p596399,2013-08-09T16:01:35.319,174.1137,-41.6611,9.3359,2.2625,M,reviewed,22,,WEL(GNS_Primary),2013-08-11T19:52:42.022,POINT (174.11371 -41.661095)
quake.2013p596361,2013p596361,2013-08-09T15:41:19.407,174.2006,-41.6272,5.0586,2.2314,M,automatic,33,,WEL(GNS_Primary),2013-08-09T15:43:49.294,POINT (174.20059 -41.627153)
quake.2013p596328,2013p596328,2013-08-09T15:23:34.175,174.2727,-41.6508,6.5234,1.9194,M,automatic,16,,WEL(GNS_Primary),2013-08-09T15:26:03.026,POINT (174.2727 -41.650752)
quake.2013p596314,2013p596314,2013-08-09T15:16:27.496,174.2191,-41.6481,5.0586,1.7627,M,automatic,13,,WEL(GNS_Primary),2013-08-09T15:19:22.708,POINT (174.21907 -41.648133)
quake.2013p596307,2013p596307,2013-08-09T15:12:54.042,175.9306,-38.5666,146.3281,3.0434,M,automatic,124,,WEL(GNS_Primary),2013-08-09T16:15:38.589,POINT (175.93057 -38.566602)
quake.2013p596292,2013p596292,2013-08-09T15:04:02.524,173.935,-43.1012,8.75,2.4342,M,automatic,13,,WEL(GNS_Primary),2013-08-09T15:06:04.595,POINT (173.93498 -43.101183)
quake.2013p596288,2013p596288,2013-08-09T15:02:39.195,174.1652,-41.8428,11.4453,1.5502,M,automatic,10,,WEL(GNS_Primary),2013-08-09T15:04:53.415,POINT (174.16525 -41.842789)
quake.2013p596281,2013p596281,2013-08-09T14:58:31.986,174.3613,-40.4064,36.2891,3.4344,M,automatic,102,,WEL(GNS_Primary),2013-08-09T15:42:46.69,POINT (174.36131 -40.406376)
quake.2013p596262,2013p596262,2013-08-09T14:48:36.62,177.08,-39.5229,27.6172,1.4837,M,automatic,10,,WEL(GNS_Primary),2013-08-09T14:49:53.335,POINT (177.08005 -39.52294)
quake.2013p596211,2013p596211,2013-08-09T14:21:12.473,172.3725,-43.5933,7.0508,2.8573,M,automatic,30,,WEL(GNS_Primary),2013-08-09T14:24:50.802,POINT (172.37246 -43.593304)
quake.2013p596185,2013p596185,2013-08-09T14:07:33.864,173.9966,-41.6695,5.0586,1.8058,M,automatic,19,,WEL(GNS_Primary),2013-08-09T14:09:49.194,POINT (173.99664 -41.669543)
quake.2013p596173,2013p596173,2013-08-09T14:01:05.859,174.0816,-41.4954,39.2188,1.5483,M,automatic,12,,WEL(GNS_Primary),2013-08-09T14:04:14.127,POINT (174.08161 -41.495397)
quake.2013p596098,2013p596098,2013-08-09T13:21:03.208,174.3823,-41.5556,5.1172,2.0266,M,automatic,26,,WEL(GNS_Primary),2013-08-09T13:23:46.374,POINT (174.38233 -41.555551)
quake.2013p596081,2013p596081,2013-08-09T13:12:36.302,174.1059,-41.6617,9.8047,1.6093,M,automatic,11,,WEL(GNS_Primary),2013-08-09T13:15:16.456,POINT (174.1059 -41.6617)
quake.2013p596041,2013p596041,2013-08-09T12:51:07.995,173.8916,-41.6848,9.043,1.6421,M,automatic,11,,WEL(GNS_Primary),2013-08-09T12:52:45.912,POINT (173.89161 -41.684811)
quake.2013p595993,2013p595993,2013-08-09T12:25:27.597,178.0302,-37.5084,71.7969,2.0728,M,automatic,18,,WEL(GNS_Primary),2013-08-09T12:28:04.071,POINT (178.03016 -37.50839)
quake.2013p595987,2013p595987,2013-08-09T12:22:03.63,174.4443,-41.564,7.4609,1.5943,M,automatic,12,,WEL(GNS_Primary),2013-08-09T12:23:49.357,POINT (174.44429 -41.564046)
quake.2013p595932,2013p595932,2013-08-09T11:53:44.418,175.9416,-38.524,9.8047,1.7522,M,reviewed,17,,WEL(GNS_Primary),2013-08-10T00:20:12.719,POINT (175.94155 -38.524011)
quake.2013p595927,2013p595927,2013-08-09T11:49:59.081,174.2536,-41.5818,8.1641,1.8649,M,automatic,18,,WEL(GNS_Primary),2013-08-09T11:52:07.925,POINT (174.2536 -41.581791)
quake.2013p595919,2013p595919,2013-08-09T11:45:49.01,174.2074,-41.7158,5.0586,1.6967,M,automatic,11,,WEL(GNS_Primary),2013-08-09T11:47:51.599,POINT (174.20745 -41.715775)
quake.2013p595912,2013p595912,2013-08-09T11:42:00.753,174.3897,-41.6634,8.6328,2.1554,M,automatic,28,,WEL(GNS_Primary),2013-08-09T11:45:06.466,POINT (174.38971 -41.663364)
quake.2013p595896,2013p595896,2013-08-09T11:33:31.035,174.2685,-41.6896,5.0586,2.6915,M,automatic,47,,WEL(GNS_Primary),2013-08-09T11:37:10.948,POINT (174.26849 -41.689623)
quake.2013p595864,2013p595864,2013-08-09T11:16:45.518,174.2385,-41.6105,12.8516,1.9057,M,automatic,17,,WEL(GNS_Primary),2013-08-09T11:18:44.621,POINT (174.23854 -41.610543)
quake.2013p595841,2013p595841,2013-08-09T11:04:29.784,167.2511,-45.3767,5.2344,3.0094,M,automatic,15,,WEL(GNS_Primary),2013-08-09T11:07:55.633,POINT (167.25106 -45.376701)
quake.2013p595826,2013p595826,2013-08-09T10:56:15.513,175.2013,-39.323,20.7031,1.7073,M,automatic,16,,WEL(GNS_Primary),2013-08-09T10:58:33.038,POINT (175.20134 -39.322977)
quake.2013p595823,2013p595823,2013-08-09T10:54:46.025,174.6952,-39.5553,139.5312,2.526,M,automatic,14,,WEL(GNS_Primary),2013-08-09T10:58:04.722,POINT (174.69524 -39.555281)
quake.2013p595813,2013p595813,2013-08-09T10:49:30.648,175.2517,-39.2909,25.6836,3.3787,M,reviewed,57,,WEL(GNS_Primary),2013-08-10T00:06:58.673,POINT (175.25172 -39.290949)
quake.2013p595781,2013p595781,2013-08-09T10:32:28.593,172.5933,-41.2695,185.9375,2.088,M,automatic,10,,WEL(GNS_Primary),2013-08-09T10:35:42.299,POINT (172.59331 -41.269549)
quake.2013p595730,2013p595730,2013-08-09T10:05:04.987,175.2402,-39.2991,26.7969,2.0361,M,reviewed,28,,WEL(GNS_Primary),2013-08-09T23:54:59.401,POINT (175.24022 -39.299145)
quake.2013p595716,2013p595716,2013-08-09T09:57:49.812,176.8915,-39.9186,17.2461,1.5462,M,automatic,10,,WEL(GNS_Primary),2013-08-09T09:59:05.276,POINT (176.89149 -39.918616)
quake.2013p595704,2013p595704,2013-08-09T09:51:38.221,177.3782,-37.9254,165.3125,2.5328,M,automatic,35,,WEL(GNS_Primary),2013-08-09T09:55:07.346,POINT (177.37819 -37.925445)
quake.2013p595697,2013p595697,2013-08-09T09:47:39.017,176.3025,-40.2153,44.0234,1.6035,M,automatic,17,,WEL(GNS_Primary),2013-08-09T09:52:11.39,POINT (176.30246 -40.215265)
quake.2013p595693,2013p595693,2013-08-09T09:45:21.783,167.5093,-45.214,111.4062,2.7497,M,automatic,10,,WEL(GNS_Primary),2013-08-09T09:48:39.381,POINT (167.50932 -45.213977)
quake.2013p595611,2013p595611,2013-08-09T09:01:51.156,174.3432,-41.57,7.7539,2.5494,M,automatic,42,,WEL(GNS_Primary),2013-08-09T09:05:53.084,POINT (174.34322 -41.570039)
quake.2013p595509,2013p595509,2013-08-09T08:07:24.381,177.0872,-37.1232,320.9375,3.1003,M,automatic,62,,WEL(GNS_Primary),2013-08-09T09:44:04.276,POINT (177.08717 -37.123234)
quake.2013p595423,2013p595423,2013-08-09T07:21:35.464,176.5926,-40.4723,13.5547,1.7601,M,automatic,11,,WEL(GNS_Primary),2013-08-09T07:23:07.593,POINT (176.59262 -40.472287)
quake.2013p595396,2013p595396,2013-08-09T07:07:10.682,174.2407,-41.669,6.2891,1.9182,M,automatic,17,,WEL(GNS_Primary),2013-08-09T07:09:18.725,POINT (174.24067 -41.668996)
quake.2013p595377,2013p595377,2013-08-09T06:57:06.017,174.2999,-41.6023,11.2109,1.8337,M,automatic,21,,WEL(GNS_Primary),2013-08-09T06:59:02.383,POINT (174.29991 -41.602338)
quake.2013p595364,2013p595364,2013-08-09T06:50:02.363,174.3759,-41.5577,10.6836,2.3233,M,automatic,40,,WEL(GNS_Primary),2013-08-09T06:52:18.685,POINT (174.37586 -41.557654)
quake.2013p595354,2013p595354,2013-08-09T06:45:03.247,178.2358,-37.6838,29.8438,2.3516,M,automatic,22,,WEL(GNS_Primary),2013-08-09T06:47:38.306,POINT (178.23576 -37.683848)
quake.2013p595311,2013p595311,2013-08-09T06:22:08.32,174.3459,-41.552,6.7578,1.7799,M,automatic,18,,WEL(GNS_Primary),2013-08-09T06:24:09.25,POINT (174.34587 -41.551975)
quake.2013p595301,2013p595301,2013-08-09T06:16:40.595,173.9414,-42.1311,15.0781,2.0829,M,automatic,11,,WEL(GNS_Primary),2013-08-09T06:18:58.296,POINT (173.9414 -42.131139)
quake.2013p595291,2013p595291,2013-08-09T06:11:29.307,174.3156,-41.5794,8.6328,1.8136,M,automatic,18,,WEL(GNS_Primary),2013-08-09T06:13:21.099,POINT (174.31562 -41.579445)
quake.2013p595144,2013p595144,2013-08-09T04:52:50.805,174.2348,-41.6355,5.1172,1.8711,M,automatic,14,,WEL(GNS_Primary),2013-08-09T04:54:51.937,POINT (174.23484 -41.635459)
quake.2013p595128,2013p595128,2013-08-09T04:44:20.806,174.2134,-41.6031,5.1172,1.8301,M,automatic,16,,WEL(GNS_Primary),2013-08-09T04:46:20.907,POINT (174.21342 -41.603132)
quake.2013p595075,2013p595075,2013-08-09T04:16:12.841,174.3614,-41.5724,15.1953,1.759,M,automatic,17,,WEL(GNS_Primary),2013-08-09T04:17:56.762,POINT (174.36136 -41.572449)
quake.2013p595067,2013p595067,2013-08-09T04:12:13.143,174.6494,-41.2707,32.3047,1.7292,M,automatic,15,,WEL(GNS_Primary),2013-08-09T04:13:53.95,POINT (174.64936 -41.270677)
quake.2013p595058,2013p595058,2013-08-09T04:06:44.441,178.1305,-37.0376,72.0312,2.4737,M,automatic,17,,WEL(GNS_Primary),2013-08-09T04:09:34.709,POINT (178.13051 -37.037633)
quake.2013p595055,2013p595055,2013-08-09T04:05:27.677,174.2331,-41.6262,5.1172,1.9813,M,automatic,18,,WEL(GNS_Primary),2013-08-09T04:07:26.66,POINT (174.23313 -41.626233)
quake.2013p594965,2013p594965,2013-08-09T03:17:47.224,174.2398,-41.6331,7.6953,2.7333,M,reviewed,29,,WEL(GNS_Primary),2013-08-11T19:51:11.208,POINT (174.23982 -41.633103)
quake.2013p594929,2013p594929,2013-08-09T02:58:29.629,175.4623,-38.2796,185.9375,2.169,M,automatic,13,,WEL(GNS_Primary),2013-08-09T03:01:00.366,POINT (175.4623 -38.27958)
quake.2013p594880,2013p594880,2013-08-09T02:32:31.853,176.1825,-40.2335,14.3164,1.7461,M,automatic,21,,WEL(GNS_Primary),2013-08-09T02:35:44.568,POINT (176.18251 -40.233544)
quake.2013p594865,2013p594865,2013-08-09T02:24:18.058,177.476,-39.0843,15.4297,1.7308,M,automatic,13,,WEL(GNS_Primary),2013-08-09T02:25:59.447,POINT (177.47605 -39.084288)
quake.2013p594837,2013p594837,2013-08-09T02:09:29.784,176.2096,-40.2344,12.9102,1.8616,M,automatic,25,,WEL(GNS_Primary),2013-08-09T02:11:10.961,POINT (176.20961 -40.234357)
quake.2013p594823,2013p594823,2013-08-09T02:01:54.991,174.2807,-41.6176,5.1172,2.0145,M,automatic,13,,WEL(GNS_Prim
View raw

(Sorry about that, but we can’t show files that are this big right now.)

@HamsterHuey
Copy link

Hi there. Thanks a lot for your book. It's been a great resource to pick up d3 / dc.js. I just wanted to point out that reduceCount() actually does not accept any arguments so these calls: .reduceCount(function(d) { return d.mag; }) should really be: .reduceCount(). The former ends up being quite confusing since counting shouldn't really need d.mag values (although reduceSum most certainly does).
Cheers

PS - I spent a week putting together a pretty neat and relatively elaborate multi-line chart plot with interactive panning, rectangle zooming, scroll-zooming and interactive legends. I'll probably work on polishing it up and posting online in the next couple of weeks and I'll definitely ping you to point you towards it. It uses d3 v4, and I'd be more than happy if you wanted to incorporate some/all of it into your current book on d3 v4.

@HamsterHuey
Copy link

Also, you might want to update the link in your online book for D3 v3 to this latest block. Currently, it points to an older version that did not include the pie chart or row-chart. This should be the correct updated link: https://bl.ocks.org/d3noob/raw/6584483/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment