d3.rollup=function(){function n(n,t){function e(n){return o[n]+","+m[n]}for(var r=f.call(this,n,t),u=g.call(this,n,t),i=r.length,l=u.length,t=-1,o=[],m=[],k=0,v={},p={};i>++t;){(n=r[t]).index=t,o[t]=c.call(this,n,t),m[t]=a.call(this,n,t);var y=e(t),b=v[y];b||(b=v[y]={index:k++,x:o[t],y:m[t],nodes:[]}),b.nodes.push(n)}for(t=-1;l>++t;){var S=d.call(this,n=u[t],t),T=h.call(this,n,t),V=x.call(this,n,t),j=v[e("number"==typeof T?T:T.index)],q=v[e("number"==typeof V?V:V.index)],w=!s&&j.index>q.index?q.index+","+j.index:j.index+","+q.index,z=p[w];z||(z=p[w]={source:j,target:q,value:0,links:[]}),z.links.push(u[t]),z.value+=S}return{nodes:d3.values(v),links:d3.values(p)}}function t(n){return n.x}function e(n){return n.y}function r(n){return n.nodes}function u(n){return n.links}function i(){return 1}function l(n){return n.source}function o(n){return n.target}var s=!0,c=t,a=e,f=r,g=u,d=i,h=l,x=o;return n.x=function(t){return arguments.length?(c=t,n):c},n.y=function(t){return arguments.length?(a=t,n):a},n.nodes=function(t){return arguments.length?(f=t,n):f},n.links=function(t){return arguments.length?(g=t,n):g},n.linkSource=function(t){return arguments.length?(h=t,n):h},n.linkTarget=function(t){return arguments.length?(x=t,n):x},n.linkValue=function(t){return arguments.length?(d=t,n):d},n.directed=function(t){return arguments.length?(s=t,n):s},n};