diff --git a/InfiniteElementMethod_E2D3-LIG_03/README.md b/InfiniteElementMethod_E2D3-LIG_03/README.md deleted file mode 100644 index dd722c8..0000000 --- a/InfiniteElementMethod_E2D3-LIG_03/README.md +++ /dev/null @@ -1,4 +0,0 @@ -アフター5の選び方♪ -LIGハッカソンで作成した、アフター5の選ぶ際の効用分析です。 -Webで共有した際のイメージは、下記となります。 -https://s.e2d3.org/7ee403b/44136fa/b7c69167f1004ee0f0d713b149b788ba diff --git a/InfiniteElementMethod_E2D3-LIG_03/data.csv b/InfiniteElementMethod_E2D3-LIG_03/data.csv deleted file mode 100644 index 1c97b1a..0000000 --- a/InfiniteElementMethod_E2D3-LIG_03/data.csv +++ /dev/null @@ -1,153 +0,0 @@ -"ボクシング","健康度","774.2950972","1" -"ボクシング","ストレス","464.7531137","1" -"ボクシング","会社貢献","128.4711156","1" -"ボクシング","社会貢献","543.7846483","1" -"ボクシング","経済性","920.7586362","1" -"ボクシング","将来性","403.0764987","1" -"ボクシング","国際性","977.4500761","1" -"ボクシング","福祉性","748.1320452","1" -"ボクシング","地域性","418.6976437","1" -"フットサル","健康度","1062.759129","1" -"フットサル","ストレス","1475.783925","1" -"フットサル","会社貢献","839.2040975","1" -"フットサル","社会貢献","173.7221813","1" -"フットサル","経済性","81.02703342","1" -"フットサル","将来性","230.7844368","1" -"フットサル","国際性","25.20264979","1" -"フットサル","福祉性","139.2277989","1" -"フットサル","地域性","86.73142433","1" -"飲み会","健康度","34.66809489","1" -"飲み会","ストレス","1042.883212","1" -"飲み会","会社貢献","175.3016484","1" -"飲み会","社会貢献","405.7210976","1" -"飲み会","経済性","52.56349536","1" -"飲み会","将来性","1182.366819","1" -"飲み会","国際性","950.0038437","1" -"飲み会","福祉性","819.7808151","1" -"飲み会","地域性","322.113358","1" -"スイム","健康度","428.079066","1" -"スイム","ストレス","450.9352992","1" -"スイム","会社貢献","18.42002716","1" -"スイム","社会貢献","160.7268848","1" -"スイム","経済性","819.6941637","1" -"スイム","将来性","840.035936","1" -"スイム","国際性","876.7363621","1" -"スイム","福祉性","1211.514533","1" -"スイム","地域性","294.2103716","1" -"Webサーフィン","健康度","63.00227451","1" -"Webサーフィン","ストレス","698.9605225","1" -"Webサーフィン","会社貢献","260.9639774","1" -"Webサーフィン","社会貢献","229.5366367","1" -"Webサーフィン","経済性","216.6952385","1" -"Webサーフィン","将来性","1119.987606","1" -"Webサーフィン","国際性","13.26161405","1" -"Webサーフィン","福祉性","67.78363888","1" -"Webサーフィン","地域性","723.4691458","1" -"E2D3","健康度","1608.4104035","1" -"E2D3","ストレス","1267.7928165","1" -"E2D3","会社貢献","1265.0062036","1" -"E2D3","社会貢献","1229.5182044","1" -"E2D3","経済性","1499.5199124","1" -"E2D3","将来性","1532.849143","1" -"E2D3","国際性","1166.4458396","1" -"E2D3","福祉性","2083.7944799","1" -"E2D3","地域性","1624.934036","1" -"労働組合","健康度","122.6127716","1" -"労働組合","ストレス","106.3523229","1" -"労働組合","会社貢献","271.5158342","1" -"労働組合","社会貢献","315.6528413","1" -"労働組合","経済性","134.5330854","1" -"労働組合","将来性","10.28811935","1" -"労働組合","国際性","151.3157866","1" -"労働組合","福祉性","103.6650586","1" -"労働組合","地域性","847.3012086","1" -"子供の世話","健康度","642.5321793","1" -"子供の世話","ストレス","81.04408829","1" -"子供の世話","会社貢献","147.64488","1" -"子供の世話","社会貢献","485.2090919","1" -"子供の世話","経済性","94.45889779","1" -"子供の世話","将来性","1003.304843","1" -"子供の世話","国際性","18.07079966","1" -"子供の世話","福祉性","318.9110882","1" -"子供の世話","地域性","327.3322081","1" -"町内会","健康度","619.3017725","1" -"町内会","ストレス","73.76025957","1" -"町内会","会社貢献","898.1788031","1" -"町内会","社会貢献","545.2317649","1" -"町内会","経済性","57.73953401","1" -"町内会","将来性","62.03672897","1" -"町内会","国際性","563.6827555","1" -"町内会","福祉性","740.8665905","1" -"町内会","地域性","1076.698358","1" -"消防団","健康度","384.6643526","1" -"消防団","ストレス","140.6784116","1" -"消防団","会社貢献","219.1113462","1" -"消防団","社会貢献","314.2767386","1" -"消防団","経済性","321.0359157","1" -"消防団","将来性","188.5249069","1" -"消防団","国際性","312.0203688","1" -"消防団","福祉性","414.1375215","1" -"消防団","地域性","7.571727144","1" -"介護","健康度","10.7119907","1" -"介護","ストレス","91.28497039","1" -"介護","会社貢献","800.1285742","1" -"介護","社会貢献","89.96035043","1" -"介護","経済性","236.5513644","1" -"介護","将来性","257.1209635","1" -"介護","国際性","551.6437838","1" -"介護","福祉性","288.9506337","1" -"介護","地域性","351.5369312","1" -"テニス","健康度","1108.383223","1" -"テニス","ストレス","172.9908549","1" -"テニス","会社貢献","97.38886489","1" -"テニス","社会貢献","215.6148866","1" -"テニス","経済性","399.3309884","1" -"テニス","将来性","38.57503051","1" -"テニス","国際性","191.2030835","1" -"テニス","福祉性","26.09984574","1" -"テニス","地域性","1036.541223","1" -"バンド","健康度","197.4434312","1" -"バンド","ストレス","599.1282002","1" -"バンド","会社貢献","355.3580819","1" -"バンド","社会貢献","64.66333376","1" -"バンド","経済性","93.54366018","1" -"バンド","将来性","517.6880391","1" -"バンド","国際性","1075.043293","1" -"バンド","福祉性","714.6611229","1" -"バンド","地域性","202.9302364","1" -"麻雀","健康度","127.8479416","1" -"麻雀","ストレス","119.2015958","1" -"麻雀","会社貢献","231.4773575","1" -"麻雀","社会貢献","93.22902074","1" -"麻雀","経済性","301.9763439","1" -"麻雀","将来性","640.1291637","1" -"麻雀","国際性","959.0259028","1" -"麻雀","福祉性","417.0901827","1" -"麻雀","地域性","409.0281861","1" -"デート","健康度","244.1429646","1" -"デート","ストレス","16.86000662","1" -"デート","会社貢献","47.61160992","1" -"デート","社会貢献","60.30969691","1" -"デート","経済性","802.0685585","1" -"デート","将来性","959.4807843","1" -"デート","国際性","574.6924974","1" -"デート","福祉性","461.2079827","1" -"デート","地域性","74.7870229","1" -"合同コンパ","健康度","5.171324989","1" -"合同コンパ","ストレス","578.0892296","1" -"合同コンパ","会社貢献","81.45410375","1" -"合同コンパ","社会貢献","137.0322424","1" -"合同コンパ","経済性","76.32699665","1" -"合同コンパ","将来性","56.10001812","1" -"合同コンパ","国際性","287.1964448","1" -"合同コンパ","福祉性","265.9329148","1" -"合同コンパ","地域性","300.4844904","1" -"家族サービス","健康度","128.0976292","1" -"家族サービス","ストレス","469.7239155","1" -"家族サービス","会社貢献","219.6428494","1" -"家族サービス","社会貢献","18.92953638","1" -"家族サービス","経済性","39.86751603","1" -"家族サービス","将来性","60.43078542","1" -"家族サービス","国際性","200.5868232","1" -"家族サービス","福祉性","146.8887421","1" -"家族サービス","地域性","970.3673953","1 \ No newline at end of file diff --git a/InfiniteElementMethod_E2D3-LIG_03/main.css b/InfiniteElementMethod_E2D3-LIG_03/main.css deleted file mode 100644 index 73652df..0000000 --- a/InfiniteElementMethod_E2D3-LIG_03/main.css +++ /dev/null @@ -1,6 +0,0 @@ -svg { - font: 11px sans-serif; - padding: 8px; - display: block; - margin: auto; -} \ No newline at end of file diff --git a/InfiniteElementMethod_E2D3-LIG_03/main.js b/InfiniteElementMethod_E2D3-LIG_03/main.js deleted file mode 100644 index 473d18c..0000000 --- a/InfiniteElementMethod_E2D3-LIG_03/main.js +++ /dev/null @@ -1,313 +0,0 @@ -//# require=d3 - -var main = d3.select(root).append("svg"); - -function update(data) { -d3.selectAll("svg").remove(); -var main = d3.select(root).append("svg"); -iniprocess(); - - var sales_data = data; - - var width = 1100, - height = 610, - margin = { - b: 90, - t: 40, - l: 180, - r: 50 - }; - - var svg = main.attr('width', width).attr('height', (height + margin.b + margin.t)) - .append("g").attr("transform", "translate(" + margin.l + "," + margin.t + ")"); - - var data = [{ - data: bP.partData(sales_data, 2), - id: 'SalesAttempts', - header: ["アフター5", "   ", "アフター5の選び方"] - }, ]; - - bP.draw(data, svg); -} - -iniprocess(); - - -function iniprocess(){ - var bP={}; - var b=30, bb=150, height=600, buffMargin=1, minHeight=14; - var c1=[-150, 40], c2=[-50, 170], c3=[-10, 240]; //Column positions of labels. - var colors =["#0000FF", "#FFFF00", "#00FF00","#00FFFF", "#FF0000", "#FF00FF","#800000", "#808000", "#008000","#008080", "#000080", "#800080","#000000", "#808080", "#FF9900","#C0C0C0"]; - - bP.partData = function(data,p){ - var sData={}; - - sData.keys=[ - d3.set(data.map(function(d){ return d[0];})).values().sort(function(a,b){ return ( ab ? 1 : 0);}), - d3.set(data.map(function(d){ return d[1];})).values().sort(function(a,b){ return ( ab ? 1 : 0);}) - ]; - - sData.data = [ sData.keys[0].map( function(d){ return sData.keys[1].map( function(v){ return 0; }); }), - sData.keys[1].map( function(d){ return sData.keys[0].map( function(v){ return 0; }); }) - ]; - - data.forEach(function(d){ - sData.data[0][sData.keys[0].indexOf(d[0])][sData.keys[1].indexOf(d[1])]=d[p]; - sData.data[1][sData.keys[1].indexOf(d[1])][sData.keys[0].indexOf(d[0])]=d[p]; - }); - - return sData; - } - - function visualize(data){ - var vis ={}; - function calculatePosition(a, s, e, b, m){ - var total=d3.sum(a); - var sum=0, neededHeight=0, leftoverHeight= e-s-2*b*a.length; - var ret =[]; - - a.forEach( - function(d){ - var v={}; - v.percent = (total == 0 ? 0 : d/total); - v.value=d; - v.height=Math.max(v.percent*(e-s-2*b*a.length), m); - (v.height==m ? leftoverHeight-=m : neededHeight+=v.height ); - ret.push(v); - } - ); - - var scaleFact=leftoverHeight/Math.max(neededHeight,1), sum=0; - - ret.forEach( - function(d){ - d.percent = scaleFact*d.percent; - d.height=(d.height==m? m : d.height*scaleFact); - d.middle=sum+b+d.height/2; - d.y=s + d.middle - d.percent*(e-s-2*b*a.length)/2; - d.h= d.percent*(e-s-2*b*a.length); - d.percent = (total == 0 ? 0 : d.value/total); - sum+=2*b+d.height; - } - ); - return ret; - } - - vis.mainBars = [ - calculatePosition( data.data[0].map(function(d){ return d3.sum(d);}), 0, height, buffMargin, minHeight), - calculatePosition( data.data[1].map(function(d){ return d3.sum(d);}), 0, height, buffMargin, minHeight) - ]; - - vis.subBars = [[],[]]; - vis.mainBars.forEach(function(pos,p){ - pos.forEach(function(bar, i){ - calculatePosition(data.data[p][i], bar.y, bar.y+bar.h, 0, 0).forEach(function(sBar,j){ - sBar.key1=(p==0 ? i : j); - sBar.key2=(p==0 ? j : i); - vis.subBars[p].push(sBar); - }); - }); - }); - vis.subBars.forEach(function(sBar){ - sBar.sort(function(a,b){ - return (a.key1 < b.key1 ? -1 : a.key1 > b.key1 ? - 1 : a.key2 < b.key2 ? -1 : a.key2 > b.key2 ? 1: 0 )}); - }); - - vis.edges = vis.subBars[0].map(function(p,i){ - return { - key1: p.key1, - key2: p.key2, - y1:p.y, - y2:vis.subBars[1][i].y, - h1:p.h, - h2:vis.subBars[1][i].h - }; - }); - vis.keys=data.keys; - return vis; - } - - function arcTween(a) { - var i = d3.interpolate(this._current, a); - this._current = i(0); - return function(t) { - return edgePolygon(i(t)); - }; - } - - function drawPart(data, id, p){ - d3.select("#"+id).append("g").attr("class","part"+p) - .attr("transform","translate("+( p*(bb+b))+",0)"); - d3.select("#"+id).select(".part"+p).append("g").attr("class","subbars"); - d3.select("#"+id).select(".part"+p).append("g").attr("class","mainbars"); - - var mainbar = d3.select("#"+id).select(".part"+p).select(".mainbars") - .selectAll(".mainbar").data(data.mainBars[p]) - .enter().append("g").attr("class","mainbar"); - - mainbar.append("rect").attr("class","mainrect") - .attr("x", 0).attr("y",function(d){ return d.middle-d.height/2; }) - .attr("width",b).attr("height",function(d){ return d.height; }) - .style("shape-rendering","auto") - .style("fill-opacity",0).style("stroke-width","0.5") - .style("stroke","black").style("stroke-opacity",0); - - mainbar.append("text").attr("class","barlabel") - .attr("x", c1[p]).attr("y",function(d){ return d.middle+5;}) - .text(function(d,i){ return data.keys[p][i];}) - .attr("text-anchor","start" ); - - mainbar.append("text").attr("class","barvalue") - .attr("x", c2[p]).attr("y",function(d){ return d.middle+5;}) - .text("") - .attr("text-anchor","end"); - - mainbar.append("text").attr("class","barpercent") - .attr("x", c3[p]).attr("y",function(d){ return d.middle+5;}) - .text(function(d,i){ return "( "+Math.round(100*d.percent)+"%)" ;}) - .attr("text-anchor","end").style("fill","grey"); - - d3.select("#"+id).select(".part"+p).select(".subbars") - .selectAll(".subbar").data(data.subBars[p]).enter() - .append("rect").attr("class","subbar") - .attr("x", 0).attr("y",function(d){ return d.y}) - .attr("width",b).attr("height",function(d){ return d.h}) - .style("fill",function(d){ return colors[d.key1];}); - } - - function drawEdges(data, id){ - d3.select("#"+id).append("g").attr("class","edges").attr("transform","translate("+ b+",0)"); - - d3.select("#"+id).select(".edges").selectAll(".edge") - .data(data.edges).enter().append("polygon").attr("class","edge") - .attr("points", edgePolygon).style("fill",function(d){ return colors[d.key1];}) - .style("opacity",0.5).each(function(d) { this._current = d; }); - } - - function drawHeader(header, id){ - d3.select("#"+id).append("g").attr("class","header").append("text").text(header[2]) - .style("font-size","20").attr("x",108).attr("y",-20).style("text-anchor","middle") - .style("font-weight","bold"); - - [0,1].forEach(function(d){ - var h = d3.select("#"+id).select(".part"+d).append("g").attr("class","header"); - - h.append("text").text(header[d]).attr("x", (c1[d]+5)) - .attr("y", -5).style("fill","grey"); - - h.append("text").text("     ").attr("x", (c2[d]-25)) - .attr("y", -5).style("fill","grey"); - - h.append("line").attr("x1",c1[d]-10).attr("y1", -2) - .attr("x2",c3[d]+10).attr("y2", -2).style("stroke","black") - .style("stroke-width","1").style("shape-rendering","crispEdges"); - }); - } - - function edgePolygon(d){ - return [0, d.y1, bb, d.y2, bb, d.y2+d.h2, 0, d.y1+d.h1].join(" "); - } - - function transitionPart(data, id, p){ - var mainbar = d3.select("#"+id).select(".part"+p).select(".mainbars") - .selectAll(".mainbar").data(data.mainBars[p]); - - mainbar.select(".mainrect").transition().duration(500) - .attr("y",function(d){ return d.middle-d.height/2;}) - .attr("height",function(d){ return d.height;}); - - mainbar.select(".barlabel").transition().duration(500) - .attr("y",function(d){ return d.middle+5;}); - - mainbar.select(".barvalue").transition().duration(500) - .attr("y",function(d){ return d.middle+5;}).text(""); - - mainbar.select(".barpercent").transition().duration(500) - .attr("y",function(d){ return d.middle+5;}) - .text(""); - - d3.select("#"+id).select(".part"+p).select(".subbars") - .selectAll(".subbar").data(data.subBars[p]) - .transition().duration(500) - .attr("y",function(d){ return d.y}).attr("height",function(d){ return d.h}); - } - - function transitionEdges(data, id){ - d3.select("#"+id).append("g").attr("class","edges") - .attr("transform","translate("+ b+",0)"); - - d3.select("#"+id).select(".edges").selectAll(".edge").data(data.edges) - .transition().duration(500) - .attrTween("points", arcTween) - .style("opacity",function(d){ return (d.h1 ==0 || d.h2 == 0 ? 0 : 0.5);}); - } - - function transition(data, id){ - transitionPart(data, id, 0); - transitionPart(data, id, 1); - transitionEdges(data, id); - } - - bP.draw = function(data, svg){ - data.forEach(function(biP,s){ - svg.append("g") - .attr("id", biP.id) - .attr("transform","translate("+ (550*s)+",0)"); - - var visData = visualize(biP.data); - drawPart(visData, biP.id, 0); - drawPart(visData, biP.id, 1); - drawEdges(visData, biP.id); - drawHeader(biP.header, biP.id); - - [0,1].forEach(function(p){ - d3.select("#"+biP.id) - .select(".part"+p) - .select(".mainbars") - .selectAll(".mainbar") - .on("mouseover",function(d, i){ return bP.selectSegment(data, p, i); }) - .on("mouseout",function(d, i){ return bP.deSelectSegment(data, p, i); }); - }); - }); - } - - bP.selectSegment = function(data, m, s){ - data.forEach(function(k){ - var newdata = {keys:[], data:[]}; - - newdata.keys = k.data.keys.map( function(d){ return d;}); - - newdata.data[m] = k.data.data[m].map( function(d){ return d;}); - - newdata.data[1-m] = k.data.data[1-m] - .map( function(v){ return v.map(function(d, i){ return (s==i ? d : 0);}); }); - - transition(visualize(newdata), k.id); - - var selectedBar = d3.select("#"+k.id).select(".part"+m).select(".mainbars") - .selectAll(".mainbar").filter(function(d,i){ return (i==s);}); - - selectedBar.select(".mainrect").style("stroke-opacity",1); - selectedBar.select(".barlabel").style('font-weight','bold'); - selectedBar.select(".barvalue").style('font-weight','bold'); - selectedBar.select(".barpercent").style('font-weight','bold'); - }); - } - - bP.deSelectSegment = function(data, m, s){ - data.forEach(function(k){ - transition(visualize(k.data), k.id); - - var selectedBar = d3.select("#"+k.id).select(".part"+m).select(".mainbars") - .selectAll(".mainbar").filter(function(d,i){ return (i==s);}); - - selectedBar.select(".mainrect").style("stroke-opacity",0); - selectedBar.select(".barlabel").style('font-weight','normal'); - selectedBar.select(".barvalue").style('font-weight','normal'); - selectedBar.select(".barpercent").style('font-weight','normal'); - }); - } - - this.bP = bP; -}; diff --git a/InfiniteElementMethod_E2D3-LIG_03/manifest.yml b/InfiniteElementMethod_E2D3-LIG_03/manifest.yml deleted file mode 100644 index eb6bddf..0000000 --- a/InfiniteElementMethod_E2D3-LIG_03/manifest.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: After5 -description: -tags: - - recommended - - hackathon -homepage: https://github.com/e2d3/e2d3-contrib -bugs: https://github.com/e2d3/e2d3-contrib/issues -license: Apache-2.0 -contributors: - - junichi WATANUKI -repository: e2d3/e2d3-contrib -capabilities: - saveImages: true diff --git a/InfiniteElementMethod_E2D3-LIG_03/thumbnail.png b/InfiniteElementMethod_E2D3-LIG_03/thumbnail.png deleted file mode 100644 index 3e42591..0000000 Binary files a/InfiniteElementMethod_E2D3-LIG_03/thumbnail.png and /dev/null differ diff --git a/barchart-javascript/README.md b/barchart-javascript/README.md deleted file mode 100644 index 87089cd..0000000 --- a/barchart-javascript/README.md +++ /dev/null @@ -1,10 +0,0 @@ -Simple Bar Chart -==== - -Simple Bar Chart - -## Data Format - -| Data Label1 | Data Label2 | ... | -|-------------|-------------|-----| -| Data | Data | ... | diff --git a/barchart-javascript/data.csv b/barchart-javascript/data.csv deleted file mode 100644 index 7b33b13..0000000 --- a/barchart-javascript/data.csv +++ /dev/null @@ -1,5 +0,0 @@ -name,age -A,10 -B,20 -C,30 -D,40 diff --git a/barchart-javascript/main.css b/barchart-javascript/main.css deleted file mode 100644 index 6352810..0000000 --- a/barchart-javascript/main.css +++ /dev/null @@ -1,14 +0,0 @@ -.axis text { - font: 10px sans-serif; -} - -.axis path, -.axis line { - fill: none; - stroke: #000; - shape-rendering: crispEdges; -} - -.x.axis path { - display: none; -} diff --git a/barchart-javascript/main.js b/barchart-javascript/main.js deleted file mode 100644 index 591df5f..0000000 --- a/barchart-javascript/main.js +++ /dev/null @@ -1,91 +0,0 @@ -//# require=d3 - -var margin = { top: 20, right: 30, bottom: 60, left: 80 }; -var width = root.clientWidth - margin.left - margin.right; -var height = root.clientHeight - margin.top - margin.bottom; - -var x = d3.scale.ordinal() - .rangeRoundBands([0, width], .1) - -var y = d3.scale.linear() - .rangeRound([height, 0]) - -var xAxis = d3.svg.axis() - .scale(x) - .orient('bottom'); - -var yAxis = d3.svg.axis() - .scale(y) - .orient('left') - -var chart = d3.select(root).append('svg') - .attr('width', root.clientWidth) - .attr('height', root.clientHeight) - .append('g') - .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')'); - -function update(data) { - // 2次元配列の1行目はヘッダー - var labels = data[0]; - - // 1行目はスルーしてdata.csvをリスト化する - var list = data.toList(); - - var name = labels[0]; - var key = labels[1]; - - list.forEach(function(d){ - d[key] = +d[key]; - }); - - if (!env.colors()) env.colors(d3.scale.category10().range()); - var color = d3.scale.ordinal().range(env.colors()); - - x.domain(list.map(function (d) { return d[name]; })); - y.domain([0, d3.max(list.values(key))]); - color.domain(list.map(function (d) { return d[name]; })) - - var setup = function (selection) { - selection - .attr('class', 'bar') - .attr('x', function (d) { return x(d[name]); }) - .attr('y', function (d) { return y(d[key]); }) - .attr('height', function (d) { return height - y(d[key]); }) - .attr('width', x.rangeBand()) - .attr('size', '50') - .style('fill', function (d) { return color(d[name]); }); - } - - chart.selectAll('.axis').remove(); - - chart.append('g') - .attr('class', 'x axis') - .attr('transform', 'translate(0,' + height + ')') - .call(xAxis) - .append('text') - .attr('transform', 'rotate(0)') - .attr('x', width / 2) - .attr('dy', '3.0em') - .style('text-anchor', 'middle') - .style('font-size', '16px') - .text(name); - - - chart.append('g') - .attr('class', 'y axis') - .call(yAxis) - .append('text') - .attr('transform', 'translate(0, ' + (height / 2) + ') rotate(-90)') - .attr('dy', '-3.0em') - .style('text-anchor', 'middle') - .style('font-size', '16px') - .text(key); - - rect = chart.selectAll('.bar').data(list); - - rect.transition().duration(500).call(setup); - - rect.enter().append('rect').call(setup); - - rect.exit().remove(); -} diff --git a/barchart-javascript/manifest.yml b/barchart-javascript/manifest.yml deleted file mode 100644 index 5efc37a..0000000 --- a/barchart-javascript/manifest.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: Simple bar chart -description: -tags: - - bar - - example -homepage: https://github.com/e2d3/e2d3-contrib -bugs: https://github.com/e2d3/e2d3-contrib/issues -license: Apache-2.0 -contributors: - - Hideyuki TAKEUCHI -repository: e2d3/e2d3-contrib -capabilities: - selectColorThemes: true diff --git a/barchart-javascript/thumbnail.png b/barchart-javascript/thumbnail.png deleted file mode 100644 index 51d1285..0000000 Binary files a/barchart-javascript/thumbnail.png and /dev/null differ diff --git a/bipartite-graph-simple/README.md b/bipartite-graph-simple/README.md deleted file mode 100644 index 53fb4c4..0000000 --- a/bipartite-graph-simple/README.md +++ /dev/null @@ -1,25 +0,0 @@ -bipartite-graph(2部グラフ) - -■使い方 -1)必要項目を、下記に従いセルに作成する -  ・1行目にタイトル文字列を記載 -  ・2行目に、カラム名称を記載 -  ・3行目以降に、描画したいデータを記載 - -2)上記作成データの範囲を選択した状態で、E2D3のLink dataボタンを押下する。 - -以下はサンプル -###小金井市トラ連 -###(2015年)サーバ通信分析 -==== - -|通信属性|時間帯|通信量| -|--|--|--| -|業務通信|02:00~02:59|16| -|エラー|02:00~02:59|27| -|エラー|03:00~03:59|27| -|保守通信|02:00~02:59|58| -|業務通信|04:00~04:59|16| -|保守通信|04:00~04:59|58| -|保守通信|05:00~05:59|58| -|...|...|...| diff --git a/bipartite-graph-simple/data.csv b/bipartite-graph-simple/data.csv deleted file mode 100644 index c4aca01..0000000 --- a/bipartite-graph-simple/data.csv +++ /dev/null @@ -1,46 +0,0 @@ -"小金井市トライアスロン連合サーバ通信"," "," " -"通信種別","時間帯","通信量" -"保守通信","02:00~02:59","58" -"保守通信","00:00~00:59","2868" -"保守通信","03:00~03:59","78" -"保守通信","06:00~06:59","348" -"保守通信","10:00~10:59","149" -"保守通信","22:00~22:59","1" -"保守通信","15:00~15:59","95" -"保守通信","17:00~17:59","1" -"保守通信","18:00~18:59","119" -"保守通信","19:00~19:59","141" -"保守通信","20:00~20:59","223" -"保守通信","13:00~13:59","1" -"保守通信","23:00~23:59","7" -"保守通信","23:00~23:59","88" -"エラー","02:00~02:59","27" -"エラー","01:00~01:59","862" -"エラー","00:00~00:59","836" -"エラー","03:00~03:59","362" -"エラー","04:00~04:59","203" -"エラー","11:00~11:59","15413" -"エラー","06:00~06:59","86" -"エラー","09:00~09:59","127" -"エラー","10:00~10:59","172" -"エラー","14:00~14:59","3" -"エラー","15:00~15:59","167" -"エラー","16:00~16:59","212" -"エラー","17:00~17:59","455" -"エラー","18:00~18:59","749" -"エラー","19:00~19:59","288" -"エラー","20:00~20:59","212" -"エラー","21:00~21:59","90" -"エラー","13:00~13:59","1896" -"エラー","23:00~23:59","32" -"エラー","15:00~15:59","71" -"業務通信","02:00~02:59","16" -"業務通信","01:00~01:59","5453" -"業務通信","00:00~00:59","15001" -"業務通信","03:00~03:59","13" -"業務通信","11:00~11:59","1738" -"業務通信","10:00~10:59","43" -"業務通信","16:00~16:59","1195" -"業務通信","17:00~17:59","3899" -"業務通信","18:00~18:59","12" -"業務通信","13:00~13:59","7232" diff --git a/bipartite-graph-simple/main.css b/bipartite-graph-simple/main.css deleted file mode 100644 index f6558a6..0000000 --- a/bipartite-graph-simple/main.css +++ /dev/null @@ -1,6 +0,0 @@ -svg { - font: 11px sans-serif; - padding: 8px; - display: block; - margin: auto; -} diff --git a/bipartite-graph-simple/main.js b/bipartite-graph-simple/main.js deleted file mode 100644 index d777439..0000000 --- a/bipartite-graph-simple/main.js +++ /dev/null @@ -1,342 +0,0 @@ -//# require=d3 - -var main = d3.select(root).append("svg"); -var strTitle; -var strColumn00; -var strColumn01; -var strColumn02; - - -function update(data) { -d3.selectAll("svg").remove(); -var main = d3.select(root).append("svg"); - -iniprocess(); - -var sales_data = [data]; - -strTitle = data[0][0]; -strColumn00 = data[1][0]; -strColumn01 = data[1][1]; -strColumn02 = data[1][2]; - -var sales_data = new Array(); -for (var i=2 ; i<=data.length -1 ; i++){ - var arrTemp = new Array(); - arrTemp.push(eval("data[" + i + "][0]")); - arrTemp.push(eval("data[" + i + "][1]")); - arrTemp.push(eval("data[" + i + "][2]")); - sales_data.push(arrTemp); -} - var width = 780, - height = 510, - margin = { - b: 10, - t: 35, - l: 175, - r: 10 - }; - - var svg = main.attr('width', width).attr('height', (height + margin.b + margin.t)) - .append("g").attr("transform", "translate(" + margin.l + "," + margin.t + ")"); - - var data = [{ - data: bP.partData(sales_data, 2), - id: 'SalesAttempts', - header: [strColumn00, strColumn01, strTitle] - }, ]; - - bP.draw(data, svg); - -} - -iniprocess(); - -function iniprocess(){ - var bP={}; - var b=70, bb=230, height=500, buffMargin=1, minHeight=14; - - var cx1 = -150; - var cy1 = 100; - var cx2 = -50; - var cy2 = 230; - var cx3 = -10; - var cy3 = 290; - - var c1=[cx1, cy1]; //Column positions of label1. - var c2=[cx2, cy2]; //Column positions of label2. - var c3=[cx3, cy3]; //Column positions of label3. - var colors =[ "#00ff33","#3366CC","#ff96ff", "#DC3912", "#FF9900","#109618", "#990099","#0000FF", "#FFFF00", "#00FF00","#00FFFF", "#FF0000", "#FF00FF","#800000", "#808000", "#008000","#008080", "#000080", "#800080","#000000", "#808080", "#FF9900","#C0C0C0"]; - - bP.partData = function(data,p){ - var sData={}; - - sData.keys=[ - d3.set(data.map(function(d){ return d[0];})).values().sort(function(a,b){ return ( ab ? 1 : 0);}), - d3.set(data.map(function(d){ return d[1];})).values().sort(function(a,b){ return ( ab ? 1 : 0);}) - ]; - - sData.data = [ sData.keys[0].map( function(d){ return sData.keys[1].map( function(v){ return 0; }); }), - sData.keys[1].map( function(d){ return sData.keys[0].map( function(v){ return 0; }); }) - ]; - - data.forEach(function(d){ - sData.data[0][sData.keys[0].indexOf(d[0])][sData.keys[1].indexOf(d[1])]=d[p]; - sData.data[1][sData.keys[1].indexOf(d[1])][sData.keys[0].indexOf(d[0])]=d[p]; - }); - - return sData; - } - - function visualize(data){ - var vis ={}; - function calculatePosition(a, s, e, b, m){ - var total=d3.sum(a); - var sum=0, neededHeight=0, leftoverHeight= e-s-2*b*a.length; - var ret =[]; - - a.forEach( - function(d){ - var v={}; - v.percent = (total == 0 ? 0 : d/total); - v.value=d; - v.height=Math.max(v.percent*(e-s-2*b*a.length), m); - (v.height==m ? leftoverHeight-=m : neededHeight+=v.height ); - ret.push(v); - } - ); - - var scaleFact=leftoverHeight/Math.max(neededHeight,1), sum=0; - - ret.forEach( - function(d){ - d.percent = scaleFact*d.percent; - d.height=(d.height==m? m : d.height*scaleFact); - d.middle=sum+b+d.height/2; - d.y=s + d.middle - d.percent*(e-s-2*b*a.length)/2; - d.h= d.percent*(e-s-2*b*a.length); - d.percent = (total == 0 ? 0 : d.value/total); - sum+=2*b+d.height; - } - ); - return ret; - } - - vis.mainBars = [ - calculatePosition( data.data[0].map(function(d){ return d3.sum(d);}), 0, height, buffMargin, minHeight), - calculatePosition( data.data[1].map(function(d){ return d3.sum(d);}), 0, height, buffMargin, minHeight) - ]; - - vis.subBars = [[],[]]; - vis.mainBars.forEach(function(pos,p){ - pos.forEach(function(bar, i){ - calculatePosition(data.data[p][i], bar.y, bar.y+bar.h, 0, 0).forEach(function(sBar,j){ - sBar.key1=(p==0 ? i : j); - sBar.key2=(p==0 ? j : i); - vis.subBars[p].push(sBar); - }); - }); - }); - vis.subBars.forEach(function(sBar){ - sBar.sort(function(a,b){ - return (a.key1 < b.key1 ? -1 : a.key1 > b.key1 ? - 1 : a.key2 < b.key2 ? -1 : a.key2 > b.key2 ? 1: 0 )}); - }); - - vis.edges = vis.subBars[0].map(function(p,i){ - return { - key1: p.key1, - key2: p.key2, - y1:p.y, - y2:vis.subBars[1][i].y, - h1:p.h, - h2:vis.subBars[1][i].h - }; - }); - vis.keys=data.keys; - return vis; - } - - function arcTween(a) { - var i = d3.interpolate(this._current, a); - this._current = i(0); - return function(t) { - return edgePolygon(i(t)); - }; - } - - function drawPart(data, id, p){ - d3.select("#"+id).append("g").attr("class","part"+p) - .attr("transform","translate("+( p*(bb+b))+",0)"); - d3.select("#"+id).select(".part"+p).append("g").attr("class","subbars"); - d3.select("#"+id).select(".part"+p).append("g").attr("class","mainbars"); - - var mainbar = d3.select("#"+id).select(".part"+p).select(".mainbars") - .selectAll(".mainbar").data(data.mainBars[p]) - .enter().append("g").attr("class","mainbar"); - - mainbar.append("rect").attr("class","mainrect") - .attr("x", 0).attr("y",function(d){ return d.middle-d.height/2; }) - .attr("width",b).attr("height",function(d){ return d.height; }) - .style("shape-rendering","auto") - .style("fill-opacity",0).style("stroke-width","0.5") - .style("stroke","black").style("stroke-opacity",0); - - mainbar.append("text").attr("class","barlabel") - .attr("x", c1[p]).attr("y",function(d){ return d.middle+5;}) - .text(function(d,i){ return data.keys[p][i];}) - .attr("text-anchor","start" ); - - mainbar.append("text").attr("class","barvalue") - .attr("x", c2[p]).attr("y",function(d){ return d.middle+5;}) - .text(function(d,i){ return d.value ;}) - .attr("text-anchor","end"); - - mainbar.append("text").attr("class","barpercent") - .attr("x", c3[p]).attr("y",function(d){ return d.middle+5;}) - .text(function(d,i){ return "( "+Math.round(100*d.percent)+"%)" ;}) - .attr("text-anchor","end").style("fill","grey"); - - d3.select("#"+id).select(".part"+p).select(".subbars") - .selectAll(".subbar").data(data.subBars[p]).enter() - .append("rect").attr("class","subbar") - .attr("x", 0).attr("y",function(d){ return d.y}) - .attr("width",b).attr("height",function(d){ return d.h}) - .style("fill",function(d){ return colors[d.key1];}); - } - - function drawEdges(data, id){ - d3.select("#"+id).append("g").attr("class","edges").attr("transform","translate("+ b+",0)"); - - d3.select("#"+id).select(".edges").selectAll(".edge") - .data(data.edges).enter().append("polygon").attr("class","edge") - .attr("points", edgePolygon).style("fill",function(d){ return colors[d.key1];}) - .style("opacity",0.5).each(function(d) { this._current = d; }); - } - - function drawHeader(header, id){ - d3.select("#"+id).append("g").attr("class","header").append("text").text(header[2]) - .style("font-size","20").attr("x",180).attr("y",-20).style("text-anchor","middle") - .style("font-weight","bold"); - - [0,1].forEach(function(d){ - var h = d3.select("#"+id).select(".part"+d).append("g").attr("class","header"); - - h.append("text").text(header[d]).attr("x", (c1[d]+5)) - .attr("y", -5).style("fill","grey"); - - h.append("text").text(strColumn02).attr("x", (c2[d]-25)) - .attr("y", -5).style("fill","grey"); - - h.append("line").attr("x1",c1[d]-10).attr("y1", -2) - .attr("x2",c3[d]+10).attr("y2", -2).style("stroke","black") - .style("stroke-width","1").style("shape-rendering","crispEdges"); - }); - } - - function edgePolygon(d){ - return [0, d.y1, bb, d.y2, bb, d.y2+d.h2, 0, d.y1+d.h1].join(" "); - } - - function transitionPart(data, id, p){ - var mainbar = d3.select("#"+id).select(".part"+p).select(".mainbars") - .selectAll(".mainbar").data(data.mainBars[p]); - - mainbar.select(".mainrect").transition().duration(500) - .attr("y",function(d){ return d.middle-d.height/2;}) - .attr("height",function(d){ return d.height;}); - - mainbar.select(".barlabel").transition().duration(500) - .attr("y",function(d){ return d.middle+5;}); - - mainbar.select(".barvalue").transition().duration(500) - .attr("y",function(d){ return d.middle+5;}).text(function(d,i){ return d.value ;}); - - mainbar.select(".barpercent").transition().duration(500) - .attr("y",function(d){ return d.middle+5;}) - .text(function(d,i){ return "( "+Math.round(100*d.percent)+"%)" ;}); - - d3.select("#"+id).select(".part"+p).select(".subbars") - .selectAll(".subbar").data(data.subBars[p]) - .transition().duration(500) - .attr("y",function(d){ return d.y}).attr("height",function(d){ return d.h}); - } - - function transitionEdges(data, id){ - d3.select("#"+id).append("g").attr("class","edges") - .attr("transform","translate("+ b+",0)"); - - d3.select("#"+id).select(".edges").selectAll(".edge").data(data.edges) - .transition().duration(500) - .attrTween("points", arcTween) - .style("opacity",function(d){ return (d.h1 ==0 || d.h2 == 0 ? 0 : 0.5);}); - } - - function transition(data, id){ - transitionPart(data, id, 0); - transitionPart(data, id, 1); - transitionEdges(data, id); - } - - bP.draw = function(data, svg){ - data.forEach(function(biP,s){ - svg.append("g") - .attr("id", biP.id) - .attr("transform","translate("+ (550*s)+",0)"); - - var visData = visualize(biP.data); - drawPart(visData, biP.id, 0); - drawPart(visData, biP.id, 1); - drawEdges(visData, biP.id); - drawHeader(biP.header, biP.id); - - [0,1].forEach(function(p){ - d3.select("#"+biP.id) - .select(".part"+p) - .select(".mainbars") - .selectAll(".mainbar") - .on("mouseover",function(d, i){ return bP.selectSegment(data, p, i); }) - .on("mouseout",function(d, i){ return bP.deSelectSegment(data, p, i); }); - }); - }); - } - - bP.selectSegment = function(data, m, s){ - data.forEach(function(k){ - var newdata = {keys:[], data:[]}; - - newdata.keys = k.data.keys.map( function(d){ return d;}); - - newdata.data[m] = k.data.data[m].map( function(d){ return d;}); - - newdata.data[1-m] = k.data.data[1-m] - .map( function(v){ return v.map(function(d, i){ return (s==i ? d : 0);}); }); - - transition(visualize(newdata), k.id); - - var selectedBar = d3.select("#"+k.id).select(".part"+m).select(".mainbars") - .selectAll(".mainbar").filter(function(d,i){ return (i==s);}); - - selectedBar.select(".mainrect").style("stroke-opacity",1); - selectedBar.select(".barlabel").style('font-weight','bold'); - selectedBar.select(".barvalue").style('font-weight','bold'); - selectedBar.select(".barpercent").style('font-weight','bold'); - }); - } - - bP.deSelectSegment = function(data, m, s){ - data.forEach(function(k){ - transition(visualize(k.data), k.id); - - var selectedBar = d3.select("#"+k.id).select(".part"+m).select(".mainbars") - .selectAll(".mainbar").filter(function(d,i){ return (i==s);}); - - selectedBar.select(".mainrect").style("stroke-opacity",0); - selectedBar.select(".barlabel").style('font-weight','normal'); - selectedBar.select(".barvalue").style('font-weight','normal'); - selectedBar.select(".barpercent").style('font-weight','normal'); - }); - } - - this.bP = bP; -}; diff --git a/bipartite-graph-simple/manifest.yml b/bipartite-graph-simple/manifest.yml deleted file mode 100644 index 31b562f..0000000 --- a/bipartite-graph-simple/manifest.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: Bipartite Graph Simple -description: -tags: - - recommended - - hackathon -homepage: https://github.com/e2d3/e2d3-contrib -bugs: https://github.com/e2d3/e2d3-contrib/issues -license: Apache-2.0 -contributors: - - junichi WATANUKI -repository: e2d3/e2d3-contrib -capabilities: - saveImages: true diff --git a/bipartite-graph-simple/thumbnail.png b/bipartite-graph-simple/thumbnail.png deleted file mode 100644 index 481e30c..0000000 Binary files a/bipartite-graph-simple/thumbnail.png and /dev/null differ diff --git a/bubble-chart/README.md b/bubble-chart/README.md deleted file mode 100644 index 27439b7..0000000 --- a/bubble-chart/README.md +++ /dev/null @@ -1 +0,0 @@ -Bubble Chart ==== \ No newline at end of file diff --git a/bubble-chart/data.csv b/bubble-chart/data.csv deleted file mode 100644 index 3f1eb2a..0000000 --- a/bubble-chart/data.csv +++ /dev/null @@ -1,91 +0,0 @@ -"name","region","type","1800","1801","1802","1803","1804","1805","1806","1807","1808","1809","1810","1811","1812","1813","1814","1815","1816","1817","1818","1819","1820","1821","1822","1823","1824","1825","1826","1827","1828","1829","1830","1831","1832","1833","1834","1835","1836","1837","1838","1839","1840","1841","1842","1843","1844","1845","1846","1847","1848","1849","1850","1851","1852","1853","1854","1855","1856","1857","1858","1859","1860","1861","1862","1863","1864","1865","1866","1867","1868","1869","1870","1871","1872","1873","1874","1875","1876","1877","1878","1879","1880","1881","1882","1883","1884","1885","1886","1887","1888","1889","1890","1891","1892","1893","1894","1895","1896","1897","1898","1899","1900","1901","1902","1903","1904","1905","1906","1907","1908","1909","1910","1911","1912","1913","1914","1915","1916","1917","1918","1919","1920","1921","1922","1923","1924","1925","1926","1927","1928","1929","1930","1931","1932","1933","1934","1935","1936","1937","1938","1939","1940","1941","1942","1943","1944","1945","1946","1947","1948","1949","1950","1951","1952","1953","1954","1955","1956","1957","1958","1959","1960","1961","1962","1963","1964","1965","1966","1967","1968","1969","1970","1971","1972","1973","1974","1975","1976","1977","1978","1979","1980","1981","1982","1983","1984","1985","1986","1987","1988","1989","1990","1991","1992","1993","1994","1995","1996","1997","1998","1999","2000","2001","2002","2003","2004","2005","2006","2007","2008","2009" -"South Africa","Sub-Saharan Africa","lifeExpectancy","33.5","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","33.5","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","43.55","43.94","44.69","45.4","46.06","46.66","47.22","47.74","48.21","48.64","49.05","49.44","49.82","50.19","50.57","50.96","51.35","51.73","52.1","52.47","52.82","53.17","53.51","53.85","54.2","54.56","54.94","55.36","55.81","56.28","56.79","57.33","57.89","58.45","58.99","59.51","60.01","60.46","60.85","61.16","61.38","61.47","61.43","61.25","60.94","60.45","59.78","58.93","57.95","56.87","55.77","54.7","53.72","52.9","52.25","51.8","51.57","51.5","51.56","51.72" -"South Africa","Sub-Saharan Africa","population","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","1550000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","2547000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","6153000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","13595840","13926314","14264935","14623631","14991553","15368551","15755233","16151549","16558044","16974984","17416653","17869991","18356657","18856708","19370514","19898242","20440487","20997321","21569468","22157355","22739921","23338080","23935810","24549294","25178954","25815144","26467896","27129932","27809087","28505816","29251588","30168679","31140029","32143960","33181594","34254092","35098897","35933379","36761065","37581427","38391094","39183648","39964159","40639384","41211897","41779149","42311979","42835005","43334603","43745636","44066197","44296012","44433622","44481901","44448470","44344136","44187637","43997828","43786115","-" -"South Africa","Sub-Saharan Africa","income","759.05","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","759.05","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","1569.68","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","2895.87","2905.27","2693.95","2543.25","2345.4","2337.68","2239.29","2263.96","2548.17","1939.11","2172.74","2287.39","2499.68","2627.12","2677.32","2751.35","2790.42","2867.08","2847.2","2783.61","2600.07","2528.04","2873.65","3035.38","3544.11","3837.86","3817.2","3882.67","4083.14","4134.38","4285.57","4222.72","4140.07","4178.71","4349.06","4538.22","4530.29","4760.18","4766.14","4575.12","4689.81","4725.3","4827.96","5065.89","5199.29","5370.01","5487.1","5510.16","5630.54","5545.68","5582.3","5768.73","6045.12","6380.02","6625.41","6773.61","7114.48","7256.58","7441.4","7668.61","7817.81","7765.96","7943.17","8249.3","8205.63","8211.03","8028.65","8099.64","8226.73","8577.42","8826.14","8568.27","8187.6","8389.87","8067.51","7859.35","7825.82","7965.5","7976.29","7786.88","7545.41","7225.07","7160","7236.9","7304.2","7454.42","7479.19","7339.96","7333.69","7454.45","7520.72","7710.95","7863.74","8154.74","8477","8857.05","9253.18","9428.79","9141.27" -"Uganda","Sub-Saharan Africa","lifeExpectancy","25.3","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","25.3","-","-","-","-","23.9","-","-","-","-","-","-","-","-","-","26.4","-","-","-","-","-","-","-","28.8","-","-","-","-","39","39.24","39.73","40.23","40.74","41.25","41.78","42.32","42.86","43.41","43.97","44.52","45.07","45.62","46.16","46.72","47.31","47.94","48.59","49.23","49.84","50.34","50.71","50.92","50.98","50.9","50.73","50.53","50.32","50.15","50.04","49.98","49.96","49.95","49.93","49.86","49.7","49.42","49.01","48.5","47.91","47.27","46.65","46.09","45.64","45.34","45.22","45.26","45.46","45.81","46.31","46.95","47.7","48.52","49.38","50.25","51.11","51.94","52.73","53.47" -"Uganda","Sub-Saharan Africa","population","2101397","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","2101397","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","2843000","-","-","-","-","-","-","-","-","-","2921000","-","-","-","-","-","-","-","-","-","3554000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","4959000","-","5521758","5670970","5824797","5983396","6147541","6317454","6493361","6675501","6864123","7059486","7261862","7471533","7688797","7913960","8147346","8389294","8640153","8900294","9170101","9449977","9728111","9983229","10190285","10385004","10619695","10890181","11169608","11457758","11755730","12032167","12296592","12595972","12939400","13321200","13761689","14225933","14717932","15283050","15892811","16500123","17074034","17651716","18252190","18903138","19566609","20094075","20623835","21210254","21829118","22535846","23248553","23970202","24739869","25556448","26390258","27269482","28195754","29170398","30214531","-" -"Uganda","Sub-Saharan Africa","income","461.08","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","461.08","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","712.4","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","759.88","710.29","734.75","746.83","716.66","743.21","763.14","774.37","757.98","774.45","788.69","758.7","767.27","830.8","868.29","861.75","888.69","908.92","904.6","974.6","960.97","964.15","950.74","927.25","908.34","867.67","852.35","843.73","777.37","675.82","638.77","647.57","682.27","711.85","630.52","622.04","603.24","617.72","636.79","658.11","661.3","646.06","644.17","674.24","693.03","755.16","799.01","816.56","830.71","865.83","881.21","896.54","927.72","937.6","959.71","991","1059.73","1108.95","1163.64","1202.53" -"India","South Asia","lifeExpectancy","25.4","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","25.44","-","-","-","-","-","-","-","-","-","24.27","-","-","-","-","-","-","-","-","-","23.49","-","-","-","23.98","-","-","-","-","-","23.15","-","-","-","24.02","-","-","-","-","-","24.86","-","-","-","27.61","-","-","-","-","-","29.31","-","-","-","30.95","-","-","-","-","-","32.59","-","-","-","35.03","-","-","-","-","36.8","37.08","37.65","38.22","38.8","39.39","39.98","40.59","41.19","41.81","42.44","43.07","43.71","44.35","45","45.65","46.3","46.94","47.57","48.19","48.82","49.47","50.14","50.83","51.54","52.24","52.92","53.55","54.13","54.65","55.11","55.51","55.88","56.22","56.55","56.86","57.16","57.44","57.7","57.95","58.2","58.45","58.72","59","59.3","59.62","59.95","60.28","60.61","60.94","61.26","61.56","61.86","62.15","62.45","62.74","63.04","63.35","63.68","64.01" -"India","South Asia","population","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","175349000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","212189000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","251906000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","275861000","-","-","-","-","-","-","-","-","-","-","-","321565000","-","-","-","-","340857000","346000000","350000000","355000000","359000000","365000000","372000000","379000000","386000000","393000000","401000000","409000000","418000000","426000000","434000000","444000000","454000000","464000000","474000000","485000000","495000000","506000000","518000000","529000000","541000000","554000000","567000000","580000000","593000000","607000000","620000000","634000000","648000000","664000000","679000000","692000000","708000000","723000000","739000000","755000000","771000000","788000000","805000000","822000000","839000000","856000000","872000000","891000000","908000000","927000000","943000000","959000000","975000000","991691000","1007702000","1023590000","1034172547","1049700118","1065070607","1080264388","1095351995","1110396331","1125368288","-" -"India","South Asia","income","563","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","560","561","561","562","562","563","563","564","564","565","565","566","566","567","567","583","563","587","590","572","597","540","582","595","602","585","540","637","637","585","604","612","658","662","660","643","657","613","617","696","692","686","683","666","700","682","700","686","597","678","622","665","685","655","679","680","693","685","684","704","701","687","684","674","670","653","668","647","639","643","654","658","646","663","647","629","588","583","582","588","580","583","588","613","626","629","651","631","663","664","696","700","699","717","755","707","698","739","739","771","791","779","758","774","764","812","804","845","870","806","844","877","883","933","947","963","982","1001","1081","1127","1160","1150","1186","1227","1290","1354","1433","1475","1543","1607","1648","1714","1754","1872","1981","2126","2300","2478","2622","2731" -"Algeria","Middle East & North Africa","lifeExpectancy","28.8","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","28.82","-","-","-","-","-","-","-","-","-","31.22","-","-","-","-","-","-","-","33.72","-","33.72","-","33.72","-","-","-","-","42.02","42.29","42.82","43.34","43.87","44.38","44.9","45.41","45.92","46.43","46.96","47.49","48.04","48.62","49.21","49.82","50.44","51.06","51.68","52.31","52.93","53.57","54.21","54.88","55.56","56.24","56.93","57.61","58.28","58.95","59.63","60.35","61.13","61.96","62.82","63.69","64.53","65.3","65.97","66.54","67","67.36","67.67","67.94","68.2","68.47","68.75","69.06","69.38","69.73","70.08","70.44","70.79","71.12","71.42","71.7","71.96","72.2","72.44","72.67" -"Algeria","Middle East & North Africa","population","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","2689000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","3776000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","5497000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","8892718","9073304","9279525","9531710","9611093","9841851","10057133","10270856","10484925","10696396","10909294","11121645","11000948","11272878","11612858","11963091","12339140","12760499","13146267","13528304","13931846","14335388","14760787","15197724","15653200","16140252","16634618","17152804","17685768","18229932","18806061","19407036","20033753","20680982","21340546","22008450","22642538","23254956","23883858","24500650","25093154","25689444","26298373","26914091","27517041","28082573","28595073","29072015","29521270","29962690","30409300","30851518","31287142","31713719","32129324","32531853","32930091","33333216","33739635","-" -"Algeria","Middle East & North Africa","income","766.25","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","765.88","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","1272.76","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","2070.76","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","2429.21","2397.53","2449.01","2436.34","2557.82","2572.47","2764.42","3013.98","3059.58","3548.42","3716.79","3202.96","2550.82","3146.58","3214.44","3327.99","3070.75","3246.99","3519.79","3747.74","4003.57","3559.35","4182.66","4194.6","4320.96","4489.03","4642.62","4910.42","5373.17","5682.03","5610.2","5573.38","5745.16","5853.66","5986.54","6107.18","5876.05","5681.36","5415.99","5457.75","5244.51","5061.3","5023.22","4800.32","4652.84","4732.43","4824.21","4797.3","4965.23","5048.62","5098.85","5156.45","5288.04","5576.85","5790.97","6011","5969.05","6040.89","6175.1","6207.17" -"Saudi Arabia","Middle East & North Africa","lifeExpectancy","32.1","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","32.1","-","-","-","-","38.66","38.97","39.58","40.18","40.78","41.37","41.96","42.54","43.12","43.71","44.31","44.95","45.61","46.32","47.06","47.83","48.63","49.43","50.23","51.02","51.83","52.65","53.5","54.39","55.31","56.26","57.23","58.2","59.17","60.11","61.02","61.89","62.72","63.5","64.24","64.92","65.57","66.17","66.74","67.29","67.8","68.27","68.71","69.12","69.49","69.83","70.14","70.41","70.66","70.9","71.12","71.33","71.55","71.77","71.99","72.21","72.44","72.66","72.88","73.1" -"Saudi Arabia","Middle East & North Africa","population","2091000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","2091000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","2338000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","2676000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","3859801","3931753","4005677","4081572","4160424","4243218","4328970","4419650","4514271","4613822","4718301","4827708","4943029","5065249","5192398","5327432","5469365","5618198","5774916","5938534","6109051","6287454","6472756","6666928","6868001","7204820","7620435","8128505","8708801","9346019","9999161","10627409","11254672","11912032","12606940","13330067","13998295","14619745","15233131","15829361","16060761","16305774","16945857","18056656","19108307","19966998","20625641","21229759","21842982","22483640","23153090","23832849","24501530","25156630","25795938","26417599","27019731","27601038","28161417","-" -"Saudi Arabia","Middle East & North Africa","income","441.27","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","443.36","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","760.72","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","5834.36","6208.71","6459.55","6968.42","7615.79","7642.33","8042.36","8157.59","8380.7","9044.26","9726.96","10635.36","11626.42","12332.87","13089.1","14304.44","15958.99","16903.05","17910.56","18751.91","19938.92","22166.86","24837.43","28873.35","32254.54","30827.93","31661.42","34167.76","33789.05","33588.81","34568.06","35101.25","33693.18","28412.06","26815.59","23663.08","21161.24","21198.26","20995.14","20934.15","23520.95","25113.59","24841.62","23173.54","22010.66","21162.71","20772.36","20586.69","20353.7","19635.3","20001.87","19528.5","19014.54","19945.47","20481.98","21220","21356.15","21255.6","21635.15","21138.18" -"Brazil","America","lifeExpectancy","32","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","31.98","-","-","-","-","-","-","-","-","-","32","-","-","-","-","-","-","-","-","-","36.64","-","-","-","-","42.3","-","-","-","-","49.97","50.2","50.67","51.14","51.61","52.09","52.58","53.06","53.55","54.03","54.51","54.97","55.43","55.86","56.28","56.69","57.08","57.45","57.83","58.2","58.57","58.94","59.32","59.71","60.1","60.49","60.89","61.29","61.68","62.07","62.46","62.84","63.22","63.6","63.98","64.36","64.74","65.12","65.5","65.88","66.26","66.65","67.06","67.47","67.88","68.3","68.7","69.1","69.48","69.85","70.19","70.51","70.82","71.11","71.4","71.67","71.93","72.19","72.44","72.68" -"Brazil","America","population","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","4507000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","7234000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","9797000","9980000","10167000","10358000","10552000","10749000","10951000","11156000","11365000","11578000","11794000","12015000","12240000","12470000","12703000","12941000","13183000","13430000","13682000","13938000","14199000","14539000","14886000","15242000","15607000","15980000","16362000","16753000","17154000","17564000","17984000","18392000","18782000","19180000","19587000","20003000","20427000","20860000","21303000","21754000","22216000","22687000","23168000","23660000","24161000","24674000","25197000","25732000","26277000","26835000","27404000","27969000","28542000","29126000","29723000","30332000","30953000","31587000","32234000","32894000","33568000","34256000","34957000","35673000","36404000","37150000","37911000","38687000","39480000","40289000","41114000","42069000","43069000","44093000","45141000","46215000","47313000","48438000","49590000","50769000","53443075","54995532","56602560","58266357","59989219","61773546","63631992","65551171","67533213","69580328","71694810","73832902","76039390","78316598","80666939","83092908","85557441","88049823","90569084","93114241","95684297","98245467","100840058","103469438","106131448","108823732","111545124","114313951","117146603","120040282","122958132","125929730","128962939","131891729","134626216","137302933","140111725","142938076","145782100","148567499","151083809","153511587","155975974","158471338","160994257","163542501","166073876","168546719","170956177","173293681","175552771","177752913","179914212","182032604","184101109","186112794","188078227","190010647","191908598","-" -"Brazil","America","income","509.2","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","539.02","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","571.9","611.36","594.85","558.23","539.18","544.31","564.09","603.65","642.47","637.34","654.19","648.33","617.56","631.48","640.27","687.89","712.8","772.14","772.14","772.14","715.73","715.73","740.64","718.66","729.65","740.64","712.8","693.02","726.72","732.58","698.88","704.74","721.59","701.81","749.43","695.95","718.66","671.04","645.4","654.19","715.73","760.42","659.32","561.16","561.16","665.18","603.65","594.85","608.77","597.78","575.07","648.48","629.74","630.97","622.59","632.64","696.97","691.3","654.7","705.48","711.35","737.66","770.7","778.23","750.11","738.09","729.69","783.66","749.02","792.56","875.52","874.14","925.6","984.14","980.08","959.96","989.1","1076.22","1177.58","1164.62","1118.34","1056.7","1081.05","1157.13","1237.46","1250.24","1374.69","1410.23","1444.01","1449.77","1406.39","1443.76","1369.92","1457.02","1538.99","1553.89","1695.26","1694.1","1813.51","1903.64","1979.81","2020.23","2108.94","2145.84","2249.2","2379.48","2376.5","2487.37","2680.43","2861.75","3044.13","3214.19","3336.59","3260.25","3277.01","3261.05","3385.4","3429.86","3666.98","3909.48","4184.07","4554.85","4985.71","5558.5","5873.83","6031.57","6500.65","6660.12","6825.89","7117.96","7623.18","7128.81","7030.84","6672.28","6890.25","7286.96","7685.06","7807.1","7657.32","7763.04","7136.93","7097.83","6950.28","7188.19","7503.67","7713.35","7810.2","7957.98","7860.55","7818.96","8056.06","8022.52","8131.21","8110.41","8461.5","8596","8869.55","9305.66","9682","9569.78" -"Canada","America","lifeExpectancy","39","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","39.05","-","-","-","-","-","-","-","-","-","40.32","-","-","-","-","-","-","-","-","-","41.06","-","-","-","-","-","-","-","-","-","41.6","-","-","-","-","-","-","-","-","-","42.56","-","-","-","-","-","-","-","-","-","44.73","-","-","-","-","-","-","-","-","-","45.17","-","-","-","-","-","-","-","-","-","48.63","-","-","-","-","-","-","-","-","-","52.51","-","-","-","-","-","-","-","-","-","57.02","57.02","57.02","58.83","59.31","57.99","58.68","58.57","57.97","58.95","60.36","61.43","62.36","62.77","62.49","62.72","61.35","63.31","63.74","64.01","63.76","64.7","64.61","65.35","66.33","66.53","66.78","67.33","67.65","68.28","68.55","68.75","69.13","69.99","70.05","70.04","69.96","70.62","70.66","71.04","71.27","71.3","71.31","71.69","71.79","71.92","72.13","72.29","72.45","72.65","72.98","72.88","73.11","73.19","73.49","73.92","74.21","74.54","74.9","75.14","75.55","75.76","76.13","76.43","76.41","76.56","76.86","76.93","77.2","77.51","77.69","77.95","77.83","78.01","78.13","78.4","78.61","78.83","79.05","79.41","79.65","79.77","79.95","80.25","80.36","80.78","80.59","80.74","80.89" -"Canada","America","population","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","816000","-","-","-","-","-","-","-","-","-","1169000","-","-","-","-","-","-","-","-","-","1697000","-","-","-","-","-","-","-","-","-","2485000","-","-","-","-","-","-","-","-","-","3369000","-","-","-","-","-","-","-","-","-","3781000","3801000","3870000","3943000","4012000","4071000","4128000","4184000","4244000","4312000","4384000","4451000","4503000","4560000","4617000","4666000","4711000","4760000","4813000","4865000","4918000","4972000","5022000","5072000","5121000","5169000","5218000","5269000","5325000","5383000","5457000","5536000","5650000","5813000","5994000","6166000","6282000","6596000","6813000","6993000","7188000","7410000","7602000","7852000","8093000","8191000","8214000","8277000","8374000","8548000","8798000","9028000","9159000","9256000","9394000","9549000","9713000","9905000","10107000","10305000","10488000","10657000","10794000","10919000","11030000","11136000","11243000","11341000","11452000","11570000","11688000","11818000","11969000","12115000","12268000","12404000","12634000","12901000","13180000","13469000","14011422","14330675","14785584","15183375","15636245","16050356","16445087","17010154","17462004","17872034","18266765","18634977","18985849","19342841","19711053","20071104","20448496","20819767","21143100","21448073","21749986","22026400","22284500","22559500","22874700","23209200","23517500","23796400","24036300","24276900","24593300","24900000","25201900","25456300","25701800","25941600","26203800","26549700","26894800","27379300","27790600","28117600","28523502","28920644","29262472","29619002","29983162","30305843","30628924","30957019","31278097","31592805","31902268","32207113","32507874","32805041","33098932","33390141","33679263","-" -"Canada","America","income","1159.5","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","1312.47","-","-","-","-","-","-","-","-","-","1451.18","-","-","-","-","-","-","-","-","-","1686.35","-","-","-","-","-","-","-","-","-","1929.46","-","-","-","-","-","-","-","-","-","2105.05","-","-","-","-","-","-","-","-","-","2459.06","2546.14","2474.56","2672.9","2690.08","2588.86","2381.27","2506.83","2375.88","2561.68","2635.18","2959.8","3060.65","3033.5","3237.49","3008.03","3011.56","3076.36","3263.56","3249.51","3451.46","3495.5","3440.52","3386.62","3512.53","3440.7","3321","3644.66","3749.07","4056.95","4224.78","4493.99","4833.78","4837.7","4759.25","5168.85","5581.55","5623.11","5183.71","5586.47","5900.16","6113.16","6352.01","6453.07","5841.42","6142.69","6742.36","6966.52","6444.11","5832.8","5603.71","4871.63","5504.55","5769.84","5771.38","6298.53","6526.05","7033.87","7504.92","7350.88","6981.06","5810.09","5327.95","4891.07","5356.36","5733.08","5984.97","6491.73","6596.94","6919.43","7790.3","8780.77","10206.71","10539.59","10800.51","10351.21","10058.5","10286.28","10253.07","10251.27","10581.27","10932.47","11367.16","11586.61","11173.26","11901.51","12555.55","12489.95","12384.41","12590.8","12701.48","12817.92","13462.49","13882.56","14510.9","15198.11","15884.84","16076.59","16658.21","17286.99","17487.46","18229.64","18970.57","20081.31","20613.59","20775.51","21626.09","22090.88","22754.83","23465.83","23473.9","23904.53","22898.79","23329.8","24431.85","25514.79","25921.17","26626.52","27562.41","27729.9","27387.27","26491.6","26342.88","26590.4","27543.91","27969.67","28074.84","28954.93","29837.46","31154.86","32448.61","32570.57","33328.97","33635.25","34346.97","35078","35714.67","36225.06","35950.08","34569.63" -"Mexico","America","lifeExpectancy","26.9","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","26.9","-","-","23.29","26.62","29.52","28.8","26.24","27.03","24.98","27.58","26.65","28.37","28.68","29.09","26.8","27.88","27.97","28.72","29.21","27.41","-","-","-","-","-","-","-","-","-","-","-","32.6","33.5","32.8","32.1","34.2","40.3","34.5","35.4","36.2","37.7","38.4","37.3","38.2","40.4","38.3","36.8","39.4","45.5","39.2","42.6","39.8","42.8","43.2","44.2","44.8","46.3","48.3","45.8","48.56","49.12","50.21","51.25","52.24","53.18","54.07","54.9","55.69","56.41","57.07","57.66","58.18","58.64","59.06","59.43","59.79","60.15","60.52","60.92","61.35","61.82","62.32","62.84","63.37","63.92","64.47","65.01","65.55","66.06","66.56","67.04","67.5","67.94","68.37","68.79","69.2","69.61","70","70.4","70.8","71.19","71.59","71.98","72.37","72.74","73.1","73.43","73.73","74.01","74.26","74.51","74.75","74.99","75.24","75.49","75.74","75.99","76.23","76.47" -"Mexico","America","population","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","6587000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","7662000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","9219000","9331000","9444000","9558000","9674000","9791000","9910000","10030000","10151000","10274000","10399000","10524000","10652000","10781000","10912000","11044000","11178000","11313000","11450000","11589000","11729000","11904000","12083000","12263000","12447000","12663000","12822000","13014000","13209000","13406000","13607000","13755000","13904000","14055000","14208000","14363000","14519000","14676000","14836000","14997000","15000000","14990000","14980000","14970000","14960000","14950000","14940000","14930000","14920000","14910000","14900000","14895000","15129000","15367000","15609000","15854000","16103000","16356000","16613000","16875000","17175000","17480000","17790000","18115000","18445000","18781000","19040000","19370000","19705000","20047000","20393000","20955000","21532000","22125000","22734000","23724000","24413000","25122000","25852000","26603000","28485180","29296235","30144317","31031279","31959113","32929914","33945886","35015548","36141955","37328466","38578505","39836230","41121485","42434264","43774575","45142399","46537832","47995559","49518803","51110928","52775158","54406901","55984294","57557303","59122839","60678045","62219964","63759976","65295990","66825878","68347479","69969263","71640904","73362881","75080138","76767225","78442430","80122492","81781816","83366836","84913652","86488032","88111030","89749141","91337896","92880353","94398579","95895146","97325063","98616905","99926620","101246961","102479927","103718062","104959594","106202903","107449525","108700891","109955400","-" -"Mexico","America","income","1053.6","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","1105.63","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","981.78","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","1472.82","-","-","-","-","1649.1","1675.45","1762.72","1838.1","1721.61","1709.31","1837.59","1686.64","1857.23","1869.64","2043.53","1998.24","2093.88","2067.87","2106.18","2102.03","2017.76","2000.96","1880.29","1883.54","1856.03","1999.11","2084.7","2165.95","2252.31","2395.46","2386.88","2404.07","2447.87","2368.93","2477.54","2586.29","2430.9","2406.84","2274.99","2095.67","2128.79","1774.36","1944.06","2041.55","2157.92","2292.82","2328.97","2326.41","2411.19","2402.91","2570.67","2644.12","2669.16","2813.56","2824.38","2932.21","2952.46","2992.76","3074.34","3293.78","3447.11","3478.13","3380.66","3614.58","3810.53","3953.72","4131.55","4224.17","4220.45","4433.09","4512.03","4581.61","4803.87","5213.6","5384.97","5584.87","5754.73","6036.64","6222.44","6450.93","6486.92","6809.41","7130.34","7322.16","7519.08","7630.74","7674.93","8156.87","8734.87","9319.56","9890.22","9611.15","9063.14","9177.23","9184.99","8713.36","8688.16","8628.26","8815.27","9103.39","9315.66","9472.38","9482.49","9733.59","8954.52","9274.7","9767.3","10108.77","10358.8","10894.51","10763.08","10742.44","10778.21","11118.69","11317","11772.08","12057.97","12135.33","11250.37" -"United States","America","lifeExpectancy","39.41","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","39.41","-","-","-","-","-","-","-","-","-","45.21","-","-","-","-","-","-","-","-","-","-","49.3","50.5","50.6","49.6","50.3","50.1","50.2","51.9","52.8","51.8","53.4","54.1","53.5","54.6","55.1","54.2","54","47.2","55.3","55.4","58.2","58.1","57.5","58.5","58.5","57.9","59.4","58.3","58.5","59.6","60.3","61","60.95","60.31","60.97","60.42","61.11","62.44","63.12","63.28","63.84","64.63","64.34","65.13","65.63","66.33","66.73","67.3","67.68","68.12","68.22","68.44","68.79","69.58","69.63","69.71","69.49","69.76","69.98","69.91","70.32","70.21","70.04","70.33","70.41","70.43","70.76","70.42","70.66","70.92","71.24","71.34","71.54","72.08","72.68","72.99","73.38","73.58","74.03","73.93","74.36","74.65","74.71","74.82","74.79","74.87","75.01","75.03","75.31","75.6","75.8","76.08","75.83","76","76.09","76.44","76.8","76.97","76.97","77.13","77.25","77.31","77.49","77.92","77.93","78.21","79.09","79.27","79.43" -"United States","America","population","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","9980510","10298969","10625503","10951077","11276695","11602355","11928057","12250905","12580590","12906416","13240314","13658580","14077890","14496235","14914618","15334042","15752501","16170997","16590533","17009101","17443768","18056100","18667464","19278865","19890301","20502776","21114282","21725822","22337396","22950007","23579718","24405303","25230918","26156953","26882238","27707943","28534680","29360442","30186232","31012051","31838901","32677742","33515609","34354509","35192433","36031388","36869368","37708378","38546412","39385476","40240630","41098000","42136000","43174000","44212000","45245000","46287000","47325000","48362000","49400000","50458000","51743000","53027000","54311000","55595000","56879000","58164000","59448000","60732000","62016000","63302000","64612000","65922000","67231000","68541000","69851000","71161000","72471000","73781000","75091000","76391000","77888000","79469000","80946000","82485000","84147000","85770000","87339000","89055000","90845000","92767000","94234000","95703000","97606000","99505000","100941000","102364000","103817000","104958000","105473000","106881000","108964000","110484000","112387000","114558000","116284000","117857000","119502000","120971000","122245000","123668000","124633000","125436000","126180000","126978000","127859000","128681000","129464000","130476000","131539000","132637000","133922000","135386000","137272000","138937000","140474000","141940000","144688000","147203000","149770000","152271000","154878000","157553000","160184000","163026000","165931000","168903000","171984000","174882000","177830000","180671000","183691000","186538000","189242000","191889000","194303000","196560000","198712000","200706000","202677000","205052000","207661000","209896000","211909000","213854000","215973000","218035000","220239000","222585000","225055000","227726463","229966237","232187835","234307207","236348292","238466283","240650755","242803533","245021414","247341697","250131894","253492503","256894189","260255352","263435673","266557091","269667391","272911760","276115288","279294713","282338631","285023886","287675526","290342554","293027571","295734134","298444215","301139947","303824646","-" -"United States","America","income","1912.62","1948.59","1981.63","1946.61","1944.22","1987.88","2024.49","2045.45","1896.7","1993.22","2050.52","2093.55","2056.15","2079.25","2119.35","2111.19","2023.09","2021.75","2027.3","2023.02","2011.22","2043.38","2101.55","2077.84","2134.86","2184.19","2200.15","2210.11","2209.17","2133.96","2293.67","2438","2530.55","2620.99","2491.55","2589.99","2629.47","2543.05","2520.65","2646.12","2512.15","2457.92","2436.73","2476.52","2614.36","2656.44","2673.07","2744.83","2817.92","2743.7","2754.9","2871.34","3022.03","3235.59","3244.9","3172.17","3239.39","3167.39","3182.83","3270.94","3359.31","3288.25","3393.61","3617.64","3739.47","3541.92","3514","3632","3681.88","3781.48","3970.93","4044.9","4106.03","4198.88","4055.76","4170.62","4131.67","4181.78","4275.61","4718.64","5178.86","5239.22","5428.53","5402.76","5362.11","5277.75","5332.39","5472.26","5330.85","5549.39","5524.7","5584.39","5717.15","5579.84","5297.88","5828.93","5603.9","5962.94","6008.89","6609.78","6624.3","7305.78","7282.17","7356.13","7494.66","8031.68","8205.42","7928.61","7339.85","8048.39","7913.7","8010.71","8317.33","8448.56","7615.96","7758.77","8875.24","8714.46","9254.58","8908.37","8568.17","8068.82","8504.51","9512.22","9544.98","9581.57","9990.36","9869.44","9892.79","10387.38","9346.2","8640.93","7433.95","7267.63","7977.82","8601.16","9629.63","10028.34","9569.07","10225.26","10948.06","12667.38","14819.55","16980.87","18085.1","17614.95","15431.41","14931.55","15266.38","14866.24","15855.86","16750.74","17039.38","17471.28","16979.26","17822.45","17783.27","17749.5","17217.39","18084.11","18175.43","18226.62","18978.45","19461.1","20243.98","21209.93","22263.22","22495.68","23268.21","23669.41","23345.77","23744.67","24654.04","25742","25281.7","24889.6","25881.72","26715.14","27814.18","28278.91","27838.11","28160.14","27243.47","28119.69","29785.25","30636.21","31297.31","31953.81","32860.52","33587.09","33710.39","33076.87","33589.59","33914.89","34730.56","35053.29","35807","36847.81","37811.68","38912.58","39758.5","39474.11","39535.84","40044.18","40956.4","41674","42385.18","42866.22","42656.49","41256.08" -"Austria","Europe & Central Asia","lifeExpectancy","34.4","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","34.4","-","-","-","-","-","-","-","-","-","-","35","-","-","-","-","-","-","-","-","-","37.3","-","-","-","-","-","-","-","-","-","42","-","40.1","-","-","-","-","-","-","-","45.1","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","56.45","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","61.31","63.24","63.43","64.88","65.26","66.8","67.29","67.32","67.6","67.72","67.48","68.49","68.42","68.78","69.75","69.54","69.67","70.16","69.95","70.26","70.14","70.29","70.06","70.11","70.31","70.63","71.21","71.2","71.33","71.82","72.17","72.25","72.56","72.7","73.02","73.18","73.25","73.79","74.01","74.49","74.93","75.41","75.5","75.77","75.83","76.04","76.27","76.59","76.83","77.1","77.5","77.87","78.05","78.33","78.83","78.96","78.96","79.47","79.64","80.1","80.3","80.51","80.23" -"Austria","Europe & Central Asia","population","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","3369000","3386000","3402000","3419000","3436000","3452000","3469000","3486000","3504000","3521000","3538000","3555000","3573000","3590000","3608000","3626000","3614000","3662000","3680000","3698000","3716000","3739000","3762000","3785000","3808000","3831000","3855000","3878000","3902000","3926000","3950000","3978000","4006000","4035000","4063000","4092000","4120000","4150000","4178000","4206000","4235000","4263000","4292000","4321000","4350000","4380000","4409000","4439000","4469000","4499000","4520000","4562000","4604000","4646000","4688000","4730000","4772000","4815000","4857000","4899000","4941000","4985000","5030000","5075000","5121000","5166000","5212000","5257000","5303000","5348000","5394000","5446000","5504000","5563000","5622000","5680000","5739000","5798000","5856000","5915000","5973000","6035000","6099000","6164000","6228000","6292000","6357000","6421000","6485000","6550000","6614000","6669000","6724000","6767000","6806000","6843000","6825000","6785000","6727000","6420000","6455000","6504000","6528000","6543000","6562000","6582000","6603000","6623000","6643000","6664000","6684000","6705000","6725000","6746000","6760000","6761000","6758000","6755000","6753000","6653000","6705000","6745000","6783000","6808000","6834000","6799000","7000000","6971000","6956000","6943000","6935100","6935451","6927772","6932483","6940209","6946885","6952359","6965860","6987358","7014331","7047437","7086299","7129864","7175811","7223801","7270889","7322066","7376998","7415403","7441055","7467086","7500482","7544201","7586115","7599038","7578903","7565525","7568430","7562305","7549425","7549433","7564629","7574613","7552896","7554132","7559776","7568242","7578903","7599791","7627861","7722953","7818423","7914969","7988599","8027540","8047433","8060852","8069876","8078622","8094156","8113413","8131690","8148312","8162656","8174762","8184691","8192880","8199783","8205533","-" -"Austria","Europe & Central Asia","income","1434.51","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","1550.01","1574.98","1600.35","1626.12","1652.32","1678.93","1705.97","1733.45","1761.37","1789.74","1818.56","1837.1","1855.82","1874.73","1893.83","1913.13","1932.63","1952.33","1972.22","1992.32","2012.62","2034.4","2056.41","2078.65","2101.14","2123.87","2146.85","2170.08","2193.56","2217.29","2241.28","2262.88","2284.7","2306.73","2328.97","2351.42","2374.09","2396.98","2420.09","2443.42","2466.98","2483.91","2500.97","2518.14","2535.43","2552.84","2570.37","2588.02","2605.79","2623.68","2641.7","2813.04","2815.2","2730.96","2834.04","2829.2","2873.94","2952.65","3031.03","2990.81","3013.1","3116","3115.19","3222.36","3287.4","3245.89","3329.95","3538.38","3508.79","3454.42","3619.16","3720.23","3771.43","3764.68","3951.4","4024.65","4053.25","4105.88","4303.41","4359.56","4362.27","4344.52","4477.8","4480.79","4513.37","4728.12","4870.98","5130.41","5113.09","5056.77","5090.03","5205.8","5422.19","5360.93","4448.44","4104.04","4064.74","4000.87","3952.16","3494.55","3731.71","4099.62","4451.32","4396.76","4892.64","5208.47","5279.81","5422.72","5657.6","5721.43","5546.91","5085.87","4547.49","4382.76","4411.25","4496.45","4632.65","4881.74","5506.35","6336.15","6124.69","6524.02","6161.23","6287.8","5888.21","2667.85","3026.57","3351.41","4276.52","5094.41","5733.1","6124.93","6137.08","6399.79","7045.97","7817.25","8348.45","8842.6","9137.3","9360.85","10083.83","10560.97","10750.72","11116.7","11705.63","11964.28","12549.33","12834.6","13335.56","14125.32","15078.77","15779.07","16661.63","17379.33","18033.98","18016.37","18874.3","19749.42","19693.62","20803.4","21284.71","21220.89","21597.08","22266.66","22336.95","22821.2","23329.16","23687.83","24371.18","25307.87","26135","26744.4","27042.02","26882.04","27463.48","27918.82","28602.35","29095.92","30107.98","31039.62","32008.5","32196.42","32417.61","32741.19","33455.69","34108","35161.23","36348.95","37032.76","35636.42" -"France","Europe & Central Asia","lifeExpectancy","32.4","-","-","-","-","-","35","34.2","34.5","35","37.4","36.1","31.7","31.2","30.1","36.5","40.04","39.18","38.53","37.25","39.21","39.83","38.3","39.97","39.14","38.53","37.76","39.35","37.53","39.36","39.56","39.65","35.81","38.83","35.01","39.48","41.95","39.38","39.33","40.91","40.37","40.68","40.01","40.75","42.29","43.58","40.67","40.41","40.29","35.91","43.28","41.77","41.32","42.52","36.13","37.54","40.18","39.59","39.67","35.26","43.33","40.45","42.7","41.73","42.01","40.16","41.83","42.33","40.23","41.14","36.41","29.59","42.64","41.75","44.3","43.17","43.55","44.33","43.36","43.99","42.73","43.55","43.16","43.28","42.52","43.97","43.17","43.75","44.15","45.56","43.36","44.11","43.57","43.6","45.53","45.2","47.56","47.93","45.99","45.23","45.08","47.01","48.01","48.43","48.08","48.36","47.74","48.28","49.3","50.01","51.37","48.17","51.62","51.35","37.85","35.63","39.51","42.6","34.34","47.52","51.6","52.69","54.92","54.65","55.27","54.39","54.03","55.8","55.44","54.27","56.87","56.93","57.26","57.7","58.36","58.32","58.81","59.17","58.97","59.62","49.45","57.67","57.44","53.33","47.19","54.96","62.38","63.98","65.83","64.92","66.39","66.12","67.41","67.34","68.21","68.47","68.5","68.93","70.16","70.19","70.4","70.98","70.51","70.36","71.32","71.15","71.56","71.55","71.54","71.27","72.16","72.13","72.38","72.54","72.89","72.98","73.22","73.83","73.95","74.26","74.35","74.51","74.89","74.87","75.37","75.47","75.75","76.34","76.57","76.69","76.98","77.17","77.46","77.5","77.94","78.06","78.27","78.62","78.79","78.92","79.23","79.41","79.57","79.57","80.5","80.47","80.88","81.14","81.25","81.47" -"France","Europe & Central Asia","population","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","31250000","31460000","31685000","31905000","32127000","32350000","32538000","32727000","32917000","33108000","33300000","33439000","33598000","33718000","33859000","34000000","34178000","34357000","34537000","34718000","34900000","35059000","35218000","35378000","35539000","35700000","35829000","35959000","36089000","36219000","36350000","36479000","36609000","36739000","36869000","37000000","37060000","37120000","37180000","37240000","37300000","37390000","37520000","37710000","37860000","38020000","38080000","38230000","38330000","38890000","38440000","37731000","37679000","37887000","38044000","38221000","38398000","38576000","38763000","38909000","39045000","39191000","39337000","39472000","39629000","39733000","39858000","39889000","39920000","40004000","40014000","39983000","39993000","40014000","40056000","40098000","40192000","40348000","40473000","40546000","40598000","40640000","40713000","40786000","40859000","40890000","40942000","40942000","41046000","41109000","41224000","41307000","41359000","41463000","41476000","40481000","39884000","39288000","38542000","38700000","39000000","39240000","39420000","39880000","40310000","40610000","40870000","40940000","41050000","41230000","41610000","41860000","41860000","41890000","41950000","41940000","41910000","41930000","41960000","41900000","41000000","39600000","39400000","39000000","38900000","39700000","40290000","40680000","41110000","41480000","41828673","42155534","42459667","42751746","43056505","43427669","43843075","44310863","44788852","45239729","45670000","46189000","47124000","47808000","48340000","48763000","49194000","49569000","49934000","50353000","50787000","51285000","51732000","52157000","52503000","52758427","52953613","53165019","53380649","53605523","53869743","54147284","54433565","54649810","54946500","55171224","55387361","55630100","55873463","56416625","56735161","57055448","57374179","57658289","57906847","58149727","58388408","58623428","58866290","59116128","59381628","59658144","59925035","60180529","60424213","60656178","60876136","61083916","61279972","-" -"France","Europe & Central Asia","income","1388.32","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","1508.17","1605.15","1488.9","1484.46","1450.73","1461.26","1507.24","1517.77","1424.55","1505.31","1478.21","1468.18","1575.78","1575.21","1556.85","1638.99","1670.87","1691.88","1728.95","1702.64","1833.29","1782.25","1748.42","1814.96","1869.79","1937.81","2061.01","2247.78","1754.96","1751.73","1840.71","1810.27","2049.4","2279.88","2558.73","2699.62","2804.19","2709.43","2530.47","2537.44","2704.03","2763.29","2864.8","2947.49","3001.41","2952.32","3078.84","3035.75","3248.75","3053.02","2952.12","3094.7","3265.24","3226.92","3368.09","3305.81","3271.13","3263.78","3086.79","3061.22","3251.85","3467.16","3592.01","3442.58","3268.75","3178.76","3144.18","3176.37","3256.96","3273.56","3400.86","3444.97","3524.93","3398.78","3737.15","3668.19","3791.6","3688.84","3914.43","4060.44","4120.2","3923.77","3882.54","4018.39","4104.52","4215.5","4163.4","4506.35","4497.65","4648.43","4431.67","4874.61","5269.95","5216.06","4366.68","3838.35","4391.91","4343.65","3715.96","4091.01","4363.66","4138.93","4952.53","5174.88","5731.07","5758.31","5943.23","5809.19","6139.65","6647.68","6404.85","6109.1","5562.21","5715.58","5506.14","5360.76","5427.12","5543.16","5395.35","5609.14","4419.43","4268.29","4290.23","4272.41","3266.23","4011.65","5348.07","5625.06","6298.46","6625.98","7104.01","7436.28","7550.91","7692.44","8019.09","8399.74","8786.31","9242.42","9434.98","9619.51","10244.42","10686.66","11191.29","11579.29","12197.97","12650.59","13187.05","13683.81","14146.15","15000.57","15703.71","16284.72","16840.55","17597.08","18004.5","17848.25","18509.58","18996.91","19524.41","20102.02","20334.47","20488.68","20933.53","21265.16","21488.65","21805.96","22218.56","22608.9","23523.51","24186.1","24676.73","24847.93","25140.92","24731.22","25117.85","25556.85","25717.2","26170.75","26957.92","27689.46","28636.15","28983.72","29043.35","29048.88","29505.88","29644","30161.01","30666.76","30598.37","29774.85" -"Germany","Europe & Central Asia","lifeExpectancy","38.37","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","38.37","-","-","-","-","-","-","-","-","-","39.44","-","-","-","-","-","-","-","-","-","42.38","-","-","-","-","-","-","-","-","-","45.45","-","-","-","-","-","49","-","-","-","40.52","-","-","-","-","-","-","-","-","-","57.42","-","-","-","-","-","-","-","-","-","61.5","-","-","-","62.6","62.26","62.19","59.64","57.76","52.66","46.13","60.51","-","-","-","66.78","66.96","67.33","67.69","68.03","68.36","68.68","68.98","69.27","69.54","69.79","70.01","70.21","70.38","70.52","70.62","70.7","70.74","70.77","70.79","70.83","70.9","71.01","71.18","71.4","71.67","71.97","72.29","72.6","72.9","73.18","73.43","73.67","73.9","74.11","74.32","74.54","74.77","75","75.25","75.39","75.61","76.07","76.15","76.47","76.66","76.9","77.35","77.7","77.94","78.21","78.58","78.67","78.75","79.34","79.48","79.81","79.98","80.06","80.08" -"Germany","Europe & Central Asia","population","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","24905000","25260000","25620000","25969000","26307000","26650000","26964000","27249000","27540000","27807000","28045000","28283000","28535000","28801000","29071000","29390000","29702000","30013000","30365000","30746000","31126000","31475000","31787000","32086000","32394000","32743000","33059000","33231000","33289000","33452000","33746000","34055000","34290000","34422000","34531000","34586000","34715000","34979000","35278000","35633000","36049000","36435000","36788000","37184000","37602000","37955000","38193000","38440000","38637000","38914000","39231000","39456000","39691000","40017000","40450000","40897000","41491000","42034000","42546000","43052000","43500000","43827000","44112000","44404000","44777000","45084000","45505000","46001000","46538000","47083000","47607000","48129000","48633000","49123000","49703000","50363000","51111000","51921000","52753000","53592000","54388000","55214000","56104000","56963000","57806000","58644000","59481000","60341000","61187000","62038000","62884000","63852000","64457000","65058000","66096000","66230000","66076000","65763000","65237000","60547000","60894000","61573000","61900000","62307000","62697000","63166000","63630000","64023000","64393000","64739000","65084000","65423000","65716000","66027000","66409000","66871000","67349000","67831000","68558000","69286000","69835000","70244000","70834000","70411000","69865000","67000000","64678000","66094000","67295000","67991000","68374572","68875884","69145952","69550236","69868115","70195612","70602518","71019069","71488167","72013853","72480869","73123148","73739117","74340260","74954262","75638851","76206173","76368453","76584401","77143888","77783164","78354709","78717088","78950220","78966137","78682325","78298957","78160773","78066074","78081292","78297904","78401830","78335266","78121655","77855422","77684907","77713485","77718298","78030572","78644914","79380394","79984244","80597764","81132272","81414164","81653702","81890667","82011073","82023672","82074778","82187909","82280551","82350671","82398326","82424609","82431390","82422299","82400996","82369548","-" -"Germany","Europe & Central Asia","income","1695.68","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","1945.75","1959.18","1972.7","1986.32","2000.03","2013.83","2027.73","2041.73","2055.82","2070.01","2084.3","2091.83","2099.4","2106.99","2114.61","2122.26","2129.93","2137.64","2145.37","2153.13","2160.91","2168.73","2176.57","2184.44","2192.34","2200.27","2208.23","2216.21","2224.23","2232.27","2240.35","2209.1","2237.39","2218","2264.94","2229.04","2403.11","2502.1","2470.35","2456.18","2572.49","2483.9","2581.56","2744.35","2793.09","2776.92","2779.13","2770.95","2920.7","2919.02","2885.95","2850.62","3030.79","3136.39","3333","3314.78","3249.37","3189.68","3300.1","3183.46","3124.99","3178.15","3208.28","3363.31","3418.47","3477.8","3470.18","3570.4","3673.25","3733.56","3809.81","3760.75","3874.94","4025.82","4076.25","4215.1","4299.15","4354.02","4468.91","4558.78","4683.8","4505.8","4540.54","4720.51","4838.51","4870.98","4946.45","5091.98","5106.79","5138.79","5253.25","5348.6","5529.51","5724.59","4800.75","4549.24","4604.93","4632.51","4681.28","4058.48","4386.95","4829.84","5227.11","4314.74","5019.72","5542.04","5656.53","6184.52","6418.17","6357.62","6235.14","5730.09","5275.27","5579.88","6054.45","6464.97","6984.27","7351.76","7836.14","8483.68","8477.82","8962.15","9007.31","9242.26","9546.85","7083.98","3478.75","3822.81","4446.78","5150.97","6090.03","6599.92","7144.11","7697.25","8233.48","9096.83","9692.61","10187.83","10571.59","11261.93","12091.34","12478.83","12902.46","13158.88","13844.37","14414.59","14731.37","14745.63","15479.67","16383.41","17009.19","17382.08","18016.18","18778.23","18929.76","18894.57","19903.97","20512.92","21114.59","21958.81","22148.27","22202.51","22031.53","22485.38","23198.33","23757.88","24274.56","24639.19","25359.06","25983.63","24996.14","26127.06","26505.3","26119.46","26720.64","27145.96","27336.47","27788.88","28291.6","28842.66","29726.88","30061.4","30035.8","29952.94","30260.66","30496","31511.65","32342.82","32785.53","31191.15" -"Ireland","Europe & Central Asia","lifeExpectancy","37.7","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","37.7","25","30","20.55","20","35","37.7","-","-","-","-","-","-","-","37.7","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","49.4","-","-","-","-","-","-","-","-","-","53.8","-","-","-","-","-","-","-","-","-","-","-","-","-","-","57.6","-","-","-","-","-","-","-","-","-","58.9","-","-","-","-","60","-","-","-","-","61.4","-","-","-","65.61","64.78","67.2","67.96","68.07","68.06","69.01","69.06","69.36","69.49","70.23","69.69","69.99","70.24","70.49","70.69","70.2","71.24","70.93","70.85","70.89","71.68","71.02","71.24","71.18","71.76","71.86","72","71.98","72.25","72.6","72.96","73.23","73.26","73.71","73.65","73.72","74.52","74.55","74.58","74.98","75.14","75.54","75.4","75.91","75.58","75.94","76.08","76.3","76.2","76.66","77.24","77.73","78.24","78.64","79.4","79.73","79.66","79.94","80.16" -"Ireland","Europe & Central Asia","population","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","5052603","5123045","5170718","5219102","5267487","5316582","5366390","5416197","5466716","5517947","5569177","5621119","5655984","5690849","5725715","5760580","5796156","5831733","5868021","5904310","5940598","5976886","5992540","6006059","6033097","6045905","6040924","5838137","5436120","5162891","4893931","4634933","4508991","4410800","4328262","4279877","4249993","4211570","4191647","4171013","4141840","4118359","4109821","4068552","4013764","3981033","3929803","3904187","3889245","3877149","3855803","3840861","3823072","3791053","3770419","3756188","3755477","3761169","3758323","3746938","3702112","3661554","3629535","3574747","3539882","3514267","3490786","3455921","3416075","3384767","3357018","3329979","3297249","3278037","3265230","3244595","3231788","3223249","3214711","3203326","3179846","3164192","3155654","3143557","3136442","3130038","3129327","3122211","3120077","3121500","3120077","3117231","3107981","3092327","3083789","3043943","3040385","3040385","3045366","3096596","3103000","3096000","3002000","3014000","3005000","2985000","2971000","2957000","2944000","2937000","2927000","2933000","2949000","2962000","2971000","2971000","2967000","2948000","2937000","2934000","2958000","2993000","2963000","2946000","2944000","2952000","2957000","2974000","2985000","2981000","2963018","2959311","2952156","2947311","2936769","2916133","2895253","2878220","2851522","2843041","2832000","2818300","2830000","2850000","2864000","2876000","2884000","2900100","2912500","2925600","2950100","2978300","3024400","3073200","3124200","3177300","3227800","3271900","3314000","3368200","3401000","3443400","3480000","3504000","3529000","3540000","3540500","3539900","3529600","3513200","3508200","3530771","3557761","3578349","3595542","3613890","3636179","3667233","3707555","3750141","3791690","3835025","3879155","3924023","3969558","4015676","4062235","4109086","4156119","-" -"Ireland","Europe & Central Asia","income","1213.16","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","1255.19","1273","1291.06","1309.38","1327.97","1346.81","1365.92","1385.3","1404.96","1424.9","1445.12","1465.63","1486.42","1507.52","1528.91","1550.6","1572.61","1594.92","1617.56","1640.51","1663.79","1687.4","1711.34","1735.63","1760.26","1472.74","1232.18","1400","1232","1200","1550","1800","1970.3","1998.25","2026.61","2055.37","2084.54","2114.12","2144.12","2174.54","2205.4","2236.69","2268.43","2300.62","2333.27","2366.38","2399.96","2434.01","2468.55","2503.58","2539.11","2564.79","2590.73","2616.93","2643.4","2670.13","2697.13","2724.41","2751.97","2779.8","2807.91","2836.31","2864.99","2893.97","2923.24","2952.8","2982.66","3012.83","3043.3","3074.08","3105.17","3136.57","3168.29","3200.34","3232.7","3265.4","3298.42","3331.78","3365.48","3399.51","3433.9","3468.62","3503.7","3539.14","3574.93","3611.09","3647.61","3684.5","3721.76","3759.4","3797.42","3835.83","3874.62","3913.81","3876.19","3838.93","3802.03","3765.48","3729.28","3693.44","3657.94","3622.77","3716.68","3682.89","3674.88","3680.34","3678.42","3795.01","3915.26","4039.53","4144.23","4250.85","4126.9","4005.44","4122.34","4242.7","4366.06","4229.22","4366.34","4365.92","4365.8","4365.89","4365.68","4365.62","4365.67","4318.47","4365.83","4423.12","4621.03","4869.55","4939.18","5069.59","5210.28","5359.59","5427.05","5607.71","5574.54","5599.08","5535.12","5776.53","6125.35","6449","6631.6","6896.75","7131.74","7225.83","7267.29","7655.57","8253.11","8710.47","8867.96","9088.5","9530.77","9822.55","10073.82","10465.52","10445.81","11150.98","11800.94","11967.79","12217.02","12467.88","12618.32","12501.69","12953.44","13311.61","13252.76","13872.87","14639.6","15562.98","16904.61","17120.66","17558.82","17927.85","18869.09","20581.98","22144.69","24521.95","26127.25","28496.8","30827.98","32335.28","34077.05","35191.11","36303.8","38058","39093.97","40501.4","38533.88","35692.95" -"Italy","Europe & Central Asia","lifeExpectancy","29.01","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","29.69","31.6","31.75","31.31","33.6","34.88","34.32","33.95","32.74","34.2","34.29","35.18","36.6","36.83","35.1","35.97","36.92","39.05","38.5","38.46","38.84","39.79","39.91","39.61","40.7","43.29","42.33","43.67","41.66","43.52","42.99","43.15","44.43","43.94","45.09","45.45","43.19","44.67","46.75","44.77","48.98","48.46","49.89","42.34","39.27","37.69","25.62","42.1","45.51","49.25","50.01","51.45","51.51","51.31","50.96","52.58","52.67","52.29","55.2","54.78","54.77","56.29","56.86","56.22","56.75","55.49","56.13","57.64","56.95","54.62","52.45","49.19","52.34","54.78","58.97","61.18","63.45","64.11","65.77","65.31","65.94","66.58","67.9","68.25","67.64","67.81","68.87","69.32","69.21","69.85","69.24","69.35","70.4","70.27","71.02","71.06","70.88","70.9","71.66","71.91","72.19","72.13","72.85","72.76","73.11","73.48","73.83","74.16","74.12","74.51","74.98","74.8","75.56","75.67","76","76.42","76.6","77","77.06","77.07","77.44","77.72","77.93","78.19","78.52","78.82","78.92","79.32","79.73","80.01","80.25","80.33","81.19","81.18","81.59","81.11","81.24","81.34" -"Italy","Europe & Central Asia","population","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","20176000","20306000","20437000","20568000","20701000","20834000","20968000","21103000","21239000","21376000","21513000","21652000","21791000","21932000","22073000","22215000","22358000","22502000","22647000","22793000","22939000","23087000","23236000","23385000","23536000","23687000","23840000","23993000","24148000","24303000","24460000","24617000","24776000","24935000","25096000","25257000","25420000","25584000","25748000","25914000","26081000","26249000","26418000","26610000","26814000","27023000","27256000","27411000","27501000","27681000","27888000","28063000","28233000","28387000","28505000","28630000","28837000","29067000","29252000","29425000","29534000","29672000","29898000","30113000","30366000","30644000","30857000","31049000","31243000","31468000","31702000","31892000","32091000","32303000","32513000","32689000","32863000","33078000","33285000","33487000","33672000","33877000","34166000","34436000","34715000","35011000","35297000","35594000","35899000","36213000","36572000","36917000","37150000","37248000","37526000","37982000","38142000","37981000","37520000","37250000","37398000","37691000","38086000","38460000","38810000","39165000","39502000","39848000","40186000","40469000","40791000","41132000","41431000","41753000","42093000","42429000","42750000","43068000","43419000","43865000","44341000","44734000","45004000","45177000","45290000","45442000","45725000","46040000","46381000","46733000","47105000","47418000","47666000","47957000","48299000","48633000","48921000","49182000","49476000","49832000","50197600","50523200","50843200","51198300","51600200","51987100","52331600","52667100","52986600","53317000","53661100","54005500","54365564","54796843","55226259","55571894","55838536","56059245","56240143","56367710","56451247","56502489","56535636","56630129","56696963","56731215","56733833","56729703","56734027","56737529","56742886","56747462","56840847","57026746","57179460","57274531","57367032","57479469","57550318","57603634","57719337","57844924","57926999","57998353","58057477","58103033","58133509","58147733","58145321","-" -"Italy","Europe & Central Asia","income","1339.84","1322.44","1365.94","1405.09","1465.99","1418.14","1452.94","1426.84","1509.5","1513.85","1396.39","1352.89","1378.99","1418.14","1435.54","1374.64","1352.89","1365.94","1465.99","1457.29","1452.94","1431.19","1448.59","1461.64","1496.45","1479.05","1518.2","1496.45","1479.05","1470.35","1452.94","1500.8","1518.2","1522.55","1535.6","1579.1","1431.19","1392.04","1418.14","1405.09","1448.59","1479.05","1483.4","1409.44","1409.44","1422.49","1409.44","1448.59","1444.24","1435.54","1357.24","1361.59","1339.84","1309.39","1226.74","1239.79","1244.14","1331.14","1383.34","1339.84","1335.49","1448.59","1492.1","1522.55","1496.45","1574.75","1465.99","1479.05","1487.75","1526.9","1600.85","1592.15","1566.05","1566.05","1674.8","1640","1579.1","1600.85","1683.5","1679.15","1722.65","1770.5","1809.66","1831.41","1774.85","1827.06","1914.06","1940.16","1918.41","1848.81","1896.66","1944.51","1931.46","1979.31","1988.01","2009.76","2031.51","2044.56","2053.26","2079.36","2127.22","2166.37","2214.22","2270.77","2340.37","2414.32","2479.58","2557.88","2592.68","2636.18","2640.53","2670.98","2762.33","2871.09","3133.99","3155.61","3517.13","3756.73","4142.93","3599.69","3229.38","3268.57","3419.44","3438.41","3409.86","3564.46","3560.69","3578.97","3782.3","3881.82","3664.52","3696.84","3832.8","3798.85","3826.45","4125.84","4218.03","4388.13","4396.7","4653.39","4495.44","4384.39","4377.87","4124.63","3499.45","2730.28","3417.92","3892.09","4108.64","4219.07","4461.07","4719.64","4931.4","5222.08","5436.14","5733.71","5958.25","6248.66","6518.37","6885.77","7314.83","7820.21","8243.58","8636.91","8821.6","9011.54","9503.61","10022.4","10694.07","11274.4","11788.23","11939.22","12269.27","13133.75","13614.98","13160.79","14021.93","14255.98","14831.4","15712.14","16201.88","16362.8","16537.48","16717.44","17530.69","18078.95","18479.37","19207.23","20293.85","21166.48","21561.42","21755.4","22013.64","21826.22","22471.23","23680.31","23897.55","24675.02","25409.99","26128.82","27160.47","27779.73","27968.1","27839.64","27887.57","27750","28141.34","28342.66","27753.8","26160.59" -"Netherlands","Europe & Central Asia","lifeExpectancy","39.86","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","39.86","40","38.66","38.63","38.63","34.53","38.39","35.46","34.66","30.86","36.91","36.44","38.28","38.33","37.56","36.37","33.64","39.31","37.75","40.47","37.34","32.94","36.49","39.2","41.3","38.24","40.35","42.03","41.1","41.96","40.39","42.87","43.79","42.35","41.34","43.3","41.98","44.99","44.22","44.35","44.4","44.25","43.95","45.8","46.93","46.64","48.56","49.36","49.03","49.35","48.4","48.72","50.61","51.51","50.9","52.11","52.78","53.54","52.76","54.96","55.14","53.17","57.21","57.37","57.2","57.22","56.16","55.67","47.61","54.98","57.84","59.77","59.84","62.06","62.97","63.18","63.04","62.65","63.74","62.19","64.73","64.35","65.44","66.08","66.62","66.54","66.76","66.98","67.4","67.73","65.4","65.33","65.84","64.43","61.26","55.45","67.58","69.53","71.05","70.28","71.45","71.51","72.13","71.71","72.4","72.52","72.54","72.99","73.15","73.19","73.37","73.56","73.23","73.35","73.73","73.6","73.55","73.82","73.63","73.54","73.6","73.84","73.75","74.2","74.59","74.52","74.65","75.24","75.15","75.63","75.76","75.97","76.05","76.25","76.32","76.38","76.36","76.83","77.03","76.87","77.05","77.21","77.42","77.11","77.6","77.64","77.65","78.03","78.12","78.07","78.24","78.45","78.53","78.79","79.38","79.65","80","79.82","80.02","80.19" -"Netherlands","Europe & Central Asia","population","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","2333000","2365000","2400000","2435000","2474000","2514000","2543000","2561000","2585000","2610000","2633000","2653000","2665000","2683000","2707000","2732000","2762000","2791000","2821000","2853000","2886000","2921000","2952000","2981000","3014000","3047000","3069000","3071000","3069000","3076000","3098000","3133000","3167000","3194000","3218000","3235000","3253000","3277000","3294000","3304000","3318000","3340000","3366000","3397000","3431000","3460000","3484000","3510000","3543000","3575000","3610000","3636000","3662000","3670000","3745000","3788000","3832000","3883000","3834000","3986000","4043000","4079000","4130000","4180000","4226000","4276000","4326000","4378000","4432000","4485000","4535000","4585000","4632000","4684000","4743000","4803000","4866000","4935000","5003000","5070000","5142000","5221000","5305000","5389000","5470000","5551000","5632000","5710000","5786000","5862000","5922000","5984000","6068000","6164000","6277000","6395000","6516000","6654000","6752000","6805000","6848000","6921000","7032000","7150000","7264000","7366000","7471000","7576000","7679000","7782000","7884000","7999000","8123000","8237000","8341000","8434000","8516000","8599000","8685000","8782000","8879000","8966000","9042000","9103000","9175000","9262000","9424000","9630000","9800000","9956000","10113527","10264311","10381988","10493184","10615380","10750842","10889351","11026383","11186875","11347639","11486000","11638713","11805689","11965966","12127120","12292000","12454800","12596822","12724680","12873000","13032335","13193776","13329874","13438404","13540584","13653438","13769913","13852989","13936754","14030002","14143901","14246049","14310401","14362381","14420022","14491380","14571875","14665278","14761339","14848907","14951510","15066220","15174244","15274942","15382198","15459054","15527809","15604464","15699259","15801947","15907853","16017445","16122830","16223248","16318199","16407491","16491461","16570613","16645313","-" -"Netherlands","Europe & Central Asia","income","2412.43","2410.19","2407.94","2405.7","2403.46","2401.22","2398.98","2396.75","2140.32","2115.41","2430.6","2463.51","2148.66","1937.55","1872.82","2485.36","2369.94","2397.3","2439.55","2329.64","2501.29","2446.72","2465.54","2584.47","2562.02","2492.15","2527.58","2672.71","2726.07","2726.1","2484.29","2665.82","2786.45","2719.09","2738.8","2726.17","2812.27","2874.01","2899.55","2893.62","2916.68","2940.77","2863.66","2808.67","2830.48","2805.03","2805.07","2819.16","2860.82","2941.02","2991.96","3030.22","2990.41","2917.71","3091.87","3002.04","3117.88","3057.96","2968.78","2857.73","2990.17","2902.77","3012.98","3064.49","3181.52","3182.08","3296.34","3177.69","3192","3290.79","3390.1","3358.03","3384.07","3442.73","3302.9","3481.91","3479","3509.16","3487.48","3305.83","3485.25","3494.5","3531.33","3739.93","3751.79","3777.75","3779.03","3816.41","3809.49","3884.11","3672.78","3628.37","3685.88","3593.38","3745.99","3708.29","3801.33","3832.52","3827.14","3818.28","3713.31","3826.9","3917.61","3843.64","3828.61","3951.5","3963.17","3826.46","3838.51","3979.81","4088.22","4188.72","4263.1","4422.05","4314.78","4098.55","4042.31","3588.65","3331.55","3716.74","4230.58","4958.89","5218.13","5261.95","5563.92","5681.74","6000.34","6211.6","6408.23","6457.97","6309.26","6009.03","5868.27","5827.76","5713.9","5822.82","6105.71","6414.44","6177.32","6641.98","5796.49","5449.65","4950.39","4813.35","3201.78","3255.32","5458.49","6215.75","6792.51","7196.12","7407.85","7498.82","7564.17","8144.21","8638.54","9170.54","9494.99","9690.89","9482.82","9823.19","10620.98","10822.2","11167.47","11420.64","12287.88","12809.27","13041.3","13626.76","14442.49","15304.9","16036.47","16602.54","16935.57","17681.37","18324.6","18255.08","18992.14","19415.07","19842.47","20126.43","20372.21","20194.33","19900.97","20247.92","20861.01","21393.33","22007.79","22345.03","23032.6","23982.73","24902.12","25383.24","25713.88","25958.69","26648.08","27423.96","28344.59","29491.94","30566.5","31895.29","33000.17","33482.67","33406.92","33454.56","34181.87","34724","35845.52","36535.43","37069.42","36074.53" -"Poland","Europe & Central Asia","lifeExpectancy","35.9","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","35.9","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","49.8","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","59.05","59.65","60.83","61.92","62.93","63.85","64.69","65.45","65.92","65.53","67.86","67.98","67.64","68.57","68.8","69.5","69.91","69.61","70.25","69.74","69.87","69.67","70.85","70.85","71.36","70.77","70.77","70.67","70.6","70.93","70.28","71.26","71.32","71.16","70.9","70.64","70.93","70.98","71.35","71.1","70.75","70.45","70.99","71.51","71.82","72.05","72.39","72.75","73.13","73.18","73.91","74.33","74.67","74.85","75.02","75.15","75.35","75.52","75.68","75.84" -"Poland","Europe & Central Asia","population","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","10426000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","13000000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","16865000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","22854000","-","-","-","-","-","-","-","-","-","24750000","-","-","-","-","-","-","-","-","-","26644000","-","-","26710000","-","-","-","-","-","-","23968000","24330000","24935000","25569000","25992000","26425000","26815000","27148000","27509000","27856000","28204000","28615000","29022000","29421000","29771000","30129000","30471000","30791000","31062000","31365000","30021000","-","-","-","-","-","23959000","23734000","23980000","24410000","24824000","25262265","25730551","26221264","26715134","27220668","27743876","28235346","28692576","29152334","29589842","29978949","30329617","30662122","30975520","31262358","31532016","31785378","32034813","32280848","32526000","32777810","33039545","33331131","33642890","33969240","34299428","34621254","34929072","35256645","35578016","35901961","36227381","36571418","36904134","37225792","37504275","37740710","37866840","37970155","38119408","38253222","38370697","38467746","38548296","38600642","38629842","38654957","38668756","38665539","38654164","38643641","38625976","38602853","38580445","38557984","38536869","38518241","38500696","-" -"Poland","Europe & Central Asia","income","1198.39","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","1290.47","1294.57","1298.67","1302.79","1306.92","1311.07","1315.22","1319.4","1323.58","1327.78","1331.99","1336.21","1340.45","1344.7","1348.97","1353.24","1357.54","1361.84","1366.16","1370.49","1374.84","1379.2","1383.57","1387.96","1392.36","1396.78","1401.21","1405.65","1410.11","1414.58","1419.07","1423.57","1428.09","1432.61","1437.16","1441.72","1446.29","1450.88","1455.48","1460.09","1464.72","1469.37","1474.03","1478.7","1483.39","1488.1","1492.82","1497.55","1502.3","1507.07","1511.84","1535.12","1558.75","1582.74","1607.11","1631.85","1656.97","1682.47","1708.37","1734.67","1761.37","1788.49","1816.02","1843.97","1872.36","1901.18","1930.45","1960.16","1990.34","2020.98","2052.09","2089.19","2126.96","2165.42","2204.57","2244.43","2285.01","2326.32","2368.38","2411.2","2454.79","2478.36","2502.15","2526.17","2550.42","2574.9","2599.62","2624.58","2649.77","2675.21","2700.89","2726.76","2752.88","2779.24","2813.64","2848.47","2883.73","2919.43","2955.56","2992.15","3029.19","3066.68","3104.64","3143.07","3181.98","3221.37","3261.24","3301.61","3342.48","3383.85","3187.21","2914.14","2649.16","2540.64","2546.64","2551.83","2596.46","3061.3","3487.75","3750.1","3174.55","2892.29","2543.47","2391.53","1536.58","1588.31","2706.91","3132.14","3477.09","3741.25","3910.56","4011.8","4029.33","4183.46","4338.68","4464.95","4576.69","4734.25","4885.49","4948.3","5137.59","5475.68","5338.75","5597.46","5788.41","6052.03","6378.94","6557.15","6900.04","6778.28","7076.39","7522.54","8006.51","8533.52","8950.74","9281.98","9421.88","9508.14","9766.19","9496.48","9173.32","8606.55","8451.53","8786.11","9030.45","9046.3","9263.85","9082.35","9252.06","9083.71","8172.11","7572.21","7738.88","8007.93","8414.16","8986.89","9518.9","10159.58","10716.13","11208.8","11680.79","11825.87","12002.24","12472.53","13146.01","13573","14427.4","15414.7","16185.04","16465.8" -"Spain","Europe & Central Asia","lifeExpectancy","29.5","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","29.5","-","-","-","-","-","-","-","-","-","32.1","-","-","-","-","-","-","-","34.8","-","-","-","-","-","-","-","41.45","41.06","40.92","39.8","43.53","42.56","42.84","43.05","43.98","42.63","30.29","41.12","39.31","42.03","44.21","44.75","46.3","46.95","47.76","48.49","48.67","49.49","49.34","49.25","51.2","51.6","52.24","52.72","50.9","47.22","47.53","47.09","48.39","47.16","52.48","54.85","56.25","57.84","57.57","59.33","61.27","61.02","61.87","61.52","64.94","65.81","67.01","66.78","66.82","66.66","68.85","68.77","69.27","69.66","69.69","69.85","70.58","70.99","71.25","71.44","71.73","71.26","72.24","71.85","73.06","72.84","73.22","73.55","73.87","74.39","74.58","75.12","75.6","75.74","76.3","76.08","76.46","76.42","76.67","76.9","76.91","76.98","76.99","77.12","77.57","77.7","78.05","78.12","78.26","78.77","78.85","78.86","79.34","79.69","79.78","79.72","80.28","80.28","80.94","80.75","80.94","81.11" -"Spain","Europe & Central Asia","population","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","12203000","12284000","12366000","12449000","12532000","12615000","12699000","12784000","12869000","12955000","13041000","13128000","13216000","13304000","13392000","13482000","13571000","13662000","13753000","13845000","13937000","14030000","14123000","14217000","14312000","14407000","14503000","14600000","14697000","14795000","14894000","14974000","15055000","15136000","15217000","15299000","15381000","15455000","15526000","15584000","15642000","15699000","15754000","15809000","15864000","15920000","15976000","16032000","16088000","16144000","16201000","16258000","16315000","16372000","16429000","16487000","16545000","16603000","16677000","16768000","16859000","16951000","17043000","17136000","17230000","17323000","17418000","17513000","17600000","17678000","17757000","17836000","17916000","17996000","18076000","18157000","18238000","18320000","18402000","18484000","18566000","18659000","18788000","18919000","19050000","19133000","19316000","19450000","19585000","19721000","19858000","19994000","20128000","20263000","20398000","20535000","20673000","20811000","20950000","21091000","21232000","21411000","21628000","21847000","22069000","22292000","22518000","22747000","22977000","23210000","23445000","23675000","23897000","24122000","24349000","24579000","24810000","25043000","25279000","25517000","25757000","25979000","26182000","26387000","26594000","26802000","27012000","27223000","27437000","27651000","28062963","28298010","28549870","28804128","29060413","29318745","29579142","29841614","30106188","30372877","30641187","30903894","31158061","31429834","31740862","32084511","32451975","32850275","33239301","33566084","33876479","34195056","34513161","34836716","35184287","35563535","35996780","36439000","36861034","37200014","37488360","37750800","37983310","38184166","38362861","38534853","38707556","38880702","39053881","39214523","39350769","39461418","39549438","39627587","39690971","39749715","39803829","39855442","39906235","39953263","40016081","40087104","40152517","40217413","40280780","40341462","40397842","40448191","40491051","-" -"Spain","Europe & Central Asia","income","1443.02","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","1510.35","1513.78","1517.21","1520.65","1524.09","1527.55","1531.01","1534.48","1537.96","1541.44","1544.93","1548.44","1551.94","1555.46","1558.99","1562.52","1566.06","1569.61","1573.17","1576.73","1580.31","1583.89","1587.48","1591.07","1594.68","1598.29","1601.92","1605.55","1609.18","1612.83","1616.49","1632.37","1697.44","1702.12","1723.99","1801.43","1743.21","1695.79","1727.9","1798.2","1852.46","1870.46","1876.68","1913.85","1908.72","1843.65","1933.43","1922.37","1722.31","1770.45","1808.9","1945.24","2207.57","2394.12","2186.23","2242.35","2276.7","2500.26","2424.55","2278.23","2466.65","2516.2","2535.07","2578.06","2571.04","2489.16","2422.5","2375.82","2459.86","2443.33","2433.81","2478.14","2652.1","2547.88","2564.95","2531.14","2319.09","2426.09","2601.44","2631.41","2676.85","2848.79","2747","2740.65","2712.76","2663.39","2774.32","2841.88","2932.93","2963.39","2839.94","3022.91","2980.16","3080.48","3017.63","3046.46","3166.83","3107.16","3064.66","3063.21","3262.65","3315.45","3422.14","3431.6","3493.17","3672.26","3621.9","3896.12","3872.19","4104.43","3926.82","3789.68","3835.49","3725.35","3830.02","3870.45","2980.4","2709.06","2682.76","2869.22","3117.62","3041.43","3186.35","3278.25","3403.92","3149.32","3265.09","3293.12","3275.47","3229.14","3280.32","3576.32","3834.03","3787.81","4039.52","4163.5","4462.54","4564.8","4720.21","4571.3","4603.07","5149.13","5693.84","6221.1","6765.93","7136.52","7582.37","7993.51","8374.24","9039.41","9469.63","9918.21","10638.75","11481.02","12212.46","12507.48","12886.57","13236.92","13521.55","13589.12","13790.56","13765.39","13926.17","14203.11","14342.73","14568.71","14982.65","15764.98","16553.14","17355.75","18064.92","18472.91","18603.06","18374.87","18782.73","19272.14","19709.87","20445.3","21333.94","22286.36","23410.16","24221.8","24835.47","25564.29","26357.05","27270","27898.65","28427.37","28159.21","26811.93" -"Sweden","Europe & Central Asia","lifeExpectancy","32.16","36.9","40.2","40.28","39.7","41.05","36.17","38.76","30.15","26.9","31.99","34.58","35.07","36.49","38.57","40.42","41.74","40.29","40.02","36.97","40.23","38.14","42.76","45.19","44.97","45.24","43.08","42.64","37.74","36.18","40.97","38.98","40.84","42.5","38.53","47.14","45.13","39.57","39.98","39.88","43.98","45.17","42.8","42.82","44.03","45.99","42.04","40.12","45.13","44.5","44.69","43.62","41.35","39.99","44.55","43.08","42.14","34.64","42","44.27","48.47","47.12","42.55","45.38","44.77","45.4","44.73","46.18","43.23","40.96","45.01","48.98","50.08","48.68","44.28","44.61","44.82","46.05","46.73","48.92","47.62","48.5","48.59","49.05","49.17","48.94","50.6","51.46","52.35","52.3","50.48","51.09","50.61","51.36","52.1","54.16","53.49","54.14","54.69","50.95","52.27","52.92","54.76","55.09","55.4","54.55","56.7","56.98","56.42","58.42","57.8","58.03","57.79","58.68","58.26","57.2","58.22","58.9","49.81","56.57","58.81","61.03","61.05","63","62","62.56","62.79","61.59","62.27","62.32","63.19","62.69","63.95","64.83","64.98","64.86","64.61","64.63","65.57","66.4","66.74","67.03","68.97","68.72","67.74","68.34","69.51","69.47","70.73","70.8","71.14","71.37","71.86","71.9","72.36","72.6","72.66","72.49","73.14","73.37","73.04","73.5","73.37","73.56","73.73","73.88","74.13","74.16","74.03","74.15","74.7","74.62","74.72","74.88","74.99","75","75.01","75.44","75.53","75.57","75.8","76.1","76.42","76.66","76.92","76.78","77.04","77.19","77.08","77.74","77.67","77.81","78.16","78.24","78.86","78.94","79.15","79.39","79.53","79.61","79.84","79.93","80.04","80.33","80.67","80.75","80.95","81.08","80.97","81.12" -"Sweden","Europe & Central Asia","population","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","2585000","2611000","2646000","2689000","2727000","2771000","2805000","2828000","2847000","2863000","2888000","2901000","2923000","2959000","2983000","3025000","3059000","3076000","3090000","3106000","3139000","3173000","3207000","3237000","3275000","3317000","3343000","3362000","3397000","3441000","3483000","3517000","3540000","3563000","3608000","3641000","3673000","3688000","3734000","3788000","3860000","3917000","3966000","4023000","4070000","4114000","4161000","4196000","4173000","4159000","4169000","4186000","4227000","4274000","4320000","4362000","4407000","4457000","4508000","4555000","4572000","4569000","4576000","4591000","4624000","4664000","4700000","4726000","4742000","4761000","4780000","4794000","4805000","4816000","4849000","4896000","4941000","4986000","5036000","5080000","5117000","5156000","5187000","5210000","5241000","5278000","5316000","5357000","5404000","5453000","5449000","5542000","5583000","5621000","5659000","5696000","5735000","5779000","5807000","5830000","5876000","5929000","5971000","5997000","6021000","6045000","6064000","6081000","6097000","6113000","6131000","6152000","6176000","6201000","6222000","6242000","6259000","6276000","6298000","6326000","6356000","6389000","6432000","6491000","6560000","6636000","6719000","6803000","6884000","6956000","7014005","7072830","7124673","7171461","7213490","7262388","7314552","7363802","7409144","7446249","7480395","7519998","7561588","7604328","7661354","7733853","7807797","7867931","7912217","7968018","8042803","8098328","8122293","8136774","8160560","8192566","8222310","8251648","8275778","8293723","8310473","8320485","8325260","8329028","8342621","8356337","8384069","8421403","8469339","8526276","8600815","8668112","8718867","8769284","8831493","8877890","8892234","8897619","8902684","8909790","8923569","8939915","8954175","8970306","8986400","9001774","9016596","9031088","9045389","-" -"Sweden","Europe & Central Asia","income","1100","1105","1159","1141","1081","1140","1152","1117","1035","1037","1131","1209","1136","1168","1192","1216","1217","1176","1170","1157","1173","1196","1209","1211","1230","1253","1230","1204","1221","1231","1214","1246","1214","1259","1273","1276","1311","1293","1270","1295","1306","1296","1232","1271","1334","1341","1306","1343","1355","1388","1423","1412","1393","1410","1434","1537","1554","1596","1576","1631","1652","1597","1574","1642","1636","1674","1636","1672","1517","1621","1866","1921","1985","2043","2105","2016","2160","2107","1992","2084","2064","2100","2015","2193","2143","2167","2178","2090","2160","2176","2224","2346","2309","2377","2386","2498","2554","2675","2788","2903","2897","2930","2916","3097","3133","3100","3330","3588","3423","3474","3563","3667","3838","3994","4097","4185","4468","4154","3988","4111","4217","3854","4206","4352","4628","4639","4858","5046","5167","5457","5517","5416","5132","5329","5685","5976","6207","6359","6483","7001","6742","6729","6648","6851","7033","7196","7905","8415","8496","8643","9073","9255","9223","9518","9947","10143","10407","10640","10944","11384","11952","12476","13138","13733","14703","15287","15782","16140","16732","17523","18303","18205","18723","19399","19745","20049","20036","19652","20000","20715","21179","21266","21382","21910","22839","23321","23615","24223","24572","24941","25295","25001","24343","23670","24141","24724","24959","25567","26445","27572","28659","28866","29472","29941","31074","31995","33200","33800","33634","32021" -"Switzerland","Europe & Central Asia","lifeExpectancy","38","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","38","40.1","40.01","40.47","41.81","42.41","41.87","42.98","44.94","45","43.83","44.68","45.44","45.97","45.14","44.95","44.71","47.23","46.07","45.79","46.84","48.88","49.1","48.2","49.29","47.48","48.94","50.41","50.03","49.16","49.67","50.72","51.19","52.26","51.61","52.91","51.72","54.42","54.21","55.13","55.95","56.59","55.81","46.3","54.97","54.38","57.87","58.5","60.04","59.49","59.95","60.64","60.1","60.47","60.17","61.43","61.24","61.23","62.41","62.89","62.13","63.18","63.51","63.85","64.01","63.58","64.98","65.65","65.84","64.88","65.42","66.07","66.26","67.34","67.97","68.94","68.71","69.62","69.53","70","70.08","70.21","70.56","71.3","71.46","71.44","71.76","71.32","71.31","72.2","72.33","72.47","72.77","72.72","72.73","73.14","73.26","73.78","74.08","74.43","74.82","74.94","75.39","75.34","75.64","75.64","75.87","76.21","76.22","76.82","76.94","77.11","77.41","77.43","77.62","77.44","77.72","78.02","78.31","78.6","78.68","79.17","79.37","79.62","79.88","79.99","80.41","80.62","80.72","81.28","81.45","81.75","81.94","81.9","82.06" -"Switzerland","Europe & Central Asia","population","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","1986000","1998000","2008000","2020000","2031000","2042000","2054000","2065000","2077000","2088000","2100000","2112000","2123000","2135000","2147000","2159000","2171000","2183000","2195000","2208000","2220000","2235000","2251000","2266000","2282000","2298000","2314000","2330000","2346000","2363000","2379000","2399000","2406000","2412000","2427000","2442000","2457000","2471000","2484000","2497000","2510000","2524000","2538000","2552000","2566000","2579000","2593000","2607000","2623000","2639000","2655000","2680000","2697000","2715000","2733000","2750000","2768000","2786000","2803000","2821000","2839000","2853000","2863000","2874000","2885000","2896000","2907000","2918000","2929000","2940000","2951000","2965000","3002000","3040000","3077000","3114000","3151000","3188000","3226000","3263000","3300000","3341000","3384000","3428000","3472000","3461000","3560000","3604000","3647000","3691000","3735000","3776000","3819000","3864000","3897000","3883000","3883000","3888000","3880000","3869000","3877000","3876000","3874000","3883000","3896000","3910000","3932000","3956000","3988000","4022000","4051000","4080000","4102000","4122000","4140000","4155000","4168000","4180000","4192000","4206000","4226000","4254000","4286000","4323000","4364000","4412000","4467000","4524000","4582000","4640000","4694000","4749000","4815000","4878000","4929000","4980000","5045000","5126000","5199000","5259000","5362000","5512000","5666000","5789000","5887000","5943000","5996000","6063000","6132000","6212000","6267000","6343293","6401400","6441100","6460000","6403500","6333313","6316424","6332568","6350840","6385229","6425450","6468126","6501073","6529684","6563770","6603192","6649942","6704112","6763653","6836626","6920562","6995447","7058211","7114530","7157106","7181024","7193761","7207995","7232809","7266920","7311237","7361757","7408319","7450867","7489370","7523934","7554661","7581520","-" -"Switzerland","Europe & Central Asia","income","1612.48","1615.2","1617.94","1620.67","1623.42","1626.16","1628.91","1631.67","1634.43","1637.19","1639.96","1642.74","1645.52","1648.3","1651.09","1653.88","1656.68","1659.48","1662.29","1665.1","1667.92","1685.32","1702.91","1720.68","1738.64","1756.78","1775.11","1793.63","1812.35","1831.26","1850.37","1869.68","1889.19","1908.9","1928.82","1948.95","1969.29","1989.84","2010.6","2031.58","2052.78","2074.21","2095.85","2117.72","2139.82","2162.15","2184.71","2207.51","2230.54","2253.82","2277.34","2317.03","2456.55","2365.44","2089.19","2426.6","2409.29","2600.59","3263.3","3085.16","2669.3","2843.62","3043.76","3025.86","2848.95","3074.86","3029.94","2649.21","3110.78","3383.55","3216.2","3404.86","3224.55","3293.34","3666.89","4047.59","3929.51","3523.54","3567.13","3534.6","3748.24","3795.81","3671.4","3666.4","4065.55","4368.15","4522.68","4485.18","4574.38","4561.95","4867.95","4569.92","4906.55","5039.99","4864.53","5336.39","5410.17","5622.86","5656.7","5867.33","5864.6","5729.43","5787.75","5603.22","5827.02","5987","6434.66","6414.69","6239.63","6486.51","6626.79","6697.87","6690.97","6526.72","6476.75","6563.87","6543.2","5820.1","5811.42","6211.34","6600.64","6438.49","7065.58","7457.2","7709.48","8243.02","8607.39","9014.16","9441.41","9687.66","9556.05","9092.53","8736.36","9128.37","9106.96","9037.66","9039.73","9442.14","9776.07","9731.54","9786.93","9657.3","9343.95","9182.31","9315.64","11860.83","12516.48","13847.18","13947.1","13397.73","13867.61","14816.9","14734.23","15055.83","15739.4","16626.49","17501.93","17909.49","17284.27","18161.49","19059.01","20041.22","20431.09","20977.27","21712.09","22190.77","22533.04","22966.14","23522.13","24527.55","25862.82","26593.27","27195.11","27851.76","28174.33","26353.03","26270.87","26982.29","27023.44","27617.12","28732.37","29003.27","28397.72","28396.89","29128.19","29967.6","30273.42","30281.7","30971.59","32031.33","32875.78","32207.74","31871.53","31515.65","31599.62","31530.77","31589.72","32135.32","33039.5","33349.65","34386.9","34569.38","34480.96","34183.28","34864.09","35520","36745.13","38007.34","38623.13","38003.92" -"Turkey","Europe & Central Asia","lifeExpectancy","35","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","35","-","-","-","-","-","-","35.43","-","-","-","-","31.34","-","-","-","-","38.1","-","-","41.73","42.2","43.12","44.05","44.97","45.89","46.81","47.71","48.6","49.45","50.26","51.02","51.7","52.3","52.84","53.32","53.77","54.22","54.67","55.15","55.66","56.2","56.75","57.29","57.83","58.34","58.81","59.24","59.63","59.98","60.3","60.6","60.91","61.23","61.59","61.98","62.43","62.93","63.46","64.03","64.63","65.24","65.85","66.45","67.03","67.59","68.11","68.62","69.1","69.55","69.97","70.34","70.67","70.95","71.19","71.4","71.57","71.74","71.9","72.06" -"Turkey","Europe & Central Asia","population","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","10074000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","11793000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","15000000","-","-","-","-","-","-","-","-","-","13877000","13968000","14059000","14151000","14250000","14476000","14705000","14928000","15174000","15414000","15658000","15906000","16158000","16434000","16725000","17016000","17517000","17821000","18011000","18203000","18396000","18592000","18790000","19235000","19690000","20156000","20634000","21121639","21669334","22235677","22830516","23463817","24144571","24877395","25670939","26505694","27355811","28217122","29029976","29788695","30509221","31227361","31950718","32677758","33411317","34164759","34952315","35758382","36579964","37492953","38503442","39512945","40529798","41485146","42404033","43316697","44222576","45120802","46222187","47328791","48440170","49554400","50669003","51780211","52881328","53966237","55031033","56084632","57135435","58179144","59212510","60220670","61188984","62127894","63047647","63945635","64819580","65666677","66493970","67308928","68109469","68893918","69660559","70413958","71158647","71892807","-" -"Turkey","Europe & Central Asia","income","869.92","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","901.21","905.71","910.24","914.79","919.36","923.95","928.56","933.2","937.86","942.55","947.26","951.99","956.75","961.52","966.33","971.16","976.01","980.88","985.78","990.71","995.66","1000.63","1005.63","1010.65","1015.7","1020.77","1025.87","1031","1036.15","1041.32","1046.53","1051.75","1057.01","1062.29","1067.59","1072.93","1078.29","1083.67","1089.09","1094.53","1100","1105.49","1111.01","1116.56","1122.14","1127.75","1133.38","1139.04","1144.73","1150.45","1156.2","1166.61","1177.11","1165.78","1154.56","1143.44","1132.44","1121.53","1110.74","1100.04","1109.95","1124.38","1139","1153.81","1168.81","1184.01","1199.41","1215","1230.8","1246.8","1263.01","1279.44","1296.07","1312.92","1329.99","1347.29","1364.81","1382.55","1400.53","1418.74","1437.19","1455.87","1474.8","1493.98","1513.4","1533.08","1553.01","1573.21","1593.66","1614.38","1635.38","1656.64","1678.18","1700","1606.12","1517.42","1433.62","1354.45","1279.65","1208.98","1142.22","1079.14","1019.54","963.24","1140.49","1257.11","1444.64","1299.53","1412.59","1606.65","1648.38","1712.44","1578.24","1751.5","1757.67","1759.11","2050.89","2075.18","2211.33","2318.35","2133.46","1913.46","1968.48","1761.75","1662.85","1418.05","1783.28","1833.7","2026.87","1873.5","1994.79","2185.5","2376.31","2563.65","2414.81","2527.02","2523.46","2630.53","2654.56","2680.81","2666.17","2625.62","2705.56","2880.23","2919.57","2918.4","3175.94","3234.14","3363.34","3449.46","3524.41","3744.17","3879.15","3938.36","4137.58","4381","4636.35","4714.84","4730.4","4577.55","4436.96","4502.89","4601.84","4645.47","4784.95","4901.1","5113.39","5424.52","5502.7","5438.47","5807.69","5733.32","5946.29","6290.02","5826.6","6125","6432.18","6791.42","6877","6442.52","6803.29","6192.75","6577.7","6856.14","7357.12","7786","8294.63","8585.97","8547.69","8040.78" -"United Kingdom","Europe & Central Asia","lifeExpectancy","40.02","-","-","40.02","-","-","-","-","40.58","-","-","-","-","41.25","-","-","-","-","40.84","-","-","-","-","40.47","-","-","-","-","41.43","-","-","-","-","40.89","-","-","-","-","40.56","-","-","41.7","41.35","41.86","41.55","42.56","39.96","38.33","39.5","37.38","42.8","41.42","40.93","40.56","39.34","41.03","43.25","41.88","40.04","40.84","43.01","42.38","42.52","40.4","39.97","40.65","40.41","42.62","42","41.67","40.95","41.31","42.9","43.78","42.13","41.85","43.69","44.7","43.01","44.27","43.78","46.11","44.87","45.09","44.79","45.76","45.33","45.65","46.81","46.34","44.75","44.29","45.51","44.87","48.34","45.73","47.41","47.23","46.98","46.13","46.32","47.91","49.08","50.43","49.11","50.86","50.58","51.44","51.84","52.52","53.99","51.54","54.55","53.83","51.99","48.2","47.73","45.57","40.43","54.12","56.6","58.35","57.13","59.4","58.17","58.51","59.66","59.04","59.99","57.71","60.89","60.11","60.63","60.67","61.4","62.05","61.85","61.88","63.3","63.69","60.97","61.37","63.99","64.01","64.85","65.85","66.47","66.44","68.5","68.19","68.7","68.3","69.6","69.87","70.24","70.21","70.48","70.6","70.78","70.88","71.1","70.85","70.92","70.83","71.62","71.61","71.53","72.16","71.79","71.75","72","72.32","72.1","72.31","72.51","72.78","72.76","73.25","73.18","73.29","73.72","74.06","74.19","74.44","74.83","74.68","74.95","75.3","75.41","75.55","75.89","76.06","76.46","76.32","76.88","76.78","77.05","77.31","77.45","77.56","78.04","78.31","78.43","78.52","79.1","79.3","79.53","79.34","79.5","79.64" -"United Kingdom","Europe & Central Asia","population","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","16186397","16427955","16661282","16897898","17139513","17381418","17629610","17858803","18093284","18329053","18569823","18811881","19028016","19246151","19468285","19691420","19918844","20136267","20354979","20578690","20804402","21027114","21284460","21504941","21751903","21994095","22231076","22279863","22246880","22266109","22287069","22310067","22567009","22837200","23117738","23417123","23728007","23974430","24230353","24488987","24746160","25009641","25291179","25561448","25828236","26107967","26385197","26667813","26955755","27249851","27544197","27844139","28050928","28385947","28730581","29082812","29444523","29814831","30173677","30557062","30920888","31273446","31576465","31875253","32184118","32500733","32822214","33142079","33464925","33793233","34127982","34472021","34836751","35211963","35593770","35976405","36367212","36763751","37166289","37569674","37975154","38373808","38737346","39102443","39474558","39850962","40231673","40614789","41003923","41398500","41795923","42150769","42318019","42556673","42965211","43296057","43473615","43573615","43529634","43437404","43718000","44072000","44372000","44596000","44915000","45059000","45232000","45389000","45578000","45672000","45866000","46074000","46335000","46520000","46666000","46868000","47081000","47289000","47494000","47991000","48226000","48216000","48400000","48789000","49016000","49182000","49217000","49519000","50014000","50312000","50127000","50290000","50430000","50593000","50765000","50946000","51184000","51430000","51652000","51956000","52372000","52807000","53292000","53625000","53991000","54350000","54643000","54959000","55214000","55461000","55632000","55907000","56079000","56210000","56224000","56215000","56206000","56179000","56167000","56228000","56314000","56382597","56339704","56382623","56462228","56620240","56796260","56981620","57159603","57324472","57493307","57665646","57866349","58026920","58212518","58426014","58618663","58808266","59035652","59293320","59522468","59723243","59912431","60094648","60270708","60441457","60609153","60776238","60943912","-" -"United Kingdom","Europe & Central Asia","income","2716.87","2736.98","2740.53","2744.1","2747.66","2751.24","2754.81","2758.39","2761.98","2765.57","2769.16","2772.76","2776.37","2779.98","2783.59","2787.21","2790.83","2794.46","2798.1","2801.73","2805.38","2809.02","2812.67","2816.33","2819.99","2823.66","2827.33","2831","2834.68","2838.37","2842.06","2931.7","2862.16","2851.91","2926.94","3041.81","3111.03","3028.56","3150.67","3255.28","3119.72","3013.78","2908.86","2924.4","3060.08","3181.7","3351.5","3382.2","3460.12","3541.79","3523.8","3692.63","3723.87","3822.77","3879.19","3818.21","4039.63","4065.93","4029.36","4084.87","4128.82","4192.26","4171.61","4157.38","4221.29","4300.03","4316.17","4222.72","4304.55","4280.86","4490.23","4689.29","4671.41","4735.49","4766.1","4832.56","4827.62","4820.64","4788.69","4718.33","4893.99","5022.22","5127.23","5127.61","5097.13","5029.61","5066.69","5225.9","5417.24","5663.07","5641.99","5594.67","5413.33","5363.26","5670.28","5795.27","5979.45","6000.48","6231.6","6427.55","6321.8","6263.51","6368.9","6248.33","6231.91","6362.14","6517.81","6584.65","6261.81","6348.13","6489.23","6627.33","6701.7","6925.2","6933.69","7442.73","7578","7629.56","7683.46","6854.63","6400.75","6247.68","6526.04","6698.84","6925.75","7240.38","6947.11","7480.27","7539.42","7745.39","7657.49","7231.83","7245.67","7427.52","7892.03","8161.54","8493.92","8750.7","8819.43","8813.73","9649.17","10529.74","10750.98","10898.52","10422.38","9930.83","9493.42","9295.07","9493.84","9789.47","9766.5","10025.45","9979.51","10338.51","10723.3","11073.65","11158.95","11283.18","11211.11","11596.73","12167.33","12464.91","12477.18","12876.6","13465.99","13724.35","13912.63","14142.85","14651.01","14850.49","15154.18","15399.08","15895.12","16924.43","16690.27","16673.64","17050.63","17428.75","18053.95","18531.69","18199.83","17940.78","18232.42","18865.5","19309.67","19935.24","20747.69","21664.79","22673.28","23100.74","23123.53","22739.73","22705.09","23170.28","24118.67","24716.01","25328.77","26074.53","26773.33","27467.51","28644.71","28978.41","29479","30204.15","31097.52","31580","32293.8","32909.5","32875.34","31042.47" -"Australia","East Asia & Pacific","lifeExpectancy","34.05","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","34.05","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","61.04","62.89","61.73","62.53","63.22","62.94","62.91","62.96","63.15","64.96","65.39","65.69","65.52","64.88","65.15","65.27","65.83","65.87","65.82","66.26","66.14","65.88","66.4","68.03","68.46","67.98","68.59","68.51","69.13","69.02","68.72","69.12","69.7","69.85","70.17","70.05","70.33","70.88","70.45","70.89","71.16","70.93","70.99","70.65","70.98","70.82","71.1","70.73","71.14","70.81","71.41","71.93","72.14","71.89","72.84","72.88","73.49","73.88","74.44","74.6","74.96","74.74","75.55","76.02","75.45","76.13","76.32","76.35","76.45","77.05","77.54","77.54","78.07","78.07","78.45","78.53","78.79","79.28","79.53","79.93","80.27","80.29","80.69","81.04","81.44","81.63","81.67","81.57","81.71" -"Australia","East Asia & Pacific","population","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","334000","331000","329000","329000","332000","333000","330000","328000","326000","326000","330000","333000","338000","349000","354000","358000","367000","373000","388000","403000","420000","448000","465000","472000","482000","494000","505000","518000","538000","576000","605000","636000","710000","795000","887000","983000","1065000","1156000","1235000","1279000","1326000","1346000","1382000","1432000","1495000","1558000","1609000","1647000","1700000","1750000","1775000","1675000","1722000","1769000","1822000","1874000","1929000","1995000","2062000","2127000","2197000","2269000","2348000","2447000","2556000","2650000","2741000","2835000","2932000","3022000","3107000","3196000","3274000","3334000","3395000","3460000","3523000","3586000","3642000","3691000","3741000","3795000","3850000","3896000","3946000","4004000","4062000","4127000","4197000","4278000","4375000","4500000","4661000","4821000","4933000","4971000","4955000","4950000","5032000","5193000","5358000","5461000","5574000","5697000","5819000","5943000","6064000","6188000","6304000","6396000","6469000","6527000","6579000","6631000","6682000","6732000","6783000","6841000","6904000","6971000","7042000","7111000","7173000","7236000","7309000","7389000","7474000","7578000","7715000","7919000","8267337","8510600","8691212","8857924","9064017","9277087","9500606","9712569","9915267","10131729","10361273","10598814","10794968","11001483","11218304","11439384","11655083","11872264","12101660","12379384","12660160","12937200","13177000","13380400","13599100","13771400","13915500","14074100","14248600","14421900","14615900","14923260","15184200","15393500","15579400","15788300","16018350","16257249","16520206","16780235","17022133","17257526","17481977","17688687","17892557","18116171","18348078","18565243","18768789","18968247","19164620","19357594","19546792","19731984","19913144","20090437","20264082","20434176","20600856","-" -"Australia","East Asia & Pacific","income","671.48","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","701.03","707.39","728.14","752.83","794.94","833.2","848.98","874.78","896.76","946.58","1148.37","1186.8","1213.29","1217.71","1280.8","1550.03","1523.08","1596.55","1576.69","1470.98","1859.37","1586.06","1446.58","1677.46","1906.61","1961.67","2168.18","2508.31","2870.4","2836.11","2673.32","3172.92","3721.01","4073.94","3567.47","3385.66","4131.49","3645.86","3109.08","4013.76","3917.42","3858.21","3707.76","3695.5","3919.09","3738.03","3848.34","4207.41","4272.09","4187.16","4430.13","4464.33","4809.35","5175.05","5190.17","5600.81","5423.58","5462.6","5789.2","5691.19","5800.02","6029.34","5498.49","6057.02","5824.66","5985.27","5859.64","6268.79","6095.56","6424.58","6033.2","6315.77","5407.56","5018.36","5096.43","4719.83","4987.33","4628.72","5266.6","5196.68","5431.85","5195.5","5173.65","5516.93","5812.66","5795.39","6100.47","6248.06","6351.85","6740.94","7051.19","6907.66","6900.48","6979.44","6803.41","6627.25","6602.49","6484.48","6227.92","6382.25","6449.93","6646.5","6853.4","7027.1","7332.16","7515.77","7542.12","7503.19","7378.65","7123.12","6372.4","5892.35","6176.78","6553.91","6848.22","7197.03","7465.37","7776.39","7966.79","7911.61","8345.5","9187.46","10158.18","10425.32","9964.06","9361.6","8925.84","9019.86","9430.04","9794.56","10031.12","10160.74","10039.6","10157.91","10544.09","10864.62","10974.13","10949.65","11240.96","11678.07","11897.96","11711.5","12217.23","12722.22","13329.9","13739.93","13860.96","14526.12","15088.56","15647.11","16273.14","16633.13","16788.63","17429.72","17574.58","17824.57","18351.07","18334.2","18635.04","19380.64","19505.55","19841.88","19477.01","19214.56","20295.25","21040.49","21168.81","21888.89","22508.19","23133.98","23151.89","22893.86","23424.77","24053.1","24780.17","25518.72","26151.13","26997.94","28169.15","28983.27","29241.51","30043.24","30687.75","31634.24","32098.51","32798","33119","34084.07","34239.63","34327.26" -"China","East Asia & Pacific","lifeExpectancy","32","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","32","-","-","-","-","-","26","-","-","-","-","-","-","-","31","-","-","-","-","-","-","32","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","32","-","-","-","-","-","32","-","-","-","34","-","35","-","-","-","-","-","37","-","-","-","-","-","-","41","39.25","39.64","40.41","44.56","46.47","48.02","50.45","50.55","50.16","38.4","31.63","34.1","44.5","51.9","53.32","55.65","56.8","58.38","59.41","60.97","62.65","63.74","63.12","62.78","62.5","62.7","62.44","63.97","64.24","65.09","66.12","66.45","66.37","66.54","66.71","66.89","67.08","67.29","67.52","67.77","68.04","68.33","68.64","68.95","69.27","69.6","69.94","70.28","70.62","70.96","71.29","71.59","71.87","72.13","72.35","72.56","72.74","72.92","73.1","73.28" -"China","East Asia & Pacific","population","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","381000000","383711494","386442286","389192512","391962310","394751821","397561184","400390540","403240033","406109805","409000000","409299014","409598247","409897699","410197370","410497259","410797368","411097697","411398245","411699012","412000000","412000000","412000000","412000000","412000000","412000000","412000000","412000000","412000000","412000000","412000000","408358528","404749241","401171855","397626087","394111659","390628294","387175716","383753654","380361838","377000000","375055482","373120994","371196483","369281899","367377190","365482306","363597195","361721807","359856092","358000000","358988000","359978000","360971000","361967000","362966000","363967000","364971000","365978000","366988000","368000000","369183000","370369000","371560000","372754000","373952000","375154000","376359000","377569000","378783000","380000000","381979000","383969000","385969000","387979000","390000000","391980000","393970000","395970000","397980000","400000000","402243000","404498000","406766000","409047000","411340000","413646000","415965000","418297000","420642000","423000000","427662000","432375000","437140000","441958000","446829000","451753000","456732000","461766000","466855000","472000000","473673000","475352000","477037000","478728000","480425000","482128000","483837000","485552000","487273000","489000000","492640000","496307000","500000000","502639000","505292000","507959000","510640000","513336000","516046000","518770000","521508000","524261000","527028000","529810000","532607000","535418000","538244000","541085000","543941000","546815000","557480000","568910000","581390000","595310000","608655000","621465000","637408000","653235000","666005000","667070000","660330000","665770000","682335000","698355000","715185000","735400000","754550000","774510000","796025000","818315000","841105000","862030000","881940000","900350000","916395000","930685000","943455000","956165000","969005000","981235000","993861000","1000281000","1023288000","1036825000","1051040000","1066790000","1084035000","1101630000","1118650000","1135185000","1150780000","1164970000","1178440000","1191835000","1204855000","1217550000","1230075000","1241935000","1252735000","1262645000","1271850000","1280400000","1288400000","1295733978","1303182268","1310823807","1318683096","1326856173","-" -"China","East Asia & Pacific","income","985.89","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","863.05","859.02","855.01","851.02","847.04","843.09","839.15","835.23","831.33","827.45","823.59","819.74","815.92","812.11","808.32","804.54","800.78","797.05","793.32","789.62","785.93","782.26","778.61","774.98","771.36","767.76","764.17","760.6","757.05","753.52","750","675.4","608.22","547.72","493.24","444.18","400","420.8","442.67","465.69","489.9","515.37","542.16","570.35","600","626.77","654.74","683.95","714.47","746.35","779.65","780.42","781.18","781.94","782.71","783.47","784.24","785.01","785.78","786.55","787.32","788.09","788.86","789.63","790.4","791.18","791.95","792.73","793.5","794.28","795.06","795.78","796.5","797.22","797.94","798.66","799.38","800.11","800.83","801.56","802.28","803.06","803.84","804.62","805.4","806.18","806.96","807.74","808.53","809.31","810.09","810.88","811.66","812.45","823.4","834.5","845.75","857.15","868.7","880.41","892.28","904.31","916.5","928.85","941.37","954.06","966.92","979.96","993.16","1006.55","1015.72","1018.48","1043.08","1035.38","940.18","1010.72","1068.93","1037.42","1006.21","930.68","860.82","796.21","736.44","681.16","630.03","582.74","539","498.54","461.12","426.5","394.49","432.35","473.38","486.2","490.39","507.64","542.5","560","607.89","604.38","583.02","486.83","484.67","519.76","567.77","617.76","657.14","622.45","594.27","627.78","685.35","699.98","702.94","738.22","735.36","767.09","750.79","786.85","861.1","915.22","934.27","977.54","1044.34","1107.46","1229.08","1337.64","1406.19","1529.5","1611.38","1615.03","1647.38","1732.13","1877.41","2035.59","2214.2","2521.34","2546.44","2653.3","2635.55","2784.39","3012.12","3309.8","3695.65","4228.98","4551.13","4909.2","5450.12","6127.78","6679.2","7226.07" -"Indonesia","East Asia & Pacific","lifeExpectancy","30","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","30","-","-","-","-","32.5","-","-","-","-","35","-","-","-","-","27.5","-","-","-","-","27.5","-","-","36.5","36.74","37.23","37.72","38.2","38.68","39.16","39.64","40.13","40.63","41.15","41.69","42.27","42.88","43.53","44.2","44.89","45.58","46.26","46.93","47.59","48.25","48.91","49.58","50.27","50.96","51.65","52.35","53.04","53.73","54.44","55.16","55.92","56.7","57.49","58.29","59.05","59.76","60.42","61.01","61.56","62.09","62.63","63.19","63.79","64.42","65.06","65.69","66.3","66.87","67.41","67.91","68.39","68.84","69.28","69.7","70.1","70.47","70.83","71.17" -"Indonesia","East Asia & Pacific","population","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","17927000","18075923","18226083","18377490","18530155","18684088","18839300","18995801","19153603","19312715","19473149","19634916","19798026","19962492","20128324","20295533","20464132","20634131","20805542","20978378","21152649","21328367","21505546","21684196","21864330","22045961","22229101","22413762","22599957","22787699","22977000","23242887","23511851","23783928","24059152","24337562","24619194","24904084","25192271","25483793","25778689","26076997","26378757","26684009","26992793","27305150","27621122","27940751","28264078","28591147","28922000","29463000","30060000","30555000","30962000","31197000","31394000","31740000","32035000","32293000","32876000","33213000","33394000","33816000","34162000","34790000","35402000","35898000","36345000","36662000","37579000","37792000","38288000","38263000","38782000","39476000","39936000","40620000","41316000","42025000","42746000","43275000","43810000","44352000","44901000","45457000","45993000","46535000","47085000","47642000","48206000","48778000","49358000","49934000","50517000","51108000","51705000","52083000","52334000","53027000","53723000","54367000","55020000","55683000","56354000","57036000","57727000","58429000","59140000","59863000","60596000","61496000","62400000","63314000","64246000","65192000","66154000","67136000","68131000","69145000","70175000","71316000","72475000","73314000","73565000","73332000","74132000","75146000","76289000","77654000","79043000","80525000","82052000","83611000","85196000","86807000","88456000","90124000","91821000","93565000","95254000","97085000","99028000","101009000","103031000","105093000","107197000","109343000","111532000","113765000","116044000","118368000","121282000","124271000","127201000","130297000","133297000","136725000","140062000","143485000","146995000","150134000","153343000","156623000","159975000","163403000","166312000","169276000","172294000","175369000","178500000","181628000","184816000","188066000","191378000","194755000","197003000","199278000","201580000","203909000","206265000","208648000","211060000","214497000","215967000","218465000","220991000","223547000","226134000","-" -"Indonesia","East Asia & Pacific","income","514.12","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","518.73","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","539.86","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","554.8","547.26","540.26","545.43","552.01","556.52","567.79","568.92","556.43","562.78","561.02","589.05","567.29","554.72","594.98","594.45","584.96","585.6","580.55","574.95","554.2","563.86","580.08","591.63","593.51","588.5","586.03","586.17","581.95","604.2","615.87","600.79","583.07","608.33","609.52","610.21","619.6","627.93","621.19","643.39","673.94","697.39","700.78","723.93","715.9","717.23","715.29","709.19","722.53","779.14","748.45","741.55","752.97","758.93","788.01","793.81","829.87","870.85","891.62","903.85","904.26","823.28","808.18","801.5","804.93","830.79","881.13","936.18","949.68","949.53","1017.53","1013.45","743.61","659.2","525.24","462.55","477.15","526.99","611.54","666.09","704.35","744.28","749.68","770.93","807.6","823.68","804.83","858.9","792.47","816.55","834.99","859.77","849.29","798.21","809.58","802.64","794.06","762.43","827.29","911.09","986.73","1023.36","1111.11","1244.57","1262.42","1229.41","1314.63","1382.7","1418.14","1455.9","1549.1","1608.11","1516.87","1533.45","1609.27","1619.87","1690.43","1748.36","1821.98","1955.78","2097.7","2176.65","2383.14","2519.34","2674.28","2851.72","3026.82","3119.34","2656.41","2627.02","2714.94","2787.53","2873.91","2984.31","3095.79","3234","3367.56","3535.28","3699.54","3818.08" -"Japan","East Asia & Pacific","lifeExpectancy","36.4","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","36.43","-","-","-","-","36.59","-","-","-","-","36.8","-","-","-","-","37.04","-","-","-","-","37.33","-","-","-","-","37.68","-","-","-","-","38.1","-","-","-","-","38.6","-","-","-","-","39.22","-","-","-","-","39.97","-","-","-","-","40.9","-","-","-","-","42.04","-","42.62","-","-","-","-","45.66","-","-","-","-","-","-","-","48.24","-","49","-","-","49","-","48.5","46","40","30.54","46.5","51.75","56.89","57.76","59.3","60.99","63.03","63.37","64.61","65.77","65.63","65.5","67.12","67.51","67.8","68.45","68.73","69.81","70.28","70.33","71.14","71.43","71.75","71.98","72.07","72.89","73.42","73.48","73.91","74.41","74.81","75.38","75.7","76.21","76.19","76.6","77.11","77.14","77.54","77.84","78.26","78.67","78.58","79.01","79.04","79.31","79.36","79.5","79.91","79.76","80.46","80.69","80.77","80.75","81.35","81.7","82","82.07","82.36","82.27","82.68","82.87","82.81","82.98" -"Japan","East Asia & Pacific","population","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","31000000","31032824","31065683","31098577","31131506","31164470","31197468","31230502","31263570","31296674","31329812","31362986","31396194","31429438","31462717","31496031","31529381","31562766","31596186","31629642","31663133","31696659","31730221","31763819","31797452","31831121","31864825","31898565","31932341","31966153","32000000","32117649","32235730","32354246","32473197","32592585","32712413","32832681","32953391","33074545","33196144","33318191","33440686","33563632","33687029","33810880","33935187","34059950","34185173","34310855","34437000","34648000","34859000","35070000","35235000","35436000","35713000","36018000","36315000","36557000","36807000","37112000","37414000","37766000","38138000","38427000","38622000","38866000","39251000","39688000","40077000","40380000","40684000","41001000","41350000","41775000","42196000","42643000","43145000","43626000","44103000","44662000","45255000","45841000","46378000","46829000","47227000","47691000","48260000","48869000","49518000","50215000","50941000","51672000","52396000","53124000","53815000","54437000","54886000","55253000","55818000","56490000","57209000","57937000","58686000","59522000","60490000","61430000","62361000","63244000","64203000","65205000","66189000","67182000","68090000","69238000","70171000","71278000","71879000","72364000","72967000","74005000","75029000","76005000","77178000","76224000","77199000","78119000","80155000","81971000","83805000","85163848","86459025","87655163","88753892","89815060","90766211","91563009","92388772","93296566","94091638","94943293","95831757","96811940","97826267","98882534","99790308","100825279","101960672","103171831","104344973","105696786","107188273","108706797","110162302","111573116","112774841","113872473","114912911","115890431","116807309","117648092","118454974","119269949","120034697","120754335","121491913","122091325","122613000","123107500","123537399","123946268","124329269","124668019","125014050","125341354","125645311","125956499","126246096","126494403","126699784","126891645","127065841","127214499","127333002","127417244","127463611","127467972","127425722","-" -"Japan","East Asia & Pacific","income","1055.06","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","1083.6","1084.14","1084.69","1085.23","1085.77","1086.32","1086.86","1087.4","1087.95","1088.49","1089.04","1089.58","1090.13","1090.68","1091.22","1091.77","1092.32","1092.86","1093.41","1093.96","1094.51","1095.05","1095.6","1096.15","1096.7","1097.25","1097.8","1098.35","1098.9","1099.45","1100","1102.43","1104.86","1107.3","1109.74","1112.19","1114.64","1117.1","1119.56","1122.03","1124.51","1126.99","1129.47","1131.97","1134.46","1136.96","1139.47","1141.99","1144.51","1147.03","1149.56","1154.57","1158.58","1164.13","1169.9","1250.55","1209.18","1234.7","1218.67","1280.18","1320.54","1265.97","1286.22","1273.17","1268.45","1303.03","1385.7","1436","1355.03","1402.18","1518.44","1432.42","1513.78","1504.42","1666.92","1669.75","1559.25","1572.31","1845.55","1686.05","1736.39","1772.67","1655.54","1745.65","1735.69","1686.69","1887.88","1924.86","1911.45","1881.91","1882.95","1954.06","1991.34","1991.28","1901.22","2045.23","2326.89","2372.82","2373.05","2593.96","2402.74","2629.72","2584.64","2549.04","2582.09","2645.71","2621.63","2614.09","2780.19","2821.34","2572.21","2549.2","2716.38","2933.51","2894.67","2919.61","3090.28","3187.62","3372.34","3877.35","3957.53","3955.34","3880.32","3885.01","3661.06","1853.44","1988.5","2121.68","2375.5","2478.13","2644.59","2926.69","3216.96","3406.85","3554.9","3814.97","4058.84","4317.69","4528.39","4893.31","5488.81","6094.42","6576.65","7061.48","7803.68","8170.01","8957.28","9847.79","10992","12218.48","13374.86","13824.24","14778.79","15742.88","15344.57","15618.93","16066.67","16610.38","17327.76","18123.89","18488.26","18938.11","19384.11","19698.72","20339.95","21109.16","21588.49","22375.94","23661.04","24704.53","25870.14","26648.77","26824.9","26818.24","27037.83","27509.08","28385.16","28816.58","27904.68","27809.6","28559.6","28569.05","28604.59","29073.61","29742.05","30290","30909.15","31636.71","31275.13","29680.68" -"Korea, Dem. Rep.","East Asia & Pacific","lifeExpectancy","26","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","26","-","-","-","-","23.51","-","-","-","-","24.98","-","-","-","-","26.98","-","-","-","-","29.53","-","-","-","-","33.61","-","-","-","-","37.39","-","-","-","-","42.57","-","-","-","44.89","-","-","-","-","-","-","-","48.04","48.58","49.63","50.6","51.49","52.31","53.05","53.72","54.34","54.9","55.43","55.94","56.46","56.99","57.57","58.19","58.88","59.61","60.38","61.17","61.98","62.78","63.58","64.34","65.07","65.74","66.35","66.9","67.4","67.85","68.27","68.66","69.04","69.4","69.75","70.07","70.35","70.57","70.71","70.77","70.73","70.56","70.29","69.92","69.49","69.01","68.51","68.03","67.6","67.24","66.96","66.78","66.69","66.67","66.72","66.82","66.97","67.14","67.33","67.53" -"Korea, Dem. Rep.","East Asia & Pacific","population","4345000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","4345000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","4511000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","4897000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","9471140","9162410","8865488","8579873","8571805","8839427","9115740","9411381","9727435","10054154","10391909","10651332","10917494","11209506","11527887","11868751","12231860","12617009","13024159","13454771","13911902","14364579","14781241","15160867","15501464","15801308","16069433","16325320","16579905","16840290","17113626","17384008","17647518","17917990","18196000","18481420","18772457","19067554","19371141","19687910","20018546","20361086","20711375","21064115","21339904","21561856","21648743","21585105","21454900","21444989","21647682","21940326","22215365","22466481","22697553","22912177","23113019","23301725","23479089","-" -"Korea, Dem. Rep.","East Asia & Pacific","income","698","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","698","698","698","698","699","699","699","699","699","699","699","699","699","699","699","700","700","700","700","700","700","700","700","700","700","701","701","701","701","701","701","701","701","701","701","701","702","702","702","702","702","702","702","702","702","702","702","703","703","703","703","706","708","711","714","716","719","722","725","727","730","733","736","739","741","744","747","750","753","756","758","761","764","767","770","773","776","779","782","785","788","791","794","797","800","803","806","809","812","815","819","822","847","870","900","1042","1008","1104","1177","1240","1067","1137","1033","1093","1087","1074","1102","1136","1130","1058","990","983","973","1164","1149","1239","1340","1466","1529","1368","1531","1539","1517","1527","1448","674","682","719","773","830","870","727","777","1004","1059","1109","1097","1158","1193","1209","1200","1229","1234","1313","1396","1452","1597","1684","1866","2115","2262","2938","3002","3332","3373","3373","3373","3373","3373","3373","3373","3373","3373","3373","3373","3373","3373","3373","3373","3373","3373","3373","3061","3018","2300","2000","1809","1691","1693","1706","1690","1667","1647","1628","1612","1597","1572","1531","1582","1635" -"Philippines","East Asia & Pacific","lifeExpectancy","30.9","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","30.9","12.7","30.9","-","-","-","-","-","-","-","-","-","-","-","-","-","30.9","25.6","30.9","-","-","-","-","-","-","-","-","-","-","30.9","-","-","-","-","-","-","-","40","-","-","42","41.9","42","41.9","40.5","41","-","-","-","46.36","46.71","47.41","48.12","48.84","49.58","50.32","51.07","51.81","52.54","53.23","53.87","54.45","54.95","55.38","55.74","56.06","56.35","56.64","56.93","57.24","57.58","57.94","58.31","58.69","59.08","59.49","59.9","60.31","60.72","61.13","61.54","61.95","62.36","62.77","63.19","63.62","64.06","64.51","64.96","65.43","65.88","66.34","66.78","67.2","67.61","68","68.39","68.77","69.14","69.49","69.84","70.17","70.48","70.78","71.07","71.34","71.6","71.85","72.1" -"Philippines","East Asia & Pacific","population","2176000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","2176000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","3612000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","5063000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","6476000","-","-","-","-","-","-","-","-","-","7324000","7465000","7609000","7755000","7904000","8056000","8211000","8369000","8530000","8694000","8861000","9032000","9206000","9384000","9565000","9749000","9937000","10128000","10323000","10522000","10725000","10932000","11143000","11358000","11577000","11800000","12026000","12305000","12543000","12890000","13194000","13507000","13829000","14158000","14497000","14843000","15199000","15563000","15934000","16275000","16585000","16902000","17169000","17552000","17887000","18228000","18775000","19338000","19918000","20516000","21131264","21775167","22438691","23122432","23827009","24553055","25301226","26072194","26866654","27685324","28528939","29410457","30325264","31273198","32254350","33267569","34304274","35356600","36424438","37506719","38603696","39718094","40850141","41998117","43162098","44336842","45574350","46850962","48171780","49537371","50940182","52195262","53456774","54697515","55963794","57288037","58648857","60017788","61384736","62814469","64318120","65788832","67185766","68610958","70111842","71717437","73386057","75012988","76576177","78133918","79739825","81369751","82995088","84619974","86241697","87857473","89468677","91077287","92681453","-" -"Philippines","East Asia & Pacific","income","626.97","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","626.97","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","669.73","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","722.13","862.59","728.86","760.94","775.46","801.87","831.78","831.4","938.44","979.62","978.25","1060.58","1021.54","939.39","1076.52","1231.94","1380.03","1301.39","1383.74","1326.03","1456.87","1341.59","1436.65","1420.6","1463.7","1466.19","1494","1516.23","1483.09","1460","1489.42","1468.54","1447.15","1317.45","1463.72","1532.46","1545.88","1619.02","1617.56","-","-","-","-","-","693.54","939.28","1065.52","1099.86","1148.81","1235.02","1272.88","1345.68","1404.09","1457.13","1513.28","1547.94","1554.15","1610.86","1584.52","1623.38","1649.55","1712.47","1717.62","1753.01","1775.28","1814.13","1848.05","1878.29","1893.6","1940.38","1989.37","2107.62","2123.74","2182.52","2310.26","2373.2","2427.5","2493.71","2549.91","2573.77","2603.27","2592.63","2348.4","2126.48","2148.12","2189.63","2285.43","2372","2386.91","2319.94","2279.32","2279.47","2328.83","2383.69","2464.68","2536.53","2469.84","2502.92","2598.89","2591.32","2650.92","2727.42","2847.41","2932","3027.82","3178.78","3236.92","3203.97" -"Taiwan","East Asia & Pacific","lifeExpectancy","28.3","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","28.3","29.5","30.9","31.8","33.9","33.9","34","33.3","31.9","28.5","30","31.4","26.1","31.2","27.6","30","36.6","35.3","37.1","34.2","37","39.6","40.3","40.9","41.5","41.2","41.3","42","42.6","42.8","42","42.5","43.7","43.6","43.8","-","-","-","-","-","-","-","-","-","54.6","55.1","58.5","60.3","62","62.4","62.5","62.4","64.2","64.2","64.4","64.9","65.2","66","66.7","67.4","67.4","67.5","67.6","68.6","68.69","69.1","69.39","69.45","69.81","70.07","70.43","70.59","71.16","71.31","71.54","71.65","72.16","72.15","72.81","72.99","73.12","73.39","73.21","73.52","73.8","74.27","74.25","74.53","74.7","74.51","74.69","75.21","75.4","75.51","76.07","76.45","76.93","77.13","77.25","77.25","77.99","78.16","78.36","78.6" -"Taiwan","East Asia & Pacific","population","2000000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","2000000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","2200000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","2345000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","2500000","-","-","-","-","-","-","-","-","-","2864000","2903000","2942000","2982000","3022000","3085000","3140000","3172000","3200000","3232000","3275000","3334000","3402000","3469000","3528000","3562000","3583000","3621000","3658000","3692000","3736000","3797000","3870000","3940000","4009000","4095000","4195000","4289000","4388000","4493000","4614000","4742000","4867000","4995000","5128000","5255000","5384000","5530000","5678000","5821000","5987000","6163000","6339000","6507000","6520000","6533000","6546000","6346000","6697000","7280000","7981454","8251326","8550362","8849962","9159966","9485858","9825346","10164215","10500314","10852996","11209160","11563348","11918938","12276610","12631480","12977635","13321002","13648692","13962358","14282297","14598316","14918496","15226039","15525588","15824103","16122188","16450056","16785196","17111535","17450136","17848320","18177430","18501390","18803390","19083348","19337363","19555581","19757799","19976096","20207541","20278957","20492997","20686918","20883467","21087873","21282829","21448723","21628605","21823024","21993460","22151237","22303700","22454239","22603000","22749838","22894384","23036087","23174294","23308370","-" -"Taiwan","East Asia & Pacific","income","871","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","871","874","877","880","883","886","889","892","895","897","900","903","906","909","912","915","918","921","924","927","930","933","936","940","943","946","949","952","955","958","961","964","974","1151","1099","905","938","1066","1080","1218","1277","1131","1144","1177","1161","1176","1267","1400","1364","1356","1378","1442","1551","1611","1689","1753","1783","1732","1720","1807","1827","1821","1830","1783","1799","1944","1982","1931","1949","1849","1722","1598","1624","1456","1220","647","680","851","1052","1172","1304","1359","1468","1550","1638","1708","1737","1801","1859","1932","1984","2048","2137","2265","2465","2664","2821","3043","3244","3453","3757","4141","4590","5072","5025","5160","5754","6207","6909","7328","7672","7980","8086","8594","9353","9662","10624","11815","12588","13457","14123","14990","15965","16852","17866","18791","19754","20813","21493","22478","23525","22768","23495","24056","25332","26069","27359","28892","29004","28361" -"Thailand","East Asia & Pacific","lifeExpectancy","30.4","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","30.4","-","-","-","-","-","-","40.3","-","40.3","-","38.3","-","38.3","38.1","-","-","41.8","49.9","-","51","51.14","51.44","51.75","52.09","52.44","52.81","53.21","53.62","54.04","54.48","54.93","55.39","55.86","56.34","56.82","57.31","57.81","58.33","58.85","59.39","59.93","60.48","61.04","61.6","62.2","62.85","63.56","64.32","65.12","65.93","66.71","67.44","68.07","68.59","68.97","69.22","69.33","69.35","69.28","69.15","68.98","68.79","68.6","68.44","68.3","68.21","68.14","68.1","68.08","68.09","68.12","68.17","68.23","68.32","68.42","68.55","68.7","68.88","69.08" -"Thailand","East Asia & Pacific","population","4665000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","4665000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","5230000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","5775000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","6670000","-","-","-","-","-","-","-","-","-","7320000","7413000","7507000","7602000","7699000","7797000","7896000","7996000","8098000","8201000","8305000","8431000","8559000","8689000","8822000","8957000","9094000","9232000","9418000","9608000","9802000","10000000","10202000","10435000","10673000","10916000","11165000","11419000","11734000","12058000","12392000","12735000","13087000","13399000","13718000","14045000","14379000","14721000","14980000","15244000","15513000","15787000","16060000","16462000","16868000","17284000","17710000","18148000","18569000","19000000","20041628","20653334","21289402","21964158","22684974","23451316","24244475","25041917","25845443","26667243","27512750","28376096","29263397","30173764","31106615","32061978","33035794","34024249","35028438","36049959","37090871","38201901","39276153","40302225","41305651","42272000","43221022","44148285","45056957","46003776","47025764","47936504","48827160","49694245","50533778","51341809","52129476","52910342","53683427","54445689","55196722","55930062","56667095","57400686","58128738","58855798","59559308","60216677","60846042","61394684","61862928","62334375","62806748","63271021","63731437","64185502","64631595","65068149","65493298","-" -"Thailand","East Asia & Pacific","income","496.98","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","496.98","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","530.09","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","683.55","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","732.93","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","691.86","-","-","-","-","-","-","-","-","720.58","-","-","-","-","-","-","-","-","-","-","-","712.4","740.14","757.8","815.46","783.36","823.98","810.62","793.58","796.7","865.04","940.12","958.99","1002.2","1050.68","1088.71","1140.35","1231.34","1295.46","1361.45","1426.51","1477.26","1503.77","1524.36","1633.64","1665.36","1707.84","1823.5","1961.22","2111.47","2176.35","2227.1","2313.84","2393.22","2482.77","2581.97","2659.44","2764.2","2982.65","3330.33","3684","4039.67","4327.9","4616.9","4940.01","5317.17","5734.62","6001.24","5852.63","5183.91","5366.1","5578.4","5656.2","5913.19","6273.01","6620.03","6869","7203.68","7505.99","7623.6","7376.17" -"Vietnam","East Asia & Pacific","lifeExpectancy","32","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","32","-","-","-","-","-","33","-","-","-","-","-","-","-","-","-","-","-","-","-","39.42","39.67","40.17","40.66","41.16","41.65","42.15","42.64","43.13","43.63","44.13","44.62","45.12","45.61","46.11","46.6","47.06","47.49","47.91","48.34","48.82","49.4","50.11","50.95","51.92","52.96","54.01","55.02","55.93","56.74","57.45","58.09","58.71","59.35","60.04","60.8","61.63","62.53","63.47","64.44","65.41","66.35","67.24","68.05","68.79","69.45","70.04","70.59","71.11","71.61","72.08","72.51","72.91","73.26","73.56","73.83","74.07","74.29","74.5","74.7" -"Vietnam","East Asia & Pacific","population","6551000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","6551000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","10528000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","19339000","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","25348144","25793577","26246839","26724094","27210027","27738063","28327287","28998543","29775192","30682902","31656282","32701357","33796140","34932464","36099052","37258369","38378468","39463910","40511528","41542068","42576676","43614366","44655014","45736496","46902295","48075207","49273016","50533506","51662728","52668447","53715202","54902677","56142181","57436347","58762040","60093068","61439826","62826491","64211347","65868481","67282704","68639527","69940728","71243961","72538927","73772337","74941175","76048996","77092383","78089676","79060410","79999453","80908147","81790803","82662800","83535576","84402966","85262356","86116559","-" -"Vietnam","East Asia & Pacific","income","459.71","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","459.71","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","440.8","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","634.17","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","-","573.94","589.87","605.07","621.19","638.49","654.19","665.99","676.29","684.6","690.41","696.95","708.2","772.05","769.51","780.9","764.66","749.36","637.12","609.88","644.57","641.06","657.68","699.5","729.17","683.26","619.17","705.88","713.54","702.65","693.39","660.36","668.83","707.24","729.51","777.06","805.22","809.93","820.8","851.42","868.8","893.88","927.11","989.02","1049.36","1121.67","1208.14","1300.38","1385.9","1445.95","1495.63","1577.53","1666.51","1764.46","1872.13","1996.87","2142","2289.34","2453.8","2574.44","2679.34" diff --git a/bubble-chart/main.css b/bubble-chart/main.css deleted file mode 100644 index a93fab3..0000000 --- a/bubble-chart/main.css +++ /dev/null @@ -1,53 +0,0 @@ -.chart { - display: block; - margin: auto; -} - -text { - font-size: 11px; -} - -rect { - fill: none; -} - - - - -#chart { - margin-left: -40px; - height: 506px; -} - -text { - font: 10px sans-serif; -} - -.dot { - stroke: #000; -} - -.axis path, .axis line { - fill: none; - stroke: #000; - shape-rendering: crispEdges; -} - -.label { - fill: #777; -} - -.year.label { - font: 500 196px "Helvetica Neue"; - fill: #ddd; -} - -.year.label.active { - fill: #aaa; -} - -.overlay { - fill: none; - pointer-events: all; - cursor: ew-resize; -} diff --git a/bubble-chart/main.js b/bubble-chart/main.js deleted file mode 100644 index 994faad..0000000 --- a/bubble-chart/main.js +++ /dev/null @@ -1,187 +0,0 @@ -//# require=d3 -function update(data) { - show(data.toList()); -} - -function show(data) { - d3.select(root).selectAll('*').remove(); - -// Various accessors that specify the four dimensions of data to visualize. -function x(d) { return d.income; } -function y(d) { return d.lifeExpectancy; } -function radius(d) { return d.population; } -function color(d) { return d.region; } -function key(d) { return d.name; } -// Chart dimensions. -var margin = {top: 19.5, right: 19.5, bottom: 19.5, left: 29.5}, - width = root.clientWidth - margin.left - margin.right, - height = root.clientHeight - margin.top - margin.bottom; -// Various scales. These domains make assumptions of data, naturally. -var xScale = d3.scale.log().domain([300, 1e5]).range([0, width]), - yScale = d3.scale.linear().domain([10, 85]).range([height, 0]), - radiusScale = d3.scale.sqrt().domain([0, 5e8]).range([0, 40]), - colorScale = d3.scale.category10(); -// The x & y axes. -var xAxis = d3.svg.axis().orient("bottom").scale(xScale).ticks(12, d3.format(",d")), - yAxis = d3.svg.axis().scale(yScale).orient("left"); -// Create the SVG container and set the origin. -var svg = d3.select(root).append("svg") - .attr("width", width + margin.left + margin.right) - .attr("height", height + margin.top + margin.bottom) - .append("g") - .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); -// Add the x-axis. -svg.append("g") - .attr("class", "x axis") - .attr("transform", "translate(0," + height + ")") - .call(xAxis); -// Add the y-axis. -svg.append("g") - .attr("class", "y axis") - .call(yAxis); -// Add an x-axis label. -svg.append("text") - .attr("class", "x label") - .attr("text-anchor", "end") - .attr("x", width) - .attr("y", height - 6) - .text("income per capita, inflation-adjusted (dollars)"); -// Add a y-axis label. -svg.append("text") - .attr("class", "y label") - .attr("text-anchor", "end") - .attr("y", 6) - .attr("dy", ".75em") - .attr("transform", "rotate(-90)") - .text("life expectancy (years)"); -// Add the year label; the value is set on transition. -var label = svg.append("text") - .attr("class", "year label") - .attr("text-anchor", "end") - .attr("y", height - 24) - .attr("x", width) - .text(1800); - -// Load the data. -//d3.json("nations.json", function(nations) { - var nations = []; - var names = d3.set(data.map(function(d){return d.name;})).values(); - var types = d3.set(data.map(function(d){return d.type;})).values(); - names.forEach(function(nation) - { - var tmp = data.filter(function(d){return d.name === nation;}); - var obj = {name: nation, region: tmp[0].region}; - types.forEach(function(type) - { - var row = tmp.filter(function(d){return d.type === type;})[0]; - var years = d3.keys(row).filter(function(d){return d!=='type' && d!=='name' && d!=='region';}); - var coords = []; - years.forEach(function(year) - { - if (row[year] !== '-') - { - coords.push([+year, +row[year]]); - } - }); - obj[type] = coords; - }); - nations.push(obj); - }); - // A bisector since many nation's data is sparsely-defined. - var bisect = d3.bisector(function(d) { return d[0]; }); - // Add a dot per nation. Initialize the data at 1800, and set the colors. - var dot = svg.append("g") - .attr("class", "dots") - .selectAll(".dot") - .data(interpolateData(1800)) - .enter().append("circle") - .attr("class", "dot") - .style("fill", function(d) { return colorScale(color(d)); }) - .call(position) - .sort(order); - // Add a title. - dot.append("title") - .text(function(d) { return d.name; }); - // Add an overlay for the year label. - var box = label.node().getBBox(); - var overlay = svg.append("rect") - .attr("class", "overlay") - .attr("x", box.x) - .attr("y", box.y) - .attr("width", box.width) - .attr("height", box.height) - .on("mouseover", enableInteraction); - // Start a transition that interpolates the data based on year. - svg.transition() - .duration(30000) - .ease("linear") - .tween("year", tweenYear) - .each("end", enableInteraction); - // Positions the dots based on data. - function position(dot) { - dot .attr("cx", function(d) { return xScale(x(d)); }) - .attr("cy", function(d) { return yScale(y(d)); }) - .attr("r", function(d) { return radiusScale(radius(d)); }); - } - // Defines a sort order so that the smallest dots are drawn on top. - function order(a, b) { - return radius(b) - radius(a); - } - // After the transition finishes, you can mouseover to change the year. - function enableInteraction() { - var yearScale = d3.scale.linear() - .domain([1800, 2009]) - .range([box.x + 10, box.x + box.width - 10]) - .clamp(true); - // Cancel the current transition, if any. - svg.transition().duration(0); - overlay - .on("mouseover", mouseover) - .on("mouseout", mouseout) - .on("mousemove", mousemove) - .on("touchmove", mousemove); - function mouseover() { - label.classed("active", true); - } - function mouseout() { - label.classed("active", false); - } - function mousemove() { - displayYear(yearScale.invert(d3.mouse(this)[0])); - } - } - // Tweens the entire chart by first tweening the year, and then the data. - // For the interpolated data, the dots and label are redrawn. - function tweenYear() { - var year = d3.interpolateNumber(1800, 2009); - return function(t) { displayYear(year(t)); }; - } - // Updates the display to show the specified year. - function displayYear(year) { - dot.data(interpolateData(year), key).call(position).sort(order); - label.text(Math.round(year)); - } - // Interpolates the dataset for the given (fractional) year. - function interpolateData(year) { - return nations.map(function(d) { - return { - name: d.name, - region: d.region, - income: interpolateValues(d.income, year), - population: interpolateValues(d.population, year), - lifeExpectancy: interpolateValues(d.lifeExpectancy, year) - }; - }); - } - // Finds (and possibly interpolates) the value for the specified year. - function interpolateValues(values, year) { - var i = bisect.left(values, year, 0, values.length - 1), - a = values[i]; - if (i > 0) { - var b = values[i - 1], - t = (year - a[0]) / (b[0] - a[0]); - return a[1] * (1 - t) + b[1] * t; - } - return a[1]; - } -} diff --git a/bubble-chart/thumbnail.png b/bubble-chart/thumbnail.png deleted file mode 100644 index d5f84a9..0000000 Binary files a/bubble-chart/thumbnail.png and /dev/null differ diff --git a/bubblechart/README.md b/bubblechart/README.md deleted file mode 100644 index 383f3ff..0000000 --- a/bubblechart/README.md +++ /dev/null @@ -1,10 +0,0 @@ -Bubble Chart -==== - -Bubble Chart - -## Data Format - -| Data Label1 | Data Label2 | Data Label3 |Data Label4 | -|-------------|-------------|-------------|------------| -| Data | Data | Data |Data | diff --git a/bubblechart/data.csv b/bubblechart/data.csv deleted file mode 100644 index 7d83cc9..0000000 --- a/bubblechart/data.csv +++ /dev/null @@ -1,32 +0,0 @@ -date,temperature,sunshine_duration,wind_speed -2014/12/1,12.7,0,0.5 -2014/12/2,8.8,8.5,1.8 -2014/12/3,5.6,8.6,1.4 -2014/12/4,5.5,0,0.7 -2014/12/5,4.4,8.5,0.9 -2014/12/6,1.3,8.7,0.8 -2014/12/7,2.1,7.7,0.7 -2014/12/8,2.9,8.2,0.7 -2014/12/9,4.5,7.5,1.3 -2014/12/10,2.5,6,0.7 -2014/12/11,6.1,0.9,0.7 -2014/12/12,5.2,0.4,0.5 -2014/12/13,3,7.9,1.2 -2014/12/14,0.2,8.5,0.9 -2014/12/15,0.6,8,1.2 -2014/12/16,2.4,0,0.9 -2014/12/17,4.2,7.6,2.4 -2014/12/18,2.3,8.5,2 -2014/12/19,1,8.5,1.1 -2014/12/20,4.7,0,0.5 -2014/12/21,5.4,4,0.8 -2014/12/22,4.3,8.5,1.4 -2014/12/23,2.4,8.5,1 -2014/12/24,1,3.3,0.6 -2014/12/25,3.5,7.7,1.5 -2014/12/26,1.6,8.3,1.3 -2014/12/27,-0.3,8.2,0.9 -2014/12/28,0.4,7.6,0.6 -2014/12/29,3.5,0,0.6 -2014/12/30,2.9,8.2,0.8 -2014/12/31,4,8.5,0.9 diff --git a/bubblechart/main.css b/bubblechart/main.css deleted file mode 100644 index 6352810..0000000 --- a/bubblechart/main.css +++ /dev/null @@ -1,14 +0,0 @@ -.axis text { - font: 10px sans-serif; -} - -.axis path, -.axis line { - fill: none; - stroke: #000; - shape-rendering: crispEdges; -} - -.x.axis path { - display: none; -} diff --git a/bubblechart/main.js b/bubblechart/main.js deleted file mode 100644 index ab3a21a..0000000 --- a/bubblechart/main.js +++ /dev/null @@ -1,124 +0,0 @@ -//# require=d3 -var xMetrics = 'sunshine_duration'; -var yMetrics = 'wind_speed'; -var zMetrics = 'temperature'; - -var margin = { top: 20, right: 30, bottom: 30, left: 40 }; -var width = root.clientWidth - margin.left - margin.right; -var height = root.clientHeight - margin.top - margin.bottom; - -var x = d3.scale.linear() - .rangeRound([0, width]); - -var y = d3.scale.linear() - .rangeRound([height, 0]); - -var color = d3.scale.category10(); - -var xAxis = d3.svg.axis() - .scale(x) - .orient('bottom'); - -var yAxis = d3.svg.axis() - .scale(y) - .orient('left') - -var chart = d3.select(root).append('svg') - .attr('width', root.clientWidth) - .attr('height', root.clientHeight) - .append('g') - .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')'); - -function update(data) { - var list = data.toList(); - var header = list.header; - xMetrics = header[3]; - yMetrics = header[2]; - zMetrics = header[1]; - var key = header[4]; - - x.domain([ - d3.min(list, function (d) { - return d[xMetrics]; - }), - d3.max(list, function (d) { - return d[xMetrics]; - }) - ]); - - y.domain([ - d3.min(list.values(yMetrics)), - d3.max(list.values(yMetrics)) - ]); - - zSizeMin = d3.min(list.values(zMetrics)); - zSizeMax = d3.max(list.values(zMetrics)); - - color.domain(list.map(function (d) { return d.name; })) - - var setup = function (selection) { - selection - .attr('class', 'bubble') - .attr('cx', function (d) { - return x(d[xMetrics]); - }) - .attr('cy', function (d) { - return y(d[yMetrics]); - }) - .style('fill', function (d) { return color(d.name); }) - .attr('r', 0) - .transition() - .duration(1000) - .delay(function(d, i) { - return i * 20; - }) - .ease('bounce') - .attr('r', function (d) { - return 30 * ((d[zMetrics] - zSizeMin) / zSizeMax) + 'px'; - }); - } - - chart.selectAll('.axis').remove(); - - chart.append('g') - .attr('class', 'x axis') - .attr('transform', 'translate(0,' + height + ')') - .call(xAxis) - .append("text") - .attr("class", "label") - .attr("x", width) - .attr("y", -6) - .style("text-anchor", "end") - .text(xMetrics); - - console.log(key); - chart.append('g') - .attr('class', 'y axis') - .call(yAxis) - .append('text') - .attr('transform', 'rotate(-90)') - .attr('y', 6) - .attr('dy', '.71em') - .style('text-anchor', 'end') - .text(yMetrics); - - rect = chart.selectAll('.bubble').data(list); - - rect.transition().duration(500).call(setup); - - rect.enter().append('circle') - .on('mouseover', function (d) { - d3.select(this) - .transition() - .duration(500) - .style('fill', 'orange') - }) - .on('mouseout', function (d) { - d3.select(this) - .transition() - .duration(500) - .style('fill', function (d) { return color(d.name); }); - }).call(setup); - - rect.exit().remove(); -} diff --git a/bubblechart/thumbnail.png b/bubblechart/thumbnail.png deleted file mode 100644 index c03200f..0000000 Binary files a/bubblechart/thumbnail.png and /dev/null differ diff --git a/car-dot-bar-chart/README.md b/car-dot-bar-chart/README.md deleted file mode 100644 index 38f24e2..0000000 --- a/car-dot-bar-chart/README.md +++ /dev/null @@ -1 +0,0 @@ -Car Dot Bar Chart ==== 出典:一般財団法人 自動車検査登録情報協会 https://www.airia.or.jp/publish/statistics/number.html \ No newline at end of file diff --git a/car-dot-bar-chart/data.csv b/car-dot-bar-chart/data.csv deleted file mode 100644 index 7d788dc..0000000 --- a/car-dot-bar-chart/data.csv +++ /dev/null @@ -1,9 +0,0 @@ -"year","Aichi","Gihu","Mie","Fukui" -"2016","5,174,776","1,678,223","1,506,170","661,690" -"2011","4,959,294","1,649,384","1,462,885","643,130" -"2006","4,911,070","1,659,507","1,445,512","642,922" -"2001","4,681,239","1,562,819","1,361,606","615,679" -"1996","4,314,421","1,439,743","1,240,522","565,994" -"1991","3,731,475","1,236,807","1,053,580","487,121" -"1986","2,978,352","991,722","837,336","400,387" -"1981","2,432,277","793,912","661,765","321,856" diff --git a/car-dot-bar-chart/main.css b/car-dot-bar-chart/main.css deleted file mode 100644 index 0d41cc9..0000000 --- a/car-dot-bar-chart/main.css +++ /dev/null @@ -1,6 +0,0 @@ -svg { - font: 10px sans-serif; - padding: 10px; - display: block; - margin: auto; -} diff --git a/car-dot-bar-chart/main.js b/car-dot-bar-chart/main.js deleted file mode 100644 index b40de07..0000000 --- a/car-dot-bar-chart/main.js +++ /dev/null @@ -1,252 +0,0 @@ -//# require=d3 - -var dim = { width: root.clientWidth, height: root.clientHeight }; -var margin = { top: 30, bottom: 50, left: 50, right: 20 }; -var inputHeight = 20; -var numberFormat = d3.format('.0f'); -dim.graphWidth = dim.width - margin.left - margin.right; -dim.graphHeight = dim.height - margin.top - margin.bottom; - -var prev, next, trans; - -d3.select('body').on('keydown', function () { - if (d3.event.which === 39) { - next(); - } - if (d3.event.which === 37) { - prev(); - } -}); - -function update(data) { - d3.select(root).selectAll('*').remove(); - - var svg = d3.select(root).append('svg') - .attr({ width: dim.width, height: dim.height }) - .style({ padding: 0 }); - - var axisLayer = svg.append('g').attr('transform', 'translate(' + margin.left + ',' + margin.top + ')').attr("id","g-axis-layer"); - var graphLayer = svg.append('g').attr('transform', 'translate(' + margin.left + ',' + margin.top + ')').attr("id", "g-graph-layer"); - var inputLayer = svg.append('g').attr('transform', 'translate(0,' + (dim.height - inputHeight) + ')').attr("id", "g-input-layer"); - - var xScale = d3.scale.ordinal().rangeBands([0, dim.graphWidth], 0.05); - var xLocalScale = d3.scale.ordinal(); - var yScale = d3.scale.ordinal().rangePoints([dim.graphHeight, 0]); - var colorScale = d3.scale.category10(); - var inputScale = d3.scale.ordinal().rangeBands([0, dim.width - margin.right]); - - var xAxis = d3.svg.axis().orient('bottom').scale(xScale); - var yAxis = d3.svg.axis().orient('left').scale(yScale); - - var xAxisObj = axisLayer.append('g') - .attr('transform', 'translate(' + 0 + ',' + dim.graphHeight + ')') - .attr('class', 'axis') - .call(xAxis); - var yAxisObj = axisLayer.append('g') - .attr('transform', 'translate(' + 0 + ',' + 0 + ')') - .attr('class', 'axis') - .call(yAxis); - - axisLayer.selectAll('.axis text').style('font', '14px "Lucida Grande", Helvetica, Arial, sans-serif'); - axisLayer.selectAll('.axis path.domain').style({ fill: 'none', stroke: '#000000', 'shape-rendering': 'crispEdges' }); - axisLayer.selectAll('.axis line').style({ fill: 'none', stroke: '#000000', 'shape-rendering': 'crispEdges' }); - - var time = 0; - var radius = 3; - var mar = 0.6; - var barWidth = 16; - - var auto = true; - - var duration = 2000; - var delayMax = 1000; - - prev = function () { - trans(time - 1); - } - - next = function () { - trans(time + 1); - } - - var json = data.toMap({typed: true}); - - var displaydata = []; - var labels = json.keys; - var parties = json.header; - - var partDict = {}; - parties.forEach(function (d, i) { - partDict[d] = i; - }); - var sums = {}; - var data = {}; - - labels.forEach(function (label) { - var r = []; - parties.forEach(function (party) { - r.push(+json[label][party]); - }); - data[label] = r; - sums[label] = d3.sum(data[label]); - }); - - var max = d3.max(labels.map(function (d) { return d3.max(data[d]); })); - - var denominator = Math.ceil(max / 1000); - if (denominator != 1) - { - var legend = axisLayer.append('g') - .attr('class', 'legend') - .attr('transform', 'translate(-20,-10)'); - legend.append('circle') - .attr({r: radius, fill: '#888', stroke: 'none'}); - legend.append('text') - .attr({x: 5, y: 4, 'font-size': 12, 'font-family': '"Lucida Grande", Helvetica, Arial, sans-serif'}) - .text('=' + denominator); - - labels.forEach(function (label) { - var r = []; - parties.forEach(function (party) { - r.push(Math.ceil(+json[label][party]/denominator)); - }); - data[label] = r; - sums[label] = d3.sum(data[label]); - }); - - max = d3.max(labels.map(function (d) { return d3.max(data[d]); })); - } - else - { - axisLayer.select('g.legend').remove(); - } - - var nrow = Math.ceil(dim.graphHeight / (2 * (radius + mar))); - barWidth = Math.ceil(max / nrow); - yScale.domain(d3.range(nrow)); - yAxis.tickValues(d3.range(nrow).filter(function (d) { return d % 10 === 0; })); - yAxis.tickFormat(function (d) { return (d * barWidth)*denominator; }); - xScale.domain(parties.map(function (d, i) { return i; })); - xAxis.tickFormat(function (d) { return parties[d]; }); - xAxisObj.call(xAxis); - yAxisObj.call(yAxis); - xLocalScale.rangeBands([0, xScale.rangeBand()]).domain(d3.range(barWidth)); - colorScale.domain(d3.range(parties.length)); - - inputScale.domain(labels); - var currentButton = inputLayer.append('rect') - .attr('class', 'cursor') - .attr({ x: 0, y: 0, height: inputHeight, width: inputScale.rangeBand() }) - .style('stroke', '#FFF') - .style('stroke-width', 2) - .style('fill', '#000'); - var buttons = inputLayer.selectAll('.button').data(labels).enter().append('g').attr('class', 'button') - .attr('transform', function (d) { return 'translate(' + inputScale(d) + ',' + 0 + ')'; }) - .on('click', function () { - var s = d3.select(this); - trans(labels.indexOf(s.datum())); - }); - buttons.append('rect') - .attr({ x: 0, y: 0, height: inputHeight, width: inputScale.rangeBand() }) - .style('stroke', '#FFF') - .style('stroke-width', 2) - .style('fill', 'rgba(0,0,0,0.1)'); - buttons.append('text') - .text(function (d) { return d; }) - .attr('x', function (d) { return inputScale.rangeBand() / 2; }) - .attr('y', 16) - .style('fill', function (d, i) { return (i === 0) ? '#FFF' : '#000'; }) - .style('text-anchor', 'middle') - .style('font', (inputHeight - 4) + 'px "Lucida Grande", Helvetica, Arial, sans-serif'); - - var summax = d3.max(labels.map(function (d) { return sums[d]; })); - var displaydata = d3.range(summax).map(function (d) { return []; }); - var indexMargin = 0; - parties.forEach(function (party, partyidx) { - for (var i = 0; i < data[labels[0]][partyidx]; ++i) { - displaydata[indexMargin + i].push({ label: partyidx, idx: i }); - } - indexMargin += data[labels[0]][partyidx]; - }); - for (var i = indexMargin; i < summax; ++i) { - displaydata[i].push({ label: null, idx: null }); - } - - d3.range(1, labels.length).forEach(function (idx) { - var year = labels[idx]; - var lastyear = labels[idx - 1]; - var yearidx = idx; - var pool = []; - var unused = []; - var keep = []; - displaydata.forEach(function (d, i) { - var copy = { label: d[yearidx - 1].label, idx: d[yearidx - 1].idx }; - d.push(copy); - if (d[yearidx].label == null) { - unused.push(i); - } - else { - if (data[year][d[yearidx].label] <= d[yearidx].idx) { - pool.push(i); - } - else { - keep.push(i); - } - } - }); - - d3.shuffle(pool); - if (sums[year] - sums[lastyear] > 0) { - pool = pool.concat(unused.splice(0, sums[year] - sums[lastyear])); - d3.shuffle(pool); - } - else { - pool.splice(sums[year] - keep.length).forEach(function (d) { - displaydata[d][yearidx] = { label: null, idx: null }; - }); - pool = pool.splice(0, sums[year] - keep.length); - } - var poolmargin = 0; - - parties.forEach(function (party) { - if (data[year][partDict[party]] - data[lastyear][partDict[party]] > 0) { - for (var i = 0; i < (data[year][partDict[party]] - data[lastyear][partDict[party]]) ; ++i) { - if (pool[poolmargin + i]) displaydata[pool[poolmargin + i]][yearidx] = { label: partDict[party], idx: i + data[lastyear][partDict[party]] }; - - }; - poolmargin += data[year][partDict[party]] - data[lastyear][partDict[party]]; - } - }); - - }); - var votes = graphLayer.selectAll('.vote').data(displaydata).enter().append('circle') - .attr('class', 'vote') - .attr('r', radius) - .attr('cx', function (d) { return ((d[time].label != null) ? (xScale(d[time].label) + xLocalScale(d[time].idx % barWidth) + radius + mar) : (dim.graphWidth / 2)); }) - .attr('cy', function (d) { return ((d[time].label != null) ? (yScale(Math.floor((d[time].idx + 0.1) / barWidth)) - radius - mar) : 0); }) - .style('opacity', function (d) { return (d[time].label != null) ? 0.8 : 0.0; }) - .style('fill', function (d) { return colorScale(d[time].label); }); - - trans = function (to) { - if (to === time || to < 0 || to >= labels.length) { - return; - } - var current = time; - time = to; - yearTarget = labels[time]; - var votes = graphLayer.selectAll('.vote') - .filter(function (d) { return d[current].label != d[time].label || d[current].idx != d[time].idx; }) - .transition() - .duration(duration) - .delay(function (d) { return Math.random() * delayMax; }) - .attr('cx', function (d) { return ((d[time].label != null) ? (xScale(d[time].label) + xLocalScale(d[time].idx % barWidth) + radius + mar) : (dim.graphWidth / 2)); }) - .attr('cy', function (d) { return ((d[time].label != null) ? (yScale(Math.floor((d[time].idx + 0.1) / barWidth)) - radius - mar) : 0); }) - .style('opacity', function (d) { return (d[time].label != null) ? 0.8 : 0.0; }) - .style('fill', function (d) { return colorScale(d[time].label); }); - - inputLayer.select('.cursor').transition().duration(duration / 2) - .attr('x', function (d) { return inputScale(labels[time]); }); - inputLayer.selectAll('.button text').transition().duration(duration / 2) - .style('fill', function (d, i) { return (i === time) ? '#FFF' : '#000'; }) - } -}; diff --git a/car-dot-bar-chart/thumbnail.png b/car-dot-bar-chart/thumbnail.png deleted file mode 100644 index f533c9d..0000000 Binary files a/car-dot-bar-chart/thumbnail.png and /dev/null differ diff --git a/chained-transitions/README.md b/chained-transitions/README.md deleted file mode 100644 index cdc4397..0000000 --- a/chained-transitions/README.md +++ /dev/null @@ -1,10 +0,0 @@ -Chained Transitions -==== - -This variation of a line chart demonstrates a sequence of chained transitions. Clicking on the radio buttons changes the displayed metric. First, the line transitions to the new values. Then, the axes rescale to fit the new data. - -## Data Format - -| DATE | Sequence 1 | ... | -|-------------|-------------|-----| -| Data | Data | ... | diff --git a/chained-transitions/data.csv b/chained-transitions/data.csv deleted file mode 100644 index bc2c23f..0000000 --- a/chained-transitions/data.csv +++ /dev/null @@ -1,367 +0,0 @@ -date,New York,San Francisco -20111001,63.4,62.7 -20111002,58.0,59.9 -20111003,53.3,59.1 -20111004,55.7,58.8 -20111005,64.2,58.7 -20111006,58.8,57.0 -20111007,57.9,56.7 -20111008,61.8,56.8 -20111009,69.3,56.7 -20111010,71.2,60.1 -20111011,68.7,61.1 -20111012,61.8,61.5 -20111013,63.0,64.3 -20111014,66.9,67.1 -20111015,61.7,64.6 -20111016,61.8,61.6 -20111017,62.8,61.1 -20111018,60.8,59.2 -20111019,62.1,58.9 -20111020,65.1,57.2 -20111021,55.6,56.4 -20111022,54.4,60.7 -20111023,54.4,65.1 -20111024,54.8,60.9 -20111025,57.9,56.1 -20111026,54.6,54.6 -20111027,54.4,56.1 -20111028,42.5,58.1 -20111029,40.9,57.5 -20111030,38.6,57.7 -20111031,44.2,55.1 -20111101,49.6,57.9 -20111102,47.2,64.6 -20111103,50.1,56.2 -20111104,50.1,50.5 -20111105,43.5,51.3 -20111106,43.8,52.6 -20111107,48.9,51.4 -20111108,55.5,50.6 -20111109,53.7,54.6 -20111110,57.7,55.6 -20111111,48.5,53.9 -20111112,46.8,54.0 -20111113,51.1,53.8 -20111114,56.8,53.5 -20111115,59.7,53.4 -20111116,56.5,52.2 -20111117,49.6,52.7 -20111118,41.5,53.1 -20111119,44.3,49.0 -20111120,54.0,50.4 -20111121,54.1,51.1 -20111122,49.4,52.3 -20111123,50.0,54.6 -20111124,44.0,55.1 -20111125,50.3,51.5 -20111126,52.1,53.6 -20111127,49.6,52.3 -20111128,57.2,51.0 -20111129,59.1,49.5 -20111130,50.6,49.8 -20111201,44.3,60.4 -20111202,43.9,62.2 -20111203,42.1,58.3 -20111204,43.9,52.7 -20111205,50.2,51.5 -20111206,54.2,49.9 -20111207,54.6,48.6 -20111208,43.4,46.4 -20111209,42.2,49.8 -20111210,45.0,52.1 -20111211,33.8,48.8 -20111212,36.8,47.4 -20111213,38.6,47.2 -20111214,41.9,46.1 -20111215,49.6,48.8 -20111216,50.2,47.9 -20111217,40.6,49.8 -20111218,29.1,49.1 -20111219,33.7,48.3 -20111220,45.8,49.3 -20111221,47.4,48.4 -20111222,54.4,53.3 -20111223,47.8,47.5 -20111224,34.9,47.9 -20111225,35.9,48.9 -20111226,43.6,45.9 -20111227,42.9,47.2 -20111228,46.2,48.9 -20111229,30.8,50.9 -20111230,40.8,52.9 -20111231,49.8,50.1 -20120101,46.3,53.9 -20120102,43.2,53.1 -20120103,30.3,49.7 -20120104,19.2,52.7 -20120105,32.1,52.6 -20120106,41.2,49.0 -20120107,47.0,51.0 -20120108,46.0,56.8 -20120109,34.7,52.3 -20120110,39.4,51.6 -20120111,40.4,49.8 -20120112,45.4,51.9 -20120113,40.7,53.7 -20120114,30.4,52.9 -20120115,23.9,49.7 -20120116,22.6,45.3 -20120117,39.8,43.6 -20120118,43.2,45.0 -20120119,26.3,47.3 -20120120,32.8,51.4 -20120121,27.4,53.7 -20120122,25.0,48.3 -20120123,39.4,52.9 -20120124,48.7,49.1 -20120125,43.0,52.1 -20120126,37.1,53.6 -20120127,48.2,50.4 -20120128,43.7,50.3 -20120129,40.1,53.8 -20120130,38.0,51.9 -20120131,43.5,50.0 -20120201,50.4,50.0 -20120202,45.8,51.3 -20120203,37.5,51.5 -20120204,40.8,52.0 -20120205,36.5,53.8 -20120206,39.1,54.6 -20120207,43.2,54.3 -20120208,36.5,51.9 -20120209,36.5,53.8 -20120210,38.3,53.9 -20120211,36.9,52.3 -20120212,29.7,50.1 -20120213,33.1,49.5 -20120214,39.6,48.6 -20120215,42.3,49.9 -20120216,39.7,52.4 -20120217,46.0,49.9 -20120218,41.2,51.6 -20120219,39.8,47.8 -20120220,38.1,48.7 -20120221,37.1,49.7 -20120222,45.5,53.4 -20120223,50.6,54.1 -20120224,42.7,55.9 -20120225,42.6,51.7 -20120226,36.9,47.7 -20120227,40.9,45.4 -20120228,45.9,47.0 -20120229,40.7,49.8 -20120301,41.3,48.9 -20120302,36.8,48.1 -20120303,47.6,50.7 -20120304,44.2,55.0 -20120305,38.5,48.8 -20120306,32.9,48.4 -20120307,43.3,49.9 -20120308,51.2,49.2 -20120309,47.8,51.7 -20120310,37.2,49.3 -20120311,42.9,50.0 -20120312,48.8,48.6 -20120313,52.6,53.9 -20120314,60.5,55.2 -20120315,47.2,55.9 -20120316,44.7,54.6 -20120317,48.2,48.2 -20120318,48.2,47.1 -20120319,53.1,45.8 -20120320,57.8,49.7 -20120321,57.5,51.4 -20120322,57.3,51.4 -20120323,61.7,48.4 -20120324,55.8,49.0 -20120325,48.4,46.4 -20120326,49.8,49.7 -20120327,39.6,54.1 -20120328,49.7,54.6 -20120329,56.8,52.3 -20120330,46.5,54.5 -20120331,42.2,56.2 -20120401,45.3,51.1 -20120402,48.1,50.5 -20120403,51.2,52.2 -20120404,61.0,50.6 -20120405,50.7,47.9 -20120406,48.0,47.4 -20120407,51.1,49.4 -20120408,55.7,50.0 -20120409,58.3,51.3 -20120410,55.0,53.8 -20120411,49.0,52.9 -20120412,51.7,53.9 -20120413,53.1,50.2 -20120414,55.2,50.9 -20120415,62.3,51.5 -20120416,62.9,51.9 -20120417,69.3,53.2 -20120418,59.0,53.0 -20120419,54.1,55.1 -20120420,56.5,55.8 -20120421,58.2,58.0 -20120422,52.4,52.8 -20120423,51.6,55.1 -20120424,49.3,57.9 -20120425,52.5,57.5 -20120426,50.5,55.3 -20120427,51.9,53.5 -20120428,47.4,54.7 -20120429,54.1,54.0 -20120430,51.9,53.4 -20120501,57.4,52.7 -20120502,53.7,50.7 -20120503,53.1,52.6 -20120504,57.2,53.4 -20120505,57.0,53.1 -20120506,56.6,56.5 -20120507,54.6,55.3 -20120508,57.9,52.0 -20120509,59.2,52.4 -20120510,61.1,53.4 -20120511,59.7,53.1 -20120512,64.1,49.9 -20120513,65.3,52.0 -20120514,64.2,56.0 -20120515,62.0,53.0 -20120516,63.8,51.0 -20120517,64.5,51.4 -20120518,61.0,52.2 -20120519,62.6,52.4 -20120520,66.2,54.5 -20120521,62.7,52.8 -20120522,63.7,53.9 -20120523,66.4,56.5 -20120524,64.5,54.7 -20120525,65.4,52.5 -20120526,69.4,52.1 -20120527,71.9,52.2 -20120528,74.4,52.9 -20120529,75.9,52.1 -20120530,72.9,52.1 -20120531,72.5,53.3 -20120601,67.2,54.8 -20120602,68.3,54.0 -20120603,67.7,52.3 -20120604,61.9,55.3 -20120605,58.3,53.5 -20120606,61.7,54.1 -20120607,66.7,53.9 -20120608,68.7,54.4 -20120609,72.2,55.0 -20120610,72.6,60.0 -20120611,69.2,57.2 -20120612,66.9,55.1 -20120613,66.7,53.3 -20120614,67.7,53.4 -20120615,68.5,54.6 -20120616,67.5,57.0 -20120617,64.2,55.6 -20120618,61.7,52.5 -20120619,66.4,53.9 -20120620,77.9,55.3 -20120621,88.3,53.3 -20120622,82.2,54.1 -20120623,77.0,55.2 -20120624,75.4,55.8 -20120625,70.9,56.8 -20120626,65.9,57.5 -20120627,73.5,57.7 -20120628,77.4,56.6 -20120629,79.6,56.4 -20120630,84.2,58.4 -20120701,81.8,58.8 -20120702,82.5,56.4 -20120703,80.2,56.5 -20120704,77.8,55.8 -20120705,86.1,54.8 -20120706,79.9,54.9 -20120707,83.5,54.7 -20120708,81.5,52.8 -20120709,77.8,53.7 -20120710,76.1,53.1 -20120711,76.3,52.7 -20120712,75.8,52.0 -20120713,77.2,53.4 -20120714,79.3,54.0 -20120715,78.9,54.0 -20120716,79.6,54.5 -20120717,83.3,56.7 -20120718,84.3,57.5 -20120719,75.1,57.1 -20120720,68.4,58.1 -20120721,68.4,57.6 -20120722,72.2,56.0 -20120723,75.6,56.6 -20120724,82.6,57.8 -20120725,78.4,57.5 -20120726,77.0,56.4 -20120727,79.4,55.3 -20120728,77.4,55.0 -20120729,72.5,55.6 -20120730,72.9,55.6 -20120731,73.6,55.9 -20120801,75.0,55.4 -20120802,77.7,54.4 -20120803,79.7,53.7 -20120804,79.6,54.1 -20120805,81.5,57.8 -20120806,80.0,58.2 -20120807,75.7,58.0 -20120808,77.8,57.0 -20120809,78.6,55.0 -20120810,77.8,54.8 -20120811,78.5,53.0 -20120812,78.8,52.5 -20120813,78.6,53.3 -20120814,76.8,53.9 -20120815,76.7,56.2 -20120816,75.9,57.1 -20120817,77.6,55.3 -20120818,72.6,56.2 -20120819,70.4,54.3 -20120820,71.8,53.1 -20120821,73.6,53.4 -20120822,74.7,54.5 -20120823,74.6,55.7 -20120824,76.0,54.8 -20120825,76.2,53.8 -20120826,73.4,56.5 -20120827,74.6,58.3 -20120828,79.4,58.7 -20120829,74.7,57.5 -20120830,73.5,55.9 -20120831,77.9,55.4 -20120901,80.7,55.7 -20120902,75.1,53.1 -20120903,73.5,53.5 -20120904,73.5,52.5 -20120905,77.7,54.5 -20120906,74.2,56.3 -20120907,76.0,56.4 -20120908,77.1,56.5 -20120909,69.7,56.4 -20120910,67.8,55.4 -20120911,64.0,56.2 -20120912,68.1,55.7 -20120913,69.3,54.3 -20120914,70.0,55.2 -20120915,69.3,54.3 -20120916,66.3,52.9 -20120917,67.0,54.8 -20120918,72.8,54.8 -20120919,67.2,56.8 -20120920,62.1,55.4 -20120921,64.0,55.8 -20120922,65.5,55.9 -20120923,65.7,52.8 -20120924,60.4,54.5 -20120925,63.2,53.3 -20120926,68.5,53.6 -20120927,69.2,52.1 -20120928,68.7,52.6 -20120929,62.5,53.9 -20120930,62.3,55.1 diff --git a/chained-transitions/main.css b/chained-transitions/main.css deleted file mode 100644 index 49d0445..0000000 --- a/chained-transitions/main.css +++ /dev/null @@ -1,34 +0,0 @@ -svg { - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; -} - -text { - font: 10px sans-serif; -} - -form { - z-index: 100; -} - -.axis path, -.axis line { - fill: none; - stroke: #000; - shape-rendering: crispEdges; -} - -.x.axis path { - display: none; -} - -.line { - fill: none; - stroke: steelblue; - stroke-width: 1.5px; -} - -form { - position: absolute; - right: 10px; - top: 10px; -} diff --git a/chained-transitions/main.js b/chained-transitions/main.js deleted file mode 100644 index 397a868..0000000 --- a/chained-transitions/main.js +++ /dev/null @@ -1,122 +0,0 @@ -//# require=d3 - -var margin = {top: 20, right: 80, bottom: 30, left: 50}; -var width = root.clientWidth - margin.left - margin.right; -var height = root.clientHeight - margin.top - margin.bottom; - - -var x = d3.time.scale() - .range([0, width]); - -var y = d3.scale.linear() - .range([height, 0]); - -var xAxis = d3.svg.axis() - .scale(x) - .orient("bottom"); - -var yAxis = d3.svg.axis() - .scale(y) - .orient("left"); - -var line = d3.svg.line() - .interpolate("basis") - .x(function(d) { return x(d.date); }) - .y(function(d) { return y(d[city]); }); - -var form = d3.select(root).append('form'); - -var chart = d3.select(root).append('svg') - .attr('width', root.clientWidth) - .attr('height', root.clientHeight) - .append('g') - .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')'); - -var parseDate = d3.time.format("%Y%m%d").parse; -var city; - -function update(data) { - form.selectAll('*').remove(); - chart.selectAll('*').remove(); - - var list = data.toList(); - var cities = list.header.filter(function (d) { return d != 'date'; }); - var label = form.selectAll('label') - .data(cities) - .enter().append('label') - .text(function (d) { return d; }) - .insert('input') - .attr({ - type:'radio', - name:'city', - value: function (d) { return d; } - }) - .property('checked', function (d, i) { return i == 0; }); - - city = cities[0]; - - list.forEach(function(d) { - d.date = parseDate(''+d.date); - cities.forEach(function(c) { - d[c] = + d[c]; - }); - }); - x.domain(d3.extent(list.map(function (d) { return d.date; }))); - y.domain(d3.extent(list, function (d) { return d[city]; })); - - chart.append("g") - .attr("class", "x axis") - .attr("transform", "translate(0," + height + ")") - .call(xAxis); - - chart.append("g") - .attr("class", "y axis") - .call(yAxis) - .append("text") - .attr("transform", "rotate(-90)") - .attr("y", 6) - .attr("dy", ".71em") - .style("text-anchor", "end") - .text("Temperature (ºF)"); - - chart.append("path") - .datum(list) - .attr("class", "line") - .attr("d", line); - - chart.append("text") - .datum(list[list.length - 1]) - .attr("class", "label") - .attr("transform", transform) - .attr("x", 3) - .attr("dy", ".35em") - .text(city); - - d3.selectAll("input").on("change", change); - - var timeout = setTimeout(function() { - d3.select("input[value=\"" + cities[1] + "\"]").property("checked", true).each(change); - }, 2000); - - function change() { - clearTimeout(timeout); - - city = this.value; - - // First transition the line & label to the new city. - var t0 = chart.transition().duration(750); - t0.selectAll(".line").attr("d", line); - t0.selectAll(".label").attr("transform", transform).text(city); - - // Then transition the y-axis. - y.domain(d3.extent(list, function(d) { return d[city]; })); - var t1 = t0.transition(); - t1.selectAll(".line").attr("d", line); - t1.selectAll(".label").attr("transform", transform); - t1.selectAll(".y.axis").call(yAxis); - } - - function transform(d) { - return "translate(" + x(d.date) + "," + y(d[city]) + ")"; - } -} diff --git a/chained-transitions/thumbnail.png b/chained-transitions/thumbnail.png deleted file mode 100644 index 3de3e00..0000000 Binary files a/chained-transitions/thumbnail.png and /dev/null differ diff --git a/colored-leaflet-timeline/README.md b/colored-leaflet-timeline/README.md deleted file mode 100644 index c7afb5c..0000000 --- a/colored-leaflet-timeline/README.md +++ /dev/null @@ -1 +0,0 @@ -colored-Leaflet-timeline ==== Data must contains fields named "time", "longitude" and "latitude." This program uses Leaflet.js. \ No newline at end of file diff --git a/colored-leaflet-timeline/data.csv b/colored-leaflet-timeline/data.csv deleted file mode 100644 index 503b9c9..0000000 --- a/colored-leaflet-timeline/data.csv +++ /dev/null @@ -1,396 +0,0 @@ -time,latitude,longitude,depth,mag -2016-04-20T23:22:39.540Z,"36.4498","-98.7565","1.69","2.5" -2016-04-20T22:43:52.970Z,"-18.0666","-179.4036","616.43","4.4" -2016-04-20T22:31:32.320Z,"-0.4688","-80.7967","28.57","4.7" -2016-04-20T22:17:38.000Z,"59.826","-153.0741","94.4","3.1" -2016-04-20T22:12:08.000Z,"59.7721","-153.1774","102.5","2.9" -2016-04-20T21:30:06.690Z,"0.5639","-79.9414","25.77","4.9" -2016-04-20T20:44:41.420Z,"2.3493","96.2217","33.44","4.9" -2016-04-20T20:44:17.000Z,"56.8423","-154.1416","46.2","2.5" -2016-04-20T20:16:52.830Z,"33.2495","131.4328","8.02","4.5" -2016-04-20T20:13:01.640Z,"13.0023","-88.7238","61.52","4.5" -2016-04-20T19:51:32.230Z,"35.0308333","-116.9135","2.99","2.74" -2016-04-20T19:36:15.450Z,"-12.4881","166.5186","61.33","4.6" -2016-04-20T19:35:43.000Z,"57.0624","-157.8463","3.8","3.5" -2016-04-20T17:31:18.860Z,"-2.1971","100.5516","65.94","4.5" -2016-04-20T16:30:53.770Z,"-0.2463","-80.434",10,"4.7" -2016-04-20T16:26:49.810Z,"-0.095","-80.7546",10,4 -2016-04-20T16:20:36.780Z,"0.6996","-80.2089",10,"4.7" -2016-04-20T16:03:28.990Z,"5.6277","126.697","82.16","4.9" -2016-04-20T14:55:43.000Z,"61.727","-148.1938","2.5","3.5" -2016-04-20T14:22:05.350Z,"-16.9769","-173.9176","81.51","4.5" -2016-04-20T14:11:44.730Z,"36.4648","-98.7466",5,"2.9" -2016-04-20T13:35:16.000Z,"63.028","-151.5679",1,"3.3" -2016-04-20T12:30:58.000Z,"63.157","-152.8529","5.1","2.7" -2016-04-20T12:19:44.830Z,"37.8201","141.5712","38.8","5.8" -2016-04-20T11:41:45.520Z,"33.646","-116.7373333","13.59","2.91" -2016-04-20T11:35:33.000Z,"19.0382","-64.3476",44,"2.7" -2016-04-20T11:33:30.060Z,"-19.1282","-177.152","356.81","5.3" -2016-04-20T11:02:51.910Z,"36.2086","71.171","99.58","4.5" -2016-04-20T10:51:39.700Z,"13.2039","-55.9267",10,"5.8" -2016-04-20T10:41:56.220Z,"-5.2006","153.2756","48.43","5.1" -2016-04-20T10:26:41.800Z,"18.9451","-65.2498",14,"2.5" -2016-04-20T10:17:09.600Z,"37.5198333","-118.7855","6.98","2.91" -2016-04-20T08:35:10.720Z,"0.7095","-80.0093",10,6 -2016-04-20T08:33:47.600Z,"0.6359","-80.2083","14.77","6.2" -2016-04-20T08:25:07.900Z,"0.6654","-80.2623","18.28","4.5" -2016-04-20T07:12:30.820Z,"-14.5934","166.1732",10,"5.4" -2016-04-20T05:45:35.000Z,"60.6466","-142.8082","13.6","3.5" -2016-04-20T05:40:39.000Z,"52.1862","178.6339","98.1","4.3" -2016-04-20T04:07:56.300Z,"18.538","-64.2042",17,"2.5" -2016-04-20T04:05:58.500Z,"35.5513333","-120.877","6.76","2.52" -2016-04-20T03:28:26.560Z,"36.4966","70.1338","218.79","4.8" -2016-04-20T01:50:39.060Z,"0.6426","-80.0739",10,"4.4" -2016-04-20T01:49:16.650Z,"0.6568","-79.9505",10,"4.3" -2016-04-20T01:48:12.000Z,"0.56","-79.91",6,"3.7" -2016-04-20T01:46:40.690Z,"45.0388333","-111.8643333","3.2","2.55" -2016-04-20T01:29:42.000Z,"59.9628","-153.0389",107,"3.9" -2016-04-20T01:13:01.000Z,"59.7781","-153.1041","99.7","3.4" -2016-04-20T01:05:41.220Z,"-16.1282","167.9679","174.4","4.9" -2016-04-20T00:51:01.240Z,"49.1486","151.9445","244.19","4.3" -2016-04-20T00:19:50.090Z,"-18.0947","-178.5492","632.49","4.6" -2016-04-19T23:54:12.950Z,"-23.3944","179.4793","533.37","4.4" -2016-04-19T22:37:11.530Z,"-24.0182","-66.9086","196.75","4.4" -2016-04-19T22:24:07.000Z,"61.8156","-150.8606","76.2","2.7" -2016-04-19T22:22:26.450Z,"0.562","-80.0561","15.38","5.5" -2016-04-19T21:51:51.640Z,"33.2076667","-116.7053333","6.97","2.68" -2016-04-19T20:53:04.160Z,"36.6813","140.7632","82.26","4.5" -2016-04-19T20:47:56.420Z,"10.2594","93.8018","35.14","4.4" -2016-04-19T20:32:57.460Z,"10.1682","93.6551","14.42","5.3" -2016-04-19T20:22:41.890Z,"41.4452","49.3464","48.12","4.4" -2016-04-19T20:06:08.000Z,"59.7136","-153.1758","106.3","3.5" -2016-04-19T20:05:39.520Z,"-15.9949","-173.7363","134.15","4.4" -2016-04-19T19:21:21.360Z,"13.6702","-90.7341","47.17","4.5" -2016-04-19T19:03:58.260Z,"36.4951","-113.9755","13.8","2.7" -2016-04-19T18:43:07.000Z,"58.7044","-155.1011","138.1","2.5" -2016-04-19T18:38:57.300Z,"32.4797","130.6564",5,"4.1" -2016-04-19T18:34:38.480Z,"38.9821667","-123.433","2.17","2.9" -2016-04-19T17:22:18.260Z,"28.3369","87.8444","60.99","4.3" -2016-04-19T17:17:36.400Z,"8.0154","126.5868","94.97",5 -2016-04-19T17:12:53.440Z,"-1.2999","-80.8601",10,"4.7" -2016-04-19T16:56:18.580Z,"36.6099","-97.2136","6.03","2.5" -2016-04-19T16:45:23.070Z,"36.6423","-97.7075",5,"2.8" -2016-04-19T16:37:19.640Z,"-30.6821","-71.8246","27.68","4.5" -2016-04-19T16:16:34.740Z,"23.9014","122.593",10,"4.6" -2016-04-19T15:00:21.990Z,"-19.4756","-176.0104","266.07","4.6" -2016-04-19T13:07:30.080Z,"0.2507","-80.3441",10,"4.4" -2016-04-19T13:03:48.010Z,"-53.0693","139.8484","14.85","4.5" -2016-04-19T12:35:37.190Z,"-14.2437","166.1072",10,"4.9" -2016-04-19T11:47:04.730Z,"32.5998","130.5416",10,"4.8" -2016-04-19T10:40:49.180Z,"-14.2419","166.1737",10,"4.9" -2016-04-19T10:05:34.390Z,"35.6603","140.8382","20.4","4.5" -2016-04-19T09:56:18.000Z,"54.7707","-160.6906","9.9","3.2" -2016-04-19T08:52:14.340Z,"32.5123","130.5669","3.19","5.1" -2016-04-19T08:19:43.910Z,"40.3558","19.3573",10,"3.4" -2016-04-19T07:23:14.960Z,"30.835","138.6212",375,"4.5" -2016-04-19T07:21:07.000Z,"52.4875","-173.9213","145.9","3.2" -2016-04-19T05:25:39.600Z,"-55.6255","-27.2317","10.62","5.9" -2016-04-19T04:25:35.940Z,"35.7288333","-121.346","8.03","3.07" -2016-04-19T04:18:23.370Z,"-55.6988","-27.2574","40.87","5.1" -2016-04-19T03:47:49.800Z,"18.697","-66.4475",14,"2.8" -2016-04-19T02:47:01.890Z,"26.5311","130.2525","36.77","5.1" -2016-04-19T02:03:15.430Z,"-0.3374","-80.7592",10,"4.9" -2016-04-19T00:31:24.000Z,"36.4437","-98.7822","7.28","2.7" -2016-04-18T23:46:52.800Z,"19.0702","-64.5915",28,"2.9" -2016-04-18T23:16:46.200Z,"-2.0306","129.2121","43.06","4.1" -2016-04-18T23:01:59.800Z,"18.6952","-66.9599",90,"2.7" -2016-04-18T21:56:47.110Z,"-33.5057","77.6764",10,"4.8" -2016-04-18T21:48:42.000Z,"60.6354","-148.6466","16.7","3.2" -2016-04-18T21:20:02.630Z,"33.014","131.0027",10,"4.3" -2016-04-18T21:15:52.810Z,"-0.0855","-80.8126",10,"4.9" -2016-04-18T20:32:45.950Z,"42.1617","142.8898","59.13","4.4" -2016-04-18T20:25:55.920Z,"37.0793333","-117.8941667","-0.27","3.03" -2016-04-18T19:58:28.000Z,"51.3245","-178.2408","25.4","3.1" -2016-04-18T19:43:01.000Z,"-19.109","-69.499","123.2","4.4" -2016-04-18T19:12:37.630Z,"-1.0294","-80.8448",10,"4.6" -2016-04-18T19:10:00.200Z,"19.121","-64.246",7,3 -2016-04-18T18:38:10.690Z,"-1.0057","-80.8377",10,"4.9" -2016-04-18T18:02:12.000Z,"61.6088","-151.2205","7.5","2.6" -2016-04-18T17:31:28.000Z,"55.5027","-135.048","17.2","2.9" -2016-04-18T17:13:10.100Z,"19.4066","-64.8054",8,"3.2" -2016-04-18T17:07:33.520Z,"-0.3554","-80.5168",10,"4.5" -2016-04-18T16:43:52.000Z,"51.4895","-179.753",77,"2.5" -2016-04-18T15:29:55.060Z,"12.9497","92.3291","38.4","4.7" -2016-04-18T15:04:59.000Z,"52.3582","-175.3117","242.5","2.5" -2016-04-18T14:05:23.000Z,"51.1858","-178.0652","25.8",3 -2016-04-18T13:25:44.410Z,"-0.2772","-80.2984",10,"5.1" -2016-04-18T13:06:09.750Z,"-19.4924","169.0909","65.83","5.9" -2016-04-18T12:35:33.000Z,"52.5963","-169.262","42.3","3.1" -2016-04-18T11:49:26.000Z,"52.3698","-169.3094","23.5","2.6" -2016-04-18T11:42:00.180Z,"33.0126","131.092","10.7","5.3" -2016-04-18T11:38:38.220Z,"-31.7154","-71.1747","39.42","5.6" -2016-04-18T11:08:40.820Z,"45.0378333","-111.868","6.1","2.71" -2016-04-18T10:21:35.400Z,"19.5109","-64.708",37,"3.7" -2016-04-18T09:52:46.700Z,"-1.7826","138.6875","31.1","4.6" -2016-04-18T09:21:22.000Z,"57.1805","-157.5063","1.6","2.7" -2016-04-18T07:56:59.780Z,"45.035","-111.8718333","4.64","2.92" -2016-04-18T06:46:16.720Z,"42.51","26.0468","16.53","4.5" -2016-04-18T06:20:22.220Z,"-17.4866","-173.933","136.42","4.4" -2016-04-18T06:09:30.000Z,"57.2298","-157.6783","11.5","2.8" -2016-04-18T05:59:00.000Z,"57.229","-157.6451",12,"3.4" -2016-04-18T05:40:20.000Z,"52.0026","-174.1775","212.2","2.6" -2016-04-18T04:50:49.000Z,"58.9441","-135.1405","1.3","2.8" -2016-04-18T04:46:40.210Z,"45.0391667","-111.8666667","3.14","2.97" -2016-04-18T04:25:59.570Z,"-29.5197","-71.0331",41,"4.6" -2016-04-18T04:16:43.140Z,"45.0381667","-111.8628333","2.41","2.6" -2016-04-18T03:38:12.000Z,"57.274","-157.6791","9.9","2.5" -2016-04-18T03:08:50.000Z,"57.2742","-157.7081","2.6","2.5" -2016-04-18T02:32:34.700Z,"36.1631","-96.7729","4.071","2.6" -2016-04-18T02:09:26.000Z,"-0.7","-81.08",5,"3.9" -2016-04-18T02:08:21.000Z,"57.0026","-157.7227","13.4","2.6" -2016-04-18T01:58:39.210Z,"45.0381667","-111.8646667","1.98","3.16" -2016-04-18T00:33:51.000Z,"51.7318","-178.4427","10.9",3 -2016-04-17T23:39:26.640Z,"17.4467","-100.8357","36.83","4.4" -2016-04-17T23:35:43.750Z,"32.8671","130.6952",10,"4.6" -2016-04-17T23:24:18.510Z,"37.0351","141.299","44.33","4.4" -2016-04-17T23:12:29.550Z,"23.1741","121.0545",10,"4.2" -2016-04-17T22:26:19.000Z,"49.6811","-177.8098","9.3","2.9" -2016-04-17T20:57:43.000Z,"57.3964","-158.01",34,"2.5" -2016-04-17T20:46:59.000Z,"59.7458","-153.0863","104.1","3.5" -2016-04-17T20:38:01.000Z,"57.2152","-158.1811","22.1","2.6" -2016-04-17T20:24:01.420Z,"0.57","-79.9003",10,"4.6" -2016-04-17T20:20:02.000Z,"51.6698","-164.2421","5.7","3.1" -2016-04-17T19:39:38.650Z,"41.0123333","-125.2201667","22.95","2.62" -2016-04-17T19:33:46.500Z,"-58.0282","-25.3338","59.39","5.1" -2016-04-17T19:24:42.280Z,"-31.4595","-71.9266","35.53","4.2" -2016-04-17T19:07:38.720Z,"1.2155","126.9479","49.06","4.4" -2016-04-17T19:00:33.490Z,"9.2234","-80.6341",10,"4.4" -2016-04-17T18:24:20.500Z,"-0.0226","123.3864","134.88","4.4" -2016-04-17T18:02:05.400Z,"19.426","-64.658",24,"2.8" -2016-04-17T17:19:01.310Z,"12.6419","-88.0699","73.64","4.8" -2016-04-17T16:42:42.000Z,"66.0572","-140.5965","18.6","2.6" -2016-04-17T16:38:15.000Z,"57.241","-157.8851","28.1","2.5" -2016-04-17T16:17:17.500Z,"69.1362","-53.4823","15.03","4.5" -2016-04-17T15:06:29.000Z,"63.4181","-149.566","106.8","2.6" -2016-04-17T14:59:44.960Z,"-30.752","-71.5038","37.16","4.8" -2016-04-17T14:35:26.500Z,"18.0081","-68.3236",80,"3.3" -2016-04-17T14:02:48.000Z,"52.1347","179.6943","189.8","2.9" -2016-04-17T13:54:50.740Z,"37.8463","23.4879","20.78","4.4" -2016-04-17T13:39:25.980Z,"-4.9957","102.9064","52.15","4.4" -2016-04-17T12:15:29.420Z,"-8.2819","124.4352","34.87","4.7" -2016-04-17T12:09:52.000Z,"53.528","-159.1404",12,3 -2016-04-17T11:35:42.190Z,"35.297","-97.7815","5.88","2.5" -2016-04-17T11:34:41.190Z,"35.774","140.2345","57.9","4.5" -2016-04-17T11:15:54.000Z,"50.8677","-173.3508","10.8","2.5" -2016-04-17T11:07:42.250Z,"-21.1414","-68.6249","125.34","4.4" -2016-04-17T10:23:41.710Z,"32.7334","130.5636","5.13","4.7" -2016-04-17T09:59:16.170Z,"36.4084","-98.1262","3.11",3 -2016-04-17T09:23:40.980Z,"-0.2522","-80.7163",10,"5.5" -2016-04-17T09:20:49.910Z,"36.6295","-97.7076","3.74","2.5" -2016-04-17T09:19:40.170Z,"-17.512","-178.5041","553.04","4.9" -2016-04-17T09:11:53.570Z,"36.2881","-97.6506","1.39","2.5" -2016-04-17T09:07:32.000Z,"59.2175","-152.5388","63.4","3.1" -2016-04-17T08:52:28.240Z,"-0.4657","-80.7213",10,"4.5" -2016-04-17T07:53:26.300Z,"19.6135","-64.244",68,"2.9" -2016-04-17T07:31:03.720Z,"-23.5994","-174.3252",35,"5.8" -2016-04-17T07:13:58.940Z,"-0.4388","-80.2668",10,"5.6" -2016-04-17T07:04:55.600Z,"19.6725","-63.6862",79,"3.4" -2016-04-17T06:32:42.170Z,"13.7757","-92.3596","37.73","4.5" -2016-04-17T05:50:38.000Z,"59.83","-152.9102","102.3","2.7" -2016-04-17T05:42:51.660Z,"0.274","-80.4265",10,"4.5" -2016-04-17T05:37:50.000Z,"62.3543","-149.1366","2.1","2.5" -2016-04-17T04:57:24.000Z,"59.7493","-153.1718","105.4","2.9" -2016-04-17T04:55:26.000Z,"61.9923","-149.5569","41.7",4 -2016-04-17T04:06:23.903Z,"36.4717","-113.9735","4.8","3.7" -2016-04-17T04:02:08.820Z,"-0.2586","-80.6308",10,"4.8" -2016-04-17T03:59:51.240Z,"40.9185","-123.4536667","28.51","2.64" -2016-04-17T03:16:39.300Z,"18.8132","-64.4233",40,"2.8" -2016-04-17T03:05:33.920Z,"0.3132","-80.2516",10,"4.5" -2016-04-17T02:18:01.070Z,"-0.2966","-80.3366",10,"4.8" -2016-04-17T00:59:07.290Z,"0.356","-80.339","27.25","4.5" -2016-04-17T00:29:32.100Z,"-0.2911","-80.4716","14.24","5.4" -2016-04-17T00:27:57.850Z,"37.6346667","-118.961","5.23","2.87" -2016-04-17T00:02:00.700Z,"18.6231","-65.185",70,"3.1" -2016-04-16T23:58:37.280Z,"0.3715","-79.9398","19.16","7.8" -2016-04-16T23:47:44.110Z,"0.277","-80.0744","33.01","4.8" -2016-04-16T23:37:00.390Z,"4.005","126.573",10,"4.4" -2016-04-16T23:10:38.000Z,"57.0098","-158.0453","13.9","2.8" -2016-04-16T22:24:08.000Z,"61.8914","-149.3084","43.6","2.7" -2016-04-16T21:09:12.660Z,"0.5041","97.9727",10,"5.1" -2016-04-16T20:24:28.000Z,"51.2568","-179.4463","25.8","4.1" -2016-04-16T19:48:15.000Z,"54.3874","-161.5257","25.6","2.5" -2016-04-16T19:46:50.940Z,"32.7247","130.6802",10,"4.6" -2016-04-16T18:39:37.000Z,"19.3996667","-155.2531667","12.823","3.54" -2016-04-16T18:30:22.760Z,"33.0162","131.05","16.01","4.3" -2016-04-16T18:08:28.490Z,"0.3736","97.883","23.68","4.8" -2016-04-16T16:29:50.150Z,"14.6004","55.6824",10,"4.7" -2016-04-16T15:20:11.340Z,"10.1587","-104.3235",10,"4.9" -2016-04-16T15:14:52.980Z,"32.9334","130.9408",10,"4.7" -2016-04-16T15:07:56.270Z,"-21.1967","-68.8511","154.65","4.6" -2016-04-16T14:57:52.550Z,"-0.1048","123.6653","121.4","4.1" -2016-04-16T14:46:34.000Z,"51.4697","-177.0996",48,"3.2" -2016-04-16T14:03:26.300Z,"19.4433","-64.7331",57,"3.6" -2016-04-16T13:50:07.990Z,"51.0243","157.2744","79.79","4.5" -2016-04-16T13:28:09.030Z,"4.1483","127.0211","41.41","4.4" -2016-04-16T12:19:12.000Z,"56.2361","-161.6614","235.1","3.3" -2016-04-16T12:05:06.270Z,"32.7277","130.75","12.73","4.6" -2016-04-16T12:03:37.310Z,"4.0705","126.922","11.92","4.7" -2016-04-16T10:55:45.590Z,"22.4474","121.8521",10,"4.9" -2016-04-16T08:40:20.290Z,"32.7657","130.5546","3.34","4.6" -2016-04-16T07:56:21.170Z,"3.4605","126.9521","65.21","4.7" -2016-04-16T07:46:45.900Z,"19.3008","-64.4811",78,"3.3" -2016-04-16T07:34:24.800Z,"-29.625","-111.6386",10,"5.4" -2016-04-16T07:02:03.000Z,"32.7466","130.6675","16.2","5.3" -2016-04-16T06:09:17.100Z,"18.2467","-67.7535",2,3 -2016-04-16T06:05:24.290Z,"-26.4526","-70.0226","72.92","5.4" -2016-04-16T05:27:04.160Z,"32.6604","130.6393","1.27","4.6" -2016-04-16T05:03:58.160Z,"33.0029","131.1177","10.71","4.6" -2016-04-16T04:14:27.450Z,"-5.929","149.4939","100.32","4.6" -2016-04-16T02:39:32.420Z,"40.9946","70.9794","39.65","4.8" -2016-04-16T02:10:47.490Z,"36.0491","70.7759","95.13","4.6" -2016-04-16T02:02:52.140Z,"32.7292","130.6701",10,"4.9" -2016-04-16T01:38:53.700Z,"32.4855","130.4648",10,"4.3" -2016-04-16T00:48:32.840Z,"32.848","130.777","9.09","5.2" -2016-04-16T00:25:22.500Z,"18.6924","-65.0546",16,"3.2" -2016-04-16T00:22:13.970Z,"-14.5884","166.6468",10,"4.9" -2016-04-16T00:16:29.230Z,"32.5587","130.5832",10,"4.3" -2016-04-16T00:10:41.290Z,"34.9371","25.7577",10,5 -2016-04-15T23:55:41.150Z,"50.8125","-177.785","30.41","3.7" -2016-04-15T23:48:04.840Z,"-15.0858","-171.7556","24.93","4.5" -2016-04-15T23:20:42.100Z,"32.6446","130.6674",10,"4.5" -2016-04-15T22:57:19.880Z,"7.3828","123.8666","606.67","4.4" -2016-04-15T22:55:23.770Z,"13.6401","-92.2041","36.62","4.2" -2016-04-15T22:42:33.640Z,"32.788","130.6451",10,"4.1" -2016-04-15T22:23:55.040Z,"32.7537","130.7439",10,"4.6" -2016-04-15T22:11:40.290Z,"33.2561","131.3701",10,"5.1" -2016-04-15T21:55:13.200Z,"18.4724","-66.8373",12,"2.7" -2016-04-15T21:48:22.000Z,"63.2756","-150.5667","131.1","2.9" -2016-04-15T21:40:01.520Z,"32.9452","130.9174",10,"4.5" -2016-04-15T21:31:03.890Z,"32.8671","131.1369","10.95","4.3" -2016-04-15T21:21:32.770Z,"34.3641667","-118.6446667","10.77","3.08" -2016-04-15T21:03:27.740Z,"-25.4182","-177.3688","211.83",4 -2016-04-15T20:39:15.980Z,"13.6195","-92.0619","57.67","4.5" -2016-04-15T20:34:13.650Z,"32.569","130.509",10,"4.5" -2016-04-15T19:51:23.840Z,"32.6977","130.7336","3.35","4.7" -2016-04-15T19:35:57.000Z,"53.6507","-164.8434","47.2","2.6" -2016-04-15T19:28:03.000Z,"54.5783","-162.5757","13.3","2.6" -2016-04-15T19:27:24.000Z,"52.2161","-168.4679","14.9","3.2" -2016-04-15T19:18:16.150Z,"32.937","130.9495","10.57","4.4" -2016-04-15T19:02:10.000Z,"36.9552","-98.0907","8.311","2.9" -2016-04-15T18:59:43.000Z,"63.0874","-151.452","11.3","2.5" -2016-04-15T18:55:53.490Z,"32.9797","131.1355","13.78","5.5" -2016-04-15T18:47:11.320Z,"-14.5133","166.7251","28.79","5.2" -2016-04-15T18:38:27.000Z,"51.2016","-177.5471","23.3","2.8" -2016-04-15T18:26:53.020Z,"32.8701","130.9177",10,"4.5" -2016-04-15T18:25:18.200Z,"51.3589","-177.47","44.52","3.9" -2016-04-15T18:20:49.770Z,"33.1011","130.9965","19.36","4.5" -2016-04-15T18:16:42.600Z,"33.0864","130.8355","18.63","4.6" -2016-04-15T18:03:11.030Z,"32.9259","131.0429","4.91","5.4" -2016-04-15T18:01:03.930Z,"39.7847","141.791","52.94","4.7" -2016-04-15T17:49:18.410Z,"33.2029","131.3205","12.24","4.5" -2016-04-15T17:24:22.000Z,"63.4674","-147.5492","5.5","2.5" -2016-04-15T17:07:06.000Z,"61.6581","-147.734","18.3","3.4" -2016-04-15T17:04:11.620Z,"32.7571","130.7424","11.73","4.6" -2016-04-15T16:59:20.610Z,"45.0365","-111.872","8.9","2.53" -2016-04-15T16:45:56.630Z,"32.8805","130.8463",10,"5.7" -2016-04-15T16:44:06.880Z,"32.6953","130.7351",10,"5.3" -2016-04-15T16:35:15.960Z,"45.034","-111.8781667","2.91","2.65" -2016-04-15T16:28:57.000Z,"62.8745","-148.2378","66.3","3.3" -2016-04-15T16:25:06.260Z,"32.782","130.7259",10,7 -2016-04-15T16:09:57.000Z,"19.6909","-65.143",25,3 -2016-04-15T15:21:25.550Z,"51.3547","90.0473",15,"4.7" -2016-04-15T15:20:21.480Z,"-14.1387","166.5033",10,"4.8" -2016-04-15T14:11:27.050Z,"13.4179","-92.2798",25,"6.1" -2016-04-15T14:04:29.510Z,"36.453","-98.8291","6.92",3 -2016-04-15T13:29:36.950Z,"36.4763","-98.7476","6.82","2.9" -2016-04-15T13:23:45.000Z,"57.1232","-157.7104","12.6","3.7" -2016-04-15T12:51:25.310Z,"36.4172","71.2991","100.76","4.5" -2016-04-15T12:18:26.200Z,"19.1891","-64.657",65,"2.8" -2016-04-15T11:05:32.180Z,"4.1139","126.6943","43.14","5.1" -2016-04-15T10:56:55.030Z,"-3.7302","100.368","35.07","4.4" -2016-04-15T10:45:14.000Z,"18.5762","-67.9223",176,"3.5" -2016-04-15T10:41:50.870Z,"-24.7177","179.8974","528.47","4.7" -2016-04-15T10:24:30.230Z,"-3.7833","100.4874","38.51","4.9" -2016-04-15T08:54:40.370Z,"-13.7783","166.5756","42.96","5.1" -2016-04-15T08:54:26.000Z,"63.1544","-151.4399","13.6","4.4" -2016-04-15T08:36:50.960Z,"40.4725","-126.1268333","9.62","2.7" -2016-04-15T07:57:12.000Z,"63.1533","-151.4589","13.4","3.1" -2016-04-15T06:51:41.200Z,"18.8752","-67.5556",23,"2.6" -2016-04-15T05:49:31.000Z,"63.0652","-150.8789","125.9","3.8" -2016-04-15T05:46:33.590Z,"35.2403333","-116.9201667","9.05","2.85" -2016-04-15T05:36:27.800Z,"19.4969","-64.8489",14,"3.7" -2016-04-15T04:50:11.180Z,"2.0302","127.0468","88.77","5.5" -2016-04-15T04:27:56.530Z,"-32.1612","-71.8122","22.56","4.6" -2016-04-15T03:59:06.651Z,"41.8165","-119.6808","6.6","2.6" -2016-04-15T03:42:59.550Z,"-14.5099","166.7053","3.69","5.4" -2016-04-15T03:41:57.300Z,"17.8784","-66.0917",13,"2.6" -2016-04-15T02:11:22.000Z,"57.0373","-157.9141","15.7","3.1" -2016-04-15T01:34:57.000Z,"57.0211","-157.8633","13.2","2.7" -2016-04-15T00:45:48.100Z,"14.4817","-92.7391","78.85","4.1" -2016-04-15T00:22:56.000Z,"59.7311","-153.0077","113.3","2.6" -2016-04-15T00:20:23.180Z,"-38.8319","176.3535","86.17","4.3" -2016-04-15T00:03:47.280Z,"-14.2567","166.5526","17.31","4.6" -2016-04-14T23:27:56.000Z,"13.27","-89.6",60,"4.1" -2016-04-14T23:24:01.210Z,"-2.0039","-77.7042","169.84","4.3" -2016-04-14T23:15:07.060Z,"-7.4814","128.0652","129.34","5.7" -2016-04-14T22:50:46.530Z,"-12.2865","-76.2767","86.46","4.4" -2016-04-14T22:46:53.770Z,"32.8035","130.7293",10,"4.5" -2016-04-14T22:43:18.210Z,"-39.3702","174.7621","174.67","4.4" -2016-04-14T22:32:19.630Z,"36.6015","-97.6796","3.01","2.6" -2016-04-14T22:29:56.850Z,"32.8434","130.7907",10,"4.6" -2016-04-14T22:27:14.210Z,"40.2266667","-125.008","3.28","2.68" -2016-04-14T22:23:27.890Z,"-14.1776","166.5343",10,"5.2" -2016-04-14T22:23:04.940Z,"36.6161667","-121.2231667","5.45","2.56" -2016-04-14T21:50:27.630Z,"-14.5225","166.3518",16,"6.4" -2016-04-14T20:10:37.420Z,"32.7543","130.6936",10,"4.7" -2016-04-14T19:40:40.480Z,"-6.7912","129.2936","169.84","4.3" -2016-04-14T19:34:29.000Z,"56.959","-157.8461","8.5","2.6" -2016-04-14T18:41:43.900Z,"18.9705","-65.1364",29,"2.7" -2016-04-14T18:29:19.070Z,"36.2495","141.8077","25.09","4.6" -2016-04-14T17:44:53.900Z,"-32.126","-71.9035",10,"4.3" -2016-04-14T17:14:36.370Z,"32.7126","130.6708",10,"4.5" -2016-04-14T16:53:02.380Z,"32.6963","130.7673","11.83","4.6" -2016-04-14T16:45:21.120Z,"-20.435","-175.0775",10,"4.9" -2016-04-14T16:44:33.510Z,"-0.5627","-11.6063",10,"5.2" -2016-04-14T16:44:07.300Z,"18.7639","-67.3041",15,"2.6" -2016-04-14T15:50:31.370Z,"32.7418","130.7274",10,"4.5" -2016-04-14T15:49:44.300Z,"18.7856","-67.0654",28,"2.9" -2016-04-14T15:34:17.420Z,"32.6976","130.7594",10,"4.7" -2016-04-14T15:25:39.830Z,"34.1347","138.3386","269.64","4.5" -2016-04-14T15:18:39.400Z,"19.4505","-64.8488",9,"3.4" -2016-04-14T15:18:16.000Z,"57.227","-157.6855","9.5","3.2" -2016-04-14T15:15:03.400Z,"18.1025","-64.9588",10,3 -2016-04-14T15:12:54.900Z,"18.1009","-64.9578",7,"3.2" -2016-04-14T15:06:22.190Z,"32.7069","130.7012",10,"5.3" -2016-04-14T15:03:46.920Z,"32.6934","130.732","5.96",6 -2016-04-14T15:03:24.900Z,"18.0851","-64.9766",7,"2.7" -2016-04-14T15:00:47.400Z,"18.1007","-64.9636",8,"3.6" -2016-04-14T14:48:18.360Z,"-5.7236","149.4523","154.22","4.7" -2016-04-14T14:43:41.610Z,"32.7827","130.7582",10,"4.9" -2016-04-14T14:29:58.010Z,"32.7517","130.726",10,"4.6" -2016-04-14T14:29:39.000Z,"19.4449","-64.755",66,3 -2016-04-14T14:28:13.540Z,"32.7849","130.7453",10,"4.5" -2016-04-14T14:23:05.600Z,"40.3771","53.0612","43.29","4.5" -2016-04-14T13:52:13.000Z,"54.1581","-162.4959","28.9","3.7" -2016-04-14T13:43:15.950Z,"32.7042","130.6956",10,"4.5" -2016-04-14T13:38:43.640Z,"32.6854","130.7106",10,"4.8" -2016-04-14T13:33:56.800Z,"18.096","-64.9903",7,"2.5" -2016-04-14T13:22:19.310Z,"32.6832","130.646",10,"4.8" -2016-04-14T13:07:35.990Z,"32.7877","130.8354",10,"5.4" -2016-04-14T13:05:25.600Z,"19.4808","-64.8052",29,"3.1" -2016-04-14T13:03:52.190Z,"14.4613","-92.8049","71.83","4.4" -2016-04-14T13:01:02.000Z,"62.1221","-149.5756","60.1","2.9" -2016-04-14T12:49:46.100Z,"19.4235","-64.873",31,"3.7" -2016-04-14T12:42:25.080Z,"32.5779","130.6361",10,"4.8" -2016-04-14T12:26:36.430Z,"32.8494","130.6345",10,"6.2" -2016-04-14T12:17:05.410Z,"-14.498","166.4805",10,6 -2016-04-14T12:10:05.220Z,"36.1846","-96.8126","4.78","2.7" -2016-04-14T11:58:19.330Z,"35.5986","139.6371","46.69","4.6" -2016-04-14T11:03:51.000Z,"18.9281","-67.263",44,"2.9" -2016-04-14T09:38:44.430Z,"-33.8559","-70.3946","109.33","5.1" -2016-04-14T08:01:17.500Z,"18.148","-64.91",60,"2.7" -2016-04-14T07:35:04.770Z,"-31.2444","-69.039","120.84","4.7" -2016-04-14T07:31:24.200Z,"18.0902","-64.9915",7,"2.5" -2016-04-14T06:50:48.207Z,"39.597","-115.7975","2.3","2.9" -2016-04-14T06:19:42.700Z,"18.1019","-64.9773",5,"2.5" -2016-04-14T06:14:28.000Z,"18.1175","-64.9458",13,"3.6" -2016-04-14T05:41:53.870Z,"23.8202","94.1825","67.65","4.6" -2016-04-14T05:27:13.200Z,"18.0965","-64.98",7,"2.5" -2016-04-14T05:14:24.800Z,"18.0953","-64.9925",7,"2.7" -2016-04-14T05:04:15.000Z,"18.1116","-64.9499",14,"2.7" -2016-04-14T03:24:10.000Z,"56.4224","-151.6185","15.3","3.7" -2016-04-14T03:23:43.000Z,"53.5744","-164.7171","41.8",3 -2016-04-14T03:06:09.160Z,"53.7794","160.7735","31.85","5.7" -2016-04-14T02:27:25.000Z,"51.4714","-174.3334","0.8","2.9" -2016-04-14T02:17:06.000Z,"51.3294","-174.0476","25.7",3 -2016-04-14T01:37:25.200Z,"51.5381","-174.056","29.7","5.2" diff --git a/colored-leaflet-timeline/images/layers-2x.png b/colored-leaflet-timeline/images/layers-2x.png deleted file mode 100644 index a2cf7f9..0000000 Binary files a/colored-leaflet-timeline/images/layers-2x.png and /dev/null differ diff --git a/colored-leaflet-timeline/images/layers.png b/colored-leaflet-timeline/images/layers.png deleted file mode 100644 index bca0a0e..0000000 Binary files a/colored-leaflet-timeline/images/layers.png and /dev/null differ diff --git a/colored-leaflet-timeline/images/marker-icon-2x.png b/colored-leaflet-timeline/images/marker-icon-2x.png deleted file mode 100644 index 0015b64..0000000 Binary files a/colored-leaflet-timeline/images/marker-icon-2x.png and /dev/null differ diff --git a/colored-leaflet-timeline/images/marker-icon.png b/colored-leaflet-timeline/images/marker-icon.png deleted file mode 100644 index e2e9f75..0000000 Binary files a/colored-leaflet-timeline/images/marker-icon.png and /dev/null differ diff --git a/colored-leaflet-timeline/images/marker-shadow.png b/colored-leaflet-timeline/images/marker-shadow.png deleted file mode 100644 index d1e773c..0000000 Binary files a/colored-leaflet-timeline/images/marker-shadow.png and /dev/null differ diff --git a/colored-leaflet-timeline/leaflet.js b/colored-leaflet-timeline/leaflet.js deleted file mode 100644 index c469495..0000000 --- a/colored-leaflet-timeline/leaflet.js +++ /dev/null @@ -1,9 +0,0 @@ -/* - Leaflet, a JavaScript library for mobile-friendly interactive maps. http://leafletjs.com - (c) 2010-2013, Vladimir Agafonkin - (c) 2010-2011, CloudMade -*/ -!function(t,e,i){var n=t.L,o={};o.version="0.7.5","object"==typeof module&&"object"==typeof module.exports?module.exports=o:"function"==typeof define&&define.amd&&define(o),o.noConflict=function(){return t.L=n,this},t.L=o,o.Util={extend:function(t){var e,i,n,o,s=Array.prototype.slice.call(arguments,1);for(i=0,n=s.length;n>i;i++){o=s[i]||{};for(e in o)o.hasOwnProperty(e)&&(t[e]=o[e])}return t},bind:function(t,e){var i=arguments.length>2?Array.prototype.slice.call(arguments,2):null;return function(){return t.apply(e,i||arguments)}},stamp:function(){var t=0,e="_leaflet_id";return function(i){return i[e]=i[e]||++t,i[e]}}(),invokeEach:function(t,e,i){var n,o;if("object"==typeof t){o=Array.prototype.slice.call(arguments,3);for(n in t)e.apply(i,[n,t[n]].concat(o));return!0}return!1},limitExecByInterval:function(t,e,i){var n,o;return function s(){var a=arguments;return n?void(o=!0):(n=!0,setTimeout(function(){n=!1,o&&(s.apply(i,a),o=!1)},e),void t.apply(i,a))}},falseFn:function(){return!1},formatNum:function(t,e){var i=Math.pow(10,e||5);return Math.round(t*i)/i},trim:function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")},splitWords:function(t){return o.Util.trim(t).split(/\s+/)},setOptions:function(t,e){return t.options=o.extend({},t.options,e),t.options},getParamString:function(t,e,i){var n=[];for(var o in t)n.push(encodeURIComponent(i?o.toUpperCase():o)+"="+encodeURIComponent(t[o]));return(e&&-1!==e.indexOf("?")?"&":"?")+n.join("&")},template:function(t,e){return t.replace(/\{ *([\w_]+) *\}/g,function(t,n){var o=e[n];if(o===i)throw new Error("No value provided for variable "+t);return"function"==typeof o&&(o=o(e)),o})},isArray:Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)},emptyImageUrl:"data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs="},function(){function e(e){var i,n,o=["webkit","moz","o","ms"];for(i=0;it;t++)n._initHooks[t].call(this)}},e},o.Class.include=function(t){o.extend(this.prototype,t)},o.Class.mergeOptions=function(t){o.extend(this.prototype.options,t)},o.Class.addInitHook=function(t){var e=Array.prototype.slice.call(arguments,1),i="function"==typeof t?t:function(){this[t].apply(this,e)};this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(i)};var s="_leaflet_events";o.Mixin={},o.Mixin.Events={addEventListener:function(t,e,i){if(o.Util.invokeEach(t,this.addEventListener,this,e,i))return this;var n,a,r,h,l,u,c,d=this[s]=this[s]||{},p=i&&i!==this&&o.stamp(i);for(t=o.Util.splitWords(t),n=0,a=t.length;a>n;n++)r={action:e,context:i||this},h=t[n],p?(l=h+"_idx",u=l+"_len",c=d[l]=d[l]||{},c[p]||(c[p]=[],d[u]=(d[u]||0)+1),c[p].push(r)):(d[h]=d[h]||[],d[h].push(r));return this},hasEventListeners:function(t){var e=this[s];return!!e&&(t in e&&e[t].length>0||t+"_idx"in e&&e[t+"_idx_len"]>0)},removeEventListener:function(t,e,i){if(!this[s])return this;if(!t)return this.clearAllEventListeners();if(o.Util.invokeEach(t,this.removeEventListener,this,e,i))return this;var n,a,r,h,l,u,c,d,p,_=this[s],m=i&&i!==this&&o.stamp(i);for(t=o.Util.splitWords(t),n=0,a=t.length;a>n;n++)if(r=t[n],u=r+"_idx",c=u+"_len",d=_[u],e){if(h=m&&d?d[m]:_[r]){for(l=h.length-1;l>=0;l--)h[l].action!==e||i&&h[l].context!==i||(p=h.splice(l,1),p[0].action=o.Util.falseFn);i&&d&&0===h.length&&(delete d[m],_[c]--)}}else delete _[r],delete _[u],delete _[c];return this},clearAllEventListeners:function(){return delete this[s],this},fireEvent:function(t,e){if(!this.hasEventListeners(t))return this;var i,n,a,r,h,l=o.Util.extend({},e,{type:t,target:this}),u=this[s];if(u[t])for(i=u[t].slice(),n=0,a=i.length;a>n;n++)i[n].action.call(i[n].context,l);r=u[t+"_idx"];for(h in r)if(i=r[h].slice())for(n=0,a=i.length;a>n;n++)i[n].action.call(i[n].context,l);return this},addOneTimeEventListener:function(t,e,i){if(o.Util.invokeEach(t,this.addOneTimeEventListener,this,e,i))return this;var n=o.bind(function(){this.removeEventListener(t,e,i).removeEventListener(t,n,i)},this);return this.addEventListener(t,e,i).addEventListener(t,n,i)}},o.Mixin.Events.on=o.Mixin.Events.addEventListener,o.Mixin.Events.off=o.Mixin.Events.removeEventListener,o.Mixin.Events.once=o.Mixin.Events.addOneTimeEventListener,o.Mixin.Events.fire=o.Mixin.Events.fireEvent,function(){var n="ActiveXObject"in t,s=n&&!e.addEventListener,a=navigator.userAgent.toLowerCase(),r=-1!==a.indexOf("webkit"),h=-1!==a.indexOf("chrome"),l=-1!==a.indexOf("phantom"),u=-1!==a.indexOf("android"),c=-1!==a.search("android [23]"),d=-1!==a.indexOf("gecko"),p=typeof orientation!=i+"",_=!t.PointerEvent&&t.MSPointerEvent,m=t.PointerEvent&&t.navigator.pointerEnabled&&t.navigator.maxTouchPoints||_,f="devicePixelRatio"in t&&t.devicePixelRatio>1||"matchMedia"in t&&t.matchMedia("(min-resolution:144dpi)")&&t.matchMedia("(min-resolution:144dpi)").matches,g=e.documentElement,v=n&&"transition"in g.style,y="WebKitCSSMatrix"in t&&"m11"in new t.WebKitCSSMatrix&&!c,P="MozPerspective"in g.style,L="OTransition"in g.style,x=!t.L_DISABLE_3D&&(v||y||P||L)&&!l,w=!t.L_NO_TOUCH&&!l&&(m||"ontouchstart"in t||t.DocumentTouch&&e instanceof t.DocumentTouch);o.Browser={ie:n,ielt9:s,webkit:r,gecko:d&&!r&&!t.opera&&!n,android:u,android23:c,chrome:h,ie3d:v,webkit3d:y,gecko3d:P,opera3d:L,any3d:x,mobile:p,mobileWebkit:p&&r,mobileWebkit3d:p&&y,mobileOpera:p&&t.opera,touch:w,msPointer:_,pointer:m,retina:f}}(),o.Point=function(t,e,i){this.x=i?Math.round(t):t,this.y=i?Math.round(e):e},o.Point.prototype={clone:function(){return new o.Point(this.x,this.y)},add:function(t){return this.clone()._add(o.point(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(o.point(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},distanceTo:function(t){t=o.point(t);var e=t.x-this.x,i=t.y-this.y;return Math.sqrt(e*e+i*i)},equals:function(t){return t=o.point(t),t.x===this.x&&t.y===this.y},contains:function(t){return t=o.point(t),Math.abs(t.x)<=Math.abs(this.x)&&Math.abs(t.y)<=Math.abs(this.y)},toString:function(){return"Point("+o.Util.formatNum(this.x)+", "+o.Util.formatNum(this.y)+")"}},o.point=function(t,e,n){return t instanceof o.Point?t:o.Util.isArray(t)?new o.Point(t[0],t[1]):t===i||null===t?t:new o.Point(t,e,n)},o.Bounds=function(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;o>n;n++)this.extend(i[n])},o.Bounds.prototype={extend:function(t){return t=o.point(t),this.min||this.max?(this.min.x=Math.min(t.x,this.min.x),this.max.x=Math.max(t.x,this.max.x),this.min.y=Math.min(t.y,this.min.y),this.max.y=Math.max(t.y,this.max.y)):(this.min=t.clone(),this.max=t.clone()),this},getCenter:function(t){return new o.Point((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,t)},getBottomLeft:function(){return new o.Point(this.min.x,this.max.y)},getTopRight:function(){return new o.Point(this.max.x,this.min.y)},getSize:function(){return this.max.subtract(this.min)},contains:function(t){var e,i;return t="number"==typeof t[0]||t instanceof o.Point?o.point(t):o.bounds(t),t instanceof o.Bounds?(e=t.min,i=t.max):e=i=t,e.x>=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=o.bounds(t);var e=this.min,i=this.max,n=t.min,s=t.max,a=s.x>=e.x&&n.x<=i.x,r=s.y>=e.y&&n.y<=i.y;return a&&r},isValid:function(){return!(!this.min||!this.max)}},o.bounds=function(t,e){return!t||t instanceof o.Bounds?t:new o.Bounds(t,e)},o.Transformation=function(t,e,i,n){this._a=t,this._b=e,this._c=i,this._d=n},o.Transformation.prototype={transform:function(t,e){return this._transform(t.clone(),e)},_transform:function(t,e){return e=e||1,t.x=e*(this._a*t.x+this._b),t.y=e*(this._c*t.y+this._d),t},untransform:function(t,e){return e=e||1,new o.Point((t.x/e-this._b)/this._a,(t.y/e-this._d)/this._c)}},o.DomUtil={get:function(t){return"string"==typeof t?e.getElementById(t):t},getStyle:function(t,i){var n=t.style[i];if(!n&&t.currentStyle&&(n=t.currentStyle[i]),(!n||"auto"===n)&&e.defaultView){var o=e.defaultView.getComputedStyle(t,null);n=o?o[i]:null}return"auto"===n?null:n},getViewportOffset:function(t){var i,n=0,s=0,a=t,r=e.body,h=e.documentElement;do{if(n+=a.offsetTop||0,s+=a.offsetLeft||0,n+=parseInt(o.DomUtil.getStyle(a,"borderTopWidth"),10)||0,s+=parseInt(o.DomUtil.getStyle(a,"borderLeftWidth"),10)||0,i=o.DomUtil.getStyle(a,"position"),a.offsetParent===r&&"absolute"===i)break;if("fixed"===i){n+=r.scrollTop||h.scrollTop||0,s+=r.scrollLeft||h.scrollLeft||0;break}if("relative"===i&&!a.offsetLeft){var l=o.DomUtil.getStyle(a,"width"),u=o.DomUtil.getStyle(a,"max-width"),c=a.getBoundingClientRect();("none"!==l||"none"!==u)&&(s+=c.left+a.clientLeft),n+=c.top+(r.scrollTop||h.scrollTop||0);break}a=a.offsetParent}while(a);a=t;do{if(a===r)break;n-=a.scrollTop||0,s-=a.scrollLeft||0,a=a.parentNode}while(a);return new o.Point(s,n)},documentIsLtr:function(){return o.DomUtil._docIsLtrCached||(o.DomUtil._docIsLtrCached=!0,o.DomUtil._docIsLtr="ltr"===o.DomUtil.getStyle(e.body,"direction")),o.DomUtil._docIsLtr},create:function(t,i,n){var o=e.createElement(t);return o.className=i,n&&n.appendChild(o),o},hasClass:function(t,e){if(t.classList!==i)return t.classList.contains(e);var n=o.DomUtil._getClass(t);return n.length>0&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(n)},addClass:function(t,e){if(t.classList!==i)for(var n=o.Util.splitWords(e),s=0,a=n.length;a>s;s++)t.classList.add(n[s]);else if(!o.DomUtil.hasClass(t,e)){var r=o.DomUtil._getClass(t);o.DomUtil._setClass(t,(r?r+" ":"")+e)}},removeClass:function(t,e){t.classList!==i?t.classList.remove(e):o.DomUtil._setClass(t,o.Util.trim((" "+o.DomUtil._getClass(t)+" ").replace(" "+e+" "," ")))},_setClass:function(t,e){t.className.baseVal===i?t.className=e:t.className.baseVal=e},_getClass:function(t){return t.className.baseVal===i?t.className:t.className.baseVal},setOpacity:function(t,e){if("opacity"in t.style)t.style.opacity=e;else if("filter"in t.style){var i=!1,n="DXImageTransform.Microsoft.Alpha";try{i=t.filters.item(n)}catch(o){if(1===e)return}e=Math.round(100*e),i?(i.Enabled=100!==e,i.Opacity=e):t.style.filter+=" progid:"+n+"(opacity="+e+")"}},testProp:function(t){for(var i=e.documentElement.style,n=0;ni||i===e?e:t),new o.LatLng(this.lat,i)}},o.latLng=function(t,e){return t instanceof o.LatLng?t:o.Util.isArray(t)?"number"==typeof t[0]||"string"==typeof t[0]?new o.LatLng(t[0],t[1],t[2]):null:t===i||null===t?t:"object"==typeof t&&"lat"in t?new o.LatLng(t.lat,"lng"in t?t.lng:t.lon):e===i?null:new o.LatLng(t,e)},o.LatLngBounds=function(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;o>n;n++)this.extend(i[n])},o.LatLngBounds.prototype={extend:function(t){if(!t)return this;var e=o.latLng(t);return t=null!==e?e:o.latLngBounds(t),t instanceof o.LatLng?this._southWest||this._northEast?(this._southWest.lat=Math.min(t.lat,this._southWest.lat),this._southWest.lng=Math.min(t.lng,this._southWest.lng),this._northEast.lat=Math.max(t.lat,this._northEast.lat),this._northEast.lng=Math.max(t.lng,this._northEast.lng)):(this._southWest=new o.LatLng(t.lat,t.lng),this._northEast=new o.LatLng(t.lat,t.lng)):t instanceof o.LatLngBounds&&(this.extend(t._southWest),this.extend(t._northEast)),this},pad:function(t){var e=this._southWest,i=this._northEast,n=Math.abs(e.lat-i.lat)*t,s=Math.abs(e.lng-i.lng)*t;return new o.LatLngBounds(new o.LatLng(e.lat-n,e.lng-s),new o.LatLng(i.lat+n,i.lng+s))},getCenter:function(){return new o.LatLng((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new o.LatLng(this.getNorth(),this.getWest())},getSouthEast:function(){return new o.LatLng(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(t){t="number"==typeof t[0]||t instanceof o.LatLng?o.latLng(t):o.latLngBounds(t);var e,i,n=this._southWest,s=this._northEast;return t instanceof o.LatLngBounds?(e=t.getSouthWest(),i=t.getNorthEast()):e=i=t,e.lat>=n.lat&&i.lat<=s.lat&&e.lng>=n.lng&&i.lng<=s.lng},intersects:function(t){t=o.latLngBounds(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),s=t.getNorthEast(),a=s.lat>=e.lat&&n.lat<=i.lat,r=s.lng>=e.lng&&n.lng<=i.lng;return a&&r},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(t){return t?(t=o.latLngBounds(t),this._southWest.equals(t.getSouthWest())&&this._northEast.equals(t.getNorthEast())):!1},isValid:function(){return!(!this._southWest||!this._northEast)}},o.latLngBounds=function(t,e){return!t||t instanceof o.LatLngBounds?t:new o.LatLngBounds(t,e)},o.Projection={},o.Projection.SphericalMercator={MAX_LATITUDE:85.0511287798,project:function(t){var e=o.LatLng.DEG_TO_RAD,i=this.MAX_LATITUDE,n=Math.max(Math.min(i,t.lat),-i),s=t.lng*e,a=n*e;return a=Math.log(Math.tan(Math.PI/4+a/2)),new o.Point(s,a)},unproject:function(t){var e=o.LatLng.RAD_TO_DEG,i=t.x*e,n=(2*Math.atan(Math.exp(t.y))-Math.PI/2)*e;return new o.LatLng(n,i)}},o.Projection.LonLat={project:function(t){return new o.Point(t.lng,t.lat)},unproject:function(t){return new o.LatLng(t.y,t.x)}},o.CRS={latLngToPoint:function(t,e){var i=this.projection.project(t),n=this.scale(e);return this.transformation._transform(i,n)},pointToLatLng:function(t,e){var i=this.scale(e),n=this.transformation.untransform(t,i);return this.projection.unproject(n)},project:function(t){return this.projection.project(t)},scale:function(t){return 256*Math.pow(2,t)},getSize:function(t){var e=this.scale(t);return o.point(e,e)}},o.CRS.Simple=o.extend({},o.CRS,{projection:o.Projection.LonLat,transformation:new o.Transformation(1,0,-1,0),scale:function(t){return Math.pow(2,t)}}),o.CRS.EPSG3857=o.extend({},o.CRS,{code:"EPSG:3857",projection:o.Projection.SphericalMercator,transformation:new o.Transformation(.5/Math.PI,.5,-.5/Math.PI,.5),project:function(t){var e=this.projection.project(t),i=6378137;return e.multiplyBy(i)}}),o.CRS.EPSG900913=o.extend({},o.CRS.EPSG3857,{code:"EPSG:900913"}),o.CRS.EPSG4326=o.extend({},o.CRS,{code:"EPSG:4326",projection:o.Projection.LonLat,transformation:new o.Transformation(1/360,.5,-1/360,.5)}),o.Map=o.Class.extend({includes:o.Mixin.Events,options:{crs:o.CRS.EPSG3857,fadeAnimation:o.DomUtil.TRANSITION&&!o.Browser.android23,trackResize:!0,markerZoomAnimation:o.DomUtil.TRANSITION&&o.Browser.any3d},initialize:function(t,e){e=o.setOptions(this,e),this._initContainer(t),this._initLayout(),this._onResize=o.bind(this._onResize,this),this._initEvents(),e.maxBounds&&this.setMaxBounds(e.maxBounds),e.center&&e.zoom!==i&&this.setView(o.latLng(e.center),e.zoom,{reset:!0}),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._tileLayersNum=0,this.callInitHooks(),this._addLayers(e.layers)},setView:function(t,e){return e=e===i?this.getZoom():e,this._resetView(o.latLng(t),this._limitZoom(e)),this},setZoom:function(t,e){return this._loaded?this.setView(this.getCenter(),t,{zoom:e}):(this._zoom=this._limitZoom(t),this)},zoomIn:function(t,e){return this.setZoom(this._zoom+(t||1),e)},zoomOut:function(t,e){return this.setZoom(this._zoom-(t||1),e)},setZoomAround:function(t,e,i){var n=this.getZoomScale(e),s=this.getSize().divideBy(2),a=t instanceof o.Point?t:this.latLngToContainerPoint(t),r=a.subtract(s).multiplyBy(1-1/n),h=this.containerPointToLatLng(s.add(r));return this.setView(h,e,{zoom:i})},fitBounds:function(t,e){e=e||{},t=t.getBounds?t.getBounds():o.latLngBounds(t);var i=o.point(e.paddingTopLeft||e.padding||[0,0]),n=o.point(e.paddingBottomRight||e.padding||[0,0]),s=this.getBoundsZoom(t,!1,i.add(n));s=e.maxZoom?Math.min(e.maxZoom,s):s;var a=n.subtract(i).divideBy(2),r=this.project(t.getSouthWest(),s),h=this.project(t.getNorthEast(),s),l=this.unproject(r.add(h).divideBy(2).add(a),s);return this.setView(l,s,e)},fitWorld:function(t){return this.fitBounds([[-90,-180],[90,180]],t)},panTo:function(t,e){return this.setView(t,this._zoom,{pan:e})},panBy:function(t){return this.fire("movestart"),this._rawPanBy(o.point(t)),this.fire("move"),this.fire("moveend")},setMaxBounds:function(t){return t=o.latLngBounds(t),this.options.maxBounds=t,t?(this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds,this)):this.off("moveend",this._panInsideMaxBounds,this)},panInsideBounds:function(t,e){var i=this.getCenter(),n=this._limitCenter(i,this._zoom,t);return i.equals(n)?this:this.panTo(n,e)},addLayer:function(t){var e=o.stamp(t);return this._layers[e]?this:(this._layers[e]=t,!t.options||isNaN(t.options.maxZoom)&&isNaN(t.options.minZoom)||(this._zoomBoundLayers[e]=t,this._updateZoomLevels()),this.options.zoomAnimation&&o.TileLayer&&t instanceof o.TileLayer&&(this._tileLayersNum++,this._tileLayersToLoad++,t.on("load",this._onTileLayerLoad,this)),this._loaded&&this._layerAdd(t),this)},removeLayer:function(t){var e=o.stamp(t);return this._layers[e]?(this._loaded&&t.onRemove(this),delete this._layers[e],this._loaded&&this.fire("layerremove",{layer:t}),this._zoomBoundLayers[e]&&(delete this._zoomBoundLayers[e],this._updateZoomLevels()),this.options.zoomAnimation&&o.TileLayer&&t instanceof o.TileLayer&&(this._tileLayersNum--,this._tileLayersToLoad--,t.off("load",this._onTileLayerLoad,this)),this):this},hasLayer:function(t){return t?o.stamp(t)in this._layers:!1},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},invalidateSize:function(t){if(!this._loaded)return this;t=o.extend({animate:!1,pan:!0},t===!0?{animate:!0}:t);var e=this.getSize();this._sizeChanged=!0,this._initialCenter=null;var i=this.getSize(),n=e.divideBy(2).round(),s=i.divideBy(2).round(),a=n.subtract(s);return a.x||a.y?(t.animate&&t.pan?this.panBy(a):(t.pan&&this._rawPanBy(a),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(o.bind(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:e,newSize:i})):this},addHandler:function(t,e){if(!e)return this;var i=this[t]=new e(this);return this._handlers.push(i),this.options[t]&&i.enable(),this},remove:function(){this._loaded&&this.fire("unload"),this._initEvents("off");try{delete this._container._leaflet}catch(t){this._container._leaflet=i}return this._clearPanes(),this._clearControlPos&&this._clearControlPos(),this._clearHandlers(),this},getCenter:function(){return this._checkIfLoaded(),this._initialCenter&&!this._moved()?this._initialCenter:this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds(),e=this.unproject(t.getBottomLeft()),i=this.unproject(t.getTopRight());return new o.LatLngBounds(e,i)},getMinZoom:function(){return this.options.minZoom===i?this._layersMinZoom===i?0:this._layersMinZoom:this.options.minZoom},getMaxZoom:function(){return this.options.maxZoom===i?this._layersMaxZoom===i?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=o.latLngBounds(t);var n,s=this.getMinZoom()-(e?1:0),a=this.getMaxZoom(),r=this.getSize(),h=t.getNorthWest(),l=t.getSouthEast(),u=!0;i=o.point(i||[0,0]);do s++,n=this.project(l,s).subtract(this.project(h,s)).add(i),u=e?n.x=s);return u&&e?null:e?s:s-1},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new o.Point(this._container.clientWidth,this._container.clientHeight),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(){var t=this._getTopLeftPoint();return new o.Bounds(t,t.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._initialTopLeftPoint},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t){var e=this.options.crs;return e.scale(t)/e.scale(this._zoom)},getScaleZoom:function(t){return this._zoom+Math.log(t)/Math.LN2},project:function(t,e){return e=e===i?this._zoom:e,this.options.crs.latLngToPoint(o.latLng(t),e)},unproject:function(t,e){return e=e===i?this._zoom:e,this.options.crs.pointToLatLng(o.point(t),e)},layerPointToLatLng:function(t){var e=o.point(t).add(this.getPixelOrigin());return this.unproject(e)},latLngToLayerPoint:function(t){var e=this.project(o.latLng(t))._round();return e._subtract(this.getPixelOrigin())},containerPointToLayerPoint:function(t){return o.point(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return o.point(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var e=this.containerPointToLayerPoint(o.point(t));return this.layerPointToLatLng(e)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(o.latLng(t)))},mouseEventToContainerPoint:function(t){return o.DomEvent.getMousePosition(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var e=this._container=o.DomUtil.get(t);if(!e)throw new Error("Map container not found.");if(e._leaflet)throw new Error("Map container is already initialized.");e._leaflet=!0},_initLayout:function(){var t=this._container;o.DomUtil.addClass(t,"leaflet-container"+(o.Browser.touch?" leaflet-touch":"")+(o.Browser.retina?" leaflet-retina":"")+(o.Browser.ielt9?" leaflet-oldie":"")+(this.options.fadeAnimation?" leaflet-fade-anim":""));var e=o.DomUtil.getStyle(t,"position");"absolute"!==e&&"relative"!==e&&"fixed"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._mapPane=t.mapPane=this._createPane("leaflet-map-pane",this._container),this._tilePane=t.tilePane=this._createPane("leaflet-tile-pane",this._mapPane),t.objectsPane=this._createPane("leaflet-objects-pane",this._mapPane),t.shadowPane=this._createPane("leaflet-shadow-pane"),t.overlayPane=this._createPane("leaflet-overlay-pane"),t.markerPane=this._createPane("leaflet-marker-pane"),t.popupPane=this._createPane("leaflet-popup-pane");var e=" leaflet-zoom-hide";this.options.markerZoomAnimation||(o.DomUtil.addClass(t.markerPane,e),o.DomUtil.addClass(t.shadowPane,e),o.DomUtil.addClass(t.popupPane,e))},_createPane:function(t,e){return o.DomUtil.create("div",t,e||this._panes.objectsPane)},_clearPanes:function(){this._container.removeChild(this._mapPane)},_addLayers:function(t){t=t?o.Util.isArray(t)?t:[t]:[];for(var e=0,i=t.length;i>e;e++)this.addLayer(t[e])},_resetView:function(t,e,i,n){var s=this._zoom!==e;n||(this.fire("movestart"),s&&this.fire("zoomstart")),this._zoom=e,this._initialCenter=t,this._initialTopLeftPoint=this._getNewTopLeftPoint(t),i?this._initialTopLeftPoint._add(this._getMapPanePos()):o.DomUtil.setPosition(this._mapPane,new o.Point(0,0)),this._tileLayersToLoad=this._tileLayersNum;var a=!this._loaded;this._loaded=!0,this.fire("viewreset",{hard:!i}),a&&(this.fire("load"),this.eachLayer(this._layerAdd,this)),this.fire("move"),(s||n)&&this.fire("zoomend"),this.fire("moveend",{hard:!i})},_rawPanBy:function(t){o.DomUtil.setPosition(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_updateZoomLevels:function(){var t,e=1/0,n=-(1/0),o=this._getZoomSpan();for(t in this._zoomBoundLayers){var s=this._zoomBoundLayers[t];isNaN(s.options.minZoom)||(e=Math.min(e,s.options.minZoom)),isNaN(s.options.maxZoom)||(n=Math.max(n,s.options.maxZoom))}t===i?this._layersMaxZoom=this._layersMinZoom=i:(this._layersMaxZoom=n,this._layersMinZoom=e),o!==this._getZoomSpan()&&this.fire("zoomlevelschange")},_panInsideMaxBounds:function(){this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(e){if(o.DomEvent){e=e||"on",o.DomEvent[e](this._container,"click",this._onMouseClick,this);var i,n,s=["dblclick","mousedown","mouseup","mouseenter","mouseleave","mousemove","contextmenu"];for(i=0,n=s.length;n>i;i++)o.DomEvent[e](this._container,s[i],this._fireMouseEvent,this);this.options.trackResize&&o.DomEvent[e](t,"resize",this._onResize,this)}},_onResize:function(){o.Util.cancelAnimFrame(this._resizeRequest),this._resizeRequest=o.Util.requestAnimFrame(function(){this.invalidateSize({debounceMoveend:!0})},this,!1,this._container)},_onMouseClick:function(t){!this._loaded||!t._simulated&&(this.dragging&&this.dragging.moved()||this.boxZoom&&this.boxZoom.moved())||o.DomEvent._skipped(t)||(this.fire("preclick"),this._fireMouseEvent(t))},_fireMouseEvent:function(t){if(this._loaded&&!o.DomEvent._skipped(t)){var e=t.type;if(e="mouseenter"===e?"mouseover":"mouseleave"===e?"mouseout":e,this.hasEventListeners(e)){"contextmenu"===e&&o.DomEvent.preventDefault(t);var i=this.mouseEventToContainerPoint(t),n=this.containerPointToLayerPoint(i),s=this.layerPointToLatLng(n);this.fire(e,{latlng:s,layerPoint:n,containerPoint:i,originalEvent:t})}}},_onTileLayerLoad:function(){this._tileLayersToLoad--,this._tileLayersNum&&!this._tileLayersToLoad&&this.fire("tilelayersload")},_clearHandlers:function(){for(var t=0,e=this._handlers.length;e>t;t++)this._handlers[t].disable()},whenReady:function(t,e){return this._loaded?t.call(e||this,this):this.on("load",t,e),this},_layerAdd:function(t){t.onAdd(this),this.fire("layeradd",{layer:t})},_getMapPanePos:function(){return o.DomUtil.getPosition(this._mapPane)},_moved:function(){var t=this._getMapPanePos();return t&&!t.equals([0,0])},_getTopLeftPoint:function(){return this.getPixelOrigin().subtract(this._getMapPanePos())},_getNewTopLeftPoint:function(t,e){var i=this.getSize()._divideBy(2);return this.project(t,e)._subtract(i)._round()},_latLngToNewLayerPoint:function(t,e,i){var n=this._getNewTopLeftPoint(i,e).add(this._getMapPanePos());return this.project(t,e)._subtract(n)},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(t){return this.latLngToLayerPoint(t).subtract(this._getCenterLayerPoint())},_limitCenter:function(t,e,i){if(!i)return t;var n=this.project(t,e),s=this.getSize().divideBy(2),a=new o.Bounds(n.subtract(s),n.add(s)),r=this._getBoundsOffset(a,i,e);return this.unproject(n.add(r),e)},_limitOffset:function(t,e){if(!e)return t;var i=this.getPixelBounds(),n=new o.Bounds(i.min.add(t),i.max.add(t));return t.add(this._getBoundsOffset(n,e))},_getBoundsOffset:function(t,e,i){var n=this.project(e.getNorthWest(),i).subtract(t.min),s=this.project(e.getSouthEast(),i).subtract(t.max),a=this._rebound(n.x,-s.x),r=this._rebound(n.y,-s.y);return new o.Point(a,r)},_rebound:function(t,e){return t+e>0?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),i=this.getMaxZoom();return Math.max(e,Math.min(i,t))}}),o.map=function(t,e){return new o.Map(t,e)},o.Projection.Mercator={MAX_LATITUDE:85.0840591556,R_MINOR:6356752.314245179,R_MAJOR:6378137,project:function(t){var e=o.LatLng.DEG_TO_RAD,i=this.MAX_LATITUDE,n=Math.max(Math.min(i,t.lat),-i),s=this.R_MAJOR,a=this.R_MINOR,r=t.lng*e*s,h=n*e,l=a/s,u=Math.sqrt(1-l*l),c=u*Math.sin(h);c=Math.pow((1-c)/(1+c),.5*u);var d=Math.tan(.5*(.5*Math.PI-h))/c;return h=-s*Math.log(d),new o.Point(r,h)},unproject:function(t){for(var e,i=o.LatLng.RAD_TO_DEG,n=this.R_MAJOR,s=this.R_MINOR,a=t.x*i/n,r=s/n,h=Math.sqrt(1-r*r),l=Math.exp(-t.y/n),u=Math.PI/2-2*Math.atan(l),c=15,d=1e-7,p=c,_=.1;Math.abs(_)>d&&--p>0;)e=h*Math.sin(u),_=Math.PI/2-2*Math.atan(l*Math.pow((1-e)/(1+e),.5*h))-u,u+=_;return new o.LatLng(u*i,a)}},o.CRS.EPSG3395=o.extend({},o.CRS,{code:"EPSG:3395", -projection:o.Projection.Mercator,transformation:function(){var t=o.Projection.Mercator,e=t.R_MAJOR,i=.5/(Math.PI*e);return new o.Transformation(i,.5,-i,.5)}()}),o.TileLayer=o.Class.extend({includes:o.Mixin.Events,options:{minZoom:0,maxZoom:18,tileSize:256,subdomains:"abc",errorTileUrl:"",attribution:"",zoomOffset:0,opacity:1,unloadInvisibleTiles:o.Browser.mobile,updateWhenIdle:o.Browser.mobile},initialize:function(t,e){e=o.setOptions(this,e),e.detectRetina&&o.Browser.retina&&e.maxZoom>0&&(e.tileSize=Math.floor(e.tileSize/2),e.zoomOffset++,e.minZoom>0&&e.minZoom--,this.options.maxZoom--),e.bounds&&(e.bounds=o.latLngBounds(e.bounds)),this._url=t;var i=this.options.subdomains;"string"==typeof i&&(this.options.subdomains=i.split(""))},onAdd:function(t){this._map=t,this._animated=t._zoomAnimated,this._initContainer(),t.on({viewreset:this._reset,moveend:this._update},this),this._animated&&t.on({zoomanim:this._animateZoom,zoomend:this._endZoomAnim},this),this.options.updateWhenIdle||(this._limitedUpdate=o.Util.limitExecByInterval(this._update,150,this),t.on("move",this._limitedUpdate,this)),this._reset(),this._update()},addTo:function(t){return t.addLayer(this),this},onRemove:function(t){this._container.parentNode.removeChild(this._container),t.off({viewreset:this._reset,moveend:this._update},this),this._animated&&t.off({zoomanim:this._animateZoom,zoomend:this._endZoomAnim},this),this.options.updateWhenIdle||t.off("move",this._limitedUpdate,this),this._container=null,this._map=null},bringToFront:function(){var t=this._map._panes.tilePane;return this._container&&(t.appendChild(this._container),this._setAutoZIndex(t,Math.max)),this},bringToBack:function(){var t=this._map._panes.tilePane;return this._container&&(t.insertBefore(this._container,t.firstChild),this._setAutoZIndex(t,Math.min)),this},getAttribution:function(){return this.options.attribution},getContainer:function(){return this._container},setOpacity:function(t){return this.options.opacity=t,this._map&&this._updateOpacity(),this},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},setUrl:function(t,e){return this._url=t,e||this.redraw(),this},redraw:function(){return this._map&&(this._reset({hard:!0}),this._update()),this},_updateZIndex:function(){this._container&&this.options.zIndex!==i&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(t,e){var i,n,o,s=t.children,a=-e(1/0,-(1/0));for(n=0,o=s.length;o>n;n++)s[n]!==this._container&&(i=parseInt(s[n].style.zIndex,10),isNaN(i)||(a=e(a,i)));this.options.zIndex=this._container.style.zIndex=(isFinite(a)?a:0)+e(1,-1)},_updateOpacity:function(){var t,e=this._tiles;if(o.Browser.ielt9)for(t in e)o.DomUtil.setOpacity(e[t],this.options.opacity);else o.DomUtil.setOpacity(this._container,this.options.opacity)},_initContainer:function(){var t=this._map._panes.tilePane;if(!this._container){if(this._container=o.DomUtil.create("div","leaflet-layer"),this._updateZIndex(),this._animated){var e="leaflet-tile-container";this._bgBuffer=o.DomUtil.create("div",e,this._container),this._tileContainer=o.DomUtil.create("div",e,this._container)}else this._tileContainer=this._container;t.appendChild(this._container),this.options.opacity<1&&this._updateOpacity()}},_reset:function(t){for(var e in this._tiles)this.fire("tileunload",{tile:this._tiles[e]});this._tiles={},this._tilesToLoad=0,this.options.reuseTiles&&(this._unusedTiles=[]),this._tileContainer.innerHTML="",this._animated&&t&&t.hard&&this._clearBgBuffer(),this._initContainer()},_getTileSize:function(){var t=this._map,e=t.getZoom()+this.options.zoomOffset,i=this.options.maxNativeZoom,n=this.options.tileSize;return i&&e>i&&(n=Math.round(t.getZoomScale(e)/t.getZoomScale(i)*n)),n},_update:function(){if(this._map){var t=this._map,e=t.getPixelBounds(),i=t.getZoom(),n=this._getTileSize();if(!(i>this.options.maxZoom||in;n++)this._addTile(a[n],l);this._tileContainer.appendChild(l)}},_tileShouldBeLoaded:function(t){if(t.x+":"+t.y in this._tiles)return!1;var e=this.options;if(!e.continuousWorld){var i=this._getWrapTileNum();if(e.noWrap&&(t.x<0||t.x>=i.x)||t.y<0||t.y>=i.y)return!1}if(e.bounds){var n=this._getTileSize(),o=t.multiplyBy(n),s=o.add([n,n]),a=this._map.unproject(o),r=this._map.unproject(s);if(e.continuousWorld||e.noWrap||(a=a.wrap(),r=r.wrap()),!e.bounds.intersects([a,r]))return!1}return!0},_removeOtherTiles:function(t){var e,i,n,o;for(o in this._tiles)e=o.split(":"),i=parseInt(e[0],10),n=parseInt(e[1],10),(it.max.x||nt.max.y)&&this._removeTile(o)},_removeTile:function(t){var e=this._tiles[t];this.fire("tileunload",{tile:e,url:e.src}),this.options.reuseTiles?(o.DomUtil.removeClass(e,"leaflet-tile-loaded"),this._unusedTiles.push(e)):e.parentNode===this._tileContainer&&this._tileContainer.removeChild(e),o.Browser.android||(e.onload=null,e.src=o.Util.emptyImageUrl),delete this._tiles[t]},_addTile:function(t,e){var i=this._getTilePos(t),n=this._getTile();o.DomUtil.setPosition(n,i,o.Browser.chrome),this._tiles[t.x+":"+t.y]=n,this._loadTile(n,t),n.parentNode!==this._tileContainer&&e.appendChild(n)},_getZoomForUrl:function(){var t=this.options,e=this._map.getZoom();return t.zoomReverse&&(e=t.maxZoom-e),e+=t.zoomOffset,t.maxNativeZoom?Math.min(e,t.maxNativeZoom):e},_getTilePos:function(t){var e=this._map.getPixelOrigin(),i=this._getTileSize();return t.multiplyBy(i).subtract(e)},getTileUrl:function(t){return o.Util.template(this._url,o.extend({s:this._getSubdomain(t),z:t.z,x:t.x,y:t.y},this.options))},_getWrapTileNum:function(){var t=this._map.options.crs,e=t.getSize(this._map.getZoom());return e.divideBy(this._getTileSize())._floor()},_adjustTilePoint:function(t){var e=this._getWrapTileNum();this.options.continuousWorld||this.options.noWrap||(t.x=(t.x%e.x+e.x)%e.x),this.options.tms&&(t.y=e.y-t.y-1),t.z=this._getZoomForUrl()},_getSubdomain:function(t){var e=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[e]},_getTile:function(){if(this.options.reuseTiles&&this._unusedTiles.length>0){var t=this._unusedTiles.pop();return this._resetTile(t),t}return this._createTile()},_resetTile:function(){},_createTile:function(){var t=o.DomUtil.create("img","leaflet-tile");return t.style.width=t.style.height=this._getTileSize()+"px",t.galleryimg="no",t.onselectstart=t.onmousemove=o.Util.falseFn,o.Browser.ielt9&&this.options.opacity!==i&&o.DomUtil.setOpacity(t,this.options.opacity),o.Browser.mobileWebkit3d&&(t.style.WebkitBackfaceVisibility="hidden"),t},_loadTile:function(t,e){t._layer=this,t.onload=this._tileOnLoad,t.onerror=this._tileOnError,this._adjustTilePoint(e),t.src=this.getTileUrl(e),this.fire("tileloadstart",{tile:t,url:t.src})},_tileLoaded:function(){this._tilesToLoad--,this._animated&&o.DomUtil.addClass(this._tileContainer,"leaflet-zoom-animated"),this._tilesToLoad||(this.fire("load"),this._animated&&(clearTimeout(this._clearBgBufferTimer),this._clearBgBufferTimer=setTimeout(o.bind(this._clearBgBuffer,this),500)))},_tileOnLoad:function(){var t=this._layer;this.src!==o.Util.emptyImageUrl&&(o.DomUtil.addClass(this,"leaflet-tile-loaded"),t.fire("tileload",{tile:this,url:this.src})),t._tileLoaded()},_tileOnError:function(){var t=this._layer;t.fire("tileerror",{tile:this,url:this.src});var e=t.options.errorTileUrl;e&&(this.src=e),t._tileLoaded()}}),o.tileLayer=function(t,e){return new o.TileLayer(t,e)},o.TileLayer.WMS=o.TileLayer.extend({defaultWmsParams:{service:"WMS",request:"GetMap",version:"1.1.1",layers:"",styles:"",format:"image/jpeg",transparent:!1},initialize:function(t,e){this._url=t;var i=o.extend({},this.defaultWmsParams),n=e.tileSize||this.options.tileSize;e.detectRetina&&o.Browser.retina?i.width=i.height=2*n:i.width=i.height=n;for(var s in e)this.options.hasOwnProperty(s)||"crs"===s||(i[s]=e[s]);this.wmsParams=i,o.setOptions(this,e)},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var e=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[e]=this._crs.code,o.TileLayer.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._map,i=this.options.tileSize,n=t.multiplyBy(i),s=n.add([i,i]),a=this._crs.project(e.unproject(n,t.z)),r=this._crs.project(e.unproject(s,t.z)),h=this._wmsVersion>=1.3&&this._crs===o.CRS.EPSG4326?[r.y,a.x,a.y,r.x].join(","):[a.x,r.y,r.x,a.y].join(","),l=o.Util.template(this._url,{s:this._getSubdomain(t)});return l+o.Util.getParamString(this.wmsParams,l,!0)+"&BBOX="+h},setParams:function(t,e){return o.extend(this.wmsParams,t),e||this.redraw(),this}}),o.tileLayer.wms=function(t,e){return new o.TileLayer.WMS(t,e)},o.TileLayer.Canvas=o.TileLayer.extend({options:{async:!1},initialize:function(t){o.setOptions(this,t)},redraw:function(){this._map&&(this._reset({hard:!0}),this._update());for(var t in this._tiles)this._redrawTile(this._tiles[t]);return this},_redrawTile:function(t){this.drawTile(t,t._tilePoint,this._map._zoom)},_createTile:function(){var t=o.DomUtil.create("canvas","leaflet-tile");return t.width=t.height=this.options.tileSize,t.onselectstart=t.onmousemove=o.Util.falseFn,t},_loadTile:function(t,e){t._layer=this,t._tilePoint=e,this._redrawTile(t),this.options.async||this.tileDrawn(t)},drawTile:function(){},tileDrawn:function(t){this._tileOnLoad.call(t)}}),o.tileLayer.canvas=function(t){return new o.TileLayer.Canvas(t)},o.ImageOverlay=o.Class.extend({includes:o.Mixin.Events,options:{opacity:1},initialize:function(t,e,i){this._url=t,this._bounds=o.latLngBounds(e),o.setOptions(this,i)},onAdd:function(t){this._map=t,this._image||this._initImage(),t._panes.overlayPane.appendChild(this._image),t.on("viewreset",this._reset,this),t.options.zoomAnimation&&o.Browser.any3d&&t.on("zoomanim",this._animateZoom,this),this._reset()},onRemove:function(t){t.getPanes().overlayPane.removeChild(this._image),t.off("viewreset",this._reset,this),t.options.zoomAnimation&&t.off("zoomanim",this._animateZoom,this)},addTo:function(t){return t.addLayer(this),this},setOpacity:function(t){return this.options.opacity=t,this._updateOpacity(),this},bringToFront:function(){return this._image&&this._map._panes.overlayPane.appendChild(this._image),this},bringToBack:function(){var t=this._map._panes.overlayPane;return this._image&&t.insertBefore(this._image,t.firstChild),this},setUrl:function(t){this._url=t,this._image.src=this._url},getAttribution:function(){return this.options.attribution},_initImage:function(){this._image=o.DomUtil.create("img","leaflet-image-layer"),this._map.options.zoomAnimation&&o.Browser.any3d?o.DomUtil.addClass(this._image,"leaflet-zoom-animated"):o.DomUtil.addClass(this._image,"leaflet-zoom-hide"),this._updateOpacity(),o.extend(this._image,{galleryimg:"no",onselectstart:o.Util.falseFn,onmousemove:o.Util.falseFn,onload:o.bind(this._onImageLoad,this),src:this._url})},_animateZoom:function(t){var e=this._map,i=this._image,n=e.getZoomScale(t.zoom),s=this._bounds.getNorthWest(),a=this._bounds.getSouthEast(),r=e._latLngToNewLayerPoint(s,t.zoom,t.center),h=e._latLngToNewLayerPoint(a,t.zoom,t.center)._subtract(r),l=r._add(h._multiplyBy(.5*(1-1/n)));i.style[o.DomUtil.TRANSFORM]=o.DomUtil.getTranslateString(l)+" scale("+n+") "},_reset:function(){var t=this._image,e=this._map.latLngToLayerPoint(this._bounds.getNorthWest()),i=this._map.latLngToLayerPoint(this._bounds.getSouthEast())._subtract(e);o.DomUtil.setPosition(t,e),t.style.width=i.x+"px",t.style.height=i.y+"px"},_onImageLoad:function(){this.fire("load")},_updateOpacity:function(){o.DomUtil.setOpacity(this._image,this.options.opacity)}}),o.imageOverlay=function(t,e,i){return new o.ImageOverlay(t,e,i)},o.Icon=o.Class.extend({options:{className:""},initialize:function(t){o.setOptions(this,t)},createIcon:function(t){return this._createIcon("icon",t)},createShadow:function(t){return this._createIcon("shadow",t)},_createIcon:function(t,e){var i=this._getIconUrl(t);if(!i){if("icon"===t)throw new Error("iconUrl not set in Icon options (see the docs).");return null}var n;return n=e&&"IMG"===e.tagName?this._createImg(i,e):this._createImg(i),this._setIconStyles(n,t),n},_setIconStyles:function(t,e){var i,n=this.options,s=o.point(n[e+"Size"]);i="shadow"===e?o.point(n.shadowAnchor||n.iconAnchor):o.point(n.iconAnchor),!i&&s&&(i=s.divideBy(2,!0)),t.className="leaflet-marker-"+e+" "+n.className,i&&(t.style.marginLeft=-i.x+"px",t.style.marginTop=-i.y+"px"),s&&(t.style.width=s.x+"px",t.style.height=s.y+"px")},_createImg:function(t,i){return i=i||e.createElement("img"),i.src=t,i},_getIconUrl:function(t){return o.Browser.retina&&this.options[t+"RetinaUrl"]?this.options[t+"RetinaUrl"]:this.options[t+"Url"]}}),o.icon=function(t){return new o.Icon(t)},o.Icon.Default=o.Icon.extend({options:{iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],shadowSize:[41,41]},_getIconUrl:function(t){var e=t+"Url";if(this.options[e])return this.options[e];o.Browser.retina&&"icon"===t&&(t+="-2x");var i=o.Icon.Default.imagePath;if(!i)throw new Error("Couldn't autodetect L.Icon.Default.imagePath, set it manually.");return i+"/marker-"+t+".png"}}),o.Icon.Default.imagePath=function(){var t,i,n,o,s,a=e.getElementsByTagName("script"),r=/[\/^]leaflet[\-\._]?([\w\-\._]*)\.js\??/;for(t=0,i=a.length;i>t;t++)if(n=a[t].src,o=n.match(r))return s=n.split(r)[0],(s?s+"/":"")+"images"}(),o.Marker=o.Class.extend({includes:o.Mixin.Events,options:{icon:new o.Icon.Default,title:"",alt:"",clickable:!0,draggable:!1,keyboard:!0,zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250},initialize:function(t,e){o.setOptions(this,e),this._latlng=o.latLng(t)},onAdd:function(t){this._map=t,t.on("viewreset",this.update,this),this._initIcon(),this.update(),this.fire("add"),t.options.zoomAnimation&&t.options.markerZoomAnimation&&t.on("zoomanim",this._animateZoom,this)},addTo:function(t){return t.addLayer(this),this},onRemove:function(t){this.dragging&&this.dragging.disable(),this._removeIcon(),this._removeShadow(),this.fire("remove"),t.off({viewreset:this.update,zoomanim:this._animateZoom},this),this._map=null},getLatLng:function(){return this._latlng},setLatLng:function(t){return this._latlng=o.latLng(t),this.update(),this.fire("move",{latlng:this._latlng})},setZIndexOffset:function(t){return this.options.zIndexOffset=t,this.update(),this},setIcon:function(t){return this.options.icon=t,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup),this},update:function(){return this._icon&&this._setPos(this._map.latLngToLayerPoint(this._latlng).round()),this},_initIcon:function(){var t=this.options,e=this._map,i=e.options.zoomAnimation&&e.options.markerZoomAnimation,n=i?"leaflet-zoom-animated":"leaflet-zoom-hide",s=t.icon.createIcon(this._icon),a=!1;s!==this._icon&&(this._icon&&this._removeIcon(),a=!0,t.title&&(s.title=t.title),t.alt&&(s.alt=t.alt)),o.DomUtil.addClass(s,n),t.keyboard&&(s.tabIndex="0"),this._icon=s,this._initInteraction(),t.riseOnHover&&o.DomEvent.on(s,"mouseover",this._bringToFront,this).on(s,"mouseout",this._resetZIndex,this);var r=t.icon.createShadow(this._shadow),h=!1;r!==this._shadow&&(this._removeShadow(),h=!0),r&&o.DomUtil.addClass(r,n),this._shadow=r,t.opacity<1&&this._updateOpacity();var l=this._map._panes;a&&l.markerPane.appendChild(this._icon),r&&h&&l.shadowPane.appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&o.DomEvent.off(this._icon,"mouseover",this._bringToFront).off(this._icon,"mouseout",this._resetZIndex),this._map._panes.markerPane.removeChild(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&this._map._panes.shadowPane.removeChild(this._shadow),this._shadow=null},_setPos:function(t){o.DomUtil.setPosition(this._icon,t),this._shadow&&o.DomUtil.setPosition(this._shadow,t),this._zIndex=t.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(t){this._icon.style.zIndex=this._zIndex+t},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center).round();this._setPos(e)},_initInteraction:function(){if(this.options.clickable){var t=this._icon,e=["dblclick","mousedown","mouseover","mouseout","contextmenu"];o.DomUtil.addClass(t,"leaflet-clickable"),o.DomEvent.on(t,"click",this._onMouseClick,this),o.DomEvent.on(t,"keypress",this._onKeyPress,this);for(var i=0;is?(e.height=s+"px",o.DomUtil.addClass(t,a)):o.DomUtil.removeClass(t,a),this._containerWidth=this._container.offsetWidth},_updatePosition:function(){if(this._map){var t=this._map.latLngToLayerPoint(this._latlng),e=this._animated,i=o.point(this.options.offset);e&&o.DomUtil.setPosition(this._container,t),this._containerBottom=-i.y-(e?0:t.y),this._containerLeft=-Math.round(this._containerWidth/2)+i.x+(e?0:t.x),this._container.style.bottom=this._containerBottom+"px",this._container.style.left=this._containerLeft+"px"}},_zoomAnimation:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center);o.DomUtil.setPosition(this._container,e)},_adjustPan:function(){if(this.options.autoPan){var t=this._map,e=this._container.offsetHeight,i=this._containerWidth,n=new o.Point(this._containerLeft,-e-this._containerBottom);this._animated&&n._add(o.DomUtil.getPosition(this._container));var s=t.layerPointToContainerPoint(n),a=o.point(this.options.autoPanPadding),r=o.point(this.options.autoPanPaddingTopLeft||a),h=o.point(this.options.autoPanPaddingBottomRight||a),l=t.getSize(),u=0,c=0;s.x+i+h.x>l.x&&(u=s.x+i-l.x+h.x),s.x-u-r.x<0&&(u=s.x-r.x),s.y+e+h.y>l.y&&(c=s.y+e-l.y+h.y),s.y-c-r.y<0&&(c=s.y-r.y),(u||c)&&t.fire("autopanstart").panBy([u,c])}},_onCloseButtonClick:function(t){this._close(),o.DomEvent.stop(t)}}),o.popup=function(t,e){return new o.Popup(t,e)},o.Map.include({openPopup:function(t,e,i){if(this.closePopup(),!(t instanceof o.Popup)){var n=t;t=new o.Popup(i).setLatLng(e).setContent(n)}return t._isOpen=!0,this._popup=t,this.addLayer(t)},closePopup:function(t){return t&&t!==this._popup||(t=this._popup,this._popup=null),t&&(this.removeLayer(t),t._isOpen=!1),this}}),o.Marker.include({openPopup:function(){return this._popup&&this._map&&!this._map.hasLayer(this._popup)&&(this._popup.setLatLng(this._latlng),this._map.openPopup(this._popup)),this},closePopup:function(){return this._popup&&this._popup._close(),this},togglePopup:function(){return this._popup&&(this._popup._isOpen?this.closePopup():this.openPopup()),this},bindPopup:function(t,e){var i=o.point(this.options.icon.options.popupAnchor||[0,0]);return i=i.add(o.Popup.prototype.options.offset),e&&e.offset&&(i=i.add(e.offset)),e=o.extend({offset:i},e),this._popupHandlersAdded||(this.on("click",this.togglePopup,this).on("remove",this.closePopup,this).on("move",this._movePopup,this),this._popupHandlersAdded=!0),t instanceof o.Popup?(o.setOptions(t,e),this._popup=t,t._source=this):this._popup=new o.Popup(e,this).setContent(t),this},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},unbindPopup:function(){return this._popup&&(this._popup=null,this.off("click",this.togglePopup,this).off("remove",this.closePopup,this).off("move",this._movePopup,this),this._popupHandlersAdded=!1),this},getPopup:function(){return this._popup},_movePopup:function(t){this._popup.setLatLng(t.latlng)}}),o.LayerGroup=o.Class.extend({initialize:function(t){this._layers={};var e,i;if(t)for(e=0,i=t.length;i>e;e++)this.addLayer(t[e])},addLayer:function(t){var e=this.getLayerId(t);return this._layers[e]=t,this._map&&this._map.addLayer(t),this},removeLayer:function(t){var e=t in this._layers?t:this.getLayerId(t);return this._map&&this._layers[e]&&this._map.removeLayer(this._layers[e]),delete this._layers[e],this},hasLayer:function(t){return t?t in this._layers||this.getLayerId(t)in this._layers:!1},clearLayers:function(){return this.eachLayer(this.removeLayer,this),this},invoke:function(t){var e,i,n=Array.prototype.slice.call(arguments,1);for(e in this._layers)i=this._layers[e],i[t]&&i[t].apply(i,n);return this},onAdd:function(t){this._map=t,this.eachLayer(t.addLayer,t)},onRemove:function(t){this.eachLayer(t.removeLayer,t),this._map=null},addTo:function(t){return t.addLayer(this),this},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},getLayer:function(t){return this._layers[t]},getLayers:function(){var t=[];for(var e in this._layers)t.push(this._layers[e]);return t},setZIndex:function(t){return this.invoke("setZIndex",t)},getLayerId:function(t){return o.stamp(t)}}),o.layerGroup=function(t){return new o.LayerGroup(t)},o.FeatureGroup=o.LayerGroup.extend({includes:o.Mixin.Events,statics:{EVENTS:"click dblclick mouseover mouseout mousemove contextmenu popupopen popupclose"},addLayer:function(t){return this.hasLayer(t)?this:("on"in t&&t.on(o.FeatureGroup.EVENTS,this._propagateEvent,this),o.LayerGroup.prototype.addLayer.call(this,t),this._popupContent&&t.bindPopup&&t.bindPopup(this._popupContent,this._popupOptions),this.fire("layeradd",{layer:t}))},removeLayer:function(t){return this.hasLayer(t)?(t in this._layers&&(t=this._layers[t]),t.off(o.FeatureGroup.EVENTS,this._propagateEvent,this),o.LayerGroup.prototype.removeLayer.call(this,t),this._popupContent&&this.invoke("unbindPopup"),this.fire("layerremove",{layer:t})):this},bindPopup:function(t,e){return this._popupContent=t,this._popupOptions=e,this.invoke("bindPopup",t,e)},openPopup:function(t){for(var e in this._layers){this._layers[e].openPopup(t);break}return this},setStyle:function(t){return this.invoke("setStyle",t)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var t=new o.LatLngBounds;return this.eachLayer(function(e){t.extend(e instanceof o.Marker?e.getLatLng():e.getBounds())}),t},_propagateEvent:function(t){t=o.extend({layer:t.target,target:this},t),this.fire(t.type,t)}}),o.featureGroup=function(t){return new o.FeatureGroup(t)},o.Path=o.Class.extend({includes:[o.Mixin.Events],statics:{CLIP_PADDING:function(){var e=o.Browser.mobile?1280:2e3,i=(e/Math.max(t.outerWidth,t.outerHeight)-1)/2;return Math.max(0,Math.min(.5,i))}()},options:{stroke:!0,color:"#0033ff",dashArray:null,lineCap:null,lineJoin:null,weight:5,opacity:.5,fill:!1,fillColor:null,fillOpacity:.2,clickable:!0},initialize:function(t){o.setOptions(this,t)},onAdd:function(t){this._map=t,this._container||(this._initElements(),this._initEvents()),this.projectLatlngs(),this._updatePath(),this._container&&this._map._pathRoot.appendChild(this._container),this.fire("add"),t.on({viewreset:this.projectLatlngs,moveend:this._updatePath},this)},addTo:function(t){return t.addLayer(this),this},onRemove:function(t){t._pathRoot.removeChild(this._container),this.fire("remove"),this._map=null,o.Browser.vml&&(this._container=null,this._stroke=null,this._fill=null),t.off({viewreset:this.projectLatlngs,moveend:this._updatePath},this)},projectLatlngs:function(){},setStyle:function(t){return o.setOptions(this,t),this._container&&this._updateStyle(),this},redraw:function(){return this._map&&(this.projectLatlngs(),this._updatePath()),this}}),o.Map.include({_updatePathViewport:function(){var t=o.Path.CLIP_PADDING,e=this.getSize(),i=o.DomUtil.getPosition(this._mapPane),n=i.multiplyBy(-1)._subtract(e.multiplyBy(t)._round()),s=n.add(e.multiplyBy(1+2*t)._round());this._pathViewport=new o.Bounds(n,s)}}),o.Path.SVG_NS="http://www.w3.org/2000/svg",o.Browser.svg=!(!e.createElementNS||!e.createElementNS(o.Path.SVG_NS,"svg").createSVGRect),o.Path=o.Path.extend({statics:{SVG:o.Browser.svg},bringToFront:function(){var t=this._map._pathRoot,e=this._container;return e&&t.lastChild!==e&&t.appendChild(e),this},bringToBack:function(){var t=this._map._pathRoot,e=this._container,i=t.firstChild;return e&&i!==e&&t.insertBefore(e,i),this},getPathString:function(){},_createElement:function(t){return e.createElementNS(o.Path.SVG_NS,t)},_initElements:function(){this._map._initPathRoot(),this._initPath(),this._initStyle()},_initPath:function(){this._container=this._createElement("g"),this._path=this._createElement("path"),this.options.className&&o.DomUtil.addClass(this._path,this.options.className),this._container.appendChild(this._path)},_initStyle:function(){this.options.stroke&&(this._path.setAttribute("stroke-linejoin","round"),this._path.setAttribute("stroke-linecap","round")),this.options.fill&&this._path.setAttribute("fill-rule","evenodd"),this.options.pointerEvents&&this._path.setAttribute("pointer-events",this.options.pointerEvents),this.options.clickable||this.options.pointerEvents||this._path.setAttribute("pointer-events","none"),this._updateStyle()},_updateStyle:function(){this.options.stroke?(this._path.setAttribute("stroke",this.options.color),this._path.setAttribute("stroke-opacity",this.options.opacity),this._path.setAttribute("stroke-width",this.options.weight),this.options.dashArray?this._path.setAttribute("stroke-dasharray",this.options.dashArray):this._path.removeAttribute("stroke-dasharray"),this.options.lineCap&&this._path.setAttribute("stroke-linecap",this.options.lineCap),this.options.lineJoin&&this._path.setAttribute("stroke-linejoin",this.options.lineJoin)):this._path.setAttribute("stroke","none"),this.options.fill?(this._path.setAttribute("fill",this.options.fillColor||this.options.color),this._path.setAttribute("fill-opacity",this.options.fillOpacity)):this._path.setAttribute("fill","none")},_updatePath:function(){var t=this.getPathString();t||(t="M0 0"),this._path.setAttribute("d",t)},_initEvents:function(){if(this.options.clickable){(o.Browser.svg||!o.Browser.vml)&&o.DomUtil.addClass(this._path,"leaflet-clickable"),o.DomEvent.on(this._container,"click",this._onMouseClick,this);for(var t=["dblclick","mousedown","mouseover","mouseout","mousemove","contextmenu"],e=0;e';var i=t.firstChild;return i.style.behavior="url(#default#VML)",i&&"object"==typeof i.adj}catch(n){return!1}}(),o.Path=o.Browser.svg||!o.Browser.vml?o.Path:o.Path.extend({statics:{VML:!0,CLIP_PADDING:.02},_createElement:function(){try{return e.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(t){return e.createElement("')}}catch(t){return function(t){return e.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}}(),_initPath:function(){var t=this._container=this._createElement("shape");o.DomUtil.addClass(t,"leaflet-vml-shape"+(this.options.className?" "+this.options.className:"")),this.options.clickable&&o.DomUtil.addClass(t,"leaflet-clickable"),t.coordsize="1 1",this._path=this._createElement("path"),t.appendChild(this._path),this._map._pathRoot.appendChild(t)},_initStyle:function(){this._updateStyle()},_updateStyle:function(){var t=this._stroke,e=this._fill,i=this.options,n=this._container;n.stroked=i.stroke,n.filled=i.fill,i.stroke?(t||(t=this._stroke=this._createElement("stroke"),t.endcap="round",n.appendChild(t)),t.weight=i.weight+"px",t.color=i.color,t.opacity=i.opacity,i.dashArray?t.dashStyle=o.Util.isArray(i.dashArray)?i.dashArray.join(" "):i.dashArray.replace(/( *, *)/g," "):t.dashStyle="",i.lineCap&&(t.endcap=i.lineCap.replace("butt","flat")),i.lineJoin&&(t.joinstyle=i.lineJoin)):t&&(n.removeChild(t),this._stroke=null),i.fill?(e||(e=this._fill=this._createElement("fill"),n.appendChild(e)),e.color=i.fillColor||i.color,e.opacity=i.fillOpacity):e&&(n.removeChild(e),this._fill=null)},_updatePath:function(){var t=this._container.style;t.display="none",this._path.v=this.getPathString()+" ",t.display=""}}),o.Map.include(o.Browser.svg||!o.Browser.vml?{}:{_initPathRoot:function(){if(!this._pathRoot){var t=this._pathRoot=e.createElement("div");t.className="leaflet-vml-container",this._panes.overlayPane.appendChild(t),this.on("moveend",this._updatePathViewport),this._updatePathViewport()}}}),o.Browser.canvas=function(){return!!e.createElement("canvas").getContext}(),o.Path=o.Path.SVG&&!t.L_PREFER_CANVAS||!o.Browser.canvas?o.Path:o.Path.extend({statics:{CANVAS:!0,SVG:!1},redraw:function(){return this._map&&(this.projectLatlngs(),this._requestUpdate()),this},setStyle:function(t){return o.setOptions(this,t),this._map&&(this._updateStyle(),this._requestUpdate()),this},onRemove:function(t){t.off("viewreset",this.projectLatlngs,this).off("moveend",this._updatePath,this),this.options.clickable&&(this._map.off("click",this._onClick,this),this._map.off("mousemove",this._onMouseMove,this)),this._requestUpdate(),this.fire("remove"),this._map=null},_requestUpdate:function(){this._map&&!o.Path._updateRequest&&(o.Path._updateRequest=o.Util.requestAnimFrame(this._fireMapMoveEnd,this._map))},_fireMapMoveEnd:function(){o.Path._updateRequest=null,this.fire("moveend")},_initElements:function(){this._map._initPathRoot(),this._ctx=this._map._canvasCtx},_updateStyle:function(){var t=this.options;t.stroke&&(this._ctx.lineWidth=t.weight,this._ctx.strokeStyle=t.color),t.fill&&(this._ctx.fillStyle=t.fillColor||t.color),t.lineCap&&(this._ctx.lineCap=t.lineCap),t.lineJoin&&(this._ctx.lineJoin=t.lineJoin)},_drawPath:function(){var t,e,i,n,s,a;for(this._ctx.beginPath(),t=0,i=this._parts.length;i>t;t++){for(e=0,n=this._parts[t].length;n>e;e++)s=this._parts[t][e],a=(0===e?"move":"line")+"To",this._ctx[a](s.x,s.y);this instanceof o.Polygon&&this._ctx.closePath()}},_checkIfEmpty:function(){return!this._parts.length},_updatePath:function(){if(!this._checkIfEmpty()){var t=this._ctx,e=this.options;this._drawPath(),t.save(),this._updateStyle(),e.fill&&(t.globalAlpha=e.fillOpacity,t.fill(e.fillRule||"evenodd")),e.stroke&&(t.globalAlpha=e.opacity,t.stroke()),t.restore()}},_initEvents:function(){this.options.clickable&&(this._map.on("mousemove",this._onMouseMove,this),this._map.on("click dblclick contextmenu",this._fireMouseEvent,this))},_fireMouseEvent:function(t){this._containsPoint(t.layerPoint)&&this.fire(t.type,t)},_onMouseMove:function(t){this._map&&!this._map._animatingZoom&&(this._containsPoint(t.layerPoint)?(this._ctx.canvas.style.cursor="pointer",this._mouseInside=!0,this.fire("mouseover",t)):this._mouseInside&&(this._ctx.canvas.style.cursor="",this._mouseInside=!1,this.fire("mouseout",t)))}}),o.Map.include(o.Path.SVG&&!t.L_PREFER_CANVAS||!o.Browser.canvas?{}:{_initPathRoot:function(){var t,i=this._pathRoot;i||(i=this._pathRoot=e.createElement("canvas"),i.style.position="absolute",t=this._canvasCtx=i.getContext("2d"),t.lineCap="round",t.lineJoin="round",this._panes.overlayPane.appendChild(i),this.options.zoomAnimation&&(this._pathRoot.className="leaflet-zoom-animated",this.on("zoomanim",this._animatePathZoom),this.on("zoomend",this._endPathZoom)),this.on("moveend",this._updateCanvasViewport),this._updateCanvasViewport())},_updateCanvasViewport:function(){if(!this._pathZooming){this._updatePathViewport();var t=this._pathViewport,e=t.min,i=t.max.subtract(e),n=this._pathRoot;o.DomUtil.setPosition(n,e),n.width=i.x,n.height=i.y,n.getContext("2d").translate(-e.x,-e.y)}}}),o.LineUtil={simplify:function(t,e){if(!e||!t.length)return t.slice();var i=e*e;return t=this._reducePoints(t,i),t=this._simplifyDP(t,i)},pointToSegmentDistance:function(t,e,i){return Math.sqrt(this._sqClosestPointOnSegment(t,e,i,!0))},closestPointOnSegment:function(t,e,i){return this._sqClosestPointOnSegment(t,e,i)},_simplifyDP:function(t,e){var n=t.length,o=typeof Uint8Array!=i+""?Uint8Array:Array,s=new o(n);s[0]=s[n-1]=1,this._simplifyDPStep(t,s,e,0,n-1);var a,r=[];for(a=0;n>a;a++)s[a]&&r.push(t[a]);return r},_simplifyDPStep:function(t,e,i,n,o){var s,a,r,h=0;for(a=n+1;o-1>=a;a++)r=this._sqClosestPointOnSegment(t[a],t[n],t[o],!0),r>h&&(s=a,h=r);h>i&&(e[s]=1,this._simplifyDPStep(t,e,i,n,s),this._simplifyDPStep(t,e,i,s,o))},_reducePoints:function(t,e){for(var i=[t[0]],n=1,o=0,s=t.length;s>n;n++)this._sqDist(t[n],t[o])>e&&(i.push(t[n]),o=n);return s-1>o&&i.push(t[s-1]),i},clipSegment:function(t,e,i,n){var o,s,a,r=n?this._lastCode:this._getBitCode(t,i),h=this._getBitCode(e,i);for(this._lastCode=h;;){if(!(r|h))return[t,e];if(r&h)return!1;o=r||h,s=this._getEdgeIntersection(t,e,o,i),a=this._getBitCode(s,i),o===r?(t=s,r=a):(e=s,h=a)}},_getEdgeIntersection:function(t,e,i,n){var s=e.x-t.x,a=e.y-t.y,r=n.min,h=n.max;return 8&i?new o.Point(t.x+s*(h.y-t.y)/a,h.y):4&i?new o.Point(t.x+s*(r.y-t.y)/a,r.y):2&i?new o.Point(h.x,t.y+a*(h.x-t.x)/s):1&i?new o.Point(r.x,t.y+a*(r.x-t.x)/s):void 0},_getBitCode:function(t,e){var i=0;return t.xe.max.x&&(i|=2),t.ye.max.y&&(i|=8),i},_sqDist:function(t,e){var i=e.x-t.x,n=e.y-t.y;return i*i+n*n},_sqClosestPointOnSegment:function(t,e,i,n){var s,a=e.x,r=e.y,h=i.x-a,l=i.y-r,u=h*h+l*l;return u>0&&(s=((t.x-a)*h+(t.y-r)*l)/u,s>1?(a=i.x,r=i.y):s>0&&(a+=h*s,r+=l*s)),h=t.x-a,l=t.y-r,n?h*h+l*l:new o.Point(a,r)}},o.Polyline=o.Path.extend({initialize:function(t,e){o.Path.prototype.initialize.call(this,e),this._latlngs=this._convertLatLngs(t)},options:{smoothFactor:1,noClip:!1},projectLatlngs:function(){this._originalPoints=[];for(var t=0,e=this._latlngs.length;e>t;t++)this._originalPoints[t]=this._map.latLngToLayerPoint(this._latlngs[t])},getPathString:function(){for(var t=0,e=this._parts.length,i="";e>t;t++)i+=this._getPathPartStr(this._parts[t]);return i},getLatLngs:function(){return this._latlngs},setLatLngs:function(t){return this._latlngs=this._convertLatLngs(t),this.redraw()},addLatLng:function(t){return this._latlngs.push(o.latLng(t)),this.redraw()},spliceLatLngs:function(){var t=[].splice.apply(this._latlngs,arguments);return this._convertLatLngs(this._latlngs,!0),this.redraw(),t},closestLayerPoint:function(t){for(var e,i,n=1/0,s=this._parts,a=null,r=0,h=s.length;h>r;r++)for(var l=s[r],u=1,c=l.length;c>u;u++){e=l[u-1],i=l[u];var d=o.LineUtil._sqClosestPointOnSegment(t,e,i,!0);n>d&&(n=d,a=o.LineUtil._sqClosestPointOnSegment(t,e,i))}return a&&(a.distance=Math.sqrt(n)),a},getBounds:function(){return new o.LatLngBounds(this.getLatLngs())},_convertLatLngs:function(t,e){var i,n,s=e?t:[];for(i=0,n=t.length;n>i;i++){if(o.Util.isArray(t[i])&&"number"!=typeof t[i][0])return;s[i]=o.latLng(t[i])}return s},_initEvents:function(){o.Path.prototype._initEvents.call(this)},_getPathPartStr:function(t){for(var e,i=o.Path.VML,n=0,s=t.length,a="";s>n;n++)e=t[n],i&&e._round(),a+=(n?"L":"M")+e.x+" "+e.y;return a},_clipPoints:function(){var t,e,i,n=this._originalPoints,s=n.length;if(this.options.noClip)return void(this._parts=[n]);this._parts=[];var a=this._parts,r=this._map._pathViewport,h=o.LineUtil;for(t=0,e=0;s-1>t;t++)i=h.clipSegment(n[t],n[t+1],r,t),i&&(a[e]=a[e]||[],a[e].push(i[0]),(i[1]!==n[t+1]||t===s-2)&&(a[e].push(i[1]),e++))},_simplifyPoints:function(){for(var t=this._parts,e=o.LineUtil,i=0,n=t.length;n>i;i++)t[i]=e.simplify(t[i],this.options.smoothFactor)},_updatePath:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),o.Path.prototype._updatePath.call(this))}}),o.polyline=function(t,e){return new o.Polyline(t,e)},o.PolyUtil={},o.PolyUtil.clipPolygon=function(t,e){var i,n,s,a,r,h,l,u,c,d=[1,4,2,8],p=o.LineUtil;for(n=0,l=t.length;l>n;n++)t[n]._code=p._getBitCode(t[n],e);for(a=0;4>a;a++){for(u=d[a],i=[],n=0,l=t.length,s=l-1;l>n;s=n++)r=t[n],h=t[s],r._code&u?h._code&u||(c=p._getEdgeIntersection(h,r,u,e),c._code=p._getBitCode(c,e),i.push(c)):(h._code&u&&(c=p._getEdgeIntersection(h,r,u,e),c._code=p._getBitCode(c,e),i.push(c)),i.push(r));t=i}return t},o.Polygon=o.Polyline.extend({options:{fill:!0},initialize:function(t,e){o.Polyline.prototype.initialize.call(this,t,e),this._initWithHoles(t)},_initWithHoles:function(t){var e,i,n;if(t&&o.Util.isArray(t[0])&&"number"!=typeof t[0][0])for(this._latlngs=this._convertLatLngs(t[0]),this._holes=t.slice(1),e=0,i=this._holes.length;i>e;e++)n=this._holes[e]=this._convertLatLngs(this._holes[e]),n[0].equals(n[n.length-1])&&n.pop();t=this._latlngs,t.length>=2&&t[0].equals(t[t.length-1])&&t.pop()},projectLatlngs:function(){if(o.Polyline.prototype.projectLatlngs.call(this),this._holePoints=[],this._holes){var t,e,i,n;for(t=0,i=this._holes.length;i>t;t++)for(this._holePoints[t]=[],e=0,n=this._holes[t].length;n>e;e++)this._holePoints[t][e]=this._map.latLngToLayerPoint(this._holes[t][e])}},setLatLngs:function(t){return t&&o.Util.isArray(t[0])&&"number"!=typeof t[0][0]?(this._initWithHoles(t),this.redraw()):o.Polyline.prototype.setLatLngs.call(this,t)},_clipPoints:function(){var t=this._originalPoints,e=[];if(this._parts=[t].concat(this._holePoints),!this.options.noClip){for(var i=0,n=this._parts.length;n>i;i++){var s=o.PolyUtil.clipPolygon(this._parts[i],this._map._pathViewport);s.length&&e.push(s)}this._parts=e}},_getPathPartStr:function(t){var e=o.Polyline.prototype._getPathPartStr.call(this,t);return e+(o.Browser.svg?"z":"x")}}),o.polygon=function(t,e){return new o.Polygon(t,e)},function(){function t(t){return o.FeatureGroup.extend({initialize:function(t,e){this._layers={},this._options=e,this.setLatLngs(t)},setLatLngs:function(e){var i=0,n=e.length;for(this.eachLayer(function(t){n>i?t.setLatLngs(e[i++]):this.removeLayer(t)},this);n>i;)this.addLayer(new t(e[i++],this._options));return this},getLatLngs:function(){var t=[];return this.eachLayer(function(e){t.push(e.getLatLngs())}),t}})}o.MultiPolyline=t(o.Polyline),o.MultiPolygon=t(o.Polygon),o.multiPolyline=function(t,e){return new o.MultiPolyline(t,e)},o.multiPolygon=function(t,e){return new o.MultiPolygon(t,e)}}(),o.Rectangle=o.Polygon.extend({initialize:function(t,e){o.Polygon.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return t=o.latLngBounds(t),[t.getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}}),o.rectangle=function(t,e){return new o.Rectangle(t,e)},o.Circle=o.Path.extend({initialize:function(t,e,i){o.Path.prototype.initialize.call(this,i),this._latlng=o.latLng(t),this._mRadius=e},options:{fill:!0},setLatLng:function(t){return this._latlng=o.latLng(t),this.redraw()},setRadius:function(t){return this._mRadius=t,this.redraw()},projectLatlngs:function(){var t=this._getLngRadius(),e=this._latlng,i=this._map.latLngToLayerPoint([e.lat,e.lng-t]);this._point=this._map.latLngToLayerPoint(e),this._radius=Math.max(this._point.x-i.x,1)},getBounds:function(){var t=this._getLngRadius(),e=this._mRadius/40075017*360,i=this._latlng;return new o.LatLngBounds([i.lat-e,i.lng-t],[i.lat+e,i.lng+t])},getLatLng:function(){return this._latlng},getPathString:function(){var t=this._point,e=this._radius;return this._checkIfEmpty()?"":o.Browser.svg?"M"+t.x+","+(t.y-e)+"A"+e+","+e+",0,1,1,"+(t.x-.1)+","+(t.y-e)+" z":(t._round(),e=Math.round(e),"AL "+t.x+","+t.y+" "+e+","+e+" 0,23592600")},getRadius:function(){return this._mRadius},_getLatRadius:function(){return this._mRadius/40075017*360},_getLngRadius:function(){return this._getLatRadius()/Math.cos(o.LatLng.DEG_TO_RAD*this._latlng.lat)},_checkIfEmpty:function(){if(!this._map)return!1;var t=this._map._pathViewport,e=this._radius,i=this._point;return i.x-e>t.max.x||i.y-e>t.max.y||i.x+ei;i++)for(l=this._parts[i],n=0,r=l.length,s=r-1;r>n;s=n++)if((e||0!==n)&&(h=o.LineUtil.pointToSegmentDistance(t,l[s],l[n]),u>=h))return!0;return!1}}:{}),o.Polygon.include(o.Path.CANVAS?{_containsPoint:function(t){var e,i,n,s,a,r,h,l,u=!1;if(o.Polyline.prototype._containsPoint.call(this,t,!0))return!0;for(s=0,h=this._parts.length;h>s;s++)for(e=this._parts[s],a=0,l=e.length,r=l-1;l>a;r=a++)i=e[a],n=e[r],i.y>t.y!=n.y>t.y&&t.x<(n.x-i.x)*(t.y-i.y)/(n.y-i.y)+i.x&&(u=!u);return u}}:{}),o.Circle.include(o.Path.CANVAS?{_drawPath:function(){var t=this._point;this._ctx.beginPath(),this._ctx.arc(t.x,t.y,this._radius,0,2*Math.PI,!1)},_containsPoint:function(t){var e=this._point,i=this.options.stroke?this.options.weight/2:0;return t.distanceTo(e)<=this._radius+i}}:{}),o.CircleMarker.include(o.Path.CANVAS?{_updateStyle:function(){o.Path.prototype._updateStyle.call(this)}}:{}),o.GeoJSON=o.FeatureGroup.extend({initialize:function(t,e){o.setOptions(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,i,n,s=o.Util.isArray(t)?t:t.features;if(s){for(e=0,i=s.length;i>e;e++)n=s[e],(n.geometries||n.geometry||n.features||n.coordinates)&&this.addData(s[e]);return this}var a=this.options;if(!a.filter||a.filter(t)){var r=o.GeoJSON.geometryToLayer(t,a.pointToLayer,a.coordsToLatLng,a);return r.feature=o.GeoJSON.asFeature(t),r.defaultOptions=r.options,this.resetStyle(r),a.onEachFeature&&a.onEachFeature(t,r),this.addLayer(r)}},resetStyle:function(t){var e=this.options.style;e&&(o.Util.extend(t.options,t.defaultOptions),this._setLayerStyle(t,e))},setStyle:function(t){this.eachLayer(function(e){this._setLayerStyle(e,t)},this)},_setLayerStyle:function(t,e){"function"==typeof e&&(e=e(t.feature)),t.setStyle&&t.setStyle(e)}}),o.extend(o.GeoJSON,{geometryToLayer:function(t,e,i,n){var s,a,r,h,l="Feature"===t.type?t.geometry:t,u=l.coordinates,c=[];switch(i=i||this.coordsToLatLng,l.type){case"Point":return s=i(u),e?e(t,s):new o.Marker(s);case"MultiPoint":for(r=0,h=u.length;h>r;r++)s=i(u[r]),c.push(e?e(t,s):new o.Marker(s));return new o.FeatureGroup(c);case"LineString":return a=this.coordsToLatLngs(u,0,i),new o.Polyline(a,n);case"Polygon":if(2===u.length&&!u[1].length)throw new Error("Invalid GeoJSON object.");return a=this.coordsToLatLngs(u,1,i),new o.Polygon(a,n);case"MultiLineString":return a=this.coordsToLatLngs(u,1,i),new o.MultiPolyline(a,n);case"MultiPolygon":return a=this.coordsToLatLngs(u,2,i),new o.MultiPolygon(a,n);case"GeometryCollection":for(r=0,h=l.geometries.length;h>r;r++)c.push(this.geometryToLayer({geometry:l.geometries[r],type:"Feature",properties:t.properties},e,i,n));return new o.FeatureGroup(c);default:throw new Error("Invalid GeoJSON object.")}},coordsToLatLng:function(t){return new o.LatLng(t[1],t[0],t[2])},coordsToLatLngs:function(t,e,i){var n,o,s,a=[];for(o=0,s=t.length;s>o;o++)n=e?this.coordsToLatLngs(t[o],e-1,i):(i||this.coordsToLatLng)(t[o]),a.push(n);return a},latLngToCoords:function(t){var e=[t.lng,t.lat];return t.alt!==i&&e.push(t.alt),e},latLngsToCoords:function(t){for(var e=[],i=0,n=t.length;n>i;i++)e.push(o.GeoJSON.latLngToCoords(t[i]));return e},getFeature:function(t,e){return t.feature?o.extend({},t.feature,{geometry:e}):o.GeoJSON.asFeature(e)},asFeature:function(t){return"Feature"===t.type?t:{type:"Feature",properties:{},geometry:t}}});var a={toGeoJSON:function(){return o.GeoJSON.getFeature(this,{type:"Point",coordinates:o.GeoJSON.latLngToCoords(this.getLatLng())})}};o.Marker.include(a),o.Circle.include(a),o.CircleMarker.include(a),o.Polyline.include({toGeoJSON:function(){return o.GeoJSON.getFeature(this,{type:"LineString",coordinates:o.GeoJSON.latLngsToCoords(this.getLatLngs())})}}),o.Polygon.include({toGeoJSON:function(){var t,e,i,n=[o.GeoJSON.latLngsToCoords(this.getLatLngs())];if(n[0].push(n[0][0]),this._holes)for(t=0,e=this._holes.length;e>t;t++)i=o.GeoJSON.latLngsToCoords(this._holes[t]),i.push(i[0]),n.push(i);return o.GeoJSON.getFeature(this,{type:"Polygon",coordinates:n})}}),function(){function t(t){return function(){var e=[];return this.eachLayer(function(t){e.push(t.toGeoJSON().geometry.coordinates)}),o.GeoJSON.getFeature(this,{type:t,coordinates:e})}}o.MultiPolyline.include({toGeoJSON:t("MultiLineString")}),o.MultiPolygon.include({toGeoJSON:t("MultiPolygon")}),o.LayerGroup.include({toGeoJSON:function(){var e,i=this.feature&&this.feature.geometry,n=[];if(i&&"MultiPoint"===i.type)return t("MultiPoint").call(this);var s=i&&"GeometryCollection"===i.type;return this.eachLayer(function(t){t.toGeoJSON&&(e=t.toGeoJSON(),n.push(s?e.geometry:o.GeoJSON.asFeature(e)))}),s?o.GeoJSON.getFeature(this,{geometries:n,type:"GeometryCollection"}):{type:"FeatureCollection",features:n}}})}(),o.geoJson=function(t,e){return new o.GeoJSON(t,e)},o.DomEvent={addListener:function(t,e,i,n){var s,a,r,h=o.stamp(i),l="_leaflet_"+e+h;return t[l]?this:(s=function(e){return i.call(n||t,e||o.DomEvent._getEvent())},o.Browser.pointer&&0===e.indexOf("touch")?this.addPointerListener(t,e,s,h):(o.Browser.touch&&"dblclick"===e&&this.addDoubleTapListener&&this.addDoubleTapListener(t,s,h),"addEventListener"in t?"mousewheel"===e?(t.addEventListener("DOMMouseScroll",s,!1),t.addEventListener(e,s,!1)):"mouseenter"===e||"mouseleave"===e?(a=s,r="mouseenter"===e?"mouseover":"mouseout",s=function(e){return o.DomEvent._checkMouse(t,e)?a(e):void 0},t.addEventListener(r,s,!1)):"click"===e&&o.Browser.android?(a=s,s=function(t){return o.DomEvent._filterClick(t,a)},t.addEventListener(e,s,!1)):t.addEventListener(e,s,!1):"attachEvent"in t&&t.attachEvent("on"+e,s),t[l]=s,this))},removeListener:function(t,e,i){var n=o.stamp(i),s="_leaflet_"+e+n,a=t[s];return a?(o.Browser.pointer&&0===e.indexOf("touch")?this.removePointerListener(t,e,n):o.Browser.touch&&"dblclick"===e&&this.removeDoubleTapListener?this.removeDoubleTapListener(t,n):"removeEventListener"in t?"mousewheel"===e?(t.removeEventListener("DOMMouseScroll",a,!1),t.removeEventListener(e,a,!1)):"mouseenter"===e||"mouseleave"===e?t.removeEventListener("mouseenter"===e?"mouseover":"mouseout",a,!1):t.removeEventListener(e,a,!1):"detachEvent"in t&&t.detachEvent("on"+e,a),t[s]=null,this):this},stopPropagation:function(t){return t.stopPropagation?t.stopPropagation():t.cancelBubble=!0,o.DomEvent._skipped(t),this},disableScrollPropagation:function(t){var e=o.DomEvent.stopPropagation;return o.DomEvent.on(t,"mousewheel",e).on(t,"MozMousePixelScroll",e)},disableClickPropagation:function(t){for(var e=o.DomEvent.stopPropagation,i=o.Draggable.START.length-1;i>=0;i--)o.DomEvent.on(t,o.Draggable.START[i],e);return o.DomEvent.on(t,"click",o.DomEvent._fakeStop).on(t,"dblclick",e)},preventDefault:function(t){return t.preventDefault?t.preventDefault():t.returnValue=!1,this},stop:function(t){return o.DomEvent.preventDefault(t).stopPropagation(t)},getMousePosition:function(t,e){if(!e)return new o.Point(t.clientX,t.clientY);var i=e.getBoundingClientRect();return new o.Point(t.clientX-i.left-e.clientLeft,t.clientY-i.top-e.clientTop)},getWheelDelta:function(t){var e=0;return t.wheelDelta&&(e=t.wheelDelta/120),t.detail&&(e=-t.detail/3),e},_skipEvents:{},_fakeStop:function(t){o.DomEvent._skipEvents[t.type]=!0},_skipped:function(t){var e=this._skipEvents[t.type];return this._skipEvents[t.type]=!1,e},_checkMouse:function(t,e){var i=e.relatedTarget;if(!i)return!0;try{for(;i&&i!==t;)i=i.parentNode}catch(n){return!1}return i!==t},_getEvent:function(){var e=t.event;if(!e)for(var i=arguments.callee.caller;i&&(e=i.arguments[0],!e||t.Event!==e.constructor);)i=i.caller;return e},_filterClick:function(t,e){var i=t.timeStamp||t.originalEvent.timeStamp,n=o.DomEvent._lastClick&&i-o.DomEvent._lastClick;return n&&n>100&&500>n||t.target._simulatedClick&&!t._simulated?void o.DomEvent.stop(t):(o.DomEvent._lastClick=i,e(t))}},o.DomEvent.on=o.DomEvent.addListener,o.DomEvent.off=o.DomEvent.removeListener,o.Draggable=o.Class.extend({includes:o.Mixin.Events,statics:{START:o.Browser.touch?["touchstart","mousedown"]:["mousedown"],END:{mousedown:"mouseup",touchstart:"touchend",pointerdown:"touchend",MSPointerDown:"touchend"},MOVE:{mousedown:"mousemove",touchstart:"touchmove",pointerdown:"touchmove",MSPointerDown:"touchmove"}},initialize:function(t,e){this._element=t,this._dragStartTarget=e||t},enable:function(){if(!this._enabled){for(var t=o.Draggable.START.length-1;t>=0;t--)o.DomEvent.on(this._dragStartTarget,o.Draggable.START[t],this._onDown,this);this._enabled=!0}},disable:function(){if(this._enabled){for(var t=o.Draggable.START.length-1;t>=0;t--)o.DomEvent.off(this._dragStartTarget,o.Draggable.START[t],this._onDown,this);this._enabled=!1,this._moved=!1}},_onDown:function(t){if(this._moved=!1,!(t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||(o.DomEvent.stopPropagation(t),o.Draggable._disabled||(o.DomUtil.disableImageDrag(),o.DomUtil.disableTextSelection(),this._moving)))){var i=t.touches?t.touches[0]:t;this._startPoint=new o.Point(i.clientX,i.clientY),this._startPos=this._newPos=o.DomUtil.getPosition(this._element),o.DomEvent.on(e,o.Draggable.MOVE[t.type],this._onMove,this).on(e,o.Draggable.END[t.type],this._onUp,this)}},_onMove:function(t){if(t.touches&&t.touches.length>1)return void(this._moved=!0);var i=t.touches&&1===t.touches.length?t.touches[0]:t,n=new o.Point(i.clientX,i.clientY),s=n.subtract(this._startPoint);(s.x||s.y)&&(o.Browser.touch&&Math.abs(s.x)+Math.abs(s.y)<3||(o.DomEvent.preventDefault(t),this._moved||(this.fire("dragstart"),this._moved=!0,this._startPos=o.DomUtil.getPosition(this._element).subtract(s),o.DomUtil.addClass(e.body,"leaflet-dragging"),this._lastTarget=t.target||t.srcElement,o.DomUtil.addClass(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(s),this._moving=!0,o.Util.cancelAnimFrame(this._animRequest),this._animRequest=o.Util.requestAnimFrame(this._updatePosition,this,!0,this._dragStartTarget)))},_updatePosition:function(){this.fire("predrag"),o.DomUtil.setPosition(this._element,this._newPos),this.fire("drag")},_onUp:function(){o.DomUtil.removeClass(e.body,"leaflet-dragging"),this._lastTarget&&(o.DomUtil.removeClass(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null);for(var t in o.Draggable.MOVE)o.DomEvent.off(e,o.Draggable.MOVE[t],this._onMove).off(e,o.Draggable.END[t],this._onUp);o.DomUtil.enableImageDrag(),o.DomUtil.enableTextSelection(),this._moved&&this._moving&&(o.Util.cancelAnimFrame(this._animRequest),this.fire("dragend",{distance:this._newPos.distanceTo(this._startPos)})),this._moving=!1}}),o.Handler=o.Class.extend({initialize:function(t){this._map=t},enable:function(){this._enabled||(this._enabled=!0,this.addHooks())},disable:function(){this._enabled&&(this._enabled=!1,this.removeHooks())},enabled:function(){return!!this._enabled}}),o.Map.mergeOptions({dragging:!0,inertia:!o.Browser.android23,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,inertiaThreshold:o.Browser.touch?32:18,easeLinearity:.25,worldCopyJump:!1}),o.Map.Drag=o.Handler.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new o.Draggable(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDrag,this),t.on("viewreset",this._onViewReset,this),t.whenReady(this._onViewReset,this))}this._draggable.enable()},removeHooks:function(){this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},_onDragStart:function(){var t=this._map;t._panAnim&&t._panAnim.stop(),t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(){if(this._map.options.inertia){var t=this._lastTime=+new Date,e=this._lastPos=this._draggable._newPos;this._positions.push(e),this._times.push(t),t-this._times[0]>200&&(this._positions.shift(),this._times.shift())}this._map.fire("move").fire("drag")},_onViewReset:function(){var t=this._map.getSize()._divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.project([0,180]).x},_onPreDrag:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-e+i)%t+e-i,s=(n+e+i)%t-e-i,a=Math.abs(o+i)i.inertiaThreshold||!this._positions[0];if(e.fire("dragend",t),s)e.fire("moveend");else{var a=this._lastPos.subtract(this._positions[0]),r=(this._lastTime+n-this._times[0])/1e3,h=i.easeLinearity,l=a.multiplyBy(h/r),u=l.distanceTo([0,0]),c=Math.min(i.inertiaMaxSpeed,u),d=l.multiplyBy(c/u),p=c/(i.inertiaDeceleration*h),_=d.multiplyBy(-p/2).round();_.x&&_.y?(_=e._limitOffset(_,e.options.maxBounds),o.Util.requestAnimFrame(function(){e.panBy(_,{duration:p,easeLinearity:h,noMoveStart:!0})})):e.fire("moveend")}}}),o.Map.addInitHook("addHandler","dragging",o.Map.Drag),o.Map.mergeOptions({doubleClickZoom:!0}),o.Map.DoubleClickZoom=o.Handler.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom()+(t.originalEvent.shiftKey?-1:1);"center"===e.options.doubleClickZoom?e.setZoom(i):e.setZoomAround(t.containerPoint,i)}}),o.Map.addInitHook("addHandler","doubleClickZoom",o.Map.DoubleClickZoom),o.Map.mergeOptions({scrollWheelZoom:!0}),o.Map.ScrollWheelZoom=o.Handler.extend({addHooks:function(){o.DomEvent.on(this._map._container,"mousewheel",this._onWheelScroll,this),o.DomEvent.on(this._map._container,"MozMousePixelScroll",o.DomEvent.preventDefault),this._delta=0},removeHooks:function(){o.DomEvent.off(this._map._container,"mousewheel",this._onWheelScroll),o.DomEvent.off(this._map._container,"MozMousePixelScroll",o.DomEvent.preventDefault)},_onWheelScroll:function(t){var e=o.DomEvent.getWheelDelta(t);this._delta+=e,this._lastMousePos=this._map.mouseEventToContainerPoint(t),this._startTime||(this._startTime=+new Date);var i=Math.max(40-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(o.bind(this._performZoom,this),i),o.DomEvent.preventDefault(t),o.DomEvent.stopPropagation(t)},_performZoom:function(){var t=this._map,e=this._delta,i=t.getZoom();e=e>0?Math.ceil(e):Math.floor(e),e=Math.max(Math.min(e,4),-4),e=t._limitZoom(i+e)-i,this._delta=0,this._startTime=null,e&&("center"===t.options.scrollWheelZoom?t.setZoom(i+e):t.setZoomAround(this._lastMousePos,i+e))}}),o.Map.addInitHook("addHandler","scrollWheelZoom",o.Map.ScrollWheelZoom),o.extend(o.DomEvent,{_touchstart:o.Browser.msPointer?"MSPointerDown":o.Browser.pointer?"pointerdown":"touchstart",_touchend:o.Browser.msPointer?"MSPointerUp":o.Browser.pointer?"pointerup":"touchend",addDoubleTapListener:function(t,i,n){function s(t){var e;if(o.Browser.pointer?(_.push(t.pointerId),e=_.length):e=t.touches.length,!(e>1)){var i=Date.now(),n=i-(r||i);h=t.touches?t.touches[0]:t,l=n>0&&u>=n,r=i}}function a(t){if(o.Browser.pointer){var e=_.indexOf(t.pointerId);if(-1===e)return;_.splice(e,1)}if(l){if(o.Browser.pointer){var n,s={};for(var a in h)n=h[a],"function"==typeof n?s[a]=n.bind(h):s[a]=n;h=s}h.type="dblclick",i(h),r=null}}var r,h,l=!1,u=250,c="_leaflet_",d=this._touchstart,p=this._touchend,_=[];t[c+d+n]=s,t[c+p+n]=a;var m=o.Browser.pointer?e.documentElement:t;return t.addEventListener(d,s,!1),m.addEventListener(p,a,!1),o.Browser.pointer&&m.addEventListener(o.DomEvent.POINTER_CANCEL,a,!1),this},removeDoubleTapListener:function(t,i){var n="_leaflet_";return t.removeEventListener(this._touchstart,t[n+this._touchstart+i],!1),(o.Browser.pointer?e.documentElement:t).removeEventListener(this._touchend,t[n+this._touchend+i],!1),o.Browser.pointer&&e.documentElement.removeEventListener(o.DomEvent.POINTER_CANCEL,t[n+this._touchend+i],!1),this}}),o.extend(o.DomEvent,{POINTER_DOWN:o.Browser.msPointer?"MSPointerDown":"pointerdown",POINTER_MOVE:o.Browser.msPointer?"MSPointerMove":"pointermove",POINTER_UP:o.Browser.msPointer?"MSPointerUp":"pointerup",POINTER_CANCEL:o.Browser.msPointer?"MSPointerCancel":"pointercancel",_pointers:[],_pointerDocumentListener:!1,addPointerListener:function(t,e,i,n){switch(e){case"touchstart":return this.addPointerListenerStart(t,e,i,n); -case"touchend":return this.addPointerListenerEnd(t,e,i,n);case"touchmove":return this.addPointerListenerMove(t,e,i,n);default:throw"Unknown touch event type"}},addPointerListenerStart:function(t,i,n,s){var a="_leaflet_",r=this._pointers,h=function(t){o.DomEvent.preventDefault(t);for(var e=!1,i=0;i1))&&(this._moved||(o.DomUtil.addClass(e._mapPane,"leaflet-touching"),e.fire("movestart").fire("zoomstart"),this._moved=!0),o.Util.cancelAnimFrame(this._animRequest),this._animRequest=o.Util.requestAnimFrame(this._updateOnMove,this,!0,this._map._container),o.DomEvent.preventDefault(t))}},_updateOnMove:function(){var t=this._map,e=this._getScaleOrigin(),i=t.layerPointToLatLng(e),n=t.getScaleZoom(this._scale);t._animateZoom(i,n,this._startCenter,this._scale,this._delta,!1,!0)},_onTouchEnd:function(){if(!this._moved||!this._zooming)return void(this._zooming=!1);var t=this._map;this._zooming=!1,o.DomUtil.removeClass(t._mapPane,"leaflet-touching"),o.Util.cancelAnimFrame(this._animRequest),o.DomEvent.off(e,"touchmove",this._onTouchMove).off(e,"touchend",this._onTouchEnd);var i=this._getScaleOrigin(),n=t.layerPointToLatLng(i),s=t.getZoom(),a=t.getScaleZoom(this._scale)-s,r=a>0?Math.ceil(a):Math.floor(a),h=t._limitZoom(s+r),l=t.getZoomScale(h)/this._scale;t._animateZoom(n,h,i,l)},_getScaleOrigin:function(){var t=this._centerOffset.subtract(this._delta).divideBy(this._scale);return this._startCenter.add(t)}}),o.Map.addInitHook("addHandler","touchZoom",o.Map.TouchZoom),o.Map.mergeOptions({tap:!0,tapTolerance:15}),o.Map.Tap=o.Handler.extend({addHooks:function(){o.DomEvent.on(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){o.DomEvent.off(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(t.touches){if(o.DomEvent.preventDefault(t),this._fireClick=!0,t.touches.length>1)return this._fireClick=!1,void clearTimeout(this._holdTimeout);var i=t.touches[0],n=i.target;this._startPos=this._newPos=new o.Point(i.clientX,i.clientY),n.tagName&&"a"===n.tagName.toLowerCase()&&o.DomUtil.addClass(n,"leaflet-active"),this._holdTimeout=setTimeout(o.bind(function(){this._isTapValid()&&(this._fireClick=!1,this._onUp(),this._simulateEvent("contextmenu",i))},this),1e3),o.DomEvent.on(e,"touchmove",this._onMove,this).on(e,"touchend",this._onUp,this)}},_onUp:function(t){if(clearTimeout(this._holdTimeout),o.DomEvent.off(e,"touchmove",this._onMove,this).off(e,"touchend",this._onUp,this),this._fireClick&&t&&t.changedTouches){var i=t.changedTouches[0],n=i.target;n&&n.tagName&&"a"===n.tagName.toLowerCase()&&o.DomUtil.removeClass(n,"leaflet-active"),this._isTapValid()&&this._simulateEvent("click",i)}},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_onMove:function(t){var e=t.touches[0];this._newPos=new o.Point(e.clientX,e.clientY)},_simulateEvent:function(i,n){var o=e.createEvent("MouseEvents");o._simulated=!0,n.target._simulatedClick=!0,o.initMouseEvent(i,!0,!0,t,1,n.screenX,n.screenY,n.clientX,n.clientY,!1,!1,!1,!1,0,null),n.target.dispatchEvent(o)}}),o.Browser.touch&&!o.Browser.pointer&&o.Map.addInitHook("addHandler","tap",o.Map.Tap),o.Map.mergeOptions({boxZoom:!0}),o.Map.BoxZoom=o.Handler.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._moved=!1},addHooks:function(){o.DomEvent.on(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){o.DomEvent.off(this._container,"mousedown",this._onMouseDown),this._moved=!1},moved:function(){return this._moved},_onMouseDown:function(t){return this._moved=!1,!t.shiftKey||1!==t.which&&1!==t.button?!1:(o.DomUtil.disableTextSelection(),o.DomUtil.disableImageDrag(),this._startLayerPoint=this._map.mouseEventToLayerPoint(t),void o.DomEvent.on(e,"mousemove",this._onMouseMove,this).on(e,"mouseup",this._onMouseUp,this).on(e,"keydown",this._onKeyDown,this))},_onMouseMove:function(t){this._moved||(this._box=o.DomUtil.create("div","leaflet-zoom-box",this._pane),o.DomUtil.setPosition(this._box,this._startLayerPoint),this._container.style.cursor="crosshair",this._map.fire("boxzoomstart"));var e=this._startLayerPoint,i=this._box,n=this._map.mouseEventToLayerPoint(t),s=n.subtract(e),a=new o.Point(Math.min(n.x,e.x),Math.min(n.y,e.y));o.DomUtil.setPosition(i,a),this._moved=!0,i.style.width=Math.max(0,Math.abs(s.x)-4)+"px",i.style.height=Math.max(0,Math.abs(s.y)-4)+"px"},_finish:function(){this._moved&&(this._pane.removeChild(this._box),this._container.style.cursor=""),o.DomUtil.enableTextSelection(),o.DomUtil.enableImageDrag(),o.DomEvent.off(e,"mousemove",this._onMouseMove).off(e,"mouseup",this._onMouseUp).off(e,"keydown",this._onKeyDown)},_onMouseUp:function(t){this._finish();var e=this._map,i=e.mouseEventToLayerPoint(t);if(!this._startLayerPoint.equals(i)){var n=new o.LatLngBounds(e.layerPointToLatLng(this._startLayerPoint),e.layerPointToLatLng(i));e.fitBounds(n),e.fire("boxzoomend",{boxZoomBounds:n})}},_onKeyDown:function(t){27===t.keyCode&&this._finish()}}),o.Map.addInitHook("addHandler","boxZoom",o.Map.BoxZoom),o.Map.mergeOptions({keyboard:!0,keyboardPanOffset:80,keyboardZoomOffset:1}),o.Map.Keyboard=o.Handler.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,173]},initialize:function(t){this._map=t,this._setPanOffset(t.options.keyboardPanOffset),this._setZoomOffset(t.options.keyboardZoomOffset)},addHooks:function(){var t=this._map._container;-1===t.tabIndex&&(t.tabIndex="0"),o.DomEvent.on(t,"focus",this._onFocus,this).on(t,"blur",this._onBlur,this).on(t,"mousedown",this._onMouseDown,this),this._map.on("focus",this._addHooks,this).on("blur",this._removeHooks,this)},removeHooks:function(){this._removeHooks();var t=this._map._container;o.DomEvent.off(t,"focus",this._onFocus,this).off(t,"blur",this._onBlur,this).off(t,"mousedown",this._onMouseDown,this),this._map.off("focus",this._addHooks,this).off("blur",this._removeHooks,this)},_onMouseDown:function(){if(!this._focused){var i=e.body,n=e.documentElement,o=i.scrollTop||n.scrollTop,s=i.scrollLeft||n.scrollLeft;this._map._container.focus(),t.scrollTo(s,o)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanOffset:function(t){var e,i,n=this._panKeys={},o=this.keyCodes;for(e=0,i=o.left.length;i>e;e++)n[o.left[e]]=[-1*t,0];for(e=0,i=o.right.length;i>e;e++)n[o.right[e]]=[t,0];for(e=0,i=o.down.length;i>e;e++)n[o.down[e]]=[0,t];for(e=0,i=o.up.length;i>e;e++)n[o.up[e]]=[0,-1*t]},_setZoomOffset:function(t){var e,i,n=this._zoomKeys={},o=this.keyCodes;for(e=0,i=o.zoomIn.length;i>e;e++)n[o.zoomIn[e]]=t;for(e=0,i=o.zoomOut.length;i>e;e++)n[o.zoomOut[e]]=-t},_addHooks:function(){o.DomEvent.on(e,"keydown",this._onKeyDown,this)},_removeHooks:function(){o.DomEvent.off(e,"keydown",this._onKeyDown,this)},_onKeyDown:function(t){var e=t.keyCode,i=this._map;if(e in this._panKeys){if(i._panAnim&&i._panAnim._inProgress)return;i.panBy(this._panKeys[e]),i.options.maxBounds&&i.panInsideBounds(i.options.maxBounds)}else{if(!(e in this._zoomKeys))return;i.setZoom(i.getZoom()+this._zoomKeys[e])}o.DomEvent.stop(t)}}),o.Map.addInitHook("addHandler","keyboard",o.Map.Keyboard),o.Handler.MarkerDrag=o.Handler.extend({initialize:function(t){this._marker=t},addHooks:function(){var t=this._marker._icon;this._draggable||(this._draggable=new o.Draggable(t,t)),this._draggable.on("dragstart",this._onDragStart,this).on("drag",this._onDrag,this).on("dragend",this._onDragEnd,this),this._draggable.enable(),o.DomUtil.addClass(this._marker._icon,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off("dragstart",this._onDragStart,this).off("drag",this._onDrag,this).off("dragend",this._onDragEnd,this),this._draggable.disable(),o.DomUtil.removeClass(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_onDragStart:function(){this._marker.closePopup().fire("movestart").fire("dragstart")},_onDrag:function(){var t=this._marker,e=t._shadow,i=o.DomUtil.getPosition(t._icon),n=t._map.layerPointToLatLng(i);e&&o.DomUtil.setPosition(e,i),t._latlng=n,t.fire("move",{latlng:n}).fire("drag")},_onDragEnd:function(t){this._marker.fire("moveend").fire("dragend",t)}}),o.Control=o.Class.extend({options:{position:"topright"},initialize:function(t){o.setOptions(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),n=t._controlCorners[i];return o.DomUtil.addClass(e,"leaflet-control"),-1!==i.indexOf("bottom")?n.insertBefore(e,n.firstChild):n.appendChild(e),this},removeFrom:function(t){var e=this.getPosition(),i=t._controlCorners[e];return i.removeChild(this._container),this._map=null,this.onRemove&&this.onRemove(t),this},_refocusOnMap:function(){this._map&&this._map.getContainer().focus()}}),o.control=function(t){return new o.Control(t)},o.Map.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.removeFrom(this),this},_initControlPos:function(){function t(t,s){var a=i+t+" "+i+s;e[t+s]=o.DomUtil.create("div",a,n)}var e=this._controlCorners={},i="leaflet-",n=this._controlContainer=o.DomUtil.create("div",i+"control-container",this._container);t("top","left"),t("top","right"),t("bottom","left"),t("bottom","right")},_clearControlPos:function(){this._container.removeChild(this._controlContainer)}}),o.Control.Zoom=o.Control.extend({options:{position:"topleft",zoomInText:"+",zoomInTitle:"Zoom in",zoomOutText:"-",zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",i=o.DomUtil.create("div",e+" leaflet-bar");return this._map=t,this._zoomInButton=this._createButton(this.options.zoomInText,this.options.zoomInTitle,e+"-in",i,this._zoomIn,this),this._zoomOutButton=this._createButton(this.options.zoomOutText,this.options.zoomOutTitle,e+"-out",i,this._zoomOut,this),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},_zoomIn:function(t){this._map.zoomIn(t.shiftKey?3:1)},_zoomOut:function(t){this._map.zoomOut(t.shiftKey?3:1)},_createButton:function(t,e,i,n,s,a){var r=o.DomUtil.create("a",i,n);r.innerHTML=t,r.href="#",r.title=e;var h=o.DomEvent.stopPropagation;return o.DomEvent.on(r,"click",h).on(r,"mousedown",h).on(r,"dblclick",h).on(r,"click",o.DomEvent.preventDefault).on(r,"click",s,a).on(r,"click",this._refocusOnMap,a),r},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";o.DomUtil.removeClass(this._zoomInButton,e),o.DomUtil.removeClass(this._zoomOutButton,e),t._zoom===t.getMinZoom()&&o.DomUtil.addClass(this._zoomOutButton,e),t._zoom===t.getMaxZoom()&&o.DomUtil.addClass(this._zoomInButton,e)}}),o.Map.mergeOptions({zoomControl:!0}),o.Map.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new o.Control.Zoom,this.addControl(this.zoomControl))}),o.control.zoom=function(t){return new o.Control.Zoom(t)},o.Control.Attribution=o.Control.extend({options:{position:"bottomright",prefix:'Leaflet'},initialize:function(t){o.setOptions(this,t),this._attributions={}},onAdd:function(t){this._container=o.DomUtil.create("div","leaflet-control-attribution"),o.DomEvent.disableClickPropagation(this._container);for(var e in t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return t.on("layeradd",this._onLayerAdd,this).on("layerremove",this._onLayerRemove,this),this._update(),this._container},onRemove:function(t){t.off("layeradd",this._onLayerAdd).off("layerremove",this._onLayerRemove)},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):void 0},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):void 0},_update:function(){if(this._map){var t=[];for(var e in this._attributions)this._attributions[e]&&t.push(e);var i=[];this.options.prefix&&i.push(this.options.prefix),t.length&&i.push(t.join(", ")),this._container.innerHTML=i.join(" | ")}},_onLayerAdd:function(t){t.layer.getAttribution&&this.addAttribution(t.layer.getAttribution())},_onLayerRemove:function(t){t.layer.getAttribution&&this.removeAttribution(t.layer.getAttribution())}}),o.Map.mergeOptions({attributionControl:!0}),o.Map.addInitHook(function(){this.options.attributionControl&&(this.attributionControl=(new o.Control.Attribution).addTo(this))}),o.control.attribution=function(t){return new o.Control.Attribution(t)},o.Control.Scale=o.Control.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0,updateWhenIdle:!1},onAdd:function(t){this._map=t;var e="leaflet-control-scale",i=o.DomUtil.create("div",e),n=this.options;return this._addScales(n,e,i),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=o.DomUtil.create("div",e+"-line",i)),t.imperial&&(this._iScale=o.DomUtil.create("div",e+"-line",i))},_update:function(){var t=this._map.getBounds(),e=t.getCenter().lat,i=6378137*Math.PI*Math.cos(e*Math.PI/180),n=i*(t.getNorthEast().lng-t.getSouthWest().lng)/180,o=this._map.getSize(),s=this.options,a=0;o.x>0&&(a=n*(s.maxWidth/o.x)),this._updateScales(s,a)},_updateScales:function(t,e){t.metric&&e&&this._updateMetric(e),t.imperial&&e&&this._updateImperial(e)},_updateMetric:function(t){var e=this._getRoundNum(t);this._mScale.style.width=this._getScaleWidth(e/t)+"px",this._mScale.innerHTML=1e3>e?e+" m":e/1e3+" km"},_updateImperial:function(t){var e,i,n,o=3.2808399*t,s=this._iScale;o>5280?(e=o/5280,i=this._getRoundNum(e),s.style.width=this._getScaleWidth(i/e)+"px",s.innerHTML=i+" mi"):(n=this._getRoundNum(o),s.style.width=this._getScaleWidth(n/o)+"px",s.innerHTML=n+" ft")},_getScaleWidth:function(t){return Math.round(this.options.maxWidth*t)-10},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),i=t/e;return i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:1,e*i}}),o.control.scale=function(t){return new o.Control.Scale(t)},o.Control.Layers=o.Control.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0},initialize:function(t,e,i){o.setOptions(this,i),this._layers={},this._lastZIndex=0,this._handlingClick=!1;for(var n in t)this._addLayer(t[n],n);for(n in e)this._addLayer(e[n],n,!0)},onAdd:function(t){return this._initLayout(),this._update(),t.on("layeradd",this._onLayerChange,this).on("layerremove",this._onLayerChange,this),this._container},onRemove:function(t){t.off("layeradd",this._onLayerChange,this).off("layerremove",this._onLayerChange,this)},addBaseLayer:function(t,e){return this._addLayer(t,e),this._update(),this},addOverlay:function(t,e){return this._addLayer(t,e,!0),this._update(),this},removeLayer:function(t){var e=o.stamp(t);return delete this._layers[e],this._update(),this},_initLayout:function(){var t="leaflet-control-layers",e=this._container=o.DomUtil.create("div",t);e.setAttribute("aria-haspopup",!0),o.Browser.touch?o.DomEvent.on(e,"click",o.DomEvent.stopPropagation):o.DomEvent.disableClickPropagation(e).disableScrollPropagation(e);var i=this._form=o.DomUtil.create("form",t+"-list");if(this.options.collapsed){o.Browser.android||o.DomEvent.on(e,"mouseover",this._expand,this).on(e,"mouseout",this._collapse,this);var n=this._layersLink=o.DomUtil.create("a",t+"-toggle",e);n.href="#",n.title="Layers",o.Browser.touch?o.DomEvent.on(n,"click",o.DomEvent.stop).on(n,"click",this._expand,this):o.DomEvent.on(n,"focus",this._expand,this),o.DomEvent.on(i,"click",function(){setTimeout(o.bind(this._onInputClick,this),0)},this),this._map.on("click",this._collapse,this)}else this._expand();this._baseLayersList=o.DomUtil.create("div",t+"-base",i),this._separator=o.DomUtil.create("div",t+"-separator",i),this._overlaysList=o.DomUtil.create("div",t+"-overlays",i),e.appendChild(i)},_addLayer:function(t,e,i){var n=o.stamp(t);this._layers[n]={layer:t,name:e,overlay:i},this.options.autoZIndex&&t.setZIndex&&(this._lastZIndex++,t.setZIndex(this._lastZIndex))},_update:function(){if(this._container){this._baseLayersList.innerHTML="",this._overlaysList.innerHTML="";var t,e,i=!1,n=!1;for(t in this._layers)e=this._layers[t],this._addItem(e),n=n||e.overlay,i=i||!e.overlay;this._separator.style.display=n&&i?"":"none"}},_onLayerChange:function(t){var e=this._layers[o.stamp(t.layer)];if(e){this._handlingClick||this._update();var i=e.overlay?"layeradd"===t.type?"overlayadd":"overlayremove":"layeradd"===t.type?"baselayerchange":null;i&&this._map.fire(i,e)}},_createRadioElement:function(t,i){var n='t;t++)e=n[t],i=this._layers[e.layerId],e.checked&&!this._map.hasLayer(i.layer)?this._map.addLayer(i.layer):!e.checked&&this._map.hasLayer(i.layer)&&this._map.removeLayer(i.layer);this._handlingClick=!1,this._refocusOnMap()},_expand:function(){o.DomUtil.addClass(this._container,"leaflet-control-layers-expanded")},_collapse:function(){this._container.className=this._container.className.replace(" leaflet-control-layers-expanded","")}}),o.control.layers=function(t,e,i){return new o.Control.Layers(t,e,i)},o.PosAnimation=o.Class.extend({includes:o.Mixin.Events,run:function(t,e,i,n){this.stop(),this._el=t,this._inProgress=!0,this._newPos=e,this.fire("start"),t.style[o.DomUtil.TRANSITION]="all "+(i||.25)+"s cubic-bezier(0,0,"+(n||.5)+",1)",o.DomEvent.on(t,o.DomUtil.TRANSITION_END,this._onTransitionEnd,this),o.DomUtil.setPosition(t,e),o.Util.falseFn(t.offsetWidth),this._stepTimer=setInterval(o.bind(this._onStep,this),50)},stop:function(){this._inProgress&&(o.DomUtil.setPosition(this._el,this._getPos()),this._onTransitionEnd(),o.Util.falseFn(this._el.offsetWidth))},_onStep:function(){var t=this._getPos();return t?(this._el._leaflet_pos=t,void this.fire("step")):void this._onTransitionEnd()},_transformRe:/([-+]?(?:\d*\.)?\d+)\D*, ([-+]?(?:\d*\.)?\d+)\D*\)/,_getPos:function(){var e,i,n,s=this._el,a=t.getComputedStyle(s);if(o.Browser.any3d){if(n=a[o.DomUtil.TRANSFORM].match(this._transformRe),!n)return;e=parseFloat(n[1]),i=parseFloat(n[2])}else e=parseFloat(a.left),i=parseFloat(a.top);return new o.Point(e,i,!0)},_onTransitionEnd:function(){o.DomEvent.off(this._el,o.DomUtil.TRANSITION_END,this._onTransitionEnd,this),this._inProgress&&(this._inProgress=!1,this._el.style[o.DomUtil.TRANSITION]="",this._el._leaflet_pos=this._newPos,clearInterval(this._stepTimer),this.fire("step").fire("end"))}}),o.Map.include({setView:function(t,e,n){if(e=e===i?this._zoom:this._limitZoom(e),t=this._limitCenter(o.latLng(t),e,this.options.maxBounds),n=n||{},this._panAnim&&this._panAnim.stop(),this._loaded&&!n.reset&&n!==!0){n.animate!==i&&(n.zoom=o.extend({animate:n.animate},n.zoom),n.pan=o.extend({animate:n.animate},n.pan));var s=this._zoom!==e?this._tryAnimatedZoom&&this._tryAnimatedZoom(t,e,n.zoom):this._tryAnimatedPan(t,n.pan);if(s)return clearTimeout(this._sizeTimer),this}return this._resetView(t,e),this},panBy:function(t,e){if(t=o.point(t).round(),e=e||{},!t.x&&!t.y)return this;if(this._panAnim||(this._panAnim=new o.PosAnimation,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),e.noMoveStart||this.fire("movestart"),e.animate!==!1){o.DomUtil.addClass(this._mapPane,"leaflet-pan-anim");var i=this._getMapPanePos().subtract(t);this._panAnim.run(this._mapPane,i,e.duration||.25,e.easeLinearity)}else this._rawPanBy(t),this.fire("move").fire("moveend");return this},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){o.DomUtil.removeClass(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,e){var i=this._getCenterOffset(t)._floor();return(e&&e.animate)===!0||this.getSize().contains(i)?(this.panBy(i,e),!0):!1}}),o.PosAnimation=o.DomUtil.TRANSITION?o.PosAnimation:o.PosAnimation.extend({run:function(t,e,i,n){this.stop(),this._el=t,this._inProgress=!0,this._duration=i||.25,this._easeOutPower=1/Math.max(n||.5,.2),this._startPos=o.DomUtil.getPosition(t),this._offset=e.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(),this._complete())},_animate:function(){this._animId=o.Util.requestAnimFrame(this._animate,this),this._step()},_step:function(){var t=+new Date-this._startTime,e=1e3*this._duration;e>t?this._runFrame(this._easeOut(t/e)):(this._runFrame(1),this._complete())},_runFrame:function(t){var e=this._startPos.add(this._offset.multiplyBy(t));o.DomUtil.setPosition(this._el,e),this.fire("step")},_complete:function(){o.Util.cancelAnimFrame(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(t){return 1-Math.pow(1-t,this._easeOutPower)}}),o.Map.mergeOptions({zoomAnimation:!0,zoomAnimationThreshold:4}),o.DomUtil.TRANSITION&&o.Map.addInitHook(function(){this._zoomAnimated=this.options.zoomAnimation&&o.DomUtil.TRANSITION&&o.Browser.any3d&&!o.Browser.android23&&!o.Browser.mobileOpera,this._zoomAnimated&&o.DomEvent.on(this._mapPane,o.DomUtil.TRANSITION_END,this._catchTransitionEnd,this)}),o.Map.include(o.DomUtil.TRANSITION?{_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,e,i){if(this._animatingZoom)return!0;if(i=i||{},!this._zoomAnimated||i.animate===!1||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(e),o=this._getCenterOffset(t)._divideBy(1-1/n),s=this._getCenterLayerPoint()._add(o);return i.animate===!0||this.getSize().contains(o)?(this.fire("movestart").fire("zoomstart"),this._animateZoom(t,e,s,n,null,!0),!0):!1},_animateZoom:function(t,e,i,n,s,a,r){r||(this._animatingZoom=!0),o.DomUtil.addClass(this._mapPane,"leaflet-zoom-anim"),this._animateToCenter=t,this._animateToZoom=e,o.Draggable&&(o.Draggable._disabled=!0),o.Util.requestAnimFrame(function(){this.fire("zoomanim",{center:t,zoom:e,origin:i,scale:n,delta:s,backwards:a}),setTimeout(o.bind(this._onZoomTransitionEnd,this),250)},this)},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._animatingZoom=!1,o.DomUtil.removeClass(this._mapPane,"leaflet-zoom-anim"),this._resetView(this._animateToCenter,this._animateToZoom,!0,!0),o.Draggable&&(o.Draggable._disabled=!1))}}:{}),o.TileLayer.include({_animateZoom:function(t){this._animating||(this._animating=!0,this._prepareBgBuffer());var e=this._bgBuffer,i=o.DomUtil.TRANSFORM,n=t.delta?o.DomUtil.getTranslateString(t.delta):e.style[i],s=o.DomUtil.getScaleString(t.scale,t.origin);e.style[i]=t.backwards?s+" "+n:n+" "+s},_endZoomAnim:function(){var t=this._tileContainer,e=this._bgBuffer;t.style.visibility="",t.parentNode.appendChild(t),o.Util.falseFn(e.offsetWidth);var i=this._map.getZoom();(i>this.options.maxZoom||i.5&&.5>n?(t.style.visibility="hidden",void this._stopLoadingImages(t)):(e.style.visibility="hidden",e.style[o.DomUtil.TRANSFORM]="",this._tileContainer=e,e=this._bgBuffer=t,this._stopLoadingImages(e),void clearTimeout(this._clearBgBufferTimer))},_getLoadedTilesPercentage:function(t){var e,i,n=t.getElementsByTagName("img"),o=0;for(e=0,i=n.length;i>e;e++)n[e].complete&&o++;return o/i},_stopLoadingImages:function(t){var e,i,n,s=Array.prototype.slice.call(t.getElementsByTagName("img"));for(e=0,i=s.length;i>e;e++)n=s[e],n.complete||(n.onload=o.Util.falseFn,n.onerror=o.Util.falseFn,n.src=o.Util.emptyImageUrl,n.parentNode.removeChild(n))}}),o.Map.include({_defaultLocateOptions:{watch:!1,setView:!1,maxZoom:1/0,timeout:1e4,maximumAge:0,enableHighAccuracy:!1},locate:function(t){if(t=this._locateOptions=o.extend(this._defaultLocateOptions,t),!navigator.geolocation)return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var e=o.bind(this._handleGeolocationResponse,this),i=o.bind(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,i,t):navigator.geolocation.getCurrentPosition(e,i,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){var e=t.code,i=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+i+"."})},_handleGeolocationResponse:function(t){var e=t.coords.latitude,i=t.coords.longitude,n=new o.LatLng(e,i),s=180*t.coords.accuracy/40075017,a=s/Math.cos(o.LatLng.DEG_TO_RAD*e),r=o.latLngBounds([e-s,i-a],[e+s,i+a]),h=this._locateOptions;if(h.setView){var l=Math.min(this.getBoundsZoom(r),h.maxZoom);this.setView(n,l)}var u={latlng:n,bounds:r,timestamp:t.timestamp};for(var c in t.coords)"number"==typeof t.coords[c]&&(u[c]=t.coords[c]);this.fire("locationfound",u)}})}(window,document); \ No newline at end of file diff --git a/colored-leaflet-timeline/main.css b/colored-leaflet-timeline/main.css deleted file mode 100644 index 1232550..0000000 --- a/colored-leaflet-timeline/main.css +++ /dev/null @@ -1,478 +0,0 @@ -/* required styles */ - -.leaflet-map-pane, -.leaflet-tile, -.leaflet-marker-icon, -.leaflet-marker-shadow, -.leaflet-tile-pane, -.leaflet-tile-container, -.leaflet-overlay-pane, -.leaflet-shadow-pane, -.leaflet-marker-pane, -.leaflet-popup-pane, -.leaflet-overlay-pane svg, -.leaflet-zoom-box, -.leaflet-image-layer, -.leaflet-layer { - position: absolute; - left: 0; - top: 0; - } -.leaflet-container { - overflow: hidden; - -ms-touch-action: none; - } -.leaflet-tile, -.leaflet-marker-icon, -.leaflet-marker-shadow { - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; - -webkit-user-drag: none; - } -.leaflet-marker-icon, -.leaflet-marker-shadow { - display: block; - } -/* map is broken in FF if you have max-width: 100% on tiles */ -.leaflet-container img { - max-width: none !important; - } -/* stupid Android 2 doesn't understand "max-width: none" properly */ -.leaflet-container img.leaflet-image-layer { - max-width: 15000px !important; - } -.leaflet-tile { - filter: inherit; - visibility: hidden; - } -.leaflet-tile-loaded { - visibility: inherit; - } -.leaflet-zoom-box { - width: 0; - height: 0; - } -/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */ -.leaflet-overlay-pane svg { - -moz-user-select: none; - } - -.leaflet-tile-pane { z-index: 2; } -.leaflet-objects-pane { z-index: 3; } -.leaflet-overlay-pane { z-index: 4; } -.leaflet-shadow-pane { z-index: 5; } -.leaflet-marker-pane { z-index: 6; } -.leaflet-popup-pane { z-index: 7; } - -.leaflet-vml-shape { - width: 1px; - height: 1px; - } -.lvml { - behavior: url(#default#VML); - display: inline-block; - position: absolute; - } - - -/* control positioning */ - -.leaflet-control { - position: relative; - z-index: 7; - pointer-events: auto; - } -.leaflet-top, -.leaflet-bottom { - position: absolute; - z-index: 1000; - pointer-events: none; - } -.leaflet-top { - top: 0; - } -.leaflet-right { - right: 0; - } -.leaflet-bottom { - bottom: 0; - } -.leaflet-left { - left: 0; - } -.leaflet-control { - float: left; - clear: both; - } -.leaflet-right .leaflet-control { - float: right; - } -.leaflet-top .leaflet-control { - margin-top: 10px; - } -.leaflet-bottom .leaflet-control { - margin-bottom: 10px; - } -.leaflet-left .leaflet-control { - margin-left: 10px; - } -.leaflet-right .leaflet-control { - margin-right: 10px; - } - - -/* zoom and fade animations */ - -.leaflet-fade-anim .leaflet-tile, -.leaflet-fade-anim .leaflet-popup { - opacity: 0; - -webkit-transition: opacity 0.2s linear; - -moz-transition: opacity 0.2s linear; - -o-transition: opacity 0.2s linear; - transition: opacity 0.2s linear; - } -.leaflet-fade-anim .leaflet-tile-loaded, -.leaflet-fade-anim .leaflet-map-pane .leaflet-popup { - opacity: 1; - } - -.leaflet-zoom-anim .leaflet-zoom-animated { - -webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1); - -moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1); - -o-transition: -o-transform 0.25s cubic-bezier(0,0,0.25,1); - transition: transform 0.25s cubic-bezier(0,0,0.25,1); - } -.leaflet-zoom-anim .leaflet-tile, -.leaflet-pan-anim .leaflet-tile, -.leaflet-touching .leaflet-zoom-animated { - -webkit-transition: none; - -moz-transition: none; - -o-transition: none; - transition: none; - } - -.leaflet-zoom-anim .leaflet-zoom-hide { - visibility: hidden; - } - - -/* cursors */ - -.leaflet-clickable { - cursor: pointer; - } -.leaflet-container { - cursor: -webkit-grab; - cursor: -moz-grab; - } -.leaflet-popup-pane, -.leaflet-control { - cursor: auto; - } -.leaflet-dragging .leaflet-container, -.leaflet-dragging .leaflet-clickable { - cursor: move; - cursor: -webkit-grabbing; - cursor: -moz-grabbing; - } - - -/* visual tweaks */ - -.leaflet-container { - background: #ddd; - outline: 0; - } -.leaflet-container a { - color: #0078A8; - } -.leaflet-container a.leaflet-active { - outline: 2px solid orange; - } -.leaflet-zoom-box { - border: 2px dotted #38f; - background: rgba(255,255,255,0.5); - } - - -/* general typography */ -.leaflet-container { - font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif; - } - - -/* general toolbar styles */ - -.leaflet-bar { - box-shadow: 0 1px 5px rgba(0,0,0,0.65); - border-radius: 4px; - } -.leaflet-bar a, -.leaflet-bar a:hover { - background-color: #fff; - border-bottom: 1px solid #ccc; - width: 26px; - height: 26px; - line-height: 26px; - display: block; - text-align: center; - text-decoration: none; - color: black; - } -.leaflet-bar a, -.leaflet-control-layers-toggle { - background-position: 50% 50%; - background-repeat: no-repeat; - display: block; - } -.leaflet-bar a:hover { - background-color: #f4f4f4; - } -.leaflet-bar a:first-child { - border-top-left-radius: 4px; - border-top-right-radius: 4px; - } -.leaflet-bar a:last-child { - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; - border-bottom: none; - } -.leaflet-bar a.leaflet-disabled { - cursor: default; - background-color: #f4f4f4; - color: #bbb; - } - -.leaflet-touch .leaflet-bar a { - width: 30px; - height: 30px; - line-height: 30px; - } - - -/* zoom control */ - -.leaflet-control-zoom-in, -.leaflet-control-zoom-out { - font: bold 18px 'Lucida Console', Monaco, monospace; - text-indent: 1px; - } -.leaflet-control-zoom-out { - font-size: 20px; - } - -.leaflet-touch .leaflet-control-zoom-in { - font-size: 22px; - } -.leaflet-touch .leaflet-control-zoom-out { - font-size: 24px; - } - - -/* layers control */ - -.leaflet-control-layers { - box-shadow: 0 1px 5px rgba(0,0,0,0.4); - background: #fff; - border-radius: 5px; - } -.leaflet-control-layers-toggle { - background-image: url(images/layers.png); - width: 36px; - height: 36px; - } -.leaflet-retina .leaflet-control-layers-toggle { - background-image: url(images/layers-2x.png); - background-size: 26px 26px; - } -.leaflet-touch .leaflet-control-layers-toggle { - width: 44px; - height: 44px; - } -.leaflet-control-layers .leaflet-control-layers-list, -.leaflet-control-layers-expanded .leaflet-control-layers-toggle { - display: none; - } -.leaflet-control-layers-expanded .leaflet-control-layers-list { - display: block; - position: relative; - } -.leaflet-control-layers-expanded { - padding: 6px 10px 6px 6px; - color: #333; - background: #fff; - } -.leaflet-control-layers-selector { - margin-top: 2px; - position: relative; - top: 1px; - } -.leaflet-control-layers label { - display: block; - } -.leaflet-control-layers-separator { - height: 0; - border-top: 1px solid #ddd; - margin: 5px -10px 5px -6px; - } - - -/* attribution and scale controls */ - -.leaflet-container .leaflet-control-attribution { - background: #fff; - background: rgba(255, 255, 255, 0.7); - margin: 0; - } -.leaflet-control-attribution, -.leaflet-control-scale-line { - padding: 0 5px; - color: #333; - } -.leaflet-control-attribution a { - text-decoration: none; - } -.leaflet-control-attribution a:hover { - text-decoration: underline; - } -.leaflet-container .leaflet-control-attribution, -.leaflet-container .leaflet-control-scale { - font-size: 11px; - } -.leaflet-left .leaflet-control-scale { - margin-left: 5px; - } -.leaflet-bottom .leaflet-control-scale { - margin-bottom: 5px; - } -.leaflet-control-scale-line { - border: 2px solid #777; - border-top: none; - line-height: 1.1; - padding: 2px 5px 1px; - font-size: 11px; - white-space: nowrap; - overflow: hidden; - -moz-box-sizing: content-box; - box-sizing: content-box; - - background: #fff; - background: rgba(255, 255, 255, 0.5); - } -.leaflet-control-scale-line:not(:first-child) { - border-top: 2px solid #777; - border-bottom: none; - margin-top: -2px; - } -.leaflet-control-scale-line:not(:first-child):not(:last-child) { - border-bottom: 2px solid #777; - } - -.leaflet-touch .leaflet-control-attribution, -.leaflet-touch .leaflet-control-layers, -.leaflet-touch .leaflet-bar { - box-shadow: none; - } -.leaflet-touch .leaflet-control-layers, -.leaflet-touch .leaflet-bar { - border: 2px solid rgba(0,0,0,0.2); - background-clip: padding-box; - } - - -/* popup */ - -.leaflet-popup { - position: absolute; - text-align: center; - } -.leaflet-popup-content-wrapper { - padding: 1px; - text-align: left; - border-radius: 12px; - } -.leaflet-popup-content { - margin: 13px 19px; - line-height: 1.4; - } -.leaflet-popup-content p { - margin: 18px 0; - } -.leaflet-popup-tip-container { - margin: 0 auto; - width: 40px; - height: 20px; - position: relative; - overflow: hidden; - } -.leaflet-popup-tip { - width: 17px; - height: 17px; - padding: 1px; - - margin: -10px auto 0; - - -webkit-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -ms-transform: rotate(45deg); - -o-transform: rotate(45deg); - transform: rotate(45deg); - } -.leaflet-popup-content-wrapper, -.leaflet-popup-tip { - background: white; - - box-shadow: 0 3px 14px rgba(0,0,0,0.4); - } -.leaflet-container a.leaflet-popup-close-button { - position: absolute; - top: 0; - right: 0; - padding: 4px 4px 0 0; - text-align: center; - width: 18px; - height: 14px; - font: 16px/14px Tahoma, Verdana, sans-serif; - color: #c3c3c3; - text-decoration: none; - font-weight: bold; - background: transparent; - } -.leaflet-container a.leaflet-popup-close-button:hover { - color: #999; - } -.leaflet-popup-scrolled { - overflow: auto; - border-bottom: 1px solid #ddd; - border-top: 1px solid #ddd; - } - -.leaflet-oldie .leaflet-popup-content-wrapper { - zoom: 1; - } -.leaflet-oldie .leaflet-popup-tip { - width: 24px; - margin: 0 auto; - - -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)"; - filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678); - } -.leaflet-oldie .leaflet-popup-tip-container { - margin-top: -1px; - } - -.leaflet-oldie .leaflet-control-zoom, -.leaflet-oldie .leaflet-control-layers, -.leaflet-oldie .leaflet-popup-content-wrapper, -.leaflet-oldie .leaflet-popup-tip { - border: 1px solid #999; - } - - -/* div icon */ - -.leaflet-div-icon { - background: #fff; - border: 1px solid #666; - } diff --git a/colored-leaflet-timeline/main.js b/colored-leaflet-timeline/main.js deleted file mode 100644 index 735f10e..0000000 --- a/colored-leaflet-timeline/main.js +++ /dev/null @@ -1,326 +0,0 @@ -//# require=d3,leaflet - -function update(data) { - tick = null; - show(data.toList({ typed: false })); -} - -/** - * Created by osoken on 2016/05/16. - */ - -// map handler -!(function(d3,L) -{ - var map = {}; - var tracking = true; - var zoom = 2; - var mapLayer = null; - var svgLayer = null; - var pathLayer = null; - var plotLayer = null; - var infoLayer = null; - var selection = null; - var margin = 100; - - map.init = function(s) - { - - selection = s; - selection.style('height', root.clientHeight+'px'); - selection.style('width', root.clientWidth+'px'); - var point = [0, 0]; - mapLayer = L.map(selection.attr('id')).setView(point, zoom); - - var tileLayer = L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', { - attribution : '© OpenStreetMap contributors' - }).addTo(mapLayer); - - svgLayer = d3.select(mapLayer.getPanes().overlayPane).append("svg"); - - plotLayer = svgLayer.append('g'); - timeLayer = svgLayer.append('g'); - mapLayer.on("viewreset", map.reset); - d3.rebind(map, mapLayer, 'on'); - map.reset(); - } - - map.projectPoint = function(lat, lng) - { - if (lng===void 0) - { - return mapLayer.latLngToLayerPoint(lat); - } - return mapLayer.latLngToLayerPoint(new L.LatLng(lat, lng)); - } - map.invertPoint = function(x, y) - { - if (y===void 0) - { - return mapLayer.layerPointToLatLng(x); - } - return mapLayer.layerPointToLatLng(new L.point(x,y)); - } - map.getBounds = function() { - return mapLayer.getBounds(); - } - map.svg = function() - { - return svgLayer; - } - map.plotLayer = function() - { - return plotLayer; - } - map.timeLayer = function() - { - return timeLayer; - } - map.bound = function() - { - var bounds = plotLayer.node().getBBox(); - - return {x:bounds.x-margin,y:bounds.y-margin,width:bounds.width+2*margin,height:bounds.height+2*margin}; - } - map.reset = function() - { - var bounds = map.getBounds(); - var topLeft = map.projectPoint(bounds.getNorthWest()); - var bottomRight = map.projectPoint(bounds.getSouthEast()); - - svgLayer.attr("width", bottomRight.x - topLeft.x) - .attr("height", bottomRight.y - topLeft.y) - .style("left", topLeft.x + "px") - .style("top", topLeft.y + "px"); - timeLayer.selectAll('line').attr('opacity', function(d) { - return (bounds.getWest() <= d.longitude && d.longitude <= bounds.getEast() && - bounds.getSouth() <= d.latitude && d.latitude <= bounds.getNorth())? 1.0: 0.08; - }); - plotLayer.attr('transform', 'translate('+ -topLeft.x + ',' + -topLeft.y + ')'); - } - this.map = map; -}(d3,L)); - -map.init(d3.select(root).append('div').attr('id','map-container')) -var tick = null; - -function show(data) -{ - if (data.length == 0) - { - return; - } - - var width = root.clientWidth; - var height = root.clientHeight; - - var margin = {left: 20, bottom: 60, top: 0, right: 20}; - var padding = {left: 10, bottom: 20, top: 10, right: 10}; - - var panelHeight = 40; - var panelWidth = width - margin.left - margin.right; - var graphHeight = panelHeight - padding.left - padding.right; - var graphWidth = panelWidth - padding.top - padding.bottom; - - var timeFormat = d3.time.format('%Y-%m-%dT%H:%M:%S.%LZ'); - var timeDispFormat = d3.time.format('%Y/%m/%d %H:%M:%S'); - - var timeDispFunc = function(d) { - return timeDispFormat(d.time); - } - - var timeFormat = d3.time.format('%Y-%m-%dT%H:%M:%S.%LZ'); - var timeDispFormat = d3.time.format('%Y/%m/%d(%a) %H:%M:%S'); - - var timeDispFunc = function(d) { - return timeDispFormat(d.time); - } - - var colored = function(lng) { - return d3.hsl((lng<0)?(360+lng):lng, 1.0, 0.5); - } - - var timeScale = d3.time.scale(); - var graphXScale = d3.time.scale().range([0, graphWidth]); - var graphYScale = d3.scale.linear().range([0, graphHeight]); - - var drag = d3.behavior.drag(); - - var getMouseX = function(event) { - if (event.offsetX != null) { - getMouseX = function(event) {return event.offsetX;}; - return event.offsetX; - } - if (event.layerX != null) { - getMouseX = function(event) {return event.layerX;}; - return event.layerX; - } - getMouseX = function(event) {return event.x;} - return event.x; - } - - drag.on('dragstart', function() { - d3.event.sourceEvent.stopPropagation(); - }).on('dragend', function() { - d3.event.sourceEvent.stopPropagation(); - }).on('drag', function() { - d3.event.sourceEvent.stopPropagation(); - }); - - var tick = null; - - data.forEach(function(d) { - d.time = timeFormat.parse(d.time); - d.latitude = +d.latitude; - d.longitude = +d.longitude; - d.color = colored(d.longitude); - }); - - timeScale.domain(d3.extent(data, function(d){return d.time;})); - graphXScale.domain(d3.extent(data, function(d){return d.time;})); - graphYScale.domain([0, 1]); - - var svgLayer = map.svg(); - var plotLayer = map.plotLayer(); - var uiHeight = 100; - var timeLayer = map.timeLayer().attr('transform', 'translate('+margin.left+','+(height - margin.bottom - panelHeight)+')'); - - var showAll = null; - - var startAnim = function(t0, dt) { - if (showAll != null) { - clearTimeout(showAll); - showAll = null; - } - if (tick != null) { - tick = null; - } - plotLayer.selectAll('circle').transition().duration(0).attr('opacity', 0.0); - var t1 = timeScale.domain()[1]; - var tc = t0; - textLabel.text(timeDispFormat(tc)) - .transition().duration(0) - .attr({'opacity': 0.8}); - indicator.transition().duration(0).attr('opacity', 0.8); - var lastTime = new Date().getTime(); - tick = function() { - if ( t1 < tc ) { - tick = null; - if (showAll != null) { - clearTimeout(showAll); - showAll = null; - } - showAll = setTimeout(function() { - textLabel.transition().duration(0).attr('opasity', 0.0).text(''); - plotLayer.selectAll('circle').transition().duration(2000) - .attr('opacity', 0.8); - showAll = null; - indicator.transition().attr('opacity', 0.0); - }, 2000); - return; - } - indicator.moveTo(tc); - textLabel.text(timeDispFormat(tc)); - var currentTime = new Date().getTime(); - delta = (currentTime - lastTime) * dt; - plotLayer.selectAll('circle').filter(function(d) { - return tc < d.time && (new Date(tc.getTime()+delta) >= d.time); - }).attr('opacity', 0.8).transition().delay(1000).attr('opacity', 0.0); - tc = new Date(tc.getTime() + delta); - lastTime = currentTime; - setTimeout(tick, 10); - } - tick(); - }; - - timeLayer.selectAll('rect').remove(); - timeLayer.append('rect').attr({x:0, y:0, width: panelWidth, height: panelHeight}) - .style({fill: 'rgba(255,255,255,0.2)'}); - var textLabel = timeLayer.append('text') - .attr({ - x:0, - y: -8, - 'text-anchor': 'start', - 'font-size': 64, - 'opacity': 0.0, - fill: '#000', - stroke: 'none' - }).text(''); - timeLayer.selectAll('g').remove(); - var graphLayer = timeLayer.append('g') - .attr('transform', 'translate('+padding.left+','+padding.top+')'); - graphLayer.selectAll('line') - .data(data).enter().append('line') - .style({stroke: function(d) {return d.color;}, fill: 'none', 'stroke-width': 1}) - .attr({x1: function(d){return graphXScale(d.time);}, - x2: function(d){return graphXScale(d.time);}, - y1: graphHeight, - y2: function(d){return 0;}, - opacity: 0.4 - }); - var indicator = graphLayer.append('rect') - .attr({ - x: -4, - y: -8, - width: 8, - height: graphHeight + 16, - fill: 'none', - stroke: '#000', - 'stroke-width': 3, - opacity: 0.0 - }); - indicator.moveTo = function(t){ - indicator.attr('x', graphXScale(t) - 8); - }; - graphLayer.append('rect') - .attr({ - x: -padding.left, - y: -padding.top, - width: panelWidth, - height: panelHeight - }) - .style({fill: 'rgba(0,0,0,0)', stroke: 'none'}) - .on('click', function() { - d3.event.preventDefault(); - d3.event.stopPropagation(); - startAnim(graphXScale.invert( - Math.min( - Math.max( - 0, - getMouseX(d3.event) - margin.left - padding.left - ), - graphWidth - ) - ), (timeScale.domain()[1].getTime() - timeScale.domain()[0].getTime())/30000); - }).call(drag); - - var updatePosition = function(d) - { - d.pos = map.projectPoint(d.latitude, d.longitude); - d3.select(this).attr( {cx: d.pos.x, cy: d.pos.y } ); - } - - var reset = function() - { - var bounds = map.getBounds(); - var topLeft = map.projectPoint(bounds.getNorthWest()); - var bottomRight = map.projectPoint(bounds.getSouthEast()); - - svgLayer.attr("width", bottomRight.x - topLeft.x) - .attr("height", bottomRight.y - topLeft.y) - .style("left", topLeft.x + "px") - .style("top", topLeft.y + "px"); - graphLayer.selectAll('line').attr('opacity', function(d) { - return (bounds.getWest() <= d.longitude && d.longitude <= bounds.getEast() && - bounds.getSouth() <= d.latitude && d.latitude <= bounds.getNorth())? 0.4: 0; - }); - plotLayer.attr('transform', 'translate('+ -topLeft.x + ',' + -topLeft.y + ')'); - plotLayer.selectAll('circle').each(updatePosition); - } - - plotLayer.selectAll('circle').remove(); - plotLayer.selectAll('circle').data(data).enter().append('circle') - .attr({opacity: 0.75, r: 4, fill: function(d) {return d.color;}, stroke: 'rgba(255,255,255,0.1)', 'stroke-width': 3}) - .each(updatePosition); - map.on('move', reset); -} diff --git a/colored-leaflet-timeline/manifest.yml b/colored-leaflet-timeline/manifest.yml deleted file mode 100644 index a060525..0000000 --- a/colored-leaflet-timeline/manifest.yml +++ /dev/null @@ -1,12 +0,0 @@ -name: Colored Leaflet timeline -description: -tags: - - leaflet - - map -homepage: https://github.com/e2d3/e2d3-contrib -bugs: https://github.com/e2d3/e2d3-contrib/issues -license: Apache-2.0 -contributors: - - Takeshi 'osoken' OSOEKAWA -repository: e2d3/e2d3-contrib -capabilities: diff --git a/colored-leaflet-timeline/thumbnail.png b/colored-leaflet-timeline/thumbnail.png deleted file mode 100644 index cef870b..0000000 Binary files a/colored-leaflet-timeline/thumbnail.png and /dev/null differ diff --git a/compare-ipo/README.md b/compare-ipo/README.md deleted file mode 100644 index 5c69e9d..0000000 --- a/compare-ipo/README.md +++ /dev/null @@ -1,13 +0,0 @@ -Compare I.P.O. -==== - -Compare I.P.O. - -## Data Format - -| date | name | category | value0 | value1 | ... | -|------------|------|----------|--------|--------|-----| -| yyyy-mm-dd | xxxx | xxxxxxxx | 120203 | 421042 | ... | -| yyyy-mm-dd | xxxx | xxxxxxxx | 120203 | 421042 | ... | -| yyyy-mm-dd | xxxx | xxxxxxxx | 120203 | 421042 | ... | -| ... | | | | | | diff --git a/compare-ipo/data.tsv b/compare-ipo/data.tsv deleted file mode 100644 index 273a9a3..0000000 --- a/compare-ipo/data.tsv +++ /dev/null @@ -1,202 +0,0 @@ -date name category IPO First day change Three years later Latest -1995-07-12 Doyle Inc, Inc. Web Service 7362998035 5808024410 9141989382 13882132250 -2005-03-24 Botsford-Breitenberg, Inc. System Integrator 5378049497578 4980922767476 5893411349090 1671422951319 -2005-08-04 Spencer Group, Inc. System Integrator 28991918244 28351539735 27131038292 76585665149 -1998-08-29 Mills, Dicki and Beier, Inc. System Integrator 2784264772553 2152262412829 2826844738514 1656646425002 -1984-06-29 Mertz, Durgan and Jerde, Inc. Consumer Game 1528157763346 1139843834487 1606648562370 1490111278550 -2013-02-15 Marks LLC, Inc. Web Service 217309062045 200629428270 255435970400 792209853341 -1994-01-22 Parisian-Rodriguez, Inc. Social Game 1401820036 1552286538 1189155142 6460987419 -1992-09-01 Johns-Zemlak, Inc. Social Game 1295751901 974075950 929793569 2913745004 -1982-02-12 Heller, Keeling and Wilderman, Inc. Web Service 1526609075206 1506454371461 1628443880478 327360382185 -1990-07-23 Murazik and Sons, Inc. System Integrator 43539387895 44097390700 44853523641 29420583054 -1981-06-13 Okuneva-Marks, Inc. Social Game 26025483814 19686055437 41922493555 103415176293 -2011-07-24 Jacobs-MacGyver, Inc. System Integrator 4565488521221 5882628293972 4920628355369 1308440383474 -2010-02-19 Glover, Schaefer and Kassulke, Inc. System Integrator 255595958399 329124497607 368073898771 315837331340 -1993-05-01 Collins-Grant, Inc. Consumer Game 25408775553 18105673682 25752028996 1981655646 -2011-11-04 Wisozk and Sons, Inc. Consumer Game 2165004569903 2147117583607 2061249378553 2112460508771 -1981-12-19 Keeling LLC, Inc. Web Service 4675957098 5645326101 4960736163 21465187689 -1997-10-28 Hyatt, Zboncak and Stamm, Inc. System Integrator 5355688310 3970987524 7709961124 887280295 -1986-08-27 Douglas Group, Inc. Web Service 487365564774 537748797571 482441681162 2399685639354 -1981-11-19 Krajcik, Carroll and Sipes, Inc. Social Game 4497070716 4201915325 3809897878 16067184586 -1980-08-09 Cronin-Pagac, Inc. Social Game 4897529005 3497866763 7439699124 20773380608 -1981-11-19 Watsica, Hoeger and Nader, Inc. Social Game 29970333041 34834999262 29473745172 9542030653 -1986-05-27 Krajcik, Cronin and Murray, Inc. Social Game 1741607247 1504174763 2856571145 6121196146 -1986-04-22 Rowe-Dooley, Inc. Consumer Game 10988542753 11769275385 15814236084 25693591127 -1983-10-03 Wunsch, Wuckert and Blanda, Inc. Web Service 32650233665 32226712696 25483910764 135092356141 -1994-03-30 Jacobs-Grady, Inc. Web Service 452644720047 320275678671 611001885401 1097644503998 -2014-04-07 Jacobs and Sons, Inc. System Integrator 1739789352 1909245796 1894562561 1587514021 -2013-05-02 DuBuque, Larson and Lebsack, Inc. Social Game 282042639226 221931170585 308992037868 641348761750 -2000-12-06 Treutel-Farrell, Inc. Consumer Game 67522231079 62680397029 84112249855 108495551988 -1993-08-23 Grimes, Beer and Gaylord, Inc. Web Service 1851504869264 2040389700846 1751084651276 895898259534 -2006-02-15 Johns, Tromp and Morissette, Inc. Consumer Game 37110602623 43797614170 26334265894 80985029789 -2003-11-20 Kozey, McLaughlin and Skiles, Inc. Consumer Game 3730174260859 3308995832454 4109914138124 2015152533504 -1980-09-27 Kautzer and Sons, Inc. Consumer Game 25264370325 27717732787 22380212822 105372787544 -1991-02-23 Bruen, McKenzie and Maggio, Inc. Social Game 158698315953 113858312944 160655573522 762574950973 -2012-10-16 Huel Inc, Inc. System Integrator 39460175239 39463248455 46686664295 50778970434 -1999-05-18 Hoeger-Rogahn, Inc. System Integrator 1141475789 1034235619 1906411162 5408197315 -1994-10-02 Abshire-Volkman, Inc. Social Game 1037410430700 1053462118941 1068851502455 1168254246547 -2001-01-27 Weber-Mertz, Inc. Web Service 1096272049953 939496636640 1199110506286 872690496671 -1990-06-04 Reichert and Sons, Inc. Consumer Game 168413105265 210060843963 197423449622 690879568522 -2006-01-17 Terry LLC, Inc. Web Service 1027748409 1221668428 1647074773 525130818 -2012-10-22 Green-Stoltenberg, Inc. System Integrator 970195649538 1095313714997 1233053034969 1520524436159 -2002-09-02 Rutherford, Hayes and Gaylord, Inc. Social Game 108401250447 140443761489 174154350771 491515047226 -1998-03-17 Heathcote Inc, Inc. Social Game 822768798966 652019579369 1200956655101 1191369088658 -2002-04-16 Schneider, Kiehn and Balistreri, Inc. System Integrator 2912699723713 3433296728977 2986665552617 2569357028488 -1983-02-06 Greenholt LLC, Inc. System Integrator 198377719848 163018713343 140055477706 551687294919 -1990-03-25 Waelchi Inc, Inc. Consumer Game 181121828728 209227985049 205933690140 159860792633 -2003-02-19 Raynor, Leuschke and Johnson, Inc. Social Game 1182408778 1400997025 1399696615 40200942 -2007-05-14 Hahn-Schuster, Inc. Consumer Game 56375581464 39832809121 44425290241 27763644851 -2014-03-02 Lesch and Sons, Inc. Web Service 3157407621397 3426385377288 3024616317462 2886220773830 -1988-02-12 Zulauf-Batz, Inc. System Integrator 12013256806 9013802057 19728495227 15312225284 -1997-09-21 Denesik-Rempel, Inc. Web Service 6430193442 5646278567 6657143056 2033145782 -1989-07-07 Schoen Group, Inc. Social Game 3014101295 2450040790 3306476421 12471607686 -1980-02-17 Runolfsson-Gorczany, Inc. Social Game 7955557140 6497824943 6628796613 13998406339 -2004-02-27 Christiansen-Barrows, Inc. System Integrator 34130626496 37981975870 34759942020 109254211732 -1989-12-19 Moen and Sons, Inc. Consumer Game 237888037073 293213244838 301205250060 454022316230 -2007-02-02 Beahan LLC, Inc. Social Game 27404638727 30561379012 30751106789 133156996825 -2000-09-12 Schaefer-Yost, Inc. System Integrator 252673229842 313323699353 241009266937 528440931440 -2001-07-13 Nolan-Jacobs, Inc. Social Game 21312233292 17584657807 16650863498 30445857697 -1998-09-15 Johnson LLC, Inc. Consumer Game 88626575441 96686990389 100301304201 258351080694 -1999-05-08 Veum and Sons, Inc. Consumer Game 2891603912937 3582601900161 2766521046304 727093691435 -1987-03-22 Kling, Keeling and Reichert, Inc. Consumer Game 1630513944 2087303198 1839316699 654001879 -2014-10-08 Feest-Lockman, Inc. System Integrator 1958450262 2136750449 3245523780 5156041767 -1990-07-24 Ledner LLC, Inc. Web Service 130417784294 116922307077 175119014517 135051558126 -2010-11-29 Medhurst, Bogan and Flatley, Inc. System Integrator 123469113361 95070463560 203260343038 354417548746 -2001-11-27 Ondricka-Waelchi, Inc. Consumer Game 72205143045 51807116225 116905939860 324930411821 -1981-08-18 Johns-Doyle, Inc. Consumer Game 1237965530615 1323086310160 1334910296461 1441895685847 -2008-11-16 Kertzmann, Cole and Bergstrom, Inc. System Integrator 344882714283 302362874642 396416838369 286221345853 -1989-05-19 Pagac, Howell and Corwin, Inc. Consumer Game 238698275625 251863960356 310725737119 1050624406611 -1989-05-12 Turcotte and Sons, Inc. Web Service 39205380843 30805724533 29004118799 191060680980 -2013-10-09 Hand, Nicolas and King, Inc. Consumer Game 367204469655 399154337566 437416908727 1390875861885 -2006-01-14 Stamm LLC, Inc. System Integrator 782116019812 845338669185 893204074326 2336483879748 -2013-04-18 Hegmann, Pollich and Beahan, Inc. Consumer Game 8829185958 6646129391 8388730666 36433335220 -2001-06-30 Rosenbaum, Dooley and Lang, Inc. Web Service 17495664549 17707227787 17673815827 28931825913 -2002-10-07 Murphy, Muller and McKenzie, Inc. Social Game 3089783926917 3036010420976 3379046366188 1232799032150 -1994-02-21 Konopelski-Wiza, Inc. Social Game 16932884008 12656869920 13275664456 81116887787 -2013-11-28 Hahn-Russel, Inc. Consumer Game 92848719460 93116996960 93461658517 433155971109 -1988-12-11 Boyle, Grant and Fisher, Inc. Consumer Game 1508248804754 1791238059037 1441967738436 886732474119 -2004-09-21 Runolfsson-Orn, Inc. Social Game 4862536772 3523888672 4099985087 3547883562 -2004-08-29 Reichert-Sipes, Inc. Web Service 1806445927 1387150701 2368558926 798248182 -1987-04-04 McClure-Klocko, Inc. System Integrator 5046908537 4483064955 3700522475 503662930 -1991-09-05 Bode, Maggio and Hodkiewicz, Inc. Web Service 15592502364 14594484240 21675072907 8686908194 -1994-05-14 Yost and Sons, Inc. Consumer Game 110068105562 91808807746 77412595896 234931513918 -2005-04-12 Cruickshank Group, Inc. Web Service 2673579981 2984399067 2922381875 3250868275 -1997-08-18 Smith and Sons, Inc. System Integrator 171322962547 182730680548 223380857255 416163765231 -2008-02-04 Abshire Group, Inc. Consumer Game 5625932098 4435490483 4244794593 25714643863 -1996-06-15 Veum-Romaguera, Inc. Consumer Game 102113276972 88729190584 150195820723 17500438123 -2003-04-30 Shanahan-Stokes, Inc. System Integrator 13286224145 15776894943 11522249730 3753834417 -2009-04-06 Carter, Emard and Schneider, Inc. System Integrator 347048076391 354279179852 552045620775 74335211899 -1993-01-28 Weimann Group, Inc. Consumer Game 241967371431 298803043580 248505017927 164750642108 -1982-10-11 Smitham-Jacobi, Inc. Web Service 1453268236583 1178287516558 1599189363850 1161951581012 -2014-01-15 Rice, Quitzon and Nicolas, Inc. Social Game 6471526448057 6389258219093 6327474194565 2524951686765 -2014-10-12 Brown-Shanahan, Inc. System Integrator 1568982284566 1319078705631 1602612748982 591341238100 -1989-07-24 O'Hara, Ferry and Kozey, Inc. System Integrator 196652334144 199133702082 146459256692 744033838985 -1982-08-26 Herzog, Sipes and McDermott, Inc. Consumer Game 1219444409866 1561677699558 1211910784026 987994258724 -1981-12-24 Doyle, Smith and Lubowitz, Inc. Web Service 6404351410963 7506983293202 6449511163771 7329221586753 -1993-01-13 Mann-Marvin, Inc. Social Game 81416784593 72231421983 128491909336 274386020701 -1991-03-11 Rosenbaum, O'Kon and Rau, Inc. System Integrator 1018259303541 757529004226 1106819901078 842803039032 -2015-02-09 Simonis LLC, Inc. Consumer Game 1363734978207 983693240133 1494961966839 752557967034 -2010-04-15 Cruickshank-Oberbrunner, Inc. Web Service 1066831728435 1129953940481 1125715677737 743074057655 -1984-02-18 Abshire and Sons, Inc. System Integrator 956069007527 712317857635 843602716381 3321145735554 -1981-10-22 Walter, McCullough and Abernathy, Inc. Social Game 7149456600 8126944233 5483847953 13724615395 -1987-12-22 Barrows-Kunde, Inc. System Integrator 43576024491 41508245994 45206822727 9557560395 -1985-08-19 Morar-Erdman, Inc. Web Service 6019561722 5166501256 7798014947 2061679302 -1996-12-25 Deckow, Gulgowski and Kessler, Inc. Consumer Game 9585099120 9563806053 10429176446 20004025107 -1995-03-21 Abernathy-Littel, Inc. Consumer Game 28487014936 22088082687 45453851628 89403764366 -2007-02-05 Franecki-Cole, Inc. System Integrator 1643295777587 1810439595034 1593437587345 1869569803870 -1994-02-08 Gutmann-Yost, Inc. System Integrator 1559214082 1501313430 2212547948 6579860760 -2015-02-15 Mosciski, Ernser and Ledner, Inc. Consumer Game 3960005513979 3106189051792 4234598238547 1208885197227 -2008-06-21 Smitham, Sauer and Jenkins, Inc. System Integrator 126369561661 93534596877 137451119660 387547348337 -1992-09-15 Gutmann LLC, Inc. System Integrator 80741249304 92239930715 61607011807 153999075859 -1983-01-17 Lesch, Ernser and Watsica, Inc. Consumer Game 16508307249 19340847710 26081945661 76717786646 -1983-06-04 Stanton, Daugherty and Hettinger, Inc. Consumer Game 63575387296 58257539661 77651259426 286786501362 -1988-01-10 Sipes LLC, Inc. Web Service 1779329463897 1475011860922 1921982643707 883056351655 -2012-08-14 Trantow, O'Connell and DuBuque, Inc. Social Game 211325920350 184035363474 243382669143 13021681532 -1983-02-06 Feest, Herman and Effertz, Inc. Web Service 1141668506597 1192524705427 1117645581913 264345111413 -1993-04-07 Zulauf, D'Amore and Roob, Inc. System Integrator 278593533030 252095326097 246441462681 695510009381 -1999-08-14 Dooley, Jacobi and O'Conner, Inc. System Integrator 337936596066 386816294428 304554870178 301364486580 -1999-06-25 Emard-Wyman, Inc. Social Game 74831376310 84862060934 63826685288 273416598453 -2009-02-09 Streich-Bartoletti, Inc. Social Game 9931290146712 9742658258469 10185474796481 3761107142199 -2000-08-23 Tremblay, Rosenbaum and Okuneva, Inc. Consumer Game 416442407154 333097795642 548488828116 205831714733 -1984-11-07 Herzog and Sons, Inc. Social Game 5195650680987 3947000153536 5459842200670 5764591226836 -1991-09-09 Robel-McGlynn, Inc. Web Service 7561252564176 5491815695881 7764749541153 6673610031219 -1996-10-03 Franecki and Sons, Inc. Web Service 67886060892 68403482660 90219398706 244206392551 -1998-01-04 Shanahan, Ward and Schiller, Inc. System Integrator 14068598695 14430285793 17285084136 63086380961 -2000-01-14 Conroy-O'Hara, Inc. Web Service 11686790904 8578613582 19532161871 48710544399 -2012-01-15 Heller-Breitenberg, Inc. Social Game 12044919422 12147948660 18067449001 30944151155 -1991-11-28 Ullrich, Graham and Corwin, Inc. Web Service 3166291106639 2508610091288 3134909973284 3007045420754 -2013-06-22 Erdman Group, Inc. System Integrator 17019124796 22047221838 12529073559 1972834175 -1980-05-07 Wilkinson and Sons, Inc. Consumer Game 19431076535 23499949774 17982225972 70886872303 -1994-08-14 Crona Group, Inc. Consumer Game 1117487978 1406792860 1187196800 1240597761 -1995-04-10 Rau, Franecki and Wunsch, Inc. Social Game 284370209115 342578886912 365222461872 748010117764 -2011-04-28 Aufderhar, Klein and Balistreri, Inc. System Integrator 2128290029220 2383766552639 2245705095884 2277142686439 -1998-07-29 Streich and Sons, Inc. Web Service 2356988482 2317885221 1654010460 10868375313 -2005-01-25 Dooley-Bergstrom, Inc. Consumer Game 6765055867 7769597468 10109973976 9165475392 -2008-01-31 Miller-Stokes, Inc. Consumer Game 5060433674742 6100116214224 5425206923637 4151098000296 -1980-01-26 Flatley, Walter and Klocko, Inc. System Integrator 90120786850 72125341515 93587811911 68907857548 -1980-05-30 Ruecker-Bashirian, Inc. Social Game 889832364815 853107885812 1435608984610 2064707517553 -2009-11-08 Stoltenberg, Boehm and Blick, Inc. Social Game 545291832012 441635004729 725909961238 1909545318123 -2003-10-03 Beahan LLC, Inc. Social Game 1605961802493 1212927309986 1801481002965 960088623786 -1998-03-09 Schaefer-Schuster, Inc. Social Game 3045130574 2473461292 3726793961 8375552300 -1988-08-30 Ebert-Yost, Inc. Consumer Game 2638134912 2712625629 3027426855 3572793605 -1986-05-29 Cummerata, Kuvalis and Koch, Inc. Social Game 905586338366 895792596180 1243059841349 2558213483238 -1999-11-10 Oberbrunner-Dickens, Inc. System Integrator 4813919108566 5920885658327 4823267316740 3713900388166 -1980-07-02 Runte LLC, Inc. System Integrator 660921587574 471306366719 738254755256 2509444091482 -1990-06-11 Treutel, Waters and McGlynn, Inc. System Integrator 16660796593 14337991774 11904340355 52895139994 -1996-07-12 Nicolas and Sons, Inc. Social Game 51737391355 59899965262 47339686583 89578123844 -2003-11-05 Fisher-Smith, Inc. Consumer Game 3407601156773 3425557157630 3531545713348 3800635891706 -2008-11-03 Kassulke and Sons, Inc. Web Service 9754170151 9265882896 15778600578 44378467346 -2000-01-05 Von-Lindgren, Inc. Social Game 8623438390832 9205537122480 8518500711806 3989722443764 -2004-03-28 Price, Treutel and Berge, Inc. Social Game 7227409541212 8241182707738 7753199243312 2880489600748 -1988-03-06 Keebler-Bednar, Inc. Web Service 9232643747823 10400093565086 9065569820433 4439413710362 -2002-11-18 Rolfson-Windler, Inc. Web Service 1131068007 1425850949 1000469402 363162711 -1983-03-11 Marvin-Morissette, Inc. Web Service 636764203289 540945425335 602117312629 2727543012230 -1990-07-29 Koss-Huel, Inc. Social Game 2527090335766 2748071269319 2736989696769 1998996422192 -2003-10-10 Larkin Group, Inc. System Integrator 3694217428 4682438684 4642638095 8618359652 -1993-04-09 Hettinger-Jacobs, Inc. Social Game 599563754339 452802923608 698262325842 985936854202 -1991-01-18 Koelpin-Heathcote, Inc. Web Service 33287131670 33335610431 46312885900 20512090180 -2011-06-04 Jacobson, Grady and Graham, Inc. System Integrator 903355076373 1168865527024 725240261691 3207698666929 -1993-10-23 Goyette-Olson, Inc. System Integrator 641270505396 671206085416 656582433150 1173490518724 -1985-10-11 Dooley, Schaden and Harvey, Inc. System Integrator 10462102440 13031642776 17432545883 32532562969 -1996-08-04 Lemke LLC, Inc. Consumer Game 129809628756 167735394142 210686107214 162698750797 -1992-11-20 Paucek, Kertzmann and Trantow, Inc. Social Game 42310604119 46417986001 35691628407 72071035503 -1985-06-23 Orn, Funk and Herman, Inc. Web Service 4055360494419 5185651994717 4491481037778 1772405646322 -2000-10-19 Volkman, Schinner and Larkin, Inc. Web Service 3721531284 3500984167 2712881833 1502043088 -2006-01-06 Smith, Rolfson and Johnston, Inc. Web Service 280147326466 302066053068 336433614638 665721394771 -1991-09-07 Boyer, Carroll and Olson, Inc. Web Service 221856723741 186320984771 209602727824 69163742669 -2013-11-01 Carter LLC, Inc. Social Game 67568792679 75446601397 83803477592 89470358308 -2010-12-26 Rutherford-Ortiz, Inc. Social Game 9514685516303 10298567519033 10354625502975 6570356881243 -2008-04-15 Sipes LLC, Inc. Consumer Game 17467290698 21211903155 12691836046 30980611829 -1992-09-03 Emmerich-Gaylord, Inc. Web Service 300081643911 324750266741 243887933627 321119872390 -1998-07-28 Padberg Group, Inc. System Integrator 62841226127 50529254378 67436176421 25433794957 -1980-10-29 Bartoletti and Sons, Inc. System Integrator 15170891599 18953581148 21829776465 50500775661 -2008-11-23 Durgan-Lebsack, Inc. Consumer Game 1323569096 1333339961 1427017277 3628553545 -1995-04-18 Runte-Buckridge, Inc. Web Service 6943174543659 5281248922355 7827951866631 6183198920614 -2003-03-22 Stamm Inc, Inc. Social Game 2283914154 1680443363 3395207873 2541745766 -2013-07-23 Dare, Baumbach and Schimmel, Inc. Web Service 226697920878 267533414134 361854628599 229020650735 -2014-07-05 Wolff, Considine and Schneider, Inc. Web Service 31937695752 41113263660 28010222135 127129109210 -1998-11-20 Hagenes-Kertzmann, Inc. System Integrator 1227862979 1161686203 2076009297 5715390236 -1991-03-26 Hand and Sons, Inc. System Integrator 4230200910882 4037287021852 4588678750029 1037828800832 -2006-07-01 Bahringer Group, Inc. Consumer Game 1131937254305 1383308505562 1274130027926 488686795813 -1999-05-11 Bernhard-Blick, Inc. Consumer Game 6168377276 6175780168 5098989627 2430327523 -1996-09-04 Homenick and Sons, Inc. Web Service 21187235287 19100738977 24151033189 97221499413 -1982-04-23 Miller, Paucek and Paucek, Inc. System Integrator 7536223964466 6862375795649 8104497625443 5242970293487 -1984-06-21 Lynch, Runolfsson and Gulgowski, Inc. Consumer Game 380474964445 314253119397 536731589326 1510385080809 -1982-01-12 Kuhic Inc, Inc. System Integrator 4990852728 3624955766 6420589256 14420276945 -1999-02-24 Runolfsdottir LLC, Inc. System Integrator 6651736559426 4748560271728 6383725741869 2932748701674 -2012-03-03 Satterfield LLC, Inc. System Integrator 883298775407 971847391951 1095951620625 1103592210142 -2009-05-25 Kemmer LLC, Inc. Web Service 24226097511 24822081018 24028274335 105418871159 -1994-07-12 Crooks and Sons, Inc. System Integrator 12983731010 14881166893 18896734557 38179428418 -2009-06-03 Fisher, O'Reilly and Koss, Inc. Social Game 1078585517044 1222894266203 1121423706801 674363626272 -2001-08-19 Boyer-Reinger, Inc. System Integrator 4568147078616 4752997680557 4771606077939 2913018910507 -2003-06-23 Rath, Krajcik and Mohr, Inc. Consumer Game 1618528081 1373349010 2654605394 7035809091 -2003-05-31 O'Connell-Thiel, Inc. Social Game 326579117733 256406228973 258330557199 1340447531395 -1998-09-05 Kuhic-Beier, Inc. Web Service 17058432158 21687702047 19328639101 10700921022 -2001-12-15 Breitenberg-Sanford, Inc. Consumer Game 51421010260 45008238471 42155651317 176790035703 -1992-05-02 Frami Group, Inc. Web Service 161608977699 113483477854 161600433778 387433893539 -1981-12-08 Legros and Sons, Inc. System Integrator 6456225054587 6815905454730 6206416655258 3845867782964 -1982-12-14 Rau, Rau and Konopelski, Inc. Social Game 2851420754 3336333964 2162169025 13610006620 -2004-03-30 Schuppe LLC, Inc. Consumer Game 331760311884 408600234203 336167102418 1546751466951 -1990-01-16 Mosciski Group, Inc. Web Service 3681279172468 3814973708789 3822145837531 4276997741849 -1992-03-17 Langosh Inc, Inc. Web Service 36836609387 34665245469 48148216789 110178388 -1982-05-05 Schneider, Schuppe and Upton, Inc. Web Service 10087425478 11147190881 8993264649 7305095681 diff --git a/compare-ipo/generatedata.rb b/compare-ipo/generatedata.rb deleted file mode 100755 index 670a363..0000000 --- a/compare-ipo/generatedata.rb +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env ruby -# -*- coding: utf-8 -*- - -require 'faker' - -def time_rand from = 0.0, to = Time.now - Time.at(from + rand * (to.to_f - from.to_f)) -end - -CATEGORIES = ["Social Game", "System Integrator", "Web Service", "Consumer Game"] - -File.open("data.tsv", "w") do |out| - out.puts "date name\tcategory\tIPO First day change\tThree years later\tLatest" - for name in 0..200 - date = time_rand(Time.local(1980, 1, 1)).strftime "%Y-%m-%d" - name = Faker::Company.name + ", Inc." - category = CATEGORIES.sample - ipo = 10 ** (9 + rand * 4) - - if ipo > 10e11 - first = ipo * (1.0 + (rand - 0.5) * 0.6) - three = ipo * (1.0 + (rand - 0.3) * 0.2) - latest = ipo * (1.0 + (rand - 0.8) * 1.0) - else - first = ipo * (1.0 + (rand - 0.5) * 0.6) - three = ipo * (1.0 + (rand - 0.3) * 1.0) - latest = ipo * (1.0 + (rand - 0.2) * 5.0) - end - - out.puts "#{date}\t#{name}\t#{category}\t#{ipo.floor}\t#{first.floor}\t#{three.floor}\t#{latest.floor}" - end -end diff --git a/compare-ipo/main.coffee b/compare-ipo/main.coffee deleted file mode 100644 index ff0d83f..0000000 --- a/compare-ipo/main.coffee +++ /dev/null @@ -1,236 +0,0 @@ -## require=d3 - -unit = 'JPY' -selected = null -dateheader = null -nameheader = null -categoryheader = null -valueheaders = [] -logscale = false -duration = 2000 -ease = 'cubic-in-out' -first = true - -powerOfTen = (d) -> d / Math.pow(10, Math.ceil(Math.log(d) / Math.LN10 - 1e-12)) == 1 - -xvalue = (d) -> d -yvalue = (d) -> d / 1000000000 -rvalue = (d) -> Math.exp(Math.log(d) / Math.LN10) - -margin = top: 80, right: 30, bottom: 30, left: 40 -width = root.clientWidth - margin.left - margin.right -height = root.clientHeight - margin.top - margin.bottom - -x = d3.time.scale().range([0, width]) -y = d3.scale.linear().range([height, 0]) -r = d3.scale.linear().range([1, 40]) -color = d3.scale.linear().range(['#D30B14', '#014175']) - -xAxis = d3.svg.axis().scale(x).orient('bottom') -yAxis = d3.svg.axis().scale(y).orient('left').tickFormat (d) -> - if !logscale || powerOfTen(d) then (d3.format(',d'))(d) else '' - -svg = d3.select(root).append('svg') - .attr - width: root.clientWidth - height: root.clientHeight - .append('g') - .attr - transform: "translate(#{margin.left}, #{margin.top})" - -createDetailWindow = () -> - w = d3.select(root).append('div').attr(class: 'detail-window') - w.append('div').attr(class: 'detail-heading').text('header') - w.append('div').attr(class: 'detail-body').text('body') - -showDetailWindow = (d) -> - w = d3.select(root).select('.detail-window') - w.select('.detail-heading').html(detailHeading(d)) - w.select('.detail-body').html(detailBody(d)) - - pos = - x: - if x(xvalue(d[dateheader])) < width / 2 - margin.left + x(xvalue(d[dateheader])) + r(rvalue(d[selected])) + 10 - else - margin.left + x(xvalue(d[dateheader])) - r(rvalue(d[selected])) - 10 - w.node().offsetWidth - y: - margin.top + y(yvalue(d[selected])) - (w.node().offsetHeight / 2) - - if pos.y + w.node().offsetHeight > margin.top + height - pos.y = margin.top + height - w.node().offsetHeight - - w.style - left: pos.x + 'px' - top: pos.y + 'px' - display: 'block' - -hideDetailWindow = (d) -> - w = d3.select(root).select('.detail-window') - w.style - display: 'none' - -detailHeading = (d) -> - v = d[valueheaders[0]] / 1000000000 - html = "#{d3.time.format('%Y-%m-%d')(d[dateheader])}" - html += "
#{d[nameheader]}" - html += "
#{d[categoryheader]}" - html += "
value at I.P.O. #{(d3.format(',.0f'))(v)} billions #{unit}" - -detailBody = (d) -> - base = d[valueheaders[0]] - html = '' - for i in [1...valueheaders.length] - v = d[valueheaders[i]] / base - 1.0 - c = if v < 0 then 'negative' else if v > 0 then 'positive' else 'even' - html += "" - html += '' - html += "" for i in [1...valueheaders.length] - html += '
#{(d3.format('+.1%'))(v)}
#{valueheaders[i]}
' - html - -createSelectionWindow = () -> - w = d3.select(root).append('div').attr(class: 'selection-window') - -updateSelectionWindow = (selections) -> - w = d3.select(root).select('.selection-window') - w.selectAll('.selection').remove() - - w.selectAll('.selection') - .data(selections) - .enter().append('a') - .classed - selection: true - selected: (d, i) -> selected == d && logscale - .attr - href: '#' - .on 'click', (d, i) -> - selectData(i, true) - d3.event.preventDefault() - .text (d) -> d - - w.insert('a', ':first-child') - .classed - selection: true - selected: () -> selected == selections[0] && !logscale - .attr - href: '#' - .on 'click', (d, i) -> - selectData(0, false) - d3.event.preventDefault() - .text selections[0] + ' (normal scale)' - -selectData = (i, l) -> - selected = valueheaders[i] - logscale = l - if logscale - y = d3.scale.log().base(10).range([height, 0]) - else - y = d3.scale.linear().range([height, 0]) - yAxis.scale(y) - reload() - -createDetailWindow() -createSelectionWindow() - -update = (data) -> - data = data.filter (d) -> d[3] != 'NULL' && d[4] != 'NULL' && d[5] != 'NULL' - - targets = data.toList - typed: true - - dateheader = targets.header[0] - nameheader = targets.header[1] - categoryheader = targets.header[2] - valueheaders = targets.header.filter (h, i) -> i >= 3 - - if !~valueheaders.indexOf(selected) - selectData(0, true) - - updateSelectionWindow(valueheaders) - - max = d3.max(targets, (d) -> d3.max(valueheaders, (h) -> d[h])) - - x.domain(d3.extent(targets, (d) -> xvalue(d[dateheader]))) - y.domain([1, yvalue(max)]) - r.domain([1, rvalue(max)]) - color.domain(x.domain()) - - if first - y.domain([1, yvalue(max) / 1000]) - - setupXAxis = (selection) -> - selection - .attr - class: 'x axis' - transform: "translate(0,#{height})" - .call(xAxis) - - setupYAxis = (selection) -> - selection - .attr - class: 'y axis' - .call(yAxis) - - if svg.select('.x').empty() - svg.append('g').call(setupXAxis) - else - svg.select('.y').transition().duration(duration).ease(ease).call(setupXAxis) - - if svg.select('.y').empty() - svg.append('g').call(setupYAxis) - .append('text') - .style('text-anchor', 'end') - .attr y: '6px', dy: '.71em', transform: 'rotate(-90)' - .text("In billions of #{unit}") - else - svg.select('.y').transition().duration(duration).ease(ease).call(setupYAxis).each('end', env.ready) - - plot = svg.selectAll('.target') - .data(targets) - - setupPlot = (selection) -> - selection - .attr - class: 'target' - r: (d) -> r(rvalue(d[selected])) - cx: (d) -> x(xvalue(d[dateheader])) - cy: (d) -> y(yvalue(d[selected])) - fill: (d) -> color(xvalue(d[dateheader])) - 'fill-opacity': 0.7 - stroke: 'black' - 'stroke-width': 0 - - plot.transition().duration(duration).ease(ease).call(setupPlot) - - enter = plot.enter().append('circle').call(setupPlot) - .on 'mouseover', (d) -> - d3.select(this) - .attr - 'stroke-width': 3 - showDetailWindow d - .on 'mouseout', (d) -> - d3.select(this) - .attr - 'stroke-width': 0 - hideDetailWindow d - - if !first - enter - .attr - r: 0 - .transition().duration(duration).ease(ease) - .attr - r: (d) -> r(rvalue(d[selected])) - - plot.exit() - .transition().duration(duration).ease(ease) - .attr - r: 0 - .remove() - - if first - first = false - reload() - - return false diff --git a/compare-ipo/main.css b/compare-ipo/main.css deleted file mode 100644 index acfb1a3..0000000 --- a/compare-ipo/main.css +++ /dev/null @@ -1,101 +0,0 @@ -.axis text { - font: 10px sans-serif; -} - -.axis path, -.axis line { - fill: none; - stroke: #000; - shape-rendering: crispEdges; -} - -.y.axis path { - display: none; -} - -.detail-window { - position: absolute; - display: none; - - font: 12px sans-serif; - background-color: #fff; - border: 1px solid #ccc; - border-radius: 4px; - width: 200px; - box-shadow: 1px 1px 3px rgba(0,0,0,0.1); - - pointer-events: none; - - z-index: 100; -} - -.detail-heading { - font-size: 12px; - text-align: left; - padding: 8px 8px; - border-top-right-radius: 3px; - border-top-left-radius: 3px; - border-bottom: 1px solid #ccc; -} - -.detail-body { - padding: 6px 6px; -} - -.detail-body table { - width: 100%; -} - -.detail-body td { - width: 50%; -} - -.date { - font-weight: bold; - color: #999; -} - -.positive { - font-size: 16px; - color: red; -} - -.negative { - font-size: 16px; - color: green; -} - -.even { - font-size: 16px; -} - -.selection-window { - position: absolute; - - right: 8px; - top: 8px; - - font: 12px sans-serif; - background-color: #fff; - border: 1px solid #ccc; - border-radius: 4px; - box-shadow: 1px 1px 3px rgba(0,0,0,0.1); - - z-index: 50; -} - -.selection { - display: inline-block; - padding: 8px; - color: steelblue; - text-decoration: none; -} - -.selection:hover { - font-weight: bold; -} - -.selected { - font-weight: bold; - background-color: #f3f3f3; -} diff --git a/compare-ipo/thumbnail.png b/compare-ipo/thumbnail.png deleted file mode 100644 index d3a5c69..0000000 Binary files a/compare-ipo/thumbnail.png and /dev/null differ diff --git a/curry/README.md b/curry/README.md deleted file mode 100644 index c71ddac..0000000 --- a/curry/README.md +++ /dev/null @@ -1,10 +0,0 @@ -Simple Rader chart -==== - -Simple Rader chart - -## Data Format - -| Data Label1 | Data Label2 | ... | -|-------------|-------------|-----| -| Data | Data | ... | diff --git a/curry/data.csv b/curry/data.csv deleted file mode 100644 index f520ca1..0000000 --- a/curry/data.csv +++ /dev/null @@ -1,2 +0,0 @@ -排出量,爽快感,命中率,優雅さ,難易度 -68,72,93,94,8 \ No newline at end of file diff --git a/curry/main.css b/curry/main.css deleted file mode 100644 index 6352810..0000000 --- a/curry/main.css +++ /dev/null @@ -1,14 +0,0 @@ -.axis text { - font: 10px sans-serif; -} - -.axis path, -.axis line { - fill: none; - stroke: #000; - shape-rendering: crispEdges; -} - -.x.axis path { - display: none; -} diff --git a/curry/main.js b/curry/main.js deleted file mode 100644 index cec66f3..0000000 --- a/curry/main.js +++ /dev/null @@ -1,130 +0,0 @@ -//# require=d3 - -var margin = { top: 20, right: 30, bottom: 30, left: 40 }; -var width = root.clientWidth - margin.left - margin.right; -var height = root.clientHeight - margin.top - margin.bottom; - -var color = d3.scale.ordinal() - .range(["#d6616b", "#3182bd", "transparent"]); - -var cfg = { - radius: 5, - w: 300, - h: 300, - factor: 1, - factorLegend: .85, - levels: 3, - maxValue: 0, - radians: 2 * Math.PI, - opacityArea: 0.2, - ToRight: 5, - TranslateX: 150, - TranslateY: 30, - ExtraWidthX: 100, - ExtraWidthY: 120, - color: color -}; -var radius = cfg.factor*Math.min(cfg.w/2, cfg.h/2); - -function update(data) { - d3.selectAll('svg').remove(); - var chart = d3.select(root).append('svg') - .attr('width', root.clientWidth) - .attr('height', root.clientHeight) - .append('g') - .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')'); - var list = data.transpose().toList({header: ['axis', 'value'], typed: true}); - var key = 'value'; - var total = list.length; - - cfg.maxValue = d3.max(list, function(i){return i.value;}); - var g = chart.append('g'); - - for(var j=0; j 0 ? d.value.x / d.value.count : null; }) - .valueAccessor(function (d) { return d.value.count > 0 ? d.value.y / d.value.count : null; }) - .radiusValueAccessor(function (d) { return d.value.count; }) - .x(d3.scale.linear().domain(d3.extent(list, function (d) { return d[xKey]; }))) - .y(d3.scale.linear().domain(d3.extent(list, function (d) { return d[yKey]; }))) - .r(d3.scale.linear().domain([1, 12])) - .elasticX(true) - .elasticY(true) - .xAxisPadding('5%') - .yAxisPadding('5%') - .minRadiusWithLabel(0) - .maxBubbleRelativeSize('0.01') - .renderHorizontalGridLines(true) - .renderVerticalGridLines(true) - .xAxisLabel(xKey) - .yAxisLabel(yKey); - - return chart; - }); - - createChart(['データ数'], 'count', function (key) { - var dimension = cf.dimension(function (d) { - var m = d[datename].getMonth(); - return ('0' + m).slice(-2) + '.' + monthNames[m]; - }); - var group = dimension.group(); - - var chart = dc.rowChart(this) - .width(this.clientWidth) - .height(this.clientHeight) - .margins(margin) - .dimension(dimension) - .group(group) - .label(function (d) { return d.key.split('.')[1]; }) - .labelOffsetY(12); - - chart.xAxis().ticks(4); - - return chart; - }); - - createChart(list.header.slice(1, 2), 'months', function (key) { - var dimension = cf.dimension(function (d) { - var m = d[datename].getMonth(); - return ('0' + m).slice(-2) + '.' + monthNames[m]; - }); - var group = dimension.group() - .reduce( - function(p, v) { ++p.count; p.total += v[key]; return p; }, - function(p, v) { --p.count; p.total -= v[key]; return p; }, - function() { return { count: 0, total: 0 }; } - ); - - var chart = dc.rowChart(this) - .width(this.clientWidth) - .height(this.clientHeight) - .margins(margin) - .dimension(dimension) - .group(group) - .valueAccessor(function (d) { return d.value.count > 0 ? d.value.total / d.value.count : null; }) - .label(function (d) { return d.key.split('.')[1]; }) - .labelOffsetY(12); - - chart.xAxis().ticks(4); - - return chart; - }); - - createChart(list.header.slice(1), 'dimension', function (key) { - var extent = d3.extent(list, function (d) { return d[key]; }); - - var scale = d3.scale.linear().domain(extent).nice(20); - var ticks = scale.ticks(20); - var step = ticks[1] - ticks[0]; - - var rounding = function (d) { return d[key] !== '' ? Math.round(d[key] / step) * step : Number.NEGATIVE_INFINITY; }; - - var dimension = cf.dimension(rounding); - var group = dimension.group().reduceSum(function (d) { return d[key] !== '' ? 1 : 0; }); - - scale = d3.scale.linear().domain([scale.domain()[0] - step, scale.domain()[1] + step]); - - var chart = dc.barChart(this) - .width(this.clientWidth) - .height(this.clientHeight) - .margins(margin) - .dimension(dimension) - .group(group) - .elasticY(true) - .centerBar(true) - .gap(1) - .round(rounding) - .x(scale) - .xUnits(function (start, end, xDomain) { return (end - start) / step; }) - .renderHorizontalGridLines(true); - - chart.xAxis().ticks(20); - - return chart; - }); - - dc.renderAll(); - - // Default transition duration is 750ms - // teke shot after 1sec - setTimeout(env.ready, 1000); - return false; -} - -function filter(group, f) { - return { - all: function () { - return group.all().filter(function (d) { - return f(d.value); - }); - } - }; -} - -function createChart(names, classname, render) { - var dim = d3.select(root).selectAll('.' + classname) - .data(names) - .enter().append('div') - .attr('class', classname); - - dim.append('div') - .attr('class', 'title') - .text(function (d) { return d + ' '; }) - .append('a') - .attr('href', 'javascript:') - .text('reset'); - - dim.append('div') - .attr('id', function (d, i) { return 'chart' + Math.floor(Math.random() * 100); }) - .attr('class', 'chart') - .each(function (d) { - var chart = render.call(this, d); - d3.select(this.parentNode).select('a') - .on('click', function (d) { - chart.filterAll(); - dc.redrawAll(); - }); - }); -} diff --git a/dcjs-example/thumbnail.png b/dcjs-example/thumbnail.png deleted file mode 100644 index 83ff7a1..0000000 Binary files a/dcjs-example/thumbnail.png and /dev/null differ diff --git a/dot-bar-chart/README.md b/dot-bar-chart/README.md deleted file mode 100644 index 051d55d..0000000 --- a/dot-bar-chart/README.md +++ /dev/null @@ -1 +0,0 @@ -Dot Bar Chart ==== The motional bar chart which is made with dots. \ No newline at end of file diff --git a/dot-bar-chart/data.csv b/dot-bar-chart/data.csv deleted file mode 100644 index ef3ae4b..0000000 --- a/dot-bar-chart/data.csv +++ /dev/null @@ -1 +0,0 @@ -year,A,B,C,D,E,F,G 2010,403,150,0,144,48,410,803 2011,420,299,90,141,80,180,802 2012,468,440,97,95,48,42,860 2013,585,459,100,99,48,71,702 2014,462,634,89,80,44,104,670 2015,423,233,81,84,19,361,882 \ No newline at end of file diff --git a/dot-bar-chart/main.css b/dot-bar-chart/main.css deleted file mode 100644 index 0d41cc9..0000000 --- a/dot-bar-chart/main.css +++ /dev/null @@ -1,6 +0,0 @@ -svg { - font: 10px sans-serif; - padding: 10px; - display: block; - margin: auto; -} diff --git a/dot-bar-chart/main.js b/dot-bar-chart/main.js deleted file mode 100644 index b40de07..0000000 --- a/dot-bar-chart/main.js +++ /dev/null @@ -1,252 +0,0 @@ -//# require=d3 - -var dim = { width: root.clientWidth, height: root.clientHeight }; -var margin = { top: 30, bottom: 50, left: 50, right: 20 }; -var inputHeight = 20; -var numberFormat = d3.format('.0f'); -dim.graphWidth = dim.width - margin.left - margin.right; -dim.graphHeight = dim.height - margin.top - margin.bottom; - -var prev, next, trans; - -d3.select('body').on('keydown', function () { - if (d3.event.which === 39) { - next(); - } - if (d3.event.which === 37) { - prev(); - } -}); - -function update(data) { - d3.select(root).selectAll('*').remove(); - - var svg = d3.select(root).append('svg') - .attr({ width: dim.width, height: dim.height }) - .style({ padding: 0 }); - - var axisLayer = svg.append('g').attr('transform', 'translate(' + margin.left + ',' + margin.top + ')').attr("id","g-axis-layer"); - var graphLayer = svg.append('g').attr('transform', 'translate(' + margin.left + ',' + margin.top + ')').attr("id", "g-graph-layer"); - var inputLayer = svg.append('g').attr('transform', 'translate(0,' + (dim.height - inputHeight) + ')').attr("id", "g-input-layer"); - - var xScale = d3.scale.ordinal().rangeBands([0, dim.graphWidth], 0.05); - var xLocalScale = d3.scale.ordinal(); - var yScale = d3.scale.ordinal().rangePoints([dim.graphHeight, 0]); - var colorScale = d3.scale.category10(); - var inputScale = d3.scale.ordinal().rangeBands([0, dim.width - margin.right]); - - var xAxis = d3.svg.axis().orient('bottom').scale(xScale); - var yAxis = d3.svg.axis().orient('left').scale(yScale); - - var xAxisObj = axisLayer.append('g') - .attr('transform', 'translate(' + 0 + ',' + dim.graphHeight + ')') - .attr('class', 'axis') - .call(xAxis); - var yAxisObj = axisLayer.append('g') - .attr('transform', 'translate(' + 0 + ',' + 0 + ')') - .attr('class', 'axis') - .call(yAxis); - - axisLayer.selectAll('.axis text').style('font', '14px "Lucida Grande", Helvetica, Arial, sans-serif'); - axisLayer.selectAll('.axis path.domain').style({ fill: 'none', stroke: '#000000', 'shape-rendering': 'crispEdges' }); - axisLayer.selectAll('.axis line').style({ fill: 'none', stroke: '#000000', 'shape-rendering': 'crispEdges' }); - - var time = 0; - var radius = 3; - var mar = 0.6; - var barWidth = 16; - - var auto = true; - - var duration = 2000; - var delayMax = 1000; - - prev = function () { - trans(time - 1); - } - - next = function () { - trans(time + 1); - } - - var json = data.toMap({typed: true}); - - var displaydata = []; - var labels = json.keys; - var parties = json.header; - - var partDict = {}; - parties.forEach(function (d, i) { - partDict[d] = i; - }); - var sums = {}; - var data = {}; - - labels.forEach(function (label) { - var r = []; - parties.forEach(function (party) { - r.push(+json[label][party]); - }); - data[label] = r; - sums[label] = d3.sum(data[label]); - }); - - var max = d3.max(labels.map(function (d) { return d3.max(data[d]); })); - - var denominator = Math.ceil(max / 1000); - if (denominator != 1) - { - var legend = axisLayer.append('g') - .attr('class', 'legend') - .attr('transform', 'translate(-20,-10)'); - legend.append('circle') - .attr({r: radius, fill: '#888', stroke: 'none'}); - legend.append('text') - .attr({x: 5, y: 4, 'font-size': 12, 'font-family': '"Lucida Grande", Helvetica, Arial, sans-serif'}) - .text('=' + denominator); - - labels.forEach(function (label) { - var r = []; - parties.forEach(function (party) { - r.push(Math.ceil(+json[label][party]/denominator)); - }); - data[label] = r; - sums[label] = d3.sum(data[label]); - }); - - max = d3.max(labels.map(function (d) { return d3.max(data[d]); })); - } - else - { - axisLayer.select('g.legend').remove(); - } - - var nrow = Math.ceil(dim.graphHeight / (2 * (radius + mar))); - barWidth = Math.ceil(max / nrow); - yScale.domain(d3.range(nrow)); - yAxis.tickValues(d3.range(nrow).filter(function (d) { return d % 10 === 0; })); - yAxis.tickFormat(function (d) { return (d * barWidth)*denominator; }); - xScale.domain(parties.map(function (d, i) { return i; })); - xAxis.tickFormat(function (d) { return parties[d]; }); - xAxisObj.call(xAxis); - yAxisObj.call(yAxis); - xLocalScale.rangeBands([0, xScale.rangeBand()]).domain(d3.range(barWidth)); - colorScale.domain(d3.range(parties.length)); - - inputScale.domain(labels); - var currentButton = inputLayer.append('rect') - .attr('class', 'cursor') - .attr({ x: 0, y: 0, height: inputHeight, width: inputScale.rangeBand() }) - .style('stroke', '#FFF') - .style('stroke-width', 2) - .style('fill', '#000'); - var buttons = inputLayer.selectAll('.button').data(labels).enter().append('g').attr('class', 'button') - .attr('transform', function (d) { return 'translate(' + inputScale(d) + ',' + 0 + ')'; }) - .on('click', function () { - var s = d3.select(this); - trans(labels.indexOf(s.datum())); - }); - buttons.append('rect') - .attr({ x: 0, y: 0, height: inputHeight, width: inputScale.rangeBand() }) - .style('stroke', '#FFF') - .style('stroke-width', 2) - .style('fill', 'rgba(0,0,0,0.1)'); - buttons.append('text') - .text(function (d) { return d; }) - .attr('x', function (d) { return inputScale.rangeBand() / 2; }) - .attr('y', 16) - .style('fill', function (d, i) { return (i === 0) ? '#FFF' : '#000'; }) - .style('text-anchor', 'middle') - .style('font', (inputHeight - 4) + 'px "Lucida Grande", Helvetica, Arial, sans-serif'); - - var summax = d3.max(labels.map(function (d) { return sums[d]; })); - var displaydata = d3.range(summax).map(function (d) { return []; }); - var indexMargin = 0; - parties.forEach(function (party, partyidx) { - for (var i = 0; i < data[labels[0]][partyidx]; ++i) { - displaydata[indexMargin + i].push({ label: partyidx, idx: i }); - } - indexMargin += data[labels[0]][partyidx]; - }); - for (var i = indexMargin; i < summax; ++i) { - displaydata[i].push({ label: null, idx: null }); - } - - d3.range(1, labels.length).forEach(function (idx) { - var year = labels[idx]; - var lastyear = labels[idx - 1]; - var yearidx = idx; - var pool = []; - var unused = []; - var keep = []; - displaydata.forEach(function (d, i) { - var copy = { label: d[yearidx - 1].label, idx: d[yearidx - 1].idx }; - d.push(copy); - if (d[yearidx].label == null) { - unused.push(i); - } - else { - if (data[year][d[yearidx].label] <= d[yearidx].idx) { - pool.push(i); - } - else { - keep.push(i); - } - } - }); - - d3.shuffle(pool); - if (sums[year] - sums[lastyear] > 0) { - pool = pool.concat(unused.splice(0, sums[year] - sums[lastyear])); - d3.shuffle(pool); - } - else { - pool.splice(sums[year] - keep.length).forEach(function (d) { - displaydata[d][yearidx] = { label: null, idx: null }; - }); - pool = pool.splice(0, sums[year] - keep.length); - } - var poolmargin = 0; - - parties.forEach(function (party) { - if (data[year][partDict[party]] - data[lastyear][partDict[party]] > 0) { - for (var i = 0; i < (data[year][partDict[party]] - data[lastyear][partDict[party]]) ; ++i) { - if (pool[poolmargin + i]) displaydata[pool[poolmargin + i]][yearidx] = { label: partDict[party], idx: i + data[lastyear][partDict[party]] }; - - }; - poolmargin += data[year][partDict[party]] - data[lastyear][partDict[party]]; - } - }); - - }); - var votes = graphLayer.selectAll('.vote').data(displaydata).enter().append('circle') - .attr('class', 'vote') - .attr('r', radius) - .attr('cx', function (d) { return ((d[time].label != null) ? (xScale(d[time].label) + xLocalScale(d[time].idx % barWidth) + radius + mar) : (dim.graphWidth / 2)); }) - .attr('cy', function (d) { return ((d[time].label != null) ? (yScale(Math.floor((d[time].idx + 0.1) / barWidth)) - radius - mar) : 0); }) - .style('opacity', function (d) { return (d[time].label != null) ? 0.8 : 0.0; }) - .style('fill', function (d) { return colorScale(d[time].label); }); - - trans = function (to) { - if (to === time || to < 0 || to >= labels.length) { - return; - } - var current = time; - time = to; - yearTarget = labels[time]; - var votes = graphLayer.selectAll('.vote') - .filter(function (d) { return d[current].label != d[time].label || d[current].idx != d[time].idx; }) - .transition() - .duration(duration) - .delay(function (d) { return Math.random() * delayMax; }) - .attr('cx', function (d) { return ((d[time].label != null) ? (xScale(d[time].label) + xLocalScale(d[time].idx % barWidth) + radius + mar) : (dim.graphWidth / 2)); }) - .attr('cy', function (d) { return ((d[time].label != null) ? (yScale(Math.floor((d[time].idx + 0.1) / barWidth)) - radius - mar) : 0); }) - .style('opacity', function (d) { return (d[time].label != null) ? 0.8 : 0.0; }) - .style('fill', function (d) { return colorScale(d[time].label); }); - - inputLayer.select('.cursor').transition().duration(duration / 2) - .attr('x', function (d) { return inputScale(labels[time]); }); - inputLayer.selectAll('.button text').transition().duration(duration / 2) - .style('fill', function (d, i) { return (i === time) ? '#FFF' : '#000'; }) - } -}; diff --git a/dot-bar-chart/thumbnail.png b/dot-bar-chart/thumbnail.png deleted file mode 100644 index 47e7c1c..0000000 Binary files a/dot-bar-chart/thumbnail.png and /dev/null differ diff --git a/food-analyzer/README.md b/food-analyzer/README.md deleted file mode 100644 index 98cf8f2..0000000 --- a/food-analyzer/README.md +++ /dev/null @@ -1,4 +0,0 @@ -Food Analyzer -==== - -In information visualization and computing, treemapping is a method for displaying hierarchical data by using nested rectangles. diff --git a/food-analyzer/data.csv b/food-analyzer/data.csv deleted file mode 100644 index 5a8d9f6..0000000 --- a/food-analyzer/data.csv +++ /dev/null @@ -1,17 +0,0 @@ -"name","param","value","image" -"豚","穏やか","10","pig" -"豚","ぽっちゃりしてかわいい","20","pig" -"豚","子どもの面倒をよく見る","20","pig" -"豚","抱き心地が気持ち良い","40","pig" -"牛","筋肉質","20","cow" -"牛","声が癒し系","20","cow" -"牛","たまに見せる男らしい闘争心","10","cow" -"牛","食事が草でエンゲル係数低い","20","cow" -"カモ","優雅な立ち振る舞い","20","bird" -"カモ","スタイリッシュな体型","10","bird" -"カモ","マイペースで温厚","20","bird" -"カモ","たまに飛ぶ","20","bird" -"カツオ","なんか凛々しい","20","fish" -"カツオ","大きくて意思を感じる眼差し","10","fish" -"カツオ","下半身の動きが激しい","20","fish" -"カツオ","水泳スキルが高い","20","fish" \ No newline at end of file diff --git a/food-analyzer/images/bird.svg b/food-analyzer/images/bird.svg deleted file mode 100644 index 6763d10..0000000 --- a/food-analyzer/images/bird.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/food-analyzer/images/cabbage.svg b/food-analyzer/images/cabbage.svg deleted file mode 100644 index 8dc5196..0000000 --- a/food-analyzer/images/cabbage.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/food-analyzer/images/cow.svg b/food-analyzer/images/cow.svg deleted file mode 100644 index dcdfa14..0000000 --- a/food-analyzer/images/cow.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/food-analyzer/images/fish.svg b/food-analyzer/images/fish.svg deleted file mode 100644 index 9a4f20d..0000000 --- a/food-analyzer/images/fish.svg +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/food-analyzer/images/pig.svg b/food-analyzer/images/pig.svg deleted file mode 100644 index cd0fe15..0000000 --- a/food-analyzer/images/pig.svg +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/food-analyzer/main.css b/food-analyzer/main.css deleted file mode 100644 index e80f504..0000000 --- a/food-analyzer/main.css +++ /dev/null @@ -1,25 +0,0 @@ -.imageBox { - border: 1px solid #eee; - border-radius: 8px; - background-repeat: no-repeat; - background-position: center; -} -.hide { - display: none!important; -} -#bigImageBox { - position: absolute; - top: 130px; - left: -300px; - padding: 20px; -} -#chartBox { - position: absolute; - top: 130px; - right: 0; - padding: 20px; -} -#bigImageBox img { - transform: scaleX(-1); - filter: FlipH; -} \ No newline at end of file diff --git a/food-analyzer/main.js b/food-analyzer/main.js deleted file mode 100644 index 2580891..0000000 --- a/food-analyzer/main.js +++ /dev/null @@ -1,133 +0,0 @@ -//# require=d3,jquery - -var margin = { top: 10, right: 10, bottom: 10, left: 10 }, - width = root.clientWidth - margin.left - margin.right, - height = root.clientHeight - margin.top - margin.bottom, - imageSise = width * 0.2, - images = ["pig","fish","cow","cabbage","bird"]; - chartWidth = width * 0.5 - chartHeight = 300; - -var color = d3.scale.category10(); -//image -var imageBox = d3.select(root).append("div") - .style("display","table") - .style("width", width + "px") - .style("margin","10px auto"); - -d3.select(root).append("div") - .attr("id","bigImageBox") - .style("height", chartHeight + "px") - .style("width", (width * 0.3) + "px"); -d3.select(root).append("div") - .attr("id", "chartBox") - .style("height", chartHeight + "px") - .style("width", chartWidth + "px"); - -images.forEach(function(d){ - imageBox.append("div") - .style("display","table-cell") - .style("width", imageSise + "px") - .style("height", "100px") - .style("background-image",'url("images/'+ d +'.svg")') - .attr("class","imageBox hide " + d) - .attr("id", d) -}); - -//chart - var x = d3.scale.ordinal() - .rangeRoundBands([0, chartWidth], .1); - var y = d3.scale.linear() - .rangeRound([chartHeight, 0]); - - var xAxis = d3.svg.axis() - .scale(x) - .orient('bottom'); - var yAxis = d3.svg.axis() - .scale(y) - .orient('left'); - -var chart = d3.select("#chartBox").append('svg') - .attr('width', chartWidth) - .attr('height', chartHeight) - .append('g') - .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')'); - -function update(json) { - //view food-images - var header = json[0]; - var foods = []; - var data = json.toList(); - - data.forEach(function(d){ - foods.push(d[header[3]]); - }); - foods = foods.filter(function (x, i, self) { - return self.indexOf(x) === i; - }); - //console.log(foods); - //if(!foods) return; - foods.forEach(function(d){ - console.log(d3.select("." + d)); - $("." + d).removeClass('hide'); - }); - - $(document).on("click", ".imageBox", function(){ - extract(this,data,header); - }); -} - -function extract(food, data, header){ - var id = $(food).attr("id"); - var values = []; - data = data.filter(function(d){ - return (d[header[3]] == id); - }) - data.forEach(function(d){ - values.push(d[header[2]]); - }) - - if($("#bigImageBox").children().length > 0){ - $("#bigImageBox").empty().css({"left":'-300px'}); - } - $("#bigImageBox").animate({left:'0px'}, {queue: false, duration: 500}); - $("#bigImageBox").append($("").attr("src","images/"+ id +".svg")); - - x.domain(data.map(function (d) { return d[header[1]]; })); - y.domain([0, d3.max(values)]); - color.domain(data.map(function (d) { return d[header[1]]; })); - - var setup = function (selection) { - selection - .attr('class', 'bar') - .attr('x', function (d) { return x(d[header[1]]); }) - .attr('y', function (d) { return y(d[header[2]]); }) - .attr('height', function (d) { console.log(d[header[2]]); return chartHeight - y(d[header[2]]); }) - .attr('width', x.rangeBand()) - .style('fill', function (d) { return color(d[header[1]]); }); - } - - chart.selectAll('.axis').remove(); - chart.append('g') - .attr('class', 'x axis') - .attr('transform', 'translate(0,' + chartHeight + ')') - .call(xAxis); - - chart.append('g') - .attr('class', 'y axis') - .call(yAxis) - .append('text') - .attr('transform', 'rotate(-90)') - .attr('y', 6) - .attr('dy', '.71em') - .style('text-anchor', 'end') - .text(header[0]); - - rect = chart.selectAll('.bar').data(data); - rect.transition().duration(500).call(setup); - - rect.enter().append('rect').call(setup); - - rect.exit().remove(); - -} \ No newline at end of file diff --git a/food-analyzer/thumbnail.png b/food-analyzer/thumbnail.png deleted file mode 100644 index de2ce68..0000000 Binary files a/food-analyzer/thumbnail.png and /dev/null differ diff --git a/foot-race/README.md b/foot-race/README.md deleted file mode 100644 index 68e553a..0000000 --- a/foot-race/README.md +++ /dev/null @@ -1,4 +0,0 @@ -川上くんの徒競走 -==== - -きみはボルトより速く走れるか! diff --git a/foot-race/Symbols.js b/foot-race/Symbols.js deleted file mode 100644 index 55d1756..0000000 --- a/foot-race/Symbols.js +++ /dev/null @@ -1,82 +0,0 @@ - -define(function() { - function Symbols(svg) { - this.def = svg.append('defs'); - }; - - function ebi() { - return { - color: 'rgb(225,46,37)', -// color: 'rgb(0,0,0)', - d: "M106.964,0.136c-0.366,0.199-1.304,0.45-1.68,0.45c-0.184,0-0.545,0.095-0.792,0.209c-1.977,0.91-2.272,1.007-2.272,0.75 c0-0.134-0.445-0.37-0.683-0.362c-0.204,0.007-1.602,0.773-1.928,1.058c-0.195,0.169-0.38,0.223-0.776,0.223 c-0.286,0-0.696,0.048-0.914,0.108c-0.216,0.06-0.643,0.145-0.938,0.188c-0.3,0.043-0.812,0.133-1.138,0.198 c-0.413,0.083-2.244,0.125-6.029,0.139C85.79,3.112,84.175,3.152,83.6,3.25c-0.623,0.108-0.79,0.109-0.851,0.01 c-0.053-0.089-0.252-0.105-0.706-0.06c-0.351,0.035-1.295,0.097-2.116,0.138c-0.82,0.041-1.602,0.125-1.749,0.19 c-0.247,0.107-2.13,0.517-2.373,0.517c-0.054,0-0.071-0.074-0.039-0.163c0.051-0.14,0.005-0.154-0.321-0.099 c-0.21,0.036-0.599,0.127-0.865,0.205c-1.305,0.379-2.019,0.437-2.491,0.197c-0.33-0.167-0.712-0.135-1.256,0.104 c-0.164,0.073-0.583,0.16-0.938,0.195c-0.355,0.037-0.886,0.104-1.187,0.154c-0.302,0.049-0.845,0.111-1.222,0.139l-0.677,0.049 l0.065-0.252c0.062-0.245,0.054-0.25-0.264-0.183c-0.177,0.038-0.438,0.17-0.573,0.292c-0.202,0.183-0.415,0.236-1.187,0.296 c-0.513,0.042-1.027,0.063-1.136,0.05c-0.435-0.055-1.007-0.021-1.384,0.083c-0.217,0.06-0.82,0.18-1.335,0.266 c-2.096,0.348-2.762,0.476-3.608,0.693c-0.494,0.126-1.241,0.303-1.681,0.396c-0.436,0.092-1.014,0.225-1.284,0.296 c-0.277,0.071-0.69,0.172-0.939,0.227c-0.245,0.055-0.89,0.22-1.435,0.366c-0.544,0.146-1.166,0.301-1.383,0.343 c-0.683,0.131-1.375,0.317-1.711,0.458c-0.178,0.075-0.413,0.137-0.519,0.137s-0.519,0.107-0.915,0.236 c-0.841,0.274-1.552,0.48-2.441,0.703c-0.752,0.189-1.551,0.426-1.828,0.542c-0.111,0.046-0.308,0.101-0.445,0.128 c-0.405,0.076-1.5,0.382-1.671,0.467c-0.086,0.043-0.504,0.195-0.919,0.333c-0.771,0.256-1.039,0.251-1.572-0.027 c-0.08-0.042-0.307-0.108-0.494-0.144c-0.367-0.07-1.236-0.311-1.721-0.475c-0.16-0.056-0.499-0.143-0.736-0.19 c-0.237-0.049-0.614-0.181-0.82-0.287c-0.208-0.108-0.45-0.198-0.534-0.198c-0.085,0-0.291-0.06-0.469-0.138 c-0.273-0.12-1.522-0.537-2.254-0.752c-0.189-0.056-0.376-0.024-0.643,0.113C30.48,8.86,30.443,8.854,30.015,8.45 c-0.648-0.613-1.147-0.774-2.372-0.771c-1.088,0.004-1.806,0.148-2.473,0.497c-0.176,0.093-0.652,0.167-1.235,0.193 c-0.814,0.037-2.017,0.257-3.37,0.621c-0.891,0.239-1.756,0.502-1.978,0.603c-0.633,0.287-1.587,0.582-1.878,0.582 c-0.141,0-0.455,0.062-0.692,0.136c-0.791,0.247-1.854,0.458-2.313,0.458c-0.405,0-0.924,0.15-1.049,0.306 c-0.027,0.033-0.267,0.164-0.543,0.297c-0.276,0.132-0.509,0.27-0.528,0.311c-0.019,0.04-0.214,0.174-0.421,0.292 s-0.385,0.254-0.385,0.296c0,0.046-0.061,0.08-0.139,0.08c-0.079,0-0.153,0.031-0.174,0.074c-0.019,0.041-0.301,0.248-0.627,0.459 c-0.326,0.212-0.639,0.437-0.692,0.5c-0.055,0.064-0.316,0.264-0.593,0.456c-0.276,0.19-0.51,0.373-0.529,0.415 c-0.021,0.044-0.062,0.073-0.104,0.073c-0.208,0-3.119,2.828-4.214,4.093c-0.325,0.376-0.668,0.751-0.764,0.836 c-0.099,0.087-0.173,0.193-0.173,0.247c0,0.05-0.099,0.189-0.218,0.304c-0.335,0.325-0.811,0.889-1.012,1.204 c-0.102,0.157-0.283,0.397-0.407,0.534c-0.12,0.134-0.253,0.395-0.291,0.573c-0.059,0.276-0.038,0.334,0.139,0.382 c0.281,0.077,0.27,0.409-0.042,1.318c-0.14,0.405-0.293,0.876-0.339,1.039c-0.048,0.167-0.131,0.417-0.193,0.573 c-0.059,0.15-0.108,0.464-0.108,0.692c0,0.226-0.066,0.662-0.146,0.958c-0.201,0.751-0.203,2.471-0.002,2.471 c0.079,0,0.15-0.059,0.152-0.128c0.006-0.182,0.688-0.576,0.886-0.511c0.136,0.042,0.192,0.206,0.237,0.67 c0.171,1.75,0.249,4.033,0.253,7.335c0.002,2.156,0.043,3.719,0.099,3.806c0.063,0.1,0.262,0.149,0.607,0.149 c0.504,0,0.519,0.008,0.746,0.434c0.127,0.237,0.233,0.496,0.233,0.568c0,0.07,0.047,0.134,0.098,0.134c0.054,0,0.1,0.069,0.1,0.147 c0,0.08,0.037,0.149,0.079,0.149c0.043,0,0.189,0.247,0.32,0.544c0.133,0.295,0.272,0.543,0.308,0.543 c0.036,0,0.115,0.128,0.182,0.297c0.068,0.168,0.158,0.297,0.208,0.297c0.052,0,0.089,0.059,0.089,0.138 c0,0.076,0.101,0.267,0.225,0.425c0.247,0.316,0.434,0.602,0.537,0.822c0.036,0.078,0.13,0.207,0.198,0.275 c0.072,0.074,0.128,0.188,0.128,0.268c0,0.079,0.057,0.172,0.133,0.217c0.074,0.045,0.26,0.277,0.416,0.524s0.325,0.487,0.381,0.54 c0.146,0.145,0.349,0.468,0.415,0.665c0.033,0.101,0.094,0.179,0.138,0.179c0.087,0,0.989,1.127,0.989,1.236 c0,0.031,0.179,0.271,0.396,0.528s0.396,0.522,0.396,0.588c0,0.069,0.039,0.118,0.094,0.118c0.052,0,0.16,0.129,0.242,0.287 c0.082,0.16,0.282,0.412,0.449,0.568c0.168,0.157,0.302,0.315,0.302,0.357c0,0.039,0.252,0.34,0.559,0.666l0.56,0.594h0.578 c0.523,0,0.594,0.025,0.75,0.271c0.096,0.148,0.287,0.389,0.424,0.529c0.337,0.346,2.13,1.67,2.262,1.67 c0.059,0,0.107,0.047,0.107,0.104c0,0.055,0.079,0.138,0.168,0.175c0.307,0.13,1.216,0.742,1.216,0.819 c0,0.039,0.139,0.139,0.317,0.229c0.375,0.189,0.642,0.355,0.86,0.532c0.087,0.071,0.513,0.356,0.958,0.644 c0.444,0.285,0.885,0.568,0.988,0.637c0.103,0.067,0.312,0.174,0.46,0.232s0.271,0.152,0.271,0.203c0,0.052,0.163,0.161,0.371,0.246 c0.207,0.086,0.393,0.183,0.42,0.219c0.027,0.034,0.208,0.139,0.396,0.227c0.188,0.089,0.505,0.238,0.692,0.326 c0.188,0.089,0.413,0.201,0.494,0.248c0.08,0.045,0.365,0.189,0.623,0.316c1.087,0.533,1.644,0.838,1.828,1.004 c0.1,0.088,0.264,0.166,0.347,0.166c0.089,0,0.18,0.037,0.207,0.084c0.028,0.047,0.484,0.303,1.019,0.568 c0.534,0.268,0.991,0.512,1.018,0.545c0.028,0.032,0.282,0.165,0.568,0.297c0.287,0.131,0.52,0.27,0.52,0.311 c0,0.04,0.059,0.074,0.129,0.074c0.069,0,0.341,0.135,0.598,0.297c0.258,0.162,0.51,0.297,0.559,0.297 c0.11,0,1.006,0.583,1.139,0.741c0.196,0.231,0.898,0.614,1.432,0.779c0.296,0.093,0.663,0.234,0.807,0.313 c0.147,0.081,0.33,0.143,0.42,0.143c0.088,0,0.158,0.035,0.158,0.08c0,0.043,0.424,0.297,0.948,0.568 c0.524,0.27,1.021,0.579,1.112,0.691c0.092,0.113,0.38,0.282,0.657,0.385c0.275,0.103,0.722,0.308,1.009,0.465 s0.58,0.281,0.662,0.281c0.079,0,0.184,0.056,0.224,0.119c0.11,0.171,0.487,0.377,0.696,0.377c0.227,0,1.018,0.391,1.018,0.504 c0,0.047,0.084,0.088,0.184,0.088c0.102,0,0.281,0.109,0.41,0.248c0.127,0.138,0.285,0.246,0.36,0.246 c0.068,0,0.134,0.035,0.134,0.075s0.231,0.177,0.519,0.306s0.651,0.293,0.814,0.365c0.169,0.076,0.4,0.162,0.535,0.199 c0.128,0.034,0.33,0.15,0.439,0.251c0.109,0.102,0.265,0.188,0.336,0.188c0.072,0,0.292,0.121,0.479,0.264 c0.351,0.266,0.959,0.449,1.453,0.436c0.156-0.004,0.4,0.078,0.559,0.19c0.158,0.11,0.364,0.197,0.471,0.197 c0.226,0,2.075,0.938,2.352,1.193c0.119,0.108,0.238,0.19,0.277,0.19c0.038,0,0.252,0.133,0.479,0.297 c0.227,0.164,0.465,0.297,0.534,0.297s0.179,0.068,0.252,0.158c0.072,0.089,0.266,0.229,0.445,0.32 c1.463,0.748,1.848,0.962,2.016,1.117c0.109,0.102,0.341,0.212,0.52,0.248c0.178,0.035,0.378,0.124,0.449,0.197 c0.07,0.074,0.192,0.135,0.271,0.135s0.653,0.242,1.285,0.543c0.633,0.301,1.241,0.543,1.365,0.543c0.118,0,0.269,0.045,0.321,0.096 c0.133,0.129,1.245,0.396,1.641,0.393c0.573-0.003,0.624-0.127,0.208-0.508c-0.465-0.421-0.677-0.758-0.554-0.88 c0.094-0.094,0.988,0.015,2.194,0.263c0.355,0.074,0.657,0.117,0.677,0.098c0.021-0.02-0.029-0.098-0.118-0.188 c-0.139-0.139-0.118-0.147,0.218-0.094c0.206,0.033,0.568,0.158,0.815,0.281c0.247,0.124,0.574,0.256,0.736,0.297 c0.292,0.074,0.292,0.074-0.094-0.26c-0.554-0.481-0.741-0.672-0.741-0.754c0-0.043-0.18-0.341-0.396-0.656 c-0.217-0.316-0.371-0.619-0.341-0.668c0.072-0.116,0.439-0.108,0.439,0.01c0,0.054,0.108,0.1,0.237,0.1 c0.131,0,0.391,0.064,0.578,0.143c0.188,0.079,0.647,0.171,1.023,0.203c0.375,0.033,0.872,0.109,1.106,0.168 c0.238,0.061,0.447,0.086,0.476,0.06c0.026-0.028-0.193-0.233-0.5-0.465s-0.636-0.587-0.747-0.806 c-0.108-0.217-0.236-0.391-0.286-0.391s-0.119-0.129-0.158-0.297s-0.107-0.319-0.158-0.35c-0.129-0.079-0.108-0.502,0.029-0.613 c0.071-0.057,0.529-0.111,1.014-0.119c0.485-0.008,0.928-0.042,0.979-0.074c0.051-0.031,0.247-0.055,0.424-0.049 c0.18,0.005,0.332-0.014,0.332-0.039c0-0.102-0.574-0.634-0.682-0.634c-0.059,0-0.109-0.069-0.109-0.148s-0.069-0.147-0.148-0.147 s-0.147-0.07-0.147-0.149c0-0.078-0.061-0.147-0.129-0.147c-0.14,0-0.662-0.555-0.662-0.702c0-0.047-0.055-0.089-0.113-0.089 c-0.062,0-0.409-0.302-0.767-0.668c-0.358-0.365-0.854-0.832-1.098-1.032c-0.247-0.202-0.577-0.482-0.741-0.628 c-0.168-0.148-0.415-0.33-0.569-0.42c-0.147-0.086-0.271-0.193-0.271-0.237c0-0.046-0.044-0.079-0.104-0.079 c-0.057,0-0.204-0.109-0.321-0.236c-0.117-0.129-0.308-0.254-0.415-0.273c-0.108-0.019-0.198-0.088-0.198-0.153 c0-0.202-0.761-0.819-1.334-1.079c-0.297-0.133-0.622-0.287-0.717-0.338c-0.096-0.053-0.252-0.095-0.352-0.095 c-0.101,0-0.262-0.062-0.37-0.144c-0.108-0.08-0.269-0.146-0.366-0.148c-0.095-0.003-0.351-0.116-0.567-0.252 c-0.218-0.136-0.458-0.248-0.534-0.248c-0.077,0-0.263-0.062-0.42-0.143c-0.154-0.078-0.529-0.242-0.826-0.36 c-0.692-0.276-1.583-0.663-1.809-0.788c-0.089-0.049-0.233-0.093-0.307-0.093c-0.074,0-0.194-0.067-0.258-0.147 c-0.066-0.084-0.187-0.148-0.276-0.148c-0.139,0-0.85-0.316-2.135-0.951c-0.148-0.072-0.337-0.135-0.405-0.135 c-0.069,0-0.185-0.07-0.247-0.149c-0.066-0.083-0.214-0.149-0.331-0.149c-0.115,0-0.381-0.112-0.579-0.246s-0.456-0.248-0.563-0.248 c-0.359,0-0.485-0.256-0.555-1.137c-0.038-0.465-0.101-0.84-0.142-0.84s-0.126-0.172-0.188-0.38 c-0.062-0.208-0.203-0.462-0.312-0.56s-0.197-0.213-0.197-0.256c0-0.129-0.807-0.979-0.929-0.979c-0.065,0-0.369-0.258-0.668-0.564 c-0.651-0.67-1.379-1.311-2.604-2.292c-0.277-0.223-0.562-0.453-0.647-0.526c-0.086-0.07-0.381-0.301-0.667-0.518 c-0.287-0.219-0.515-0.426-0.515-0.471c0-0.041-0.055-0.078-0.113-0.078c-0.064,0-0.214-0.109-0.342-0.248 c-0.127-0.137-0.266-0.246-0.316-0.246c-0.05,0-0.292-0.196-0.548-0.445c-0.257-0.249-0.483-0.445-0.515-0.445 c-0.029,0-0.236-0.169-0.455-0.371c-0.217-0.201-0.471-0.41-0.553-0.459c-0.082-0.047-0.288-0.242-0.445-0.42 c-0.156-0.178-0.355-0.331-0.43-0.331s-0.139-0.069-0.139-0.149c0-0.078-0.069-0.147-0.148-0.147s-0.147-0.069-0.147-0.147 c0-0.08-0.051-0.149-0.109-0.149c-0.06,0-0.439-0.321-0.846-0.716c-0.404-0.395-0.822-0.758-0.929-0.807 c-0.109-0.049-0.193-0.146-0.193-0.221c0-0.07-0.05-0.135-0.103-0.135c-0.059,0-0.421-0.305-0.815-0.687 c-1.217-1.173-1.91-1.784-2.027-1.784c-0.063,0-0.119-0.07-0.119-0.148c0-0.08-0.06-0.148-0.129-0.148 c-0.128,0-0.464-0.301-0.464-0.415c0-0.026,0.247-0.133,0.544-0.233c0.297-0.1,0.544-0.218,0.544-0.261 c0-0.044,0.108-0.079,0.247-0.079s0.247,0.043,0.247,0.098c0,0.057,0.055,0.1,0.123,0.1s0.386,0.267,0.707,0.594 c0.32,0.326,0.633,0.592,0.692,0.592c0.059,0,0.244,0.158,0.405,0.347c0.16,0.188,0.341,0.347,0.395,0.347 c0.056,0,0.312,0.197,0.578,0.443c0.268,0.249,0.514,0.445,0.555,0.445c0.04,0,0.234,0.178,0.429,0.396 c0.197,0.217,0.382,0.395,0.411,0.395s0.139,0.08,0.237,0.174c0.1,0.094,0.381,0.339,0.617,0.539 c0.238,0.199,0.57,0.479,0.732,0.617c0.168,0.143,0.319,0.252,0.352,0.252c0.03,0,0.227,0.157,0.444,0.355 c0.217,0.199,0.588,0.492,0.835,0.662c0.247,0.171,0.487,0.359,0.54,0.426c0.127,0.158,1.131,0.83,1.239,0.83 c0.042,0,0.104,0.068,0.135,0.148c0.029,0.084,0.123,0.148,0.212,0.148s0.258,0.108,0.385,0.247 c0.128,0.138,0.249,0.247,0.277,0.247c0.059,0,0.948,0.529,1.413,0.842c0.615,0.411,0.683,0.445,2.323,1.209 c0.465,0.216,1.083,0.473,1.384,0.574c0.297,0.1,0.599,0.221,0.662,0.27c0.247,0.178,0.875,0.467,1.019,0.467 c0.084,0,0.263-0.074,0.38-0.158c0.183-0.131,0.212-0.217,0.159-0.484c-0.037-0.188-0.018-0.355,0.044-0.394 c0.148-0.092,0.504-0.931,0.499-1.179c-0.007-0.373-0.724-1.521-1.357-2.174c-0.336-0.348-0.614-0.656-0.614-0.684 c0-0.041-0.924-1.047-1.952-2.125c-0.283-0.297-0.519-0.604-0.519-0.676c0-0.075-0.064-0.135-0.144-0.135 c-0.08,0-0.266-0.163-0.421-0.371c-0.15-0.201-0.559-0.639-0.894-0.959c-0.337-0.319-0.619-0.642-0.619-0.705 c0-0.066-0.192-0.291-0.429-0.5c-0.238-0.211-0.515-0.514-0.618-0.678c-0.106-0.168-0.306-0.401-0.46-0.538 c-0.148-0.132-0.271-0.295-0.271-0.356c0-0.063-0.109-0.214-0.247-0.341c-0.139-0.128-0.247-0.282-0.247-0.352 c0-0.065-0.07-0.149-0.149-0.177c-0.079-0.029-0.147-0.115-0.147-0.184c0-0.072-0.11-0.247-0.247-0.395 c-0.138-0.149-0.247-0.314-0.247-0.371c0-0.061-0.042-0.104-0.1-0.104c-0.052,0-0.145-0.103-0.197-0.222 c-0.056-0.127-0.185-0.352-0.297-0.52s-0.223-0.369-0.256-0.464c-0.032-0.088-0.126-0.191-0.198-0.218 c-0.079-0.028-0.139-0.108-0.139-0.188c0-0.078-0.084-0.216-0.192-0.317c-0.104-0.095-0.224-0.271-0.258-0.38 c-0.035-0.114-0.166-0.312-0.297-0.45c-0.123-0.133-0.261-0.375-0.296-0.524s-0.105-0.277-0.153-0.277s-0.089-0.069-0.089-0.148 c0-0.079-0.046-0.148-0.099-0.148s-0.146-0.104-0.198-0.222c-0.056-0.126-0.185-0.352-0.296-0.52 c-0.112-0.168-0.224-0.371-0.257-0.47c-0.034-0.099-0.094-0.173-0.139-0.173c-0.043,0-0.111-0.124-0.148-0.271 c-0.039-0.153-0.174-0.41-0.307-0.588c-0.133-0.177-0.237-0.361-0.237-0.42c0-0.059-0.042-0.104-0.099-0.104 c-0.055,0-0.1-0.064-0.1-0.144s-0.06-0.203-0.133-0.277c-0.074-0.075-0.19-0.306-0.263-0.523c-0.071-0.218-0.198-0.443-0.285-0.509 c-0.142-0.105-0.134-0.119,0.063-0.124c0.118-0.003,0.222-0.046,0.222-0.094c0-0.049,0.114-0.119,0.253-0.153 c0.179-0.046,0.27-0.149,0.311-0.356c0.033-0.159,0.097-0.292,0.14-0.292c0.044,0,0.063-0.054,0.044-0.124 c-0.019-0.07-0.061-0.341-0.094-0.618l-0.06-0.494l0.396-0.025c0.218-0.013,0.396,0.02,0.396,0.074c0,0.053,0.069,0.099,0.148,0.099 c0.08,0,0.227,0.124,0.321,0.271c0.094,0.149,0.194,0.295,0.222,0.322s0.112,0.172,0.188,0.321c0.075,0.148,0.179,0.272,0.228,0.272 c0.111,0-0.011-0.829-0.129-0.874s-0.118-0.878,0-0.951c0.083-0.051,0.588,0.124,0.701,0.243c0.074,0.078,0.693,0.305,1.108,0.405 c0.198,0.047,0.607,0.195,0.894,0.322c0.287,0.125,0.697,0.263,0.895,0.301c0.198,0.038,0.366,0.112,0.366,0.163 c0,0.054,0.06,0.093,0.139,0.093c0.078,0,0.262,0.065,0.421,0.149c0.158,0.083,0.353,0.148,0.444,0.148 c0.089,0,0.218,0.067,0.281,0.148c0.063,0.079,0.179,0.149,0.247,0.149c0.069,0,0.146,0.045,0.163,0.098 c0.02,0.055,0.268,0.128,0.554,0.163c0.465,0.058,0.52,0.089,0.52,0.297c0,0.128,0.056,0.234,0.124,0.237 c0.067,0.003,0.301,0.181,0.518,0.396c0.219,0.215,0.434,0.39,0.479,0.39c0.047,0,0.246,0.169,0.445,0.377 c0.2,0.208,0.428,0.406,0.51,0.444c0.084,0.039,0.276,0.154,0.444,0.267c0.345,0.229,0.268,0.199,1.384,0.545 c0.494,0.153,1.044,0.359,1.235,0.463c0.188,0.103,0.471,0.24,0.618,0.302c0.148,0.062,0.272,0.149,0.272,0.193 s0.044,0.079,0.104,0.079c0.056,0,0.174,0.069,0.253,0.148c0.08,0.082,0.276,0.149,0.434,0.149c0.158,0,0.312,0.037,0.342,0.084 c0.029,0.046,0.336,0.19,0.672,0.316c0.336,0.126,0.708,0.287,0.815,0.351c0.277,0.167,0.939,0.271,0.939,0.149 c0-0.055,0.168-0.128,0.376-0.165c0.712-0.122,0.712-0.122,0.712-0.686c0-0.524,0-0.524-0.495-0.83 c-0.276-0.173-0.551-0.308-0.623-0.308c-0.069,0-0.351-0.114-0.617-0.252l-0.489-0.251l0.543,0.044 c0.445,0.036,0.582,0.009,0.752-0.149c0.178-0.165,0.227-0.173,0.346-0.059c0.077,0.074,0.356,0.188,0.633,0.256 c0.277,0.07,0.646,0.172,0.84,0.233c0.485,0.152,1.367,0.169,1.482,0.03c0.048-0.059,0.149-0.288,0.219-0.495 c0.151-0.455,0.376-0.579,0.376-0.208c0,0.139,0.042,0.273,0.098,0.307c0.059,0.035,0.1-0.08,0.1-0.277 c0-0.445,0.118-0.526,0.89-0.603c1.502-0.15,1.779-0.189,1.779-0.247c0-0.033,0.099-0.068,0.217-0.079 c1.375-0.117,3.05-0.409,3.303-0.573c0.128-0.084,0.294-0.149,0.38-0.149c0.089,0,0.154-0.041,0.154-0.099 c0-0.056,0.059-0.099,0.138-0.099s0.152-0.042,0.171-0.098c0.031-0.093,0.254-0.153,1.47-0.403c0.297-0.061,0.622-0.152,0.718-0.201 c0.098-0.05,0.235-0.088,0.32-0.088c0.082,0,0.405-0.089,0.722-0.198s0.767-0.191,1.004-0.183c0.355,0.012,0.466-0.031,0.643-0.247 c0.119-0.148,0.307-0.262,0.43-0.262c0.119,0,0.218-0.036,0.218-0.079c0-0.044,0.079-0.086,0.178-0.094 c0.544-0.047,1.171-0.159,1.255-0.224c0.055-0.043,0.312-0.108,0.569-0.146s0.469-0.109,0.469-0.158 c0-0.049,0.104-0.089,0.232-0.089c0.127,0,0.44-0.109,0.688-0.24c0.375-0.197,0.935-0.373,1.266-0.398 c0.041-0.003,0.098-0.035,0.144-0.079c0.041-0.042,0.192-0.074,0.341-0.074s0.346-0.088,0.445-0.198 c0.098-0.108,0.217-0.197,0.266-0.197c0.048,0,0.159-0.067,0.238-0.145c0.08-0.078,0.336-0.195,0.563-0.256 c0.227-0.062,0.484-0.149,0.568-0.193c0.084-0.042,0.341-0.11,0.568-0.147s0.415-0.105,0.415-0.148c0-0.044,0.129-0.109,0.297-0.149 c0.168-0.038,0.319-0.108,0.351-0.158s0.139-0.089,0.247-0.089s0.192-0.038,0.192-0.089c0-0.049,0.179-0.119,0.405-0.158 c0.229-0.039,0.521-0.13,0.668-0.208c0.148-0.078,0.348-0.139,0.459-0.14c0.377-0.003,0.986-0.275,0.973-0.434 c-0.007-0.088,0.047-0.158,0.125-0.158c0.079,0,0.139-0.041,0.139-0.098c0-0.052,0.069-0.099,0.148-0.099 c0.078,0,0.148-0.042,0.148-0.089c0-0.049,0.128-0.119,0.296-0.158c0.168-0.039,0.319-0.108,0.352-0.158 c0.028-0.047,0.133-0.089,0.222-0.089c0.095,0,0.332-0.087,0.538-0.197c0.209-0.111,0.465-0.198,0.585-0.198 c0.118,0,0.291-0.071,0.39-0.16c0.247-0.222,1.801-0.545,1.897-0.395c0.044,0.069,0.069,0.044,0.069-0.063 c0-0.099-0.042-0.174-0.098-0.174c-0.061,0-0.1-0.031-0.1-0.079c0-0.091,0.909-0.514,1.107-0.514c0.074,0,0.232-0.067,0.342-0.144 c0.11-0.079,0.419-0.199,0.687-0.267c0.267-0.068,0.54-0.176,0.607-0.242c0.066-0.063,0.219-0.093,0.326-0.064 c0.127,0.034,0.312-0.026,0.489-0.159c0.158-0.116,0.312-0.212,0.341-0.212s0.248-0.086,0.475-0.188 c0.229-0.101,0.493-0.21,0.578-0.237c0.087-0.027,0.506,0.126,0.921,0.335c0.415,0.211,0.859,0.387,0.979,0.387 c0.247,0,1.322,0.423,1.482,0.583c0.059,0.059,0.148,0.109,0.198,0.109c0.048,0,0.429,0.16,0.845,0.354 c0.415,0.196,0.938,0.442,1.162,0.546c0.673,0.314,0.913,0.611,1.342,1.649c0.073,0.177,0.191,0.317,0.269,0.317 c0.133,0,0.127-0.129-0.043-0.821c-0.075-0.307,0.137-0.372,0.389-0.118c0.08,0.079,0.186,0.147,0.228,0.147 c0.043,0,0.247,0.114,0.445,0.247c0.198,0.135,0.459,0.247,0.568,0.247c0.108,0,0.204,0.06,0.204,0.129 c0.003,0.131,0.612,0.465,0.849,0.465c0.078,0,0.178,0.08,0.21,0.168c0.109,0.296,0.465,0.615,0.689,0.618 c0.31,0.002,0.9,0.296,1.256,0.623c0.168,0.154,0.346,0.272,0.41,0.272c0.062,0,0.381,0.181,0.696,0.395 c0.317,0.215,0.632,0.396,0.688,0.396c0.057,0,0.259,0.158,0.44,0.347c0.346,0.355,0.988,0.741,1.235,0.741 c0.073,0,0.178,0.059,0.242,0.138c0.134,0.162,0.401,0.109,0.401-0.079c0-0.283,0.207-0.324,0.622-0.122 c0.227,0.11,0.431,0.238,0.45,0.281c0.02,0.046,0.098,0.079,0.187,0.079c0.127,0,0.119-0.031-0.039-0.173 c-0.107-0.097-0.296-0.321-0.427-0.509c-0.269-0.386-0.864-0.999-0.973-0.999c-0.038,0-0.247-0.16-0.464-0.356 c-0.218-0.195-0.484-0.396-0.593-0.445c-0.237-0.106-0.579-0.315-0.646-0.395c-0.049-0.059-0.313-0.208-0.985-0.554 c-0.188-0.097-0.369-0.203-0.396-0.232c-0.027-0.029-0.406-0.23-0.841-0.444c-0.435-0.216-0.813-0.414-0.84-0.44 c-0.092-0.09-0.436-0.284-0.891-0.5c-0.247-0.117-0.51-0.25-0.592-0.3c-0.085-0.05-0.277-0.146-0.445-0.223 c-0.168-0.076-0.354-0.204-0.431-0.296c-0.075-0.093-0.232-0.163-0.36-0.163c-0.129,0-0.242-0.037-0.263-0.084 c-0.019-0.048-0.464-0.296-0.997-0.559c-0.534-0.263-0.965-0.508-0.965-0.548c0-0.042-0.129-0.104-0.297-0.144 c-0.167-0.039-0.35-0.119-0.42-0.182c-0.068-0.063-0.321-0.2-0.568-0.307c-0.247-0.107-0.576-0.285-0.741-0.4 c-0.164-0.115-0.494-0.291-0.741-0.396s-0.467-0.217-0.494-0.251c-0.028-0.037-0.282-0.182-0.568-0.327 c-0.287-0.146-0.52-0.32-0.52-0.391c0-0.298,1.492-0.451,4.982-0.513c3.292-0.059,3.355-0.063,3.583-0.277 c0.129-0.121,0.234-0.284,0.238-0.366c0.003-0.078,0.071-0.237,0.146-0.335c0.228-0.308,0.187-0.817-0.082-0.991 c-0.203-0.131-0.36-0.126-1.497,0.046c-0.702,0.106-1.47,0.192-1.716,0.192c-0.248,0-0.712,0.044-1.048,0.099 c-0.33,0.054-1.117,0.142-1.739,0.193c-1.582,0.133-2.688,0.348-4.103,0.8c-1.235,0.393-1.767,0.349-2.075-0.173 c-0.092-0.155-0.312-0.342-0.481-0.405L91,20.16l0.396-0.183c0.218-0.101,0.573-0.237,0.791-0.302 c0.217-0.065,0.529-0.177,0.692-0.249c0.454-0.2,1.271-0.453,1.462-0.453c0.09,0,0.169-0.046,0.169-0.099 c0-0.058,0.05-0.099,0.118-0.099c0.129,0,1.71-0.562,1.978-0.702c0.091-0.048,0.351-0.119,0.568-0.154s0.399-0.1,0.399-0.143 c0-0.044,0.164-0.109,0.371-0.149c0.208-0.038,0.51-0.128,0.688-0.203c0.178-0.075,0.427-0.133,0.568-0.133 c0.138,0,0.252-0.038,0.252-0.084c0-0.046,0.281-0.161,0.617-0.251c0.337-0.092,0.821-0.234,1.063-0.312 c0.247-0.079,0.521-0.143,0.617-0.143c0.1,0,0.174-0.039,0.174-0.09c0-0.05,0.129-0.119,0.297-0.157 c0.168-0.04,0.296-0.108,0.296-0.159c0-0.047,0.07-0.089,0.149-0.089c0.078,0,0.146-0.037,0.146-0.078 c0-0.151,2.591-1.107,2.996-1.107c0.148,0,0.268-0.036,0.268-0.079c0-0.167,2.846-0.713,3.717-0.713 c0.376,0,1.312-0.355,1.571-0.597c0.119-0.111,0.244-0.193,0.292-0.193c0.047,0,0.153-0.061,0.242-0.138 c0.187-0.162,1.324-0.455,1.769-0.455c0.218,0,0.317-0.047,0.317-0.148c0-0.124-0.173-0.147-1.014-0.145 c-0.553,0.003-1.294,0.067-1.631,0.14c-0.523,0.112-0.618,0.112-0.618-0.005c0-0.076,0.089-0.139,0.197-0.139 c0.111,0,0.294-0.108,0.416-0.247c0.121-0.138,0.253-0.248,0.296-0.248c0.044,0,0.169-0.088,0.276-0.197 c0.198-0.198,0.198-0.198-0.227-0.139l-0.425,0.059l0.038-0.395c0.038-0.396,0.002-0.458-0.533-0.903 c-0.236-0.198-1.262-0.182-1.465,0.022c-0.194,0.196-0.377,0.139-0.506-0.158c-0.083-0.19-0.164-0.217-0.638-0.213 c-0.51,0.004-0.771,0.073-1.553,0.408c-0.167,0.072-0.36,0.13-0.426,0.13c-0.178,0-1.714,0.505-1.774,0.584 c-0.029,0.037-0.271,0.13-0.528,0.203c-0.257,0.071-0.497,0.171-0.524,0.217c-0.027,0.047-0.133,0.084-0.241,0.084 s-0.355,0.087-0.563,0.198s-0.421,0.198-0.484,0.198s-0.165,0.063-0.229,0.143c-0.061,0.078-0.247,0.172-0.405,0.208 c-0.157,0.035-0.291,0.128-0.291,0.203c0,0.078-0.094,0.139-0.213,0.139c-0.117,0-0.459,0.116-0.767,0.262 c-0.306,0.145-0.763,0.283-1.022,0.311c-0.257,0.028-0.47,0.088-0.47,0.134c0,0.047-0.059,0.084-0.138,0.084 c-0.078,0-0.263,0.065-0.421,0.148c-0.158,0.083-0.354,0.148-0.45,0.148c-0.089,0-0.193,0.042-0.222,0.088 c-0.03,0.048-0.247,0.121-0.475,0.159c-0.227,0.038-0.447,0.115-0.479,0.168c-0.032,0.054-0.242,0.122-0.46,0.148 c-0.385,0.048-0.402,0.038-0.464-0.247c-0.063-0.293,0.042-0.583,0.324-0.89c0.166-0.18,0.147-0.415-0.05-0.632 c-0.144-0.158-0.144-0.179-0.003-0.179c0.087,0,0.221-0.089,0.297-0.198c0.077-0.109,0.286-0.225,0.474-0.261 c0.188-0.036,0.357-0.092,0.387-0.128c0.026-0.037,0.266-0.114,0.543-0.176c1.019-0.229,1.608-0.41,2.037-0.625 c0.082-0.042,0.336-0.105,0.573-0.143c0.236-0.039,0.54-0.13,0.688-0.208c0.146-0.078,0.395-0.14,0.562-0.14 s0.343-0.039,0.396-0.088c0.053-0.049,0.312-0.135,0.588-0.192c0.277-0.058,0.69-0.151,0.939-0.213 c0.246-0.06,0.641-0.152,0.885-0.208c0.237-0.053,0.59-0.191,0.767-0.301c0.315-0.196,0.326-0.223,0.326-0.835 c0-0.494,0.032-0.633,0.147-0.633c0.102,0,0.149-0.104,0.149-0.321c0-0.247-0.075-0.371-0.322-0.539 c-0.177-0.121-0.442-0.247-0.593-0.282c-0.148-0.035-0.271-0.095-0.271-0.133c0-0.11,0.721-0.307,1.127-0.307 c0.197,0,0.355-0.043,0.355-0.099c0-0.057-0.292-0.098-0.688-0.098c-0.375,0-0.711-0.041-0.741-0.089 c-0.069-0.115,0.312-0.286,0.806-0.36c0.237-0.037,0.449-0.104,0.479-0.154c0.031-0.05,0.192-0.088,0.371-0.088 c0.691,0.002,2.145-0.239,2.145-0.357c0-0.195,0.109-0.225,1.049-0.284c1.482-0.093,1.661-0.133,1.966-0.448 c0.163-0.168,0.354-0.296,0.44-0.296c0.093,0-0.024-0.159-0.292-0.396c-0.545-0.485-0.839-0.505-2.125-0.148 c-0.688,0.191-1.126,0.248-1.938,0.248c-1.226,0-2.114,0.14-2.461,0.386c-0.33,0.233-1.543,0.676-2.026,0.739 c-0.218,0.029-0.318,0.029-0.223,0.001c0.099-0.027,0.172-0.079,0.172-0.119c0-0.122,2.799-1.502,3.046-1.502 c0.101,0,0.262-0.062,0.371-0.143c0.107-0.081,0.266-0.146,0.36-0.148c0.094-0.002,0.32-0.08,0.519-0.178 c0.309-0.152,0.352-0.217,0.352-0.534c0-0.296,0.041-0.371,0.237-0.419c0.134-0.033,0.376-0.176,0.553-0.326 c0.29-0.245,0.312-0.308,0.271-0.741c-0.058-0.604-0.335-0.868-0.903-0.863C107.39,0.001,107.103,0.062,106.964,0.136L106.964,0.136 z M110.77,11.757c0.035,0.057-0.078,0.098-0.267,0.098c-0.247,0-0.289-0.023-0.177-0.097 C110.513,11.633,110.694,11.633,110.77,11.757L110.77,11.757z M88.775,16.65c0,0.079-0.038,0.148-0.084,0.148 s-0.134,0.109-0.197,0.247c-0.073,0.159-0.194,0.247-0.336,0.247c-0.12,0-0.342,0.063-0.48,0.136 c-0.315,0.167-0.783,0.301-0.948,0.272c-0.069-0.012-0.128,0.021-0.128,0.072c0,0.052-0.198,0.122-0.445,0.159 c-0.247,0.035-0.444,0.105-0.444,0.157c0,0.053-0.095,0.094-0.213,0.094c-0.2,0-0.198-0.012,0.038-0.198 c0.14-0.109,0.302-0.198,0.361-0.198c0.061,0,0.109-0.04,0.109-0.088c0-0.051,0.128-0.119,0.296-0.159 c0.168-0.04,0.298-0.103,0.298-0.148c0-0.042,0.167-0.111,0.364-0.147c0.198-0.038,0.428-0.154,0.5-0.253 c0.074-0.101,0.287-0.211,0.475-0.246c0.188-0.036,0.341-0.104,0.341-0.154c0-0.05,0.108-0.088,0.247-0.088 C88.686,16.502,88.775,16.555,88.775,16.65L88.775,16.65z M95.398,16.878c0,0.233-0.929,0.711-1.384,0.711 c-0.168,0-0.296,0.041-0.296,0.094s-0.164,0.12-0.371,0.153s-0.479,0.115-0.618,0.186c-0.365,0.185-1.348,0.391-1.531,0.32 c-0.141-0.053-0.14-0.08,0.02-0.238c0.256-0.257,0.696-0.515,0.88-0.515c0.086,0,0.297-0.06,0.465-0.133 c0.47-0.206,1.433-0.46,2.095-0.555c0.326-0.046,0.627-0.088,0.667-0.093C95.369,16.802,95.398,16.83,95.398,16.878L95.398,16.878z M89.096,21.479c0.257,0.057,0.471,0.14,0.471,0.184c0,0.043,0.107,0.079,0.236,0.079c0.405,0,0.754,0.175,0.689,0.346 c-0.031,0.083-0.136,0.149-0.234,0.149c-0.1,0-0.23,0.065-0.297,0.147c-0.064,0.081-0.202,0.149-0.302,0.149 c-0.098,0-0.21,0.046-0.242,0.099c-0.031,0.051-0.138,0.099-0.228,0.099s-0.285,0.061-0.425,0.133 c-0.142,0.073-0.509,0.214-0.815,0.312c-0.306,0.097-0.558,0.21-0.558,0.252c0,0.04-0.18,0.104-0.396,0.143 c-0.217,0.038-0.395,0.109-0.395,0.158c0,0.051-0.069,0.089-0.159,0.089c-0.085,0-0.302,0.065-0.47,0.139 c-0.172,0.077-0.543,0.218-0.829,0.316c-0.287,0.098-0.52,0.213-0.52,0.257c0,0.043-0.178,0.108-0.396,0.143 c-0.217,0.036-0.395,0.098-0.395,0.139c0,0.042-0.134,0.105-0.302,0.144c-0.168,0.039-0.419,0.13-0.568,0.208 c-0.148,0.077-0.333,0.141-0.415,0.144c-0.084,0.002-0.232,0.066-0.341,0.147c-0.104,0.077-0.297,0.145-0.415,0.145 c-0.119,0-0.248,0.041-0.277,0.088c-0.03,0.049-0.376,0.211-0.771,0.361c-0.395,0.149-0.849,0.328-1.013,0.397 c-0.515,0.219-0.772,0.271-0.69,0.141c0.038-0.062,0.156-0.147,0.275-0.2c0.286-0.124,0.533-0.292,0.84-0.567 c0.138-0.125,0.305-0.222,0.376-0.222c0.069,0,0.188-0.057,0.257-0.124c0.07-0.068,0.36-0.234,0.647-0.371 c0.286-0.137,0.52-0.281,0.52-0.322c0-0.042,0.063-0.074,0.152-0.074c0.084,0,0.302-0.113,0.48-0.247 c0.178-0.135,0.366-0.247,0.415-0.247c0.05,0,0.483-0.203,0.979-0.457c1.325-0.679,1.428-0.738,1.488-0.839 c0.028-0.046,0.168-0.088,0.296-0.088s0.242-0.042,0.242-0.089c0-0.082,0.771-0.504,0.919-0.504c0.033,0,0.168-0.1,0.307-0.227 c0.623-0.568,1.006-0.781,1.245-0.69C88.56,21.351,88.839,21.422,89.096,21.479L89.096,21.479z M30.807,50.646 c0.033,0.085,0.146,0.179,0.266,0.219c0.113,0.037,0.32,0.173,0.459,0.301c0.138,0.127,0.461,0.402,0.708,0.604 s0.551,0.449,0.666,0.543c0.119,0.097,0.257,0.174,0.312,0.174s0.098,0.055,0.098,0.123s0.139,0.217,0.317,0.336 c0.851,0.572,1.818,1.252,1.863,1.31c0.077,0.098,0.421,0.302,0.618,0.368c0.089,0.03,0.167,0.122,0.167,0.195 c0,0.079,0.047,0.139,0.109,0.139c0.107,0,1.443,0.916,1.799,1.234c0.089,0.079,0.236,0.149,0.312,0.149 c0.079,0,0.179,0.06,0.222,0.134c0.044,0.073,0.347,0.256,0.673,0.406c0.325,0.148,0.771,0.359,0.988,0.469 c0.346,0.172,0.358,0.189,0.099,0.128c-0.168-0.039-0.425-0.127-0.593-0.202c-0.163-0.074-0.634-0.23-1.039-0.346 c-0.404-0.117-0.83-0.25-0.938-0.297c-0.442-0.187-0.919-0.225-1.651-0.133c-0.395,0.049-0.475,0.031-0.475-0.1 c0-0.089-0.05-0.158-0.113-0.158s-0.213-0.109-0.341-0.247s-0.249-0.247-0.276-0.247c-0.028,0-0.326-0.186-0.673-0.418 c-0.683-0.458-0.944-0.622-1.166-0.73c-0.179-0.088-0.308-0.188-0.712-0.553c-0.169-0.151-0.351-0.275-0.405-0.275 c-0.054,0-0.196-0.105-0.307-0.224c-0.114-0.122-0.44-0.37-0.728-0.553c-0.286-0.184-0.518-0.37-0.518-0.421 c0-0.048-0.061-0.09-0.129-0.091c-0.179-0.004-0.86-0.661-0.86-0.828c0-0.247,0.117-0.454,0.258-0.454 c0.082,0,0.138,0.098,0.138,0.246c0,0.149,0.056,0.248,0.139,0.248c0.079,0,0.157,0.053,0.183,0.123 c0.024,0.068,0.022-0.168-0.005-0.533c-0.044-0.584-0.028-0.664,0.138-0.707C30.727,50.494,30.75,50.498,30.807,50.646 L30.807,50.646z" - }; - }; - - function bolt() { - return{ -// color: 'rgb(0,0,255)', - color: 'rgb(0,0,0)', - d: "M51.966,24.065c1.744-0.233,3.488-0.466,5.231-0.698 c0.232-0.349,0.465-0.698,0.697-1.046c0.232,0,0.465,0,0.698,0c0-0.116,0-0.232,0-0.349c0.233,0,0.465,0,0.698,0 c0-0.116,0-0.231,0-0.349c1.511-0.232,3.022-0.464,4.533-0.697c0-0.116,0-0.232,0-0.349c0.767-0.524,1.671-2.465,1.047-4.186 c-0.116,0-0.233,0-0.349,0c-0.116-0.464-0.233-0.93-0.349-1.395c-0.349-0.233-0.698-0.465-1.046-0.697 c-0.714-1.085-2.823-6.42-2.093-8.72c0.802-2.523,3.068-4.766,5.58-5.58c1.628,0,3.256,0,4.883,0 c1.396,0.116,2.791,0.233,4.186,0.349c0,0.117,0,0.233,0,0.349c0.697,0.233,1.396,0.465,2.093,0.697 c0.116,0.233,0.232,0.466,0.349,0.698c0.697,0.581,1.396,1.163,2.093,1.744c0.116,0.581,0.232,1.162,0.349,1.743 c0.116,0,0.232,0,0.349,0c0,1.512,0,3.023,0,4.534c0.116,0,0.232,0,0.349,0c0.233,0.697,0.465,1.395,0.698,2.093 c0.116,0,0.232,0,0.349,0c-0.117,0.465-0.233,0.929-0.349,1.395c-0.117,0-0.233,0-0.35,0c0.117,0.813,0.233,1.628,0.35,2.441 c-0.35,0.233-0.698,0.465-1.047,0.697c0.116,0.698,0.232,1.396,0.349,2.093c-0.696,0.209-0.3-0.049-0.697,0.349 c-0.117,0-0.232,0-0.349,0c0,0.581,0,1.163,0,1.744c-0.117,0-0.233,0-0.349,0c0,0.116,0,0.233,0,0.349 c-1.163,0.233-2.326,0.466-3.488,0.697c0,0.233,0,0.466,0,0.698c0.698,0.117,1.396,0.232,2.093,0.349c0,0.116,0,0.232,0,0.349 c0.582,0,1.163,0,1.744,0c0,0.116,0,0.232,0,0.349c0.232,0,0.465,0,0.697,0c0,0.116,0,0.232,0,0.349 c0.582,0.116,1.163,0.232,1.744,0.349c0.116,0.232,0.232,0.464,0.349,0.697c0.232,0,0.465,0,0.697,0 c0.216,0.144,0.26,0.466,0.697,0.697c0.565,3.176,0.441,6.674-0.349,9.417c0,1.743,0,3.488,0,5.231c0.116,0,0.233,0,0.349,0 c0.735,2.629-0.59,5.402-0.697,7.324c1.661-0.428,2.203-1.692,3.488-2.441c-0.038-1.361-0.104-1.735-0.698-2.441 c-0.232-0.117-0.465-0.232-0.697-0.349c0-0.582,0-1.163,0-1.744c-0.117,0-0.232,0-0.349,0c-0.628-2.367,2.099-2.131-0.349-4.186 c0.002-1.077,0.102-1.789,0.349-2.44c0.697,0.116,1.395,0.232,2.092,0.349c0,0.116,0,0.232,0,0.349c0.349,0,0.698,0,1.046,0 c0.889,0.41,1.437,1.424,2.093,2.092c0.349,0.233,0.697,0.466,1.046,0.698c0.116,0.465,0.233,0.93,0.349,1.396 c0.116,0,0.232,0,0.349,0c0.116,0.697,0.232,1.395,0.349,2.092c-0.116,0-0.233,0-0.349,0c0,0.814,0,1.627,0,2.441 c0.116,0,0.232,0,0.349,0c0.042,0.266-0.886,3.666-1.046,3.837c-0.141,1.107-0.112,0.852-0.697,1.395c0,0.116,0,0.233,0,0.349 c-0.232,0-0.465,0-0.698,0c-0.116,0.232-0.233,0.465-0.349,0.698c-0.349,0.116-0.698,0.232-1.046,0.349 c-0.349,0.465-0.697,0.93-1.046,1.395c-0.232,0.116-0.465,0.233-0.698,0.349c0,0.232,0,0.465,0,0.698 c-0.465,0.349-0.93,0.697-1.395,1.046c0,0.116,0,0.233,0,0.349c-0.232,0-0.465,0-0.697,0c-0.233,0.349-0.465,0.698-0.698,1.046 c-0.232,0-0.464,0-0.697,0c-0.117,0.232-0.232,0.465-0.349,0.698c-0.232,0-0.465,0-0.697,0c0,0.116,0,0.232,0,0.349 c-0.233,0-0.465,0-0.697,0c-0.198,0.126-0.267,0.475-0.698,0.697c-0.044,2.286-0.53,4.139-1.046,5.929c0,1.744,0,3.487,0,5.231 c-0.117,0-0.233,0-0.349,0c0,0.349,0,0.697,0,1.046c-0.117,0-0.233,0-0.349,0c0,0.35,0,0.698,0,1.047c-0.117,0-0.233,0-0.35,0 c0,1.163,0,2.325,0,3.487c-0.116,0-0.232,0-0.349,0c0,0.697,0,1.396,0,2.093c-0.117,0-0.232,0-0.349,0c0,0.465,0,0.93,0,1.396 c-0.117,0-0.232,0-0.349,0c0,0.464,0,0.929,0,1.395c-0.117,0-0.232,0-0.349,0c0,0.349,0,0.697,0,1.047c-0.117,0-0.232,0-0.349,0 c0,0.349,0,0.697,0,1.046c-0.233,0.116-0.465,0.232-0.698,0.349c-0.168,0.376-0.897,5.723-0.697,6.278c0.117,0,0.233,0,0.349,0 c0,0.232,0,0.465,0,0.697c0.117,0,0.233,0,0.349,0c0,0.232,0,0.465,0,0.697c0.233,0.116,0.465,0.232,0.698,0.349 c0.116,0.582,0.232,1.162,0.349,1.744c0.116,0,0.232,0,0.349,0c0,0.232,0,0.465,0,0.697c0.116,0,0.232,0,0.349,0 c0,0.233,0,0.465,0,0.697c0.116,0,0.232,0,0.349,0c0,0.233,0,0.465,0,0.698c0.117,0,0.233,0,0.349,0c0,0.232,0,0.465,0,0.698 c0.117,0,0.233,0,0.35,0c0.232,0.697,0.464,1.395,0.697,2.092c0.116,0,0.232,0,0.349,0c0,0.349,0,0.698,0,1.046 c0.116,0,0.232,0,0.349,0c0.116,0.465,0.232,0.93,0.349,1.395c0.116,0,0.233,0,0.349,0c0,0.349,0,0.697,0,1.046 c0.117,0,0.233,0,0.35,0c0,0.233,0,0.465,0,0.698c0.116,0,0.232,0,0.349,0c0.116,0.581,0.232,1.163,0.349,1.743 c0.116,0,0.232,0,0.349,0c0.232,0.698,0.465,1.396,0.697,2.093c0.116,0,0.233,0,0.349,0c0,0.232,0,0.465,0,0.697 c0.116,0,0.233,0,0.349,0c0,0.233,0,0.465,0,0.698c0.117,0,0.233,0,0.35,0c0,0.232,0,0.465,0,0.697l0.697,0.697 c0,0.233,0,0.465,0,0.697c0.232,0.117,0.465,0.233,0.697,0.35c0.116,0.464,0.233,0.93,0.349,1.395 c0.233,0.117,0.465,0.232,0.698,0.349c0,0.233,0,0.465,0,0.698c0.349,0.232,0.698,0.464,1.046,0.697 c0.951,0.973,1.985,2.428,2.441,3.836c-0.117,1.396-0.232,2.791-0.349,4.186c-0.116,0-0.233,0-0.349,0 c-0.356,1.086-0.779,8.625-0.349,10.114c0.116,0,0.232,0,0.349,0c0.116,1.627,0.232,3.255,0.349,4.882c0.117,0,0.232,0,0.349,0 c0,0.931,0,1.86,0,2.79c0.116,0,0.232,0,0.349,0c0,1.279,0,2.558,0,3.837c0.116,0,0.232,0,0.349,0c0,1.046,0,2.093,0,3.139 c0.116,0,0.233,0,0.349,0c0.116,1.743,0.233,3.487,0.349,5.231c0.349,0.232,0.697,0.465,1.046,0.697c0,0.697,0,1.396,0,2.093 c0.117,0,0.232,0,0.349,0c0,0.465,0,0.93,0,1.396c0.116,0,0.232,0,0.349,0c0,0.464,0,0.929,0,1.395c0.116,0,0.233,0,0.349,0 c0,0.349,0,0.697,0,1.047c0.116,0,0.233,0,0.349,0c0.116,0.464,0.233,0.929,0.349,1.395c0.116,0,0.232,0,0.349,0 c0,0.232,0,0.465,0,0.697c0.814,0.582,1.628,1.163,2.441,1.744c0,0.349,0,0.697,0,1.047c0.117,0,0.232,0,0.349,0 c0,0.232,0,0.464,0,0.697c0.117,0,0.232,0,0.349,0c0.117,0.349,0.232,0.697,0.349,1.046c1.046,0.349,2.093,0.697,3.139,1.046 c0.465,0,0.931,0,1.396,0c0,0.116,0,0.232,0,0.349c0.465,0,0.93,0,1.396,0c0,0.116,0,0.232,0,0.349c0.349,0,0.697,0,1.046,0 c0,0.116,0,0.232,0,0.349c0.349,0,0.697,0,1.046,0c0,0.116,0,0.232,0,0.349c0.93,0,1.861,0,2.79,0c0,0.116,0,0.232,0,0.349 c0.117,0,0.233,0,0.35,0c0.116,0.813,0.232,1.627,0.349,2.441c0.116,0,0.232,0,0.349,0c0,0.465,0,0.93,0,1.395 c0.116,0,0.232,0,0.349,0c-0.504,1.901-2.61,1.958-4.186,2.79c0,0.117,0,0.232,0,0.349c-0.232,0-0.465,0-0.697,0 c0,0.117,0,0.232,0,0.349c-0.349,0-0.697,0-1.046,0c0,0.116,0,0.233,0,0.349c-0.349,0-0.698,0-1.047,0 c-3.933,1.489-10.903,1.529-16.392,1.395c-0.465-2.79-0.93-5.581-1.395-8.37c0.116,0,0.233,0,0.349,0c0-0.233,0-0.465,0-0.698 c0.233-0.117,0.465-0.232,0.698-0.349c0-0.232,0-0.465,0-0.697c0.116,0,0.232,0,0.349,0c0.483-1.352-0.489-2.479-0.698-3.139 c0-1.628,0-3.256,0-4.883c-0.116,0-0.232,0-0.349,0c-0.116-1.046-0.232-2.093-0.349-3.14c-0.117,0-0.232,0-0.349,0 c0-0.349,0-0.697,0-1.046c-0.117,0-0.232,0-0.349,0c0-0.697,0-1.396,0-2.093c-0.117,0-0.232,0-0.349,0c0-0.349,0-0.697,0-1.046 c-0.117,0-0.233,0-0.349,0c0-0.465,0-0.93,0-1.396c-0.117,0-0.233,0-0.35,0c0-0.232,0-0.465,0-0.697c-0.116,0-0.232,0-0.349,0 c-0.232-1.163-0.465-2.325-0.697-3.487c-0.117,0-0.232,0-0.349,0c0-0.35,0-0.698,0-1.047c-0.117,0-0.232,0-0.349,0 c0-0.349,0-0.697,0-1.046c-0.117,0-0.233,0-0.349,0c0-0.349,0-0.698,0-1.047c-0.117,0-0.233,0-0.349,0c0-0.349,0-0.697,0-1.046 c-0.117,0-0.233,0-0.35,0c0-0.232,0-0.465,0-0.697c-0.116,0-0.232,0-0.349,0c-0.232-1.163-0.465-2.326-0.697-3.488 c-0.117,0-0.232,0-0.349,0c0-0.581,0-1.163,0-1.744c-0.117,0-0.233,0-0.349,0c0-0.582,0-1.163,0-1.744c-0.117,0-0.233,0-0.349,0 c0-0.582,0-1.162,0-1.744c-0.117,0-0.233,0-0.35,0c0-1.395,0-2.79,0-4.185c-0.116,0-0.232,0-0.349,0c0-0.465,0-0.93,0-1.395 c0.117,0,0.233,0,0.349,0c0-0.93,0-1.86,0-2.79c0.117,0,0.233,0,0.35,0c0.116-0.697,0.232-1.396,0.349-2.093 c-0.117,0-0.233,0-0.349,0c-0.394-1.035-0.518-1.829-1.047-2.79c-0.117,0-0.232,0-0.349,0c0-0.232,0-0.465,0-0.697 c-0.232-0.117-0.465-0.233-0.697-0.349c0-0.233,0-0.465,0-0.698c-0.233-0.116-0.465-0.232-0.698-0.349c0-0.232,0-0.465,0-0.697 c-0.349-0.233-0.697-0.465-1.046-0.698c0-0.232,0-0.464,0-0.697c-0.232-0.116-0.465-0.232-0.697-0.349 c-0.582-0.697-1.163-1.395-1.744-2.093c-0.232,0-0.465,0-0.697,0c-0.233-0.349-0.465-0.697-0.698-1.046 c-1.046-0.814-2.093-1.627-3.139-2.441c-0.297-0.393,0.047-0.054-0.349-0.349c-0.232,0.349-0.465,0.697-0.697,1.046 c-0.116,0-0.233,0-0.349,0c0,0.233,0,0.465,0,0.697c-0.349,0.233-0.698,0.465-1.047,0.698c0,0.232,0,0.465,0,0.697 c-0.581,0.465-1.162,0.93-1.743,1.396c0,0.232,0,0.464,0,0.697c-0.233,0.117-0.465,0.232-0.698,0.349 c-0.116,0.349-0.232,0.697-0.349,1.046c-0.465,0.349-0.93,0.698-1.395,1.047c0,0.232,0,0.465,0,0.697 c-0.349,0.232-0.698,0.465-1.047,0.697c0,0.233,0,0.465,0,0.698c-0.349,0.232-0.697,0.465-1.046,0.697 c-0.116,0.465-0.233,0.93-0.349,1.395c-0.116,0-0.233,0-0.349,0c0,0.233,0,0.465,0,0.698c-0.233,0.116-0.465,0.232-0.698,0.349 c0,0.349,0,0.697,0,1.046c-0.117,0-0.232,0-0.349,0c0,0.349,0,0.698,0,1.047c-0.117,0-0.232,0-0.349,0c0,0.349,0,0.697,0,1.046 c-0.116,0-0.232,0-0.349,0c0,0.349,0,0.697,0,1.046c-0.116,0-0.233,0-0.349,0c0,0.233,0,0.465,0,0.698c-0.116,0-0.233,0-0.349,0 c-0.233,0.349-0.465,0.697-0.698,1.046c-0.988,0.204-1.921,0.804-2.79,1.046c-1.11,0.309-2.822-0.479-3.487-0.698 c-0.465,0-0.931,0-1.396,0c0-0.116,0-0.232,0-0.349c-0.464,0-0.93,0-1.395,0c0-0.117,0-0.232,0-0.349c-0.582,0-1.164,0-1.744,0 c0-0.117,0-0.232,0-0.349c-0.697,0-1.396,0-2.093,0c0-0.117,0-0.232,0-0.349c-2.092-0.117-4.186-0.233-6.277-0.349 c0-0.117,0-0.233,0-0.35c-0.582,0-1.163,0-1.744,0c0-0.116,0-0.232,0-0.349c-0.349,0-0.697,0-1.046,0c0-0.116,0-0.232,0-0.349 c-1.047-0.116-2.094-0.232-3.14-0.349c0-0.117,0-0.232,0-0.349c-0.697,0-1.395,0-2.093,0c0-0.117,0-0.232,0-0.349 c-1.162,0-2.325,0-3.487,0c-1.273-0.365-4.946-1.318-6.975-0.697c0,0.116,0,0.232,0,0.349c-0.464,0-0.93,0-1.395,0 c-0.116,0.349-0.233,0.697-0.349,1.046c-0.349,0.233-0.698,0.465-1.046,0.697c0,0.117,0,0.233,0,0.349 c-0.814,0.117-1.628,0.233-2.441,0.35c-0.117,0.232-0.232,0.465-0.349,0.697c-0.232,0-0.465,0-0.697,0c0,0.116,0,0.232,0,0.349 c-0.465,0.116-0.931,0.232-1.396,0.349c0,0.116,0,0.233,0,0.349c-0.349,0-0.697,0-1.046,0c0,0.116,0,0.233,0,0.349 c-0.232,0-0.465,0-0.697,0c0,0.116,0,0.232,0,0.349c-0.35,0-0.698,0-1.047,0c-0.117,0.232-0.232,0.465-0.349,0.698 c-0.232,0-0.465,0-0.697,0c-0.698,0.813-1.396,1.627-2.093,2.441c0,0.232,0,0.465,0,0.697c-0.117,0-0.232,0-0.349,0 c0,0.232,0,0.465,0,0.697c-0.117,0-0.233,0-0.349,0c0,0.233,0,0.465,0,0.698c-0.228,0.329-1.072,0.641-1.396,1.046 c-1.349-0.148-1.804-0.604-2.79-1.046c0-2.092,0-4.185,0-6.278c1.046-2.092,2.093-4.186,3.139-6.277 c0.465-0.349,0.93-0.698,1.396-1.047c0-0.232,0-0.465,0-0.697c0.232-0.117,0.465-0.232,0.697-0.349c0-0.232,0-0.465,0-0.697 c0.116,0,0.232,0,0.349,0c0-0.233,0-0.465,0-0.698c0.117,0,0.233,0,0.349,0c0-0.349,0-0.697,0-1.046c0.117,0,0.233,0,0.349,0 c0.233-0.697,0.465-1.396,0.698-2.093c0.116,0,0.232,0,0.349,0c0.116-0.465,0.232-0.93,0.349-1.395 c0.232-0.117,0.465-0.233,0.697-0.35c0-0.232,0-0.465,0-0.697c0.233-0.116,0.465-0.232,0.698-0.349c0-0.232,0-0.465,0-0.697 c0.526-0.734,1.582-0.942,2.092-1.744c0.698,0,1.396,0,2.093,0c1.744,1.395,3.488,2.79,5.231,4.186c0,0.232,0,0.465,0,0.697 c0.389,0.474,1.125,0.416,1.744,0.697c0,0.117,0,0.233,0,0.349c1.86,0,3.721,0,5.58,0c0-0.116,0-0.232,0-0.349 c0.117,0,0.233,0,0.349,0c0,0.117,0,0.233,0,0.349c2.558,0,5.116,0,7.673,0c1.691-0.491,5.978-2.273,8.72-1.395 c0,0.117,0,0.232,0,0.349c0.349,0,0.697,0,1.046,0c0,0.117,0,0.232,0,0.349c0.465,0.117,0.93,0.232,1.396,0.349 c0,0.117,0,0.233,0,0.349c0.581,0.117,1.162,0.233,1.744,0.349c0,0.117,0,0.233,0,0.35c0.813,0,1.627,0,2.441,0 c0.576-0.316,1.664-4.613,2.092-5.581c0.116,0,0.233,0,0.349,0c0-0.232,0-0.464,0-0.697c0.116,0,0.233,0,0.349,0 c0-0.349,0-0.697,0-1.046c0.116,0,0.232,0,0.349,0c0-0.349,0-0.697,0-1.047c0.117,0,0.232,0,0.349,0c0-0.464,0-0.929,0-1.395 c0.116,0,0.232,0,0.349,0c0.232-3.022,0.465-6.046,0.697-9.068c0.116,0,0.233,0,0.349,0c0-0.465,0-0.931,0-1.395 c0.116,0,0.233,0,0.349,0c0-0.582,0-1.163,0-1.744c0.268-0.778,0.866-1.452,1.046-2.441c-1.521-0.411-1.92-1.724-3.139-2.441 c-0.116-0.582-0.233-1.163-0.349-1.744c-0.116,0-0.233,0-0.349,0c0-1.743,0-3.487,0-5.231c-0.116,0-0.232,0-0.349,0 c-0.236-0.431-0.57-1.231-0.349-2.093c0.116,0,0.233,0,0.349,0c0-0.697,0-1.395,0-2.092c0.116,0,0.233,0,0.349,0 c-0.116-0.814-0.232-1.628-0.349-2.441c0.116,0,0.233,0,0.349,0c0-0.233,0-0.465,0-0.698c0.116,0,0.233,0,0.349,0 c0-0.464,0-0.93,0-1.395c0.835-2.473,1.285-4.055,3.488-5.231c-0.128-1.496-0.374-1.609-1.046-2.441c-0.116,0-0.233,0-0.349,0 c0-0.233,0-0.465,0-0.698c-0.232-0.116-0.464-0.232-0.697-0.349c-0.117-1.511-0.232-3.022-0.349-4.534c-0.117,0-0.232,0-0.349,0 c0-0.464,0-0.93,0-1.395c-0.392-1.156-0.985-1.904-1.047-3.488c-0.904-0.342-1.797-0.057-2.79-0.349c0-0.116,0-0.232,0-0.349 c-0.697,0-1.395,0-2.092,0c0-0.116,0-0.232,0-0.349c-0.35,0-0.698,0-1.047,0c0-0.117,0-0.232,0-0.349c-0.349,0-0.697,0-1.046,0 c0-0.117,0-0.232,0-0.349c-0.349,0-0.698,0-1.047,0c0-0.117,0-0.232,0-0.349c-0.349,0-0.697,0-1.046,0c0-0.117,0-0.233,0-0.349 c-0.465,0-0.93,0-1.396,0c0-0.117,0-0.233,0-0.349c-0.464,0-0.93,0-1.395,0c0-0.116,0-0.233,0-0.349c-0.465,0-0.93,0-1.396,0 c0-0.116,0-0.232,0-0.349c-0.464,0-0.93,0-1.395,0c0-0.117,0-0.232,0-0.349c-0.349,0-0.698,0-1.047,0c0-0.117,0-0.232,0-0.349 c-0.349,0-0.697,0-1.046,0c0-0.117,0-0.232,0-0.349c-0.349,0-0.697,0-1.047,0c0-0.117,0-0.233,0-0.349 c-0.581-0.117-1.162-0.233-1.743-0.35c0-0.116,0-0.232,0-0.349c-1.588-0.427-1.829-2.09-1.744-4.185 c0.93-1.163,1.861-2.326,2.79-3.488c0.232,0,0.465,0,0.697,0c0.117-0.232,0.233-0.465,0.35-0.697 c0.697-0.232,1.395-0.465,2.092-0.697c0.117-0.232,0.233-0.465,0.35-0.698c0.232,0,0.464,0,0.697,0 c0.349-0.464,0.697-0.93,1.046-1.395c0.233,0,0.465,0,0.698,0c0.232-0.349,0.464-0.697,0.697-1.046c0.232,0,0.465,0,0.697,0 c0.116-0.233,0.232-0.466,0.349-0.698c0.233,0,0.465,0,0.697,0c0.117-0.232,0.233-0.465,0.35-0.697c0.232,0,0.465,0,0.697,0 c0-0.116,0-0.232,0-0.349c0.232,0,0.465,0,0.697,0c0-0.116,0-0.232,0-0.349c0.349,0,0.697,0,1.047,0c0-0.116,0-0.231,0-0.349 c0.349-0.116,0.697-0.232,1.046-0.349C46.028,27.694,48.756,25.224,51.966,24.065z" - }; - }; - - function tai() { - return { - color: 'rgb(225,73,210)', - d: "M54.004,0.071c-0.066-0.11-1.104-0.09-1.953,0.04c-0.88,0.133-1.672,0.217-3.432,0.363 c-1.268,0.106-1.702,0.166-2.785,0.382c-0.301,0.06-0.699,0.136-0.88,0.169c-0.181,0.032-0.528,0.107-0.769,0.168 c-0.674,0.167-1.76,0.394-2.528,0.525c-0.382,0.066-0.896,0.165-1.138,0.219c-0.24,0.055-0.621,0.139-0.843,0.188 c-0.223,0.048-0.615,0.13-0.879,0.182c-0.646,0.127-1.467,0.329-1.671,0.411c-0.096,0.038-0.227,0.066-0.301,0.066 c-0.071,0-0.33,0.062-0.564,0.136c-0.238,0.075-0.696,0.209-1.02,0.3c-0.748,0.209-1.54,0.468-1.869,0.611 c-0.14,0.06-0.374,0.161-0.513,0.221c-0.141,0.061-0.506,0.225-0.807,0.363c-0.301,0.138-0.601,0.274-0.659,0.3 c-0.062,0.027-0.272,0.146-0.478,0.271c-0.674,0.409-0.843,0.478-0.908,0.371c-0.068-0.109-0.019-0.431,0.073-0.487 c0.037-0.022,0.066-0.091,0.066-0.158c0-0.173-0.359-0.079-0.66,0.174c-0.285,0.24-1.597,1.399-1.752,1.548 c-0.204,0.198-0.652,0.444-0.968,0.533C26.59,7.017,26.3,7.122,26.117,7.204c-0.652,0.291-1.357,0.564-1.451,0.564 c-0.053,0-0.168,0.077-0.257,0.172c-0.089,0.094-0.41,0.302-0.711,0.458s-0.561,0.311-0.575,0.341 c-0.016,0.033-0.056,0.055-0.1,0.055c-0.04,0-0.392,0.212-0.787,0.476c-0.396,0.264-0.738,0.477-0.767,0.477 c-0.027,0-0.334,0.2-0.671,0.44s-0.633,0.44-0.648,0.44c-0.046,0-1.84,1.222-2.243,1.527c-0.799,0.606-2.474,2.199-3.017,2.871 c-0.148,0.184-0.344,0.416-0.439,0.524c-0.098,0.11-0.221,0.258-0.284,0.341c-0.363,0.477-0.6,0.756-1.003,1.188 c-0.255,0.271-0.461,0.514-0.461,0.542c0,0.029-0.287,0.348-0.642,0.715s-0.662,0.717-0.689,0.785 c-0.025,0.065-0.12,0.187-0.209,0.266c-0.168,0.153-0.513,0.798-0.513,0.962c0,0.052-0.099,0.209-0.221,0.348 c-0.12,0.139-0.219,0.276-0.219,0.304c0,0.027-0.077,0.147-0.166,0.257c-0.648,0.803-1.322,1.737-2.033,2.814 c-0.241,0.368-0.567,0.762-1.039,1.261c-0.278,0.293-0.501,0.563-0.501,0.608c0,0.043-0.051,0.081-0.109,0.081 s-0.109,0.044-0.109,0.095c0,0.053-0.118,0.208-0.264,0.349c-0.147,0.141-0.294,0.318-0.331,0.399 c-0.035,0.08-0.198,0.33-0.358,0.55s-0.356,0.536-0.433,0.696c-0.24,0.51-0.571,1.305-0.78,1.869 c-0.11,0.301-0.264,0.66-0.338,0.792s-0.136,0.285-0.136,0.337c0,0.053-0.082,0.256-0.184,0.455 c-0.101,0.197-0.183,0.381-0.183,0.41c0,0.027-0.094,0.256-0.209,0.514c-0.114,0.252-0.337,0.776-0.491,1.158 c-0.155,0.381-0.342,0.805-0.415,0.938C2.06,34.714,2,34.855,2,34.894s-0.164,0.407-0.366,0.825 c-0.203,0.417-0.367,0.809-0.367,0.875s-0.03,0.139-0.066,0.161c-0.067,0.04-0.151,0.371-0.197,0.774 c-0.017,0.141-0.091,0.388-0.166,0.549c-0.326,0.704-0.376,0.858-0.333,1.027c0.027,0.109,0,0.237-0.072,0.34 c-0.066,0.094-0.117,0.312-0.117,0.502c0,0.355-0.183,1.906-0.275,2.346c-0.076,0.357-0.057,0.506,0.197,1.504 c0.18,0.703,0.264,0.914,0.422,1.055l0.198,0.176l0.06-0.227c0.078-0.301,0.331-0.326,0.364-0.037 c0.017,0.146,0.199,0.351,0.683,0.77c0.366,0.318,0.716,0.572,0.784,0.572s0.234,0.061,0.367,0.135 c0.13,0.074,0.366,0.16,0.513,0.188c0.169,0.031,0.287,0.102,0.315,0.184c0.024,0.072,0.11,0.193,0.19,0.268 c0.117,0.107,0.175,0.118,0.285,0.049c0.17-0.104,0.379-0.117,0.477-0.029c0.041,0.035,0.231,0.124,0.422,0.196 c0.191,0.072,0.385,0.177,0.429,0.231c0.043,0.052,0.158,0.098,0.246,0.098c0.089,0,0.227,0.069,0.297,0.147 c0.074,0.083,0.205,0.146,0.3,0.146c0.096,0,0.188,0.032,0.213,0.073c0.023,0.039,0.103,0.075,0.169,0.077 c0.068,0.002,0.388,0.134,0.711,0.294c0.322,0.158,0.624,0.289,0.67,0.289s0.276,0.1,0.503,0.22c0.228,0.119,0.46,0.22,0.51,0.22 c0.051,0,0.176,0.066,0.278,0.146s0.234,0.146,0.293,0.146s0.19,0.066,0.293,0.146c0.104,0.081,0.251,0.146,0.326,0.146 c0.073,0,0.173,0.032,0.21,0.066c0.037,0.036,0.281,0.154,0.538,0.262c0.57,0.239,1.627,0.405,2.573,0.405 c0.41,0,0.872,0.047,1.106,0.112c0.492,0.137,1.965,0.426,2.998,0.588c0.426,0.066,1.098,0.182,1.503,0.256 c0.403,0.075,0.832,0.15,0.953,0.169c0.119,0.019,0.402,0.068,0.623,0.11c0.224,0.043,0.828,0.147,1.355,0.234 c0.528,0.088,1.166,0.202,1.431,0.256c0.263,0.055,0.82,0.137,1.245,0.184c0.426,0.047,0.793,0.1,0.821,0.116 c0.046,0.028,1.503,0.165,3.468,0.323c0.527,0.043,1.132,0.122,1.355,0.177c0.222,0.055,0.865,0.17,1.43,0.257 c0.564,0.086,1.181,0.188,1.371,0.227c0.189,0.039,0.879,0.119,1.539,0.182c1.393,0.129,1.887,0.209,2.169,0.352 c0.291,0.146,1.474,0.21,4.229,0.227c1.334,0.008,2.944,0.053,3.592,0.1c2.844,0.207,13.684,0.164,14.404-0.059 c0.141-0.043,0.695-0.098,1.231-0.122c0.865-0.039,0.962-0.057,0.865-0.154c-0.061-0.061-0.272-0.126-0.471-0.145 c-0.522-0.051-0.469-0.21,0.089-0.257c0.249-0.021,0.545-0.09,0.667-0.155c0.207-0.111,0.132-0.118-1.355-0.12 c-1.745-0.002-3.983-0.111-4.149-0.201c-0.079-0.043,0.029-0.123,0.389-0.284c0.542-0.243,1.807-0.783,2.037-0.87 c0.178-0.066,1.576-0.294,2.493-0.404c0.703-0.085,1.648-0.305,2.037-0.473c0.755-0.326,0.976-0.434,1.246-0.609 c0.17-0.108,0.364-0.23,0.433-0.271c0.068-0.04,0.602-0.396,1.181-0.791c1.012-0.688,1.077-0.722,1.575-0.785 c0.287-0.035,0.604-0.086,0.705-0.112c0.402-0.103,3.247,0.276,4.404,0.587c0.55,0.147,1.4,0.317,2.053,0.41 c1.337,0.189,5.116,0.146,7.199-0.084c0.791-0.088,1.509-0.258,1.891-0.451l0.285-0.144l-0.168-0.14 c-0.096-0.078-0.21-0.14-0.265-0.14c-0.05,0-0.106-0.033-0.12-0.073c-0.014-0.039-0.286-0.103-0.602-0.139 c-0.315-0.037-0.611-0.103-0.656-0.146c-0.044-0.045-0.15-0.081-0.237-0.081c-0.085,0-0.29-0.116-0.443-0.253 c-0.235-0.207-0.267-0.267-0.176-0.33c0.059-0.041,0.161-0.058,0.22-0.035c0.254,0.095,1.326,0.187,1.972,0.168 c0.403-0.011,0.919,0.025,1.209,0.084c0.455,0.092,0.514,0.091,0.58-0.012c0.059-0.09,0.123-0.1,0.329-0.043 c0.14,0.037,0.41,0.049,0.594,0.025c0.186-0.024,0.608-0.071,0.938-0.104c0.712-0.072,0.856-0.163,0.814-0.513l-0.03-0.249 l0.364,0.048c0.322,0.042,0.352,0.035,0.267-0.065c-0.052-0.062-0.271-0.166-0.483-0.228c-0.389-0.113-0.5-0.227-0.395-0.399 c0.043-0.072,0.146-0.08,0.409-0.036c0.447,0.077,0.755,0.057,0.895-0.057c0.089-0.072,0.081-0.102-0.059-0.216 c-0.089-0.071-0.211-0.132-0.271-0.132c-0.173,0-1.121-0.289-1.488-0.452c-0.184-0.083-0.388-0.227-0.462-0.324 c-0.121-0.162-0.121-0.18-0.007-0.225c0.068-0.025,0.227-0.006,0.352,0.045c0.124,0.049,0.473,0.161,0.766,0.245 c0.434,0.124,0.566,0.137,0.679,0.065c0.079-0.049,0.234-0.088,0.359-0.088c0.168,0,0.238-0.045,0.297-0.193 c0.043-0.11,0.062-0.229,0.044-0.275c-0.019-0.044-0.294-0.158-0.608-0.252c-0.315-0.096-0.675-0.216-0.796-0.268 c-0.124-0.055-0.288-0.117-0.377-0.145c-0.088-0.025-0.176-0.094-0.198-0.153c-0.032-0.085,0.04-0.106,0.355-0.106 c0.22,0,0.414-0.029,0.437-0.065s0.333-0.048,0.686-0.026c0.631,0.04,0.646,0.037,0.726-0.146c0.074-0.172,0.062-0.192-0.15-0.26 l-0.231-0.074l0.239-0.051c0.132-0.028,0.274-0.097,0.319-0.154c0.085-0.105,0.064-0.117-0.617-0.358 c-0.315-0.112-0.35-0.146-0.329-0.319c0.021-0.181,0.051-0.196,0.454-0.23c0.558-0.047,0.439-0.168-0.286-0.29 c-0.535-0.091-0.93-0.171-1.356-0.274c-0.513-0.126-0.007-0.166,0.72-0.057c1.076,0.162,1.509,0.135,1.325-0.083 c-0.067-0.079-0.058-0.136,0.041-0.245c0.124-0.138,0.121-0.145-0.062-0.191c-0.198-0.052-0.244-0.205-0.121-0.398 c0.058-0.09,0.011-0.127-0.237-0.194c-0.229-0.062-0.26-0.087-0.125-0.093c0.308-0.014,0.388-0.108,0.22-0.262 c-0.081-0.073-0.147-0.173-0.147-0.221c0-0.133-0.168-0.18-0.681-0.189l-0.455-0.01l0.514-0.091 c0.286-0.052,0.454-0.097,0.381-0.103c-0.183-0.016-0.153-0.285,0.037-0.345c0.209-0.065,0.036-0.175-0.278-0.176 c-0.286-0.001-0.531-0.243-0.405-0.399c0.05-0.062,0.178-0.119,0.288-0.133c0.109-0.012,0.197-0.055,0.197-0.095 c0-0.042-0.322-0.089-0.747-0.108c-0.954-0.047-1.099-0.159-0.382-0.297c0.286-0.055,0.57-0.149,0.631-0.208 c0.187-0.185-0.168-0.304-0.873-0.296c-0.812,0.011-1.83-0.077-1.942-0.168c-0.136-0.11-0.117-0.275,0.037-0.329 c0.389-0.138,0.868-0.389,0.969-0.507c0.183-0.213,0.439-0.68,0.439-0.799c0-0.125-0.117-0.143-0.188-0.029 c-0.148,0.242-1.133,0.395-1.133,0.176c0-0.059,0.041-0.109,0.088-0.109c0.049,0,0.22-0.062,0.389-0.143 c0.416-0.197,0.923-0.394,2.089-0.805c0.748-0.265,1.276-0.381,1.913-0.422c0.666-0.044,0.748-0.032,1.539,0.218 c0.463,0.146,1.024,0.3,1.258,0.345c0.234,0.045,0.438,0.107,0.458,0.143c0.021,0.034,0.168,0.086,0.33,0.113 c0.16,0.029,0.311,0.082,0.333,0.117c0.022,0.037,0.1,0.066,0.173,0.066c0.071,0,0.396,0.129,0.711,0.282 c0.318,0.155,0.908,0.425,1.312,0.599c0.651,0.279,1.114,0.49,2.492,1.133c0.2,0.094,0.551,0.252,0.77,0.35 c0.222,0.1,0.668,0.305,0.989,0.455c1.247,0.585,1.478,0.689,1.797,0.813c0.184,0.071,0.362,0.152,0.403,0.183 c0.076,0.057,1.158,0.525,2.272,0.986c0.726,0.299,0.96,0.398,1.393,0.587c0.755,0.329,0.908,0.394,1.283,0.532 c1.069,0.398,2.059,0.633,2.404,0.567c0.147-0.028,0.454-0.04,0.674-0.027c0.813,0.048,1.873,0.013,2.169-0.069 c0.427-0.121,0.604-0.288,0.721-0.68c0.122-0.404,0.028-0.678-0.244-0.717c-0.161-0.023-0.162-0.028-0.033-0.119 c0.124-0.086,0.097-0.113-0.293-0.286c-0.234-0.104-0.46-0.19-0.498-0.19s-0.124-0.055-0.19-0.121 c-0.111-0.111-0.099-0.119,0.15-0.088c0.146,0.018,0.282-0.001,0.295-0.041c0.036-0.113-0.155-0.461-0.281-0.508 c-0.057-0.021-0.108-0.107-0.108-0.181c0-0.189-0.198-0.341-0.587-0.45c-0.961-0.268-1.667-0.484-1.943-0.593 c-0.344-0.136-1.047-0.364-1.121-0.364c-0.124,0-0.881-0.357-0.932-0.439c-0.061-0.099,0.053-0.093,0.697,0.036 c0.301,0.06,0.766,0.146,1.026,0.19c0.264,0.045,0.656,0.127,0.879,0.186c0.411,0.105,1.15,0.137,1.356,0.057 c0.155-0.06,0.146-0.228-0.015-0.283c-0.127-0.043-0.484-0.545-0.581-0.816c-0.068-0.191-0.379-0.462-0.591-0.516 c-0.096-0.023-0.165-0.076-0.161-0.122c0.02-0.19-0.018-0.271-0.126-0.271c-0.063,0-0.133-0.065-0.153-0.146 c-0.021-0.085-0.117-0.163-0.228-0.187c-0.337-0.07-0.821-0.324-0.821-0.43c0-0.109-0.739-0.338-1.113-0.342 c-0.132-0.001-0.325-0.049-0.426-0.105c-0.17-0.095-0.139-0.103,0.454-0.105c0.353-0.002,0.658-0.037,0.683-0.077 c0.053-0.085-0.792-0.481-1.181-0.554c-0.234-0.043-0.244-0.055-0.124-0.143c0.118-0.086,0.103-0.101-0.146-0.146 c-0.228-0.042-0.275-0.081-0.256-0.213c0.026-0.196-0.382-0.521-0.881-0.698c-0.22-0.078-0.346-0.165-0.346-0.239 c-0.001-0.174-0.673-0.866-0.93-0.959c-0.067-0.025-0.171-0.156-0.226-0.287c-0.144-0.348-0.272-0.429-0.837-0.524 c-0.785-0.134-0.817-0.224-0.096-0.268c0.345-0.021,0.623-0.069,0.623-0.11s-0.103-0.121-0.234-0.183 c-0.278-0.13-0.29-0.173-0.096-0.367c0.188-0.188,0.11-0.423-0.205-0.624c-0.124-0.08-0.229-0.182-0.231-0.226 c-0.005-0.121,0.422-0.632,0.605-0.725c0.088-0.044,0.161-0.145,0.161-0.221c0-0.097,0.066-0.153,0.221-0.187 c0.135-0.029,0.37-0.201,0.607-0.443c0.31-0.315,0.382-0.437,0.36-0.598c-0.028-0.188-0.012-0.201,0.237-0.201 c0.211,0,0.324-0.059,0.538-0.279c0.33-0.337,0.474-0.705,0.339-0.865c-0.105-0.127-0.11-0.122,0.3-0.281 c0.396-0.153,0.659-0.316,0.659-0.408c0-0.131-0.314-0.241-0.871-0.303c-0.792-0.088-0.959-0.133-0.916-0.247 c0.027-0.072,0.102-0.081,0.307-0.032c0.755,0.176,1.82,0.019,1.574-0.232c-0.065-0.066-0.042-0.123,0.098-0.231 c0.103-0.08,0.166-0.159,0.146-0.179c-0.106-0.107-0.718-0.192-1.671-0.233c-0.879-0.038-1.066-0.063-1.019-0.145 c0.045-0.075,0.393-0.108,1.462-0.139c1.049-0.03,1.424-0.065,1.484-0.14c0.048-0.059,0.052-0.099,0.011-0.099 c-0.036,0-0.146-0.067-0.234-0.143l-0.164-0.143l0.281-0.055l0.282-0.055l-0.329-0.069l-0.33-0.07l0.396-0.13 c0.402-0.133,0.53-0.245,0.5-0.435c-0.021-0.128-0.303-0.197-0.859-0.211c-0.543-0.013-0.761-0.151-0.257-0.163 c0.616-0.014,1.065-0.152,1.238-0.381c0.132-0.176,0.138-0.215,0.045-0.275c-0.067-0.042-0.075-0.07-0.022-0.07 c0.125-0.001,0.535-0.366,0.535-0.476c0-0.135-0.396-0.255-0.836-0.252c-0.755,0.003-3.217,0.396-3.724,0.593 c-0.109,0.043-0.237,0.064-0.285,0.048c-0.117-0.038,0.482-0.327,0.887-0.427c0.329-0.082,1.011-0.313,1.282-0.435 c0.491-0.22,1.196-0.457,1.649-0.553c0.622-0.132,0.66-0.15,0.66-0.331c0-0.102-0.081-0.161-0.301-0.22 c-0.278-0.074-0.291-0.088-0.165-0.183c0.073-0.056,0.173-0.104,0.216-0.106c0.045-0.002,0.173-0.088,0.282-0.19l0.202-0.187 l-0.155-0.165l-0.153-0.166l0.158-0.132c0.124-0.104,0.136-0.146,0.054-0.197c-0.25-0.162-1.099-0.033-2.396,0.362 c-0.376,0.115-0.279-0.02,0.146-0.204c0.74-0.322,0.85-0.362,1.114-0.411c0.146-0.027,0.385-0.113,0.538-0.195l0.275-0.146 l-0.55,0.048l-0.55,0.047l0.583-0.297c0.322-0.165,0.606-0.336,0.637-0.385c0.068-0.112-0.062-0.2-0.304-0.203 c-0.102-0.001-0.29-0.068-0.421-0.149c-0.234-0.144-0.241-0.145-0.367-0.011c-0.095,0.101-0.289,0.148-0.751,0.187 c-1.298,0.106-2.46,0.39-3.702,0.906c-0.436,0.181-1.686,0.779-4.398,2.105c-2.544,1.244-3.988,1.981-4.098,2.09 c-0.041,0.042-0.128,0.073-0.201,0.073c-0.071,0-0.314,0.098-0.549,0.22s-0.474,0.22-0.54,0.22c-0.065,0-0.149,0.029-0.19,0.067 c-0.068,0.063-0.534,0.243-1.385,0.537c-0.242,0.083-0.472,0.18-0.51,0.214c-0.039,0.035-0.143,0.062-0.238,0.062 c-0.095,0-0.169,0.029-0.169,0.066c0,0.037-0.105,0.088-0.237,0.117c-0.133,0.028-0.304,0.092-0.385,0.143 c-0.082,0.051-0.309,0.133-0.514,0.187c-0.205,0.054-0.397,0.123-0.436,0.158c-0.039,0.035-0.147,0.062-0.242,0.062 c-0.093,0-0.305,0.068-0.459,0.147c-0.153,0.079-0.336,0.147-0.396,0.147c-0.061,0-0.228,0.064-0.374,0.146 c-0.146,0.081-0.312,0.146-0.373,0.146s-0.184,0.048-0.272,0.106c-0.125,0.082-0.226,0.09-0.454,0.037 c-0.298-0.07-1.876-0.335-2.419-0.407c-0.52-0.068-2.126-0.409-2.258-0.479c-0.146-0.079-0.159-0.237-0.029-0.344 c0.05-0.04,0.55-0.108,1.114-0.152c1.407-0.11,2.418-0.218,2.896-0.309c0.704-0.134,1.075-0.363,0.777-0.48 c-0.056-0.021-0.301,0.011-0.535,0.071c-0.564,0.145-1.864,0.236-2.031,0.142c-0.098-0.056-0.036-0.089,0.301-0.162 c0.235-0.05,0.704-0.154,1.049-0.231s0.715-0.157,0.828-0.178c0.302-0.058,0.721-0.474,0.751-0.746 c0.015-0.125,0.036-0.271,0.048-0.326c0.017-0.073-0.065-0.098-0.308-0.094c-0.54,0.008-3.203,0.176-3.994,0.252 c-1.093,0.104-3.112,0.113-3.351,0.014c-0.228-0.095-0.281-0.392-0.103-0.568c0.163-0.163,1.539-0.76,2.097-0.91 c0.988-0.268,3.397-1.204,3.724-1.448c0.168-0.126,0.235-0.229,0.219-0.339c-0.021-0.147-0.062-0.157-0.655-0.15 c-0.352,0.004-0.786,0.05-0.975,0.103c-0.239,0.066-0.51,0.079-0.905,0.039c-0.724-0.073-0.558-0.077-2.734,0.071 c-1.949,0.132-2.485,0.101-2.485-0.146c0-0.059,0.025-0.11,0.056-0.11s0.252-0.033,0.494-0.073c0.244-0.041,0.865-0.124,1.393-0.187 c1.107-0.132,1.478-0.188,2.236-0.345c0.3-0.062,0.673-0.133,0.82-0.158c0.315-0.053,0.493-0.219,0.309-0.291 c-0.062-0.024-0.202-0.046-0.297-0.046c-0.101,0-0.271-0.069-0.389-0.157c-0.192-0.145-0.245-0.151-0.671-0.079 c-1.723,0.294-5.156,0.586-5.887,0.501c-0.49-0.057-1.143-0.255-1.143-0.346c0-0.146,0.425-0.259,2.455-0.656 c1.319-0.257,2.136-0.45,2.801-0.662c0.249-0.079,0.514-0.142,0.597-0.142c0.081,0,0.169-0.029,0.191-0.062 c0.021-0.034,0.172-0.083,0.333-0.11c0.183-0.03,0.294-0.086,0.294-0.15c0-0.119-0.367-0.162-1.921-0.229 c-0.558-0.024-1.1-0.076-1.206-0.116c-0.136-0.052-0.517-0.04-1.271,0.039c-1.093,0.114-2.529,0.15-2.742,0.07 c-0.155-0.06-0.146-0.23,0.015-0.278c0.069-0.02,0.404-0.072,0.748-0.115c0.843-0.105,1.618-0.223,1.789-0.271 c0.139-0.04,0.139-0.04,0-0.124c-0.097-0.059-0.696-0.078-1.957-0.062c-1.181,0.014-1.965-0.008-2.236-0.063 c-0.807-0.163-1.375-0.307-1.613-0.405c-0.256-0.107-0.314-0.294-0.109-0.351c0.916-0.254,1.266-0.379,1.299-0.465 c0.056-0.14-0.134-0.165-1.46-0.186c-0.945-0.015-1.218-0.044-1.408-0.147c-0.293-0.161-0.621-0.487-0.57-0.568 c0.02-0.032,0.183-0.127,0.366-0.213c0.337-0.158,0.397-0.247,0.234-0.348c-0.049-0.03-0.602-0.058-1.225-0.062 c-1.012-0.006-1.169-0.025-1.437-0.166c-0.342-0.18-0.396-0.274-0.396-0.692c0-0.308,0.07-0.417,0.366-0.572 c0.1-0.051,0.345-0.216,0.535-0.358c0.373-0.279,0.459-0.472,0.184-0.417c-0.657,0.133-2.098,0.253-3.724,0.309l-0.997,0.034 l-0.235-0.216c-0.132-0.122-0.234-0.261-0.234-0.319c0-0.166,0.278-0.388,1.026-0.818c0.938-0.54,0.954-0.781,0.037-0.56 c-0.77,0.185-2.499,0.439-2.991,0.439c-0.602,0-0.952-0.16-1.129-0.513c-0.224-0.448-0.065-0.738,0.579-1.067 c0.439-0.224,1.177-0.739,1.251-0.875c0.112-0.204-0.144-0.193-1.023,0.041c-1.84,0.489-2.749,0.667-3.167,0.621 c-0.755-0.083-1.036-0.337-0.924-0.837c0.034-0.154,0.162-0.256,0.572-0.462c0.293-0.146,0.703-0.315,0.923-0.379 c0.778-0.227,1.352-0.933,0.675-0.83c-0.389,0.059-2.334,0.473-2.602,0.554c-0.126,0.038-0.558,0.143-0.96,0.233 c-0.404,0.091-0.916,0.213-1.138,0.271c-0.219,0.058-0.553,0.122-0.732,0.14l-0.33,0.033l0.22-0.106 c0.121-0.058,0.418-0.179,0.661-0.268c0.24-0.089,0.571-0.221,0.732-0.295c1.443-0.662,2.088-0.988,2.12-1.075 c0.043-0.119,0.057-0.119-0.896,0.015c-0.748,0.106-1.415,0.235-2.8,0.543c-0.345,0.076-0.819,0.179-1.062,0.23 c-0.242,0.05-0.622,0.139-0.844,0.196c-1.15,0.3-1.813,0.376-1.964,0.225c-0.214-0.213,0.271-0.531,1.158-0.76 c0.472-0.122,1.202-0.322,1.979-0.542c0.301-0.086,0.865-0.238,1.246-0.336C53.854,0.254,54.065,0.169,54.004,0.071L54.004,0.071z M107.578,15.802c-0.023-0.023,0.021-0.04,0.095-0.036c0.089,0.004,0.105,0.021,0.045,0.043 C107.665,15.829,107.602,15.826,107.578,15.802L107.578,15.802z" - }; - }; - - Symbols.prototype.add = function(a, b) { - return a + b; - } - - //デフォルトシンボルの登録 - Symbols.prototype.storeAllSym = function(d, flow) { - this.storeSymbol(bolt(), '記録秒'); - }; - - - //シンボルの登録 - Symbols.prototype.storeSymbol = function(sym, id,mag) { - var id = (!id) ? 'symbol' : id; - return this.def.append('path') - .attr("id", id) - .attr('d', sym.d) - .attr('transform', 'translate(-25,-25) scale(0.4) ') - .attr('fill', sym.color) - .attr('opacity', "0.7") - }; - //動くシンボルの登録 - Symbols.prototype.storeSymbolFlow = function(sym, id) { - if (!this.def.selectAll('#path1')[0].length > 0) { - this.def.append('path') - .attr("id", "path1") - .attr('d', 'M0,0 v 10 v-10'); - } - - return this.storeSymbol(sym, id) - .append('animateMotion') - .attr({ - dur: "2s", - repeatCount: "indefinite", - rotate: "none" - }) - .append('mpath') - .attr('xlink:href', "#path1"); - }; - - //利用 - - Symbols.prototype.appendSymbol = function(sel, id,mag) { - var id = (!id) ? 'symbol' : id; - return sel.append('use') - .attr({ - // 'xmlns:xlink': "http://www.w3.org/1999/xlink", - 'xlink:href': '../../../../../../frame.html#' + id - }) - - }; - - return Symbols; -}); diff --git a/foot-race/data.csv b/foot-race/data.csv deleted file mode 100755 index 70a0e6c..0000000 --- a/foot-race/data.csv +++ /dev/null @@ -1,11 +0,0 @@ -名前,記録秒,距離,単位 -ボルト,5.47,50,m -君の記録,20,50,m -小2平均男子,10.19,50,m -小4平均男子,9.35,50,m -小6平均男子,8.48,50,m -小2平均女子,11.08,50,m -小4平均女子,9.54,50,m -小6平均女子,9.03,50,m -新幹線,3600,270,km -クロマグロ,3600,70,km \ No newline at end of file diff --git a/foot-race/main.css b/foot-race/main.css deleted file mode 100755 index 78aefe7..0000000 --- a/foot-race/main.css +++ /dev/null @@ -1,52 +0,0 @@ -/*img { - position: absolute; - top: 20; - left: 50; -}*/ - -.axis text { - font: 10px sans-serif; - fill: white; -} - -.axis path, -.axis line { - fill: none; - stroke: none; -} - -.axis .domain { - stroke: none; -} - -#chart-labels { - display: inline; - min-width: 80px; - position: absolute; - top: 0; - right: 10px; - background-color: transparent; - z-index: 900; -} - -#chart-labels .chart-label { - padding: 10px 4px; - display: block; - cursor: pointer; - color: #ccc; - font-weight: bold; - -webkit-transition: all 0.3s ease; - -moz-transition: all 0.3s ease; - -o-transition: all 0.3s ease; - -ms-transition: all 0.3s ease; -} - -#chart-labels .chart-label:hover { - font-size: 1.3em; - color: black; -} - -#chart-labels .chart-label.active { - font-size: 1.3em; - color: black; -} diff --git a/foot-race/main.js b/foot-race/main.js deleted file mode 100644 index 06c1a51..0000000 --- a/foot-race/main.js +++ /dev/null @@ -1,206 +0,0 @@ -//# require=d3,Symbols,jQuery:jquery - - - -function update(data) { - draw(data.toList()); -} - - - -function draw(data) { - - d3.select(root).selectAll('*').remove(); - - -var recordUnit = '記録秒'; - -//initial metrix -var initialMetrix = recordUnit; -var m = initialMetrix; - -var margin = { - top: 20, - right: 80, - bottom: 30, - left: 50 -}; - -//size -var width = root.clientWidth - margin.left - margin.right; -var height = root.clientHeight - margin.top - margin.bottom; - -var startDelay = 1000; -var objYspace = 50*(height/485); //change 20160402 nagahisa -var xStartPosOrg = 0; - - -//draw background-image (should be called before base-svg creation) -d3.select(root).append('img') - .attr({ - width: width, - height: height, - src: baseUrl + '/riku.jpg', - }) - .style({ - position: 'absolute', - top: 0, //margin.top, - left: 0, //margin.left - }); - -//create base-svg -var svg = d3.select(root).append('svg') - .attr({ - width: width, - height: height - }) - .style({ - position: 'absolute', - top: 0, //margin.top, - left: 0, //margin.left - }); - -//define draw area -var drawArea = svg - .append('g') - .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')'); - -//variables -var dataReserved = null; - - - //create symbol-manage object - var symbols = new Symbols(svg); - symbols.storeAllSym(data, false); - - var metrics = m; - - - //max min - var yMax = height; - var yMin = 0; - var xMax = width; - var xMin = 0; - - //scale - var yScale = d3.scale.linear() - .domain([yMin, yMax]) - .range([height - margin.bottom - margin.top, 0]); - - var xScale = d3.scale.linear() - .domain([xMin, xMax]) - .range([0, width - margin.right - margin.left]); - - //dots - var dots = drawArea - .selectAll('.' + metrics + 'class') - .data(data, function(d, i) { - return d['名前'] + metrics; - }) - - -mag=0.0011*height+0.00757; //added 20160403 nagahisa -pitchmag=0.0086*height+85.091; //added 20160403 nagahisa - - - var newDots = symbols.appendSymbol(dots.enter(), metrics) - .attr('class', metrics + 'class') - .attr("transform", "scale(" + (mag) + ")") //change 20160402 - - - - setDotProperty(newDots); - setDotProperty(dots); - - - - var texts = drawArea - .selectAll('.' + metrics + 'label') - .data(data); - var newTexts = texts.enter().append('text') - .attr('class', metrics + 'label'); - setTextProperty(newTexts); - setTextProperty(texts); - - function setDotProperty(line) { - line.attr('x', xStartPosOrg) - .attr('y', function(d, i){ - return i * pitchmag; //change 20160403 nagahisa - }) - .transition() - .delay(startDelay) - .duration(function (d) { - if (d['単位'] == 'm') { - time = d[recordUnit] / d['距離']; - }else if (d['単位'] == 'km') { - time = d[recordUnit] / (d['距離'] * 1000); - } - return time * 20000; - }) - .ease('linear') - .attr('x', function(d, i) { - return xScale(xMax)*(1/mag); //change 20160403 nagahisa - }) - .attr('y', function(d, i) { - return i * pitchmag; }) //change 20160403 nagahisa - .attr('stroke', 'none') - .attr('display', 'inherited') - } - - - - - - function setTextProperty(line) { - line.text(function(d) { - return d['名前']; - }) - .attr('font-size', '12px') //change 20160403 nagahisa - .attr('fill', 'white') - .attr('display', 'inherited') - .attr('x', xStartPosOrg) - .attr('y', function(d, i){ - return i * objYspace; - }) - .transition() - .delay(startDelay) - .duration(function (d) { - if (d['単位'] == 'm') { - time = d[recordUnit] / d['距離']; - }else if (d['単位'] == 'km') { - time = d[recordUnit] / (d['距離'] * 1000); - } - return time * 20000; - }) - .ease('linear') - .attr('x', function(d, i) { - return xScale(xMax); - }) - .attr('y', function(d, i) { - return i * objYspace; - }) - - } - dataReserved = data; - - - - - - -//label click -jQuery(document).on('click', '.chart-label', function() { - jQuery('.chart-label').removeClass('active'); - jQuery(this).addClass('active'); - - initialMetrix = jQuery(this).attr('data-chart-label'); - // console.log('label change : ' + initialMetrix); - draw(initialMetrix, dataReserved); -}); - -function calcSpeed(d){ - return d[metrics] * 500; -} - -} - diff --git a/foot-race/main.txt b/foot-race/main.txt deleted file mode 100644 index 2a4025b..0000000 --- a/foot-race/main.txt +++ /dev/null @@ -1,243 +0,0 @@ -//# require=d3,Symbols - -var margin = { - top: 20, - right: 80, - bottom: 30, - left: 50 -}; - -//size -var width = root.clientWidth - margin.left - margin.right; -var height = root.clientHeight - margin.top - margin.bottom; - -//draw background-image (should be called before base-svg creation) -d3.select(root).append('img') - .attr({ - width: width, - height: height, - src: baseUrl + '/riku.jpg', - }) - .style({ - position: 'absolute', - top: 0, //margin.top, - left: 0, //margin.left - }); - -//create base-svg -var svg = d3.select(root).append('svg') - .attr({ - width: width, - height: height - }) - .style({ - position: 'absolute', - top: 0, //margin.top, - left: 0, //margin.left - }); - -//draw background svg -drawBackground(svg, width, height, margin); - -//define draw area -var drawArea = svg - .append('g') - .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')'); - -//create symbol-manage object -var symbols = new Symbols(svg); -symbols.storeAllSym(true); - -//variables -var preMetrics = ''; -var dataReserved = null; -//button-labels -var labels = ['ebi', 'tai', 'tuna']; -//initial metrix -var initialMetrix = 'tuna'; - -function update(data) { - draw(initialMetrix, data.toList()); -} - -function draw(m, data) { - if (preMetrics !== m) { - remove(); - } - preMetrics = m; - - var metrics = m; - - //max min - var yMax = d3.max(data, function(d) { - return 20; - }); - - var yMin = d3.min(data, function(d) { - return 0; - }); - - var xMax = data.length; - - var xMin = 0;; - - //scale - var yScale = d3.scale.linear() - .domain([yMin, yMax]) - .range([height - margin.bottom - margin.top, 0]); - - var xScale = d3.scale.linear() - .domain([xMin, xMax]) - .range([0, width - margin.right - margin.left]); - - //axix - var yAxis = d3.svg.axis() - .scale(yScale) - .orient('right'); - - //repaint axis - drawArea.select('.y').remove(); - drawArea - .append('g') - .attr('class', 'y axis') - .attr('fill', 'white') -// .call(yAxis) - - //dots - var dots = drawArea - .selectAll('.' + metrics + 'class') - .data(data, function(d, i) { - return d.syurui + metrics; - }) - - var newDots = symbols.appendSymbol(dots.enter(), metrics) - .attr('class', metrics + 'class') - - setDotProperty(newDots); - setDotProperty(dots); - - - var texts = drawArea - .selectAll('.' + metrics + 'label') - .data(data, function(d, i) { - return d.syurui + metrics; - }) - var newTexts = texts.enter().append('text') - .attr('class', metrics + 'label'); - setTextProperty(newTexts); - setTextProperty(texts); - - function setDotProperty(line) { - line.attr('x', function(d, i) { - return xScale(0); - }) - .transition() - .delay(function(d, i) { - return (xMax - i) * 50; - }) - .duration(function (d) { - return d[metrics] * 500; - }) - .ease('linear') - .attr('x', function(d, i) { - return xScale(xMax); - }) - .attr('y', function(d, i) { - return i * 30; - }) - .attr('stroke', 'none') - .attr('display', function(d) { - return (d[metrics] > 0) ? 'inherited' : 'none'; - }) - } - - function setTextProperty(line) { - line.text(function(d) { - return d.syurui; - }) - .attr('font-size', '9px') - .attr('fill', 'white') - .attr('display', function(d) { - return (d[metrics] > 0) ? 'inherited' : 'none'; - }) - .attr('x', function(d, i) { - return width; - }) - .transition() - .delay(function(d, i) { - return (xMax - i) * 50; - }) - .duration(function (d) { - return d[metrics] * 500; - }) - .ease('linear') - .attr('x', function(d, i) { - return xScale(0); - }) - .attr('y', function(d, i) { - return i * 30; - }) - - } - dataReserved = data; -} - -//makeLabels(labels, initialMetrix); - -//label click -jQuery(document).on('click', '.chart-label', function() { - jQuery('.chart-label').removeClass('active'); - jQuery(this).addClass('active'); - - initialMetrix = jQuery(this).attr('data-chart-label'); - console.log('label change : ' + initialMetrix); - draw(initialMetrix, dataReserved); -}); - -function makeLabels(labels, value) { - jQuery('#chart-labels').remove(); - var box = jQuery('
').attr('id', 'chart-labels'); - jQuery(labels).each(function() { - var label = jQuery('